diff --git a/.buildinfo b/.buildinfo new file mode 100644 index 0000000..edc4a7b --- /dev/null +++ b/.buildinfo @@ -0,0 +1,4 @@ +# Sphinx build info version 1 +# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. +config: 35cd0f1bd145fb3a4581a5a561ef7d5b +tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/.nojekyll b/.nojekyll new file mode 100644 index 0000000..e69de29 diff --git a/0_introduction/0_introduction.html b/0_introduction/0_introduction.html new file mode 100644 index 0000000..83e44a0 --- /dev/null +++ b/0_introduction/0_introduction.html @@ -0,0 +1,586 @@ + + + + + + + + + + + Introduction — Cubes & Clouds - Cloud Native Open Data Sciences for Earth Observation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + +
+ +
+ + + + + +
+
+ + + + + + +
+ + + +
+ +
+
+ +
+
+ +
+ +
+ +
+ + +
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + + + + + + + +
+ +
+

Introduction#

+

This short sections will familiarize you with some free external services that are going to be used throughout the MOOC.

+
    +
  • How to sign up for the Copernicus Data Space Ecosystem (this is where the cloud processing will happen)

  • +
  • First steps in the Coding Environment

  • +
+
+

Sign up for EO College#

+

In case you haven’t already done it. Sign up for the MOOC ‘Cubes & Clouds - Cloud Native Open Data Sciences for Earth Observation’

+ +
+
+

Sign up for Copernicus Data Space Ecosystem#

+

We are going to use the cloud processing platform Copernicus Data Space Ecosystem to carry out our exercises. It’s a cloud platform hosted by the European Commission, ESA and Copernicus.The processing will happen there and you will get 1000 free credits. That’s enough to complete the course.

+ +
+
+

Your first steps in the Coding Environment#

+

Here is a guide how to find your way around in the Coding Environment JupyterHub. You will see a button that forwards you there whenever there is a hands-on exercise to do.

+

Screencast Cubes and Clouds Coding Environment

+

Register on EOXHub

+ +

After registering on EOX you are now ready to start your first exercise!

+

Exercise 0 Introduction

+
+
+ + + + +
+ + + + + + + + +
+ + + + + + + +
+ + + +
+
+
+ + + + + + + + \ No newline at end of file diff --git a/0_introduction/exercises/0_login.html b/0_introduction/exercises/0_login.html new file mode 100644 index 0000000..cfce1a0 --- /dev/null +++ b/0_introduction/exercises/0_login.html @@ -0,0 +1,641 @@ + + + + + + + + + + + Login to openEO — Cubes & Clouds - Cloud Native Open Data Sciences for Earth Observation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + +
+ +
+ + + + + +
+
+ + + + + + +
+ + + +
+ +
+
+ +
+
+ +
+ +
+ +
+ + +
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + + +
+

Login to openEO

+ +
+ +
+
+ + + + +
+ +
+

Login to openEO#

+

In order to access a cloud platfrom you need to login. In this notebook we will login to the Copernicus Data Space Ecosystem for using openEO.

+
    +
  • Import the libraries we need to interact with the cloud platform

  • +
  • Make sure we have the login credentials

  • +
  • Connect to the cloud platform

  • +
  • Login to the cloud platform

  • +
  • Check that the login worked

  • +
+
+

Libraries#

+

We will import the openeo python client library. It is preinstalled in the jupyter workspace on EOX.

+
    +
  • openeo: The openeo python client has all the functions available that we need to interact with the cloud platform using the openEO API.

  • +
+

Here is more information on the openeo python client:

+ +
+
+
import openeo
+
+
+
+
+
+
+

Connect to the cloud platform#

+

In a first step we connect to the cloud platform. We can only see information and use functionality that is available to everybody. +We can see for example which collections and processes are available, but we cannot process data. We will explore the platforms capabilities in an extra exercise in more depth later.

+

Now let’s just connect to the platform…

+
+
+
conn = openeo.connect('https://openeo.dataspace.copernicus.eu/')
+
+
+
+
+

… and check if the connection has worked. You should see that you are connected, but not logged in.

+
+
+
conn
+
+
+
+
+
+
+

Login to the cloud platform#

+

After we have connected to the platform and want more functionality, we need to login. This means we authenticate ourselfs to prove we are an registered user. +After access is granted we can also process data. Every computation comes at a cost, this is why every user has an amount of credits (which usually have to be payed) for computing. +Everytime you are going to use the cloud platform for processing you will have to login at the beginning of your workflow. We are going to learn how to create a workflow in a seperat exercise later on.

+

Now let’s just log in… (this only works if you haver registered to CDSE as described in the lesson Introduction)

+
+
+
conn.authenticate_oidc()
+
+
+
+
+

… and check if the login has worked…

+
+
+
conn
+
+
+
+
+

… and let’s check our user information, which is possible since we have authenticated now.

+
+
+
conn.describe_account()
+
+
+
+
+
+
+

Return to EOCOllege#

+

This is all. We have verified that we can connect and login to the cloud platform. We will do this again later on when we’ll start with some hands on exercises.

+

For now let’s return to EOCollege to get started with the lessons!

+

Return to Cubes and Clouds on EO College

+
+
+ + + + +
+ + + + + + + + +
+ + + + + + + +
+ + + +
+
+
+ + + + + + + + \ No newline at end of file diff --git a/1.1_intro_platform/1.1_intro_platform.html b/1.1_intro_platform/1.1_intro_platform.html new file mode 100644 index 0000000..14cfd60 --- /dev/null +++ b/1.1_intro_platform/1.1_intro_platform.html @@ -0,0 +1,765 @@ + + + + + + + + + + + Earth Observation cloud platforms — Cubes & Clouds - Cloud Native Open Data Sciences for Earth Observation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + +
+ +
+ + + + + +
+
+ + + + + + +
+ + + +
+ +
+
+ +
+
+ +
+ +
+ +
+ + +
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + + + + + + + +
+ +
+

Earth Observation cloud platforms#

+
+

Learning Objectives#

+
    +
  • Understand why using a platform is useful

  • +
  • Differentiate platform offerings

  • +
  • Get to know the components and building blocks of a platform

  • +
+
+
+

Why do we need EO cloud platforms?#

+

Introduction to EO Cloud Platforms

+
+

Video content in cooperation with Jeroen Dries (VITO).
+Numbers based on ESA Annual Sentinel Data Access Report 2022

+
+

Traditional approaches for the analysis of Earth Observation (EO) data typically involve several steps, including data discovery, data download, data pre-processing, and data analysis. Especially when working with multiple datasets, handling data discovery, download, and access is a tremendous task, where users need to navigate through different interfaces, adhere to varying access requirements, and manage the heterogeneity of data formats. This approach is often time-consuming and requires significant effort to aggregate and harmonize datasets from different providers for comprehensive analysis.

+ +
+

Figure: EO research withouth cloud facilities.

+
+
+

EO data volume and the limits of your computer#

+

In the field of Earth Observation, satellite missions like Sentinel-2 provide vast amounts of data that play a crucial role in various applications, including environmental monitoring, land cover mapping, and climate analysis. Understanding the volume of data involved in an analysis is critical for efficient data processing. EO datasets can span terabytes and petabytes, making it impractical to store, manage, and process them entirely on a local computer.

+

The increasing availability of vast amounts of EO data from multiple satellites presents challenges in terms of the time required for data download and pre-processing on individual computers or infrastructures. Within the Copernicus program of the European Union, around 64 million products have been published, which sums up to more than 25 Petabyte of data volume. In the following slider we have collected some statistics about the amounts of EO data from the Sentinel satellites.

+ +
+

Figure: EO data volume and the limits of your computer.

+
+

The following interactive exercise assists in estimating the data volume associated with Sentinel-2 data. This calculator allows users to gain insights into the data volumes involved in specific regions and time ranges, further emphasizing the relevance of using EO platforms for scientific analyses. Not convinced of clouds yet? Try the volume calculator below to asses how much space you have to free up on your hard drive for your next project.

+ +
+
+

How can we handle such volumes of data?#

+

Cloud infrastructure and platforms have emerged as viable alternatives to the traditional approach of data analyses as described in Figure “EO research without cloud facilities”. These solutions combine data storage and compute resources, enabling users to conduct their data analysis in close proximity to the data itself. By leveraging cloud-based infrastructures, researchers and analysts can optimize their workflow by minimizing the time-consuming steps of data transfer and pre-processing, thereby allowing them to focus more efficiently on data analysis tasks.

+

By utilizing cloud-based resources, users can harness the scalability and flexibility of these platforms to handle the extensive datasets generated by EO missions. Cloud-based EO platforms represent a paradigm shift in EO data analysis, offering a comprehensive ecosystem that seamlessly integrates storage, processing, analysis tools, collaboration, and visualization. These platforms empower users to overcome the challenges posed by large-scale EO data and accelerate scientific advancements in various fields, including environmental monitoring, climate studies, natural resource management, and disaster response.

+
+
+
+

Types of platforms#

+

Cloud-based EO infrastructures and platforms have emerged to meet the growing demand for efficient data processing, analysis, and visualization close to the data. We can distinguish between infrastructure providers and platform providers.

+
+

Infrastructure providers#

+

EO-based infrastructure providers focus on offering the underlying infrastructure necessary for processing, storage, and dissemination of EO data. They provide the computing resources, storage capacity, and networking capabilities required to handle large-scale EO data processing and analysis. These providers often build and maintain data centers and server clusters, ensuring reliable and scalable infrastructure for EO applications.

+

In comparison to the traditional approach (Figure “EO research without cloud facilities”), this approach allow users to use computing resources close to the EO data (see Figure “EO cloud providers”). Users do not need to download and manage EO data on their own, they can simply use what is already available on the infrastructure. However, there are no EO-specific services for data discovery, access, visualization, and analysis.

+ +
+

Figure: EO cloud providers.

+
+

Examples of EO-based infrastructure providers

+
    +
  1. Amazon Web Services (AWS): AWS offers a wide range of cloud services, including storage (Amazon S3) and computing (Amazon EC2), which can be leveraged for EO data processing and storage. Various open data are available on AWS (https://registry.opendata.aws/).

  2. +
  3. Google Cloud Platform (GCP): GCP provides infrastructure services like Google Cloud Storage and Google Compute Engine, which can be utilized for EO data management and analysis. Various open data are available on GCP (https://cloud.google.com/datasets).

  4. +
  5. Microsoft Azure: Azure offers cloud-based services such as Azure Storage, Azure Virtual Machines, and Azure Machine Learning, enabling EO applications and workflows.

  6. +
  7. Open Telekom Cloud: Open Telekom Cloud is a cloud platform offered by Deutsche Telekom. It provides scalable infrastructure resources, including computing, storage, and networking capabilities, suitable for processing and storing large volumes of EO data.

  8. +
  9. Cloudferro: Cloudferro is a cloud infrastructure provider specializing in geospatial data processing and analysis. They offer scalable and secure cloud resources optimized for EO applications. Cloudferro provides high-performance computing, storage, and networking services tailored for EO data processing workflows. Various open data are available on Cloudferro (https://cloudferro.com/en/eo-cloud/storage-big-data/).

  10. +
+
+
+

Platform providers#

+

Platform providers focus on delivering comprehensive EO platforms that combine infrastructure, tools, and services into a cohesive environment. These platforms typically offer a suite of integrated capabilities, including data storage, processing, analysis, visualization, and collaboration tools. They provide a user-friendly interface and simplify the EO data lifecycle, enabling users to access, process, and analyze EO data without managing the underlying infrastructure.

+

On top of providing the infrastructure which allows users to do the computations close to the EO data , making available a platform additionally enables the use of specific Application Programming Interfaces (APIs) for the discovery, access, visualization, exploitation, and analysis of EO data. EO platforms are often made available on infrastructure providers to benefit from the EO data storage. Users of a platform can now use harmonized interfaces for all data, which is available on the platform.

+ +
+

Figure: EO platform providers.

+
+

Examples of cloud-based EO platform providers

+
    +
  1. Google Earth Engine is a platform specifically designed for EO data analysis. It provides access to a vast amount of satellite imagery and geospatial datasets, along with powerful processing capabilities and built-in algorithms.

  2. +
  3. Sinergise Sentinel-Hub is a platform focused on accessing and processing satellite data. It provides APIs and easy-to-use tools for accessing, processing, and visualizing EO data.

  4. +
  5. Microsoft Planetary Computer is a platform that combines geospatial data and AI capabilities for Earth observation. It provides access to various global datasets, including satellite imagery, climate data, and environmental data. The platform aims to facilitate large-scale data analysis and support sustainable development and conservation efforts.

  6. +
  7. Euro Data Cube is a platform on top of various cloud infrastructures to provide an interactive development environment with a standardized access to various EO data. It provides a JupyterLab environment for data exploration and analysis, as well as capabilities to run processing jobs.

  8. +
  9. OpenEO Platform is a platform based on OpenEO, which aims to standardize and simplify the access and processing of EO data. It provides a unified API and common data model, enabling interoperability across multiple EO data providers and processing backends. The platform allows users to run EO workflows on various cloud-based infrastructure providers.

  10. +
  11. Pangeo is a community platform for big data geoscience built on the Pangeo ecosystem. It aims to foster collaboration among researchers, engineers, research software engineers, and innovators within the open-source scientific Python ecosystem, focusing on Ocean, Atmosphere, Land, and Climate science. There is a strong focus on portability and interoperability, enabling deployments of the Pangeo platform on various infrastructure (laptops, cloud providers, etc.) and providing APIs that allow users to prototype on their laptops and easily scale to the cloud or High-Performance Computers with minimal changes to their code. The current deployment of the Pangeo platform in Europe, Pangeo@EOSC is hosted on the European Open Science Cloud (EOSC), providing a scalable and collaborative environment for big data analysis and research for all European researchers and their collaborators.

  12. +
+

Different EO platform providers may offer end-users access to specific tools and packages that can be highly beneficial for particular workflows. However, users should carefully evaluate whether the convenience of these tools justifies the potential trade-off of being locked into a particular platform. In some cases, opting for platforms that prioritize portability and openness, like OpenEO or Pangeo, might be more advantageous, especially for those who value flexibility and long-term interoperability across various environments and infrastructures.

+
+
+

Summary#

+

In summary, EO-based infrastructure providers primarily focus on providing the underlying infrastructure and resources, while platform providers offer integrated environments with a wide range of tools and services to support EO data processing, analysis, and visualization. These two types of providers complement each other in the EO ecosystem, enabling users to access and leverage EO data effectively.

+
+
+
+

Components of platforms#

+

Cloud-based EO platforms have transformed the way researchers and scientists analyze and utilize EO data. These platforms often follow a three-layered design (often named “tiers”) comprising infrastructure, services, and exploitation interfaces. An example architecture based on this approach is the “Earth Observation Exploitation Platform Common Architecture” (EOEPCA) of ESA (https://eoepca.org). Leveraging the power of cloud computing, EO platforms provide a comprehensive ecosystem that seamlessly integrates storage, processing, analysis tools, collaboration, visualization, and data exploitation capabilities.

+

The following overview will explore each layer of the three-layered design and provide examples to illustrate the functionalities and benefits of cloud-based EO platforms in real-world applications. They showcase the diverse range of tools, services, and interfaces (also named “building blocks”) available to store, process, analyze, collaborate, visualize, and exploit EO data effectively within the cloud environment.

+ +
+

Infrastructure & Resource Tier#

+
+

“The Resource Tier represents the hosting infrastructure and provides the EO data, storage and compute upon which the exploitation platform is deployed.” (Source: EOEPCA Master System Design)

+
+
    +
  1. Data Storage: The data storage component may include distributed file systems like distributed parallel file systems (e.g., GPFS, Hadoop) or object storage services (e.g., Amazon S3, Google Cloud Storage) to securely store and manage EO datasets.

  2. +
  3. Computing Resources: The computing component can provide virtual machines (e.g., Amazon EC2, Google Compute Engine, OpenStack), container environments (e.g., Docker-Engine, Kubernetes) or batch-computing systems (e.g., High Performance Computing) for executing data processing and analysis tasks on EO datasets.

  4. +
+
+
+

Platform Tier#

+
+

“The Platform Tier represents the Exploitation Platform and the services it offers to end-users.” (Source: EOEPCA Master System Design)

+
+

The services of the platform tier can be grouped into data-related and processing-related services. The processing tools and services often rely on the data services to get discover and get access to data available on the platform.

+
    +
  1. Data Services

    +
      +
    • Data Catalog: Data available on the platform needs to be described with metadata to be findable by users. Often processing and analysis services, such as Open Data Cube or OpenEO, make use of the data catalog to ease the use of EO data. These services enable users to annotate, search, and discover EO datasets based on various metadata parameters.

    • +
    • Data Access Service: This enables users to retrieve and access EO datasets. This may involve APIs, protocols, or data transfer mechanisms like Open Geospatial Consortium (OGC) Web Services or HTTP services for efficient and secure data access.

    • +
    • Data Visualization Service: The visualization component provides standardized web services for the visualization of raster and vector data available on the platform. User interfaces like QGIS or web mapping tools can be used together with those services.

    • +
    +
  2. +
  3. Data Processing and Analysis Tools: This service component may include widely used processing tools like GDAL (Geospatial Data Abstraction Library), remote sensing software like SNAP (Sentinel Application Platform), data cube related tools (e.g., xarray & Dask) and APIs (e.g., OpenEO API) for performing advanced analysis on EO data.

  4. +
+
+
+

Exploitation Tier#

+
+

“The Exploitation Tier represents the end-users who exploit the services of the platform to perform analysis, or using high-level applications built-in on top of the platform’s services.” (Source: EOEPCA Master System Design)

+
+
    +
  1. User Interfaces: The exploitation interface component may include web-based interfaces like web portals (e.g., EO Browser from Sinergise), dashboards (e.g., Earth Observation Dashboard from NASA, ESA, JAXA or web development environments (e.g., JupyterLab). All of them provide interactive interfaces for users to explore and analyze EO data through a user-friendly interface.

  2. +
+
+
+

Exercise: Build a platform#

+

Now it is time for you: Please Drag and drop the building blocks of a platform into a correct diagram.

+ + +
+
+
+

Quiz#

+

What types of “layers” or “tiers” are there in a platform architecture?

+
[[x]] Infrastructure & Resource Tier
+[[ ]] Software Tier
+[[x]] Platform Tier
+[[ ]] Data Cube Tier
+[[x]] Exploitation Tier
+
+
+

What does an infrastructure provider offer?

+
[[x]] Virtual Machines
+[[ ]] Data discovery
+[[ ]] Data cubes
+[[ ]] Data visualization
+[[x]] Data storage
+
+
+

What kind of provider is the Euro Data Cube?

+
[[ ]] Infrastructure provider
+[[x]] Platform provider
+
+
+

When should you consider to use an EO cloud platform?

+
[[x]] I have limited internet bandwidth for data downloading
+[[ ]] I have all my data locally on my own servers with lots of computing resources
+[[x]] I want to collaborate with other and external users
+[[x]] I want to easily make use of processing services
+[[x]] I don't want to care about system administration and operations
+[[ ]] I do not often have access to internet
+
+
+
+
+

Further reading#

+ +
+
+ + + + +
+ + + + + + + + +
+ + + + + + + +
+ + + +
+
+
+ + + + + + + + \ No newline at end of file diff --git a/1.2_data_cube/1.2_data_cube.html b/1.2_data_cube/1.2_data_cube.html new file mode 100644 index 0000000..0a9600f --- /dev/null +++ b/1.2_data_cube/1.2_data_cube.html @@ -0,0 +1,808 @@ + + + + + + + + + + + What is a data cube? — Cubes & Clouds - Cloud Native Open Data Sciences for Earth Observation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + +
+ +
+ + + + + +
+
+ + + + + + +
+ + + +
+ +
+
+ +
+
+ +
+ +
+ +
+ + +
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + + + + + + + +
+ +
+

What is a data cube?#

+
+

Learning objectives#

+
    +
  • Understand what data cubes are and why they are needed

  • +
  • Learn what dimensions are

  • +
  • Understand the role of data cubes in EO cloud platforms

  • +
+
+
+

Data Cubes in General#

+

When you think about data, most likely tables come to your mind, with features organized in rows and columns. Data cubes overcome these constraints: they are a data structure that allows to represent data in more than only two dimensions. Generally a data cube is a multi-dimensional data structure. Even though it’s called a cube, it is n-dimensional. A 1-d data cube is an array. A 2-d data cube is a table. A 3-d data cube is a cube. A 4-d data cube is hard to visualize. A feature within a data cube is explained by multiple dimensions and has a certain value. An example would be: A company has sold multiple products (Shirts, Shoes, Pants), in different countries (Sweden, USA, Tunisia), in different years (2021, 2022, 2023).

+
    +
  • Dimensions: Products, Locations, Years

  • +
  • Labels of the Dimensions:

    +
      +
    • Products: Shrits, Shoes, Pants

    • +
    • Countries: Sweden, USA, Tunisia

    • +
    • Years: 2021, 2022, 2023

    • +
    +
  • +
  • Feature: Revenue

  • +
  • Value: $

  • +
+

Datacube Economy

+

This concept can be applied to many fields such as economics, medicine, biology, and also very well to EO data!

+
+
+

Data Cubes in EO#

+

The concept of representing multidimensional data as data cubes fits ideally to the challenges of representing satellite data that is usually dealing with multiple dimensions such as: lat, lon, time, bands, etc. In the video below it becomes very clear what the strengths of data cubes in EO are.

+ +
+

An example data cube#

+

Data can be represented as datacubes in EO, which are multi-dimensional arrays with additional information about their dimensionality. Datacubes can provide a nice and tidy interface for spatiotemporal data as well as for the operations you may want to execute on them. As they are arrays, it might be easiest to look at raster data as an example, even though datacubes can hold vector data as well. Our example data however consists of a 6x7 raster with 4 bands [blue, green, red, near-infrared] and 3 timesteps [2020-10-01, 2020-10-13, 2020-10-25], displayed here in an orderly, timeseries-like manner:

+

Raster datacube timeseries: 12 imagery tiles are depicted, grouped by 3 dates along a timeline (time dimension). Each date has a blue, green, red and near-infrared band (bands dimension). Each single tile has the dimensions x and y (spatial dimensions)

+
+

Figure: An examplary raster datacube with 4 dimensions: x, y, bands and time. Reference: openeo.org (2022). What are Data Cubes.

+
+

It is important to understand that datacubes are designed to make things easier for us, and are not literally a cube, meaning that the above plot is just as good a representation as any other. That is why we can switch the dimensions around and display them in whatever way we want, including the view below:

+

Raster datacube flat representation: The 12 imagery tiles are now laid out flat as a 4 by 3 grid (bands by timesteps). All dimension labels are depicted (The timestamps, the band names and the x, y coordinates)

+
+

Figure: Raster datacube flat representation: The 12 imagery tiles are now laid out flat as a 4 by 3 grid (bands by timesteps). All dimension labels are depicted (The timestamps, the band names and the x, y coordinates). Reference: openeo.org (2022). What are Data Cubes.

+
+
+
+

Dimensions#

+

A dimension refers to a certain axis of a datacube. This includes all variables (e.g. bands), which are represented as dimensions. Our exemplary raster datacube has the spatial dimensions x and y, and the temporal dimension t. Furthermore, it has a bands dimension, extending into the realm of what kind of information is contained in the cube.

+

The following properties are usually available for dimensions:

+
    +
  • name

  • +
  • type (potential types include: spatial (raster or vector data), temporal and other data such as bands)

  • +
  • axis (for spatial dimensions) / number

  • +
  • labels (usually exposed through textual or numerical representations, in the metadata as nominal values and/or extents)

  • +
  • reference system / projection

  • +
  • resolution / step size

  • +
  • unit (either explicitly specified or implicitly given by the reference system)

  • +
  • additional information specific to the dimension type (e.g. the geometry types for a dimension containing geometries)

  • +
+

Here is an overview of the dimensions contained in our example raster datacube above:

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

#

name

type

labels

resolution

reference system

1

x

spatial

466380, 466580, 466780, 466980, 467180, 467380

200m

EPSG:32627

2

y

spatial

7167130, 7166930, 7166730, 7166530, 7166330, 7166130, 7165930

200m

EPSG:32627

3

bands

bands

blue, green, red, nir

4 bands

-

4

t

temporal

2020-10-01, 2020-10-13, 2020-10-25

12 days

Gregorian calendar / UTC

+
+
+

Table: Overview of the dimensions contained in our example raster datacube above. Reference: openeo.org (2022). What are Data Cubes.

+
+

Dimension labels are usually either numerical or text (also known as “strings”), which also includes textual representations of timestamps or geometries for example. +For example, temporal labels are usually encoded as ISO 8601 compatible dates and/or times and similarly geometries can be encoded as Well-known Text (WKT) or be represented by their IDs.

+

Dimensions with a natural/inherent order (usually all temporal and spatial raster dimensions) are always sorted. Dimensions without inherent order (usually bands), retain the order in which they have been defined in metadata or processes (e.g. through filter_bands), with new labels simply being appended to the existing labels.

+
+
+

Geometry as a Dimension#

+

A geometry dimension is not included in the example raster datacube above and it is not used in the following examples, but to show how a vector dimension with two polygons could look like:

+
+ + + + + + + + + + + + + + +

name

type

labels

reference system

geometry

vector

POLYGON((-122.4 37.6,-122.35 37.6,-122.35 37.64,-122.4 37.64,-122.4 37.6)), POLYGON((-122.51 37.5,-122.48 37.5,-122.48 37.52,-122.51 37.52,-122.51 37.5))

EPSG:4326

+
+
+

Table: Geometry as a Dimension. Reference: openeo.org (2022). What are Data Cubes.

+
+

A dimension with geometries can consist of points, linestrings, polygons, multi points, multi linestrings, or multi polygons. +It is not possible to mix geometry types, but the single geometry type with their corresponding multi type can be combined in a dimension (e.g. points and multi points).

+

EO datacubes contain scalar values (e.g. strings, numbers or boolean values), with all other associated attributes stored in dimensions (e.g. coordinates or timestamps). Attributes such as the CRS or the sensor can also be turned into dimensions. Be advised that in such a case, the uniqueness of pixel coordinates may be affected. When usually, (x, y) refers to a unique location, that changes to (x, y, CRS) when (x, y) values are reused in other coordinate reference systems (e.g. two neighboring UTM zones).

+
+
+

Coordinate Reference System as a Dimension#

+

In the example above, x and y dimension values have a unique relationship to world coordinates through their coordinate reference system (CRS). This implies that a single coordinate reference system is associated with these x and y dimensions. If we want to create a data cube from multiple tiles spanning different coordinate reference systems (e.g. Sentinel-2: different UTM zones), we would have to resample/warp those to a single coordinate reference system. In many cases, this is wanted because we want to be able to look at the result, meaning it is available in a single coordinate reference system.

+

Resampling is however costly, involves (some) data loss, and is in general not reversible. Suppose that we want to work only on the spectral and temporal dimensions of a data cube, and do not want to do any resampling. In that case, one could create one data cube for each coordinate reference system. An alternative would be to create one single data cube containing all tiles that has an additional dimension with the coordinate reference system. In that data cube, x and y no longer point to a unique world coordinate, because identical x and y coordinate pairs occur in each UTM zone. Now, only the combination (x, y, crs) has a unique relationship to the world coordinates.

+

On such a crs-dimensioned data cube, several operations make perfect sense, such as apply or reduce_dimension on spectral and/or temporal dimensions. A simple reduction over the crs dimension, using sum or mean would typically not make sense. The “reduction” (removal) of the crs dimension that is meaningful involves the resampling/warping of all sub-cubes for the crs dimension to a single, common target coordinate reference system.

+
+
+

Resolution#

+

The resolution of a dimension gives information about what interval lies between observations. This is most obvious with the temporal resolution, where the intervals depict how often observations were made. Spatial resolution gives information about the pixel spacing, meaning how many ‘real world meters’ are contained in a pixel. The number of bands and their wavelength intervals give information about the spectral resolution.

+ +
+
+

The role of data cubes in EO

+
+

Video content in cooperation with Gunnar Brandt (Brockmann Consult), Pontus Lurcock (Brockmann Consult) and Miguel Mahecha (University of Leipzig).

+
+
+
+

Data Cubes in Cloud Platforms#

+

One important feature of an EO cloud platform is to host satellite data. Usually vast amounts of satellite data, for example the whole archive of Landsat and the Sentinels which adds up to Petabytes of data. Users want to access this data efficiently. Therefore the storage system of an EO cloud platform needs to be optimized towards user requests. Data Cubes play an important role here. Organizing the raw files into virtual data cubes solves many issues for EO cloud platforms.

+
    +
  • Data Management: Different Satellites have different formats and are structured differently. This can easily create confusion because the different sources have to be treated differently. After organizing these files into data cubes the interaction with all different satellite data follows the same rules.

  • +
  • Separated Collections: Every satellite missions images form an own data cube, also called collection, with its according metadata. Ideally cloud processing tools on the platform allow for easy data fusion of different collections.

  • +
  • Flexible Subsetting: Data Cube Management Systems are developed to facilitate subsetting operations along the different dimensions and return only the required subset. Without worrying about the different raw files that are involved (e.g. area of interest is crossing a tile border).

  • +
+
+

:warning: Remember, a data cube is not an EO cloud platform. It’s only one part of it.

+
+
+
+

Further Reading#

+ +
+
+

References#

+ +
+
+
+

Quiz#

+

What is a two dimensional data cube?

+
[( )] vector, a one dimensional array
+[( )] atomic feature, a single value
+[(x)] table, in EO a raster
+
+
+

Check the typical dimensions of an EO data cube.

+
[[x]] x
+[[ ]] rain
+[[x]] y
+[[ ]] function
+[[x]] time
+[[ ]] world
+[[x]] bands
+
+
+

What is the main puorpose of a geometry dimension?

+
[(x)] storing geometries (e.g. polygons, points) 
+[( )] it's holding the bounding box of the data cube 
+[( )] defining the shape of the pixels
+
+
+

Attach the resolutions to their dimensions

+
    +
  • [[x and y] [time] [band]

  • +
  • [(X) ( ) ( ) ] meter, kilometer, degrees

  • +
  • [( ) (X) ( ) ] days, hours, years

  • +
  • [( ) ( ) (X) ] micrometers, color

  • +
+

What are the advantages of data cubes in EO?

+
[[x]] EO data is multidimensional data cubes allow to represent this
+[[ ]] Data cubes introduce an unnecessary layer of complexity that is not needed in EO
+[[ ]] The file size of EO data is drastically reduced
+
+
+

What are the advantages of data cubes in cloud platforms?

+
[[x]] The user is not confronted with multiple files and file types
+[[x]] Different satellite missions can be stored in different data cubes that can be combined for analysis on the platform
+[[x]] subsetting operations become very powerful - users only receive the extents they are interested in.
+
+
+
+
+ + + + +
+ + + + + + + + +
+ + + + + + + +
+ + + +
+
+
+ + + + + + + + \ No newline at end of file diff --git a/1.3_openscience/1.3.1_openscienceandfair.html b/1.3_openscience/1.3.1_openscienceandfair.html new file mode 100644 index 0000000..c765c2b --- /dev/null +++ b/1.3_openscience/1.3.1_openscienceandfair.html @@ -0,0 +1,814 @@ + + + + + + + + + + + Open Science and the FAIR Principles — Cubes & Clouds - Cloud Native Open Data Sciences for Earth Observation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + +
+ +
+ + + + + +
+
+ + + + + + +
+ + + +
+ +
+
+ +
+
+ +
+ +
+ +
+ + +
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + + + + + + + +
+ +
+

Open Science and the FAIR Principles#

+
+

Learning Objectives#

+
    +
  • Understand what Open Science is and why we need it

  • +
  • Get an overview of what belongs to Open Science

  • +
  • Get to know the FAIR principles

  • +
+
+
+

Why do we need Open Science#

+

Why do we need open science?

+
+

Video content in collaboration with Anca Anghelea (ESA) and Chelle Gentemann (NASA).

+
+

Space Agencies and International Organisations across the globe promote Open Science and support its practice by the scientific community through dedicated programmes. This course, for example, is part of the support to Earth Observation Open Science by the European Space Agency (ESA).

+

ESA, just like other European organisations such as the European Commission, has a long standing commitment to Open Science. A prominent example is the provision of full free and open Earth Observation data from its science missions (i.e. the Earth Explorers) and from the Copernicus Programme (e.g. the Sentinel missions). However, Open Science goes much beyond open data. ESA’s vision for Open Science covers the full research cycle (see ESA vision figure). Simply put, a piece of research fully adheres to Open Science principles if:

+
    +
  • all the data, code, and documentation of the respective research are FAIR (see What is FAIR? section), Open and linked to one another

  • +
  • the research is reproducible across various platforms (i.e. cloud platforms or computational systems)

  • +
  • the research is maintained so that it is accessible to the community in the long-term

  • +
+

This requires that the scientific community adheres to the same common (or compatible) practices when writing and documenting code, preparing and sharing data or publishing their research in journals.

+ +

ESA's vision of open science

+

The importance of Open Science

+
+
+

What is Open Science?#

+
+

Open Science#

+

Open Science offers new opportunities in dealing with scientific knowledge and represents a kind of cultural change. Through transparency and openness, Open Science increases the use and further development of knowledge as well as the potential for collaboration and the credibility of science. The focus is on free access to scientific processes and findings for everyone via the internet and the right to re-use this content. The beneficiaries of this concept are not only science, but also society and the economy.

+

Open Science is realised through various strategies and procedures, such as free access to scientific publications (Open Access), computer programmes (Open Source Software), data (Open Data) and educational materials (Open Educational Resources).

+

Open Science: what, how and why?

+
+
+

The 4 Rs of Open Science#

+

When opening your science think about the 4 Rs:

+
    +
  • Reliable. It is important to evaluate the research in two ways. First with respect to scientific principles and criteria like validity, second with respect to criteria out of the professional context. This will help ensure that your results are more reliable.

  • +
  • Reproducible. Transparency is critical when doing research. Open Science allows you to clearly show what you’ve done to get the results you have. By being open about your methods, processes and decision making during your research, someone else doing the research again should get the same results.

  • +
  • Reusable. By making research results reusable, you allow others to build upon the solid foundation your research has already created in a given subject. This is the same R that is also going to be mentioned in the FAIR principles.

  • +
  • Relevant. Research quality describes the measurable influence of academic research on the academic community. Research impact includes environmental, cultural and societal impact, economic returns and societal benefits. By adhering to open science you increase the chances of your research to be relevant, because you give others the chance to interact with it.

  • +
+
+
+

The four pillars of Open Science#

+

The four pillars of Open Science are:

+
    +
  • Data. Data-driven research is fast becoming the norm in all disciplines. To support validation of your findings and allow others to build upon your work, you first need to make sure that others can find your data. This means giving them persistent and unique identifiers (such as DOIs); assigning appropiate metadata so that others can find and reuse your data; putting them into a repository that supports public searching; and being clear about what others can and can’t do with them by applying an appropriate license. In the Further Reading section you find links to courses about managing and sharing research data and licensing your outputs.

  • +
  • Code. When sharing your software and code, be sure to make use of open source standards to support interoperability and their longer-term viability. Be sure to put your code somewhere where others can search for it and access it (e.g., Github). Additionally, you can give your code a DOI by registering your Github repo on Zenodo. You should also be clear about the license the code is being shared under. In the Further Reading section there’s a course about Open Source Software.

  • +
  • Papers. Open Access (OA) to publications is a key component of Open Science. Free and instant access to publications improves the speed of innovation and leads better cooperation and progress in solving grand challenges. To publish openly, you’ll need to be able to source an appropriate OA journal or discipline-specific repository and navigate your way through their publishing agreements. You should also consider sharing preprints of your work as a means of getting early feedback and community validation of your approaches. In some cases, you’ll need to pay an Article Processing Charge to publish in an OA journal.

  • +
  • Reviews. The peer review process is evolving. By making the peer review process more transparent, researchers have better access to peer feedback at an earlier stage in the lifecycle and consumers of research outputs can have greater confidence in their quality.

  • +
+

But there is way more to discover about Open Science. The Open Science Taxonomy graphic shows the different terms behind Open Science.

+ +
+
+

Further Reading#

+ +
+
+

References#

+ +
+
+
+

What is FAIR?#

+
+

FAIR#

+

In 2014, a group of researchers as well as employees of libraries, archives, publishers and funders established principles for the handling of research data in a workshop and published them on FORCE11 for reviews and comments. The so-called FAIR principles were born. They comprise four goals: the findability, accessibility, interoperability and re-usability of data. With the achievement of these goals, the sustainable re-usability of research data is meant to be guaranteed. FAIR is not binary: FAIR is a spectrum!

+
+

The OpenAIRE definition of Metadata: Metadata is data providing information about data that makes findable, trackable and (re)usable. It can include information such as contact information, geographic locations, details about units of measure, abbreviations or codes used in the dataset, instrument and protocol information, survey tool details, provenance and version information and much more. In earth observation satellite data that could be the spatial and temporal extent of the data, the sensor, the bands and their wavelenghts, etc. Section 2.1 Data Discovery and 2.2 Data Properties deal with EO metadata in particular.

+
+
    +
  • Findable

    +
      +
    • The first step in (re)using data is to find them. Metadata and data should be easy to find for both humans and computers. Machine-readable metadata are essential for automatic discovery of datasets and services, so this is an essential component of the FAIRification process.

      +
        +
      • F1. (Meta)data are assigned a globally unique and persistent identifier

      • +
      • F2. Data are described with rich metadata (defined by R1 below)

      • +
      • F3. Metadata clearly and explicitly include the identifier of the data they describe

      • +
      • F4. (Meta)data are registered or indexed in a searchable resource

      • +
      +
    • +
    • Persistent Identifier (PID): These are IDs that identify a data set, publication or software (any digital object) unambiguosly and persistently with a single link. It increases the findability of a resource drastically. A widely used identifier is the Digital Object Identifier (DOI).

    • +
    +
  • +
  • Accessible

    +
      +
    • Once the users find the required data, they need to know how they can be accessed, possibly including authentication and authorisation.

      +
        +
      • A1. (Meta)data are retrievable by their identifier using a standardised communications protocol

      • +
      • A1.1 The protocol is open, free, and universally implementable

      • +
      • A1.2 The protocol allows for an authentication and authorisation procedure, where necessary

      • +
      • A2. Metadata are accessible, even when the data are no longer available

      • +
      +
    • +
    +
  • +
  • Interoperable

    +
      +
    • The data usually need to be integrated with other data. In addition, the data need to interoperate with applications or workflows for analysis, storage, and processing.

      +
        +
      • I1. (Meta)data use a formal, accessible, shared, and broadly applicable language for knowledge representation.

      • +
      • I2. (Meta)data use standards, formats and vocabularies that follow FAIR principles and allow it to be exchanged and combined across computer systems

      • +
      • I3. (Meta)data include qualified references to other (meta)data

      • +
      +
    • +
    +
  • +
  • Reusable

    +
      +
    • The ultimate goal of FAIR is to optimise the reuse of data. To achieve this, metadata and data should be well-described so that they can be replicated and/or combined in different settings

      +
        +
      • R1. (Meta)data are richly described with a plurality of accurate and relevant attributes

      • +
      • R1.1. (Meta)data are released with a clear and accessible data usage license

      • +
      • R1.2. (Meta)data are associated with detailed provenance

      • +
      • R1.3. (Meta)data meet domain-relevant community standards

      • +
      +
    • +
    • Licenses: To make your data reusable the use of appropiate licenses is key. Here is a good starting point to learn about the widely used creative commons licenses.

    • +
    +
  • +
+

The FAIR Principles

+
+

Animated Content: FAIR (drag and drop)#

+ +
+
+
+

Further Reading#

+ +
+
+

References#

+ +
+
+
+

Exam#

+

Let’s test your theoretical knowledge on open science now. It’s important that you understand these concepts. We will apply them later on in the course!

+

What do the 4 Rs in the context of Open Science stand for?

+
[( )] Readable, refreshable, recognizable, and receivable
+[(X)] Reliable, reproducable, reusable, and relevant
+[( )] Recitable, renameable, replicatable, and repairable.
+
+
+

Which statement is correct about Open Science?

+
[( )] Open Science sounds good, but it is unfair because researchers with limited financial means cannot afford access to open research results.
+[(X)] Open Science promotes the transparency of science and the free reuse of existing research results by everyone.
+[( )] Open Science ensures better networking of researchers within the EU. A worldwide exchange is currently not possible.
+
+
+

What are the arguments in favour of Open Data?

+
[( )] Generally, open data is not subject to a review process, so this type of data publication is always significantly faster.
+[( )] Lower costs and less time needed to prepare the data than with a closed access publication.
+[(X)] Accessibility of scientific data and metadata, source texts and digital reproductions.
+
+
+

FAIR is an acronym that stands for…

+
[(X)] Findable, Accessible, Interoperable and Reusable
+[( )] Fast Artificial Intelligence Research
+[( )] Fair, Accurate, Inclusive and Respectful Education
+[( )] Free, Available, Implemented and Ready
+
+
+

Findable means…

+
[[X]] (Meta)data are assigned a globally unique and persistent identifier
+[[ ]] (Meta)data are optimized to show up in the highest positions in google searches
+[[X]] (Meta)data are registered or indexed in a searchable resource
+
+
+

Accessible means…

+
[[ ]] (Meta)data must be open.
+[[X]] (Meta)data does not necessarily have to be open.
+[[X]] (Meta)data has access conditions and these are clear to both humans and machines.
+[[ ]] (Meta)data is open for access, but not for reuse.
+
+
+

Interoperable means…

+
[( )] (Meta)data is created and described by at least two researchers from differenct institutes
+[(X)] (Meta)data use standards, formats and vocabularies that allow it to be exchanged and combined across computer systems and between humans
+
+
+

Reusable means…

+
[(X)] the data has clear usage licenses and is usable by both people and machines.
+[( )] that all data is usable.
+[( )] the data has clear usage licenses to be used by people.
+
+
+
+
+
+
+ + + + +
+ + + + + + + + +
+ + + + + + + +
+ + + +
+
+
+ + + + + + + + \ No newline at end of file diff --git a/1.3_openscience/1.3.2_opendataopensource.html b/1.3_openscience/1.3.2_opendataopensource.html new file mode 100644 index 0000000..917d023 --- /dev/null +++ b/1.3_openscience/1.3.2_opendataopensource.html @@ -0,0 +1,718 @@ + + + + + + + + + + + Open Data and Open Source Software — Cubes & Clouds - Cloud Native Open Data Sciences for Earth Observation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + +
+ +
+ + + + + +
+
+ + + + + + +
+ + + +
+ +
+
+ +
+
+ +
+ +
+ +
+ + +
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + + + + + + + +
+ +
+

Open Data and Open Source Software#

+
+

Learning Objectives#

+
    +
  • Understand what Open Data is

  • +
  • Understand what Open Source Software is

  • +
+
+
+

What is Open Data?#

+
+

Open Data#

+

Open data is data that anyone can access, use and share. Open data becomes usable when made available in a common, machine-readable format. Open data must be licensed. Its licence must permit people to use the data in any way they want, including transforming, combining and sharing it with others, even commercially. Any restrictions imposed on the use of open data will limit its potential for creating new value.

+
    +
  • Limitations: For data to be open, it should have no limitations that prevent it from being used in any particular way. Anyone should be free to use, modify, combine and share the data, even commercially

  • +
  • Cost: Open data must be free to use, but this does not mean that it must be free to access. There is often a cost to creating, maintaining and publishing usable data. Ideally, any fee for accessing open data should be no more than the reasonable reproduction cost of the unit of data that is requested. This reproduction cost tends to be negligible for many datasets. Live data and big data can incur ongoing costs related to reliable service provision.

  • +
  • Reuse: Once the user has the data, they are free to use, reuse and redistribute it – even commercially. Open data is measured by what it can be used for, not by how it is made available. Aspects like format, structure and machine readability all make data more usable, and should all be carefully considered. However, these do not make the data more open.

  • +
  • FAIR vs Open Data: FAIR data is not the same as open data. For example, it is not always possible to grant free access to data for economic and legal reasons. Restrictions on access are compatible with FAIR principles, as long as the conditions and ways of access are evident.

  • +
+

Discovering open data – in 2 minutes

+
+
+

Open Data in this course#

+

The creation of this course would not be possible without Open Data. Here are just a few examples:

+ +
+
+

References#

+ +
+

Since we use material from the European Commissions [data.europa.eu e-learning programme], which is published under the Creative Commons Attribution-ShareAlike 4.0 International License we have to publish this section What is Open Data under Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.

+
+
+
+
+

What is Open Source?#

+
+

Open Source#

+

Open Source does not simply mean that the source code of a project is available, which is only one element of an Open Source project. The Open Source Initiative (OSI) provides a commonly accepted definition of what constitutes Open Source. To summarize that, in order to be considered Open Source:

+
    +
  • Open Source Software needs a license,

  • +
  • a work has to allow free redistribution,

  • +
  • the source code needs to be made available,

  • +
  • it must be possible to create further works based on it,

  • +
  • there must be no limitations of who may use the work or for what purpose (so something like “no commercial use” or “no military use” won’t work with Open Source),

  • +
  • the work must not require an additional license on top of the one it comes with,

  • +
  • and finally, the license must not depend on a specific distribution format, technology or presence of other works.

  • +
+

OSI's Open Source Definition

+

What is Open Source Software

+
+
+

Open Source Software used in this course#

+

The creation of this course would not be possible without Open Source Software. Here are just a few examples of Open Source Software used in this course:

+
    +
  • Python, used in the coding exercises

  • +
  • Wordpress, powering EOCollege’s content

  • +
  • git, for versioning the content of this course and collaborating with colleagues

  • +
  • openEO, used in the coding exercises for standarized interaction with cloud platforms

  • +
  • STAC Spec, for standardizing metadata, so that we can find the data we need and create

  • +
  • leaflet for the interactive visualization of results

  • +
  • GDAL, powering most geospatial software and is the backbone of many EO cloud platforms

  • +
+
+
+

Further Reading#

+

Help for understanding licenses and choosing the right Open Source license

+ +

And plentiful resources on open source projects, how to contribute and incorporate them into your work

+ +
+
+

References#

+ +
+
+
+

Exam#

+

Which statement about Open Data is correct?

+
[(X)] Open Data means information that is freely accessible.
+[( )] With Open Data, only data that is related to a scientific interpretation can be considered.
+[( )] With Open Data, the availability and usability of data on the web is limited.
+
+
+

FAIR data is always open data.

+
[( )] True
+[(X)] False
+
+
+

What is true about Open Source Software projects

+
[[X]] The source code is completely available to the public.
+[[ ]] You cannot contribute to Open Source Software Projects.
+[[X]] Open Source Software Projects are community driven.
+[[ ]] You can never use Open Source Software for commercial purposes.
+[[ ]] If software is published under a license, it is not open source.
+
+
+

What is GitHub?

+
[( )] GitHub is a cloud storage system specialized in storing big earth observation data sets.
+[(X)] GitHub is a code hosting platform for version control and collaboration. It lets you and others work together on projects from anywhere.
+
+
+

Find the following GitHub repositories and copy their link into the text box. Copy the complete link starting with https://

+
+ + + + + + + + + + + + + + + + +

Project

Link

openEO python client

[[Open-EO/openeo-python-client]]

Spatio Temporal Asset Catalogue Specification (STAC Spec)

[[radiantearth/stac-spec]]

Geographic Data Abstraction Library (GDAL)

[[OSGeo/gdal]]

+
+
+
+ + + + +
+ + + + + + + + +
+ + + + + + + +
+ + + +
+
+
+ + + + + + + + \ No newline at end of file diff --git a/1.3_openscience/1.3.3_openscienceineo.html b/1.3_openscience/1.3.3_openscienceineo.html new file mode 100644 index 0000000..ecfb403 --- /dev/null +++ b/1.3_openscience/1.3.3_openscienceineo.html @@ -0,0 +1,697 @@ + + + + + + + + + + + The Open Science Journey - Open Science in geospatial, EO and EO cloud platforms — Cubes & Clouds - Cloud Native Open Data Sciences for Earth Observation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + +
+ +
+ + + + + +
+
+ + + + + + +
+ + + +
+ +
+
+ +
+
+ +
+ +
+ +
+ + +
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + + +
+

The Open Science Journey - Open Science in geospatial, EO and EO cloud platforms

+ +
+ +
+
+ + + + +
+ +
+

The Open Science Journey - Open Science in geospatial, EO and EO cloud platforms#

+
+

Learning Objectives#

+
    +
  • Understand what Open Science is

  • +
  • Get to know the FAIR concept

  • +
  • Follow the steps of creating Open Science

  • +
  • Understand the role of Open Science in geospatial, EO and EO cloud platforms

  • +
+
+
+

The Open Science Journey#

+

Finally let’s see how open science principles are applied in the field of geospatial, earth observation and EO cloud platforms. To begin we will have a look at the open science journey and a research project that has adapted openness and the FAIR principles very well. Then we will have a look at the role open science plays in today’s geospatial and EO world.

+

This drag and drop game asks you to connect the tasks to their respective step within the open science journey. If you hover over the icons, their description will pop up.

+ +
+

Open Science in the ClirSnow Project#

+

The ClirSnow Project is a great example of how the concepts of opennes and FAIR are applied to a real world research project.

+

The Open Science Journey

+
+

Video content in collaboration with Michael Matiu (University of Trento).
+“It seems like a lot of work the first time you do it. And it is. But once you know how to do it, you will use it in every research project, because it actually makes research so much easier. And, it will boost your research impact and credibility. It is really worth it.”

+
+
+
+
+

The Role of Open Source Software in Geospatial - The example of GDAL#

+

Open Science plays an important role in geospatial. Open source software is a part of that and the Geographic Data Abstraction Library (GDAL) software is a great example of how important open source software is in the geospatial world. +Paul Ramsey, the co-founder of the PostGIS extension, has described what GDAL is in a metaphoric way in a mapscaping.com podcast: “GDAL is data plumbing, a bit like an international electrical plug set for traveling — it’s got multiple different shaped plugs. Electricity is “just” electrons moving around. But they can move around as DC, AC, 120 volts or 240 volts. Plus, there are all these different ways you can plug and join electrical things. At the core, electricity is electrons vibrating, but it can be quite complex to get your hair dryer spinning.” +Howard Butler, a director of the Open-Source Geospatial Foundation, said about the importance of GDAL: “[…] It’s open, it provides core functionality, I can’t understand how anybody gets anything done without it.“

+

The Role of Open Source Software in Geospatial - The example of GDAL

+
+

Video content in collaboration with Even Rouault (Main Developer of GDAL).

+
+
+
+

Open Science in EO Cloud Platforms#

+
    +
  • Code: Workflows and Code can easily be shared on EO Cloud Platforms. There are openly available tutorial notebooks. Workflows can be shared as user defined processes and be reused by the community. There are user forums that share solutions and snippets. OpenEO, a standardized processing API for EO in the cloud, allows code to be portable between different cloud platforms. This increases reprodicibility, collaboration and prevents vendor locks.

    +
      +
    • To Do: Image Slider: openEO Platform Forum, Tutorial Notebooks Microsoft Planetary Computer, User Defined Processes openEO,

    • +
    +
  • +
  • Results: There are multiple ways to share results created in EO cloud platforms. Ideally they can be ingested into the platform and be made available as collections for other users directly upon creation. If the result comes with appropiate metadata (e.g. according to the STAC specification) they can easily be registered in publicly avialable STAC Catalogues. Cloud Native Data Formats (described in more detail in lesson 2.4 Formats and Performance), like cloud optimized geotiff, are accessible via https requests. So instead of sharing a file, only a URL pointing to the file is shared.

    +
      +
    • To Do: Image Slider: Collection in a Platform, STAC Catalogue, Link to a COG

    • +
    +
  • +
  • Publication: If a publication is built on top of results produced in an EO cloud platform, the results and code can easily be linked to the publication in one of the forms described aboved. For example, you can publish your openEO process graph and link to it, and provide a link to a STAC Catalogue where the results are accessible.

    +
      +
    • To Do: Example of a Publication where the code is available on a cloud platform

    • +
    +
  • +
  • FAIRness:

    +
      +
    • Findable: Data is usually presented through a data catalogue (e.g. STAC Catalogues are used in openEO platform and the Microsoft Planetary Computer) that is explicitly made for searching data. In many cases searching data works even without registration on the platform.

    • +
    • Accessible: Data access in cloud platforms is usually granted after registration and authentication. Since cloud computing resources can easily be misused a certain degree of access control is necessary.

    • +
    • Interoperable: Processing standards like openEO aim at making the code interoperable, which means it is transferable between platforms. Standardised metadata attached to the results,the use of cloud optimized formats and reingestion of the results into the platform guarantee easy uptake of the results right away. Different sources of satellite data are made interoperable by the cloud platform through the use of data cubes and processing on the fly - reprojections, regridding and temporal alignment are enabled on the fly.

    • +
    • Reusable: To make results reusable for others, they need to be accessible and have an open license. Ideally, a license of choice can be added to the metadata and the results are reingested into the platform as a public collection, available for everyone.

    • +
    +
  • +
  • Analysis Ready Data (ARD): Analysis Ready Data are in the context of EO cloud platforms are usually satellite data that have been processed to a minimum set of requirements and organized into a form that allows immediate analysis with a minimum of additional user effort and interoperability both through time and with other datasets. This means for example that atmospheric correction and cloud masking has already been applied to optical data. Many collections on cloud platforms are analysis ready, so that users can directly start the analysis withouth the tedious and technically demanding preprocessing steps. Since ‘analysis ready’ can mean different things to different people, CEOS is working on standardizing what analysis ready data are.

    +
      +
    • To Do: Image of CEOS ARD

    • +
    +
  • +
+
+

References#

+ +
+
+
+

Exam#

+

Search a license from the Creative Commons License Chooser that adheres to the following: proper attribution/citation must be included when used, free for commercial use and Adaptions of the work can be shared, but only under the same or a compatible license.

+
[( )] CC BY 4.0
+[(X)] CC BY-SA 4.0
+[( )] CC BY-SA-ND 4.0
+
+
+

Was the license you have just chosen a software license or a data license?

+
[( )] Software License
+[(X)] Data License
+
+
+

Find the Open Research Data Set “Snow cover in the European Alps: Station observations of snow depth and depth of snowfall” on the catalogue OpenAIRE.

+

Share the DOI link to the data set version v1.3 in the format https://doi.org/10.5281/zenodo.XXXXXXX. Hint the last numbers are 74

+
[[https://doi.org/10.5281/zenodo.5109574]]
+
+
+

On which repository is the data set registered?

+
[( )] Integrated Ocean Observing System (https://ioos.noaa.gov)
+[( )] PANGAEA (https://pangaea.de)
+[(X)] ZENODO (https://zenodo.org)
+
+
+

Which license is used for the data set? Copy the URL to the license here.

+
[(X)] Creative Commons Attribution 4.0 International
+[( )] Creative Commons Attribution-NonCommercial 4.0 International
+[( )] Creative Commons Attribution-ShareAlike 4.0 International
+
+
+

Find the open access publication that is connected to the dataset. The one that has been published in “The Cryosphere”. Copy the DOI of the article here in the format https://doi.org/XX.XXXX/tc-XX-XXXX-XXXX. Hint: The DOI ends with 21

+
[[https://doi.org/10.5194/tc-15-1343-2021]]
+
+
+

Under which license is this course published. You can find this out on the courses GitHub page.

+
[( )] Massachusets Institute of Technology License (MIT License)
+[( )] Creative Commons Attribution-ShareAlike 4.0 International License 
+[(X)] Creative Commons Attribution 4.0 International License 
+
+
+

How is data FAIR in a cloud platform? Connect the subjects to the FAIR keywords.

+
[[Findable] [Accessible] [Interoperable] [Reusable]]
+[(X)        ( )          ( )             ( )       ]  STAC Metadata, Metadata Catalogue
+[( )        ( )          (X)             ( )       ]  Usage of abstract data cubes instead of different file formats
+[( )        (X)          ( )             ( )       ]  Authentication, Login, Free Trial Accounts
+[( )        ( )          ( )             (X)       ]  Data licenses attached to collections, provenance of the data is reported
+
+
+
+
+ + + + +
+ + + + + + + + +
+ + + + + + + +
+ + + +
+
+
+ + + + + + + + \ No newline at end of file diff --git a/2.1_data_discovery/2.1_data_discovery.html b/2.1_data_discovery/2.1_data_discovery.html new file mode 100644 index 0000000..15af049 --- /dev/null +++ b/2.1_data_discovery/2.1_data_discovery.html @@ -0,0 +1,1267 @@ + + + + + + + + + + + Data Discovery — Cubes & Clouds - Cloud Native Open Data Sciences for Earth Observation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + +
+ +
+ + + + + +
+
+ + + + + + +
+ + + +
+ +
+
+ +
+
+ +
+ +
+ +
+ + +
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + + + + + + + +
+ +
+

Data Discovery#

+
+

Learning Objectives#

+
    +
  • Find out what Data Sources we have

  • +
  • Get to know where to get data

  • +
  • Discover data catalogues

  • +
  • Learn what STAC is

  • +
+
+
+

What kind of data is available#

+

What kind of data can you find? And how?

+
+

Video content in collaboration with Angelos Tzotsos (President OSGeo) and Tom Kralidis (Meteorological Service of Canada).

+
+
+
+

Geospatial Data#

+

Knowledge of various geospatial data types is essential for understanding, representing, and analyzing acquired data from various domains. Data carry not only spatial information but also measured values, derived data, or other targeted information. Based on their properties, they can be used for different purposes.

+

There are several common geospatial data types, each serving a specific purpose and having distinct characteristics.

+

Data Types in EO

+
+

Figure: Common data types in EO. Raster, Polygon, Point.

+
+
+

Raster data#

+

Raster data are represented as pixels and grid cells where every pixel has a value associated with it. Data stored in raster format can be discrete (representing distinct categories, eg. land cover types) or continuous (for example temperature or elevation).

+

Examples of raster data sources:

+
    +
  • Satellite data - Satellite imagery data are a common example of raster data. There are many types of data acquired by satellites and their processing. The temporal aspect of images is very important for continuous analysis.

  • +
  • Aerial/drone orthophoto - Digital imagery obtained by aircrafts (e.g. drones) is usually high-resolution raster data usable for detailed analysis.

  • +
  • DEM - Digital Elevation Models are representing the surface of (usually) Earth and are essential for computations on a surface level.

  • +
  • Cloud mask - Cloud mask refers to the task of cloud detection in optical satellite data, where the common task is to detect (and remove) clouds to obtain better quality data.

  • +
+
+
+

Vector data#

+

Vector data are a fundamental type of geospatial data. Vector data represents spatial features using 3 basic classes - points, lines, and polygons and the attributes associated with them. With vector data, it is possible to capture and analyze complex spatial patterns and attributes with great accuracy, providing valuable insights into spatial phenomena and supporting decision-making processes. Vector data are commonly used in addition to raster data to highlight or accompany trends and results.

+

Examples of vector data sources:

+
    +
  • Building footprints (Polygons) - Building footprints are usually represented as polygons and capture the perimeter of buildings on the Earth’s surface. These footprints can vary in complexity from simple rectangles for standard buildings to more intricate shapes that outline the exact contours of complex structures.

  • +
  • Street networks - Street networks are depicted as lines, representing the pathways through which vehicles and pedestrians can move. Each line segment can indicate a portion of a street, alley, highway, or path, connecting intersections and endpoints to map out the entire transportation infrastructure of an area.

  • +
  • Points of interest - Points of Interest (POIs) are example of point vector data. They represents specific locations that hold importance or interest within a geographic area or usecase. These can include landmarks, businesses, public facilities, and natural features, among others.

  • +
+
+
+

In-situ data#

+

In-situ data are data collected directly at the place of interest and are connected to a special location. There are many reasons why these data are important and one of them is an enhancement of data collected by other means eg. weather measurements from satellites enhanced with local air quality measurements. There are countless examples of what can be measured, two common examples are:

+
    +
  • Air temperature

  • +
  • Soil quality

  • +
+
+
+

Datacubes#

+

Datacube refers to a multidimensional representation of data that incorporates spatial and temporal dimensions. It is a concept used to organize and analyze large volumes of geospatial information in a structured and efficient manner. Datacubes are combining the data types discussed above into one data structure. More about datacubes is in Lesson 1.2

+
+
+
+
+

EO Catalog protocols#

+

For Earth observation data discovery, it is essential to know about various used catalog protocols that define standardized methods and formats for organizing, describing, and accessing Earth observation data catalogs.

+

Some commonly used protocols shared between diffent platforms include OpenSearch, OGC CSW, OGC API - Features, OGC API - Records, STAC, OData and more.

+
+

OpenSearch#

+

The OpenSearch specification was launched in 2005 by A9.com, an Amazon subsidiary, as a means for sharing search queries and search results in a standardized format. +The specification was intended to allow syndication of search results that could then be aggregated by one large index. +OpenSearch provides a simple to use description of the search interface, which is called an OpenSearch Description document (OSDD). +A client (e.g., a browser) can use this description to check which response formats are supported and how a query/filter can be formulated. +The OpenSearch based REST services are usually offered by existing EO data platforms for compatibility reasons as the protocol itself is stable and not extended anymore. +The data models of most catalogs build on top of XML or GeoJSON and allow filtering on a set of simple but not standardized properties. The protocol supports both textual and geospatial search and filtering capabilities, making it suitable for a wide range of applications, including web search engines and geospatial data catalogs.

+
+
+

OGC CSW#

+

Catalogue Service for the Web (CSW) standardized by Open Geospatial Consortium (OGC), offers a framework for publishing, discovering, and accessing metadata records, allowing users to effectively search and retrieve geospatial data and related information. The catalogue is made up of records that describe geospatial data, linked geospatial services and related resources. +CSW enables metadata query using metadata core (mandatory) elements. +Catalogue services support the use of one of several identified query languages to find and return results using well-known content models (metadata schemas) and encodings.

+
+
+

OGC API - Features#

+

OGC API - Features is a modern and flexible geospatial data access protocol developed by the OGC. It provides a standardized and RESTful approach for querying, retrieving, and manipulating geospatial feature data over the web. By leveraging the power of web technologies such as HTTP, JSON, and GeoJSON, OGC API - Features simplifies the process of accessing and working with geospatial data. It allows users to retrieve specific features based on spatial and attribute filters, perform spatial and attribute queries, and even modify feature data through standard HTTP methods.

+
+
+

OGC API - Records#

+

OGC API - Records is a multi-part draft specification (built on top of OGC API - Features) that offers the capability to create, modify, and query metadata on the Web. The draft specification enables the discovery of geospatial resources by standardizing the way collections of descriptive information about the resources (metadata) are exposed. The specification also enables the discovery and sharing of related resources that may be referenced from geospatial resources or their metadata by standardizing the way all kinds of records are exposed and managed.

+
+
+

STAC#

+

STAC stands for SpatioTemporal Asset Catalog. It is a community specification that provides a common way for describing and cataloging assets that have a connection to space and time, usually but not necessarily on the Earth. The STAC specification focuses on organizing and sharing geospatial data in a way that is accessible, interoperable, and scalable. The STAC Specification consists of 4 semi-independent specifications (Catalog, Collection, Item and API) which can work independently or be used together. All of them can be and are enriched by a variety of extensions. +It is a relatively new specification but increasingly integrated by various data providers and seen as future of EO Data cataloguing and discovery. The data model in the dataspace is still evolving to comply fully with all standardized properties. Because of that, more attention is provided to STAC than other catalogue protocols in this tutorial.

+
+

The components of STAC#

+

The STAC specification is divided into three main parts:

+
    +
  • STAC specification for static catalogs, which consists of three parts:

    +
      +
    • STAC Items

    • +
    • STAC Catalogs

    • +
    • STAC Collections

    • +
    +
  • +
  • STAC API specification for dynamic catalogs.

  • +
  • STAC extensions (both for static STAC and the STAC API)

  • +
+

All these components are fairly independent, but all components work together and use links to express the relationship between them so that eventually clients can traverse through them. The links to the actual spatio-temporal data files that the STAC metadata describes are handled specifically and are called STAC Assets. Assets can be made available in Items and Collections.

+

STAC Hierarchy

+
+

Image by Matthias Mohr from https://mohr.ws/foss4g/

+
+
+

STAC Item#

+

A STAC Item is the foundational building block of STAC. It is a GeoJSON feature supplemented with additional metadata that enables clients to traverse through catalogs. Since an item is a GeoJSON, it can be easily read by any modern GIS or geospatial library. One item can describe one or more SpatioTemporal Asset(s). For example, a common practice of using STAC for imagery is that each band in a scene is its own STAC Asset and there is one STAC Item to represent all the bands in a single scene.

+

The STAC Item JSON specification uses standard GeoJSON fields as well as a few additional informational fields to describe the asset(s) more thoroughly.

+

STAC Item (and other components) have some required fields which must be always filled with information. In the example below, required fields like type, stac_version or id are filled. Properties are also required fields, but here also extended by many STAC extensions, in the format of extension_name:field_name: value. STAC extensions are also listed in the stac_extensions field. Complete STAC Item spec can be found on GitHub.

+
+ Example of a Sentinel 2 L2A STAC Item with one band asset. +
{
+   "type":"Feature",
+   "stac_version":"1.0.0",
+   "id":"S2B_43SCR_20231123_0_L2A",
+   "properties":{
+      "created":"2023-11-23T08:25:34.597Z",
+      "platform":"sentinel-2b",
+      "constellation":"sentinel-2",
+      "instruments":[
+         "msi"
+      ],
+      "eo:cloud_cover":0.414053,
+      "proj:epsg":32643,
+      "mgrs:utm_zone":43,
+      "mgrs:latitude_band":"S",
+      "mgrs:grid_square":"CR",
+      "grid:code":"MGRS-43SCR",
+      "view:sun_azimuth":161.976971280106,
+      "view:sun_elevation":35.5947611411469,
+      "s2:degraded_msi_data_percentage":0,
+      "s2:nodata_pixel_percentage":77.337396,
+      "s2:saturated_defective_pixel_percentage":0,
+      "s2:dark_features_percentage":0,
+      "s2:cloud_shadow_percentage":0.002591,
+      "s2:vegetation_percentage":0.010072,
+      "s2:not_vegetated_percentage":98.205149,
+      "s2:water_percentage":0.9589,
+      "s2:unclassified_percentage":0.38101,
+      "s2:medium_proba_clouds_percentage":0.410817,
+      "s2:high_proba_clouds_percentage":0.003235,
+      "s2:thin_cirrus_percentage":0,
+      "s2:snow_ice_percentage":0.028226,
+      "s2:product_type":"S2MSI2A",
+      "s2:processing_baseline":"05.09",
+      "s2:product_uri":"S2B_MSIL2A_20231123T054139_N0509_R005_T43SCR_20231123T070647.SAFE",
+      "s2:generation_time":"2023-11-23T07:06:47.000000Z",
+      "s2:datatake_id":"GS2B_20231123T054139_035066_N05.09",
+      "s2:datatake_type":"INS-NOBS",
+      "s2:datastrip_id":"S2B_OPER_MSI_L2A_DS_2BPS_20231123T070647_S20231123T054133_N05.09",
+      "s2:granule_id":"S2B_OPER_MSI_L2A_TL_2BPS_20231123T070647_A035066_T43SCR_N05.09",
+      "s2:reflectance_conversion_factor":1.02412472897181,
+      "datetime":"2023-11-23T05:50:10.118000Z",
+      "s2:sequence":"0",
+      "earthsearch:s3_path":"s3://sentinel-cogs/sentinel-s2-l2a-cogs/43/S/CR/2023/11/S2B_43SCR_20231123_0_L2A",
+      "earthsearch:payload_id":"roda-sentinel2/workflow-sentinel2-to-stac/ee5536069c6dd3a13ae2dbd530beafeb",
+      "earthsearch:boa_offset_applied":true,
+      "processing:software":{
+         "sentinel2-to-stac":"0.1.1"
+      },
+      "updated":"2023-11-23T08:25:34.597Z"
+   },
+   "geometry":{
+      "type":"Polygon",
+      "coordinates":[
+         [
+            [
+               73.91301155493866,
+               32.53264844646899
+            ],
+            [
+               73.65302362425264,
+               31.539681428386213
+            ],
+            [
+               74.04974127686076,
+               31.543245006457585
+            ],
+            [
+               74.03945448697993,
+               32.53367782512506
+            ],
+            [
+               73.91301155493866,
+               32.53264844646899
+            ]
+         ]
+      ]
+   },
+   "links":[
+      {
+         "rel":"self",
+         "type":"application/geo+json",
+         "href":"https://earth-search.aws.element84.com/v1/collections/sentinel-2-l2a/items/S2B_43SCR_20231123_0_L2A"
+      },
+      {
+         "rel":"canonical",
+         "href":"s3://sentinel-cogs/sentinel-s2-l2a-cogs/43/S/CR/2023/11/S2B_43SCR_20231123_0_L2A/S2B_43SCR_20231123_0_L2A.json",
+         "type":"application/json"
+      },
+      {
+         "rel":"license",
+         "href":"https://sentinel.esa.int/documents/247904/690755/Sentinel_Data_Legal_Notice"
+      },
+      {
+         "rel":"derived_from",
+         "href":"https://earth-search.aws.element84.com/v1/collections/sentinel-2-l1c/items/S2B_43SCR_20231123_0_L1C",
+         "type":"application/geo+json"
+      },
+      {
+         "rel":"parent",
+         "type":"application/json",
+         "href":"https://earth-search.aws.element84.com/v1/collections/sentinel-2-l2a"
+      },
+      {
+         "rel":"collection",
+         "type":"application/json",
+         "href":"https://earth-search.aws.element84.com/v1/collections/sentinel-2-l2a"
+      },
+      {
+         "rel":"root",
+         "type":"application/json",
+         "href":"https://earth-search.aws.element84.com/v1"
+      },
+      {
+         "rel":"thumbnail",
+         "href":"https://earth-search.aws.element84.com/v1/collections/sentinel-2-l2a/items/S2B_43SCR_20231123_0_L2A/thumbnail"
+      }
+   ],
+   "assets":{
+      "blue":{
+         "href":"https://sentinel-cogs.s3.us-west-2.amazonaws.com/sentinel-s2-l2a-cogs/43/S/CR/2023/11/S2B_43SCR_20231123_0_L2A/B02.tif",
+         "type":"image/tiff; application=geotiff; profile=cloud-optimized",
+         "title":"Blue (band 2) - 10m",
+         "eo:bands":[
+            {
+               "name":"blue",
+               "common_name":"blue",
+               "description":"Blue (band 2)",
+               "center_wavelength":0.49,
+               "full_width_half_max":0.098
+            }
+         ],
+         "gsd":10,
+         "proj:shape":[
+            10980,
+            10980
+         ],
+         "proj:transform":[
+            10,
+            0,
+            300000,
+            0,
+            -10,
+            3600000
+         ],
+         "raster:bands":[
+            {
+               "nodata":0,
+               "data_type":"uint16",
+               "bits_per_sample":15,
+               "spatial_resolution":10,
+               "scale":0.0001,
+               "offset":-0.1
+            }
+         ],
+         "roles":[
+            "data",
+            "reflectance"
+         ]
+      },
+      "thumbnail":{
+         "href":"https://sentinel-cogs.s3.us-west-2.amazonaws.com/sentinel-s2-l2a-cogs/43/S/CR/2023/11/S2B_43SCR_20231123_0_L2A/thumbnail.jpg",
+         "type":"image/jpeg",
+         "title":"Thumbnail image",
+         "roles":[
+            "thumbnail"
+         ]
+      }
+   },
+   "bbox":[
+      73.65302362425264,
+      31.539681428386213,
+      74.04974127686076,
+      32.53367782512506
+   ],
+   "stac_extensions":[
+      "https://stac-extensions.github.io/view/v1.0.0/schema.json",
+      "https://stac-extensions.github.io/grid/v1.0.0/schema.json",
+      "https://stac-extensions.github.io/mgrs/v1.0.0/schema.json",
+      "https://stac-extensions.github.io/raster/v1.1.0/schema.json",
+      "https://stac-extensions.github.io/processing/v1.1.0/schema.json",
+      "https://stac-extensions.github.io/eo/v1.1.0/schema.json",
+      "https://stac-extensions.github.io/projection/v1.1.0/schema.json"
+   ],
+   "collection":"sentinel-2-l2a"
+}
+
+
+
+

Source URL: https://earth-search.aws.element84.com/v1/collections/sentinel-2-l2a/items/S2B_43SCR_20231123_0_L2A

+
+
+

STAC Catalog#

+

A STAC Catalog is an entity that logically groups other Catalogs, Collections, and Items. A Catalog contains links to these other entities and can include additional metadata to describe the entities contained therein. A catalog is usually the starting point for navigating a STAC. More specifically, a catalog.json file contains links to some combination of other STAC Catalogs, Collections, and/or Items. We can think of it like a directory on a computer although it doesn’t necessarily need to mirror the local directory tree.

+

There are no restrictions on the way STAC Catalogs are organized. Therefore, the combination of STAC components within a STAC Catalog is quite variable and flexible. Many implementations use a set of ‘sub-catalog(s)’ that group the items in some sensible way, e.g. by years as a first level and months as a second level. It can be easily extended, for example, to include additional metadata to further describe its holdings, as the STAC Collection does.

+
+
+

STAC Collection#

+

A STAC Collection is similar to a STAC Catalog, but includes and partially requires additional metadata about a set of items that exist as part of the collection. It adds additional fields to enable the description of information like the spatial and temporal extent of the data, the license, keywords, providers, etc. Therefore, it can easily be extended with additional collection-level metadata that is common across all children. For example, it could summarize that all Items underneath hold data in either 10m or 30m spatial resolution.

+
+ Example of a Sentinel 2 L2A STAC Collection. +
{
+   "type":"Collection",
+   "id":"sentinel-2-l2a",
+   "stac_version":"1.0.0",
+   "description":"Global Sentinel-2 data from the Multispectral Instrument (MSI) onboard Sentinel-2",
+   "links":[
+      {
+         "rel":"self",
+         "type":"application/json",
+         "href":"https://earth-search.aws.element84.com/v1/collections/sentinel-2-l2a"
+      },
+      {
+         "rel":"cite-as",
+         "href":"https://doi.org/10.5270/S2_-742ikth",
+         "title":"Copernicus Sentinel-2 MSI Level-2A (L2A) Bottom-of-Atmosphere Radiance"
+      },
+      {
+         "rel":"license",
+         "href":"https://sentinel.esa.int/documents/247904/690755/Sentinel_Data_Legal_Notice",
+         "title":"proprietary"
+      },
+      {
+         "rel":"parent",
+         "type":"application/json",
+         "href":"https://earth-search.aws.element84.com/v1"
+      },
+      {
+         "rel":"root",
+         "type":"application/json",
+         "href":"https://earth-search.aws.element84.com/v1"
+      },
+      {
+         "rel":"items",
+         "type":"application/geo+json",
+         "href":"https://earth-search.aws.element84.com/v1/collections/sentinel-2-l2a/items"
+      },
+      {
+         "rel":"http://www.opengis.net/def/rel/ogc/1.0/queryables",
+         "type":"application/schema+json",
+         "href":"https://earth-search.aws.element84.com/v1/collections/sentinel-2-l2a/queryables"
+      },
+      {
+         "rel":"aggregate",
+         "type":"application/json",
+         "href":"https://earth-search.aws.element84.com/v1/collections/sentinel-2-l2a/aggregate",
+         "method":"GET"
+      },
+      {
+         "rel":"aggregations",
+         "type":"application/json",
+         "href":"https://earth-search.aws.element84.com/v1/collections/sentinel-2-l2a/aggregations"
+      }
+   ],
+   "stac_extensions":[
+      "https://stac-extensions.github.io/item-assets/v1.0.0/schema.json",
+      "https://stac-extensions.github.io/view/v1.0.0/schema.json",
+      "https://stac-extensions.github.io/scientific/v1.0.0/schema.json",
+      "https://stac-extensions.github.io/raster/v1.1.0/schema.json",
+      "https://stac-extensions.github.io/eo/v1.0.0/schema.json"
+   ],
+   "title":"Sentinel-2 Level 2A",
+   "extent":{
+      "spatial":{
+         "bbox":[
+            [
+               -180,
+               -90,
+               180,
+               90
+            ]
+         ]
+      },
+      "temporal":{
+         "interval":[
+            [
+               "2015-06-27T10:25:31.456000Z",
+               null
+            ]
+         ]
+      }
+   },
+   "license":"proprietary",
+   "keywords":[
+      "sentinel",
+      "earth observation",
+      "esa"
+   ],
+   "providers":[
+      {
+         "name":"ESA",
+         "roles":[
+            "producer"
+         ],
+         "url":"https://earth.esa.int/web/guest/home"
+      },
+      {
+         "name":"Sinergise",
+         "roles":[
+            "processor"
+         ],
+         "url":"https://registry.opendata.aws/sentinel-2/"
+      },
+      {
+         "name":"AWS",
+         "roles":[
+            "host"
+         ],
+         "url":"http://sentinel-pds.s3-website.eu-central-1.amazonaws.com/"
+      },
+      {
+         "name":"Element 84",
+         "roles":[
+            "processor"
+         ],
+         "url":"https://element84.com"
+      }
+   ],
+   "summaries":{
+      "platform":[
+         "sentinel-2a",
+         "sentinel-2b"
+      ],
+      "constellation":[
+         "sentinel-2"
+      ],
+      "instruments":[
+         "msi"
+      ],
+      "gsd":[
+         10,
+         20,
+         60
+      ],
+      "view:off_nadir":[
+         0
+      ],
+      "sci:doi":[
+         "10.5270/s2_-znk9xsj"
+      ],
+      "eo:bands":[
+         {
+            "name":"blue",
+            "common_name":"blue",
+            "description":"Blue (band 2)",
+            "center_wavelength":0.49,
+            "full_width_half_max":0.098
+         }
+      ]
+   }
+}
+
+
+
+

Source URL: https://earth-search.aws.element84.com/v1/collections/sentinel-2-l2a

+
+
+

STAC API#

+

STAC API is a dynamic version of a static SpatioTemporal Asset Catalog and provides a RESTful endpoint that enables the search of STAC Items and STAC Collections. STAC Catalogs don’t play a big role in APIs as they are mostly used as an entity for grouping larger static catalogs into smaller chunks, which is usually not needed in the context of a dynamic API.

+

If the API implements the Filter or Query extension, additionally the user is allowed to search for specific content based on a set of available metadata fields. Additional extensions may support more interactive elements such as aggregations, or managing the metadata (updating it, creating new entities, or deleting some) through transactions.

+

A part of the STAC API is built on top of OGC API - Features.

+
+
+

STAC Extension#

+

Extensions to STAC are split into two parts: STAC extensions and STAC API extensions. They are both an important addition to the STAC specifications and can provide either additions to the data model (i.e. additional JSON properties such as eo:cloud_cover) or behavioural changes (e.g. additional types of links or a sorting functionality). Most tend to be about describing a particular domain or type of data.

+

To find out which extensions do the STAC API, STAC Catalog, Collection or Item object implement, you can explore list of STAC extensions or list of STAC API extensions.

+
+
+
+
+

ODAta#

+

OData (Open Data Protocol) specifies a variety of best practices for creating and using REST APIs that can be handled by a large set of client tools like common web browsers, download-managers. The OData protocol can be used for building URI for performing search queries and product downloads for example on the Copernicus Dataspace.

+
+

References and further readings#

+ +
+
+
+

Where to search for data#

+

Earth observation data access is not limited to a single platform or a single entry point. What follows is a non-exhaustive list of some well-known Earth observation data catalogues usually based around the original agency providing the data:

+
    +
  • EarthData Search: A comprehensive data discovery and access tool provided by NASA’s Earth Observing System Data and Information System (EOSDIS). Contains wide range of NASA’s Earth science data.

  • +
  • Copernicus Data Space: Currently in development platform aiming to provide immediate access to large amounts of open and free Earth observation data and scalable interfaces including both new and historical Sentinel images, commercial datasets, as well as Copernicus Contributing Missions.

  • +
  • USGS Earth Explorer: EarthExplorer (EE) provides online search, browse display, metadata export, and data download for earth science data from the archives of the U.S. Geological Survey (USGS). Usually of largest demand are data from the Landsat missions.

  • +
  • Open Science Catalog: A catalog of publicly available geoscience products, datasets and resources developed in the frame of scientific research Projects funded by ESA EO. Queriable by themes, projects, variables and products.

  • +
  • NCEI Catalog: NOAA’s National Centers for Environmental Information (NCEI) provides access to various environmental data, including satellite imagery, climate data, and other geospatial datasets. In particular it is composed of oceanic, atmospheric, and geophysical data.

  • +
  • STAC Index: A list of publicly available STAC APIs and Static Catalogs.

  • +
+
+ +
+
+
+

How to search for data#

+

Large EO data portals usually allow two main different ways of access based on the technical proficiency of the target user group. User can either use graphical user interface of selected portal or use one the available APIs for search. Bellow are examples of way how to search for your data.

+
+

Web Browser Catalogue client#

+

Many large portals provide a easy-to-use search and filtering GUI, which under the hood uses one of the provided catalog APIs. This allows less experienced users to perform queries usually for smaller subset of data with the help of an attached Web map client to orient themselves easily.

+

CDSE Browser

+
+
+

API access#

+

For batch operations or script access to the catalogs, it is envisioned that direct approach of the API is performed instead. This removes the need for direct user interaction to the web platform and can be used from user provided scripts or other programs and CLI tools.

+

Fore more information about performing filtering or queries, see Data Properties.

+
+
+

STAC Browser#

+

In order to access and browse any online STAC catalog or API, a rich web client application STAC Browser can be used on radiantearth.github.io/stac-browser. It does does allow a wide variety of filtering capabilities.

+
+
+

STAC QGIS plugin#

+

QGIS STAC API Browser provides a simple and user-friendly approach in searching and using STAC API resources in QGIS. It offers a comfortable way to filter and browse the STAC API items and ability to add the STAC API assets as map layers into the QGIS.

+
+
+

QGIS MetaSearch Catalog Client#

+

MetaSearch is a QGIS plugin to interact with metadata catalog services, supporting both the OGC API - Records and OGC Catalog Service for the Web (CSW) standards.

+
+
+

OWSLib#

+

OWSLib is a Python package for client programming with Open Geospatial Consortium (OGC) web service (hence OWS) interface standards, and their related content models. The OWSLib client offers support for OGC CSW, OGC API - Records and OpenSearch based catalog services.

+
+
+

PySTAC client#

+

The STAC Python Client (pystac_client) is a Python package for working with STAC Catalogs and APIs that conform to the STAC and STAC API specs in a seamless way. PySTAC Client builds upon PySTAC through higher-level functionality and ability to leverage STAC API search endpoints.

+

Video of STAC visualization in leaflet

+
+

Video produced by Qiusheng Wu (opengeos/leafmap#347)

+
+
+
+

Further Reading#

+ +
+
+

References#

+ +
+
+
+

Quiz#

+

Let’s test your understanding of data types and where to find them. We will be working with the actual data shortly in the next chapters!

+
+

STAC#

+

What does the STAC stand for:

+
[( )] Spatio and Temporal Asset Certification
+[(x)] SpatioTemporal Asset Catalog
+[( )] SpatioTemporal Asset Collections
+
+
+

In which line are only mandatory properties of STAC item?

+
[(x)] type, id, assets, properties
+[( )] id, assets, collection, stac_version
+[( )] type, id, stac_version, stac_extensions
+
+
+
+
+

Data Catalogs and Access Protocols#

+

Which one of the listed data access API’s can you use on Copernicus Dataspace? See list of API’s available

+
[(x)] OData
+[(x)] STAC API
+[(x)] OGC API
+[( )] AstraDataServe
+[( )] OrbitQueryHub
+
+
+

Use an online catalog browser of Copernicus Dataspace to search for Sentinel 2 L2A products over the island of Sardinia between 1.9.2023 and 30.9.2023 with cloud coverage less than or equal to 20% and get the number of returned products. Use enclosed geometry file and upload it to the browser as shown on image below.

+

How to upload geometry

+
[( )] 101-200
+[( )] 201-300
+[(x)] 0-100
+
+
+
+
+
+ + + + +
+ + + + + + + + +
+ + + + + + + +
+ + + +
+
+
+ + + + + + + + \ No newline at end of file diff --git a/2.2_data_properties/2.2_data_properties.html b/2.2_data_properties/2.2_data_properties.html new file mode 100644 index 0000000..989a462 --- /dev/null +++ b/2.2_data_properties/2.2_data_properties.html @@ -0,0 +1,697 @@ + + + + + + + + + + + Data Properties — Cubes & Clouds - Cloud Native Open Data Sciences for Earth Observation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + +
+ +
+ + + + + +
+
+ + + + + + +
+ + + +
+ +
+
+ +
+
+ +
+ +
+ +
+ + +
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + + + + + + + +
+ +
+

Data Properties#

+
+

Learning objectives#

+
    +
  • Learn what are metadata and why they are important

  • +
  • Discover data properties and how to filter by them

  • +
+
+
+

What are data properties and metadata#

+

Data properties and metadata are sets of characteristics of geospatial data that serve different purposes. Commonly data properties are seen as attributes describing the image itself whereas, on the other hand, metadata describes the properties of a product.

+

Data Properties: Data properties refer to the characteristics and attributes of the geospatial data itself. These properties describe the actual content, structure, and values within the dataset. For raster data, properties can include information such as pixel values, cell size, spatial resolution, number of bands, and data format. For vector data, properties may include attributes associated with points, lines, or polygons, such as feature identifiers, names, classifications, or numerical values. Data properties are essential for understanding the data at a fundamental level and are used in the analysis, visualization, and processing tasks.

+

Metadata: Metadata, on the other hand, provides descriptive information about the data product. It serves as documentation that complements the data properties and offers additional context and details about the data. Metadata describes the origin, and characteristics, and helps with usage of the data, allowing users to discover, evaluate, and effectively utilize the data. It typically includes information such as the data source, acquisition parameters, coordinate reference system, temporal coverage, quality measures, and data access policies. Metadata plays a crucial role in data management, data sharing, and data interoperability by providing the necessary documentation and context for understanding and utilizing the data.

+

Both together provide a complete description of the data of our interest itself and how to work with them. Standardized ways how to describe metadata and data properties allow geospatial systems to work with data easily.

+

STAC standardizing Metadata

+
+

Figure: STAC standardizing Metadata.

+
+
+
+

Properties and metadata used for filtering#

+

In previous lesson we learned where to find data. Now it is time to look at how we can select only the data we want. Properties and metadata are a great help when we are not interested in the whole collection, but only in certain regions, times or even bands of selected satellite products.

+

In (many of) the data catalogs, we can filter by specific values for each satellite. Let’s talk more about some of them shortly

+
    +
  • Dataset name/identifier: Filtering directly by name of a product as a unique name or identifier is assigned to the dataset, allowing it to be easily identified and referenced.

  • +
  • Time range: The temporal coverage or specific dates associated with the data acquisition. By this, we can easily select products from the same location with different dates of acquisition. This is particularly relevant for time-series or multi-temporal datasets.

  • +
  • Bounding box or other area of interest: Spatial Extent or the geographic coverage of the raster data, typically defined by the bounding coordinates (longitude and latitude) that encompass the dataset. Usually you can select your own area or interest as a rectangle/geometry or use a map window for taking the current extent

  • +
  • Mission: You can select by satellite used for data acquisition. In the case of Sentinel missions, you can select only Sentinel-1 as an example

  • +
  • Processing levels: Typically you can also select by processing level you are interested in for your missions. Typically Level-0 means unprocessed, raw data, and with higher number represents more corrections were applied.

  • +
  • Sensors or instrument: Selection by the output of a specific sensor or instrument.

  • +
  • Cloud coverage/polarization: Based on a mission, a selection filter can be made by specific parameters. For multi-spectral data such as captured by Sentinel-2, we can typically filter by cloud coverage in percentage. This is used as we are interested in lower cloud coverage percent for analysis. Similarly, specific polarizations can be selected for SAR data such as captured by Sentinel-1.

  • +
  • Orbit number: Typically integer number selects a specific orbit number user is interested in.

  • +
  • Orbit direction: For the majority of data types the selection is either ascending or descending.

  • +
  • Availability status/Timeliness: Some missions have different time availability for their data allowing them to select Near Real-Time acquisitions (approximately 3 hours after acquisition), raw data with a certain delay, or processed data later. It is also common that infrequently accessed data or older data than a certain threshold (years) can only be accessed ‘on demand’. Their ‘Availability status’ is usually set as ‘Archived’ or similar and they but must be ‘tasked to be brought online from archive storage’ by the user. This operation usually takes minutes to hours to complete. The user of the platform can later access the catalog again and hopefully the product have been brought online in the meantime.

  • +
+

In the examples above it also became more clear why a standardized way of expressing the metadata is important. For example, how do you know whether the cloud cover is a percentage expressed in a range from 0 to 1 or from 0 to 100? How would you filter on this property, if both scales would be mixed?

+ +

STAC - A standardized Metadata Description for EO Data

+
+

Video content in collaboration with Matthias Mohr (Major STAC contributor).
+“Having metadata in a standardized format makes your data available to others in a simple and unified way. Similarly, you can find and work with the data of others more easily. You can achieve these benefits with STAC.”

+
+
+

Metadata and properties which are not typically used for filtering#

+

Many metadata are contained within the product but are not used for filtering on the platforms or accessing hubs directly. Among these is for example Author of the dataset or Licence. You should be able to get all information about those in data metadata when you are accessing the data itself or on the general page with information.

+

Usually it is unfortunatelly not possible to filter by or search by direct data properties, e.g. by values in data.

+
+
+

Dimensions#

+

Dimensions are important description of data and their properties. More information about dimensions of data and datacubes was covered in the lecture about Datacubes

+
    +
  • x, y and sometimes z - Spatial dimension of data

  • +
  • temporal/time dimension - capturing the time aspect for time series analysis

  • +
+
+
+

Value Types (data types)#

+

Once we have selected data products we are interested in, we can look directly into values to select what we are interested in. Common data types representing measured values are these:

+
    +
  • bitmask 0/1

  • +
  • 8bit 0-255

  • +
  • UInt16 - 0-65k

  • +
  • Int16 - -32k - 32k

  • +
  • Float32

  • +
+
+
+

Further Reading#

+ +
+
+

References#

+
+
+
+

Quiz#

+

Which of the following is not considered as Data Metadata

+
[( )] Instrument
+[( )] Licence
+[(x)] Values from sensors
+
+
+

Which of the following is not considered as Data Properties

+
[(x)] Licence
+[( )] Pixel values
+[( )] Number of bands
+
+
+

Which of these properties and metadata are commonly used for filtering when searching data?

+
[(x)] Bounding Box
+[( )] E-Mail Adress
+[(x)] Time Range
+[(x)] Sensor
+[( )] Telephone Number
+[(x)] Cloud Coverage
+
+
+

Which statements about the advantage of filtering data by metadata and properties are true?

+
[( )] All images are considered for subsequent analysis.
+[(x)] Only images that are relevant are considered for subsequent analysis.
+[(x)] The amount of data is reduced before starting the actual analysis.
+
+
+

Removed until exercise is accessible: Is the same number of products findable on all plafforms and in all ways? +In the last chapter, there was exercise about finding Sentinel 2 L2A products over the island of Sardinia between 1.9.2023 and 30.9.2023 with cloud coverage less than or equal to 20% on Copernicus Dataspace via Web Browser. Correct answer was 59. Is the same number returned by programatically accessing catalog with code?

+
[(x)] Yes
+[( )] No
+
+
+

Removed until exercise is accessible: Following the exercise with gdalinfo, answer following questions about the raster used there:

+

What is the NODATA value?

+
[[0]]
+
+
+

Removed until exercise is accessible: What are the coordinates of upper left corner in degrees?

+
[[72d52'14.58"E, 32d31' 9.58"N]]
+
+
+

Removed until exercise is accessible: What is the EPSG code of the raster?

+
[[4326]]
+
+
+
+
+ + + + +
+ + + + + + + + +
+ + + + + + + +
+ + + +
+
+
+ + + + + + + + \ No newline at end of file diff --git a/2.3_data_access/2.3_data_access.html b/2.3_data_access/2.3_data_access.html new file mode 100644 index 0000000..550f25a --- /dev/null +++ b/2.3_data_access/2.3_data_access.html @@ -0,0 +1,849 @@ + + + + + + + + + + + Access EO Data from the Cloud — Cubes & Clouds - Cloud Native Open Data Sciences for Earth Observation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + +
+ +
+ + + + + +
+
+ + + + + + +
+ + + +
+ +
+
+ +
+
+ +
+ +
+ +
+ + +
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + + + + + + + +
+ +
+

Access EO Data from the Cloud#

+

Using a cloud provider for accessing data, and in this specific scenario Earth Observation data, could improve your productivity a lot. To get the most out of it, we will provide you some important insights.

+
+

Learning objectives#

+
    +
  • In this lecture you will learn the usage and peculiarities of the main data operators commonly available on cloud platforms like:

    +
      +
    • Data loading

    • +
    • Filter

    • +
    • Apply

    • +
    • Reduce

    • +
    • Resample

    • +
    • Aggregate

    • +
    +
  • +
  • Finally, you will be able to create a simple workflow with openEO.

  • +
+

The exercise will use the openEO Python Client Side Processing functionality, which allows to experiment using openEO without a connection to an openEO back-end.

+
+
+

Raster Data Loading#

+

In openEO, your process graph will always start with defining the data you want to load, which can be done mainly using the following processes:

+
    +
  1. load_collection: loads a collection from the current back-end by its id and returns it as a processable data cube. The data that is added to the data cube can be restricted with the parameters spatial_extent, temporal_extent, bands and properties.

  2. +
  3. load_stac: loads data from a static STAC catalog or a STAC API Collection and returns the data as a processable data cube. A batch job result can be loaded by providing a reference to it. If supported by the underlying metadata and file format, the data that is added to the data cube can be restricted with the parameters spatial_extent, temporal_extent and bands.

  4. +
+

Exercise 2.3 Data Access Lazy Loading

+
+

References#

+ +
+
+
+

Processes on Datacubes#

+

In the following part, the basic processes for manipulating datacubes are introduced.

+
+

Filter#

+

When filtering data (e.g. filter_spatial, filter_temporal, filter_bands), only the data that satisfies a condition is returned. For example, this condition could be a timestamp or interval, (a set of) coordinates, or specific bands. By applying filtering the datacube becomes smaller, according to the selected data.

+
+

:warning: Simplified +filter([🌽, 🥔, 🐷], isVegetarian) => [🌽, 🥔]

+
+

In the image, the example datacube can be seen at the top with labeled dimensions. The filtering techniques are displayed separately below. On the left, the datacube is filtered temporally with the interval ["2020-10-15", "2020-10-27"]. The result is a cube with only the rasters for the timestep that lies within that interval ("2020-10-25") and unchanged bands and spatial dimensions. Likewise, the original cube is filtered for a specific band ["nir"] in the middle and a specific spatial region [Polygon(...)] on the right.

+

assets/dc_filter.png

+
+

Figure: Datacube filtering: From the datacube 4 by 3 grid, arrows depict what happens if the grid is filtered. Temporal filtering results in data for one timestep with all four bands, filtering bands results in data with one band with all three timesteps, and spatial filtering results in all timesteps and bands being preserved, but all with a smaller area. Reference: openeo.org (2022). Processes on Datacubes.

+
+

Exercise 2.3 Data Access Filter

+
+
+

Apply#

+

The apply* functions (e.g. apply, apply_neighborhood, apply_dimension) employ a process on the datacube that calculates new pixel values for each pixel, based on n other pixels. Please note that several programming languages use the name map instead of apply, but they describe the same type of function.

+
+

:warning: Simplified +apply([🌽, 🥔, 🐷], cook) => [🍿, 🍟, 🍖]

+
+

For the case n = 1 this is called a unary function and means that only the pixel itself is considered when calculating the new pixel value. A prominent example is the absolute() function, calculating the absolute value of the input pixel value.

+

./assets/dc_apply_unary.png

+
+

Figure: Datacube apply unary: 3 example tiles hold values below and above 0. after applying the process ‘absolute’, all values in the three example tiles have changed to their absolute values above 0. Reference: openeo.org (2022). Processes on Datacubes.

+
+

If n is larger than 1, the function is called n-ary. In practice, this means that the pixel neighbourhood is taken into account to calculate the new pixel value. Such neighbourhoods can be of spatial and/or temporal nature. A spatial function works on a kernel that weights the surrounding pixels (e.g. smoothing values with nearby observations), a temporal function works on a time series at a certain pixel location (e.g. smoothing values over time). Combinations of types to n-dimensional neighbourhoods are also possible.

+

In the example below, an example weighted kernel (shown in the middle) is applied to the cube (via apply_kernel). To avoid edge effects (affecting pixels on the edge of the image with less neighbours), a padding has been added in the background.

+

./assets/dc_apply_kernel.png

+
+

Figure: Datacube apply spatial kernel: Three example tiles hold some values with a lot of variance. A spatial kernel (a cell plus it’s 4 direct neighbours) is applied to all pixels, and the result appears to be spatially smoothed, with less variance. Reference: openeo.org (2022). Processes on Datacubes.

+
+

Of course this also works for temporal neighbourhoods (timeseries), considering neighbours before and after a pixel. To be able to show the effect, two timesteps were added in this example figure. A moving average of window size 3 is then applied, meaning that for each pixel the average is calculated out of the previous, the next, and the timestep in question (tn-1, tn and tn+1). No padding was added which is why we observe edge effects (NA values are returned for t1 and t5, because their temporal neighbourhood is missing input timesteps).

+

./assets/dc_apply_ts.png

+
+

Figure: Datacube apply temporal moving average: Smoothing is applied to 5 example tiles by calculating the mean of 3 timesteps of every single pixel. The resulting tiles for the timestamps look much more alike. Reference: openeo.org (2022). Processes on Datacubes.

+
+

Alternatively, a process can also be applied along a dimension of the datacube, meaning the input is no longer a neighbourhood of some sort but all pixels along that dimension (n equals the complete dimension). If a process is applied along the time dimension (e.g. a breakpoint detection), the complete pixel timeseries are the input. If a process is applied along the spatial dimensions (e.g. a mean), all pixels of an image are the input. The process is then applied to all pixels along that dimension and the dimension continues to exist. This is in contrast to reduce, which drops the specified dimension of the data cube. In the image below, a mean is applied to the time dimension. An example pixel timeseries is highlighted by a green line and processed step-by-step.

+

./assets/dc_apply_dim_ts.png

+
+

Figure: Datacube apply dimension time: The mean of all 5 timesteps is calculated for every single pixel. The resulting 5 tiles look exaclty the same, as they have been averaged. Reference: openeo.org (2022). Processes on Datacubes.

+
+

Exercise 2.3 Data Access Apply

+
+
+

Reduce#

+

The reduce_dimension process collapses a whole dimension of the datacube. It does so by using some sort of reducer, which is a function that calculates a single result from an amount of values, as e.g. mean(), min() and max() are. For example we can reduce the time dimension (t) of a timeseries by calculating the mean value of all timesteps for each pixel. We are left with a cube that has no time dimension, because all values of that dimension are compressed into a single mean value. The same goes for e.g. the spatial dimensions: If we calculate the mean along the x and y dimensions, we are left without any spatial dimensions, but a mean value for each instance that previously was a raster is returned. In the image below, the dimensions that are reduced are crossed out in the result.

+
+

:warning: Simplified +reduce([🥬, 🥒, 🍅, 🧅], prepare) => 🥗

+
+

Think of it as a waste press that does math instead of using brute force. Given a representation of our example datacube, let’s see how it is affected.

+

./assets/dc_reduce.png

+
+

Figure: Datacube reduce: Three arrows depict what happens to the 12 example tiles, if they are reduced: Reducing timesteps leads to four tiles (one for each band), and the time dimension is deleted. Reducing bands lead to one tile per timestep, and the bands dimension is deleted. Reducing spatially leads to the original 4 by 3 bands by time layout, but the result has no spatial dimension and thus, the tiles have been turned into single values, per tile. Reference: openeo.org (2022). Processes on Datacubes.

+
+

Exercise 2.3 Data Access Reduce

+
+
+

Resample#

+

In a resampling processes (e.g. resample_cube_spatial, resample_cube_temporal), the layout of a certain dimension is changed into another layout, most likely also changing the resolution of that dimension. This is done by mapping values of the source (old) datacube to the new layout of the target (new) datacube. During that process, resolutions can be upscaled or downscaled (also called upsampling and downsampling), depending on whether they have a finer or a coarser spacing afterwards. A function is then needed to translate the existing data into the new resolution. A prominent example is to reproject a datacube into the coordinate reference system of another datacube, for example in order to merge the two cubes.

+
+

:warning: Simplified +resample(🖼️, downscale) => 🟦

+
+

resample(🌍, reproject) => 🗺️

+

The first figure gives an overview of temporal resampling. How exactly the input timesteps are rescaled to the output timesteps depends on the resampling function.

+

./assets/dc_resample_time.png

+
+

Figure: Datacube temporal resampling (up and down): Downsampling: To a timeline-representation of the example tiles, another timeline with only 2 steps at different dates is applied. The result has tiles only at those new timesteps. In Upsampling, the existing 3 timesteps are sampled into 5 result timesteps. Reference: openeo.org (2022). Processes on Datacubes.

+
+

The second figure displays spatial resampling. Observe how in the upsampling process, the output datacube has not gained in information value. The resulting grid still carries the same pixel information, but in higher spatial resolution. Other upsampling methods may yield smoother results, e.g. by using interpolation.

+

./assets/dc_resample_space.png

+
+

Figure: Datacube spatial resampling (up and down): Downsampling: The resulting tiles have a lower spatial resolution than the input tiles. Upsampling: The resulting tiles have a higher spatial resolution than the input tiles, but contain the same image than before (no information added). Reference: openeo.org (2022). Processes on Datacubes.

+
+

Exercise 2.3 Data Access Resample

+
+
+

Aggregate#

+

An aggregation of a datacube can be thought of as a grouped reduce. That means it consists of two steps:

+
    +
  1. Grouping via a grouping variable, i.e. spatial geometries or temporal intervals

  2. +
  3. Reducing these groups along the grouped dimension with a certain reducer function, e.g. calculating the mean pixel value per polygon or the maximum pixel values per month

  4. +
+

While the layout of the reduced dimension is changed, other dimensions keep their resolution and geometry. But in contrast to pure reduce, the dimensions along which the reducer function is applied still exist after the operation.

+
+

:warning: Simplified +aggregate(👪 👩‍👦 👨‍👩‍👦‍👦, countFamilyMembers) => [3️⃣, 2️⃣, 4️⃣]

+
+

A temporal aggregation (e.g. aggregate_temporal) is similar to the downsampling process, as it can be seen in the according image above. Intervals for grouping can either be set manually, or periods can be chosen: monthly, yearly, etc. All timesteps in an interval are then collapsed via a reducer function (mean, max, etc.) and assigned to the given new labels.

+

A spatial aggregation (e.g. aggregate_spatial) works in a similar manner. Polygons, lines and points can be selected for grouping. Their spatial dimension is then reduced by a given process and thus, a vector cube is returned. The vector cube then has dimensions containing features, attributes and time. In the graphic below, the grouping is only shown for the first timestep.

+

./assets/dc_aggregate_space.png

+
+

Figure: Datacube spatial aggregation: A line and a polygon are selected from the original example tiles. The pixels covered by these geometries are aggregated and the result consists no longer of imagery tiles but of an array with values for 2 geometries by 4 bands by 3 timesteps. Reference: openeo.org (2022). Processes on Datacubes.

+
+

Exercise 2.3 Data Access Aggregate

+
+
+

Recap Processes#

+

Here are some exercises to recap the different processes that can be used on a data cube.

+
+ +
+ +
+ +
+
+

References#

+ +
+
+
+

openEO - A standardized API for EO cloud processing#

+
+

The need for a standarized API in EO cloud processing#

+

Earth Observation data are becoming too large to be downloaded locally for analysis. Also, the way they are organised (as tiles, or granules: files containing the imagery for a small part of the Earth and a single observation date) makes it unnecessary complicated to analyse them. The solution to this is to store these data in the cloud, on compute back-ends, process them there, and browse the results or download resulting figures or numbers. But how do we do that? openEO develops an open application programming interface (API) that connects clients like R, Python and JavaScript to big Earth observation cloud back-ends in a simple and unified way. +With such an API,

+
    +
  • each client can work with every back-end, and

  • +
  • it becomes possible to compare back-ends in terms of capacity, cost, and results (validation, reproducibility)

  • +
+
+
+

What does openEO stand for?#

+

The acronym openEO contracts two concepts:

+

open: used here in the context of open source software; open source software is available in source code form, and can be freely modified and redistributed; the openEO project will create open source software, reusable under a liberal open source license (Apache 2.0) +EO: Earth observation +Jointly, the openEO targets the processing and analysis of Earth observation data. The main objectives of the project are the following concepts:

+
    +
  • Simplicity: nowadays, many end-users use Python or R to analyse data and JavaScript to develop web applications; analysing large amounts of EO imagery should be equally simple, and seamlessly integrate with existing workflows

  • +
  • Unification: current EO cloud back-ends all have a different API (opens new window), making EO data analysis hard to validate and reproduce and back-ends difficult to compare in terms of capability and costs, or to combine them in a joint analysis across back-ends. A unified API can resolve many of these problems.

  • +
+
+
+

Why an API?#

+

An API is an application programming interface. It defines a language that two computers (a client and a server) use to communicate. +The following figure shows how many interfaces are needed to be able to compare back-ends from different clients, without an openEO API. And if you use the slider you will see how the situation becomes much clearer with a standardized API.

+ +

openEO - A standardized API for EO cloud processing

+
+

Video content in collaboration with Edzer Pebesma (University of Münster).
+“For analysing Earth Observation data, don’t use a platform that locks you in.”

+
+
+
+

References#

+ +
+
+
+
+

Quiz#

+

Loading: What is the difference between using an openEO remote back-end and openEO Python Client-Side-Processing? Tick what is correct. Answer in exercise: 23_data_access_lazy_loading.ipynb

+
[[ ]] You need an account to authenticate in both cases
+[[x]] You don't need an account with Client-Side Processing
+[[x]] Client-side processing does not interact with an openEO back-end
+
+
+

Loading: What are the dimension names of the loaded datacube? Answer in exercise: 23_data_access_lazy_loading.ipynb

+
[( )] northing, easting, time, spectral
+[( )] lat, lon, t, bands
+[(x)] time, band, y, x
+
+
+

Filtering: How many time steps are left after filtering temporally 2022-05-10, 2022-06-30? Answer in exercise: 23_data_access_filter.ipynb

+
[( )] 11
+[(x)] 9
+[( )] 32
+
+
+

Filtering: How many pixels are left along y after using filter_bbox with spatial_extent = {"west": 11.259613, "east": 11.406212, "south": 46.461019, "north": 46.522237} +? Answer in exercise: 23_data_access_filter.ipynb

+
[( )] 1006
+[( )] 1145
+[(x)] 489
+
+
+

Reducing Dimension: What would be a use case for reducing the time dimension? Tick what is correct.

+
[[ ]] Get a full time series graph
+[[x]] Getting a cloudfree image for a certain time range
+[[x]] Get information about a whole sesaon
+[[ ]] Filling gaps in a time series
+
+
+

Reducing Bands: How many pixels are left in the datacube after we use reduce_dimension over band? Answer in exercise: 23_data_access_reduce.ipynb

+
[[21226010]]
+
+
+

Reducing Dimension: What are the dimension names after running reduce_spatial? Answer in exercise: 23_data_access_reduce.ipynb

+
[( )] x, y, band
+[( )] time, x, y
+[(x)] time, band
+
+
+
+
+
+ + + + +
+ + + + + + + + +
+ + + + + + + +
+ + + +
+
+
+ + + + + + + + \ No newline at end of file diff --git a/2.3_data_access/exercises/23_data_access_aggregate.html b/2.3_data_access/exercises/23_data_access_aggregate.html new file mode 100644 index 0000000..d2d3fdc --- /dev/null +++ b/2.3_data_access/exercises/23_data_access_aggregate.html @@ -0,0 +1,614 @@ + + + + + + + + + + + 2.3 Data Access and Basic Processing — Cubes & Clouds - Cloud Native Open Data Sciences for Earth Observation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + +
+ +
+ + + + + +
+
+ + + + + + +
+ + + +
+ +
+
+ +
+
+ +
+ +
+ +
+ + +
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + + +
+

2.3 Data Access and Basic Processing

+ +
+ +
+
+ + + + +
+ +

Cubes & Clouds logo

+
+

2.3 Data Access and Basic Processing#

+
+

Aggregate Operators#

+
+

aggregate_temporal_period: temporal aggregation with predefined intervals#

+

Start importing the necessary libraries and initialize a local connection for Client-Side Processing.

+
+
+
import openeo
+from openeo.local import LocalConnection
+local_conn = LocalConnection('')
+
+
+
+
+

Create the starting Sentinel-2 datacube:

+
+
+
url = "https://earth-search.aws.element84.com/v1/collections/sentinel-2-l2a"
+
+spatial_extent = {"west": 11.4, "east": 11.42, "south": 45.5, "north": 45.52}
+temporal_extent = ["2022-01-01", "2022-12-31"]
+bands = ["red","green","blue"]
+
+s2_cube = local_conn.load_stac(url=url,
+   spatial_extent=spatial_extent,
+   temporal_extent=temporal_extent,
+   bands=bands
+)
+s2_cube.execute()
+
+
+
+
+

We might be interested in aggregating our data over periods like week, month, year etc., defining what operation to use to combine the data available in the chosen period.

+

Using aggregate_temporal_period we can achieve this easily:

+
+
+
s2_monthly_min = s2_cube.aggregate_temporal_period(period="month",reducer="min")
+s2_monthly_min
+
+
+
+
+

Check what happens to the datacube inspecting the resulting xArray object. Now the time dimension has 12 labels, one for each month.

+
+
+
s2_monthly_min.execute()
+
+
+
+
+
+
+
+ + + + +
+ + + + + + + + +
+ + + + + + + +
+ + + +
+
+
+ + + + + + + + \ No newline at end of file diff --git a/2.3_data_access/exercises/23_data_access_apply.html b/2.3_data_access/exercises/23_data_access_apply.html new file mode 100644 index 0000000..0401d00 --- /dev/null +++ b/2.3_data_access/exercises/23_data_access_apply.html @@ -0,0 +1,1185 @@ + + + + + + + + + + + 2.3 Data Access and Basic Processing — Cubes & Clouds - Cloud Native Open Data Sciences for Earth Observation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + +
+ +
+ + + + + +
+
+ + + + + + +
+ + + +
+ +
+
+ +
+
+ +
+ +
+ +
+ + +
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + + +
+

2.3 Data Access and Basic Processing

+ +
+
+ +
+

Contents

+
+ +
+
+
+ + + + +
+ +

Cubes & Clouds logo

+
+

2.3 Data Access and Basic Processing#

+
+

Apply Operator#

+

The apply operator employ a process on the datacube that calculates new pixel values for each pixel, based on n other pixels.

+

Let’s start again with the same sample data from the Sentinel-2 STAC Collection, applying the filters directly in the load_stac call, to reduce the amount of data.

+
+
+
import openeo
+from openeo.local import LocalConnection
+local_conn = LocalConnection('')
+
+url = "https://earth-search.aws.element84.com/v1/collections/sentinel-2-l2a"
+spatial_extent = {"west": 11.259613, "east": 11.406212, "south": 46.461019, "north": 46.522237}
+temporal_extent = ['2022-07-10T00:00:00Z','2022-07-13T00:00:00Z']
+bands = ["red","green","blue"]
+properties = {"eo:cloud_cover": dict(lt=50)}
+datacube = local_conn.load_stac(url=url,
+                    spatial_extent=spatial_extent,
+                    temporal_extent = temporal_extent,
+                    bands=bands,
+                    properties=properties
+)
+
+datacube.execute()
+
+
+
+
+
Did not load machine learning processes due to missing dependencies: Install them like this: `pip install openeo-processes-dask[implementations, ml]`
+/home/749c4c89-469c-4d4a-9ce4-9feffea0504a/.local/lib/python3.11/site-packages/stackstac/prepare.py:408: UserWarning: The argument 'infer_datetime_format' is deprecated and will be removed in a future version. A strict version of it is now the default, see https://pandas.pydata.org/pdeps/0004-consistent-to-datetime-parsing.html. You can safely remove this argument.
+  times = pd.to_datetime(
+/home/749c4c89-469c-4d4a-9ce4-9feffea0504a/.local/lib/python3.11/site-packages/stackstac/prepare.py:408: UserWarning: The argument 'infer_datetime_format' is deprecated and will be removed in a future version. A strict version of it is now the default, see https://pandas.pydata.org/pdeps/0004-consistent-to-datetime-parsing.html. You can safely remove this argument.
+  times = pd.to_datetime(
+
+
+
+ + + + + + + + + + + + + + +
<xarray.DataArray 'stackstac-b814a604da3396a4e43965fd3693671a' (time: 1,
+                                                                band: 3,
+                                                                y: 713, x: 1145)>
+dask.array<getitem, shape=(1, 3, 713, 1145), dtype=float64, chunksize=(1, 1, 606, 860), chunktype=numpy.ndarray>
+Coordinates: (12/54)
+  * time                                     (time) datetime64[ns] 2022-07-12...
+    id                                       (time) <U24 'S2B_32TPS_20220712_...
+  * band                                     (band) <U5 'red' 'green' 'blue'
+  * x                                        (x) float64 6.733e+05 ... 6.848e+05
+  * y                                        (y) float64 5.155e+06 ... 5.148e+06
+    instruments                              <U3 'msi'
+    ...                                       ...
+    proj:shape                               object {10980}
+    gsd                                      int64 10
+    common_name                              (band) <U5 'red' 'green' 'blue'
+    center_wavelength                        (band) float64 0.665 0.56 0.49
+    full_width_half_max                      (band) float64 0.038 0.045 0.098
+    epsg                                     int64 32632
+Attributes:
+    spec:        RasterSpec(epsg=32632, bounds=(600000.0, 5090220.0, 709800.0...
+    crs:         epsg:32632
+    transform:   | 10.00, 0.00, 600000.00|\n| 0.00,-10.00, 5200020.00|\n| 0.0...
+    resolution:  10.0
+
+

Visualize the RGB bands of our sample dataset:

+
+
+
data = datacube.execute()
+data[0].plot.imshow()
+
+
+
+
+
/home/749c4c89-469c-4d4a-9ce4-9feffea0504a/.local/lib/python3.11/site-packages/stackstac/prepare.py:408: UserWarning: The argument 'infer_datetime_format' is deprecated and will be removed in a future version. A strict version of it is now the default, see https://pandas.pydata.org/pdeps/0004-consistent-to-datetime-parsing.html. You can safely remove this argument.
+  times = pd.to_datetime(
+Clipping input data to the valid range for imshow with RGB data ([0..1] for floats or [0..255] for integers).
+
+
+
<matplotlib.image.AxesImage at 0x7fee562919d0>
+
+
+../../_images/ad20400cbef6a957fb38b6370e9c06eb1aeacf80528bdef6ecce1eca40faef05.png +
+
+
+

Apply an arithmetic formula#

+

We would like to improve the previous visualization, rescaling all the pixels between 0 and 1.

+

We can use apply in combination with other math processes.

+
+
+
from openeo.processes import linear_scale_range
+input_min = -0.1
+input_max = 0.2
+output_min = 0
+output_max = 1
+
+def rescale(x):
+    return linear_scale_range(x,input_min,input_max,output_min,output_max)
+
+scaled_data = datacube.apply(rescale)
+scaled_data
+
+
+
+
+
+ + + + +
+
+

Visualize the result and see how apply scaled the data resulting in a more meaningful visualization:

+
+
+
scaled_data_xr = scaled_data.execute()
+scaled_data_xr[0].plot.imshow()
+
+
+
+
+
/home/749c4c89-469c-4d4a-9ce4-9feffea0504a/.local/lib/python3.11/site-packages/stackstac/prepare.py:408: UserWarning: The argument 'infer_datetime_format' is deprecated and will be removed in a future version. A strict version of it is now the default, see https://pandas.pydata.org/pdeps/0004-consistent-to-datetime-parsing.html. You can safely remove this argument.
+  times = pd.to_datetime(
+
+
+
<matplotlib.image.AxesImage at 0x7fee57f68210>
+
+
+../../_images/10637a2942d7af8059acf16b3458023cf8837398b64d5dc6c86964d7993be114.png +
+
+
+
+
+ + + + +
+ + + + + + + + +
+ + + + +
+ + +
+ + + +
+
+
+ + + + + + + + \ No newline at end of file diff --git a/2.3_data_access/exercises/23_data_access_filter.html b/2.3_data_access/exercises/23_data_access_filter.html new file mode 100644 index 0000000..161c141 --- /dev/null +++ b/2.3_data_access/exercises/23_data_access_filter.html @@ -0,0 +1,646 @@ + + + + + + + + + + + 2.3 Data Access and Basic Processing — Cubes & Clouds - Cloud Native Open Data Sciences for Earth Observation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + +
+ +
+ + + + + +
+
+ + + + + + +
+ + + +
+ +
+
+ +
+
+ +
+ +
+ +
+ + +
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + + +
+

2.3 Data Access and Basic Processing

+ +
+ +
+
+ + + + +
+ +

Cubes & Clouds logo

+
+

2.3 Data Access and Basic Processing#

+
+

Filter Operators#

+

When interacting with large data collections, it is necessary to keep in mind that it’s not possible to load everything!

+

Therefore, we always have to define our requirements in advance and apply them to the data using filter operators.

+

Let’s start again with the same sample data from the Sentinel-2 STAC Collection with an additional filter.

+
+

Properties Filter#

+

When working with optical data like Sentinel-2, most of the times we would like to discard cloudy acquisitions as soon as possible.

+

We can do it using a property filter: in this case we want to keep only the acquisitions with less than 50% cloud coverage.

+
+
+
properties = {"eo:cloud_cover": dict(lt=50)}
+
+
+
+
+
+
+
import openeo
+from openeo.local import LocalConnection
+local_conn = LocalConnection('')
+
+url = "https://earth-search.aws.element84.com/v1/collections/sentinel-2-l2a"
+spatial_extent = {"west": 11.1, "east": 11.5, "south": 46.1, "north": 46.5}
+
+datacube = local_conn.load_stac(url=url,
+                    spatial_extent=spatial_extent,
+                    properties=properties)
+datacube.execute()
+
+
+
+
+
+
+

Temporal filter#

+

To slice along time the data collection with openEO, we can use the filter_temporal process.

+
+
+
temporal_extent = ["2022-05-10T00:00:00Z","2022-06-30T00:00:00Z"]
+temporal_slice = datacube.filter_temporal(temporal_extent)
+temporal_slice.execute()
+
+
+
+
+

After running the previous cell, it is visible that the result has less elements (or labels) in the temporal dimension time.

+

Additionally, the size of the selected data reduced a lot.

+

Quiz hint: look carefully at the dimensions of the resulting datacube!

+
+
+

Spatial filter#

+

To slice along the spatial dimensions the data collection with openEO, we can use filter_bbox or filter_spatial processes.

+

The filter_bbox process is used with a set of coordinates:

+
+
+
spatial_extent = {"west": 11.259613, "east": 11.406212, "south": 46.461019, "north": 46.522237}
+spatial_slice = datacube.filter_bbox(spatial_extent)
+spatial_slice.execute()
+
+
+
+
+

Quiz hint: look carefully at the dimensions of the loaded datacube!

+
+
+

Bands filter#

+

To slice along the bands dimension, keeping only the necessary bands, we can use the filter_bands process.

+
+
+
bands = ["red","green","blue"]
+bands_slice = datacube.filter_bands(bands)
+bands_slice.execute()
+
+
+
+
+
+
+
+ + + + +
+ + + + + + + + +
+ + + + + + + +
+ + + +
+
+
+ + + + + + + + \ No newline at end of file diff --git a/2.3_data_access/exercises/23_data_access_lazy_loading.html b/2.3_data_access/exercises/23_data_access_lazy_loading.html new file mode 100644 index 0000000..8fd8ed1 --- /dev/null +++ b/2.3_data_access/exercises/23_data_access_lazy_loading.html @@ -0,0 +1,592 @@ + + + + + + + + + + + 2.3 Data Access and Basic Processing — Cubes & Clouds - Cloud Native Open Data Sciences for Earth Observation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + +
+ +
+ + + + + +
+
+ + + + + + +
+ + + +
+ +
+
+ +
+
+ +
+ +
+ +
+ + +
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + + +
+

2.3 Data Access and Basic Processing

+ +
+
+ +
+

Contents

+
+ +
+
+
+ + + + +
+ +

Cubes & Clouds logo

+
+

2.3 Data Access and Basic Processing#

+

The exercise will use the openEO Python Client Side Processing functionality, which allows to experiment using openEO without a connection to an openEO back-end.

+

Quiz hint: remeber this information for the final quiz!

+
+

Lazy data loading#

+

When accessing data using an API, most of the time the data is lazily loaded.

+

It means that only the metadata is loaded, so that it is possible to know about the data dimensions and their extents (spatial and temporal), the available bands and other additional information.

+

Let’s start with a call to the openEO process load_stac for lazily loading some Sentinel-2 data from a public STAC Collection. Please note that not every STAC Collection or Item is currently supported.

+

We need to specify an Area Of Interest (AOI) to get only part of the Collection, otherwise our code would try to load the metadata of all Sentinel-2 tiles available in the world!

+
+
+
from openeo.local import LocalConnection
+local_conn = LocalConnection('')
+
+url = "https://earth-search.aws.element84.com/v1/collections/sentinel-2-l2a"
+spatial_extent = {"west": 11.1, "east": 11.5, "south": 46.1, "north": 46.5}
+
+datacube = local_conn.load_stac(url=url,
+                    spatial_extent=spatial_extent)
+datacube
+
+
+
+
+

Calling the .execute() method, the data will be lazily loaded and an xArray.DataArray object returned.

+

Running the next cell will show the selected data content with the dimension names and their extent:

+
+
+
datacube.execute()
+
+
+
+
+

From the output of the previous cell you can notice something really interesting: the size of the selected data is more than 3 TB!

+

But you should have noticed that it was too quick to download this huge amount of data.

+

This is what lazy loading allows: getting all the information about the data in a quick manner without having to access and download all the available files.

+

Quiz hint: look carefully at the dimensions of the loaded datacube!

+
+
+ + + + +
+ + + + + + + + +
+ + + + +
+ + +
+ + + +
+
+
+ + + + + + + + \ No newline at end of file diff --git a/2.3_data_access/exercises/23_data_access_reduce.html b/2.3_data_access/exercises/23_data_access_reduce.html new file mode 100644 index 0000000..89398ce --- /dev/null +++ b/2.3_data_access/exercises/23_data_access_reduce.html @@ -0,0 +1,704 @@ + + + + + + + + + + + 2.3 Data Access and Basic Processing — Cubes & Clouds - Cloud Native Open Data Sciences for Earth Observation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + +
+ +
+ + + + + +
+
+ + + + + + +
+ + + +
+ +
+
+ +
+
+ +
+ +
+ +
+ + +
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + + +
+

2.3 Data Access and Basic Processing

+ +
+
+ +
+

Contents

+
+ +
+
+
+ + + + +
+ +

Cubes & Clouds logo

+
+

2.3 Data Access and Basic Processing#

+
+

Reduce Operators#

+

When computing statistics over time or indices based on multiple bands, it is possible to use reduce operators.

+

In openEO we can use the reduce_dimension process, which applies a reducer to a data cube dimension by collapsing all the values along the specified dimension into an output value computed by the reducer.

+

Reduce the temporal dimension to a single value, the mean for instance:

+
+
+
import openeo
+from openeo.processes import clip
+from openeo.local import LocalConnection
+local_conn = LocalConnection('')
+
+url = "https://earth-search.aws.element84.com/v1/collections/sentinel-2-l2a"
+spatial_extent = {"west": 11.259613, "east": 11.406212, "south": 46.461019, "north": 46.522237}
+temporal_extent = ["2021-05-28T00:00:00Z","2021-06-30T00:00:00Z"]
+bands = ["red","nir"]
+datacube = local_conn.load_stac(url=url,
+                                spatial_extent=spatial_extent,
+                                temporal_extent=temporal_extent,
+                                bands=bands)
+datacube = datacube.apply(lambda x: clip(x,0,10000)) # Get rid of possible negative values
+
+datacube_mean_time = datacube.reduce_dimension(dimension="time",reducer="mean")
+datacube_mean_time
+
+
+
+
+

Check what happens to the datacube inspecting the resulting xArray object:

+
+
+
datacube_mean_time.execute()
+
+
+
+
+

It is possible to reduce in the same way all the available dimensions of the datacube.

+

We can, for instance, reduce the band dimension similarly as we did for the temporal dimension:

+
+
+
datacube_mean_band = datacube.reduce_dimension(dimension="band",reducer="mean")
+
+
+
+
+

The result will now contain values resulting from the average of the bands:

+
+
+
datacube_mean_band.execute()
+
+
+
+
+

Quiz hint: look carefully at number of pixels of the loaded datacube!

+

The reducer could be again a single process, but when computing spectral indices like NDVI, NDSI etc. an arithmentical formula is used instead.

+

For instance, the NDVI formula can be expressed using a reduce_dimension process over the bands dimension:

+
+\[ NDVI = {{NIR - RED} \over {NIR + RED}} \]
+
+
+
def NDVI(data):
+    red = data.array_element(index=0)
+    nir = data.array_element(index=1)
+    ndvi = (nir - red)/(nir + red)
+    return ndvi
+
+ndvi = datacube.reduce_dimension(reducer=NDVI,dimension="band")
+ndvi_xr = ndvi.execute()
+ndvi_xr
+
+
+
+
+

Visualize a sample NDVI result:

+
+
+
%%time
+ndvi_xr[0].plot.imshow(vmin=-1,vmax=1,cmap="Greens")
+
+
+
+
+

Additionally, it is possible to reduce both spatial dimensions of the datacube at the same time.

+

To do this, we need the reduce_spatial process.

+

This time we select a smaller area of interest, to reduce the amount of downloaded data:

+
+
+
url = "https://earth-search.aws.element84.com/v1/collections/sentinel-2-l2a"
+spatial_extent = {"west": 11.31369, "east": 11.31906, "south": 46.52167, "north": 46.52425}
+temporal_extent = ["2021-01-01T00:00:00Z","2021-12-30T00:00:00Z"]
+bands = ["red","nir"]
+properties = {"eo:cloud_cover": dict(lt=15)}
+
+datacube = local_conn.load_stac(url=url,
+                                spatial_extent=spatial_extent,
+                                temporal_extent=temporal_extent,
+                                bands=bands,
+                                properties=properties)
+datacube = datacube.apply(lambda x: clip(x,0,10000)) # Get rid of possible negative values
+
+
+
+
+
+
+
datacube_spatial_median = datacube.reduce_spatial(reducer="median")
+datacube_spatial_median
+
+
+
+
+

Verify that the spatial dimensions were collapsed:

+
+
+
datacube_spatial_median.execute()
+
+
+
+
+

We can combine this spatial reducer with the previous over bands to compute a time series of NDVI values:

+
+
+
ndvi_spatial = datacube_spatial_median.reduce_dimension(reducer=NDVI,dimension="band")
+
+
+
+
+
+
+
%%time
+ndvi_spatial_xr = ndvi_spatial.execute()
+ndvi_spatial_xr = ndvi_spatial_xr.compute()
+
+
+
+
+

Remember that calling .compute() on an xarray + dask based object will load into memory the data. +In this case it will trigger the download of the data from the STAC Catalog and the processing defined as openEO process graph, computing the NDVI time series.

+

Visualize the NDVI time series:

+
+
+
ndvi_spatial_xr.where(ndvi_spatial_xr<1).plot.scatter()
+
+
+
+
+
+
+ + + + +
+ + + + + + + + +
+ + + + +
+ + +
+ + + +
+
+
+ + + + + + + + \ No newline at end of file diff --git a/2.3_data_access/exercises/23_data_access_resample.html b/2.3_data_access/exercises/23_data_access_resample.html new file mode 100644 index 0000000..3d76692 --- /dev/null +++ b/2.3_data_access/exercises/23_data_access_resample.html @@ -0,0 +1,629 @@ + + + + + + + + + + + 2.3 Data Access and Basic Processing — Cubes & Clouds - Cloud Native Open Data Sciences for Earth Observation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + +
+ +
+ + + + + +
+
+ + + + + + +
+ + + +
+ +
+
+ +
+
+ +
+ +
+ +
+ + +
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + + +
+

2.3 Data Access and Basic Processing

+ +
+ +
+
+ + + + +
+ +

Cubes & Clouds logo

+
+

2.3 Data Access and Basic Processing#

+
+

Resample Operators#

+

Sometimes we need to align the spatial or temporal dimension of two datacubes, so that they can be merged together.

+
+

resample_cube_spatial: spatial resampling Sentinel-2 to match Landsat#

+

Start importing the necessary libraries and initialize a local connection for Client-Side Processing.

+
+
+
import openeo
+from openeo.local import LocalConnection
+local_conn = LocalConnection('')
+
+
+
+
+

Create two datacubes, one for Sentinel-2 and one for Landsat

+
+
+
url = "https://earth-search.aws.element84.com/v1/collections/sentinel-2-l2a"
+
+spatial_extent = {"west": 11.4, "east": 11.42, "south": 45.5, "north": 45.52}
+temporal_extent = ["2023-06-01", "2023-06-30"]
+bands = ["red","nir"]
+
+s2_cube = local_conn.load_stac(url=url,
+   spatial_extent=spatial_extent,
+   temporal_extent=temporal_extent,
+   bands=bands
+)
+s2_cube.execute()
+
+
+
+
+
+
+
url = "https://planetarycomputer.microsoft.com/api/stac/v1/collections/landsat-c2-l2"
+bands = ["red","nir08"]
+l8_cube = local_conn.load_stac(url=url,
+                    spatial_extent=spatial_extent,
+                    temporal_extent=temporal_extent,
+                    bands=bands)
+l8_cube.execute()
+
+
+
+
+

From the previous outputs, notice the shape difference in the spatial dimensions x and y.

+

This is due to the different resolution of the two collections: 10m for Sentinel-2, 30m for Landsat.

+

Now we use the resample_cube_spatial process to resample the Sentinel-2 data to match Landsat.

+
+
+
s2_cube_30m = s2_cube.resample_cube_spatial(target=l8_cube,method="average")
+s2_cube_30m
+
+
+
+
+

Check what happens to the datacube inspecting the resulting xArray object. Now the x and y shape is the same as Landsat:

+
+
+
s2_cube_30m.execute()
+
+
+
+
+
+
+
+ + + + +
+ + + + + + + + +
+ + + + + + + +
+ + + +
+
+
+ + + + + + + + \ No newline at end of file diff --git a/2.4_formats_and_performance/2.4_formats_and_performance.html b/2.4_formats_and_performance/2.4_formats_and_performance.html new file mode 100644 index 0000000..afbb3d7 --- /dev/null +++ b/2.4_formats_and_performance/2.4_formats_and_performance.html @@ -0,0 +1,813 @@ + + + + + + + + + + + Data Formats and Performance — Cubes & Clouds - Cloud Native Open Data Sciences for Earth Observation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + +
+ +
+ + + + + +
+
+ + + + + + +
+ + + +
+ +
+
+ +
+
+ +
+ +
+ +
+ + +
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + + + + + + + +
+ +
+

Data Formats and Performance#

+
+

Learning Objectives#

+
    +
  • Understand what cloud native data formats are

  • +
  • Understand how the cloud does computing more efficiently

  • +
+
+
+

Outline#

+
    +
  • Cloud Native Data Formats

    +
      +
    • Why do we need them

    • +
    • What is there advantage over classical file formats

    • +
    • Not one format to rule them all.

    • +
    • Examples

    • +
    +
  • +
  • Performance in the cloud

    +
      +
    • Tiling

    • +
    • Scaling

    • +
    • Distributed Computing

    • +
    +
  • +
  • The Microsoft Planetary Computer Setup - State of the Art open source cloud native technology stack

    +
      +
    • ODC, STAC, xarray, dask, cogs, …

    • +
    +
  • +
+
+
+

Cloud native data formats#

+
+

What are cloud native data formats#

+

Cloud native formats or cloud-optimized formats, are file formats specifically designed to optimize the storage, access, and processing of geospatial data in cloud computing environments. These formats are tailored to leverage the scalability, flexibility, and parallel processing capabilities of cloud infrastructure, enabling efficient handling of large-scale datasets.

+

Cloud Native Data Formats

+
+

Video content in cooperation with Aimee Barciauskas (DevelopmentSeed) and Ryan Avery (DevelopmentSeed).
+“Cloud-optimised means organizing so subsets of data can be read. Ideally, the data is also compressed. Both of these factors minimize the amount of data that has to be transferred across a network.”

+
+
+
+

Characteristics of cloud native data formats#

+

Cloud-optimized means mainly optimized “read” access with partial reads and also parallel reads. Main characteristics common for cloud-optimized formats:

+
    +
  • Data Chunking: Cloud native formats employ a chunk-based organization, where the data is divided into smaller chunks or blocks. This enables parallel processing and efficient retrieval of specific portions of the data, reducing the need to access the entire dataset.

  • +
  • Internal Indexing: These formats incorporate internal indexing structures that facilitate fast spatial and attribute queries. This enables efficient data access and retrieval operations without the need for extensive scanning or processing of the entire dataset.

  • +
  • Metadata Optimization: Cloud native formats optimize metadata storage and indexing, allowing for efficient access and retrieval of metadata associated with the data at once. This supports faster discovery and interpretation of data properties and characteristics.

  • +
  • Compression and Tiling: Cloud native formats often employ advanced compression techniques to reduce storage requirements while maintaining data quality. Additionally, they utilize tiling strategies to divide the data into smaller, manageable tiles that can be independently accessed and processed.

  • +
+

HTTP Range Request allows clients to request only a specific portion or range of data instead of a complete dataset.

+
+
+

Examples of cloud native data formats#

+
    +
  • COG - Cloud-Optimized GeoTIFF (COG) is an optimized version of the GeoTIFF format. It organizes raster data into chunks, utilizes internal tiling and compression, and uses HTTP range requests for efficient data access in the cloud.

  • +
  • ZARR Zarr is a format specifically designed for storing and accessing multidimensional arrays. It supports chunking, compression, and parallel processing, making it suitable for large-scale geospatial datasets, for example, weather data. Metadata is stored externally in data files itself.

  • +
  • FlatGeoBuf Cloud optimized vector data format. It is a binary encoding format for geodata and holds a collection of Simple Features.

  • +
+ +
+
+

Available Material#

+ +
+
+
+

Scaling#

+
    +
  • Show concepts of scaling

  • +
  • Mention resource usage on cloud platforms. Track resources. Every processing has it’s cost.

  • +
+

Scaling refers to the process of increasing or decreasing the capacity or size of a system to handle a larger or smaller workload or data volume. Scaling does not necessarily means only in the direction of larger and bigger but also saving unnecessary costs in times when there is no traffic. In our context, scaling involves managing the growth of data, traffic, or processing requirements to ensure optimal performance and availability.

+
+
+

Horizontal vs vertical scaling#

+

Two classical approaches to scaling are horizontal and vertical:

+
    +
  • Horizontal scaling: Also known as scaling out, horizontal scaling involves adding more machines or nodes to distribute the workload across a larger number of resources. This could mean adding more servers or instances to handle increased traffic or data processing demands. Horizontal scaling offers the advantage of improved fault tolerance and increased capacity, as the workload is spread across multiple resources.

  • +
  • Vertical scaling: Also known as scaling up, vertical scaling involves increasing the capacity of an individual machine or resource. This can be achieved by upgrading the hardware, such as adding more powerful processors, memory, or storage, to handle the growing demands of the geospatial application. Vertical scaling is often suitable for applications with single-node architectures or when the workload cannot be easily distributed across multiple machines.

  • +
+

Both horizontal and vertical scaling have their advantages and considerations. Horizontal scaling provides better scalability and fault tolerance, as it can handle increased traffic and processing by adding more resources. However, it may require additional effort to distribute and synchronize data across multiple nodes. Vertical scaling, on the other hand, simplifies data management as all resources are contained within a single node, but it may have limitations in terms of the maximum capacity a single machine can handle.

+

In common workflows, a combination of both approaches is used to ensure optimal speed and resource utilization while being able to keep the simplicity of a workflow.

+
+
+

How to scaling#

+

There are many approaches how to handle scaling properly.

+

todo: parallel computing section

+
+

Subscription vs. On-Demand usage#

+

Subscription: A subscription model involves a fixed, recurring payment made by the user to access and utilize the cloud platform’s services over a specific period, typically monthly or annually. Under a subscription model, users typically commit to a predetermined level of resources and pay a regular fee regardless of the actual usage during that period. This model often provides cost predictability and may offer discounts or benefits for long-term commitments. Users can usually choose from various options and combinations of resources (eg. GPU, CPU, disk storage combinations).

+

Advantages of the Subscription Model:

+
    +
  • Cost Predictability: Users have a clear understanding of the ongoing costs as they pay a fixed fee.

  • +
  • Potential Cost Savings: Subscriptions may offer discounts or cost benefits for longer-term commitments.

  • +
  • Continuous Service Access: Users have continuous access to the subscribed services without the need for frequent renewal or payment management.

  • +
+

On-Demand Usage: In an on-demand model, users pay for the cloud platform’s services based on actual usage and consumption. Users are charged on a pay-as-you-go basis, where they pay for the resources or services they utilize in a given period. There are no long-term commitments or fixed fees. This model offers flexibility and scalability, allowing users to scale resources up or down as per their needs.

+

Advantages of On-Demand Usage:

+
    +
  • Flexibility: Users have the flexibility to adjust resources based on their varying demands, scaling up or down as required.

  • +
  • Cost Efficiency: Users only pay for what they use, making it suitable for workloads with unpredictable or fluctuating resource needs.

  • +
  • No Long-Term Commitments: On-demand models do not require users to commit to a specific period or predefined resource levels, allowing for agility and quick adjustments.

  • +
+

Choosing between subscription and on-demand models depends on various factors, including the nature of your workloads, budget considerations, and usage patterns. Based on this (and data availability) users can choose a platform that suits their needs best. Reviewing the pricing details is an important part before selecting a working environment.

+
+
+

Cost of scalability#

+

Direct examples of computing on a workflow +(todo: based on actual workflow)

+
+
+

Memory consumption#

+

limitations and

+
+
+

Difference between platform usage and cloud directly#

+

TODO: Is this covered already in the platform lesson? Yes +Using platforms removes complexity and adds abstraction layers

+
+
+
+

What to avoid and what are the limitations#

+

While scaling is providing many options and is essential for achieving results on a larger scale, there are some limitations to keep in mind and activities to even avoid.

+

Costs: One of the main characteristics to consider are costs of computing. Scaling resources dynamically can lead to increased costs, especially if not properly managed. It is essential to monitor resource usage and set appropriate maximum scaling policies to ensure cost optimization. Failure to do so may result in unnecessary provisioning of resources, leading to higher expenses. The purchase of many computational resources can be easy, but very costly. Code optimization is important to ensure there are no memory leaks, unnecessary data storage, and other expensive operations.

+

Data Access: In geospatial cloud workflows, one of the big challenges lies in data access and optimal data storage. The easy trap is in loading large portions of unnecessary data without applying correct filters ahead. Such data volumes can lead to more requirements on RAM or disk space resulting in higher costs of processing or longer times (and more computational time) just to load the data.

+

Accessing data as files: Geospatial data are stored in many formats as discussed in this lesson and some are more appropriate to access in the cloud. The opportunity of first evaluating metadata before loading the whole dataset is great for saving time and money.

+

Latency and Data Transfer: In distributed and scaled-out architectures, managing data transfer and minimizing latency can be crucial. Moving data between services or instances across different locations can introduce network overhead and impact application performance. Efficient data caching, or data partitioning strategies can help mitigate these challenges.

+

Scaling Limits in the platform: While cloud platforms offer high scalability, there are still practical limits to consider. Every service or resource has its scalability limits, such as maximum instance count, storage capacity, or network throughput. It is important to understand these limitations and design your programs and applications accordingly.

+

To mitigate these challenges and limitations, it’s advisable to thoroughly plan and architect your application for scalability, leverage cloud-native tools and services, monitor resource usage and costs, and regularly test and optimize your scaling strategies. Additionally, staying updated with the latest advancements in cloud technologies and best practices will help you navigate the complexities of cloud-native scaling more effectively.

+
+

Animated Content: Tiling and application (drag and drop)#

+
+
+
+

Quiz#

+

What are cloud native data formats in EO and GIS

+
[(X)] Cloud native data formats in EO should be compatible to cloud services (APIs, http requests, cloud storage), enable fast viewing and access to spatial sub regions.
+[( )] Cloud native data formats in EO are exclusively designed to be compressed as much as possible, so that the least amount of storage space is necessary.
+[( )] Cloud native data formats in EO have to be human readable when you open them in a text editor.
+
+
+

Connect the cloud native data format and it’s predecessor to it’s spatial data type (https://www.ogc.org/blog-article/towards-a-cloud-native-geospatial-standards-baseline/, (https://cholmes.medium.com/an-overview-of-cloud-native-vector-c223845638e0)

+
    +
  • [[raster] [n-dimensional raster] [vector]]

  • +
  • [( ) ( ) (X) ] Shapefile

  • +
  • [( ) (X) ( ) ] Zarr

  • +
  • [( ) ( ) (X) ] GeoParquet/Arrow

  • +
  • [( ) ( ) (X) ] Flatgeobuff

  • +
  • [(X) ( ) ( ) ] GeoTIFF

  • +
  • [( ) (X) ( ) ] NetCDF

  • +
  • [(X) ( ) ( ) ] Cloud Optimized GeoTIFF (COG)

  • +
+

Lazy-loading is essential when working with large data collections, why?

+
+
+

Compression Quiz#

+

Consider a cloud provider, that should decide if compressing the data on its storage would let it spare money.

+

If the compression process of a COG takes 0.05 CPU hour every 1 GB of data, the total amount of COGs on the storage takes 1200 TB and one CPU hour costs 0.05€ for the first 10000 CPU hour and then 0.03€ for the rest, how much would the compression process cost?

+
[( )] 3000€
+[( )] 1200€
+[(X)] 2000€
+[( )] 2043€
+
+
+

Solution:

+
    +
  • 1 TB = 1000 GB following the international standard, see https://en.wikipedia.org/wiki/Gigabyte.

  • +
  • The amount of data on the storage is 1200 TB * 1000 GB/TB = 1200000 GB

  • +
  • If to compress 1 GB of data takes 0.05 CPU hour, to compress 1200000 GB it will take: 1200000 GB * 0.05 CPU hour / GB = 60000 CPU hour

  • +
  • The first 10000 CPU hour cost 10000 CPU hour * 0.05 €/CPU hour = 500€

  • +
  • The rest is 50000 CPU hour and it will cost 50000 CPU hour * 0.03 €/CPU hour = 1500 €

  • +
  • The total is 500 € + 1500 € = 2000 €

  • +
+

In the same scenario, now we also consider the storage maintanance cost. If each TB of storage has a maintenance cost of 0.5 € every month, how much time would it take before the compression would let the cloud provider spare money? Consider a compression rate of 70%.

+
[( )] ~ 9 months
+[( )] ~ 10 months
+[(X)] ~ 11 months
+[( )] ~ 12 months
+
+
+

Solution:

+
    +
  • Without compression, every month the storage would cost: 1200 TB * 0.5 €/TB = 600 €

  • +
  • With a compression rate of 70%, the data would use 1200 TB * 0.7 = 840 TB of disk space

  • +
  • With compression, every month the storage would cost: 840 TB * 0.5 €/TB = 420 €

  • +
  • With compression, each month it’s possible to spare 180 €.

  • +
  • Since the compression process costs 2000 €, and each month costs 180 € less with it, it would take 2000 € / 180 €/month ~= 11 months to start to spare money.

  • +
+

Calculate the volume of data needed for the snow workflow according to the collections, time steps, bands, resolutions, spatial extent selected in the previous chapter, value types, format, compression estimate, etc. (this only if we define snow workflow already here) - Don’t use snow workflow -> Set that information

+
+
+ + + + +
+ + + + + + + + +
+ + + + + + + +
+ + + +
+
+
+ + + + + + + + \ No newline at end of file diff --git a/3.1_data_processing/3.1_data_processing.html b/3.1_data_processing/3.1_data_processing.html new file mode 100644 index 0000000..0162329 --- /dev/null +++ b/3.1_data_processing/3.1_data_processing.html @@ -0,0 +1,729 @@ + + + + + + + + + + + 3.1 Data Processing — Cubes & Clouds - Cloud Native Open Data Sciences for Earth Observation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + +
+ +
+ + + + + +
+
+ + + + + + +
+ + + +
+ +
+
+ +
+
+ +
+ +
+ +
+ + +
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + + + + + + + +
+ +
+

3.1 Data Processing#

+
+

Learning Objectives#

+
    +
  • Carry out an EO workflow on a cloud platform

  • +
  • Select suitable data

  • +
  • Chain processes to form an EO processing chain/workflow

  • +
  • Visualize the results

  • +
+
+
+

Introduction#

+

In this lecture we are going to combine the knowledge and hands-on experience we have gathered so far to create a full EO workflow on a cloud platform. +We will

+
    +
  • define a research question,

  • +
  • choose and load the necessary data sources,

  • +
  • define the data cube to our needs,

  • +
  • use functions to process the data,

  • +
  • visualize the result

  • +
  • and track the resources we are consuming on the platform.

  • +
+
+
+

Case Study: Snow Cover in the Alps#

+

Introduction to EO Cloud Platforms

+
+

Video content in cooperation with Matteo Dall’Amico (MobyGIS - Waterjade) and Federico Di Paolo (MobyGIS - Waterjade).
+“How much snow is stored in that mountain, when will it melt?” We answered this question using EO cloud platforms! Have a look: EO4Alps Snow

+
+
+

Research Question#

+

Snow serves as a water reservoir and is thus important for any hydrological management activity, such as irrigation planning, drink water supply or hydro power generation. Knowing precisely, when and where snow is present is a critical source of information for these acitivities. Satellite earth observation plays an important role in describing the snow cover, both globally and in local mountain ranges. This is due to it’s ability to sense information throughout space (complete coverage of the globe) and time (repeated measurements). Our goal is to create a time series of the snow covered area of the catchment of interest. We will use this time series to compare it to the run off at the main outlet of the catchment. And study the relationship between snow dynamics and runoff.

+
+
+

Approach#

+

In this exercise we are going to derive the snow cover in an alpine catchment using Sentinel-2 data. Sentinel-2 carries an optical sensor, it is measuring the reflected light of the earths surface in differenct wavelenghts. At a 20 m spatial resolution and at a 6 day repeat rate. We are using the Green and SWIR bands to calculate the Normalized Difference Snow Index (NDSI). It is calculated as follows:

+
+\[\begin{split} NDSI = \\frac {GREEN - SWIR} {GREEN + SWIR} \end{split}\]
+

Snow typically has very high visible (VIS) reflectance and very low reflectance in the shortwave infrared (SWIR), a characteristic used to detect snow by distinguishing between snow and most cloud types. The NDSI expresses this phenomenon as a formula. It results in a value between -1 and 1. The higher the value is, the more probable it is that the surface is covered with snow. In order to create a binary snow map we apply a threshold of \(NDSI < 0.4\). This is a commonly used value for discriminating snowcovered and snow free areas. Then we spatially aggregate the snow free and snow covered pixels in the catchment area by summing them up. In order to get the snow covered area of the catchment we multiply the number of snow covered pixels by the pixel resolution. Additionally, we have to deal with cloud cover. We use the Sentinel-2 cloud mask that is provided with the data and exclude all images that have a cloud cover over 25 % in our study area. Ideally we should fill the gaps the clouds generate, since they are introducing uncertainty. Nevertheless, for a first try our approach should be good enough to get a general idea about the snow cover in our area of interest. In the end we receive a time series with the snow covered area in the catchment. +The approach we are using is very basic. There are many assumptions and simplifications involved. A critical analysis of the workflow and possible improvements follows in Section 3.3 Validation.

+
+
+

Workflow Description#

+
    +
  • get data:

    +
      +
    • load_collection()

    • +
    +
  • +
  • calculate ndsi:

    +
      +
    • filter_bands(), reduce_dimension()

    • +
    • creates a -1 to 1 map, 1 signifies high probability of snow

    • +
    +
  • +
  • create binary snow classification (by threshold):

    +
      +
    • gt(), mask(),

    • +
    • create a binary snow classification: 0 = no snow, 1 = snow

    • +
    +
  • +
  • cloud masking:

    +
      +
    • eq(), mask()

    • +
    • create a binary cloud mask using the S2 scene classification

    • +
    • Apply the mask to the binary snow map: 0 = no snow, 1 = snow, NA = cloud

    • +
    • This gives us the cloudfree snow covered area for our catchment as an image time series (x, y, time, sca)

    • +
    +
  • +
  • catchment statistics - cloud pixels, no snow pixels, snow pixels:

    +
      +
    • eq(), gt(), merge_cubes(), aggregate_spatial(), sum()

    • +
    • create 3 binary data cubes: pixel in catchment, pixel cloud, pixel snow.

    • +
    • merge the 3 cubes: x, y, time, band (catchment, cloud, snow)

    • +
    • aggregate_spatial: sum up the values to get the total number of pixels per time step per band (catchment, cloud, snow)

    • +
    • calculate the percentages of clouds and snow per time step.

    • +
    +
  • +
  • filter timeseries according to cloud coverage:

    +
      +
    • filter the dates that have cloud coverages > 25%

    • +
    +
  • +
  • Plot the time series of the snow covered area in the catchment.

  • +
+
+

Animated Content: Embed Process Graph#

+
+
+
+
+

Exercise#

+

Now we have covered the most important topics of our use case in theory. Let’s move on to produce some results!

+
+

:warning: The applied workflow is a simple approach used for educational reasons to learn how to use EO cloud platforms.

+
+

Exercise 3.1 Processing

+
+
+

Quiz#

+

What is the city at the outlet of the catchment? Answer in the exercise: 31_data_processing.ipynb section ‘Region of Interest’

+
[(x)] Meran
+[( )] Innsbruck
+[( )] Grenoble
+
+
+

How many images are available in the time range (“2018-02-01” and “2018-06-30”)? Answer in the exercise: 31_data_processing.ipynb section ‘Calculate Catchment Statistics’, might require you to run some additional code blocks

+
[( )] 0-20
+[( )] 21-40
+[(x)] 41-60
+
+
+

How many pixels are in the spatially aggregated data cube? (time * x * y * bands) Answer in the exercise: 31_data_processing.ipynb section ‘Calculate Catchment Statistics’

+
[( )] 50,000,000 - 100,000,000
+[(x)] 100,000,001 - 200,000,000
+[( )] 200,000,001 - 500,000,000
+
+
+

How many resources did the computation of the data cube take? Answer in the exercise: 31_data_processing.ipynb section ‘Calculate Catchment Statistics’

+
[(x)] 0 - 20
+[( )] 21 - 100
+[( )] 101 - 200
+
+
+

How many snow covered pixels are there across all time steps? Answer in the exercise: 31_data_processing.ipynb section ‘Calculate Catchment Statistics’

+
[( )] 10,000,000 - 50,000,000
+[(x)] 50,000,001 - 100,000,000
+[( )] 100,000,001 - 200,000,000
+
+
+

At which time step is the maximum snow cover reached? Answer in the exercise: 31_data_processing.ipynb section ‘Calculate Catchment Statistics’

+
[( )] 2018-02-13
+[( )] 2018-02-21
+[(x)] 2018-03-08
+
+
+

What is the number of snow covered pixels on that date? Answer in the exercise: 31_data_processing.ipynb section ‘Calculate Catchment Statistics’

+
[( )] 4,000,001 - 6,000,000
+[( )] 0 - 2,000,000
+[(x)] 2,000,001 - 4,000,000
+
+
+

What does that represent in area (km2)? Answer in the exercise: 31_data_processing.ipynb section ‘Calculate Catchment Statistics’

+
[(x)] 201 - 400
+[( )] 0 - 200
+[( )] 401 - 600
+
+
+
+
+
+
+ + + + +
+ + + + + + + + +
+ + + + + + + +
+ + + +
+
+
+ + + + + + + + \ No newline at end of file diff --git a/3.1_data_processing/3.1_exercises/31_data_processing.html b/3.1_data_processing/3.1_exercises/31_data_processing.html new file mode 100644 index 0000000..77b0d1e --- /dev/null +++ b/3.1_data_processing/3.1_exercises/31_data_processing.html @@ -0,0 +1,1729 @@ + + + + + + + + + + + 3.1 Data Processing — Cubes & Clouds - Cloud Native Open Data Sciences for Earth Observation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + +
+ +
+ + + + + +
+
+ + + + + + +
+ + + +
+ +
+
+ +
+
+ +
+ +
+ +
+ + +
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + + + + + + + +
+ +

Cubes & Clouds logo

+
+

3.1 Data Processing#

+

In this exercise we will build a complete EO workflow on a cloud platform; from data access to obtaining the result. In this example we will analyse snow cover in the Alps.

+

We are going to follow these steps in our analysis:

+
    +
  • Load satellite collections

  • +
  • Specify the spatial, temporal extents and the features we are interested in

  • +
  • Process the satellite data to retrieve snow cover information

  • +
  • aggregate information to get catchment statistics over time

  • +
  • Visualize and analyse the results

  • +
+

More information on the openEO Python Client: https://open-eo.github.io/openeo-python-client/index.html

+
+

Libraries#

+

We start by creating the shared folders and data files needed to complete the exercise using the following shell commands

+
+
+
!cp -r $DATA_PATH/31_results/ $HOME/
+!cp -r $DATA_PATH/31_data/ $HOME/
+
+
+
+
+
+
+
# platform libraries
+import openeo
+
+# utility libraries
+from datetime import date
+import numpy as np
+import xarray as xr
+import rioxarray
+import json
+import pandas as pd
+import matplotlib.pyplot as plt
+import geopandas as gpd
+import leafmap.foliumap as leafmap
+
+
+
+
+
+
+

Connect to a cloud platform#

+

Connect to the Copernicus Dataspace Ecosystem. Being connected allows for data discovery.

+
+
+
conn = openeo.connect('https://openeo.dataspace.copernicus.eu/')
+
+
+
+
+

And login. Being logged in allows to use the full range of functionality including processing!

+
+
+
conn.authenticate_oidc()
+
+
+
+
+
Authenticated using refresh token.
+
+
+
<Connection to 'https://openeo.dataspace.copernicus.eu/openeo/1.2/' with OidcBearerAuth>
+
+
+
+
+

Check if the login worked.

+
+
+
conn.describe_account()
+
+
+
+
+
+
+

Region of Interest#

+

Our region of interest is the Val Passiria Catchment in the South Tyrolian Alps (Italy). Let’s load the catchment area.

+
+
+
catchment_outline = gpd.read_file('31_data/catchment_outline.geojson')
+
+
+
+
+
+
+
center = (float(catchment_outline.centroid.y), float(catchment_outline.centroid.x))
+m = leafmap.Map(center=center, zoom=10)
+m.add_vector('31_data/catchment_outline.geojson', layer_name="catchment")
+m
+
+
+
+
+
+
+

Quiz hint: Look closely at the end of the displayed catchment area to identify the outlet

+
+
+

Inspect Metadata#

+

We need to set the following configurations to define the content of the data cube we want to access:

+
    +
  • dataset name

  • +
  • band names

  • +
  • time range

  • +
  • the area of interest specifed via bounding box coordinates

  • +
  • spatial resolution

  • +
+

To select the correct dataset we can first list all the available datasets.

+
+
+
print(conn.list_collection_ids())
+
+
+
+
+
['SENTINEL3_OLCI_L1B', 'SENTINEL3_SLSTR', 'SENTINEL_5P_L2', 'SENTINEL2_L1C', 'SENTINEL2_L2A', 'SENTINEL1_GRD', 'COPERNICUS_30', 'LANDSAT8_L2']
+
+
+
+
+

We want to use the Sentinel-2 L2A product. It’s name is 'SENTINEL2_L2A'.

+

We get the metadata for this collection as follows. This is an important step to familiarize yourself with the data collection (e.g. learn the band names).

+
+
+
conn.describe_collection("SENTINEL2_L2A")
+
+
+
+
+
+ + + + +
+
+
+
+

Define a workflow#

+

We will define our workflow now. And chain all the processes together we need for analyzing the snow cover in the catchment.

+
    +
  • Load a data cube with specific filters

  • +
  • Calculate the Normalized Difference Snow Index

  • +
  • Classify snow and no-snow using a threshold yielding the Snow Covered Area

  • +
  • Create and apply a cloud mask to remove cloudy pixels

  • +
  • Visualize one date of the snow map and crop it to the exact catchment outline

  • +
  • Calculate catchment statistics to get a timeseries on snow cover and cloud cover

  • +
  • Filter the time series by the cloud percentage and visualize the time series graph

  • +
  • +
+
+

Define the data cube#

+

We define all extents of our data cube. We use the catchment as spatial extent. As a time range we will focus on the snow melting season 2018, in particular from Febraury to June 2018. We are only interested in the green and short wave infrared band, band 3 and 11. And we directly remove time slices with a cloud cover >= 90 %.

+
+
+
bbox = catchment_outline.bounds.iloc[0]
+bbox
+
+
+
+
+
minx    11.020833
+miny    46.653599
+maxx    11.366667
+maxy    46.954167
+Name: 0, dtype: float64
+
+
+
+
+
+
+
from openeo.processes import lte
+collection      = 'SENTINEL2_L2A'
+spatial_extent  = {'west':bbox[0],'east':bbox[2],'south':bbox[1],'north':bbox[3],'crs':4326}
+temporal_extent = ["2018-02-01", "2018-06-30"]
+bands           = ['B03', 'B11', 'SCL']
+properties={"eo:cloud_cover": lambda x: lte(x, 90)}
+
+
+
+
+
+
+

Load the data cube#

+

We have defined the extents we are interested in. Now we use these definitions to load the data cube.

+
+
+
s2 = conn.load_collection(collection,
+                          spatial_extent=spatial_extent,
+                          bands=bands,
+                          temporal_extent=temporal_extent,
+                          properties=properties)
+
+
+
+
+
+
+

NDSI - Normalized Difference Snow Index#

+

The Normalized Difference Snow Index (NDSI) is computed as:

+
+\[ NDSI = \frac {GREEN - SWIR} {GREEN +SWIR} \]
+

We have created a Sentinel-2 data cube with bands B03 (green) and B11 (SWIR). We will use the green and SWIR band to calculate a the NDSI. This process is reducing the band dimension of the data cube to generate new information, the NDSI.

+
+
+
green = s2.band("B03")
+swir = s2.band("B11")
+ndsi = (green - swir) / (green + swir)
+ndsi
+
+
+
+
+
+ + + + +
+
+
+
+

Creating the Snow Map#

+

So far we have a time series map of NDSI values. We are intereseted in the presence of snow though. Ideally in a binary classification: snow and no snow. +To achieve this we are setting a threshold of 0.4 on the NDSI. This gives us a binary snow map.

+
+
+
snowmap = ( ndsi > 0.4 ) * 1.0  # the addition of "* 1.00" is a workaround for a backend specific implementation problem. Once solved on the CDSE openEO backend it could be removed
+snowmap
+
+
+
+
+
+ + + + +
+
+
+
+

Creating a cloud mask#

+

We are going to use the Scene Classification of Sentinel-2, called the “SCL” band, for creating a cloud mask and then applying it to the NDSI. The values we are interested in are: 8 = cloud medium probability, 9 = cloud high probability, 3 = cloud shadow

+

Here is more information on the Scene Classification of Sentinel-2: https://sentinels.copernicus.eu/web/sentinel/technical-guides/sentinel-2-msi/level-2a/algorithm-overview

+
+
+
scl_band = s2.band("SCL")
+cloud_mask = ( (scl_band == 8) | (scl_band == 9) | (scl_band == 3) ) * 1.0
+cloud_mask
+
+
+
+
+
+ + + + +
+
+

The SCL layer has a ground sample distance of 20 meter while the other bands have 10 meter GSD

+
+
+

Applying the cloud mask to the snowmap#

+

We will mask out all pixels that are covered by clouds. This will result in: 0 = no_snow, 1 = snow, 2 = cloud

+
+
+
snowmap_cloudfree = snowmap.mask(cloud_mask,replacement=2) # replacement is null by default
+snowmap_cloudfree
+
+
+
+
+
+ + + + +
+
+
+
+

Mask Polygon: From Bounding Box to Shape#

+

We have a cloud masked snow map data cube now. In order to keep only pixels within the exact chatchment boundaries we mask to the outline of the catchment. Values outside of the boundaries are set to NA.

+
+
+
catchment_outline['geometry'][0]
+
+
+
+
+../../_images/bc0a71e445da3d37f79aa0b283ea9804c6d6f3a3272c0f852a2a8b01f89a1208.svg +
+
+
+
+
snowmap_cloudfree_masked = snowmap_cloudfree.mask_polygon(catchment_outline['geometry'][0])
+
+
+
+
+
+
+

Visualize one time step of the timeseries#

+

Let’s have a first look at a time slice of our snow map. So far we have not computed anything. We have only defined a set of functions that are going to be applied in sequence. This makes up our workflow or processing graph. +To reduce the data volume which we are going to download we are only selecting one time step of our data cube.

+

In order to start the processing we have to tell the cloud platform specifically that we want to execute our workflow. In this case we want to start the processing directly without registering a job on the backend. This solution is good for small amounts of data. For larger processing tasks batch jobs are preferred (we’ll do that later).

+
+
+
snowmap_cloudfree_1d = snowmap_cloudfree_masked.filter_temporal('2018-02-10', '2018-02-12')
+snowmap_cloudfree_1d.download('31_results/snowmap_cloudfree_1d.nc')
+
+
+
+
+

Once the processing is done on the cloud and the data is downloaded we can load the file into our working environment and plot it!

+

The area of interest is spread across two S2 tiles. This is visibile in the northern part of the plot because we chose one specific acquisition date where there is not data available for the northern tile.

+
+
+
xr.open_dataarray('31_results/snowmap_cloudfree_1d.nc',decode_coords="all")[0].plot.imshow()
+
+
+
+
+
<matplotlib.image.AxesImage at 0x7f755a476210>
+
+
+../../_images/0686b2053be9179d4a60c51b825d8e9ddc63f1dc1dbcf728f74d290c6a353d64.png +
+
+
+
+
+

Calculate Catchment Statistics#

+

We are looking at the snow cover of a region over time and want to extract aggregated catchment statistics on snow cover and cloud cover. We do this by counting all the pixels in the catchment, counting the pixels that are covered by snow and the pixels covered by clouds.

+

Ultimately we are interested in the snow covered area (SCA) within the catchment. We count all snow covered pixels within the catchment for each time step. Multiplied by the pixel size that would be the snow covered area. The snow pixel count divided by the total number of pixels in the catchment is the percentage of pixels covered with snow. We will use this number.

+

We need to make sure that the information content meets our expected quality. Therefore, we calculate the cloud percentage for the catchment for each timestep. We use this information to filter the timeseries. All timesteps that have a cloud coverage of over 25% will be discarded.

+

We are going to

+
    +
  • Get number of pixels in the catchment: total, clouds, snow.

  • +
  • Combine the three aggregated pixel counts into one data cube.

  • +
  • Calculate cloud and snow percentages

  • +
  • Filter cloudy time steps with the cloud percentage

  • +
  • Plot the resulting time series

  • +
+

Quiz hint: remember the pixel counts here for the final exercise

+
+

Count pixels and aggregate spatially to the catchment#

+
+
+
# number of all pixels
+n_catchment = ((snowmap_cloudfree > -1) * 1.0).add_dimension(name="bands",type="bands",label="n_catchment")
+
+# number of cloud pixels (no function needed, mask already created before)
+n_cloud = cloud_mask.add_dimension(name="bands",type="bands",label="n_cloud")
+
+# number of snow pixels
+n_snow = ((snowmap_cloudfree == 1) * 1.0).add_dimension(name="bands",type="bands",label="n_snow")
+
+# combine the binary data cubes into one data cube
+n_catchment_cloud_snow = n_catchment.merge_cubes(n_cloud).merge_cubes(n_snow)
+
+# aggregate to catchment
+n_pixels = n_catchment_cloud_snow.aggregate_spatial(geometries = catchment_outline['geometry'][0], reducer = 'sum')
+n_pixels
+
+
+
+
+
+ + + + +
+
+
+
+

Register a batch job for processing#

+

We are starting the processing now with a batch job. This registers our job on the backend in our user space and assigns further information to the job, such as an ID, the job status, the process graph and further metadata. First we specifiy the end of our process graph with save_result() and specifiy the format (since we aggregated over the spatial dimension we will receive three arrays of data. So JSON is a suitable format). Then we create the batch job and start it.

+
+
+
# Define the end of the process graph and the output format
+n_pixels_json = n_pixels.save_result(format="JSON")
+# Create a batch job
+job = n_pixels_json.create_job(title="n_pixels_json")
+# start the job and wait till it finishes
+job.start_and_wait()
+
+
+
+
+
0:00:00 Job 'j-240215519a4341dca10085027af0ef92': send 'start'
+0:00:18 Job 'j-240215519a4341dca10085027af0ef92': created (progress N/A)
+0:00:24 Job 'j-240215519a4341dca10085027af0ef92': created (progress N/A)
+0:00:30 Job 'j-240215519a4341dca10085027af0ef92': created (progress N/A)
+0:00:39 Job 'j-240215519a4341dca10085027af0ef92': running (progress N/A)
+0:00:49 Job 'j-240215519a4341dca10085027af0ef92': running (progress N/A)
+0:01:08 Job 'j-240215519a4341dca10085027af0ef92': running (progress N/A)
+0:01:24 Job 'j-240215519a4341dca10085027af0ef92': running (progress N/A)
+0:01:44 Job 'j-240215519a4341dca10085027af0ef92': running (progress N/A)
+0:02:08 Job 'j-240215519a4341dca10085027af0ef92': running (progress N/A)
+0:02:38 Job 'j-240215519a4341dca10085027af0ef92': running (progress N/A)
+0:03:16 Job 'j-240215519a4341dca10085027af0ef92': running (progress N/A)
+0:04:12 Job 'j-240215519a4341dca10085027af0ef92': running (progress N/A)
+0:05:11 Job 'j-240215519a4341dca10085027af0ef92': running (progress N/A)
+0:06:20 Job 'j-240215519a4341dca10085027af0ef92': running (progress N/A)
+0:07:21 Job 'j-240215519a4341dca10085027af0ef92': running (progress N/A)
+0:08:30 Job 'j-240215519a4341dca10085027af0ef92': running (progress N/A)
+0:09:30 Job 'j-240215519a4341dca10085027af0ef92': finished (progress N/A)
+
+
+
+ + + + +
+
+

Now we can check the status of our job. We can download the result once the job has finished.

+
+
+
job.status()
+
+
+
+
+
'finished'
+
+
+
+
+
+
+
if job.status() == "finished":
+    results = job.get_results()
+    results.download_files("31_results/")
+
+
+
+
+

Quick hint: take a look at the job description: e.g. job.describe_job()

+
+
+

Load the resulting time series#

+

Let’s load the result. It contains the total number of pixels in the catchment, number of cloud and snow pixels.

+
+
+
# load the result
+with open("31_results/timeseries.json","r") as file:
+    n_pixels_json = json.load(file)
+
+
+
+
+
+
+
# check the first 5 entries to check the data structure.
+list(n_pixels_json.items())[:3] # careful unsorted dates due to JSON format
+
+
+
+
+
[('2018-02-16T00:00:00Z', [[4201607.0, 1809140.0, 1479720.0]]),
+ ('2018-04-17T00:00:00Z', [[4201607.0, 821551.0, 2215174.0]]),
+ ('2018-05-07T00:00:00Z', [[4201607.0, 2175370.0, 710901.0]])]
+
+
+
+
+

Quick hint: what is the length of the time series JSON? +len(n_pixels_json)

+

Now we do some data wrangling to get a structured data frame.

+
+
+
# Create a Pandas DataFrame to hold the values
+dates = [k for k in n_pixels_json]
+n_catchment_vals = [n_pixels_json[k][0][0] for k in n_pixels_json]
+n_cloud_vals = [n_pixels_json[k][0][1] for k in n_pixels_json]
+n_snow_vals = [n_pixels_json[k][0][2] for k in n_pixels_json]
+
+data = {
+        "time":pd.to_datetime(dates),
+        "n_catchment_vals":n_catchment_vals,
+        "n_cloud_vals":n_cloud_vals,
+        "n_snow_vals":n_snow_vals
+       }
+df = pd.DataFrame(data=data).set_index("time")
+# Sort the values by date
+df = df.sort_values(axis=0,by="time")
+df[:3]
+
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
n_catchment_valsn_cloud_valsn_snow_vals
time
2018-02-06 00:00:00+00:001489702.0253542.0619519.0
2018-02-08 00:00:00+00:004201607.0183099.02907006.0
2018-02-11 00:00:00+00:004201607.060947.02943057.0
+
+
+
+
+
df.n_snow_vals.sum()
+
+
+
+
+
55525116.0
+
+
+
+
+
+
+

Calculate the cloud percentage for filtering time steps#

+

Divide the number of cloudy pixels by the number of total pixels = cloud percentage

+
+
+
perc_cloud = df["n_cloud_vals"].values / df["n_catchment_vals"].values * 100
+df["perc_cloud"] = perc_cloud
+df[:3]
+
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
n_catchment_valsn_cloud_valsn_snow_valsperc_cloud
time
2018-02-06 00:00:00+00:001489702.0253542.0619519.017.019646
2018-02-08 00:00:00+00:004201607.0183099.02907006.04.357833
2018-02-11 00:00:00+00:004201607.060947.02943057.01.450564
+
+
+

Quick hint: The sum of the n_catchment_vals should give an overall idea of the total number of pixels in the datacube for the whole time-series df.n_catchment_vals.sum()

+

Quick hint: a filter of the snow values can give an idea of when the maximum snow cover occurred df.where(df.n_snow_vals == df.n_snow_vals.max())

+

Quick hint: a simplified approach for converting from pixel count to square kilometres is to use this simplified formula::

+

\({{Area (km^2)} = (\frac{Spatial resolution (meters/pixel)^2}{1,000,000})\times{\text{Total pixel count}}}\)

+

Plot the timeseries and the cloud threshold of 25%. If the cloud cover is higher the timestep will be excluded later on.

+

Plot the cloud percentage with the threshold.

+
+
+
df.plot(y="perc_cloud",rot=45,kind="line",marker='o')
+plt.axhline(y = 25, color = "r", linestyle = "-")
+plt.show()
+
+
+
+
+../../_images/9d451dee7c27ba78632f96500dcbd8ded3322e6754dfb3bdbd8fc72393dc5969.png +
+
+
+
+

Calculate the snow percentage#

+

Divide the number of snow pixels by the number of total pixels = snow percentage

+
+
+
perc_snow = df["n_snow_vals"].values / df["n_catchment_vals"].values * 100
+df["perc_snow"] = perc_snow
+df[:3]
+
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
n_catchment_valsn_cloud_valsn_snow_valsperc_cloudperc_snow
time
2018-02-06 00:00:00+00:001489702.0253542.0619519.017.01964641.586774
2018-02-08 00:00:00+00:004201607.0183099.02907006.04.35783369.187956
2018-02-11 00:00:00+00:004201607.060947.02943057.01.45056470.045985
+
+
+

Plot the unfiltered snow percentage

+
+
+
df.plot(y="perc_snow",rot=45,kind="line",marker='o')
+plt.show()
+
+
+
+
+../../_images/1aa5b0af5642e682ec765fff92a9423c0a882a48e5193616cd2404f8c22cf208.png +
+
+
+
+

Filter out cloudy time steps#

+

Keep only the dates with cloud coverage less than the threshold

+
+
+
df_filtered = df.loc[df["perc_cloud"]<25]
+
+
+
+
+
+
+

Plot and save the cloud free snow percentage time series#

+

Plot the cloud filtered snow percentage

+
+
+
df_filtered.plot(y="perc_snow",rot=45,kind="line",marker='o')
+plt.show()
+
+
+
+
+../../_images/2b065b2fdcd1418d54726a6b41dd1f5a1aba4c6f272232c778a61a0bde56b5d9.png +
+
+

Save the cloud filtered snow percentage

+
+
+
df_filtered.to_csv("31_results/filtered_snow_perc.csv")
+
+
+
+
+
+
+
+ + + + +
+ + + + + + + + +
+ + + + + + + +
+ + + +
+
+
+ + + + + + + + \ No newline at end of file diff --git a/3.1_data_processing/3.1_exercises/_alternatives/31_data_processing_openEO_Platform.html b/3.1_data_processing/3.1_exercises/_alternatives/31_data_processing_openEO_Platform.html new file mode 100644 index 0000000..82b19aa --- /dev/null +++ b/3.1_data_processing/3.1_exercises/_alternatives/31_data_processing_openEO_Platform.html @@ -0,0 +1,1697 @@ + + + + + + + + + + + 3.1 Data Processing — Cubes & Clouds - Cloud Native Open Data Sciences for Earth Observation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + +
+ +
+ + + + + +
+
+ + + + + + +
+ + + +
+ +
+
+ +
+
+ +
+ +
+ +
+ + +
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + + + + + + + +
+ +

Cubes & Clouds logo

+
+

3.1 Data Processing#

+

In this exercise we will build a complete EO workflow on a cloud platform; from data access to obtaining the result. In this example we will analyse snow cover in the Alps.

+

We are going to follow these steps in our analysis:

+
    +
  • Load satellite collections

  • +
  • Specify the spatial, temporal extents and the features we are interested in

  • +
  • Process the satellite data to retrieve snow cover information

  • +
  • aggregate information in data cubes

  • +
  • Visualize and analyse the results

  • +
+

More information on the openEO Python Client: https://open-eo.github.io/openeo-python-client/index.html

+
+

Libraries#

+
+
+
%%capture
+pip install openeo rioxarray geopandas leafmap h5netcdf netcdf4
+
+
+
+
+
+
+
# platform libraries
+import openeo
+
+# utility libraries
+from datetime import date
+import numpy as np
+import xarray as xr
+import rioxarray
+import json
+import pandas as pd
+import matplotlib.pyplot as plt
+import geopandas as gpd
+import leafmap.foliumap as leafmap
+
+
+
+
+
+
+

Login#

+

Connect to the copernicus dataspace ecosystem.

+
+
+
conn = openeo.connect('https://openeo.cloud/')
+
+
+
+
+

And login

+
+
+
conn.authenticate_oidc()
+
+
+
+
+
Authenticated using refresh token.
+
+
+
<Connection to 'https://openeocloud.vito.be/openeo/1.0.0/' with OidcBearerAuth>
+
+
+
+
+

Check if the login worked.

+
+
+
conn.describe_account()
+
+
+
+
+
{'default_plan': 'generic',
+ 'info': {'oidc_userinfo': {'eduperson_assurance': ['https://refeds.org/assurance/IAP/low',
+    'https://aai.egi.eu/LoA#Substantial'],
+   'eduperson_entitlement': ['urn:mace:egi.eu:group:vo.notebooks.egi.eu:role=member#aai.egi.eu',
+    'urn:mace:egi.eu:group:vo.notebooks.egi.eu:role=vm_operator#aai.egi.eu',
+    'urn:mace:egi.eu:group:vo.openeo.cloud:role=early_adopter#aai.egi.eu',
+    'urn:mace:egi.eu:group:vo.openeo.cloud:role=platform_developer#aai.egi.eu',
+    'urn:mace:egi.eu:group:vo.openeo.cloud:role=employee#aai.egi.eu',
+    'urn:mace:egi.eu:group:vo.openeo.cloud:role=member#aai.egi.eu',
+    'urn:mace:egi.eu:group:vo.openeo.cloud:role=vm_operator#aai.egi.eu'],
+   'eduperson_scoped_affiliation': ['employee@eurac.edu', 'member@eurac.edu'],
+   'email': 'michele.claus@eurac.edu',
+   'email_verified': True,
+   'sub': '28860add33a3a705c0092d54ae94177752ba9fa4bf00a25b24864ea95b9e0025@egi.eu',
+   'voperson_verified_email': ['michele.claus@eurac.edu']}},
+ 'name': 'michele.claus@eurac.edu',
+ 'roles': ['EarlyAdopter', 'PlatformDeveloper'],
+ 'user_id': '28860add33a3a705c0092d54ae94177752ba9fa4bf00a25b24864ea95b9e0025@egi.eu'}
+
+
+
+
+
+
+

Region of Interest#

+

Load the catchment area.

+
+
+
catchment_outline = gpd.read_file('../data/catchment_outline.geojson')
+
+
+
+
+
+
+
center = (float(catchment_outline.centroid.y), float(catchment_outline.centroid.x))
+m = leafmap.Map(center=center, zoom=10)
+m.add_vector('../data/catchment_outline.geojson', layer_name="catchment")
+m
+
+
+
+
+
+
+
+
+

Inspect Metadata#

+

We need to set the following configurations to define the content of the data cube we want to access:

+
    +
  • dataset name

  • +
  • band names

  • +
  • time range

  • +
  • the area of interest specifed via bounding box coordinates

  • +
  • spatial resolution

  • +
+

To select the correct dataset we can first list all the available datasets.

+
+
+
conn.list_collections()
+
+
+
+
+
+ + + + +
+
+

We want to use the Sentinel-2 L2A product. It’s name is 'SENTINEL2_L2A'.

+

We get the metadata for this collection as follows.

+
+
+
conn.describe_collection("SENTINEL2_L2A")
+
+
+
+
+
+ + + + +
+
+
+
+

Define a workflow#

+

We will define our workflow now. And chain all the processes together we need for analyzing the snow cover in the catchment.

+
+

Define the data cube#

+

We define all extents of our data cube. We use the catchment as spatial extent. As a time range we will focus on the snow melting season 2018, in particular from Febraury to June 2018.

+
+
+
bbox = catchment_outline.bounds.iloc[0]
+bbox
+
+
+
+
+
minx    11.020833
+miny    46.653599
+maxx    11.366667
+maxy    46.954167
+Name: 0, dtype: float64
+
+
+
+
+
+
+
from openeo.processes import lte
+collection      = 'SENTINEL2_L2A'
+spatial_extent  = {'west':bbox[0],'east':bbox[2],'south':bbox[1],'north':bbox[3],'crs':4326}
+temporal_extent = ["2022-02-01", "2022-06-30"]
+bands           = ['B03', 'B11']
+properties={"eo:cloud_cover": lambda x: lte(x, 90)}
+
+
+
+
+
+
+

Load the data cube#

+

We have defined the extents we are interested in. Now we use these definitions to load the data cube.

+
+
+
s2 = conn.load_collection(collection,
+                          spatial_extent=spatial_extent,
+                          bands=bands,
+                          temporal_extent=temporal_extent,
+                          properties=properties)
+
+
+
+
+
+
+

NDSI - Normalized Difference Snow Index#

+

The Normalized Difference Snow Index (NDSI) is computed as:

+
+\[ NDSI = \frac {GREEN - SWIR} {GREEN +SWIR} \]
+

We have created a Sentinel-2 data cube with bands B03 (green), B11 (SWIR) and the cloud mask (CLM). We will use the green and SWIR band to calculate a the NDSI. This process is reducing the band dimension of the data cube to generate new information, the NDSI.

+
+
+
green = s2.band("B03")
+swir = s2.band("B11")
+ndsi = (green - swir) / (green + swir)
+ndsi
+
+
+
+
+
+ + + + +
+
+
+
+

Creating the Snow Map#

+

So far we have a timeseries of NDSI values. We are intereseted in the presence of snow though. Ideally in a binary classification: snow and no snow. +To achieve this we are setting a threshold of 0.42 on the NDSI. This gives us a binary snow map.

+
+
+
snowmap = ( ndsi > 0.42 ) * 1.0
+snowmap
+
+
+
+
+
+ + + + +
+
+
+
+

Creating a cloud mask#

+

We are going to use “SCL” band for creating a cloud mask and then applying it to the NDSI. +8 = cloud medium probability, 9 = cloud high probability, 3 = cloud shadow

+

Here is more information on the Scene Classification https://sentinels.copernicus.eu/web/sentinel/technical-guides/sentinel-2-msi/level-2a/algorithm-overview

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Value

Label

0

NO_DATA

1

SATURATED_OR_DEFECTIVE

2

CAST_SHADOWS

3

CLOUD_SHADOWS

4

VEGETATION

5

NOT_VEGETATED

6

WATER

7

UNCLASSIFIED

8

CLOUD_MEDIUM_PROBABILITY

9

CLOUD_HIGH_PROBABILITY

10

THIN_CIRRUS

11

SNOW or ICE

+
+
+
+
scl_cube =conn.load_collection(
+    "SENTINEL2_L2A",
+    spatial_extent=spatial_extent,
+    bands=["SCL"],
+    temporal_extent=temporal_extent,
+    max_cloud_cover=90,
+    
+)
+
+
+
+
+
+
+
scl_band = scl_cube.band("SCL")
+cloud_mask = ( (scl_band == 8) | (scl_band == 9) | (scl_band == 3) ) * 1.0
+cloud_mask
+
+
+
+
+
+ + + + +
+
+

The SCL layer has a ground sample distance of 20 meter while the other bands have 10 meter GSD

+
+
+

Applying the cloud mask to the snowmap#

+

We will mask out all pixels that are covered by clouds. This will result in: 0 = no_snow, 1 = snow, 2 = cloud

+
+
+
snowmap_cloudfree = snowmap.mask(cloud_mask,replacement=2) # replacement is null by default
+snowmap_cloudfree
+
+
+
+
+
+ + + + +
+
+
+
+

Mask Polygon: From Bounding Box to Shape#

+

Filter to the exact outline of the catchment: this should mask out the pixels outside of the catchment.

+
+
+
catchment_outline['geometry'][0]
+
+
+
+
+../../../_images/bc0a71e445da3d37f79aa0b283ea9804c6d6f3a3272c0f852a2a8b01f89a1208.svg +
+
+
+
+
snowmap_cloudfree_masked = snowmap_cloudfree.mask_polygon(catchment_outline['geometry'][0])
+
+
+
+
+
+

Visualize one time step of the timeseries#

+

Let’s download the whole image time series as a netcdf file to have a look how our first results look like

+
+
+
snowmap_cloudfree_1d = snowmap_cloudfree_masked.filter_temporal('2022-02-10', '2022-02-12')
+snowmap_cloudfree_1d.download('results/snowmap_cloudfree_1d.nc')
+
+
+
+
+
+
+
xr.open_dataarray('results/snowmap_cloudfree_1d.nc',decode_coords="all")[0].plot.imshow()
+
+
+
+
+
<matplotlib.image.AxesImage at 0x2a1cba4d390>
+
+
+../../../_images/51c9b0e69a9e653385c3ba1523b8528307837ada7c0411b4283bb49a06e61253.png +
+
+
+
+
+
+

Calculate Catchment Statistics#

+

We are looking at a region over time. We need to make sure that the information content meets our expected quality. Therefore, we calculate the cloud percentage for the catchment for each timestep. We use this information to filter the timeseries. All timesteps that have a cloud coverage of over 25% will be discarded.

+

Ultimately we are interested in the snow covered area (SCA) within the catchment. We count all snow covered pixels within the catchment for each time step. Multiplied by the pixel size that would be the snow covered area. Divided the pixel count by the total number of pixels in the catchment is the percentage of pixels covered with snow. We will use this number.

+

Get number of pixels in catchment: total, clouds, snow.

+
+
+
# number of all pixels
+n_catchment = ((snowmap_cloudfree > -1) * 1.0).add_dimension(name="bands",type="bands",label="n_catchment")
+
+# number of cloud pixels (no function needed, mask already created before)
+n_cloud = cloud_mask.add_dimension(name="bands",type="bands",label="n_cloud")
+
+# number of snow pixels
+n_snow = ((snowmap_cloudfree == 1) * 1.0).add_dimension(name="bands",type="bands",label="n_snow")
+
+# combine the binary data cubes into one data cube
+n_catchment_cloud_snow = n_catchment.merge_cubes(n_cloud).merge_cubes(n_snow)
+
+# aggregate to catchment
+n_pixels = n_catchment_cloud_snow.aggregate_spatial(geometries = catchment_outline['geometry'][0], reducer = 'sum')
+n_pixels
+
+
+
+
+
+ + + + +
+
+

Create batch job to start processing on the backend.

+
+
+
# Create a batch job
+n_pixels_json = n_pixels.save_result(format="JSON")
+job = n_pixels_json.create_job(title="n_pixels_json")
+job.start_job()
+
+
+
+
+
+ + + + +
+
+
+
+
job.status()
+
+
+
+
+
'finished'
+
+
+
+
+
+
+
if job.status() == "finished":
+    results = job.get_results()
+    results.download_files("results_openeo_platform/")
+
+
+
+
+

Load the result. It contains the number of pixels in the catchment, clouds and snow.

+

We can calculate the percentages of cloud and snow pixels in the catchment.

+
+
+
with open("results_openeo_platform/timeseries.json","r") as file:
+    n_pixels_json = json.load(file)
+
+
+
+
+
+
+
# check the first 5 entries
+list(n_pixels_json.items())[:3] # careful unsorted dates due to JSON format
+
+
+
+
+
[('2022-03-09T00:00:00Z', [[4201607.0, 24.0, 1932487.0]]),
+ ('2022-03-12T00:00:00Z', [[4201607.0, 3377768.0, 588345.0]]),
+ ('2022-04-08T00:00:00Z', [[4166981.0, 3649978.0, 121573.0]])]
+
+
+
+
+
+
+
# Create a Pandas DataFrame to contain the values
+dates = [k for k in n_pixels_json]
+n_catchment_vals = [n_pixels_json[k][0][0] for k in n_pixels_json]
+n_cloud_vals = [n_pixels_json[k][0][1] for k in n_pixels_json]
+n_snow_vals = [n_pixels_json[k][0][2] for k in n_pixels_json]
+
+data = {
+        "time":pd.to_datetime(dates),
+        "n_catchment_vals":n_catchment_vals,
+        "n_cloud_vals":n_cloud_vals,
+        "n_snow_vals":n_snow_vals
+       }
+df = pd.DataFrame(data=data).set_index("time")
+# Sort the values by date
+df = df.sort_values(axis=0,by="time")
+df[:3]
+
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
n_catchment_valsn_cloud_valsn_snow_vals
time
2022-02-02 00:00:00+00:00NaN4201607.0NaN
2022-02-05 00:00:00+00:004201607.0857590.02160594.0
2022-02-07 00:00:00+00:004166981.04023172.0152057.0
+
+
+

Divide the number of cloudy pixels by the number of total pixels = cloud percentage

+
+
+
perc_cloud = df["n_cloud_vals"].values / df["n_catchment_vals"].values * 100
+df["perc_cloud"] = perc_cloud
+df[:3]
+
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
n_catchment_valsn_cloud_valsn_snow_valsperc_cloud
time
2022-02-02 00:00:00+00:00NaN4201607.0NaNNaN
2022-02-05 00:00:00+00:004201607.0857590.02160594.020.411000
2022-02-07 00:00:00+00:004166981.04023172.0152057.096.548844
+
+
+

Plot the timeseries and the cloud threshold of 25%. If the cloud cover is higher the timestep will be excluded later on.

+

Plot the cloud percentage with the threshold.

+
+
+
df.plot(y="perc_cloud",rot=45,kind="line",marker='o')
+plt.axhline(y = 25, color = "r", linestyle = "-")
+plt.show()
+
+
+
+
+../../../_images/0e4e98a75dd901585fe6cf23b92b857f44e24c63f265524397753fbc9a5033d3.png +
+
+

Divide the number of snow pixels by the number of total pixels = snow percentage

+
+
+
perc_snow = df["n_snow_vals"].values / df["n_catchment_vals"].values * 100
+df["perc_snow"] = perc_snow
+df[:3]
+
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
n_catchment_valsn_cloud_valsn_snow_valsperc_cloudperc_snow
time
2022-02-02 00:00:00+00:00NaN4201607.0NaNNaNNaN
2022-02-05 00:00:00+00:004201607.0857590.02160594.020.41100051.423039
2022-02-07 00:00:00+00:004166981.04023172.0152057.096.5488443.649093
+
+
+

Plot the unfiltered snow percentage

+
+
+
df.plot(y="perc_snow",rot=45,kind="line",marker='o')
+plt.show()
+
+
+
+
+../../../_images/db04e819b1f125d9e8148efa669f83226bd802a3e981b169f299e1207063b441.png +
+
+

Keep only the dates with cloud coverage less than the threshold

+
+
+
df_filtered = df.loc[df["perc_cloud"]<25]
+
+
+
+
+

Plot the cloud filtered snow percentage

+
+
+
df_filtered.plot(y="perc_snow",rot=45,kind="line",marker='o')
+plt.show()
+
+
+
+
+../../../_images/7717b2ecf809fe916f928d84b9a72ea618437dfe4b9d9b3e01366e08f8ad9122.png +
+
+

Save the cloud filtered snow percentage

+
+
+
df_filtered.to_csv("results_openeo_platform/filtered_snow_perc.csv")
+
+
+
+
+
+
+ + + + +
+ + + + + + + + +
+ + + + + + + +
+ + + +
+
+
+ + + + + + + + \ No newline at end of file diff --git a/3.1_data_processing/3.1_exercises/_alternatives/31_data_processing_stac.html b/3.1_data_processing/3.1_exercises/_alternatives/31_data_processing_stac.html new file mode 100644 index 0000000..7b8fe20 --- /dev/null +++ b/3.1_data_processing/3.1_exercises/_alternatives/31_data_processing_stac.html @@ -0,0 +1,3014 @@ + + + + + + + + + + + 3.1 Data Processing — Cubes & Clouds - Cloud Native Open Data Sciences for Earth Observation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + +
+ +
+ + + + + +
+
+ + + + + + +
+ + + +
+ +
+
+ +
+
+ +
+ +
+ +
+ + +
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + + + + + + + +
+ +
+

3.1 Data Processing#

+

In this exercise we will build a complete EO workflow using cloud provided data (STAC Catalogue), processing it locally; from data access to obtaining the result. In this example we will analyse snow cover in the Alps.

+

We are going to follow these steps in our analysis:

+
    +
  • Load satellite collections

  • +
  • Specify the spatial, temporal extents and the features we are interested in

  • +
  • Process the satellite data to retrieve snow cover information

  • +
  • aggregate information in data cubes

  • +
  • Visualize and analyse the results

  • +
+

More information on the openEO Python Client: https://open-eo.github.io/openeo-python-client/index.html

+

More information on the Client Side Processing and load_stac functionalities: https://open-eo.github.io/openeo-python-client/cookbook/localprocessing.html

+
+

Install missing and update packages:#

+
+
+
%%capture
+pip install rioxarray geopandas leafmap
+
+
+
+
+
+
+
%%capture
+pip install openeo[localprocessing] --upgrade
+
+
+
+
+
+
+

Libraries#

+
+
+
# platform libraries
+from openeo.local import LocalConnection
+
+# utility libraries
+from datetime import date
+import numpy as np
+import xarray as xr
+import rioxarray
+import json
+import pandas as pd
+import matplotlib.pyplot as plt
+import geopandas as gpd
+import leafmap.foliumap as leafmap
+
+
+
+
+
Did not load machine learning processes due to missing dependencies: Install them like this: `pip install openeo-processes-dask[implementations, ml]`
+
+
+
+
+
+
+

Region of Interest#

+

Load the catchment area.

+
+
+
catchment_outline = gpd.read_file('../31_data/catchment_outline.geojson')
+
+
+
+
+
+
+
center = (float(catchment_outline.centroid.y), float(catchment_outline.centroid.x))
+m = leafmap.Map(center=center, zoom=10)
+m.add_vector('../31_data/catchment_outline.geojson', layer_name="catchment")
+m
+
+
+
+
+
+
+
+
+

Inspect STAC Metadata#

+

We need to set the following configurations to define the content of the data cube we want to access:

+
    +
  • STAC Collection URL

  • +
  • band names

  • +
  • time range

  • +
  • the area of interest specifed via bounding box coordinates

  • +
+

We use the Sentinel-2 L2A Collection from Microsoft: https://planetarycomputer.microsoft.com/api/stac/v1/collections/sentinel-2-l2a

+
+
+

Define a workflow#

+

We will define our workflow now. And chain all the processes together we need for analyzing the snow cover in the catchment.

+
+

Define the data cube#

+

We define all extents of our data cube. We use the catchment as spatial extent. As a time range we will focus on the snow melting season 2018, in particular from Febraury to June 2018.

+
+
+
bbox = catchment_outline.bounds.iloc[0]
+bbox
+
+
+
+
+
minx    11.020833
+miny    46.653599
+maxx    11.366667
+maxy    46.954167
+Name: 0, dtype: float64
+
+
+
+
+

We know that the catchment area is almost fully covered by the Sentinel-2 32TPS tile and therefore we use this information in the properties filter, along with a first filter on the cloud coverage.

+
+
+
local_conn = LocalConnection("./")
+
+url = "https://planetarycomputer.microsoft.com/api/stac/v1/collections/sentinel-2-l2a"
+spatial_extent  = {"west":bbox[0],"east":bbox[2],"south":bbox[1],"north":bbox[3]}
+temporal_extent = ["2018-02-01", "2018-06-30"]
+
+bands_11_scl    = ["B11", "SCL"]
+band_03        = ["B03"]
+
+properties = {"eo:cloud_cover": dict(lt=75),
+              "s2:mgrs_tile": dict(eq="32TPS")}
+
+
+
+
+
+
+

Load the data cube#

+

We have defined the extents we are interested in. Now we use these definitions to load the data cube.

+

Since the B03 band have resolution of 10m and B11 and SCL 20m, we load them separately and then align in a second step using openEO.

+
+
+
s2_B11_SCL = local_conn.load_stac(
+    url=url,
+    spatial_extent=spatial_extent,
+    temporal_extent=temporal_extent,
+    bands=bands_11_scl,
+    properties=properties,
+)
+
+
+
+
+
+
+
s2_B03 = local_conn.load_stac(
+    url=url,
+    spatial_extent=spatial_extent,
+    temporal_extent=temporal_extent,
+    bands=band_03,
+    properties=properties,
+)
+
+
+
+
+

Uncomment the content of the next three cells if you would like to download the data first and then use the netCDFs to proceed.

+

It will download ~3 GB of data, make sure to have enough free space.

+
+
+
# %%time
+# s2_11_scl_xr = s2_B11_SCL.execute()
+# # Remove problematic attributes and coordinates, which prevent to write a valid netCDF file
+# for at in s2_11_scl_xr.attrs:
+#     # allowed types: str, Number, ndarray, number, list, tuple
+#     if not isinstance(s2_11_scl_xr.attrs[at], (int, float, str, np.ndarray, list, tuple)):
+#         s2_11_scl_xr.attrs[at] = str(s2_11_scl_xr.attrs[at])
+
+# for c in s2_11_scl_xr.coords:
+#     if s2_11_scl_xr[c].dtype=="object":
+#         s2_11_scl_xr = s2_11_scl_xr.drop_vars(c)
+
+# s2_11_scl_xr.to_dataset(dim="band").to_netcdf("s2_11_scl_xr.nc")
+
+
+
+
+
+
+
# %%time
+# s2_03_xr = s2_B03.execute()
+# # Remove problematic attributes and coordinates, which prevent to write a valid netCDF file
+# for at in s2_03_xr.attrs:
+#     # allowed types: str, Number, ndarray, number, list, tuple
+#     if not isinstance(s2_03_xr.attrs[at], (int, float, str, np.ndarray, list, tuple)):
+#         s2_03_xr.attrs[at] = str(s2_03_xr.attrs[at])
+
+# for c in s2_03_xr.coords:
+#     if s2_03_xr[c].dtype=="object":
+#         s2_03_xr = s2_03_xr.drop_vars(c)
+
+# s2_03_xr.to_dataset(dim="band").to_netcdf("s2_03_xr.nc")
+
+
+
+
+
+
+
# s2_B03 = local_conn.load_collection("s2_03_xr.nc")
+# s2_B11_SCL = local_conn.load_collection("s2_11_scl_xr.nc")
+
+
+
+
+
+
+
s2_20m = s2_B03.resample_cube_spatial(target=s2_B11_SCL,method="average").merge_cubes(s2_B11_SCL)
+
+
+
+
+
+
+

NDSI - Normalized Difference Snow Index#

+

The Normalized Difference Snow Index (NDSI) is computed as:

+
+\[ NDSI = \frac {GREEN - SWIR} {GREEN +SWIR} \]
+

We have created a Sentinel-2 data cube with bands B03 (green), B11 (SWIR) and the scene classification mask (SCL). We will use the green and SWIR band to calculate a the NDSI. This process is reducing the band dimension of the data cube to generate new information, the NDSI.

+
+
+
green = s2_20m.band("B03")
+swir = s2_20m.band("B11")
+ndsi = (green - swir) / (green + swir)
+ndsi
+
+
+
+
+
+ + + + +
+
+
+
+

Creating the Snow Map#

+

So far we have a timeseries of NDSI values. We are intereseted in the presence of snow though. Ideally in a binary classification: snow and no snow. +To achieve this we are setting a threshold of 0.42 on the NDSI. This gives us a binary snow map.

+
+
+
ndsi_mask = ( ndsi > 0.42 )
+snowmap = ndsi_mask.add_dimension(name="band",label="snow_map",type="bands")
+snowmap
+
+
+
+
+
+ + + + +
+
+
+
+

Creating a cloud mask#

+

We are going to use “SCL” band for creating a cloud mask and then applying it to the NDSI. +8 = cloud medium probability, 9 = cloud high probability, 3 = cloud shadow

+

Here is more information on the Scene Classification https://sentinels.copernicus.eu/web/sentinel/technical-guides/sentinel-2-msi/level-2a/algorithm-overview

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Value

Label

0

NO_DATA

1

SATURATED_OR_DEFECTIVE

2

CAST_SHADOWS

3

CLOUD_SHADOWS

4

VEGETATION

5

NOT_VEGETATED

6

WATER

7

UNCLASSIFIED

8

CLOUD_MEDIUM_PROBABILITY

9

CLOUD_HIGH_PROBABILITY

10

THIN_CIRRUS

11

SNOW or ICE

+
+
+
+
scl_band = s2_20m.band("SCL")
+cloud_mask = ( (scl_band == 8) | (scl_band == 9) | (scl_band == 3) ).add_dimension(name="band",label="cloud_mask",type="bands")
+cloud_mask
+
+
+
+
+
+ + + + +
+
+
+
+

Applying the cloud mask to the snowmap#

+

We will mask out all pixels that are covered by clouds. This will result in: 0 = no_snow, 1 = snow, 2 = cloud

+
+
+
snowmap_cloudfree = snowmap.mask(cloud_mask,replacement=2) # replacement is null by default
+snowmap_cloudfree
+
+
+
+
+
+ + + + +
+
+
+
+

Visualize one time step of the timeseries#

+

Let’s create the lazy xarray view of the result and look how our first results look like

+
+
+
snowmap_cloudfree_1d = snowmap_cloudfree.filter_temporal('2018-02-10', '2018-02-12').mask_polygon(catchment_outline["geometry"][0])
+snowmap_cloudfree_1d_xr = snowmap_cloudfree_1d.execute()
+
+
+
+
+
+
+
snowmap_cloudfree_1d_xr[0,0].plot.imshow()
+
+
+
+
+
<matplotlib.image.AxesImage at 0x7f8a79683b50>
+
+
+../../../_images/2ceb223fb8d9c91e6c92828284273047f1b20407f3f8c08f9e544f2cf5fe959f.png +
+
+
+
+
+

Calculate Catchment Statistics#

+

We are looking at a region over time. We need to make sure that the information content meets our expected quality. Therefore, we calculate the cloud percentage for the catchment for each timestep. We use this information to filter the timeseries. All timesteps that have a cloud coverage of over 25% will be discarded.

+

Ultimately we are interested in the snow covered area (SCA) within the catchment. We count all snow covered pixels within the catchment for each time step. Multiplied by the pixel size that would be the snow covered area. Divided the pixel count by the total number of pixels in the catchment is the percentage of pixels covered with snow. We will use this number.

+

Get number of pixels in catchment: total, clouds, snow.

+
+
+
snow_cloud_map_0 = (snowmap_cloudfree == 1).merge_cubes(cloud_mask)
+snow_cloud_map = (ndsi_mask > -1).add_dimension(name="band",label="valid_px",type="bands").merge_cubes(snow_cloud_map_0)
+
+
+
+
+

Aggregate to catchment using the aggregate_spatial process.

+
+
+
snow_cloud_map_timeseries = snow_cloud_map.aggregate_spatial(geometries=catchment_outline["geometry"][0],reducer="sum")
+snow_cloud_map_timeseries
+
+
+
+
+
+ + + + +
+
+

Get the result as a Dask based xArray object

+
+
+
snow_cloud_map_timeseries_xr = snow_cloud_map_timeseries.execute()
+snow_cloud_map_timeseries_xr
+
+
+
+
+
Did not load machine learning processes due to missing dependencies: Install them like this: `pip install openeo-processes-dask[implementations, ml]`
+
+
+
+ + + + + + + + + + + + + + +
<xarray.DataArray (geometry: 1, band: 3, time: 32)> Size: 768B
+dask.array<broadcast_to, shape=(1, 3, 32), dtype=float64, chunksize=(1, 1, 1), chunktype=numpy.ndarray>
+Coordinates: (12/46)
+  * time                                     (time) datetime64[ns] 256B 2018-...
+  * band                                     (band) <U10 120B 'valid_px' ... ...
+    id                                       (time) <U54 7kB 'S2A_MSIL2A_2018...
+    s2:product_type                          <U7 28B 'S2MSI2A'
+    s2:degraded_msi_data_percentage          float64 8B 0.0
+    s2:nodata_pixel_percentage               (time) float64 256B 0.0 ... 11.05
+    ...                                       ...
+    common_name                              <U5 20B 'green'
+    center_wavelength                        float64 8B 0.56
+    full_width_half_max                      float64 8B 0.045
+    epsg                                     int64 8B 32632
+    spatial_ref                              int64 8B 0
+  * geometry                                 (geometry) object 8B POLYGON ((6...
+Indexes:
+    geometry  GeometryIndex (crs=EPSG:32632)
+Attributes:
+    crs:                            epsg:32632
+    reduced_dimensions_min_values:  {'band': 'B03'}
+
+

Compute the result. Please note, this will trigger the download and processing of the requested data.

+
+
+
snow_cloud_map_timeseries_xr = snow_cloud_map_timeseries_xr.compute()
+
+
+
+
+
+
+
snow_cloud_map_timeseries_xr
+
+
+
+
+
+ + + + + + + + + + + + + + +
<xarray.DataArray (geometry: 1, band: 3, time: 32)> Size: 768B
+array([[[1039875., 1039875., 1039875., 1039875., 1039875., 1039875.,
+         1039875., 1039875., 1039875., 1039875., 1039875., 1039875.,
+         1039875., 1039875., 1039875., 1039875., 1039875., 1039875.,
+         1039875., 1039875., 1039875., 1039875., 1039875., 1039875.,
+         1039875., 1039875., 1039875., 1039875., 1039875., 1039875.,
+         1039875., 1039875.],
+        [ 721108.,  746324.,  505519.,  666087.,  574287.,  717432.,
+          181569.,  341945.,  447801.,  276157.,  683636.,  444741.,
+          737500.,  589989.,  449066.,  113861.,  689327.,  654874.,
+          670597.,  553375.,  576242.,  535398.,  428109.,  173667.,
+           65467.,   11728.,    2120.,   59170.,   20304.,   16569.,
+           33761.,   13923.],
+        [  43282.,   50500.,  265340.,   99748.,  190841.,   60625.,
+          678521.,  456600.,  320558.,  656121.,  200369.,  525781.,
+           66535.,  170522.,  268273.,  877061.,   23772.,   49337.,
+           58783.,  171374.,   27758.,   27322.,  155250.,  518898.,
+          558722.,  676188.,  912866.,   27335.,  472718.,  403790.,
+           25324.,  248254.]]])
+Coordinates: (12/46)
+  * time                                     (time) datetime64[ns] 256B 2018-...
+  * band                                     (band) <U10 120B 'valid_px' ... ...
+    id                                       (time) <U54 7kB 'S2A_MSIL2A_2018...
+    s2:product_type                          <U7 28B 'S2MSI2A'
+    s2:degraded_msi_data_percentage          float64 8B 0.0
+    s2:nodata_pixel_percentage               (time) float64 256B 0.0 ... 11.05
+    ...                                       ...
+    common_name                              <U5 20B 'green'
+    center_wavelength                        float64 8B 0.56
+    full_width_half_max                      float64 8B 0.045
+    epsg                                     int64 8B 32632
+    spatial_ref                              int64 8B 0
+  * geometry                                 (geometry) object 8B POLYGON ((6...
+Indexes:
+    geometry  GeometryIndex (crs=EPSG:32632)
+Attributes:
+    crs:                            epsg:32632
+    reduced_dimensions_min_values:  {'band': 'B03'}
+
+

Plot the timeseries and the cloud threshold of 25%. If the cloud cover is higher the timestep will be excluded later on.

+

Plot the cloud percentage with the threshold.s

+
+
+
cloud_percent = (snow_cloud_map_timeseries_xr.loc[dict(band="cloud_mask")] / snow_cloud_map_timeseries_xr.loc[dict(band="valid_px")]) * 100
+cloud_percent.plot(marker='o')
+# plot the cloud percentage and a threshold
+plt.axhline(y = 25, color = "r", linestyle = "-")
+plt.show()
+
+
+
+
+../../../_images/b3e547762bd855c8da9b4de531b94d026e110fc0c2a46d01bd5814400d873c15.png +
+
+

Plot the unfiltered snow percentage

+
+
+
snow_percent = (snow_cloud_map_timeseries_xr.loc[dict(band="snow_map")] / snow_cloud_map_timeseries_xr.loc[dict(band="valid_px")]) * 100
+snow_percent.plot(marker='o')
+plt.show()
+
+
+
+
+../../../_images/acefad3ca6ee72c8d0f7f84218a5be3b1f5b213cd87d135c003760043952b0ab.png +
+
+

Keep only the dates with cloud coverage less than the threshold

+
+
+
snow_percent = snow_percent.where(cloud_percent<25,drop=True)
+
+
+
+
+

Plot the cloud filtered snow percentage

+
+
+
snow_percent.plot(marker='o')
+plt.show()
+
+
+
+
+../../../_images/c2c928c8b2d705220c2fe486cc5712239c128f7510ac0477a124fb1e80cb359b.png +
+
+
+
+

Compare to discharge data#

+

Load the discharge data at Meran. The main outlet of the catchment.

+
+
+
discharge_ds = pd.read_csv('../../../3.2_validation/3.2_exercises/32_data/ADO_DSC_ITH1_0025.csv', sep=',', index_col='Time', parse_dates=True)
+discharge_ds.head()
+
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
discharge_m3_s
Time
1994-01-01 01:00:004.03
1994-01-02 01:00:003.84
1994-01-03 01:00:003.74
1994-01-04 01:00:003.89
1994-01-05 01:00:003.80
+
+
+

Compare the discharge data to the snow covered area.

+
+
+
fig,ax0 = plt.subplots(1, figsize=(10,5),sharey=True)
+ax1 = ax0.twinx() 
+
+start_date = date(2018, 2, 1)
+end_date = date(2018, 6, 30)
+# filter discharge data to start and end dates
+discharge_ds = discharge_ds.loc[start_date:end_date]
+
+discharge_ds.discharge_m3_s.plot(label='Discharge', xlabel='', ylabel='Discharge (m$^3$/s)',ax=ax0)
+snow_percent.plot(marker='o',ax=ax1,color='orange')
+ax0.legend(loc='center left', bbox_to_anchor=(0, 0.6))
+ax1.set_ylabel('Snow cover area (%)')
+ax1.legend(loc='center left', bbox_to_anchor=(0, 0.5),labels=['SCA'])
+plt.show()
+
+
+
+
+../../../_images/1f025311a9ecf21e396a753bd92fb663211f64fdf5a8f1037aed742d5de52cdc.png +
+
+
+
+ + + + +
+ + + + + + + + +
+ + + + + + + +
+ + + +
+
+
+ + + + + + + + \ No newline at end of file diff --git a/3.1_data_processing/3.1_exercises/_alternatives/34_data_sharing_aoi_test.html b/3.1_data_processing/3.1_exercises/_alternatives/34_data_sharing_aoi_test.html new file mode 100644 index 0000000..f9bcc20 --- /dev/null +++ b/3.1_data_processing/3.1_exercises/_alternatives/34_data_sharing_aoi_test.html @@ -0,0 +1,1097 @@ + + + + + + + + + + + 3.4 Data Sharing — Cubes & Clouds - Cloud Native Open Data Sciences for Earth Observation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + +
+ +
+ + + + + +
+
+ + + + + + +
+ + + +
+ +
+
+ +
+
+ +
+ +
+ +
+ + +
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + + +
+

3.4 Data Sharing

+ +
+
+ +
+

Contents

+
+ +
+
+
+ + + + +
+ +
+

3.4 Data Sharing#

+

Science is much more impactful once it’s shared. Therefore, we are going to learn how to +open up our scientific output from a cloud platform, so that is openly available - and +has the chance to make the impact it should.

+
    +
  • Load data

  • +
  • +
+

Set configurations

+
+
+
import openeo
+import numpy as np
+import leafmap
+
+
+
+
+

Import utility functions

+
+
+
%run cubes_utilities.py
+
+
+
+
+
+

Select Area of Interest#

+
    +
  • select a point of interest

  • +
+
+
+
import math
+
+# Function to create a bounding box around a point
+def create_bounding_box(latitude, longitude, distance_km):
+    # Radius of the Earth in kilometers
+    earth_radius_km = 6371
+
+    # Convert latitude and longitude from degrees to radians
+    lat_rad = math.radians(latitude)
+    lon_rad = math.radians(longitude)
+
+    # Calculate the angular distance covered by the given distance_km
+    angular_distance = distance_km / earth_radius_km
+
+    # Calculate the latitude and longitude offsets
+    lat_offset = math.degrees(angular_distance)
+    lon_offset = math.degrees(angular_distance / math.cos(lat_rad))
+
+    # Calculate the coordinates of the southwest and northeast corners
+    sw_lat = latitude - lat_offset
+    sw_lon = longitude - lon_offset
+    ne_lat = latitude + lat_offset
+    ne_lon = longitude + lon_offset
+
+    # Return the bounding box as a tuple (sw_lat, sw_lon, ne_lat, ne_lon)
+    return (sw_lat, sw_lon, ne_lat, ne_lon)
+
+
+
+
+
+
+
m = leafmap.Map(center=(46.497012, 11.356429), zoom=14)
+m
+
+
+
+
+
+
+
+
+
import geopandas as gpd
+import shapely
+from shapely.geometry import Polygon
+
+distance_km = 1 # Distance in kilometers
+
+feat = m.draw_features
+geom = feat[0]['geometry']['coordinates']
+
+# Create a bounding box around the point
+bbox = create_bounding_box(geom[0], geom[1], distance_km)
+
+# Create polygon from lists of points
+x = [bbox[0], bbox[0], bbox[2], bbox[2], bbox[0]]
+y = [bbox[1], bbox[3], bbox[3], bbox[1], bbox[1]]
+
+poly = Polygon(zip(x,y))
+
+gs = gpd.GeoSeries.from_wkt([str(poly)])
+gdf = gpd.GeoDataFrame({"col1": ["bbox"]}, geometry=gs, crs=4326)
+m.add_gdf(gdf)
+
+
+
+
+
+
+

Recreate process graph#

+
+
+
conn = openeo.connect('https://openeo.dataspace.copernicus.eu/').authenticate_oidc()
+
+collection      = 'SENTINEL2_L2A'
+spatial_extent  = {'west':bbox[0],'east':bbox[2],'south':bbox[1],'north':bbox[3],'crs':4326}
+temporal_extent = ["2018-02-10", "2018-02-12"]
+bands           = ['B03']
+s2cube = conn.load_collection(collection,
+                          spatial_extent=spatial_extent,
+                          bands=bands,
+                          temporal_extent=temporal_extent)
+
+
+
+
+
Authenticated using refresh token.
+
+
+
+
+
+
+
s2cube.download("sample.nc")
+
+
+
+
+
+
+
import xarray as xr
+xr.open_dataset("sample.nc",decode_coords="all")
+
+
+
+
+
+ + + + + + + + + + + + + + +
<xarray.Dataset>
+Dimensions:  (t: 1, x: 145, y: 209)
+Coordinates:
+  * t        (t) datetime64[ns] 2018-02-11
+  * x        (x) float64 6.787e+05 6.787e+05 6.788e+05 ... 6.802e+05 6.802e+05
+  * y        (y) float64 5.153e+06 5.153e+06 5.153e+06 ... 5.151e+06 5.151e+06
+    crs      |S1 ...
+Data variables:
+    B03      (t, y, x) float32 ...
+Attributes:
+    Conventions:  CF-1.9
+    institution:  openEO platform
+
+
+
+ + + + +
+ + + + + + + + +
+ + + + +
+ + +
+ + + +
+
+
+ + + + + + + + \ No newline at end of file diff --git a/3.2_validation/3.2_exercises/32_validation.html b/3.2_validation/3.2_exercises/32_validation.html new file mode 100644 index 0000000..2161c93 --- /dev/null +++ b/3.2_validation/3.2_exercises/32_validation.html @@ -0,0 +1,2781 @@ + + + + + + + + + + + 3.2 Validation — Cubes & Clouds - Cloud Native Open Data Sciences for Earth Observation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + +
+ +
+ + + + + +
+
+ + + + + + +
+ + + +
+ +
+
+ +
+
+ +
+ +
+ +
+ + +
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + + + + + + + +
+ +

Cubes & Clouds logo

+
+

3.2 Validation#

+

In this exercise, we focus on the validation of the results we have produced. In general, the accuracy of a satellite derived product is expressed by comparing it to in-situ measurements. Furthermore, we will compare the resuling snow cover time series to the runoff of the catchment to check the plausibility of the observed relationship.

+

The steps involved in this analysis:

+
    +
  • Generate Datacube time-series of snowmap,

  • +
  • Load in-situ datasets: snow depth station measurements,

  • +
  • Pre-process and filter in-situ datasets to match area of interest,

  • +
  • Perform validation of snow-depth measurements,

  • +
  • Plausibility check with runoff of the catchment

  • +
+

More information on the openEO Python Client: https://open-eo.github.io/openeo-python-client/index.html

+

Start by creating the folders and data files needed to complete the exercise.

+
+
+
!cp -r $DATA_PATH/32_results/ $HOME/
+!cp -r $DATA_PATH/32_data/ $HOME/
+
+
+
+
+
+
+
!cp -r $DATA_PATH/_32_cubes_utilities.py $HOME/
+
+
+
+
+
+

Libraries#

+
+
+
import json
+from datetime import date
+import numpy as np
+import pandas as pd
+
+import xarray as xr
+import rioxarray as rio
+
+import matplotlib.pyplot as plt
+import rasterio
+from rasterio.plot import show
+
+import geopandas as gpd
+import leafmap.foliumap as leafmap
+
+import openeo
+from _32_cubes_utilities import ( calculate_sca,
+                                 station_temporal_filter,
+                                 station_spatial_filter,
+                                 binarize_snow,
+                                 format_date,
+                                 assign_site_snow,
+                                 validation_metrics)
+
+
+
+
+
/tmp/ipykernel_1286/2944796695.py:4: DeprecationWarning: 
+Pyarrow will become a required dependency of pandas in the next major release of pandas (pandas 3.0),
+(to allow more performant data types, such as the Arrow string type, and better interoperability with other libraries)
+but was not found to be installed on your system.
+If this would cause problems for you,
+please provide us feedback at https://github.com/pandas-dev/pandas/issues/54466
+        
+  import pandas as pd
+
+
+
+
+
+
+

Login#

+

Connect to the Copernicus Dataspace Ecosystem.

+
+
+
conn = openeo.connect('https://openeo.dataspace.copernicus.eu/')
+
+
+
+
+

Login.

+
+
+
conn.authenticate_oidc()
+
+
+
+
+
Authenticated using refresh token.
+
+
+
<Connection to 'https://openeo.dataspace.copernicus.eu/openeo/1.2/' with OidcBearerAuth>
+
+
+
+
+

Check if the login worked.

+
+
+
conn.describe_account()
+
+
+
+
+
+
+

Region of Interest#

+

Load the Val Passiria Catchment, our region of interest. And plot it.

+
+
+
catchment_outline = gpd.read_file('32_data/catchment_outline.geojson')
+
+
+
+
+
+
+
center = (float(catchment_outline.centroid.y), float(catchment_outline.centroid.x))
+m = leafmap.Map(center=center, zoom=10)
+m.add_vector('32_data/catchment_outline.geojson', layer_name="catchment")
+m
+
+
+
+
+
+
+
+
+

Generate Datacube of Snowmap#

+

We have prepared the workflow to generate the snow map as a python function calculate_sca(). The calculate_sca() is from _32_cubes_utilities and is used to reproduce the snow map process graph in openEO

+
+
+
bbox = catchment_outline.bounds.iloc[0]
+temporal_extent = ["2018-02-01", "2018-06-30"]
+snow_map_cloud_free = calculate_sca(conn, bbox, temporal_extent)
+snow_map_cloud_free
+
+
+
+
+
+ + + + +
+
+
+
+

Load snow-station in-situ data#

+

Load the in-situ datasets, snow depth station measurements. They have been compiled in the ClirSnow project and are available here: Snow Cover in the European Alps with stations in our area of interest.

+

We have made the data available for you already. We can load it directly.

+
+
+
# load snow station datasets from zenodo:: https://zenodo.org/record/5109574
+station_df = pd.read_csv("32_data/data_daily_IT_BZ.csv")
+station_df = station_df.assign(Date=station_df.apply(format_date, axis=1))
+# the format_date function, from _32_cubes_utilities was used to stringify each Datetime object in the dataframe
+# station_df.head()
+
+
+
+
+
+
+
# load additional metadata for acessing the station geometries
+station_df_meta = pd.read_csv("32_data/meta_all.csv")
+station_df_meta.head()
+
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ProviderNameLongitudeLatitudeElevationHN_year_startHN_year_endHS_year_startHS_year_end
0AT_HZBAbsdorf15.97666748.401667182.01970.02016.01970.02016.0
1AT_HZBAch_Burghausen12.84638948.148889473.01990.02016.01990.02016.0
2AT_HZBAdmont14.45722247.567778700.01970.02016.01970.02016.0
3AT_HZBAfritz13.79555646.727500715.01970.02016.01970.02016.0
4AT_HZBAlberschwende9.84916747.458333717.01982.02016.01982.02016.0
+
+
+
+
+

Pre-process and filter in-situ snow station measurements#

+
+

Filter Temporally#

+

Filter the in-situ datasets to match the snow-map time series using the function station_temporal_filter() from cubes_utilities.py, which merges the station dataframe with additional metadata needed for the Lat/Long information and convert them to geometries

+
+
+
start_date = "2018-02-01"
+end_date = "2018-06-30"
+
+snow_stations = station_temporal_filter(station_daily_df = station_df, 
+                                        station_meta_df = station_df_meta,
+                                        start_date = start_date,
+                                        end_date = end_date)
+snow_stations.head()
+
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ProviderNameDateHNHSHN_after_qcHS_after_qcHS_after_gapfillLongitudeLatitudeElevationgeometry
Date
2018-02-01IT_BZDiga_di_Neves_Osservatore2018-02-012.011.02.0NaN120.011.78708946.9414171860.0POINT (11.78709 46.94142)
2018-02-01IT_BZMaia_Alta_Osservatore2018-02-010.00.00.00.00.011.18323446.657820334.0POINT (11.18323 46.65782)
2018-02-01IT_BZRacines_di_Dentro_Osservatore2018-02-011.057.01.057.057.011.31719746.8660261260.0POINT (11.31720 46.86603)
2018-02-01IT_BZValles_osservatore2018-02-010.043.00.043.043.011.63069646.8386551352.0POINT (11.63070 46.83866)
2018-02-01IT_BZTerento_Osservatore2018-02-010.09.00.09.09.011.79376946.8321161240.0POINT (11.79377 46.83212)
+
+
+
+
+

Filter Spatially#

+

Filter the in-situ datasets into the catchment area of interest using station_spatial_filter() from cubes_utilities.py.

+
+
+
catchment_stations = station_spatial_filter(snow_stations, catchment_outline)
+catchment_stations.head()
+
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ProviderNameHNHSHN_after_qcHS_after_qcHS_after_gapfillLongitudeLatitudeElevationgeometry
Date
2018-02-01IT_BZS_Martino_in_Passiria_Osservatore0.00.00.00.00.011.22790946.782682588.0POINT (11.22791 46.78268)
2018-02-01IT_BZRifiano_Beobachter0.00.00.00.00.011.18360746.705034500.0POINT (11.18361 46.70503)
2018-02-01IT_BZPlata_Osservatore2.055.02.055.055.011.17696846.8228471130.0POINT (11.17697 46.82285)
2018-02-01IT_BZS_Leonardo_in_Passiria_Osservatore0.0NaN0.0NaNNaN11.24712646.809062644.0POINT (11.24713 46.80906)
2018-02-01IT_BZScena_Osservatore0.00.00.00.00.011.19083146.689596680.0POINT (11.19083 46.68960)
+
+
+
+
+

Plot the filtered stations#

+

Visualize location of snow stations

+
+
+
print("There are", len(np.unique(catchment_stations.Name)), "unique stations within our catchment area of interest")
+
+
+
+
+
There are 5 unique stations within our catchment area of interest
+
+
+
+
+

Quick Hint: Remember the number of stations within the catchment for the final quiz exercise

+
+
+

Convert snow depth to snow presence#

+

The stations are measuring snow depth. We only need the binary information on the presence of snow (yes, no). We use the binarize_snow() function from cubes_utilities.py to assign 0 for now snow and 1 for snow in the snow_presence column.

+
+
+
catchment_stations = catchment_stations.assign(snow_presence=catchment_stations.apply(binarize_snow, axis=1))
+catchment_stations.head()
+
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ProviderNameHNHSHN_after_qcHS_after_qcHS_after_gapfillLongitudeLatitudeElevationgeometrysnow_presence
Date
2018-02-01IT_BZS_Martino_in_Passiria_Osservatore0.00.00.00.00.011.22790946.782682588.0POINT (11.22791 46.78268)0
2018-02-01IT_BZRifiano_Beobachter0.00.00.00.00.011.18360746.705034500.0POINT (11.18361 46.70503)0
2018-02-01IT_BZPlata_Osservatore2.055.02.055.055.011.17696846.8228471130.0POINT (11.17697 46.82285)1
2018-02-01IT_BZS_Leonardo_in_Passiria_Osservatore0.0NaN0.0NaNNaN11.24712646.809062644.0POINT (11.24713 46.80906)0
2018-02-01IT_BZScena_Osservatore0.00.00.00.00.011.19083146.689596680.0POINT (11.19083 46.68960)0
+
+
+
+
+

Save the pre-processed snow station measurements#

+

Save snow stations within catchment as GeoJSON

+
+
+
with open("32_results/catchment_stations.geojson", "w") as file:
+    file.write(catchment_stations.to_json())
+
+
+
+
+
+
+
+

Extract SCA from the data cube per station#

+
+

Prepare snow station data for usage in openEO#

+

Create a buffer of approximately 80 meters (0.00075 degrees) around snow stations and visualize them.

+
+
+
catchment_stations_gpd = gpd.read_file("32_results/catchment_stations.geojson")
+mappy =leafmap.Map(center=center, zoom=16)
+mappy.add_vector('32_data/catchment_outline.geojson', layer_name="catchment")
+mappy.add_gdf(catchment_stations_gpd, layer_name="catchment_station")
+
+catchment_stations_gpd["geometry"] = catchment_stations_gpd.geometry.buffer(0.00075)
+mappy.add_gdf(catchment_stations_gpd, layer_name="catchment_station_buffer")
+mappy
+
+
+
+
+
+
+

Convert the unique geometries to Feature Collection to be used in a openEO process.

+
+
+
catchment_stations_fc = json.loads(
+    catchment_stations_gpd.geometry.iloc[:5].to_json()
+)
+
+
+
+
+
+
+

Extract SCA from the data cube per station#

+

We exgtract the SCA value of our data cube at the buffered station locations. Therefore we use the process aggregate_spatial() with the aggregation method median(). This gives us the most common value in the buffer (snow or snowfree).

+
+
+
snowmap_per_station= snow_map_cloud_free.aggregate_spatial(catchment_stations_fc, reducer="median")
+snowmap_per_station
+
+
+
+
+
+ + + + +
+
+

Create a batch job on the cloud platform. And start it.

+
+
+
snowmap_cloudfree_json = snowmap_per_station.save_result(format="JSON")
+job = snowmap_cloudfree_json.create_job(title="snow_map")
+job.start_and_wait()
+
+
+
+
+
0:00:00 Job 'j-240215c46f6e4a899346de93a0f534cc': send 'start'
+0:00:14 Job 'j-240215c46f6e4a899346de93a0f534cc': running (progress N/A)
+0:00:19 Job 'j-240215c46f6e4a899346de93a0f534cc': running (progress N/A)
+0:00:25 Job 'j-240215c46f6e4a899346de93a0f534cc': running (progress N/A)
+0:00:34 Job 'j-240215c46f6e4a899346de93a0f534cc': running (progress N/A)
+0:00:44 Job 'j-240215c46f6e4a899346de93a0f534cc': running (progress N/A)
+0:00:56 Job 'j-240215c46f6e4a899346de93a0f534cc': running (progress N/A)
+0:01:11 Job 'j-240215c46f6e4a899346de93a0f534cc': running (progress N/A)
+0:01:38 Job 'j-240215c46f6e4a899346de93a0f534cc': running (progress N/A)
+0:02:02 Job 'j-240215c46f6e4a899346de93a0f534cc': running (progress N/A)
+0:02:34 Job 'j-240215c46f6e4a899346de93a0f534cc': running (progress N/A)
+0:03:11 Job 'j-240215c46f6e4a899346de93a0f534cc': running (progress N/A)
+0:03:58 Job 'j-240215c46f6e4a899346de93a0f534cc': running (progress N/A)
+0:04:57 Job 'j-240215c46f6e4a899346de93a0f534cc': finished (progress N/A)
+
+
+
+ + + + +
+
+

Check the status of the job. And download once it’s finished.

+
+
+
job.status()
+
+
+
+
+
'finished'
+
+
+
+
+
+
+
if job.status() == "finished":
+    results = job.get_results()
+    results.download_files("32_results/snowmap/")
+
+
+
+
+

Open the snow covered area time series extracted at the stations. We’ll have a look at it in a second.

+
+
+
with open("32_results/snowmap/timeseries.json","r") as file:
+    snow_time_series = json.load(file)
+
+
+
+
+
+
+
+

Combine station measurements and the extracted SCA from our data cube#

+

The station measurements are daily and all of the stations are combined in one csv file. +The extracted SCA values are in the best case six-daily (Sentinel-2 repeat rate) and also all stations are in one json file. +We will need to join the the extracted SCA with the station measurements by station (and time (selecting the corresponding time steps)

+
+

Extract snow values from SCA extracted at the station location#

+

Let’s have a look at the data structure first

+
+
+
dates = [k.split("T")[0] for k in snow_time_series]
+snow_val_smartino = [snow_time_series[k][0][0] for k in snow_time_series]
+snow_val_rifiano = [snow_time_series[k][1][0] for k in snow_time_series]
+snow_val_plata = [snow_time_series[k][2][0] for k in snow_time_series]
+snow_val_sleonardo = [snow_time_series[k][3][0] for k in snow_time_series]
+snow_val_scena = [snow_time_series[k][4][0] for k in snow_time_series]
+
+
+
+
+
+
+

Match in-situ measurements to dates in SCA#

+

Let’s have a look at the in-situ measurement data set.

+
+
+
catchment_stations_gpd.sample(10)
+
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
idProviderNameHNHSHN_after_qcHS_after_qcHS_after_gapfillLongitudeLatitudeElevationsnow_presencegeometry
1982018-03-12IT_BZScena_Osservatore0.00.00.00.00.011.19083146.689596680.00POLYGON ((11.19158 46.68960, 11.19158 46.68952...
132018-02-03IT_BZScena_Osservatore0.00.00.00.00.011.19083146.689596680.00POLYGON ((11.19158 46.68960, 11.19158 46.68952...
6152018-06-04IT_BZRifiano_Beobachter0.00.00.00.00.011.18360746.705034500.00POLYGON ((11.18436 46.70503, 11.18435 46.70496...
7312018-06-27IT_BZS_Leonardo_in_Passiria_Osservatore0.0NaN0.0NaNNaN11.24712646.809062644.00POLYGON ((11.24788 46.80906, 11.24787 46.80899...
372018-02-08IT_BZS_Martino_in_Passiria_Osservatore0.00.00.00.00.011.22790946.782682588.00POLYGON ((11.22866 46.78268, 11.22866 46.78261...
4412018-04-30IT_BZScena_Osservatore0.00.00.00.00.011.19083146.689596680.00POLYGON ((11.19158 46.68960, 11.19158 46.68952...
6912018-06-19IT_BZS_Leonardo_in_Passiria_Osservatore0.0NaN0.0NaNNaN11.24712646.809062644.00POLYGON ((11.24788 46.80906, 11.24787 46.80899...
6142018-06-03IT_BZS_Martino_in_Passiria_Osservatore0.00.00.00.00.011.22790946.782682588.00POLYGON ((11.22866 46.78268, 11.22866 46.78261...
7472018-06-30IT_BZRifiano_Beobachter0.00.00.00.00.011.18360746.705034500.00POLYGON ((11.18436 46.70503, 11.18435 46.70496...
5242018-05-16IT_BZS_Martino_in_Passiria_Osservatore0.00.00.00.00.011.22790946.782682588.00POLYGON ((11.22866 46.78268, 11.22866 46.78261...
+
+
+

We are going to extract each station and keep only the dates that are available in the SCA results.

+
+
+
catchment_stations_gpd_smartino = catchment_stations_gpd.query("Name == 'S_Martino_in_Passiria_Osservatore'")
+catchment_stations_gpd_smartino = catchment_stations_gpd_smartino[
+    catchment_stations_gpd_smartino.id.isin(dates)
+]
+
+catchment_stations_gpd_rifiano = catchment_stations_gpd.query("Name == 'Rifiano_Beobachter'")
+catchment_stations_gpd_rifiano = catchment_stations_gpd_rifiano[
+    catchment_stations_gpd_rifiano.id.isin(dates)
+]
+
+catchment_stations_gpd_plata = catchment_stations_gpd.query("Name == 'Plata_Osservatore'")
+catchment_stations_gpd_plata = catchment_stations_gpd_plata[
+    catchment_stations_gpd_plata.id.isin(dates)
+]
+
+catchment_stations_gpd_sleonardo = catchment_stations_gpd.query("Name == 'S_Leonardo_in_Passiria_Osservatore'")
+catchment_stations_gpd_sleonardo = catchment_stations_gpd_sleonardo[
+    catchment_stations_gpd_sleonardo.id.isin(dates)
+]
+
+catchment_stations_gpd_scena = catchment_stations_gpd.query("Name == 'Scena_Osservatore'")
+catchment_stations_gpd_scena = catchment_stations_gpd_scena[
+    catchment_stations_gpd_scena.id.isin(dates)
+]
+
+
+
+
+
+
+

Combine in-situ measurements with SCA results at the stations#

+

The in situ measurements and the SCA are combined into one data set per station. This will be the basis for the validation.

+
+
+
smartino_snow = assign_site_snow(catchment_stations_gpd_smartino, snow_val_smartino)
+rifiano_snow = assign_site_snow(catchment_stations_gpd_rifiano, snow_val_rifiano)
+plata_snow = assign_site_snow(catchment_stations_gpd_plata, snow_val_plata)
+sleonardo_snow = assign_site_snow(catchment_stations_gpd_sleonardo, snow_val_sleonardo)
+scena_snow = assign_site_snow(catchment_stations_gpd_scena, snow_val_scena)                                                                    
+
+
+
+
+

Let’s have a look at the SCA extracted at the station San Martino and it’s in situ measurements.

+
+
+
catchment_stations_gpd_plata.sample(5)
+
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
idProviderNameHNHSHN_after_qcHS_after_qcHS_after_gapfillLongitudeLatitudeElevationsnow_presencegeometrycube_snow
122018-02-03IT_BZPlata_Osservatore0.060.00.060.060.011.17696846.8228471130.01POLYGON ((11.17772 46.82285, 11.17771 46.82277...NaN
1852018-03-10IT_BZPlata_Osservatore0.042.00.042.042.011.17696846.8228471130.01POLYGON ((11.17772 46.82285, 11.17771 46.82277...NaN
252018-02-06IT_BZPlata_Osservatore0.060.00.060.060.011.17696846.8228471130.01POLYGON ((11.17772 46.82285, 11.17771 46.82277...NaN
4252018-04-27IT_BZPlata_Osservatore0.00.00.00.00.011.17696846.8228471130.00POLYGON ((11.17772 46.82285, 11.17771 46.82277...NaN
2352018-03-20IT_BZPlata_Osservatore0.020.00.020.020.011.17696846.8228471130.01POLYGON ((11.17772 46.82285, 11.17771 46.82277...0.0
+
+
+

Display snow presence threshold in in-situ data for Plato Osservatore

+
+
+
catchment_stations_gpd_plata.plot(x="id", y="HS_after_gapfill",rot=45,kind="line",marker='o')
+plt.axhline(y = 0.4, color = "r", linestyle = "-")
+plt.show()
+
+
+
+
+../../_images/79c460aab4cc12d5d8e692edd7d81e3299b09c2392b1ff51765330662f56cf4d.png +
+
+
+
+
+

Validate the SCA results with the snow station measurements#

+

Now that we have combined the SCA results with the snow station measurements we can start the actual validation. A confusion matrix compares the classes of the station data to the classes of the SCA result. The numbers can be used to calculate the accuracy (correctly classified cases / all cases).

+
+ + + + + + + + + + + + + + + + +

no_snow

snow

no_snow

correct

error

snow

error

correct

+
+
+
+
import seaborn as sns
+
+
+
+
+
+
+
fig, ((ax1, ax2), (ax3, ax4)) = plt.subplots(2, 2, figsize=(10, 6))
+
+fig.suptitle("Error matrices for snow stations within our selected Catchment")
+sns.heatmap(validation_metrics(smartino_snow)[1], annot=True, xticklabels=["No Snow", "Snow"], yticklabels=["No Snow", "Snow"], ax=ax1)
+ax1.set_title("San Martino in Passiria Osservatore")
+ax1.set(xlabel="Predicted label", ylabel="True label")
+
+
+sns.heatmap(validation_metrics(rifiano_snow)[1], annot=True, xticklabels=["No Snow", "Snow"], yticklabels=["No Snow", "Snow"], ax=ax2)
+ax2.set_title("Rifiano Beobachter")
+ax2.set(xlabel="Predicted label", ylabel="True label")
+
+
+sns.heatmap(validation_metrics(plata_snow)[1], annot=True, xticklabels=["No Snow", "Snow"], yticklabels=["No Snow", "Snow"], ax=ax3)
+ax3.set_title("Plata Osservatore")
+ax3.set(xlabel="Predicted label", ylabel="True label")
+
+
+sns.heatmap(validation_metrics(scena_snow)[1], annot=True, xticklabels=["No Snow", "Snow"], yticklabels=["No Snow", "Snow"], ax=ax4)
+ax4.set_title("Scena Osservatore")
+ax4.set(xlabel="Predicted label", ylabel="True label")
+
+fig.tight_layout()
+
+
+
+
+../../_images/a0b7c82cec900f570b71796da118154df3e453265b4553850e661d63dc8cc87a.png +
+
+

The accuracy of the snow estimate from the satellite image computation for each station is shown below:

+
+ + + + + + + + + + + + + + + + + + + + + + +

On-site snow station

Accuracy

San Martino in Passiria Osservatore

100.00%

Rifiano Beobachter

100.00%

Plata Osservatore

82.61%

San Leonardo in Passiria Osservatore

NaN

Scena Osservatore

96.15%

+
+

The fifth and last station San Leonardo in Passiria Osservatore recorded NaNs for snow depths for our selected dates, which could potentially be as a results of malfunctioning on-site equipments. Hence, we are not able to verify for it. But overall, the validation shows a 100% accuracy for stations San Martino in Passiria Osservatore and Rifiano Beobachter, while station Plata Osservatore has a lot more False Positive (4) than the other stations.This shows a good match between estimated snow values from satellite datasets and on-the ground measurements of the presence of snow.

+
+
+

Compare to discharge data#

+

In addition to computing metrics for validating the data, we also check the plausibility of our results. We compare our results with another measure with a known relationship. In this case, we compare the snow cover area time series with the discharge time-series at the main outlet of the catchment. We suspect that after snow melting starts, with a temporal lag, the runoff will increase. Let’s see if this holds true.

+

Load the discharge data at Meran, the main outlet of the catchment. We have prepared this data set for you, it’s extracted from Eurac’s Environmental Data Platform Alpine Drought Observatory Discharge Hydrological Datasets).

+
+
+
discharge_ds = pd.read_csv('32_data/ADO_DSC_ITH1_0025.csv', 
+                           sep=',', index_col='Time', parse_dates=True)
+discharge_ds.head()
+
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
discharge_m3_s
Time
1994-01-01 01:00:004.03
1994-01-02 01:00:003.84
1994-01-03 01:00:003.74
1994-01-04 01:00:003.89
1994-01-05 01:00:003.80
+
+
+

Load the SCA time series we have generated in a previous exercise. It’s the time series of the aggregated snow cover area percentage for the whole catchment.

+
+
+
snow_perc_df = pd.read_csv("32_data/filtered_snow_perc.csv", 
+                          sep=',', index_col='time', parse_dates=True)
+
+
+
+
+

Let’s plot the relationship between the snow covered area and the discharge in the catchment.

+
+
+
start_date = date(2018, 2, 1)
+end_date = date(2018, 6, 30)
+# filter discharge data to start and end dates
+discharge_ds = discharge_ds.loc[start_date:end_date]
+
+ax1 = discharge_ds.discharge_m3_s.plot(label='Discharge', xlabel='', ylabel='Discharge (m$^3$/s)')
+ax2 = snow_perc_df["perc_snow"].plot(marker='o', secondary_y=True, label='SCA', xlabel='', ylabel='Snow cover area (%)')
+ax1.legend(loc='center left', bbox_to_anchor=(0, 0.6))
+ax2.legend(loc='center left', bbox_to_anchor=(0, 0.5))
+plt.show()
+
+
+
+
+../../_images/8528312e1f02f5165be5f34bd97db183e5e758f253c62ae36692ae9be5787864.png +
+
+

The relationship looks as expected! Once the snow cover decreases the runoff increases!

+
+
+ + + + +
+ + + + + + + + +
+ + + + + + + +
+ + + +
+
+
+ + + + + + + + \ No newline at end of file diff --git a/3.2_validation/3.2_validation.html b/3.2_validation/3.2_validation.html new file mode 100644 index 0000000..0a03545 --- /dev/null +++ b/3.2_validation/3.2_validation.html @@ -0,0 +1,765 @@ + + + + + + + + + + + Validation — Cubes & Clouds - Cloud Native Open Data Sciences for Earth Observation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + +
+ +
+ + + + + +
+
+ + + + + + +
+ + + +
+ +
+
+ +
+
+ +
+ +
+ +
+ + +
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + + + + + + + +
+ +
+

Validation#

+
+

Learning objectives#

+
    +
  • Get to know typical validation strategies in EO

  • +
  • Understand where uncertainties appear in a workflow by design

  • +
  • Understand why validation is important

  • +
  • The validation of large scale mapping products

  • +
  • Validate some pixels of the snow cover area map

  • +
+
+
+

What is validation#

+

The validation process typically involves comparing a model or a developed Earth Observation (EO) product with reference data, and the level of agreement is assessed using validation metrics. Validating EO products is crucial to prevent misinterpretation or error propagation when utilizing the data for purposes such as area quantification, subsequent modeling, or planning, particularly in contexts like nature conservation or risk assessment. However, validating EO products poses significant challenges.

+

In this tutorial, we will explain how to derive validation metrics and how to interpret them. Our primary focus will center on the difficulties and limitations inherent in the accuracy assessment process, especially in the context of large-scale (global) mapping products based on Earth Observation.

+
+
+

Critically Analyse a workflow#

+
    +
  • Identify sources of uncertainty in the applied workflow

  • +
  • Process graph with pop-ups of sources of uncertainties

  • +
  • Strategies of how to improve

  • +
+

Now that we have carried out a very basic approach to solve our research question we should take some time to identify possible sources of uncertainty and think about how to improve them:

+
    +
  • Optical earth observation has some inherent drawbacks, most importantly: clouds. Especially in mountain regions.

    +
      +
    • We are excluding images where a certain cloud coverage is exceeded. There would still be some information available.

    • +
    • We are not filling in the gaps that clouds generate. This leaves us with some uncertainty.

    • +
    +
  • +
  • Use data fusion techniques and include SAR data, that can penetrate the clouds.

    +
      +
    • Sentinel-2 has a 6 day repeat rate. This means we do not know what happens with the snow cover in between two acquisitions.

    • +
    • Use data fusion techniques and include other optical sensors and SAR data

    • +
    +
  • +
  • Use physical snow models or heuristics to estimate the snow cover in between

    +
      +
    • We are using a threshold for discriminating between snow and no snow. Changing this arbitrary value will influence our results.

    • +
    • There are better, more complex ways to identify snow.

    • +
    +
  • +
  • Snow Cover does not represent the amount of snow.

    +
      +
    • Therefore we would need to calculate the snow depth.

    • +
    • Or better the Snow Water Equivalent.

    • +
    +
  • +
+
+
+

Typical validation approaches#

+
+

Reference data#

+

Reference data for EO are commonly obtained through field surveys or visual expert assessments of the underlying EO data. These reference datasets play a dual role, serving not only for validation purposes but also as essential components for training models, particularly when the EO product relies on predictions from a data-driven model. Consequently, when referring to reference data, a broad distinction is made between training and test data. The training dataset is employed in the model development phase, while the test dataset is crucial for evaluating the quality of the resulting product, specifically assessing the accuracy of predictions generated by the model.

+
+
+

Model validation and map validation#

+

Many EO products are generated using data-driven models, which can range from simple rule-based models to more complex machine learning models. In the process of creating such EO products, two distinct validation steps are crucial: model validation and map validation. +During model validation, we evaluate the model’s ability to predict the target variable (e.g., snow cover) based on EO data (e.g., optical satellite imagery). This evaluation often involves cross-validation, where the training data are divided into multiple folds. Iteratively, one fold is withheld during model training, and these reserved data are used to test the model’s performance in predicting unseen data. Cross-validation typically includes tuning the model (adjusting hyperparameters, selecting variables) to identify the optimal model for predicting the held-back data. +If (and only if) the training data and the derived cross-validation folds are representative for the prediction area (see discussion later), the cross-validation performance may be used as an indicator for the map accuracy.

+

To properly measure the map accuracy, a probability sample of the prediction area is required. This might be a random sample of the entire area that is used to describe the fit between the prediction (i.e. the map) and the reference. +However, in numerous scientific publications, this essential step is often omitted, and model performance alone is presented as the sole indicator for map accuracy. The following section outlines the risks associated with this practice.

+
+
+

Validation metrics#

+

Validation metrics summarize the fit between predictions and reference. For continuous variables (e.g. snow depth), Root Mean Square Error or Coefficient of Determination are commonly used validation metrics. For categorical variables (e.g. land cover), Accuracy or F1 score are frequently used summary statistics. For binary classifications, the area under the ROC curve may be used. However, there are many more validation metrics expressing the fit between prediction and reference by focusing on different aspects.

+
+
+
+

Validation strategies in the absence of a probability sample#

+

When reference data are randomly distributed across the prediction area, validation metrics can be computed by comparing predictions and reference through a randomly selected subset of the entire reference dataset used as test data. Alternatively, in cross-validation, the training data may be randomly partitioned into multiple folds. However, the availability of design-based samples is infrequent, particularly in large-scale mapping endeavors like global applications. +Typically, reference data are sourced from extensive databases, such as soil profiles or vegetation surveys, resulting in high clustering within areas that have been extensively studied or are easily accessible. Conversely, certain areas may entirely lack reference data, as illustrated in the accompanying figure.

+

Typical distributions of reference data

+
+

Figure 1: Comparison between 1000 randomly sampled reference data (left) and a highly clustered sample of the same size (right) that is typical for many environmental data sets. Reference: https://doi.org/10.1038/s41467-022-29838-9

+
+

When such data are randomly split into training and test sets or cross-validation folds, a significant issue arises: the lack of independence between training and test data. This stems from the fact that both sets originate from the same geographic areas, whereas the trained model is deployed to make predictions for much larger areas without available reference data. Ploton et al., 2020, illustrate the consequences: overly optimistic validation statistics that deviate from the actual quality of the map.

+

To address this challenge, various spatial data splitting methods have been proposed. These methods involve splitting reference data based on spatial units, spatial blocks, or by considering spatial autocorrelation, all with the aim of ensuring independence between training and test data (e.g. Brenning 2012, Roberts et al., 2017, Valavi et al., 2019) or representativeness for the prediction task (Mila 2022, Linnenbrink 2023).

+
+
+

Limits to accuracy assessment#

+

Employing validation strategies tailored for spatial data enables us to offer the most accurate estimates of map accuracy, albeit with certain limitations. Reflecting on the reference data illustrated in Figure 1, large areas lack coverage from any reference data. While it is technically feasible to generate predictions for these areas, the question arises: is this a reasonable approach?

+

Assuming that new geographical spaces often goes along with new environmental conditions, it becomes likely that our models may not be applicable to these environments due to non-applicable relationships. For instance, consider reference data for vegetation traits sampled in low elevations; it raises questions about the model’s applicability to high elevations where the traits might be influenced by different factors. This challenge is particularly pronounced when employing machine learning models, as their extrapolation abilities are often limited. When making predictions, the model is compelled to extend its predictions into unknown areas, making predictions for regions beyond the trained data range highly uncertain. +This, however, is not reflected by the validation statistics that were calculated based on the reference data, hence knowledge on the performance in the data-poor regions is not included. As a result, the statistics fail to reflect the accuracy of the model in these areas, and predictions for regions outside the original data range should be approached with caution due to their inherent uncertainty.

+

It is therefore important to limit predictions to the area where the model was trained and validated for. Meyer and Pebesma 2021 provide one suggestion to derive the “area of applicability” of prediction models that is based on distances to reference data in the predictor space. Other suggestion limit predictions to the geographic proximity of reference data (Sabatini et al., 2022).

+
+
+

Communication of validation#

+

As outlined above, the step of accuracy assessment involves considerable considerations on the data used for evaluation and requires awareness on the area these statistics are considered valid for. This challenge becomes particularly crucial when reference data fail to represent a comprehensive sample of the entire prediction area, a common scenario in many geoscience applications - to avoid overly optimistic performance estimates and hence false conclusions on the map accuracy. The validation procedure hence needs to be carefully communicated alongside the predictions. The resulting EO product (i.e. the prediction map) should be limited to the area for which the model was enabled to learn about relationships and for which performance estimates can be reliably provided for. This can be done by either masking the map or by providing an additional quality layer.

+

The validation of large scale mapping products

+
+

Video content in cooperation with Hannah Meyer (University of Münster).
+“Validation isn’t optional. It’s a must.”

+
+
+
+

Exercise#

+

Let’s apply some validation steps on a cloud platform in practice!

+

Exercise 3.2 Validation

+
+
+

Quiz#

+
+

Theory#

+

What are common problems in creating and validating global maps?

+
[[x]] The spatial distribution of reference data: There are usually areas in the world where reference data is clustered and areas where there is hardly any data available.
+[[ ]] None: We have cloud computing that can scale to produce global maps and machine learning models can automatically account for data sparse regions.
+[[x]] The availablility of reference data: Some biophysical indicators are not measured frequently in space and time in the field (e.g. leaf area index, snow water equivalent)
+
+
+

What is the Area of Applicability?

+
[( )] It's the topic the map covers (e.g. vegetation cover)
+[( )] It's the extent of the map.
+[(x)] It's the area of the map where the values are representable.
+
+
+
+
+

Exercises#

+

How many snow stations are in the catchment? Answer in the exercise: 33_validation.ipynb section ‘Load snow-station in-situ data’

+
[( )] 3
+[( )] 7
+[(x)] 5
+
+
+

Which openEO process is used to extract the time series of the snow covered area at the station locations? Answer in the exercise: 33_validation.ipynb

+
[( )] reduce_spatial
+[( )] resample_cube
+[(x)] aggregate_spatial
+
+
+

Which is the station where the mapped snow cover has the lowest accuracy? Answer in the exercise: 33_validation.ipynb section ‘validate the SCA results with the snow station measurements’

+
[( )] Rifiano Beobachter
+[( )] Saint Leonardo in Passiria Osservatore
+[(x)] Plata Osservatore
+
+
+

When is the date with the maximum runoff/discharge? Answer in the exercise: 33_validation.ipynb section ‘compare to discharge data’

+
[( )] 2018-06-03
+[( )] 2018-04-17
+[(x)] 2018-05-03
+
+
+

How is the relation between snow cover and runoff/discharge? Answer in the exercise: 33_validation.ipynb section ‘compare to discharge data’

+
[( )] When the snow cover is high, also the runoff is high.
+[(x)] Snow melt is followed by increased runoff.
+[( )] Snow melt is followed by reduced runoff.
+
+
+
+
+
+

Further Reading#

+ +
+
+

References#

+ +
+
+
+
+ + + + +
+ + + + + + + + +
+ + + + + + + +
+ + + +
+
+
+ + + + + + + + \ No newline at end of file diff --git a/3.3_data_sharing/3.3_data_sharing.html b/3.3_data_sharing/3.3_data_sharing.html new file mode 100644 index 0000000..c0d60e1 --- /dev/null +++ b/3.3_data_sharing/3.3_data_sharing.html @@ -0,0 +1,663 @@ + + + + + + + + + + + 3.3 Data Sharing — Cubes & Clouds - Cloud Native Open Data Sciences for Earth Observation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + +
+ +
+ + + + + +
+
+ + + + + + +
+ + + +
+ +
+
+ +
+
+ +
+ +
+ +
+ + +
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + + + + + + + +
+ +
+

3.3 Data Sharing#

+
+

Learning Objectives#

+
    +
  • Carry out an EO workflow on a cloud platform independently

  • +
  • Make our results open and FAIR

  • +
  • Collaborate with a community of researchers to reach a common goal

  • +
+
+
+

Introduction#

+

We have reached the last chapter of the course. You know about data cubes, cloud platforms and open science. Now it’s time to prove it! We will apply everything we have learned so far and complete our own EO workflow on a cloud platform adhering to the open science principles. +We have carried out a full EO workflow to produce snow cover information in an alpine catchment. To make our results impactful we need to make them openly available to other researchers and the general public. Therefore we are going to learn how to share our data set (and code) properly - following the FAIR principles. We have learned about the concepts of open science in lecture 1.3 open science. Now we are going to apply them! We are going to create a snow cover area map of the alps together with all the participants of the course. Everyone adds their contribution to a shared map. With every participant another small patch of the alps gets mapped! The map is openly available so that everybody can track our progress, the data is openly available and you can point to the patch you have provided!

+

Your Open Science Journey

+
+

Video content in cooperation with Leandro Parente (OpenGeoHub).
+“Connect - Create - Share - Repeat”
+Links to OpenGeoHub’s open science projects mentioned in the video:

+ +
+
+
+

The steps of your open science journey#

+
+

Produce your own map#

+
    +
  • Reuse the workflow to generate the snow covered area data cube

  • +
  • Adapt the workflow to generate your personal contribution to mapping the snow covered area of the alps

    +
      +
    • Choose an extent on the map that hasn’t been mapped yet. We are producing patches of roughly 1km by 1km.

    • +
    • Choose a time extent. The winter months of a given year.

    • +
    • Add a step to reduce the time dimension. We want to create one layer for the winter season of the given year.

    • +
    • Adapt the file format to Cloud Optimized GeoTiff (perfectly suitable for a raster file with one time step and one band).

    • +
    +
  • +
  • Download the result consisting of the STAC metadata and the COG

  • +
+
+
+

Validate the result#

+
    +
  • This is still work in progress

  • +
+
+
+

Make the data FAIR and open#

+ +
    +
  • Customize the STAC metadata (e.g. adding you as the author)

  • +
  • Trigger the update of the STAC catalogue and web map by submitting your results. Your data will be openly available!

  • +
  • A license is assigned to the whole collection of all the produced patches

  • +
  • A doi is assigned to the whole collection of all the produced patches

  • +
+
+
+

Evaluate how FAIR the result is#

+
    +
  • Do the FAIR self assessment tool after you’ve created your results

  • +
  • You will get a score on how FAIR the dataset you have produced really is

  • +
+
+
+
+

Exercise#

+

Time to start your own open science journey. Produce a snow cover area map for a region that hasn’t been mapped yet. FAIRify your results and make them publicly available!

+

Exercise 3.3 Sharing

+
+
+

FAIR Assessment#

+

This tool allows you to check how FAIR your results are. Give it a shot!

+

Embed: au-research/FAIR-Data-Assessment-Tool

+
+
+

Community Mapping Project#

+

Have a look at your results! Have a look at the community mapping project you have contributed to!

+

STAC Browser Cubes and Clouds - Snow Cover

+
+
+

Congratulations#

+

Congrats! You’ve made it through the Cubes and Clouds online course!

+

Introduction to EO Cloud Platforms

+
+
+
+
+ + + + +
+ + + + + + + + +
+ + + + + + + +
+ + + +
+
+
+ + + + + + + + \ No newline at end of file diff --git a/3.3_data_sharing/3.3_exercises/33_data_sharing.html b/3.3_data_sharing/3.3_exercises/33_data_sharing.html new file mode 100644 index 0000000..7f85b9e --- /dev/null +++ b/3.3_data_sharing/3.3_exercises/33_data_sharing.html @@ -0,0 +1,2130 @@ + + + + + + + + + + + 3.3 Data Sharing — Cubes & Clouds - Cloud Native Open Data Sciences for Earth Observation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + +
+ +
+ + + + + +
+
+ + + + + + +
+ + + +
+ +
+
+ +
+
+ +
+ +
+ +
+ + +
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + + + + + + + +
+ +

Cubes & Clouds logo

+
+

3.3 Data Sharing#

+

Science is much more impactful once it’s shared. Therefore, we are going to learn how to +open up our scientific output from a cloud platform, so that is openly available - and +has the chance to make the impact it should.

+
    +
  • Reuse the workflow we have used before for creating the snow covered area

  • +
  • Select AOI,

  • +
  • Recreate process graph,

  • +
  • Download results for one time-step

    +
      +
    • A Snow Cover Area map in the COG format

    • +
    • A STAC metadata item that is provided with the result from openEO at CDSE

    • +
    +
  • +
  • Adapt the STAC item

  • +
  • Upload the results and make them available openly via a STAC browser and web map

  • +
+
+

Libraries#

+

Start by creating the folders and data files needed to complete the exercise

+
+
+
!cp -r $DATA_PATH/33_results/ $HOME/
+
+
+
+
+
+
+
!cp $DATA_PATH/_33_cubes_utilities.py $HOME/
+
+
+
+
+
+
+
import json
+import os
+import subprocess
+from datetime import datetime
+
+import openeo
+import numpy as np
+import leafmap
+import geopandas as gpd
+import shapely
+from shapely.geometry import Polygon
+
+import matplotlib.pyplot as plt
+from matplotlib.ticker import PercentFormatter
+
+import rioxarray as rio
+import xarray
+from osgeo import gdal
+
+from _33_cubes_utilities import (
+    calculate_sca,
+    visualize_bbox,
+    create_bounding_box,
+    extract_metadata_geometry, 
+    extract_metadata_time
+)
+
+
+
+
+
+
+

Login#

+

Connect to the copernicus dataspace ecosystem.

+
+
+
conn = openeo.connect('https://openeo.dataspace.copernicus.eu/')
+
+
+
+
+

Authenticate login

+
+
+
conn.authenticate_oidc()
+
+
+
+
+
Authenticated using refresh token.
+
+
+
<Connection to 'https://openeo.dataspace.copernicus.eu/openeo/1.2/' with OidcBearerAuth>
+
+
+
+
+

Check if the login worked

+
+
+
conn.describe_account()
+
+
+
+
+
+
+

Select an Area of Interest and Time Frame#

+

Start by selecting a center point of the area you would like to analyse from the map shown below. The starting extent is the full alps. Zoom in to an area and choose a region that has not been mapped yet. Make sure not to overlap too much with already mapped areas by having a look at the STAC Collection. It’s a community mapping project :) +Create a 1 km bounding box around it. This will be the area you are calculating the snow covered area for.

+

Attention: +Execute the cell below to show the map. Zoom to a location you want to analyze. Use the location symbol to select a point. A marker appears on the map. This is the center of your area of interest

+
+
+
m = leafmap.Map(center=(47.005, 11.507), zoom=7.5)
+m
+
+
+
+
+
+
+

Attention: +Now this cell will get the coordinates of the marker you have placed. This will create a 1 km bounding box around the chosen location. And visualize it in the map above. The marker moves to the center when you zoom in

+
+
+
feat = m.draw_features
+geom = feat[0]['geometry']['coordinates']
+
+# set distance of 1 km around bbox
+distance_km = 1
+
+# Create a bounding box around the point
+bbox = create_bounding_box(geom[0], geom[1], distance_km)
+visualize_bbox(m, bbox)
+
+
+
+
+

Now we’ll select the time frame. We’ll start with the winter months of 2023.

+
+
+
temporal_extent = ["2023-02-01", "2023-06-01"]
+
+
+
+
+
+
+

Reuse the process graph of the snow covered area data cube#

+

We’ve saved the python code that we had used to create the snow cover area data cube into a python function calculate_sca(). It’s stored in cubes_utilities.py. It creates a 4 dimensional data cube with the dimensions: x, y, time, bands. +As parameters we have exposed the bounding box and temporal extent. We will update them with the choices we have made above.

+
+
+
snow_map_4dcube = calculate_sca(conn, bbox, temporal_extent)
+snow_map_4dcube
+
+
+
+
+
+ + + + +
+
+
+
+

Reduce the time dimension#

+

We want to calculate the SCA for the winter period of a given year. Therefore, we need to reduce the values along the time dimension. We’ll use the process reduce_dimension() with a median() to accomplish this. We are directly continuing to build on our process graph that we have loaded above.

+
+
+
snow_map_3dcube = snow_map_4dcube.reduce_dimension(reducer="median", dimension="t")
+snow_map_3dcube
+
+
+
+
+
+ + + + +
+
+
+
+

Download result#

+

To finish our process graph we add the save_result() process choosing the GTiff format. It creates a COG out of the box with openEO on CDSE.

+
+
+
# create a batch job
+snowmap_cog = snow_map_3dcube.save_result(format = "GTiff") #, options = {"overviews": "AUTO"})
+
+
+
+
+

We register the job as a batch job on the backend and start the processing. Depending on the traffic on the backend, this usually takes between 1 to 5 minutes.

+
+
+
job = snowmap_cog.create_job(title="snowmap_cog")
+job.start_and_wait()
+
+
+
+
+
0:00:00 Job 'j-2401318f19a84122b62657ed798f0c9e': send 'start'
+0:00:17 Job 'j-2401318f19a84122b62657ed798f0c9e': created (progress N/A)
+0:00:22 Job 'j-2401318f19a84122b62657ed798f0c9e': created (progress N/A)
+0:00:29 Job 'j-2401318f19a84122b62657ed798f0c9e': created (progress N/A)
+0:00:37 Job 'j-2401318f19a84122b62657ed798f0c9e': created (progress N/A)
+0:00:47 Job 'j-2401318f19a84122b62657ed798f0c9e': created (progress N/A)
+0:01:00 Job 'j-2401318f19a84122b62657ed798f0c9e': created (progress N/A)
+0:01:16 Job 'j-2401318f19a84122b62657ed798f0c9e': created (progress N/A)
+0:01:36 Job 'j-2401318f19a84122b62657ed798f0c9e': created (progress N/A)
+0:02:01 Job 'j-2401318f19a84122b62657ed798f0c9e': created (progress N/A)
+0:02:31 Job 'j-2401318f19a84122b62657ed798f0c9e': created (progress N/A)
+0:03:09 Job 'j-2401318f19a84122b62657ed798f0c9e': created (progress N/A)
+0:03:56 Job 'j-2401318f19a84122b62657ed798f0c9e': created (progress N/A)
+0:04:54 Job 'j-2401318f19a84122b62657ed798f0c9e': running (progress N/A)
+0:05:54 Job 'j-2401318f19a84122b62657ed798f0c9e': finished (progress N/A)
+
+
+
+ + + + +
+
+

Now let’s wait until the job is finished and then download the results.

+
+
+
if job.status() == "finished":
+    results = job.get_results()
+    results.download_files("33_results/")
+
+
+
+
+

Add statistics to the dataset via gdal, such as a summary of the values within the dataset and also some metadata, i.e. the legend (TIFFTAGS). And we reduce the datatype to the lowest possible datatype supported by COG uint8, since only have three values to represent (0, 1, 2). If you’re interested you can check what happened via !gdalinfo 33_results/openEO_uint8.tif

+
+
+
!gdal_translate -mo {TIFFTAG_IMAGEDESCRIPTION}=SnowCoveredArea_0=nosnow_1=snow_2-nodatavalue=cloud -ot Byte -of COG -a_nodata 2 -stats "33_results/openEO.tif" "33_results/openEO_uint8.tif"
+
+
+
+
+
Input file size is 145, 210
+0...10...20...30...40...50...60...70...80...90...100 - done.
+
+
+
+
+
+
+

Load results#

+

Now we can open the COG and visualize it.

+
+
+
snowmap = rio.open_rasterio("33_results/openEO_uint8.tif", decode_coords="all")
+snowmap
+
+
+
+
+
+ + + + + + + + + + + + + + +
<xarray.DataArray (band: 1, y: 210, x: 145)>
+[30450 values with dtype=uint8]
+Coordinates:
+  * band         (band) int64 1
+  * x            (x) float64 6.883e+05 6.884e+05 ... 6.898e+05 6.898e+05
+  * y            (y) float64 5.169e+06 5.169e+06 ... 5.167e+06 5.167e+06
+    spatial_ref  int64 0
+Attributes:
+    AREA_OR_POINT:               Area
+    PROCESSING_SOFTWARE:         0.24.0a1
+    {TIFFTAG_IMAGEDESCRIPTION}:  SnowCoveredArea_0=nosnow_1=snow_2-nodatavalu...
+    STATISTICS_MAXIMUM:          1
+    STATISTICS_MEAN:             1
+    STATISTICS_MINIMUM:          1
+    STATISTICS_STDDEV:           0
+    STATISTICS_VALID_PERCENT:    39.04
+    _FillValue:                  2
+    scale_factor:                1.0
+    add_offset:                  0.0
+
+

Now, we check if the nodata value can be determined directly from the COG metadata

+
+
+
snowmap.rio.nodata
+
+
+
+
+
2
+
+
+
+
+

Now, we make a plot of the snowmap keeping in mind that 0 = no snow, 1 = snow, and 2 = clouds (nodata value)

+
+
+
snowmap.plot(levels=[0, 1, 2])
+plt.title("Spatial distribution of snow, no snow and cloudy pixels")
+plt.ylabel("Latitude")
+plt.xlabel("Longitude")
+plt.tight_layout()
+
+
+
+
+../../_images/d69c4ccbd8906c73d7551b262a8918a24871fc990f2600f0005adea431a48d29.png +
+
+

Let’s have a look at the histogram to understand the distribution of the values in our map

+
+
+
data = snowmap.values.flatten()
+snowmap.plot.hist(xticks = [0, 1, 2], weights=np.ones(len(data)) / len(data))
+
+plt.gca().yaxis.set_major_formatter(PercentFormatter(1))
+plt.title("Distribution of snow, no snow and cloud pixels")
+plt.show()
+
+
+
+
+../../_images/977ee1a6f0e18618aa7db64934b26ae38955154adb7c690dc9e4e55e94dd3bc3.png +
+
+
+
+

Load STAC metadata#

+

In addition to the COG we also receive STAC metadata for our result. +Let’s have a look at it.

+
+
+
stac_collection = results.get_metadata()
+stac_collection
+
+
+
+
+
{'assets': {'openEO.tif': {'file:nodata': ['nan'],
+   'href': 'https://openeo.dataspace.copernicus.eu/openeo/1.2/jobs/j-2401318f19a84122b62657ed798f0c9e/results/assets/MDYxODNjYmMtODRjOC00YzZhLThhN2QtY2IxOGJhMDhjYzhj/ed41e358ad1fe308f681e33015b06869/openEO.tif?expires=1707311403',
+   'proj:bbox': [688340.0, 5166800.0, 689790.0, 5168900.0],
+   'proj:epsg': 32632,
+   'proj:shape': [145, 210],
+   'raster:bands': [{'name': '1',
+     'statistics': {'maximum': 2.0,
+      'mean': 1.5691625615764,
+      'minimum': 0.5,
+      'stddev': 0.47448333824272,
+      'valid_percent': 100.0}}],
+   'roles': ['data'],
+   'title': 'openEO.tif',
+   'type': 'image/tiff; application=geotiff'}},
+ 'description': 'Results for batch job j-2401318f19a84122b62657ed798f0c9e',
+ 'extent': {'spatial': {'bbox': [[11.461193783940812,
+     46.62835651400798,
+     11.479180216059186,
+     46.64670948599201]]},
+  'temporal': {'interval': [['2023-02-01T00:00:00Z',
+     '2023-06-01T00:00:00Z']]}},
+ 'id': 'j-2401318f19a84122b62657ed798f0c9e',
+ 'license': 'proprietary',
+ 'links': [{'href': '/eodata/Sentinel-2/MSI/L2A/2023/02/02/S2A_MSIL2A_20230202T101231_N0509_R022_T32TPS_20230202T142000.SAFE',
+   'rel': 'derived_from',
+   'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/02/02/S2A_MSIL2A_20230202T101231_N0509_R022_T32TPS_20230202T142000.SAFE',
+   'type': 'application/json'},
+  {'href': '/eodata/Sentinel-2/MSI/L2A/2023/02/05/S2A_MSIL2A_20230205T102221_N0509_R065_T32TPS_20230205T135958.SAFE',
+   'rel': 'derived_from',
+   'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/02/05/S2A_MSIL2A_20230205T102221_N0509_R065_T32TPS_20230205T135958.SAFE',
+   'type': 'application/json'},
+  {'href': '/eodata/Sentinel-2/MSI/L2A/2023/02/07/S2B_MSIL2A_20230207T101109_N0509_R022_T32TPS_20230207T124736.SAFE',
+   'rel': 'derived_from',
+   'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/02/07/S2B_MSIL2A_20230207T101109_N0509_R022_T32TPS_20230207T124736.SAFE',
+   'type': 'application/json'},
+  {'href': '/eodata/Sentinel-2/MSI/L2A/2023/02/10/S2B_MSIL2A_20230210T102049_N0509_R065_T32TPS_20230210T125716.SAFE',
+   'rel': 'derived_from',
+   'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/02/10/S2B_MSIL2A_20230210T102049_N0509_R065_T32TPS_20230210T125716.SAFE',
+   'type': 'application/json'},
+  {'href': '/eodata/Sentinel-2/MSI/L2A/2023/02/12/S2A_MSIL2A_20230212T101131_N0509_R022_T32TPS_20230212T142159.SAFE',
+   'rel': 'derived_from',
+   'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/02/12/S2A_MSIL2A_20230212T101131_N0509_R022_T32TPS_20230212T142159.SAFE',
+   'type': 'application/json'},
+  {'href': '/eodata/Sentinel-2/MSI/L2A/2023/02/15/S2A_MSIL2A_20230215T102121_N0509_R065_T32TPS_20230215T141008.SAFE',
+   'rel': 'derived_from',
+   'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/02/15/S2A_MSIL2A_20230215T102121_N0509_R065_T32TPS_20230215T141008.SAFE',
+   'type': 'application/json'},
+  {'href': '/eodata/Sentinel-2/MSI/L2A/2023/02/17/S2B_MSIL2A_20230217T101029_N0509_R022_T32TPS_20230217T125054.SAFE',
+   'rel': 'derived_from',
+   'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/02/17/S2B_MSIL2A_20230217T101029_N0509_R022_T32TPS_20230217T125054.SAFE',
+   'type': 'application/json'},
+  {'href': '/eodata/Sentinel-2/MSI/L2A/2023/02/20/S2B_MSIL2A_20230220T101949_N0509_R065_T32TPS_20230220T145403.SAFE',
+   'rel': 'derived_from',
+   'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/02/20/S2B_MSIL2A_20230220T101949_N0509_R065_T32TPS_20230220T145403.SAFE',
+   'type': 'application/json'},
+  {'href': '/eodata/Sentinel-2/MSI/L2A/2023/02/22/S2A_MSIL2A_20230222T101031_N0509_R022_T32TPS_20230222T141055.SAFE',
+   'rel': 'derived_from',
+   'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/02/22/S2A_MSIL2A_20230222T101031_N0509_R022_T32TPS_20230222T141055.SAFE',
+   'type': 'application/json'},
+  {'href': '/eodata/Sentinel-2/MSI/L2A/2023/02/25/S2A_MSIL2A_20230225T102021_N0509_R065_T32TPS_20230225T163245.SAFE',
+   'rel': 'derived_from',
+   'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/02/25/S2A_MSIL2A_20230225T102021_N0509_R065_T32TPS_20230225T163245.SAFE',
+   'type': 'application/json'},
+  {'href': '/eodata/Sentinel-2/MSI/L2A/2023/02/27/S2B_MSIL2A_20230227T101029_N0509_R022_T32TPS_20230227T124853.SAFE',
+   'rel': 'derived_from',
+   'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/02/27/S2B_MSIL2A_20230227T101029_N0509_R022_T32TPS_20230227T124853.SAFE',
+   'type': 'application/json'},
+  {'href': '/eodata/Sentinel-2/MSI/L2A/2023/03/02/S2B_MSIL2A_20230302T101839_N0509_R065_T32TPS_20230302T165059.SAFE',
+   'rel': 'derived_from',
+   'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/03/02/S2B_MSIL2A_20230302T101839_N0509_R065_T32TPS_20230302T165059.SAFE',
+   'type': 'application/json'},
+  {'href': '/eodata/Sentinel-2/MSI/L2A/2023/03/04/S2A_MSIL2A_20230304T101021_N0509_R022_T32TPS_20230907T154000.SAFE',
+   'rel': 'derived_from',
+   'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/03/04/S2A_MSIL2A_20230304T101021_N0509_R022_T32TPS_20230907T154000.SAFE',
+   'type': 'application/json'},
+  {'href': '/eodata/Sentinel-2/MSI/L2A/2023/03/07/S2A_MSIL2A_20230307T101901_N0509_R065_T32TPS_20230307T162402.SAFE',
+   'rel': 'derived_from',
+   'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/03/07/S2A_MSIL2A_20230307T101901_N0509_R065_T32TPS_20230307T162402.SAFE',
+   'type': 'application/json'},
+  {'href': '/eodata/Sentinel-2/MSI/L2A/2023/03/09/S2B_MSIL2A_20230309T100749_N0509_R022_T32TPS_20230309T162710.SAFE',
+   'rel': 'derived_from',
+   'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/03/09/S2B_MSIL2A_20230309T100749_N0509_R022_T32TPS_20230309T162710.SAFE',
+   'type': 'application/json'},
+  {'href': '/eodata/Sentinel-2/MSI/L2A/2023/03/12/S2B_MSIL2A_20230312T101729_N0509_R065_T32TPS_20230312T163807.SAFE',
+   'rel': 'derived_from',
+   'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/03/12/S2B_MSIL2A_20230312T101729_N0509_R065_T32TPS_20230312T163807.SAFE',
+   'type': 'application/json'},
+  {'href': '/eodata/Sentinel-2/MSI/L2A/2023/03/14/S2A_MSIL2A_20230314T101021_N0509_R022_T32TPS_20230314T161800.SAFE',
+   'rel': 'derived_from',
+   'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/03/14/S2A_MSIL2A_20230314T101021_N0509_R022_T32TPS_20230314T161800.SAFE',
+   'type': 'application/json'},
+  {'href': '/eodata/Sentinel-2/MSI/L2A/2023/03/17/S2A_MSIL2A_20230317T101741_N0509_R065_T32TPS_20230317T162557.SAFE',
+   'rel': 'derived_from',
+   'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/03/17/S2A_MSIL2A_20230317T101741_N0509_R065_T32TPS_20230317T162557.SAFE',
+   'type': 'application/json'},
+  {'href': '/eodata/Sentinel-2/MSI/L2A/2023/03/19/S2B_MSIL2A_20230319T100649_N0509_R022_T32TPS_20230319T130804.SAFE',
+   'rel': 'derived_from',
+   'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/03/19/S2B_MSIL2A_20230319T100649_N0509_R022_T32TPS_20230319T130804.SAFE',
+   'type': 'application/json'},
+  {'href': '/eodata/Sentinel-2/MSI/L2A/2023/03/22/S2B_MSIL2A_20230322T101649_N0509_R065_T32TPS_20230322T145625.SAFE',
+   'rel': 'derived_from',
+   'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/03/22/S2B_MSIL2A_20230322T101649_N0509_R065_T32TPS_20230322T145625.SAFE',
+   'type': 'application/json'},
+  {'href': '/eodata/Sentinel-2/MSI/L2A/2023/03/24/S2A_MSIL2A_20230324T101021_N0509_R022_T32TPS_20230324T161752.SAFE',
+   'rel': 'derived_from',
+   'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/03/24/S2A_MSIL2A_20230324T101021_N0509_R022_T32TPS_20230324T161752.SAFE',
+   'type': 'application/json'},
+  {'href': '/eodata/Sentinel-2/MSI/L2A/2023/03/27/S2A_MSIL2A_20230327T101631_N0509_R065_T32TPS_20230327T162303.SAFE',
+   'rel': 'derived_from',
+   'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/03/27/S2A_MSIL2A_20230327T101631_N0509_R065_T32TPS_20230327T162303.SAFE',
+   'type': 'application/json'},
+  {'href': '/eodata/Sentinel-2/MSI/L2A/2023/03/29/S2B_MSIL2A_20230329T100629_N0509_R022_T32TPS_20230329T130657.SAFE',
+   'rel': 'derived_from',
+   'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/03/29/S2B_MSIL2A_20230329T100629_N0509_R022_T32TPS_20230329T130657.SAFE',
+   'type': 'application/json'},
+  {'href': '/eodata/Sentinel-2/MSI/L2A/2023/04/01/S2B_MSIL2A_20230401T101559_N0509_R065_T32TPS_20230401T145632.SAFE',
+   'rel': 'derived_from',
+   'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/04/01/S2B_MSIL2A_20230401T101559_N0509_R065_T32TPS_20230401T145632.SAFE',
+   'type': 'application/json'},
+  {'href': '/eodata/Sentinel-2/MSI/L2A/2023/04/03/S2A_MSIL2A_20230403T100551_N0509_R022_T32TPS_20230403T162459.SAFE',
+   'rel': 'derived_from',
+   'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/04/03/S2A_MSIL2A_20230403T100551_N0509_R022_T32TPS_20230403T162459.SAFE',
+   'type': 'application/json'},
+  {'href': '/eodata/Sentinel-2/MSI/L2A/2023/04/06/S2A_MSIL2A_20230406T102021_N0509_R065_T32TPS_20230406T194357.SAFE',
+   'rel': 'derived_from',
+   'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/04/06/S2A_MSIL2A_20230406T102021_N0509_R065_T32TPS_20230406T194357.SAFE',
+   'type': 'application/json'},
+  {'href': '/eodata/Sentinel-2/MSI/L2A/2023/04/08/S2B_MSIL2A_20230408T100559_N0509_R022_T32TPS_20230408T131134.SAFE',
+   'rel': 'derived_from',
+   'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/04/08/S2B_MSIL2A_20230408T100559_N0509_R022_T32TPS_20230408T131134.SAFE',
+   'type': 'application/json'},
+  {'href': '/eodata/Sentinel-2/MSI/L2A/2023/04/11/S2B_MSIL2A_20230411T101559_N0509_R065_T32TPS_20230411T131019.SAFE',
+   'rel': 'derived_from',
+   'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/04/11/S2B_MSIL2A_20230411T101559_N0509_R065_T32TPS_20230411T131019.SAFE',
+   'type': 'application/json'},
+  {'href': '/eodata/Sentinel-2/MSI/L2A/2023/04/13/S2A_MSIL2A_20230413T100551_N0509_R022_T32TPS_20230413T161903.SAFE',
+   'rel': 'derived_from',
+   'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/04/13/S2A_MSIL2A_20230413T100551_N0509_R022_T32TPS_20230413T161903.SAFE',
+   'type': 'application/json'},
+  {'href': '/eodata/Sentinel-2/MSI/L2A/2023/04/16/S2A_MSIL2A_20230416T101601_N0509_R065_T32TPS_20230416T162901.SAFE',
+   'rel': 'derived_from',
+   'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/04/16/S2A_MSIL2A_20230416T101601_N0509_R065_T32TPS_20230416T162901.SAFE',
+   'type': 'application/json'},
+  {'href': '/eodata/Sentinel-2/MSI/L2A/2023/04/18/S2B_MSIL2A_20230418T100559_N0509_R022_T32TPS_20230418T131202.SAFE',
+   'rel': 'derived_from',
+   'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/04/18/S2B_MSIL2A_20230418T100559_N0509_R022_T32TPS_20230418T131202.SAFE',
+   'type': 'application/json'},
+  {'href': '/eodata/Sentinel-2/MSI/L2A/2023/04/21/S2B_MSIL2A_20230421T101559_N0509_R065_T32TPS_20230421T131333.SAFE',
+   'rel': 'derived_from',
+   'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/04/21/S2B_MSIL2A_20230421T101559_N0509_R065_T32TPS_20230421T131333.SAFE',
+   'type': 'application/json'},
+  {'href': '/eodata/Sentinel-2/MSI/L2A/2023/04/23/S2A_MSIL2A_20230423T100551_N0509_R022_T32TPS_20230423T162900.SAFE',
+   'rel': 'derived_from',
+   'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/04/23/S2A_MSIL2A_20230423T100551_N0509_R022_T32TPS_20230423T162900.SAFE',
+   'type': 'application/json'},
+  {'href': '/eodata/Sentinel-2/MSI/L2A/2023/04/26/S2A_MSIL2A_20230426T101601_N0509_R065_T32TPS_20230426T162055.SAFE',
+   'rel': 'derived_from',
+   'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/04/26/S2A_MSIL2A_20230426T101601_N0509_R065_T32TPS_20230426T162055.SAFE',
+   'type': 'application/json'},
+  {'href': '/eodata/Sentinel-2/MSI/L2A/2023/04/28/S2B_MSIL2A_20230428T100559_N0509_R022_T32TPS_20230428T133214.SAFE',
+   'rel': 'derived_from',
+   'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/04/28/S2B_MSIL2A_20230428T100559_N0509_R022_T32TPS_20230428T133214.SAFE',
+   'type': 'application/json'},
+  {'href': '/eodata/Sentinel-2/MSI/L2A/2023/05/01/S2B_MSIL2A_20230501T101559_N0509_R065_T32TPS_20230501T132325.SAFE',
+   'rel': 'derived_from',
+   'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/05/01/S2B_MSIL2A_20230501T101559_N0509_R065_T32TPS_20230501T132325.SAFE',
+   'type': 'application/json'},
+  {'href': '/eodata/Sentinel-2/MSI/L2A/2023/05/03/S2A_MSIL2A_20230503T101021_N0509_R022_T32TPS_20230503T180406.SAFE',
+   'rel': 'derived_from',
+   'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/05/03/S2A_MSIL2A_20230503T101021_N0509_R022_T32TPS_20230503T180406.SAFE',
+   'type': 'application/json'},
+  {'href': '/eodata/Sentinel-2/MSI/L2A/2023/05/06/S2A_MSIL2A_20230506T101601_N0509_R065_T32TPS_20230506T162659.SAFE',
+   'rel': 'derived_from',
+   'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/05/06/S2A_MSIL2A_20230506T101601_N0509_R065_T32TPS_20230506T162659.SAFE',
+   'type': 'application/json'},
+  {'href': '/eodata/Sentinel-2/MSI/L2A/2023/05/08/S2B_MSIL2A_20230508T100559_N0509_R022_T32TPS_20230508T131238.SAFE',
+   'rel': 'derived_from',
+   'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/05/08/S2B_MSIL2A_20230508T100559_N0509_R022_T32TPS_20230508T131238.SAFE',
+   'type': 'application/json'},
+  {'href': '/eodata/Sentinel-2/MSI/L2A/2023/05/11/S2B_MSIL2A_20230511T101559_N0509_R065_T32TPS_20230511T163715.SAFE',
+   'rel': 'derived_from',
+   'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/05/11/S2B_MSIL2A_20230511T101559_N0509_R065_T32TPS_20230511T163715.SAFE',
+   'type': 'application/json'},
+  {'href': '/eodata/Sentinel-2/MSI/L2A/2023/05/13/S2A_MSIL2A_20230513T100551_N0509_R022_T32TPS_20230513T161552.SAFE',
+   'rel': 'derived_from',
+   'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/05/13/S2A_MSIL2A_20230513T100551_N0509_R022_T32TPS_20230513T161552.SAFE',
+   'type': 'application/json'},
+  {'href': '/eodata/Sentinel-2/MSI/L2A/2023/05/16/S2A_MSIL2A_20230516T101601_N0509_R065_T32TPS_20230516T181153.SAFE',
+   'rel': 'derived_from',
+   'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/05/16/S2A_MSIL2A_20230516T101601_N0509_R065_T32TPS_20230516T181153.SAFE',
+   'type': 'application/json'},
+  {'href': '/eodata/Sentinel-2/MSI/L2A/2023/05/18/S2B_MSIL2A_20230518T100559_N0509_R022_T32TPS_20230518T144255.SAFE',
+   'rel': 'derived_from',
+   'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/05/18/S2B_MSIL2A_20230518T100559_N0509_R022_T32TPS_20230518T144255.SAFE',
+   'type': 'application/json'},
+  {'href': '/eodata/Sentinel-2/MSI/L2A/2023/05/21/S2B_MSIL2A_20230521T101609_N0509_R065_T32TPS_20230521T131745.SAFE',
+   'rel': 'derived_from',
+   'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/05/21/S2B_MSIL2A_20230521T101609_N0509_R065_T32TPS_20230521T131745.SAFE',
+   'type': 'application/json'},
+  {'href': '/eodata/Sentinel-2/MSI/L2A/2023/05/23/S2A_MSIL2A_20230523T100601_N0509_R022_T32TPS_20230523T161057.SAFE',
+   'rel': 'derived_from',
+   'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/05/23/S2A_MSIL2A_20230523T100601_N0509_R022_T32TPS_20230523T161057.SAFE',
+   'type': 'application/json'},
+  {'href': '/eodata/Sentinel-2/MSI/L2A/2023/05/26/S2A_MSIL2A_20230526T101601_N0509_R065_T32TPS_20230526T162854.SAFE',
+   'rel': 'derived_from',
+   'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/05/26/S2A_MSIL2A_20230526T101601_N0509_R065_T32TPS_20230526T162854.SAFE',
+   'type': 'application/json'},
+  {'href': '/eodata/Sentinel-2/MSI/L2A/2023/05/28/S2B_MSIL2A_20230528T100559_N0509_R022_T32TPS_20230528T131159.SAFE',
+   'rel': 'derived_from',
+   'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/05/28/S2B_MSIL2A_20230528T100559_N0509_R022_T32TPS_20230528T131159.SAFE',
+   'type': 'application/json'},
+  {'href': '/eodata/Sentinel-2/MSI/L2A/2023/05/31/S2B_MSIL2A_20230531T101559_N0509_R065_T32TPS_20230531T131936.SAFE',
+   'rel': 'derived_from',
+   'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/05/31/S2B_MSIL2A_20230531T101559_N0509_R065_T32TPS_20230531T131936.SAFE',
+   'type': 'application/json'},
+  {'href': 'https://openeo.dataspace.copernicus.eu/openeo/1.2/jobs/j-2401318f19a84122b62657ed798f0c9e/results',
+   'rel': 'self',
+   'type': 'application/json'},
+  {'href': 'https://openeo.dataspace.copernicus.eu/openeo/1.2/jobs/j-2401318f19a84122b62657ed798f0c9e/results/MDYxODNjYmMtODRjOC00YzZhLThhN2QtY2IxOGJhMDhjYzhj/e967c4ba33e20f0757876cf974ef7eb7?expires=1707311403',
+   'rel': 'canonical',
+   'type': 'application/json'},
+  {'href': 'http://ceos.org/ard/files/PFS/SR/v5.0/CARD4L_Product_Family_Specification_Surface_Reflectance-v5.0.pdf',
+   'rel': 'card4l-document',
+   'type': 'application/pdf'},
+  {'href': 'https://openeo.dataspace.copernicus.eu/openeo/1.2/jobs/j-2401318f19a84122b62657ed798f0c9e/results/items/MDYxODNjYmMtODRjOC00YzZhLThhN2QtY2IxOGJhMDhjYzhj/ed41e358ad1fe308f681e33015b06869/openEO.tif?expires=1707311403',
+   'rel': 'item',
+   'type': 'application/geo+json'}],
+ 'openeo:status': 'finished',
+ 'providers': [{'description': 'This data was processed on an openEO backend maintained by VITO.',
+   'name': 'VITO',
+   'processing:expression': [{'expression': {'loadcollection1': {'arguments': {'bands': ['B03',
+         'B11',
+         'SCL'],
+        'id': 'SENTINEL2_L2A',
+        'spatial_extent': {'crs': 4326,
+         'east': 11.479180216059186,
+         'north': 46.64670948599201,
+         'south': 46.62835651400798,
+         'west': 11.461193783940812},
+        'temporal_extent': ['2023-02-01', '2023-06-01']},
+       'process_id': 'load_collection'},
+      'mask1': {'arguments': {'data': {'from_node': 'reducedimension1'},
+        'mask': {'from_node': 'reducedimension2'},
+        'replacement': 2},
+       'process_id': 'mask'},
+      'reducedimension1': {'arguments': {'data': {'from_node': 'loadcollection1'},
+        'dimension': 'bands',
+        'reducer': {'process_graph': {'add1': {'arguments': {'x': {'from_node': 'arrayelement1'},
+            'y': {'from_node': 'arrayelement2'}},
+           'process_id': 'add'},
+          'arrayelement1': {'arguments': {'data': {'from_parameter': 'data'},
+            'index': 0},
+           'process_id': 'array_element'},
+          'arrayelement2': {'arguments': {'data': {'from_parameter': 'data'},
+            'index': 1},
+           'process_id': 'array_element'},
+          'divide1': {'arguments': {'x': {'from_node': 'subtract1'},
+            'y': {'from_node': 'add1'}},
+           'process_id': 'divide'},
+          'gt1': {'arguments': {'x': {'from_node': 'divide1'}, 'y': 0.4},
+           'process_id': 'gt'},
+          'multiply1': {'arguments': {'x': {'from_node': 'gt1'}, 'y': 1.0},
+           'process_id': 'multiply',
+           'result': True},
+          'subtract1': {'arguments': {'x': {'from_node': 'arrayelement1'},
+            'y': {'from_node': 'arrayelement2'}},
+           'process_id': 'subtract'}}}},
+       'process_id': 'reduce_dimension'},
+      'reducedimension2': {'arguments': {'data': {'from_node': 'loadcollection1'},
+        'dimension': 'bands',
+        'reducer': {'process_graph': {'arrayelement3': {'arguments': {'data': {'from_parameter': 'data'},
+            'index': 2},
+           'process_id': 'array_element'},
+          'eq1': {'arguments': {'x': {'from_node': 'arrayelement3'}, 'y': 8},
+           'process_id': 'eq'},
+          'eq2': {'arguments': {'x': {'from_node': 'arrayelement3'}, 'y': 9},
+           'process_id': 'eq'},
+          'eq3': {'arguments': {'x': {'from_node': 'arrayelement3'}, 'y': 3},
+           'process_id': 'eq'},
+          'multiply2': {'arguments': {'x': {'from_node': 'or2'}, 'y': 1.0},
+           'process_id': 'multiply',
+           'result': True},
+          'or1': {'arguments': {'x': {'from_node': 'eq1'},
+            'y': {'from_node': 'eq2'}},
+           'process_id': 'or'},
+          'or2': {'arguments': {'x': {'from_node': 'or1'},
+            'y': {'from_node': 'eq3'}},
+           'process_id': 'or'}}}},
+       'process_id': 'reduce_dimension'},
+      'reducedimension3': {'arguments': {'data': {'from_node': 'mask1'},
+        'dimension': 't',
+        'reducer': {'process_graph': {'median1': {'arguments': {'data': {'from_parameter': 'data'}},
+           'process_id': 'median',
+           'result': True}}}},
+       'process_id': 'reduce_dimension'},
+      'saveresult1': {'arguments': {'data': {'from_node': 'reducedimension3'},
+        'format': 'GTiff',
+        'options': {}},
+       'process_id': 'save_result',
+       'result': True}},
+     'format': 'openeo'}],
+   'processing:facility': 'openEO Geotrellis backend',
+   'processing:software': {'Geotrellis backend': '0.24.0a1'},
+   'roles': ['processor']}],
+ 'stac_extensions': ['https://stac-extensions.github.io/eo/v1.1.0/schema.json',
+  'https://stac-extensions.github.io/file/v2.1.0/schema.json',
+  'https://stac-extensions.github.io/processing/v1.1.0/schema.json',
+  'https://stac-extensions.github.io/projection/v1.1.0/schema.json'],
+ 'stac_version': '1.0.0',
+ 'summaries': {'instruments': []},
+ 'title': 'snowmap_cog',
+ 'type': 'Collection'}
+
+
+
+
+
+

Adding Author of the data#

+

Add your information to become visible as author of the data - description of each field can be found here: radiantearth/stac-spec

+

Please note that leaving the field empty will lead to failed validation of STAC item

+

Attention: Enter your full name and a short description of the snowmap you generated e.g. name = "Jane Doe" and description = "snow map of Merano"

+
+
+
name = ""
+description = ""
+
+
+
+
+
+
+
author = [{
+    "name": name,
+    "description": description,
+    "roles": ["processor"],
+}]
+
+providers = stac_collection["providers"] + author
+
+author_id = [nam[:2] for nam in author[0]["name"].split(" ")]
+
+# generate timestamp
+ts = datetime.now().isoformat()
+ts = ts.split("T")[0]
+
+
+
+
+

Extract bbox information and temporal extent from the STAC collection that was delivered with the result from OpenEO. We are reusing it to create our STAC item. We have prepared these function for you extract_metadata_geometry and extract_metadata_time

+
+
+
geometry = extract_metadata_geometry(stac_collection)[1]
+
+
+
+
+
+
+
start_time, end_time = extract_metadata_time(stac_collection)
+
+
+
+
+

Since we calculated the statistics and renamed the file, we have to add this new file name to the STAC item.

+
+
+
filename = "openEO_uint8.tif"
+
+
+
+
+

Let’s create the actual STAC item describing your data! As talked about in previous lessons, STAC item has various required fields which need to be present and filled correctly. For the field ID we assign the fixed name snowcover and the initials of your name. That will be visible on the STAC browser once you have submitted the result!

+
+
+
stac_item = {
+    "type": "Feature", 
+    "stac_version": stac_collection["stac_version"],
+    "stac_extensions": [],
+    "id": "snowcover_" + "".join(author_id).lower()+ "_" + str(ts),
+    "geometry": geometry,
+    "bbox": bbox,
+    "properties": {
+       "datetime": None, 
+        "start_datetime": start_time,
+        "end_datetime": end_time,
+        "providers" : providers
+                 },
+    
+    "links": stac_collection["links"],
+    "assets": {"visual": {
+      "href": filename,
+      "type": "image/tiff; application=geotiff; profile=cloud-optimized",
+      "title": "Snow coverage",
+      "roles": [
+        "data"
+              ]
+            }
+        },
+}
+
+
+
+
+
+
+
stac_item
+
+
+
+
+
{'type': 'Feature',
+ 'stac_version': '1.0.0',
+ 'stac_extensions': [],
+ 'id': 'snowcover_ruomba_2024-01-31',
+ 'geometry': {'type': 'Polygon',
+  'coordinates': [[[11.461193783940812, 46.62835651400798],
+    [11.479180216059186, 46.62835651400798],
+    [11.479180216059186, 46.64670948599201],
+    [11.461193783940812, 46.64670948599201],
+    [11.461193783940812, 46.62835651400798]]]},
+ 'bbox': (11.461193783940812,
+  46.62835651400798,
+  11.479180216059186,
+  46.64670948599201),
+ 'properties': {'datetime': None,
+  'start_datetime': '2023-02-01T00:00:00Z',
+  'end_datetime': '2023-06-01T00:00:00Z',
+  'providers': [{'description': 'This data was processed on an openEO backend maintained by VITO.',
+    'name': 'VITO',
+    'processing:expression': [{'expression': {'loadcollection1': {'arguments': {'bands': ['B03',
+          'B11',
+          'SCL'],
+         'id': 'SENTINEL2_L2A',
+         'spatial_extent': {'crs': 4326,
+          'east': 11.479180216059186,
+          'north': 46.64670948599201,
+          'south': 46.62835651400798,
+          'west': 11.461193783940812},
+         'temporal_extent': ['2023-02-01', '2023-06-01']},
+        'process_id': 'load_collection'},
+       'mask1': {'arguments': {'data': {'from_node': 'reducedimension1'},
+         'mask': {'from_node': 'reducedimension2'},
+         'replacement': 2},
+        'process_id': 'mask'},
+       'reducedimension1': {'arguments': {'data': {'from_node': 'loadcollection1'},
+         'dimension': 'bands',
+         'reducer': {'process_graph': {'add1': {'arguments': {'x': {'from_node': 'arrayelement1'},
+             'y': {'from_node': 'arrayelement2'}},
+            'process_id': 'add'},
+           'arrayelement1': {'arguments': {'data': {'from_parameter': 'data'},
+             'index': 0},
+            'process_id': 'array_element'},
+           'arrayelement2': {'arguments': {'data': {'from_parameter': 'data'},
+             'index': 1},
+            'process_id': 'array_element'},
+           'divide1': {'arguments': {'x': {'from_node': 'subtract1'},
+             'y': {'from_node': 'add1'}},
+            'process_id': 'divide'},
+           'gt1': {'arguments': {'x': {'from_node': 'divide1'}, 'y': 0.4},
+            'process_id': 'gt'},
+           'multiply1': {'arguments': {'x': {'from_node': 'gt1'}, 'y': 1.0},
+            'process_id': 'multiply',
+            'result': True},
+           'subtract1': {'arguments': {'x': {'from_node': 'arrayelement1'},
+             'y': {'from_node': 'arrayelement2'}},
+            'process_id': 'subtract'}}}},
+        'process_id': 'reduce_dimension'},
+       'reducedimension2': {'arguments': {'data': {'from_node': 'loadcollection1'},
+         'dimension': 'bands',
+         'reducer': {'process_graph': {'arrayelement3': {'arguments': {'data': {'from_parameter': 'data'},
+             'index': 2},
+            'process_id': 'array_element'},
+           'eq1': {'arguments': {'x': {'from_node': 'arrayelement3'}, 'y': 8},
+            'process_id': 'eq'},
+           'eq2': {'arguments': {'x': {'from_node': 'arrayelement3'}, 'y': 9},
+            'process_id': 'eq'},
+           'eq3': {'arguments': {'x': {'from_node': 'arrayelement3'}, 'y': 3},
+            'process_id': 'eq'},
+           'multiply2': {'arguments': {'x': {'from_node': 'or2'}, 'y': 1.0},
+            'process_id': 'multiply',
+            'result': True},
+           'or1': {'arguments': {'x': {'from_node': 'eq1'},
+             'y': {'from_node': 'eq2'}},
+            'process_id': 'or'},
+           'or2': {'arguments': {'x': {'from_node': 'or1'},
+             'y': {'from_node': 'eq3'}},
+            'process_id': 'or'}}}},
+        'process_id': 'reduce_dimension'},
+       'reducedimension3': {'arguments': {'data': {'from_node': 'mask1'},
+         'dimension': 't',
+         'reducer': {'process_graph': {'median1': {'arguments': {'data': {'from_parameter': 'data'}},
+            'process_id': 'median',
+            'result': True}}}},
+        'process_id': 'reduce_dimension'},
+       'saveresult1': {'arguments': {'data': {'from_node': 'reducedimension3'},
+         'format': 'GTiff',
+         'options': {}},
+        'process_id': 'save_result',
+        'result': True}},
+      'format': 'openeo'}],
+    'processing:facility': 'openEO Geotrellis backend',
+    'processing:software': {'Geotrellis backend': '0.24.0a1'},
+    'roles': ['processor']},
+   {'name': 'Rufai Omowunmi Balogun',
+    'description': 'snow map of merano',
+    'roles': ['processor']}]},
+ 'links': [{'href': '/eodata/Sentinel-2/MSI/L2A/2023/02/02/S2A_MSIL2A_20230202T101231_N0509_R022_T32TPS_20230202T142000.SAFE',
+   'rel': 'derived_from',
+   'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/02/02/S2A_MSIL2A_20230202T101231_N0509_R022_T32TPS_20230202T142000.SAFE',
+   'type': 'application/json'},
+  {'href': '/eodata/Sentinel-2/MSI/L2A/2023/02/05/S2A_MSIL2A_20230205T102221_N0509_R065_T32TPS_20230205T135958.SAFE',
+   'rel': 'derived_from',
+   'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/02/05/S2A_MSIL2A_20230205T102221_N0509_R065_T32TPS_20230205T135958.SAFE',
+   'type': 'application/json'},
+  {'href': '/eodata/Sentinel-2/MSI/L2A/2023/02/07/S2B_MSIL2A_20230207T101109_N0509_R022_T32TPS_20230207T124736.SAFE',
+   'rel': 'derived_from',
+   'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/02/07/S2B_MSIL2A_20230207T101109_N0509_R022_T32TPS_20230207T124736.SAFE',
+   'type': 'application/json'},
+  {'href': '/eodata/Sentinel-2/MSI/L2A/2023/02/10/S2B_MSIL2A_20230210T102049_N0509_R065_T32TPS_20230210T125716.SAFE',
+   'rel': 'derived_from',
+   'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/02/10/S2B_MSIL2A_20230210T102049_N0509_R065_T32TPS_20230210T125716.SAFE',
+   'type': 'application/json'},
+  {'href': '/eodata/Sentinel-2/MSI/L2A/2023/02/12/S2A_MSIL2A_20230212T101131_N0509_R022_T32TPS_20230212T142159.SAFE',
+   'rel': 'derived_from',
+   'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/02/12/S2A_MSIL2A_20230212T101131_N0509_R022_T32TPS_20230212T142159.SAFE',
+   'type': 'application/json'},
+  {'href': '/eodata/Sentinel-2/MSI/L2A/2023/02/15/S2A_MSIL2A_20230215T102121_N0509_R065_T32TPS_20230215T141008.SAFE',
+   'rel': 'derived_from',
+   'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/02/15/S2A_MSIL2A_20230215T102121_N0509_R065_T32TPS_20230215T141008.SAFE',
+   'type': 'application/json'},
+  {'href': '/eodata/Sentinel-2/MSI/L2A/2023/02/17/S2B_MSIL2A_20230217T101029_N0509_R022_T32TPS_20230217T125054.SAFE',
+   'rel': 'derived_from',
+   'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/02/17/S2B_MSIL2A_20230217T101029_N0509_R022_T32TPS_20230217T125054.SAFE',
+   'type': 'application/json'},
+  {'href': '/eodata/Sentinel-2/MSI/L2A/2023/02/20/S2B_MSIL2A_20230220T101949_N0509_R065_T32TPS_20230220T145403.SAFE',
+   'rel': 'derived_from',
+   'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/02/20/S2B_MSIL2A_20230220T101949_N0509_R065_T32TPS_20230220T145403.SAFE',
+   'type': 'application/json'},
+  {'href': '/eodata/Sentinel-2/MSI/L2A/2023/02/22/S2A_MSIL2A_20230222T101031_N0509_R022_T32TPS_20230222T141055.SAFE',
+   'rel': 'derived_from',
+   'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/02/22/S2A_MSIL2A_20230222T101031_N0509_R022_T32TPS_20230222T141055.SAFE',
+   'type': 'application/json'},
+  {'href': '/eodata/Sentinel-2/MSI/L2A/2023/02/25/S2A_MSIL2A_20230225T102021_N0509_R065_T32TPS_20230225T163245.SAFE',
+   'rel': 'derived_from',
+   'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/02/25/S2A_MSIL2A_20230225T102021_N0509_R065_T32TPS_20230225T163245.SAFE',
+   'type': 'application/json'},
+  {'href': '/eodata/Sentinel-2/MSI/L2A/2023/02/27/S2B_MSIL2A_20230227T101029_N0509_R022_T32TPS_20230227T124853.SAFE',
+   'rel': 'derived_from',
+   'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/02/27/S2B_MSIL2A_20230227T101029_N0509_R022_T32TPS_20230227T124853.SAFE',
+   'type': 'application/json'},
+  {'href': '/eodata/Sentinel-2/MSI/L2A/2023/03/02/S2B_MSIL2A_20230302T101839_N0509_R065_T32TPS_20230302T165059.SAFE',
+   'rel': 'derived_from',
+   'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/03/02/S2B_MSIL2A_20230302T101839_N0509_R065_T32TPS_20230302T165059.SAFE',
+   'type': 'application/json'},
+  {'href': '/eodata/Sentinel-2/MSI/L2A/2023/03/04/S2A_MSIL2A_20230304T101021_N0509_R022_T32TPS_20230907T154000.SAFE',
+   'rel': 'derived_from',
+   'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/03/04/S2A_MSIL2A_20230304T101021_N0509_R022_T32TPS_20230907T154000.SAFE',
+   'type': 'application/json'},
+  {'href': '/eodata/Sentinel-2/MSI/L2A/2023/03/07/S2A_MSIL2A_20230307T101901_N0509_R065_T32TPS_20230307T162402.SAFE',
+   'rel': 'derived_from',
+   'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/03/07/S2A_MSIL2A_20230307T101901_N0509_R065_T32TPS_20230307T162402.SAFE',
+   'type': 'application/json'},
+  {'href': '/eodata/Sentinel-2/MSI/L2A/2023/03/09/S2B_MSIL2A_20230309T100749_N0509_R022_T32TPS_20230309T162710.SAFE',
+   'rel': 'derived_from',
+   'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/03/09/S2B_MSIL2A_20230309T100749_N0509_R022_T32TPS_20230309T162710.SAFE',
+   'type': 'application/json'},
+  {'href': '/eodata/Sentinel-2/MSI/L2A/2023/03/12/S2B_MSIL2A_20230312T101729_N0509_R065_T32TPS_20230312T163807.SAFE',
+   'rel': 'derived_from',
+   'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/03/12/S2B_MSIL2A_20230312T101729_N0509_R065_T32TPS_20230312T163807.SAFE',
+   'type': 'application/json'},
+  {'href': '/eodata/Sentinel-2/MSI/L2A/2023/03/14/S2A_MSIL2A_20230314T101021_N0509_R022_T32TPS_20230314T161800.SAFE',
+   'rel': 'derived_from',
+   'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/03/14/S2A_MSIL2A_20230314T101021_N0509_R022_T32TPS_20230314T161800.SAFE',
+   'type': 'application/json'},
+  {'href': '/eodata/Sentinel-2/MSI/L2A/2023/03/17/S2A_MSIL2A_20230317T101741_N0509_R065_T32TPS_20230317T162557.SAFE',
+   'rel': 'derived_from',
+   'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/03/17/S2A_MSIL2A_20230317T101741_N0509_R065_T32TPS_20230317T162557.SAFE',
+   'type': 'application/json'},
+  {'href': '/eodata/Sentinel-2/MSI/L2A/2023/03/19/S2B_MSIL2A_20230319T100649_N0509_R022_T32TPS_20230319T130804.SAFE',
+   'rel': 'derived_from',
+   'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/03/19/S2B_MSIL2A_20230319T100649_N0509_R022_T32TPS_20230319T130804.SAFE',
+   'type': 'application/json'},
+  {'href': '/eodata/Sentinel-2/MSI/L2A/2023/03/22/S2B_MSIL2A_20230322T101649_N0509_R065_T32TPS_20230322T145625.SAFE',
+   'rel': 'derived_from',
+   'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/03/22/S2B_MSIL2A_20230322T101649_N0509_R065_T32TPS_20230322T145625.SAFE',
+   'type': 'application/json'},
+  {'href': '/eodata/Sentinel-2/MSI/L2A/2023/03/24/S2A_MSIL2A_20230324T101021_N0509_R022_T32TPS_20230324T161752.SAFE',
+   'rel': 'derived_from',
+   'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/03/24/S2A_MSIL2A_20230324T101021_N0509_R022_T32TPS_20230324T161752.SAFE',
+   'type': 'application/json'},
+  {'href': '/eodata/Sentinel-2/MSI/L2A/2023/03/27/S2A_MSIL2A_20230327T101631_N0509_R065_T32TPS_20230327T162303.SAFE',
+   'rel': 'derived_from',
+   'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/03/27/S2A_MSIL2A_20230327T101631_N0509_R065_T32TPS_20230327T162303.SAFE',
+   'type': 'application/json'},
+  {'href': '/eodata/Sentinel-2/MSI/L2A/2023/03/29/S2B_MSIL2A_20230329T100629_N0509_R022_T32TPS_20230329T130657.SAFE',
+   'rel': 'derived_from',
+   'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/03/29/S2B_MSIL2A_20230329T100629_N0509_R022_T32TPS_20230329T130657.SAFE',
+   'type': 'application/json'},
+  {'href': '/eodata/Sentinel-2/MSI/L2A/2023/04/01/S2B_MSIL2A_20230401T101559_N0509_R065_T32TPS_20230401T145632.SAFE',
+   'rel': 'derived_from',
+   'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/04/01/S2B_MSIL2A_20230401T101559_N0509_R065_T32TPS_20230401T145632.SAFE',
+   'type': 'application/json'},
+  {'href': '/eodata/Sentinel-2/MSI/L2A/2023/04/03/S2A_MSIL2A_20230403T100551_N0509_R022_T32TPS_20230403T162459.SAFE',
+   'rel': 'derived_from',
+   'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/04/03/S2A_MSIL2A_20230403T100551_N0509_R022_T32TPS_20230403T162459.SAFE',
+   'type': 'application/json'},
+  {'href': '/eodata/Sentinel-2/MSI/L2A/2023/04/06/S2A_MSIL2A_20230406T102021_N0509_R065_T32TPS_20230406T194357.SAFE',
+   'rel': 'derived_from',
+   'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/04/06/S2A_MSIL2A_20230406T102021_N0509_R065_T32TPS_20230406T194357.SAFE',
+   'type': 'application/json'},
+  {'href': '/eodata/Sentinel-2/MSI/L2A/2023/04/08/S2B_MSIL2A_20230408T100559_N0509_R022_T32TPS_20230408T131134.SAFE',
+   'rel': 'derived_from',
+   'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/04/08/S2B_MSIL2A_20230408T100559_N0509_R022_T32TPS_20230408T131134.SAFE',
+   'type': 'application/json'},
+  {'href': '/eodata/Sentinel-2/MSI/L2A/2023/04/11/S2B_MSIL2A_20230411T101559_N0509_R065_T32TPS_20230411T131019.SAFE',
+   'rel': 'derived_from',
+   'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/04/11/S2B_MSIL2A_20230411T101559_N0509_R065_T32TPS_20230411T131019.SAFE',
+   'type': 'application/json'},
+  {'href': '/eodata/Sentinel-2/MSI/L2A/2023/04/13/S2A_MSIL2A_20230413T100551_N0509_R022_T32TPS_20230413T161903.SAFE',
+   'rel': 'derived_from',
+   'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/04/13/S2A_MSIL2A_20230413T100551_N0509_R022_T32TPS_20230413T161903.SAFE',
+   'type': 'application/json'},
+  {'href': '/eodata/Sentinel-2/MSI/L2A/2023/04/16/S2A_MSIL2A_20230416T101601_N0509_R065_T32TPS_20230416T162901.SAFE',
+   'rel': 'derived_from',
+   'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/04/16/S2A_MSIL2A_20230416T101601_N0509_R065_T32TPS_20230416T162901.SAFE',
+   'type': 'application/json'},
+  {'href': '/eodata/Sentinel-2/MSI/L2A/2023/04/18/S2B_MSIL2A_20230418T100559_N0509_R022_T32TPS_20230418T131202.SAFE',
+   'rel': 'derived_from',
+   'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/04/18/S2B_MSIL2A_20230418T100559_N0509_R022_T32TPS_20230418T131202.SAFE',
+   'type': 'application/json'},
+  {'href': '/eodata/Sentinel-2/MSI/L2A/2023/04/21/S2B_MSIL2A_20230421T101559_N0509_R065_T32TPS_20230421T131333.SAFE',
+   'rel': 'derived_from',
+   'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/04/21/S2B_MSIL2A_20230421T101559_N0509_R065_T32TPS_20230421T131333.SAFE',
+   'type': 'application/json'},
+  {'href': '/eodata/Sentinel-2/MSI/L2A/2023/04/23/S2A_MSIL2A_20230423T100551_N0509_R022_T32TPS_20230423T162900.SAFE',
+   'rel': 'derived_from',
+   'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/04/23/S2A_MSIL2A_20230423T100551_N0509_R022_T32TPS_20230423T162900.SAFE',
+   'type': 'application/json'},
+  {'href': '/eodata/Sentinel-2/MSI/L2A/2023/04/26/S2A_MSIL2A_20230426T101601_N0509_R065_T32TPS_20230426T162055.SAFE',
+   'rel': 'derived_from',
+   'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/04/26/S2A_MSIL2A_20230426T101601_N0509_R065_T32TPS_20230426T162055.SAFE',
+   'type': 'application/json'},
+  {'href': '/eodata/Sentinel-2/MSI/L2A/2023/04/28/S2B_MSIL2A_20230428T100559_N0509_R022_T32TPS_20230428T133214.SAFE',
+   'rel': 'derived_from',
+   'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/04/28/S2B_MSIL2A_20230428T100559_N0509_R022_T32TPS_20230428T133214.SAFE',
+   'type': 'application/json'},
+  {'href': '/eodata/Sentinel-2/MSI/L2A/2023/05/01/S2B_MSIL2A_20230501T101559_N0509_R065_T32TPS_20230501T132325.SAFE',
+   'rel': 'derived_from',
+   'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/05/01/S2B_MSIL2A_20230501T101559_N0509_R065_T32TPS_20230501T132325.SAFE',
+   'type': 'application/json'},
+  {'href': '/eodata/Sentinel-2/MSI/L2A/2023/05/03/S2A_MSIL2A_20230503T101021_N0509_R022_T32TPS_20230503T180406.SAFE',
+   'rel': 'derived_from',
+   'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/05/03/S2A_MSIL2A_20230503T101021_N0509_R022_T32TPS_20230503T180406.SAFE',
+   'type': 'application/json'},
+  {'href': '/eodata/Sentinel-2/MSI/L2A/2023/05/06/S2A_MSIL2A_20230506T101601_N0509_R065_T32TPS_20230506T162659.SAFE',
+   'rel': 'derived_from',
+   'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/05/06/S2A_MSIL2A_20230506T101601_N0509_R065_T32TPS_20230506T162659.SAFE',
+   'type': 'application/json'},
+  {'href': '/eodata/Sentinel-2/MSI/L2A/2023/05/08/S2B_MSIL2A_20230508T100559_N0509_R022_T32TPS_20230508T131238.SAFE',
+   'rel': 'derived_from',
+   'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/05/08/S2B_MSIL2A_20230508T100559_N0509_R022_T32TPS_20230508T131238.SAFE',
+   'type': 'application/json'},
+  {'href': '/eodata/Sentinel-2/MSI/L2A/2023/05/11/S2B_MSIL2A_20230511T101559_N0509_R065_T32TPS_20230511T163715.SAFE',
+   'rel': 'derived_from',
+   'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/05/11/S2B_MSIL2A_20230511T101559_N0509_R065_T32TPS_20230511T163715.SAFE',
+   'type': 'application/json'},
+  {'href': '/eodata/Sentinel-2/MSI/L2A/2023/05/13/S2A_MSIL2A_20230513T100551_N0509_R022_T32TPS_20230513T161552.SAFE',
+   'rel': 'derived_from',
+   'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/05/13/S2A_MSIL2A_20230513T100551_N0509_R022_T32TPS_20230513T161552.SAFE',
+   'type': 'application/json'},
+  {'href': '/eodata/Sentinel-2/MSI/L2A/2023/05/16/S2A_MSIL2A_20230516T101601_N0509_R065_T32TPS_20230516T181153.SAFE',
+   'rel': 'derived_from',
+   'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/05/16/S2A_MSIL2A_20230516T101601_N0509_R065_T32TPS_20230516T181153.SAFE',
+   'type': 'application/json'},
+  {'href': '/eodata/Sentinel-2/MSI/L2A/2023/05/18/S2B_MSIL2A_20230518T100559_N0509_R022_T32TPS_20230518T144255.SAFE',
+   'rel': 'derived_from',
+   'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/05/18/S2B_MSIL2A_20230518T100559_N0509_R022_T32TPS_20230518T144255.SAFE',
+   'type': 'application/json'},
+  {'href': '/eodata/Sentinel-2/MSI/L2A/2023/05/21/S2B_MSIL2A_20230521T101609_N0509_R065_T32TPS_20230521T131745.SAFE',
+   'rel': 'derived_from',
+   'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/05/21/S2B_MSIL2A_20230521T101609_N0509_R065_T32TPS_20230521T131745.SAFE',
+   'type': 'application/json'},
+  {'href': '/eodata/Sentinel-2/MSI/L2A/2023/05/23/S2A_MSIL2A_20230523T100601_N0509_R022_T32TPS_20230523T161057.SAFE',
+   'rel': 'derived_from',
+   'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/05/23/S2A_MSIL2A_20230523T100601_N0509_R022_T32TPS_20230523T161057.SAFE',
+   'type': 'application/json'},
+  {'href': '/eodata/Sentinel-2/MSI/L2A/2023/05/26/S2A_MSIL2A_20230526T101601_N0509_R065_T32TPS_20230526T162854.SAFE',
+   'rel': 'derived_from',
+   'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/05/26/S2A_MSIL2A_20230526T101601_N0509_R065_T32TPS_20230526T162854.SAFE',
+   'type': 'application/json'},
+  {'href': '/eodata/Sentinel-2/MSI/L2A/2023/05/28/S2B_MSIL2A_20230528T100559_N0509_R022_T32TPS_20230528T131159.SAFE',
+   'rel': 'derived_from',
+   'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/05/28/S2B_MSIL2A_20230528T100559_N0509_R022_T32TPS_20230528T131159.SAFE',
+   'type': 'application/json'},
+  {'href': '/eodata/Sentinel-2/MSI/L2A/2023/05/31/S2B_MSIL2A_20230531T101559_N0509_R065_T32TPS_20230531T131936.SAFE',
+   'rel': 'derived_from',
+   'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/05/31/S2B_MSIL2A_20230531T101559_N0509_R065_T32TPS_20230531T131936.SAFE',
+   'type': 'application/json'},
+  {'href': 'https://openeo.dataspace.copernicus.eu/openeo/1.2/jobs/j-2401318f19a84122b62657ed798f0c9e/results',
+   'rel': 'self',
+   'type': 'application/json'},
+  {'href': 'https://openeo.dataspace.copernicus.eu/openeo/1.2/jobs/j-2401318f19a84122b62657ed798f0c9e/results/MDYxODNjYmMtODRjOC00YzZhLThhN2QtY2IxOGJhMDhjYzhj/e967c4ba33e20f0757876cf974ef7eb7?expires=1707311403',
+   'rel': 'canonical',
+   'type': 'application/json'},
+  {'href': 'http://ceos.org/ard/files/PFS/SR/v5.0/CARD4L_Product_Family_Specification_Surface_Reflectance-v5.0.pdf',
+   'rel': 'card4l-document',
+   'type': 'application/pdf'},
+  {'href': 'https://openeo.dataspace.copernicus.eu/openeo/1.2/jobs/j-2401318f19a84122b62657ed798f0c9e/results/items/MDYxODNjYmMtODRjOC00YzZhLThhN2QtY2IxOGJhMDhjYzhj/ed41e358ad1fe308f681e33015b06869/openEO.tif?expires=1707311403',
+   'rel': 'item',
+   'type': 'application/geo+json'}],
+ 'assets': {'visual': {'href': 'openEO_uint8.tif',
+   'type': 'image/tiff; application=geotiff; profile=cloud-optimized',
+   'title': 'Snow coverage',
+   'roles': ['data']}}}
+
+
+
+
+

Saving the resulting item as stac_item.json into results folder

+
+
+
stac_json = json.dumps(stac_item)
+with open("33_results/stac_item.json", "w") as file:
+    file.write(stac_json)
+
+
+
+
+

Validating that STAC item is important - non valid STAC will not be displayed in the STAC browser after upload

+
+
+
from stac_validator import stac_validator
+import requests
+stac = stac_validator.StacValidate()
+f = open('33_results/stac_item.json')
+data = json.load(f)
+stac.validate_dict(data)
+print(stac.message)
+
+
+
+
+
[{'version': '1.0.0', 'path': None, 'schema': ['https://schemas.stacspec.org/v1.0.0/item-spec/json-schema/item.json'], 'valid_stac': True, 'asset_type': 'ITEM', 'validation_method': 'default'}]
+
+
+
+
+
+
+

Now it is time to upload solution to the submission folder and make results visible in STAC browser#

+

Upload both the STAC json file and the final .tif file to “submissions” folder in your home directory

+

You can use the code below to copy the results to the submissions folder

+
+
+
!cp ./33_results/stac_item.json ~/submissions/
+!cp ./33_results/openEO_uint8.tif ~/submissions/
+
+
+
+
+

And now by executing the cell below, update of the STAC browser will start. By this, you are uploading your results to the openly available STAC browser. This might take some minutes.

+
+
+
env_var1 = os.getenv('EMAIL')
+curl_command = f"curl -X POST -F token=glptt-42d31ac6f592a9e321d0e4877e654dc50dcf4854 -F ref=main -F 'variables[USER_DIRECTORY]=\"{env_var1}\"' https://gitlab.eox.at/api/v4/projects/554/trigger/pipeline" 
+process = subprocess.Popen(curl_command, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
+stdout, stderr = process.communicate()
+
+
+
+
+
+
+

Your results are online!#

+

You can now browse your results together with all the other submissions at the publicly available STAC Catalog! You can check your snow cover map, that you are correctly listed as the author and that your contribution has the correct name. The license on the STAC Collection “Cubes and Clouds: Snow Cover” is CC-BY-4.0. The STAC Collection also has it’s own DOI.

+

Congratulations you have just contributed to a community mapping project that is completely open source, open data and FAIR! Make sure to show it also to your friends, colleagues or potential employers :)

+

https://esa.pages.eox.at/cubes-and-clouds-catalog/browser/#/?.language=en

+

If you would like to redo your submission, you can still update your files in submissions folder and once ready, run again the code in the cell above.

+

Attention: If you have previously opened the STAC browser, your old submission will be cached and not directly displayed. To circumvent this, open a private window from your browser.

+

Happy coding!

+
+
+
+ + + + +
+ + + + + + + + +
+ + + + + + + +
+ + + +
+
+
+ + + + + + + + \ No newline at end of file diff --git a/9.9_master_asi_conae/s2_sca.html b/9.9_master_asi_conae/s2_sca.html new file mode 100644 index 0000000..48b2d68 --- /dev/null +++ b/9.9_master_asi_conae/s2_sca.html @@ -0,0 +1,12973 @@ + + + + + + + + + + + Sentinel-2 snow cover area (SCA) time series — Cubes & Clouds - Cloud Native Open Data Sciences for Earth Observation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + +
+ +
+ + + + + +
+
+ + + + + + +
+ + + +
+ +
+
+ +
+
+ +
+ +
+ +
+ + +
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + + + + + + + +
+ +
+

Sentinel-2 snow cover area (SCA) time series#

+

This notebook will show how to generate a snow cover area time series for a given catchment of interest from Sentinel-2 images.

+
+

Importing dependencies#

+
+
+
# xcube_sh imports
+from xcube_sh.cube import open_cube
+from xcube_sh.config import CubeConfig
+from xcube_sh.sentinelhub import SentinelHub
+
+# xcube imports
+from xcube.core.geom import mask_dataset_by_geometry
+
+# Various utilities
+from datetime import date
+import numpy as np
+import pandas as pd
+import geopandas as gpd
+import matplotlib.pyplot as plt
+
+import folium
+
+
+
+
+
+
+

Select a region of interest#

+

Load and visualize a test catchment outline which will be used as a reogion of interest in this example

+
+
+
catchment_outline = gpd.read_file('catchment_outline.geojson')
+
+
+
+
+
+
+
m = folium.Map(location=[catchment_outline.centroid.y, catchment_outline.centroid.x])
+folium.GeoJson(data=catchment_outline.to_json(), name='catchment').add_to(m)
+m
+
+
+
+
+
/tmp/ipykernel_72/1928884253.py:1: UserWarning: Geometry is in a geographic CRS. Results from 'centroid' are likely incorrect. Use 'GeoSeries.to_crs()' to re-project geometries to a projected CRS before this operation.
+
+  m = folium.Map(location=[catchment_outline.centroid.y, catchment_outline.centroid.x])
+/tmp/ipykernel_72/1928884253.py:1: UserWarning: Geometry is in a geographic CRS. Results from 'centroid' are likely incorrect. Use 'GeoSeries.to_crs()' to re-project geometries to a projected CRS before this operation.
+
+  m = folium.Map(location=[catchment_outline.centroid.y, catchment_outline.centroid.x])
+
+
+
Make this Notebook Trusted to load map: File -> Trust Notebook
+
+
+
+

Configuring the data content of the cube#

+

We need to set the following configuration input variable to define the content of the data cube we want to access

+
    +
  • dataset name

  • +
  • band names

  • +
  • time range

  • +
  • the area of interest specifed via bounding box coordinates

  • +
  • spatial resolution

  • +
+

To select the correct dataset we can first list all the available dataset:

+
+
+
SH = SentinelHub()
+SH.dataset_names
+
+
+
+
+
['LETML1',
+ 'LOTL1',
+ 'LETML2',
+ 'CUSTOM',
+ 'LMSSL1',
+ 'LTML2',
+ 'LOTL2',
+ 'S3OLCI',
+ 'S3SLSTR',
+ 'DEM',
+ 'MODIS',
+ 'S5PL2',
+ 'HLS',
+ 'LTML1',
+ 'S1GRD',
+ 'S2L2A',
+ 'S2L1C']
+
+
+
+
+

We want to use the Sentinel-2 L2A product. Then the configuration variable dataset_name can be set equal to 'S2L2A'.

+

Then we can visualize all the bands for the S2L2A dataset (the documentation to this dataset can be read at https://docs.sentinel-hub.com/api/latest/data/sentinel-2-l2a/):

+
+
+
SH.band_names('S2L2A')
+
+
+
+
+
['B01',
+ 'B02',
+ 'B03',
+ 'B04',
+ 'B05',
+ 'B06',
+ 'B07',
+ 'B08',
+ 'B8A',
+ 'B09',
+ 'B11',
+ 'B12',
+ 'SCL',
+ 'SNW',
+ 'CLD',
+ 'viewZenithMean',
+ 'viewAzimuthMean',
+ 'sunZenithAngles',
+ 'sunAzimuthAngles',
+ 'AOT',
+ 'CLM',
+ 'CLP']
+
+
+
+
+

As a time range we will focus on the snow melting season 2018, in particular from Febraury to June 2018:

+
+
+
start_date = date(2018, 2, 1)
+end_date = date(2018, 6, 30)
+
+
+
+
+

Now we need to extract the bounding box of the catchment outline, which will be used to access the needed Sentinel-2 data in our region of interest

+
+
+
bbox = catchment_outline.bounds.iloc[0]
+bbox
+
+
+
+
+
minx    11.020833
+miny    46.653599
+maxx    11.366667
+maxy    46.954167
+Name: 0, dtype: float64
+
+
+
+
+
+
+

Create a Sentinel-2 RGB#

+

As a first step we will create a RGB data cube from Sentinel-2, including a cloud cover map (CLM). This can be useful to visualize the Sentinel-2 images for some specific date. The spatial resolution set for this cube will be 0.00018 degree, which correspond roughly to the native 10 meter resolution of the Sentinel-2 visible bands (B02: blue, B03: green, B04: red)

+
+
+
cube_config_s2rgb = CubeConfig(
+    dataset_name='S2L2A',
+    band_names=['B02', 'B03', 'B04', 'CLM'],
+    bbox=bbox.tolist(),
+    spatial_res=0.00018,
+    time_range=[start_date.strftime("%Y-%m-%d"), end_date.strftime("%Y-%m-%d")]
+)
+
+
+
+
+
/home/conda/master-asi-conae/315434deb1b1e05eacacc41e1b0529b1837100f46402a32041d77ba54ae6c5f3-20230213-125825-013239-74-edc-2022.10-14/lib/python3.9/site-packages/xcube_sh/config.py:248: FutureWarning: Units 'M', 'Y' and 'y' do not represent unambiguous timedelta values and will be removed in a future version.
+  time_tolerance = pd.to_timedelta(time_tolerance)
+
+
+
+
+

Loading the data into the cube

+
+
+
cube_s2rgb = open_cube(cube_config_s2rgb)
+cube_s2rgb
+
+
+
+
+
+ + + + + + + + + + + + + + +
<xarray.Dataset>
+Dimensions:    (time: 58, lat: 1864, lon: 2146, bnds: 2)
+Coordinates:
+  * lat        (lat) float64 46.99 46.99 46.99 46.99 ... 46.65 46.65 46.65 46.65
+  * lon        (lon) float64 11.02 11.02 11.02 11.02 ... 11.41 11.41 11.41 11.41
+  * time       (time) datetime64[ns] 2018-02-01T10:22:37 ... 2018-06-28T10:13:58
+    time_bnds  (time, bnds) datetime64[ns] dask.array<chunksize=(58, 2), meta=np.ndarray>
+Dimensions without coordinates: bnds
+Data variables:
+    B02        (time, lat, lon) float32 dask.array<chunksize=(1, 932, 1073), meta=np.ndarray>
+    B03        (time, lat, lon) float32 dask.array<chunksize=(1, 932, 1073), meta=np.ndarray>
+    B04        (time, lat, lon) float32 dask.array<chunksize=(1, 932, 1073), meta=np.ndarray>
+    CLM        (time, lat, lon) float32 dask.array<chunksize=(1, 932, 1073), meta=np.ndarray>
+Attributes:
+    Conventions:             CF-1.7
+    title:                   S2L2A Data Cube Subset
+    history:                 [{'program': 'xcube_sh.chunkstore.SentinelHubChu...
+    date_created:            2023-02-21T09:43:08.149994
+    time_coverage_start:     2018-02-01T10:22:37+00:00
+    time_coverage_end:       2018-06-28T10:13:58+00:00
+    time_coverage_duration:  P146DT23H51M21S
+    geospatial_lon_min:      11.020833333333357
+    geospatial_lat_min:      46.653599378797765
+    geospatial_lon_max:      11.407113333333356
+    geospatial_lat_max:      46.98911937879777
+    processing_level:        L2A
+
+

Show the date list of the data in the cube

+
+
+
cube_s2rgb.time
+
+
+
+
+
+ + + + + + + + + + + + + + +
<xarray.DataArray 'time' (time: 58)>
+array(['2018-02-01T10:22:37.000000000', '2018-02-03T10:12:37.000000000',
+       '2018-02-06T10:22:06.000000000', '2018-02-08T10:11:53.000000000',
+       '2018-02-11T10:25:59.000000000', '2018-02-13T10:15:59.000000000',
+       '2018-02-16T10:26:01.000000000', '2018-02-18T10:13:13.000000000',
+       '2018-02-21T10:20:33.000000000', '2018-02-23T10:15:08.000000000',
+       '2018-02-26T10:20:50.000000000', '2018-02-28T10:10:21.000000000',
+       '2018-03-03T10:27:07.000000000', '2018-03-05T10:13:15.000000000',
+       '2018-03-08T10:22:41.000000000', '2018-03-10T10:10:20.000000000',
+       '2018-03-13T10:25:40.000000000', '2018-03-15T10:10:38.000000000',
+       '2018-03-20T10:10:21.000000000', '2018-03-23T10:20:21.000000000',
+       '2018-03-25T10:15:11.000000000', '2018-03-28T10:23:58.000000000',
+       '2018-03-30T10:16:20.000000000', '2018-04-02T10:24:35.000000000',
+       '2018-04-04T10:10:21.000000000', '2018-04-07T10:20:20.000000000',
+       '2018-04-09T10:13:43.000000000', '2018-04-12T10:20:24.000000000',
+       '2018-04-14T10:15:36.000000000', '2018-04-17T10:20:21.000000000',
+       '2018-04-19T10:14:57.000000000', '2018-04-22T10:21:15.000000000',
+       '2018-04-24T10:15:26.000000000', '2018-04-27T10:20:22.000000000',
+       '2018-04-29T10:12:58.000000000', '2018-05-02T10:24:34.000000000',
+       '2018-05-04T10:10:23.000000000', '2018-05-07T10:26:48.000000000',
+       '2018-05-09T10:16:21.000000000', '2018-05-12T10:21:48.000000000',
+       '2018-05-14T10:10:52.000000000', '2018-05-17T10:22:09.000000000',
+       '2018-05-19T10:12:07.000000000', '2018-05-22T10:20:25.000000000',
+       '2018-05-24T10:10:22.000000000', '2018-05-29T10:12:25.000000000',
+       '2018-06-01T10:20:24.000000000', '2018-06-03T10:13:29.000000000',
+       '2018-06-06T10:25:12.000000000', '2018-06-08T10:17:26.000000000',
+       '2018-06-11T10:26:34.000000000', '2018-06-13T10:14:24.000000000',
+       '2018-06-16T10:20:21.000000000', '2018-06-18T10:17:33.000000000',
+       '2018-06-21T10:23:16.000000000', '2018-06-23T10:11:39.000000000',
+       '2018-06-26T10:26:26.000000000', '2018-06-28T10:13:58.000000000'],
+      dtype='datetime64[ns]')
+Coordinates:
+  * time     (time) datetime64[ns] 2018-02-01T10:22:37 ... 2018-06-28T10:13:58
+Attributes:
+    standard_name:  time
+    bounds:         time_bnds
+
+

Show a band image for one date

+
+
+
cube_s2rgb.B03.sel(time='2018-04-02T10:24:35.000000000')
+
+
+
+
+
+ + + + + + + + + + + + + + +
<xarray.DataArray 'B03' (lat: 1864, lon: 2146)>
+dask.array<getitem, shape=(1864, 2146), dtype=float32, chunksize=(932, 1073), chunktype=numpy.ndarray>
+Coordinates:
+  * lat      (lat) float64 46.99 46.99 46.99 46.99 ... 46.65 46.65 46.65 46.65
+  * lon      (lon) float64 11.02 11.02 11.02 11.02 ... 11.41 11.41 11.41 11.41
+    time     datetime64[ns] 2018-04-02T10:24:35
+Attributes:
+    sample_type:   FLOAT32
+    units:         reflectance
+    wavelength:    559.4
+    wavelength_a:  559.8
+    wavelength_b:  559
+    bandwidth:     36.0
+    bandwidth_a:   36
+    bandwidth_b:   36
+    resolution:    10
+
+
+
+
cube_s2rgb.B03.sel(time='2018-04-02T10:24:35.000000000').plot.imshow(vmin=0, vmax=0.5, cmap='gray')
+
+
+
+
+
<matplotlib.image.AxesImage at 0x7fd4866e9e80>
+
+
+../_images/f8fc77546fb0dec51d1b30e09aa18293855268def317ac3f24eb4198bc49f284.png +
+
+

Show the RGB image for the same date

+
+
+
cube_s2rgb[['B04', 'B03', 'B02']].sel(time='2018-04-02T10:24:35.000000000').to_array().plot.imshow(vmin=0, vmax=0.3)
+
+
+
+
+
<matplotlib.image.AxesImage at 0x7fd486ba3cd0>
+
+
+../_images/b8779565f441dd89662afef12070664942a7ab638130fabee7357e0b4910d8f5.png +
+
+

Show the cloud mask for the same date

+
+
+
cube_s2rgb.CLM.sel(time='2018-04-02T10:24:35.000000000').plot.imshow()
+
+
+
+
+
<matplotlib.image.AxesImage at 0x7fd486b389a0>
+
+
+../_images/cd3a4b655e697ab60127576e2a76863367c810bb94d6f9232862e928b5e3a752.png +
+
+

Show a pixel time series for one band

+
+
+
cube_s2rgb.B03.sel(lat=46.8, lon=11.2, method='nearest').plot()
+
+
+
+
+
[<matplotlib.lines.Line2D at 0x7fd486a67c40>]
+
+
+../_images/1e0545f100ce14878df0e15dd7f87669b9c88d3d9421812712a33adb165aa992.png +
+
+
+
+

Create the snowmap data cube#

+

After cloud masking, snow map can be obtained by thresholding the Normalized Difference Snow Index (NDSI) which is computed as:

+
+\[ NDSI = \frac {GREEN - SWIR} {GREEN +SWIR} \]
+

We will therefore create a Sentinel-2 data cube with bands B03 (green), B11 (SWIR) and the cloud mask (CLM). To speed up the computation of the SCA we will set the resolution equal to 0.0018 degrees, which correspond roughly to 100 m. This resolution is generally enough to get reliable estimate of snow cover area over a catchment.

+
+
+
cube_config_s2snowmap = CubeConfig(
+    dataset_name='S2L2A',
+    band_names=['B03', 'B11', 'CLM'],
+    bbox=bbox.tolist(),
+    spatial_res=0.0018,
+    time_range=[start_date.strftime("%Y-%m-%d"), end_date.strftime("%Y-%m-%d")],
+    downsampling='BILINEAR'
+)
+
+
+
+
+
/home/conda/master-asi-conae/315434deb1b1e05eacacc41e1b0529b1837100f46402a32041d77ba54ae6c5f3-20230213-125825-013239-74-edc-2022.10-14/lib/python3.9/site-packages/xcube_sh/config.py:248: FutureWarning: Units 'M', 'Y' and 'y' do not represent unambiguous timedelta values and will be removed in a future version.
+  time_tolerance = pd.to_timedelta(time_tolerance)
+
+
+
+
+
+
+
cube_s2snowmap = open_cube(cube_config_s2snowmap)
+cube_s2snowmap
+
+
+
+
+
+ + + + + + + + + + + + + + +
<xarray.Dataset>
+Dimensions:    (time: 58, lat: 167, lon: 192, bnds: 2)
+Coordinates:
+  * lat        (lat) float64 46.95 46.95 46.95 46.95 ... 46.66 46.66 46.66 46.65
+  * lon        (lon) float64 11.02 11.02 11.03 11.03 ... 11.36 11.36 11.36 11.37
+  * time       (time) datetime64[ns] 2018-02-01T10:22:37 ... 2018-06-28T10:13:58
+    time_bnds  (time, bnds) datetime64[ns] dask.array<chunksize=(58, 2), meta=np.ndarray>
+Dimensions without coordinates: bnds
+Data variables:
+    B03        (time, lat, lon) float32 dask.array<chunksize=(1, 167, 192), meta=np.ndarray>
+    B11        (time, lat, lon) float32 dask.array<chunksize=(1, 167, 192), meta=np.ndarray>
+    CLM        (time, lat, lon) float32 dask.array<chunksize=(1, 167, 192), meta=np.ndarray>
+Attributes:
+    Conventions:             CF-1.7
+    title:                   S2L2A Data Cube Subset
+    history:                 [{'program': 'xcube_sh.chunkstore.SentinelHubChu...
+    date_created:            2023-02-17T09:42:47.174581
+    time_coverage_start:     2018-02-01T10:22:37+00:00
+    time_coverage_end:       2018-06-28T10:13:58+00:00
+    time_coverage_duration:  P146DT23H51M21S
+    geospatial_lon_min:      11.020833333333357
+    geospatial_lat_min:      46.653599378797765
+    geospatial_lon_max:      11.366433333333356
+    geospatial_lat_max:      46.95419937879777
+    processing_level:        L2A
+
+

Compute the NDSI and add it to the cube

+
+
+
ndsi=(cube_s2snowmap.B03 - cube_s2snowmap.B11) / (cube_s2snowmap.B03 + cube_s2snowmap.B11)
+
+ndsi.attrs['long_name']='Normalized Difference Snow Index'
+ndsi.attrs['units']='unitless'
+
+cube_s2snowmap['NDSI']=ndsi
+
+
+
+
+

Visualize an NDSI image for a specific date

+
+
+
cube_s2snowmap.NDSI.sel(time='2018-04-02T10:24:35.000000000').plot.imshow(vmin=-1, vmax=1, cmap='gray')
+
+
+
+
+
<matplotlib.image.AxesImage at 0x7f4ba899e730>
+
+
+../_images/78fd708417552e0571b1cf557f0f4af85ab0ca6d71c0d1b31e85b13b2dc7a0ca.png +
+
+

Create the snow cover maps by setting a threshold equal to 0.4 on the NDSI

+
+
+
 cube_s2snowmap['snowmap'] = cube_s2snowmap.NDSI > 0.4
+
+
+
+
+
+
+
cube_s2snowmap
+
+
+
+
+
+ + + + + + + + + + + + + + +
<xarray.Dataset>
+Dimensions:    (time: 58, lat: 167, lon: 192, bnds: 2)
+Coordinates:
+  * lat        (lat) float64 46.95 46.95 46.95 46.95 ... 46.66 46.66 46.66 46.65
+  * lon        (lon) float64 11.02 11.02 11.03 11.03 ... 11.36 11.36 11.36 11.37
+  * time       (time) datetime64[ns] 2018-02-01T10:22:37 ... 2018-06-28T10:13:58
+    time_bnds  (time, bnds) datetime64[ns] dask.array<chunksize=(58, 2), meta=np.ndarray>
+Dimensions without coordinates: bnds
+Data variables:
+    B03        (time, lat, lon) float32 dask.array<chunksize=(1, 167, 192), meta=np.ndarray>
+    B11        (time, lat, lon) float32 dask.array<chunksize=(1, 167, 192), meta=np.ndarray>
+    CLM        (time, lat, lon) float32 dask.array<chunksize=(1, 167, 192), meta=np.ndarray>
+    NDSI       (time, lat, lon) float32 dask.array<chunksize=(1, 167, 192), meta=np.ndarray>
+    snowmap    (time, lat, lon) bool dask.array<chunksize=(1, 167, 192), meta=np.ndarray>
+Attributes:
+    Conventions:             CF-1.7
+    title:                   S2L2A Data Cube Subset
+    history:                 [{'program': 'xcube_sh.chunkstore.SentinelHubChu...
+    date_created:            2023-02-17T09:42:47.174581
+    time_coverage_start:     2018-02-01T10:22:37+00:00
+    time_coverage_end:       2018-06-28T10:13:58+00:00
+    time_coverage_duration:  P146DT23H51M21S
+    geospatial_lon_min:      11.020833333333357
+    geospatial_lat_min:      46.653599378797765
+    geospatial_lon_max:      11.366433333333356
+    geospatial_lat_max:      46.95419937879777
+    processing_level:        L2A
+
+

Add the cloud mask

+
+
+
cube_s2snowmap['snowmap'] = cube_s2snowmap.snowmap.where(cube_s2snowmap.CLM==0) 
+
+
+
+
+

Show a snow map (no snow = 0, snow = 1, cloud = NaN)

+
+
+
cube_s2snowmap.snowmap.sel(time='2018-04-02T10:24:35.000000000').plot.imshow()
+
+
+
+
+
<matplotlib.image.AxesImage at 0x7f4ba87cd970>
+
+
+../_images/993e57b9ee93172ab6ac08710fd18523196a9080fe782f65a430c175648a08b0.png +
+
+
+
+

Catchment SCA time series#

+

Mask with the catchment outline

+
+
+
cube_s2snowmap_masked = mask_dataset_by_geometry(cube_s2snowmap, catchment_outline.iloc[0].geometry)
+
+
+
+
+
+
+
cube_s2snowmap_masked.snowmap.sel(time='2018-04-02T10:24:35.000000000').plot.imshow()
+
+
+
+
+
<matplotlib.image.AxesImage at 0x7f4ba86d4b50>
+
+
+../_images/b73d2bd213085388d864f72c025f4b431b390526ff895e8cf68415cbda9d461f.png +
+
+

Compute the cloud percent in the catchment for each Sentinel-2 image

+
+
+
n_cloud = cube_s2snowmap_masked.CLM.sum(dim=['lat', 'lon'])
+n_cloud_valid = cube_s2snowmap_masked.CLM.count(dim=['lat', 'lon'])
+
+cube_s2snowmap_masked['cloud_percent'] = n_cloud / n_cloud_valid * 100
+cube_s2snowmap_masked
+
+
+
+
+
+ + + + + + + + + + + + + + +
<xarray.Dataset>
+Dimensions:        (lat: 166, lon: 191, time: 58, bnds: 2)
+Coordinates:
+  * lat            (lat) float64 46.95 46.95 46.95 46.95 ... 46.66 46.66 46.66
+  * lon            (lon) float64 11.02 11.02 11.03 11.03 ... 11.36 11.36 11.36
+  * time           (time) datetime64[ns] 2018-02-01T10:22:37 ... 2018-06-28T1...
+    time_bnds      (time, bnds) datetime64[ns] dask.array<chunksize=(58, 2), meta=np.ndarray>
+Dimensions without coordinates: bnds
+Data variables:
+    B03            (time, lat, lon) float32 dask.array<chunksize=(1, 166, 191), meta=np.ndarray>
+    B11            (time, lat, lon) float32 dask.array<chunksize=(1, 166, 191), meta=np.ndarray>
+    CLM            (time, lat, lon) float32 dask.array<chunksize=(1, 166, 191), meta=np.ndarray>
+    NDSI           (time, lat, lon) float32 dask.array<chunksize=(1, 166, 191), meta=np.ndarray>
+    snowmap        (time, lat, lon) float64 dask.array<chunksize=(1, 166, 191), meta=np.ndarray>
+    cloud_percent  (time) float64 dask.array<chunksize=(1,), meta=np.ndarray>
+Attributes: (12/17)
+    Conventions:                CF-1.7
+    title:                      S2L2A Data Cube Subset
+    history:                    [{'program': 'xcube_sh.chunkstore.SentinelHub...
+    date_created:               2023-02-17T09:42:47.174581
+    time_coverage_start:        2018-02-01T10:22:37+00:00
+    time_coverage_end:          2018-06-28T10:13:58+00:00
+    ...                         ...
+    processing_level:           L2A
+    geospatial_lon_units:       degrees_east
+    geospatial_lon_resolution:  0.0018000000000000028
+    geospatial_lat_units:       degrees_north
+    geospatial_lat_resolution:  0.0017999999999999822
+    date_modified:              2023-02-17T09:43:16.744018
+
+

In order to get an accurate snow cover area estimation we want to keep only the Sentinel-2 images with a cloud percent in the catchment lower than 20%

+
+
+
cube_s2snowmap_masked = cube_s2snowmap_masked.sel(time=cube_s2snowmap_masked.cloud_percent < 20)
+
+
+
+
+

For the remaining image we can then estimate the snow cover area

+
+
+
n_snow = cube_s2snowmap_masked.snowmap.sum(dim=['lat', 'lon'])
+n_snow_valid = cube_s2snowmap_masked.snowmap.count(dim=['lat', 'lon'])
+
+cube_s2snowmap_masked['snow_percent'] = n_snow / n_snow_valid * 100
+
+
+
+
+

The snow and cloud percentage value can be represented in a pandas DataFrame and saved as csv

+
+
+
sca_ts = cube_s2snowmap_masked[['cloud_percent', 'snow_percent']].to_dataframe()
+sca_ts
+
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
cloud_percentsnow_percent
time
2018-02-08 10:11:5314.10793879.586701
2018-02-11 10:25:594.82708974.475260
2018-02-13 10:15:5918.38485768.060348
2018-02-21 10:20:330.00000071.934766
2018-02-28 10:10:2112.76526168.030633
2018-03-08 10:22:4110.73487085.508841
2018-03-20 10:10:2111.09510178.134669
2018-03-23 10:20:2114.21928269.458655
2018-03-25 10:15:114.46685969.813520
2018-04-02 10:24:354.46030968.725578
2018-04-07 10:20:200.70081266.367654
2018-04-14 10:15:3610.17815072.582762
2018-04-19 10:14:570.00000058.560388
2018-04-22 10:21:150.00000054.872937
2018-04-24 10:15:2618.27351349.479083
2018-06-16 10:20:210.1375436.388142
2018-06-23 10:11:393.1634793.645587
+
+
+
+
+
sca_ts['snow_percent'].to_csv('s2_sca_ts_cloudfree.csv')
+
+
+
+
+
+
+
sca_ts['snow_percent'].plot(marker='o')
+
+
+
+
+
<AxesSubplot: xlabel='time'>
+
+
+../_images/a1ba234a5361331f1e3c4b99166af9af04a27305a63009c0cc41c7d79fb6303d.png +
+
+
+
+

Compare the evolution of SCA to runoff#

+

In alpine catchment snow represent a major contribution to the runoff during the melting season. As a qualitative analysis we will plot the runoff time series for the selected catchment toghether with the SCA time series we derived from Sentinel-2. As soon as the SCA decreases due to melting, the snow melt contribution implies an increase of the runoff.

+

Load the runoff time series stored in the csv file:

+
+
+
dsc = pd.read_csv('ADO_DSC_ITH1_0025.csv', sep=',', index_col='Time', parse_dates=True)
+
+
+
+
+
+
+
dsc
+
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
discharge_m3_s
Time
1994-01-01 01:00:004.03
1994-01-02 01:00:003.84
1994-01-03 01:00:003.74
1994-01-04 01:00:003.89
1994-01-05 01:00:003.80
......
2021-07-17 02:00:00NaN
2021-07-18 02:00:00NaN
2021-07-19 02:00:00NaN
2021-07-20 02:00:00NaN
2021-07-21 02:00:00NaN
+

10064 rows × 1 columns

+
+
+

Select the runoff time series accordingly with the time period we used to estimate the Sentinel-2 SCA

+
+
+
dsc = dsc.loc[start_date:end_date]
+dsc.plot()
+
+
+
+
+
<AxesSubplot: xlabel='Time'>
+
+
+../_images/64d85163fef5a11ae0fe974e91c69ae06fa083ddb1bdb533f961abe1beac873d.png +
+
+

Plot the runoff (left axes, blue line) toghether with the Sentinel-2 SCA (right axes, orange line)

+
+
+
ax1 = dsc.discharge_m3_s.plot(label='Discharge', xlabel='', ylabel='Discharge (m$^3$/s)')
+ax2 = sca_ts.snow_percent.plot(marker='o', secondary_y=True, label='SCA', xlabel='', ylabel='Snow cover area (%)')
+
+ax1.legend(loc='center left', bbox_to_anchor=(0, 0.6))
+ax2.legend(loc='center left', bbox_to_anchor=(0, 0.5))
+
+plt.show()
+
+
+
+
+../_images/df35cc0bc62d73b434d7e69efe3d67db8990582ebabf68d5bcc47bb148264110.png +
+
+
+
+
cube_s2snowmap['snowmap'] = cube_s2snowmap.snowmap.where(cube_s2snowmap.CLM==0, 2) 
+
+
+
+
+
+
+
cube_s2snowmap.snowmap.sel(time='2018-04-02T10:24:35.000000000').plot.imshow()
+
+
+
+
+
<matplotlib.image.AxesImage at 0x7f3fb8709a00>
+
+
+../_images/de4b9255803aa26e3318a44565df5df3b9d0263109f4d88a023f9a91084ee9c5.png +
+
+
+
+
cube_s2snowmap_masked = mask_dataset_by_geometry(cube_s2snowmap, catchment_outline.iloc[0].geometry, save_geometry_mask=True)
+cube_s2snowmap_masked
+
+
+
+
+
+ + + + + + + + + + + + + + +
<xarray.Dataset>
+Dimensions:        (lat: 166, lon: 191, time: 58, bnds: 2)
+Coordinates:
+  * lat            (lat) float64 46.95 46.95 46.95 46.95 ... 46.66 46.66 46.66
+  * lon            (lon) float64 11.02 11.02 11.03 11.03 ... 11.36 11.36 11.36
+  * time           (time) datetime64[ns] 2018-02-01T10:22:37 ... 2018-06-28T1...
+    time_bnds      (time, bnds) datetime64[ns] dask.array<chunksize=(58, 2), meta=np.ndarray>
+Dimensions without coordinates: bnds
+Data variables:
+    B03            (time, lat, lon) float32 dask.array<chunksize=(1, 166, 191), meta=np.ndarray>
+    B11            (time, lat, lon) float32 dask.array<chunksize=(1, 166, 191), meta=np.ndarray>
+    CLM            (time, lat, lon) float32 dask.array<chunksize=(1, 166, 191), meta=np.ndarray>
+    NDSI           (time, lat, lon) float32 dask.array<chunksize=(1, 166, 191), meta=np.ndarray>
+    snowmap        (time, lat, lon) float64 dask.array<chunksize=(1, 166, 191), meta=np.ndarray>
+    geometry_mask  (lat, lon) bool dask.array<chunksize=(166, 191), meta=np.ndarray>
+Attributes: (12/17)
+    Conventions:                CF-1.7
+    title:                      S2L2A Data Cube Subset
+    history:                    [{'program': 'xcube_sh.chunkstore.SentinelHub...
+    date_created:               2023-02-17T09:40:08.516335
+    time_coverage_start:        2018-02-01T10:22:37+00:00
+    time_coverage_end:          2018-06-28T10:13:58+00:00
+    ...                         ...
+    processing_level:           L2A
+    geospatial_lon_units:       degrees_east
+    geospatial_lon_resolution:  0.0018000000000000028
+    geospatial_lat_units:       degrees_north
+    geospatial_lat_resolution:  0.0017999999999999822
+    date_modified:              2023-02-17T09:40:51.289454
+
+
+
+
cube_s2snowmap_masked['CLM'] = cube_s2snowmap_masked.CLM == 1
+cube_s2snowmap_masked
+
+
+
+
+
+ + + + + + + + + + + + + + +
<xarray.Dataset>
+Dimensions:        (lat: 166, lon: 191, time: 58, bnds: 2)
+Coordinates:
+  * lat            (lat) float64 46.95 46.95 46.95 46.95 ... 46.66 46.66 46.66
+  * lon            (lon) float64 11.02 11.02 11.03 11.03 ... 11.36 11.36 11.36
+  * time           (time) datetime64[ns] 2018-02-01T10:22:37 ... 2018-06-28T1...
+    time_bnds      (time, bnds) datetime64[ns] dask.array<chunksize=(58, 2), meta=np.ndarray>
+Dimensions without coordinates: bnds
+Data variables:
+    B03            (time, lat, lon) float32 dask.array<chunksize=(1, 166, 191), meta=np.ndarray>
+    B11            (time, lat, lon) float32 dask.array<chunksize=(1, 166, 191), meta=np.ndarray>
+    CLM            (time, lat, lon) bool dask.array<chunksize=(1, 166, 191), meta=np.ndarray>
+    NDSI           (time, lat, lon) float32 dask.array<chunksize=(1, 166, 191), meta=np.ndarray>
+    snowmap        (time, lat, lon) float64 dask.array<chunksize=(1, 166, 191), meta=np.ndarray>
+    geometry_mask  (lat, lon) bool dask.array<chunksize=(166, 191), meta=np.ndarray>
+Attributes: (12/17)
+    Conventions:                CF-1.7
+    title:                      S2L2A Data Cube Subset
+    history:                    [{'program': 'xcube_sh.chunkstore.SentinelHub...
+    date_created:               2023-02-17T09:40:08.516335
+    time_coverage_start:        2018-02-01T10:22:37+00:00
+    time_coverage_end:          2018-06-28T10:13:58+00:00
+    ...                         ...
+    processing_level:           L2A
+    geospatial_lon_units:       degrees_east
+    geospatial_lon_resolution:  0.0018000000000000028
+    geospatial_lat_units:       degrees_north
+    geospatial_lat_resolution:  0.0017999999999999822
+    date_modified:              2023-02-17T09:40:51.289454
+
+
+
+
n_cloud = cube_s2snowmap_masked.CLM.sum(dim=['lat', 'lon'])
+n_valid = cube_s2snowmap_masked.geometry_mask.sum(dim=['lat', 'lon'])
+
+cube_s2snowmap_masked['cloud_percent'] = n_cloud / n_valid * 100
+cube_s2snowmap_masked
+
+
+
+
+
+ + + + + + + + + + + + + + +
<xarray.Dataset>
+Dimensions:        (lat: 166, lon: 191, time: 58, bnds: 2)
+Coordinates:
+  * lat            (lat) float64 46.95 46.95 46.95 46.95 ... 46.66 46.66 46.66
+  * lon            (lon) float64 11.02 11.02 11.03 11.03 ... 11.36 11.36 11.36
+  * time           (time) datetime64[ns] 2018-02-01T10:22:37 ... 2018-06-28T1...
+    time_bnds      (time, bnds) datetime64[ns] dask.array<chunksize=(58, 2), meta=np.ndarray>
+Dimensions without coordinates: bnds
+Data variables:
+    B03            (time, lat, lon) float32 dask.array<chunksize=(1, 166, 191), meta=np.ndarray>
+    B11            (time, lat, lon) float32 dask.array<chunksize=(1, 166, 191), meta=np.ndarray>
+    CLM            (time, lat, lon) bool dask.array<chunksize=(1, 166, 191), meta=np.ndarray>
+    NDSI           (time, lat, lon) float32 dask.array<chunksize=(1, 166, 191), meta=np.ndarray>
+    snowmap        (time, lat, lon) float64 dask.array<chunksize=(1, 166, 191), meta=np.ndarray>
+    geometry_mask  (lat, lon) bool dask.array<chunksize=(166, 191), meta=np.ndarray>
+    cloud_percent  (time) float64 dask.array<chunksize=(1,), meta=np.ndarray>
+Attributes: (12/17)
+    Conventions:                CF-1.7
+    title:                      S2L2A Data Cube Subset
+    history:                    [{'program': 'xcube_sh.chunkstore.SentinelHub...
+    date_created:               2023-02-17T09:40:08.516335
+    time_coverage_start:        2018-02-01T10:22:37+00:00
+    time_coverage_end:          2018-06-28T10:13:58+00:00
+    ...                         ...
+    processing_level:           L2A
+    geospatial_lon_units:       degrees_east
+    geospatial_lon_resolution:  0.0018000000000000028
+    geospatial_lat_units:       degrees_north
+    geospatial_lat_resolution:  0.0017999999999999822
+    date_modified:              2023-02-17T09:40:51.289454
+
+
+
+
cube_s2snowmap_masked = cube_s2snowmap_masked.sel(time=cube_s2snowmap_masked.cloud_percent < 20)
+cube_s2snowmap_masked
+
+
+
+
+
+ + + + + + + + + + + + + + +
<xarray.Dataset>
+Dimensions:        (lat: 166, lon: 191, time: 17, bnds: 2)
+Coordinates:
+  * lat            (lat) float64 46.95 46.95 46.95 46.95 ... 46.66 46.66 46.66
+  * lon            (lon) float64 11.02 11.02 11.03 11.03 ... 11.36 11.36 11.36
+  * time           (time) datetime64[ns] 2018-02-08T10:11:53 ... 2018-06-23T1...
+    time_bnds      (time, bnds) datetime64[ns] dask.array<chunksize=(17, 2), meta=np.ndarray>
+Dimensions without coordinates: bnds
+Data variables:
+    B03            (time, lat, lon) float32 dask.array<chunksize=(1, 166, 191), meta=np.ndarray>
+    B11            (time, lat, lon) float32 dask.array<chunksize=(1, 166, 191), meta=np.ndarray>
+    CLM            (time, lat, lon) bool dask.array<chunksize=(1, 166, 191), meta=np.ndarray>
+    NDSI           (time, lat, lon) float32 dask.array<chunksize=(1, 166, 191), meta=np.ndarray>
+    snowmap        (time, lat, lon) float64 dask.array<chunksize=(1, 166, 191), meta=np.ndarray>
+    geometry_mask  (lat, lon) bool dask.array<chunksize=(166, 191), meta=np.ndarray>
+    cloud_percent  (time) float64 dask.array<chunksize=(1,), meta=np.ndarray>
+Attributes: (12/17)
+    Conventions:                CF-1.7
+    title:                      S2L2A Data Cube Subset
+    history:                    [{'program': 'xcube_sh.chunkstore.SentinelHub...
+    date_created:               2023-02-17T09:40:08.516335
+    time_coverage_start:        2018-02-01T10:22:37+00:00
+    time_coverage_end:          2018-06-28T10:13:58+00:00
+    ...                         ...
+    processing_level:           L2A
+    geospatial_lon_units:       degrees_east
+    geospatial_lon_resolution:  0.0018000000000000028
+    geospatial_lat_units:       degrees_north
+    geospatial_lat_resolution:  0.0017999999999999822
+    date_modified:              2023-02-17T09:40:51.289454
+
+
+
+
cube_s2snowmap_masked['snowmap'] = cube_s2snowmap_masked.snowmap == 1
+
+
+
+
+
+
+
n_snow = cube_s2snowmap_masked.snowmap.sum(dim=['lat', 'lon'])
+
+cube_s2snowmap_masked['snow_percent'] = n_snow / (n_valid - n_cloud) * 100
+cube_s2snowmap_masked
+
+
+
+
+
+ + + + + + + + + + + + + + +
<xarray.Dataset>
+Dimensions:        (lat: 166, lon: 191, time: 17, bnds: 2)
+Coordinates:
+  * lat            (lat) float64 46.95 46.95 46.95 46.95 ... 46.66 46.66 46.66
+  * lon            (lon) float64 11.02 11.02 11.03 11.03 ... 11.36 11.36 11.36
+  * time           (time) datetime64[ns] 2018-02-08T10:11:53 ... 2018-06-23T1...
+    time_bnds      (time, bnds) datetime64[ns] dask.array<chunksize=(17, 2), meta=np.ndarray>
+Dimensions without coordinates: bnds
+Data variables:
+    B03            (time, lat, lon) float32 dask.array<chunksize=(1, 166, 191), meta=np.ndarray>
+    B11            (time, lat, lon) float32 dask.array<chunksize=(1, 166, 191), meta=np.ndarray>
+    CLM            (time, lat, lon) bool dask.array<chunksize=(1, 166, 191), meta=np.ndarray>
+    NDSI           (time, lat, lon) float32 dask.array<chunksize=(1, 166, 191), meta=np.ndarray>
+    snowmap        (time, lat, lon) bool dask.array<chunksize=(1, 166, 191), meta=np.ndarray>
+    geometry_mask  (lat, lon) bool dask.array<chunksize=(166, 191), meta=np.ndarray>
+    cloud_percent  (time) float64 dask.array<chunksize=(1,), meta=np.ndarray>
+    snow_percent   (time) float64 dask.array<chunksize=(1,), meta=np.ndarray>
+Attributes: (12/17)
+    Conventions:                CF-1.7
+    title:                      S2L2A Data Cube Subset
+    history:                    [{'program': 'xcube_sh.chunkstore.SentinelHub...
+    date_created:               2023-02-17T09:40:08.516335
+    time_coverage_start:        2018-02-01T10:22:37+00:00
+    time_coverage_end:          2018-06-28T10:13:58+00:00
+    ...                         ...
+    processing_level:           L2A
+    geospatial_lon_units:       degrees_east
+    geospatial_lon_resolution:  0.0018000000000000028
+    geospatial_lat_units:       degrees_north
+    geospatial_lat_resolution:  0.0017999999999999822
+    date_modified:              2023-02-17T09:40:51.289454
+
+
+
+
sca_ts = cube_s2snowmap_masked[['cloud_percent', 'snow_percent']].to_dataframe()
+sca_ts
+
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
cloud_percentsnow_percent
time
2018-02-08 10:11:5314.10793879.586701
2018-02-11 10:25:594.82708974.475260
2018-02-13 10:15:5918.38485768.060348
2018-02-21 10:20:330.00000071.934766
2018-02-28 10:10:2112.76526168.030633
2018-03-08 10:22:4110.73487085.508841
2018-03-20 10:10:2111.09510178.134669
2018-03-23 10:20:2114.21928269.458655
2018-03-25 10:15:114.46685969.813520
2018-04-02 10:24:354.46030968.725578
2018-04-07 10:20:200.70081266.367654
2018-04-14 10:15:3610.17815072.582762
2018-04-19 10:14:570.00000058.560388
2018-04-22 10:21:150.00000054.872937
2018-04-24 10:15:2618.27351349.479083
2018-06-16 10:20:210.1375436.388142
2018-06-23 10:11:393.1634793.645587
+
+
+
+
+
+
+ + + + +
+ + + + + + + + +
+ + + + + + + +
+ + + +
+
+
+ + + + + + + + \ No newline at end of file diff --git a/9.9_master_asi_conae/test/s1.html b/9.9_master_asi_conae/test/s1.html new file mode 100644 index 0000000..b3f2137 --- /dev/null +++ b/9.9_master_asi_conae/test/s1.html @@ -0,0 +1,1925 @@ + + + + + + + + + + + S1 — Cubes & Clouds - Cloud Native Open Data Sciences for Earth Observation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + +
+ +
+ + + + + +
+
+ + + + + + +
+ + + +
+ +
+
+ +
+
+ +
+ +
+ +
+ + +
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + + +
+

S1

+ +
+
+ +
+
+
+ + + + +
+ +
+

S1#

+
+
+
# xcube_sh imports
+from xcube_sh.cube import open_cube
+from xcube_sh.config import CubeConfig
+from xcube_sh.sentinelhub import SentinelHub
+
+# xcube imports
+from xcube.core.geom import mask_dataset_by_geometry
+
+# Various utilities
+from datetime import date
+import numpy as np
+import pandas as pd
+import geopandas as gpd
+import matplotlib.pyplot as plt
+
+
+
+
+
+
+
catchment_outline = gpd.read_file('catchment_outline.geojson')
+
+
+
+
+
+
+
SH = SentinelHub()
+SH.dataset_names
+
+
+
+
+
['LOTL1',
+ 'LTML2',
+ 'LMSSL1',
+ 'LTML1',
+ 'S1GRD',
+ 'S5PL2',
+ 'CUSTOM',
+ 'S2L1C',
+ 'HLS',
+ 'S3OLCI',
+ 'DEM',
+ 'S2L2A',
+ 'S3SLSTR',
+ 'LETML1',
+ 'MODIS',
+ 'LOTL2',
+ 'LETML2']
+
+
+
+
+
+
+
SH.band_names('S1GRD')
+
+
+
+
+
['VV', 'HH', 'VH', 'localIncidenceAngle', 'scatteringArea', 'shadowMask', 'HV']
+
+
+
+
+
+
+
bbox = catchment_outline.bounds.iloc[0]
+
+start_date = date(2017, 12, 1)
+end_date = date(2018, 1, 31)
+
+cube_config = CubeConfig(
+    dataset_name='S1GRD',
+    band_names=['VV', 'VH', 'localIncidenceAngle'],
+    bbox=bbox.tolist(),
+    spatial_res=0.0018,   # = 100 meters in degree>
+    time_range=[start_date.strftime("%Y-%m-%d"), end_date.strftime("%Y-%m-%d")],
+    time_tolerance='6D'
+)
+
+
+
+
+
+
+
cube = open_cube(cube_config, api_url="https://creodias.sentinel-hub.com")
+cube
+
+
+
+
+
+ + + + + + + + + + + + + + +
<xarray.Dataset>
+Dimensions:              (time: 21, lat: 167, lon: 192, bnds: 2)
+Coordinates:
+  * lat                  (lat) float64 46.95 46.95 46.95 ... 46.66 46.66 46.65
+  * lon                  (lon) float64 11.02 11.02 11.03 ... 11.36 11.36 11.37
+  * time                 (time) datetime64[ns] 2017-12-01T05:17:50 ... 2018-0...
+    time_bnds            (time, bnds) datetime64[ns] dask.array<chunksize=(21, 2), meta=np.ndarray>
+Dimensions without coordinates: bnds
+Data variables:
+    VH                   (time, lat, lon) float32 dask.array<chunksize=(1, 167, 192), meta=np.ndarray>
+    VV                   (time, lat, lon) float32 dask.array<chunksize=(1, 167, 192), meta=np.ndarray>
+    localIncidenceAngle  (time, lat, lon) float32 dask.array<chunksize=(1, 167, 192), meta=np.ndarray>
+Attributes:
+    Conventions:             CF-1.7
+    title:                   S1GRD Data Cube Subset
+    history:                 [{'program': 'xcube_sh.chunkstore.SentinelHubChu...
+    date_created:            2023-02-21T09:40:18.783677
+    time_coverage_start:     2017-12-01T05:17:50+00:00
+    time_coverage_end:       2018-01-30T05:17:47+00:00
+    time_coverage_duration:  P59DT23H59M57S
+    geospatial_lon_min:      11.020833333333357
+    geospatial_lat_min:      46.653599378797765
+    geospatial_lon_max:      11.366433333333356
+    geospatial_lat_max:      46.95419937879777
+    processing_level:        L1B
+
+
+
+
cube.time
+
+
+
+
+
+ + + + + + + + + + + + + + +
<xarray.DataArray 'time' (time: 21)>
+array(['2017-12-01T05:17:50.000000000', '2017-12-06T05:26:04.000000000',
+       '2017-12-07T05:18:25.000000000', '2017-12-12T05:26:34.000000000',
+       '2017-12-13T05:17:49.000000000', '2017-12-18T05:26:03.000000000',
+       '2017-12-19T05:18:25.000000000', '2017-12-24T05:26:33.000000000',
+       '2017-12-25T05:17:49.000000000', '2017-12-30T05:26:03.000000000',
+       '2017-12-31T05:18:24.000000000', '2018-01-05T05:26:33.000000000',
+       '2018-01-06T05:17:48.000000000', '2018-01-11T05:26:02.000000000',
+       '2018-01-12T05:18:24.000000000', '2018-01-17T05:26:33.000000000',
+       '2018-01-18T05:17:48.000000000', '2018-01-23T05:26:02.000000000',
+       '2018-01-24T05:18:23.000000000', '2018-01-29T05:26:32.000000000',
+       '2018-01-30T05:17:47.000000000'], dtype='datetime64[ns]')
+Coordinates:
+  * time     (time) datetime64[ns] 2017-12-01T05:17:50 ... 2018-01-30T05:17:47
+Attributes:
+    standard_name:  time
+    bounds:         time_bnds
+
+

Only acquisition in morning are available (descending) no afternoon acquisition are available in the afternoon (ascending)

+

We need to filter for ASCENDING only. Better for track number.

+
+ + + + +
+ + + + + + + + +
+ + + + +
+ + + +
+
+
+ + + + + + + + \ No newline at end of file diff --git a/9.9_master_asi_conae/test/s2_sca_sh.html b/9.9_master_asi_conae/test/s2_sca_sh.html new file mode 100644 index 0000000..c1feb49 --- /dev/null +++ b/9.9_master_asi_conae/test/s2_sca_sh.html @@ -0,0 +1,554 @@ + + + + + + + + + + + <no title> — Cubes & Clouds - Cloud Native Open Data Sciences for Earth Observation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + +
+ +
+ + + + + +
+
+ + + + + + + + +
+ + + +
+ +
+
+ +
+
+ +
+ +
+ +
+ + +
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + + +
+

+ +
+
+ +
+

Contents

+
+ +
+
+
+ + + + +
+ +
+
+
# Sentinel Hub
+from sentinelhub import (SHConfig, SentinelHubRequest, DataCollection, MimeType, CRS, BBox, bbox_to_dimensions, geometry)
+
+# Geospatial libraries
+import geopandas as gpd
+
+
+
+
+
+
+
x1 = 11.012421
+y1 = 46.659805
+x2 = 11.505432
+y2 = 47.009289
+
+bbox = x1, y1, x2, y2
+
+
+
+
+ + + + +
+ + + + + + +
+ +
+
+
+ +
+ + + + +
+ + +
+ + + +
+
+
+ + + + + + + + \ No newline at end of file diff --git a/9.9_master_asi_conae/test/s2_snowcover_test.html b/9.9_master_asi_conae/test/s2_snowcover_test.html new file mode 100644 index 0000000..28883ad --- /dev/null +++ b/9.9_master_asi_conae/test/s2_snowcover_test.html @@ -0,0 +1,1174 @@ + + + + + + + + + + + Sentinel-2 snow cover — Cubes & Clouds - Cloud Native Open Data Sciences for Earth Observation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + +
+ +
+ + + + + +
+
+ + + + + + +
+ + + +
+ +
+
+ +
+
+ +
+ +
+ +
+ + +
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + + +
+

Sentinel-2 snow cover

+ +
+ +
+
+ + + + +
+ +
+

Sentinel-2 snow cover#

+
+

Import libraries#

+
+
+
# Sentinel Hub
+from sentinelhub import (SHConfig, SentinelHubRequest, DataCollection, MimeType, CRS, BBox, bbox_to_dimensions, geometry)
+
+# Geospatial libraries
+import geopandas as gpd
+
+from datetime import date
+
+import folium
+
+
+
+
+
+
+

Sentinel-hub authentication#

+
+
+
config = SHConfig()
+config.sh_client_id = %env SH_CLIENT_ID
+config.sh_client_secret = %env SH_CLIENT_SECRET
+
+
+
+
+
+
+

Input definition#

+

Read the shapefile on which to compute the snow cover map and plot it

+
+
+
# Read the file with geopandas and convert it to EPSG:4326
+aoi_df = gpd.read_file('ADO_DSC_ITH1_0025.geojson')
+aoi_df = aoi_df.to_crs(4326)
+
+# Create a basemap with folium
+m = folium.Map(
+    location=[aoi_df.to_crs(4326).iloc[0].geometry.centroid.y, aoi_df.to_crs(4326).iloc[0].geometry.centroid.x],
+    zoom_start=11)
+
+# Add the polygon to the map
+geo_j = folium.GeoJson(data=aoi_df.to_json())
+geo_j.add_to(m)
+
+# Show the map
+m
+
+
+
+
+
Make this Notebook Trusted to load map: File -> Trust Notebook
+
+

Select a date

+
+
+
start_date = date(2018, 4, 1)
+end_date = date(2018, 4, 15)
+
+
+
+
+
+
+

Snowcover map generation#

+

Generate the snow cover map on the selected AOI and date from S2L1C

+
+
+
evalscript_snowcover = """
+
+//VERSION=3
+
+function setup() {
+  return {
+    input: ["B03", "B04", "B08", "B11", "CLM", "dataMask"],
+    output: {bands: 1, sampleType: "UINT8"}
+  };
+}
+
+function calc_snow_mask(NDVI, NDSI, B03){
+ 
+  let si = (NDSI >= 0.4) ? 1 : (Math.abs(NDVI - 0.1) <= 0.025 ? 1 : 0);
+  let br = B03 > 0.3;
+ 
+  return si && br;
+}
+
+function evaluatePixel(sample) {
+  
+  // Calculate indices
+  var NDSI = (sample.B03 - sample.B11) / (sample.B03 + sample.B11);
+  var NDVI = (sample.B08 - sample.B04) / (sample.B08 + sample.B04);
+  
+  // Calculate snowmask
+  var snow = calc_snow_mask(NDVI, NDSI, sample.B03);  
+  
+  // Create the snow mask with clouds
+  if (sample.dataMask == 0){
+      return [0];
+  }
+  else if (sample.CLM == 1){
+      return [3];
+  }
+  else if (snow == 1){
+      return [1];
+  }
+  else if (snow == 0){
+      return [2];
+  }
+  
+
+}
+"""
+
+aoi = geometry.Geometry(aoi_df.geometry.iloc[0], CRS.WGS84)
+
+request_snowcover = SentinelHubRequest(
+    evalscript=evalscript_snowcover,
+    input_data=[
+        SentinelHubRequest.input_data(
+            data_collection=DataCollection.SENTINEL2_L1C,
+            time_interval=(start_date, end_date),
+        )
+    ],
+    responses=[SentinelHubRequest.output_response('default', MimeType.TIFF)],
+    geometry=aoi,
+    size=bbox_to_dimensions(aoi.bbox, resolution=100),
+    config=config
+)
+
+snowcover = request_snowcover.get_data()
+
+
+
+
+
+
+
len(snowcover)
+
+
+
+
+
1
+
+
+
+
+

Generate the corresponding RGB image

+
+
+
# The evalscript for RGB map creation
+evalscript_rgb = """
+ //VERSION=3
+function setup(){
+  return{
+    input: ["B02", "B03", "B04", "dataMask"],
+    output: {bands: 4}
+  }
+}
+
+function evaluatePixel(sample){
+  // Set gain for visualisation
+  let gain = 2.5;
+  // Return RGB
+  return [sample.B04 * gain, sample.B03 * gain, sample.B02 * gain, sample.dataMask];
+}
+"""
+request_rgb = SentinelHubRequest(
+    evalscript=evalscript_rgb,
+    input_data=[
+        SentinelHubRequest.input_data(
+            data_collection=DataCollection.SENTINEL2_L1C,
+            time_interval=(date, date),
+        )],
+    responses=[
+        SentinelHubRequest.output_response('default', MimeType.TIFF)
+    ],
+    geometry=aoi,
+    size=bbox_to_dimensions(aoi.bbox, resolution=10),
+    config=config
+)
+rgb_response = request_rgb.get_data()
+
+
+
+
+
---------------------------------------------------------------------------
+HTTPError                                 Traceback (most recent call last)
+File /home/conda/master-asi-conae/315434deb1b1e05eacacc41e1b0529b1837100f46402a32041d77ba54ae6c5f3-20230213-125825-013239-74-edc-2022.10-14/lib/python3.9/site-packages/sentinelhub/download/handlers.py:41, in fail_user_errors.<locals>.new_download_func(self, request)
+     40 try:
+---> 41     return download_func(self, request)
+     42 except requests.HTTPError as exception:
+
+File /home/conda/master-asi-conae/315434deb1b1e05eacacc41e1b0529b1837100f46402a32041d77ba54ae6c5f3-20230213-125825-013239-74-edc-2022.10-14/lib/python3.9/site-packages/sentinelhub/download/sentinelhub_client.py:90, in SentinelHubDownloadClient._execute_download(self, request)
+     88     continue
+---> 90 response.raise_for_status()
+     92 LOGGER.debug("Successful %s request to %s", request.request_type.value, request.url)
+
+File /home/conda/master-asi-conae/315434deb1b1e05eacacc41e1b0529b1837100f46402a32041d77ba54ae6c5f3-20230213-125825-013239-74-edc-2022.10-14/lib/python3.9/site-packages/requests/models.py:1021, in Response.raise_for_status(self)
+   1020 if http_error_msg:
+-> 1021     raise HTTPError(http_error_msg, response=self)
+
+HTTPError: 400 Client Error: Bad Request for url: https://services.sentinel-hub.com/api/v1/process
+
+The above exception was the direct cause of the following exception:
+
+DownloadFailedException                   Traceback (most recent call last)
+Cell In[10], line 32
+      2 evalscript_rgb = """
+      3  //VERSION=3
+      4 function setup(){
+   (...)
+     16 }
+     17 """
+     18 request_rgb = SentinelHubRequest(
+     19     evalscript=evalscript_rgb,
+     20     input_data=[
+   (...)
+     30     config=config
+     31 )
+---> 32 rgb_response = request_rgb.get_data()
+
+File /home/conda/master-asi-conae/315434deb1b1e05eacacc41e1b0529b1837100f46402a32041d77ba54ae6c5f3-20230213-125825-013239-74-edc-2022.10-14/lib/python3.9/site-packages/sentinelhub/base.py:110, in DataRequest.get_data(self, save_data, redownload, data_filter, max_threads, decode_data, raise_download_errors, show_progress)
+     88 """Get requested data either by downloading it or by reading it from the disk (if it
+     89 was previously downloaded and saved).
+     90 
+   (...)
+    107     shape ``[height, width, channels]``.
+    108 """
+    109 self._preprocess_request(save_data, True)
+--> 110 return self._execute_data_download(
+    111     data_filter,
+    112     redownload,
+    113     max_threads,
+    114     raise_download_errors,
+    115     decode_data=decode_data,
+    116     show_progress=show_progress,
+    117 )
+
+File /home/conda/master-asi-conae/315434deb1b1e05eacacc41e1b0529b1837100f46402a32041d77ba54ae6c5f3-20230213-125825-013239-74-edc-2022.10-14/lib/python3.9/site-packages/sentinelhub/base.py:184, in DataRequest._execute_data_download(self, data_filter, redownload, max_threads, raise_download_errors, decode_data, show_progress)
+    179     raise ValueError("data_filter parameter must be a list of indices")
+    181 client = self.download_client_class(
+    182     redownload=redownload, raise_download_errors=raise_download_errors, config=self.config
+    183 )
+--> 184 data_list = client.download(
+    185     filtered_download_list, max_threads=max_threads, decode_data=decode_data, show_progress=show_progress
+    186 )
+    188 if is_repeating_filter:
+    189     data_list = [copy.deepcopy(data_list[index]) for index in mapping_list]
+
+File /home/conda/master-asi-conae/315434deb1b1e05eacacc41e1b0529b1837100f46402a32041d77ba54ae6c5f3-20230213-125825-013239-74-edc-2022.10-14/lib/python3.9/site-packages/sentinelhub/download/sentinelhub_client.py:62, in SentinelHubDownloadClient.download(self, *args, **kwargs)
+     60 self.lock = Lock()
+     61 try:
+---> 62     return super().download(*args, **kwargs)
+     63 finally:
+     64     self.lock = None
+
+File /home/conda/master-asi-conae/315434deb1b1e05eacacc41e1b0529b1837100f46402a32041d77ba54ae6c5f3-20230213-125825-013239-74-edc-2022.10-14/lib/python3.9/site-packages/sentinelhub/download/client.py:113, in DownloadClient.download(self, download_requests, max_threads, decode_data, show_progress)
+    111     else:
+    112         for future in as_completed(download_list):
+--> 113             data_list[future_order[future]] = self._process_download_future(future)
+    115 if isinstance(download_requests, DownloadRequest):
+    116     return data_list[0]
+
+File /home/conda/master-asi-conae/315434deb1b1e05eacacc41e1b0529b1837100f46402a32041d77ba54ae6c5f3-20230213-125825-013239-74-edc-2022.10-14/lib/python3.9/site-packages/sentinelhub/download/client.py:126, in DownloadClient._process_download_future(self, future)
+    124 if self.raise_download_errors:
+    125     traceback = sys.exc_info()[2]
+--> 126     raise download_exception.with_traceback(traceback)
+    128 warnings.warn(str(download_exception), category=SHRuntimeWarning)
+    129 return None
+
+File /home/conda/master-asi-conae/315434deb1b1e05eacacc41e1b0529b1837100f46402a32041d77ba54ae6c5f3-20230213-125825-013239-74-edc-2022.10-14/lib/python3.9/site-packages/sentinelhub/download/client.py:122, in DownloadClient._process_download_future(self, future)
+    120 """Unpacks the future and correctly handles exceptions"""
+    121 try:
+--> 122     return future.result()
+    123 except DownloadFailedException as download_exception:
+    124     if self.raise_download_errors:
+
+File /home/conda/master-asi-conae/315434deb1b1e05eacacc41e1b0529b1837100f46402a32041d77ba54ae6c5f3-20230213-125825-013239-74-edc-2022.10-14/lib/python3.9/concurrent/futures/_base.py:439, in Future.result(self, timeout)
+    437     raise CancelledError()
+    438 elif self._state == FINISHED:
+--> 439     return self.__get_result()
+    441 self._condition.wait(timeout)
+    443 if self._state in [CANCELLED, CANCELLED_AND_NOTIFIED]:
+
+File /home/conda/master-asi-conae/315434deb1b1e05eacacc41e1b0529b1837100f46402a32041d77ba54ae6c5f3-20230213-125825-013239-74-edc-2022.10-14/lib/python3.9/concurrent/futures/_base.py:391, in Future.__get_result(self)
+    389 if self._exception:
+    390     try:
+--> 391         raise self._exception
+    392     finally:
+    393         # Break a reference cycle with the exception in self._exception
+    394         self = None
+
+File /home/conda/master-asi-conae/315434deb1b1e05eacacc41e1b0529b1837100f46402a32041d77ba54ae6c5f3-20230213-125825-013239-74-edc-2022.10-14/lib/python3.9/concurrent/futures/thread.py:58, in _WorkItem.run(self)
+     55     return
+     57 try:
+---> 58     result = self.fn(*self.args, **self.kwargs)
+     59 except BaseException as exc:
+     60     self.future.set_exception(exc)
+
+File /home/conda/master-asi-conae/315434deb1b1e05eacacc41e1b0529b1837100f46402a32041d77ba54ae6c5f3-20230213-125825-013239-74-edc-2022.10-14/lib/python3.9/site-packages/sentinelhub/download/client.py:133, in DownloadClient._single_download_decoded(self, request)
+    131 def _single_download_decoded(self, request: DownloadRequest) -> Any:
+    132     """Downloads a response and decodes it into data. By decoding a single response"""
+--> 133     response = self._single_download(request)
+    134     return None if response is None else response.decode()
+
+File /home/conda/master-asi-conae/315434deb1b1e05eacacc41e1b0529b1837100f46402a32041d77ba54ae6c5f3-20230213-125825-013239-74-edc-2022.10-14/lib/python3.9/site-packages/sentinelhub/download/client.py:146, in DownloadClient._single_download(self, request)
+    144 no_local_data = self.redownload or response_path is None or not os.path.exists(response_path)
+    145 if no_local_data:
+--> 146     response = self._execute_download(request)
+    147 else:
+    148     if not request.return_data or response_path is None:
+
+File /home/conda/master-asi-conae/315434deb1b1e05eacacc41e1b0529b1837100f46402a32041d77ba54ae6c5f3-20230213-125825-013239-74-edc-2022.10-14/lib/python3.9/site-packages/sentinelhub/download/handlers.py:67, in retry_temporary_errors.<locals>.new_download_func(self, request)
+     65 for attempt_num in range(download_attempts):
+     66     try:
+---> 67         return download_func(self, request)
+     68     except requests.RequestException as exception:
+     69         if not (
+     70             _is_temporary_problem(exception)
+     71             or (
+   (...)
+     74             )
+     75         ):
+
+File /home/conda/master-asi-conae/315434deb1b1e05eacacc41e1b0529b1837100f46402a32041d77ba54ae6c5f3-20230213-125825-013239-74-edc-2022.10-14/lib/python3.9/site-packages/sentinelhub/download/handlers.py:47, in fail_user_errors.<locals>.new_download_func(self, request)
+     42 except requests.HTTPError as exception:
+     43     if (
+     44         exception.response.status_code < requests.status_codes.codes.INTERNAL_SERVER_ERROR
+     45         and exception.response.status_code != requests.status_codes.codes.TOO_MANY_REQUESTS
+     46     ):
+---> 47         raise DownloadFailedException(
+     48             _create_download_failed_message(exception, request.url), request_exception=exception
+     49         ) from exception
+     50     raise exception from exception
+
+DownloadFailedException: Failed to download from:
+https://services.sentinel-hub.com/api/v1/process
+with HTTPError:
+400 Client Error: Bad Request for url: https://services.sentinel-hub.com/api/v1/process
+Server response: "{"status": 400, "reason": "Bad Request", "message": "Invalid request", "code": "COMMON_BAD_PAYLOAD", "errors": [{"parameter": "output->width", "invalidValue": 2881, "violation": "must be less than or equal to 2500", "description": "The request image width. Must be an integer between 1 and 2500. <br />*Only one pair of parameters \"width\"/\"height\" or \"resx\"/\"resy\" must be set at the same time.*"}, {"parameter": "output->height", "invalidValue": 3058, "violation": "must be less than or equal to 2500", "description": "The request image height. Must be an integer between 1 and 2500. <br />*Only one pair of parameters \"width\"/\"height\" or \"resx\"/\"resy\" must be set at the same time.*"}]}"
+
+
+
+
+
+
+

Show the result#

+
+
+
# Create a basemap with folium
+m = folium.Map(
+    location=aoi.bbox.middle[::-1],
+    zoom_start=11)
+
+# Color map for the snow cover (0 no data: transparent, 1 snow: white, 2 snow-free: green, 3 cloud: gray)
+cmap = ((0, 0, 0, 0), (1, 1, 1, 1), (0, 0.6, 0.3, 1), (0.5, 0.5, 0.5, 1))
+
+# Add the snow cover to the map
+folium.raster_layers.ImageOverlay(
+    snowcover[0],
+    bounds=[aoi.bbox.lower_left[::-1], aoi.bbox.upper_right[::-1]],
+    name='snow cover',
+    colormap=lambda x: cmap[x]
+).add_to(m)
+
+# Add the Sentinel-2 RGB to the map
+folium.raster_layers.ImageOverlay(
+    rgb_response[0]/255,
+    bounds=[aoi.bbox.lower_left[::-1], aoi.bbox.upper_right[::-1]],
+    name='RGB',
+).add_to(m)
+
+# Add the layer control
+folium.LayerControl().add_to(m)
+
+# Show the map
+m
+
+
+
+
+
+
+
snowcover
+
+
+
+
+
[array([[0, 0, 0, ..., 0, 0, 0],
+        [0, 0, 0, ..., 0, 0, 0],
+        [0, 0, 0, ..., 0, 0, 0],
+        ...,
+        [0, 0, 0, ..., 0, 0, 0],
+        [0, 0, 0, ..., 0, 0, 0],
+        [0, 0, 0, ..., 0, 0, 0]], dtype=uint8)]
+
+
+
+
+
+
+
# Create a basemap with folium
+m = folium.Map(
+    location=aoi.bbox.middle[::-1],
+    zoom_start=11)
+
+# Color map for the snow cover (0 no data: transparent, 1 snow: white, 2 snow-free: green, 3 cloud: gray)
+cmap = ((0, 0, 0, 0), (1, 1, 1, 1), (0, 0.6, 0.3, 1), (0.5, 0.5, 0.5, 1))
+
+# Add the snow cover to the map
+folium.raster_layers.ImageOverlay(
+    snowcover[0],
+    bounds=[aoi.bbox.lower_left[::-1], aoi.bbox.upper_right[::-1]],
+    name='snow cover',
+    colormap=lambda x: cmap[x]
+).add_to(m)
+
+
+
+
+
<folium.raster_layers.ImageOverlay at 0x7ff35780afa0>
+
+
+
+
+
+
+
m
+
+
+
+
+
Make this Notebook Trusted to load map: File -> Trust Notebook
+
+
+
+ + + + +
+ + + + + + + + +
+ + + + + + + +
+ + + +
+
+
+ + + + + + + + \ No newline at end of file diff --git a/9.9_master_asi_conae/test/s3_ndsi.html b/9.9_master_asi_conae/test/s3_ndsi.html new file mode 100644 index 0000000..1990ee6 --- /dev/null +++ b/9.9_master_asi_conae/test/s3_ndsi.html @@ -0,0 +1,2107 @@ + + + + + + + + + + + List all the available dataset — Cubes & Clouds - Cloud Native Open Data Sciences for Earth Observation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + +
+ +
+ + + + + +
+
+ + + + + + +
+ + + +
+ +
+
+ +
+
+ +
+ +
+ +
+ + +
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + + +
+

List all the available dataset

+ +
+
+ +
+
+
+ + + + +
+ +
+
+
# xcube_sh imports
+from xcube_sh.cube import open_cube
+from xcube_sh.config import CubeConfig
+from xcube_sh.sentinelhub import SentinelHub
+
+# xcube imports
+from xcube.core.geom import mask_dataset_by_geometry
+
+# Various utilities
+from datetime import date
+import numpy as np
+import pandas as pd
+import geopandas as gpd
+import matplotlib.pyplot as plt
+
+
+
+
+

Load the catchment outline

+
+
+
catchment_outline = gpd.read_file('catchment_outline.geojson')
+
+
+
+
+
+

List all the available dataset#

+
+
+
SH = SentinelHub()
+SH.dataset_names
+
+
+
+
+
['LETML1',
+ 'LOTL1',
+ 'LETML2',
+ 'CUSTOM',
+ 'LMSSL1',
+ 'LTML2',
+ 'LOTL2',
+ 'S3OLCI',
+ 'S3SLSTR',
+ 'DEM',
+ 'MODIS',
+ 'S5PL2',
+ 'HLS',
+ 'LTML1',
+ 'S1GRD',
+ 'S2L2A',
+ 'S2L1C']
+
+
+
+
+
+
+
SH.band_names('S3SLSTR')
+
+
+
+
+
['S1',
+ 'S2',
+ 'S3',
+ 'S4',
+ 'S4_A',
+ 'S4_B',
+ 'S5',
+ 'S5_A',
+ 'S5_B',
+ 'S6',
+ 'S6_A',
+ 'S6_B',
+ 'S7',
+ 'S8',
+ 'S9',
+ 'F1',
+ 'F2',
+ 'CLOUD_FRACTION',
+ 'SEA_ICE_FRACTION',
+ 'SEA_SURFACE_TEMPERATURE',
+ 'DEW_POINT',
+ 'SKIN_TEMPERATURE',
+ 'SNOW_ALBEDO',
+ 'SNOW_DEPTH',
+ 'SOIL_WETNESS',
+ 'TEMPERATURE',
+ 'TOTAL_COLUMN_OZONE',
+ 'TOTAL_COLUMN_WATER_VAPOR']
+
+
+
+
+

Configuring the data content of the cube

+
+
+
bbox = catchment_outline.bounds.iloc[0]
+
+start_date = date(2021, 2, 1)
+end_date = date(2021, 7, 1)
+
+cube_config = CubeConfig(
+    dataset_name='S3SLSTR',
+    band_names=['S1', 'S2', 'S3', 'S5', 'S6', 'F1', 'SNOW_DEPTH', 'SNOW_ALBEDO'],
+    bbox=bbox.tolist(),
+    spatial_res=0.009,   # = 500 meters in degree>
+    time_range=[start_date.strftime("%Y-%m-%d"), end_date.strftime("%Y-%m-%d")]
+)
+
+
+
+
+
/home/conda/master-asi-conae/315434deb1b1e05eacacc41e1b0529b1837100f46402a32041d77ba54ae6c5f3-20230213-125825-013239-74-edc-2022.10-14/lib/python3.9/site-packages/xcube_sh/config.py:248: FutureWarning: Units 'M', 'Y' and 'y' do not represent unambiguous timedelta values and will be removed in a future version.
+  time_tolerance = pd.to_timedelta(time_tolerance)
+
+
+
+
+
+
+
cube = open_cube(cube_config, api_url="https://creodias.sentinel-hub.com")
+cube
+
+
+
+
+
+ + + + + + + + + + + + + + +
<xarray.Dataset>
+Dimensions:      (time: 353, lat: 33, lon: 38, bnds: 2)
+Coordinates:
+  * lat          (lat) float64 46.95 46.94 46.93 46.92 ... 46.68 46.67 46.66
+  * lon          (lon) float64 11.03 11.03 11.04 11.05 ... 11.34 11.35 11.36
+  * time         (time) datetime64[ns] 2021-02-01T09:57:08 ... 2021-06-30T20:...
+    time_bnds    (time, bnds) datetime64[ns] dask.array<chunksize=(353, 2), meta=np.ndarray>
+Dimensions without coordinates: bnds
+Data variables:
+    F1           (time, lat, lon) float32 dask.array<chunksize=(1, 33, 38), meta=np.ndarray>
+    S1           (time, lat, lon) float32 dask.array<chunksize=(1, 33, 38), meta=np.ndarray>
+    S2           (time, lat, lon) float32 dask.array<chunksize=(1, 33, 38), meta=np.ndarray>
+    S3           (time, lat, lon) float32 dask.array<chunksize=(1, 33, 38), meta=np.ndarray>
+    S5           (time, lat, lon) float32 dask.array<chunksize=(1, 33, 38), meta=np.ndarray>
+    S6           (time, lat, lon) float32 dask.array<chunksize=(1, 33, 38), meta=np.ndarray>
+    SNOW_ALBEDO  (time, lat, lon) float32 dask.array<chunksize=(1, 33, 38), meta=np.ndarray>
+    SNOW_DEPTH   (time, lat, lon) float32 dask.array<chunksize=(1, 33, 38), meta=np.ndarray>
+Attributes:
+    Conventions:             CF-1.7
+    title:                   S3SLSTR Data Cube Subset
+    history:                 [{'program': 'xcube_sh.chunkstore.SentinelHubChu...
+    date_created:            2023-02-21T09:41:27.870387
+    time_coverage_start:     2021-02-01T09:37:22.665000+00:00
+    time_coverage_end:       2021-06-30T20:36:19.311000+00:00
+    time_coverage_duration:  P149DT10H58M56.646S
+    geospatial_lon_min:      11.020833333333357
+    geospatial_lat_min:      46.653599378797765
+    geospatial_lon_max:      11.362833333333358
+    geospatial_lat_max:      46.95059937879776
+    processing_level:        L1B
+
+
+
+
cube.SNOW_DEPTH.sel(time='2018-04-02T10:24:35.000000000', method='nearest').plot.imshow()
+
+
+
+
+
<matplotlib.image.AxesImage at 0x7f3532680820>
+
+
+../../_images/c9658aa5f5ff677e78f74804e03ca3ec9e19de76cd227ee336441ea7aea9e6dd.png +
+
+
+
+
cube.SNOW_ALBEDO.sel(time='2018-04-02T10:24:35.000000000', method='nearest').plot.imshow()
+
+
+
+
+
<matplotlib.image.AxesImage at 0x7f35324f3bb0>
+
+
+../../_images/92a98484022ee6080e9bcdf6cd007ccc6e56e3fefb1e3828778711b36e92b346.png +
+
+
+
+
cube.S2.sel(time='2018-05-09', method='nearest').plot.imshow()
+
+
+
+
+
<matplotlib.image.AxesImage at 0x7f35323e7430>
+
+
+../../_images/4c80b3926b7678dfa58b71b914cd1ecb5fad83b5ce184fa052a7f42b0f25289a.png +
+
+
+
+
cube.F1.sel(time='2018-04-02T10:24:35.000000000', method='nearest').plot.imshow()
+
+
+
+
+
<matplotlib.image.AxesImage at 0x7ff4f9bf4fa0>
+
+
+../../_images/264e9d4587456c0e70b5e648fd9860bcef410e64da8f4c7475a984eaeb02296f.png +
+
+
+ + + + +
+ + + + + + + + +
+ + + + +
+ + + +
+
+
+ + + + + + + + \ No newline at end of file diff --git a/9.9_master_asi_conae/test/test_s1_s3.html b/9.9_master_asi_conae/test/test_s1_s3.html new file mode 100644 index 0000000..6d31d53 --- /dev/null +++ b/9.9_master_asi_conae/test/test_s1_s3.html @@ -0,0 +1,2820 @@ + + + + + + + + + + + Sentinel-1 — Cubes & Clouds - Cloud Native Open Data Sciences for Earth Observation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + +
+ +
+ + + + + +
+
+ + + + + + +
+ + + +
+ +
+
+ +
+
+ +
+ +
+ +
+ + +
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + + +
+

Sentinel-1

+ +
+
+ +
+

Contents

+
+ +
+
+
+ + + + +
+ +
+
+
# xcube_sh imports
+from xcube_sh.cube import open_cube
+from xcube_sh.config import CubeConfig
+from xcube_sh.sentinelhub import SentinelHub
+
+
+
+
+
+

Sentinel-1#

+

Issues:

+ +
+
+
 SentinelHub().band_names('S1GRD') 
+
+
+
+
+
['VV', 'HH', 'VH', 'localIncidenceAngle', 'scatteringArea', 'shadowMask', 'HV']
+
+
+
+
+
+
+
cube_config_s1 = CubeConfig(
+    dataset_name='S1GRD',
+    band_names=['VV', 'VH', 'localIncidenceAngle', 'shadowMask'],
+    bbox=[11.02, 46.65, 11.36, 46.95],
+    spatial_res=0.0018,   # = 100 meters in degree>
+    time_range=['2018-02-01', '2018-06-30'],
+    time_period='6D'
+)
+
+
+
+
+
+
+
cube_s1 = open_cube(cube_config_s1)
+cube_s1
+
+
+
+
+
+ + + + + + + + + + + + + + +
<xarray.Dataset>
+Dimensions:              (time: 25, lat: 167, lon: 189, bnds: 2)
+Coordinates:
+  * lat                  (lat) float64 46.95 46.95 46.95 ... 46.65 46.65 46.65
+  * lon                  (lon) float64 11.02 11.02 11.02 ... 11.36 11.36 11.36
+  * time                 (time) datetime64[ns] 2018-02-04 ... 2018-06-28
+    time_bnds            (time, bnds) datetime64[ns] dask.array<chunksize=(25, 2), meta=np.ndarray>
+Dimensions without coordinates: bnds
+Data variables:
+    VH                   (time, lat, lon) float32 dask.array<chunksize=(1, 167, 189), meta=np.ndarray>
+    VV                   (time, lat, lon) float32 dask.array<chunksize=(1, 167, 189), meta=np.ndarray>
+    localIncidenceAngle  (time, lat, lon) float32 dask.array<chunksize=(1, 167, 189), meta=np.ndarray>
+    shadowMask           (time, lat, lon) float32 dask.array<chunksize=(1, 167, 189), meta=np.ndarray>
+Attributes: (12/13)
+    Conventions:               CF-1.7
+    title:                     S1GRD Data Cube Subset
+    history:                   [{'program': 'xcube_sh.chunkstore.SentinelHubC...
+    date_created:              2023-03-07T06:54:16.049322
+    time_coverage_start:       2018-02-01T00:00:00+00:00
+    time_coverage_end:         2018-07-01T00:00:00+00:00
+    ...                        ...
+    time_coverage_resolution:  P6DT0H0M0S
+    geospatial_lon_min:        11.02
+    geospatial_lat_min:        46.65
+    geospatial_lon_max:        11.360199999999999
+    geospatial_lat_max:        46.9506
+    processing_level:          L1B
+
+
+
+
 cube_s1.VV.sel(time='2018-05-10', method='nearest').plot.imshow(vmin=0, vmax=1)
+
+
+
+
+
<matplotlib.image.AxesImage at 0x7fcfae7c2970>
+
+
+../../_images/3e0e0a760d276c1f02671f7073bc8a9b6ce06eb134a2312fd8c2940b8ad4e876.png +
+
+
+
+
 cube_s1.VH.sel(time='2018-05-10', method='nearest').plot.imshow(vmin=0, vmax=1)
+
+
+
+
+
<matplotlib.image.AxesImage at 0x7fcfac8551f0>
+
+
+../../_images/a0feac9c90058113ef5ff9802346acbc4525b6399ed05e28aef08e74ea7bef9d.png +
+
+
+
+
 cube_s1.localIncidenceAngle.sel(time='2018-05-10', method='nearest').plot.imshow(vmin=0, vmax=1)
+
+
+
+
+
Failed to fetch data from Sentinel Hub after 44.90783905982971 seconds and 200 retries
+HTTP status code was 400
+
+
+
---------------------------------------------------------------------------
+KeyError                                  Traceback (most recent call last)
+File /opt/conda/envs/edc-default-2022.10-14/lib/python3.9/site-packages/zarr/storage.py:2434, in LRUStoreCache.__getitem__(self, key)
+   2433 with self._mutex:
+-> 2434     value = self._values_cache[key]
+   2435     # cache hit if no KeyError is raised
+
+KeyError: 'localIncidenceAngle/16.0.0'
+
+During handling of the above exception, another exception occurred:
+
+HTTPError                                 Traceback (most recent call last)
+File /opt/conda/envs/edc-default-2022.10-14/lib/python3.9/site-packages/xcube_sh/sentinelhub.py:645, in SentinelHubError.maybe_raise_for_response(cls, response)
+    644 try:
+--> 645     response.raise_for_status()
+    646 except requests.HTTPError as e:
+
+File /opt/conda/envs/edc-default-2022.10-14/lib/python3.9/site-packages/requests/models.py:1021, in Response.raise_for_status(self)
+   1020 if http_error_msg:
+-> 1021     raise HTTPError(http_error_msg, response=self)
+
+HTTPError: 400 Client Error: Bad Request for url: https://services.sentinel-hub.com/api/v1/process
+
+The above exception was the direct cause of the following exception:
+
+SentinelHubError                          Traceback (most recent call last)
+Cell In [7], line 1
+----> 1 cube_s1.localIncidenceAngle.sel(time='2018-05-10', method='nearest').plot.imshow(vmin=0, vmax=1)
+
+File /opt/conda/envs/edc-default-2022.10-14/lib/python3.9/site-packages/xarray/plot/plot.py:1311, in _plot2d.<locals>.plotmethod(_PlotMethods_obj, x, y, figsize, size, aspect, ax, row, col, col_wrap, xincrease, yincrease, add_colorbar, add_labels, vmin, vmax, cmap, colors, center, robust, extend, levels, infer_intervals, subplot_kws, cbar_ax, cbar_kwargs, xscale, yscale, xticks, yticks, xlim, ylim, norm, **kwargs)
+   1309 for arg in ["_PlotMethods_obj", "newplotfunc", "kwargs"]:
+   1310     del allargs[arg]
+-> 1311 return newplotfunc(**allargs)
+
+File /opt/conda/envs/edc-default-2022.10-14/lib/python3.9/site-packages/xarray/plot/plot.py:1175, in _plot2d.<locals>.newplotfunc(darray, x, y, figsize, size, aspect, ax, row, col, col_wrap, xincrease, yincrease, add_colorbar, add_labels, vmin, vmax, cmap, center, robust, extend, levels, infer_intervals, colors, subplot_kws, cbar_ax, cbar_kwargs, xscale, yscale, xticks, yticks, xlim, ylim, norm, **kwargs)
+   1172 yval = yval.to_numpy()
+   1174 # Pass the data as a masked ndarray too
+-> 1175 zval = darray.to_masked_array(copy=False)
+   1177 # Replace pd.Intervals if contained in xval or yval.
+   1178 xplt, xlab_extra = _resolve_intervals_2dplot(xval, plotfunc.__name__)
+
+File /opt/conda/envs/edc-default-2022.10-14/lib/python3.9/site-packages/xarray/core/dataarray.py:3574, in DataArray.to_masked_array(self, copy)
+   3560 def to_masked_array(self, copy: bool = True) -> np.ma.MaskedArray:
+   3561     """Convert this array into a numpy.ma.MaskedArray
+   3562 
+   3563     Parameters
+   (...)
+   3572         Masked where invalid values (nan or inf) occur.
+   3573     """
+-> 3574     values = self.to_numpy()  # only compute lazy arrays once
+   3575     isnull = pd.isnull(values)
+   3576     return np.ma.MaskedArray(data=values, mask=isnull, copy=copy)
+
+File /opt/conda/envs/edc-default-2022.10-14/lib/python3.9/site-packages/xarray/core/dataarray.py:740, in DataArray.to_numpy(self)
+    729 def to_numpy(self) -> np.ndarray:
+    730     """
+    731     Coerces wrapped data to numpy and returns a numpy.ndarray.
+    732 
+   (...)
+    738     DataArray.data
+    739     """
+--> 740     return self.variable.to_numpy()
+
+File /opt/conda/envs/edc-default-2022.10-14/lib/python3.9/site-packages/xarray/core/variable.py:1178, in Variable.to_numpy(self)
+   1176 # TODO first attempt to call .to_numpy() once some libraries implement it
+   1177 if hasattr(data, "chunks"):
+-> 1178     data = data.compute()
+   1179 if isinstance(data, cupy_array_type):
+   1180     data = data.get()
+
+File /opt/conda/envs/edc-default-2022.10-14/lib/python3.9/site-packages/dask/base.py:315, in DaskMethodsMixin.compute(self, **kwargs)
+    291 def compute(self, **kwargs):
+    292     """Compute this dask collection
+    293 
+    294     This turns a lazy Dask collection into its in-memory equivalent.
+   (...)
+    313     dask.base.compute
+    314     """
+--> 315     (result,) = compute(self, traverse=False, **kwargs)
+    316     return result
+
+File /opt/conda/envs/edc-default-2022.10-14/lib/python3.9/site-packages/dask/base.py:600, in compute(traverse, optimize_graph, scheduler, get, *args, **kwargs)
+    597     keys.append(x.__dask_keys__())
+    598     postcomputes.append(x.__dask_postcompute__())
+--> 600 results = schedule(dsk, keys, **kwargs)
+    601 return repack([f(r, *a) for r, (f, a) in zip(results, postcomputes)])
+
+File /opt/conda/envs/edc-default-2022.10-14/lib/python3.9/site-packages/dask/threaded.py:89, in get(dsk, keys, cache, num_workers, pool, **kwargs)
+     86     elif isinstance(pool, multiprocessing.pool.Pool):
+     87         pool = MultiprocessingPoolExecutor(pool)
+---> 89 results = get_async(
+     90     pool.submit,
+     91     pool._max_workers,
+     92     dsk,
+     93     keys,
+     94     cache=cache,
+     95     get_id=_thread_get_id,
+     96     pack_exception=pack_exception,
+     97     **kwargs,
+     98 )
+    100 # Cleanup pools associated to dead threads
+    101 with pools_lock:
+
+File /opt/conda/envs/edc-default-2022.10-14/lib/python3.9/site-packages/dask/local.py:511, in get_async(submit, num_workers, dsk, result, cache, get_id, rerun_exceptions_locally, pack_exception, raise_exception, callbacks, dumps, loads, chunksize, **kwargs)
+    509         _execute_task(task, data)  # Re-execute locally
+    510     else:
+--> 511         raise_exception(exc, tb)
+    512 res, worker_id = loads(res_info)
+    513 state["cache"][key] = res
+
+File /opt/conda/envs/edc-default-2022.10-14/lib/python3.9/site-packages/dask/local.py:319, in reraise(exc, tb)
+    317 if exc.__traceback__ is not tb:
+    318     raise exc.with_traceback(tb)
+--> 319 raise exc
+
+File /opt/conda/envs/edc-default-2022.10-14/lib/python3.9/site-packages/dask/local.py:224, in execute_task(key, task_info, dumps, loads, get_id, pack_exception)
+    222 try:
+    223     task, data = loads(task_info)
+--> 224     result = _execute_task(task, data)
+    225     id = get_id()
+    226     result = dumps((result, id))
+
+File /opt/conda/envs/edc-default-2022.10-14/lib/python3.9/site-packages/dask/core.py:119, in _execute_task(arg, cache, dsk)
+    115     func, args = arg[0], arg[1:]
+    116     # Note: Don't assign the subtask results to a variable. numpy detects
+    117     # temporaries by their reference count and can execute certain
+    118     # operations in-place.
+--> 119     return func(*(_execute_task(a, cache) for a in args))
+    120 elif not ishashable(arg):
+    121     return arg
+
+File /opt/conda/envs/edc-default-2022.10-14/lib/python3.9/site-packages/dask/array/core.py:127, in getter(a, b, asarray, lock)
+    122     # Below we special-case `np.matrix` to force a conversion to
+    123     # `np.ndarray` and preserve original Dask behavior for `getter`,
+    124     # as for all purposes `np.matrix` is array-like and thus
+    125     # `is_arraylike` evaluates to `True` in that case.
+    126     if asarray and (not is_arraylike(c) or isinstance(c, np.matrix)):
+--> 127         c = np.asarray(c)
+    128 finally:
+    129     if lock:
+
+File /opt/conda/envs/edc-default-2022.10-14/lib/python3.9/site-packages/xarray/core/indexing.py:459, in ImplicitToExplicitIndexingAdapter.__array__(self, dtype)
+    458 def __array__(self, dtype=None):
+--> 459     return np.asarray(self.array, dtype=dtype)
+
+File /opt/conda/envs/edc-default-2022.10-14/lib/python3.9/site-packages/xarray/core/indexing.py:623, in CopyOnWriteArray.__array__(self, dtype)
+    622 def __array__(self, dtype=None):
+--> 623     return np.asarray(self.array, dtype=dtype)
+
+File /opt/conda/envs/edc-default-2022.10-14/lib/python3.9/site-packages/xarray/core/indexing.py:524, in LazilyIndexedArray.__array__(self, dtype)
+    522 def __array__(self, dtype=None):
+    523     array = as_indexable(self.array)
+--> 524     return np.asarray(array[self.key], dtype=None)
+
+File /opt/conda/envs/edc-default-2022.10-14/lib/python3.9/site-packages/xarray/backends/zarr.py:76, in ZarrArrayWrapper.__getitem__(self, key)
+     74 array = self.get_array()
+     75 if isinstance(key, indexing.BasicIndexer):
+---> 76     return array[key.tuple]
+     77 elif isinstance(key, indexing.VectorizedIndexer):
+     78     return array.vindex[
+     79         indexing._arrayize_vectorized_indexer(key, self.shape).tuple
+     80     ]
+
+File /opt/conda/envs/edc-default-2022.10-14/lib/python3.9/site-packages/zarr/core.py:807, in Array.__getitem__(self, selection)
+    805     result = self.vindex[selection]
+    806 else:
+--> 807     result = self.get_basic_selection(pure_selection, fields=fields)
+    808 return result
+
+File /opt/conda/envs/edc-default-2022.10-14/lib/python3.9/site-packages/zarr/core.py:933, in Array.get_basic_selection(self, selection, out, fields)
+    930     return self._get_basic_selection_zd(selection=selection, out=out,
+    931                                         fields=fields)
+    932 else:
+--> 933     return self._get_basic_selection_nd(selection=selection, out=out,
+    934                                         fields=fields)
+
+File /opt/conda/envs/edc-default-2022.10-14/lib/python3.9/site-packages/zarr/core.py:976, in Array._get_basic_selection_nd(self, selection, out, fields)
+    970 def _get_basic_selection_nd(self, selection, out=None, fields=None):
+    971     # implementation of basic selection for array with at least one dimension
+    972 
+    973     # setup indexer
+    974     indexer = BasicIndexer(selection, self)
+--> 976     return self._get_selection(indexer=indexer, out=out, fields=fields)
+
+File /opt/conda/envs/edc-default-2022.10-14/lib/python3.9/site-packages/zarr/core.py:1267, in Array._get_selection(self, indexer, out, fields)
+   1261 if not hasattr(self.chunk_store, "getitems") or \
+   1262    any(map(lambda x: x == 0, self.shape)):
+   1263     # sequentially get one key at a time from storage
+   1264     for chunk_coords, chunk_selection, out_selection in indexer:
+   1265 
+   1266         # load chunk selection into output array
+-> 1267         self._chunk_getitem(chunk_coords, chunk_selection, out, out_selection,
+   1268                             drop_axes=indexer.drop_axes, fields=fields)
+   1269 else:
+   1270     # allow storage to get multiple items at once
+   1271     lchunk_coords, lchunk_selection, lout_selection = zip(*indexer)
+
+File /opt/conda/envs/edc-default-2022.10-14/lib/python3.9/site-packages/zarr/core.py:1966, in Array._chunk_getitem(self, chunk_coords, chunk_selection, out, out_selection, drop_axes, fields)
+   1962 ckey = self._chunk_key(chunk_coords)
+   1964 try:
+   1965     # obtain compressed data for chunk
+-> 1966     cdata = self.chunk_store[ckey]
+   1968 except KeyError:
+   1969     # chunk not initialized
+   1970     if self._fill_value is not None:
+
+File /opt/conda/envs/edc-default-2022.10-14/lib/python3.9/site-packages/zarr/storage.py:2442, in LRUStoreCache.__getitem__(self, key)
+   2438         self._values_cache.move_to_end(key)
+   2440 except KeyError:
+   2441     # cache miss, retrieve value from the store
+-> 2442     value = self._store[key]
+   2443     with self._mutex:
+   2444         self.misses += 1
+
+File /opt/conda/envs/edc-default-2022.10-14/lib/python3.9/site-packages/zarr/storage.py:724, in KVStore.__getitem__(self, key)
+    723 def __getitem__(self, key):
+--> 724     return self._mutable_mapping[key]
+
+File /opt/conda/envs/edc-default-2022.10-14/lib/python3.9/site-packages/xcube_sh/chunkstore.py:508, in RemoteStore.__getitem__(self, key)
+    506 value = self._vfs[key]
+    507 if isinstance(value, tuple):
+--> 508     return self._fetch_chunk(key, *value)
+    509 return value
+
+File /opt/conda/envs/edc-default-2022.10-14/lib/python3.9/site-packages/xcube_sh/chunkstore.py:419, in RemoteStore._fetch_chunk(self, key, band_name, chunk_index)
+    411     observer(band_name=band_name,
+    412              chunk_index=chunk_index,
+    413              bbox=request_bbox,
+    414              time_range=request_time_range,
+    415              duration=duration,
+    416              exception=exception)
+    418 if exception:
+--> 419     raise exception
+    421 return chunk_data
+
+File /opt/conda/envs/edc-default-2022.10-14/lib/python3.9/site-packages/xcube_sh/chunkstore.py:400, in RemoteStore._fetch_chunk(self, key, band_name, chunk_index)
+    398 try:
+    399     exception = None
+--> 400     chunk_data = self.fetch_chunk(key,
+    401                                   band_name,
+    402                                   chunk_index,
+    403                                   bbox=request_bbox,
+    404                                   time_range=request_time_range)
+    405 except Exception as e:
+    406     exception = e
+
+File /opt/conda/envs/edc-default-2022.10-14/lib/python3.9/site-packages/xcube_sh/chunkstore.py:729, in SentinelHubChunkStore.fetch_chunk(self, key, band_name, chunk_index, bbox, time_range)
+    712     band_sample_types = band_sample_types[index]
+    714 request = SentinelHub.new_data_request(
+    715     self.cube_config.dataset_name,
+    716     band_names,
+   (...)
+    726     band_units=self.cube_config.band_units
+    727 )
+--> 729 response = self._sentinel_hub.get_data(
+    730     request,
+    731     mime_type='application/octet-stream'
+    732 )
+    734 if response is None or not response.ok:
+    735     message = (f'{key}: cannot fetch chunk for variable'
+    736                    f' {band_name!r}, bbox {bbox!r}, and'
+    737                    f' time_range {time_range!r}')
+
+File /opt/conda/envs/edc-default-2022.10-14/lib/python3.9/site-packages/xcube_sh/sentinelhub.py:432, in SentinelHub.get_data(self, request, mime_type)
+    430         raise response_error
+    431     elif response is not None:
+--> 432         SentinelHubError.maybe_raise_for_response(response)
+    433 elif self.error_policy == 'warn' and self.enable_warnings:
+    434     if response_error:
+
+File /opt/conda/envs/edc-default-2022.10-14/lib/python3.9/site-packages/xcube_sh/sentinelhub.py:655, in SentinelHubError.maybe_raise_for_response(cls, response)
+    653 except Exception:
+    654     pass
+--> 655 raise SentinelHubError(f'{e}: {detail}' if detail else f'{e}',
+    656                        response=response) from e
+
+SentinelHubError: 400 Client Error: Bad Request for url: https://services.sentinel-hub.com/api/v1/process
+
+
+
+
+
+
+
 cube_s1.shadowMask.sel(time='2018-05-10', method='nearest').plot.imshow(vmin=0, vmax=1)
+
+
+
+
+
Failed to fetch data from Sentinel Hub after 39.48806810379028 seconds and 200 retries
+HTTP status code was 400
+
+
+
---------------------------------------------------------------------------
+KeyError                                  Traceback (most recent call last)
+File /opt/conda/envs/edc-default-2022.10-14/lib/python3.9/site-packages/zarr/storage.py:2434, in LRUStoreCache.__getitem__(self, key)
+   2433 with self._mutex:
+-> 2434     value = self._values_cache[key]
+   2435     # cache hit if no KeyError is raised
+
+KeyError: 'shadowMask/16.0.0'
+
+During handling of the above exception, another exception occurred:
+
+HTTPError                                 Traceback (most recent call last)
+File /opt/conda/envs/edc-default-2022.10-14/lib/python3.9/site-packages/xcube_sh/sentinelhub.py:645, in SentinelHubError.maybe_raise_for_response(cls, response)
+    644 try:
+--> 645     response.raise_for_status()
+    646 except requests.HTTPError as e:
+
+File /opt/conda/envs/edc-default-2022.10-14/lib/python3.9/site-packages/requests/models.py:1021, in Response.raise_for_status(self)
+   1020 if http_error_msg:
+-> 1021     raise HTTPError(http_error_msg, response=self)
+
+HTTPError: 400 Client Error: Bad Request for url: https://services.sentinel-hub.com/api/v1/process
+
+The above exception was the direct cause of the following exception:
+
+SentinelHubError                          Traceback (most recent call last)
+Cell In [8], line 1
+----> 1 cube_s1.shadowMask.sel(time='2018-05-10', method='nearest').plot.imshow(vmin=0, vmax=1)
+
+File /opt/conda/envs/edc-default-2022.10-14/lib/python3.9/site-packages/xarray/plot/plot.py:1311, in _plot2d.<locals>.plotmethod(_PlotMethods_obj, x, y, figsize, size, aspect, ax, row, col, col_wrap, xincrease, yincrease, add_colorbar, add_labels, vmin, vmax, cmap, colors, center, robust, extend, levels, infer_intervals, subplot_kws, cbar_ax, cbar_kwargs, xscale, yscale, xticks, yticks, xlim, ylim, norm, **kwargs)
+   1309 for arg in ["_PlotMethods_obj", "newplotfunc", "kwargs"]:
+   1310     del allargs[arg]
+-> 1311 return newplotfunc(**allargs)
+
+File /opt/conda/envs/edc-default-2022.10-14/lib/python3.9/site-packages/xarray/plot/plot.py:1175, in _plot2d.<locals>.newplotfunc(darray, x, y, figsize, size, aspect, ax, row, col, col_wrap, xincrease, yincrease, add_colorbar, add_labels, vmin, vmax, cmap, center, robust, extend, levels, infer_intervals, colors, subplot_kws, cbar_ax, cbar_kwargs, xscale, yscale, xticks, yticks, xlim, ylim, norm, **kwargs)
+   1172 yval = yval.to_numpy()
+   1174 # Pass the data as a masked ndarray too
+-> 1175 zval = darray.to_masked_array(copy=False)
+   1177 # Replace pd.Intervals if contained in xval or yval.
+   1178 xplt, xlab_extra = _resolve_intervals_2dplot(xval, plotfunc.__name__)
+
+File /opt/conda/envs/edc-default-2022.10-14/lib/python3.9/site-packages/xarray/core/dataarray.py:3574, in DataArray.to_masked_array(self, copy)
+   3560 def to_masked_array(self, copy: bool = True) -> np.ma.MaskedArray:
+   3561     """Convert this array into a numpy.ma.MaskedArray
+   3562 
+   3563     Parameters
+   (...)
+   3572         Masked where invalid values (nan or inf) occur.
+   3573     """
+-> 3574     values = self.to_numpy()  # only compute lazy arrays once
+   3575     isnull = pd.isnull(values)
+   3576     return np.ma.MaskedArray(data=values, mask=isnull, copy=copy)
+
+File /opt/conda/envs/edc-default-2022.10-14/lib/python3.9/site-packages/xarray/core/dataarray.py:740, in DataArray.to_numpy(self)
+    729 def to_numpy(self) -> np.ndarray:
+    730     """
+    731     Coerces wrapped data to numpy and returns a numpy.ndarray.
+    732 
+   (...)
+    738     DataArray.data
+    739     """
+--> 740     return self.variable.to_numpy()
+
+File /opt/conda/envs/edc-default-2022.10-14/lib/python3.9/site-packages/xarray/core/variable.py:1178, in Variable.to_numpy(self)
+   1176 # TODO first attempt to call .to_numpy() once some libraries implement it
+   1177 if hasattr(data, "chunks"):
+-> 1178     data = data.compute()
+   1179 if isinstance(data, cupy_array_type):
+   1180     data = data.get()
+
+File /opt/conda/envs/edc-default-2022.10-14/lib/python3.9/site-packages/dask/base.py:315, in DaskMethodsMixin.compute(self, **kwargs)
+    291 def compute(self, **kwargs):
+    292     """Compute this dask collection
+    293 
+    294     This turns a lazy Dask collection into its in-memory equivalent.
+   (...)
+    313     dask.base.compute
+    314     """
+--> 315     (result,) = compute(self, traverse=False, **kwargs)
+    316     return result
+
+File /opt/conda/envs/edc-default-2022.10-14/lib/python3.9/site-packages/dask/base.py:600, in compute(traverse, optimize_graph, scheduler, get, *args, **kwargs)
+    597     keys.append(x.__dask_keys__())
+    598     postcomputes.append(x.__dask_postcompute__())
+--> 600 results = schedule(dsk, keys, **kwargs)
+    601 return repack([f(r, *a) for r, (f, a) in zip(results, postcomputes)])
+
+File /opt/conda/envs/edc-default-2022.10-14/lib/python3.9/site-packages/dask/threaded.py:89, in get(dsk, keys, cache, num_workers, pool, **kwargs)
+     86     elif isinstance(pool, multiprocessing.pool.Pool):
+     87         pool = MultiprocessingPoolExecutor(pool)
+---> 89 results = get_async(
+     90     pool.submit,
+     91     pool._max_workers,
+     92     dsk,
+     93     keys,
+     94     cache=cache,
+     95     get_id=_thread_get_id,
+     96     pack_exception=pack_exception,
+     97     **kwargs,
+     98 )
+    100 # Cleanup pools associated to dead threads
+    101 with pools_lock:
+
+File /opt/conda/envs/edc-default-2022.10-14/lib/python3.9/site-packages/dask/local.py:511, in get_async(submit, num_workers, dsk, result, cache, get_id, rerun_exceptions_locally, pack_exception, raise_exception, callbacks, dumps, loads, chunksize, **kwargs)
+    509         _execute_task(task, data)  # Re-execute locally
+    510     else:
+--> 511         raise_exception(exc, tb)
+    512 res, worker_id = loads(res_info)
+    513 state["cache"][key] = res
+
+File /opt/conda/envs/edc-default-2022.10-14/lib/python3.9/site-packages/dask/local.py:319, in reraise(exc, tb)
+    317 if exc.__traceback__ is not tb:
+    318     raise exc.with_traceback(tb)
+--> 319 raise exc
+
+File /opt/conda/envs/edc-default-2022.10-14/lib/python3.9/site-packages/dask/local.py:224, in execute_task(key, task_info, dumps, loads, get_id, pack_exception)
+    222 try:
+    223     task, data = loads(task_info)
+--> 224     result = _execute_task(task, data)
+    225     id = get_id()
+    226     result = dumps((result, id))
+
+File /opt/conda/envs/edc-default-2022.10-14/lib/python3.9/site-packages/dask/core.py:119, in _execute_task(arg, cache, dsk)
+    115     func, args = arg[0], arg[1:]
+    116     # Note: Don't assign the subtask results to a variable. numpy detects
+    117     # temporaries by their reference count and can execute certain
+    118     # operations in-place.
+--> 119     return func(*(_execute_task(a, cache) for a in args))
+    120 elif not ishashable(arg):
+    121     return arg
+
+File /opt/conda/envs/edc-default-2022.10-14/lib/python3.9/site-packages/dask/array/core.py:127, in getter(a, b, asarray, lock)
+    122     # Below we special-case `np.matrix` to force a conversion to
+    123     # `np.ndarray` and preserve original Dask behavior for `getter`,
+    124     # as for all purposes `np.matrix` is array-like and thus
+    125     # `is_arraylike` evaluates to `True` in that case.
+    126     if asarray and (not is_arraylike(c) or isinstance(c, np.matrix)):
+--> 127         c = np.asarray(c)
+    128 finally:
+    129     if lock:
+
+File /opt/conda/envs/edc-default-2022.10-14/lib/python3.9/site-packages/xarray/core/indexing.py:459, in ImplicitToExplicitIndexingAdapter.__array__(self, dtype)
+    458 def __array__(self, dtype=None):
+--> 459     return np.asarray(self.array, dtype=dtype)
+
+File /opt/conda/envs/edc-default-2022.10-14/lib/python3.9/site-packages/xarray/core/indexing.py:623, in CopyOnWriteArray.__array__(self, dtype)
+    622 def __array__(self, dtype=None):
+--> 623     return np.asarray(self.array, dtype=dtype)
+
+File /opt/conda/envs/edc-default-2022.10-14/lib/python3.9/site-packages/xarray/core/indexing.py:524, in LazilyIndexedArray.__array__(self, dtype)
+    522 def __array__(self, dtype=None):
+    523     array = as_indexable(self.array)
+--> 524     return np.asarray(array[self.key], dtype=None)
+
+File /opt/conda/envs/edc-default-2022.10-14/lib/python3.9/site-packages/xarray/backends/zarr.py:76, in ZarrArrayWrapper.__getitem__(self, key)
+     74 array = self.get_array()
+     75 if isinstance(key, indexing.BasicIndexer):
+---> 76     return array[key.tuple]
+     77 elif isinstance(key, indexing.VectorizedIndexer):
+     78     return array.vindex[
+     79         indexing._arrayize_vectorized_indexer(key, self.shape).tuple
+     80     ]
+
+File /opt/conda/envs/edc-default-2022.10-14/lib/python3.9/site-packages/zarr/core.py:807, in Array.__getitem__(self, selection)
+    805     result = self.vindex[selection]
+    806 else:
+--> 807     result = self.get_basic_selection(pure_selection, fields=fields)
+    808 return result
+
+File /opt/conda/envs/edc-default-2022.10-14/lib/python3.9/site-packages/zarr/core.py:933, in Array.get_basic_selection(self, selection, out, fields)
+    930     return self._get_basic_selection_zd(selection=selection, out=out,
+    931                                         fields=fields)
+    932 else:
+--> 933     return self._get_basic_selection_nd(selection=selection, out=out,
+    934                                         fields=fields)
+
+File /opt/conda/envs/edc-default-2022.10-14/lib/python3.9/site-packages/zarr/core.py:976, in Array._get_basic_selection_nd(self, selection, out, fields)
+    970 def _get_basic_selection_nd(self, selection, out=None, fields=None):
+    971     # implementation of basic selection for array with at least one dimension
+    972 
+    973     # setup indexer
+    974     indexer = BasicIndexer(selection, self)
+--> 976     return self._get_selection(indexer=indexer, out=out, fields=fields)
+
+File /opt/conda/envs/edc-default-2022.10-14/lib/python3.9/site-packages/zarr/core.py:1267, in Array._get_selection(self, indexer, out, fields)
+   1261 if not hasattr(self.chunk_store, "getitems") or \
+   1262    any(map(lambda x: x == 0, self.shape)):
+   1263     # sequentially get one key at a time from storage
+   1264     for chunk_coords, chunk_selection, out_selection in indexer:
+   1265 
+   1266         # load chunk selection into output array
+-> 1267         self._chunk_getitem(chunk_coords, chunk_selection, out, out_selection,
+   1268                             drop_axes=indexer.drop_axes, fields=fields)
+   1269 else:
+   1270     # allow storage to get multiple items at once
+   1271     lchunk_coords, lchunk_selection, lout_selection = zip(*indexer)
+
+File /opt/conda/envs/edc-default-2022.10-14/lib/python3.9/site-packages/zarr/core.py:1966, in Array._chunk_getitem(self, chunk_coords, chunk_selection, out, out_selection, drop_axes, fields)
+   1962 ckey = self._chunk_key(chunk_coords)
+   1964 try:
+   1965     # obtain compressed data for chunk
+-> 1966     cdata = self.chunk_store[ckey]
+   1968 except KeyError:
+   1969     # chunk not initialized
+   1970     if self._fill_value is not None:
+
+File /opt/conda/envs/edc-default-2022.10-14/lib/python3.9/site-packages/zarr/storage.py:2442, in LRUStoreCache.__getitem__(self, key)
+   2438         self._values_cache.move_to_end(key)
+   2440 except KeyError:
+   2441     # cache miss, retrieve value from the store
+-> 2442     value = self._store[key]
+   2443     with self._mutex:
+   2444         self.misses += 1
+
+File /opt/conda/envs/edc-default-2022.10-14/lib/python3.9/site-packages/zarr/storage.py:724, in KVStore.__getitem__(self, key)
+    723 def __getitem__(self, key):
+--> 724     return self._mutable_mapping[key]
+
+File /opt/conda/envs/edc-default-2022.10-14/lib/python3.9/site-packages/xcube_sh/chunkstore.py:508, in RemoteStore.__getitem__(self, key)
+    506 value = self._vfs[key]
+    507 if isinstance(value, tuple):
+--> 508     return self._fetch_chunk(key, *value)
+    509 return value
+
+File /opt/conda/envs/edc-default-2022.10-14/lib/python3.9/site-packages/xcube_sh/chunkstore.py:419, in RemoteStore._fetch_chunk(self, key, band_name, chunk_index)
+    411     observer(band_name=band_name,
+    412              chunk_index=chunk_index,
+    413              bbox=request_bbox,
+    414              time_range=request_time_range,
+    415              duration=duration,
+    416              exception=exception)
+    418 if exception:
+--> 419     raise exception
+    421 return chunk_data
+
+File /opt/conda/envs/edc-default-2022.10-14/lib/python3.9/site-packages/xcube_sh/chunkstore.py:400, in RemoteStore._fetch_chunk(self, key, band_name, chunk_index)
+    398 try:
+    399     exception = None
+--> 400     chunk_data = self.fetch_chunk(key,
+    401                                   band_name,
+    402                                   chunk_index,
+    403                                   bbox=request_bbox,
+    404                                   time_range=request_time_range)
+    405 except Exception as e:
+    406     exception = e
+
+File /opt/conda/envs/edc-default-2022.10-14/lib/python3.9/site-packages/xcube_sh/chunkstore.py:729, in SentinelHubChunkStore.fetch_chunk(self, key, band_name, chunk_index, bbox, time_range)
+    712     band_sample_types = band_sample_types[index]
+    714 request = SentinelHub.new_data_request(
+    715     self.cube_config.dataset_name,
+    716     band_names,
+   (...)
+    726     band_units=self.cube_config.band_units
+    727 )
+--> 729 response = self._sentinel_hub.get_data(
+    730     request,
+    731     mime_type='application/octet-stream'
+    732 )
+    734 if response is None or not response.ok:
+    735     message = (f'{key}: cannot fetch chunk for variable'
+    736                    f' {band_name!r}, bbox {bbox!r}, and'
+    737                    f' time_range {time_range!r}')
+
+File /opt/conda/envs/edc-default-2022.10-14/lib/python3.9/site-packages/xcube_sh/sentinelhub.py:432, in SentinelHub.get_data(self, request, mime_type)
+    430         raise response_error
+    431     elif response is not None:
+--> 432         SentinelHubError.maybe_raise_for_response(response)
+    433 elif self.error_policy == 'warn' and self.enable_warnings:
+    434     if response_error:
+
+File /opt/conda/envs/edc-default-2022.10-14/lib/python3.9/site-packages/xcube_sh/sentinelhub.py:655, in SentinelHubError.maybe_raise_for_response(cls, response)
+    653 except Exception:
+    654     pass
+--> 655 raise SentinelHubError(f'{e}: {detail}' if detail else f'{e}',
+    656                        response=response) from e
+
+SentinelHubError: 400 Client Error: Bad Request for url: https://services.sentinel-hub.com/api/v1/process
+
+
+
+
+
+
+

Sentinel-3 SLSTR#

+

Issues:

+
    +
  • S1 band have only values of 0 and 1

  • +
+
+
+
SentinelHub().band_names('S3SLSTR')
+
+
+
+
+
['S1',
+ 'S2',
+ 'S3',
+ 'S4',
+ 'S4_A',
+ 'S4_B',
+ 'S5',
+ 'S5_A',
+ 'S5_B',
+ 'S6',
+ 'S6_A',
+ 'S6_B',
+ 'S7',
+ 'S8',
+ 'S9',
+ 'F1',
+ 'F2',
+ 'CLOUD_FRACTION',
+ 'SEA_ICE_FRACTION',
+ 'SEA_SURFACE_TEMPERATURE',
+ 'DEW_POINT',
+ 'SKIN_TEMPERATURE',
+ 'SNOW_ALBEDO',
+ 'SNOW_DEPTH',
+ 'SOIL_WETNESS',
+ 'TEMPERATURE',
+ 'TOTAL_COLUMN_OZONE',
+ 'TOTAL_COLUMN_WATER_VAPOR']
+
+
+
+
+
+
+
cube_config_s3 = CubeConfig(
+    dataset_name='S3SLSTR',
+    band_names=['S1'],
+    bbox=[11.02, 46.65, 11.36, 46.95],
+    spatial_res=0.009,   # = 500 meters in degree>
+    upsampling='BILINEAR',
+    downsampling='BILINEAR',
+    time_range=['2018-02-01', '2018-06-30']
+)
+
+
+
+
+
/opt/conda/envs/edc-default-2022.10-14/lib/python3.9/site-packages/xcube_sh/config.py:248: FutureWarning: Units 'M', 'Y' and 'y' do not represent unambiguous timedelta values and will be removed in a future version.
+  time_tolerance = pd.to_timedelta(time_tolerance)
+
+
+
+
+
+
+
cube_s3 = open_cube(cube_config_s3, api_url="https://creodias.sentinel-hub.com")
+cube_s3
+
+
+
+
+
+ + + + + + + + + + + + + + +
<xarray.Dataset>
+Dimensions:    (time: 230, lat: 33, lon: 38, bnds: 2)
+Coordinates:
+  * lat        (lat) float64 46.94 46.93 46.92 46.92 ... 46.68 46.67 46.66 46.65
+  * lon        (lon) float64 11.02 11.03 11.04 11.05 ... 11.33 11.34 11.35 11.36
+  * time       (time) datetime64[ns] 2018-02-01T20:13:30 ... 2018-06-29T21:16:59
+    time_bnds  (time, bnds) datetime64[ns] dask.array<chunksize=(230, 2), meta=np.ndarray>
+Dimensions without coordinates: bnds
+Data variables:
+    S1         (time, lat, lon) float32 dask.array<chunksize=(1, 33, 38), meta=np.ndarray>
+Attributes:
+    Conventions:             CF-1.7
+    title:                   S3SLSTR Data Cube Subset
+    history:                 [{'program': 'xcube_sh.chunkstore.SentinelHubChu...
+    date_created:            2023-03-07T06:52:28.574972
+    time_coverage_start:     2018-02-01T20:13:30.178000+00:00
+    time_coverage_end:       2018-06-29T21:17:14.559000+00:00
+    time_coverage_duration:  P148DT1H3M44.381S
+    geospatial_lon_min:      11.02
+    geospatial_lat_min:      46.65
+    geospatial_lon_max:      11.362
+    geospatial_lat_max:      46.946999999999996
+    processing_level:        L1B
+
+
+
+
cube_s3.S1.sel(time='2018-06-25', method='nearest').plot.imshow()
+
+
+
+
+
<matplotlib.image.AxesImage at 0x7f3be5b837c0>
+
+
+../../_images/58eb149704fa2361140e1f5c7f5bc7f9976a0eb313080970c492ea9fc703f732.png +
+
+
+ + + + +
+ + + + + + + + +
+ + + + +
+ + +
+ + + +
+
+
+ + + + + + + + \ No newline at end of file diff --git a/README.html b/README.html new file mode 100644 index 0000000..55b3a64 --- /dev/null +++ b/README.html @@ -0,0 +1,570 @@ + + + + + + + + + + + Lectures — Cubes & Clouds - Cloud Native Open Data Sciences for Earth Observation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + +
+ +
+ + + + + +
+
+ + + + + + + + +
+ + + +
+ +
+
+ +
+
+ +
+ +
+ +
+ + +
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + + +
+

Lectures

+ +
+
+ +
+

Contents

+
+ +
+
+
+ + + + +
+ +
+

Lectures#

+

This is the place where the content of the lectures is stored. Every lecture has its own folder.

+
+

Structure#

+

In the lectures folder there is

+
    +
  • Markdown File: The main markdown file compiling all the information that will be displayed in the course.

  • +
  • Assets: A folder called assests. It holds all media used in the lecture, e.g. images, videos, interactive graphics, code snippets, etc.

  • +
  • Exercises: If there are coding exercises in a lesson, the according notebooks and data are stored here.

  • +
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ + + + +
+ + + + + + + + +
+ + + + +
+ + +
+ + + +
+
+
+ + + + + + + + \ No newline at end of file diff --git a/_downloads/6cf414fb7a7cc39af6ac94f6fab2a3a9/stac_leafmap.mp4 b/_downloads/6cf414fb7a7cc39af6ac94f6fab2a3a9/stac_leafmap.mp4 new file mode 100644 index 0000000..82e475a Binary files /dev/null and b/_downloads/6cf414fb7a7cc39af6ac94f6fab2a3a9/stac_leafmap.mp4 differ diff --git a/_downloads/fe5e1e628592b9dbc3a0c2f15ebf6010/sardinia.geojson b/_downloads/fe5e1e628592b9dbc3a0c2f15ebf6010/sardinia.geojson new file mode 100644 index 0000000..2d8faed --- /dev/null +++ b/_downloads/fe5e1e628592b9dbc3a0c2f15ebf6010/sardinia.geojson @@ -0,0 +1 @@ +{"type": "FeatureCollection", "features": [{"type": "Feature", "properties": {}, "geometry": {"type": "Polygon", "coordinates": [[[7.911339, 38.81718], [7.911339, 41.264882], [10.063829, 41.264882], [10.063829, 38.81718], [7.911339, 38.81718]]]}}]} \ No newline at end of file diff --git a/_images/0686b2053be9179d4a60c51b825d8e9ddc63f1dc1dbcf728f74d290c6a353d64.png b/_images/0686b2053be9179d4a60c51b825d8e9ddc63f1dc1dbcf728f74d290c6a353d64.png new file mode 100644 index 0000000..4ac86c3 Binary files /dev/null and b/_images/0686b2053be9179d4a60c51b825d8e9ddc63f1dc1dbcf728f74d290c6a353d64.png differ diff --git a/_images/0e4e98a75dd901585fe6cf23b92b857f44e24c63f265524397753fbc9a5033d3.png b/_images/0e4e98a75dd901585fe6cf23b92b857f44e24c63f265524397753fbc9a5033d3.png new file mode 100644 index 0000000..7467c59 Binary files /dev/null and b/_images/0e4e98a75dd901585fe6cf23b92b857f44e24c63f265524397753fbc9a5033d3.png differ diff --git a/_images/10637a2942d7af8059acf16b3458023cf8837398b64d5dc6c86964d7993be114.png b/_images/10637a2942d7af8059acf16b3458023cf8837398b64d5dc6c86964d7993be114.png new file mode 100644 index 0000000..b89d397 Binary files /dev/null and b/_images/10637a2942d7af8059acf16b3458023cf8837398b64d5dc6c86964d7993be114.png differ diff --git a/_images/1aa5b0af5642e682ec765fff92a9423c0a882a48e5193616cd2404f8c22cf208.png b/_images/1aa5b0af5642e682ec765fff92a9423c0a882a48e5193616cd2404f8c22cf208.png new file mode 100644 index 0000000..f2f2eb8 Binary files /dev/null and b/_images/1aa5b0af5642e682ec765fff92a9423c0a882a48e5193616cd2404f8c22cf208.png differ diff --git a/_images/1e0545f100ce14878df0e15dd7f87669b9c88d3d9421812712a33adb165aa992.png b/_images/1e0545f100ce14878df0e15dd7f87669b9c88d3d9421812712a33adb165aa992.png new file mode 100644 index 0000000..f40edb3 Binary files /dev/null and b/_images/1e0545f100ce14878df0e15dd7f87669b9c88d3d9421812712a33adb165aa992.png differ diff --git a/_images/1f025311a9ecf21e396a753bd92fb663211f64fdf5a8f1037aed742d5de52cdc.png b/_images/1f025311a9ecf21e396a753bd92fb663211f64fdf5a8f1037aed742d5de52cdc.png new file mode 100644 index 0000000..b25a8cf Binary files /dev/null and b/_images/1f025311a9ecf21e396a753bd92fb663211f64fdf5a8f1037aed742d5de52cdc.png differ diff --git a/_images/264e9d4587456c0e70b5e648fd9860bcef410e64da8f4c7475a984eaeb02296f.png b/_images/264e9d4587456c0e70b5e648fd9860bcef410e64da8f4c7475a984eaeb02296f.png new file mode 100644 index 0000000..5256657 Binary files /dev/null and b/_images/264e9d4587456c0e70b5e648fd9860bcef410e64da8f4c7475a984eaeb02296f.png differ diff --git a/_images/2b065b2fdcd1418d54726a6b41dd1f5a1aba4c6f272232c778a61a0bde56b5d9.png b/_images/2b065b2fdcd1418d54726a6b41dd1f5a1aba4c6f272232c778a61a0bde56b5d9.png new file mode 100644 index 0000000..d4752bc Binary files /dev/null and b/_images/2b065b2fdcd1418d54726a6b41dd1f5a1aba4c6f272232c778a61a0bde56b5d9.png differ diff --git a/_images/2ceb223fb8d9c91e6c92828284273047f1b20407f3f8c08f9e544f2cf5fe959f.png b/_images/2ceb223fb8d9c91e6c92828284273047f1b20407f3f8c08f9e544f2cf5fe959f.png new file mode 100644 index 0000000..612285e Binary files /dev/null and b/_images/2ceb223fb8d9c91e6c92828284273047f1b20407f3f8c08f9e544f2cf5fe959f.png differ diff --git a/_images/3e0e0a760d276c1f02671f7073bc8a9b6ce06eb134a2312fd8c2940b8ad4e876.png b/_images/3e0e0a760d276c1f02671f7073bc8a9b6ce06eb134a2312fd8c2940b8ad4e876.png new file mode 100644 index 0000000..9308f10 Binary files /dev/null and b/_images/3e0e0a760d276c1f02671f7073bc8a9b6ce06eb134a2312fd8c2940b8ad4e876.png differ diff --git a/_images/4c80b3926b7678dfa58b71b914cd1ecb5fad83b5ce184fa052a7f42b0f25289a.png b/_images/4c80b3926b7678dfa58b71b914cd1ecb5fad83b5ce184fa052a7f42b0f25289a.png new file mode 100644 index 0000000..0ba919b Binary files /dev/null and b/_images/4c80b3926b7678dfa58b71b914cd1ecb5fad83b5ce184fa052a7f42b0f25289a.png differ diff --git a/_images/51c9b0e69a9e653385c3ba1523b8528307837ada7c0411b4283bb49a06e61253.png b/_images/51c9b0e69a9e653385c3ba1523b8528307837ada7c0411b4283bb49a06e61253.png new file mode 100644 index 0000000..784b4a2 Binary files /dev/null and b/_images/51c9b0e69a9e653385c3ba1523b8528307837ada7c0411b4283bb49a06e61253.png differ diff --git a/_images/58eb149704fa2361140e1f5c7f5bc7f9976a0eb313080970c492ea9fc703f732.png b/_images/58eb149704fa2361140e1f5c7f5bc7f9976a0eb313080970c492ea9fc703f732.png new file mode 100644 index 0000000..c8d89f0 Binary files /dev/null and b/_images/58eb149704fa2361140e1f5c7f5bc7f9976a0eb313080970c492ea9fc703f732.png differ diff --git a/_images/64d85163fef5a11ae0fe974e91c69ae06fa083ddb1bdb533f961abe1beac873d.png b/_images/64d85163fef5a11ae0fe974e91c69ae06fa083ddb1bdb533f961abe1beac873d.png new file mode 100644 index 0000000..2e5ec5c Binary files /dev/null and b/_images/64d85163fef5a11ae0fe974e91c69ae06fa083ddb1bdb533f961abe1beac873d.png differ diff --git a/_images/7717b2ecf809fe916f928d84b9a72ea618437dfe4b9d9b3e01366e08f8ad9122.png b/_images/7717b2ecf809fe916f928d84b9a72ea618437dfe4b9d9b3e01366e08f8ad9122.png new file mode 100644 index 0000000..ce490a2 Binary files /dev/null and b/_images/7717b2ecf809fe916f928d84b9a72ea618437dfe4b9d9b3e01366e08f8ad9122.png differ diff --git a/_images/78fd708417552e0571b1cf557f0f4af85ab0ca6d71c0d1b31e85b13b2dc7a0ca.png b/_images/78fd708417552e0571b1cf557f0f4af85ab0ca6d71c0d1b31e85b13b2dc7a0ca.png new file mode 100644 index 0000000..3353863 Binary files /dev/null and b/_images/78fd708417552e0571b1cf557f0f4af85ab0ca6d71c0d1b31e85b13b2dc7a0ca.png differ diff --git a/_images/79c460aab4cc12d5d8e692edd7d81e3299b09c2392b1ff51765330662f56cf4d.png b/_images/79c460aab4cc12d5d8e692edd7d81e3299b09c2392b1ff51765330662f56cf4d.png new file mode 100644 index 0000000..6cd6e67 Binary files /dev/null and b/_images/79c460aab4cc12d5d8e692edd7d81e3299b09c2392b1ff51765330662f56cf4d.png differ diff --git a/_images/8528312e1f02f5165be5f34bd97db183e5e758f253c62ae36692ae9be5787864.png b/_images/8528312e1f02f5165be5f34bd97db183e5e758f253c62ae36692ae9be5787864.png new file mode 100644 index 0000000..c7890ee Binary files /dev/null and b/_images/8528312e1f02f5165be5f34bd97db183e5e758f253c62ae36692ae9be5787864.png differ diff --git a/_images/92a98484022ee6080e9bcdf6cd007ccc6e56e3fefb1e3828778711b36e92b346.png b/_images/92a98484022ee6080e9bcdf6cd007ccc6e56e3fefb1e3828778711b36e92b346.png new file mode 100644 index 0000000..ce02942 Binary files /dev/null and b/_images/92a98484022ee6080e9bcdf6cd007ccc6e56e3fefb1e3828778711b36e92b346.png differ diff --git a/_images/977ee1a6f0e18618aa7db64934b26ae38955154adb7c690dc9e4e55e94dd3bc3.png b/_images/977ee1a6f0e18618aa7db64934b26ae38955154adb7c690dc9e4e55e94dd3bc3.png new file mode 100644 index 0000000..c684a4d Binary files /dev/null and b/_images/977ee1a6f0e18618aa7db64934b26ae38955154adb7c690dc9e4e55e94dd3bc3.png differ diff --git a/_images/993e57b9ee93172ab6ac08710fd18523196a9080fe782f65a430c175648a08b0.png b/_images/993e57b9ee93172ab6ac08710fd18523196a9080fe782f65a430c175648a08b0.png new file mode 100644 index 0000000..de7ecc9 Binary files /dev/null and b/_images/993e57b9ee93172ab6ac08710fd18523196a9080fe782f65a430c175648a08b0.png differ diff --git a/_images/9d451dee7c27ba78632f96500dcbd8ded3322e6754dfb3bdbd8fc72393dc5969.png b/_images/9d451dee7c27ba78632f96500dcbd8ded3322e6754dfb3bdbd8fc72393dc5969.png new file mode 100644 index 0000000..aed68e6 Binary files /dev/null and b/_images/9d451dee7c27ba78632f96500dcbd8ded3322e6754dfb3bdbd8fc72393dc5969.png differ diff --git a/_images/a0b7c82cec900f570b71796da118154df3e453265b4553850e661d63dc8cc87a.png b/_images/a0b7c82cec900f570b71796da118154df3e453265b4553850e661d63dc8cc87a.png new file mode 100644 index 0000000..b574163 Binary files /dev/null and b/_images/a0b7c82cec900f570b71796da118154df3e453265b4553850e661d63dc8cc87a.png differ diff --git a/_images/a0feac9c90058113ef5ff9802346acbc4525b6399ed05e28aef08e74ea7bef9d.png b/_images/a0feac9c90058113ef5ff9802346acbc4525b6399ed05e28aef08e74ea7bef9d.png new file mode 100644 index 0000000..717a40a Binary files /dev/null and b/_images/a0feac9c90058113ef5ff9802346acbc4525b6399ed05e28aef08e74ea7bef9d.png differ diff --git a/_images/a1ba234a5361331f1e3c4b99166af9af04a27305a63009c0cc41c7d79fb6303d.png b/_images/a1ba234a5361331f1e3c4b99166af9af04a27305a63009c0cc41c7d79fb6303d.png new file mode 100644 index 0000000..b0fa62c Binary files /dev/null and b/_images/a1ba234a5361331f1e3c4b99166af9af04a27305a63009c0cc41c7d79fb6303d.png differ diff --git a/_images/acefad3ca6ee72c8d0f7f84218a5be3b1f5b213cd87d135c003760043952b0ab.png b/_images/acefad3ca6ee72c8d0f7f84218a5be3b1f5b213cd87d135c003760043952b0ab.png new file mode 100644 index 0000000..6f09334 Binary files /dev/null and b/_images/acefad3ca6ee72c8d0f7f84218a5be3b1f5b213cd87d135c003760043952b0ab.png differ diff --git a/_images/ad20400cbef6a957fb38b6370e9c06eb1aeacf80528bdef6ecce1eca40faef05.png b/_images/ad20400cbef6a957fb38b6370e9c06eb1aeacf80528bdef6ecce1eca40faef05.png new file mode 100644 index 0000000..b9771f3 Binary files /dev/null and b/_images/ad20400cbef6a957fb38b6370e9c06eb1aeacf80528bdef6ecce1eca40faef05.png differ diff --git a/_images/b3e547762bd855c8da9b4de531b94d026e110fc0c2a46d01bd5814400d873c15.png b/_images/b3e547762bd855c8da9b4de531b94d026e110fc0c2a46d01bd5814400d873c15.png new file mode 100644 index 0000000..2acae2c Binary files /dev/null and b/_images/b3e547762bd855c8da9b4de531b94d026e110fc0c2a46d01bd5814400d873c15.png differ diff --git a/_images/b73d2bd213085388d864f72c025f4b431b390526ff895e8cf68415cbda9d461f.png b/_images/b73d2bd213085388d864f72c025f4b431b390526ff895e8cf68415cbda9d461f.png new file mode 100644 index 0000000..ab0fa13 Binary files /dev/null and b/_images/b73d2bd213085388d864f72c025f4b431b390526ff895e8cf68415cbda9d461f.png differ diff --git a/_images/b8779565f441dd89662afef12070664942a7ab638130fabee7357e0b4910d8f5.png b/_images/b8779565f441dd89662afef12070664942a7ab638130fabee7357e0b4910d8f5.png new file mode 100644 index 0000000..1c24492 Binary files /dev/null and b/_images/b8779565f441dd89662afef12070664942a7ab638130fabee7357e0b4910d8f5.png differ diff --git a/_images/bc0a71e445da3d37f79aa0b283ea9804c6d6f3a3272c0f852a2a8b01f89a1208.svg b/_images/bc0a71e445da3d37f79aa0b283ea9804c6d6f3a3272c0f852a2a8b01f89a1208.svg new file mode 100644 index 0000000..dceb6a3 --- /dev/null +++ b/_images/bc0a71e445da3d37f79aa0b283ea9804c6d6f3a3272c0f852a2a8b01f89a1208.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/_images/c2c928c8b2d705220c2fe486cc5712239c128f7510ac0477a124fb1e80cb359b.png b/_images/c2c928c8b2d705220c2fe486cc5712239c128f7510ac0477a124fb1e80cb359b.png new file mode 100644 index 0000000..3926ceb Binary files /dev/null and b/_images/c2c928c8b2d705220c2fe486cc5712239c128f7510ac0477a124fb1e80cb359b.png differ diff --git a/_images/c9658aa5f5ff677e78f74804e03ca3ec9e19de76cd227ee336441ea7aea9e6dd.png b/_images/c9658aa5f5ff677e78f74804e03ca3ec9e19de76cd227ee336441ea7aea9e6dd.png new file mode 100644 index 0000000..62ff84e Binary files /dev/null and b/_images/c9658aa5f5ff677e78f74804e03ca3ec9e19de76cd227ee336441ea7aea9e6dd.png differ diff --git a/_images/cd3a4b655e697ab60127576e2a76863367c810bb94d6f9232862e928b5e3a752.png b/_images/cd3a4b655e697ab60127576e2a76863367c810bb94d6f9232862e928b5e3a752.png new file mode 100644 index 0000000..660937c Binary files /dev/null and b/_images/cd3a4b655e697ab60127576e2a76863367c810bb94d6f9232862e928b5e3a752.png differ diff --git a/_images/cdse_search.jpg b/_images/cdse_search.jpg new file mode 100644 index 0000000..1d35e13 Binary files /dev/null and b/_images/cdse_search.jpg differ diff --git a/_images/d69c4ccbd8906c73d7551b262a8918a24871fc990f2600f0005adea431a48d29.png b/_images/d69c4ccbd8906c73d7551b262a8918a24871fc990f2600f0005adea431a48d29.png new file mode 100644 index 0000000..8686353 Binary files /dev/null and b/_images/d69c4ccbd8906c73d7551b262a8918a24871fc990f2600f0005adea431a48d29.png differ diff --git a/_images/data_types.jpg b/_images/data_types.jpg new file mode 100644 index 0000000..cfab1da Binary files /dev/null and b/_images/data_types.jpg differ diff --git a/_images/db04e819b1f125d9e8148efa669f83226bd802a3e981b169f299e1207063b441.png b/_images/db04e819b1f125d9e8148efa669f83226bd802a3e981b169f299e1207063b441.png new file mode 100644 index 0000000..d5609c4 Binary files /dev/null and b/_images/db04e819b1f125d9e8148efa669f83226bd802a3e981b169f299e1207063b441.png differ diff --git a/_images/dc_aggregate_space.png b/_images/dc_aggregate_space.png new file mode 100644 index 0000000..71a070c Binary files /dev/null and b/_images/dc_aggregate_space.png differ diff --git a/_images/dc_apply_dim_ts.png b/_images/dc_apply_dim_ts.png new file mode 100644 index 0000000..f7e5c40 Binary files /dev/null and b/_images/dc_apply_dim_ts.png differ diff --git a/_images/dc_apply_kernel.png b/_images/dc_apply_kernel.png new file mode 100644 index 0000000..6249528 Binary files /dev/null and b/_images/dc_apply_kernel.png differ diff --git a/_images/dc_apply_ts.png b/_images/dc_apply_ts.png new file mode 100644 index 0000000..8d2724b Binary files /dev/null and b/_images/dc_apply_ts.png differ diff --git a/_images/dc_apply_unary.png b/_images/dc_apply_unary.png new file mode 100644 index 0000000..c04c096 Binary files /dev/null and b/_images/dc_apply_unary.png differ diff --git a/_images/dc_filter.png b/_images/dc_filter.png new file mode 100644 index 0000000..8f4654b Binary files /dev/null and b/_images/dc_filter.png differ diff --git a/_images/dc_reduce.png b/_images/dc_reduce.png new file mode 100644 index 0000000..16cd981 Binary files /dev/null and b/_images/dc_reduce.png differ diff --git a/_images/dc_resample_space.png b/_images/dc_resample_space.png new file mode 100644 index 0000000..e7a7f0b Binary files /dev/null and b/_images/dc_resample_space.png differ diff --git a/_images/dc_resample_time.png b/_images/dc_resample_time.png new file mode 100644 index 0000000..b6772c5 Binary files /dev/null and b/_images/dc_resample_time.png differ diff --git a/_images/de4b9255803aa26e3318a44565df5df3b9d0263109f4d88a023f9a91084ee9c5.png b/_images/de4b9255803aa26e3318a44565df5df3b9d0263109f4d88a023f9a91084ee9c5.png new file mode 100644 index 0000000..a807572 Binary files /dev/null and b/_images/de4b9255803aa26e3318a44565df5df3b9d0263109f4d88a023f9a91084ee9c5.png differ diff --git a/_images/df35cc0bc62d73b434d7e69efe3d67db8990582ebabf68d5bcc47bb148264110.png b/_images/df35cc0bc62d73b434d7e69efe3d67db8990582ebabf68d5bcc47bb148264110.png new file mode 100644 index 0000000..1a53366 Binary files /dev/null and b/_images/df35cc0bc62d73b434d7e69efe3d67db8990582ebabf68d5bcc47bb148264110.png differ diff --git a/_images/distribution_map.png b/_images/distribution_map.png new file mode 100644 index 0000000..92fb2d8 Binary files /dev/null and b/_images/distribution_map.png differ diff --git a/_images/esa_vision_openscience.jpg b/_images/esa_vision_openscience.jpg new file mode 100644 index 0000000..e7a4be0 Binary files /dev/null and b/_images/esa_vision_openscience.jpg differ diff --git a/_images/f8fc77546fb0dec51d1b30e09aa18293855268def317ac3f24eb4198bc49f284.png b/_images/f8fc77546fb0dec51d1b30e09aa18293855268def317ac3f24eb4198bc49f284.png new file mode 100644 index 0000000..653869a Binary files /dev/null and b/_images/f8fc77546fb0dec51d1b30e09aa18293855268def317ac3f24eb4198bc49f284.png differ diff --git a/_images/geometry_upload.png b/_images/geometry_upload.png new file mode 100644 index 0000000..ba09996 Binary files /dev/null and b/_images/geometry_upload.png differ diff --git a/_images/stac_hierarchy.png b/_images/stac_hierarchy.png new file mode 100644 index 0000000..f3d3138 Binary files /dev/null and b/_images/stac_hierarchy.png differ diff --git a/_images/stac_leafmap.jpg b/_images/stac_leafmap.jpg new file mode 100644 index 0000000..10abbef Binary files /dev/null and b/_images/stac_leafmap.jpg differ diff --git a/_images/stac_standartization.jpg b/_images/stac_standartization.jpg new file mode 100644 index 0000000..693b947 Binary files /dev/null and b/_images/stac_standartization.jpg differ diff --git a/_sources/0_introduction/0_introduction.md b/_sources/0_introduction/0_introduction.md new file mode 100644 index 0000000..1a208c4 --- /dev/null +++ b/_sources/0_introduction/0_introduction.md @@ -0,0 +1,26 @@ +# Introduction +This short sections will familiarize you with some free external services that are going to be used throughout the MOOC. +- How to sign up for the Copernicus Data Space Ecosystem (this is where the cloud processing will happen) +- First steps in the Coding Environment + +## Sign up for EO College +In case you haven't already done it. Sign up for the MOOC **'Cubes & Clouds - Cloud Native Open Data Sciences for Earth Observation'** +- https://eo-college.org/courses/cubes-and-clouds + +## Sign up for Copernicus Data Space Ecosystem +We are going to use the cloud processing platform **Copernicus Data Space Ecosystem** to carry out our exercises. It's a cloud platform hosted by the European Commission, ESA and Copernicus.The processing will happen there and you will get 1000 free credits. That's enough to complete the course. +- https://documentation.dataspace.copernicus.eu/Registration.html + +## Your first steps in the Coding Environment +Here is a guide how to find your way around in the Coding Environment JupyterHub. You will see a button that forwards you there whenever there is a hands-on exercise to do. + +[![Screencast Cubes and Clouds Coding Environment](https://img.youtube.com/vi/GBXd4aQLMb0/0.jpg)](https://www.youtube.com/watch?v=GBXd4aQLMb0)
+ + +Register on EOXHub +- https://cubes-and-clouds.hub.eox.at/ + +After registering on EOX you are now ready to start your first exercise! + +[Exercise 0 Introduction](https://github.com/EO-College/cubes-and-clouds/blob/main/lectures/0_introduction/exercises/0_login.ipynb) + diff --git a/_sources/0_introduction/exercises/0_login.ipynb b/_sources/0_introduction/exercises/0_login.ipynb new file mode 100644 index 0000000..48ee83a --- /dev/null +++ b/_sources/0_introduction/exercises/0_login.ipynb @@ -0,0 +1,174 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "0c6aed2f-1493-4636-a124-03c81b28bc52", + "metadata": {}, + "source": [ + "# Login to openEO\n", + "In order to access a cloud platfrom you need to login. In this notebook we will login to the Copernicus Data Space Ecosystem for using openEO. \n", + "- Import the libraries we need to interact with the cloud platform\n", + "- Make sure we have the login credentials \n", + "- Connect to the cloud platform\n", + "- Login to the cloud platform\n", + "- Check that the login worked" + ] + }, + { + "cell_type": "markdown", + "id": "d3400da4-b7c0-43be-abc9-e3100bf8c9f4", + "metadata": {}, + "source": [ + "## Libraries\n", + "We will import the openeo python client library. It is preinstalled in the jupyter workspace on EOX. \n", + "- `openeo`: The openeo python client has all the functions available that we need to interact with the cloud platform using the openEO API.\n", + "\n", + "Here is more information on the openeo python client: \n", + "- https://open-eo.github.io/openeo-python-client/" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "1abf270c-d73e-4109-854c-3cf36a1b36d7", + "metadata": {}, + "outputs": [], + "source": [ + "import openeo" + ] + }, + { + "cell_type": "markdown", + "id": "4acd87c3-537f-4f9e-9b2a-4378bb9c8abb", + "metadata": {}, + "source": [ + "## Connect to the cloud platform\n", + "In a first step we connect to the cloud platform. We can only see information and use functionality that is available to everybody. \n", + "We can see for example which collections and processes are available, but we cannot process data. We will explore the platforms capabilities in an extra exercise in more depth later.\n", + "\n", + "Now let's just connect to the platform..." + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "86afd551-857e-4129-a2ee-39a933255f34", + "metadata": {}, + "outputs": [], + "source": [ + "conn = openeo.connect('https://openeo.dataspace.copernicus.eu/')" + ] + }, + { + "cell_type": "markdown", + "id": "312b377d", + "metadata": {}, + "source": [ + "... and check if the connection has worked. You should see that you are connected, but not logged in." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "1107f9f8", + "metadata": {}, + "outputs": [], + "source": [ + "conn" + ] + }, + { + "cell_type": "markdown", + "id": "42084427-fce5-429b-8707-d950c9e80fa7", + "metadata": {}, + "source": [ + "## Login to the cloud platform\n", + "After we have connected to the platform and want more functionality, we need to login. This means we authenticate ourselfs to prove we are an registered user. \n", + "After access is granted we can also process data. Every computation comes at a cost, this is why every user has an amount of credits (which usually have to be payed) for computing.\n", + "Everytime you are going to use the cloud platform for processing you will have to login at the beginning of your workflow. We are going to learn how to create a workflow in a seperat exercise later on.\n", + "\n", + "Now let's just log in... *(this only works if you haver registered to CDSE as described in the lesson Introduction)*" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "de26fd5c-71da-4d28-b895-f5108a97a1d5", + "metadata": {}, + "outputs": [], + "source": [ + "conn.authenticate_oidc()" + ] + }, + { + "cell_type": "markdown", + "id": "92fb1bf2", + "metadata": {}, + "source": [ + "... and check if the login has worked..." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "050b91c0-60d8-464e-9fd3-0ab62638aafd", + "metadata": {}, + "outputs": [], + "source": [ + "conn" + ] + }, + { + "cell_type": "markdown", + "id": "6c5858ed", + "metadata": {}, + "source": [ + "... and let's check our user information, which is possible since we have authenticated now." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "592cfb2a", + "metadata": {}, + "outputs": [], + "source": [ + "conn.describe_account()" + ] + }, + { + "cell_type": "markdown", + "id": "7c6de05a", + "metadata": {}, + "source": [ + "## Return to EOCOllege\n", + "This is all. We have verified that we can connect and login to the cloud platform. We will do this again later on when we'll start with some hands on exercises. \n", + "\n", + "For now let's return to EOCollege to get started with the lessons!\n", + "\n", + "[Return to Cubes and Clouds on EO College](https://eo-college.org/courses/cubes-and-clouds)" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "users-edc-2023.03-02", + "language": "python", + "name": "conda-env-users-edc-2023.03-02-py" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.16" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/_sources/1.1_intro_platform/1.1_intro_platform.md b/_sources/1.1_intro_platform/1.1_intro_platform.md new file mode 100644 index 0000000..488c9c5 --- /dev/null +++ b/_sources/1.1_intro_platform/1.1_intro_platform.md @@ -0,0 +1,169 @@ +# Earth Observation cloud platforms + +## Learning Objectives + +- Understand why using a platform is useful +- Differentiate platform offerings +- Get to know the components and building blocks of a platform + +## Why do we need EO cloud platforms? + +[![Introduction to EO Cloud Platforms](https://img.youtube.com/vi/S6wfn1mR3qk/0.jpg)](https://www.youtube.com/watch?v=S6wfn1mR3qk)
+> Video content in cooperation with [Jeroen Dries](https://remotesensing.vito.be/team/jeroen-dries) (VITO).
+> Numbers based on [ESA Annual Sentinel Data Access Report 2022](https://scihub.copernicus.eu/twiki/pub/SciHubWebPortal/AnnualReport2022/COPE-SERCO-RP-23-1493_SentinelDataAccessAnnual_Report_2022.pdf)
+ +Traditional approaches for the analysis of Earth Observation (EO) data typically involve several steps, including data discovery, data download, data pre-processing, and data analysis. Especially when working with multiple datasets, handling data discovery, download, and access is a tremendous task, where users need to navigate through different interfaces, adhere to varying access requirements, and manage the heterogeneity of data formats. This approach is often time-consuming and requires significant effort to aggregate and harmonize datasets from different providers for comprehensive analysis. + + + +> Figure: EO research withouth cloud facilities. + +### EO data volume and the limits of your computer + +In the field of Earth Observation, satellite missions like Sentinel-2 provide vast amounts of data that play a crucial role in various applications, including environmental monitoring, land cover mapping, and climate analysis. Understanding the volume of data involved in an analysis is critical for efficient data processing. EO datasets can span terabytes and petabytes, making it impractical to store, manage, and process them entirely on a local computer. + +The increasing availability of vast amounts of EO data from multiple satellites presents challenges in terms of the time required for data download and pre-processing on individual computers or infrastructures. Within the Copernicus program of the European Union, around 64 million products have been published, which sums up to more than 25 Petabyte of data volume. In the following slider we have collected some statistics about the amounts of EO data from the Sentinel satellites. + + + +> Figure: EO data volume and the limits of your computer. + +The following interactive exercise assists in estimating the data volume associated with Sentinel-2 data. This calculator allows users to gain insights into the data volumes involved in specific regions and time ranges, further emphasizing the relevance of using EO platforms for scientific analyses. Not convinced of clouds yet? Try the volume calculator below to asses how much space you have to free up on your hard drive for your next project. + + + +### How can we handle such volumes of data? + +Cloud infrastructure and platforms have emerged as viable alternatives to the traditional approach of data analyses as described in Figure "EO research without cloud facilities". These solutions combine data storage and compute resources, enabling users to conduct their data analysis in close proximity to the data itself. By leveraging cloud-based infrastructures, researchers and analysts can optimize their workflow by minimizing the time-consuming steps of data transfer and pre-processing, thereby allowing them to focus more efficiently on data analysis tasks. + +By utilizing cloud-based resources, users can harness the scalability and flexibility of these platforms to handle the extensive datasets generated by EO missions. Cloud-based EO platforms represent a paradigm shift in EO data analysis, offering a comprehensive ecosystem that seamlessly integrates storage, processing, analysis tools, collaboration, and visualization. These platforms empower users to overcome the challenges posed by large-scale EO data and accelerate scientific advancements in various fields, including environmental monitoring, climate studies, natural resource management, and disaster response. + +## Types of platforms + +Cloud-based EO infrastructures and platforms have emerged to meet the growing demand for efficient data processing, analysis, and visualization close to the data. We can distinguish between infrastructure providers and platform providers. + +### Infrastructure providers + +EO-based infrastructure providers focus on offering the underlying infrastructure necessary for processing, storage, and dissemination of EO data. They provide the computing resources, storage capacity, and networking capabilities required to handle large-scale EO data processing and analysis. These providers often build and maintain data centers and server clusters, ensuring reliable and scalable infrastructure for EO applications. + +In comparison to the traditional approach (Figure "EO research without cloud facilities"), this approach allow users to use computing resources close to the EO data (see Figure "EO cloud providers"). Users do not need to download and manage EO data on their own, they can simply use what is already available on the infrastructure. However, there are no EO-specific services for data discovery, access, visualization, and analysis. + + + +> Figure: EO cloud providers. + +**Examples of EO-based infrastructure providers** + +1. [Amazon Web Services (AWS)](https://aws.amazon.com/): AWS offers a wide range of cloud services, including storage (Amazon S3) and computing (Amazon EC2), which can be leveraged for EO data processing and storage. Various open data are available on AWS (). +2. [Google Cloud Platform (GCP)](https://cloud.google.com/): GCP provides infrastructure services like Google Cloud Storage and Google Compute Engine, which can be utilized for EO data management and analysis. Various open data are available on GCP (). +3. [Microsoft Azure](https://azure.microsoft.com): Azure offers cloud-based services such as Azure Storage, Azure Virtual Machines, and Azure Machine Learning, enabling EO applications and workflows. +4. [Open Telekom Cloud](https://open-telekom-cloud.com): Open Telekom Cloud is a cloud platform offered by Deutsche Telekom. It provides scalable infrastructure resources, including computing, storage, and networking capabilities, suitable for processing and storing large volumes of EO data. +5. [Cloudferro](https://cloudferro.com): Cloudferro is a cloud infrastructure provider specializing in geospatial data processing and analysis. They offer scalable and secure cloud resources optimized for EO applications. Cloudferro provides high-performance computing, storage, and networking services tailored for EO data processing workflows. Various open data are available on Cloudferro (). + +### Platform providers + +Platform providers focus on delivering comprehensive EO platforms that combine infrastructure, tools, and services into a cohesive environment. These platforms typically offer a suite of integrated capabilities, including data storage, processing, analysis, visualization, and collaboration tools. They provide a user-friendly interface and simplify the EO data lifecycle, enabling users to access, process, and analyze EO data without managing the underlying infrastructure. + +On top of providing the infrastructure which allows users to do the computations close to the EO data , making available a platform additionally enables the use of specific Application Programming Interfaces (APIs) for the discovery, access, visualization, exploitation, and analysis of EO data. EO platforms are often made available on infrastructure providers to benefit from the EO data storage. Users of a platform can now use harmonized interfaces for all data, which is available on the platform. + + + +> Figure: EO platform providers. + +**Examples of cloud-based EO platform providers** + +1. [Google Earth Engine](https://earthengine.google.org) is a platform specifically designed for EO data analysis. It provides access to a vast amount of satellite imagery and geospatial datasets, along with powerful processing capabilities and built-in algorithms. +2. [Sinergise Sentinel-Hub](https://www.sentinel-hub.com) is a platform focused on accessing and processing satellite data. It provides APIs and easy-to-use tools for accessing, processing, and visualizing EO data. +3. [Microsoft Planetary Computer](https://planetarycomputer.microsoft.com) is a platform that combines geospatial data and AI capabilities for Earth observation. It provides access to various global datasets, including satellite imagery, climate data, and environmental data. The platform aims to facilitate large-scale data analysis and support sustainable development and conservation efforts. +4. [Euro Data Cube](https://eurodatacube.com) is a platform on top of various cloud infrastructures to provide an interactive development environment with a standardized access to various EO data. It provides a JupyterLab environment for data exploration and analysis, as well as capabilities to run processing jobs. +5. [OpenEO Platform](https://openeo.cloud) is a platform based on OpenEO, which aims to standardize and simplify the access and processing of EO data. It provides a unified API and common data model, enabling interoperability across multiple EO data providers and processing backends. The platform allows users to run EO workflows on various cloud-based infrastructure providers. +6. [Pangeo](https://pangeo.io) is a community platform for big data geoscience built on the Pangeo ecosystem. It aims to foster collaboration among researchers, engineers, research software engineers, and innovators within the open-source scientific Python ecosystem, focusing on Ocean, Atmosphere, Land, and Climate science. There is a strong focus on portability and interoperability, enabling deployments of the Pangeo platform on various infrastructure (laptops, cloud providers, etc.) and providing APIs that allow users to prototype on their laptops and easily scale to the cloud or High-Performance Computers with minimal changes to their code. The current deployment of the Pangeo platform in Europe, [Pangeo@EOSC](https://pangeo-eosc.vm.fedcloud.eu/) is hosted on the [European Open Science Cloud](https://eosc.eu) (EOSC), providing a scalable and collaborative environment for big data analysis and research for all European researchers and their collaborators. + +Different EO platform providers may offer end-users access to specific tools and packages that can be highly beneficial for particular workflows. However, users should carefully evaluate whether the convenience of these tools justifies the potential trade-off of being locked into a particular platform. In some cases, opting for platforms that prioritize portability and openness, like OpenEO or Pangeo, might be more advantageous, especially for those who value flexibility and long-term interoperability across various environments and infrastructures. + +### Summary + +In summary, EO-based infrastructure providers primarily focus on providing the underlying infrastructure and resources, while platform providers offer integrated environments with a wide range of tools and services to support EO data processing, analysis, and visualization. These two types of providers complement each other in the EO ecosystem, enabling users to access and leverage EO data effectively. + +## Components of platforms + +Cloud-based EO platforms have transformed the way researchers and scientists analyze and utilize EO data. These platforms often follow a three-layered design (often named "tiers") comprising infrastructure, services, and exploitation interfaces. An example architecture based on this approach is the "Earth Observation Exploitation Platform Common Architecture" (EOEPCA) of ESA (). Leveraging the power of cloud computing, EO platforms provide a comprehensive ecosystem that seamlessly integrates storage, processing, analysis tools, collaboration, visualization, and data exploitation capabilities. + +The following overview will explore each layer of the three-layered design and provide examples to illustrate the functionalities and benefits of cloud-based EO platforms in real-world applications. They showcase the diverse range of tools, services, and interfaces (also named "building blocks") available to store, process, analyze, collaborate, visualize, and exploit EO data effectively within the cloud environment. + + + +### Infrastructure & Resource Tier +> +> "The Resource Tier represents the hosting infrastructure and provides the EO data, storage and compute upon which the exploitation platform is deployed." (Source: [EOEPCA Master System Design](https://eoepca.github.io/master-system-design/current/#_architecture_layers)) + +1. **Data Storage:** The data storage component may include distributed file systems like distributed parallel file systems (e.g., GPFS, Hadoop) or object storage services (e.g., Amazon S3, Google Cloud Storage) to securely store and manage EO datasets. + +2. **Computing Resources:** The computing component can provide virtual machines (e.g., Amazon EC2, Google Compute Engine, OpenStack), container environments (e.g., Docker-Engine, Kubernetes) or batch-computing systems (e.g., High Performance Computing) for executing data processing and analysis tasks on EO datasets. + +### Platform Tier +> +> "The Platform Tier represents the Exploitation Platform and the services it offers to end-users." (Source: [EOEPCA Master System Design](https://eoepca.github.io/master-system-design/current/#_architecture_layers)) + +The services of the platform tier can be grouped into data-related and processing-related services. The processing tools and services often rely on the data services to get discover and get access to data available on the platform. + +1. **Data Services** + - **Data Catalog:** Data available on the platform needs to be described with metadata to be findable by users. Often processing and analysis services, such as Open Data Cube or OpenEO, make use of the data catalog to ease the use of EO data. These services enable users to annotate, search, and discover EO datasets based on various metadata parameters. + - **Data Access Service:** This enables users to retrieve and access EO datasets. This may involve APIs, protocols, or data transfer mechanisms like Open Geospatial Consortium (OGC) Web Services or HTTP services for efficient and secure data access. + - **Data Visualization Service:** The visualization component provides standardized web services for the visualization of raster and vector data available on the platform. User interfaces like QGIS or web mapping tools can be used together with those services. + +2. **Data Processing and Analysis Tools:** This service component may include widely used processing tools like [GDAL](https://gdal.org) (Geospatial Data Abstraction Library), remote sensing software like SNAP (Sentinel Application Platform), data cube related tools (e.g., [xarray](https://xarray.dev/) & [Dask](https://www.dask.org/)) and APIs (e.g., [OpenEO API](https://openeo.org)) for performing advanced analysis on EO data. + +### Exploitation Tier +> +>"The Exploitation Tier represents the end-users who exploit the services of the platform to perform analysis, or using high-level applications built-in on top of the platform’s services." (Source: [EOEPCA Master System Design](https://eoepca.github.io/master-system-design/current/#_architecture_layers)) + +1. **User Interfaces:** The exploitation interface component may include web-based interfaces like web portals (e.g., [EO Browser from Sinergise](https://apps.sentinel-hub.com/eo-browser/)), dashboards (e.g., [Earth Observation Dashboard from NASA, ESA, JAXA](https://eodashboard.org/) or web development environments (e.g., [JupyterLab](https://jupyter.org/)). All of them provide interactive interfaces for users to explore and analyze EO data through a user-friendly interface. + +### Exercise: Build a platform + +Now it is time for you: Please Drag and drop the building blocks of a platform into a correct diagram. + + + + +## Quiz + +What types of "layers" or "tiers" are there in a platform architecture? + + [[x]] Infrastructure & Resource Tier + [[ ]] Software Tier + [[x]] Platform Tier + [[ ]] Data Cube Tier + [[x]] Exploitation Tier + +What does an infrastructure provider offer? + + [[x]] Virtual Machines + [[ ]] Data discovery + [[ ]] Data cubes + [[ ]] Data visualization + [[x]] Data storage + +What kind of provider is the Euro Data Cube? + + [[ ]] Infrastructure provider + [[x]] Platform provider + +When should you consider to use an EO cloud platform? + + [[x]] I have limited internet bandwidth for data downloading + [[ ]] I have all my data locally on my own servers with lots of computing resources + [[x]] I want to collaborate with other and external users + [[x]] I want to easily make use of processing services + [[x]] I don't want to care about system administration and operations + [[ ]] I do not often have access to internet + +## Further reading + +- Earth Observation Cloud Platform Concept Development Study Report: +- Big Earth data: disruptive changes in Earth observation data management and analysis? +- Enabling the Big Earth Observation Data via Cloud Computing and DGGS: Opportunities and Challenges: +- An Overview of Platforms for Big Earth Observation Data Management and Analysis: +- The openEO API–Harmonising the Use of Earth Observation Cloud Services Using Virtual Data Cube Functionalities: +- ESA Earth Observation Exploitation Platform Common Architecture (EOEPCA): diff --git a/_sources/1.2_data_cube/1.2_data_cube.md b/_sources/1.2_data_cube/1.2_data_cube.md new file mode 100644 index 0000000..cca22e7 --- /dev/null +++ b/_sources/1.2_data_cube/1.2_data_cube.md @@ -0,0 +1,174 @@ +# What is a data cube? + +## Learning objectives + +- Understand what data cubes are and why they are needed +- Learn what dimensions are +- Understand the role of data cubes in EO cloud platforms + +## Data Cubes in General + +When you think about data, most likely tables come to your mind, with features organized in rows and columns. Data cubes overcome these constraints: they are a data structure that allows to represent data in more than only two dimensions. Generally a data cube is a multi-dimensional data structure. Even though it's called a cube, it is n-dimensional. A 1-d data cube is an array. A 2-d data cube is a table. A 3-d data cube is a cube. A 4-d data cube is hard to visualize. A feature within a data cube is explained by multiple dimensions and has a certain value. An example would be: A company has sold multiple products (Shirts, Shoes, Pants), in different countries (Sweden, USA, Tunisia), in different years (2021, 2022, 2023). + +- Dimensions: Products, Locations, Years +- Labels of the Dimensions: + - Products: Shrits, Shoes, Pants + - Countries: Sweden, USA, Tunisia + - Years: 2021, 2022, 2023 +- Feature: Revenue +- Value: $ + +![Datacube Economy](https://raw.githubusercontent.com/EO-College/cubes-and-clouds/main/lectures/1.2_data_cube/assets/datacubes_economy.png "Example Data Cube Economy") + +This concept can be applied to many fields such as economics, medicine, biology, and also very well to EO data! + +## Data Cubes in EO + +The concept of representing multidimensional data as data cubes fits ideally to the challenges of representing satellite data that is usually dealing with multiple dimensions such as: lat, lon, time, bands, etc. In the video below it becomes very clear what the strengths of data cubes in EO are. + + + +### An example data cube + +Data can be represented as datacubes in EO, which are multi-dimensional arrays with additional information about their dimensionality. Datacubes can provide a nice and tidy interface for spatiotemporal data as well as for the operations you may want to execute on them. As they are arrays, it might be easiest to look at raster data as an example, even though datacubes can hold vector data as well. Our example data however consists of a 6x7 raster with 4 bands [`blue`, `green`, `red`, `near-infrared`] and 3 timesteps [`2020-10-01`, `2020-10-13`, `2020-10-25`], displayed here in an orderly, timeseries-like manner: + +![Raster datacube timeseries: 12 imagery tiles are depicted, grouped by 3 dates along a timeline (time dimension). Each date has a blue, green, red and near-infrared band (bands dimension). Each single tile has the dimensions x and y (spatial dimensions)](https://raw.githubusercontent.com/EO-College/cubes-and-clouds/main/lectures/1.2_data_cube/assets/dc_timeseries.png "An examplary raster datacube with 4 dimensions: x, y, bands and time") +> Figure: An examplary raster datacube with 4 dimensions: x, y, bands and time. Reference: [openeo.org (2022). What are Data Cubes.](https://openeo.org/documentation/1.0/datacubes.html#what-are-datacubes) + +It is important to understand that datacubes are designed to make things easier for us, and are not literally a cube, meaning that the above plot is just as good a representation as any other. That is why we can switch the dimensions around and display them in whatever way we want, including the view below: + +![Raster datacube flat representation: The 12 imagery tiles are now laid out flat as a 4 by 3 grid (bands by timesteps). All dimension labels are depicted (The timestamps, the band names and the x, y coordinates)](https://raw.githubusercontent.com/EO-College/cubes-and-clouds/main/lectures/1.2_data_cube/assets/dc_flat.png "This is the 'raw' data collection that is our example datacube. The grayscale images are colored for understandability, and dimension labels are displayed.") +> Figure: Raster datacube flat representation: The 12 imagery tiles are now laid out flat as a 4 by 3 grid (bands by timesteps). All dimension labels are depicted (The timestamps, the band names and the x, y coordinates). Reference: [openeo.org (2022). What are Data Cubes.](https://openeo.org/documentation/1.0/datacubes.html#what-are-datacubes) + +### Dimensions + +A dimension refers to a certain axis of a datacube. This includes all variables (e.g. bands), which are represented as dimensions. Our exemplary raster datacube has the spatial dimensions `x` and `y`, and the temporal dimension `t`. Furthermore, it has a `bands` dimension, extending into the realm of _what kind of information_ is contained in the cube. + +The following properties are usually available for dimensions: + +- name +- type (potential types include: spatial (raster or vector data), temporal and other data such as bands) +- axis (for spatial dimensions) / number +- labels (usually exposed through textual or numerical representations, in the metadata as nominal values and/or extents) +- reference system / projection +- resolution / step size +- unit (either explicitly specified or implicitly given by the reference system) +- additional information specific to the dimension type (e.g. the geometry types for a dimension containing geometries) + +Here is an overview of the dimensions contained in our example raster datacube above: + +| # | name | type | labels | resolution | reference system | +| - | ------- | -------- | --------------------------------------------------------------------------- | ---------- | ----------------------------------- | +| 1 | `x` | spatial | `466380`, `466580`, `466780`, `466980`, `467180`, `467380` | 200m | [EPSG:32627](https://epsg.io/32627) | +| 2 | `y` | spatial | `7167130`, `7166930`, `7166730`, `7166530`, `7166330`, `7166130`, `7165930` | 200m | [EPSG:32627](https://epsg.io/32627) | +| 3 | `bands` | bands | `blue`, `green`, `red`, `nir` | 4 bands | - | +| 4 | `t` | temporal | `2020-10-01`, `2020-10-13`, `2020-10-25` | 12 days | Gregorian calendar / UTC | + +> Table: Overview of the dimensions contained in our example raster datacube above. Reference: [openeo.org (2022). What are Data Cubes.](https://openeo.org/documentation/1.0/datacubes.html#what-are-datacubes) + +Dimension labels are usually either numerical or text (also known as "strings"), which also includes textual representations of timestamps or geometries for example. +For example, temporal labels are usually encoded as [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) compatible dates and/or times and similarly geometries can be encoded as [Well-known Text (WKT)](https://en.wikipedia.org/wiki/Well-known_text_representation_of_geometry) or be represented by their IDs. + +Dimensions with a natural/inherent order (usually all temporal and spatial raster dimensions) are always sorted. Dimensions without inherent order (usually `bands`), retain the order in which they have been defined in metadata or processes (e.g. through [`filter_bands`](https://processes.openeo.org/#filter_bands)), with new labels simply being appended to the existing labels. + +### Geometry as a Dimension + +A geometry dimension is not included in the example raster datacube above and it is not used in the following examples, but to show how a vector dimension with two polygons could look like: + +| name | type | labels | reference system | +| ---------- | ------ | ------ | ---------------- | +| `geometry` | vector | `POLYGON((-122.4 37.6,-122.35 37.6,-122.35 37.64,-122.4 37.64,-122.4 37.6))`, `POLYGON((-122.51 37.5,-122.48 37.5,-122.48 37.52,-122.51 37.52,-122.51 37.5))` | [EPSG:4326](https://epsg.io/4326) | + +> Table: Geometry as a Dimension. Reference: [openeo.org (2022). What are Data Cubes.](https://openeo.org/documentation/1.0/datacubes.html#what-are-datacubes) + +A dimension with geometries can consist of points, linestrings, polygons, multi points, multi linestrings, or multi polygons. +It is not possible to mix geometry types, but the single geometry type with their corresponding multi type can be combined in a dimension (e.g. points and multi points). + +EO datacubes contain scalar values (e.g. strings, numbers or boolean values), with all other associated attributes stored in dimensions (e.g. coordinates or timestamps). Attributes such as the CRS or the sensor can also be turned into dimensions. Be advised that in such a case, the uniqueness of pixel coordinates may be affected. When usually, `(x, y)` refers to a unique location, that changes to `(x, y, CRS)` when `(x, y)` values are reused in other coordinate reference systems (e.g. two neighboring UTM zones). + +### Coordinate Reference System as a Dimension + +In the example above, _x_ and _y_ dimension values have a _unique_ relationship to world coordinates through their coordinate reference system (CRS). This implies that a single coordinate reference system is associated with these _x_ and _y_ dimensions. If we want to create a data cube from multiple tiles spanning different coordinate reference systems (e.g. Sentinel-2: different UTM zones), we would _have_ to resample/warp those to a single coordinate reference system. In many cases, this is wanted because we want to be able to _look_ at the result, meaning it is available in a single coordinate reference system. + +Resampling is however costly, involves (some) data loss, and is in general not reversible. Suppose that we want to work only on the spectral and temporal dimensions of a data cube, and do not want to do any resampling. In that case, one could create one data cube for each coordinate reference system. An alternative would be to create one _single_ data cube containing all tiles that has an _additional dimension_ with the coordinate reference system. In that data cube, _x_ and _y_ no longer point to a unique world coordinate, because identical _x_ and _y_ coordinate pairs occur in each UTM zone. Now, only the combination (_x_, _y_, _crs_) has a unique relationship to the world coordinates. + +On such a _crs-dimensioned data cube_, several operations make perfect sense, such as `apply` or `reduce_dimension` on spectral and/or temporal dimensions. A simple reduction over the `crs` dimension, using _sum_ or _mean_ would typically not make sense. The "reduction" (removal) of the `crs` dimension that is meaningful involves the resampling/warping of all sub-cubes for the `crs` dimension to a single, common target coordinate reference system. + +### Resolution + +The resolution of a dimension gives information about what interval lies between observations. This is most obvious with the temporal resolution, where the intervals depict how often observations were made. Spatial resolution gives information about the pixel spacing, meaning how many 'real world meters' are contained in a pixel. The number of bands and their wavelength intervals give information about the spectral resolution. + + + +> Images generated by LexCube - [Leipzig Explorer of Earth Data Cubes](https://www.lexcube.org/) by [Maximilian Söchting](https://rsc4earth.de/authors/msoechting/) + + +[![The role of data cubes in EO](https://img.youtube.com/vi/I6anJ5xaM8E/0.jpg)](https://www.youtube.com/watch?v=I6anJ5xaM8E)
+> Video content in cooperation with [Gunnar Brandt](https://www.brockmann-consult.de/about-us/) (Brockmann Consult), [Pontus Lurcock](https://www.brockmann-consult.de/about-us/) (Brockmann Consult) and [Miguel Mahecha](https://www.uni-leipzig.de/en/profile/mitarbeiter/prof-dr-miguel-mahecha) (University of Leipzig). + +### Data Cubes in Cloud Platforms + +One important feature of an EO cloud platform is to host satellite data. Usually vast amounts of satellite data, for example the whole archive of Landsat and the Sentinels which adds up to Petabytes of data. Users want to access this data efficiently. Therefore the storage system of an EO cloud platform needs to be optimized towards user requests. Data Cubes play an important role here. Organizing the raw files into virtual data cubes solves many issues for EO cloud platforms. + +- **Data Management:** Different Satellites have different formats and are structured differently. This can easily create confusion because the different sources have to be treated differently. After organizing these files into data cubes the interaction with all different satellite data follows the same rules. +- **Separated Collections:** Every satellite missions images form an own data cube, also called collection, with its according metadata. Ideally cloud processing tools on the platform allow for easy data fusion of different collections. +- **Flexible Subsetting:** [Data Cube Management Systems](https://github.com/EO-College/cubes-and-clouds/blob/main/lectures/1.2_data_cube/1.2_data_cube.md#further-reading) are developed to facilitate subsetting operations along the different dimensions and return only the required subset. Without worrying about the different raw files that are involved (e.g. area of interest is crossing a tile border). + +> :warning: Remember, a data cube is not an EO cloud platform. It's only one part of it. + +### Further Reading + +- [David Montero Loaiza et al (2023). Data Cubes for Earth System Research: Challenges Ahead. Earth ArXiv (Preprint). https://doi.org/10.31223/X58M2V](https://doi.org/10.31223/X58M2V) +- Popular Data Cube Management Systems: + - [Open Data Cube](https://www.opendatacube.org/) + - [Rasdaman](https://www.rasdaman.com/): + - [GDAL Cubes](https://gdalcubes.github.io/) + +### References + +- [openeo.org (2022). What are Data Cubes.](https://openeo.org/documentation/1.0/datacubes.html#what-are-datacubes) +- [ESA (2018). Earth System Data Lab.](https://www.esa.int/ESA_Multimedia/Videos/2018/07/Earth_System_Data_Lab) +- [Maximilian Söchting (2022). LexCube - Leipzig Explorer of Earth Data Cubes](https://www.lexcube.org/) + +## Quiz + +What is a two dimensional data cube? + + [( )] vector, a one dimensional array + [( )] atomic feature, a single value + [(x)] table, in EO a raster + +Check the typical dimensions of an EO data cube. + + [[x]] x + [[ ]] rain + [[x]] y + [[ ]] function + [[x]] time + [[ ]] world + [[x]] bands + +What is the main puorpose of a geometry dimension? + + [(x)] storing geometries (e.g. polygons, points) + [( )] it's holding the bounding box of the data cube + [( )] defining the shape of the pixels + +Attach the resolutions to their dimensions + +- [[x and y] [time] [band] +- [(X) ( ) ( ) ] meter, kilometer, degrees +- [( ) (X) ( ) ] days, hours, years +- [( ) ( ) (X) ] micrometers, color + +What are the advantages of data cubes in EO? + + [[x]] EO data is multidimensional data cubes allow to represent this + [[ ]] Data cubes introduce an unnecessary layer of complexity that is not needed in EO + [[ ]] The file size of EO data is drastically reduced + +What are the advantages of data cubes in cloud platforms? + + [[x]] The user is not confronted with multiple files and file types + [[x]] Different satellite missions can be stored in different data cubes that can be combined for analysis on the platform + [[x]] subsetting operations become very powerful - users only receive the extents they are interested in. diff --git a/_sources/1.3_openscience/1.3.1_openscienceandfair.md b/_sources/1.3_openscience/1.3.1_openscienceandfair.md new file mode 100644 index 0000000..8df2f7e --- /dev/null +++ b/_sources/1.3_openscience/1.3.1_openscienceandfair.md @@ -0,0 +1,202 @@ +# Open Science and the FAIR Principles + +## Learning Objectives + +- Understand what Open Science is and why we need it +- Get an overview of what belongs to Open Science +- Get to know the FAIR principles + +## Why do we need Open Science + +[![Why do we need open science?](https://img.youtube.com/vi/VSXLe2rNO_c/0.jpg)](https://www.youtube.com/watch?v=VSXLe2rNO_c)
+> Video content in collaboration with [Anca Anghelea](https://www.linkedin.com/in/ancaandreeapopescu/?originalSubdomain=it) (ESA) and [Chelle Gentemann](https://www.linkedin.com/in/chelle-gentemann/) (NASA).
+ +Space Agencies and International Organisations across the globe promote Open Science and support its practice by the scientific community through dedicated programmes. This course, for example, is part of the support to Earth Observation Open Science by the European Space Agency (ESA). + +ESA, just like other European organisations such as the European Commission, has a long standing commitment to Open Science. A prominent example is the provision of full free and open Earth Observation data from its science missions (i.e. the Earth Explorers) and from the Copernicus Programme (e.g. the Sentinel missions). However, Open Science goes much beyond open data. ESA's vision for Open Science covers the full research cycle (see ESA vision figure). Simply put, a piece of research fully adheres to Open Science principles if: + +- all the data, code, and documentation of the respective research are FAIR (see [What is FAIR?](https://github.com/EO-College/cubes-and-clouds/blob/main/lectures/1.3_openscience/1.3.1_openscienceandfair.md#what-is-fair) section), Open and linked to one another +- the research is reproducible across various platforms (i.e. cloud platforms or computational systems) +- the research is maintained so that it is accessible to the community in the long-term + +This requires that the scientific community adheres to the same common (or compatible) practices when writing and documenting code, preparing and sharing data or publishing their research in journals. + +- [Role of Open Science in ESA's Agenda 2025](https://www.esa.int/About_Us/ESA_Publications/Agenda_2025) +- [NASA Transform to Open Science (TOPS)](https://science.nasa.gov/open-science/transform-to-open-science) within [NASA’s Open-Source Science Initiative (OSSI)](https://science.nasa.gov/researchers/open-science/) +- [American Geoscience Union's vision of open science](https://www.agu.org/open-science) + +![ESA's vision of open science](assets/esa_vision_openscience.jpg "ESA's vision of open science") + +[![The importance of Open Science](https://img.youtube.com/vi/BIHuPGg0YT0/0.jpg)](https://www.youtube.com/watch?v=BIHuPGg0YT0) + +## What is Open Science? + +### Open Science + +Open Science offers new opportunities in dealing with scientific knowledge and represents a kind of cultural change. Through transparency and openness, Open Science increases the use and further development of knowledge as well as the potential for collaboration and the credibility of science. The focus is on free access to scientific processes and findings for everyone via the internet and the right to re-use this content. The beneficiaries of this concept are not only science, but also society and the economy. + +Open Science is realised through various strategies and procedures, such as free access to scientific publications (Open Access), computer programmes (Open Source Software), data (Open Data) and educational materials (Open Educational Resources). + +[![Open Science: what, how and why?](https://img.youtube.com/vi/3m6p6w8oOw4/0.jpg)](https://www.youtube.com/watch?v=3m6p6w8oOw4) + +### The 4 Rs of Open Science + +When opening your science think about the 4 Rs: + +- **Reliable.** It is important to evaluate the research in two ways. First with respect to scientific principles and criteria like validity, second with respect to criteria out of the professional context. This will help ensure that your results are more reliable. +- **Reproducible.** Transparency is critical when doing research. Open Science allows you to clearly show what you've done to get the results you have. By being open about your methods, processes and decision making during your research, someone else doing the research again should get the same results. +- **Reusable.** By making research results reusable, you allow others to build upon the solid foundation your research has already created in a given subject. This is the same R that is also going to be mentioned in the FAIR principles. +- **Relevant.** Research quality describes the measurable influence of academic research on the academic community. Research impact includes environmental, cultural and societal impact, economic returns and societal benefits. By adhering to open science you increase the chances of your research to be relevant, because you give others the chance to interact with it. + +### The four pillars of Open Science + +The four pillars of Open Science are: + +- **Data.** Data-driven research is fast becoming the norm in all disciplines. To support validation of your findings and allow others to build upon your work, you first need to make sure that others can find your data. This means giving them persistent and unique identifiers (such as DOIs); assigning appropiate metadata so that others can find and reuse your data; putting them into a repository that supports public searching; and being clear about what others can and can't do with them by applying an appropriate license. In the Further Reading section you find links to courses about managing and sharing research data and licensing your outputs. +- **Code.** When sharing your software and code, be sure to make use of open source standards to support interoperability and their longer-term viability. Be sure to put your code somewhere where others can search for it and access it (e.g., Github). Additionally, you can give your code a DOI by registering your Github repo on Zenodo. You should also be clear about the license the code is being shared under. In the Further Reading section there's a course about Open Source Software. +- **Papers.** Open Access (OA) to publications is a key component of Open Science. Free and instant access to publications improves the speed of innovation and leads better cooperation and progress in solving grand challenges. To publish openly, you'll need to be able to source an appropriate OA journal or discipline-specific repository and navigate your way through their publishing agreements. You should also consider sharing preprints of your work as a means of getting early feedback and community validation of your approaches. In some cases, you'll need to pay an Article Processing Charge to publish in an OA journal. +- **Reviews.** The peer review process is evolving. By making the peer review process more transparent, researchers have better access to peer feedback at an earlier stage in the lifecycle and consumers of research outputs can have greater confidence in their quality. + +But there is way more to discover about Open Science. The Open [Science Taxonomy graphic](https://doi.org/10.6084/m9.figshare.1508606.v3 "Knoth, Petr; Pontika, Nancy (2015): Open Science Taxonomy. figshare. Figure. https://doi.org/10.6084/m9.figshare.1508606.v3") shows the different terms behind Open Science. + + + +### Further Reading + +- [FOSTER Open Science (2022). Managing and Sharing Research Data.](https://www.fosteropenscience.eu/learning/managing-and-sharing-research-data/#/id/5b2ccc7d7ce0b17553f69063) +- [FOSTER Open Science (2022). Open Licensing.](https://www.fosteropenscience.eu/learning/open-licensing/#/id/5b618775ddd75cab7db42b31) +- [FOSTER Open Science (2022). Open Source Software and Workflows.](https://www.fosteropenscience.eu/learning/open-source-software-and-workflows/#/id/5abf67d9dd1827131b90e6bd) +- [ESA Earth System Data Lab](https://www.earthsystemdatalab.net/) +- [ESA Open Science Persisten Demonstrator](https://www.ogc.org/initiatives/open-science/) +- [NASA Common Metadata Repository](https://www.earthdata.nasa.gov/eosdis/science-system-description/eosdis-components/cmr) +- [NASA VEDA Platform](https://www.earthdata.nasa.gov/esds/veda) + +### References + +- [Fürst, Elena, Gänsdorfer, Nikos, Kalová, Tereza, Macher, Therese, Schranzhofer, Hermann, Stork, Christiane, & Thöricht, Heike (2022). Open Educational Resources Research Data Management. DOI: 10.5281/zenodo.6923397](https://github.com/schranzhofer/OER_for_RDM/blob/master/OER_for_RDM_English.md#open-science "FAIR Data Austria (2021). Open Educational Resources Research Data Management. DOI: 10.5281/zenodo.6923397") +- [FOSTER Open Science (2022). What is Open Science.](https://www.fosteropenscience.eu/learning/what-is-open-science/#/id/5ab8ea32dd1827131b90e3ac) +- [Loek Brinkman, Elly Dijk, Hans de Jonge, Nicole Loorbach, & Daan Rutten. (2023). Open Science: A Practical Guide for Early-Career Researchers (1.0). Zenodo. https://doi.org/10.5281/zenodo.7716153](https://doi.org/10.5281/zenodo.7716153) + +## What is FAIR? + +### FAIR + +In 2014, a group of researchers as well as employees of libraries, archives, publishers and funders established principles for the handling of research data in a workshop and published them on FORCE11 for reviews and comments. The so-called FAIR principles were born. They comprise four goals: the findability, accessibility, interoperability and re-usability of data. With the achievement of these goals, the sustainable re-usability of research data is meant to be guaranteed. FAIR is not binary: FAIR is a spectrum! + +> The OpenAIRE definition of Metadata: Metadata is data providing information about data that makes findable, trackable and (re)usable. It can include information such as contact information, geographic locations, details about units of measure, abbreviations or codes used in the dataset, instrument and protocol information, survey tool details, provenance and version information and much more. In earth observation satellite data that could be the spatial and temporal extent of the data, the sensor, the bands and their wavelenghts, etc. Section [2.1 Data Discovery](https://github.com/EO-College/cubes-and-clouds/blob/main/lectures/2.1_data_discovery/2.1_data_discovery.md) and [2.2 Data Properties](https://github.com/EO-College/cubes-and-clouds/blob/main/lectures/2.2_data_properties/2.2_data_properties.md) deal with EO metadata in particular. + +- **Findable** + + - The first step in (re)using data is to find them. Metadata and data should be easy to find for both humans and computers. Machine-readable metadata are essential for automatic discovery of datasets and services, so this is an essential component of the FAIRification process. + + - F1. (Meta)data are assigned a globally unique and persistent identifier + - F2. Data are described with rich metadata (defined by R1 below) + - F3. Metadata clearly and explicitly include the identifier of the data they describe + - F4. (Meta)data are registered or indexed in a searchable resource + + - Persistent Identifier (PID): These are IDs that identify a data set, publication or software (any digital object) unambiguosly and persistently with a single link. It increases the findability of a resource drastically. A widely used identifier is the [Digital Object Identifier (DOI)](https://www.doi.org/). + +- **Accessible** + + - Once the users find the required data, they need to know how they can be accessed, possibly including authentication and authorisation. + + - A1. (Meta)data are retrievable by their identifier using a standardised communications protocol + - A1.1 The protocol is open, free, and universally implementable + - A1.2 The protocol allows for an authentication and authorisation procedure, where necessary + - A2. Metadata are accessible, even when the data are no longer available + +- **Interoperable** + + - The data usually need to be integrated with other data. In addition, the data need to interoperate with applications or workflows for analysis, storage, and processing. + + - I1. (Meta)data use a formal, accessible, shared, and broadly applicable language for knowledge representation. + - I2. (Meta)data use standards, formats and vocabularies that follow FAIR principles and allow it to be exchanged and combined across computer systems + - I3. (Meta)data include qualified references to other (meta)data + +- **Reusable** + + - The ultimate goal of FAIR is to optimise the reuse of data. To achieve this, metadata and data should be well-described so that they can be replicated and/or combined in different settings + + - R1. (Meta)data are richly described with a plurality of accurate and relevant attributes + - R1.1. (Meta)data are released with a clear and accessible data usage license + - R1.2. (Meta)data are associated with detailed provenance + - R1.3. (Meta)data meet domain-relevant community standards + + - Licenses: To make your data reusable the use of appropiate licenses is key. Here is a good starting point to learn about the widely used [creative commons licenses](https://creativecommons.org/licenses/?lang=en). + +[![The FAIR Principles](https://img.youtube.com/vi/2uZxFu9SFi8/0.jpg)](https://www.youtube.com/watch?v=2uZxFu9SFi8) + +#### Animated Content: FAIR (drag and drop) + + + +### Further Reading + +- **Nature:** A comment regarding FAIR Principles: [Wilkinson, M. D. et al. (2016). The FAIR Guiding Principles for scientific data management and stewardship. Sci. Data 3:160018](http://doi.org/10.1038/sdata.2016.18) +- **European Commission:** EC FAIR-Principles: [European Commission. Action Plan for FAIR data recommendations](https://ec.europa.eu/info/sites/default/files/turning_fair_into_reality_1.pdf), [The EC expert group on FAIR data](http://ec.europa.eu/transparency/regexpert/index.cfm?do=groupDetail.groupDetail&groupID=3464&NewSearch=1&NewSearch=1), [EC/H2020 – Guidelines on FAIR Data Management in Horizon 2020](http://ec.europa.eu/research/participants/data/ref/h2020/grants_manual/hi/oa_pilot/h2020-hi-oa-data-mgt_en.pdf) +- **GO FAIR**: GO FAIR is a bottom-up, stakeholder-driven and self-governed initiative that aims to implement the [FAIR data principles](https://www.go-fair.org/fair-principles/), making data Findable, Accessible, Interoperable and Reusable (FAIR). It offers an open and inclusive ecosystem for individuals, institutions and organisations working together through [Implementation Networks](https://www.go-fair.org/implementation-networks/) (INs). The INs are active in three activity pillars: [GO CHANGE](https://www.go-fair.org/fields-of-action/go-change/), [GO TRAIN](https://www.go-fair.org/fields-of-action/go-train/) and [GO BUILD](https://www.go-fair.org/fields-of-action/go-build/). +- **Train-the-Trainer:** Training material for “FAIR” in the train-the-trainer program for Research Data Management: Biernacka, et al. (2020). Train-the-Trainer Concept on Research Data Management (Version 3.0). Zenodo. (p. 38) +- **OPENAIRE:** A network of Open Access repositories, archives and journals that support Open Access policies. The OpenAIRE Consortium is a [Horizon 2020](https://en.wikipedia.org/wiki/Framework_Programmes_for_Research_and_Technological_Development#Horizon_2020) (FP8) project, aimed to support the implementation of the [EC](https://en.wikipedia.org/wiki/European_Council) and [ERC Open Access](https://en.wikipedia.org/wiki/Open_Access) policies. +- **Codata:** FAIR-Principles and the Committee on Data for Science and Technology (Codata): The [Committee on Data for Science and Technology](https://codata.org/) (CODATA) is a Paris-based organization with the aim of improving the quality, reliability and accessibility of interesting data from all fields of science and technology. [Hodson, S. (2018). Making FAIR data a reality… and the challenges of interoperability and reusability. Open Science Conference 2018.](https://www.open-science-conference.eu/wp-content/uploads/2018/03/OSC2018_Hodson.pdf) +- **FAIR Workflows:** Also workflows can be made FAIR. This is a quite new topic. Here's the [workflows communities approach](https://workflows.community/groups/fair/) +- **History of FAIR:** Information on the [history of the FAIR principles](https://www.datafairport.org/) + +### References + +- [OpenAIRE (2017). What is Metadata.](https://www.openaire.eu/what-is-metadata) +- [Fürst, Elena, Gänsdorfer, Nikos, Kalová, Tereza, Macher, Therese, Schranzhofer, Hermann, Stork, Christiane, & Thöricht, Heike (2022). Open Educational Resources Research Data Management. DOI: 10.5281/zenodo.6923397](https://github.com/schranzhofer/OER_for_RDM/blob/master/OER_for_RDM_English.md#fair-principles) +- [GO FAIR (2023). FAIR Principles.](https://www.go-fair.org/fair-principles/) +- [Creative Commons (2023). About the licenses.](https://creativecommons.org/licenses/?lang=en) + +## Exam + +Let's test your theoretical knowledge on open science now. It's important that you understand these concepts. We will apply them later on in the course! + +What do the 4 Rs in the context of Open Science stand for? + + [( )] Readable, refreshable, recognizable, and receivable + [(X)] Reliable, reproducable, reusable, and relevant + [( )] Recitable, renameable, replicatable, and repairable. + +Which statement is correct about Open Science? + + [( )] Open Science sounds good, but it is unfair because researchers with limited financial means cannot afford access to open research results. + [(X)] Open Science promotes the transparency of science and the free reuse of existing research results by everyone. + [( )] Open Science ensures better networking of researchers within the EU. A worldwide exchange is currently not possible. + +What are the arguments in favour of Open Data? + + [( )] Generally, open data is not subject to a review process, so this type of data publication is always significantly faster. + [( )] Lower costs and less time needed to prepare the data than with a closed access publication. + [(X)] Accessibility of scientific data and metadata, source texts and digital reproductions. + +FAIR is an acronym that stands for... + + [(X)] Findable, Accessible, Interoperable and Reusable + [( )] Fast Artificial Intelligence Research + [( )] Fair, Accurate, Inclusive and Respectful Education + [( )] Free, Available, Implemented and Ready + +Findable means... + + [[X]] (Meta)data are assigned a globally unique and persistent identifier + [[ ]] (Meta)data are optimized to show up in the highest positions in google searches + [[X]] (Meta)data are registered or indexed in a searchable resource + +Accessible means… + + [[ ]] (Meta)data must be open. + [[X]] (Meta)data does not necessarily have to be open. + [[X]] (Meta)data has access conditions and these are clear to both humans and machines. + [[ ]] (Meta)data is open for access, but not for reuse. + +Interoperable means... + + [( )] (Meta)data is created and described by at least two researchers from differenct institutes + [(X)] (Meta)data use standards, formats and vocabularies that allow it to be exchanged and combined across computer systems and between humans + +Reusable means… + + [(X)] the data has clear usage licenses and is usable by both people and machines. + [( )] that all data is usable. + [( )] the data has clear usage licenses to be used by people. diff --git a/_sources/1.3_openscience/1.3.2_opendataopensource.md b/_sources/1.3_openscience/1.3.2_opendataopensource.md new file mode 100644 index 0000000..7d09191 --- /dev/null +++ b/_sources/1.3_openscience/1.3.2_opendataopensource.md @@ -0,0 +1,115 @@ +# Open Data and Open Source Software + +## Learning Objectives + +- Understand what Open Data is +- Understand what Open Source Software is + +## What is Open Data? + +### Open Data + +Open data is data that **anyone can access, use and share**. Open data becomes usable when made available in a common, machine-readable format. **Open data must be licensed**. Its licence must permit people to use the data in any way they want, including transforming, combining and sharing it with others, even commercially. Any restrictions imposed on the use of open data will limit its potential for creating new value. + +- **Limitations:** For data to be open, it should have no limitations that prevent it from being used in any particular way. Anyone should be free to use, modify, combine and share the data, even commercially +- **Cost:** Open data must be free to use, but this does not mean that it must be free to access. There is often a cost to creating, maintaining and publishing usable data. Ideally, any fee for accessing open data should be no more than the reasonable reproduction cost of the unit of data that is requested. This reproduction cost tends to be negligible for many datasets. Live data and big data can incur ongoing costs related to reliable service provision. +- **Reuse:** Once the user has the data, they are free to use, reuse and redistribute it – even commercially. Open data is measured by what it can be used for, not by how it is made available. Aspects like format, structure and machine readability all make data more usable, and should all be carefully considered. However, these do not make the data more open. +- **FAIR vs Open Data:** FAIR data is not the same as open data. For example, it is not always possible to grant free access to data for economic and legal reasons. Restrictions on access are compatible with FAIR principles, as long as the conditions and ways of access are evident. + +[![Discovering open data – in 2 minutes](https://img.youtube.com/vi/ULJSlXuk0FU/0.jpg)](https://www.youtube.com/watch?v=ULJSlXuk0FU) + +### Open Data in this course + +The creation of this course would not be possible without Open Data. Here are just a few examples: + +- [This course](https://github.com/EO-College/cubes-and-clouds#license) itself +- Most of the referenced learning resources e.g. [Open Science: A Practical Guide for Early-Career Researchers](https://zenodo.org/record/7716153) that we based the first part of this lesson on. +- [ESA Sentinel Satellite Data](https://open.esa.int/copernicus-sentinel-satellite-imagery-under-open-licence/) + +### References + +- [European Commission (2022). What is open data?. https://data.europa.eu/elearning/en/module1/#/id/co-01](https://data.europa.eu/elearning/en/module1/#/id/co-01) - Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License. +- [Open Knowledge Foundation (2022). Open Data Handbook.](https://opendatahandbook.org/guide/en/what-is-open-data/) +- [Fürst, Elena, Gänsdorfer, Nikos, Kalová, Tereza, Macher, Therese, Schranzhofer, Hermann, Stork, Christiane, & Thöricht, Heike (2022). Open Educational Resources Research Data Management. DOI: 10.5281/zenodo.6923397](https://github.com/schranzhofer/OER_for_RDM/blob/master/OER_for_RDM_English.md#fair-data-vs-open-data) + +> Since we use material from the European Commissions [data.europa.eu e-learning programme], which is published under the *Creative Commons Attribution-ShareAlike 4.0 International License* we have to publish this section **What is Open Data** under Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License. + +## What is Open Source? + +### Open Source + +Open Source does not simply mean that the source code of a project is available, which is only one element of an Open Source project. The Open Source Initiative (OSI) provides a commonly accepted [definition](https://opensource.org/osd/) of what constitutes Open Source. To summarize that, in order to be considered Open Source: + +- Open Source Software needs a license, +- a work has to allow free redistribution, +- the source code needs to be made available, +- it must be possible to create further works based on it, +- there must be no limitations of who may use the work or for what purpose (so something like "no commercial use" or "no military use" won't work with Open Source), +- the work must not require an additional license on top of the one it comes with, +- and finally, the license must not depend on a specific distribution format, technology or presence of other works. + +![OSI's Open Source Definition](https://images.ctfassets.net/s5uo95nf6njh/ZKAG4bUVsMBQalassQyg8/8efbbe929562b2a06c16b6ab154b5335/Frame_599.png?w=1280&fm=webp "OSI's Open Source Definition") + +[![What is Open Source Software](https://img.youtube.com/vi/1ehpgbb3XD0/0.jpg)](https://www.youtube.com/watch?v=1ehpgbb3XD0) + +### Open Source Software used in this course + +The creation of this course would not be possible without Open Source Software. Here are just a few examples of Open Source Software used in this course: + +- [Python](https://docs.python.org/3/license.html), used in the coding exercises +- [Wordpress](https://wordpress.org/about/license/), powering EOCollege's content +- [git](https://git-scm.com/about/free-and-open-source), for versioning the content of this course and collaborating with colleagues +- [openEO](https://openeo.org/about.html#openeo), used in the coding exercises for standarized interaction with cloud platforms +- [STAC Spec](https://stacspec.org/en), for standardizing metadata, so that we can find the data we need and create +- [leaflet](https://github.com/Leaflet/Leaflet/blob/main/LICENSE) for the interactive visualization of results +- [GDAL](https://gdal.org/license.html), powering most geospatial software and is the backbone of many EO cloud platforms + +### Further Reading + +Help for understanding licenses and choosing the right Open Source license + +- [tl;drLegal (FOSSA) (2023). Software Licencses In Plain English.](https://www.tldrlegal.com/) +- [GitHub Inc. (2023) Choose an open source license.](https://choosealicense.com/) + +And plentiful resources on open source projects, how to contribute and incorporate them into your work + +- [opensource.com (2023). Open Source resources.](https://opensource.com/resources) + +### References + +- [Open Source Initiative (2007). The Open Source Definition (v1.9).](https://opensource.org/osd/) +- [Gina Häußge (2022). A dev’s guide to open source software licensing. The ReadME Project.](https://github.com/readme/guides/open-source-licensing) + +## Exam + +Which statement about Open Data is correct? + + [(X)] Open Data means information that is freely accessible. + [( )] With Open Data, only data that is related to a scientific interpretation can be considered. + [( )] With Open Data, the availability and usability of data on the web is limited. + +FAIR data is always open data. + + [( )] True + [(X)] False + +What is true about Open Source Software projects + + [[X]] The source code is completely available to the public. + [[ ]] You cannot contribute to Open Source Software Projects. + [[X]] Open Source Software Projects are community driven. + [[ ]] You can never use Open Source Software for commercial purposes. + [[ ]] If software is published under a license, it is not open source. + +What is GitHub? + + [( )] GitHub is a cloud storage system specialized in storing big earth observation data sets. + [(X)] GitHub is a code hosting platform for version control and collaboration. It lets you and others work together on projects from anywhere. + +Find the following GitHub repositories and copy their link into the text box. *Copy the complete link starting with `https://`* + +| Project | Link | +|------------------------------------------------------------|-----------------------------------------------------| +| openEO python client | [[https://github.com/Open-EO/openeo-python-client]] | +| Spatio Temporal Asset Catalogue Specification (STAC Spec) | [[https://github.com/radiantearth/stac-spec]] | +| Geographic Data Abstraction Library (GDAL) | [[https://github.com/OSGeo/gdal]] | diff --git a/_sources/1.3_openscience/1.3.3_openscienceineo.md b/_sources/1.3_openscience/1.3.3_openscienceineo.md new file mode 100644 index 0000000..ac3fc52 --- /dev/null +++ b/_sources/1.3_openscience/1.3.3_openscienceineo.md @@ -0,0 +1,110 @@ +# The Open Science Journey - Open Science in geospatial, EO and EO cloud platforms + +## Learning Objectives + +- Understand what Open Science is +- Get to know the FAIR concept +- Follow the steps of creating Open Science +- Understand the role of Open Science in geospatial, EO and EO cloud platforms + +## The Open Science Journey + +Finally let's see how open science principles are applied in the field of geospatial, earth observation and EO cloud platforms. To begin we will have a look at the open science journey and a research project that has adapted openness and the FAIR principles very well. Then we will have a look at the role open science plays in today's geospatial and EO world. + +This drag and drop game asks you to connect the tasks to their respective step within the open science journey. If you hover over the icons, their description will pop up. + + + +### Open Science in the ClirSnow Project + +The ClirSnow Project is a great example of how the concepts of opennes and FAIR are applied to a real world research project. + +[![The Open Science Journey](https://img.youtube.com/vi/lmd9wwGNw6M/0.jpg)](https://www.youtube.com/watch?v=lmd9wwGNw6M)
+> Video content in collaboration with [Michael Matiu](https://mitmat.eu/) (University of Trento).
+> *"It seems like a lot of work the first time you do it. And it is. But once you know how to do it, you will use it in every research project, because it actually makes research so much easier. And, it will boost your research impact and credibility. It is really worth it."* + +## The Role of Open Source Software in Geospatial - The example of GDAL + +Open Science plays an important role in geospatial. Open source software is a part of that and the Geographic Data Abstraction Library (GDAL) software is a great example of how important open source software is in the geospatial world. +Paul Ramsey, the co-founder of the PostGIS extension, has described what GDAL is in a metaphoric way in a [mapscaping.com podcast](https://mapscaping.com/podcast/gdal-geospatial-data-abstraction-library/): “GDAL is data plumbing, a bit like an international electrical plug set for traveling — it’s got multiple different shaped plugs. Electricity is “just” electrons moving around. But they can move around as DC, AC, 120 volts or 240 volts. Plus, there are all these different ways you can plug and join electrical things. At the core, electricity is electrons vibrating, but it can be quite complex to get your hair dryer spinning.” +Howard Butler, a director of the Open-Source Geospatial Foundation, said about the importance of GDAL: “[…] It's open, it provides core functionality, I can't understand how anybody gets anything done without it.“ + +[![The Role of Open Source Software in Geospatial - The example of GDAL](https://img.youtube.com/vi/DbU35RqaQ-U/0.jpg)](https://www.youtube.com/watch?v=DbU35RqaQ-U)
+> Video content in collaboration with [Even Rouault](https://www.spatialys.com/en/about/) (Main Developer of GDAL). + +## Open Science in EO Cloud Platforms + +- **Code:** Workflows and Code can easily be shared on EO Cloud Platforms. There are openly available tutorial notebooks. Workflows can be shared as user defined processes and be reused by the community. There are user forums that share solutions and snippets. OpenEO, a standardized processing API for EO in the cloud, allows code to be portable between different cloud platforms. This increases reprodicibility, collaboration and prevents vendor locks. + - **To Do: Image Slider:** openEO Platform Forum, Tutorial Notebooks Microsoft Planetary Computer, User Defined Processes openEO, + +- **Results:** There are multiple ways to share results created in EO cloud platforms. Ideally they can be ingested into the platform and be made available as collections for other users directly upon creation. If the result comes with appropiate metadata (e.g. according to the STAC specification) they can easily be registered in publicly avialable STAC Catalogues. Cloud Native Data Formats (described in more detail in lesson [2.4 Formats and Performance](../2.4_formats_and_performance/2.4_formats_and_performance.md)), like cloud optimized geotiff, are accessible via https requests. So instead of sharing a file, only a URL pointing to the file is shared. + - **To Do: Image Slider**: Collection in a Platform, STAC Catalogue, Link to a COG + +- **Publication:** If a publication is built on top of results produced in an EO cloud platform, the results and code can easily be linked to the publication in one of the forms described aboved. For example, you can publish your openEO process graph and link to it, and provide a link to a STAC Catalogue where the results are accessible. + - **To Do: Example of a Publication where the code is available on a cloud platform** + +- **FAIRness:** + - Findable: Data is usually presented through a data catalogue (e.g. STAC Catalogues are used in openEO platform and the Microsoft Planetary Computer) that is explicitly made for searching data. In many cases searching data works even without registration on the platform. + - Accessible: Data access in cloud platforms is usually granted after registration and authentication. Since cloud computing resources can easily be misused a certain degree of access control is necessary. + - Interoperable: Processing standards like openEO aim at making the code interoperable, which means it is transferable between platforms. Standardised metadata attached to the results,the use of cloud optimized formats and reingestion of the results into the platform guarantee easy uptake of the results right away. Different sources of satellite data are made interoperable by the cloud platform through the use of data cubes and processing on the fly - reprojections, regridding and temporal alignment are enabled on the fly. + - Reusable: To make results reusable for others, they need to be accessible and have an open license. Ideally, a license of choice can be added to the metadata and the results are reingested into the platform as a public collection, available for everyone. + +- **Analysis Ready Data (ARD):** Analysis Ready Data are in the context of EO cloud platforms are usually satellite data that have been processed to a minimum set of requirements and organized into a form that allows immediate analysis with a minimum of additional user effort and interoperability both through time and with other datasets. This means for example that atmospheric correction and cloud masking has already been applied to optical data. Many collections on cloud platforms are analysis ready, so that users can directly start the analysis withouth the tedious and technically demanding preprocessing steps. Since 'analysis ready' can mean different things to different people, CEOS is working on standardizing what analysis ready data are. + - **To Do: Image of CEOS ARD** + +### References + +- [ARDC Ltd. (2022). How to Make Your Data FAIR. DOI: 10.5281/zenodo.7426145.](https://ardc.edu.au/resource/making-your-data-fair-a-flowchart/) +- [GO FAIR (2022). The FAIRification Process.](https://www.go-fair.org/fair-principles/fairification-process/ ) +- [Mapscaping Podcast with Paul Ramsey (2021). GDAL - Geospatial Data Abstraction Library](https://mapscaping.com/podcast/gdal-geospatial-data-abstraction-library/) +- [CEOS (2022). CEOS Analysis Ready Data.](https://ceos.org/ard/) + +## Exam + +Search a license from the [Creative Commons License Chooser](https://creativecommons.org/choose/) that adheres to the following: **proper attribution/citation must be included when used**, **free for commercial use** and **Adaptions of the work can be shared, but only under the same or a compatible license**. + + [( )] CC BY 4.0 + [(X)] CC BY-SA 4.0 + [( )] CC BY-SA-ND 4.0 + +Was the license you have just chosen a software license or a data license? + + [( )] Software License + [(X)] Data License + +Find the Open Research Data Set *"Snow cover in the European Alps: Station observations of snow depth and depth of snowfall"* on the catalogue [OpenAIRE](https://explore.openaire.eu/). + +Share the DOI link to the data set version v1.3 in the format `https://doi.org/10.5281/zenodo.XXXXXXX`. *Hint the last numbers are 74* + + [[https://doi.org/10.5281/zenodo.5109574]] + +On which repository is the data set registered? + + [( )] Integrated Ocean Observing System (https://ioos.noaa.gov) + [( )] PANGAEA (https://pangaea.de) + [(X)] ZENODO (https://zenodo.org) + +Which license is used for the data set? Copy the URL to the license here. + + [(X)] Creative Commons Attribution 4.0 International + [( )] Creative Commons Attribution-NonCommercial 4.0 International + [( )] Creative Commons Attribution-ShareAlike 4.0 International + +Find the open access publication that is connected to the dataset. The one that has been published in "The Cryosphere". Copy the DOI of the article here in the format `https://doi.org/XX.XXXX/tc-XX-XXXX-XXXX`. *Hint: The DOI ends with 21* + + [[https://doi.org/10.5194/tc-15-1343-2021]] + +Under which license is this course published. You can find this out on the courses GitHub page. + + [( )] Massachusets Institute of Technology License (MIT License) + [( )] Creative Commons Attribution-ShareAlike 4.0 International License + [(X)] Creative Commons Attribution 4.0 International License + +How is data FAIR in a cloud platform? Connect the subjects to the FAIR keywords. + + [[Findable] [Accessible] [Interoperable] [Reusable]] + [(X) ( ) ( ) ( ) ] STAC Metadata, Metadata Catalogue + [( ) ( ) (X) ( ) ] Usage of abstract data cubes instead of different file formats + [( ) (X) ( ) ( ) ] Authentication, Login, Free Trial Accounts + [( ) ( ) ( ) (X) ] Data licenses attached to collections, provenance of the data is reported + diff --git a/_sources/2.1_data_discovery/2.1_data_discovery.md b/_sources/2.1_data_discovery/2.1_data_discovery.md new file mode 100644 index 0000000..e8269f5 --- /dev/null +++ b/_sources/2.1_data_discovery/2.1_data_discovery.md @@ -0,0 +1,618 @@ +# Data Discovery + +## Learning Objectives + +- Find out what Data Sources we have +- Get to know where to get data +- Discover data catalogues +- Learn what STAC is + +## What kind of data is available + +[![What kind of data can you find? And how?](https://img.youtube.com/vi/NafY3AIw6f0/0.jpg)](https://youtu.be/NafY3AIw6f0)
+> Video content in collaboration with [Angelos Tzotsos](https://www.linkedin.com/in/tzotsos/?originalSubdomain=gr) (President OSGeo) and [Tom Kralidis](https://www.linkedin.com/in/tomkralidis/?originalSubdomain=ca) (Meteorological Service of Canada). + +## Geospatial Data + +Knowledge of various geospatial data types is essential for understanding, representing, and analyzing acquired data from various domains. Data carry not only spatial information but also measured values, derived data, or other targeted information. Based on their properties, they can be used for different purposes. + +There are several common geospatial data types, each serving a specific purpose and having distinct characteristics. + +![Data Types in EO](assets/data_types.jpg "Data Types in EO") +> Figure: Common data types in EO. Raster, Polygon, Point. + +### Raster data + +Raster data are represented as pixels and grid cells where every pixel has a value associated with it. Data stored in raster format can be discrete (representing distinct categories, eg. land cover types) or continuous (for example temperature or elevation). + +Examples of raster data sources: + +- **Satellite data** - Satellite imagery data are a common example of raster data. There are many types of data acquired by satellites and their processing. The temporal aspect of images is very important for continuous analysis. +- **Aerial/drone orthophoto** - Digital imagery obtained by aircrafts (e.g. drones) is usually high-resolution raster data usable for detailed analysis. +- **DEM** - Digital Elevation Models are representing the surface of (usually) Earth and are essential for computations on a surface level. +- **Cloud mask** - Cloud mask refers to the task of cloud detection in optical satellite data, where the common task is to detect (and remove) clouds to obtain better quality data. + +### Vector data + +Vector data are a fundamental type of geospatial data. Vector data represents spatial features using 3 basic classes - points, lines, and polygons and the attributes associated with them. With vector data, it is possible to capture and analyze complex spatial patterns and attributes with great accuracy, providing valuable insights into spatial phenomena and supporting decision-making processes. Vector data are commonly used in addition to raster data to highlight or accompany trends and results. + +Examples of vector data sources: + +- **Building footprints (Polygons)** - Building footprints are usually represented as polygons and capture the perimeter of buildings on the Earth's surface. These footprints can vary in complexity from simple rectangles for standard buildings to more intricate shapes that outline the exact contours of complex structures. +- **Street networks** - Street networks are depicted as lines, representing the pathways through which vehicles and pedestrians can move. Each line segment can indicate a portion of a street, alley, highway, or path, connecting intersections and endpoints to map out the entire transportation infrastructure of an area. +- **Points of interest** - Points of Interest (POIs) are example of point vector data. They represents specific locations that hold importance or interest within a geographic area or usecase. These can include landmarks, businesses, public facilities, and natural features, among others. + + +### In-situ data + +In-situ data are data collected directly at the place of interest and are connected to a special location. There are many reasons why these data are important and one of them is an enhancement of data collected by other means eg. weather measurements from satellites enhanced with local air quality measurements. There are countless examples of what can be measured, two common examples are: + +- **Air temperature** +- **Soil quality** + +### Datacubes + +Datacube refers to a multidimensional representation of data that incorporates spatial and temporal dimensions. It is a concept used to organize and analyze large volumes of geospatial information in a structured and efficient manner. Datacubes are combining the data types discussed above into one data structure. More about datacubes is in [Lesson 1.2](../1.2/datacubes.md) + + +# EO Catalog protocols + +For Earth observation data discovery, it is essential to know about various used catalog protocols that define standardized methods and formats for organizing, describing, and accessing Earth observation data catalogs. + +Some commonly used protocols shared between diffent platforms include **OpenSearch**, **OGC CSW**, **OGC API - Features**, **OGC API - Records**, **STAC**, **OData** and more. + +## OpenSearch + +The OpenSearch specification was launched in 2005 by A9.com, an Amazon subsidiary, as a means for sharing search queries and search results in a standardized format. +The specification was intended to allow syndication of search results that could then be aggregated by one large index. +OpenSearch provides a simple to use description of the search interface, which is called an OpenSearch Description document (OSDD). +A client (e.g., a browser) can use this description to check which response formats are supported and how a query/filter can be formulated. +The OpenSearch based REST services are usually offered by existing EO data platforms for compatibility reasons as the protocol itself is stable and not extended anymore. +The data models of most catalogs build on top of XML or GeoJSON and allow filtering on a set of simple but not standardized properties. The protocol supports both textual and geospatial search and filtering capabilities, making it suitable for a wide range of applications, including web search engines and geospatial data catalogs. + +## OGC CSW + +Catalogue Service for the Web (CSW) standardized by Open Geospatial Consortium (OGC), offers a framework for publishing, discovering, and accessing metadata records, allowing users to effectively search and retrieve geospatial data and related information. The catalogue is made up of records that describe geospatial data, linked geospatial services and related resources. +CSW enables metadata query using metadata core (mandatory) elements. +Catalogue services support the use of one of several identified query languages to find and return results using well-known content models (metadata schemas) and encodings. + +## OGC API - Features + +OGC API - Features is a modern and flexible geospatial data access protocol developed by the OGC. It provides a standardized and RESTful approach for querying, retrieving, and manipulating geospatial feature data over the web. By leveraging the power of web technologies such as HTTP, JSON, and GeoJSON, OGC API - Features simplifies the process of accessing and working with geospatial data. It allows users to retrieve specific features based on spatial and attribute filters, perform spatial and attribute queries, and even modify feature data through standard HTTP methods. + +## OGC API - Records + +OGC API - Records is a multi-part draft specification (built on top of OGC API - Features) that offers the capability to create, modify, and query metadata on the Web. The draft specification enables the discovery of geospatial resources by standardizing the way collections of descriptive information about the resources (metadata) are exposed. The specification also enables the discovery and sharing of related resources that may be referenced from geospatial resources or their metadata by standardizing the way all kinds of records are exposed and managed. + +## STAC + +STAC stands for SpatioTemporal Asset Catalog. It is a community specification that provides a common way for describing and cataloging assets that have a connection to space and time, usually but not necessarily on the Earth. The STAC specification focuses on organizing and sharing geospatial data in a way that is accessible, interoperable, and scalable. The STAC Specification consists of 4 semi-independent specifications (Catalog, Collection, Item and API) which can work independently or be used together. All of them can be and are enriched by a variety of extensions. +It is a relatively new specification but increasingly integrated by various data providers and seen as future of EO Data cataloguing and discovery. The data model in the dataspace is still evolving to comply fully with all standardized properties. Because of that, more attention is provided to STAC than other catalogue protocols in this tutorial. + + +### The components of STAC +The STAC specification is divided into three main parts: +- STAC specification for static catalogs, which consists of three parts: + - STAC Items + - STAC Catalogs + - STAC Collections +- STAC API specification for dynamic catalogs. +- STAC extensions (both for static STAC and the STAC API) + +All these components are fairly independent, but all components work together and use links to express the relationship between them so that eventually clients can traverse through them. The links to the actual spatio-temporal data files that the STAC metadata describes are handled specifically and are called STAC Assets. Assets can be made available in Items and Collections. + + +![STAC Hierarchy](assets/stac_hierarchy.png "STAC Hierarchy")
+>Image by Matthias Mohr from https://mohr.ws/foss4g/ + +#### STAC Item + +A STAC Item is the foundational building block of STAC. It is a GeoJSON feature supplemented with additional metadata that enables clients to traverse through catalogs. Since an item is a GeoJSON, it can be easily read by any modern GIS or geospatial library. One item can describe one or more SpatioTemporal Asset(s). For example, a common practice of using STAC for imagery is that each band in a scene is its own STAC Asset and there is one STAC Item to represent all the bands in a single scene. + +The STAC Item JSON specification uses standard GeoJSON fields as well as a few additional informational fields to describe the asset(s) more thoroughly. + +STAC Item (and other components) have some required fields which must be always filled with information. In the example below, required fields like type, stac_version or id are filled. Properties are also required fields, but here also extended by many STAC extensions, in the format of extension_name:field_name: value. STAC extensions are also listed in the stac_extensions field. Complete STAC Item spec can be found on [GitHub](https://github.com/radiantearth/stac-spec/blob/master/item-spec/item-spec.md). + +
+ Example of a Sentinel 2 L2A STAC Item with one band asset. + +```json +{ + "type":"Feature", + "stac_version":"1.0.0", + "id":"S2B_43SCR_20231123_0_L2A", + "properties":{ + "created":"2023-11-23T08:25:34.597Z", + "platform":"sentinel-2b", + "constellation":"sentinel-2", + "instruments":[ + "msi" + ], + "eo:cloud_cover":0.414053, + "proj:epsg":32643, + "mgrs:utm_zone":43, + "mgrs:latitude_band":"S", + "mgrs:grid_square":"CR", + "grid:code":"MGRS-43SCR", + "view:sun_azimuth":161.976971280106, + "view:sun_elevation":35.5947611411469, + "s2:degraded_msi_data_percentage":0, + "s2:nodata_pixel_percentage":77.337396, + "s2:saturated_defective_pixel_percentage":0, + "s2:dark_features_percentage":0, + "s2:cloud_shadow_percentage":0.002591, + "s2:vegetation_percentage":0.010072, + "s2:not_vegetated_percentage":98.205149, + "s2:water_percentage":0.9589, + "s2:unclassified_percentage":0.38101, + "s2:medium_proba_clouds_percentage":0.410817, + "s2:high_proba_clouds_percentage":0.003235, + "s2:thin_cirrus_percentage":0, + "s2:snow_ice_percentage":0.028226, + "s2:product_type":"S2MSI2A", + "s2:processing_baseline":"05.09", + "s2:product_uri":"S2B_MSIL2A_20231123T054139_N0509_R005_T43SCR_20231123T070647.SAFE", + "s2:generation_time":"2023-11-23T07:06:47.000000Z", + "s2:datatake_id":"GS2B_20231123T054139_035066_N05.09", + "s2:datatake_type":"INS-NOBS", + "s2:datastrip_id":"S2B_OPER_MSI_L2A_DS_2BPS_20231123T070647_S20231123T054133_N05.09", + "s2:granule_id":"S2B_OPER_MSI_L2A_TL_2BPS_20231123T070647_A035066_T43SCR_N05.09", + "s2:reflectance_conversion_factor":1.02412472897181, + "datetime":"2023-11-23T05:50:10.118000Z", + "s2:sequence":"0", + "earthsearch:s3_path":"s3://sentinel-cogs/sentinel-s2-l2a-cogs/43/S/CR/2023/11/S2B_43SCR_20231123_0_L2A", + "earthsearch:payload_id":"roda-sentinel2/workflow-sentinel2-to-stac/ee5536069c6dd3a13ae2dbd530beafeb", + "earthsearch:boa_offset_applied":true, + "processing:software":{ + "sentinel2-to-stac":"0.1.1" + }, + "updated":"2023-11-23T08:25:34.597Z" + }, + "geometry":{ + "type":"Polygon", + "coordinates":[ + [ + [ + 73.91301155493866, + 32.53264844646899 + ], + [ + 73.65302362425264, + 31.539681428386213 + ], + [ + 74.04974127686076, + 31.543245006457585 + ], + [ + 74.03945448697993, + 32.53367782512506 + ], + [ + 73.91301155493866, + 32.53264844646899 + ] + ] + ] + }, + "links":[ + { + "rel":"self", + "type":"application/geo+json", + "href":"https://earth-search.aws.element84.com/v1/collections/sentinel-2-l2a/items/S2B_43SCR_20231123_0_L2A" + }, + { + "rel":"canonical", + "href":"s3://sentinel-cogs/sentinel-s2-l2a-cogs/43/S/CR/2023/11/S2B_43SCR_20231123_0_L2A/S2B_43SCR_20231123_0_L2A.json", + "type":"application/json" + }, + { + "rel":"license", + "href":"https://sentinel.esa.int/documents/247904/690755/Sentinel_Data_Legal_Notice" + }, + { + "rel":"derived_from", + "href":"https://earth-search.aws.element84.com/v1/collections/sentinel-2-l1c/items/S2B_43SCR_20231123_0_L1C", + "type":"application/geo+json" + }, + { + "rel":"parent", + "type":"application/json", + "href":"https://earth-search.aws.element84.com/v1/collections/sentinel-2-l2a" + }, + { + "rel":"collection", + "type":"application/json", + "href":"https://earth-search.aws.element84.com/v1/collections/sentinel-2-l2a" + }, + { + "rel":"root", + "type":"application/json", + "href":"https://earth-search.aws.element84.com/v1" + }, + { + "rel":"thumbnail", + "href":"https://earth-search.aws.element84.com/v1/collections/sentinel-2-l2a/items/S2B_43SCR_20231123_0_L2A/thumbnail" + } + ], + "assets":{ + "blue":{ + "href":"https://sentinel-cogs.s3.us-west-2.amazonaws.com/sentinel-s2-l2a-cogs/43/S/CR/2023/11/S2B_43SCR_20231123_0_L2A/B02.tif", + "type":"image/tiff; application=geotiff; profile=cloud-optimized", + "title":"Blue (band 2) - 10m", + "eo:bands":[ + { + "name":"blue", + "common_name":"blue", + "description":"Blue (band 2)", + "center_wavelength":0.49, + "full_width_half_max":0.098 + } + ], + "gsd":10, + "proj:shape":[ + 10980, + 10980 + ], + "proj:transform":[ + 10, + 0, + 300000, + 0, + -10, + 3600000 + ], + "raster:bands":[ + { + "nodata":0, + "data_type":"uint16", + "bits_per_sample":15, + "spatial_resolution":10, + "scale":0.0001, + "offset":-0.1 + } + ], + "roles":[ + "data", + "reflectance" + ] + }, + "thumbnail":{ + "href":"https://sentinel-cogs.s3.us-west-2.amazonaws.com/sentinel-s2-l2a-cogs/43/S/CR/2023/11/S2B_43SCR_20231123_0_L2A/thumbnail.jpg", + "type":"image/jpeg", + "title":"Thumbnail image", + "roles":[ + "thumbnail" + ] + } + }, + "bbox":[ + 73.65302362425264, + 31.539681428386213, + 74.04974127686076, + 32.53367782512506 + ], + "stac_extensions":[ + "https://stac-extensions.github.io/view/v1.0.0/schema.json", + "https://stac-extensions.github.io/grid/v1.0.0/schema.json", + "https://stac-extensions.github.io/mgrs/v1.0.0/schema.json", + "https://stac-extensions.github.io/raster/v1.1.0/schema.json", + "https://stac-extensions.github.io/processing/v1.1.0/schema.json", + "https://stac-extensions.github.io/eo/v1.1.0/schema.json", + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection":"sentinel-2-l2a" +} +``` +
+ +Source URL: [https://earth-search.aws.element84.com/v1/collections/sentinel-2-l2a/items/S2B_43SCR_20231123_0_L2A](https://earth-search.aws.element84.com/v1/collections/sentinel-2-l2a/items/S2B_43SCR_20231123_0_L2A) + +#### STAC Catalog + +A STAC Catalog is an entity that logically groups other Catalogs, Collections, and Items. A Catalog contains links to these other entities and can include additional metadata to describe the entities contained therein. A catalog is usually the starting point for navigating a STAC. More specifically, a `catalog.json` file contains links to some combination of other STAC Catalogs, Collections, and/or Items. We can think of it like a directory on a computer although it doesn't necessarily need to mirror the local directory tree. + +There are no restrictions on the way STAC Catalogs are organized. Therefore, the combination of STAC components within a STAC Catalog is quite variable and flexible. Many implementations use a set of 'sub-catalog(s)' that group the items in some sensible way, e.g. by years as a first level and months as a second level. It can be easily extended, for example, to include additional metadata to further describe its holdings, as the STAC Collection does. + +#### STAC Collection + +A STAC Collection is similar to a STAC Catalog, but includes and partially requires additional metadata about a set of items that exist as part of the collection. It adds additional fields to enable the description of information like the spatial and temporal extent of the data, the license, keywords, providers, etc. Therefore, it can easily be extended with additional collection-level metadata that is common across all children. For example, it could summarize that all Items underneath hold data in either 10m or 30m spatial resolution. + + +
+ Example of a Sentinel 2 L2A STAC Collection. + +```json +{ + "type":"Collection", + "id":"sentinel-2-l2a", + "stac_version":"1.0.0", + "description":"Global Sentinel-2 data from the Multispectral Instrument (MSI) onboard Sentinel-2", + "links":[ + { + "rel":"self", + "type":"application/json", + "href":"https://earth-search.aws.element84.com/v1/collections/sentinel-2-l2a" + }, + { + "rel":"cite-as", + "href":"https://doi.org/10.5270/S2_-742ikth", + "title":"Copernicus Sentinel-2 MSI Level-2A (L2A) Bottom-of-Atmosphere Radiance" + }, + { + "rel":"license", + "href":"https://sentinel.esa.int/documents/247904/690755/Sentinel_Data_Legal_Notice", + "title":"proprietary" + }, + { + "rel":"parent", + "type":"application/json", + "href":"https://earth-search.aws.element84.com/v1" + }, + { + "rel":"root", + "type":"application/json", + "href":"https://earth-search.aws.element84.com/v1" + }, + { + "rel":"items", + "type":"application/geo+json", + "href":"https://earth-search.aws.element84.com/v1/collections/sentinel-2-l2a/items" + }, + { + "rel":"http://www.opengis.net/def/rel/ogc/1.0/queryables", + "type":"application/schema+json", + "href":"https://earth-search.aws.element84.com/v1/collections/sentinel-2-l2a/queryables" + }, + { + "rel":"aggregate", + "type":"application/json", + "href":"https://earth-search.aws.element84.com/v1/collections/sentinel-2-l2a/aggregate", + "method":"GET" + }, + { + "rel":"aggregations", + "type":"application/json", + "href":"https://earth-search.aws.element84.com/v1/collections/sentinel-2-l2a/aggregations" + } + ], + "stac_extensions":[ + "https://stac-extensions.github.io/item-assets/v1.0.0/schema.json", + "https://stac-extensions.github.io/view/v1.0.0/schema.json", + "https://stac-extensions.github.io/scientific/v1.0.0/schema.json", + "https://stac-extensions.github.io/raster/v1.1.0/schema.json", + "https://stac-extensions.github.io/eo/v1.0.0/schema.json" + ], + "title":"Sentinel-2 Level 2A", + "extent":{ + "spatial":{ + "bbox":[ + [ + -180, + -90, + 180, + 90 + ] + ] + }, + "temporal":{ + "interval":[ + [ + "2015-06-27T10:25:31.456000Z", + null + ] + ] + } + }, + "license":"proprietary", + "keywords":[ + "sentinel", + "earth observation", + "esa" + ], + "providers":[ + { + "name":"ESA", + "roles":[ + "producer" + ], + "url":"https://earth.esa.int/web/guest/home" + }, + { + "name":"Sinergise", + "roles":[ + "processor" + ], + "url":"https://registry.opendata.aws/sentinel-2/" + }, + { + "name":"AWS", + "roles":[ + "host" + ], + "url":"http://sentinel-pds.s3-website.eu-central-1.amazonaws.com/" + }, + { + "name":"Element 84", + "roles":[ + "processor" + ], + "url":"https://element84.com" + } + ], + "summaries":{ + "platform":[ + "sentinel-2a", + "sentinel-2b" + ], + "constellation":[ + "sentinel-2" + ], + "instruments":[ + "msi" + ], + "gsd":[ + 10, + 20, + 60 + ], + "view:off_nadir":[ + 0 + ], + "sci:doi":[ + "10.5270/s2_-znk9xsj" + ], + "eo:bands":[ + { + "name":"blue", + "common_name":"blue", + "description":"Blue (band 2)", + "center_wavelength":0.49, + "full_width_half_max":0.098 + } + ] + } +} +``` +
+ +Source URL: [https://earth-search.aws.element84.com/v1/collections/sentinel-2-l2a](https://earth-search.aws.element84.com/v1/collections/sentinel-2-l2a) + +#### STAC API + +STAC API is a dynamic version of a static SpatioTemporal Asset Catalog and provides a RESTful endpoint that enables the search of STAC Items and STAC Collections. STAC Catalogs don't play a big role in APIs as they are mostly used as an entity for grouping larger static catalogs into smaller chunks, which is usually not needed in the context of a dynamic API. + +If the API implements the Filter or Query extension, additionally the user is allowed to search for specific content based on a set of available metadata fields. Additional extensions may support more interactive elements such as aggregations, or managing the metadata (updating it, creating new entities, or deleting some) through transactions. + +A part of the STAC API is built on top of [OGC API - Features](#ogc-api---features). + + +#### STAC Extension + +Extensions to STAC are split into two parts: STAC extensions and STAC API extensions. They are both an important addition to the STAC specifications and can provide either additions to the data model (i.e. additional JSON properties such as `eo:cloud_cover`) or behavioural changes (e.g. additional types of links or a sorting functionality). Most tend to be about describing a particular domain or type of data. + +To find out which extensions do the STAC API, STAC Catalog, Collection or Item object implement, you can explore [list of STAC extensions](https://stac-extensions.github.io/#list-of-stac-extensions) or [list of STAC API extensions](https://stac-api-extensions.github.io/#list-of-stac-api-extensions). + + +## ODAta + +OData (Open Data Protocol) specifies a variety of best practices for creating and using REST APIs that can be handled by a large set of client tools like common web browsers, download-managers. The OData protocol can be used for building URI for performing search queries and product downloads for example on the Copernicus Dataspace. + + +### References and further readings + +- [OpenSearch specification](https://github.com/dewitt/opensearch) +- [OGC OpenSearch Geo, Time and EO extensions](https://www.ogc.org/standard/opensearch) +- [OpenSearch API access examples](https://documentation.dataspace.copernicus.eu/APIs/OpenSearch.html) +- [OGC CSW specification](https://www.ogc.org/standard/cat/) +- [OGC API - Features](https://www.ogc.org/standard/ogcapi-features/) +- [OGC API - Records (Draft)](https://docs.ogc.org/DRAFTS/20-004.html) +- More to read about [STAC specification](https://stacspec.org/en) +- [STAC Tutorials](https://stacspec.org/en/tutorials/) +- [OData on Copernicus Dataspace](https://documentation.dataspace.copernicus.eu/APIs/OData.html) + +## Where to search for data + +Earth observation data access is not limited to a single platform or a single entry point. What follows is a non-exhaustive list of some well-known Earth observation data catalogues usually based around the original agency providing the data: + +- [EarthData Search](https://search.earthdata.nasa.gov/search): A comprehensive data discovery and access tool provided by NASA's Earth Observing System Data and Information System (EOSDIS). Contains wide range of NASA's Earth science data. +- [Copernicus Data Space](https://dataspace.copernicus.eu/explore-data/data-collections): Currently in development platform aiming to provide immediate access to large amounts of open and free Earth observation data and scalable interfaces including both new and historical Sentinel images, commercial datasets, as well as Copernicus Contributing Missions. +- [USGS Earth Explorer](https://earthexplorer.usgs.gov/): EarthExplorer (EE) provides online search, browse display, metadata export, and data download for earth science data from the archives of the U.S. Geological Survey (USGS). Usually of largest demand are data from the Landsat missions. +- [Open Science Catalog](https://opensciencedata.esa.int/): A catalog of publicly available geoscience products, datasets and resources developed in the frame of scientific research Projects funded by ESA EO. Queriable by themes, projects, variables and products. +- [NCEI Catalog](https://www.ncei.noaa.gov/access): NOAA's National Centers for Environmental Information (NCEI) provides access to various environmental data, including satellite imagery, climate data, and other geospatial datasets. In particular it is composed of oceanic, atmospheric, and geophysical data. +- [STAC Index](https://stacindex.org/catalogs): A list of publicly available STAC APIs and Static Catalogs. + + +
+ +
+ +## How to search for data + +Large EO data portals usually allow two main different ways of access based on the technical proficiency of the target user group. User can either use graphical user interface of selected portal or use one the available APIs for search. Bellow are examples of way how to search for your data. + +### Web Browser Catalogue client + +Many large portals provide a easy-to-use search and filtering GUI, which under the hood uses one of the provided catalog APIs. This allows less experienced users to perform queries usually for smaller subset of data with the help of an attached Web map client to orient themselves easily. + +![CDSE Browser](assets/cdse_search.jpg "CDSE Browser") + +### API access + +For batch operations or script access to the catalogs, it is envisioned that direct approach of the API is performed instead. This removes the need for direct user interaction to the web platform and can be used from user provided scripts or other programs and CLI tools. + +Fore more information about performing filtering or queries, see [Data Properties](../2.2_data_properties/2.2_properties.md). + +### STAC Browser + +In order to access and browse any online STAC catalog or API, a rich web client application STAC Browser can be used on [radiantearth.github.io/stac-browser](https://radiantearth.github.io/stac-browser). It does does allow a wide variety of filtering capabilities. + +### STAC QGIS plugin + +[QGIS STAC API Browser](https://stac-utils.github.io/qgis-stac-plugin/) provides a simple and user-friendly approach in searching and using STAC API resources in QGIS. It offers a comfortable way to filter and browse the STAC API items and ability to add the STAC API assets as map layers into the QGIS. + +### QGIS MetaSearch Catalog Client + +[MetaSearch](https://docs.qgis.org/3.28/en/docs/user_manual/plugins/core_plugins/plugins_metasearch.html) is a QGIS plugin to interact with metadata catalog services, supporting both the OGC API - Records and OGC Catalog Service for the Web (CSW) standards. + +### OWSLib + +[OWSLib](https://owslib.readthedocs.io/en/latest/) is a Python package for client programming with Open Geospatial Consortium (OGC) web service (hence OWS) interface standards, and their related content models. The OWSLib client offers support for OGC CSW, OGC API - Records and OpenSearch based catalog services. + +### PySTAC client + +The [STAC Python Client (pystac_client)](https://pystac-client.readthedocs.io/en/stable/) is a Python package for working with STAC Catalogs and APIs that conform to the STAC and STAC API specs in a seamless way. PySTAC Client builds upon PySTAC through higher-level functionality and ability to leverage STAC API search endpoints. + +[![Video of STAC visualization in leaflet](assets/stac_leafmap.jpg)](assets/stac_leafmap.mp4) + +> Video produced by Qiusheng Wu (https://github.com/opengeos/leafmap/pull/347#issuecomment-1402560159) + + +### Further Reading +- [STAC tutorials](https://stacspec.org/en/tutorials/) +- [Echoes in space course](https://eo-college.org/courses/echoes-in-space/) + + +### References +- [STAC](https://stacspec.org/en) +- [OWSLib](https://owslib.readthedocs.io/en/latest/) +- [STAC Python Client (pystac_client)](https://pystac-client.readthedocs.io/en/stable/) +- [radiantearth.github.io/stac-browser](https://radiantearth.github.io/stac-browser) +- [OpenSearch specification](https://github.com/dewitt/opensearch) + +## Quiz +Let's test your understanding of data types and where to find them. We will be working with the actual data shortly in the next chapters! + +### STAC +What does the STAC stand for: + + [( )] Spatio and Temporal Asset Certification + [(x)] SpatioTemporal Asset Catalog + [( )] SpatioTemporal Asset Collections + +In which line are only mandatory properties of STAC item? + + [(x)] type, id, assets, properties + [( )] id, assets, collection, stac_version + [( )] type, id, stac_version, stac_extensions + + +### Data Catalogs and Access Protocols + +Which one of the listed data access API's can you use on Copernicus Dataspace? See [list of API's available](https://dataspace.copernicus.eu/analyse/apis) + + [(x)] OData + [(x)] STAC API + [(x)] OGC API + [( )] AstraDataServe + [( )] OrbitQueryHub + + +Use an online catalog browser of [Copernicus Dataspace](https://dataspace.copernicus.eu/browser/) to search for Sentinel 2 L2A products over the island of Sardinia between 1.9.2023 and 30.9.2023 with cloud coverage less than or equal to 20% and get the number of returned products. Use enclosed [geometry file](assets/sardinia.geojson) and upload it to the browser as shown on image below. + +![How to upload geometry](assets/geometry_upload.png "How to upload geometry") + + [( )] 101-200 + [( )] 201-300 + [(x)] 0-100 diff --git a/_sources/2.2_data_properties/2.2_data_properties.md b/_sources/2.2_data_properties/2.2_data_properties.md new file mode 100644 index 0000000..fe4819e --- /dev/null +++ b/_sources/2.2_data_properties/2.2_data_properties.md @@ -0,0 +1,127 @@ +# Data Properties + +## Learning objectives + +- Learn what are metadata and why they are important +- Discover data properties and how to filter by them + +## What are data properties and metadata + +Data properties and metadata are sets of characteristics of geospatial data that serve different purposes. Commonly data properties are seen as attributes describing the image itself whereas, on the other hand, metadata describes the properties of a product. + +**Data Properties:** Data properties refer to the characteristics and attributes of the geospatial data itself. These properties describe the actual content, structure, and values within the dataset. For raster data, properties can include information such as pixel values, cell size, spatial resolution, number of bands, and data format. For vector data, properties may include attributes associated with points, lines, or polygons, such as feature identifiers, names, classifications, or numerical values. Data properties are essential for understanding the data at a fundamental level and are used in the analysis, visualization, and processing tasks. + +**Metadata:** Metadata, on the other hand, provides descriptive information about the data product. It serves as documentation that complements the data properties and offers additional context and details about the data. Metadata describes the origin, and characteristics, and helps with usage of the data, allowing users to discover, evaluate, and effectively utilize the data. It typically includes information such as the data source, acquisition parameters, coordinate reference system, temporal coverage, quality measures, and data access policies. Metadata plays a crucial role in data management, data sharing, and data interoperability by providing the necessary documentation and context for understanding and utilizing the data. + +Both together provide a complete description of the data of our interest itself and how to work with them. Standardized ways how to describe metadata and data properties allow geospatial systems to work with data easily. + +![STAC standardizing Metadata](assets/stac_standartization.jpg "STAC standardizing Metadata") +> Figure: STAC standardizing Metadata. + +## Properties and metadata used for filtering + +In [previous lesson](../2.1_data_discovery/2.1_data_discovery.md) we learned where to find data. Now it is time to look at how we can select only the data we want. Properties and metadata are a great help when we are not interested in the whole collection, but only in certain regions, times or even bands of selected satellite products. + +In (many of) the data catalogs, we can filter by specific values for each satellite. Let's talk more about some of them shortly + +- **Dataset name/identifier:** Filtering directly by name of a product as a unique name or identifier is assigned to the dataset, allowing it to be easily identified and referenced. +- **Time range:** The temporal coverage or specific dates associated with the data acquisition. By this, we can easily select products from the same location with different dates of acquisition. This is particularly relevant for time-series or multi-temporal datasets. +- **Bounding box or other area of interest:** Spatial Extent or the geographic coverage of the raster data, typically defined by the bounding coordinates (longitude and latitude) that encompass the dataset. Usually you can select your own area or interest as a rectangle/geometry or use a map window for taking the current extent +- **Mission:** You can select by satellite used for data acquisition. In the case of Sentinel missions, you can select only Sentinel-1 as an example +- **Processing levels:** Typically you can also select by processing level you are interested in for your missions. Typically Level-0 means unprocessed, raw data, and with higher number represents more corrections were applied. +- **Sensors or instrument:** Selection by the output of a specific sensor or instrument. +- **Cloud coverage/polarization**: Based on a mission, a selection filter can be made by specific parameters. For multi-spectral data such as captured by Sentinel-2, we can typically filter by cloud coverage in percentage. This is used as we are interested in lower cloud coverage percent for analysis. Similarly, specific polarizations can be selected for SAR data such as captured by Sentinel-1. +- **Orbit number:** Typically integer number selects a specific orbit number user is interested in. +- **Orbit direction:** For the majority of data types the selection is either ascending or descending. +- **Availability status/Timeliness:** Some missions have different time availability for their data allowing them to select Near Real-Time acquisitions (approximately 3 hours after acquisition), raw data with a certain delay, or processed data later. It is also common that infrequently accessed data or older data than a certain threshold (years) can only be accessed 'on demand'. Their 'Availability status' is usually set as 'Archived' or similar and they but must be 'tasked to be brought online from archive storage' by the user. This operation usually takes minutes to hours to complete. The user of the platform can later access the catalog again and hopefully the product have been brought online in the meantime. + +In the examples above it also became more clear why a standardized way of expressing the metadata is important. For example, how do you know whether the cloud cover is a percentage expressed in a range from 0 to 1 or from 0 to 100? How would you filter on this property, if both scales would be mixed? + + + + + +[![STAC - A standardized Metadata Description for EO Data](https://img.youtube.com/vi/r2qSTdW-_Wk/0.jpg)](https://www.youtube.com/watch?v=r2qSTdW-_Wk)
+> Video content in collaboration with [Matthias Mohr](https://mohr.ws/) (Major STAC contributor).
+> *"Having metadata in a standardized format makes your data available to others in a simple and unified way. Similarly, you can find and work with the data of others more easily. You can achieve these benefits with STAC."* + +### Metadata and properties which are not typically used for filtering + +Many metadata are contained within the product but are not used for filtering on the platforms or accessing hubs directly. Among these is for example Author of the dataset or Licence. You should be able to get all information about those in data metadata when you are accessing the data itself or on the general page with information. + +Usually it is unfortunatelly not possible to filter by or search by direct data properties, e.g. by values in data. + + +### Dimensions + +Dimensions are important description of data and their properties. More information about dimensions of data and datacubes was covered in the lecture about [Datacubes](../1.2_data_cube/1.2_data_cube.md) + +- x, y and sometimes z - Spatial dimension of data +- temporal/time dimension - capturing the time aspect for time series analysis + +### Value Types (data types) + +Once we have selected data products we are interested in, we can look directly into values to select what we are interested in. Common data types representing measured values are these: + +- bitmask 0/1 +- 8bit 0-255 +- UInt16 - 0-65k +- Int16 - -32k - 32k +- Float32 + + +### Further Reading +- [Standartized data management with STAC](https://space.cloud68.co/s/xExLwCmzzKEcoB9?dir=undefined&path=%2FLumbardhi%2F28.06.2023&openfile=1351852) +- [STAC sessions from FOSS4G 2023](https://space.cloud68.co/s/xExLwCmzzKEcoB9?dir=undefined&path=%2FLumbardhi%2F28.06.2023&openfile=1351852) + +### References + +## Quiz + +Which of the following is not considered as Data Metadata + + [( )] Instrument + [( )] Licence + [(x)] Values from sensors + +Which of the following is not considered as Data Properties + + [(x)] Licence + [( )] Pixel values + [( )] Number of bands + +Which of these properties and metadata are commonly used for filtering when searching data? + + [(x)] Bounding Box + [( )] E-Mail Adress + [(x)] Time Range + [(x)] Sensor + [( )] Telephone Number + [(x)] Cloud Coverage + +Which statements about the advantage of filtering data by metadata and properties are true? + + [( )] All images are considered for subsequent analysis. + [(x)] Only images that are relevant are considered for subsequent analysis. + [(x)] The amount of data is reduced before starting the actual analysis. + + +**Removed until exercise is accessible:** Is the same number of products findable on all plafforms and in all ways? +In the last chapter, there was exercise about finding Sentinel 2 L2A products over the island of Sardinia between 1.9.2023 and 30.9.2023 with cloud coverage less than or equal to 20% on Copernicus Dataspace via Web Browser. Correct answer was 59. Is the same number returned by programatically accessing catalog with code? + + [(x)] Yes + [( )] No + +**Removed until exercise is accessible:** Following the exercise with gdalinfo, answer following questions about the raster used there: + +What is the NODATA value? + + [[0]] + +**Removed until exercise is accessible:** What are the coordinates of upper left corner in degrees? + + [[72d52'14.58"E, 32d31' 9.58"N]] + +**Removed until exercise is accessible:** What is the EPSG code of the raster? + + [[4326]] diff --git a/_sources/2.3_data_access/2.3_data_access.md b/_sources/2.3_data_access/2.3_data_access.md new file mode 100644 index 0000000..20223ef --- /dev/null +++ b/_sources/2.3_data_access/2.3_data_access.md @@ -0,0 +1,252 @@ +# Access EO Data from the Cloud + +Using a cloud provider for accessing data, and in this specific scenario Earth Observation data, could improve your productivity a lot. To get the most out of it, we will provide you some important insights. + +## Learning objectives + +- In this lecture you will learn the usage and peculiarities of the main data operators commonly available on cloud platforms like: + - Data loading + - Filter + - Apply + - Reduce + - Resample + - Aggregate +- Finally, you will be able to create a simple workflow with openEO. + +The exercise will use the openEO Python Client Side Processing functionality, which allows to experiment using openEO without a connection to an openEO back-end. + +## Raster Data Loading + +In openEO, your process graph will always start with defining the data you want to load, which can be done mainly using the following processes: + +1. `load_collection`: loads a collection from the current back-end by its id and returns it as a processable data cube. The data that is added to the data cube can be restricted with the parameters spatial_extent, temporal_extent, bands and properties. +2. `load_stac`: loads data from a static STAC catalog or a STAC API Collection and returns the data as a processable data cube. A batch job result can be loaded by providing a reference to it. If supported by the underlying metadata and file format, the data that is added to the data cube can be restricted with the parameters spatial_extent, temporal_extent and bands. + +[Exercise 2.3 Data Access Lazy Loading](https://github.com/EO-College/cubes-and-clouds/blob/main/lectures/2.3_data_access/exercises/23_data_access_lazy_loading.ipynb) + +### References + +- [openEO Python Client Processing documentation](https://open-eo.github.io/openeo-python-client/cookbook/localprocessing.html) +- [load_collection process definition](https://processes.openeo.org/#load_collection) +- [load_stac process definition](https://processes.openeo.org/#load_stac) + +## Processes on Datacubes + +In the following part, the basic processes for manipulating datacubes are introduced. + +### Filter + +When filtering data (e.g. [`filter_spatial`](https://processes.openeo.org/#filter_spatial), [`filter_temporal`](https://processes.openeo.org/#filter_temporal), [`filter_bands`](https://processes.openeo.org/#filter_bands)), only the data that satisfies a condition is returned. For example, this condition could be a timestamp or interval, (a set of) coordinates, or specific bands. By applying filtering the datacube becomes smaller, according to the selected data. + +> :warning: Simplified +`filter([🌽, 🥔, 🐷], isVegetarian) => [🌽, 🥔]` +> + +In the image, the example datacube can be seen at the top with labeled dimensions. The filtering techniques are displayed separately below. On the left, the datacube is filtered temporally with the interval `["2020-10-15", "2020-10-27"]`. The result is a cube with only the rasters for the timestep that lies within that interval (`"2020-10-25"`) and unchanged bands and spatial dimensions. Likewise, the original cube is filtered for a specific band `["nir"]` in the middle and a specific spatial region `[Polygon(...)]` on the right. + +![assets/dc_filter.png](assets/dc_filter.png "Datacube filtering: From the datacube 4 by 3 grid, arrows depict what happens if the grid is filtered. Temporal filtering results in data for one timestep with all four bands, filtering bands results in data with one band with all three timesteps, and spatial filtering results in all timesteps and bands being preserved, but all with a smaller area.") + +> Figure: Datacube filtering: From the datacube 4 by 3 grid, arrows depict what happens if the grid is filtered. Temporal filtering results in data for one timestep with all four bands, filtering bands results in data with one band with all three timesteps, and spatial filtering results in all timesteps and bands being preserved, but all with a smaller area. Reference: [openeo.org (2022). Processes on Datacubes.](https://openeo.org/documentation/1.0/datacubes.html#processes-on-datacubes) + +[Exercise 2.3 Data Access Filter](https://github.com/EO-College/cubes-and-clouds/blob/main/lectures/2.3_data_access/exercises/23_data_access_filter.ipynb) + +### Apply + +The `apply*` functions (e.g. [`apply`](https://processes.openeo.org/#apply), [`apply_neighborhood`](https://processes.openeo.org/#apply_neighborhood), [`apply_dimension`](https://processes.openeo.org/#apply_dimension)) employ a process on the datacube that calculates new pixel values for each pixel, based on `n` other pixels. Please note that several programming languages use the name `map` instead of `apply`, but they describe the same type of function. + +> :warning: Simplified +`apply([🌽, 🥔, 🐷], cook) => [🍿, 🍟, 🍖]` +> + +For the case `n = 1` this is called a unary function and means that only the pixel itself is considered when calculating the new pixel value. A prominent example is the `absolute()` function, calculating the absolute value of the input pixel value. + +![./assets/dc_apply_unary.png](./assets/dc_apply_unary.png "Datacube apply unary: 3 example tiles hold values below and above 0. after applying the process 'absolute', all values in the three example tiles have changed to their absolute values above 0.") + +> Figure: Datacube apply unary: 3 example tiles hold values below and above 0. after applying the process 'absolute', all values in the three example tiles have changed to their absolute values above 0. Reference: [openeo.org (2022). Processes on Datacubes.](https://openeo.org/documentation/1.0/datacubes.html#processes-on-datacubes) + + +If `n` is larger than 1, the function is called n-ary. In practice, this means that the pixel neighbourhood is taken into account to calculate the new pixel value. Such neighbourhoods can be of spatial and/or temporal nature. A spatial function works on a kernel that weights the surrounding pixels (e.g. smoothing values with nearby observations), a temporal function works on a time series at a certain pixel location (e.g. smoothing values over time). Combinations of types to n-dimensional neighbourhoods are also possible. + +In the example below, an example weighted kernel (shown in the middle) is applied to the cube (via [`apply_kernel`](https://processes.openeo.org/#apply_kernel)). To avoid edge effects (affecting pixels on the edge of the image with less neighbours), a padding has been added in the background. + +![./assets/dc_apply_kernel.png](./assets/dc_apply_kernel.png "Datacube apply spatial kernel: Three example tiles hold some values with a lot of variance. A spatial kernel (a cell plus it's 4 direct neighbours) is applied to all pixels, and the result appears to be spatially smoothed, with less variance.") + +> Figure: Datacube apply spatial kernel: Three example tiles hold some values with a lot of variance. A spatial kernel (a cell plus it's 4 direct neighbours) is applied to all pixels, and the result appears to be spatially smoothed, with less variance. Reference: [openeo.org (2022). Processes on Datacubes.](https://openeo.org/documentation/1.0/datacubes.html#processes-on-datacubes) + +Of course this also works for temporal neighbourhoods (timeseries), considering neighbours before and after a pixel. To be able to show the effect, two timesteps were added in this example figure. A moving average of window size 3 is then applied, meaning that for each pixel the average is calculated out of the previous, the next, and the timestep in question (tn-1, tn and tn+1). No padding was added which is why we observe edge effects (NA values are returned for t1 and t5, because their temporal neighbourhood is missing input timesteps). + +![./assets/dc_apply_ts.png](./assets/dc_apply_ts.png "Datacube apply temporal moving average: Smoothing is applied to 5 example tiles by calculating the mean of 3 timesteps of every single pixel. The resulting tiles for the timestamps look much more alike.") + +> Figure: Datacube apply temporal moving average: Smoothing is applied to 5 example tiles by calculating the mean of 3 timesteps of every single pixel. The resulting tiles for the timestamps look much more alike. Reference: [openeo.org (2022). Processes on Datacubes.](https://openeo.org/documentation/1.0/datacubes.html#processes-on-datacubes) + +Alternatively, a process can also be applied along a dimension of the datacube, meaning the input is no longer a neighbourhood of some sort but all pixels along that dimension (`n` equals the complete dimension). If a process is applied along the `time` dimension (e.g. a breakpoint detection), the complete pixel timeseries are the input. If a process is applied along the `spatial` dimensions (e.g. a `mean`), all pixels of an image are the input. The process is then applied to all pixels along that dimension and the dimension continues to exist. This is in contrast to [reduce](#reduce), which drops the specified dimension of the data cube. In the image below, a `mean` is applied to the `time` dimension. An example pixel timeseries is highlighted by a green line and processed step-by-step. + +![./assets/dc_apply_dim_ts.png](./assets/dc_apply_dim_ts.png "Datacube apply dimension time: The mean of all 5 timesteps is calculated for every single pixel. The resulting 5 tiles look exaclty the same, as they have been averaged.") + +> Figure: Datacube apply dimension time: The mean of all 5 timesteps is calculated for every single pixel. The resulting 5 tiles look exaclty the same, as they have been averaged. Reference: [openeo.org (2022). Processes on Datacubes.](https://openeo.org/documentation/1.0/datacubes.html#processes-on-datacubes) + +[Exercise 2.3 Data Access Apply](https://github.com/EO-College/cubes-and-clouds/blob/main/lectures/2.3_data_access/exercises/23_data_access_apply.ipynb) + +### Reduce + +The [`reduce_dimension`](https://processes.openeo.org/#reduce_dimension) process _collapses_ a whole dimension of the datacube. It does so by using some sort of **reducer**, which is a function that calculates a single result from an amount of values, as e.g. `mean()`, `min()` and `max()` are. For example we can reduce the time dimension (`t`) of a timeseries by calculating the mean value of all timesteps for each pixel. We are left with a cube that has no time dimension, because all values of that dimension are compressed into a single mean value. The same goes for e.g. the spatial dimensions: If we calculate the mean along the `x` and `y` dimensions, we are left without any spatial dimensions, but a mean value for each instance that previously was a raster is returned. In the image below, the dimensions that are reduced are crossed out in the result. + +> :warning: Simplified +`reduce([🥬, 🥒, 🍅, 🧅], prepare) => 🥗` +> + +Think of it as a waste press that does math instead of using brute force. Given a representation of our example datacube, let's see how it is affected. + +![./assets/dc_reduce.png](./assets/dc_reduce.png "Datacube reduce: Three arrows depict what happens to the 12 example tiles, if they are reduced: Reducing timesteps leads to four tiles (one for each band), and the time dimension is deleted. Reducing bands lead to one tile per timestep, and the bands dimension is deleted. Reducing spatially leads to the original 4 by 3 bands by time layout, but the result has no spatial dimension and thus, the tiles have been turned into single values, per tile.") + +> Figure: Datacube reduce: Three arrows depict what happens to the 12 example tiles, if they are reduced: Reducing timesteps leads to four tiles (one for each band), and the time dimension is deleted. Reducing bands lead to one tile per timestep, and the bands dimension is deleted. Reducing spatially leads to the original 4 by 3 bands by time layout, but the result has no spatial dimension and thus, the tiles have been turned into single values, per tile. Reference: [openeo.org (2022). Processes on Datacubes.](https://openeo.org/documentation/1.0/datacubes.html#processes-on-datacubes) + +[Exercise 2.3 Data Access Reduce](https://github.com/EO-College/cubes-and-clouds/blob/main/lectures/2.3_data_access/exercises/23_data_access_reduce.ipynb) + +### Resample + +In a resampling processes (e.g. [`resample_cube_spatial`](https://processes.openeo.org/#resample_cube_spatial), [`resample_cube_temporal`](https://processes.openeo.org/#resample_cube_temporal)), the _layout_ of a certain dimension is changed into another _layout_, most likely also changing the resolution of that dimension. This is done by mapping values of the source (old) datacube to the new layout of the target (new) datacube. During that process, resolutions can be _upscaled_ or _downscaled_ (also called _upsampling_ and _downsampling_), depending on whether they have a finer or a coarser spacing afterwards. A function is then needed to translate the existing data into the new resolution. A prominent example is to reproject a datacube into the coordinate reference system of another datacube, for example in order to merge the two cubes. + +> :warning: Simplified +`resample(🖼️, downscale) => 🟦` + +`resample(🌍, reproject) => 🗺️` +> + +The first figure gives an overview of temporal resampling. How exactly the input timesteps are rescaled to the output timesteps depends on the resampling function. + +![./assets/dc_resample_time.png](./assets/dc_resample_time.png "Datacube temporal resampling (up and down): Downsampling: To a timeline-representation of the example tiles, another timeline with only 2 steps at different dates is applied. The result has tiles only at those new timesteps. In Upsampling, the existing 3 timesteps are sampled into 5 result timesteps.") + +> Figure: Datacube temporal resampling (up and down): Downsampling: To a timeline-representation of the example tiles, another timeline with only 2 steps at different dates is applied. The result has tiles only at those new timesteps. In Upsampling, the existing 3 timesteps are sampled into 5 result timesteps. Reference: [openeo.org (2022). Processes on Datacubes.](https://openeo.org/documentation/1.0/datacubes.html#processes-on-datacubes) + +The second figure displays spatial resampling. Observe how in the upsampling process, the output datacube has not gained in information value. The resulting grid still carries the same pixel information, but in higher spatial resolution. Other upsampling methods may yield smoother results, e.g. by using interpolation. + +![./assets/dc_resample_space.png](./assets/dc_resample_space.png "Datacube spatial resampling (up and down): Downsampling: The resulting tiles have a lower spatial resolution than the input tiles. Upsampling: The resulting tiles have a higher spatial resolution than the input tiles, but contain the same image than before (no information added).") + +> Figure: Datacube spatial resampling (up and down): Downsampling: The resulting tiles have a lower spatial resolution than the input tiles. Upsampling: The resulting tiles have a higher spatial resolution than the input tiles, but contain the same image than before (no information added). Reference: [openeo.org (2022). Processes on Datacubes.](https://openeo.org/documentation/1.0/datacubes.html#processes-on-datacubes) + +[Exercise 2.3 Data Access Resample](https://github.com/EO-College/cubes-and-clouds/blob/main/lectures/2.3_data_access/exercises/23_data_access_resample.ipynb) + +### Aggregate + +An aggregation of a datacube can be thought of as a grouped reduce. That means it consists of two steps: + +1. Grouping via a grouping variable, i.e. spatial geometries or temporal intervals +2. Reducing these groups along the grouped dimension with a certain reducer function, e.g. calculating the mean pixel value per polygon or the maximum pixel values per month + +While the layout of the reduced dimension is changed, other dimensions keep their resolution and geometry. But in contrast to pure `reduce`, the dimensions along which the reducer function is applied still exist after the operation. + +> :warning: Simplified +`aggregate(👪 👩‍👦 👨‍👩‍👦‍👦, countFamilyMembers) => [3️⃣, 2️⃣, 4️⃣]` +> + +A temporal aggregation (e.g. [`aggregate_temporal`](https://processes.openeo.org/#aggregate_temporal)) is similar to the downsampling process, as it can be seen in the according image above. Intervals for grouping can either be set manually, or periods can be chosen: monthly, yearly, etc. All timesteps in an interval are then collapsed via a reducer function (`mean`, `max`, etc.) and assigned to the given new labels. + +A spatial aggregation (e.g. [`aggregate_spatial`](https://processes.openeo.org/#aggregate_spatial)) works in a similar manner. Polygons, lines and points can be selected for grouping. Their spatial dimension is then reduced by a given process and thus, a vector cube is returned. The vector cube then has dimensions containing features, attributes and time. In the graphic below, the grouping is only shown for the first timestep. + +![./assets/dc_aggregate_space.png](./assets/dc_aggregate_space.png "Datacube spatial aggregation: A line and a polygon are selected from the original example tiles. The pixels covered by these geometries are aggregated and the result consists no longer of imagery tiles but of an array with values for 2 geometries by 4 bands by 3 timesteps.") + +> Figure: Datacube spatial aggregation: A line and a polygon are selected from the original example tiles. The pixels covered by these geometries are aggregated and the result consists no longer of imagery tiles but of an array with values for 2 geometries by 4 bands by 3 timesteps. Reference: [openeo.org (2022). Processes on Datacubes.](https://openeo.org/documentation/1.0/datacubes.html#processes-on-datacubes) + +[Exercise 2.3 Data Access Aggregate](https://github.com/EO-College/cubes-and-clouds/blob/main/lectures/2.3_data_access/exercises/23_data_access_aggregate.ipynb) + +### Recap Processes +Here are some exercises to recap the different processes that can be used on a data cube. + +
+ + + +
+ + + +
+ + + +### References +- [openeo.org (2022). Processes on Datacubes.](https://openeo.org/documentation/1.0/datacubes.html#processes-on-datacubes) + +## openEO - A standardized API for EO cloud processing + +### The need for a standarized API in EO cloud processing + +Earth Observation data are becoming too large to be downloaded locally for analysis. Also, the way they are organised (as tiles, or granules: files containing the imagery for a small part of the Earth and a single observation date) makes it unnecessary complicated to analyse them. The solution to this is to store these data in the cloud, on compute back-ends, process them there, and browse the results or download resulting figures or numbers. But how do we do that? openEO develops an open application programming interface (API) that connects clients like R, Python and JavaScript to big Earth observation cloud back-ends in a simple and unified way. +With such an API, + +- each client can work with every back-end, and +- it becomes possible to compare back-ends in terms of capacity, cost, and results (validation, reproducibility) + +### What does openEO stand for? + +The acronym openEO contracts two concepts: + +open: used here in the context of open source software; open source software is available in source code form, and can be freely modified and redistributed; the openEO project will create open source software, reusable under a liberal open source license (Apache 2.0) +EO: Earth observation +Jointly, the openEO targets the processing and analysis of Earth observation data. The main objectives of the project are the following concepts: + +- Simplicity: nowadays, many end-users use Python or R to analyse data and JavaScript to develop web applications; analysing large amounts of EO imagery should be equally simple, and seamlessly integrate with existing workflows +- Unification: current EO cloud back-ends all have a different API (opens new window), making EO data analysis hard to validate and reproduce and back-ends difficult to compare in terms of capability and costs, or to combine them in a joint analysis across back-ends. A unified API can resolve many of these problems. + +### Why an API? + +An API is an application programming interface. It defines a language that two computers (a client and a server) use to communicate. +The following figure shows how many interfaces are needed to be able to compare back-ends from different clients, without an openEO API. And if you use the slider you will see how the situation becomes much clearer with a standardized API. + + + + +[![openEO - A standardized API for EO cloud processing](https://img.youtube.com/vi/iBRL3yVmA2M/0.jpg)](https://youtu.be/iBRL3yVmA2M)
+> Video content in collaboration with [Edzer Pebesma](https://www.uni-muenster.de/Geoinformatics/institute/staff/index.php/119/edzer_pebesma) (University of Münster).
+> *"For analysing Earth Observation data, don't use a platform that locks you in."* + +### References +- [openeo.org - About OpenEO](https://openeo.org/about.html#openeo) +- [Edzer Pebesma, Wolfgang Wagner, Jan Verbesselt, Erwin Goor, Christian Briese, Markus Neteler (2016). OpenEO: a GDAL for Earth Observation Analytics. https://r-spatial.org/2016/11/29/openeo.html](https://r-spatial.org/2016/11/29/openeo.html) +- [openeo.org - Project Deliverable 22](https://github.com/Open-EO/openeo-D22/tree/master) + +# Quiz + +Loading: What is the difference between using an openEO remote back-end and openEO Python Client-Side-Processing? Tick what is correct. *Answer in exercise: 23_data_access_lazy_loading.ipynb* + + [[ ]] You need an account to authenticate in both cases + [[x]] You don't need an account with Client-Side Processing + [[x]] Client-side processing does not interact with an openEO back-end + +Loading: What are the dimension names of the loaded datacube? *Answer in exercise: 23_data_access_lazy_loading.ipynb* + + [( )] northing, easting, time, spectral + [( )] lat, lon, t, bands + [(x)] time, band, y, x + +Filtering: How many time steps are left after filtering temporally 2022-05-10, 2022-06-30? *Answer in exercise: 23_data_access_filter.ipynb* + + [( )] 11 + [(x)] 9 + [( )] 32 + +Filtering: How many pixels are left along `y` after using `filter_bbox` with `spatial_extent = {"west": 11.259613, "east": 11.406212, "south": 46.461019, "north": 46.522237}` +? *Answer in exercise: 23_data_access_filter.ipynb* + + [( )] 1006 + [( )] 1145 + [(x)] 489 + +Reducing Dimension: What would be a use case for reducing the time dimension? Tick what is correct. + + [[ ]] Get a full time series graph + [[x]] Getting a cloudfree image for a certain time range + [[x]] Get information about a whole sesaon + [[ ]] Filling gaps in a time series + +Reducing Bands: How many pixels are left in the datacube after we use `reduce_dimension` over band? *Answer in exercise: 23_data_access_reduce.ipynb* + + [[21226010]] + +Reducing Dimension: What are the dimension names after running `reduce_spatial`? *Answer in exercise: 23_data_access_reduce.ipynb* + + [( )] x, y, band + [( )] time, x, y + [(x)] time, band diff --git a/_sources/2.3_data_access/exercises/23_data_access_aggregate.ipynb b/_sources/2.3_data_access/exercises/23_data_access_aggregate.ipynb new file mode 100644 index 0000000..5ccaa6e --- /dev/null +++ b/_sources/2.3_data_access/exercises/23_data_access_aggregate.ipynb @@ -0,0 +1,149 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "5f4a0cab-e26e-4942-96ee-78de70890ad9", + "metadata": {}, + "source": [ + "\"Cubes" + ] + }, + { + "cell_type": "markdown", + "id": "43f2c4b3-88f7-4ebf-8248-a72728d14012", + "metadata": {}, + "source": [ + "# 2.3 Data Access and Basic Processing\n", + "\n", + "## Aggregate Operators" + ] + }, + { + "cell_type": "markdown", + "id": "5691278c-4d66-4ee2-8592-75431cbff3c7", + "metadata": {}, + "source": [ + "### `aggregate_temporal_period`: temporal aggregation with predefined intervals" + ] + }, + { + "cell_type": "markdown", + "id": "40dbc4e1-929a-4256-9e62-605d5a424fca", + "metadata": {}, + "source": [ + "Start importing the necessary libraries and initialize a local connection for Client-Side Processing." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "4eca5284-2873-4b5c-9505-d67545fdec05", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "import openeo\n", + "from openeo.local import LocalConnection\n", + "local_conn = LocalConnection('')" + ] + }, + { + "cell_type": "markdown", + "id": "0420def5-ebd5-446e-a6d0-799e3534e5d2", + "metadata": {}, + "source": [ + "Create the starting Sentinel-2 datacube:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "053869f1-540f-48c1-b3ab-113d5be08bc6", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "url = \"https://earth-search.aws.element84.com/v1/collections/sentinel-2-l2a\"\n", + "\n", + "spatial_extent = {\"west\": 11.4, \"east\": 11.42, \"south\": 45.5, \"north\": 45.52}\n", + "temporal_extent = [\"2022-01-01\", \"2022-12-31\"]\n", + "bands = [\"red\",\"green\",\"blue\"]\n", + "\n", + "s2_cube = local_conn.load_stac(url=url,\n", + " spatial_extent=spatial_extent,\n", + " temporal_extent=temporal_extent,\n", + " bands=bands\n", + ")\n", + "s2_cube.execute()" + ] + }, + { + "cell_type": "markdown", + "id": "49a04782-d412-4229-aa4b-d8e0283d5feb", + "metadata": {}, + "source": [ + "We might be interested in aggregating our data over periods like week, month, year etc., defining what operation to use to combine the data available in the chosen period.\n", + "\n", + "Using `aggregate_temporal_period` we can achieve this easily:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "b652338d-5f31-4d33-9d46-b7ea76f1d23d", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "s2_monthly_min = s2_cube.aggregate_temporal_period(period=\"month\",reducer=\"min\")\n", + "s2_monthly_min" + ] + }, + { + "cell_type": "markdown", + "id": "420f8621-fb50-4fc1-89a2-4dfc7ac0beea", + "metadata": {}, + "source": [ + "Check what happens to the datacube inspecting the resulting xArray object. Now the `time` dimension has 12 labels, one for each month." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f38e5288-7b95-4693-a912-b51c31a60e16", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "s2_monthly_min.execute()" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.12" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/_sources/2.3_data_access/exercises/23_data_access_apply.ipynb b/_sources/2.3_data_access/exercises/23_data_access_apply.ipynb new file mode 100644 index 0000000..1d6ba29 --- /dev/null +++ b/_sources/2.3_data_access/exercises/23_data_access_apply.ipynb @@ -0,0 +1,803 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "5f4a0cab-e26e-4942-96ee-78de70890ad9", + "metadata": {}, + "source": [ + "\"Cubes" + ] + }, + { + "cell_type": "markdown", + "id": "43f2c4b3-88f7-4ebf-8248-a72728d14012", + "metadata": {}, + "source": [ + "# 2.3 Data Access and Basic Processing\n", + "\n", + "## Apply Operator\n", + "\n", + "The apply operator employ a process on the datacube that calculates new pixel values for each pixel, based on n other pixels.\n", + "\n", + "Let's start again with the same sample data from the Sentinel-2 STAC Collection, applying the filters directly in the `load_stac` call, to reduce the amount of data." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "b5c18492-e3c7-4a05-a5b6-6c606b8253c1", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Did not load machine learning processes due to missing dependencies: Install them like this: `pip install openeo-processes-dask[implementations, ml]`\n", + "/home/749c4c89-469c-4d4a-9ce4-9feffea0504a/.local/lib/python3.11/site-packages/stackstac/prepare.py:408: UserWarning: The argument 'infer_datetime_format' is deprecated and will be removed in a future version. A strict version of it is now the default, see https://pandas.pydata.org/pdeps/0004-consistent-to-datetime-parsing.html. You can safely remove this argument.\n", + " times = pd.to_datetime(\n", + "/home/749c4c89-469c-4d4a-9ce4-9feffea0504a/.local/lib/python3.11/site-packages/stackstac/prepare.py:408: UserWarning: The argument 'infer_datetime_format' is deprecated and will be removed in a future version. A strict version of it is now the default, see https://pandas.pydata.org/pdeps/0004-consistent-to-datetime-parsing.html. You can safely remove this argument.\n", + " times = pd.to_datetime(\n" + ] + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "
<xarray.DataArray 'stackstac-b814a604da3396a4e43965fd3693671a' (time: 1,\n",
+       "                                                                band: 3,\n",
+       "                                                                y: 713, x: 1145)>\n",
+       "dask.array<getitem, shape=(1, 3, 713, 1145), dtype=float64, chunksize=(1, 1, 606, 860), chunktype=numpy.ndarray>\n",
+       "Coordinates: (12/54)\n",
+       "  * time                                     (time) datetime64[ns] 2022-07-12...\n",
+       "    id                                       (time) <U24 'S2B_32TPS_20220712_...\n",
+       "  * band                                     (band) <U5 'red' 'green' 'blue'\n",
+       "  * x                                        (x) float64 6.733e+05 ... 6.848e+05\n",
+       "  * y                                        (y) float64 5.155e+06 ... 5.148e+06\n",
+       "    instruments                              <U3 'msi'\n",
+       "    ...                                       ...\n",
+       "    proj:shape                               object {10980}\n",
+       "    gsd                                      int64 10\n",
+       "    common_name                              (band) <U5 'red' 'green' 'blue'\n",
+       "    center_wavelength                        (band) float64 0.665 0.56 0.49\n",
+       "    full_width_half_max                      (band) float64 0.038 0.045 0.098\n",
+       "    epsg                                     int64 32632\n",
+       "Attributes:\n",
+       "    spec:        RasterSpec(epsg=32632, bounds=(600000.0, 5090220.0, 709800.0...\n",
+       "    crs:         epsg:32632\n",
+       "    transform:   | 10.00, 0.00, 600000.00|\\n| 0.00,-10.00, 5200020.00|\\n| 0.0...\n",
+       "    resolution:  10.0
" + ], + "text/plain": [ + "\n", + "dask.array\n", + "Coordinates: (12/54)\n", + " * time (time) datetime64[ns] 2022-07-12...\n", + " id (time) " + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkkAAAHUCAYAAAAukLw0AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8g+/7EAAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOz9d7gsV3WgD7+7cseTb9JNykJCARAIAbYIBjNkMMYEP2Yw2B4bY5ifzYyzxQwggjHYHsbYBAkZbLBsC4MtgzCSgI8wFkGAhISEhKSrq5tO7lxpf3/sqk6nu093n9Tn3Hqfp6V7qqurdtVOa6+19lpCSilJSEhISEhISEhoQdvqAiQkJCQkJCQkjCKJkJSQkJCQkJCQ0IFESEpISEhISEhI6EAiJCUkJCQkJCQkdCARkhISEhISEhISOpAISQkJCQkJCQkJHUiEpISEhISEhISEDiRCUkJCQkJCQkJCBxIhKSEhISEhISGhA4mQNMJ8/etf5+qrr2ZxcXHFd09/+tN5+tOfvull2gzuvfdefud3focnPOEJjI+PMzk5yVOf+lT+8R//seP5J0+e5L/+1//K9PQ06XSaK6+8ki996Ust5ywvL/OOd7yDpz/96ezZs4dsNsvFF1/Mu9/9bqrVasu53/72t3njG9/IxRdfTC6XY/fu3fzMz/wMt9xyy0DP0U+5HnzwQYQQXT/Pfe5z+7rXBz7wAV72spdx5plnIoTo2jb++Z//mVe96lWcc845pFIpDh8+zGte8xruu++++jlXX311zzLFn/ged911F7/xG7/BlVdeSSaTQQjBbbfd1rWsn/rUp7jssstwHId9+/bxlre8hWKx2NdzDnKv5eVl/uAP/oDzzjuPdDrNGWecwc///M9z11139XUvgAceeICXvexljI+Pk81mefazn813vvOdFee94Q1v4LGPfSzj4+OkUinOO+883vrWtzI7O7vqPa677rqe7/ld73pX19/+4R/+IUIIHvvYx7YcH7RdeZ7H2972Ng4fPoxt21xwwQX85V/+5ZreCaytrjvR77gXP/9111039L2G4ciRI/zGb/wG5513HqlUisnJSS6++GJ+5Vd+hSNHjtTP66cfxhw+fLil7hzH4ZxzzuH/+//+v77aVzOlUolXvvKVnH/++eRyOTKZDBdddBFvf/vbKZVKLeduxFixLZEJI8t73/teCcif/OQnK76766675F133bX5hdoE/vIv/1JecMEF8h3veIe8+eab5U033SRf+9rXSkC+7W1vazm3Wq3Kxz72sXL//v3yE5/4hLz55pvli1/8YmkYhrztttvq5/3gBz+Q09PT8r//9/8u/+Vf/kV+6UtfkldffbV0HEc+61nPkmEY1s/97d/+bXn55ZfLP/uzP5Nf+tKX5Gc/+1n5vOc9TwLy4x//eF/P0G+5qtWq/MY3vrHi8z//5/+UgPzQhz7U1/3OP/98+fjHP17+8i//spyZmZFXXXVVx/Oe9KQnyRe96EXyYx/7mLztttvk3/7t38rHPOYxMpvNyjvvvFNKKeWRI0dayvLP//zPEpBvetObWo7H7e+6666Te/fulc973vPkC1/4QgnIW2+9teP9P/GJT0hAvuENb5C33HKL/NCHPiTHxsbks5/97L6ec5B7/fRP/7RMp9PyPe95j7zlllvk9ddfL8855xyZy+Xkgw8+uOq9Tp48Kfft2ycvuugi+U//9E/y3/7t3+TTnvY0mcvl5D333NNy7itf+Ur553/+5/Lf/u3f5Je+9CX57ne/W+bzeXnhhRfKWq226n06tYFnP/vZElhxr5jvfve70rZtuXv3bnnRRRe1fDdou3rDG94gbduW73nPe+Stt94qf/d3f1cKIeQ73vGOod/JWuu6E/2Oez/5yU8kIK+99tqh7zUoR44ckdPT0/Kcc86Rf/VXfyVvueUWeeONN8p3vOMd8tJLL23p9/30w5hDhw7Jpz71qfU6vOWWW+R73vMemU6n5ROe8ISByriwsCBf8YpXyA996EPyC1/4gvziF78o/+iP/kiapimf9axntZy7EWPFdiQRkkaYXkLSTubUqVMtQkvM85//fJlOp2W1Wq0f++AHPygB+fWvf71+zPM8eeGFF8onPelJ9WPFYlEWi8UV14zf8Ve/+tX6sRMnTqw4z/d9eckll8izzz67r2fot1zdePrTny7T6bRcWlrq635BENT/fdFFF3UVkjo929GjR6VpmvL1r399x9/EE8573/veVe99ww03dBVcfN+Xe/fulc95znNajn/yk5+UgLzppps6Xn+Ye913330SkH/4h3/YcvzrX/+6BOSf/dmfrXqvt771rdI0zRaBamlpSU5PT8tXvOIVq/7+//7f/ysB+aUvfWnVc9spFosym83Kpz3taR2/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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "data = datacube.execute()\n", + "data[0].plot.imshow()" + ] + }, + { + "cell_type": "markdown", + "id": "6097dca4-5ada-4ea1-bb8c-9a853f3fa2e8", + "metadata": {}, + "source": [ + "### Apply an arithmetic formula" + ] + }, + { + "cell_type": "markdown", + "id": "8c56a01b-795b-4b3e-99e2-93622302d955", + "metadata": {}, + "source": [ + "We would like to improve the previous visualization, rescaling all the pixels between 0 and 1.\n", + "\n", + "We can use `apply` in combination with other `math` processes." + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "9d71f32a-4f58-4709-96ad-ebea3c248539", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + " \n", + " \n", + " \n", + " \n", + " " + ], + "text/plain": [ + "" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from openeo.processes import linear_scale_range\n", + "input_min = -0.1\n", + "input_max = 0.2\n", + "output_min = 0\n", + "output_max = 1\n", + "\n", + "def rescale(x):\n", + " return linear_scale_range(x,input_min,input_max,output_min,output_max)\n", + "\n", + "scaled_data = datacube.apply(rescale)\n", + "scaled_data" + ] + }, + { + "cell_type": "markdown", + "id": "179b0c31-97ce-47d7-9a87-16fc7d2bd544", + "metadata": {}, + "source": [ + "Visualize the result and see how `apply` scaled the data resulting in a more meaningful visualization:" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "6ec03fc3-83c1-48b4-9e08-37e5665215cd", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/home/749c4c89-469c-4d4a-9ce4-9feffea0504a/.local/lib/python3.11/site-packages/stackstac/prepare.py:408: UserWarning: The argument 'infer_datetime_format' is deprecated and will be removed in a future version. A strict version of it is now the default, see https://pandas.pydata.org/pdeps/0004-consistent-to-datetime-parsing.html. You can safely remove this argument.\n", + " times = pd.to_datetime(\n" + ] + }, + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkkAAAHUCAYAAAAukLw0AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8g+/7EAAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOy9d9QmR3Wg/1To9OYvTU6SRqNRQkIiRwEmLJhowMLws42RzbGxwV6Mwy4Y2CVjgu31GmxAEgYvIGwJY8sgjCRghTCyBAJlaUaT58vhTZ0q/P7omVmGGUkjieTd9znnO2emut6uqu7qqlv33rolvPeeESNGjBgxYsSIEUchf9oVGDFixIgRI0aM+FlkJCSNGDFixIgRI0Ych5GQNGLEiBEjRowYcRxGQtKIESNGjBgxYsRxGAlJI0aMGDFixIgRx2EkJI0YMWLEiBEjRhyHkZA0YsSIESNGjBhxHEZC0ogRI0aMGDFixHEYCUkjRowYMWLEiBHHYSQk/QzzzW9+k7e97W0sLy8fc+2CCy7gggsu+InX6SfBXXfdxe///u9z/vnn0+l0GB8f54lPfCKf//znj5t/dnaWX/3VX2VycpJarcbjH/94vvrVrx6Vp9vt8s53vpMLLriANWvW0Gg0OPvss3nve99LlmVH5b3xxht53etex9lnn02z2WT16tX83M/9HFdfffWDaseJ1GvXrl0IIe7z7znPec4JlfXhD3+Yl7zkJZx00kkIIe6zb/zDP/wDr3jFK9i6dStJkrBlyxZe+cpXcvfddx/J87a3ve1+63T473AZt956K7/1W7/F4x//eOr1OkIIrr322vus62c+8xnOPfdc4jhm3bp1/O7v/i79fv+E2vlgyup2u/zX//pf2bZtG7VajfXr1/Oyl72MW2+99YTKAti5cycveclL6HQ6NBoNnvnMZ3LTTTcdk++iiy7irLPOotPpkCQJ27Zt401vehPz8/MPWMYll1xyv8/5Pe95z33+9s1vfjNCCM4666yj0h9svyrLkre//e1s2bKFKIrYvn07f/EXf/Gwngk8vHd9PE503Dvc/ksuueQhl/VQ2Lt3L7/1W7/Ftm3bSJKE8fFxzj77bH7913+dvXv3Hsl3It/hYbZs2XLUu4vjmK1bt/Kf//N/PqH+9YMMBgMuvPBCTjvtNJrNJvV6nTPPPJN3vOMdDAaDo/L+OMaK/5D4ET+zvP/97/eAv/fee4+5duutt/pbb731J1+pnwB/8Rd/4bdv3+7f+c53+quuuspfeeWV/ld+5Vc84N/+9rcflTfLMn/WWWf5DRs2+E996lP+qquu8i984Qu91tpfe+21R/J9//vf95OTk/73fu/3/Be+8AX/1a9+1b/tbW/zcRz7ZzzjGd45dyTvG9/4Rv+oRz3Kf/CDH/Rf/epX/T/+4z/65z73uR7wl1566Qm14UTrlWWZv/7664/5+8M//EMP+I985CMnVN5pp53mzzvvPP9rv/Zrfmpqyj/1qU89br7HPOYx/gUveIH/xCc+4a+99lr/t3/7t/7000/3jUbD33LLLd577/fu3XtUXf7hH/7BA/53fud3jko/3P8uueQSv3btWv/c5z7XP//5z/eAv+aaa45b/qc+9SkP+IsuushfffXV/iMf+Yhvt9v+mc985gm188GU9ZSnPMXXajX/vve9z1999dX+k5/8pN+6datvNpt+165dD1jW7OysX7dunT/zzDP93//93/t//ud/9k960pN8s9n0d9xxx1F5L7zwQv9nf/Zn/p//+Z/9V7/6Vf/e977Xt1otf8YZZ/g8zx+wnOP1gWc+85keOKasw3znO9/xURT51atX+zPPPPOoaw+2X1100UU+iiL/vve9z19zzTX+j/7oj7wQwr/zne98yM/k4b7r43Gi4969997rAX/xxRc/5LIeLHv37vWTk5N+69at/q/+6q/81Vdf7S+//HL/zne+059zzjlHffcn8h0eZvPmzf6JT3zikXd49dVX+/e9732+Vqv5888//0HVcWlpyb/85S/3H/nIR/yXv/xl/5WvfMW/5S1v8UEQ+Gc84xlH5f1xjBX/ERkJST/D3J+Q9H8zc3NzRwkth3ne857na7Waz7LsSNpf/uVfesB/85vfPJJWlqU/44wz/GMe85gjaf1+3/f7/WPuefgZf+Mb3ziSNjMzc0w+Y4x/xCMe4U855ZQTasOJ1uu+uOCCC3ytVvMrKysnVJ619si/zzzzzPsUko7Xtv379/sgCPxrXvOa4/7m8ITz/ve//wHLvuyyy+5TcDHG+LVr1/pnPetZR6V/+tOf9oC/8sorj3v/h1LW3Xff7QH/5je/+aj0b37zmx7wH/zgBx+wrDe96U0+CIKjBKqVlRU/OTnpX/7ylz/g7//n//yfHvBf/epXHzDvD9Pv932j0fBPetKTjnu9LEt/7rnn+te//vX+qU996jFC0n1xvH51yy23eCGEf9e73nVU3l//9V/3SZL4hYWFI2kn+kx+FO/64fDTEJL+5E/+xAN+586dx73+g333wXyHmzdv9s973vOOyf+Wt7zFA/7OO+98mDX3/g/+4A884Hfs2PGQ6niYBxor/iMyMrf9jPK2t72NN73pTQBHTCg/aFr4YbXzYfXy+9//ft773veyZcsWkiThggsu4K677qIsS/7oj/6IdevW0W63efGLX8zs7Owx5X72s589YspoNBo8+9nP5jvf+c5PoslHmJycRAhxTPpjHvMYhsMhi4uLR9Iuv/xyTjvtNB7/+McfSdNa86pXvYpvf/vb7N+/H4B6vU69Xj/uPYGjVOGrVq06Jp9SivPPP/+ofPfHidbreOzYsYOvfe1rvPzlL6fVap1QeVKe2Kd8vLatW7eODRs2nHDbHmrZ3/rWtzh48CCvfvWrj0p/2cteRqPR4PLLL/+RlRUEAQDtdvuo9E6nA0Acxw94j8svv5ynP/3pbN68+Uhaq9XiJS95CV/84hcxxtzv76empoDqvT9YPvvZz9Lv97nooouOe/0973kPi4uLvPOd7zzhe95Xv7riiivw3h/zXl796leTpilf+tKXjqSd6DP5Ubzr43E8c9uBAwd4+ctfTrPZpN1u84u/+ItMT08/pPs/HBYWFpBSHvcbg6P77o/iOzzctw/39YfD8frqj2Os+I/ISEj6GeWiiy7id37nd4DKNnz99ddz/fXXc955593v7/7yL/+S6667jr/8y7/kYx/7GHfccQfPf/7zec1rXsPc3Byf+MQneN/73se//uu/HjMAv+td7+IVr3gFZ5xxBp/73Of427/9W3q9Hk9+8pO57bbbHrDOxpgT+vPeP6Rncs011zA1NXXUx3vLLbfwiEc84pi8h9MeyP/ksJ/RmWeeeb/5jDF84xvfeMB8P4p6feITn8B7f58T5I+anTt3snv37hNu20PllltuATjmuQRBwPbt249cP8zD8WXYvHkzL3zhC/nQhz7ENddcQ7/f54477uD1r389mzZt4sILL7zfstI0ZceOHff5DtM0ZefOncdcM8YwGAy47rrreMtb3sKTnvQknvjEJz7o+n/84x+n1Wrxspe97Jhrt912G+94xzv4q7/6KxqNxgnf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4yXf50yLK/z22NZqNW655RYGBwfJZDKcd9553HXXXUuuEQQBn/jEJ+jq6iKXy/G2t72NkydPLhljYvvyYzs3N8cnPvEJzj33XLLZLGvWrOHWW2+lXC4v+T5nWmxX4jP7K6+Ke5g2Vszc3JweGhrSH/jAB/SOHTv0sWPH9IMPPqgPHz68OGZ8fHzJ1913362FEPrIkSMvut4dd9yhb7zxRg3oe+65Z8m5G264QW/atElv27ZNb9u2TW/atEnfdNNNi+fjONabNm3S11xzjd65c6d+4IEH9MDAgL7lllsWx5TLZd3b26vf85736D179uh//ud/1oVCQX/xi19c+eD8nlYqttu2bdPFYlHffvvteu/evfrgwYP6Rz/6kW61WotjzqTYrlRc3/SmN+nLLrtM79ixQx85ckR//vOf11JKvXPnzsUxZ1JctX5psf3whz+s169frx955BF97Ngx/fWvf11blqV/+tOfLo756Ec/qletWqUfeOABvXPnTn3NNdfoCy64QMdxvDjGxPblx3bPnj36ne98p966das+fPiwfuihh/TZZ5+t3/Wudy35XmdSbFfqM/srr4Z7mEmSVtBf/MVf6Kuuuuplvebtb3+7vvbaa190/Nlnn9WDg4N6fHz8RR+w/fv3a0A/+eSTi8e2b9+uAf3CCy9orbX+2c9+pqWUenR0dHHM97//fe15ni6Xy1prre+8805dKpWWJAi33367HhgY0Eqpl/VzvNJWKrZXXHGF/sxnPvOfvuZMi+1KxTWXy+lvf/vbS451dHTov//7v9dan3lx1fqlxfb888/Xn/vc55Ycu/jiixc/owsLC9pxHP2DH/xg8fzo6KiWUuqf//znWmsT2//Mb4vtcv7pn/5Ju66royjSWp95sV3JuL5a7mHmcdsK2rp1K5deeinvfve76enp4aKLLuLv/u7v/tPxk5OT3HvvvXzoQx9acrzRaPDe976Xr371q/T19b3oddu3b6dUKnHFFVcsHnvta19LqVRi27Zti2M2bdrEwMDA4pjrr7+eIAgWp063b9/O1VdfvaSo1/XXX8/Y2BjHjx//nWLwSlmJ2E5NTbFjxw56enq48sor6e3t5eqrr+aJJ55YHHOmxXalPrNXXXUVP/zhD5mbm0MpxQ9+8AOCIOCNb3wjcObFFV5abK+66iq2bt3K6OgoWmseeeQRDh48yPXXXw/AL3/5S6Io4s1vfvPiawYGBti0adOSuJnYvvzYLqdcLlMsFrHttK3pmRbblYrrq+keZpKkFXT06FHuuusuzj77bO677z4++tGPcuutt/Ltb3972fH/+I//SKFQ4J3vfOeS45/85Ce58sorefvb377s6yYmJujp6XnR8Z6eHiYmJhbH9Pb2Ljnf3t6O67q/ccyv/v2rMf9VrERsjx49CsBnP/tZ/vzP/5yf//znXHzxxVx33XUcOnQIOPNiu1Kf2R/+8IfEcUxnZyee5/GRj3yEe+65h/Xr1wNnXlzhpcX2K1/5Chs3bmRwcBDXdbnhhhu48847ueqqq4D0Z3Jdl/b29iXX7u3tXRITE9uXH9v/aHZ2ls9//vN85CMfWTx2psV2peL6arqH2StyFQMApRSXXnopX/jCFwC46KKL2LdvH3fddRfvf//7XzT+7rvv5uabb8b3/cVjW7du5eGHH2bXrl2/8XsJIV50TGu95PjvMkafWvC23GtPp5WIrVIKgI985CN88IMfXLzOQw89xN13383tt98OnFmxXYm4AnzmM59hfn6eBx98kK6uLn7605/y7ne/m8cff5zNmzcDZ1Zc4aXF9itf+QpPPvkkW7duZWhoiMcee4yPfexj9Pf386Y3vek/vfZKxO2ljDlTYlupVHjLW97Cxo0bue2225acO5NiuxJxfbXdw8xM0grq7+9n48aNS46dd955DA8Pv2js448/zoEDB/jwhz+85PjDDz/MkSNHaGtrw7btxWnfd73rXYuPLvr6+picnHzRNaenpxez6L6+vhdl0vPz80RR9BvHTE1NAbwoOz/dViK2/f39AL/xOmdabFcirkeOHOGrX/0qd999N9dddx0XXHABt912G5deeilf+9rXgDMvrvDbY9tsNvn0pz/NHXfcwVvf+la2bNnCLbfcwp/+6Z/yxS9+EUh/3jAMmZ+fX3KdqampJTExsX35sf2VarXKDTfcQD6f55577sFxnMVzZ1psVyKur7Z7mEmSVtDrX/96Dhw4sOTYwYMHGRoaetHYb37zm1xyySVccMEFS47/5V/+Jc899xzPPvvs4hfAl770Jb71rW8B8LrXvY5yucxTTz21+LodO3ZQLpe58sorF8fs3buX8fHxxTH3338/nudxySWXLI557LHHlmypvP/++xkYGGDt2rW/eyBeASsR27Vr1zIwMPAbr3OmxXYl4tpoNACQcumvE8uyFmfvzrS4wm+PbRRFRFH0G+N2ySWX4DgODzzwwOL58fFx9u7duyRuJrYvP7aQziC9+c1vxnVdtm7d+qIZ0jMttisR11fdPWxFln8bWmutn3rqKW3btv6rv/orfejQIf29731PZ7NZ/d3vfnfJuHK5rLPZrL7rrrte0nX5T7ZPbtmyRW/fvl1v375db968edntk9ddd53euXOnfvDBB/Xg4OCS7ZMLCwu6t7dXv/e979V79uzRP/nJT3SxWPwvty1V65WL7Ze+9CVdLBb1j370I33o0CH9mc98Rvu+v2SL65kU25WIaxiG+qyzztJveMMb9I4dO/Thw4f1F7/4RS2E0Pfee+/iuDMprlq/tNheffXV+vzzz9ePPPKIPnr0qP7Wt76lfd/Xd9555+KYj370o3pwcFA/+OCDeufOnfraa69dtgSAie3Li22lUtFXXHGF3rx5sz58+PCSMhdnamxX6jP7H/0h38NMkrTC/uVf/kVv2rRJe56nN2zYoL/xjW+8aMzXv/51nclk9MLCwku65nIfsNnZWX3zzTfrQqGgC4WCvvnmm/X8/PySMSdOnNBvectbdCaT0R0dHfqWW25ZslVSa62fe+45/YY3vEF7nqf7+vr0Zz/72f9SW1J/3UrF9vbbb9eDg4M6m83q173udfrxxx9fcv5Mi+1KxPXgwYP6ne98p+7p6dHZbFZv2bLlRSUBzrS4av3bYzs+Pq4/8IEP6IGBAe37vj733HP13/zN3yz5eZrNpr7lllt0R0eHzmQy+qabbtLDw8NLrmNi+/Jj+8gjj2hg2a9jx44tXudMi+1KfGb/oz/ke5g49QMYhmEYhmEYv8asSTIMwzAMw1iGSZIMwzAMwzCWYZIkwzAMwzCMZZgkyTAMwzAMYxkmSTIMwzAMw1iGSZIMwzAMwzCWYZIkwzAMwzCMZZgkyTAMwzAMYxkmSTIMwzAMw1iGSZIMwzAMwzCWYZIkwzAMYHp6mr6+Pr7whS8sHtuxYweu63L//fefxndmGMbpYnq3GYZhnPKzn/2Md7zjHWzbto0NGzZw0UUX8Za3vIUvf/nLp/utGYZxGpgkyTAM49d8/OMf58EHH+Syyy5j9+7dPP300/i+f7rflmEYp4FJkgzDMH5Ns9lk06ZNjIyM8Mwzz7Bly5bT/ZYMwzhNzJokwzCMX3P06FHGxsZQSnHixInT/XYMwziNzEySYRjGKWEYcvnll3PhhReyYcMG7rjjDvbs2UNvb+/pfmuGYZwGJkkyDMM45VOf+hQ//vGP2b17N/l8nmuuuYZCocC//uu/nu63ZhjGaWAetxmGYQCPPvooX/7yl/nOd75DsVhESsl3vvMdnnjiCe66667T/fYMwzgNzEySYRiGYRjGMsxMkmEYhmEYxjJMkmQYhmEYhrEMkyQZhmEYhmEswyRJhmEYhmEYyzBJkmEYhmEYxjJMkmQYhmEYhrEMkyQZhmEYhmEswyRJhmEYhmEYyzBJkmEYhmEYxjJMkmQYhmEYhrEMkyQZhmEYhmEswyRJhmEYhmEYy/j/AJVxoznHDXzSAAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "scaled_data_xr = scaled_data.execute()\n", + "scaled_data_xr[0].plot.imshow()" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "cubes-and-clouds-cubes-and-clouds2", + "language": "python", + "name": "conda-env-cubes-and-clouds-cubes-and-clouds2-py" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.7" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/_sources/2.3_data_access/exercises/23_data_access_filter.ipynb b/_sources/2.3_data_access/exercises/23_data_access_filter.ipynb new file mode 100644 index 0000000..03c4860 --- /dev/null +++ b/_sources/2.3_data_access/exercises/23_data_access_filter.ipynb @@ -0,0 +1,211 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "5f4a0cab-e26e-4942-96ee-78de70890ad9", + "metadata": {}, + "source": [ + "\"Cubes" + ] + }, + { + "cell_type": "markdown", + "id": "43f2c4b3-88f7-4ebf-8248-a72728d14012", + "metadata": {}, + "source": [ + "# 2.3 Data Access and Basic Processing\n", + "\n", + "## Filter Operators\n", + "\n", + "When interacting with large data collections, it is necessary to keep in mind that it's not possible to load everything!\n", + "\n", + "Therefore, we always have to define our requirements in advance and apply them to the data using filter operators.\n", + "\n", + "Let's start again with the same sample data from the Sentinel-2 STAC Collection with an additional filter." + ] + }, + { + "cell_type": "markdown", + "id": "dda8de1c-83d3-4dfd-a506-eb1a2302d752", + "metadata": {}, + "source": [ + "### Properties Filter\n", + "\n", + "When working with optical data like Sentinel-2, most of the times we would like to discard cloudy acquisitions as soon as possible.\n", + "\n", + "We can do it using a property filter: in this case we want to keep only the acquisitions with less than 50% cloud coverage." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "90a6673e-3235-42e6-8174-1b6bae256b7c", + "metadata": {}, + "outputs": [], + "source": [ + "properties = {\"eo:cloud_cover\": dict(lt=50)}" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "b5c18492-e3c7-4a05-a5b6-6c606b8253c1", + "metadata": {}, + "outputs": [], + "source": [ + "import openeo\n", + "from openeo.local import LocalConnection\n", + "local_conn = LocalConnection('')\n", + "\n", + "url = \"https://earth-search.aws.element84.com/v1/collections/sentinel-2-l2a\"\n", + "spatial_extent = {\"west\": 11.1, \"east\": 11.5, \"south\": 46.1, \"north\": 46.5}\n", + "\n", + "datacube = local_conn.load_stac(url=url,\n", + " spatial_extent=spatial_extent,\n", + " properties=properties)\n", + "datacube.execute()" + ] + }, + { + "cell_type": "markdown", + "id": "6097dca4-5ada-4ea1-bb8c-9a853f3fa2e8", + "metadata": {}, + "source": [ + "### Temporal filter" + ] + }, + { + "cell_type": "markdown", + "id": "8c56a01b-795b-4b3e-99e2-93622302d955", + "metadata": {}, + "source": [ + "To slice along time the data collection with openEO, we can use the `filter_temporal` process." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "9d71f32a-4f58-4709-96ad-ebea3c248539", + "metadata": {}, + "outputs": [], + "source": [ + "temporal_extent = [\"2022-05-10T00:00:00Z\",\"2022-06-30T00:00:00Z\"]\n", + "temporal_slice = datacube.filter_temporal(temporal_extent)\n", + "temporal_slice.execute()" + ] + }, + { + "cell_type": "markdown", + "id": "1a41ee31-5e68-4c5d-ab4b-d3e6198725de", + "metadata": {}, + "source": [ + "After running the previous cell, it is visible that the result has less elements (or labels) in the temporal dimension `time`.\n", + "\n", + "Additionally, the size of the selected data reduced a lot." + ] + }, + { + "cell_type": "markdown", + "id": "cba45782-c4ad-4993-b511-84ebb8b6d354", + "metadata": {}, + "source": [ + "**Quiz hint: look carefully at the dimensions of the resulting datacube!**" + ] + }, + { + "cell_type": "markdown", + "id": "23071292-8c4c-49cb-8968-ee90588896b6", + "metadata": {}, + "source": [ + "### Spatial filter" + ] + }, + { + "cell_type": "markdown", + "id": "4ecbc445-2b37-4e7d-a538-f194cc86a58c", + "metadata": {}, + "source": [ + "To slice along the spatial dimensions the data collection with openEO, we can use `filter_bbox` or `filter_spatial` processes." + ] + }, + { + "cell_type": "markdown", + "id": "499ef2a5-0344-4c1f-a833-4c79f4aa652a", + "metadata": {}, + "source": [ + "The `filter_bbox` process is used with a set of coordinates:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "ef0a59e7-18ff-4d94-b28e-975d247ad8bb", + "metadata": {}, + "outputs": [], + "source": [ + "spatial_extent = {\"west\": 11.259613, \"east\": 11.406212, \"south\": 46.461019, \"north\": 46.522237}\n", + "spatial_slice = datacube.filter_bbox(spatial_extent)\n", + "spatial_slice.execute()" + ] + }, + { + "cell_type": "markdown", + "id": "d07a11e3-2712-44f8-b185-497f707b3450", + "metadata": {}, + "source": [ + "**Quiz hint: look carefully at the dimensions of the loaded datacube!**" + ] + }, + { + "cell_type": "markdown", + "id": "d4830d00-518e-4d26-ba35-bc593df3438a", + "metadata": {}, + "source": [ + "### Bands filter" + ] + }, + { + "cell_type": "markdown", + "id": "75116f86-a34b-4784-8c54-35b59bf9da8c", + "metadata": {}, + "source": [ + "To slice along the bands dimension, keeping only the necessary bands, we can use the `filter_bands` process." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "2db7b95c-7b61-4421-a091-d5a2badb974b", + "metadata": {}, + "outputs": [], + "source": [ + "bands = [\"red\",\"green\",\"blue\"]\n", + "bands_slice = datacube.filter_bands(bands)\n", + "bands_slice.execute()" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.12" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/_sources/2.3_data_access/exercises/23_data_access_lazy_loading.ipynb b/_sources/2.3_data_access/exercises/23_data_access_lazy_loading.ipynb new file mode 100644 index 0000000..213a657 --- /dev/null +++ b/_sources/2.3_data_access/exercises/23_data_access_lazy_loading.ipynb @@ -0,0 +1,131 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "5f4a0cab-e26e-4942-96ee-78de70890ad9", + "metadata": {}, + "source": [ + "\"Cubes" + ] + }, + { + "cell_type": "markdown", + "id": "be23f346-9a95-4315-b8b0-dff22a207084", + "metadata": {}, + "source": [ + "# 2.3 Data Access and Basic Processing\n", + "\n", + "The exercise will use the openEO Python Client Side Processing functionality, which allows to experiment using openEO without a connection to an openEO back-end." + ] + }, + { + "cell_type": "markdown", + "id": "211eb4ab-7ef2-4ece-895f-ba4b8ab0cd18", + "metadata": {}, + "source": [ + "**Quiz hint: remeber this information for the final quiz!**" + ] + }, + { + "cell_type": "markdown", + "id": "3261f721-f8ad-4d89-9c15-d3d6b1a39a73", + "metadata": {}, + "source": [ + "## Lazy data loading\n", + "\n", + "When accessing data using an API, most of the time the data is **lazily** loaded.\n", + "\n", + "It means that only the metadata is loaded, so that it is possible to know about the data dimensions and their extents (spatial and temporal), the available bands and other additional information.\n", + "\n", + "Let's start with a call to the openEO process `load_stac` for lazily loading some Sentinel-2 data from a public STAC Collection. _Please note that not every STAC Collection or Item is currently supported._\n", + "\n", + "We need to specify an Area Of Interest (AOI) to get only part of the Collection, otherwise our code would try to load the metadata of all Sentinel-2 tiles available in the world!" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "10295498-eff4-4a30-ad77-56d9333965b3", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "from openeo.local import LocalConnection\n", + "local_conn = LocalConnection('')\n", + "\n", + "url = \"https://earth-search.aws.element84.com/v1/collections/sentinel-2-l2a\"\n", + "spatial_extent = {\"west\": 11.1, \"east\": 11.5, \"south\": 46.1, \"north\": 46.5}\n", + "\n", + "datacube = local_conn.load_stac(url=url,\n", + " spatial_extent=spatial_extent)\n", + "datacube" + ] + }, + { + "cell_type": "markdown", + "id": "7f25ed7a-efed-4655-aac4-7f06b198b6a1", + "metadata": {}, + "source": [ + "Calling the `.execute()` method, the data will be lazily loaded and an `xArray.DataArray` object returned.\n", + "\n", + "Running the next cell will show the selected data content with the dimension names and their extent:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "0686d0ef-6d05-482e-a5dd-f0098fb6efba", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "datacube.execute()" + ] + }, + { + "cell_type": "markdown", + "id": "fd6e97d5-4962-4be4-9e1c-46fe522b7abc", + "metadata": {}, + "source": [ + "From the output of the previous cell you can notice something really interesting: **the size of the selected data is more than 3 TB!**\n", + "\n", + "But you should have noticed that it was too quick to download this huge amount of data.\n", + "\n", + "This is what lazy loading allows: getting all the information about the data in a quick manner without having to access and download all the available files." + ] + }, + { + "cell_type": "markdown", + "id": "375af2c0-f6b9-47ac-b11f-d1504b27a564", + "metadata": {}, + "source": [ + "**Quiz hint: look carefully at the dimensions of the loaded datacube!**" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.12" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/_sources/2.3_data_access/exercises/23_data_access_reduce.ipynb b/_sources/2.3_data_access/exercises/23_data_access_reduce.ipynb new file mode 100644 index 0000000..56acf82 --- /dev/null +++ b/_sources/2.3_data_access/exercises/23_data_access_reduce.ipynb @@ -0,0 +1,339 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "5f4a0cab-e26e-4942-96ee-78de70890ad9", + "metadata": {}, + "source": [ + "\"Cubes" + ] + }, + { + "cell_type": "markdown", + "id": "43f2c4b3-88f7-4ebf-8248-a72728d14012", + "metadata": {}, + "source": [ + "# 2.3 Data Access and Basic Processing\n", + "\n", + "## Reduce Operators\n", + "\n", + "When computing statistics over time or indices based on multiple bands, it is possible to use reduce operators.\n", + "\n", + "In openEO we can use the [reduce_dimension](https://processes.openeo.org/#reduce_dimension) process, which applies a reducer to a data cube dimension by collapsing all the values along the specified dimension into an output value computed by the reducer." + ] + }, + { + "cell_type": "markdown", + "id": "5691278c-4d66-4ee2-8592-75431cbff3c7", + "metadata": {}, + "source": [ + "Reduce the temporal dimension to a single value, the mean for instance:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "b5c18492-e3c7-4a05-a5b6-6c606b8253c1", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "import openeo\n", + "from openeo.processes import clip\n", + "from openeo.local import LocalConnection\n", + "local_conn = LocalConnection('')\n", + "\n", + "url = \"https://earth-search.aws.element84.com/v1/collections/sentinel-2-l2a\"\n", + "spatial_extent = {\"west\": 11.259613, \"east\": 11.406212, \"south\": 46.461019, \"north\": 46.522237}\n", + "temporal_extent = [\"2021-05-28T00:00:00Z\",\"2021-06-30T00:00:00Z\"]\n", + "bands = [\"red\",\"nir\"]\n", + "datacube = local_conn.load_stac(url=url,\n", + " spatial_extent=spatial_extent,\n", + " temporal_extent=temporal_extent,\n", + " bands=bands)\n", + "datacube = datacube.apply(lambda x: clip(x,0,10000)) # Get rid of possible negative values\n", + "\n", + "datacube_mean_time = datacube.reduce_dimension(dimension=\"time\",reducer=\"mean\")\n", + "datacube_mean_time" + ] + }, + { + "cell_type": "markdown", + "id": "420f8621-fb50-4fc1-89a2-4dfc7ac0beea", + "metadata": {}, + "source": [ + "Check what happens to the datacube inspecting the resulting xArray object:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "b3709eb5-f855-4cca-a2aa-e7f6ca43053e", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "datacube_mean_time.execute()" + ] + }, + { + "cell_type": "markdown", + "id": "3dbfaf5a-39af-4a38-9d88-91a9d60e24e1", + "metadata": {}, + "source": [ + "It is possible to reduce in the same way all the available dimensions of the datacube.\n", + "\n", + "We can, for instance, reduce the band dimension similarly as we did for the temporal dimension:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "5ccfe36d-d5de-4770-96ed-aaeae71fdd3d", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "datacube_mean_band = datacube.reduce_dimension(dimension=\"band\",reducer=\"mean\")" + ] + }, + { + "cell_type": "markdown", + "id": "f05c9f31-0f40-47ea-9bf2-d9ab4bd783d6", + "metadata": {}, + "source": [ + "The result will now contain values resulting from the average of the bands:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "55001580-1fed-4cc8-a7ec-f9e0832fa285", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "datacube_mean_band.execute()" + ] + }, + { + "cell_type": "markdown", + "id": "3685933c-1d13-4c91-84fe-3a042197e1c6", + "metadata": {}, + "source": [ + "**Quiz hint: look carefully at number of pixels of the loaded datacube!**" + ] + }, + { + "cell_type": "markdown", + "id": "80aef996-8571-44e5-86c1-c2f80c0e8ff1", + "metadata": {}, + "source": [ + "The reducer could be again a single process, but when computing spectral indices like NDVI, NDSI etc. an arithmentical formula is used instead.\n", + "\n", + "For instance, the [NDVI](https://en.wikipedia.org/wiki/Normalized_difference_vegetation_index) formula can be expressed using a `reduce_dimension` process over the `bands` dimension:\n", + "\n", + "$$ NDVI = {{NIR - RED} \\over {NIR + RED}} $$" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "996558e8-a2a3-40fe-8361-e52d3f5fb79a", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "def NDVI(data):\n", + " red = data.array_element(index=0)\n", + " nir = data.array_element(index=1)\n", + " ndvi = (nir - red)/(nir + red)\n", + " return ndvi\n", + "\n", + "ndvi = datacube.reduce_dimension(reducer=NDVI,dimension=\"band\")\n", + "ndvi_xr = ndvi.execute()\n", + "ndvi_xr" + ] + }, + { + "cell_type": "markdown", + "id": "cbfa0b5c-e686-4565-870d-5d8450d008fa", + "metadata": {}, + "source": [ + "Visualize a sample NDVI result:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f6ff2001-fe22-461b-81ae-a80fe6fbdd30", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "%%time\n", + "ndvi_xr[0].plot.imshow(vmin=-1,vmax=1,cmap=\"Greens\")" + ] + }, + { + "cell_type": "markdown", + "id": "3a960282-f910-40a0-8b18-d0daa8466549", + "metadata": {}, + "source": [ + "Additionally, it is possible to reduce both spatial dimensions of the datacube at the same time.\n", + "\n", + "To do this, we need the `reduce_spatial` process.\n", + "\n", + "This time we select a smaller area of interest, to reduce the amount of downloaded data:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "ba158589-c535-476c-acde-8bcb7fc8d7f6", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "url = \"https://earth-search.aws.element84.com/v1/collections/sentinel-2-l2a\"\n", + "spatial_extent = {\"west\": 11.31369, \"east\": 11.31906, \"south\": 46.52167, \"north\": 46.52425}\n", + "temporal_extent = [\"2021-01-01T00:00:00Z\",\"2021-12-30T00:00:00Z\"]\n", + "bands = [\"red\",\"nir\"]\n", + "properties = {\"eo:cloud_cover\": dict(lt=15)}\n", + "\n", + "datacube = local_conn.load_stac(url=url,\n", + " spatial_extent=spatial_extent,\n", + " temporal_extent=temporal_extent,\n", + " bands=bands,\n", + " properties=properties)\n", + "datacube = datacube.apply(lambda x: clip(x,0,10000)) # Get rid of possible negative values" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f0fbb70b-84fb-4579-8d7b-cb4cafa09045", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "datacube_spatial_median = datacube.reduce_spatial(reducer=\"median\")\n", + "datacube_spatial_median" + ] + }, + { + "cell_type": "markdown", + "id": "90538e1c-a697-4e86-ba26-564cdca4057e", + "metadata": {}, + "source": [ + "Verify that the spatial dimensions were collapsed:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d38d3737-9c89-4b24-8700-0ed461aa0080", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "datacube_spatial_median.execute()" + ] + }, + { + "cell_type": "markdown", + "id": "63278785-863a-4815-ac1b-22394fec29ea", + "metadata": {}, + "source": [ + "We can combine this spatial reducer with the previous over bands to compute a time series of NDVI values:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "44e087bb-83b3-45f1-81d9-1e11f560eaf4", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "ndvi_spatial = datacube_spatial_median.reduce_dimension(reducer=NDVI,dimension=\"band\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "b9cf3f16-a8e5-4bca-a2b4-7396e2e4a86a", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "%%time\n", + "ndvi_spatial_xr = ndvi_spatial.execute()\n", + "ndvi_spatial_xr = ndvi_spatial_xr.compute()" + ] + }, + { + "cell_type": "markdown", + "id": "50da1d87-92fe-485a-920f-cf1101a35636", + "metadata": {}, + "source": [ + "Remember that calling `.compute()` on an xarray + dask based object will load into memory the data.\n", + "In this case it will trigger the download of the data from the STAC Catalog and the processing defined as openEO process graph, computing the NDVI time series." + ] + }, + { + "cell_type": "markdown", + "id": "8cfd1db9-a7ed-4ec7-aabc-b6a599941817", + "metadata": {}, + "source": [ + "Visualize the NDVI time series:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "15a9cd39-5fa9-4e17-852b-58297d622a77", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "ndvi_spatial_xr.where(ndvi_spatial_xr<1).plot.scatter()" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.12" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/_sources/2.3_data_access/exercises/23_data_access_resample.ipynb b/_sources/2.3_data_access/exercises/23_data_access_resample.ipynb new file mode 100644 index 0000000..06a0c5f --- /dev/null +++ b/_sources/2.3_data_access/exercises/23_data_access_resample.ipynb @@ -0,0 +1,171 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "5f4a0cab-e26e-4942-96ee-78de70890ad9", + "metadata": {}, + "source": [ + "\"Cubes" + ] + }, + { + "cell_type": "markdown", + "id": "43f2c4b3-88f7-4ebf-8248-a72728d14012", + "metadata": {}, + "source": [ + "# 2.3 Data Access and Basic Processing\n", + "\n", + "## Resample Operators\n", + "\n", + "Sometimes we need to align the spatial or temporal dimension of two datacubes, so that they can be merged together." + ] + }, + { + "cell_type": "markdown", + "id": "5691278c-4d66-4ee2-8592-75431cbff3c7", + "metadata": {}, + "source": [ + "### `resample_cube_spatial`: spatial resampling Sentinel-2 to match Landsat" + ] + }, + { + "cell_type": "markdown", + "id": "40dbc4e1-929a-4256-9e62-605d5a424fca", + "metadata": {}, + "source": [ + "Start importing the necessary libraries and initialize a local connection for Client-Side Processing." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "4eca5284-2873-4b5c-9505-d67545fdec05", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "import openeo\n", + "from openeo.local import LocalConnection\n", + "local_conn = LocalConnection('')" + ] + }, + { + "cell_type": "markdown", + "id": "0420def5-ebd5-446e-a6d0-799e3534e5d2", + "metadata": {}, + "source": [ + "Create two datacubes, one for Sentinel-2 and one for Landsat" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "053869f1-540f-48c1-b3ab-113d5be08bc6", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "url = \"https://earth-search.aws.element84.com/v1/collections/sentinel-2-l2a\"\n", + "\n", + "spatial_extent = {\"west\": 11.4, \"east\": 11.42, \"south\": 45.5, \"north\": 45.52}\n", + "temporal_extent = [\"2023-06-01\", \"2023-06-30\"]\n", + "bands = [\"red\",\"nir\"]\n", + "\n", + "s2_cube = local_conn.load_stac(url=url,\n", + " spatial_extent=spatial_extent,\n", + " temporal_extent=temporal_extent,\n", + " bands=bands\n", + ")\n", + "s2_cube.execute()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "da39cb8c-e911-4f8d-aba6-52bf8569a48c", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "url = \"https://planetarycomputer.microsoft.com/api/stac/v1/collections/landsat-c2-l2\"\n", + "bands = [\"red\",\"nir08\"]\n", + "l8_cube = local_conn.load_stac(url=url,\n", + " spatial_extent=spatial_extent,\n", + " temporal_extent=temporal_extent,\n", + " bands=bands)\n", + "l8_cube.execute()" + ] + }, + { + "cell_type": "markdown", + "id": "49a04782-d412-4229-aa4b-d8e0283d5feb", + "metadata": {}, + "source": [ + "From the previous outputs, notice the shape difference in the spatial dimensions `x` and `y`.\n", + "\n", + "This is due to the different resolution of the two collections: 10m for Sentinel-2, 30m for Landsat.\n", + "\n", + "Now we use the `resample_cube_spatial` process to resample the Sentinel-2 data to match Landsat." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "b652338d-5f31-4d33-9d46-b7ea76f1d23d", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "s2_cube_30m = s2_cube.resample_cube_spatial(target=l8_cube,method=\"average\")\n", + "s2_cube_30m" + ] + }, + { + "cell_type": "markdown", + "id": "420f8621-fb50-4fc1-89a2-4dfc7ac0beea", + "metadata": {}, + "source": [ + "Check what happens to the datacube inspecting the resulting xArray object. Now the `x` and `y` shape is the same as Landsat:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f38e5288-7b95-4693-a912-b51c31a60e16", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "s2_cube_30m.execute()" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "cubes-and-clouds-cubes-and-clouds2", + "language": "python", + "name": "conda-env-cubes-and-clouds-cubes-and-clouds2-py" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.7" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/_sources/2.4_formats_and_performance/2.4_formats_and_performance.md b/_sources/2.4_formats_and_performance/2.4_formats_and_performance.md new file mode 100644 index 0000000..6d1dabb --- /dev/null +++ b/_sources/2.4_formats_and_performance/2.4_formats_and_performance.md @@ -0,0 +1,201 @@ +# Data Formats and Performance + +## Learning Objectives +- Understand what cloud native data formats are +- Understand how the cloud does computing more efficiently + + +## Outline +- Cloud Native Data Formats + - Why do we need them + - What is there advantage over classical file formats + - Not one format to rule them all. + - Examples +- Performance in the cloud + - Tiling + - Scaling + - Distributed Computing +- The Microsoft Planetary Computer Setup - State of the Art open source cloud native technology stack + - ODC, STAC, xarray, dask, cogs, ... + +## Cloud native data formats + +### What are cloud native data formats +Cloud native formats or cloud-optimized formats, are file formats specifically designed to optimize the storage, access, and processing of geospatial data in cloud computing environments. These formats are tailored to leverage the scalability, flexibility, and parallel processing capabilities of cloud infrastructure, enabling efficient handling of large-scale datasets. + +[![Cloud Native Data Formats](https://img.youtube.com/vi/hxv3LxsdGhw/0.jpg)](https://www.youtube.com/watch?v=hxv3LxsdGhw)
+> Video content in cooperation with [Aimee Barciauskas](https://developmentseed.org/team/aimee-barciauskas) (DevelopmentSeed) and [Ryan Avery](https://developmentseed.org/team/ryan-avery) (DevelopmentSeed).
+> *"Cloud-optimised means organizing so subsets of data can be read. Ideally, the data is also compressed. Both of these factors minimize the amount of data that has to be transferred across a network."* + +### Characteristics of cloud native data formats +Cloud-optimized means mainly optimized "read" access with partial reads and also parallel reads. Main characteristics common for cloud-optimized formats: + +- **Data Chunking:** Cloud native formats employ a chunk-based organization, where the data is divided into smaller chunks or blocks. This enables parallel processing and efficient retrieval of specific portions of the data, reducing the need to access the entire dataset. + +- **Internal Indexing:** These formats incorporate internal indexing structures that facilitate fast spatial and attribute queries. This enables efficient data access and retrieval operations without the need for extensive scanning or processing of the entire dataset. + +- **Metadata Optimization:** Cloud native formats optimize metadata storage and indexing, allowing for efficient access and retrieval of metadata associated with the data at once. This supports faster discovery and interpretation of data properties and characteristics. + +- **Compression and Tiling:** Cloud native formats often employ advanced compression techniques to reduce storage requirements while maintaining data quality. Additionally, they utilize tiling strategies to divide the data into smaller, manageable tiles that can be independently accessed and processed. + +HTTP Range Request allows clients to request only a specific portion or range of data instead of a complete dataset. + +### Examples of cloud native data formats + +- **COG** - Cloud-Optimized GeoTIFF (COG) is an optimized version of the GeoTIFF format. It organizes raster data into chunks, utilizes internal tiling and compression, and uses HTTP range requests for efficient data access in the cloud. +- **ZARR** Zarr is a format specifically designed for storing and accessing multidimensional arrays. It supports chunking, compression, and parallel processing, making it suitable for large-scale geospatial datasets, for example, weather data. Metadata is stored externally in data files itself. +- **FlatGeoBuf** Cloud optimized vector data format. It is a binary encoding format for geodata and holds a collection of Simple Features. + + + + +### Available Material +- Ryan Avery, Aimee Barciauskas, Development Seed, United States (2023). Technologies used to Create, Store and Access Geospatial Data in the Cloud. https://2023.ieeeigarss.org/view_paper.php?PaperNum=5306 +- ESIP Talk on Cloud Native Formats: https://www.youtube.com/watch?v=ac_UKunUrNM +- FOSS4G Talk On Cloud Native Formats (Matthew Hanson) + - https://talks.osgeo.org/foss4g-2023/talk/XBHYF9/ + - https://space.cloud68.co/s/xExLwCmzzKEcoB9?dir=undefined&path=%2FLumbardhi%2F28.06.2023&openfile=1356611 +- OGC White Paper on Cloud Native Formats (Chris Holmes, Scott Simmons): + - https://www.ogc.org/blog-article/towards-a-cloud-native-ogc/ + - https://www.ogc.org/blog-article/towards-a-cloud-native-geospatial-standards-baseline/ + - https://www.ogc.org/blog-article/the-latest-on-cloud-native-geospatial-standards-in-ogc/ +- Cloud-Native Geospatial Foundation initiative of Radiant Earth: + - https://cloudnativegeo.org +- [Tweet](https://twitter.com/opencholmes/status/1677144519215833089) from Chris Holmes (great example - postholer) + +## Scaling +- Show concepts of scaling +- Mention resource usage on cloud platforms. Track resources. Every processing has it's cost. + +Scaling refers to the process of increasing or decreasing the capacity or size of a system to handle a larger or smaller workload or data volume. Scaling does not necessarily means only in the direction of larger and bigger but also saving unnecessary costs in times when there is no traffic. In our context, scaling involves managing the growth of data, traffic, or processing requirements to ensure optimal performance and availability. + +## Horizontal vs vertical scaling + +Two classical approaches to scaling are horizontal and vertical: + +- **Horizontal scaling:** Also known as scaling out, horizontal scaling involves adding more machines or nodes to distribute the workload across a larger number of resources. This could mean adding more servers or instances to handle increased traffic or data processing demands. Horizontal scaling offers the advantage of improved fault tolerance and increased capacity, as the workload is spread across multiple resources. +- **Vertical scaling:** Also known as scaling up, vertical scaling involves increasing the capacity of an individual machine or resource. This can be achieved by upgrading the hardware, such as adding more powerful processors, memory, or storage, to handle the growing demands of the geospatial application. Vertical scaling is often suitable for applications with single-node architectures or when the workload cannot be easily distributed across multiple machines. + +Both horizontal and vertical scaling have their advantages and considerations. Horizontal scaling provides better scalability and fault tolerance, as it can handle increased traffic and processing by adding more resources. However, it may require additional effort to distribute and synchronize data across multiple nodes. Vertical scaling, on the other hand, simplifies data management as all resources are contained within a single node, but it may have limitations in terms of the maximum capacity a single machine can handle. + +In common workflows, a combination of both approaches is used to ensure optimal speed and resource utilization while being able to keep the simplicity of a workflow. + +## How to scaling + +There are many approaches how to handle scaling properly. + +todo: parallel computing section + +### Subscription vs. On-Demand usage + +**Subscription:** A subscription model involves a fixed, recurring payment made by the user to access and utilize the cloud platform's services over a specific period, typically monthly or annually. Under a subscription model, users typically commit to a predetermined level of resources and pay a regular fee regardless of the actual usage during that period. This model often provides cost predictability and may offer discounts or benefits for long-term commitments. Users can usually choose from various options and combinations of resources (eg. GPU, CPU, disk storage combinations). + +Advantages of the Subscription Model: + +- Cost Predictability: Users have a clear understanding of the ongoing costs as they pay a fixed fee. +- Potential Cost Savings: Subscriptions may offer discounts or cost benefits for longer-term commitments. +- Continuous Service Access: Users have continuous access to the subscribed services without the need for frequent renewal or payment management. + +**On-Demand Usage:** In an on-demand model, users pay for the cloud platform's services based on actual usage and consumption. Users are charged on a pay-as-you-go basis, where they pay for the resources or services they utilize in a given period. There are no long-term commitments or fixed fees. This model offers flexibility and scalability, allowing users to scale resources up or down as per their needs. + +Advantages of On-Demand Usage: + +- Flexibility: Users have the flexibility to adjust resources based on their varying demands, scaling up or down as required. +- Cost Efficiency: Users only pay for what they use, making it suitable for workloads with unpredictable or fluctuating resource needs. +- No Long-Term Commitments: On-demand models do not require users to commit to a specific period or predefined resource levels, allowing for agility and quick adjustments. + +Choosing between subscription and on-demand models depends on various factors, including the nature of your workloads, budget considerations, and usage patterns. Based on this (and data availability) users can choose a platform that suits their needs best. Reviewing the pricing details is an important part before selecting a working environment. + +### Cost of scalability + +Direct examples of computing on a workflow +(todo: based on actual workflow) + +### Memory consumption + +limitations and + +### Difference between platform usage and cloud directly + +TODO: Is this covered already in the platform lesson? Yes +Using platforms removes complexity and adds abstraction layers + + +## What to avoid and what are the limitations + +While scaling is providing many options and is essential for achieving results on a larger scale, there are some limitations to keep in mind and activities to even avoid. + +Costs: One of the main characteristics to consider are costs of computing. Scaling resources dynamically can lead to increased costs, especially if not properly managed. It is essential to monitor resource usage and set appropriate maximum scaling policies to ensure cost optimization. Failure to do so may result in unnecessary provisioning of resources, leading to higher expenses. The purchase of many computational resources can be easy, but very costly. Code optimization is important to ensure there are no memory leaks, unnecessary data storage, and other expensive operations. + +Data Access: In geospatial cloud workflows, one of the big challenges lies in data access and optimal data storage. The easy trap is in loading large portions of unnecessary data without applying correct filters ahead. Such data volumes can lead to more requirements on RAM or disk space resulting in higher costs of processing or longer times (and more computational time) just to load the data. + +Accessing data as files: Geospatial data are stored in many formats as discussed in this lesson and some are more appropriate to access in the cloud. The opportunity of first evaluating metadata before loading the whole dataset is great for saving time and money. + +Latency and Data Transfer: In distributed and scaled-out architectures, managing data transfer and minimizing latency can be crucial. Moving data between services or instances across different locations can introduce network overhead and impact application performance. Efficient data caching, or data partitioning strategies can help mitigate these challenges. + +Scaling Limits in the platform: While cloud platforms offer high scalability, there are still practical limits to consider. Every service or resource has its scalability limits, such as maximum instance count, storage capacity, or network throughput. It is important to understand these limitations and design your programs and applications accordingly. + +To mitigate these challenges and limitations, it's advisable to thoroughly plan and architect your application for scalability, leverage cloud-native tools and services, monitor resource usage and costs, and regularly test and optimize your scaling strategies. Additionally, staying updated with the latest advancements in cloud technologies and best practices will help you navigate the complexities of cloud-native scaling more effectively. + + +#### Animated Content: Tiling and application (drag and drop) + + + +## Quiz +What are cloud native data formats in EO and GIS + + [(X)] Cloud native data formats in EO should be compatible to cloud services (APIs, http requests, cloud storage), enable fast viewing and access to spatial sub regions. + [( )] Cloud native data formats in EO are exclusively designed to be compressed as much as possible, so that the least amount of storage space is necessary. + [( )] Cloud native data formats in EO have to be human readable when you open them in a text editor. + +Connect the cloud native data format and it's predecessor to it's spatial data type (https://www.ogc.org/blog-article/towards-a-cloud-native-geospatial-standards-baseline/, (https://cholmes.medium.com/an-overview-of-cloud-native-vector-c223845638e0) + +- [[raster] [n-dimensional raster] [vector]] +- [( ) ( ) (X) ] Shapefile +- [( ) (X) ( ) ] Zarr +- [( ) ( ) (X) ] GeoParquet/Arrow +- [( ) ( ) (X) ] Flatgeobuff +- [(X) ( ) ( ) ] GeoTIFF +- [( ) (X) ( ) ] NetCDF +- [(X) ( ) ( ) ] Cloud Optimized GeoTIFF (COG) + + +Lazy-loading is essential when working with large data collections, why? + +## Compression Quiz + +Consider a cloud provider, that should decide if compressing the data on its storage would let it spare money. + +If the compression process of a COG takes 0.05 CPU hour every 1 GB of data, the total amount of COGs on the storage takes 1200 TB and one CPU hour costs 0.05€ for the first 10000 CPU hour and then 0.03€ for the rest, how much would the compression process cost? + + [( )] 3000€ + [( )] 1200€ + [(X)] 2000€ + [( )] 2043€ + +Solution: +- 1 TB = 1000 GB following the international standard, see https://en.wikipedia.org/wiki/Gigabyte. +- The amount of data on the storage is 1200 TB * 1000 GB/TB = 1200000 GB +- If to compress 1 GB of data takes 0.05 CPU hour, to compress 1200000 GB it will take: 1200000 GB * 0.05 CPU hour / GB = 60000 CPU hour +- The first 10000 CPU hour cost 10000 CPU hour * 0.05 €/CPU hour = 500€ +- The rest is 50000 CPU hour and it will cost 50000 CPU hour * 0.03 €/CPU hour = 1500 € +- The total is 500 € + 1500 € = 2000 € + +In the same scenario, now we also consider the storage maintanance cost. If each TB of storage has a maintenance cost of 0.5 € every month, how much time would it take before the compression would let the cloud provider spare money? Consider a compression rate of 70%. + + [( )] ~ 9 months + [( )] ~ 10 months + [(X)] ~ 11 months + [( )] ~ 12 months + +Solution: +- Without compression, every month the storage would cost: 1200 TB * 0.5 €/TB = 600 € +- With a compression rate of 70%, the data would use 1200 TB * 0.7 = 840 TB of disk space +- With compression, every month the storage would cost: 840 TB * 0.5 €/TB = 420 € +- With compression, each month it's possible to spare 180 €. +- Since the compression process costs 2000 €, and each month costs 180 € less with it, it would take 2000 € / 180 €/month ~= 11 months to start to spare money. + + +Calculate the volume of data needed for the snow workflow according to the collections, time steps, bands, resolutions, spatial extent selected in the previous chapter, value types, format, compression estimate, etc. (this only if we define snow workflow already here) - Don't use snow workflow -> Set that information + diff --git a/_sources/3.1_data_processing/3.1_data_processing.md b/_sources/3.1_data_processing/3.1_data_processing.md new file mode 100644 index 0000000..5a558f4 --- /dev/null +++ b/_sources/3.1_data_processing/3.1_data_processing.md @@ -0,0 +1,124 @@ +# 3.1 Data Processing + +## Learning Objectives + +- Carry out an EO workflow on a cloud platform +- Select suitable data +- Chain processes to form an EO processing chain/workflow +- Visualize the results + +## Introduction + +In this lecture we are going to combine the knowledge and hands-on experience we have gathered so far to create a full EO workflow on a cloud platform. +We will + +- define a research question, +- choose and load the necessary data sources, +- define the data cube to our needs, +- use functions to process the data, +- visualize the result +- and track the resources we are consuming on the platform. + +## Case Study: Snow Cover in the Alps + +[![Introduction to EO Cloud Platforms](https://img.youtube.com/vi/bE_yz0VCLRE/0.jpg)](https://youtu.be/bE_yz0VCLRE)
+> Video content in cooperation with [Matteo Dall'Amico](https://waterjade.com/en/about-us/) (MobyGIS - Waterjade) and [Federico Di Paolo](https://waterjade.com/en/about-us/) (MobyGIS - Waterjade).
+> *“How much snow is stored in that mountain, when will it melt?” We answered this question using EO cloud platforms! Have a look: [EO4Alps Snow](https://waterjade.com/eo4alps-snow/)* + +### Research Question + +Snow serves as a water reservoir and is thus important for any hydrological management activity, such as irrigation planning, drink water supply or hydro power generation. Knowing precisely, when and where snow is present is a critical source of information for these acitivities. Satellite earth observation plays an important role in describing the snow cover, both globally and in local mountain ranges. This is due to it's ability to sense information throughout space (complete coverage of the globe) and time (repeated measurements). Our goal is to create a time series of the snow covered area of the catchment of interest. We will use this time series to compare it to the run off at the main outlet of the catchment. And study the relationship between snow dynamics and runoff. + +### Approach + +In this exercise we are going to derive the snow cover in an alpine catchment using Sentinel-2 data. Sentinel-2 carries an optical sensor, it is measuring the reflected light of the earths surface in differenct wavelenghts. At a 20 m spatial resolution and at a 6 day repeat rate. We are using the Green and SWIR bands to calculate the Normalized Difference Snow Index (NDSI). It is calculated as follows: + +$$ NDSI = \\frac {GREEN - SWIR} {GREEN + SWIR} $$ + +Snow typically has very high visible (VIS) reflectance and very low reflectance in the shortwave infrared (SWIR), a characteristic used to detect snow by distinguishing between snow and most cloud types. The NDSI expresses this phenomenon as a formula. It results in a value between -1 and 1. The higher the value is, the more probable it is that the surface is covered with snow. In order to create a binary snow map we apply a threshold of $NDSI < 0.4$. This is a commonly used value for discriminating snowcovered and snow free areas. Then we spatially aggregate the snow free and snow covered pixels in the catchment area by summing them up. In order to get the snow covered area of the catchment we multiply the number of snow covered pixels by the pixel resolution. Additionally, we have to deal with cloud cover. We use the Sentinel-2 cloud mask that is provided with the data and exclude all images that have a cloud cover over 25 % in our study area. Ideally we should fill the gaps the clouds generate, since they are introducing uncertainty. Nevertheless, for a first try our approach should be good enough to get a general idea about the snow cover in our area of interest. In the end we receive a time series with the snow covered area in the catchment. +The approach we are using is very basic. There are many assumptions and simplifications involved. A critical analysis of the workflow and possible improvements follows in Section [3.3 Validation](https://github.com/EO-College/cubes-and-clouds/blob/main/lectures/3.3_validation/3.3_validation.md#critically-analyse-a-workflow). + +### Workflow Description + +- get data: + - `load_collection()` +- calculate ndsi: + - `filter_bands()`, `reduce_dimension()` + - creates a -1 to 1 map, 1 signifies high probability of snow +- create binary snow classification (by threshold): + - `gt()`, `mask()`, + - create a binary snow classification: 0 = no snow, 1 = snow +- cloud masking: + - `eq()`, `mask()` + - create a binary cloud mask using the S2 scene classification + - Apply the mask to the binary snow map: 0 = no snow, 1 = snow, NA = cloud + - This gives us the **cloudfree snow covered area** for our catchment as an image time series (x, y, time, sca) +- catchment statistics - cloud pixels, no snow pixels, snow pixels: + - `eq()`, `gt()`, `merge_cubes()`, `aggregate_spatial()`, `sum()` + - create 3 binary data cubes: pixel in catchment, pixel cloud, pixel snow. + - merge the 3 cubes: x, y, time, band (catchment, cloud, snow) + - aggregate_spatial: sum up the values to get the total number of pixels per time step per band (catchment, cloud, snow) + - calculate the percentages of clouds and snow per time step. +- filter timeseries according to cloud coverage: + - filter the dates that have cloud coverages > 25% +- Plot the **time series of the snow covered area** in the catchment. + +#### Animated Content: Embed Process Graph + +## Exercise + +Now we have covered the most important topics of our use case in theory. Let's move on to produce some results! + +> :warning: The applied workflow is a simple approach used for educational reasons to learn how to use EO cloud platforms. + +[Exercise 3.1 Processing](https://github.com/EO-College/cubes-and-clouds/blob/main/lectures/3.1_data_processing/exercises/31_data_processing.ipynb) + +## Quiz + +What is the city at the outlet of the catchment? _Answer in the exercise: 31_data_processing.ipynb section **'Region of Interest'**_ + + [(x)] Meran + [( )] Innsbruck + [( )] Grenoble + +How many images are available in the time range ("2018-02-01" and "2018-06-30")? _Answer in the exercise: 31_data_processing.ipynb section **'Calculate Catchment Statistics'**, might require you to run some additional code blocks_ + + [( )] 0-20 + [( )] 21-40 + [(x)] 41-60 + +How many pixels are in the spatially aggregated data cube? (time * x * y * bands) _Answer in the exercise: 31_data_processing.ipynb section **'Calculate Catchment Statistics'**_ + + [( )] 50,000,000 - 100,000,000 + [(x)] 100,000,001 - 200,000,000 + [( )] 200,000,001 - 500,000,000 + +How many resources did the computation of the data cube take? _Answer in the exercise: 31_data_processing.ipynb section **'Calculate Catchment Statistics'**_ + + [(x)] 0 - 20 + [( )] 21 - 100 + [( )] 101 - 200 + +How many snow covered pixels are there across all time steps? _Answer in the exercise: 31_data_processing.ipynb section **'Calculate Catchment Statistics'**_ + + [( )] 10,000,000 - 50,000,000 + [(x)] 50,000,001 - 100,000,000 + [( )] 100,000,001 - 200,000,000 + +At which time step is the maximum snow cover reached? _Answer in the exercise: 31_data_processing.ipynb section **'Calculate Catchment Statistics'**_ + + [( )] 2018-02-13 + [( )] 2018-02-21 + [(x)] 2018-03-08 + +What is the number of snow covered pixels on that date? _Answer in the exercise: 31_data_processing.ipynb section **'Calculate Catchment Statistics'**_ + + [( )] 4,000,001 - 6,000,000 + [( )] 0 - 2,000,000 + [(x)] 2,000,001 - 4,000,000 + +What does that represent in area (km2)? _Answer in the exercise: 31_data_processing.ipynb section **'Calculate Catchment Statistics'**_ + + [(x)] 201 - 400 + [( )] 0 - 200 + [( )] 401 - 600 diff --git a/_sources/3.1_data_processing/3.1_exercises/31_data_processing.ipynb b/_sources/3.1_data_processing/3.1_exercises/31_data_processing.ipynb new file mode 100644 index 0000000..60cc87e --- /dev/null +++ b/_sources/3.1_data_processing/3.1_exercises/31_data_processing.ipynb @@ -0,0 +1,2126 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "0fbba1f4-9e0b-4c47-9e5c-19dbae956a0c", + "metadata": {}, + "source": [ + "\"Cubes" + ] + }, + { + "cell_type": "markdown", + "id": "0c6aed2f-1493-4636-a124-03c81b28bc52", + "metadata": { + "tags": [] + }, + "source": [ + "# 3.1 Data Processing\n", + "In this exercise we will build a complete EO workflow on a cloud platform; from data access to obtaining the result. In this example we will analyse snow cover in the Alps.\n", + "\n", + "We are going to follow these steps in our analysis:\n", + "\n", + "- Load satellite collections\n", + "- Specify the spatial, temporal extents and the features we are interested in\n", + "- Process the satellite data to retrieve snow cover information\n", + "- aggregate information to get catchment statistics over time\n", + "- Visualize and analyse the results\n", + "\n", + "More information on the openEO Python Client: https://open-eo.github.io/openeo-python-client/index.html" + ] + }, + { + "cell_type": "markdown", + "id": "cfe1892d-f9f9-4e9a-8d82-db000c59b6ce", + "metadata": { + "tags": [] + }, + "source": [ + "## Libraries" + ] + }, + { + "cell_type": "markdown", + "id": "c7a11bc4-0c90-4357-ae72-0075ec479f7f", + "metadata": {}, + "source": [ + "We start by creating the shared folders and data files needed to complete the exercise using the following shell commands" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "630caf52-0967-43b0-aa89-4900310c7ffb", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "!cp -r $DATA_PATH/31_results/ $HOME/\n", + "!cp -r $DATA_PATH/31_data/ $HOME/" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "1abf270c-d73e-4109-854c-3cf36a1b36d7", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "# platform libraries\n", + "import openeo\n", + "\n", + "# utility libraries\n", + "from datetime import date\n", + "import numpy as np\n", + "import xarray as xr\n", + "import rioxarray\n", + "import json\n", + "import pandas as pd\n", + "import matplotlib.pyplot as plt\n", + "import geopandas as gpd\n", + "import leafmap.foliumap as leafmap" + ] + }, + { + "cell_type": "markdown", + "id": "f9d64c64-39db-4869-917c-ed24bef18204", + "metadata": { + "tags": [] + }, + "source": [ + "## Connect to a cloud platform\n", + "Connect to the Copernicus Dataspace Ecosystem. Being connected allows for data discovery." + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "86afd551-857e-4129-a2ee-39a933255f34", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "conn = openeo.connect('https://openeo.dataspace.copernicus.eu/')" + ] + }, + { + "cell_type": "markdown", + "id": "0ed52c6b-9279-4563-8b1d-b51b8bdf8d63", + "metadata": {}, + "source": [ + "And login. Being logged in allows to use the full range of functionality including processing!" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "bc9dbe7a-ff09-439c-9aef-4004fed80820", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Authenticated using refresh token.\n" + ] + }, + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "conn.authenticate_oidc()" + ] + }, + { + "cell_type": "markdown", + "id": "d8bfd388-c854-49f1-88b7-4879d5f5c2e1", + "metadata": {}, + "source": [ + "Check if the login worked." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "49e8aa86-c476-413c-a186-6f8df29b7429", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "conn.describe_account()" + ] + }, + { + "cell_type": "markdown", + "id": "1e95d456-a831-4cca-ab1f-5a2ec8805291", + "metadata": {}, + "source": [ + "## Region of Interest" + ] + }, + { + "cell_type": "markdown", + "id": "3a324185-d64a-4e69-9601-8f63af0805ac", + "metadata": {}, + "source": [ + "Our region of interest is the Val Passiria Catchment in the South Tyrolian Alps (Italy). Let's load the catchment area." + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "b1679451-2868-4109-ab17-38532a8033e3", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "catchment_outline = gpd.read_file('31_data/catchment_outline.geojson')" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "3cd3057b-39f8-4644-886d-bdbad43c6cb5", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "data": { + "text/html": [ + "" + ], + "text/plain": [ + "" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "center = (float(catchment_outline.centroid.y), float(catchment_outline.centroid.x))\n", + "m = leafmap.Map(center=center, zoom=10)\n", + "m.add_vector('31_data/catchment_outline.geojson', layer_name=\"catchment\")\n", + "m" + ] + }, + { + "cell_type": "markdown", + "id": "8d2e24bb-ae0a-4033-bebf-66ca9aa4e5d1", + "metadata": {}, + "source": [ + "**Quiz hint: Look closely at the end of the displayed catchment area to identify the outlet**" + ] + }, + { + "cell_type": "markdown", + "id": "284cd7b6-e646-4950-b747-4e1a734f148b", + "metadata": {}, + "source": [ + "## Inspect Metadata\n", + "We need to set the following configurations to define the content of the data cube we want to access:\n", + "- dataset name\n", + "- band names\n", + "- time range\n", + "- the area of interest specifed via bounding box coordinates\n", + "- spatial resolution\n", + "\n", + "To select the correct dataset we can first list all the available datasets." + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "7a3592c5-f078-48c0-b039-270fe99f48d6", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "['SENTINEL3_OLCI_L1B', 'SENTINEL3_SLSTR', 'SENTINEL_5P_L2', 'SENTINEL2_L1C', 'SENTINEL2_L2A', 'SENTINEL1_GRD', 'COPERNICUS_30', 'LANDSAT8_L2']\n" + ] + } + ], + "source": [ + "print(conn.list_collection_ids())" + ] + }, + { + "cell_type": "markdown", + "id": "958ff432-b8cb-45b5-b6c4-68c1e0f92640", + "metadata": {}, + "source": [ + "We want to use the Sentinel-2 L2A product. It's name is `'SENTINEL2_L2A'`. \n", + "\n", + "We get the metadata for this collection as follows. This is an important step to familiarize yourself with the data collection (e.g. learn the band names)." + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "7bf6babb-457b-4a09-81d5-092b92c32d5d", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + " \n", + " \n", + " \n", + " \n", + " " + ], + "text/plain": [ + "{'assets': {'thumbnail': {'href': 'https://www.esa.int/var/esa/storage/images/esa_multimedia/images/2022/07/tallinn_estonia/24383281-1-eng-GB/Tallinn_Estonia_pillars.jpg',\n", + " 'roles': ['thumbnail'],\n", + " 'title': 'Sentinel 2 L2A',\n", + " 'type': 'image/png'}},\n", + " 'cube:dimensions': {'bands': {'type': 'bands',\n", + " 'values': ['B01',\n", + " 'B02',\n", + " 'B03',\n", + " 'B04',\n", + " 'B05',\n", + " 'B06',\n", + " 'B07',\n", + " 'B08',\n", + " 'B8A',\n", + " 'B09',\n", + " 'B11',\n", + " 'B12',\n", + " 'WVP',\n", + " 'AOT',\n", + " 'SCL',\n", + " 'sunAzimuthAngles',\n", + " 'sunZenithAngles',\n", + " 'viewAzimuthMean',\n", + " 'viewZenithMean']},\n", + " 't': {'extent': ['2015-07-04T00:00:00Z', None], 'type': 'temporal'},\n", + " 'x': {'axis': 'x',\n", + " 'extent': [-180, 180],\n", + " 'reference_system': {'$schema': 'https://proj.org/schemas/v0.2/projjson.schema.json',\n", + " 'area': 'World',\n", + " 'bbox': {'east_longitude': 180,\n", + " 'north_latitude': 90,\n", + " 'south_latitude': -90,\n", + " 'west_longitude': -180},\n", + " 'coordinate_system': {'axis': [{'abbreviation': 'Lat',\n", + " 'direction': 'north',\n", + " 'name': 'Geodetic latitude',\n", + " 'unit': 'degree'},\n", + " {'abbreviation': 'Lon',\n", + " 'direction': 'east',\n", + " 'name': 'Geodetic longitude',\n", + " 'unit': 'degree'}],\n", + " 'subtype': 'ellipsoidal'},\n", + " 'datum': {'ellipsoid': {'inverse_flattening': 298.257223563,\n", + " 'name': 'WGS 84',\n", + " 'semi_major_axis': 6378137},\n", + " 'name': 'World Geodetic System 1984',\n", + " 'type': 'GeodeticReferenceFrame'},\n", + " 'id': {'authority': 'OGC', 'code': 'Auto42001', 'version': '1.3'},\n", + " 'name': 'AUTO 42001 (Universal Transverse Mercator)',\n", + " 'type': 'GeodeticCRS'},\n", + " 'step': 10,\n", + " 'type': 'spatial'},\n", + " 'y': {'axis': 'y',\n", + " 'extent': [-56, 83],\n", + " 'reference_system': {'$schema': 'https://proj.org/schemas/v0.2/projjson.schema.json',\n", + " 'area': 'World',\n", + " 'bbox': {'east_longitude': 180,\n", + " 'north_latitude': 90,\n", + " 'south_latitude': -90,\n", + " 'west_longitude': -180},\n", + " 'coordinate_system': {'axis': [{'abbreviation': 'Lat',\n", + " 'direction': 'north',\n", + " 'name': 'Geodetic latitude',\n", + " 'unit': 'degree'},\n", + " {'abbreviation': 'Lon',\n", + " 'direction': 'east',\n", + " 'name': 'Geodetic longitude',\n", + " 'unit': 'degree'}],\n", + " 'subtype': 'ellipsoidal'},\n", + " 'datum': {'ellipsoid': {'inverse_flattening': 298.257223563,\n", + " 'name': 'WGS 84',\n", + " 'semi_major_axis': 6378137},\n", + " 'name': 'World Geodetic System 1984',\n", + " 'type': 'GeodeticReferenceFrame'},\n", + " 'id': {'authority': 'OGC', 'code': 'Auto42001', 'version': '1.3'},\n", + " 'name': 'AUTO 42001 (Universal Transverse Mercator)',\n", + " 'type': 'GeodeticCRS'},\n", + " 'step': 10,\n", + " 'type': 'spatial'}},\n", + " 'description': 'SENTINEL-2 is a wide-swath, high-resolution, multi-spectral imaging mission, supporting Copernicus Land Monitoring studies, including the monitoring of vegetation, soil and water cover, as well as observation of inland waterways and coastal areas. The SENTINEL-2 Multispectral Instrument (MSI) samples 13 spectral bands: four bands at 10 metres, six bands at 20 metres and three bands at 60 metres spatial resolution.\\n The level 2A data is atmospherically corrected using Sen2Cor.',\n", + " 'extent': {'spatial': {'bbox': [[-180, -56, 180, 83]]},\n", + " 'temporal': {'interval': [['2015-07-04T00:00:00Z', None]]}},\n", + " 'id': 'SENTINEL2_L2A',\n", + " 'keywords': ['COPERNICUS',\n", + " 'ESA',\n", + " 'Orthoimagery',\n", + " 'Sentinel-2',\n", + " 'MSI',\n", + " 'Level-2A',\n", + " 'Radiometry',\n", + " 'Plant Resource',\n", + " 'TOC'],\n", + " 'license': 'proprietary',\n", + " 'links': [{'href': 'https://sentinels.copernicus.eu/documents/247904/690755/Sentinel_Data_Legal_Notice',\n", + " 'rel': 'license',\n", + " 'type': 'application/pdf'},\n", + " {'href': 'https://documentation.dataspace.copernicus.eu/Data/Sentinel2.html',\n", + " 'rel': 'alternate',\n", + " 'type': 'application/html'},\n", + " {'href': 'https://dataspace.copernicus.eu/browser/?zoom=11&lat=45.36638&lng=12.49832&themeId=DEFAULT-THEME&visualizationUrl=https%3A%2F%2Fsh.dataspace.copernicus.eu%2Fogc%2Fwms%2F28b654e7-8912-4e59-9e58-85b58d768b3a&datasetId=S2_L2A_CDAS&fromTime=2023-02-07T00%3A00%3A00.000Z&toTime=2023-02-07T23%3A59%3A59.999Z&layerId=1_TRUE_COLOR&demSource3D=%22MAPZEN%22&cloudCoverage=10',\n", + " 'rel': 'browser',\n", + " 'title': 'CDSE Data-Browser'},\n", + " {'href': 'https://catalogue.dataspace.copernicus.eu/resto/api/collections/Sentinel2/search.json?cloudCover=[0,10]&productType=S2MSI2A&startDate=2022-06-11&completionDate=2022-06-22&maxRecords=10',\n", + " 'rel': 'opensearch',\n", + " 'title': 'Opensearch product query'},\n", + " {'href': 'https://sentinels.copernicus.eu/web/sentinel/user-guides/sentinel-2-msi/product-types/level-2a',\n", + " 'rel': 'about',\n", + " 'title': 'User guide'},\n", + " {'href': 'https://services.sentinel-hub.com/ogc/wmts/7d34803f-511c-4caf-9438-6d72f32c8174',\n", + " 'rel': 'wmts',\n", + " 'title': 'Web Map Tile Service',\n", + " 'wmts:dimensions': {'warnings': True},\n", + " 'wmts:layer': 'TRUE-COLOR'},\n", + " {'href': 'https://openeo.dataspace.copernicus.eu/openeo/1.2/collections',\n", + " 'rel': 'root'},\n", + " {'href': 'https://openeo.dataspace.copernicus.eu/openeo/1.2/collections',\n", + " 'rel': 'parent'},\n", + " {'href': 'https://openeo.dataspace.copernicus.eu/openeo/1.2/collections/SENTINEL2_L2A',\n", + " 'rel': 'self'}],\n", + " 'mission': 'Sentinel-2',\n", + " 'name': 'SENTINEL2_L2A',\n", + " 'providers': [{'name': 'ESA',\n", + " 'roles': ['producer'],\n", + " 'url': 'https://esa.int/'},\n", + " {'name': 'CDSE',\n", + " 'roles': ['processor', 'host'],\n", + " 'url': 'https://dataspace.copernicus.eu/'}],\n", + " 'stac_extensions': ['https://stac-extensions.github.io/datacube/v2.2.0/schema.json',\n", + " 'https://stac-extensions.github.io/eo/v1.1.0/schema.json'],\n", + " 'stac_version': '0.9.0',\n", + " 'summaries': {'constellation': ['sentinel-2'],\n", + " 'eo:bands': [{'aliases': ['IMG_DATA_Band_B01_60m_Tile1_Data'],\n", + " 'center_wavelength': 0.4427,\n", + " 'common_name': 'coastal',\n", + " 'full_width_half_max': 0.021,\n", + " 'gsd': 60,\n", + " 'name': 'B01',\n", + " 'offset': 0,\n", + " 'scale': 0.0001,\n", + " 'type': 'int16',\n", + " 'unit': '1'},\n", + " {'aliases': ['IMG_DATA_Band_B02_10m_Tile1_Data'],\n", + " 'center_wavelength': 0.4924,\n", + " 'common_name': 'blue',\n", + " 'full_width_half_max': 0.066,\n", + " 'gsd': 10,\n", + " 'name': 'B02',\n", + " 'offset': 0,\n", + " 'scale': 0.0001,\n", + " 'type': 'int16',\n", + " 'unit': '1'},\n", + " {'aliases': ['IMG_DATA_Band_B03_10m_Tile1_Data'],\n", + " 'center_wavelength': 0.5598,\n", + " 'common_name': 'green',\n", + " 'full_width_half_max': 0.036,\n", + " 'gsd': 10,\n", + " 'name': 'B03',\n", + " 'offset': 0,\n", + " 'scale': 0.0001,\n", + " 'type': 'int16',\n", + " 'unit': '1'},\n", + " {'aliases': ['IMG_DATA_Band_B04_10m_Tile1_Data'],\n", + " 'center_wavelength': 0.6646,\n", + " 'common_name': 'red',\n", + " 'full_width_half_max': 0.031,\n", + " 'gsd': 10,\n", + " 'name': 'B04',\n", + " 'offset': 0,\n", + " 'scale': 0.0001,\n", + " 'type': 'int16',\n", + " 'unit': '1'},\n", + " {'aliases': ['IMG_DATA_Band_B05_20m_Tile1_Data'],\n", + " 'center_wavelength': 0.7041,\n", + " 'full_width_half_max': 0.015,\n", + " 'gsd': 20,\n", + " 'name': 'B05',\n", + " 'offset': 0,\n", + " 'scale': 0.0001,\n", + " 'type': 'int16',\n", + " 'unit': '1'},\n", + " {'aliases': ['IMG_DATA_Band_B06_20m_Tile1_Data'],\n", + " 'center_wavelength': 0.7405,\n", + " 'full_width_half_max': 0.015,\n", + " 'gsd': 20,\n", + " 'name': 'B06',\n", + " 'offset': 0,\n", + " 'scale': 0.0001,\n", + " 'type': 'int16',\n", + " 'unit': '1'},\n", + " {'aliases': ['IMG_DATA_Band_B07_20m_Tile1_Data'],\n", + " 'center_wavelength': 0.7828,\n", + " 'full_width_half_max': 0.02,\n", + " 'gsd': 20,\n", + " 'name': 'B07',\n", + " 'offset': 0,\n", + " 'scale': 0.0001,\n", + " 'type': 'int16',\n", + " 'unit': '1'},\n", + " {'aliases': ['IMG_DATA_Band_B08_10m_Tile1_Data'],\n", + " 'center_wavelength': 0.8328,\n", + " 'common_name': 'nir',\n", + " 'full_width_half_max': 0.106,\n", + " 'gsd': 10,\n", + " 'name': 'B08',\n", + " 'offset': 0,\n", + " 'scale': 0.0001,\n", + " 'type': 'int16',\n", + " 'unit': '1'},\n", + " {'aliases': ['IMG_DATA_Band_B8A_20m_Tile1_Data'],\n", + " 'center_wavelength': 0.8647,\n", + " 'common_name': 'nir08',\n", + " 'full_width_half_max': 0.021,\n", + " 'gsd': 20,\n", + " 'name': 'B8A',\n", + " 'offset': 0,\n", + " 'scale': 0.0001,\n", + " 'type': 'int16',\n", + " 'unit': '1'},\n", + " {'aliases': ['IMG_DATA_Band_B09_60m_Tile1_Data'],\n", + " 'center_wavelength': 0.9451,\n", + " 'common_name': 'nir09',\n", + " 'full_width_half_max': 0.02,\n", + " 'gsd': 60,\n", + " 'name': 'B09',\n", + " 'offset': 0,\n", + " 'scale': 0.0001,\n", + " 'type': 'int16',\n", + " 'unit': '1'},\n", + " {'aliases': ['IMG_DATA_Band_B11_20m_Tile1_Data'],\n", + " 'center_wavelength': 1.6137,\n", + " 'common_name': 'swir16',\n", + " 'full_width_half_max': 0.091,\n", + " 'gsd': 20,\n", + " 'name': 'B11',\n", + " 'offset': 0,\n", + " 'scale': 0.0001,\n", + " 'type': 'int16',\n", + " 'unit': '1'},\n", + " {'aliases': ['IMG_DATA_Band_B12_20m_Tile1_Data'],\n", + " 'center_wavelength': 2.2024,\n", + " 'common_name': 'swir22',\n", + " 'full_width_half_max': 0.175,\n", + " 'gsd': 20,\n", + " 'name': 'B12',\n", + " 'offset': 0,\n", + " 'scale': 0.0001,\n", + " 'type': 'int16',\n", + " 'unit': '1'},\n", + " {'aliases': ['IMG_DATA_Band_WVP_10m_Tile1_Data'], 'name': 'WVP'},\n", + " {'aliases': ['IMG_DATA_Band_AOT_20m_Tile1_Data'], 'name': 'AOT'},\n", + " {'aliases': ['IMG_DATA_Band_SCL_20m_Tile1_Data'], 'name': 'SCL'},\n", + " {'aliases': ['S2_Level-2A_Tile1_Metadata##0', 'SAA'],\n", + " 'name': 'sunAzimuthAngles',\n", + " 'unit': 'deg'},\n", + " {'aliases': ['S2_Level-2A_Tile1_Metadata##1', 'SZA'],\n", + " 'name': 'sunZenithAngles',\n", + " 'unit': 'deg'},\n", + " {'aliases': ['S2_Level-2A_Tile1_Metadata##2',\n", + " 'VAA',\n", + " 'approximateViewAzimuth'],\n", + " 'name': 'viewAzimuthMean',\n", + " 'unit': 'deg'},\n", + " {'aliases': ['S2_Level-2A_Tile1_Metadata##3',\n", + " 'VZA',\n", + " 'approximateViewZenith'],\n", + " 'name': 'viewZenithMean',\n", + " 'unit': 'deg'}],\n", + " 'eo:cloud_cover': {'maximum': 100, 'minimum': 0},\n", + " 'gsd': [10],\n", + " 'instrument': ['msi'],\n", + " 'platform': ['sentinel-2a', 'sentinel-2b']},\n", + " 'title': 'Sentinel-2 L2A'}" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "conn.describe_collection(\"SENTINEL2_L2A\")" + ] + }, + { + "cell_type": "markdown", + "id": "ed91226f-a9ea-45d5-9663-98ed56fb067f", + "metadata": {}, + "source": [ + "## Define a workflow\n", + "We will define our workflow now. And chain all the processes together we need for analyzing the snow cover in the catchment.\n", + "\n", + "- Load a data cube with specific filters\n", + "- Calculate the Normalized Difference Snow Index\n", + "- Classify snow and no-snow using a threshold yielding the Snow Covered Area\n", + "- Create and apply a cloud mask to remove cloudy pixels\n", + "- Visualize one date of the snow map and crop it to the exact catchment outline\n", + "- Calculate catchment statistics to get a timeseries on snow cover and cloud cover\n", + "- Filter the time series by the cloud percentage and visualize the time series graph\n", + "- " + ] + }, + { + "cell_type": "markdown", + "id": "f786a79c-897d-4858-83c0-af9d4c4efede", + "metadata": {}, + "source": [ + "### Define the data cube\n", + "We define all extents of our data cube. We use the catchment as spatial extent. As a time range we will focus on the snow melting season 2018, in particular from Febraury to June 2018. We are only interested in the green and short wave infrared band, band 3 and 11. And we directly remove time slices with a cloud cover >= 90 %." + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "139b411c-b401-4af8-9f7a-d046e24e00e1", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "data": { + "text/plain": [ + "minx 11.020833\n", + "miny 46.653599\n", + "maxx 11.366667\n", + "maxy 46.954167\n", + "Name: 0, dtype: float64" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "bbox = catchment_outline.bounds.iloc[0]\n", + "bbox" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "2a136b78-6eba-42df-a71b-f1b86c4a27ea", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "from openeo.processes import lte\n", + "collection = 'SENTINEL2_L2A'\n", + "spatial_extent = {'west':bbox[0],'east':bbox[2],'south':bbox[1],'north':bbox[3],'crs':4326}\n", + "temporal_extent = [\"2018-02-01\", \"2018-06-30\"]\n", + "bands = ['B03', 'B11', 'SCL']\n", + "properties={\"eo:cloud_cover\": lambda x: lte(x, 90)}" + ] + }, + { + "cell_type": "markdown", + "id": "450db68c-ffdc-4037-9885-045afec86637", + "metadata": { + "tags": [] + }, + "source": [ + "### Load the data cube\n", + "We have defined the extents we are interested in. Now we use these definitions to load the data cube." + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "7d89755c-ef86-464f-a5e0-187bd44dfd53", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "s2 = conn.load_collection(collection,\n", + " spatial_extent=spatial_extent,\n", + " bands=bands,\n", + " temporal_extent=temporal_extent,\n", + " properties=properties)" + ] + }, + { + "cell_type": "markdown", + "id": "f93a67e6-6746-4de7-9142-635eee9a1196", + "metadata": {}, + "source": [ + "### NDSI - Normalized Difference Snow Index\n", + "The Normalized Difference Snow Index (NDSI) is computed as:\n", + "\n", + "$$ NDSI = \\frac {GREEN - SWIR} {GREEN +SWIR} $$\n", + "\n", + "We have created a Sentinel-2 data cube with bands B03 (green) and B11 (SWIR). We will use the green and SWIR band to calculate a the NDSI. This process is reducing the band dimension of the data cube to generate new information, the NDSI." + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "id": "26cd85ae-fddf-42c5-975a-1e911420e063", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + " \n", + " \n", + " \n", + " \n", + " " + ], + "text/plain": [ + "" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "green = s2.band(\"B03\")\n", + "swir = s2.band(\"B11\")\n", + "ndsi = (green - swir) / (green + swir)\n", + "ndsi" + ] + }, + { + "cell_type": "markdown", + "id": "746ef0f4-9c9f-4884-8806-730d91261acb", + "metadata": {}, + "source": [ + "### Creating the Snow Map\n", + "So far we have a time series map of NDSI values. We are intereseted in the presence of snow though. Ideally in a binary classification: snow and no snow.\n", + "To achieve this we are setting a threshold of 0.4 on the NDSI. This gives us a binary snow map." + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "id": "591d44b1-20d1-447a-a956-291495f7a1c1", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + " \n", + " \n", + " \n", + " \n", + " " + ], + "text/plain": [ + "" + ] + }, + "execution_count": 16, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "snowmap = ( ndsi > 0.4 ) * 1.0 # the addition of \"* 1.00\" is a workaround for a backend specific implementation problem. Once solved on the CDSE openEO backend it could be removed\n", + "snowmap" + ] + }, + { + "cell_type": "markdown", + "id": "1b4ae963-05f1-48d0-937f-f162783f3fe3", + "metadata": {}, + "source": [ + "### Creating a cloud mask\n", + "\n", + "We are going to use the Scene Classification of Sentinel-2, called the \"SCL\" band, for creating a cloud mask and then applying it to the NDSI. The values we are interested in are: `8 = cloud medium probability`, `9 = cloud high probability`, `3 = cloud shadow`\n", + "\n", + "Here is more information on the Scene Classification of Sentinel-2: https://sentinels.copernicus.eu/web/sentinel/technical-guides/sentinel-2-msi/level-2a/algorithm-overview" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "id": "99556d13-fae5-4726-a656-979a1945e7c1", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + " \n", + " \n", + " \n", + " \n", + " " + ], + "text/plain": [ + "" + ] + }, + "execution_count": 17, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "scl_band = s2.band(\"SCL\")\n", + "cloud_mask = ( (scl_band == 8) | (scl_band == 9) | (scl_band == 3) ) * 1.0\n", + "cloud_mask" + ] + }, + { + "cell_type": "markdown", + "id": "8b2219e0-12c1-487f-b95c-cd96743f866d", + "metadata": {}, + "source": [ + "The SCL layer has a ground sample distance of 20 meter while the other bands have 10 meter GSD" + ] + }, + { + "cell_type": "markdown", + "id": "8e7d0d18-2c39-4b4f-b493-d0370d7f1c92", + "metadata": {}, + "source": [ + "### Applying the cloud mask to the snowmap\n", + "We will mask out all pixels that are covered by clouds. This will result in: 0 = no_snow, 1 = snow, 2 = cloud" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "id": "8e188e75-57d6-4140-920d-937bea779934", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + " \n", + " \n", + " \n", + " \n", + " " + ], + "text/plain": [ + "" + ] + }, + "execution_count": 18, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "snowmap_cloudfree = snowmap.mask(cloud_mask,replacement=2) # replacement is null by default\n", + "snowmap_cloudfree" + ] + }, + { + "cell_type": "markdown", + "id": "61be5bad-fce6-46b3-85f3-cbfc15d309f0", + "metadata": {}, + "source": [ + "### Mask Polygon: From Bounding Box to Shape\n", + "We have a cloud masked snow map data cube now. In order to keep only pixels within the exact chatchment boundaries we mask to the outline of the catchment. Values outside of the boundaries are set to NA." + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "id": "09b8c9ff-0f11-43ae-81c7-c323365fe3ac", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "data": { + "image/svg+xml": [ + "" + ], + "text/plain": [ + "" + ] + }, + "execution_count": 19, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "catchment_outline['geometry'][0]" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "id": "c6cc66f6-0f09-46e4-b687-f42703da647f", + "metadata": { + "scrolled": true, + "tags": [] + }, + "outputs": [], + "source": [ + "snowmap_cloudfree_masked = snowmap_cloudfree.mask_polygon(catchment_outline['geometry'][0])" + ] + }, + { + "cell_type": "markdown", + "id": "ce3b6b14-7f09-456d-9162-8c5f688c67e5", + "metadata": {}, + "source": [ + "### Visualize one time step of the timeseries\n", + "Let's have a first look at a time slice of our snow map. So far we have not computed anything. We have only defined a set of functions that are going to be applied in sequence. This makes up our workflow or processing graph. \n", + "To reduce the data volume which we are going to download we are only selecting one time step of our data cube.\n", + "\n", + "**In order to start the processing we have to tell the cloud platform specifically that we want to execute our workflow. In this case we want to start the processing directly without registering a job on the backend. This solution is good for small amounts of data. For larger processing tasks batch jobs are preferred (we'll do that later).**" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "id": "891968e3-ddfe-4dad-bba7-af22f8a5f16e", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "snowmap_cloudfree_1d = snowmap_cloudfree_masked.filter_temporal('2018-02-10', '2018-02-12')\n", + "snowmap_cloudfree_1d.download('31_results/snowmap_cloudfree_1d.nc')" + ] + }, + { + "cell_type": "markdown", + "id": "25a5d46c-4778-4c8a-bdbe-8041c7530f12", + "metadata": {}, + "source": [ + "Once the processing is done on the cloud and the data is downloaded we can load the file into our working environment and plot it!\n", + "\n", + "The area of interest is spread across two S2 tiles. This is visibile in the northern part of the plot because we chose one specific acquisition date where there is not data available for the northern tile." + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "id": "405e1ee1-febf-4ec6-83d4-5bc644756169", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 22, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAk0AAAHFCAYAAADv8c1wAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8g+/7EAAAACXBIWXMAAA9hAAAPYQGoP6dpAACizUlEQVR4nO2deVxU9frHPwMKKAhKIogLIpqKuCAai3u51jWXSixz6apdb5p73UxNtNSyXDM1uyqpZdTPtdQUdw20UtFyRUVBhVxKUEsQ5vv7gzvTmTPnnDlnzpn9eb9e5+XM93y3c2bkfOZ5nu/z1THGGAiCIAiCIAhJvBw9AYIgCIIgCFeARBNBEARBEIQMSDQRBEEQBEHIgEQTQRAEQRCEDEg0EQRBEARByIBEE0EQBEEQhAxINBEEQRAEQciARBNBEARBEIQMSDQRBEEQBEHIgEQT4bJkZGQgJSUFd+/etfvYe/fuxT//+U80btwY/v7+qFWrFnr37o1jx44J1j9+/Di6dOmCgIAAVK1aFf369cPly5fN6i1cuBD9+vVDZGQkdDodOnXqJDqHffv2oWvXrqhRowYCAgLQvHlzLF68GGVlZbKvQ868Lly4gEmTJiEuLg5Vq1ZFcHAw2rZti//7v/+TPc69e/fw5ptvolu3bggJCYFOp0NKSopg3cOHD2P48OGIi4uDr68vdDodrly5InssdyUlJQU6nQ63b9+2WLdTp04YOnSo8f2VK1eg0+mwf/9+202QIDwAEk2Ey5KRkYEZM2Y4RDQtW7YMV65cwdixY7F9+3YsWrQIN2/eREJCAvbu3WtS99y5c+jUqRNKSkrw9ddfY9WqVbhw4QLat2+PW7dumdRdvnw5rl69iieffBIhISGi4+/evRtdunRBaWkpPvvsM2zevBmdOnXC2LFjMWHCBFnXIHdeu3btwrZt2/Dcc8/hm2++wRdffIGGDRvihRdewMyZM2WNdefOHaxYsQLFxcXo06ePZN09e/Zg9+7dqFu3LpKSkmT1TxAEYRcYQbgoH374IQPAcnJy7D72b7/9ZlZ27949Fhoayp566imT8hdeeIFVr16dFRYWGsuuXLnCKlasyN58802TumVlZcbXTZs2ZR07dhQcf+DAgczX15fdv3/fpLxbt24sMDBQ1jXIndetW7eYXq83a//MM8+wypUrs4cPH1ocS6/XG/u4desWA8CmT58uWJd7Dxz5GTPG2IMHDxwyrhDTp09nANitW7cs1u3YsSMbMmSI8X1OTg4DwPbt22e7CRKEB0CWJsIlSUlJwRtvvAEARleWPd0PNWrUMCsLCAhAdHQ08vLyjGWlpaX47rvv8NxzzyEwMNBYHhERgc6dO2PTpk0mfXh5yfsvWbFiRfj4+KBSpUom5VWrVoWfn5/F9krmVb16deh0OrM+nnjiCfz555/4/fffLY5n+HzkIPceKOXo0aPo1asXHnvsMfj5+SEqKgrjxo0znje4v44fP47nn38e1apVQ1RUFADg8uXLGDBgAMLDw+Hr64vQ0FA89dRTyMrKsslcpcjLy0O/fv0QGBiIoKAgvPzyy2YWS4IgbEMFR0+AIKxh+PDh+P333/Hxxx9j48aNqFmzJgAgOjpatA1jTHa8T4UKyv9rFBYW4vjx43jyySeNZZcuXcJff/2F5s2bm9Vv3rw50tPT8fDhQ1lCh8vIkSOxfv16jBkzBm+//TYqV66Mb7/9Fps2bcKcOXMsttdiXvv27UNISIiggHQ2du7ciV69eqFJkyaYP38+6tatiytXrmDXrl1mdfv164cBAwZg5MiRePDgAQDg6aefRllZGebOnYu6devi9u3byMjIsOgatsV3rm/fvujfvz9GjhyJ06dPY9q0aThz5gyOHj2KihUrAoDZj4d69eqBMSarf4IgxCHRRLgktWvXRt26dQEAsbGxqFevnsU2n3/+OV555RVZ/VvzgBk1ahQePHiAKVOmGMvu3LkDAAgODjarHxwcDMYY/vjjD6Pok0t8fDz27t2LF154AZ988gkAwNvbG3PmzMHEiRMttlc7r//+97/Yv38/Fi1aBG9vb0VzdwSjRo1C3bp1cfToURMhKPR9GDJkCGbMmGF8f+fOHZw/fx4LFy7Eyy+/bCzv16+fxXFt8Z3r168f5s6dCwDo1q0bQkNDMXDgQHz99dcYOHCgrD4IgrAOEk0acPDgQXz44Yc4duwY8vPzsWnTJovBrnwYY5g3bx5WrFiBq1evokaNGvj3v/+Nt99+2zaT9kB69eqFn376ySZ9T5s2DV988QU+/vhjxMXFmZ2Xck3JdVtxOXbsGPr27Yv4+Hh8+umn8Pf3x969ezF16lQ8fPgQ06ZNAwDo9Xro9XqTsbgix5p57dixA6NGjcLzzz+P119/3VguZFWxxmKnNRcuXMClS5cwe/ZsWRa95557zuR9cHAwoqKi8OGHH6KsrAydO3dGixYtZLkRbfGd4wuj/v37Y8iQIdi3bx+JJoKwMY7/i+YGPHjwAC1atMArr7xi9gdXLmPHjsWuXbvw0UcfoVmzZigsLJS1tJiQT3BwMIKCgjTvd8aMGXjvvfcwa9YsjB492uTcY489BuBvyw6X33//HTqdDlWrVlU85qhRoxAaGopNmzYZRVDnzp3h5eWFlJQUDBw4EPXr18c///lPfP7558Z2HTt2xP79+62e186dO9GvXz907doVX3zxhYmwOnDgADp37mxSPycnR5YV0JYY4n1q164tqz7fuqbT6bBnzx7MnDkTc+fOxcSJExEcHIyBAwdi1qxZqFKlimhftvjOhYWFmbyvUKECHnvsMcHPkiAIbSHRpAE9e/ZEz549Rc+XlJRg6tSp+OKLL3D37l3ExMTggw8+MObgOXv2LJYtW4Zff/0VjRo1stOsPQ9buEpmzJiBlJQUpKSkCFoFo6KiUKlSJfzyyy9m53755Rc0aNBAcTwTAGRlZeHFF180c421adMGer0eZ8+eRf369ZGSkmIi5AwPeGvmtXPnTvTp0wcdO3bEhg0b4OPjY3I+Li7OzKoSHh6u+Nq0xpC64dq1a7LqC1nYIiIisHLlSgDllquvv/4aKSkpKCkpwfLly0X7ssV3rqCgALVq1TK+Ly0txZ07d4xCmCAI20GiyQ688soruHLlCr766iuEh4dj06ZN6NGjB3755Rc0bNgQ3377LerXr4/vvvsOPXr0AGMMXbp0wdy5cwVjTohyfH19AQB//fWXrPpau0reffddpKSkYOrUqZg+fbpgnQoVKqBXr17YuHEj5s6daxQtubm52LdvH8aPH2/V2OHh4fj5559RVlZmIpwyMzMB/G1VqVevnqClR+m8du3ahT59+qBdu3bYvHmz8d5zqVKlClq3bm3V9diSxx9/HFFRUVi1ahUmTJggOHel/U2dOhUbNmzA8ePHJevawj33xRdfmLiAv/76a5SWlkomQiUIQhtINNmYS5cuYf369bh27ZrxV/ekSZPw/fffY/Xq1Zg9ezYuX76Mq1ev4ptvvsGaNWtQVlaG8ePH4/nnnzdLlEj8TbNmzQAAixYtwpAhQ1CxYkU0atRI1F3y2GOPafZrfN68eXjnnXfQo0cPPPPMMzhy5IjJ+YSEBOPrGTNmoE2bNvjHP/6Bt956Cw8fPsQ777yD6tWrmwVt//zzz8bs10VFRWCMGTNvt2nTBhEREQCA8ePHY8yYMejVqxf+9a9/oXLlytizZw/mzZuHLl26oEWLFhavQe68Dh8+jD59+iAsLAxvv/222TL76Ohok7QFYuzYsQMPHjzAvXv3AABnzpwxXtvTTz+NypUrAyh3px04cAAAjJawHTt2ICQkBCEhIejYsaOxz06dOuHAgQMWrTSffPIJevXqhYSEBIwfPx5169ZFbm4udu7ciS+++EKy7alTpzB69Gi88MILaNiwIXx8fLB3716cOnUKb731lmRbLb9zBjZu3IgKFSqga9euxtVzLVq0QP/+/TUdhyAIARyRHMqdAcA2bdpkfP/1118zAMzf39/kqFChAuvfvz9jjLERI0YwAOz8+fPGdseOHWMA2Llz5+x9CS7F5MmTWXh4OPPy8rJr8r6OHTsyAKIHn59//pk99dRTrHLlyiwwMJD16dOHXbx40azekCFDRPtcvXq1Sd0NGzawdu3aserVqzN/f3/WtGlT9u6775olvJRCzrwMSRXFDrn3PCIiQrQPbvLKffv2idbjJ/uMi4tjYWFhssbPzMxkPXv2ZEFBQczX15dFRUWx8ePHm10nP3nkb7/9xoYOHcoaN27M/P39WUBAAGvevDlbsGABKy0tlTW2Fhjmd+zYMdarVy8WEBDAqlSpwl588UXBZKsEQWiPjjFK3qElOp3OZPVcWloaBg4ciNOnT5vFnwQEBCAsLAzTp0/H7Nmz8ejRI+O5v/76C5UrV8auXbvQtWtXe14CQbgE9+7dQ3BwMBYuXIhRo0Y5ejoEQXgA5J6zMbGxsSgrK8PNmzfRvn17wTpt27ZFaWkpLl26ZMxAfOHCBQAwumMIgjDl4MGDqFWrFkaMGOHoqRAE4SGQpUkD7t+/j4sXLwIoF0nz589H586dERwcjLp16+Lll1/GDz/8gHnz5iE2Nha3b9/G3r170axZMzz99NPQ6/Vo06YNAgICsHDhQuj1eowaNQqBgYGCGYsJgiAIgrA/JJo0YP/+/Wb5aYDyzMKpqal49OgR3nvvPaxZswbXr1/HY489hsTERMyYMcMYzHzjxg28/vrr2LVrF/z9/dGzZ0/MmzePVs8RBEEQhJNAookgCIIgCKuZM2cONm7ciHPnzqFSpUpISkrCBx98YDHv4IEDBzBhwgScPn0a4eHhePPNNzFy5EiTOhs2bMC0adOM4SuzZs1C3759bXk5kthmO3GCIAiCIDyCAwcOYNSoUThy5AjS09NRWlqKbt26GTe8FiInJwdPP/002rdvjxMnTuDtt9/GmDFjsGHDBmOdzMxMJCcnY9CgQTh58iQGDRqE/v374+jRo/a4LEHI0kQQBEEQhGbcunULNWrUwIEDB9ChQwfBOv/5z3+wdetWnD171lg2cuRInDx50pikNzk5GUVFRdixY4exTo8ePVCtWjWsX7/ethchAq2esxK9Xo8bN26gSpUqVm24ShAEQXgOjDHcu3cP4eHhsjZ7tpaHDx+ipKREdT+MMbNnm6+vr6yM+oWFhQAgGZObmZmJbt26mZR1794dK1euxKNHj1CxYkVkZmaa7U7QvXt3LFy4UOZVaA+JJiu5ceMG6tSp4+hpEARBEC5EXl6e7M2jlfLw4UNERgSg4GaZ6r4CAgJw//59k7Lp06cjJSVFsh1jDBMmTEC7du0QExMjWq+goAChoaEmZaGhoSgtLcXt27dRs2ZN0ToFBQXKLkZDSDRZiWGrjry8PFlbSBAEQRCeS1FREerUqSO6zZMWlJSUoOBmGa4eq4fAKtZbs4ru6RERd8Xs+SbHyjR69GicOnUKhw8ftliXb8kyRAtxy4XqONK7Q6LJSgwfWmBgIIkmgiAIQhb2eOAHVNEhoIr14+hh3fPt9ddfx9atW3Hw4EGL1rSwsDAzi9HNmzdRoUIF436NYnX41id7QqvnCIIgCMKNKGN61YcSGGMYPXo0Nm7ciL179yIyMtJim8TERKSnp5uU7dq1C61bt0bFihUl6yQlJSman5aQpYkgCIIg3Ag9GPSwfmG80rajRo3Cl19+iS1btqBKlSpG61BQUBAqVaoEAJg8eTKuX7+ONWvWAChfKbdkyRJMmDABI0aMQGZmJlauXGmyKm7s2LHo0KEDPvjgA/Tu3RtbtmzB7t27Zbn+bAVZmgjCxejq9YLxIAiCcDTLli1DYWEhOnXqhJo1axqPtLQ0Y538/Hzk5uYa30dGRmL79u3Yv38/WrZsiXfffReLFy/Gc889Z6yTlJSEr776CqtXr0bz5s2RmpqKtLQ0xMfH2/X6uFCeJispKipCUFAQCgsLKaaJsCt8sZSu/8ZBMyEIQi72eGYYxrhxvrbqQPDwRtfo+SYAuecIwoUg6xJBEJYoYwxlKuwhatq6O+SeIwgXQUwwkZAiCIKwD2RpIggXgIQRQRBysXcguCdBliaCcHLkCCYSVQRBGNCDoUzFQaJJHBJNBOHEKBFDJJwIgiBsC4kmgnAjSDgRBGFwz6k5CGFINBGEm0HCiSA8G8PqOTUHIQwFghOEG8IVTpTHiSAIQhtINBGEk6KVxYiSYRKEZ6H/36GmPSEMuecIwsMg9x1BuDdqVs4ZDkIYEk0E4YGQcCII96WMqT8IYUg0EYSHQsKJIAhCGRTTRBBOiL0EDQWME4T7QTFNtoNEE0E4GY6yAFHAOEG4B3roUAadqvaEMOSeIwgnwplcZs40F4IgCGeALE0E4SSQSCEIQgv0rPxQ054QhkQTQTgBziqYDPMiVx1BuA5lKt1zatq6OySaCMLBOKtg4iI0RxJSBEF4GhTTRBCEVbiC2CMIT8RgaVJzEMI4VDSlpKRAp9OZHGFhYaL1N27ciK5duyIkJASBgYFITEzEzp07zept2LAB0dHR8PX1RXR0NDZt2mRWZ+nSpYiMjISfnx/i4uJw6NAhTa+NIOTg6sLD1edPEO6InulUH4QwDrc0NW3aFPn5+cbjl19+Ea178OBBdO3aFdu3b8exY8fQuXNn9OrVCydOnDDWyczMRHJyMgYNGoSTJ09i0KBB6N+/P44ePWqsk5aWhnHjxmHKlCk4ceIE2rdvj549eyI3N9em10oQXNxFcLjLdRAEQVhCxxhzWJx8SkoKNm/ejKysLKv7aNq0KZKTk/HOO+8AAJKTk1FUVIQdO3YY6/To0QPVqlXD+vXrAQDx8fFo1aoVli1bZqzTpEkT9OnTB3PmzJE1blFREYKCglBYWIjAwECr5094Ju4oNCjGiSDEscczwzDGgV9rIaCK9TaR+/f06BhznZ5vAjjc0pSdnY3w8HBERkZiwIABuHz5suy2er0e9+7dQ3BwsLEsMzMT3bp1M6nXvXt3ZGRkAABKSkpw7NgxszrdunUz1hGiuLgYRUVFJgdBWIM7CibAfa+LIFyNMnipPghhHLp6Lj4+HmvWrMHjjz+O3377De+99x6SkpJw+vRpPPbYYxbbz5s3Dw8ePED//v2NZQUFBQgNDTWpFxoaioKCAgDA7du3UVZWJllHiDlz5mDGjBlKLo8gAAD6goYm73feKP83Km2kA2ZjWyIXzUPO2ImOngZBeDRMZVwSo5gmURwqJ3v27InnnnsOzZo1Q5cuXbBt2zYAwOeff26x7fr165GSkoK0tDTUqFHD5JxOZ/qBM8bMyuTU4TJ58mQUFhYaj7y8PItzJJwPvoCx9Vhi47mjYDIQuWieo6dAEARhE5wqT5O/vz+aNWuG7OxsyXppaWkYNmwYvvnmG3Tp0sXkXFhYmJnF6ObNm0bLUvXq1eHt7S1ZRwhfX1/4+voquRzCyTAIGH1BQ3iFSX/HtBqLIAjC3lByS9vhVI7L4uJinD17FjVr1hSts379egwdOhRffvklnnnmGbPziYmJSE9PNynbtWsXkpKSAAA+Pj6Ii4szq5Oenm6sQ7gffBFjS1Ej1XdU2ki3tjIRBOF4ypiX6oMQxqGWpkmTJqFXr16oW7cubt68iffeew9FRUUYMmQIgHKX2PXr17FmzRoA5YJp8ODBWLRoERISEozWokqVKiEoKAgAMHbsWHTo0AEffPABevfujS1btmD37t04fPiwcdwJEyZg0KBBaN26NRITE7FixQrk5uZi5Eh6mLkj5e4i08/2UvJym1icDGNdSl5uUk5CiSAIwvVxqGi6du0aXnzxRdy+fRshISFISEjAkSNHEBERAQDIz883yZ306aeforS0FKNGjcKoUaOM5UOGDEFqaioAICkpCV999RWmTp2KadOmISoqCmlpaYiPjzfWT05Oxp07dzBz5kzk5+cjJiYG27dvN45LuA9i8TV/ixjlgctiq8QuLkgQ6N8zaDD+iMn1EwThOPTQQa/CkaQH7dgrhkPzNLkylKfJMfBFUIPxR0ze77yRZfLeGvHCtxIJwe3XMAcSDX9DK+gIwhR75mnaeioK/lW8re7nwb0yPNv8Ej3fBCDHJeHS8IUKXyRdSl4uSwRJ9SFnDiSYCIIg3B+nWj1HEEoRsvJEpZnHFF1KXq5IDHHrUnwSQRCuhNpg7jJyQIlCoolwaexh4SGRRBCEK1Ee02R92gA1bd0dEk2EW0JChyAIgtAaEk0EQRAE4UboVe4fR6vnxKFAcIL4Hw3GHzFbjUcQBOFqOCK55cGDB9GrVy+Eh4dDp9Nh8+bNkvWHDh0KnU5ndjRt2tRYJzU1VbDOw4cPFc9PK0g0EcT/oFVw2kH7zxGE49DDS/WhlAcPHqBFixZYsmSJrPqLFi1Cfn6+8cjLy0NwcDBeeME0D15gYKBJvfz8fPj5+Smen1aQe44gCIIgCFX07NkTPXv2lF0/KCjIuJMHAGzevBl//PEHXnnlFZN6Op0OYWFhms1TLWRpIlwGsl4QBEFYpozpVB9AebJM7lFcXGyzOa9cuRJdunQx25nj/v37iIiIQO3atfGPf/wDJ06csNkc5ECiiXAJSDARBEHIo+x/geBqDgCoU6eO0SIUFBSEOXPm2GS++fn52LFjB4YPH25S3rhxY6SmpmLr1q1Yv349/Pz80LZtW2Rna7tnqBLIPUc4PSSYCIIg7E9eXp7JNiq+vr42GSc1NRVVq1ZFnz59TMoTEhKQkPB3nGnbtm3RqlUrfPzxx1i8eLFN5mIJEk2EU0OCiSAIQhl65gW9iozg+v9lBA8MDLT53nOMMaxatQqDBg2Cj4+PZF0vLy+0adOGLE0EQRAEQWgD18VmXXv75Wk6cOAALl68iGHDhlmsyxhDVlYWmjVrZoeZCUOiiXBayMpEEAThGty/fx8XL140vs/JyUFWVhaCg4NRt25dTJ48GdevX8eaNWtM2q1cuRLx8fGIiYkx63PGjBlISEhAw4YNUVRUhMWLFyMrKwuffPKJza9HDBJNhFNCgokgCMI69IBxBZy17ZXy888/o3Pnzsb3EyZMAAAMGTIEqampyM/PR25urkmbwsJCbNiwAYsWLRLs8+7du3j11VdRUFCAoKAgxMbG4uDBg3jiiSesmKE2kGginA4STARBENZjbYJKbnuldOrUCYyJu/VSU1PNyoKCgvDnn3+KtlmwYAEWLFigeC62hFIOEARBEARByIAsTYRTQVYmgiAIdVi7fxy3PSEMiSbCaSDBRBAEoR49dNBDTUyT9W3dHRJNBEEQBOFGkKXJdtCdIQjCJpDlkCAId4NEE+FxNBh/xNFT8BhIOBGE/dFq7znCHLozhNOQM3aiXca5uCDBciVCM0g4EYR90TOd6oMQhkQTQRA2h4QTQRDuAIkmgiDsAgkngrAPepWuOTWJMd0dWj1HEARBEG6EnnlBr2IFnJq27g7dGYIgCIIgCBmQpYkgCIIg3Igy6FCmIkGlmrbuDokmgiAIgnAjyD1nO+jOEIQH0GD8EcpPRRAEoRKyNBGEB+AMuanslYeLIDydMqhzsZVpNxW3gyxNBOEGOLsViQQTQdgPg3tOzUEIQ3eGcCro4WodzmBJEoM+U4KwL4YNe9UchDB0ZwjCgTi7hYggCIL4G4ppIggH4swWIi0gKxNB2B8GHfQqYpoYpRwQhSxNBOFh2Mu6RYKJIBwDuedsB90ZgvAw3N26RRAEYStINBEEoQn8XFC0QS9BOAY906k+CGEopolwOnLGTqQHrgtCFiyCcA7K4IUyFTYRNW3dHbozhFNC8TAEQRCEs0GiiSA0gtIHmEMWQ4KwP+Sesx0kmginxVWsTQaxdHFBAu3xRhCEw9HDS/VBCEN3hnBqXEE4kViSJnLRPLI4EQThFjhUNKWkpECn05kcYWFhovXz8/Px0ksvoVGjRvDy8sK4cePM6jx69AgzZ85EVFQU/Pz80KJFC3z//feqxiUch6s8bC8uSDAGQhtEFEEQhCMoYzrVByGMw1fPNW3aFLt37za+9/b2Fq1bXFyMkJAQTJkyBQsWLBCsM3XqVKxbtw6fffYZGjdujJ07d6Jv377IyMhAbGysVeMSjsFVBBNfIBneNxh/hFaUcYhcNM8lLIcE4eqojUuimCZxHC6aKlSoINvKU69ePSxatAgAsGrVKsE6a9euxZQpU/D0008DAP79739j586dmDdvHtatW2fVuIT9cRXBBPy91J4vnrjlfPHkCEHFnR+JOYJwXxjzgl5FVm9GGcFFkSWaFi9erLjjV155BVWqVLFYLzs7G+Hh4fD19UV8fDxmz56N+vXrKx7PQHFxMfz8/EzKKlWqhMOHD6sat7i4GMXFxcb3RUVFVs+RcG+ExBJfJDlCRDmDUCJrE0EQrows0TRu3DjUrl1btgsrLy8P//jHPyyKpvj4eKxZswaPP/44fvvtN7z33ntISkrC6dOn8dhjj8kai0/37t0xf/58dOjQAVFRUdizZw+2bNmCsrIyVePOmTMHM2bMsGpOhDJcycpkCYMYkuOy467C03JsgiA8izLoUKZi0101bd0dHWOMWark5eWFgoIC1KhRQ1anVapUwcmTJxVbjB48eICoqCi8+eabmDBhgmTdTp06oWXLlli4cKFJ+a1btzBixAh8++230Ol0iIqKQpcuXbB69Wr8+eefVo8rZGmqU6cOCgsLERgYqOg6CXFcXTDJDQAXEjNau/EsteWft5fIIksT4YkUFRUhKCjIps8Mwxiv7O8PnwAfq/spuV+C1Z2+puebALIcl9OnT0dAQIDsTt9++20EBwcrnoy/vz+aNWuG7OxsxW0NhISEYPPmzXjw4AGuXr2Kc+fOISAgAJGRkarG9fX1RWBgoMlBaIurCyYAZi44/qo6LoY0Bfx0Bdz3ckSMmFCzZNGyZiyCIAhPRrZoqly5suxOJ0+ejKpVqyqeTHFxMc6ePYuaNWsqbsvHz88PtWrVQmlpKTZs2IDevXvbZVzCOpxNMFmbMkBoJR3fNSeVksAaAcPvT+g1PwicOxcxq5etcLbPmiDcDf3/AsHVHIQwDr0zkyZNwoEDB5CTk4OjR4/i+eefR1FREYYMGQKgXHwNHjzYpE1WVhaysrJw//593Lp1C1lZWThz5ozx/NGjR7Fx40ZcvnwZhw4dQo8ePaDX6/Hmm2/KHpewL874EBUTEpaSWPLdXUJ9yMFSPaF5CGUm5wokJavnbG11csbPnCDcBT10qg+lHDx4EL169UJ4eDh0Oh02b94sWX///v1m+RJ1Oh3OnTtnUm/Dhg2Ijo6Gr68voqOjsWnTJsVz0xLFounOnTsYNWoUoqOjUb16dQQHB5scSrh27RpefPFFNGrUCP369YOPjw+OHDmCiIgIAOXJLHNzc03axMbGIjY2FseOHcOXX36J2NhYY3oBAHj48CGmTp2K6Oho9O3bF7Vq1cLhw4dNLF+WxiXsh7M9PKUsQFKWGS7880JuOUtt5CAl7LjnxdyDlqAEnQRByOXBgwdo0aIFlixZoqjd+fPnkZ+fbzwaNmxoPJeZmYnk5GQMGjQIJ0+exKBBg9C/f38cPXpU6+nLRlYgOJeePXvi0qVLGDZsGEJDQ6HTmSpST7HW2COoz91xNsEkhZB7i/veUlsxi481fQrlg7JlXJKtA8QpMJzwBOwZCP7S3pdUB4J/+eSXVs9Vp9Nh06ZN6NOnj2id/fv3o3Pnzvjjjz9Ew3mSk5NRVFSEHTt2GMt69OiBatWqYf369YrnpQWKk1sePnwYhw8fRosWLWwxH8IDcCWxBJjnW5ISP0Lwt1fh/mvNXPh9S81HCzGlZr4EQdgftXFJ9oxpio2NxcOHDxEdHY2pU6eic+fOxnOZmZkYP368Sf3u3bubrZq3J4pFU+PGjfHXX3/ZYi6EG+NqQomLkLtNKJ7IUgZwbl9CsU9imcX59eTOU47QkSuGbCmcDN8NsjgRhHPBT+Ls6+sLX19fTfquWbMmVqxYgbi4OBQXF2Pt2rV46qmnsH//fnTo0AEAUFBQgNDQUJN2oaGhKCgo0GQO1qBYNC1duhRvvfUW3nnnHcTExKBixYom58lVRXBxZrGkhQgQSlwp5i4TEkVCViixOvzXlvoVE1HccZSu0iMIwvnRQ+Xec/8LBK9Tp45J+fTp05GSkqJmakYaNWqERo0aGd8nJiYiLy8PH330kVE0ATALAWKMmZXZE8U2uKpVq6KwsBBPPvkkatSogWrVqqFatWqoWrUqqlWrZos5EoRNsDb4mr9KjYuU2JEK0Fbq8pOan5xAdX4qAqHUBPbGmQU2QbgSTOXKOfY/0ZSXl4fCwkLjMXnyZJvOOyEhwSRfYlhYmJlV6ebNm2bWJ3uiWDQNHDgQPj4++PLLL7Fnzx7s3bsXe/fuxb59+7B3715bzJEgnAqhhJVC7jZL+ZK474XcX3wBxB9DbINgqXlzX4tZ2kg4EYRro2c61QcAs4TOWrnmxDhx4oRJvsTExESkp6eb1Nm1axeSkpJsOg8pFLvnfv31V5w4ccLErEYQngjXHQfISy0g1J77Wo5g4Ysxa1fPOau7jTb1JQjX4/79+7h48aLxfU5ODrKyshAcHIy6deti8uTJuH79OtasWQMAWLhwIerVq4emTZuipKQE69atw4YNG7BhwwZjH2PHjkWHDh3wwQcfoHfv3tiyZQt2796Nw4cP2/36DCi2NLVu3Rp5eXm2mAtBuBRyN97lvpdj4ZHjYhOai5DbTQlyMpYTBOH8OCIj+M8//2zMowgAEyZMQGxsLN555x0A5nkXS0pKMGnSJDRv3hzt27fH4cOHsW3bNvTr189YJykpCV999RVWr16N5s2bIzU1FWlpaYiPj1d5h6xHcZ6mb775BikpKXjjjTfQrFkzs0Dw5s2bazpBZ4XyNFnG010tYluXiAV885ErnLRc1SY0N3tbpMjKRLgj9szT1HvXP1HR3/o8TY8elGBLt1X0fBNAsXsuOTkZAPDPf/7TWKbT6YwR7WVlZdrNjiBsjL3yD8kJuBZzs1mao1SqA6VY4y7UEhJMBEE4M4ptcDk5OWbH5cuXjf8ShCthK8EkR8AIxULxXXNK3G22vBZ7QIKJILTBEXvPeQqKLU20PxvhDtjawsRPJyCnHn9+QuViiCXUtPYa5c5fK0gwEYR2cFfAWdueEEaWpWnr1q149OiR7E63b99OWcMJj0FKVCjZ6NdSckp+XaHNefnjCqUmUIqzrrIjCIKwN7ICwb29vVFQUICQkBBZnQYGBiIrKwv169dXPUFnhQLBLePJgeBiQkWr7UjUpBpwRsjSRLg79gwE7/n9CNWB4Dt6fEbPNwFkuecYYxg6dKjsxFYPHz5UNSmCcFe0cgu6k2AiCEJbyD1nO2SJpiFDhijqdODAgaROPRxPtjJZwl4r9lwJSmhJEIQrIEs0rV692tbzIAi3QG6CSDXCSWx/O0dBIpAgnAuyNNkOxavnCMISnmxl4osHW6w+E0pJ4EjRQoKJIJwLBqhKG6Ao47WHQaKJ0BRPFkwG+EJGKPmkGiHF7YcEC0EQfMjSZDuUbzBDECKQYCpHLEElP4mlUvgb9RIEQRD2hSxNhCaQYBJGLOmkATniSUgsabl1CkEQ7gVZmmwHWZoIt8fRVhn++ELJLpVu3KtF0kqCINwTg2hScxDCWGVp2rNnD/bs2YObN29Cr9ebnFu1apUmEyNcB2e3MjlTkLSYlUlsjlzLklYxUQRBEIR1KLY0zZgxA926dcOePXtw+/Zt/PHHHyYH4Vk4u2ByJviuNKXCh++S474nEUUQhAGyNNkOxZam5cuXIzU1FYMGDbLFfAgXggSTZeSKGbHYJClLldh5KasVP5M4xUQRhPvBmA5MhfBR09bdUSyaSkpKkJSUZIu5EC4ECSbLyLUsGcqlgsal0hfw+7bkAlS7io8gCMJTUeyeGz58OL788ktbzIVwEUgwyUPIfSaVfkDM0iTUj1ASTX4bIVFFrjyCcH/00Kk+CGEUW5oePnyIFStWYPfu3WjevDkqVqxocn7+/PmaTY4gXB0hgaLU4sOPYbI0hpAbzhaZyQmCcE4o5YDtUCyaTp06hZYtWwIAfv31V5NzOh3daHeHrEzysCR0lPYjNyUB39UnZVnir8YjVx1BEIQ0OsYYbTNjBUVFRQgKCkJhYSECAwMdPR27QIJJG/iB2IbXUnWtRSxFgaVyR5EzdqJDxycIW2GPZ4ZhjCc2jUUFf1+r+yl9UIwf+y7yqOebXFSJpmvXrkGn06FWrVpazskl8DTRRIJJPZYEkKVVb0r6kjOOWB/OsKqOxBPhbthTNLXeOE61aPq530KPeb4pQbF7Tq/X47333sO8efNw//59AECVKlUwceJETJkyBV5elGScIAB5wkaOMJFyz/HP8d1tltx6YpYmR1ucIhfNI+FEEFZCKQdsh2LRNGXKFKxcuRLvv/8+2rZtC8YYfvjhB6SkpODhw4eYNWuWLeZJEC4FX8iotdzIFUBSm/pKjc9t72jBZICEE0EQzoZi91x4eDiWL1+OZ5991qR8y5YteO2113D9+nVNJ+iskHuOsBdiQkbMwsQtk9NWqA9HueikxiQBRbgy9nTPtfq/CfBW4Z4re1CM48/P95jnmxIUW5p+//13NG7c2Ky8cePG+P333zWZFEF4CpYyeIvVF0szwF9JJ7SyztJmwVwXnb2Fk9RYWgl3El+Eu8MAqFniRavDxFEcgNSiRQssWbLErHzJkiVo0aKFJpMinA960NgGOQkoxaxIfAztxNx03HxNUmkILI3jaNSuKCSrKUEQ1qLY0jR37lw888wz2L17NxITE6HT6ZCRkYG8vDxs377dFnMkCLeDn2pATuC2WHuptpbO8XFGkcRHizlSvBThzuihg05FVm/KCC6OYktTx44dceHCBfTt2xd3797F77//jn79+uH8+fNo3769LeZIEC6PmOXH8J4rfiztPyfUl6UYJcIcsjgR7oph9ZyagxCGkltaiacFggP0kFGDktggqfQC3PNy4pKsEUxirj8l5a4EWZwIe2DPQPDm30yCd2UVgeB/FuPUCx951PNNLrIsTadOnYJerze+ljoIgihHKi5JaBNffl0p5KYPEKsvtsGv0iSari6YAPoxQLgfhr3n1ByEMLIsTV5eXigoKECNGjXg5eUFnU4HoWY6nQ5lZWU2maiz4YmWJoAeMPbAmoSUYlnDLcU8KcHd96kjixNhS+xpaWqa9oZqS9Pp5A897vkmB1mB4Dk5OQgJCTG+JgjCcfBFkpQ4kop5Ujqm0Gt3goLDCYKwhCzRFBERYXx99epVJCUloUIF06alpaXIyMgwqUu4HzljJ5K1SSP4woePVM4lIasP/185rjW56QWcPQ2BVpBwItwB2kbFdigOBPf29kZ+fj5q1KhhUn7nzh3UqFGD3HMeAgkn7VDj7hIKCpc6b63FyZ2Fki0g4UXwsad7rsn6/6h2z5198QOPfb5JoTjlAGMMOp25Cr1z5w78/f0V9ZWSkgKdTmdyhIWFidbPz8/HSy+9hEaNGsHLywvjxo0zq/Po0SPMnDkTUVFR8PPzQ4sWLfD999+b1Vu6dCkiIyPh5+eHuLg4HDp0SNHcPR16KGiHEkEiN/kkfx857ntL4/GDwkkwKSdy0TzJQ25bgrAGRwSCHzx4EL169UJ4eDh0Oh02b94sWX/jxo3o2rUrQkJCEBgYiMTEROzcudOkTmpqqplG0Ol0ePjwoeL5aYXs5Jb9+vUDUB7sPXToUPj6/q1iy8rKcOrUKSQlJSmeQNOmTbF7927je29vb9G6xcXFCAkJwZQpU7BgwQLBOlOnTsW6devw2WefoXHjxti5cyf69u2LjIwMxMbGAgDS0tIwbtw4LF26FG3btsWnn36Knj174syZM6hbt67iayAIW8FPYilVj+++E7NCWSoX2n5Fqj9COWJuQL5QInch4So8ePAALVq0wCuvvILnnnvOYv2DBw+ia9eumD17NqpWrYrVq1ejV69eOHr0qPFZDQCBgYE4f/68SVs/Pz/N5y8X2e65V155BQDw+eefo3///qhUqZLxnI+PD+rVq4cRI0agevXqsgdPSUnB5s2bkZWVpWzWADp16oSWLVti4cKFJuXh4eGYMmUKRo0aZSzr06cPAgICsG7dOgBAfHw8WrVqhWXLlhnrNGnSBH369MGcOXNkje/p7jkD9GtYO5TuQye2r5xU/0JtxcYQW41HaItBFEn9XyLh5PrY0z33+BdvqXbPXRj4vtVz1el02LRpE/r06aOoXdOmTZGcnIx33nkHQLmlady4cbh7967iOdgK2Zam1atXAwDq1auHN954A5UrV9ZkAtnZ2QgPD4evry/i4+Mxe/Zs1K9f3+r+iouLzVRopUqVcPjwYQBASUkJjh07hrfeesukTrdu3ZCRkWH1uAShFqmUAWJwXW5iliKxdvyxpTboJcFkO+T88PCEHyckDLWDMXXB3I5Iea3X63Hv3j0EBweblN+/fx8REREoKytDy5Yt8e6775pYouyN4pimwYMH4/r162bl2dnZuHLliqK+4uPjsWbNGuzcuROfffYZCgoKkJSUhDt37iidlpHu3btj/vz5yM7Ohl6vR3p6OrZs2YL8/HwAwO3bt1FWVobQ0FCTdqGhoSgoKBDtt7i4GEVFRSaHp+MJf8gdhZBg4scjSaUdEIIbo8SPW+LHQAnNhSBsCf09cT74z7zi4mKbjTVv3jw8ePAA/fv3N5Y1btwYqamp2Lp1K9avXw8/Pz+0bdsW2dnZNpuHJRSLpqFDhwpaZI4ePYqhQ4cq6qtnz5547rnn0KxZM3Tp0gXbtm0DUO4CtJZFixahYcOGaNy4MXx8fDB69Gi88sorZrFS/GB2sQB3A3PmzEFQUJDxqFOnjtVzJAgp+LmVuFYgS1uscNsJvZeTLVyqb4KwJSSctEGrvefq1Klj8tyTG76ilPXr1yMlJQVpaWkmK/MTEhLw8ssvo0WLFmjfvj2+/vprPP744/j4449tMg85KBZNJ06cQNu2bc3KExISrIpN4uLv749mzZqpUpEhISHYvHkzHjx4gKtXr+LcuXMICAhAZGQkAKB69erw9vY2syrdvHnTzPrEZfLkySgsLDQeeXl5Vs+RIORiSSxx4Se1lBJYQtuqONMGv7ZI0Em4BiSc1MM0OAAgLy/P5Lk3efJkzeealpaGYcOG4euvv0aXLl0k63p5eaFNmzauZWnS6XS4d++eWXlhYaHqHE3FxcU4e/YsatasqaofoDy6vlatWigtLcWGDRvQu3dvAOVB63FxcUhPTzepn56eLrn6z9fXF4GBgSaHJ0N/2OyDkhVrUsHdloSX4bw9hInYWELiSM6cCfeD/r44B/xnHnfVvBasX78eQ4cOxZdffolnnnnGYn3GGLKysjTRCNaiWDS1b98ec+bMMRFIZWVlmDNnDtq1a6eor0mTJuHAgQPIycnB0aNH8fzzz6OoqAhDhgwBUG7dGTx4sEmbrKwsZGVl4f79+7h16xaysrJw5swZ4/mjR49i48aNuHz5Mg4dOoQePXpAr9fjzTffNNaZMGEC/vvf/2LVqlU4e/Ysxo8fj9zcXIwcOVLp7fBI6A+abeC744TOcbHGbcYXJo4QHnJdify8UkKWsJ03skzqk4hyH+jvjPVo5Z5Twv37943PZ6B8y7WsrCzk5uYCMH+er1+/HoMHD8a8efOQkJCAgoICFBQUoLCw0FhnxowZ2LlzJy5fvoysrCwMGzYMWVlZDn1Wy149Z2Du3Lno0KEDGjVqhPbt2wMADh06hKKiIuzdu1dRX9euXcOLL76I27dvIyQkBAkJCThy5IhxK5b8/HzjDTfAjZo/duwYvvzyS0RERBiD0B8+fIipU6fi8uXLCAgIwNNPP421a9eiatWqxnbJycm4c+cOZs6cifz8fMTExGD79u20BQzhUJS6x4TikuRszKtkA19b5Gbi556Sm7VcSFB1Dwcu3ViOqDT6weOOUJ4qK+H62Kxtr5Cff/4ZnTt3Nr6fMGECAGDIkCFITU01e55/+umnKC0txahRo0xSBBnqA8Ddu3fx6quvoqCgAEFBQYiNjcXBgwfxxBNPWHddGqB4GxUAuHHjBpYsWYKTJ0+iUqVKaN68OUaPHm22VNCd8dQ8TfTrz3bIzcUkhBLBZUkwWVqFpwVy98UT2ohY6pyBnTeyEJU2UjRRp7MjljPLkfO/lLwcABwiUN1BONkzT1P91Cnwqmx9Akj9nw9xeegsj3u+yUGxew4oTyA5e/ZsbNu2Df/3f/+Hd955x6MEE0HYAktbovDrWLvNiVQaA6Fx1bq8+H0osXAJ5Z7ivua654Dy6zGUGR7y3D5dQTABpp8L1yKnZv5K4sOE6kaljXSYRY9+rBHOgmL3HFDujvv0009x+fJlfPPNN6hVqxbWrl2LyMhIxXFNhGuRM3Yi/QGzEXxhwP1XaIsUOakFxBBaPcfvR8yioyRTuNA5uVYxS1u3NBh/BFEYaVKfL5TUiiRHCy0pa5q1fQn1LVSXj5DFD/hbnHYPbynZXi1K/u64g2VKDeXJLdW1J4RR7J7bsGEDBg0ahIEDB2Lt2rU4c+YM6tevj6VLl+K7777D9u3bbTVXp8JT3XMGSDjZDqFYJTkCQ6yekgSYUnPijyH2ILeVNUQqOH7njSzjQ5v7mttO7KFvzRzt4cIUGlNtW7HPS8wdyO+Hf67B+CMm1j7DfdfiPmuNo4WUPd1z9VZNVe2eu/LP9zz2+SaFYtEUGxuL8ePHY/DgwahSpQpOnjyJ+vXrIysrCz169JDMqu1OeLpoAkg42RJrrAtyhRP3vdT4alHysBQSikraWGrLF3qGBz3X3WSowxdd3H65VhWpeVp7PWJiQ46okZqDFFIWRe49AWAWJyZ2nXwxJRRf5ggcKZxINLkHimOazp8/jw4dOpiVBwYGOtWmeoTtcfQvN3eA74YzIOU+EytTGrMiFa9kiKnhxzzJfejJXcUndN1i90QuYv1yX3cPb2l8kAuNs/NGlsnBr7fzRhYuJS+XvH9K4YoVSyJX6PNTG4NmEDrc+2+4fuBv4cOfF7eO2NhqP1Ot8Jgfekyn/iAEURzTVLNmTVy8eBH16tUzKT98+LCqjXYJ14RinOQjFd8j5Q7hv5YqU4rY6jS140g9JMVEmNC9ELNOyJnrpeTlJg96oT4MD/vu4ZKXY7Q+RaWNNImbKl+lJyyQ1LjT+O/liGYhcaN0vO7hLY3XWi4u/6536cZyIPnvOkCWsY3U99iSVc7eGP5eufOPPoppsh2KLU3/+te/MHbsWBw9ehQ6nQ43btzAF198gUmTJuG1116zxRwJwmUREg9yViopdWUYrBNK40ik5sedJ79/sTnIHdOS+1GOSOSLK6EYJ6HAZ2sxWGG4rjvDa+59tFawKK1nKLuUvNzEbch3qQHSnw3fqsh1WXJXKXJjxgz8LaBM4ZYJnXcGIhfNMzkIQg5W5WmaMmUKFixYgIcPHwIo32Jk0qRJePfddzWfoLNCMU2mePIfHSVxQvwAYn5ba2KZ+AgFKdsiRklpvJXSGBtLba2J+RISFAZLiNA5Pvy6hn6FsCR8hT5roc9M6jrlCBJ+fJbQnKUsd39b41qajGkQV5eSl5tYk/grGA3wLWBaB9Nr1ZetLFD2jGmK+Gya6pimqyPepeebAFaJJgD4888/cebMGej1ekRHRyMgIEDruTk1JJrM8WThZAmx4FkDQm4y7jmxdvz2Um34lii1wswSUvE+1lyLVJ9chAK5uee4CLmyLAkRQxvDOEKJNLnn+dcg91rkfEZy5sofy1KwPLcOX+gLuXK5wkoKvutPynLoSNxBNNVd8Y5q0ZT76kx6vglgtWjydEg0CePpwon/MJH7wLdGxNjK8mPtXKSsZHItKob3aufHFTRSCIkrpe4kSyvKbGU1E7PocOdlQI5o4tezVFeorVD6AW5fBquUGNZa7bSERBOJJilkiaZ+/fohNTUVgYGB6Nevn2TdgIAANG3aFCNHjkRQUJBmE3U2SDSJ48nCSeyXuNyHpxLkBExzzyvpV44VRGwcITGn1LokNJbS+2Wt60qpaBILdOa6rawVofzXcufp6L34+JY2A2JWQEuuOikrqtZuPsA2wsnuoqmSCtH0F4kmMWStngsKCoJOpzO+lqK4uBjLly/HDz/8gK1bt6qfIUE4GVIxTNxVRGIBz/x2WgkovrWDO44S4SG3jpwVXdwyMasb/7wlN6OWCD3ExXI0GbBk4QHK59t9fEvja25fSgWsWBl3ZZuzuLYMlAeUJwALyt9LiSig/FqEvrtC944vlqSEuqfCmA5MRdoANW3dHZu4586cOYM2bdrgwYMHWnftNJClSRxPtjTJxdbxRJbGVuPak4NUjJWYsNN6DtZamvjtuWkGxJJhcmOH+EHlUmMIIRbvI2Z5ciVxwJ03P/kl/zxgWUgJ1eO+txZXtzTVWT5dtaUpb+QMer4JYNWGvQauXbuG69evm5U3atQIGRkZaromCLdGyR/1iwtMl4RLiQvuL3FumZKxtXgIC83BUMZ/LVTfHoi55rirxbqHtzSxLHFfX1yQYCbMuBa/iwsSFAsmQH4KCsMYYm2sGVfpd0sp3DkbEEoNwf+uC1270PzEzimFfvgRYigWTXq9HjNnzixf1hgRgbp166Jq1ap49913odfrAQDe3t5o0aKF5pMlnB/6YyMfoQeIUB01osfSL3SxB6GcuWmFrQSTXMHCD1621M6QF0lKTPGzhWuVq0gsfkduPBv/85YS2YZzQi4xLa4jKm2kMVhfynXLny+/Dr9fRwhw50OnwUEIoVg0TZkyBUuWLMH777+PEydO4Pjx45g9ezY+/vhjTJs2zRZzJAi3RUgQcQ9DmbUWGSE3nFhf/F/3UnFHroKYABJKUKkVBgHFt1pp0a+cYGkpix63rpAYEXsvNh5fVCnFIJ64Y8pZ4CAk6qVi46zBpX8AMg0OQhDFMU3h4eFYvnw5nn32WZPyLVu24LXXXhN017kjFNMkjBZ/aDwhiFNpTIpWwa5SLgyhoHV7YuuxpZbDy21nDVqLMgOW4tKsvZ+WVjLKiSkSqmuL/9NS8XlajadVfJNdY5qWpaiPafp3Cj3fBFBsafr999/RuHFjs/LGjRvj999/12RShGui1S8zdxVMYpYdS23ErATW3iexdkLWJDHLly2wtWAyuN6Uihhr2qhpJ4TcFZeW4pzE4qLkWnMs1eFbR/nvtYiLMiBlhTKc1wKXtDiRpclmKBZNLVq0wJIlS8zKlyxZQnFMHoxL/mFRgdw/yGK/tNUID7GHmaU5iZ0XepDxx+D/epcb8yT1UFaCkHhTMg+ueFFqObLWQiU2ntj4Yi4n/j0XEq98V5thDKl7wxUXclen8cvEvjtC/3LRKi7KEh4b38R06g9CEFl5mrjMnTsXzzzzDHbv3o3ExETodDpkZGQgLy8P27dvt8UcCSfHEwSTWBA1YPqrWmgVkNz++auF+EJF7Je13HJLrhX+dcoReVJ9SgWwS7l/+POXir3ht7P08AdM91CTk3zR0ns+0vmIhK1PagS14TrLx5Weo9i9FIuf08JqI2RxKk/TIHydcqyocl1wlv7vEIRSrMrTdOPGDXzyySc4d+4cGGOIjo7Ga6+9hvDwcMuN3QSKaSrHEwSTAbE/1EpXtykZTyro11JckjXzELsWObEplmJdLF2LkAiVO2ehNlpaGfjWIUt72/EtW5bEmdh9siQ8De/FtiexJHrE7rWQYLfUxhJy/p9oLW60jG9SG9tkz5im2ktmqI5pujZ6usc/34RQZGl69OgRunXrhk8//RSzZs2y1ZwIF8GTBJMBJSJCLmIPKDmuFbFyS5YesTnw6wpdp1JBI2c+UvUsIcfaYKl/voiR48ITs0oZVs0ZzgkJKH47wz2V+5lzrUEAjNnH+Vj6rITi5QxjSVmc5AgnvpgVEma2Fk4ea2lSG5dEMU2iKLY0hYSEICMjAw0bNrTVnFwCT7U0eaJQMiAkZrT6Y2ytlUVJ/3IecPz5GOakZBxuO0suTGuw1l1pab5clMQ9iYktg4CSGwcl1xVmjcvMXtZRof4txTTJtaxJjWONiFeKS1maPtbA0vQ6WZqEUBzTNHjwYKxcuRLvv/++LeZDOCGeLJQA6QeAXAFlSZTI/RWudM5SwbhchK6Lb82w1h2jtJ1cYWUpRssa4Weo1z3cuoBxg1DivpeLEhGk1N0mVs9WyHH7KYld0npe1hC5aJ5NtlexCWqDuV04ELxVq1aK6ut0OmzduhW1atWSV1+ppen111/HmjVr0KBBA7Ru3Rr+/v4m5+fPn6+kO5fFUyxNJJjUxwgpjUuSOmepDWD+YOBbecSEntRDjo+cuCapB5TUPZVjaVHrwpMbX6NFJm9Lgd9C8xGqJ+fzdWak5s89L1THEva6djWiya55mhbNVJ+naew7Lvl88/LywsSJExEQEGCxLmMM77//Ps6cOYP69evL6l+xaOrcubN4Zzod9u7dq6Q7l8UTRJMzCCZXeBgA8ucp95e2tWJNyvIiNl/+WEIxLNy+LFmQuP1wN7O1BkMfWuY7snSP+OfVCCc5gkloTCGsFaHOilSwuaFczKXryOu0VjjZVTQt1EA0jXNd0VRQUIAaNWrIql+lShWcPHnSdqKJKMfdRZMzCCZXRsodx0VpHanxxLA2LkRMXEiJLG5bg9jgiyYlFiZL25DY2s2ktWDiI+fzF6pv6xg4eyDHsqlFnJ0tsEY4kWiyD1evXkXdunWh08lzMebl5SE8PBze3t6y6iuOaeIPptPpULt2bTXdEE4EiSVtkBv7JCRApPoxtJE6LxWALdctJDSHBuOPiM5T6sF9KXm5mXDibnDbPbylWVyXoT9jLp8FwnNWa4HQWnAptYjJCY4Xuv9yLH7OjLXB+obrdrRQdPr4Jg+OaYqIiFBUv06dOorqK84IXlpaimnTpiEoKAj16tVDREQEgoKCMHXqVDx69Ehpd4QTELlonvEg5GPNA9fSL2mlosbSA0TOr3OhQHShcu57/mvuXITGupS83EQoGYhKGykp/PiHJeTcL/44QqixMO28kSUrEFtsTnz491VIsLoaUt9FoTIxF54jceq/lx68jcqpU6eg1+tl1z99+jRKS0tl11dsaRo9ejQ2bdqEuXPnIjExEQCQmZmJlJQU3L59G8uXm/9hJJwTp/5P7wJIrQyS00bsF7TScfl9yRUGWv5a5z7MjeMnS7cRi3UyiitOe4M1SmhckzE5OMoa0T28JRrAshBS41rk32tHW16sQUzQi1lFnfH6nN7i5IHExsaioKAAISEhsuonJiYiKyvLdjFNQUFB+Oqrr9CzZ0+T8h07dmDAgAEoLCxU0p3L4g4xTSSa/kbNQ0epq0FKbMkN5Bbrj/8w5rsBueNxx1T7QBIaj5+ziDuGkMuOPzduELkcQSp0H5UGXVuT5NKAWNC3o6wjzurCE/ouin2HnWneUsgRTnaNaZr3rvqYponTXPL55uXlhVdffRWVK1eWVX/p0qWKVs8ptjT5+fmhXr16ZuX16tWDj4+P0u4IB0BiyRw1f5z5D0ZLliapAGslSFmXuPMQi6HitpMrOMQQsqCZCKUFpvW7h7c0K+P31T28vJ2QVUbKEqEksJ2PFqv0lAZ32wpL3w8D9hYoQlYlPs7khpOD01mcPDgjeIcOHXD+/HnZ9RMTE1GpUiXZ9RVbmmbOnIlz585h9erV8PX1BQAUFxdj2LBhaNiwIaZPn66kO5fFlS1NJJpsg5TVR4m1yFDGRY4AkHpYy4kJUWrpEro+tYHZlrD2YSokbA3WMCmhpDS2iSsUHfngF1oMIHTO8N7RWPN/xNmwJJrsamn6SANL0yTXtDTZGsWiqW/fvtizZw98fX3RokULAMDJkydRUlKCp556yqTuxo0btZupk+GKoonEkmOQI3AsWaDkupnkiDYhYWPpAW/JeiJ0nu+O4yLkmjPUEYpfknroi83D0E6OS08KtS46LdHC3WfpO2UvcaJ2AYMzIiWc7CqaPnxPvWh6Y6pLPd/shWL3XNWqVfHcc8+ZlCldskcQro7Sh4slN4RSwcQ/L+SKUVrO7VdofpZWPCl5mF9KXm4UGHxRUm79EV9JxX8v5baT81DWErn3wlrxI0c8Wupb7DvB/dceSH2/hcQ/IR8dKz/UtCeEUSyaVq9ebYt5EDZGrZXJ0/5wWbpepbE/Sh+ilvoUc4mJPQSF5ioWGM6fl1AdKUuPHKFl2n+WWXl5ELg80chHTUyTnP6FMFqYFsgbxxo3qdw+5M7ZkrCyx/93S65fqTrOiNPFNhGaozhPE+F6aOGWc6U/XFog93rlBP3KEw6mNBgvnX9JzoNVzIrFLZf7gBUSU2ICi/+aP0b38JZGFxw/ySUX7jmueLuUvBw7b2QZ748ca5Jaqw6fqLSRxuvgzlsLC5aSuDKl8D8jw2FNDJwtcdW/N04jmByQp+ngwYPo1asXwsPDodPpsHnzZottDhw4gLi4OPj5+aF+/fqCKYs2bNiA6Oho+Pr6Ijo6Gps2bVI+OQ0h0eTGUMJKaeS6MLhlfKEhJEyE6vEf7tzzaoKbLb0WE0xi8+JjSViJxRDxr40bw3RxQQJ23sgyi3OSIy4vLkgwEypS1yE1/503sowHv5wLVyAZXsuZrxLExIyQpVDtuGLfD1uKNUtIWQwJ1+DBgwdo0aIFlixZIqt+Tk4Onn76abRv3x4nTpzA22+/jTFjxmDDhg3GOpmZmUhOTsagQYNw8uRJDBo0CP3798fRo0ct9v/o0SO88soruHz5stXXJATtPWclzhIIrpUocjf3mxxXlxL3Gr++0kBVS0HZ/HNK58Yfgz83qbglOX2qOW8YTygjOJfu4S0lcztZGtPSQ9awUk4ssJsrxMQ+D3shx23FLeO3FXKnCl2TO/2fdwacJRA84oP34OXnZ3U/+ocPcfU/1geC63Q6bNq0CX369BGt85///Adbt27F2bNnjWUjR47EyZMnkZmZCQBITk5GUVERduzYYazTo0cPVKtWDevXr7c4j6pVq+L48eOyczDJQdXec4RjsIX1yBX/eMqPmVF+ztI4QtYUOTFQYv1o8YCWelhKxWBZeujysYUgjUobCSyAca85Oa41ax76UivhuKKKG4guJpatwVIfUuflCh7+vZeyNgp9TiSmCANFRUUm7319fY2phtSSmZmJbt26mZR1794dK1euxKNHj1CxYkVkZmZi/PjxZnUWLlwoa4y+ffti8+bNmDBhgiZzBmSKpuDgYFy4cAHVq1fHP//5TyxatAhVqlTRbBKEfJzd3WbrP7hiFhs+cq0fUmPI6UttHe71yA22VjMOv0yonRJxZQluX2JurQbjjwhuyCtmIRG6Lq3unUE4WboXlvI7iSEmarnnpeLYxF7z7xP3+yT0/eKWC41LwkkeThPDxEejDXv5K+OnT5+OlJQUFRP7m4KCAoSGhpqUhYaGorS0FLdv30bNmjVF6xQUFMgao0GDBnj33XeRkZGBuLg4+Pv7m5wfM2aM4nnLEk0lJSUoKipC9erV8fnnn+ODDz4g0eQAnF0wAeIPWrV/gK11L4n1IfUglnpoSVkB1MxNyTzk9MO1MEnVFfp8xB6y/DZKH7RibcU+C7F4Mf7nYCluywDXNReVNlKwL8N8+HPmW+y0ysfEv3ZrXGdC3z1uP5YEpZD1k9s3iScnFkdiaJQRPC8vz8Q9p5WVyYBOZyrsDNFC3HKhOvwyMf773/+iatWqOHbsGI4dO2Y2ts1EU2JiIvr06YO4uDgwxjBmzBjRtOOrVq1SPAnCfdEqfkKLP9xSDwcucn/tC53ju9rkzkkrccnvV+w9t1zowcoXVHyxozSuSMhNqKSOmKgU64trCeLWM5QZNtS1JIKFhKcWbjr+OHwBp+R7IPV/TMj6pOT/pFyrpZxzzoZBCEn9GHU5saQxgYGBNou/CgsLM7MY3bx5ExUqVMBjjz0mWYdvfRIjJydHm8lykLV6bt26dXj66adx//596HQ6FBYW4o8//hA8lJCSkgKdTmdyhIWFidbPz8/HSy+9hEaNGsHLywvjxo0TrLdw4UI0atQIlSpVQp06dTB+/Hg8fPjQ6nGdAVewMkkhFl/hjCh9YCmx7sjpRwuU3mfD+EKfkyVLDt8VJNa/0Gv++GJzF7J8Sd1vriXIkKKAi1Bsk1CZ2H3U4rOSE2ukBCk3nOFfS5+D3HGsOedMcMWQmDByacHkgJQDSklMTER6erpJ2a5du9C6dWtUrFhRsk5SUpLtJyiCLEtTaGgo3n//fQBAZGQk1q5da1SCamnatCl2795tfO/t7S1at7i4GCEhIZgyZQoWLBDe7fOLL77AW2+9hVWrViEpKQkXLlzA0KFDAcCkjZJxHY2rCyYurvJHVQ5aPIDEsLdljm+BMPQh9fDmW4bkWoik+uO2E3svJC7E5lo+fhYAU+uTkHvNEMtkKf5LS0uT0tgoa61DhraW2riSpchahMQQ3+rk0oIJjskIfv/+fVy8eNH4PicnB1lZWQgODkbdunUxefJkXL9+HWvWrAFQvlJuyZIlmDBhAkaMGIHMzEysXLnSZFXc2LFj0aFDB3zwwQfo3bs3tmzZgt27d+Pw4cOy53Xt2jVs3boVubm5KCkpMTk3f/58xdepePWc1uauChUqyLby1KtXD4sWLQIg7gbMzMxE27Zt8dJLLxnbvPjii/jxxx+tHpdwH1zloWDrOQoFDnPL5SDmwhMbz1DP0jk5cThi8xDqu/v4lrI25u0e3lJQPCodUwlRaSPRANp9J+W46oTKhD4D7nt3wZIYcnWx5Eh+/vlndO7c2fjesGJtyJAhSE1NRX5+PnJzc43nIyMjsX37dowfPx6ffPIJwsPDsXjxYpNt2pKSkvDVV19h6tSpmDZtGqKiopCWlob4+HhZc9qzZw+effZZREZG4vz584iJicGVK1fAGEOrVq2suk6rUg4cOHAAH330Ec6ePQudTocmTZrgjTfeQPv27RX3lZ2djfDwcPj6+iI+Ph6zZ89WlVOhXbt2WLduHX788Uc88cQTuHz5MrZv344hQ4bYdFxb4U5WJmdAKMjVGWM07DGuUCA3918uYg9T/kNarjtLyqrF78eSgJIjXqwJ3Ba6N3LHE+tPrdCylUVTKNjeXfBIIaRRILgSOnXqBKm0j6mpqWZlHTt2xPHjxyX7ff755/H8888rnxCAyZMnY+LEiZg5cyaqVKmCDRs2oEaNGhg4cCB69OhhVZ+KM4KvW7cOXbp0QeXKlTFmzBiMHj0alSpVwlNPPYUvv/xSUV/x8fFYs2YNdu7cic8++wwFBQVISkrCnTt3lE7LyIABA/Duu++iXbt2qFixIqKiotC5c2e89dZbqsYtLi5GUVGRyUG4NkIuHzXuJVdCLMBZDDFLhJirTKg934Ik57WUm0xLLIkqtd8DIXcjX3hqidTnJFXfVvOxNzljJxoPj8QFYprswdmzZ40GkwoVKuCvv/5CQEAAZs6ciQ8++MCqPhWLplmzZmHu3LlIS0vDmDFjMHbsWKSlpeH999/Hu+++q6ivnj174rnnnkOzZs3QpUsXbNu2DQDw+eefK52Wkf3792PWrFlYunQpjh8/jo0bN+K7774zmZs1486ZMwdBQUHGg5+/gnBNhAK5nSFY3VHWLf4c+NYWoeBrua4cS8HecuZkC7gB4Fred26/UsHztoDbP9dyJCVo7Y2txvRYoUSY4e/vj+LiYgBAeHg4Ll26ZDx3+/Ztq/pU7J67fPkyevXqZVb+7LPP4u2337ZqEgb8/f3RrFkzZGdnW93HtGnTMGjQIAwfPhwA0KxZMzx48ACvvvoqpkyZAi8vc50oZ9zJkyebZBUtKioi4eTEKInJ4LuF3OGXthKElruLCSRDfS78tkIovadKxKtYXbE4Jn45f6Udt8xkRV2yMjcfN7CcO1c+YvFlUm2E+jDUFWsv9d12xHfeFmOSYCrHEYHgzkhCQgJ++OEHREdH45lnnsHEiRPxyy+/YOPGjUhIsO77p1g01alTB3v27EGDBg1Myvfs2aNaRBQXF+Ps2bNWxUYZ+PPPP82Ekbe3Nxhjov5WOeNqmT6eUI+aVURC9dw18FUOQoJJKPZLqL7hPBe5wlPovst1Jwm1AWC2d50QXEEkKI5k9iMHoUB7sXrc+vzXlhC6F2IrEMXiwqz97ou1tff/KRJMHDTKCO7qzJ8/H/fv3wdQnmro/v37SEtLQ4MGDURX4FtC8Ya9y5Ytw7hx4/DPf/4TSUlJ0Ol0OHz4MFJTU7Fo0SL861//kt3XpEmT0KtXL9StWxc3b97Ee++9hwMHDuCXX35BRESE2RJFAMjKygIADB8+HI0aNcIbb7wBHx8fREdHAyi/MfPnz8eKFSsQHx+Pixcv4t///jfi4uKQlpYma1w52GPzRQoC/xuxZeCW4nDkWI880bokhJwl6fy6ciwplsaQY1WS49aTsxGvUF+G92IbCisRTXJW+nERExZqv5NC/UqtDHSV778rCyN7btgbmTJb9Ya9OSlvO3xDemdEsWgCgE2bNmHevHnG3YkNq+d69+6tqJ8BAwbg4MGDuH37NkJCQpCQkIB3333XKICGDh2KK1euYP/+/X9PWCB9ekREBK5cuQIAKC0txaxZs7B27Vpcv34dISEh6NWrF2bNmoWqVavKGlcOtv4PQILpb5SsbvNki5E1qBGUSu+1HDFhbVyZoY2QcBITPTtvZBm3UzG8l9tWC5R+R+UKKUsB+fxzzvSjwpVFkSVINNmfV155BS+//DKefPJJ2VuvWMIq0UTY/j9AV68X6MH/P0gIaYtWQkiuJU9qHC6WrEli7iYx+LFLQu8NcPel45bZCmdxCSuxEmo9Ln88dxZMgH1FU/3p6kXT5RmuL5qeffZZ7Nq1C4899hgGDBiAQYMGoWXLlqr6VLx6jrA9ZGUyRSgYGbDPyip3Q+tYMCX1hdIOCJ0X61MoDkdqXpZEj5iAsgfOIJgciacJJrtDKQcAAFu3bkVBQQGmT5+OY8eOIS4uDtHR0Zg9e7bRO6UUsjRZia1+NZCFSRiheAy6T9ribLFdUq46pS48fn0hq5LSLU20wB73W87/F0d+9p4imOxqaXpHA0vTTNe3NPG5du0a1q9fj1WrViE7OxulpaWK+yBLE+ES8FdvOdPD3RkRWt2mJMGhLeHnEOJbn/jnxfqQ+z0QcoV1D29pPAxEpY00qQPYzgIlFhBu6TNSsrqQO5ZW1kWt8RTBZHfY32kHrDncxdLE5dGjR/j5559x9OhRXLlyBaGhoVb1Q6LJyfA0MWBpCTZhHXyRyS9zFFKr7qRcd4Y63H/lfkek0iMAf+dT4o91cUGC5pYnQ79cK5pYugHDv0LnneGzJJwYcs8Z2bdvH0aMGIHQ0FAMGTIEVapUwbfffou8vDyr+rPaPVdSUoKcnBxERUWhQgWrtrBzaWxlaqV4pr9xNneRO+GIeyu15N0eGNxvBuuRUPJJZ8bd/i94mpXJru65qbPhrcI9V/bwIS6/5/ruudq1a+POnTvo3r07Bg4ciF69esFPxX0BrLA0/fnnnxg2bBgqV66Mpk2bGnctHjNmDN5//31Vk/F03FkwybEoucrDyx1wxQzQBiuNoR9rXGdcwbTzRpaJm0+re2Irl54r/f+wZDX0NMFkd8jSBAB45513cOPGDWzevBkvvPCCasEEWCGaJk+ejJMnT2L//v0mE+jSpYsxeSRByEXIjST2nvAMdt7Iws4bWSauKKHvAt91JiVWuGLJ8J7rluM/5NV892wRTG7POD4psaMkPk5sviSYbI+aeCa1W7A4E6+++iqqVaumaZ+KRdPmzZuxZMkStGvXziRZVHR0tMlmeATBhQQQYcDSA9cQoC1UT8qCoYVYsdZ9KLUNi1rs7UKU+r9KMVWEp6NYNN26dQs1atQwK3/w4IFmGTc9EU9wzVky2ROuiZLPVM3nb21bvpXJIMqEVmRaO4ZQEk2thBM/9YI1K+jsidT/c7IyEa6OYtHUpk0bbNu2zfjeIJQ+++wzJCYmajczD8KdBRPgPNmPCW0RShMg122jNIGmnMB1SyLFcF5oub+Wgp4rztQgtD2QrTJ4aynAxD5fEkx2hGKabIbiZW9z5sxBjx49cObMGZSWlmLRokU4ffo0MjMzceDAAVvM0a1xd8FkgMSSeyG2hYpBfEiJHSVboYi1E0IoQWX52KaWHykBYgvrjaUta8TaKL0vav6P2fr/Jwkm+6I2LsldYppsgWJLU1JSEn744Qf8+eefiIqKwq5duxAaGorMzEzExcXZYo6EjbCVed9Z3QaE9nBzDUll7ubXERIpYlunGOrIcXfxBRO3fynLjy1dx2KxWWIWGSnBJCRQnQFnmQdB2BraRsVKtMi54a5WJsqv5JnwH5z8JI5iaGXlEVoRx49n4s5L7L3WyHExqhnfFf6vkaXJvnmaGrw1G96+KvI0FT/ExfddP0+TLVBsafL29sbNmzfNyu/cuQNvb29NJuUJuKtgItwbsTgmKTeclNVEywe+QRhxLTDcFAOGMfnzEbOQaYFQ1m9L9eWeo+2ECFEopslmKI5pEjNMFRcXw8fHR/WEPAESTO6NO1vapNxJcgSBvZOZyl3BJhSfpQVirjn+uPzX/LnxX2uZV8rWkJWJcCdki6bFixcDKF8t99///hcBAQHGc2VlZTh48CAaN26s/QwJh6DmAeLMf8DtgSdcP9/tJsfFJcdVJwZX/AjFJgmd5waFX1yQACyQtirx3YRaBoeL9SUWxM0XR0rur9h7wnOgQHDbITumKTIyEgBw9epV1K5d28QV5+Pjg3r16mHmzJmIj4+3zUydDGv902RlItwFa0WQNW3ERJOlnEhCm/FKBayLBaMLLf/XCjnCRol1ytmEElmayrFnTFPDN9THNGV/SDFNQigOBO/cuTM2btyoeWpyV8Oa/wAkmAhXwBoLhbOtntp5IwtRaSMFzwm5tS4lLzfZwFfq+uXEQEm5zqREm1h9OUH1ziaWABJMXEg0uQeKA8H37dvn8YKJINwZqQeznBgda8ZTC9fSdHFBgnEbFn7sj5B7rMH4IyZB5NascBMbQ8rFx3cLSgV2SwWSc9s5UxoCEkyOg/aesx2KA8EB4Nq1a9i6dStyc3NRUlJicm7+/PmaTIwgCMchZnGxZDWxxmWn5iFvcM9FpY1EAwgn3ORjaX5i7eW0E6on5j7jCiExt6AcnNE9R4LJwahdAUeiSRTFomnPnj149tlnERkZifPnzyMmJgZXrlwBYwytWrWyxRwJgrAT3Ae4HCuJWB/24u8s4OZCT+y1Evh9yG0DWBZZluajJMmlpTk7g5AiCHdAsWiaPHkyJk6ciJkzZ6JKlSrYsGEDatSogYEDB6JHjx62mCNBEHZC6mHMfYg7iwsIgEkskhh8ISiFQYRZg9yEntYiZgEDxMWa0HtbQlYmJ4AsTTZDcUzT2bNnMWTIEABAhQoV8NdffyEgIAAzZ87EBx98oPkECYKwP3zLjDNbKvgr5/jJJPmxTZbEDD+lgTVxQmoEE1/gyLXqiX1ehs/SmmSYSq+DBJNzQDFNtkOxpcnf3x/FxcUAgPDwcFy6dAlNmzYFANy+fVvb2REE4RC4lhlnCi7mwhVLDcYfMdusl5uOgO/GM7TRah5yAsnlIBVPJYRQDBff4qRmPkrakmByIsjSZDMUi6aEhAT88MMPiI6OxjPPPIOJEyfil19+wcaNG5GQ4Ly/RgmCkI+l4GVngC+IAOG8TQZBE5U2ElhQXqbldUhtBMxFTXyRUFuuBUmqjT0gwUR4Cordc/PnzzcmsExJSUHXrl2RlpaGiIgIrFy5UvMJEtI400OMcD6s+X5IPdzVuuls5eYzCBfuv9w8TVyLmS3/z1jK1yQn+JuPWJoEsfZCKQyc1VpI2Ajae85mKE5uSZRDyS0JR2PLbTLkrgCTW8cWbQ3w3XL8/g3YKzBbacZxKeRmKbfUB3ceWkNWJnnYM7ll4zHqk1ueW0zJLYWwKk8TAJSUlODmzZvQ6/Um5XXr1lU9KYJQiy0FhbOgxQNYLB5G7L1hXDWiSmshwxdM9lzlZ20uJTn1LeWa4vbrDC46gvAEFLvnLly4gPbt26NSpUqIiIhAZGQkIiMjUa9ePeP+dIQ5ZGWyDwY3hLsLJmsQCuq2JtBbKvu10NJ+7oNdC8Ek5jZ0ZNwV3yVmKSmokv4s1bOUz4k/JxJSHoCD3HNLly5FZGQk/Pz8EBcXh0OHDonWHTp0KHQ6ndlhWFgGAKmpqYJ1Hj58aN0ENUCxpemVV15BhQoV8N1336FmzZrQ6XS2mJfbQGLJvrirWNJSCAo90PliU86DVSp+R8oCIhbULBehuo4SAvx7JzYPKcuX2s9V7nfDUuA44T6oTRtgTdu0tDSMGzcOS5cuRdu2bfHpp5+iZ8+eOHPmjKAHatGiRXj//feN70tLS9GiRQu88MILJvUCAwNx/vx5kzI/P+tdj2pRLJqysrJw7NgxNG7c2BbzcStIMBFaobVgksrDJMfdJlYuJpZskfDR0J9UTJOtEbO6Ke3D0uerNss3WV8JWzN//nwMGzYMw4cPBwAsXLgQO3fuxLJlyzBnzhyz+kFBQQgKCjK+37x5M/744w+88sorJvV0Oh3CwsJsO3kFKHbPRUdHUz4mD4HM+O6LmAVIzso5uau3+OVaxzUZhABXMLmSMFAyVyl3n5x+bHVfKAjcSdHIPVdUVGRyGHI08ikpKcGxY8fQrVs3k/Ju3bohIyND1pRXrlyJLl26ICIiwqT8/v37iIiIQO3atfGPf/wDJ06ckNWfrVAsmj744AO8+eab2L9/P+7cuWN2Uwn3QWvLAOFc8LNmC50zwI+xEXPNyXFDabEMXmppvaPgZyYXghtfZK31x1oBZK/geMIJ0Eg01alTx2gRCgoKErQYAeWJrcvKyhAaGmpSHhoaioKCAovTzc/Px44dO4xWKgONGzdGamoqtm7divXr18PPzw9t27ZFdna2vPtgAxS757p06QIAeOqpp0zKGWPQ6XQoKyvTZmZuQM7YiS7vonOlX+6EZfhB2VIWI6m2QuVisUZCVhGtH9xCIs/e4sBg8RILgue+55bZ6/+Y1uORlcn9ycvLM0k54OvrK1mfH+Ns0AWWSE1NRdWqVdGnTx+T8oSEBJOk2W3btkWrVq3w8ccfY/HixTKuQHsUi6Z9+/bZYh5uizsIJ8K+2Dr+hC9itHCbibmPpILF1WDpHtkihkoIoTEsBarzVyy64g8TEkzOje5/h5r2QHkQtpw8TdWrV4e3t7eZVenmzZtm1ic+jDGsWrUKgwYNgo+Pj2RdLy8vtGnTxrUsTR07drTFPNwaEk6eib3dL5bGtcaqxD8vlNKBf14s2FwrASNXiNlDOCnJUWVNegdHYeuEmISNsfPecz4+PoiLi0N6ejr69u1rLE9PT0fv3r0l2x44cAAXL17EsGHDLE+LMWRlZaFZs2bKJqghskTTqVOnEBMTAy8vL5w6dUqybvPmzTWZGEG4OrZ42MixToiJGLllcoLBxeYld47WINeqw60vpw9bzQ0Qjw1zdqTmSVYm58cRKQcmTJiAQYMGoXXr1khMTMSKFSuQm5uLkSNHAgAmT56M69evY82aNSbtVq5cifj4eMTExJj1OWPGDCQkJKBhw4YoKirC4sWLkZWVhU8++cSq69ICWaKpZcuWKCgoQI0aNdCyZUvodDoI7b5CMU3ikLWJ0AJLgkisvlRdOYLJkuVBzpJ5a7DkgjPATzugJF5LLGhdbe4osTquIpwIQgnJycm4c+cOZs6cifz8fMTExGD79u3G1XD5+fnIzc01aVNYWIgNGzZg0aJFgn3evXsXr776KgoKChAUFITY2FgcPHgQTzzxhM2vRwxZe89dvXoVdevWhU6nw9WrVyXr8pcLuiu09xxhL4TcXGLBxlyXlJIVWkrqGcYSai8krtRYdsTEnFLXm5QL0dEIXZMzCyuyNFmHPfeea/ov9XvPnf6U9p4TQpaliSuEPEUU2QJ3sjY5+x92V0JpckOpOkrbyOlLjrVKSDBpGfStpFxobkJtnEEwAeaCkP5fEZqgJqaJEEWWaNq6davsDp999lmrJ0O4DvSHXTvkWBe4deQKLG4qALluPLH3YmVauLak5mRJiCmxGNnLwiRnDPr/QxCuiSzRxM+dwI9p4uZhoJgmwpOx5Yo5OSvR+Cu0+MJJKwuhpfHVIubqU5rCQGyVn1g9W4pAbl+uujqNXHOugSMCwT0FWRnB9Xq98di1axdatmyJHTt24O7duygsLMT27dvRqlUrfP/997aer8tDf3TcG1s9AOUsVZcb/KxUADhimTzfqsYXgnLnJKeNkPuRP7ZcxNIKGPoTW2HnKqkICBdBo4zghDmyAsG5xMTEYPny5WjXrp1J+aFDh/Dqq6/i7Nmzmk7QWVET1OcucU2EbeC715QEaBuwVboDeySM1AruijqhTX2lLG/WWpy0EK7OZnmiH3raYM9A8JgRs+HtoyIQvOQhfv2MAsGFULz33KVLl0x2JjYQFBSEK1euKOorJSUFOp3O5JDazTg/Px8vvfQSGjVqBC8vL4wbN06w3sKFC9GoUSNUqlQJderUwfjx4/Hw4UOTOkuXLkVkZCT8/PwQFxeHQ4cOKZq7GuiPECGFNcLEYMngxzxpHYztrHmHhGK9uCKJL5gAYSuUWouPVFtu30Kfl5x4NXuRM3ai8SBcD4N7Ts1BCKNYNLVp0wbjxo1Dfn6+saygoAATJ060KndC06ZNkZ+fbzx++eUX0brFxcUICQnBlClT0KJFC8E6X3zxBd566y1Mnz4dZ8+excqVK5GWlobJkycb66SlpWHcuHGYMmUKTpw4gfbt26Nnz55mOSRsCf0xIqRQ8gC1ldVCTEQIua5s9bBXcg9sbQGTe61yYqcslTtylR/9bXIDyD1nMxSLppUrV+LmzZuIiIhAgwYN0KBBA9StWxf5+flYuXKl4glUqFABYWFhxiMkJES0br169bBo0SIMHjxY0NoFAJmZmWjbti1eeukl1KtXD926dcOLL76In3/+2Vhn/vz5GDZsGIYPH44mTZpg4cKFqFOnDpYtW6Z4/moQ+uPkKq4Pwr4IpRMwYCtXnNQ5obxJjsQW90AqGagU/M9GTnwU39IlJ82DLSDBRBDSKN57rmHDhjh58iR2796Nc+fOgTGG6OhodOnSRdZuxnyys7MRHh4OX19fxMfHY/bs2ahfv77ifgy0a9cO69atw48//ognnngCly9fxvbt2zFkyBAAQElJCY4dO4a33nrLpF23bt2QkZEh2m9xcTGKi4uN74uKiqyeoxTOYp4nnAOhVWP2epDKEUSOFksGxESklq42oc9AjoDir+AT+vzkWqBsCQkm94FWz9kORaKptLQUfn5+yMrKQrdu3dCtWzdVg8fHx2PNmjV4/PHH8dtvv+G9995DUlISTp8+jccee8yqPgcMGIBbt26hXbt2YIyhtLQU//73v40i6fbt2ygrKzPbeTk0NNRsh2Yuc+bMwYwZM6yaE0FohVwRIBXgLPUg1totJCS85OYx4lpdlMyFvwpO6Dx3DKX9isV3yZ2T0Ht7QuLIA7Dzhr2ehCLRVKFCBURERGiWi6lnz57G182aNUNiYiKioqLw+eefY8KECVb1uX//fsyaNQtLly5FfHw8Ll68iLFjx6JmzZqYNm2asR7fKsYYk7SUTZ482WRORUVFqFOnjlVz5OJOWcIJ2yP3QSt3RZhYO0tL8+UitsTemnZawBeFcvMzcUWcYSWe3NV03H/Fxhd6rwYSRh4OiSaboTimaerUqZg8eTJ+//13zSfj7++PZs2aITs72+o+pk2bhkGDBmH48OFo1qwZ+vbti9mzZ2POnDnQ6/WoXr06vL29zaxKN2/eNLM+cfH19UVgYKDJQRDOipgIkGtd4Qei81/b2kpibZ4kKaTiiSxZpLgYVuKJue+EVjHy6/BfO9LyRBCEfBTHNC1evBgXL15EeHg4IiIi4O/vb3L++PHjVk+muLgYZ8+eRfv27a3u488//4SXl6kW9Pb2BmMMjDH4+PggLi4O6enp6Nu3r7FOeno6evfubfW4BOFMWLOCi4uQFcSaOTgq5kls/tyYIr4oElvBJiZo+NfHd9spiVMiwURoCcU02Q7Foom/pYoaJk2ahF69eqFu3bq4efMm3nvvPRQVFRmDtidPnozr169jzZo1xjZZWVkAgPv37+PWrVvIysqCj48PoqOjAQC9evXC/PnzERsba3TPTZs2Dc8++yy8vb0BABMmTMCgQYPQunVrJCYmYsWKFcjNzcXIkSM1uzaCcGXUCh417YXcYmoQsggJxSXxg7T52cjFRJJQ4kyCcCjknrMZijOCa8mAAQNw8OBB3L59GyEhIUhISMC7775rFEBDhw7FlStXsH//fmMbobijiIgIY2LN0tJSzJo1C2vXrsX169cREhKCXr16YdasWahataqxzdKlSzF37lzk5+cjJiYGCxYsQIcOHWTPXevsrhTXRDgTjrAQWSuQHGHRUpLd2xGuN4ppcj7smRG8xWD1GcFPrqGM4EJYLZqOHTuGs2fPQqfTITo6GrGxsVrPzamx5X8AElCEI9FagLjS1ivWZmM3IGbVItFE2FM0tRw0S7Voylo7hUSTAIpF082bNzFgwADs378fVatWBWMMhYWF6Ny5M7766ivJ5JTuhD3+AxggEUXYEjmB0K4ieuwF/55IZfQWq2NLSDQ5H3YVTS9rIJrWkWgSQvHquddffx1FRUU4ffo0fv/9d/zxxx/49ddfUVRUhDFjxthijgRB2BAxS4nQCjqp4GZnCnAWSh4pNj8lc+Rn6ua3FwsCp0BvgnAPFIum77//HsuWLUOTJk2MZdHR0fjkk0+wY8cOTSdHlEO/Ggl7wV/mz90yRWjDWbH2BtRaqKwRNGJWMy2sZWKr5aQsS2SpI+wNbdhrOxSvntPr9ahYsaJZecWKFaHX6zWZFEEQjkfIbSeWDdseySiV1rXHCkCh9AVCK/CEUhwQhM2g1XM2Q7Gl6cknn8TYsWNx48YNY9n169cxfvx4PPXUU5pOjiAI+yFkMRHaSNaZ3HB8LM2DO38xUbTzRhYAacFmqMOvZ2klnbPcJ4IgrEOxaFqyZAnu3buHevXqISoqCg0aNEBkZCTu3buHjz/+2BZzJCQgsz9hC8SyWgsJKym3mK3mJobUJrtCrw3/ckWQVM4lQ72oNPOcbpa2ZSEIe0HuOduh2D1Xp04dHD9+HOnp6Th37hwYY4iOjkaXLl1sMT+Ch9Cu6YTnYMvl69ZmALe3QBAbT8xyJOd+yU1OGZU2ElhAoohwcsg9ZzMUW5oMdO3aFa+//jrGjBlDgsmOkEjybKyxZEhtmit2zpIryZbWJTV9WhPHpPReCq0w5Lv9CMKRkKXJdlglmg4cOIBevXqhQYMGaNiwIZ599lkcOnRI67kRHGgFHcHF0oNZaHsQoXPcMn4dKfEkJbrUYm1ySbFrEHvPby/23tJcpe6tIyxS9LeCIGyHYtG0bt06dOnSBZUrV8aYMWMwevRoVKpUCU899RS+/PJLW8yRIAgFcFd0ccUP95zhNfdfoezVQpYVIRzpMpaylhleiwW489tfXJCAS8nLzfrjxjxxy/j3UmjVnNgcbQEJJgLA3+45NQchiOKM4E2aNMGrr76K8ePHm5TPnz8fn332Gc6ePavpBJ0Ve2YEN0CZwQkuXHEklhqAe14qFojbRuy8pTpql/fbon++WBRa9i8kCq2Zh6PdciSYnBt7ZgSP6z8LFSr6Wd1P6aOHOPY1ZQQXQrGl6fLly+jVq5dZ+bPPPoucnBxNJkUQhGXkJE+U40azlPiRa7GSqmONaJBriZEjmKTcbFzxqEbcWLoHjoIEE0HYB8WiqU6dOtizZ49Z+Z49e1CnTh1NJkUQhHz4VhS54kBry4g1okFujiNrx5fjWuSfF7JGUY4lwqVgTP1BCKI45cDEiRMxZswYZGVlISkpCTqdDocPH0ZqaioWLVpkizkSBCGBkKtJTnZsV1g2r8btxxeRcuuLnbO3CCUIa1G7Ao5Wz4mj2NL073//G1999RV++eUXjBs3DmPHjsWvv/6KtLQ0/Otf/7LFHAmCsADXuiQUlO0KAkkINXFMUgHtQmVy9s0TC/S2dq5a4KqfLUG4IooDwYlyKBCccBa0sKR4EnKEpJCFSyrY3hmguCbnxp6B4K2fe091IPjPG6ZSILgAit1zP/30E/R6PeLj403Kjx49Cm9vb7Ru3VqzyREEYRmpPErc80JiwdUtUdYg5bpUskULt76S2CmCsDU6ffmhpj0hjGL33KhRo5CXl2dWfv36dYwaNUqTSRHy8KQHHaEMIdeUUC4hbpmnPOz51yommLj3yVKST6k6BEG4D4rdcwEBATh16hTq169vUp6Tk4PmzZvj3r17mk7QWXGEew4gFx0hjZL8TNx6YuW2jNlRm9tJzXhKLUpibZRYmKxNy6AEctE5L/Z0z7Xpo94999Nmcs8JodjS5Ovri99++82sPD8/HxUqKPb2EQrJGTvReBDuh9qVYoCpOJCb/4i/d5pQVnGt0apPuekVhLZUsbQNCheh+8AdW6x/w3ul27NYA/2oIgDH7T23dOlSREZGws/PD3FxcZLbq+3fvx86nc7sOHfunEm9DRs2IDo6Gr6+voiOjsamTZusm5xGKFY5Xbt2xeTJk7FlyxYEBQUBAO7evYu3334bXbt21XyChDg5Yye6zB9Je/zKdgesvUdimcHlIrWVirOiJh5L7X3ml0lZ5PgCVs7Yau5/5KJ59KPK01Gba8mKtmlpaRg3bhyWLl2Ktm3b4tNPP0XPnj1x5swZ1K1bV7Td+fPnTaxZISEhxteZmZlITk7Gu+++i759+2LTpk3o378/Dh8+bBZXbS8Uu+euX7+ODh064M6dO4iNjQUAZGVlITQ0FOnp6R6T4NJR7jk+riKaCHFsIVKstVRYcsvZ26UmF6XzsuRq07q9pdV4tvgOkHByLuzpnnvi2XdVu+d+3DpN0Vzj4+PRqlUrLFu2zFjWpEkT9OnTB3PmzDGrv3//fnTu3Bl//PEHqlatKthncnIyioqKsGPHDmNZjx49UK1aNaxfv17ZRWmEYvdcrVq1cOrUKcydOxfR0dGIi4vDokWL8Msvv3iMYCLcHznuGym3jtoHsBqEAr6VzEOoPt99Zw1aB0pzg6/teb+lguzFsBQwbgvLHv2g8ly0cs8VFRWZHMXFxYLjlZSU4NixY+jWrZtJebdu3ZCRkSE519jYWNSsWRNPPfUU9u3bZ3IuMzPTrM/u3btb7NOWWBWE5O/vj1dffVXruRBW4EouOmeG+0tfyI3CTR4pJJCUPATF3DRaWRuEkltq1Z8abBUXZck9JtZG6DOXwhkSWSqFXHUeCvvfoaY9YGYImT59OlJSUsyq3759G2VlZQgNDTUpDw0NRUFBgeAQNWvWxIoVKxAXF4fi4mKsXbsWTz31FPbv348OHToAAAoKChT1aQ8octsNcAbhJPcPs6PnyYcvhuRaQ7hB0vy+5IzHDxDWSjDxBZm1OYnE+pa7Ks/WCN1Dw2uhenKSVVpCi+t1RLwYCSfCWvLy8kzcc76+vpL1dTqdyXvGmFmZgUaNGqFRo0bG94mJicjLy8NHH31kFE1K+7QHJJrcBEcKJyV/kJ1B4InlJpJ6mIm5rPh98gOqpfoQegirfagKiTkhK5gcASA0F7mr8rSGL4ospUPg3wcpoajFtYh93mqFmlaQcPIstNp7LjAwUFZMU/Xq1eHt7W1mAbp586aZpUiKhIQErFu3zvg+LCxMdZ9aozimiXBeHPFH0ZoxHf3H21KiQiG4sSuWYn6E+rImDYDSc2LzERtXrnCyVcoBJQjNQWpufNEoFftkTayVtQJY7j3XCm5fjv6xQtgRw+o5NYcCfHx8EBcXh/T0dJPy9PR0JCUlye7nxIkTqFmzpvF9YmKiWZ+7du1S1KfWkKXJzbCnJUeN+HEGixMfuckL5VqDlLqwxGKlhFxuUi49IeuZEguRowWSllhaDWgtSlfKSc1HqI5WcPty9I8Vwr2ZMGECBg0ahNatWyMxMRErVqxAbm4uRo4cCQCYPHkyrl+/jjVr1gAAFi5ciHr16qFp06YoKSnBunXrsGHDBmzYsMHY59ixY9GhQwd88MEH6N27N7Zs2YLdu3fj8OHDDrlGwIqUA0OHDsU///lPE5+jJ+IsKQfEsLUgsdcfYEcIK6lAcDltrckfJBWELtaX0DjWxPbw2yqdu7PhyHgrKeHNn5dYXaXiXA4kmByPPVMOJPacqTrlQOaOdxTPdenSpZg7dy7y8/MRExODBQsWGLXC0KFDceXKFezfvx8AMHfuXKxYsQLXr19HpUqV0LRpU0yePBlPP/20SZ//93//h6lTp+Ly5cuIiorCrFmz0K9fP6uvTS2KRdNzzz2Hbdu2oU6dOnjllVcwZMgQ1KpVy1bzc1qcXTQB4oLDXf6A2kpQWXrgylllZ4uHtqV+rRFrroajA9DlIGflpKV6Ym2tFVHu8n/elbGraOqhgWj6Xrlo8gQUiyYAuHPnDtatW4fU1FT8+uuv6NKlC4YNG4bevXujYsWKtpin0+EKoskTcLQlSuxBZq14kiOMLFmK5AQkE6aouUeWViRaI3QtWR6VQILJOSDR5B5YJZq4nDhxAqtWrcJ///tfBAQE4OWXX8Zrr72Ghg0bajVHp4REk/NgD+EkFF9krSvOVkjlfXKG+bkzYqLGUmyT0GstIcHkPNhTNCV1Vy+aMnaSaBJC1eq5/Px87Nq1C7t27YK3tzeefvppnD59GtHR0ViwYIFWcyQISezxYBB6sDlq+bgYQqvJnGHlmycjJ6WF0OdFnxmhCj1TfxCCKF499+jRI2zduhWrV6/Grl270Lx5c4wfPx4DBw5ElSpVAABfffUV/v3vf2P8+PGaT5gghFAinKyxTGllCRBbDaclzibmlOKK7kQ5sUpyA/Bd/fMjnACNMoIT5ii2NNWsWRMjRoxAREQEfvzxR/z8888YOXKkUTAB5XvDiG3ARxCOxhrLlFQuH8ODzlK+HzGrgzV5gsT65c5JTj16QKvH2jgmfn0STATh/CiOaVq7di1eeOEF+PlZ7y91ByimyfXRKhZKLDZFbKm5AaUWCbU4e0oBJSkU5PRlzTWqtf4pzQyuZjWdHCimyXmwZ0xT2y4zUKGCipim0of4Yfd0er4JoNg9N2jQIFvMgyDsjlYJNvlbdgDi7jypfEn2tDIotY7YA0v3Q4mgUZo2wlDGtRoK9SUn15LSz5asS4TmWJHV26w9IYjq1XOeClma3ActV9+J5W4y4EixImVpcoZVdlKxPdZk9ZaT0FPJ3KzN8i2VsJQ/RzmiTAlkaXIe7GppeipFvaVpTwo93wQg0WQlJJrcG1u47vjl9gx4dnbXHBc5OYqUZjcXEiNy8mFZaqdVugAlmcCVxD6RaHIe7Cma2j2pXjQd3kuiSQjae44gBLDWdce3GsiJZ7KHeHJ2ocRFjqVFLKie7yJVakHjulrFcnHJjUVTYnmSI774rkNb5XYi3ABaPWczVOVpIgh3xtpVdtx/pTKGc+sR5cjJayRWX0gwKRFL3HZCn6NUWy2C+oX6kRKQalddEgShHBJNBCGBte4NqYel4ZwrWX/shVAwPf+1WH0llhsx659QUD+/nZRLkC9k+P0JBZpbmhNBKEXHmOqDEIbccwRhASHhZMl1J2blsBQoLtXWljhiTCnEVs5x4c+Xa12SI7iEsNRO7n2Scr9KrawkCE3Q/+9Q054QxKGiKSUlBTNmzDApCw0NRUFBgWD9/Px8TJw4EceOHUN2djbGjBmDhQsXmtTp1KkTDhw4YNb26aefxrZt26walyD4yLJAjRUv6+r1gkmxowO1nUkwAeKr5SzF86i5DrEYKG4Z32JkTf9icVcEQTg/Drc0NW3aFLt37za+9/b2Fq1bXFyMkJAQTJkyRXRvu40bN6KkpMT4/s6dO2jRogVeeMH0IaVkXILQmnT9N+jq9QI9MEUQE0xi7i01Yokfv8QdS6pvJYJHSIwpCTJXAgkxQq2Ljdxz4jg8pqlChQoICwszHiEhIaJ169Wrh0WLFmHw4MEICgoSrBMcHGzSX3p6OipXrmwmmpSMSxC2IF3/jcl7qXgZT0PoXvBFjCVRIxRjZGlM7mt7uM/UuBLFIMFEGFfPqTkIQRwumrKzsxEeHo7IyEgMGDAAly9f1rT/lStXYsCAAfD391c1bnFxMYqKikwOglBLztiJJJagfEsZoZQAcvrj1xFbrSdkfRJqozRo3FIKBWeLLSNcFENGcDUHIYhDRVN8fDzWrFmDnTt34rPPPkNBQQGSkpJw584dTfr/8ccf8euvv2L48OGqx50zZw6CgoKMR506dTSZI0Gk678xOTwRucHVQm47tXFMQhYtbrmYKLMkzMTydAmlNDC81tK1RoktCUJ7HCqaevbsieeeew7NmjVDly5djIHan3/+uSb9r1y5EjExMXjiiSdUjzt58mQUFhYaj7y8PE3mSBB8PF1A8bEkUOS64ITioPgxRXJSRQj1aSmPk1g5WZUIW6Bj6g9CGIcHgnPx9/dHs2bNkJ2drbqvP//8E1999RVmzpypybi+vr7w9fVVPS+CUIIhYNxTEBISUjFLUu/lnLMkWsTSGkjVVWIpEkuqaWksS5CVycOhDXtthsNjmrgUFxfj7NmzqFmzpuq+vv76axQXF+Pll1+267gEoTWeZHGyxk3Hb2+N1Ufu2EL1rF3Nx09rIDcVgaW+STARhO1wqGiaNGkSDhw4gJycHBw9ehTPP/88ioqKMGTIEADlLrHBgwebtMnKykJWVhbu37+PW7duISsrC2fOnDHre+XKlejTpw8ee+wxxeMSBOGciFmiuFYeqa1V5Fqt+OfkbO8iFqsk1a/YnKRcd1J9k2AiAECnV38QwjjUPXft2jW8+OKLuH37NkJCQpCQkIAjR44gIiICQHkyy9zcXJM2sbGxxtfHjh3Dl19+iYiICFy5csVYfuHCBRw+fBi7du2yalyCcDYM1iZ3dtVxA6EtbZtiKbO6nDxLQv1y2/PHs3UMEmUIJzSD3HM2Q8cY3R1rKCoqQlBQEAoLCxEYGOjo6RAegruJJjlCSU4dueOonafhtdZo1TdZmpwXezwzDGN0emIKKlTws7qf0tKH2P/jLHq+CUCiyUpINBGOwt2EkxSWRIRUXJBYmaXxxPpwBcsPiSbnxa6iqY0GouknEk1CONXqOYIgPBuxzW0N54Tq8+txUWpdEqovZuVyBRFFeCa0jYrtcKrVcwRBWMYdV9NZCqKWCpq2JsmltZvt8ufqTJCViSBsD4kmgiCcBkvCSKiONWJGrL0Q/FxKtO0N4fTQNio2g9xzBEE4HLVboajpw1J7ufmTCMJpYADUpA0gzSQKWZoIgnAKlLq9DBYfOTmWuIdUHal+uONy/+XPyRK2cKORa47gYohpUnMQwtDqOSuh1XOEo3GHVXRy9m7Ton8DctIaKJ2PXKHHFzZdvV7QxGpFgsk1sOfquSdj30IFbxWr58oeYu+J9+n5JgC55wjCRXHlfensFRsktvpObKNeS/ORytckVi4magwB/ZGL5klfhAQkmAhBGFQmt9RsJm4HuecIwoVx1ZV0csSJNecsYW3Wbb7gknLzcZEjaqwVPiSYCFEoENxmkGgiCBfHVYWTFNaKKqk94uRk3baU9kAuDcYfUSRqlAogEkwE4RhINBEE4VCsyZkk1l7onNR5bnv+fnX8dnLdiTljJ1olZHPGTjQ5pOoRhCR6DQ5CEAoEtxIKBCecEVeNcdIafm4lLmIr7pRat0i8EEqwZyD4UzFvooK3r9X9lJYVY8+vcxXPdenSpfjwww+Rn5+Ppk2bYuHChWjfvr1g3Y0bN2LZsmXIyspCcXExmjZtipSUFHTv3t1YJzU1Fa+88opZ27/++gt+ftYHuquBLE0EQTgUKZcav57SmCQ5bjZLW7VwkWMJIghPJC0tDePGjcOUKVNw4sQJtG/fHj179kRubq5g/YMHD6Jr167Yvn07jh07hs6dO6NXr144ceKESb3AwEDk5+ebHI4STACJJoJwK5w5vklMkIjtNSenrdA5tWkMxMYioUS4DA4IBJ8/fz6GDRuG4cOHo0mTJli4cCHq1KmDZcuWCdZfuHAh3nzzTbRp0wYNGzbE7Nmz0bBhQ3z77bcm9XQ6HcLCwkwOR0KiiSDcDGcVTtYIIv55OQkl5QR88/u3FAvlrPeUIASxs2gqKSnBsWPH0K1bN5Pybt26ISMjQ1Yfer0e9+7dQ3BwsEn5/fv3ERERgdq1a+Mf//iHmSXK3pBoIgg3xJUe8mq2JpEK7FbSRuzcxQUJLnUvCUJLioqKTI7i4mLBerdv30ZZWRlCQ0NNykNDQ1FQUCBrrHnz5uHBgwfo37+/saxx48ZITU3F1q1bsX79evj5+aFt27bIzs62/qJUQsktCYJwOEqEjBhCFiOpeiZiaKysIQjCNVCba+l/bevUqWNSPH36dKSkpIg20+l0vG6YWZkQ69evR0pKCrZs2YIaNWoYyxMSEpCQ8PePoLZt26JVq1b4+OOPsXjxYjlXojkkmgiCcDhabqdiJoiEIJFEuDN6AJa1inR7AHl5eSar53x9hVfkVa9eHd7e3mZWpZs3b5pZn/ikpaVh2LBh+Oabb9ClSxfJul5eXmjTpo1DLU3kniMIN8WV3EpqtlThCy5Xum6CsAVabdgbGBhocoiJJh8fH8TFxSE9Pd2kPD09HUlJSaLzXL9+PYYOHYovv/wSzzzzjMXrYowhKysLNWvWVHA3tIUsTQRBuDQklgjC8UyYMAGDBg1C69atkZiYiBUrViA3NxcjR44EAEyePBnXr1/HmjVrAJQLpsGDB2PRokVISEgwWqkqVaqEoKAgAMCMGTOQkJCAhg0boqioCIsXL0ZWVhY++eQTx1wkSDQRBOEGkGAiCA4axTQpITk5GXfu3MHMmTORn5+PmJgYbN++HREREQCA/Px8k5xNn376KUpLSzFq1CiMGjXKWD5kyBCkpqYCAO7evYtXX30VBQUFCAoKQmxsLA4ePIgnnnjC+mtTCWUEtxLKCE64Cu6YJZxEEuFq2DMjeJeocaozgu++tJCebwKQpYkg3Jx0/TcuIZxICBEE4eyQaCIIwu6QQCIIG+IA95ynQKvnCMIDcCaR4kxzIQj3RG02cBJNYpBoIggPwRnEijPMgSAIwlrIPUcQHoKj45pIMBGEnSD3nM0g0UQQhOaQQCIIB6JX6WLTk2gSg0QTQXgAtrIykTgiCMKTINFEEG6Oo91yBEHYGaYvP9S0JwQh0UQQbgwJJoLwQCimyWaQaCIIN8XWgolccwThpFBMk82glAME4YaQhYkgCEJ7yNJEEC4OCSSCIEwg95zNINFEEC4MCSaCIMxgUCmaNJuJ20HuOYJwUUgwEQRB2BeyNBGEC+JowURB4AThxJB7zmaQaCIIF8PRgokgCCdHrwegIteSnvI0iUHuOYJwIZxBMJGViSAIT4UsTQRByIYEE0G4AOSesxkkmgjCRXC0lYkEE0G4CCSabAa55wiCsAgJJoIgCLI0EQRhARJMBOFi0DYqNsOhlqaUlBTodDqTIywsTLR+fn4+XnrpJTRq1AheXl4YN26cWZ1OnTqZ9anT6fDMM8+Y1Fu6dCkiIyPh5+eHuLg4HDp0SOvLIwiXhwQTQbgejOlVH4QwDnfPNW3aFPn5+cbjl19+Ea1bXFyMkJAQTJkyBS1atBCss3HjRpP+fv31V3h7e+OFF/6OB0lLS8O4ceMwZcoUnDhxAu3bt0fPnj2Rm5ur+fURhKtCgokgXBTGyq1F1h4U0ySKw91zFSpUkLQucalXrx4WLVoEAFi1apVgneDgYJP3X331FSpXrmwimubPn49hw4Zh+PDhAICFCxdi586dWLZsGebMmWPNZRCEW0GCiSAIwhyHW5qys7MRHh6OyMhIDBgwAJcvX9a0/5UrV2LAgAHw9/cHAJSUlODYsWPo1q2bSb1u3bohIyNDtJ/i4mIUFRWZHAThjpBgIggXx7B6Ts1BCOJQ0RQfH481a9Zg586d+Oyzz1BQUICkpCTcuXNHk/5//PFH/Prrr0aLEgDcvn0bZWVlCA0NNakbGhqKgoIC0b7mzJmDoKAg41GnTh1N5kgQzkK6/hsSTAThDuj16g9CEIe653r27Gl83axZMyQmJiIqKgqff/45JkyYoLr/lStXIiYmBk888YTZOZ1OZ/KeMWZWxmXy5MkmcyoqKiLhRLg8JJIIgiDk4/CYJi7+/v5o1qwZsrOzVff1559/4quvvsLMmTNNyqtXrw5vb28zq9LNmzfNrE9cfH194evrq3peBOEskGAiCDeFqUw5QO45URwe08SluLgYZ8+eRc2aNVX39fXXX6O4uBgvv/yySbmPjw/i4uKQnp5uUp6eno6kpCTV4xKEK0CCiSDcF6bXqz4IYRwqmiZNmoQDBw4gJycHR48exfPPP4+ioiIMGTIEQLlLbPDgwSZtsrKykJWVhfv37+PWrVvIysrCmTNnzPpeuXIl+vTpg8cee8zs3IQJE/Df//4Xq1atwtmzZzF+/Hjk5uZi5MiRtrlQgtAArYQOCSaCIAjrcKh77tq1a3jxxRdx+/ZthISEICEhAUeOHEFERASA8mSW/NxJsbGxxtfHjh3Dl19+iYiICFy5csVYfuHCBRw+fBi7du0SHDc5ORl37tzBzJkzkZ+fj5iYGGzfvt04LkG4KySYCMIDIPeczdAxRnfHGoqKihAUFITCwkIEBgY6ejqEh6JkE18STAThOOzxzDCM8aRvf1TQ+VjdTykrwd7ir+n5JoBTxTQRBGEbSDARBEGox6lWzxEEoT0kmAjCw2AMgIpgbnJAiUKiiSDcGBJMBOF5MD0D01kvfChqRxxyzxGECyOVxZsEE0F4KEyv/rCCpUuXIjIyEn5+foiLi8OhQ4ck6x84cABxcXHw8/ND/fr1sXz5crM6GzZsQHR0NHx9fREdHY1NmzZZNTetINFEEG4AXzyRYCIIwp6kpaVh3LhxmDJlCk6cOIH27dujZ8+eZivgDeTk5ODpp59G+/btceLECbz99tsYM2YMNmzYYKyTmZmJ5ORkDBo0CCdPnsSgQYPQv39/HD161F6XZQatnrMSWj1HEARByMWeq+c66fqigq6i1f2UskfYzzYpmmt8fDxatWqFZcuWGcuaNGmCPn36YM6cOWb1//Of/2Dr1q04e/assWzkyJE4efIkMjMzAZSnByoqKsKOHTuMdXr06IFq1aph/fr11l6eKsjSRBAEQRDuhJ3dcyUlJTh27Bi6detmUt6tWzdkZGQItsnMzDSr3717d/z888949OiRZB2xPu0BBYJbicFAV1RU5OCZEARBEM6O4VlhD+dOKR6pym1ZinLRwn++ie3Bevv2bZSVlZnt3xoaGmq2z6uBgoICwfqlpaW4ffs2atasKVpHrE97QKLJSu7duwcAqFOnjoNnQhAEQbgK9+7dQ1BQkE369vHxQVhYGA4XbFfdV0BAgNnzbfr06UhJSRFto9PpTN4zxszKLNXnlyvt09aQaLKS8PBw5OXloUqVKqo+wKKiItSpUwd5eXkUGyUC3SNp6P5Yhu6RZegeSaP2/jDGcO/ePYSHh9tgduX4+fkhJycHJSUlqvsSEidCViYAqF69Ory9vc0sQDdv3jSzFBkICwsTrF+hQgXjnrFidcT6tAckmqzEy8sLtWvX1qy/wMBA+kNlAbpH0tD9sQzdI8vQPZJGzf2xlYWJi5+fH/z8/Gw+DhcfHx/ExcUhPT0dffv2NZanp6ejd+/egm0SExPx7bffmpTt2rULrVu3RsWKFY110tPTMX78eJM6SUlJNrgKeZBoIgiCIAhCFRMmTMCgQYPQunVrJCYmYsWKFcjNzcXIkSMBAJMnT8b169exZs0aAOUr5ZYsWYIJEyZgxIgRyMzMxMqVK01WxY0dOxYdOnTABx98gN69e2PLli3YvXs3Dh8+7JBrBEg0EQRBEAShkuTkZNy5cwczZ85Efn4+YmJisH37dkRERAAA8vPzTXI2RUZGYvv27Rg/fjw++eQThIeHY/HixXjuueeMdZKSkvDVV19h6tSpmDZtGqKiopCWlob4+Hi7X58BEk0OxtfXF9OnTxf1FRN0jyxB98cydI8sQ/dIGro/lnnttdfw2muvCZ5LTU01K+vYsSOOHz8u2efzzz+P559/XovpaQIltyQIgiAIgpABJbckCIIgCIKQAYkmgiAIgiAIGZBoIgiCIAiCkAGJJoIgCIIgCBmQaJLB9evX8fLLL+Oxxx5D5cqV0bJlSxw7dsx4fujQodDpdCZHQkKCSR+dOnUyqzNgwACTOn/88QcGDRqEoKAgBAUFYdCgQbh7965JndzcXPTq1Qv+/v6oXr06xowZY5b99ZdffkHHjh1RqVIl1KpVCzNnzrTpfkeW7g8AnD17Fs8++yyCgoJQpUoVJCQkmCw/LS4uxuuvv47q1avD398fzz77LK5du2bSh6veH0Cbe+TJ3yH+dRuODz/80FjH079Dcu6RO3+HAMv36P79+xg9ejRq166NSpUqoUmTJli2bJlJH+7+PSJUwghJfv/9dxYREcGGDh3Kjh49ynJyctju3bvZxYsXjXWGDBnCevTowfLz843HnTt3TPrp2LEjGzFihEmdu3fvmtTp0aMHi4mJYRkZGSwjI4PFxMSwf/zjH8bzpaWlLCYmhnXu3JkdP36cpaens/DwcDZ69GhjncLCQhYaGsoGDBjAfvnlF7ZhwwZWpUoV9tFHHzns/ly8eJEFBwezN954gx0/fpxdunSJfffdd+y3334z1hk5ciSrVasWS09PZ8ePH2edO3dmLVq0YKWlpS59f7S8R578HeJec35+Plu1ahXT6XTs0qVLxjqe/h2Sc4/c9Tsk9x4NHz6cRUVFsX379rGcnBz26aefMm9vb7Z582ZjHXf+HhHqIdFkgf/85z+sXbt2knWGDBnCevfuLVmnY8eObOzYsaLnz5w5wwCwI0eOGMsyMzMZAHbu3DnGGGPbt29nXl5e7Pr168Y669evZ76+vqywsJAxxtjSpUtZUFAQe/jwobHOnDlzWHh4ONPr9ZJztAY59yc5OZm9/PLLoufv3r3LKlasyL766itj2fXr15mXlxf7/vvvGWOue38Y0+YeMebZ3yE+vXv3Zk8++aTxPX2HzOHfI8bc9zvEmLx71LRpUzZz5kyTslatWrGpU6cyxtz/e0Soh9xzFti6dStat26NF154ATVq1EBsbCw+++wzs3r79+9HjRo18Pjjj2PEiBG4efOmWZ0vvvgC1atXR9OmTTFp0iTcu3fPeC4zMxNBQUEmmU4TEhIQFBSEjIwMY52YmBiTDR+7d++O4uJiowk6MzMTHTt2NEnA1r17d9y4cQNXrlxRfT/4WLo/er0e27Ztw+OPP47u3bujRo0aiI+Px+bNm411jh07hkePHqFbt27GsvDwcMTExJhcuyveH0Cbe2TAE79DfH777Tds27YNw4YNM5Z5+neIj9A9MuCO3yFA3j1q164dtm7diuvXr4Mxhn379uHChQvo3r07APf/HhHqIdFkgcuXL2PZsmVo2LAhdu7ciZEjR2LMmDHG/XMAoGfPnvjiiy+wd+9ezJs3Dz/99BOefPJJFBcXG+sMHDgQ69evx/79+zFt2jRs2LAB/fr1M54vKChAjRo1zMavUaOGcZfngoICs92dq1WrBh8fH8k6hvf83aK1wNL9uXnzJu7fv4/3338fPXr0wK5du9C3b1/069cPBw4cMM7Lx8cH1apVM5s397pc8f4A2twjwHO/Q3w+//xzVKlSxezaPfk7xEfoHgHu+x0C5N2jxYsXIzo6GrVr14aPjw969OiBpUuXol27dsa5ufP3iFAPbaNiAb1ej9atW2P27NkAgNjYWJw+fRrLli3D4MGDAZTvuWMgJiYGrVu3RkREBLZt22b8gzRixAiTOg0bNkTr1q1x/PhxtGrVCkB5ICcfxphJuTV12P8CC4XaqsXS/dHr9QCA3r17G3eqbtmyJTIyMrB8+XJ07NhRtG8trl1OHVveH0C7e+Sp3yE+q1atwsCBA2Xt5O4p3yE+YvfIXb9DgLx7tHjxYhw5cgRbt25FREQEDh48iNdeew01a9ZEly5dRPt2l+8RoR6yNFmgZs2aiI6ONilr0qSJyaomoTYRERHIzs4WrdOqVStUrFjRWCcsLAy//fabWb1bt24Zf32EhYWZ/QL5448/8OjRI8k6Blch/1eNFli6P9WrV0eFChUk64SFhaGkpAR//PGH2by51+WK9wfQ5h4J4SnfIS6HDh3C+fPnMXz4cJNyT/8OcRG7R0K4y3cIsHyP/vrrL7z99tuYP38+evXqhebNm2P06NFITk7GRx99ZJy3O3+PCPWQaLJA27Ztcf78eZOyCxcuGHduFuLOnTvIy8tDzZo1ReucPn0ajx49MtZJTExEYWEhfvzxR2Odo0ePorCwEElJScY6v/76K/Lz8411du3aBV9fX8TFxRnrHDx40GRp665duxAeHo569erJv3CZWLo/Pj4+aNOmjWSduLg4VKxYEenp6cbz+fn5+PXXX02u3RXvD6DNPRLCU75DXFauXIm4uDi0aNHCpNzTv0NcxO6REO7yHQIs36NHjx7h0aNH8PIyfex5e3sbrb3u/j0iNMCeUeeuyI8//sgqVKjAZs2axbKzs9kXX3zBKleuzNatW8cYY+zevXts4sSJLCMjg+Xk5LB9+/axxMREVqtWLVZUVMQYK19OPmPGDPbTTz+xnJwctm3bNta4cWMWGxtrtoy1efPmLDMzk2VmZrJmzZoJLmN96qmn2PHjx9nu3btZ7dq1TZax3r17l4WGhrIXX3yR/fLLL2zjxo0sMDDQZstYLd0fxhjbuHEjq1ixIluxYgXLzs5mH3/8MfP29maHDh0y1hk5ciSrXbs22717Nzt+/Dh78sknBZf5utr90eoeefp3iLHyJdqVK1dmy5YtE+zH079DjEnfI3f+DjEm7x517NiRNW3alO3bt49dvnyZrV69mvn5+bGlS5ca67jz94hQD4kmGXz77bcsJiaG+fr6ssaNG7MVK1YYz/3555+sW7duLCQkhFWsWJHVrVuXDRkyhOXm5hrr5Obmsg4dOrDg4GDm4+PDoqKi2JgxY8xyOd25c4cNHDiQValShVWpUoUNHDiQ/fHHHyZ1rl69yp555hlWqVIlFhwczEaPHm2yZJUxxk6dOsXat2/PfH19WVhYGEtJSbHpElap+2Ng5cqVrEGDBszPz4+1aNHCJC8KY4z99ddfbPTo0Sw4OJhVqlSJ/eMf/zC5h4y57v1hTP09ou8QY59++imrVKmSWV4hA/Qdkr5H7v4dYszyPcrPz2dDhw5l4eHhzM/PjzVq1IjNmzfPZF7u/j0i1KFjjNKPEgRBEARBWIJimgiCIAiCIGRAookgCIIgCEIGJJoIgiAIgiBkQKKJIAiCIAhCBiSaCIIgCIIgZECiiSAIgiAIQgYkmgiCIAiCIGRAookgHIROp8PmzZsBAFeuXIFOp0NWVpZD56SGgoICdO3aFf7+/qhatardxx86dCj69Olj0zHs9TkNHToUOp3O5DtiLSkpKca+Fi5cqMn8CMJTIdFEEE5AnTp1kJ+fj5iYGE37rVevnt0elAsWLEB+fj6ysrJw4cIFu4zJZdGiRUhNTdWsPyERZqvPSYgePXogPz8fPXv2VNXPpEmTkJ+fj9q1a2s0M4LwXCo4egIE4c48evQIFStWtFjP29sbYWFhdpiR7bh06RLi4uLQsGFDTfstKSmBj4+PxXpBQUGajiuEPT8nX19fTcYKCAhAQEAAvL29NZgVQXg2ZGkiXJJbt24hLCwMs2fPNpYdPXoUPj4+2LVrl2i7a9euYcCAAQgODoa/vz9at26No0ePGs8vW7YMUVFR8PHxQaNGjbB27VqT9rm5uejduzcCAgIQGBiI/v3747fffjOeT0lJQcuWLbFq1SrUr18fvr6+YIwhOzsbHTp0gJ+fH6Kjo012UQfM3T779++HTqfDnj170Lp1a1SuXBlJSUkmu7hfunQJvXv3RmhoKAICAtCmTRvs3r3beL5Tp064evUqxo8fb3TPGMjIyECHDh1QqVIl1KlTB2PGjMGDBw8k77nUvalXrx42bNiANWvWQKfTYejQoYJ9GKw3M2bMQI0aNRAYGIh//etfJju9d+rUCaNHj8aECRNQvXp1dO3aFQBw4MABPPHEE/D19UXNmjXx1ltvobS01KxvA4wxzJ07F/Xr10elSpXQokUL/N///Z/JfE6fPo1nnnkGgYGBqFKlCtq3b49Lly4hJSUFn3/+ObZs2WK8d/v37xd0z1maV6dOnTBmzBi8+eabCA4ORlhYGFJSUiTvtRCGsb/++mu0b98elSpVQps2bXDhwgX89NNPaN26NQICAtCjRw/cunVLcf8EQcjAsVvfEYT1bNu2jVWsWJH99NNP7N69e6xBgwZs7NixovXv3bvH6tevz9q3b88OHTrEsrOzWVpaGsvIyGCMMbZx40ZWsWJF9sknn7Dz58+zefPmMW9vb7Z3717GGGN6vZ7Fxsaydu3asZ9//pkdOXKEtWrVinXs2NE4xvTp05m/vz/r3r07O378ODt58qRxx/NOnTqxEydOsAMHDrDY2FgGgG3atIkxxlhOTg4DwE6cOMEYY2zfvn0MAIuPj2f79+9np0+fZu3bt2dJSUnGsbKystjy5cvZqVOn2IULF9iUKVOYn58fu3r1KmOsfFPR2rVrs5kzZ7L8/HyWn5/PGCvfJDQgIIAtWLCAXbhwgf3www8sNjaWDR06VPTeWbo3N2/eZD169GD9+/dn+fn5opvqDhkyhAUEBLDk5GT266+/su+++46FhISwt99+21inY8eOLCAggL3xxhvs3Llz7OzZs+zatWuscuXK7LXXXmNnz55lmzZtYtWrV2fTp0836bt3797G92+//TZr3Lgx+/7779mlS5fY6tWrma+vL9u/fz9jjLFr166x4OBg1q9fP/bTTz+x8+fPs1WrVrFz586xe/fusf79+7MePXoY711xcbHZ5yRnXh07dmSBgYEsJSWFXbhwgX3++edMp9OxXbt2id5v/rUw9vd3xHBNZ86cYQkJCaxVq1asU6dO7PDhw+z48eOsQYMGbOTIkWZ9RkREsAULFoiOSRCEZUg0ES7Na6+9xh5//HE2cOBAFhMTw/766y/Rup9++imrUqWK2a7uBpKSktiIESNMyl544QX29NNPM8YY27VrF/P29jbZ8fz06dMMAPvxxx8ZY+WiqWLFiuzmzZvGOjt37mTe3t4sLy/PWLZjxw5Zomn37t3GNtu2bWMAJK8xOjqaffzxx8b3Qg/KQYMGsVdffdWk7NChQ8zLy0u0b0v3hjHGevfuzYYMGSI6N8bKxUBwcDB78OCBsWzZsmUsICCAlZWVMcbKRUbLli1N2r399tusUaNGJjvAf/LJJybtuELj/v37zM/PzyiIDQwbNoy9+OKLjDHGJk+ezCIjI1lJSYnoXMWEi+FzkjOvjh07snbt2pn006ZNG/af//xH8j6Jjf3f//7XWLZ+/XoGgO3Zs8dYNmfOHNaoUSOzPkk0EYR6yD1HuDQfffQRSktL8fXXX+OLL76An5+faN2srCzExsYiODhY8PzZs2fRtm1bk7K2bdvi7NmzxvN16tRBnTp1jOejo6NRtWpVYx0AiIiIQEhIiEm/devWNQnETUxMlHV9zZs3N76uWbMmAODmzZsAgAcPHuDNN980ziEgIADnzp1Dbm6uZJ/Hjh1DamqqMdYlICAA3bt3h16vR05OjmAbS/dGCS1atEDlypWN7xMTE3H//n3k5eUZy1q3bm02fmJioomLsW3btrh//z6uXbtmNsaZM2fw8OFDdO3a1eQ616xZg0uXLgEo/z60b99eVsyZGHLnxf0cgfLP0vA5KoXbV2hoKACgWbNmJmXW9k0QhDQUCE64NJcvX8aNGzeg1+tx9epVs4cTl0qVKlnsj/vwA8rjYgxl3NdidQDA39/f7LylccTgPtANbfR6PQDgjTfewM6dO/HRRx+hQYMGqFSpEp5//nmT+CAh9Ho9/vWvf2HMmDFm5+rWrSvaTureaIGleyg0vtC8gL/v0bZt21CrVi2Tc76+vgDkfR8sIXdefGGm0+mMc1SK0HeCX2Zt3wRBSEOWJsJlKSkpwcCBA5GcnIz33nsPw4YNMwnK5tO8eXNkZWXh999/FzzfpEkTHD582KQsIyMDTZo0AVBuVcrNzTWxiJw5cwaFhYXGOkIY2t24ccNYlpmZKesapTh06BCGDh2Kvn37olmzZggLC8OVK1dM6vj4+KCsrMykrFWrVjh9+jQaNGhgdoitUrN0b5Rw8uRJ/PXXX8b3R44cQUBAgOSS+OjoaGRkZJgI0IyMDFSpUsVMFBnq+/r6Ijc31+waDZbC5s2b49ChQ3j06JHgmEL3Tu28CIJwbUg0ES7LlClTUFhYiMWLF+PNN99EkyZNMGzYMNH6L774IsLCwtCnTx/88MMPuHz5MjZs2GAUMG+88QZSU1OxfPlyZGdnY/78+di4cSMmTZoEAOjSpQuaN2+OgQMH4vjx4/jxxx8xePBgdOzY0cydxKVLly5o1KgRBg8ejJMnT+LQoUOYMmWK6utv0KABNm7ciKysLJw8eRIvvfSSmYWhXr16OHjwIK5fv47bt28DAP7zn/8gMzMTo0aNQlZWFrKzs7F161a8/vrromNZujdKKCkpwbBhw3DmzBns2LED06dPx+jRo+HlJf7n6LXXXkNeXh5ef/11nDt3Dlu2bMH06dMxYcIEwXZVqlTBpEmTMH78eHz++ee4dOkSTpw4gU8++QSff/45AGD06NEoKirCgAED8PPPPyM7Oxtr1641rlCsV68eTp06hfPnz+P27duC4krpvAiCcG3ofzXhkuzfvx8LFy7E2rVrERgYCC8vL6xduxaHDx/GsmXLBNsY0hHUqFEDTz/9NJo1a4b333/fmL+mT58+WLRoET788EM0bdoUn376KVavXo1OnToB+DuDd7Vq1dChQwd06dIF9evXR1pamuRcvby8sGnTJhQXF+OJJ57A8OHDMWvWLNX3YMGCBahWrRqSkpLQq1cvdO/eHa1atTKpM3PmTFy5cgVRUVHGOKvmzZvjwIEDyM7ORvv27REbG4tp06YZY6aEsHRvlPDUU0+hYcOG6NChA/r3749evXpZXIJfq1YtbN++HT/++CNatGiBkSNHYtiwYZg6dapom3fffRfvvPMO5syZgyZNmqB79+749ttvERkZCQB47LHHsHfvXty/fx8dO3ZEXFwcPvvsM6Ora8SIEWjUqBFat26NkJAQ/PDDD5rMiyAI10XHhAIuCIIgbMDQoUNx9+5d1VuDCPHiiy/C29sb69at07xve2OL+1SvXj2MGzcO48aN06xPgvA0yNJEEIRLU1paijNnziAzMxNNmzZ19HQ047vvvkNAQAC+++47Vf3Mnj0bAQEBFldVEgRhGbI0EQRhN2xhQcnKykJSUhI6d+6MdevWoVq1apr17Shu3ryJoqIiAOXpCfirCZXw+++/Gxc/hISE2GW7GYJwV0g0EQRBEARByIDccwRBEARBEDIg0UQQBEEQBCEDEk0EQRAEQRAyINFEEARBEAQhAxJNBEEQBEEQMiDRRBAEQRAEIQMSTQRBEARBEDIg0UQQBEEQBCEDEk0EQRAEQRAy+H9pzQXSPXlk1QAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "xr.open_dataarray('31_results/snowmap_cloudfree_1d.nc',decode_coords=\"all\")[0].plot.imshow()" + ] + }, + { + "cell_type": "markdown", + "id": "914a28f1-1a9b-4647-8411-a3ff2821e59f", + "metadata": { + "tags": [] + }, + "source": [ + "## Calculate Catchment Statistics\n", + "\n", + "We are looking at the snow cover of a region over time and want to extract aggregated catchment statistics on snow cover and cloud cover. We do this by counting all the pixels in the catchment, counting the pixels that are covered by snow and the pixels covered by clouds.\n", + "\n", + "Ultimately we are interested in the **snow covered area (SCA)** within the catchment. We count all snow covered pixels within the catchment for each time step. Multiplied by the pixel size that would be the snow covered area. The snow pixel count divided by the total number of pixels in the catchment is the percentage of pixels covered with snow. We will use this number.\n", + "\n", + "We need to make sure that the information content meets our expected quality. Therefore, we calculate the **cloud percentage** for the catchment for each timestep. We use this information to filter the timeseries. All timesteps that have a cloud coverage of over 25% will be discarded.\n", + "\n", + "We are going to \n", + "- Get number of pixels in the catchment: total, clouds, snow.\n", + "- Combine the three aggregated pixel counts into one data cube.\n", + "- Calculate cloud and snow percentages\n", + "- Filter cloudy time steps with the cloud percentage\n", + "- Plot the resulting time series\n" + ] + }, + { + "cell_type": "markdown", + "id": "79beb8ce-39f3-4d96-837a-bec0b169725d", + "metadata": {}, + "source": [ + "**Quiz hint: remember the pixel counts here for the final exercise**" + ] + }, + { + "cell_type": "markdown", + "id": "2d9233ac-286e-432d-8581-0b53e7c0b63d", + "metadata": {}, + "source": [ + "### Count pixels and aggregate spatially to the catchment" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "id": "0704eac4-5fd2-4a6f-87b3-0689f669dc04", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + " \n", + " \n", + " \n", + " \n", + " " + ], + "text/plain": [ + "" + ] + }, + "execution_count": 23, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# number of all pixels\n", + "n_catchment = ((snowmap_cloudfree > -1) * 1.0).add_dimension(name=\"bands\",type=\"bands\",label=\"n_catchment\")\n", + "\n", + "# number of cloud pixels (no function needed, mask already created before)\n", + "n_cloud = cloud_mask.add_dimension(name=\"bands\",type=\"bands\",label=\"n_cloud\")\n", + "\n", + "# number of snow pixels\n", + "n_snow = ((snowmap_cloudfree == 1) * 1.0).add_dimension(name=\"bands\",type=\"bands\",label=\"n_snow\")\n", + "\n", + "# combine the binary data cubes into one data cube\n", + "n_catchment_cloud_snow = n_catchment.merge_cubes(n_cloud).merge_cubes(n_snow)\n", + "\n", + "# aggregate to catchment\n", + "n_pixels = n_catchment_cloud_snow.aggregate_spatial(geometries = catchment_outline['geometry'][0], reducer = 'sum')\n", + "n_pixels" + ] + }, + { + "cell_type": "markdown", + "id": "ff976399-bea0-477f-a014-5cf6a961e674", + "metadata": {}, + "source": [ + "### Register a batch job for processing\n", + "We are starting the processing now with a batch job. This registers our job on the backend in our user space and assigns further information to the job, such as an ID, the job status, the process graph and further metadata. First we specifiy the end of our process graph with `save_result()` and specifiy the format (since we aggregated over the spatial dimension we will receive three arrays of data. So JSON is a suitable format). Then we create the batch job and start it." + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "id": "09d15142-b402-4b85-a98c-e3aa61d793c8", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "0:00:00 Job 'j-240215519a4341dca10085027af0ef92': send 'start'\n", + "0:00:18 Job 'j-240215519a4341dca10085027af0ef92': created (progress N/A)\n", + "0:00:24 Job 'j-240215519a4341dca10085027af0ef92': created (progress N/A)\n", + "0:00:30 Job 'j-240215519a4341dca10085027af0ef92': created (progress N/A)\n", + "0:00:39 Job 'j-240215519a4341dca10085027af0ef92': running (progress N/A)\n", + "0:00:49 Job 'j-240215519a4341dca10085027af0ef92': running (progress N/A)\n", + "0:01:08 Job 'j-240215519a4341dca10085027af0ef92': running (progress N/A)\n", + "0:01:24 Job 'j-240215519a4341dca10085027af0ef92': running (progress N/A)\n", + "0:01:44 Job 'j-240215519a4341dca10085027af0ef92': running (progress N/A)\n", + "0:02:08 Job 'j-240215519a4341dca10085027af0ef92': running (progress N/A)\n", + "0:02:38 Job 'j-240215519a4341dca10085027af0ef92': running (progress N/A)\n", + "0:03:16 Job 'j-240215519a4341dca10085027af0ef92': running (progress N/A)\n", + "0:04:12 Job 'j-240215519a4341dca10085027af0ef92': running (progress N/A)\n", + "0:05:11 Job 'j-240215519a4341dca10085027af0ef92': running (progress N/A)\n", + "0:06:20 Job 'j-240215519a4341dca10085027af0ef92': running (progress N/A)\n", + "0:07:21 Job 'j-240215519a4341dca10085027af0ef92': running (progress N/A)\n", + "0:08:30 Job 'j-240215519a4341dca10085027af0ef92': running (progress N/A)\n", + "0:09:30 Job 'j-240215519a4341dca10085027af0ef92': finished (progress N/A)\n" + ] + }, + { + "data": { + "text/html": [ + "\n", + " \n", + " \n", + " \n", + " \n", + " " + ], + "text/plain": [ + "" + ] + }, + "execution_count": 24, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Define the end of the process graph and the output format\n", + "n_pixels_json = n_pixels.save_result(format=\"JSON\")\n", + "# Create a batch job\n", + "job = n_pixels_json.create_job(title=\"n_pixels_json\")\n", + "# start the job and wait till it finishes\n", + "job.start_and_wait()" + ] + }, + { + "cell_type": "markdown", + "id": "cc1be5d0-c0bd-4bad-8c7f-ee8ca0f50c9b", + "metadata": {}, + "source": [ + "Now we can check the status of our job. We can download the result once the job has finished." + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "id": "2b2e726b-1c43-45e8-b0a4-e55a960c543a", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "data": { + "text/plain": [ + "'finished'" + ] + }, + "execution_count": 26, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "job.status()" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "id": "4350f435-c8ef-4c15-a461-4745d66677d0", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "if job.status() == \"finished\":\n", + " results = job.get_results()\n", + " results.download_files(\"31_results/\")" + ] + }, + { + "cell_type": "markdown", + "id": "7533cc88-0e3b-4e36-b633-16ac2f0a2277", + "metadata": { + "tags": [] + }, + "source": [ + "**Quick hint: take a look at the job description: e.g. `job.describe_job()`**" + ] + }, + { + "cell_type": "markdown", + "id": "aa996a8d-ced1-4641-b8b8-4b5badab028d", + "metadata": {}, + "source": [ + "### Load the resulting time series\n", + "Let's load the result. It contains the total number of pixels in the catchment, number of cloud and snow pixels." + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "id": "74764134-ea52-4837-a635-eb8e65119b12", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "# load the result\n", + "with open(\"31_results/timeseries.json\",\"r\") as file:\n", + " n_pixels_json = json.load(file)" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "id": "e022c407-f8a2-4fae-8869-4283cbd1916f", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "data": { + "text/plain": [ + "[('2018-02-16T00:00:00Z', [[4201607.0, 1809140.0, 1479720.0]]),\n", + " ('2018-04-17T00:00:00Z', [[4201607.0, 821551.0, 2215174.0]]),\n", + " ('2018-05-07T00:00:00Z', [[4201607.0, 2175370.0, 710901.0]])]" + ] + }, + "execution_count": 29, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# check the first 5 entries to check the data structure.\n", + "list(n_pixels_json.items())[:3] # careful unsorted dates due to JSON format" + ] + }, + { + "cell_type": "markdown", + "id": "b8d2f970-9980-4ca0-b476-869ababf2b7a", + "metadata": {}, + "source": [ + "**_Quick hint: what is the length of the time series JSON?_**\n", + "`len(n_pixels_json)`" + ] + }, + { + "cell_type": "markdown", + "id": "0101fa0a-44ac-4ece-b555-e29f6b4167da", + "metadata": {}, + "source": [ + "Now we do some data wrangling to get a structured data frame." + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "id": "1ec6fdfe-329f-4688-887d-9dc8fa6bd492", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
n_catchment_valsn_cloud_valsn_snow_vals
time
2018-02-06 00:00:00+00:001489702.0253542.0619519.0
2018-02-08 00:00:00+00:004201607.0183099.02907006.0
2018-02-11 00:00:00+00:004201607.060947.02943057.0
\n", + "
" + ], + "text/plain": [ + " n_catchment_vals n_cloud_vals n_snow_vals\n", + "time \n", + "2018-02-06 00:00:00+00:00 1489702.0 253542.0 619519.0\n", + "2018-02-08 00:00:00+00:00 4201607.0 183099.0 2907006.0\n", + "2018-02-11 00:00:00+00:00 4201607.0 60947.0 2943057.0" + ] + }, + "execution_count": 31, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Create a Pandas DataFrame to hold the values\n", + "dates = [k for k in n_pixels_json]\n", + "n_catchment_vals = [n_pixels_json[k][0][0] for k in n_pixels_json]\n", + "n_cloud_vals = [n_pixels_json[k][0][1] for k in n_pixels_json]\n", + "n_snow_vals = [n_pixels_json[k][0][2] for k in n_pixels_json]\n", + "\n", + "data = {\n", + " \"time\":pd.to_datetime(dates),\n", + " \"n_catchment_vals\":n_catchment_vals,\n", + " \"n_cloud_vals\":n_cloud_vals,\n", + " \"n_snow_vals\":n_snow_vals\n", + " }\n", + "df = pd.DataFrame(data=data).set_index(\"time\")\n", + "# Sort the values by date\n", + "df = df.sort_values(axis=0,by=\"time\")\n", + "df[:3]" + ] + }, + { + "cell_type": "code", + "execution_count": 35, + "id": "15b4d8c7-e2e4-45e2-a456-d5a75503cace", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "data": { + "text/plain": [ + "55525116.0" + ] + }, + "execution_count": 35, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.n_snow_vals.sum()" + ] + }, + { + "cell_type": "markdown", + "id": "1bad0cdc-9ae9-4dfc-a6d7-e7079bcd947a", + "metadata": {}, + "source": [ + "### Calculate the cloud percentage for filtering time steps\n", + "Divide the number of cloudy pixels by the number of total pixels = cloud percentage" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "id": "ba2372ff-410f-47fb-849e-b8d008baf320", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
n_catchment_valsn_cloud_valsn_snow_valsperc_cloud
time
2018-02-06 00:00:00+00:001489702.0253542.0619519.017.019646
2018-02-08 00:00:00+00:004201607.0183099.02907006.04.357833
2018-02-11 00:00:00+00:004201607.060947.02943057.01.450564
\n", + "
" + ], + "text/plain": [ + " n_catchment_vals n_cloud_vals n_snow_vals \\\n", + "time \n", + "2018-02-06 00:00:00+00:00 1489702.0 253542.0 619519.0 \n", + "2018-02-08 00:00:00+00:00 4201607.0 183099.0 2907006.0 \n", + "2018-02-11 00:00:00+00:00 4201607.0 60947.0 2943057.0 \n", + "\n", + " perc_cloud \n", + "time \n", + "2018-02-06 00:00:00+00:00 17.019646 \n", + "2018-02-08 00:00:00+00:00 4.357833 \n", + "2018-02-11 00:00:00+00:00 1.450564 " + ] + }, + "execution_count": 32, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "perc_cloud = df[\"n_cloud_vals\"].values / df[\"n_catchment_vals\"].values * 100\n", + "df[\"perc_cloud\"] = perc_cloud\n", + "df[:3]" + ] + }, + { + "cell_type": "markdown", + "id": "25cf5fd6-1820-4d1f-9bfe-2e37b015124a", + "metadata": { + "tags": [] + }, + "source": [ + "**Quick hint: The sum of the n_catchment_vals should give an overall idea of the total number of pixels in the datacube for the whole time-series** `df.n_catchment_vals.sum()`" + ] + }, + { + "cell_type": "markdown", + "id": "cc1c0b71-d210-4fa6-8f75-95def5cc2917", + "metadata": { + "tags": [] + }, + "source": [ + "**Quick hint: a filter of the snow values can give an idea of when the maximum snow cover occurred** `df.where(df.n_snow_vals == df.n_snow_vals.max())`" + ] + }, + { + "cell_type": "markdown", + "id": "0561cf75-b96a-4687-a57d-1d6eb0b22232", + "metadata": {}, + "source": [ + "**Quick hint: a simplified approach for converting from pixel count to square kilometres is to use this simplified formula::**\n", + "\n", + "${{Area (km^2)} = (\\frac{Spatial resolution (meters/pixel)^2}{1,000,000})\\times{\\text{Total pixel count}}}$" + ] + }, + { + "cell_type": "markdown", + "id": "af1331f9-b440-4f0e-a161-00cc00ffcd25", + "metadata": {}, + "source": [ + "Plot the timeseries and the cloud threshold of 25%. If the cloud cover is higher the timestep will be excluded later on.\n", + "\n", + "Plot the **cloud percentage** with the threshold." + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "id": "fdea8b55-0cb5-4985-9913-55ac66a63d94", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "df.plot(y=\"perc_cloud\",rot=45,kind=\"line\",marker='o')\n", + "plt.axhline(y = 25, color = \"r\", linestyle = \"-\")\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "153772f2-dfdd-44e2-9cc5-5579c5dd3fd1", + "metadata": {}, + "source": [ + "### Calculate the snow percentage\n", + "Divide the number of snow pixels by the number of total pixels = snow percentage" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "id": "669cba7c-d625-4adc-8d40-e029702a8826", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
n_catchment_valsn_cloud_valsn_snow_valsperc_cloudperc_snow
time
2018-02-06 00:00:00+00:001489702.0253542.0619519.017.01964641.586774
2018-02-08 00:00:00+00:004201607.0183099.02907006.04.35783369.187956
2018-02-11 00:00:00+00:004201607.060947.02943057.01.45056470.045985
\n", + "
" + ], + "text/plain": [ + " n_catchment_vals n_cloud_vals n_snow_vals \\\n", + "time \n", + "2018-02-06 00:00:00+00:00 1489702.0 253542.0 619519.0 \n", + "2018-02-08 00:00:00+00:00 4201607.0 183099.0 2907006.0 \n", + "2018-02-11 00:00:00+00:00 4201607.0 60947.0 2943057.0 \n", + "\n", + " perc_cloud perc_snow \n", + "time \n", + "2018-02-06 00:00:00+00:00 17.019646 41.586774 \n", + "2018-02-08 00:00:00+00:00 4.357833 69.187956 \n", + "2018-02-11 00:00:00+00:00 1.450564 70.045985 " + ] + }, + "execution_count": 29, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "perc_snow = df[\"n_snow_vals\"].values / df[\"n_catchment_vals\"].values * 100\n", + "df[\"perc_snow\"] = perc_snow\n", + "df[:3]" + ] + }, + { + "cell_type": "markdown", + "id": "56db5d2a-22af-4200-9ea2-5d94479d9f72", + "metadata": {}, + "source": [ + "Plot the **unfiltered snow percentage**" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "id": "03e06724-f4c6-4dd0-9707-d94c92b4c74c", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "df.plot(y=\"perc_snow\",rot=45,kind=\"line\",marker='o')\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "c6ca8ab6-a6b6-479f-821d-236dd8cb5df9", + "metadata": {}, + "source": [ + "### Filter out cloudy time steps\n", + "Keep only the dates with cloud coverage less than the threshold" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "id": "f8c31218-8d75-43b3-9106-bf70f0624544", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "df_filtered = df.loc[df[\"perc_cloud\"]<25]" + ] + }, + { + "cell_type": "markdown", + "id": "9e192035-03c3-4b98-bb0c-611128be8284", + "metadata": {}, + "source": [ + "### Plot and save the cloud free snow percentage time series\n", + "Plot the **cloud filtered snow percentage**" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "id": "b6c0646a-1385-4980-b443-48fbb2062783", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "df_filtered.plot(y=\"perc_snow\",rot=45,kind=\"line\",marker='o')\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "dcff56ef-8fe1-4b63-a2b4-5c37b69572da", + "metadata": { + "tags": [] + }, + "source": [ + "Save the **cloud filtered snow percentage**" + ] + }, + { + "cell_type": "code", + "execution_count": 33, + "id": "ff1025f1-f2ed-4d5f-afbd-c95df37da869", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "df_filtered.to_csv(\"31_results/filtered_snow_perc.csv\")" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "cubes-and-clouds-cubes-and-clouds2", + "language": "python", + "name": "conda-env-cubes-and-clouds-cubes-and-clouds2-py" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.7" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/_sources/3.1_data_processing/3.1_exercises/_alternatives/31_data_processing_openEO_Platform.ipynb b/_sources/3.1_data_processing/3.1_exercises/_alternatives/31_data_processing_openEO_Platform.ipynb new file mode 100644 index 0000000..11ddca9 --- /dev/null +++ b/_sources/3.1_data_processing/3.1_exercises/_alternatives/31_data_processing_openEO_Platform.ipynb @@ -0,0 +1,8310 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "0fbba1f4-9e0b-4c47-9e5c-19dbae956a0c", + "metadata": {}, + "source": [ + "\"Cubes" + ] + }, + { + "cell_type": "markdown", + "id": "0c6aed2f-1493-4636-a124-03c81b28bc52", + "metadata": {}, + "source": [ + "# 3.1 Data Processing\n", + "In this exercise we will build a complete EO workflow on a cloud platform; from data access to obtaining the result. In this example we will analyse snow cover in the Alps.\n", + "\n", + "We are going to follow these steps in our analysis:\n", + "\n", + "- Load satellite collections\n", + "- Specify the spatial, temporal extents and the features we are interested in\n", + "- Process the satellite data to retrieve snow cover information\n", + "- aggregate information in data cubes\n", + "- Visualize and analyse the results\n", + "\n", + "More information on the openEO Python Client: https://open-eo.github.io/openeo-python-client/index.html" + ] + }, + { + "cell_type": "markdown", + "id": "cfe1892d-f9f9-4e9a-8d82-db000c59b6ce", + "metadata": { + "tags": [] + }, + "source": [ + "## Libraries" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "057019b0-17d5-4cb0-a1a3-5abd47dee312", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "%%capture\n", + "pip install openeo rioxarray geopandas leafmap h5netcdf netcdf4" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "1abf270c-d73e-4109-854c-3cf36a1b36d7", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "# platform libraries\n", + "import openeo\n", + "\n", + "# utility libraries\n", + "from datetime import date\n", + "import numpy as np\n", + "import xarray as xr\n", + "import rioxarray\n", + "import json\n", + "import pandas as pd\n", + "import matplotlib.pyplot as plt\n", + "import geopandas as gpd\n", + "import leafmap.foliumap as leafmap" + ] + }, + { + "cell_type": "markdown", + "id": "f9d64c64-39db-4869-917c-ed24bef18204", + "metadata": {}, + "source": [ + "## Login\n", + "Connect to the copernicus dataspace ecosystem." + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "86afd551-857e-4129-a2ee-39a933255f34", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "conn = openeo.connect('https://openeo.cloud/')" + ] + }, + { + "cell_type": "markdown", + "id": "0ed52c6b-9279-4563-8b1d-b51b8bdf8d63", + "metadata": {}, + "source": [ + "And login" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "bc9dbe7a-ff09-439c-9aef-4004fed80820", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Authenticated using refresh token.\n" + ] + }, + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "conn.authenticate_oidc()" + ] + }, + { + "cell_type": "markdown", + "id": "d8bfd388-c854-49f1-88b7-4879d5f5c2e1", + "metadata": {}, + "source": [ + "Check if the login worked." + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "49e8aa86-c476-413c-a186-6f8df29b7429", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "data": { + "text/plain": [ + "{'default_plan': 'generic',\n", + " 'info': {'oidc_userinfo': {'eduperson_assurance': ['https://refeds.org/assurance/IAP/low',\n", + " 'https://aai.egi.eu/LoA#Substantial'],\n", + " 'eduperson_entitlement': ['urn:mace:egi.eu:group:vo.notebooks.egi.eu:role=member#aai.egi.eu',\n", + " 'urn:mace:egi.eu:group:vo.notebooks.egi.eu:role=vm_operator#aai.egi.eu',\n", + " 'urn:mace:egi.eu:group:vo.openeo.cloud:role=early_adopter#aai.egi.eu',\n", + " 'urn:mace:egi.eu:group:vo.openeo.cloud:role=platform_developer#aai.egi.eu',\n", + " 'urn:mace:egi.eu:group:vo.openeo.cloud:role=employee#aai.egi.eu',\n", + " 'urn:mace:egi.eu:group:vo.openeo.cloud:role=member#aai.egi.eu',\n", + " 'urn:mace:egi.eu:group:vo.openeo.cloud:role=vm_operator#aai.egi.eu'],\n", + " 'eduperson_scoped_affiliation': ['employee@eurac.edu', 'member@eurac.edu'],\n", + " 'email': 'michele.claus@eurac.edu',\n", + " 'email_verified': True,\n", + " 'sub': '28860add33a3a705c0092d54ae94177752ba9fa4bf00a25b24864ea95b9e0025@egi.eu',\n", + " 'voperson_verified_email': ['michele.claus@eurac.edu']}},\n", + " 'name': 'michele.claus@eurac.edu',\n", + " 'roles': ['EarlyAdopter', 'PlatformDeveloper'],\n", + " 'user_id': '28860add33a3a705c0092d54ae94177752ba9fa4bf00a25b24864ea95b9e0025@egi.eu'}" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "conn.describe_account()" + ] + }, + { + "cell_type": "markdown", + "id": "1e95d456-a831-4cca-ab1f-5a2ec8805291", + "metadata": {}, + "source": [ + "## Region of Interest" + ] + }, + { + "cell_type": "markdown", + "id": "3a324185-d64a-4e69-9601-8f63af0805ac", + "metadata": {}, + "source": [ + "Load the catchment area." + ] + }, + { + "cell_type": "code", + "execution_count": 49, + "id": "b1679451-2868-4109-ab17-38532a8033e3", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "catchment_outline = gpd.read_file('../data/catchment_outline.geojson')" + ] + }, + { + "cell_type": "code", + "execution_count": 50, + "id": "3cd3057b-39f8-4644-886d-bdbad43c6cb5", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "data": { + "text/html": [ + "" + ], + "text/plain": [ + "" + ] + }, + "execution_count": 50, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "center = (float(catchment_outline.centroid.y), float(catchment_outline.centroid.x))\n", + "m = leafmap.Map(center=center, zoom=10)\n", + "m.add_vector('../data/catchment_outline.geojson', layer_name=\"catchment\")\n", + "m" + ] + }, + { + "cell_type": "markdown", + "id": "284cd7b6-e646-4950-b747-4e1a734f148b", + "metadata": {}, + "source": [ + "## Inspect Metadata\n", + "We need to set the following configurations to define the content of the data cube we want to access:\n", + "- dataset name\n", + "- band names\n", + "- time range\n", + "- the area of interest specifed via bounding box coordinates\n", + "- spatial resolution\n", + "\n", + "To select the correct dataset we can first list all the available datasets." + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "7a3592c5-f078-48c0-b039-270fe99f48d6", + "metadata": { + "scrolled": true, + "tags": [] + }, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + " \n", + " \n", + " \n", + " \n", + " " + ], + "text/plain": [ + "[{'description': 'Optical data collected with airborne drone platform, and processed with MapEO Water software v1 at VITO into turbidity. Turbidity indicates the relative opacity of the water column. It is an optical water property and a measure for the amount of light scattered by constituents in the water column. The higher the scattered light intensity, the higher the turbidity. Constituents that causes water to be turbid include clay, silt, very tiny inorganic and organic matter, algae, dissolved coloured organic compounds, plankton, and other microscopic organisms. Turbidity is expressed in Formazin Nephelometric Units (FNU, according to the ISO 7027 standard).',\n", + " 'extent': {'spatial': {'bbox': [[-180.0, -84.0, 180.0, 84.0]]},\n", + " 'temporal': {'interval': [['2018-02-01T00:00:00Z', None]]}},\n", + " 'id': 'MAPEO_WATER_TUR_V1',\n", + " 'keywords': ['Orthoimagery',\n", + " 'Water quality',\n", + " 'Turbidity',\n", + " 'Airborne drone data',\n", + " 'UAV',\n", + " 'RPAS',\n", + " 'Drone',\n", + " 'MicaSense',\n", + " 'DJI',\n", + " 'cm resolution',\n", + " 'super high resultion',\n", + " 'VITO'],\n", + " 'license': 'proprietary',\n", + " 'links': [{'href': 'https://services.terrascope.be/collectioncatalogue/srv/eng/catalog.search#/metadata/urn:eop:VITO:MAPEO_WATER_TUR_V1',\n", + " 'rel': 'alternate',\n", + " 'title': 'Collection Catalogue Entry'},\n", + " {'href': 'https://services.terrascope.be/catalogue/catalogue/description.geojson?collection=urn:eop:VITO:MAPEO_WATER_TUR_V1',\n", + " 'rel': 'alternate',\n", + " 'title': 'OpenSearch entry point'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'root'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'parent'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections/MAPEO_WATER_TUR_V1',\n", + " 'rel': 'self'}],\n", + " 'stac_extensions': ['https://stac-extensions.github.io/datacube/v2.2.0/schema.json',\n", + " 'https://stac-extensions.github.io/eo/v1.1.0/schema.json'],\n", + " 'stac_version': '0.9.0',\n", + " 'title': 'MapEO Water Turbidity (TUR) Products - V1'},\n", + " {'description': 'The EU-DEM v1.1 is a resulting dataset of the EU-DEM v1.0 upgrade which enhances the correction of geo-positioning issues, reducing the number of artefacts, improving the vertical accuracy of EU-DEM using ICESat as reference and ensuring consistency with EU-Hydro public beta.EU-DEM v1.1 is available in Geotiff 32 bits format. It is a contiguous dataset divided into 1000 x 1000 km tiles, at 25m resolution with vertical accuracy: +/- 7 meters RMSE. The tiles have been grouped in big regions:EUDEM2_ASIA (Turkey); EUDEM2_ATLAN (Hondo and Fr_Islands);EUDEM2_BRITAIN (Thames, Shannon and Tweed); EUDEM2_EUROPE_1 (Duero, Ebro, Tajo, Guadalquivir and Jucar); EUDEM2_EUROPE_2 (Tirso, Mesima, Tevere and Po); EUDEM2_EUROPE_3 (Garonne, Rhone, Loire, Seine and western Rhine); EUDEM2_EUROPE_4 (Danube); EUDEM2_EUROPE_5 (Skjern, Nemunas, Vistula, Oder, Elbe and Eastern Rhine); EUDEM2_EUROPE_6 (Bulgaria and Pinios); EUDEM2_ICELAND (Iceland); EUDEM2_SCAND (Vorma, Gota, Angerman, Tana, Kemi and Neva); EUDEM2_SOUTH_AMERICA (Fr_Guiana). EU-DEM v1.1 upgrade was coordinated by the European Environment Agency (EEA) in the frame of the EU Copernicus programme.',\n", + " 'extent': {'spatial': {'bbox': [[-54.925613,\n", + " -21.567515,\n", + " 93.178583,\n", + " 71.89922]]},\n", + " 'temporal': {'interval': [['2011-01-01T00:00:00Z',\n", + " '2011-12-31T00:00:00Z']]}},\n", + " 'id': 'COP_DEM_EU_25M',\n", + " 'keywords': ['VITO',\n", + " 'TERRASCOPE',\n", + " 'COPERNICUS',\n", + " 'ESA',\n", + " 'Radar',\n", + " 'Elevation',\n", + " 'DEM',\n", + " 'EUROPE'],\n", + " 'license': 'proprietary',\n", + " 'links': [{'href': 'https://services.terrascope.be/collectioncatalogue/srv/eng/catalog.search#/metadata/urn:eop:VITO:VITO:COP_DEM_EU_25M',\n", + " 'rel': 'alternate',\n", + " 'title': 'Collection Catalogue Entry'},\n", + " {'href': 'https://land.copernicus.eu/user-corner/technical-library/eu-dem-v1-1-user-guide',\n", + " 'rel': 'alternate',\n", + " 'title': 'Online User Documentation'},\n", + " {'href': 'https://land.copernicus.eu/imagery-in-situ/eu-dem/eu-dem-v1.1/view',\n", + " 'rel': 'alternate',\n", + " 'title': 'Online viewer and data access'},\n", + " {'href': 'https://services.terrascope.be/catalogue/catalogue/description.geojson?collection=urn:eop:VITO:COP_DEM_EU_25M',\n", + " 'rel': 'alternate',\n", + " 'title': 'OpenSearch entry point'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'root'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'parent'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections/COP_DEM_EU_25M',\n", + " 'rel': 'self'}],\n", + " 'stac_extensions': ['https://stac-extensions.github.io/datacube/v2.2.0/schema.json',\n", + " 'https://stac-extensions.github.io/eo/v1.1.0/schema.json'],\n", + " 'stac_version': '0.9.0',\n", + " 'title': 'Copernicus European Digital Elevation Model (EU-DEM), version 1.1 in 25m resolution'},\n", + " {'description': 'The WorldCereal active cropland products provide binary maps for all growing seasons as defined by the WorldCereal global crop calendars, showing where active cropland has been detected. Seasonal active cropland is defined by the WorldCereal system as actively cultivated cropland during a specific growing season. In order for a pixel to be labeled as active during a particular growing season, a full crop growth cycle (sowing, growing, senescence and harvesting) needs to take place within the designated time period. Note that this active marker is not crop-type specific and only consider specific seasonality. This also means in practice that any crop grown (slightly) outside the predefined growing seasons will not be flagged as active cropland in any of the seasons covered by these products. The WorldCereal active cropland products were generated within the respective annual temporary crops mask.',\n", + " 'extent': {'spatial': {'bbox': [[-180.0, -90.0, 180.0, 90.0]]},\n", + " 'temporal': {'interval': [['2020-01-01T00:00:00Z',\n", + " '2021-12-31T00:00:00Z']]}},\n", + " 'id': 'ESA_WORLDCEREAL_ACTIVECROPLAND',\n", + " 'keywords': ['VITO',\n", + " 'COPERNICUS',\n", + " 'ESA',\n", + " 'WorldCereal',\n", + " 'Sentinel-2',\n", + " 'Environment',\n", + " 'Cropland',\n", + " 'Agriculture'],\n", + " 'license': 'CC-BY-4.0',\n", + " 'links': [{'href': 'https://services.terrascope.be/collectioncatalogue/srv/eng/catalog.search#/metadata/urn:eop:VITO:ESA_WORLDCEREAL_ACTIVECROPLAND_V1',\n", + " 'rel': 'alternate',\n", + " 'title': 'Collection Catalogue Entry'},\n", + " {'href': 'https://esa-worldcereal.org/en',\n", + " 'rel': 'alternate',\n", + " 'title': 'Online Information Website'},\n", + " {'href': 'https://services.terrascope.be/catalogue/catalogue/description.geojson?collection=urn:eop:VITO:ESA_WORLDCEREAL_ACTIVECROPLAND_V1',\n", + " 'rel': 'alternate',\n", + " 'title': 'OpenSearch entry point'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'root'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'parent'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections/ESA_WORLDCEREAL_ACTIVECROPLAND',\n", + " 'rel': 'self'}],\n", + " 'providers': [{'name': 'ESA',\n", + " 'roles': ['licensor'],\n", + " 'url': 'https://esa-worldcereal.org'},\n", + " {'description': 'VITO remote sensing lead the consortium that produced the WorldCereal product on behalf of ESA. VITO also hosts the resulting archive.',\n", + " 'name': 'VITO',\n", + " 'processing:level': 'L4',\n", + " 'processing:software': {'WorldCereal': '1.0'},\n", + " 'roles': ['producer', 'host']}],\n", + " 'stac_extensions': ['https://stac-extensions.github.io/datacube/v2.2.0/schema.json',\n", + " 'https://stac-extensions.github.io/eo/v1.1.0/schema.json'],\n", + " 'stac_version': '0.9.0',\n", + " 'title': 'ESA WorldCereal active cropland'},\n", + " {'description': 'WorldCereal irrigation, globally, at 10m resolution in specific seasons throughout the year. \\n\\n##Seasons\\n\\n The date of observations in this collection is the end date of the season. This start date varies depending on the agro-ecological zone. WorldCereal defines these seasons:\\n * wintercereals\\n* maize main \\n* maize second\\n ',\n", + " 'extent': {'spatial': {'bbox': [[-180.0, -90.0, 180.0, 90.0]]},\n", + " 'temporal': {'interval': [['2020-01-01T00:00:00Z',\n", + " '2021-12-31T00:00:00Z']]}},\n", + " 'id': 'ESA_WORLDCEREAL_IRRIGATION',\n", + " 'keywords': ['VITO',\n", + " 'COPERNICUS',\n", + " 'ESA',\n", + " 'WorldCereal',\n", + " 'LANSDAT-8',\n", + " 'TIR',\n", + " 'Sentinel-2',\n", + " 'Environment',\n", + " 'Irrigation'],\n", + " 'license': 'CC-BY-4.0',\n", + " 'links': [{'href': 'https://esa-worldcereal.org',\n", + " 'rel': 'alternate',\n", + " 'title': 'Product web page.'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'root'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'parent'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections/ESA_WORLDCEREAL_IRRIGATION',\n", + " 'rel': 'self'}],\n", + " 'providers': [{'name': 'ESA',\n", + " 'roles': ['licensor'],\n", + " 'url': 'https://esa-worldcereal.org'},\n", + " {'description': 'VITO remote sensing lead the consortium that produced the WorldCereal product on behalf of ESA. VITO also hosts the resulting archive.',\n", + " 'name': 'VITO',\n", + " 'processing:level': 'L4',\n", + " 'processing:software': {'WorldCereal': '1.0'},\n", + " 'roles': ['producer', 'host']}],\n", + " 'stac_extensions': ['https://stac-extensions.github.io/datacube/v2.2.0/schema.json',\n", + " 'https://stac-extensions.github.io/eo/v1.1.0/schema.json'],\n", + " 'stac_version': '0.9.0',\n", + " 'title': 'ESA WorldCereal irrigation'},\n", + " {'description': 'Pixel-based, binary classification product at 10m spatial resolution distinguishing annual cropland from all other types of land cover. Annual cropland is defined according to the JECAM 2018 definition, in short: A piece of land that is sowed/planted and harvestable at least once within the 12 months after the sowing/planting date. The annual cropland produces an herbaceous cover which should reach a coverage of 30% and can be combined with some tree or woody vegetation not exceeding a coverage of 20%.Exception 1: Sugarcane and cassava, although perennial crops, are explicitly included.Exception 2: Frequently harvested, annual and/or perennial fodder crops such as grasslands and alfalfa are explicitly excluded.Exception 3: Greenhouse crops are excluded. This product is generated within one month after the end of the main growing season and looks back one year in time.',\n", + " 'extent': {'spatial': {'bbox': [[-180.00446428571428,\n", + " -59.9955357,\n", + " 179.9955357,\n", + " 80.0044643]]},\n", + " 'temporal': {'interval': [['2020-09-12T00:00:00Z',\n", + " '2021-12-20T00:00:00Z']]}},\n", + " 'id': 'ESA_WORLDCEREAL_TEMPORARYCROPS',\n", + " 'keywords': ['VITO',\n", + " 'COPERNICUS',\n", + " 'ESA',\n", + " 'WorldCereal',\n", + " 'Sentinel-1',\n", + " 'Sentinel-2',\n", + " 'Environment',\n", + " 'Cropland',\n", + " 'Agriculture'],\n", + " 'license': 'CC-BY-4.0',\n", + " 'links': [{'href': 'https://esa-worldcereal.org',\n", + " 'rel': 'alternate',\n", + " 'title': 'Product web page.'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'root'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'parent'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections/ESA_WORLDCEREAL_TEMPORARYCROPS',\n", + " 'rel': 'self'}],\n", + " 'providers': [{'name': 'ESA',\n", + " 'roles': ['licensor'],\n", + " 'url': 'https://esa-worldcereal.org'},\n", + " {'description': 'VITO remote sensing lead the consortium that produced the WorldCereal product on behalf of ESA. VITO also hosts the resulting archive.',\n", + " 'name': 'VITO',\n", + " 'processing:level': 'L4',\n", + " 'processing:software': {'WorldCereal': '1.0'},\n", + " 'roles': ['producer', 'host']}],\n", + " 'stac_extensions': ['https://stac-extensions.github.io/datacube/v2.2.0/schema.json',\n", + " 'https://stac-extensions.github.io/eo/v1.1.0/schema.json'],\n", + " 'stac_version': '0.9.0',\n", + " 'title': 'ESA WorldCereal temporary crops'},\n", + " {'description': 'WorldCereal winter cereals, globally, at 10m resolution in specific seasons throughout the year. \\n\\n##Seasons\\n\\n The date of observations in this collection is the end date of the season. This start date varies depending on the agro-ecological zone. WorldCereal defines these seasons:\\n * wintercereals\\n* maize main \\n* maize second\\n ',\n", + " 'extent': {'spatial': {'bbox': [[-180.00446428571428,\n", + " -59.9955357,\n", + " 179.9955357,\n", + " 80.0044643]]},\n", + " 'temporal': {'interval': [['2020-09-12T00:00:00Z',\n", + " '2021-12-20T00:00:00Z']]}},\n", + " 'id': 'ESA_WORLDCEREAL_WINTERCEREALS',\n", + " 'keywords': ['VITO',\n", + " 'COPERNICUS',\n", + " 'ESA',\n", + " 'WorldCereal',\n", + " 'Sentinel-1',\n", + " 'Sentinel-2',\n", + " 'Environment',\n", + " 'Wintercereals',\n", + " 'Agriculture'],\n", + " 'license': 'CC-BY-4.0',\n", + " 'links': [{'href': 'https://esa-worldcereal.org',\n", + " 'rel': 'alternate',\n", + " 'title': 'Product web page.'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'root'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'parent'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections/ESA_WORLDCEREAL_WINTERCEREALS',\n", + " 'rel': 'self'}],\n", + " 'providers': [{'name': 'ESA',\n", + " 'roles': ['licensor'],\n", + " 'url': 'https://esa-worldcereal.org'},\n", + " {'description': 'VITO remote sensing lead the consortium that produced the WorldCereal product on behalf of ESA. VITO also hosts the resulting archive.',\n", + " 'name': 'VITO',\n", + " 'processing:level': 'L4',\n", + " 'processing:software': {'WorldCereal': '1.0'},\n", + " 'roles': ['producer', 'host']}],\n", + " 'stac_extensions': ['https://stac-extensions.github.io/datacube/v2.2.0/schema.json',\n", + " 'https://stac-extensions.github.io/eo/v1.1.0/schema.json'],\n", + " 'stac_version': '0.9.0',\n", + " 'title': 'ESA WorldCereal winter cereals'},\n", + " {'description': 'WorldCereal maize, globally, at 10m resolution in specific seasons throughout the year. \\n\\n ##Seasons\\n\\n The date of observations in this collection is the end date of the season. This start date varies depending on the agro-ecological zone. WorldCereal defines these seasons:\\n * wintercereals\\n* maize main \\n* maize second\\n ',\n", + " 'extent': {'spatial': {'bbox': [[-180.00446428571428,\n", + " -59.9955357,\n", + " 179.9955357,\n", + " 80.0044643]]},\n", + " 'temporal': {'interval': [['2020-09-12T00:00:00Z',\n", + " '2021-12-20T00:00:00Z']]}},\n", + " 'id': 'ESA_WORLDCEREAL_MAIZE',\n", + " 'keywords': ['VITO',\n", + " 'COPERNICUS',\n", + " 'ESA',\n", + " 'WorldCereal',\n", + " 'Sentinel-1',\n", + " 'Sentinel-2',\n", + " 'Environment',\n", + " 'Maize',\n", + " 'Agriculture'],\n", + " 'license': 'CC-BY-4.0',\n", + " 'links': [{'href': 'https://esa-worldcereal.org',\n", + " 'rel': 'alternate',\n", + " 'title': 'Product web page.'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'root'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'parent'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections/ESA_WORLDCEREAL_MAIZE',\n", + " 'rel': 'self'}],\n", + " 'providers': [{'name': 'ESA',\n", + " 'roles': ['licensor'],\n", + " 'url': 'https://esa-worldcereal.org'},\n", + " {'description': 'VITO remote sensing lead the consortium that produced the WorldCereal product on behalf of ESA. VITO also hosts the resulting archive.',\n", + " 'name': 'VITO',\n", + " 'processing:level': 'L4',\n", + " 'processing:software': {'WorldCereal': '1.0'},\n", + " 'roles': ['producer', 'host']}],\n", + " 'stac_extensions': ['https://stac-extensions.github.io/datacube/v2.2.0/schema.json',\n", + " 'https://stac-extensions.github.io/eo/v1.1.0/schema.json'],\n", + " 'stac_version': '0.9.0',\n", + " 'title': 'ESA WorldCereal maize'},\n", + " {'description': 'WorldCereal spring cereals, globally, at 10m resolution in specific seasons throughout the year. \\n\\n##Seasons\\n\\n The date of observations in this collection is the end date of the season. This start date varies depending on the agro-ecological zone. WorldCereal defines these seasons:\\n * wintercereals\\n* maize main \\n* maize second\\n ',\n", + " 'extent': {'spatial': {'bbox': [[-180.00446428571428,\n", + " -59.9955357,\n", + " 179.9955357,\n", + " 80.0044643]]},\n", + " 'temporal': {'interval': [['2020-09-12T00:00:00Z',\n", + " '2021-12-20T00:00:00Z']]}},\n", + " 'id': 'ESA_WORLDCEREAL_SPRINGCEREALS',\n", + " 'keywords': ['VITO',\n", + " 'COPERNICUS',\n", + " 'ESA',\n", + " 'WorldCereal',\n", + " 'Sentinel-1',\n", + " 'Sentinel-2',\n", + " 'Environment',\n", + " 'Springcereals',\n", + " 'Agriculture'],\n", + " 'license': 'CC-BY-4.0',\n", + " 'links': [{'href': 'https://esa-worldcereal.org',\n", + " 'rel': 'alternate',\n", + " 'title': 'Product web page.'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'root'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'parent'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections/ESA_WORLDCEREAL_SPRINGCEREALS',\n", + " 'rel': 'self'}],\n", + " 'providers': [{'name': 'ESA',\n", + " 'roles': ['licensor'],\n", + " 'url': 'https://esa-worldcereal.org'},\n", + " {'description': 'VITO remote sensing lead the consortium that produced the WorldCereal product on behalf of ESA. VITO also hosts the resulting archive.',\n", + " 'name': 'VITO',\n", + " 'processing:level': 'L4',\n", + " 'processing:software': {'WorldCereal': '1.0'},\n", + " 'roles': ['producer', 'host']}],\n", + " 'stac_extensions': ['https://stac-extensions.github.io/datacube/v2.2.0/schema.json',\n", + " 'https://stac-extensions.github.io/eo/v1.1.0/schema.json'],\n", + " 'stac_version': '0.9.0',\n", + " 'title': 'ESA WorldCereal spring cereals'},\n", + " {'description': 'Sentinel 1 GRD Sigma0. Backscatter values are provided as natural number, not in decibel. Provided by Terrascope.\\n\\n Use [this viewer](https://viewer.terrascope.be/?language=en&bbox=2.8531494643539195,50.29627033037724,6.36877446435392,51.454777120718546&overlay=true&bgLayer=Satellite&date=2020-10-15&layer=CGS_S1_GRD_SIGMA0) to explore the data.',\n", + " 'extent': {'spatial': {'bbox': [[-180, -56, 180, 83]]},\n", + " 'temporal': {'interval': [['2015-07-06T00:00:00Z', None]]}},\n", + " 'id': 'SENTINEL1_GRD_SIGMA0',\n", + " 'keywords': ['VITO',\n", + " 'TERRASCOPE',\n", + " 'COPERNICUS',\n", + " 'ESA',\n", + " 'Orthoimagery',\n", + " 'Sentinel-1',\n", + " 'C-SAR',\n", + " 'Level-3',\n", + " 'Radar',\n", + " 'Radar Backscatter'],\n", + " 'license': 'free',\n", + " 'links': [{'href': 'https://docs.terrascope.be/#/DataProducts/Sentinel-1/ProductsOverview',\n", + " 'rel': 'alternate',\n", + " 'title': 'Product web page.'},\n", + " {'href': 'https://services.terrascope.be/wmts/v2',\n", + " 'rel': 'wmts',\n", + " 'wmts:layer': 'CGS_S1_GRD_SIGMA0'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'root'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'parent'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections/SENTINEL1_GRD_SIGMA0',\n", + " 'rel': 'self'}],\n", + " 'providers': [{'name': 'Terrascope/VITO'}],\n", + " 'stac_extensions': ['https://stac-extensions.github.io/datacube/v2.2.0/schema.json',\n", + " 'https://stac-extensions.github.io/eo/v1.1.0/schema.json'],\n", + " 'stac_version': '0.9.0',\n", + " 'title': 'Sentinel 1 GRD Sigma0 product precomputed by Terrascope, VH, VV and angle.'},\n", + " {'description': 'Sentinel 1 GRD Sigma0, mosaic of all ascending relative orbits. Backscatter values are provided as natural number, not in decibel. Provided by Terrascope.\\n\\n Use [this viewer](https://viewer.terrascope.be/?language=en&bbox=2.8531494643539195,50.29627033037724,6.36877446435392,51.454777120718546&overlay=true&bgLayer=Satellite&date=2020-10-15&layer=CGS_S1_GRD_SIGMA0) to explore the data.',\n", + " 'extent': {'spatial': {'bbox': [[-180, -56, 180, 83]]},\n", + " 'temporal': {'interval': [['2015-07-06T00:00:00Z', None]]}},\n", + " 'id': 'S1_GRD_SIGMA0_ASCENDING',\n", + " 'keywords': ['VITO',\n", + " 'TERRASCOPE',\n", + " 'COPERNICUS',\n", + " 'ESA',\n", + " 'Orthoimagery',\n", + " 'Sentinel-1',\n", + " 'C-SAR',\n", + " 'Level-3',\n", + " 'Radar',\n", + " 'Radar Backscatter'],\n", + " 'license': 'free',\n", + " 'links': [{'href': 'https://docs.terrascope.be/#/DataProducts/Sentinel-1/ProductsOverview',\n", + " 'rel': 'alternate',\n", + " 'title': 'Product web page.'},\n", + " {'href': 'https://services.terrascope.be/wmts/v2',\n", + " 'rel': 'wmts',\n", + " 'wmts:layer': 'CGS_S1_GRD_SIGMA0'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'root'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'parent'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections/S1_GRD_SIGMA0_ASCENDING',\n", + " 'rel': 'self'}],\n", + " 'providers': [{'name': 'Terrascope/VITO'}],\n", + " 'stac_extensions': ['https://stac-extensions.github.io/datacube/v2.2.0/schema.json',\n", + " 'https://stac-extensions.github.io/eo/v1.1.0/schema.json'],\n", + " 'stac_version': '0.9.0',\n", + " 'title': 'Sentinel 1 GRD Sigma0 product, VH, VV and angle.'},\n", + " {'description': 'Sentinel 1 GRD Sigma0, mosaic of all descending relative orbits. Backscatter values are provided as natural number, not in decibel. Provided by Terrascope.\\n\\n Use [this viewer](https://viewer.terrascope.be/?language=en&bbox=2.8531494643539195,50.29627033037724,6.36877446435392,51.454777120718546&overlay=true&bgLayer=Satellite&date=2020-10-15&layer=CGS_S1_GRD_SIGMA0) to explore the data.',\n", + " 'extent': {'spatial': {'bbox': [[-180, -56, 180, 83]]},\n", + " 'temporal': {'interval': [['2015-07-06T00:00:00Z', None]]}},\n", + " 'id': 'S1_GRD_SIGMA0_DESCENDING',\n", + " 'keywords': ['VITO',\n", + " 'TERRASCOPE',\n", + " 'COPERNICUS',\n", + " 'ESA',\n", + " 'Orthoimagery',\n", + " 'Sentinel-1',\n", + " 'C-SAR',\n", + " 'Level-3',\n", + " 'Radar',\n", + " 'Radar Backscatter'],\n", + " 'license': 'free',\n", + " 'links': [{'href': 'https://docs.terrascope.be/#/DataProducts/Sentinel-1/ProductsOverview',\n", + " 'rel': 'alternate',\n", + " 'title': 'Product web page.'},\n", + " {'href': 'https://services.terrascope.be/wmts/v2',\n", + " 'rel': 'wmts',\n", + " 'wmts:layer': 'CGS_S1_GRD_SIGMA0'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'root'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'parent'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections/S1_GRD_SIGMA0_DESCENDING',\n", + " 'rel': 'self'}],\n", + " 'providers': [{'name': 'Terrascope/VITO'}],\n", + " 'stac_extensions': ['https://stac-extensions.github.io/datacube/v2.2.0/schema.json',\n", + " 'https://stac-extensions.github.io/eo/v1.1.0/schema.json'],\n", + " 'stac_version': '0.9.0',\n", + " 'title': 'Sentinel 1 GRD Sigma0 product, VH, VV and angle.'},\n", + " {'description': \"The Sentinel-3, Level 2 Synergy VG1 products (SY_2_VG1) contain 1 km VEGETATION-like TOC reflectances and NDVI. The '1 km VEGETATION-like product' label means that measurements are provided on a regular latitude-longitude grid, with an equatorial sampling distance of approximately 1 km (1° / 112). The NDVI is provided, derived from surface reflectances in B2 and B3.\",\n", + " 'extent': {'spatial': {'bbox': [[-180.0, -56.0, 180.0, 75]]},\n", + " 'temporal': {'interval': [['2020-07-01T00:00:00Z', None]]}},\n", + " 'id': 'SENTINEL3_SYNERGY_VG1',\n", + " 'keywords': ['VITO',\n", + " 'Orthoimagery',\n", + " 'plant resource',\n", + " 'TOC',\n", + " 'SYN',\n", + " 'OLCI',\n", + " 'SLSTR',\n", + " 'radiometry',\n", + " 'sentinel',\n", + " 'Sentinel-3',\n", + " 'ESA',\n", + " 'VGT-S1 like'],\n", + " 'license': 'proprietary',\n", + " 'links': [{'href': 'https://services.terrascope.be/collectioncatalogue/srv/eng/catalog.search#/metadata/urn:eop:VITO:TERRASCOPE_S3_SY_2_VG1_V1',\n", + " 'rel': 'alternate',\n", + " 'title': 'Collection Catalogue Entry'},\n", + " {'href': 'https://docs.terrascope.be/#/DataProducts/Sentinel-3/ProductsOverview',\n", + " 'rel': 'alternate',\n", + " 'title': 'Online User Documentation'},\n", + " {'href': 'https://services.terrascope.be/catalogue/catalogue/description.geojson?collection=urn:eop:VITO:TERRASCOPE_S3_SY_2_VG1_V1',\n", + " 'rel': 'alternate',\n", + " 'title': 'OpenSearch entry point'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'root'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'parent'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections/SENTINEL3_SYNERGY_VG1',\n", + " 'rel': 'self'}],\n", + " 'stac_extensions': ['https://stac-extensions.github.io/datacube/v2.2.0/schema.json',\n", + " 'https://stac-extensions.github.io/eo/v1.1.0/schema.json'],\n", + " 'stac_version': '0.9.0',\n", + " 'title': 'Sentinel-3 Level 2 Synergy 1 km VEGETATION-Like daily synthesis TOC reflectance and NDVI - V1'},\n", + " {'description': \"The Sentinel-3, Level 2 Synergy V10 products (SY_2_V10) contain 1 km VEGETATION-like TOC reflectances and NDVI. The '1 km VEGETATION-like product' label means that measurements are provided on a regular latitude-longitude grid, with an equatorial sampling distance of approximately 1 km (1° / 112). The NDVI is provided, derived from surface reflectances in B2 and B3.\",\n", + " 'extent': {'spatial': {'bbox': [[-180.0, -56.0, 180.0, 75]]},\n", + " 'temporal': {'interval': [['2020-07-01T00:00:00Z', None]]}},\n", + " 'id': 'SENTINEL3_SYNERGY_VG10',\n", + " 'keywords': ['VITO',\n", + " 'Orthoimagery',\n", + " 'plant resource',\n", + " 'TOC',\n", + " 'SYN',\n", + " 'OLCI',\n", + " 'SLSTR',\n", + " 'radiometry',\n", + " 'sentinel',\n", + " 'Sentinel-3',\n", + " 'ESA',\n", + " 'VGT-S10 like'],\n", + " 'license': 'proprietary',\n", + " 'links': [{'href': 'https://services.terrascope.be/collectioncatalogue/srv/eng/catalog.search#/metadata/urn:eop:VITO:TERRASCOPE_S3_SY_2_V10_V1',\n", + " 'rel': 'alternate',\n", + " 'title': 'Collection Catalogue Entry'},\n", + " {'href': 'https://docs.terrascope.be/#/DataProducts/Sentinel-3/ProductsOverview',\n", + " 'rel': 'alternate',\n", + " 'title': 'Online User Documentation'},\n", + " {'href': 'https://services.terrascope.be/catalogue/catalogue/description.geojson?collection=urn:eop:VITO:TERRASCOPE_S3_SY_2_V10_V1',\n", + " 'rel': 'alternate',\n", + " 'title': 'OpenSearch entry point'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'root'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'parent'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections/SENTINEL3_SYNERGY_VG10',\n", + " 'rel': 'self'}],\n", + " 'stac_extensions': ['https://stac-extensions.github.io/datacube/v2.2.0/schema.json',\n", + " 'https://stac-extensions.github.io/eo/v1.1.0/schema.json'],\n", + " 'stac_version': '0.9.0',\n", + " 'title': 'Sentinel-3 Level 2 Synergy 1 km VEGETATION-Like 10-daily synthesis TOC reflectance and NDVI - V1'},\n", + " {'description': 'FAPAR Level-3 product at 10m resolution. Covers selected areas globally. This FAPAR is derived directly from ESA L2A products. The FAPAR quantifies the fraction of the solar radiation absorbed by live leaves for the photosynthesis activity. Then, it refers only to the green and alive elements of the canopy. The FAPAR depends on the canopy structure, vegetation element optical properties, atmospheric conditions, and angular configuration. \\n\\nFAPAR is recognized as an Essential Climate Variable (ECV) by the Global Climate Observing System (GCOS).',\n", + " 'extent': {'spatial': {'bbox': [[-180, -56, 180, 83]]},\n", + " 'temporal': {'interval': [['2015-07-06T00:00:00Z', None]]}},\n", + " 'id': 'TERRASCOPE_S2_FAPAR_V2',\n", + " 'keywords': ['VITO',\n", + " 'TERRASCOPE',\n", + " 'COPERNICUS',\n", + " 'ESA',\n", + " 'Orthoimagery',\n", + " 'Sentinel-2',\n", + " 'MSI',\n", + " 'Level-3',\n", + " 'Radiometry',\n", + " 'Plant Resource',\n", + " 'FAPAR'],\n", + " 'license': 'proprietary',\n", + " 'links': [{'href': 'https://sentinel.esa.int/documents/247904/690755/Sentinel_Data_Legal_Notice',\n", + " 'rel': 'license'},\n", + " {'href': 'https://services.terrascope.be/catalogue/description?collection=urn:eop:VITO:TERRASCOPE_S2_FAPAR_V2',\n", + " 'rel': 'alternate'},\n", + " {'href': 'https://viewer.terrascope.be/?language=nl&bbox=0.9339867511378304,50.14520994379217,6.207424251137831,51.77292299745045&overlay=false&bgLayer=MapBox&date=2019-02-25T03:17:15.000Z&layer=CGS_S2_FAPAR',\n", + " 'rel': 'alternate',\n", + " 'title': 'Terrascope Viewer'},\n", + " {'href': 'https://services.terrascope.be/wmts/v2',\n", + " 'rel': 'wmts',\n", + " 'wmts:layer': 'CGS_S2_FAPAR'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'root'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'parent'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections/TERRASCOPE_S2_FAPAR_V2',\n", + " 'rel': 'self'}],\n", + " 'providers': [{'name': 'VITO, on behalf of the Belgian Science Policy Office (BELSPO).',\n", + " 'roles': ['producer', 'licensor'],\n", + " 'url': 'https://terrascope.be'}],\n", + " 'stac_extensions': ['https://stac-extensions.github.io/datacube/v2.2.0/schema.json',\n", + " 'https://stac-extensions.github.io/eo/v1.1.0/schema.json'],\n", + " 'stac_version': '0.9.0',\n", + " 'title': 'Sentinel-2 FAPAR, last 2 years over Europe + selected areas, by Terrascope.'},\n", + " {'description': 'NDVI Level-3 product at 10m resolution. Covers selected areas globally. This NDVI is derived directly from ESA L2A products.',\n", + " 'extent': {'spatial': {'bbox': [[-180, -56, 180, 83]]},\n", + " 'temporal': {'interval': [['2015-07-06T00:00:00Z', None]]}},\n", + " 'id': 'TERRASCOPE_S2_NDVI_V2',\n", + " 'keywords': ['VITO',\n", + " 'TERRASCOPE',\n", + " 'COPERNICUS',\n", + " 'ESA',\n", + " 'Orthoimagery',\n", + " 'Sentinel-2',\n", + " 'MSI',\n", + " 'Level-3',\n", + " 'Radiometry',\n", + " 'Plant Resource',\n", + " 'NDVI'],\n", + " 'license': 'proprietary',\n", + " 'links': [{'href': 'https://sentinel.esa.int/documents/247904/690755/Sentinel_Data_Legal_Notice',\n", + " 'rel': 'license'},\n", + " {'href': 'https://services.terrascope.be/catalogue/description?collection=urn:eop:VITO:TERRASCOPE_S2_NDVI_V2',\n", + " 'rel': 'alternate'},\n", + " {'href': 'https://viewer.terrascope.be/?language=nl&bbox=0.9339867511378304,50.14520994379217,6.207424251137831,51.77292299745045&overlay=false&bgLayer=MapBox&date=2019-02-25T03:17:15.000Z&layer=CGS_S2_NDVI',\n", + " 'rel': 'alternate'},\n", + " {'href': 'https://services.terrascope.be/wmts/v2',\n", + " 'rel': 'wmts',\n", + " 'wmts:layer': 'CGS_S2_NDVI'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'root'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'parent'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections/TERRASCOPE_S2_NDVI_V2',\n", + " 'rel': 'self'}],\n", + " 'providers': [{'name': 'VITO, on behalf of the Belgian Science Policy Office (BELSPO).',\n", + " 'roles': ['producer', 'licensor'],\n", + " 'url': 'https://terrascope.be'}],\n", + " 'stac_extensions': ['https://stac-extensions.github.io/datacube/v2.2.0/schema.json',\n", + " 'https://stac-extensions.github.io/eo/v1.1.0/schema.json'],\n", + " 'stac_version': '0.9.0',\n", + " 'title': 'Sentinel-2 NDVI last 2 years over Europe + selected areas, by Terrascope.'},\n", + " {'description': 'Leaf area index Level-3 product at 10m resolution. Covers selected areas globally. This LAI is derived directly from ESA L2A products.',\n", + " 'extent': {'spatial': {'bbox': [[-180, -56, 180, 83]]},\n", + " 'temporal': {'interval': [['2015-07-06T00:00:00Z', None]]}},\n", + " 'id': 'TERRASCOPE_S2_LAI_V2',\n", + " 'keywords': ['VITO',\n", + " 'TERRASCOPE',\n", + " 'COPERNICUS',\n", + " 'ESA',\n", + " 'Orthoimagery',\n", + " 'Sentinel-2',\n", + " 'MSI',\n", + " 'Level-3',\n", + " 'Radiometry',\n", + " 'Plant Resource',\n", + " 'LAI'],\n", + " 'license': 'proprietary',\n", + " 'links': [{'href': 'https://sentinel.esa.int/documents/247904/690755/Sentinel_Data_Legal_Notice',\n", + " 'rel': 'license'},\n", + " {'href': 'https://services.terrascope.be/catalogue/description?collection=urn:eop:VITO:TERRASCOPE_S2_LAI_V2',\n", + " 'rel': 'alternate'},\n", + " {'href': 'https://docs.terrascope.be/#/DataProducts/Sentinel-2/Biopar/Biopar?id=vegetation-indicators',\n", + " 'rel': 'alternate',\n", + " 'title': 'Product documentation'},\n", + " {'href': 'https://viewer.terrascope.be/?language=nl&bbox=0.9339867511378304,50.14520994379217,6.207424251137831,51.77292299745045&overlay=false&bgLayer=MapBox&date=2019-02-25T03:17:15.000Z&layer=CGS_S2_LAI',\n", + " 'rel': 'alternate'},\n", + " {'href': 'https://services.terrascope.be/wmts/v2',\n", + " 'rel': 'wmts',\n", + " 'wmts:layer': 'CGS_S2_LAI'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'root'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'parent'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections/TERRASCOPE_S2_LAI_V2',\n", + " 'rel': 'self'}],\n", + " 'providers': [{'name': 'VITO, on behalf of the Belgian Science Policy Office (BELSPO).',\n", + " 'roles': ['producer', 'licensor'],\n", + " 'url': 'https://terrascope.be'}],\n", + " 'stac_extensions': ['https://stac-extensions.github.io/datacube/v2.2.0/schema.json',\n", + " 'https://stac-extensions.github.io/eo/v1.1.0/schema.json'],\n", + " 'stac_version': '0.9.0',\n", + " 'title': 'Sentinel-2 LAI last 2 years over Europe + selected areas, by Terrascope.'},\n", + " {'description': 'Fraction of canopy cover Level-3 product at 10m resolution. Covers selected areas globally. This FCOVER is derived directly from ESA L2A products.',\n", + " 'extent': {'spatial': {'bbox': [[-180, -56, 180, 83]]},\n", + " 'temporal': {'interval': [['2015-07-06T00:00:00Z', None]]}},\n", + " 'id': 'TERRASCOPE_S2_FCOVER_V2',\n", + " 'keywords': ['VITO',\n", + " 'TERRASCOPE',\n", + " 'COPERNICUS',\n", + " 'ESA',\n", + " 'Orthoimagery',\n", + " 'Sentinel-2',\n", + " 'MSI',\n", + " 'Level-3',\n", + " 'Radiometry',\n", + " 'Plant Resource',\n", + " 'FCOVER'],\n", + " 'license': 'proprietary',\n", + " 'links': [{'href': 'https://sentinel.esa.int/documents/247904/690755/Sentinel_Data_Legal_Notice',\n", + " 'rel': 'license'},\n", + " {'href': 'https://services.terrascope.be/catalogue/collections?uid=urn:eop:VITO:TERRASCOPE_S2_FCOVER_V2',\n", + " 'rel': 'alternate'},\n", + " {'href': 'https://viewer.terrascope.be/?language=nl&bbox=0.9339867511378304,50.14520994379217,6.207424251137831,51.77292299745045&overlay=false&bgLayer=MapBox&date=2019-02-25T03:17:15.000Z&layer=CGS_S2_FCOVER',\n", + " 'rel': 'alternate'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'root'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'parent'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections/TERRASCOPE_S2_FCOVER_V2',\n", + " 'rel': 'self'}],\n", + " 'providers': [{'name': 'VITO, on behalf of the Belgian Science Policy Office (BELSPO).',\n", + " 'roles': ['producer', 'licensor'],\n", + " 'url': 'https://terrascope.be'}],\n", + " 'stac_extensions': ['https://stac-extensions.github.io/datacube/v2.2.0/schema.json',\n", + " 'https://stac-extensions.github.io/eo/v1.1.0/schema.json'],\n", + " 'stac_version': '0.9.0',\n", + " 'title': 'Sentinel-2 FCOVER last 2 years over Europe + selected areas, by Terrascope.'},\n", + " {'description': '[Sentinel-2 Level 2A](https://docs.terrascope.be/#/DataProducts/Sentinel-2/Level2A/Level2A) product, processed from L1C by Sen2Cor. \\n Use the [Terrascope viewer](https://viewer.terrascope.be/?language=nl&bbox=0.9339867511378304,50.14520994379217,6.207424251137831,51.77292299745045&overlay=false&bgLayer=MapBox&date=2019-02-25T03:17:15.000Z&layer=CGS_S2_RADIOMETRY) to explore the data. \\n\\n ',\n", + " 'extent': {'spatial': {'bbox': [[-180, -56, 180, 83]]},\n", + " 'temporal': {'interval': [['2015-07-06T00:00:00Z', None]]}},\n", + " 'id': 'TERRASCOPE_S2_TOC_V2',\n", + " 'keywords': ['VITO',\n", + " 'TERRASCOPE',\n", + " 'COPERNICUS',\n", + " 'ESA',\n", + " 'Orthoimagery',\n", + " 'Sentinel-2',\n", + " 'MSI',\n", + " 'Level-2A',\n", + " 'Radiometry',\n", + " 'Plant Resource',\n", + " 'TOC'],\n", + " 'license': 'proprietary',\n", + " 'links': [{'href': 'https://sentinel.esa.int/documents/247904/690755/Sentinel_Data_Legal_Notice',\n", + " 'rel': 'license'},\n", + " {'href': 'https://services.terrascope.be/catalogue/description?collection=urn:eop:VITO:TERRASCOPE_S2_TOC_V2',\n", + " 'rel': 'alternate'},\n", + " {'href': 'https://viewer.terrascope.be/?language=nl&bbox=0.9339867511378304,50.14520994379217,6.207424251137831,51.77292299745045&overlay=false&bgLayer=MapBox&date=2019-02-25T03:17:15.000Z&layer=CGS_S2_RADIOMETRY',\n", + " 'rel': 'alternate'},\n", + " {'href': 'https://services.terrascope.be/wmts/v2',\n", + " 'rel': 'wmts',\n", + " 'wmts:layer': 'CGS_S2_RADIOMETRY'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'root'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'parent'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections/TERRASCOPE_S2_TOC_V2',\n", + " 'rel': 'self'}],\n", + " 'providers': [{'name': 'VITO, on behalf of the Belgian Science Policy Office (BELSPO).',\n", + " 'roles': ['producer', 'licensor'],\n", + " 'url': 'https://terrascope.be'}],\n", + " 'stac_extensions': ['https://stac-extensions.github.io/datacube/v2.2.0/schema.json',\n", + " 'https://stac-extensions.github.io/eo/v1.1.0/schema.json'],\n", + " 'stac_version': '0.9.0',\n", + " 'title': 'Sentinel-2 top of canopy last 2 years over Europe + selected areas, by Terrascope.'},\n", + " {'description': 'The Interferometric Coherence product is the amplitude of the complex correlation coefficient between two images. In simple way, coherence describes similarity between two images in a range between zero to one. Zero means pixels were totally different where one means pixels were same exactly.The product algorithm starts from two ESA Level-1 SLC products which are from the same area, the same relative orbit number and preferably from within a short time interval (6 days is the shortest possible with S1A and S1B pairs). The original paired images go through a workflow of orbit correction, co-registration through back-geocoding, coherence calculation and terrain correction by making use of standard SNAP tools as part of the Sentinel-1 toolbox (S1TBX).The terrain correction step is intended to compensate for distortions due to topographical variations of the scene and the tilt of the satellite sensor, so that the geometric representation of the image will be as close as possible to the real world.\\n\\nThis product exposes properties to enable filtering on relative orbit number and orbit direction.',\n", + " 'extent': {'spatial': {'bbox': [[-180, -56, 180, 83]]},\n", + " 'temporal': {'interval': [['2015-07-06T00:00:00Z', None]]}},\n", + " 'id': 'TERRASCOPE_S1_SLC_COHERENCE_V1',\n", + " 'keywords': ['VITO',\n", + " 'TERRASCOPE',\n", + " 'COPERNICUS',\n", + " 'ESA',\n", + " 'Orthoimagery',\n", + " 'Sentinel-1',\n", + " 'C-SAR',\n", + " 'Level-3',\n", + " 'Radar',\n", + " 'Coherence'],\n", + " 'license': 'proprietary',\n", + " 'links': [{'href': 'https://sentinel.esa.int/documents/247904/690755/Sentinel_Data_Legal_Notice',\n", + " 'rel': 'license'},\n", + " {'href': 'https://services.terrascope.be/catalogue/description?collection=urn:eop:VITO:TERRASCOPE_S1_SLC_COHERENCE_V1',\n", + " 'rel': 'alternate'},\n", + " {'href': 'https://services.terrascope.be/wmts/v2',\n", + " 'rel': 'wmts',\n", + " 'wmts:layer': 'CGS_S1_COHERENCE'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'root'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'parent'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections/TERRASCOPE_S1_SLC_COHERENCE_V1',\n", + " 'rel': 'self'}],\n", + " 'providers': [{'name': 'VITO, on behalf of the Belgian Science Policy Office (BELSPO).',\n", + " 'roles': ['producer', 'licensor'],\n", + " 'url': 'https://terrascope.be'}],\n", + " 'stac_extensions': ['https://stac-extensions.github.io/datacube/v2.2.0/schema.json',\n", + " 'https://stac-extensions.github.io/eo/v1.1.0/schema.json'],\n", + " 'stac_version': '0.9.0',\n", + " 'title': 'Sentinel-1 Coherence over selected areas, by Terrascope.'},\n", + " {'description': \"The [Sentinel-1 radar imaging mission](https://sentinel.esa.int/web/sentinel/missions/sentinel-1) is composed of a constellation of two polar-orbiting satellites providing continous all-weather, day and night imagery for Land and Maritime Monitoring. C-band synthentic aperture radar imaging has the advantage of operating at wavelenghts that are not obstructed by clouds or lack of illumination and therefore can acquire data during day or night under all weather conditions. With 6 days repeat cycle on the entire world and daily acquistions of sea ice zones and Europe's major shipping routes, Sentinel-1 ensures reliable data availability to support emergency services and applications requiring time series observations. Sentinel-1 continues the retired ERS and ENVISAT missions. Level 1 GRD products are available since October 2014.\",\n", + " 'extent': {'spatial': {'bbox': [[-180, -90, 180, 90]]},\n", + " 'temporal': {'interval': [['2014-10-03T04:14:15Z', None]]}},\n", + " 'id': 'SENTINEL1_GAMMA0_SENTINELHUB',\n", + " 'keywords': ['sentinel hub',\n", + " 'xcube',\n", + " 'raster',\n", + " 'systematic',\n", + " 'satellite imagery',\n", + " 'SAR',\n", + " 'radar',\n", + " 'backscattering',\n", + " 'polarization',\n", + " 'Copernicus',\n", + " 'maritime monitoring',\n", + " 'land monitoring',\n", + " 'disaster response',\n", + " 'open data',\n", + " 'race challenges',\n", + " 'sentinel'],\n", + " 'license': 'proprietary',\n", + " 'links': [{'href': 'https://collections.eurodatacube.com/sentinel-1-grd',\n", + " 'rel': 'about',\n", + " 'title': 'Website describing the collection',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://services.sentinel-hub.com/ogc/wmts/113184fa-263a-4bd8-a2d3-0c00fbcef8b5',\n", + " 'rel': 'wmts',\n", + " 'wmts:dimensions': {'warnings': True},\n", + " 'wmts:layer': 'SAR-URBAN'},\n", + " {'href': 'https://docs.sentinel-hub.com/api/latest/api/process/',\n", + " 'rel': 'about',\n", + " 'title': 'Details about running Evalscripts',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/sentinel-1/urban_areas/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:acquisition_mode': 'IW',\n", + " 'sentinelhub:layer_name': 'SAR urban',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:polarization': 'DV',\n", + " 'sentinelhub:resolution': 'HIGH',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate SAR urban imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/sentinel-1/sar_false_color_visualization-2/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:acquisition_mode': 'IW',\n", + " 'sentinelhub:layer_name': 'Enhanced visualization',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:polarization': 'DV',\n", + " 'sentinelhub:resolution': 'HIGH',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate Enhanced visualization imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://sentinels.copernicus.eu/documents/247904/690755/Sentinel_Data_Legal_Notice',\n", + " 'rel': 'license',\n", + " 'title': 'License',\n", + " 'type': 'application/pdf'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'root'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'parent'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections/SENTINEL1_GAMMA0_SENTINELHUB',\n", + " 'rel': 'self'}],\n", + " 'providers': [{'description': 'Global since October 2014',\n", + " 'name': 'Sentinel Hub',\n", + " 'roles': ['processor'],\n", + " 'url': 'https://services.sentinel-hub.com'},\n", + " {'description': 'Rolling policy of 1 month for World',\n", + " 'name': 'Sentinel Hub',\n", + " 'roles': ['processor'],\n", + " 'url': 'https://creodias.sentinel-hub.com'},\n", + " {'description': 'Rolling policy of 48 months for Europe , Rolling policy of 12 months for World',\n", + " 'name': 'Sentinel Hub',\n", + " 'roles': ['processor'],\n", + " 'url': 'https://shservices.mundiwebservices.com'},\n", + " {'description': 'Germany since October 2014',\n", + " 'name': 'Sentinel Hub',\n", + " 'roles': ['processor'],\n", + " 'url': 'https://code-de.sentinel-hub.com.com'}],\n", + " 'stac_extensions': ['https://stac-extensions.github.io/datacube/v1.0.0/schema.json',\n", + " 'https://stac-extensions.github.io/scientific/v1.0.0/schema.json',\n", + " 'https://stac-extensions.github.io/sat/v1.0.0/schema.json',\n", + " 'https://stac-extensions.github.io/sar/v1.0.0/schema.json',\n", + " 'https://stac-extensions.github.io/raster/v1.0.0/schema.json'],\n", + " 'stac_version': '1.0.0',\n", + " 'title': 'Sentinel 1 Gamma0, 10m resolution, full archive provided by SentinelHub - DEPRECATED'},\n", + " {'description': \"The [Sentinel-1 radar imaging mission](https://sentinel.esa.int/web/sentinel/missions/sentinel-1) is composed of a constellation of two polar-orbiting satellites providing continous all-weather, day and night imagery for Land and Maritime Monitoring. C-band synthentic aperture radar imaging has the advantage of operating at wavelenghts that are not obstructed by clouds or lack of illumination and therefore can acquire data during day or night under all weather conditions. With 6 days repeat cycle on the entire world and daily acquistions of sea ice zones and Europe's major shipping routes, Sentinel-1 ensures reliable data availability to support emergency services and applications requiring time series observations. Sentinel-1 continues the retired ERS and ENVISAT missions. Level 1 GRD products are available since October 2014.\",\n", + " 'extent': {'spatial': {'bbox': [[-180, -90, 180, 90]]},\n", + " 'temporal': {'interval': [['2014-10-03T04:14:15Z', None],\n", + " ['2014-10-03T00:00:00Z', None]]}},\n", + " 'id': 'SENTINEL1_GRD',\n", + " 'keywords': ['sentinel hub',\n", + " 'xcube',\n", + " 'raster',\n", + " 'systematic',\n", + " 'satellite imagery',\n", + " 'SAR',\n", + " 'radar',\n", + " 'backscattering',\n", + " 'polarization',\n", + " 'Copernicus',\n", + " 'maritime monitoring',\n", + " 'land monitoring',\n", + " 'disaster response',\n", + " 'open data',\n", + " 'race challenges',\n", + " 'sentinel',\n", + " 'copernicus',\n", + " 'esa',\n", + " 'sar'],\n", + " 'license': 'proprietary',\n", + " 'links': [{'href': 'https://collections.eurodatacube.com/sentinel-1-grd',\n", + " 'rel': 'about',\n", + " 'title': 'Website describing the collection',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://services.sentinel-hub.com/ogc/wmts/113184fa-263a-4bd8-a2d3-0c00fbcef8b5',\n", + " 'rel': 'wmts',\n", + " 'wmts:dimensions': {'warnings': True},\n", + " 'wmts:layer': 'SAR-URBAN'},\n", + " {'href': 'https://docs.sentinel-hub.com/api/latest/api/process/',\n", + " 'rel': 'about',\n", + " 'title': 'Details about running Evalscripts',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/sentinel-1/urban_areas/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:acquisition_mode': 'IW',\n", + " 'sentinelhub:layer_name': 'SAR urban',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:polarization': 'DV',\n", + " 'sentinelhub:resolution': 'HIGH',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate SAR urban imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/sentinel-1/sar_false_color_visualization-2/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:acquisition_mode': 'IW',\n", + " 'sentinelhub:layer_name': 'Enhanced visualization',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:polarization': 'DV',\n", + " 'sentinelhub:resolution': 'HIGH',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate Enhanced visualization imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://sentinels.copernicus.eu/documents/247904/690755/Sentinel_Data_Legal_Notice',\n", + " 'rel': 'license',\n", + " 'title': 'License',\n", + " 'type': 'application/pdf'},\n", + " {'href': 'https://stac.eodc.eu/api/v1/collections/SENTINEL1_GRD/items',\n", + " 'rel': 'items',\n", + " 'type': 'application/geo+json'},\n", + " {'href': 'https://scihub.copernicus.eu/twiki/do/view/SciHubWebPortal/TermsConditions',\n", + " 'rel': 'license',\n", + " 'title': 'Sentinel License'},\n", + " {'href': 'https://sentinels.copernicus.eu/web/sentinel/technical-guides/sentinel-1-sar/products-algorithms/level-1-algorithms/ground-range-detected',\n", + " 'rel': 'about',\n", + " 'title': 'Sentinel-1 Ground Range Detected (GRD) Technical Guide'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'root'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'parent'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections/SENTINEL1_GRD',\n", + " 'rel': 'self'}],\n", + " 'providers': [{'description': 'Global since October 2014',\n", + " 'name': 'Sentinel Hub',\n", + " 'roles': ['processor'],\n", + " 'url': 'https://services.sentinel-hub.com'},\n", + " {'description': 'Rolling policy of 1 month for World',\n", + " 'name': 'Sentinel Hub',\n", + " 'roles': ['processor'],\n", + " 'url': 'https://creodias.sentinel-hub.com'},\n", + " {'description': 'Rolling policy of 48 months for Europe , Rolling policy of 12 months for World',\n", + " 'name': 'Sentinel Hub',\n", + " 'roles': ['processor'],\n", + " 'url': 'https://shservices.mundiwebservices.com'},\n", + " {'description': 'Germany since October 2014',\n", + " 'name': 'Sentinel Hub',\n", + " 'roles': ['processor'],\n", + " 'url': 'https://code-de.sentinel-hub.com.com'},\n", + " {'name': 'ESA',\n", + " 'roles': ['producer', 'processor', 'licensor'],\n", + " 'url': 'https://earth.esa.int/web/guest/home'},\n", + " {'name': 'EODC', 'roles': ['host'], 'url': 'https://eodc.eu/'}],\n", + " 'stac_extensions': ['https://stac-extensions.github.io/datacube/v1.0.0/schema.json',\n", + " 'https://stac-extensions.github.io/scientific/v1.0.0/schema.json',\n", + " 'https://stac-extensions.github.io/sat/v1.0.0/schema.json',\n", + " 'https://stac-extensions.github.io/sar/v1.0.0/schema.json',\n", + " 'https://stac-extensions.github.io/raster/v1.0.0/schema.json',\n", + " 'https://stac-extensions.github.io/timestamps/v1.0.0/schema.json',\n", + " 'https://stac-extensions.github.io/projection/v1.1.0/schema.json',\n", + " 'https://stac-extensions.github.io/datacube/v2.0.0/schema.json',\n", + " 'https://stac-extensions.github.io/item-assets/v1.0.0/schema.json',\n", + " 'https://stac-extensions.github.io/alternate-assets/v1.1.0/schema.json',\n", + " 'https://stac-extensions.github.io/eo/v1.0.0/schema.json'],\n", + " 'stac_version': '1.0.0',\n", + " 'title': 'Sentinel-1 GRD'},\n", + " {'description': \"The [Sentinel-2 mission](https://sentinel.esa.int/web/sentinel/missions/sentinel-2) is\\na land monitoring constellation of two satellites that provide high resolution\\noptical imagery and provide continuity for the current SPOT and Landsat missions.\\nThe mission provides a global coverage of the Earth's land surface every 5 days,\\nmaking the data of great use in on-going studies. L1C data are available from\\nJune 2015 globally. L1C data provide Top of the atmosphere (TOA) reflectance.\\n\",\n", + " 'extent': {'spatial': {'bbox': [[-180, -56, 180, 83]]},\n", + " 'temporal': {'interval': [['2015-11-01T00:00:00Z', None]]}},\n", + " 'id': 'SENTINEL2_L1C_SENTINELHUB',\n", + " 'keywords': ['sentinel hub',\n", + " 'xcube',\n", + " 'raster',\n", + " 'systematic',\n", + " 'satellite imagery',\n", + " 'multi spectral imagery',\n", + " 'agriculture',\n", + " 'natural resource',\n", + " 'disaster response',\n", + " 'open data',\n", + " 'race challenges',\n", + " 'copernicus',\n", + " 'sentinel'],\n", + " 'license': 'proprietary',\n", + " 'links': [{'href': 'https://collections.eurodatacube.com/sentinel-2-l1c',\n", + " 'rel': 'about',\n", + " 'title': 'Website describing the collection',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://services.sentinel-hub.com/ogc/wmts/ef291c3e-77fd-43f2-a885-dced9ac1e6a7',\n", + " 'rel': 'wmts',\n", + " 'wmts:dimensions': {'warnings': True},\n", + " 'wmts:layer': 'TRUE-COLOR'},\n", + " {'href': 'https://docs.sentinel-hub.com/api/latest/api/process/',\n", + " 'rel': 'about',\n", + " 'title': 'Details about running Evalscripts',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/sentinel-2/true_color/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'True Color',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate True Color imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/sentinel-2/false_color_infrared/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'False color',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate False color imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/sentinel-2/swir-rgb/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'SWIR',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate Short Wave Infrared (SWIR) RGB Composite',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/sentinel-2/false-color-urban-rgb/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'False Color Urban',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate False Color Urban imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/sentinel-2/ndvi/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'NDVI',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'NEAREST',\n", + " 'title': 'Evalscript to generate NDVI imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/sentinel-2/ndmi/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'NDMI',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'NEAREST',\n", + " 'title': 'Evalscript to generate NDMI imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/sentinel-2/ndwi/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'NDWI',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'NEAREST',\n", + " 'title': 'Evalscript to generate NDWI imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/sentinel-2/ndsi-visualized/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'NDSI',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'NEAREST',\n", + " 'title': 'Evalscript to generate NDSI imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://sentinels.copernicus.eu/documents/247904/690755/Sentinel_Data_Legal_Notice',\n", + " 'rel': 'license',\n", + " 'title': 'License',\n", + " 'type': 'application/pdf'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'root'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'parent'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections/SENTINEL2_L1C_SENTINELHUB',\n", + " 'rel': 'self'}],\n", + " 'providers': [{'description': 'Global since November 2015',\n", + " 'name': 'Sentinel Hub',\n", + " 'roles': ['processor'],\n", + " 'url': 'https://services.sentinel-hub.com'},\n", + " {'description': 'Global since November 2015',\n", + " 'name': 'Sentinel Hub',\n", + " 'roles': ['processor'],\n", + " 'url': 'https://creodias.sentinel-hub.com'},\n", + " {'description': 'Germany since July 2015',\n", + " 'name': 'Sentinel Hub',\n", + " 'roles': ['processor'],\n", + " 'url': 'https://code-de.sentinel-hub.com'},\n", + " {'description': 'Europe coverage since July 2015. Rolling policy of 12 months for World.',\n", + " 'name': 'Sentinel Hub',\n", + " 'roles': ['processor'],\n", + " 'url': 'https://shservices.mundiwebservices.com'}],\n", + " 'stac_extensions': ['https://stac-extensions.github.io/datacube/v1.0.0/schema.json',\n", + " 'https://stac-extensions.github.io/scientific/v1.0.0/schema.json',\n", + " 'https://stac-extensions.github.io/eo/v1.0.0/schema.json'],\n", + " 'stac_version': '1.0.0',\n", + " 'title': 'Sentinel-2 L1C'},\n", + " {'description': \"The [Sentinel-2 mission](https://sentinel.esa.int/web/sentinel/missions/sentinel-2) is\\na land monitoring constellation of two satellites that provide high resolution\\noptical imagery and provide continuity for the current SPOT and Landsat missions.\\nThe mission provides a global coverage of the Earth's land surface every 5 days,\\nmaking the data of great use in on-going studies. L2A data are available from September 2016 over wider Europe\\nregion and globally since January 2017. L2A data provide Bottom of the atmosphere (BOA) reflectance.\\n\",\n", + " 'extent': {'spatial': {'bbox': [[-180, -56, 180, 83]]},\n", + " 'temporal': {'interval': [['2016-11-01T00:00:00Z', None]]}},\n", + " 'id': 'SENTINEL2_L2A_SENTINELHUB',\n", + " 'keywords': ['xcube',\n", + " 'sentinel hub',\n", + " 'raster',\n", + " 'systematic',\n", + " 'satellite imagery',\n", + " 'multi spectral imagery',\n", + " 'agriculture',\n", + " 'natural resource',\n", + " 'disaster response',\n", + " 'open data',\n", + " 'race challenges',\n", + " 'copernicus',\n", + " 'sentinel'],\n", + " 'license': 'proprietary',\n", + " 'links': [{'href': 'https://collections.eurodatacube.com/sentinel-2-l2a',\n", + " 'rel': 'about',\n", + " 'title': 'Website describing the collection',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://services.sentinel-hub.com/ogc/wmts/7d34803f-511c-4caf-9438-6d72f32c8174',\n", + " 'rel': 'wmts',\n", + " 'wmts:dimensions': {'warnings': True},\n", + " 'wmts:layer': 'TRUE-COLOR'},\n", + " {'href': 'https://docs.sentinel-hub.com/api/latest/api/process/',\n", + " 'rel': 'about',\n", + " 'title': 'Details about running Evalscripts',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/sentinel-2/true_color/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'True Color',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate True Color imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/sentinel-2/false_color_infrared/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'False color',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate False color imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/sentinel-2/swir-rgb/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'SWIR',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate Short Wave Infrared (SWIR) RGB Composite',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/sentinel-2/false-color-urban-rgb/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'False Color Urban',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate False Color Urban imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/sentinel-2/ndvi/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'NDVI',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'NEAREST',\n", + " 'title': 'Evalscript to generate NDVI imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/sentinel-2/ndmi/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'NDMI',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'NEAREST',\n", + " 'title': 'Evalscript to generate NDMI imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/sentinel-2/ndwi/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'NDWI',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'NEAREST',\n", + " 'title': 'Evalscript to generate NDWI imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/sentinel-2/ndsi-visualized/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'NDSI',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'NEAREST',\n", + " 'title': 'Evalscript to generate NDSI imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/sentinel-2/scene-classification/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'Scene Classification',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate Scene Classification imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://sentinels.copernicus.eu/documents/247904/690755/Sentinel_Data_Legal_Notice',\n", + " 'rel': 'license',\n", + " 'title': 'License',\n", + " 'type': 'application/pdf'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'root'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'parent'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections/SENTINEL2_L2A_SENTINELHUB',\n", + " 'rel': 'self'}],\n", + " 'providers': [{'description': 'Europe since November 2016, Global since January 2017',\n", + " 'name': 'Sentinel Hub',\n", + " 'roles': ['processor'],\n", + " 'url': 'https://services.sentinel-hub.com'},\n", + " {'description': 'Europe since July 2016',\n", + " 'name': 'Sentinel Hub',\n", + " 'roles': ['processor'],\n", + " 'url': 'https://shservices.mundiwebservices.com'}],\n", + " 'stac_extensions': ['https://stac-extensions.github.io/datacube/v1.0.0/schema.json',\n", + " 'https://stac-extensions.github.io/scientific/v1.0.0/schema.json',\n", + " 'https://stac-extensions.github.io/eo/v1.0.0/schema.json'],\n", + " 'stac_version': '1.0.0',\n", + " 'title': 'Sentinel-2 L2A'},\n", + " {'description': 'Sentinel-2 L2A 120m mosaic is a derived product, which contains best pixel values for 10-daily periods, \\nmodelled by removing the cloudy pixels and then performing interpolation \\namong remaining values. As clouds can be missed in the removal process and as there are some parts of the world, which have lengthy cloudy periods, \\nclouds might be remaining in some parts. \\nThe actual modelling script is available [here](https://sentinel-hub.github.io/custom-scripts/sentinel-2/interpolated_time_series/). \\n',\n", + " 'extent': {'spatial': {'bbox': [[-180, -58, 180, 72]]},\n", + " 'temporal': {'interval': [['2020-01-01T00:00:00Z',\n", + " '2020-12-22T00:00:00Z']]}},\n", + " 'id': 'SENTINEL2_L2A_MOSAIC_120',\n", + " 'keywords': ['sentinel hub',\n", + " 'xcube',\n", + " 'raster',\n", + " 'systematic',\n", + " 'satellite imagery',\n", + " 'multi spectral imagery',\n", + " 'machine learning',\n", + " 'agriculture',\n", + " 'open data',\n", + " 'sentinel'],\n", + " 'license': 'proprietary',\n", + " 'links': [{'href': 'https://collections.eurodatacube.com/sentinel-s2-l2a-mosaic-120',\n", + " 'rel': 'about',\n", + " 'title': 'Website describing the collection',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://services.sentinel-hub.com/ogc/wmts/205fb2e0-0deb-464d-9103-82d33baf3b5d',\n", + " 'rel': 'wmts',\n", + " 'wmts:dimensions': {'warnings': True},\n", + " 'wmts:layer': 'TRUE-COLOR'},\n", + " {'href': 'https://docs.sentinel-hub.com/api/latest/api/process/',\n", + " 'rel': 'about',\n", + " 'title': 'Details about running Evalscripts',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/sentinel2-120m-mosaic/true-color/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'True Color',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate True Color imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/sentinel2-120m-mosaic/false-color/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'False Color',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate False Color imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/sentinel2-120m-mosaic/highlight-optimized/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'Highlight Optimized Natural Color',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate Highlight Optimized Natural Color imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/sentinel2-120m-mosaic/ndvi/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'NDVI',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'NEAREST',\n", + " 'title': 'Evalscript to generate NDVI imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/sentinel2-120m-mosaic/ndmi/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'NDMI',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'NEAREST',\n", + " 'title': 'Evalscript to generate NDMI imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/sentinel2-120m-mosaic/ndwi/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'NDWI',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'NEAREST',\n", + " 'title': 'Evalscript to generate NDWI imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://www.sentinel-hub.com/tos/#collection',\n", + " 'rel': 'license',\n", + " 'title': 'License',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'root'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'parent'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections/SENTINEL2_L2A_MOSAIC_120',\n", + " 'rel': 'self'}],\n", + " 'providers': [{'description': '',\n", + " 'name': 'Sentinel Hub',\n", + " 'roles': ['processor'],\n", + " 'url': 'https://services.sentinel-hub.com'}],\n", + " 'stac_extensions': ['https://stac-extensions.github.io/datacube/v1.0.0/schema.json',\n", + " 'https://stac-extensions.github.io/raster/v1.0.0/schema.json'],\n", + " 'stac_version': '1.0.0',\n", + " 'title': 'Sentinel-2 L2A 120m Mosaic'},\n", + " {'description': 'PROBA-V S10-TOC – 10-daily global composites, Top-Of-Canopy, 300m resolution (Collection 2)',\n", + " 'extent': {'spatial': {'bbox': [[-180.0014881,\n", + " -64.9985119,\n", + " 179.9985119,\n", + " 75.0014881]]},\n", + " 'temporal': {'interval': [['2013-10-11T00:00:00Z',\n", + " '2021-10-21T00:00:00Z']]}},\n", + " 'id': 'PROBAV_L3_S10_TOC_333M',\n", + " 'keywords': ['VITO',\n", + " 'TERRASCOPE',\n", + " 'ESA',\n", + " 'Orthoimagery',\n", + " 'PROBA-V',\n", + " 'Level-3',\n", + " 'Radiometry',\n", + " 'Environment',\n", + " 'TOC'],\n", + " 'license': 'proprietary',\n", + " 'links': [{'href': 'https://services.terrascope.be/wmts/v2',\n", + " 'rel': 'wmts',\n", + " 'wmts:layer': 'PROBAV_L3_S10_TOC_333M_RADIOMETRY'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'root'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'parent'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections/PROBAV_L3_S10_TOC_333M',\n", + " 'rel': 'self'}],\n", + " 'providers': [{'name': 'VITO, on behalf of the Belgian Science Policy Office (BELSPO).',\n", + " 'roles': ['producer', 'licensor'],\n", + " 'url': 'http://proba-v.vgt.vito.be'}],\n", + " 'stac_extensions': ['https://stac-extensions.github.io/datacube/v2.2.0/schema.json',\n", + " 'https://stac-extensions.github.io/eo/v1.1.0/schema.json'],\n", + " 'stac_version': '0.9.0',\n", + " 'title': \"PROBA-V S10 TOC 300 m COG: Decadal synthesis of S1's as Maximum Value Compositing (MVC), COG format - Collection 2\"},\n", + " {'description': 'PROBA-V S5-TOC – 5-daily global composites, Top-Of-Canopy, 100m resolution (Collection 2)',\n", + " 'extent': {'spatial': {'bbox': [[-179.999, -56, 179.999, 75]]},\n", + " 'temporal': {'interval': [['2013-10-16T00:00:00Z',\n", + " '2020-06-30T00:00:00Z']]}},\n", + " 'id': 'PROBAV_L3_S5_TOC_100M',\n", + " 'keywords': ['VITO',\n", + " 'TERRASCOPE',\n", + " 'ESA',\n", + " 'Orthoimagery',\n", + " 'PROBA-V',\n", + " 'Level-3',\n", + " 'Radiometry',\n", + " 'Environment',\n", + " 'TOC'],\n", + " 'license': 'proprietary',\n", + " 'links': [{'href': 'https://services.terrascope.be/wmts/v2',\n", + " 'rel': 'wmts',\n", + " 'wmts:layer': 'PROBAV_L3_S5_TOC_100M_RADIOMETRY'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'root'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'parent'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections/PROBAV_L3_S5_TOC_100M',\n", + " 'rel': 'self'}],\n", + " 'providers': [{'name': 'VITO, on behalf of the Belgian Science Policy Office (BELSPO).',\n", + " 'roles': ['producer', 'licensor'],\n", + " 'url': 'http://proba-v.vgt.vito.be'}],\n", + " 'stac_extensions': ['https://stac-extensions.github.io/datacube/v2.2.0/schema.json',\n", + " 'https://stac-extensions.github.io/eo/v1.1.0/schema.json'],\n", + " 'stac_version': '0.9.0',\n", + " 'title': 'PROBA-V S5 TOC 100 m COG: Data corrected for atmospheric effects with the SMAC (Simplified Method for Atmosheric Corrections) algorithm, COG format - Collection 2'},\n", + " {'description': 'PROBA-V S1-TOC – daily global composites, Top-Of-Canopy, 100m resolution (Collection 2)',\n", + " 'extent': {'spatial': {'bbox': [[-179.999, -56, 179.999, 75]]},\n", + " 'temporal': {'interval': [['2014-03-12T00:00:00Z',\n", + " '2021-10-31T00:00:00Z']]}},\n", + " 'id': 'PROBAV_L3_S1_TOC_100M',\n", + " 'keywords': ['VITO',\n", + " 'TERRASCOPE',\n", + " 'ESA',\n", + " 'Orthoimagery',\n", + " 'PROBA-V',\n", + " 'Level-3',\n", + " 'Radiometry',\n", + " 'Environment',\n", + " 'TOC'],\n", + " 'license': 'proprietary',\n", + " 'links': [{'href': 'https://services.terrascope.be/wmts/v2',\n", + " 'rel': 'wmts',\n", + " 'wmts:layer': 'PROBAV_S1_TOC_100M_COG_V2'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'root'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'parent'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections/PROBAV_L3_S1_TOC_100M',\n", + " 'rel': 'self'}],\n", + " 'providers': [{'name': 'VITO, on behalf of the Belgian Science Policy Office (BELSPO).',\n", + " 'roles': ['producer', 'licensor'],\n", + " 'url': 'http://proba-v.vgt.vito.be'}],\n", + " 'stac_extensions': ['https://stac-extensions.github.io/datacube/v2.2.0/schema.json',\n", + " 'https://stac-extensions.github.io/eo/v1.1.0/schema.json'],\n", + " 'stac_version': '0.9.0',\n", + " 'title': 'PROBA-V S1 TOC 100 m COG: Data corrected for atmospheric effects with the SMAC (Simplified Method for Atmosheric Corrections) algorithm, COG format - Collection 2'},\n", + " {'description': 'PROBA-V S1-TOC – daily global composites, Top-Of-Canopy, 333m resolution (Collection 2)',\n", + " 'extent': {'spatial': {'bbox': [[-179.999, -56, 179.999, 75]]},\n", + " 'temporal': {'interval': [['2013-10-15T00:00:00Z',\n", + " '2021-10-31T00:00:00Z']]}},\n", + " 'id': 'PROBAV_L3_S1_TOC_333M',\n", + " 'keywords': ['VITO',\n", + " 'TERRASCOPE',\n", + " 'ESA',\n", + " 'Orthoimagery',\n", + " 'PROBA-V',\n", + " 'Level-3',\n", + " 'Radiometry',\n", + " 'Environment',\n", + " 'TOC'],\n", + " 'license': 'proprietary',\n", + " 'links': [{'href': 'https://services.terrascope.be/wmts/v2',\n", + " 'rel': 'wmts',\n", + " 'wmts:layer': 'PROBAV_S1_TOC_333M_COG_V2'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'root'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'parent'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections/PROBAV_L3_S1_TOC_333M',\n", + " 'rel': 'self'}],\n", + " 'providers': [{'name': 'VITO, on behalf of the Belgian Science Policy Office (BELSPO).',\n", + " 'roles': ['producer', 'licensor'],\n", + " 'url': 'http://proba-v.vgt.vito.be'}],\n", + " 'stac_extensions': ['https://stac-extensions.github.io/datacube/v2.2.0/schema.json',\n", + " 'https://stac-extensions.github.io/eo/v1.1.0/schema.json'],\n", + " 'stac_version': '0.9.0',\n", + " 'title': 'PROBA-V S1 TOC 300 m COG: Data corrected for atmospheric effects with the SMAC (Simplified Method for Atmosheric Corrections) algorithm, COG format - Collection 2'},\n", + " {'description': 'Contains binned Level-2 TROPOMI NO2 retrievals. The L3 binning algorithm weighs individual pixels with the overlap area of the pixel and the Level-3 grid cell. The weighing and count vectors are used to apply this weighted average consistently, see http://stcorp.github.io/harp/doc/html/libharp_product.html? ',\n", + " 'extent': {'spatial': {'bbox': [[-180, -89, 180, 89]]},\n", + " 'temporal': {'interval': [['2019-01-01T00:00:00Z', None]]}},\n", + " 'id': 'TERRASCOPE_S5P_L3_NO2_TD_V1',\n", + " 'keywords': ['VITO',\n", + " 'TERRASCOPE',\n", + " 'COPERNICUS',\n", + " 'ESA',\n", + " 'Orthoimagery',\n", + " 'Sentinel-5P',\n", + " 'TROPOMI',\n", + " 'Level-3',\n", + " 'Atmospheric Components',\n", + " 'NO2',\n", + " 'Day'],\n", + " 'license': 'proprietary',\n", + " 'links': [{'href': 'https://sentinel.esa.int/documents/247904/690755/Sentinel_Data_Legal_Notice',\n", + " 'rel': 'license'},\n", + " {'href': 'https://services.terrascope.be/wmts/v2',\n", + " 'rel': 'wmts',\n", + " 'wmts:layer': 'TERRASCOPE_S5P_L3_NO2_TD_V1'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'root'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'parent'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections/TERRASCOPE_S5P_L3_NO2_TD_V1',\n", + " 'rel': 'self'}],\n", + " 'stac_extensions': ['https://stac-extensions.github.io/datacube/v2.2.0/schema.json',\n", + " 'https://stac-extensions.github.io/eo/v1.1.0/schema.json'],\n", + " 'stac_version': '0.9.0',\n", + " 'title': 'Sentinel-5P Daily NO2, full archive, by Terrascope.'},\n", + " {'description': 'Monthly NO2 composites, based on Sentinel-5p data.',\n", + " 'extent': {'spatial': {'bbox': [[-180, -89, 180, 89]]},\n", + " 'temporal': {'interval': [['2019-01-01T00:00:00Z', None]]}},\n", + " 'id': 'TERRASCOPE_S5P_L3_NO2_TM_V1',\n", + " 'keywords': ['VITO',\n", + " 'TERRASCOPE',\n", + " 'COPERNICUS',\n", + " 'ESA',\n", + " 'Orthoimagery',\n", + " 'Sentinel-5P',\n", + " 'TROPOMI',\n", + " 'Level-3',\n", + " 'Atmospheric Components',\n", + " 'NO2',\n", + " 'Month'],\n", + " 'license': 'proprietary',\n", + " 'links': [{'href': 'https://sentinel.esa.int/documents/247904/690755/Sentinel_Data_Legal_Notice',\n", + " 'rel': 'license'},\n", + " {'href': 'https://services.terrascope.be/wmts/v2',\n", + " 'rel': 'wmts',\n", + " 'wmts:layer': 'TERRASCOPE_S5P_L3_NO2_TM_V1'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'root'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'parent'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections/TERRASCOPE_S5P_L3_NO2_TM_V1',\n", + " 'rel': 'self'}],\n", + " 'providers': [{'name': 'VITO, on behalf of the Belgian Science Policy Office (BELSPO).',\n", + " 'roles': ['producer', 'licensor'],\n", + " 'url': 'https://terrascope.be'}],\n", + " 'stac_extensions': ['https://stac-extensions.github.io/datacube/v2.2.0/schema.json',\n", + " 'https://stac-extensions.github.io/eo/v1.1.0/schema.json'],\n", + " 'stac_version': '0.9.0',\n", + " 'title': 'Sentinel-5P Monthly NO2, full archive, by Terrascope.'},\n", + " {'description': 'Sentinel-5P daily carbon monoxide binned into a 0.05°x0.05° grid.\\n\\nCarbon monoxide (CO) is an important atmospheric trace gas for our understanding of tropospheric chemistry. In certain urban areas, it is a major atmospheric pollutant. Its main sources are fossil fuel combustion, biomass burning, and atmospheric oxidation of methane (CH4) and other hydrocarbons. While fossil fuel combustion is the main CO source at northern mid-latitudes, isoprene and biomass burning oxidation play an important role in the tropics.',\n", + " 'extent': {'spatial': {'bbox': [[-180, -89, 180, 89]]},\n", + " 'temporal': {'interval': [['2019-01-01T00:00:00Z', None]]}},\n", + " 'id': 'TERRASCOPE_S5P_L3_CO_TD_V1',\n", + " 'keywords': ['VITO',\n", + " 'TERRASCOPE',\n", + " 'COPERNICUS',\n", + " 'ESA',\n", + " 'Orthoimagery',\n", + " 'Sentinel-5P',\n", + " 'TROPOMI',\n", + " 'Level-3',\n", + " 'Atmospheric Components',\n", + " 'CO',\n", + " 'Day'],\n", + " 'license': 'proprietary',\n", + " 'links': [{'href': 'https://sentinel.esa.int/documents/247904/690755/Sentinel_Data_Legal_Notice',\n", + " 'rel': 'license'},\n", + " {'href': 'https://services.terrascope.be/wmts/v2',\n", + " 'rel': 'wmts',\n", + " 'wmts:layer': 'TERRASCOPE_S5P_L3_CO_TD_V1'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'root'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'parent'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections/TERRASCOPE_S5P_L3_CO_TD_V1',\n", + " 'rel': 'self'}],\n", + " 'stac_extensions': ['https://stac-extensions.github.io/datacube/v2.2.0/schema.json',\n", + " 'https://stac-extensions.github.io/eo/v1.1.0/schema.json'],\n", + " 'stac_version': '0.9.0',\n", + " 'title': 'Sentinel-5P Daily carbon monoxide, full archive, by Terrascope.'},\n", + " {'description': 'Sentinel-5P monthly carbon monoxide binned into a 0.05°x0.05° grid.\\n\\nCarbon monoxide (CO) is an important atmospheric trace gas for our understanding of tropospheric chemistry. In certain urban areas, it is a major atmospheric pollutant. Its main sources are fossil fuel combustion, biomass burning, and atmospheric oxidation of methane (CH4) and other hydrocarbons. While fossil fuel combustion is the main CO source at northern mid-latitudes, isoprene and biomass burning oxidation play an important role in the tropics.',\n", + " 'extent': {'spatial': {'bbox': [[-180.0, -89.0, 180.0, 89.0]]},\n", + " 'temporal': {'interval': [['2018-07-01T00:00:00Z', None]]}},\n", + " 'id': 'TERRASCOPE_S5P_L3_CO_TM_V1',\n", + " 'keywords': ['VITO',\n", + " 'TERRASCOPE',\n", + " 'COPERNICUS',\n", + " 'ESA',\n", + " 'Orthoimagery',\n", + " 'Sentinel-5P',\n", + " 'TROPOMI',\n", + " 'Level-3',\n", + " 'Atmospheric Components',\n", + " 'CO',\n", + " 'Month'],\n", + " 'license': 'proprietary',\n", + " 'links': [{'href': 'https://sentinel.esa.int/documents/247904/690755/Sentinel_Data_Legal_Notice',\n", + " 'rel': 'license'},\n", + " {'href': 'https://services.terrascope.be/wmts/v2',\n", + " 'rel': 'wmts',\n", + " 'wmts:layer': 'TERRASCOPE_S5P_L3_CO_TM_V1'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'root'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'parent'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections/TERRASCOPE_S5P_L3_CO_TM_V1',\n", + " 'rel': 'self'}],\n", + " 'providers': [{'name': 'VITO, on behalf of the Belgian Science Policy Office (BELSPO).',\n", + " 'roles': ['producer', 'licensor'],\n", + " 'url': 'https://terrascope.be'}],\n", + " 'stac_extensions': ['https://stac-extensions.github.io/datacube/v2.2.0/schema.json',\n", + " 'https://stac-extensions.github.io/eo/v1.1.0/schema.json'],\n", + " 'stac_version': '0.9.0',\n", + " 'title': 'Sentinel-5P Monthly CO, full archive, by Terrascope.'},\n", + " {'description': 'Contains binned Level-2 TROPOMI CO retrievals. The L3 binning algorithm weighs individual pixels with the overlap area of the pixel and the Level-3 grid cell. The weighing and count vectors are used to apply this weighted average consistently, see http://stcorp.github.io/harp/doc/html/libharp_product.html? ',\n", + " 'extent': {'spatial': {'bbox': [[-180.0, -89.0, 180.0, 89.0]]},\n", + " 'temporal': {'interval': [['2018-07-01T00:00:00Z', None]]}},\n", + " 'id': 'TERRASCOPE_S5P_L3_CO_TY_V1',\n", + " 'keywords': ['VITO',\n", + " 'TERRASCOPE',\n", + " 'COPERNICUS',\n", + " 'ESA',\n", + " 'Orthoimagery',\n", + " 'Sentinel-5P',\n", + " 'TROPOMI',\n", + " 'Level-3',\n", + " 'Atmospheric Components',\n", + " 'CO',\n", + " 'Year'],\n", + " 'license': 'proprietary',\n", + " 'links': [{'href': 'https://sentinel.esa.int/documents/247904/690755/Sentinel_Data_Legal_Notice',\n", + " 'rel': 'license'},\n", + " {'href': 'https://services.terrascope.be/wmts/v2',\n", + " 'rel': 'wmts',\n", + " 'wmts:layer': 'TERRASCOPE_S5P_L3_CO_TY_V1'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'root'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'parent'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections/TERRASCOPE_S5P_L3_CO_TY_V1',\n", + " 'rel': 'self'}],\n", + " 'stac_extensions': ['https://stac-extensions.github.io/datacube/v2.2.0/schema.json',\n", + " 'https://stac-extensions.github.io/eo/v1.1.0/schema.json'],\n", + " 'stac_version': '0.9.0',\n", + " 'title': 'Sentinel-5P Yearly CO'},\n", + " {'description': '[Landsat 8-9 Level 1](https://www.usgs.gov/centers/eros/science/usgs-eros-archive-landsat-archives-landsat-8-9-operational-land-imager-and) collection includes both \\n[Landsat 8](https://www.usgs.gov/landsat-missions/landsat-8?qt-science_support_page_related_con=0#qt-science_support_page_related_con) and the most recently launched \\n[Landsat 9](https://www.usgs.gov/landsat-missions/landsat-9) satellites (provided by NASA/USGS), both carrying the Operational Land Imager (OLI) and \\nthe Thermal Infrared Sensor (TIRS) instruments, with 9 optical and 2 thermal bands. These two sensors provide seasonal coverage of the global landmass.\\n[Landsat 8-9 Level 1 data](https://www.usgs.gov/core-science-systems/nli/landsat/landsat-collection-2-level-1-data?qt-science_support_page_related_con=1#qt-science_support_page_related_con) \\nfrom the most recently released [collection 2](https://www.usgs.gov/faqs/what-updates-are-being-made-landsat-collection-2?qt-news_science_products=0#qt-news_science_products), \\nprovides Top of Atmosphere Reflectance and Top of the Atmosphere Brightness Temperature products. Level 1 data are available since February 2013 for Landsat 8 and since January 2022 for Landsat 9.\\n',\n", + " 'extent': {'spatial': {'bbox': [[-180, -85, 180, 85]]},\n", + " 'temporal': {'interval': [['2013-01-01T00:00:00Z', None]]}},\n", + " 'id': 'LANDSAT8-9_L1',\n", + " 'keywords': ['sentinel hub',\n", + " 'xcube',\n", + " 'raster',\n", + " 'systematic',\n", + " 'satellite imagery',\n", + " 'natural resource',\n", + " 'vegetation monitoring',\n", + " 'LULC mapping',\n", + " 'LULC change',\n", + " 'surface temperature',\n", + " 'open data',\n", + " 'landsat'],\n", + " 'license': 'proprietary',\n", + " 'links': [{'href': 'https://collections.eurodatacube.com/landsat-8-l1',\n", + " 'rel': 'about',\n", + " 'title': 'Website describing the collection',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://services-uswest2.sentinel-hub.com/ogc/wmts/fc306b9b-4448-41d2-922d-6db03b26610e',\n", + " 'rel': 'wmts',\n", + " 'wmts:dimensions': {'warnings': True},\n", + " 'wmts:layer': 'TRUE-COLOR'},\n", + " {'href': 'https://docs.sentinel-hub.com/api/latest/api/process/',\n", + " 'rel': 'about',\n", + " 'title': 'Details about running Evalscripts',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/landsat-8/true-color/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'True color',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate True color imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/landsat-8/true-color-pansharpened/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'True color - pansharpened',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate True color - pansharpened imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/landsat-8/false-color/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'False color',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate False color imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/landsat-8/swir/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'SWIR',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate SWIR imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/landsat-8/ndvi/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'NDVI',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'NEAREST',\n", + " 'title': 'Evalscript to generate NDVI imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/landsat-8/ndmi/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'NDMI',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'NEAREST',\n", + " 'title': 'Evalscript to generate NDMI imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/landsat-8/ndwi/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'NDWI',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'NEAREST',\n", + " 'title': 'Evalscript to generate NDWI imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/landsat-8/thermal/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'Thermal',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate Thermal imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://www.usgs.gov/centers/eros/data-citation?qt-science_support_page_related_con=0#qt-science_support_page_related_con',\n", + " 'rel': 'license',\n", + " 'title': 'License',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'root'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'parent'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections/LANDSAT8-9_L1',\n", + " 'rel': 'self'}],\n", + " 'providers': [{'description': 'Global since Feb 2013',\n", + " 'name': 'Sentinel Hub',\n", + " 'roles': ['processor'],\n", + " 'url': 'https://services-uswest2.sentinel-hub.com'}],\n", + " 'stac_extensions': ['https://stac-extensions.github.io/datacube/v1.0.0/schema.json',\n", + " 'https://stac-extensions.github.io/scientific/v1.0.0/schema.json',\n", + " 'https://stac-extensions.github.io/eo/v1.0.0/schema.json',\n", + " 'https://stac-extensions.github.io/sat/v1.0.0/schema.json'],\n", + " 'stac_version': '1.0.0',\n", + " 'title': 'Landsat 8-9 L1'},\n", + " {'description': '[Landsat 8-9 Level 2](https://www.usgs.gov/centers/eros/science/usgs-eros-archive-landsat-archives-landsat-8-9-operational-land-imager-and) collection includes both \\n[Landsat 8](https://www.usgs.gov/landsat-missions/landsat-8?qt-science_support_page_related_con=0#qt-science_support_page_related_con) and the most recently launched \\n[Landsat 9](https://www.usgs.gov/landsat-missions/landsat-9) satellites (provided by NASA/USGS), both carrying the Operational Land Imager (OLI) and \\nthe Thermal Infrared Sensor (TIRS) instruments, with 9 optical and 2 thermal bands. These two sensors provide seasonal coverage of the global landmass.\\n[Landsat 8-9 Level 2 data](https://www.usgs.gov/core-science-systems/nli/landsat/landsat-collection-2-level-2-science-products)\\nfrom the most recently released [collection 2](https://www.usgs.gov/faqs/what-updates-are-being-made-landsat-collection-2?qt-news_science_products=0#qt-news_science_products), \\nprovides atmospherically corrected Surface Reflectance and Surface Brightness Temperature products generated from Collection 2 Level-1 scenes that have been processed to Tier 1 or Tier 2.\\nCollection 2 level 2 data are available since February 2013 for Landsat 8 and since January 2022 for Landsat 9 and new data are continously added usually within 24 hours after Level 1 scenes are available.\\n',\n", + " 'extent': {'spatial': {'bbox': [[-180, -85, 180, 85]]},\n", + " 'temporal': {'interval': [['2013-01-01T00:00:00Z', None]]}},\n", + " 'id': 'LANDSAT8-9_L2',\n", + " 'keywords': ['sentinel hub',\n", + " 'xcube',\n", + " 'raster',\n", + " 'systematic',\n", + " 'satellite imagery',\n", + " 'natural resource',\n", + " 'vegetation monitoring',\n", + " 'LULC mapping',\n", + " 'LULC change',\n", + " 'surface temperature',\n", + " 'open data',\n", + " 'landsat'],\n", + " 'license': 'proprietary',\n", + " 'links': [{'href': 'https://collections.eurodatacube.com/landsat-8-l2',\n", + " 'rel': 'about',\n", + " 'title': 'Website describing the collection',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://services-uswest2.sentinel-hub.com/ogc/wmts/2bb342e8-8d2e-4f06-8ed6-b6d7ab65187d',\n", + " 'rel': 'wmts',\n", + " 'wmts:dimensions': {'warnings': True},\n", + " 'wmts:layer': 'TRUE-COLOR'},\n", + " {'href': 'https://docs.sentinel-hub.com/api/latest/api/process/',\n", + " 'rel': 'about',\n", + " 'title': 'Details about running Evalscripts',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/landsat-8/true-color/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'True color',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate True color imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/landsat-8/false-color/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'False color',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate False color imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/landsat-8/swir/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'SWIR',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate SWIR imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/landsat-8/ndvi/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'NDVI',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'NEAREST',\n", + " 'title': 'Evalscript to generate NDVI imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/landsat-8/ndmi/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'NDMI',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'NEAREST',\n", + " 'title': 'Evalscript to generate NDMI imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/landsat-8/ndwi/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'NDWI',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'NEAREST',\n", + " 'title': 'Evalscript to generate NDWI imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/landsat-8/thermal/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'Thermal',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate Thermal imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://www.usgs.gov/centers/eros/data-citation?qt-science_support_page_related_con=0#qt-science_support_page_related_con',\n", + " 'rel': 'license',\n", + " 'title': 'License',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'root'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'parent'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections/LANDSAT8-9_L2',\n", + " 'rel': 'self'}],\n", + " 'providers': [{'description': 'Global since Feb 2013',\n", + " 'name': 'Sentinel Hub',\n", + " 'roles': ['processor'],\n", + " 'url': 'https://services-uswest2.sentinel-hub.com'}],\n", + " 'stac_extensions': ['https://stac-extensions.github.io/datacube/v1.0.0/schema.json',\n", + " 'https://stac-extensions.github.io/scientific/v1.0.0/schema.json',\n", + " 'https://stac-extensions.github.io/eo/v1.0.0/schema.json',\n", + " 'https://stac-extensions.github.io/sat/v1.0.0/schema.json'],\n", + " 'stac_version': '1.0.0',\n", + " 'title': 'Landsat 8-9 L2'},\n", + " {'description': 'The Landsat Thematic Mapper (TM) sensor was carried onboard Landsats 4 and 5. \\nTM collected data in 7 spectral bands; from the blue, green, red, near-infrared, mid-infrared (2) and thermal infrared portions of the electromagnetic spectrum.\\nVisit [USGS EROS Archive - Landsat Archives - Landsat 4-5 Thematic Mapper Collection 2 Level-1 Data](https://www.usgs.gov/centers/eros/science/usgs-eros-archive-landsat-archives-landsat-4-5-thematic-mapper-collection-2?qt-science_center_objects=0#qt-science_center_objects) webpage\\nfor more information.\\n',\n", + " 'extent': {'spatial': {'bbox': [[-180, -85, 180, 85]]},\n", + " 'temporal': {'interval': [['1982-07-16T00:00:00Z',\n", + " '2012-05-04T00:00:00Z']]}},\n", + " 'id': 'LANDSAT4-5_TM_L1',\n", + " 'keywords': ['sentinel hub',\n", + " 'xcube',\n", + " 'raster',\n", + " 'systematic',\n", + " 'satellite imagery',\n", + " 'natural resource',\n", + " 'vegetation monitoring',\n", + " 'LULC mapping',\n", + " 'LULC change',\n", + " 'surface temperature',\n", + " 'open data',\n", + " 'landsat'],\n", + " 'license': 'proprietary',\n", + " 'links': [{'href': 'https://collections.eurodatacube.com/landsat-4-5-tm-l1',\n", + " 'rel': 'about',\n", + " 'title': 'Website describing the collection',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://services-uswest2.sentinel-hub.com/ogc/wmts/59bd74d1-86d5-4fc2-a080-2616947a71ba',\n", + " 'rel': 'wmts',\n", + " 'wmts:dimensions': {'warnings': True},\n", + " 'wmts:layer': 'TRUE-COLOR'},\n", + " {'href': 'https://docs.sentinel-hub.com/api/latest/api/process/',\n", + " 'rel': 'about',\n", + " 'title': 'Details about running Evalscripts',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/landsat-4-5-tm/true-color/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'True color',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate True color imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/landsat-4-5-tm/false-color/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'False color',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate False color imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/landsat-4-5-tm/swir/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'SWIR',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate SWIR imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/landsat-4-5-tm/ndvi/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'NDVI',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'NEAREST',\n", + " 'title': 'Evalscript to generate NDVI imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/landsat-4-5-tm/ndmi/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'NDMI',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'NEAREST',\n", + " 'title': 'Evalscript to generate NDMI imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/landsat-4-5-tm/ndwi/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'NDWI',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'NEAREST',\n", + " 'title': 'Evalscript to generate NDWI imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/landsat-4-5-tm/thermal/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'Thermal',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate Thermal imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://www.usgs.gov/centers/eros/data-citation?qt-science_support_page_related_con=0#qt-science_support_page_related_con',\n", + " 'rel': 'license',\n", + " 'title': 'License',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'root'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'parent'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections/LANDSAT4-5_TM_L1',\n", + " 'rel': 'self'}],\n", + " 'providers': [{'description': 'Global coverage from July 1982 to May 2012',\n", + " 'name': 'Sentinel Hub',\n", + " 'roles': ['processor'],\n", + " 'url': 'https://services-uswest2.sentinel-hub.com'}],\n", + " 'stac_extensions': ['https://stac-extensions.github.io/datacube/v1.0.0/schema.json',\n", + " 'https://stac-extensions.github.io/scientific/v1.0.0/schema.json',\n", + " 'https://stac-extensions.github.io/eo/v1.0.0/schema.json',\n", + " 'https://stac-extensions.github.io/sat/v1.0.0/schema.json'],\n", + " 'stac_version': '1.0.0',\n", + " 'title': 'Landsat 4-5 TM L1'},\n", + " {'description': 'The Landsat Thematic Mapper (TM) sensor was carried onboard Landsats 4 and 5. \\nTM collected data in 7 spectral bands; from the blue, green, red, near-infrared, mid-infrared(2) and thermal infrared portions of the electromagnetic spectrum.\\nL2 data include Surface Reflectance and Surface Temperature scene-based products.\\nVisit [USGS EROS Archive - Landsat Archives - Landsat 4-5 TM Collection 2 Level-2 Science Products](https://www.usgs.gov/centers/eros/science/usgs-eros-archive-landsat-archives-landsat-4-5-tm-collection-2-level-2-science?qt-science_center_objects=0#qt-science_center_objects)\\nfor more information.\\n',\n", + " 'extent': {'spatial': {'bbox': [[-180, -85, 180, 85]]},\n", + " 'temporal': {'interval': [['1982-07-16T00:00:00Z',\n", + " '2012-05-04T00:00:00Z']]}},\n", + " 'id': 'LANDSAT4-5_TM_L2',\n", + " 'keywords': ['sentinel hub',\n", + " 'xcube',\n", + " 'raster',\n", + " 'systematic',\n", + " 'satellite imagery',\n", + " 'natural resource',\n", + " 'vegetation monitoring',\n", + " 'LULC mapping',\n", + " 'LULC change',\n", + " 'surface temperature',\n", + " 'open data',\n", + " 'landsat'],\n", + " 'license': 'proprietary',\n", + " 'links': [{'href': 'https://collections.eurodatacube.com/landsat-4-5-tm-l2',\n", + " 'rel': 'about',\n", + " 'title': 'Website describing the collection',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://services-uswest2.sentinel-hub.com/ogc/wmts/3ef5a237-d4de-4572-a685-789ea86bebc1',\n", + " 'rel': 'wmts',\n", + " 'wmts:dimensions': {'warnings': True},\n", + " 'wmts:layer': 'TRUE-COLOR'},\n", + " {'href': 'https://docs.sentinel-hub.com/api/latest/api/process/',\n", + " 'rel': 'about',\n", + " 'title': 'Details about running Evalscripts',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/landsat-4-5-tm/true-color/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'True color',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate True color imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/landsat-4-5-tm/false-color/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'False color',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate False color imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/landsat-4-5-tm/swir/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'SWIR',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate SWIR imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/landsat-4-5-tm/ndvi/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'NDVI',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'NEAREST',\n", + " 'title': 'Evalscript to generate NDVI imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/landsat-4-5-tm/ndmi/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'NDMI',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'NEAREST',\n", + " 'title': 'Evalscript to generate NDMI imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/landsat-4-5-tm/ndwi/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'NDWI',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'NEAREST',\n", + " 'title': 'Evalscript to generate NDWI imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/landsat-4-5-tm/thermal/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'Thermal',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate Thermal imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://www.usgs.gov/centers/eros/data-citation?qt-science_support_page_related_con=0#qt-science_support_page_related_con',\n", + " 'rel': 'license',\n", + " 'title': 'License',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'root'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'parent'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections/LANDSAT4-5_TM_L2',\n", + " 'rel': 'self'}],\n", + " 'providers': [{'description': 'Global coverage from July 1982 to May 2012',\n", + " 'name': 'Sentinel Hub',\n", + " 'roles': ['processor'],\n", + " 'url': 'https://services-uswest2.sentinel-hub.com'}],\n", + " 'stac_extensions': ['https://stac-extensions.github.io/datacube/v1.0.0/schema.json',\n", + " 'https://stac-extensions.github.io/scientific/v1.0.0/schema.json',\n", + " 'https://stac-extensions.github.io/eo/v1.0.0/schema.json',\n", + " 'https://stac-extensions.github.io/sat/v1.0.0/schema.json'],\n", + " 'stac_version': '1.0.0',\n", + " 'title': 'Landsat 4-5 TM L2'},\n", + " {'description': 'The Landsat 7 Enhanced Thematic Mapper (ETM+) sensor is carried onboard Landsat 7. ETM+ provides 7 spectral bands and 1 thermal band.\\nSee [USGS EROS Archive](https://www.usgs.gov/centers/eros/science/usgs-eros-archive-landsat-archives-landsat-7-enhanced-thematic-mapper-plus?qt-science_center_objects=0#qt-science_center_objects) for more information. Landsat 7 Level-1 data provides Top of Atmosphere Reflectance and Top of the Atmosphere Brightness Temperature products. Level 1 data are available since April 1999. All scenes collected since May 30, 2003 have data gaps due to the Scan Line Corrector (SLC) failure.\\n',\n", + " 'extent': {'spatial': {'bbox': [[-180, -85, 180, 85]]},\n", + " 'temporal': {'interval': [['1999-04-01T00:00:00Z', None]]}},\n", + " 'id': 'LANDSAT7_ETM_L1',\n", + " 'keywords': ['sentinel hub',\n", + " 'xcube',\n", + " 'raster',\n", + " 'systematic',\n", + " 'satellite imagery',\n", + " 'natural resource',\n", + " 'vegetation monitoring',\n", + " 'LULC mapping',\n", + " 'LULC change',\n", + " 'surface temperature',\n", + " 'open data',\n", + " 'landsat'],\n", + " 'license': 'proprietary',\n", + " 'links': [{'href': 'https://collections.eurodatacube.com/landsat-7-etm+-l1',\n", + " 'rel': 'about',\n", + " 'title': 'Website describing the collection',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://services-uswest2.sentinel-hub.com/ogc/wmts/457c6893-85cb-435c-9a63-9555da68c56b',\n", + " 'rel': 'wmts',\n", + " 'wmts:dimensions': {'warnings': True},\n", + " 'wmts:layer': 'TRUE-COLOR'},\n", + " {'href': 'https://docs.sentinel-hub.com/api/latest/api/process/',\n", + " 'rel': 'about',\n", + " 'title': 'Details about running Evalscripts',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/landsat-7-etm/true-color/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'True color',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate True color imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/landsat-7-etm/false-color/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'False color',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate False color imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/landsat-7-etm/swir/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'SWIR',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate SWIR imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/landsat-7-etm/ndvi/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'NDVI',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'NEAREST',\n", + " 'title': 'Evalscript to generate NDVI imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/landsat-7-etm/moisture-index/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'Moisture Index',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'NEAREST',\n", + " 'title': 'Evalscript to generate Moisture Index imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/landsat-7-etm/ndwi/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'NDWI',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'NEAREST',\n", + " 'title': 'Evalscript to generate NDWI imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://www.usgs.gov/centers/eros/data-citation?qt-science_support_page_related_con=0#qt-science_support_page_related_con',\n", + " 'rel': 'license',\n", + " 'title': 'License',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'root'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'parent'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections/LANDSAT7_ETM_L1',\n", + " 'rel': 'self'}],\n", + " 'providers': [{'description': 'Global coverage since April 1999. All scenes collected since May 30, 2003 have data gaps due to the Scan Line Corrector (SLC) failure.',\n", + " 'name': 'Sentinel Hub',\n", + " 'roles': ['processor'],\n", + " 'url': 'https://services-uswest2.sentinel-hub.com'}],\n", + " 'stac_extensions': ['https://stac-extensions.github.io/datacube/v1.0.0/schema.json',\n", + " 'https://stac-extensions.github.io/scientific/v1.0.0/schema.json',\n", + " 'https://stac-extensions.github.io/eo/v1.0.0/schema.json',\n", + " 'https://stac-extensions.github.io/sat/v1.0.0/schema.json'],\n", + " 'stac_version': '1.0.0',\n", + " 'title': 'Landsat 7 ETM+ L1'},\n", + " {'description': 'The Landsat 7 Enhanced Thematic Mapper (ETM+) sensor is carried onboard Landsat 7. ETM+ provides 7 spectral bands and 1 thermal band.\\nSee [USGS EROS Archive](https://www.usgs.gov/centers/eros/science/usgs-eros-archive-landsat-archives-landsat-7-etm-plus-collection-2-level-2?qt-science_center_objects=0#qt-science_center_objects) for more information. Landsat 7 level-2 data provides atmospherically corrected Surface Reflectance and Surface Brightness Temperature products. Level-2 data are available since April 1999.\\n',\n", + " 'extent': {'spatial': {'bbox': [[-180, -85, 180, 85]]},\n", + " 'temporal': {'interval': [['1999-04-01T00:00:00Z', None]]}},\n", + " 'id': 'LANDSAT7_ETM_L2',\n", + " 'keywords': ['sentinel hub',\n", + " 'xcube',\n", + " 'raster',\n", + " 'systematic',\n", + " 'satellite imagery',\n", + " 'natural resource',\n", + " 'vegetation monitoring',\n", + " 'LULC mapping',\n", + " 'LULC change',\n", + " 'surface temperature',\n", + " 'open data',\n", + " 'landsat'],\n", + " 'license': 'proprietary',\n", + " 'links': [{'href': 'https://collections.eurodatacube.com/landsat-7-etm+-l2',\n", + " 'rel': 'about',\n", + " 'title': 'Website describing the collection',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://services-uswest2.sentinel-hub.com/ogc/wmts/8b5c9e7f-82f6-4e6e-9523-99758a7bd6ff',\n", + " 'rel': 'wmts',\n", + " 'wmts:dimensions': {'warnings': True},\n", + " 'wmts:layer': 'TRUE-COLOR'},\n", + " {'href': 'https://docs.sentinel-hub.com/api/latest/api/process/',\n", + " 'rel': 'about',\n", + " 'title': 'Details about running Evalscripts',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/landsat-7-etm/true-color/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'True color',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate True color imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/landsat-7-etm/false-color/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'False color',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate False color imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/landsat-7-etm/swir/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'SWIR',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate SWIR imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/landsat-7-etm/ndvi/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'NDVI',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'NEAREST',\n", + " 'title': 'Evalscript to generate NDVI imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/landsat-7-etm/moisture-index/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'Moisture Index',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'NEAREST',\n", + " 'title': 'Evalscript to generate Moisture Index imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/landsat-7-etm/ndwi/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'NDWI',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'NEAREST',\n", + " 'title': 'Evalscript to generate NDWI imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/landsat-7-etm/thermal/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'Thermal',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate Thermal imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://www.usgs.gov/centers/eros/data-citation?qt-science_support_page_related_con=0#qt-science_support_page_related_con',\n", + " 'rel': 'license',\n", + " 'title': 'License',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'root'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'parent'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections/LANDSAT7_ETM_L2',\n", + " 'rel': 'self'}],\n", + " 'providers': [{'description': 'Global coverage since April 1999.',\n", + " 'name': 'Sentinel Hub',\n", + " 'roles': ['processor'],\n", + " 'url': 'https://services-uswest2.sentinel-hub.com'}],\n", + " 'stac_extensions': ['https://stac-extensions.github.io/datacube/v1.0.0/schema.json',\n", + " 'https://stac-extensions.github.io/scientific/v1.0.0/schema.json',\n", + " 'https://stac-extensions.github.io/eo/v1.0.0/schema.json',\n", + " 'https://stac-extensions.github.io/sat/v1.0.0/schema.json'],\n", + " 'stac_version': '1.0.0',\n", + " 'title': 'Landsat 7 ETM+ L2'},\n", + " {'description': \"[MODIS](https://modis.gsfc.nasa.gov/about/) (Moderate Resolution Imaging Spectroradiometer) is the main\\ninstrument operating on both NASA's [Terra](https://terra.nasa.gov/) and [Aqua](https://aqua.nasa.gov/) satellites.\\nIt acquires images of the earth in 36 bands within the visible and the infrared regions of the spectrum at low to medium spatial resolutions. \\nMODIS is designed to provide at least daily observations of land, oceans and lower atmosphere that contribute to\\nlocal or global scale land or water applications. There are several products derived from MODIS which include land, atmosphere, cryospehere and ocean products.\\nMCD43A4 Nadir BRDF-Adjusted Reflectance (NBAR) product Version 6 is a MODIS land product available in Sentinel Hub. \\nIt is computed daily for each of MODIS bands 1 - 7 and it contains the most representative pixels from 16 day period temporarily weighted to the ninth day.\\nMCD43A4.006 is available since February 2000 on a daily basis but with a 8 days delay. Sentinel Hub no longer has the latest MODIS data because the underlying data provider has ceased operations. Data from February 24, 2000 to February 10, 2023 remains accessible.\\n\",\n", + " 'extent': {'spatial': {'bbox': [[-180, -85, 180, 85]]},\n", + " 'temporal': {'interval': [['2000-02-24T00:00:00Z',\n", + " '2023-02-10T00:00:00Z']]}},\n", + " 'id': 'MODIS',\n", + " 'keywords': ['sentinel hub',\n", + " 'xcube',\n", + " 'raster',\n", + " 'systematic',\n", + " 'satellite imagery',\n", + " 'agriculture',\n", + " 'natural resource',\n", + " 'disaster response',\n", + " 'open data',\n", + " 'NASA',\n", + " 'modis',\n", + " 'terra',\n", + " 'aqua'],\n", + " 'license': 'proprietary',\n", + " 'links': [{'href': 'https://collections.eurodatacube.com/modis',\n", + " 'rel': 'about',\n", + " 'title': 'Website describing the collection',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://services-uswest2.sentinel-hub.com/ogc/wmts/ce4588f8-5f20-4334-9c07-b36ac0765768',\n", + " 'rel': 'wmts',\n", + " 'wmts:dimensions': {'warnings': True},\n", + " 'wmts:layer': 'TRUE-COLOR'},\n", + " {'href': 'https://docs.sentinel-hub.com/api/latest/api/process/',\n", + " 'rel': 'about',\n", + " 'title': 'Details about running Evalscripts',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/modis/true-color/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'True Color',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate True Color imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/modis/false-color/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'False color',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate False color imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/modis/swir/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'SWIR',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate SWIR imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/modis/ndvi/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'NDVI',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'NEAREST',\n", + " 'title': 'Evalscript to generate NDVI imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/modis/ndwi/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'NDWI',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'NEAREST',\n", + " 'title': 'Evalscript to generate NDWI imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/modis/salinity-index/script.js',\n", + " 'rel': 'processing-expression ',\n", + " 'sentinelhub:layer_name': 'Salinity Index',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate Salinity Index imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://www.usgs.gov/centers/eros/data-citation?qt-science_support_page_related_con=0#qt-science_support_page_related_con',\n", + " 'rel': 'license',\n", + " 'title': 'License',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'root'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'parent'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections/MODIS',\n", + " 'rel': 'self'}],\n", + " 'providers': [{'description': 'Global, from February 24, 2000 to February 10, 2023',\n", + " 'name': 'Sentinel Hub',\n", + " 'roles': ['processor'],\n", + " 'url': 'https://services-uswest2.sentinel-hub.com'}],\n", + " 'stac_extensions': ['https://stac-extensions.github.io/datacube/v1.0.0/schema.json',\n", + " 'https://stac-extensions.github.io/eo/v1.0.0/schema.json'],\n", + " 'stac_version': '1.0.0',\n", + " 'title': 'MODIS MCD43A4.006'},\n", + " {'description': \"The [Sentinel -3](https://sentinel.esa.int/web/sentinel/missions/sentinel-3) is composed of three versatile satellites designed \\nto provide data continuity for the ERS, ENVISAT and SPOT satellites and to support operational land and ocean observataion services.\\nSentinel -3 satellites make use of four main instruments on board; OLCI, SLSTR, SRAL and MWR, to measure sea surface topography, \\nsea and land surface temperature and ocean and land surface color.\\nThe medium resolution OLCI(Ocean and Land Colour Instrument) is the successor to ENVISAT's MERIS instrument. \\nSince its launch in 2016, OLCI acquires data of the entire globe atleast every 2 days, in 21 bands, from which information on marine and terrestrial biomass can be derived. \\nOLCI also provides reliable information on the atmosphere, especially on the aerosols characterisation.\\nLevel 1B data provides calibrated, ortho-geolocated and spatially re-sampled Top Of Atmosphere (TOA) radiances for the 21 OLCI spectral bands.\\n\",\n", + " 'extent': {'spatial': {'bbox': [[-180, -85, 180, 85]]},\n", + " 'temporal': {'interval': [['2016-04-17T11:33:13Z', None]]}},\n", + " 'id': 'SENTINEL3_OLCI_L1B',\n", + " 'keywords': ['sentinel hub',\n", + " 'xcube',\n", + " 'raster',\n", + " 'systematic',\n", + " 'satellite imagery',\n", + " 'multi spectral imagery',\n", + " 'climate',\n", + " 'atmospheric aerosols',\n", + " 'marine biology',\n", + " 'maritime monitoring',\n", + " 'OTCI',\n", + " 'open data',\n", + " 'race challenges',\n", + " 'copernicus',\n", + " 'sentinel'],\n", + " 'license': 'proprietary',\n", + " 'links': [{'href': 'https://collections.eurodatacube.com/sentinel-3-l1b-olci',\n", + " 'rel': 'about',\n", + " 'title': 'Website describing the collection',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://creodias.sentinel-hub.com/ogc/wmts/b486fc4b-9c05-49f0-8360-a31df5c691c0',\n", + " 'rel': 'wmts',\n", + " 'wmts:dimensions': {'warnings': True},\n", + " 'wmts:layer': 'TRUE-COLOR'},\n", + " {'href': 'https://docs.sentinel-hub.com/api/latest/api/process/',\n", + " 'rel': 'about',\n", + " 'title': 'Details about running Evalscripts',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/sentinel-3/enhanced_true_color-2/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'True color - enhanced',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate True color - enhanced imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/sentinel-3/true_color_highlight_optimized/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'True color - highlight optimized',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate True color - highlight optimized imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/sentinel-3/otci/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'OTCI',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'NEAREST',\n", + " 'title': 'Evalscript to generate OTCI imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/sentinel-3/tristimulus/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'Tristimulus',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'NEAREST',\n", + " 'title': 'Evalscript to generate Tristimulus imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://sentinels.copernicus.eu/documents/247904/690755/Sentinel_Data_Legal_Notice',\n", + " 'rel': 'license',\n", + " 'title': 'License',\n", + " 'type': 'application/pdf'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'root'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'parent'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections/SENTINEL3_OLCI_L1B',\n", + " 'rel': 'self'}],\n", + " 'providers': [{'description': 'Global since May 2016',\n", + " 'name': 'Sentinel Hub',\n", + " 'roles': ['processor'],\n", + " 'url': 'https://creodias.sentinel-hub.com'},\n", + " {'description': 'Germany since May 2016',\n", + " 'name': 'Sentinel Hub',\n", + " 'roles': ['processor'],\n", + " 'url': 'https://code-de.sentinel-hub.com'}],\n", + " 'stac_extensions': ['https://stac-extensions.github.io/datacube/v1.0.0/schema.json',\n", + " 'https://stac-extensions.github.io/scientific/v1.0.0/schema.json',\n", + " 'https://stac-extensions.github.io/eo/v1.0.0/schema.json'],\n", + " 'stac_version': '1.0.0',\n", + " 'title': 'Sentinel-3 OLCI L1B'},\n", + " {'description': 'The [Sentinel -3](https://sentinel.esa.int/web/sentinel/missions/sentinel-3) is composed of three versatile satellites designed \\nto provide data continuity for the ERS, ENVISAT and SPOT satellites and to support operational land and ocean observation services.\\nSentinel -3 satellites make use of four main instruments on board; OLCI, SLSTR, SRAL and MWR, to measure sea surface topography, \\nsea and land surface temperature and ocean and land surface color.\\nThe SLSTR (Sea and Land Surface Temperature Radiometer ) continues the timeline of Sea Surface Temperature measurements from the ATSR instrument series. \\nThe principal objective of SLSTR products is to provide global and regional Sea and Land Surface Temperature (SST, LST) \\nto a very high level of accuracy (better than 0.3 K for SST) for both climatological and meteorological applications.\\nLevel 1B provides calibrated and ortho-geolocated Top Of Atmosphere (TOA) radiances for the 6 VNIR/SWIR bands \\nand TOA brightness temperatures for the thermal IR and active fire channels.\\n',\n", + " 'extent': {'spatial': {'bbox': [[-180, -85, 180, 85]]},\n", + " 'temporal': {'interval': [['2016-04-17T11:33:13Z', None]]}},\n", + " 'id': 'SENTINEL3_SLSTR',\n", + " 'keywords': ['sentinel hub',\n", + " 'xcube',\n", + " 'raster',\n", + " 'systematic',\n", + " 'multi spectral imagery',\n", + " 'climate',\n", + " 'atmospheric aerosols',\n", + " 'LST',\n", + " 'SST',\n", + " 'active fires',\n", + " 'open data',\n", + " 'race challenges',\n", + " 'copernicus',\n", + " 'sentinel'],\n", + " 'license': 'proprietary',\n", + " 'links': [{'href': 'https://collections.eurodatacube.com/sentinel-3-l1b-slstr',\n", + " 'rel': 'about',\n", + " 'title': 'Website describing the collection',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://creodias.sentinel-hub.com/ogc/wmts/cf579fd9-135d-4597-b7dc-72e67bb5cf13',\n", + " 'rel': 'wmts',\n", + " 'wmts:dimensions': {'warnings': True},\n", + " 'wmts:layer': 'F1-BRIGHTNESS-TEMPERATURE'},\n", + " {'href': 'https://docs.sentinel-hub.com/api/latest/api/process/',\n", + " 'rel': 'about',\n", + " 'title': 'Details about running Evalscripts',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/slstr/false-color-321/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'False Color based on bands S3, S2, and S1',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate False Color based on bands S3, S2, and S1 imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/slstr/f1-brightness-temperature/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'F1 Brightness Temperature',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate F1 Brightness Temperature imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://sentinels.copernicus.eu/documents/247904/690755/Sentinel_Data_Legal_Notice',\n", + " 'rel': 'license',\n", + " 'title': 'License',\n", + " 'type': 'application/pdf'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'root'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'parent'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections/SENTINEL3_SLSTR',\n", + " 'rel': 'self'}],\n", + " 'providers': [{'description': 'Global since May 2016',\n", + " 'name': 'Sentinel Hub',\n", + " 'roles': ['processor'],\n", + " 'url': 'https://creodias.sentinel-hub.com'},\n", + " {'description': 'Germany since May 2016',\n", + " 'name': 'Sentinel Hub',\n", + " 'roles': ['processor'],\n", + " 'url': 'https://code-de.sentinel-hub.com'}],\n", + " 'stac_extensions': ['https://stac-extensions.github.io/datacube/v1.0.0/schema.json',\n", + " 'https://stac-extensions.github.io/scientific/v1.0.0/schema.json',\n", + " 'https://stac-extensions.github.io/eo/v1.0.0/schema.json',\n", + " 'https://stac-extensions.github.io/sat/v1.0.0/schema.json'],\n", + " 'stac_version': '1.0.0',\n", + " 'title': 'Sentinel-3 SLSTR L1B'},\n", + " {'description': 'Copernicus Global 30 meter Digital Elevation Model dataset in COG format.',\n", + " 'extent': {'spatial': {'bbox': [[-180.0013889,\n", + " -89.9998611,\n", + " 179.9986111,\n", + " 84.0001389],\n", + " [-180, -90, 180, 90]]},\n", + " 'temporal': {'interval': [['2010-12-12T00:00:00Z', None]]}},\n", + " 'id': 'COPERNICUS_30',\n", + " 'keywords': ['VITO',\n", + " 'TERRASCOPE',\n", + " 'COPERNICUS',\n", + " 'ESA',\n", + " 'Radar',\n", + " 'TDX',\n", + " 'TSX',\n", + " 'Elevation',\n", + " 'DSM',\n", + " 'DEM'],\n", + " 'license': 'proprietary',\n", + " 'links': [{'href': 'https://spacedata.copernicus.eu/documents/20126/0/CSCDA_ESA_Mission-specific+Annex.pdf',\n", + " 'rel': 'license'},\n", + " {'href': 'https://services.terrascope.be/wmts/v2',\n", + " 'rel': 'wmts',\n", + " 'wmts:layer': 'COP_DEM_GLO_30M_COG'},\n", + " {'href': 'https://collections.eurodatacube.com/copernicus-dem',\n", + " 'rel': 'about',\n", + " 'title': 'Website describing the collection',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://services.sentinel-hub.com/ogc/wmts/6972d617-83a8-4e20-a3e3-85883e49cb8b',\n", + " 'rel': 'wmts',\n", + " 'wmts:dimensions': {'warnings': True},\n", + " 'wmts:layer': 'TOPOGRAPHIC'},\n", + " {'href': 'https://docs.sentinel-hub.com/api/latest/api/process/',\n", + " 'rel': 'about',\n", + " 'title': 'Details about running Evalscripts',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/dem/dem-color/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:dem_instance': 'COPERNICUS_30',\n", + " 'sentinelhub:layer_name': 'Color',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate Color imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/dem/dem-grayscale/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:dem_instance': 'COPERNICUS_30',\n", + " 'sentinelhub:layer_name': 'Grayscale',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate Grayscale imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/dem/dem-sepia/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:dem_instance': 'COPERNICUS_30',\n", + " 'sentinelhub:layer_name': 'Sepia',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate Sepia imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://spacedata.copernicus.eu/en/web/guest/collections/copernicus-digital-elevation-model/#Licencing',\n", + " 'rel': 'license',\n", + " 'title': 'License',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'root'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'parent'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections/COPERNICUS_30',\n", + " 'rel': 'self'}],\n", + " 'providers': [{'name': 'VITO, on behalf of the Belgian Science Policy Office (BELSPO).',\n", + " 'roles': ['producer', 'licensor'],\n", + " 'url': 'https://terrascope.be'}],\n", + " 'stac_extensions': ['https://stac-extensions.github.io/datacube/v2.2.0/schema.json',\n", + " 'https://stac-extensions.github.io/eo/v1.1.0/schema.json'],\n", + " 'stac_version': '1.0.0',\n", + " 'title': 'Copernicus Global 30 meter Digital Elevation Model dataset.'},\n", + " {'description': 'Copernicus Global 90 meter Digital Elevation Model dataset in COG format.',\n", + " 'extent': {'spatial': {'bbox': [[-180.0013889,\n", + " -89.9998611,\n", + " 179.9986111,\n", + " 84.0001389]]},\n", + " 'temporal': {'interval': [['2010-12-12T00:00:00Z', None]]}},\n", + " 'id': 'COPERNICUS_90',\n", + " 'keywords': ['VITO',\n", + " 'TERRASCOPE',\n", + " 'COPERNICUS',\n", + " 'ESA',\n", + " 'Radar',\n", + " 'TSX',\n", + " 'TDX',\n", + " 'Elevation',\n", + " 'DSM',\n", + " 'DEM'],\n", + " 'license': 'proprietary',\n", + " 'links': [{'href': 'https://spacedata.copernicus.eu/documents/20126/0/CSCDA_ESA_Mission-specific+Annex.pdf',\n", + " 'rel': 'license'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'root'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'parent'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections/COPERNICUS_90',\n", + " 'rel': 'self'}],\n", + " 'providers': [{'name': 'VITO, on behalf of the Belgian Science Policy Office (BELSPO).',\n", + " 'roles': ['producer', 'licensor'],\n", + " 'url': 'https://terrascope.be'}],\n", + " 'stac_extensions': ['https://stac-extensions.github.io/datacube/v2.2.0/schema.json',\n", + " 'https://stac-extensions.github.io/eo/v1.1.0/schema.json'],\n", + " 'stac_version': '0.9.0',\n", + " 'title': 'Copernicus Global 90 meter Digital Elevation Model dataset.'},\n", + " {'description': 'L2A atmospheric corrected Water-Leaving reflectance (RHOW) products V1, generated using the iCOR processing tool.',\n", + " 'extent': {'spatial': {'bbox': [[-180, -56, 180, 83]]},\n", + " 'temporal': {'interval': [['2015-07-06T00:00:00Z', None]]}},\n", + " 'id': 'TERRASCOPE_S2_RHOW_V1',\n", + " 'keywords': ['VITO',\n", + " 'TERRASCOPE',\n", + " 'COPERNICUS',\n", + " 'ESA',\n", + " 'Orthoimagery',\n", + " 'Sentinel-2',\n", + " 'MSI',\n", + " 'Level-2A',\n", + " 'Radiometry',\n", + " 'Water Quality',\n", + " 'Water Leaving Reflectance'],\n", + " 'license': 'proprietary',\n", + " 'links': [{'href': 'https://sentinel.esa.int/documents/247904/690755/Sentinel_Data_Legal_Notice',\n", + " 'rel': 'license'},\n", + " {'href': 'https://oscars-dev.vgt.vito.be/collections?uid=urn:eop:VITO:TERRASCOPE_S2_RHOW_V1',\n", + " 'rel': 'alternate'},\n", + " {'href': 'https://viewer.terrascope.be/?language=nl&bbox=0.9339867511378304,50.14520994379217,6.207424251137831,51.77292299745045&overlay=false&bgLayer=MapBox&date=2019-02-25T03:17:15.000Z&layer=TERRASCOPE_S2_RHOW_V1',\n", + " 'rel': 'alternate'},\n", + " {'href': 'https://services.terrascope.be/wmts/v2',\n", + " 'rel': 'wmts',\n", + " 'wmts:layer': 'TERRASCOPE_S2_RHOW_V1'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'root'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'parent'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections/TERRASCOPE_S2_RHOW_V1',\n", + " 'rel': 'self'}],\n", + " 'providers': [{'name': 'VITO, on behalf of the Belgian Science Policy Office (BELSPO).',\n", + " 'roles': ['producer', 'licensor'],\n", + " 'url': 'https://terrascope.be'}],\n", + " 'stac_extensions': ['https://stac-extensions.github.io/datacube/v2.2.0/schema.json',\n", + " 'https://stac-extensions.github.io/eo/v1.1.0/schema.json'],\n", + " 'stac_version': '0.9.0',\n", + " 'title': 'Sentinel-2 RhoW'},\n", + " {'description': 'The SENTINEL-2 CHL corresponds to the Chlorophyll-a water quality products, units are expressed in (mg m-3).',\n", + " 'extent': {'spatial': {'bbox': [[-180, -56, 180, 83]]},\n", + " 'temporal': {'interval': [['2015-07-06T00:00:00Z', None]]}},\n", + " 'id': 'TERRASCOPE_S2_CHL_V1',\n", + " 'keywords': ['VITO',\n", + " 'TERRASCOPE',\n", + " 'COPERNICUS',\n", + " 'ESA',\n", + " 'Orthoimagery',\n", + " 'Sentinel-2',\n", + " 'MSI',\n", + " 'Level-3',\n", + " 'Radiometry',\n", + " 'Water Quality',\n", + " 'Chlorophyll-a'],\n", + " 'license': 'proprietary',\n", + " 'links': [{'href': 'https://sentinel.esa.int/documents/247904/690755/Sentinel_Data_Legal_Notice',\n", + " 'rel': 'license'},\n", + " {'href': 'https://services.terrascope.be/catalogue/collections?uid=urn:eop:VITO:TERRASCOPE_S2_CHL_V1',\n", + " 'rel': 'alternate'},\n", + " {'href': 'https://viewer.terrascope.be/?language=nl&bbox=0.9339867511378304,50.14520994379217,6.207424251137831,51.77292299745045&overlay=false&bgLayer=MapBox&date=2019-02-25T03:17:15.000Z&layer=TERRASCOPE_S2_CHLA_V1',\n", + " 'rel': 'alternate'},\n", + " {'href': 'https://services.terrascope.be/wmts/v2',\n", + " 'rel': 'wmts',\n", + " 'wmts:layer': 'TERRASCOPE_S2_CHL_V1'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'root'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'parent'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections/TERRASCOPE_S2_CHL_V1',\n", + " 'rel': 'self'}],\n", + " 'providers': [{'name': 'VITO, on behalf of the Belgian Science Policy Office (BELSPO).',\n", + " 'roles': ['producer', 'licensor'],\n", + " 'url': 'https://terrascope.be'}],\n", + " 'stac_extensions': ['https://stac-extensions.github.io/datacube/v2.2.0/schema.json',\n", + " 'https://stac-extensions.github.io/eo/v1.1.0/schema.json'],\n", + " 'stac_version': '0.9.0',\n", + " 'title': 'SENTINEL-2 Chlorophyll-a (CHL)'},\n", + " {'description': 'The SENTINEL-2 SPM corresponds to the Suspended Particulate Matter water quality products, units are expressed in (mg L-1).',\n", + " 'extent': {'spatial': {'bbox': [[-180, -56, 180, 83]]},\n", + " 'temporal': {'interval': [['2015-07-06T00:00:00Z', None]]}},\n", + " 'id': 'TERRASCOPE_S2_SPM_V1',\n", + " 'keywords': ['VITO',\n", + " 'TERRASCOPE',\n", + " 'COPERNICUS',\n", + " 'ESA',\n", + " 'Orthoimagery',\n", + " 'Sentinel-2',\n", + " 'MSI',\n", + " 'Level-3',\n", + " 'Radiometry',\n", + " 'Water Quality',\n", + " 'Total Suspended Matter',\n", + " 'Suspended Particulate Matter'],\n", + " 'license': 'proprietary',\n", + " 'links': [{'href': 'https://sentinel.esa.int/documents/247904/690755/Sentinel_Data_Legal_Notice',\n", + " 'rel': 'license'},\n", + " {'href': 'https://services.terrascope.be/catalogue/collections?uid=urn:eop:VITO:TERRASCOPE_S2_SPM_V1',\n", + " 'rel': 'alternate'},\n", + " {'href': 'https://viewer.terrascope.be/?language=nl&bbox=0.9339867511378304,50.14520994379217,6.207424251137831,51.77292299745045&overlay=false&bgLayer=MapBox&date=2019-02-25T03:17:15.000Z&layer=TERRASCOPE_S2_SPM_V1',\n", + " 'rel': 'alternate'},\n", + " {'href': 'https://services.terrascope.be/wmts/v2',\n", + " 'rel': 'wmts',\n", + " 'wmts:layer': 'TERRASCOPE_S2_SPM_V1'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'root'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'parent'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections/TERRASCOPE_S2_SPM_V1',\n", + " 'rel': 'self'}],\n", + " 'providers': [{'name': 'VITO, on behalf of the Belgian Science Policy Office (BELSPO).',\n", + " 'roles': ['producer', 'licensor'],\n", + " 'url': 'https://terrascope.be'}],\n", + " 'stac_extensions': ['https://stac-extensions.github.io/datacube/v2.2.0/schema.json',\n", + " 'https://stac-extensions.github.io/eo/v1.1.0/schema.json'],\n", + " 'stac_version': '0.9.0',\n", + " 'title': 'SENTINEL-2 Suspended Particulate Matter (SPM) (tiles) - V1'},\n", + " {'description': 'The SENTINEL-2 TUR corresponds to the Turbidity water products, units are expressed in Formazin Nephelometric Unit ( (FNU).',\n", + " 'extent': {'spatial': {'bbox': [[-180, -56, 180, 83]]},\n", + " 'temporal': {'interval': [['2015-07-06T00:00:00Z', None]]}},\n", + " 'id': 'TERRASCOPE_S2_TUR_V1',\n", + " 'keywords': ['VITO',\n", + " 'TERRASCOPE',\n", + " 'COPERNICUS',\n", + " 'ESA',\n", + " 'Orthoimagery',\n", + " 'Sentinel-2',\n", + " 'MSI',\n", + " 'Level-3',\n", + " 'Radiometry',\n", + " 'Water Quality',\n", + " 'Turbidity',\n", + " 'FAPAR'],\n", + " 'license': 'proprietary',\n", + " 'links': [{'href': 'https://sentinel.esa.int/documents/247904/690755/Sentinel_Data_Legal_Notice',\n", + " 'rel': 'license'},\n", + " {'href': 'https://services.terrascope.be/catalogue/collections?uid=urn:eop:VITO:TERRASCOPE_S2_TUR_V1',\n", + " 'rel': 'alternate'},\n", + " {'href': 'https://viewer.terrascope.be/?language=nl&bbox=0.9339867511378304,50.14520994379217,6.207424251137831,51.77292299745045&overlay=false&bgLayer=MapBox&date=2019-02-25T03:17:15.000Z&layer=TERRASCOPE_S2_TUR_V1',\n", + " 'rel': 'alternate'},\n", + " {'href': 'https://services.terrascope.be/wmts/v2',\n", + " 'rel': 'wmts',\n", + " 'wmts:layer': 'TERRASCOPE_S2_TUR_V1'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'root'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'parent'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections/TERRASCOPE_S2_TUR_V1',\n", + " 'rel': 'self'}],\n", + " 'providers': [{'name': 'VITO, on behalf of the Belgian Science Policy Office (BELSPO).',\n", + " 'roles': ['producer', 'licensor'],\n", + " 'url': 'https://terrascope.be'}],\n", + " 'stac_extensions': ['https://stac-extensions.github.io/datacube/v2.2.0/schema.json',\n", + " 'https://stac-extensions.github.io/eo/v1.1.0/schema.json'],\n", + " 'stac_version': '0.9.0',\n", + " 'title': 'SENTINEL-2 Turbidity (TUR) - V1'},\n", + " {'description': 'The WorldCover product will be released per 3 x 3 degree tile.',\n", + " 'extent': {'spatial': {'bbox': [[-180.0, -90.0, 180.0, 90.0],\n", + " [-180, -56, 180, 83]]},\n", + " 'temporal': {'interval': [['2020-01-01T00:00:00Z', '2020-12-31T00:00:00Z'],\n", + " ['2020-01-01T00:00:00Z', '2021-01-01T00:00:01Z']]}},\n", + " 'id': 'ESA_WORLDCOVER_10M_2020_V1',\n", + " 'keywords': ['VITO',\n", + " 'COPERNICUS',\n", + " 'ESA',\n", + " 'Land Cover',\n", + " 'Sentinel-1',\n", + " 'Sentinel-2',\n", + " 'Environment',\n", + " 'WorldCover'],\n", + " 'license': 'various',\n", + " 'links': [{'href': 'https://creativecommons.org/licenses/by/4.0/',\n", + " 'rel': 'license'},\n", + " {'href': 'https://services.terrascope.be/catalogue/description?collection=urn:eop:VITO:ESA_WorldCover_10m_2020_V1',\n", + " 'rel': 'alternate',\n", + " 'title': 'EO OpenSearch catalog'},\n", + " {'href': 'https://viewer.esa-worldcover.org/worldcover',\n", + " 'rel': 'alternate',\n", + " 'title': 'Product Viewer'},\n", + " {'href': 'https://services.terrascope.be/wmts/v2',\n", + " 'rel': 'wmts',\n", + " 'wmts:layer': 'WORLDCOVER_2020_MAP'},\n", + " {'href': 'https://collections.eurodatacube.com/worldcover',\n", + " 'rel': 'about',\n", + " 'title': 'Website describing the collection',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://docs.sentinel-hub.com/api/latest/api/process/',\n", + " 'rel': 'about',\n", + " 'title': 'Details about running Evalscripts',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://raw.githubusercontent.com/eurodatacube/public-collections/main/collections/worldcover/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'ESA WorldCover Map',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate ESA WorldCover Map imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://collections.eurodatacube.com/worldcover/readme.html#band-information',\n", + " 'rel': 'about',\n", + " 'title': 'Nomenclature mapping - band values WorldCover labels',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://creativecommons.org/licenses/by/4.0/',\n", + " 'rel': 'license',\n", + " 'title': 'License',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'root'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'parent'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections/ESA_WORLDCOVER_10M_2020_V1',\n", + " 'rel': 'self'}],\n", + " 'providers': [{'name': 'VITO',\n", + " 'roles': ['producer'],\n", + " 'url': 'https://remotesensing.vito.be/'}],\n", + " 'stac_extensions': ['https://stac-extensions.github.io/datacube/v2.2.0/schema.json',\n", + " 'https://stac-extensions.github.io/eo/v1.1.0/schema.json'],\n", + " 'stac_version': '1.0.0',\n", + " 'title': 'ESA WorldCover 2020 products 10 meter COG format '},\n", + " {'description': 'The WorldCover product will be released per 3 x 3 degree tile.',\n", + " 'extent': {'spatial': {'bbox': [[-180.0, -90.0, 180.0, 90.0]]},\n", + " 'temporal': {'interval': [['2021-01-01T00:00:00Z',\n", + " '2021-12-31T00:00:00Z']]}},\n", + " 'id': 'ESA_WORLDCOVER_10M_2021_V2',\n", + " 'keywords': ['VITO',\n", + " 'COPERNICUS',\n", + " 'ESA',\n", + " 'Land Cover',\n", + " 'Sentinel-1',\n", + " 'Sentinel-2',\n", + " 'Environment',\n", + " 'WorldCover'],\n", + " 'license': 'https://creativecommons.org/licenses/by/4.0/',\n", + " 'links': [{'href': 'https://creativecommons.org/licenses/by/4.0/',\n", + " 'rel': 'license'},\n", + " {'href': 'https://services.terrascope.be/catalogue/description?collection=urn:eop:VITO:ESA_WorldCover_10m_2021_V2',\n", + " 'rel': 'alternate',\n", + " 'title': 'EO OpenSearch catalog'},\n", + " {'href': 'https://viewer.esa-worldcover.org/worldcover',\n", + " 'rel': 'alternate',\n", + " 'title': 'Product Viewer'},\n", + " {'href': 'https://services.terrascope.be/wmts/v2',\n", + " 'rel': 'wmts',\n", + " 'wmts:layer': 'WORLDCOVER_2021_MAP'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'root'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'parent'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections/ESA_WORLDCOVER_10M_2021_V2',\n", + " 'rel': 'self'}],\n", + " 'providers': [{'name': 'VITO',\n", + " 'roles': ['producer'],\n", + " 'url': 'https://remotesensing.vito.be/'}],\n", + " 'stac_extensions': ['https://stac-extensions.github.io/datacube/v2.2.0/schema.json',\n", + " 'https://stac-extensions.github.io/eo/v1.1.0/schema.json'],\n", + " 'stac_version': '0.9.0',\n", + " 'title': 'ESA WorldCover 2021 products 10 meter COG format'},\n", + " {'description': 'The CORINE Land Cover (CLC) inventory consists of 44 land cover and land use classes derived from a \\nseries of satellite missions since it was first established.\\n',\n", + " 'extent': {'spatial': {'bbox': [[-32, 27, 45, 71]]},\n", + " 'temporal': {'interval': [['1990-01-01T00:00:00Z',\n", + " '2018-01-01T00:00:00Z']]}},\n", + " 'id': 'CORINE_LAND_COVER',\n", + " 'keywords': ['copernicus services',\n", + " 'sentinel hub',\n", + " 'xcube',\n", + " 'raster',\n", + " 'systematic',\n", + " 'machine learning',\n", + " 'land cover',\n", + " 'CLMS',\n", + " 'corine',\n", + " 'derived data',\n", + " 'open data'],\n", + " 'license': 'proprietary',\n", + " 'links': [{'href': 'https://collections.eurodatacube.com/corine-land-cover',\n", + " 'rel': 'about',\n", + " 'title': 'Website describing the collection',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://creodias.sentinel-hub.com/ogc/wmts/d2344774-2e63-443f-ac1a-f961d7b19319',\n", + " 'rel': 'wmts',\n", + " 'wmts:dimensions': {'warnings': True},\n", + " 'wmts:layer': 'CORINE-LAND-COVER'},\n", + " {'href': 'https://docs.sentinel-hub.com/api/latest/api/process/',\n", + " 'rel': 'about',\n", + " 'title': 'Details about running Evalscripts',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/copernicus_services/corine/corine_land_cover/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'Corine Land Cover',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate Corine Land Cover imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://collections.eurodatacube.com/corine-land-cover/readme.html#band-information',\n", + " 'rel': 'about',\n", + " 'title': 'Nomenclature mapping - band values CLC labels',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://land.copernicus.eu/en/faq#data_use_terms_and_conditions',\n", + " 'rel': 'license',\n", + " 'title': 'License',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'root'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'parent'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections/CORINE_LAND_COVER',\n", + " 'rel': 'self'}],\n", + " 'providers': [{'description': '',\n", + " 'name': 'Sentinel Hub',\n", + " 'roles': ['processor'],\n", + " 'url': 'https://creodias.sentinel-hub.com'}],\n", + " 'stac_extensions': ['https://stac-extensions.github.io/datacube/v1.0.0/schema.json',\n", + " 'https://stac-extensions.github.io/raster/v1.0.0/schema.json'],\n", + " 'stac_version': '1.0.0',\n", + " 'title': 'CORINE Land Cover'},\n", + " {'description': 'The CORINE Land Cover (CLC) Accounting Layers are CLC status layers modified for the purpose of consistent statistical analysis in the land cover change accounting system at EEA. \\nThe modification combines CLC status and change layers in the 100m raster in order to create homogeneous quality time series of CLC / CLC-change layers for accounting purposes.\\nThe CLC inventory consists of 44 land cover and land use classes derived from a series of satellite missions since it was first established. \\nThere are altogether 5 mapping inventories implemented since 1986, producing five status layers (CLC1990, CLC2000, CLC2006, CLC2012, CLC2018), 4 CLC-Change layers for the corresponding periods (1990-2000, 2000-2006, 2006-2012, 2012-2018) and 4 CLC Accounting layers for 2000, 2006, 2012 and 2018. \\nMore information can be found in Annex 5 of the [Product User manual](https://land.copernicus.eu/user-corner/technical-library/clc-product-user-manual). \\n',\n", + " 'extent': {'spatial': {'bbox': [[-56, 24, 72, 72]]},\n", + " 'temporal': {'interval': [['2000-01-01T00:00:00Z',\n", + " '2018-01-01T00:00:00Z']]}},\n", + " 'id': 'CORINE_LAND_COVER_ACCOUNTING_LAYERS',\n", + " 'keywords': ['copernicus services',\n", + " 'accounting',\n", + " 'land cover',\n", + " 'CLMS',\n", + " 'corine',\n", + " 'derived data',\n", + " 'open data'],\n", + " 'license': 'proprietary',\n", + " 'links': [{'href': 'https://collections.eurodatacube.com/corine-land-cover-accounting-layers',\n", + " 'rel': 'about',\n", + " 'title': 'Website describing the collection',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://creodias.sentinel-hub.com/ogc/wmts/0f674e0c-f211-4df8-ad9f-fa31997a1e7f',\n", + " 'rel': 'wmts',\n", + " 'wmts:dimensions': {'warnings': True},\n", + " 'wmts:layer': 'CORINE-LAND-COVER-ACCOUNTING-LAYER'},\n", + " {'href': 'https://docs.sentinel-hub.com/api/latest/api/process/',\n", + " 'rel': 'about',\n", + " 'title': 'Details about running Evalscripts',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/copernicus_services/corine/corine_land_cover_accounting_layer/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'Corine Land Cover Accounting Layer',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate Corine Land Cover Accounting Layer imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://collections.eurodatacube.com/corine-land-cover-accounting-layers/readme.html#band-information',\n", + " 'rel': 'about',\n", + " 'title': 'Nomenclature mapping - band values CLC-ACC labels',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://www.eea.europa.eu/legal/copyright',\n", + " 'rel': 'license',\n", + " 'title': 'License',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'root'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'parent'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections/CORINE_LAND_COVER_ACCOUNTING_LAYERS',\n", + " 'rel': 'self'}],\n", + " 'providers': [{'description': '',\n", + " 'name': 'Sentinel Hub',\n", + " 'roles': ['processor'],\n", + " 'url': 'https://creodias.sentinel-hub.com'}],\n", + " 'stac_extensions': ['https://stac-extensions.github.io/datacube/v1.0.0/schema.json',\n", + " 'https://stac-extensions.github.io/raster/v1.0.0/schema.json'],\n", + " 'stac_version': '1.0.0',\n", + " 'title': 'CORINE Land Cover Accounting Layers'},\n", + " {'description': 'The Global Human Settlement (GHS) framework produces global maps of built-up, population density\\nand settlements to monitor human presence on Earth over time.\\nThe Global Human Settlement Layer GHS-BUILT-S2 is a global map of built-up areas (expressed as probabilities) at 10 m spatial resolution.\\nIt was derived from a Sentinel-2 global image composite for the reference year 2018 using Convolutional Neural Networks.\\n',\n", + " 'extent': {'spatial': {'bbox': [[-180, -56, 180, 72]]},\n", + " 'temporal': {'interval': [['2018-01-01T00:00:00Z',\n", + " '2018-01-01T00:00:01Z']]}},\n", + " 'id': 'GHS_BUILT_S2',\n", + " 'keywords': ['sentinel hub',\n", + " 'raster',\n", + " 'urban mapping',\n", + " 'machine learning',\n", + " 'derived data',\n", + " 'open data'],\n", + " 'license': 'proprietary',\n", + " 'links': [{'href': 'https://collections.eurodatacube.com/global-human-settlement-layer-ghs-built-s2',\n", + " 'rel': 'about',\n", + " 'title': 'Website describing the collection',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://creodias.sentinel-hub.com/ogc/wmts/3f58a020-3523-4c53-85ac-a562af9e09ba',\n", + " 'rel': 'wmts',\n", + " 'wmts:dimensions': {'warnings': True},\n", + " 'wmts:layer': 'GHS-BUILT-S2'},\n", + " {'href': 'https://docs.sentinel-hub.com/api/latest/api/process/',\n", + " 'rel': 'about',\n", + " 'title': 'Details about running Evalscripts',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/other_collections/global-human-settlement-layer/global-human-settlement-layer-ghs-built-s2/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'GHS-BUILT-S2',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate GHS-BUILT-S2 imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://creativecommons.org/licenses/by/4.0/',\n", + " 'rel': 'license',\n", + " 'title': 'License',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'root'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'parent'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections/GHS_BUILT_S2',\n", + " 'rel': 'self'}],\n", + " 'providers': [{'description': '',\n", + " 'name': 'Sentinel Hub',\n", + " 'roles': ['processor'],\n", + " 'url': 'https://creodias.sentinel-hub.com'}],\n", + " 'stac_extensions': ['https://stac-extensions.github.io/datacube/v1.0.0/schema.json',\n", + " 'https://stac-extensions.github.io/raster/v1.0.0/schema.json'],\n", + " 'stac_version': '1.0.0',\n", + " 'title': 'Global Human Settlement Layer - GHS-BUILT-S2'},\n", + " {'description': 'Global Land Cover products at 100 m resolution are delivered annually by the \\n[global component of the Copernicus Land Service](https://land.copernicus.eu/global/products/lc). \\nThe most recent collection 3 (version 3.0.1) of 100 m Land Cover products for the years 2015 - 2019 were generated from \\nthe PROBA-V 100 m and 300 m satellite observations and several other ancillary datasets with global coverage. \\nThese Land Cover products provide a main discrete land cover classification map according to UN-FAO Land Cover Classification System [LCCS](https://land.copernicus.eu/global/products/lc). \\nAdditional continuous fractional layers for all basic land cover classes which give the percentage of\\na 100 m pixel that is filled with a specific land cover class, are also included in the Land Cover products to\\nprovide more detailed information on each land cover class.\\n',\n", + " 'extent': {'spatial': {'bbox': [[-180, -60, 180, 78.25]]},\n", + " 'temporal': {'interval': [['2015-01-01T00:00:00Z',\n", + " '2019-01-01T00:00:00Z']]}},\n", + " 'id': 'GLOBAL_LAND_COVER',\n", + " 'keywords': ['copernicus services',\n", + " 'sentinel hub',\n", + " 'xcube',\n", + " 'raster',\n", + " 'systematic',\n", + " 'machine learning',\n", + " 'land cover',\n", + " 'CLMS',\n", + " 'derived data',\n", + " 'open data'],\n", + " 'license': 'proprietary',\n", + " 'links': [{'href': 'https://collections.eurodatacube.com/global-land-cover',\n", + " 'rel': 'about',\n", + " 'title': 'Website describing the collection',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://creodias.sentinel-hub.com/ogc/wmts/0325f8d4-3e2c-421e-ad10-d0cb1b45d5b2',\n", + " 'rel': 'wmts',\n", + " 'wmts:dimensions': {'warnings': True},\n", + " 'wmts:layer': 'DISCRETE-CLASSIFICATION-MAP'},\n", + " {'href': 'https://docs.sentinel-hub.com/api/latest/api/process/',\n", + " 'rel': 'about',\n", + " 'title': 'Details about running Evalscripts',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/copernicus_services/global-land-cover/global_land_cover/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'Discrete Classification Map',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate Discrete Classification Map imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://collections.eurodatacube.com/global-land-cover/readme.html#band-information',\n", + " 'rel': 'about',\n", + " 'title': 'Nomenclature mapping - band values Global Land Cover labels',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://land.copernicus.eu/global/about',\n", + " 'rel': 'license',\n", + " 'title': 'License',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'root'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'parent'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections/GLOBAL_LAND_COVER',\n", + " 'rel': 'self'}],\n", + " 'providers': [{'description': '',\n", + " 'name': 'Sentinel Hub',\n", + " 'roles': ['processor'],\n", + " 'url': 'https://creodias.sentinel-hub.com'}],\n", + " 'stac_extensions': ['https://stac-extensions.github.io/datacube/v1.0.0/schema.json',\n", + " 'https://stac-extensions.github.io/raster/v1.0.0/schema.json'],\n", + " 'stac_version': '1.0.0',\n", + " 'title': 'Global Land Cover'},\n", + " {'description': \"The Global Surface Water dataset was developed by the European Commission's Joint Research Centre within the framework of the Copernicus Programme. It is derived from Landsat imagery and and shows different aspects of the spatio-temporal distribution of surface water between 1984 and 2021 at the global scale.\",\n", + " 'extent': {'spatial': {'bbox': [[-180, -50, 180, 80]]},\n", + " 'temporal': {'interval': [['2019-01-01T00:00:00Z',\n", + " '2020-01-01T00:00:00Z',\n", + " '2021-01-01T00:00:00Z']]}},\n", + " 'id': 'GLOBAL_SURFACE_WATER',\n", + " 'keywords': ['sentinel hub',\n", + " 'xcube',\n", + " 'raster',\n", + " 'systematic',\n", + " 'water bodies',\n", + " 'surface water',\n", + " 'inland water',\n", + " 'derived data',\n", + " 'climate change',\n", + " 'open data'],\n", + " 'license': 'proprietary',\n", + " 'links': [{'href': 'https://collections.eurodatacube.com/global-surface-water',\n", + " 'rel': 'about',\n", + " 'title': 'Website describing the collection',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://creodias.sentinel-hub.com/ogc/wmts/8c9bcae9-3c93-4587-8ada-9e55818979da',\n", + " 'rel': 'wmts',\n", + " 'wmts:dimensions': {'warnings': True},\n", + " 'wmts:layer': 'GLOBAL-SURFACE-WATER-OCCURRENCE'},\n", + " {'href': 'https://docs.sentinel-hub.com/api/latest/api/process/',\n", + " 'rel': 'about',\n", + " 'title': 'Details about running Evalscripts',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/other_collections/global-surface-water/global_surface_water_occurrence/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'Global Surface Water Occurrence',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate Global Surface Water Occurrence imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/other_collections/global-surface-water/global_surface_water_change/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'Global Surface Water Occurrence Change Intensity',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate Global Surface Water Occurrence Change Intensity imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/other_collections/global-surface-water/global_surface_water_seasonality/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'Global Surface Water Seasonality',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate Global Surface Water Seasonality imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/other_collections/global-surface-water/global_surface_water_recurrence/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'Global Surface Water Recurrence',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate Global Surface Water Recurrence imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/other_collections/global-surface-water/global_surface_water_transitions/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'Global Surface Water Transitions',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate Global Surface Water Transitions imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/other_collections/global-surface-water/global_surface_water_extent/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'Global Surface Water Extent',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate Global Surface Water Extent imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://collections.eurodatacube.com/global-surface-water/readme.html#band-information',\n", + " 'rel': 'about',\n", + " 'title': 'Nomenclature mapping - band values Global Surface Water labels',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://www.copernicus.eu/en/about-copernicus/international-cooperation',\n", + " 'rel': 'license',\n", + " 'title': 'License',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'root'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'parent'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections/GLOBAL_SURFACE_WATER',\n", + " 'rel': 'self'}],\n", + " 'providers': [{'description': '',\n", + " 'name': 'Sentinel Hub',\n", + " 'roles': ['processor'],\n", + " 'url': 'https://creodias.sentinel-hub.com'}],\n", + " 'stac_extensions': ['https://stac-extensions.github.io/datacube/v1.0.0/schema.json',\n", + " 'https://stac-extensions.github.io/raster/v1.0.0/schema.json'],\n", + " 'stac_version': '1.0.0',\n", + " 'title': 'Global Surface Water'},\n", + " {'description': '[Sea Ice Index](https://nsidc.org/data/G02135/versions/3) products offer information about ice cover and its trends in the Arctic and Antarctica.\\n In this collection, sea ice extent and concentration maps are provided at a resolution of 25 km on a daily basis.\\n The products are computed using images from the Special Sensor Microwave Imager (SSM/I) and \\n Special Sensor Microwave Imager/Sounder (SSMIS) instruments on Defense Meteorological Satellite Program (DMSP)\\n satellites. Sea ice concentrations are generated from \\n [brightness temperature data](https://nsidc.org/data/nsidc-0051). Sea ice extent is computed as areas covered by ice\\n with a concentration greater than 15 percent. This dataset is for demonstration purposes only and is not maintained.\\n',\n", + " 'extent': {'spatial': {'bbox': [[-180, -90, 180, 90],\n", + " [-180, 39.23, 180, 90],\n", + " [-180, -90, 180, -30.98]]},\n", + " 'temporal': {'interval': [['2017-01-01T00:00:00Z',\n", + " '2021-05-03T00:00:00Z']]}},\n", + " 'id': 'SEA_ICE_INDEX',\n", + " 'keywords': ['climate change', 'open data'],\n", + " 'license': 'proprietary',\n", + " 'links': [{'href': 'https://collections.eurodatacube.com/sea-ice-index',\n", + " 'rel': 'about',\n", + " 'title': 'Website describing the collection',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://creodias.sentinel-hub.com/ogc/wmts/2a0231a2-5c91-4d3b-a911-ff55711aa983',\n", + " 'rel': 'wmts',\n", + " 'wmts:dimensions': {'warnings': True},\n", + " 'wmts:layer': 'SEA-ICE-CONCENTRATION'},\n", + " {'href': 'https://docs.sentinel-hub.com/api/latest/api/process/',\n", + " 'rel': 'about',\n", + " 'title': 'Details about running Evalscripts',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://raw.githubusercontent.com/eurodatacube/public-collections/main/collections/sea-ice-index/concentration-script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'Sea Ice Concentration',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to visualise sea ice concentration',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://raw.githubusercontent.com/eurodatacube/public-collections/main/collections/sea-ice-index/extent-script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'Sea Ice Extent',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to visualise sea ice extent',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://nsidc.org/about/data-use-and-copyright.',\n", + " 'rel': 'license',\n", + " 'title': 'License',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'root'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'parent'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections/SEA_ICE_INDEX',\n", + " 'rel': 'self'}],\n", + " 'providers': [{'description': '',\n", + " 'name': 'Sentinel Hub',\n", + " 'roles': ['processor'],\n", + " 'url': 'https://creodias.sentinel-hub.com'}],\n", + " 'stac_extensions': ['https://stac-extensions.github.io/datacube/v1.0.0/schema.json',\n", + " 'https://stac-extensions.github.io/raster/v1.0.0/schema.json'],\n", + " 'stac_version': '1.0.0',\n", + " 'title': 'Sea Ice Index'},\n", + " {'description': 'The Copernicus [Sentinel-5 Precursor mission](https://sentinels.copernicus.eu/web/sentinel/missions/sentinel-5p) dedicated to monitoring our atmosphere,\\nconsists of one satellite carrying the TROPOspheric Monitoring Instrument (TROPOMI) instrument. Sentinel-5 Precursor mission aims to fill in\\nglobal atmospheric data gap between the retired ENVISAT and AURA missions and the future Sentinel -5 mission.The main objective of TROPOMI is \\nprovide daily global observations of key atmospheric constituents related to air quality, ozone layer and climate change monitoring and forecasting. \\nLevel 2 data provide total columns of ozone, sulfur dioxide, nitrogen dioxide, carbon monoxide, formaldehyde, tropospheric columns of ozone, \\nvertical profiles of ozone and cloud & aerosol information. Level 2 data are available since April 2018.\\nThese measurements are used for improving air quality forecasts as well as for monitoring the concentrations of atmospheric constituents.\\n',\n", + " 'extent': {'spatial': {'bbox': [[-180, -85, 180, 85]]},\n", + " 'temporal': {'interval': [['2018-04-30T00:18:50Z', None]]}},\n", + " 'id': 'SENTINEL_5P_L2',\n", + " 'keywords': ['sentinel hub',\n", + " 'xcube',\n", + " 'systematic',\n", + " 'raster',\n", + " 'aerosols',\n", + " 'air quality',\n", + " 'climate change',\n", + " 'ozone',\n", + " 'forecasting',\n", + " 'N02',\n", + " 'open data',\n", + " 'race challenges',\n", + " 'copernicus',\n", + " 'sentinel'],\n", + " 'license': 'proprietary',\n", + " 'links': [{'href': 'https://collections.eurodatacube.com/sentinel-5p-l2-tropomi',\n", + " 'rel': 'about',\n", + " 'title': 'Website describing the collection',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://creodias.sentinel-hub.com/ogc/wmts/9a4227b9-0b79-41f9-ba6f-d1e1257a8fee',\n", + " 'rel': 'wmts',\n", + " 'wmts:dimensions': {'warnings': True},\n", + " 'wmts:layer': 'FORMALDEHYDE'},\n", + " {'href': 'https://docs.sentinel-hub.com/api/latest/api/process/',\n", + " 'rel': 'about',\n", + " 'title': 'Details about running Evalscripts',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/sentinel-5p/nitrogen_dioxide_tropospheric_column/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'Nitrogen Dioxide tropospheric column',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate Nitrogen Dioxide tropospheric column imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/sentinel-5p/nitrogen-dioxide/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'Nitrogen Dioxide',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate Nitrogen Dioxide imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/sentinel-5p/carbon-monoxide/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'Carbon Monoxide - CO',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate Carbon Monoxide - CO imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/sentinel-5p/methane/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'Methane - CH4',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate Methane - CH4 imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/sentinel-5p/sulphur-dioxide/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'Sulphur Dioxide - SO2',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate Sulphur Dioxide - SO2 imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/sentinel-5p/ozone/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'Ozone - O3',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate Ozone - O3 imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/sentinel-5p/formaldehyde/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'Formaldehyde - HCHO',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate Formaldehyde - HCHO imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/sentinel-5p/aer-ai-340-380/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'Aerosol 340/380',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate Aerosol 340/380 imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/sentinel-5p/aer-ai-354-388/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'Aerosol 354/388',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate Aerosol 354/388 imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://sentinels.copernicus.eu/documents/247904/690755/Sentinel_Data_Legal_Notice',\n", + " 'rel': 'license',\n", + " 'title': 'License',\n", + " 'type': 'application/pdf'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'root'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'parent'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections/SENTINEL_5P_L2',\n", + " 'rel': 'self'}],\n", + " 'providers': [{'description': 'Global since May 2018',\n", + " 'name': 'Sentinel Hub',\n", + " 'roles': ['processor'],\n", + " 'url': 'https://creodias.sentinel-hub.com'},\n", + " {'description': 'Global since May 2018',\n", + " 'name': 'Sentinel Hub',\n", + " 'roles': ['processor'],\n", + " 'url': 'https://shservices.mundiwebservices.com'},\n", + " {'description': 'Germany since May 2018',\n", + " 'name': 'Sentinel Hub',\n", + " 'roles': ['processor'],\n", + " 'url': 'https://code-de.sentinel-hub.com'}],\n", + " 'stac_extensions': ['https://stac-extensions.github.io/datacube/v1.0.0/schema.json',\n", + " 'https://stac-extensions.github.io/scientific/v1.0.0/schema.json',\n", + " 'https://stac-extensions.github.io/eo/v1.0.0/schema.json'],\n", + " 'stac_version': '1.0.0',\n", + " 'title': 'Sentinel-5P L2'},\n", + " {'description': \"Mapzen DEM is based on [Mapzen's terrain tiles](https://github.com/tilezen/joerd/tree/master/docs) that provide global DEM and bathymetry data.\\nMapzen terrain tiles is a composite of elevation data of varying resolutions from [multiple open data sources](https://github.com/tilezen/joerd/blob/master/docs/data-sources.md)\\nincluding [SRTM](https://www.usgs.gov/centers/eros/science/usgs-eros-archive-digital-elevation-shuttle-radar-topography-mission-srtm-1-arc?qt-science_center_objects=0#qt-science_center_objects),\\n[ETOPO1](https://www.ngdc.noaa.gov/mgg/global/global.html),\\nand other higher resolution sources for some parts of the world.\\nMapzen DEM provides bare-earth terrain heights and can also be used for the orthorectification of satellite imagery (e.g Sentinel 1).\\n\",\n", + " 'extent': {'spatial': {'bbox': [[-180, -85, 180, 85]]},\n", + " 'temporal': {'interval': [[None, None]]}},\n", + " 'id': 'MAPZEN_DEM',\n", + " 'keywords': ['sentinel hub',\n", + " 'xcube',\n", + " 'raster',\n", + " 'systematic',\n", + " 'DEM',\n", + " 'terrain',\n", + " '3D',\n", + " 'elevation',\n", + " 'open data'],\n", + " 'license': 'proprietary',\n", + " 'links': [{'href': 'https://collections.eurodatacube.com/mapzen-dem',\n", + " 'rel': 'about',\n", + " 'title': 'Website describing the collection',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://services-uswest2.sentinel-hub.com/ogc/wmts/5b860c57-bf48-401c-b755-6a9edccb9bd6',\n", + " 'rel': 'wmts',\n", + " 'wmts:dimensions': {'warnings': True},\n", + " 'wmts:layer': 'TOPOGRAPHIC'},\n", + " {'href': 'https://docs.sentinel-hub.com/api/latest/api/process/',\n", + " 'rel': 'about',\n", + " 'title': 'Details about running Evalscripts',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/dem/dem-color/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:dem_instance': 'MAPZEN',\n", + " 'sentinelhub:layer_name': 'Color',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate Color imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/dem/dem-grayscale/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:dem_instance': 'MAPZEN',\n", + " 'sentinelhub:layer_name': 'Grayscale',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate Grayscale imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/dem/dem-sepia/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:dem_instance': 'MAPZEN',\n", + " 'sentinelhub:layer_name': 'Sepia',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate Sepia imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://www.mapzen.com/terms/',\n", + " 'rel': 'license',\n", + " 'title': 'License',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'root'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'parent'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections/MAPZEN_DEM',\n", + " 'rel': 'self'}],\n", + " 'providers': [{'description': 'Global',\n", + " 'name': 'Sentinel Hub',\n", + " 'roles': ['processor'],\n", + " 'url': 'https://services-uswest2.sentinel-hub.com'},\n", + " {'description': 'Global coverage up to resolution level 13 (level 14 is missing).',\n", + " 'name': 'Sentinel Hub',\n", + " 'roles': ['processor'],\n", + " 'url': 'https://services.sentinel-hub.com'}],\n", + " 'stac_extensions': ['https://stac-extensions.github.io/datacube/v1.0.0/schema.json',\n", + " 'https://stac-extensions.github.io/raster/v1.0.0/schema.json'],\n", + " 'stac_version': '1.0.0',\n", + " 'title': 'Mapzen DEM'},\n", + " {'description': 'The Landsat Multispectral Scanner System (MSS) sensors were carried onboard Landsats 1 to 5. It provides 4 spectral bands.\\nSee [USGS EROS Archive](https://www.usgs.gov/centers/eros/science/usgs-eros-archive-landsat-archives-landsat-1-5-multispectral-scanner-collection?qt-science_center_objects=0#qt-science_center_objects) for more information. MSS Level-1 data provides Top of Atmosphere Reflectance products for the period from July 1972 to October 1992 and from June 2012 to January 2013.\\n',\n", + " 'extent': {'spatial': {'bbox': [[-180, -85, 180, 85]]},\n", + " 'temporal': {'interval': [['1972-07-01T00:00:00Z',\n", + " '2013-01-01T00:00:00Z']]}},\n", + " 'id': 'LANDSAT1-5_MSS_L1',\n", + " 'keywords': ['sentinel hub',\n", + " 'xcube',\n", + " 'raster',\n", + " 'systematic',\n", + " 'satellite imagery',\n", + " 'natural resource',\n", + " 'vegetation monitoring',\n", + " 'LULC mapping',\n", + " 'LULC change',\n", + " 'open data',\n", + " 'landsat'],\n", + " 'license': 'proprietary',\n", + " 'links': [{'href': 'https://collections.eurodatacube.com/landsat-1-5-mss-l1',\n", + " 'rel': 'about',\n", + " 'title': 'Website describing the collection',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://services-uswest2.sentinel-hub.com/ogc/wmts/9202f9cd-976a-4614-a766-fb26cc0aebab',\n", + " 'rel': 'wmts',\n", + " 'wmts:dimensions': {'warnings': True},\n", + " 'wmts:layer': 'FALSE-COLOR-NEAR-INFRARED'},\n", + " {'href': 'https://docs.sentinel-hub.com/api/latest/api/process/',\n", + " 'rel': 'about',\n", + " 'title': 'Details about running Evalscripts',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/landsat-1-5-mss/false-color-nir/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'False Color Near Infrared',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate False Color Near Infrared imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/landsat-1-5-mss/false-color-ultrared/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'False Color Ultra Red',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate False Color Ultra Red imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/landsat-1-5-mss/ndvi/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'NDVI',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'NEAREST',\n", + " 'title': 'Evalscript to generate NDVI imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/landsat-1-5-mss/ndwi/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'NDWI',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'NEAREST',\n", + " 'title': 'Evalscript to generate NDWI imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://www.usgs.gov/centers/eros/data-citation?qt-science_support_page_related_con=0#qt-science_support_page_related_con',\n", + " 'rel': 'license',\n", + " 'title': 'License',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'root'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'parent'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections/LANDSAT1-5_MSS_L1',\n", + " 'rel': 'self'}],\n", + " 'providers': [{'description': 'Global coverage from July 1972 to October 1992 and from June 2012 to January 2013',\n", + " 'name': 'Sentinel Hub',\n", + " 'roles': ['processor'],\n", + " 'url': 'https://services-uswest2.sentinel-hub.com'}],\n", + " 'stac_extensions': ['https://stac-extensions.github.io/datacube/v1.0.0/schema.json',\n", + " 'https://stac-extensions.github.io/scientific/v1.0.0/schema.json',\n", + " 'https://stac-extensions.github.io/eo/v1.0.0/schema.json',\n", + " 'https://stac-extensions.github.io/sat/v1.0.0/schema.json'],\n", + " 'stac_version': '1.0.0',\n", + " 'title': 'Landsat 1-5 MSS L1'},\n", + " {'description': 'The Global Water Bodies product shows the surface extent covered by inland water on permanent, seasonal or occasional basis. The product available here is the Water Bodies 100m Version 1 collection which is derived from Sentinel-2 level 1C data, starting from October 2020 after the end of the PROBA-V mission and is delivered as a monthly composite product at 100m resolution.The Water Bodies product contain one main Water Bodies detection layer (WB) and one Quality layer (QUAL) that provides information on the seasonal dynamics of the detected water bodies. Water Bodies detection layer (WB) shows water bodies detected using the Modified Normalized Difference Water Index (MNDWI) derived from Sentinel-2 Level 1C data. The Quality layer (QUAL) is generated from water body occurrence statistics computed from previous monthly Water Bodies products.The occurrence statistics is ranked from low occurrence to permanent occurrence.',\n", + " 'extent': {'spatial': {'bbox': [[-180, -60, 180, 80]]},\n", + " 'temporal': {'interval': [['2020-10-01T00:00:00Z', None]]}},\n", + " 'id': 'WATER_BODIES',\n", + " 'keywords': ['copernicus services',\n", + " 'sentinel hub',\n", + " 'water bodies',\n", + " 'xcube',\n", + " 'raster',\n", + " 'systematic',\n", + " 'water bodies occurence',\n", + " 'inland water',\n", + " 'CLMS',\n", + " 'derived data',\n", + " 'climate change',\n", + " 'open data'],\n", + " 'license': 'proprietary',\n", + " 'links': [{'href': 'https://collections.eurodatacube.com/water-bodies',\n", + " 'rel': 'about',\n", + " 'title': 'Website describing the collection',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://creodias.sentinel-hub.com/ogc/wmts/1ab25604-1794-4a9d-a9e6-33763e2cc632',\n", + " 'rel': 'wmts',\n", + " 'wmts:dimensions': {'warnings': True},\n", + " 'wmts:layer': 'WATER-BODIES'},\n", + " {'href': 'https://docs.sentinel-hub.com/api/latest/api/process/',\n", + " 'rel': 'about',\n", + " 'title': 'Details about running Evalscripts',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/copernicus_services/water-bodies/water-bodies/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'Water Bodies',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate Water Bodies imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/copernicus_services/water-bodies/water-bodies-occurence/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'Water Bodies Occurrence',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate Water Bodies Occurrence imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://collections.eurodatacube.com/water-bodies/readme.html#band-information',\n", + " 'rel': 'about',\n", + " 'title': 'Nomenclature mapping - band values Water Bodies labels',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://land.copernicus.eu/global/about',\n", + " 'rel': 'license',\n", + " 'title': 'License',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'root'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'parent'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections/WATER_BODIES',\n", + " 'rel': 'self'}],\n", + " 'providers': [{'description': '',\n", + " 'name': 'Sentinel Hub',\n", + " 'roles': ['processor'],\n", + " 'url': 'https://creodias.sentinel-hub.com'}],\n", + " 'stac_extensions': ['https://stac-extensions.github.io/datacube/v1.0.0/schema.json',\n", + " 'https://stac-extensions.github.io/raster/v1.0.0/schema.json'],\n", + " 'stac_version': '1.0.0',\n", + " 'title': 'Water Bodies'},\n", + " {'description': 'Sentinel-1 Radiometric Terrain Corrected SAR Backscatter is a product processed from [Sentinel-1 ground range detected (GRD)](https://docs.sentinel-hub.com/api/latest/data/sentinel-1-grd/) and is compliant with [CEOS Analysis Ready Data for Land (CARD4L)](https://ceos.org/ard/) specifications for Normalised Radar Backscatter (NRB) products. CARD4L compliant products fulfill requirements for general metadata, per-pixel metadata, radiometric and atmospheric corrections and geometric corrections outlined in the NRB [product family specifications](https://ceos.org/ard/files/PFS/NRB/v5.5/CARD4L-PFS_NRB_v5.5.pdf).\\nThese products are processed using Sentinel Hub [CARD4L generation tool](https://apps.sentinel-hub.com/s1-card4l/) and are radiometrically calibrated to γ° (gamma-nought) backscatter, and provided as linear backscatter power. Full radiometric terrain correction (RTC) based on the technique developed by David Small which is described in the article [Flattening Gamma: Radiometric Terrain Correction for SAR Imagery](https://doi.org/10.1109/TGRS.2011.2120616), has been applied using the [Copernicus DEM](https://docs.sentinel-hub.com/api/latest/data/dem/) in order to mitigate topographic terrain effects on the backscatter induced by side-looking geometry of SAR imaging and compounded by rugged terrain. Speckle filtering has not been applied in order to preserve spatial resolution and user freedom. \\nThe twin Sentinel-1A and 1B satellites are designed to acquire data with a revisit cycle of 6 to 12 days providing continuous all-weather, day and night imagery for Land and Maritime Monitoring. This collection is comprised of CARD4L compliant Sentinel-1 VV and VH backscatter products over Africa for archived data, with new acquisitions being updated daily as they become available. To obtain CARD4L compliant Sentinel-1 data for other parts of the world, registered users have the possibility of custom processing using [CARD4L generation tool](https://apps.sentinel-hub.com/s1-card4l/). \\n',\n", + " 'extent': {'spatial': {'bbox': [[-26.15, -48, 60.42, 39]]},\n", + " 'temporal': {'interval': [['2018-01-01T02:50:58Z', None]]}},\n", + " 'id': 'SENTINEL1_CARD4L',\n", + " 'keywords': ['sentinel hub',\n", + " 'xcube',\n", + " 'raster',\n", + " 'systematic',\n", + " 'satellite imagery',\n", + " 'SAR',\n", + " 'radar',\n", + " 'backscattering',\n", + " 'polarization',\n", + " 'Copernicus',\n", + " 'maritime monitoring',\n", + " 'land monitoring',\n", + " 'disaster response',\n", + " 'open data',\n", + " 'sentinel',\n", + " 'card4l',\n", + " 'radiometric terrain correction'],\n", + " 'license': 'proprietary',\n", + " 'links': [{'href': 'https://collections.eurodatacube.com/card4l',\n", + " 'rel': 'about',\n", + " 'title': 'Website describing the collection',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://creodias.sentinel-hub.com/ogc/wmts/c23384ad-ffd4-4397-9b0d-5229d2885331',\n", + " 'rel': 'wmts',\n", + " 'wmts:dimensions': {'warnings': True},\n", + " 'wmts:layer': 'SAR-URBAN'},\n", + " {'evalscript_url': 'https://custom-scripts.sentinel-hub.com/sentinel-1/urban_areas/script.js',\n", + " 'href': 'https://docs.sentinel-hub.com/api/latest/api/process/',\n", + " 'layer_name': 'SAR urban',\n", + " 'mosaicking_order': 'mostRecent',\n", + " 'rel': 'processing-expression',\n", + " 'upsampling': 'BICUBIC'},\n", + " {'evalscript_url': 'https://custom-scripts.sentinel-hub.com/sentinel-1/sar_false_color_visualization-2/script.js',\n", + " 'href': 'https://docs.sentinel-hub.com/api/latest/api/process/',\n", + " 'layer_name': 'Enhanced visualization',\n", + " 'mosaicking_order': 'mostRecent',\n", + " 'rel': 'processing-expression',\n", + " 'upsampling': 'BICUBIC'},\n", + " {'href': 'https://scihub.copernicus.eu/twiki/do/view/SciHubWebPortal/TermsConditions',\n", + " 'rel': 'license',\n", + " 'title': 'License',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'root'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'parent'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections/SENTINEL1_CARD4L',\n", + " 'rel': 'self'}],\n", + " 'providers': [{'description': '',\n", + " 'name': 'Sentinel Hub',\n", + " 'roles': ['processor'],\n", + " 'url': 'https://creodias.sentinel-hub.com'}],\n", + " 'stac_extensions': ['https://stac-extensions.github.io/datacube/v1.0.0/schema.json',\n", + " 'https://stac-extensions.github.io/raster/v1.0.0/schema.json'],\n", + " 'stac_version': '1.0.0',\n", + " 'title': 'Sentinel-1 Radiometric Terrain Corrected SAR Backscatter'},\n", + " {'description': 'Vegetation Indices (VI) product is part of the Copernicus Land Monitoring Service (CLMS), pan-European High Resolution Vegetation Phenology and Productivity [(HR-VPP)](https://land.copernicus.eu/pan-european/biophysical-parameters/high-resolution-vegetation-phenology-and-productivity) product suite.\\nThe product is comprised of 4 raw Vegetation Indices; (1) Normalized Difference Vegetation Index (NDVI), (2) Leaf Area Index (LAI),\\n(3) Fraction of Absorbed Photosynthetically Active Radiation (FAPAR) and (4) Plant Phenology Index (PPI) generated near real-time (NRT) from Sentinel-2 satellite observations.\\nThe raw Vegetation Indices are provided on a daily basis at 10m resolution from October 2016 onwards. Therefore, VI products are available over the EEA39 region for the respective observation day\\nbased on 5-day revisit period of Sentinel-2. The VIs are accompanied by a related QFLAG2 band that flags clouds, shadows, snow, open water and other areas where the VI retrieval is less reliable.\\nMore information about raw vegetation indices is outlined in the [product user manual](https://land.copernicus.eu/user-corner/technical-library/product-user-manual-of-vegetation-indices/)\\n',\n", + " 'extent': {'spatial': {'bbox': [[-25, 26, 45, 72]]},\n", + " 'temporal': {'interval': [['2016-10-01T09:20:22Z', None]]}},\n", + " 'id': 'VEGETATION_INDICES',\n", + " 'keywords': ['copernicus services',\n", + " 'vegetation',\n", + " 'agriculture',\n", + " 'Plant phenology index',\n", + " 'CLMS',\n", + " 'phenology',\n", + " 'derived data',\n", + " 'open data'],\n", + " 'license': 'proprietary',\n", + " 'links': [{'href': 'https://collections.eurodatacube.com/vegetation-indices',\n", + " 'rel': 'about',\n", + " 'title': 'Website describing the collection',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://creodias.sentinel-hub.com/ogc/wmts/5213318a-9567-403d-b4c3-066d413d7efe',\n", + " 'rel': 'wmts',\n", + " 'wmts:dimensions': {'warnings': True},\n", + " 'wmts:layer': 'LAI'},\n", + " {'href': 'https://docs.sentinel-hub.com/api/latest/api/process/',\n", + " 'rel': 'about',\n", + " 'title': 'Details about running Evalscripts',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/copernicus_services/hrvpp/vi-lai/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'LAI',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate LAI imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/copernicus_services/hrvpp/vi-ppi/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'PPI',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate PPI imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/copernicus_services/hrvpp/vi-ndvi/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'NDVI',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate NDVI imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/copernicus_services/hrvpp/vi-fapar/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'FAPAR',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate FAPAR imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://land.copernicus.eu/en/faq#data_use_terms_and_conditions',\n", + " 'rel': 'license',\n", + " 'title': 'License',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'root'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'parent'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections/VEGETATION_INDICES',\n", + " 'rel': 'self'}],\n", + " 'providers': [{'description': 'Europe since October 2016',\n", + " 'name': 'Sentinel Hub',\n", + " 'roles': ['processor'],\n", + " 'url': 'https://creodias.sentinel-hub.com'}],\n", + " 'stac_extensions': ['https://stac-extensions.github.io/datacube/v1.0.0/schema.json',\n", + " 'https://stac-extensions.github.io/raster/v1.0.0/schema.json'],\n", + " 'stac_version': '1.0.0',\n", + " 'title': 'Vegetation Indices, Daily'},\n", + " {'description': 'Seasonal Trajectories (ST) product is a filtered time series of [Plant Phenology Index (PPI)](https://www.nateko.lu.se/research/remote-sensing-and-earth-observation/lund-earth-observation-research-group/vegetation-phenology) provided yearly on a 10-daily basis at 10m resolution .\\nIt is part of the Copernicus Land Monitoring Service (CLMS), pan-European High Resolution Vegetation Phenology and Productivity [(HR-VPP)](https://land.copernicus.eu/pan-european/biophysical-parameters/high-resolution-vegetation-phenology-and-productivity) product suite.\\nThe Seasonal Trajectories PPI is derived through fitting a smoothing and gap filling function to the yearly time-series raw PPI values generated from Sentinel-2 satellite observations.\\nIn addition to the PPI band, a QFLAG band indicating the quality of the smoothing process is included.\\nThe Seasonal Trajectories provide the vegetation status for each pixel on a regular 10-day time step from January 1 2017 onwards over the EEA39 region.\\nMore information about ST product is outlined in the [product user manual](https://land.copernicus.eu/user-corner/technical-library/product-user-manual-of-seasonal-trajectories/)\\n',\n", + " 'extent': {'spatial': {'bbox': [[-25, 26, 45, 72]]},\n", + " 'temporal': {'interval': [['2017-01-01T00:00:00Z',\n", + " '2021-12-21T00:00:00Z']]}},\n", + " 'id': 'SEASONAL_TRAJECTORIES',\n", + " 'keywords': ['copernicus services',\n", + " 'vegetation',\n", + " 'agriculture',\n", + " 'Plant phenology index',\n", + " 'CLMS',\n", + " 'phenology',\n", + " 'derived data',\n", + " 'open data'],\n", + " 'license': 'proprietary',\n", + " 'links': [{'href': 'https://collections.eurodatacube.com/seasonal-trajectories',\n", + " 'rel': 'about',\n", + " 'title': 'Website describing the collection',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://creodias.sentinel-hub.com/ogc/wmts/0a2b47c5-3707-4bf7-a2a9-4fa83f46bc7d',\n", + " 'rel': 'wmts',\n", + " 'wmts:dimensions': {'warnings': True},\n", + " 'wmts:layer': 'PPI'},\n", + " {'href': 'https://docs.sentinel-hub.com/api/latest/api/process/',\n", + " 'rel': 'about',\n", + " 'title': 'Details about running Evalscripts',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/copernicus_services/hrvpp/st-ppi/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'PPI',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate PPI imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://land.copernicus.eu/en/faq#data_use_terms_and_conditions',\n", + " 'rel': 'license',\n", + " 'title': 'License',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'root'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'parent'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections/SEASONAL_TRAJECTORIES',\n", + " 'rel': 'self'}],\n", + " 'providers': [{'description': 'Europe since January 2017',\n", + " 'name': 'Sentinel Hub',\n", + " 'roles': ['processor'],\n", + " 'url': 'https://creodias.sentinel-hub.com'}],\n", + " 'stac_extensions': ['https://stac-extensions.github.io/datacube/v1.0.0/schema.json',\n", + " 'https://stac-extensions.github.io/raster/v1.0.0/schema.json'],\n", + " 'stac_version': '1.0.0',\n", + " 'title': 'Seasonal Trajectories, 10-daily'},\n", + " {'description': 'Vegetation Phenology and Productivity Parameters (VPP) product is part of the Copernicus Land Monitoring Service (CLMS),\\npan-European High Resolution Vegetation Phenology and Productivity [(HR-VPP)](https://land.copernicus.eu/pan-european/biophysical-parameters/high-resolution-vegetation-phenology-and-productivity) product suite. \\nThe VPP product is comprised of 13 parameters that describe specific stages of the seasonal vegetation growth cycle. \\nThese parameters are extracted from Seasonal Trajectories of the [Plant Phenology Index (PPI)](https://www.nateko.lu.se/research/remote-sensing-and-earth-observation/lund-earth-observation-research-group/vegetation-phenology) \\nderived from Sentinel-2 satellite observations at 10m resolution. Since growing seasons can traverse years, VPP parameters are provided for a maximum of two growing seasons per year.\\nThe parameters include (1) start of season (date, PPI value and slope), (2) end of season (date, PPI value and slope), (3)length of season, (4) minimum of season,\\n(4) peak of the season (date and PPI value), (5) amplitude, (6) small integrated value and (7) large integrated value. \\nVPP parameters are generated over the EEA39 region on a yearly frequency from January 1 2017 onwards. \\nAmong other applications, the high-resolution phenology data provides a detailed assessment of the impacts of\\nhuman or climate change on the ecosystem through monitoring of vegetation responses to disturbances, e.g. droughts, storms, insect infestations, and to human influence from global to local levels.\\nMore information about VPP product is outlined in the [product user manual](https://land.copernicus.eu/user-corner/technical-library/product-user-manual-of-seasonal-trajectories/)\\n',\n", + " 'extent': {'spatial': {'bbox': [[-25, 26, 45, 72]]},\n", + " 'temporal': {'interval': [['2017-01-01T00:00:00Z',\n", + " '2021-01-01T00:00:00Z']]}},\n", + " 'id': 'VEGETATION_PHENOLOGY_AND_PRODUCTIVITY_PARAMETERS_SEASON_1',\n", + " 'keywords': ['copernicus services',\n", + " 'vegetation',\n", + " 'agriculture',\n", + " 'Plant phenology index',\n", + " 'CLMS',\n", + " 'phenology',\n", + " 'derived data',\n", + " 'open data'],\n", + " 'license': 'proprietary',\n", + " 'links': [{'href': 'https://collections.eurodatacube.com/vegetation-phenology-and-productivity-parameters-season-1',\n", + " 'rel': 'about',\n", + " 'title': 'Website describing the collection',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://creodias.sentinel-hub.com/ogc/wmts/dc8cc966-1577-4af4-960e-a2912482274c',\n", + " 'rel': 'wmts',\n", + " 'wmts:dimensions': {'warnings': True},\n", + " 'wmts:layer': 'AMPL'},\n", + " {'href': 'https://docs.sentinel-hub.com/api/latest/api/process/',\n", + " 'rel': 'about',\n", + " 'title': 'Details about running Evalscripts',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/copernicus_services/hrvpp/vpp-amplitude-ampl/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'AMPL',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate AMPL imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/copernicus_services/hrvpp/vpp-season-maximum-value-maxv/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'MAXV',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate MAXV imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/copernicus_services/hrvpp/vpp-season-minimum-value-minv/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'MINV',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate MINV imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/copernicus_services/hrvpp/vpp-start-of-season-value-sosv/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'SOSV',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate SOSV imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/copernicus_services/hrvpp/vpp-end-of-season-value-eosv/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'EOSV',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate EOSV imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/copernicus_services/hrvpp/vpp-slope-of-senescent-period-rslope/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'RSLOPE',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate RSLOPE imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/copernicus_services/hrvpp/vpp-slope-of-greening-up-period-lslope/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'LSLOPE',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate LSLOPE imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/copernicus_services/hrvpp/vpp-seasonal-productivity-sprod/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'SPROD',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate SPROD imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/copernicus_services/hrvpp/vpp-total-productivity-tprod/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'TPROD',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate TPROD imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://land.copernicus.eu/en/faq#data_use_terms_and_conditions',\n", + " 'rel': 'license',\n", + " 'title': 'License',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'root'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'parent'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections/VEGETATION_PHENOLOGY_AND_PRODUCTIVITY_PARAMETERS_SEASON_1',\n", + " 'rel': 'self'}],\n", + " 'providers': [{'description': 'Europe since January 2017',\n", + " 'name': 'Sentinel Hub',\n", + " 'roles': ['processor'],\n", + " 'url': 'https://creodias.sentinel-hub.com'}],\n", + " 'stac_extensions': ['https://stac-extensions.github.io/datacube/v1.0.0/schema.json',\n", + " 'https://stac-extensions.github.io/raster/v1.0.0/schema.json'],\n", + " 'stac_version': '1.0.0',\n", + " 'title': 'Vegetation Phenology and Productivity Parameters Season 1, Yearly'},\n", + " {'description': 'Vegetation Phenology and Productivity Parameters (VPP) product is part of the Copernicus Land Monitoring Service (CLMS),\\npan-European High Resolution Vegetation Phenology and Productivity [(HR-VPP)](https://land.copernicus.eu/pan-european/biophysical-parameters/high-resolution-vegetation-phenology-and-productivity) product suite.\\nThe VPP product is comprised of 13 parameters that describe specific stages of the seasonal vegetation growth cycle.\\nThese parameters are extracted from Seasonal Trajectories of the [Plant Phenology Index (PPI)](https://www.nateko.lu.se/research/remote-sensing-and-earth-observation/lund-earth-observation-research-group/vegetation-phenology)\\nderived from Sentinel-2 satellite observations at 10m resolution. Since growing seasons can traverse years, VPP parameters are provided for a maximum of two growing seasons per year.\\nThe parameters include (1) start of season (date, PPI value and slope), (2) end of season (date, PPI value and slope), (3)length of season, (4) minimum of season,\\n(4) peak of the season (date and PPI value), (5) amplitude, (6) small integrated value and (7) large integrated value.\\nVPP parameters are generated over the EEA39 region on a yearly frequency from January 1 2017 onwards.\\nAmong other applications, the high-resolution phenology data provides a detailed assessment of the impacts of\\nhuman or climate change on the ecosystem through monitoring of vegetation responses to disturbances, e.g. droughts, storms, insect infestations, and to human influence from global to local levels.\\nMore information about VPP product is outlined in the [product user manual](https://land.copernicus.eu/user-corner/technical-library/product-user-manual-of-seasonal-trajectories/)\\n',\n", + " 'extent': {'spatial': {'bbox': [[-25, 26, 45, 72]]},\n", + " 'temporal': {'interval': [['2017-01-01T00:00:00Z',\n", + " '2021-01-01T00:00:00Z']]}},\n", + " 'id': 'VEGETATION_PHENOLOGY_AND_PRODUCTIVITY_PARAMETERS_SEASON_2',\n", + " 'keywords': ['copernicus services',\n", + " 'vegetation',\n", + " 'agriculture',\n", + " 'Plant phenology index',\n", + " 'CLMS',\n", + " 'phenology',\n", + " 'derived data',\n", + " 'open data'],\n", + " 'license': 'proprietary',\n", + " 'links': [{'href': 'https://collections.eurodatacube.com/vegetation-phenology-and-productivity-parameters-season-2',\n", + " 'rel': 'about',\n", + " 'title': 'Website describing the collection',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://creodias.sentinel-hub.com/ogc/wmts/b61d2200-914a-40b9-a1c3-86b9c345a703',\n", + " 'rel': 'wmts',\n", + " 'wmts:dimensions': {'warnings': True},\n", + " 'wmts:layer': 'AMPL'},\n", + " {'href': 'https://docs.sentinel-hub.com/api/latest/api/process/',\n", + " 'rel': 'about',\n", + " 'title': 'Details about running Evalscripts',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/copernicus_services/hrvpp/vpp-amplitude-ampl/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'AMPL',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate AMPL imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/copernicus_services/hrvpp/vpp-season-maximum-value-maxv/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'MAXV',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate MAXV imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/copernicus_services/hrvpp/vpp-season-minimum-value-minv/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'MINV',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate MINV imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/copernicus_services/hrvpp/vpp-start-of-season-value-sosv/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'SOSV',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate SOSV imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/copernicus_services/hrvpp/vpp-end-of-season-value-eosv/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'EOSV',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate EOSV imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/copernicus_services/hrvpp/vpp-slope-of-senescent-period-rslope/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'RSLOPE',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate RSLOPE imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/copernicus_services/hrvpp/vpp-slope-of-greening-up-period-lslope/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'LSLOPE',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate LSLOPE imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/copernicus_services/hrvpp/vpp-seasonal-productivity-sprod/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'SPROD',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate SPROD imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/copernicus_services/hrvpp/vpp-total-productivity-tprod/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'TPROD',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate TPROD imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://land.copernicus.eu/en/faq#data_use_terms_and_conditions',\n", + " 'rel': 'license',\n", + " 'title': 'License',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'root'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'parent'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections/VEGETATION_PHENOLOGY_AND_PRODUCTIVITY_PARAMETERS_SEASON_2',\n", + " 'rel': 'self'}],\n", + " 'providers': [{'description': 'Europe since January 2017',\n", + " 'name': 'Sentinel Hub',\n", + " 'roles': ['processor'],\n", + " 'url': 'https://creodias.sentinel-hub.com'}],\n", + " 'stac_extensions': ['https://stac-extensions.github.io/datacube/v1.0.0/schema.json',\n", + " 'https://stac-extensions.github.io/raster/v1.0.0/schema.json'],\n", + " 'stac_version': '1.0.0',\n", + " 'title': 'Vegetation Phenology and Productivity Parameters Season 2, Yearly'},\n", + " {'description': 'A croptype map for EU27 in 2021, produced on openEO platform. This collection is for demonstration purposes only. It is planned to be replaced by a crop maps from Copernicus High Resolution Land when these become available.',\n", + " 'extent': {'spatial': {'bbox': [[-180.0083333,\n", + " -90.0083333,\n", + " 180.0083333,\n", + " 90.0083333]]},\n", + " 'temporal': {'interval': [['2021-01-01T00:00:00Z',\n", + " '2022-01-01T00:00:00Z']]}},\n", + " 'id': 'OPENEO_CROPTYPE_2021',\n", + " 'license': 'free',\n", + " 'links': [{'href': 'https://docs.openeo.cloud/usecases/large-scale-processing/',\n", + " 'rel': 'alternate',\n", + " 'title': 'Crop map openEO platform use case.'},\n", + " {'href': 'https://services.terrascope.be/wmts/v2',\n", + " 'rel': 'wmts',\n", + " 'wmts:layer': 'CroptypeMapCCN'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'root'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'parent'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections/OPENEO_CROPTYPE_2021',\n", + " 'rel': 'self'}],\n", + " 'providers': [{'name': 'VITO',\n", + " 'processing:facility': 'openEO Platform',\n", + " 'processing:level': 'L4',\n", + " 'processing:software': {'Geotrellis backend': '1.0'},\n", + " 'roles': ['producer', 'licensor']}],\n", + " 'stac_extensions': ['https://stac-extensions.github.io/datacube/v2.2.0/schema.json',\n", + " 'https://stac-extensions.github.io/eo/v1.1.0/schema.json'],\n", + " 'stac_version': '0.9.0',\n", + " 'title': 'OPENEO_CROPTYPE_2021'},\n", + " {'description': 'EGM2008 Geoid',\n", + " 'extent': {'spatial': {'bbox': [[-180.0083333,\n", + " -90.0083333,\n", + " 180.0083333,\n", + " 90.0083333]]},\n", + " 'temporal': {'interval': [['1999-01-01T00:00:00Z',\n", + " '2020-06-21T00:00:00Z']]}},\n", + " 'id': 'EGM2008',\n", + " 'license': 'free',\n", + " 'links': [{'href': 'https://earth-info.nga.mil/index.php?dir=wgs84&action=wgs84',\n", + " 'rel': 'alternate',\n", + " 'title': 'Product web page.'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'root'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'parent'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections/EGM2008',\n", + " 'rel': 'self'}],\n", + " 'stac_extensions': ['https://stac-extensions.github.io/datacube/v2.2.0/schema.json',\n", + " 'https://stac-extensions.github.io/eo/v1.1.0/schema.json'],\n", + " 'stac_version': '0.9.0',\n", + " 'title': 'EGM2008 Geoid'},\n", + " {'description': 'Global NDVI long term statistics (1999-2017) at 1km resolution, 10-daily. This collection uses 2017 as the year to represent long term statistics.',\n", + " 'extent': {'spatial': {'bbox': [[-180.00446428571428,\n", + " -59.9955357,\n", + " 179.9955357,\n", + " 80.0044643]]},\n", + " 'temporal': {'interval': [['2017-01-01T00:00:00Z',\n", + " '2018-01-01T00:00:00Z']]}},\n", + " 'id': 'CGLS_NDVI_LTS_V2_GLOBAL',\n", + " 'license': 'free',\n", + " 'links': [{'href': 'https://land.copernicus.eu/global/products/ndvi',\n", + " 'rel': 'alternate',\n", + " 'title': 'Product web page.'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'root'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'parent'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections/CGLS_NDVI_LTS_V2_GLOBAL',\n", + " 'rel': 'self'}],\n", + " 'stac_extensions': ['https://stac-extensions.github.io/datacube/v2.2.0/schema.json',\n", + " 'https://stac-extensions.github.io/eo/v1.1.0/schema.json'],\n", + " 'stac_version': '0.9.0',\n", + " 'title': 'Copernicus Global Land NDVI Long term statistics product V1, 1km resolution, 10-daily'},\n", + " {'description': 'Global GDMP (Gross Dry Matter Productivity) at 300m resolution, 10-daily.',\n", + " 'extent': {'spatial': {'bbox': [[-180.0014880952381,\n", + " -59.9985119,\n", + " 179.9985119,\n", + " 80.00148809523809]]},\n", + " 'temporal': {'interval': [['2014-01-01T00:00:00Z', None]]}},\n", + " 'id': 'CGLS_GDMP300_V1_GLOBAL',\n", + " 'license': 'free',\n", + " 'links': [{'href': 'https://land.copernicus.eu/global/products/dmp',\n", + " 'rel': 'alternate',\n", + " 'title': 'Product web page.'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'root'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'parent'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections/CGLS_GDMP300_V1_GLOBAL',\n", + " 'rel': 'self'}],\n", + " 'stac_extensions': ['https://stac-extensions.github.io/datacube/v2.2.0/schema.json',\n", + " 'https://stac-extensions.github.io/eo/v1.1.0/schema.json'],\n", + " 'stac_version': '0.9.0',\n", + " 'title': 'Copernicus Global Land GDMP (Gross Dry Matter Productivity) product V1, 300m resolution, 10-daily'},\n", + " {'description': 'Global GDMP (Gross dry matter productivity) at 1km resolution, 10-daily. ',\n", + " 'extent': {'spatial': {'bbox': [[-180.00446428571428,\n", + " -59.9955357,\n", + " 179.9955357,\n", + " 80.0044643]]},\n", + " 'temporal': {'interval': [['1998-04-01T00:00:00Z',\n", + " '2020-07-01T00:00:00Z']]}},\n", + " 'id': 'CGLS_GDMP_V2_GLOBAL',\n", + " 'license': 'free',\n", + " 'links': [{'href': 'https://land.copernicus.eu/global/products/dmp',\n", + " 'rel': 'alternate',\n", + " 'title': 'Product web page.'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'root'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'parent'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections/CGLS_GDMP_V2_GLOBAL',\n", + " 'rel': 'self'}],\n", + " 'stac_extensions': ['https://stac-extensions.github.io/datacube/v2.2.0/schema.json',\n", + " 'https://stac-extensions.github.io/eo/v1.1.0/schema.json'],\n", + " 'stac_version': '0.9.0',\n", + " 'title': 'Copernicus Global Land GDMP (Gross dry matter productivity) product V2, 1km resolution, 10-daily'},\n", + " {'description': 'Surface Soil Moisture at 1km resolution over Europe, daily. Surface Soil Moisture (SSM) is the relative water content of the top few centimetres soil, describing how wet or dry the soil is in its topmost layer, expressed in percent saturation. It is measured by satellite radar sensors and allows insights in local precipitation impacts and soil conditions.',\n", + " 'extent': {'spatial': {'bbox': [[-11.0, 35.0, 50.0, 72.0]]},\n", + " 'temporal': {'interval': [['2014-10-03T00:00:00Z', None]]}},\n", + " 'id': 'CGLS_SSM_V1_EUROPE',\n", + " 'license': 'free',\n", + " 'links': [{'href': 'https://land.copernicus.eu/global/products/ssm',\n", + " 'rel': 'alternate',\n", + " 'title': 'Product web page.'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'root'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'parent'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections/CGLS_SSM_V1_EUROPE',\n", + " 'rel': 'self'}],\n", + " 'stac_extensions': ['https://stac-extensions.github.io/datacube/v2.2.0/schema.json',\n", + " 'https://stac-extensions.github.io/eo/v1.1.0/schema.json'],\n", + " 'stac_version': '0.9.0',\n", + " 'title': 'Copernicus Land Surface Soil Moisture product V1 over Europe, 1km resolution, daily'},\n", + " {'description': 'Global FAPAR at 1km resolution, 10-daily. The FAPAR quantifies the fraction of the solar radiation absorbed by live leaves for the photosynthesis activity. Then, it refers only to the green and alive elements of the canopy. The FAPAR depends on the canopy structure, vegetation element optical properties, atmospheric conditions, and angular configuration. To overcome this latter dependency, a daily integrated FAPAR value is assessed.\\n\\nFAPAR is recognized as an Essential Climate Variable (ECV) by the Global Climate Observing System (GCOS).',\n", + " 'extent': {'spatial': {'bbox': [[-180.00446428571428,\n", + " -59.9955357,\n", + " 179.9955357,\n", + " 80.0044643]]},\n", + " 'temporal': {'interval': [['1999-01-01T00:00:00Z',\n", + " '2020-06-30T00:00:00Z']]}},\n", + " 'id': 'CGLS_FAPAR_V2_GLOBAL',\n", + " 'license': 'free',\n", + " 'links': [{'href': 'https://land.copernicus.eu/global/products/fapar',\n", + " 'rel': 'alternate',\n", + " 'title': 'Product web page.'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'root'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'parent'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections/CGLS_FAPAR_V2_GLOBAL',\n", + " 'rel': 'self'}],\n", + " 'stac_extensions': ['https://stac-extensions.github.io/datacube/v2.2.0/schema.json',\n", + " 'https://stac-extensions.github.io/eo/v1.1.0/schema.json'],\n", + " 'stac_version': '0.9.0',\n", + " 'title': 'Copernicus Global Land FAPAR product V2, 1km resolution, 10-daily'},\n", + " {'description': 'Global LAI at 1km resolution, 10-daily. The Leaf Area Index is defined as half the total area of green elements of the canopy per unit horizontal ground area. The satellite-derived value corresponds to the total green LAI of all the canopy layers, including the understory which may represent a very significant contribution, particularly for forests. Practically, the LAI quantifies the thickness of the vegetation cover.',\n", + " 'extent': {'spatial': {'bbox': [[-180.00446428571428,\n", + " -59.9955357,\n", + " 179.9955357,\n", + " 80.0044643]]},\n", + " 'temporal': {'interval': [['1999-01-01T00:00:00Z',\n", + " '2020-06-30T00:00:00Z']]}},\n", + " 'id': 'CGLS_LAI_V2_GLOBAL',\n", + " 'license': 'free',\n", + " 'links': [{'href': 'https://land.copernicus.eu/global/products/lai',\n", + " 'rel': 'alternate',\n", + " 'title': 'Product web page.'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'root'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'parent'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections/CGLS_LAI_V2_GLOBAL',\n", + " 'rel': 'self'}],\n", + " 'stac_extensions': ['https://stac-extensions.github.io/datacube/v2.2.0/schema.json',\n", + " 'https://stac-extensions.github.io/eo/v1.1.0/schema.json'],\n", + " 'stac_version': '0.9.0',\n", + " 'title': 'Copernicus Global Land LAI product V2, 1km resolution, 10-daily'},\n", + " {'description': 'Global FCOVER at 1km resolution, 10-daily. ',\n", + " 'extent': {'spatial': {'bbox': [[-180.00446428571428,\n", + " -59.9955357,\n", + " 179.9955357,\n", + " 80.0044643]]},\n", + " 'temporal': {'interval': [['1999-01-01T00:00:00Z',\n", + " '2020-06-30T00:00:00Z']]}},\n", + " 'id': 'CGLS_FCOVER_V2_GLOBAL',\n", + " 'license': 'free',\n", + " 'links': [{'href': 'https://land.copernicus.eu/global/products/fcover',\n", + " 'rel': 'alternate',\n", + " 'title': 'Product web page.'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'root'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'parent'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections/CGLS_FCOVER_V2_GLOBAL',\n", + " 'rel': 'self'}],\n", + " 'stac_extensions': ['https://stac-extensions.github.io/datacube/v2.2.0/schema.json',\n", + " 'https://stac-extensions.github.io/eo/v1.1.0/schema.json'],\n", + " 'stac_version': '0.9.0',\n", + " 'title': 'Copernicus Global Land FCOVER product V2, 1km resolution, 10-daily'},\n", + " {'description': 'Global LAI at 300m resolution, 10-daily. The Leaf Area Index is defined as half the total area of green elements of the canopy per unit horizontal ground area. The satellite-derived value corresponds to the total green LAI of all the canopy layers, including the understory which may represent a very significant contribution, particularly for forests. Practically, the LAI quantifies the thickness of the vegetation cover.',\n", + " 'extent': {'spatial': {'bbox': [[-180.0014880952381,\n", + " -59.9985119,\n", + " 179.9985119,\n", + " 80.00148809523809]]},\n", + " 'temporal': {'interval': [['2014-01-10T00:00:00Z', None]]}},\n", + " 'id': 'CGLS_LAI300_V1_GLOBAL',\n", + " 'license': 'free',\n", + " 'links': [{'href': 'https://land.copernicus.eu/global/products/lai',\n", + " 'rel': 'alternate',\n", + " 'title': 'Product web page.'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'root'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'parent'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections/CGLS_LAI300_V1_GLOBAL',\n", + " 'rel': 'self'}],\n", + " 'stac_extensions': ['https://stac-extensions.github.io/datacube/v2.2.0/schema.json',\n", + " 'https://stac-extensions.github.io/eo/v1.1.0/schema.json'],\n", + " 'stac_version': '0.9.0',\n", + " 'title': 'Copernicus Global Land LAI product V1, 300m resolution, 10-daily'},\n", + " {'description': 'Global NDVI at 300m resolution, 10-daily. The Normalized Difference Vegetation Index (NDVI) is an indicator of the greenness of the biomes. As such, it is closely linked to the FAPAR.',\n", + " 'extent': {'spatial': {'bbox': [[-180.0014880952381,\n", + " -59.9985119,\n", + " 179.9985119,\n", + " 80.00148809523809]]},\n", + " 'temporal': {'interval': [['2014-01-01T00:00:00Z',\n", + " '2021-01-01T00:00:00Z']]}},\n", + " 'id': 'CGLS_NDVI300_V1_GLOBAL',\n", + " 'license': 'free',\n", + " 'links': [{'href': 'https://land.copernicus.eu/global/products/ndvi',\n", + " 'rel': 'alternate',\n", + " 'title': 'Product web page.'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'root'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'parent'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections/CGLS_NDVI300_V1_GLOBAL',\n", + " 'rel': 'self'}],\n", + " 'stac_extensions': ['https://stac-extensions.github.io/datacube/v2.2.0/schema.json',\n", + " 'https://stac-extensions.github.io/eo/v1.1.0/schema.json'],\n", + " 'stac_version': '0.9.0',\n", + " 'title': 'Copernicus Global Land NDVI product V1, 300m resolution, 10-daily'},\n", + " {'description': 'Global FCOVER at 300m resolution, 10-daily. ',\n", + " 'extent': {'spatial': {'bbox': [[-180.0014880952381,\n", + " -59.9985119,\n", + " 179.9985119,\n", + " 80.00148809523809]]},\n", + " 'temporal': {'interval': [['2014-01-01T00:00:00Z', None]]}},\n", + " 'id': 'CGLS_FCOVER300_V1_GLOBAL',\n", + " 'license': 'free',\n", + " 'links': [{'href': 'https://land.copernicus.eu/global/products/fcover',\n", + " 'rel': 'alternate',\n", + " 'title': 'Product web page.'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'root'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'parent'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections/CGLS_FCOVER300_V1_GLOBAL',\n", + " 'rel': 'self'}],\n", + " 'stac_extensions': ['https://stac-extensions.github.io/datacube/v2.2.0/schema.json',\n", + " 'https://stac-extensions.github.io/eo/v1.1.0/schema.json'],\n", + " 'stac_version': '0.9.0',\n", + " 'title': 'Copernicus Global Land FCOVER product V1, 300m resolution, 10-daily'},\n", + " {'description': 'Global FAPAR at 300m resolution, 10-daily. The FAPAR quantifies the fraction of the solar radiation absorbed by live leaves for the photosynthesis activity. Then, it refers only to the green and alive elements of the canopy. The FAPAR depends on the canopy structure, vegetation element optical properties, atmospheric conditions, and angular configuration. To overcome this latter dependency, a daily integrated FAPAR value is assessed.\\n\\nFAPAR is recognized as an Essential Climate Variable (ECV) by the Global Climate Observing System (GCOS).',\n", + " 'extent': {'spatial': {'bbox': [[-180.0014880952381,\n", + " -59.9985119,\n", + " 179.9985119,\n", + " 80.00148809523809]]},\n", + " 'temporal': {'interval': [['2014-01-01T00:00:00Z', None]]}},\n", + " 'id': 'CGLS_FAPAR300_V1_GLOBAL',\n", + " 'license': 'free',\n", + " 'links': [{'href': 'https://land.copernicus.eu/global/products/fapar',\n", + " 'rel': 'alternate',\n", + " 'title': 'Product web page.'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'root'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'parent'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections/CGLS_FAPAR300_V1_GLOBAL',\n", + " 'rel': 'self'}],\n", + " 'stac_extensions': ['https://stac-extensions.github.io/datacube/v2.2.0/schema.json',\n", + " 'https://stac-extensions.github.io/eo/v1.1.0/schema.json'],\n", + " 'stac_version': '0.9.0',\n", + " 'title': 'Copernicus Global Land fAPAR product V1, 300m resolution, 10-daily'},\n", + " {'description': 'Global NDVI at 300m resolution, 10-daily. The Normalized Difference Vegetation Index (NDVI) is an indicator of the greenness of the biomes. As such, it is closely linked to the FAPAR. The CGLS Collection 300m NDVI V2 product is based on data from the Sentinel-3A and -3B OLCI sensor.',\n", + " 'extent': {'spatial': {'bbox': [[-180.0014880952381,\n", + " -59.9985119,\n", + " 179.9985119,\n", + " 80.00148809523809]]},\n", + " 'temporal': {'interval': [['2020-07-01T00:00:00Z', None]]}},\n", + " 'id': 'CGLS_NDVI300_V2_GLOBAL',\n", + " 'license': 'free',\n", + " 'links': [{'href': 'https://land.copernicus.eu/global/products/ndvi',\n", + " 'rel': 'alternate',\n", + " 'title': 'Product web page.'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'root'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'parent'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections/CGLS_NDVI300_V2_GLOBAL',\n", + " 'rel': 'self'}],\n", + " 'stac_extensions': ['https://stac-extensions.github.io/datacube/v2.2.0/schema.json',\n", + " 'https://stac-extensions.github.io/eo/v1.1.0/schema.json'],\n", + " 'stac_version': '0.9.0',\n", + " 'title': 'Copernicus Global Land NDVI product V2, 300m resolution, 10-daily'},\n", + " {'description': 'Global NDVI at 1km resolution, 10-daily. The Normalized Difference Vegetation Index (NDVI) is an indicator of the greenness of the biomes. As such, it is closely linked to the FAPAR.',\n", + " 'extent': {'spatial': {'bbox': [[-180.00446428571428,\n", + " -59.9955357,\n", + " 179.9955357,\n", + " 80.0044643]]},\n", + " 'temporal': {'interval': [['1999-01-01T00:00:00Z',\n", + " '2020-06-21T00:00:00Z']]}},\n", + " 'id': 'CGLS_NDVI_V3_GLOBAL',\n", + " 'license': 'free',\n", + " 'links': [{'href': 'https://land.copernicus.eu/global/products/ndvi',\n", + " 'rel': 'alternate',\n", + " 'title': 'Product web page.'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'root'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'parent'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections/CGLS_NDVI_V3_GLOBAL',\n", + " 'rel': 'self'}],\n", + " 'stac_extensions': ['https://stac-extensions.github.io/datacube/v2.2.0/schema.json',\n", + " 'https://stac-extensions.github.io/eo/v1.1.0/schema.json'],\n", + " 'stac_version': '0.9.0',\n", + " 'title': 'Copernicus Global Land NDVI product V3, 1km resolution, 10-daily'},\n", + " {'description': 'Global NDVI at 1km resolution, 10-daily. The Normalized Difference Vegetation Index (NDVI) is an indicator of the greenness of the biomes. As such, it is closely linked to the FAPAR.',\n", + " 'extent': {'spatial': {'bbox': [[-180.00446428571428,\n", + " -59.9955357,\n", + " 179.9955357,\n", + " 80.0044643]]},\n", + " 'temporal': {'interval': [['1998-04-01T00:00:00Z',\n", + " '2021-01-01T00:00:00Z']]}},\n", + " 'id': 'CGLS_NDVI_V2_GLOBAL',\n", + " 'license': 'free',\n", + " 'links': [{'href': 'https://land.copernicus.eu/global/products/ndvi',\n", + " 'rel': 'alternate',\n", + " 'title': 'Product web page.'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'root'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'parent'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections/CGLS_NDVI_V2_GLOBAL',\n", + " 'rel': 'self'}],\n", + " 'stac_extensions': ['https://stac-extensions.github.io/datacube/v2.2.0/schema.json',\n", + " 'https://stac-extensions.github.io/eo/v1.1.0/schema.json'],\n", + " 'stac_version': '0.9.0',\n", + " 'title': 'Copernicus Global Land NDVI product V2, 1km resolution, 10-daily'},\n", + " {'description': 'Soil Water Index at 1km resolution over Europe, daily. The Soil Water Index quantifies the moisture condition at various depths in the soil. It is mainly driven by the precipitation via the process of infiltration. Soil moisture is a very heterogeneous variable and varies on small scales with soil properties and drainage patterns. Satellite measurements integrate over relative large-scale areas, with the presence of vegetation adding complexity to the interpretation.',\n", + " 'extent': {'spatial': {'bbox': [[-11.0, 35.0, 50.0, 72.0]]},\n", + " 'temporal': {'interval': [['2015-01-01T00:00:00Z', None]]}},\n", + " 'id': 'CGLS_SWI_V1_EUROPE',\n", + " 'license': 'free',\n", + " 'links': [{'href': 'https://land.copernicus.eu/global/products/swi',\n", + " 'rel': 'alternate',\n", + " 'title': 'Product web page.'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'root'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'parent'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections/CGLS_SWI_V1_EUROPE',\n", + " 'rel': 'self'}],\n", + " 'stac_extensions': ['https://stac-extensions.github.io/datacube/v2.2.0/schema.json',\n", + " 'https://stac-extensions.github.io/eo/v1.1.0/schema.json'],\n", + " 'stac_version': '0.9.0',\n", + " 'title': 'Copernicus Land Soil Water Index product V1 over Europe, 1km resolution, daily'},\n", + " {'description': 'DEPRECATED (use SENTINEL1_GRD_SIGMA0) Sentinel 1 GRD Gamma0 combined descending and ascending orbits. Backscatter values are provided as natural number, not in decibel. Provided by Terrascope.\\n\\n Use [this viewer](https://viewer.terrascope.be/?language=en&bbox=2.8531494643539195,50.29627033037724,6.36877446435392,51.454777120718546&overlay=true&bgLayer=Satellite&date=2020-10-15&layer=CGS_S1_GRD_SIGMA0) to explore the data.',\n", + " 'extent': {'spatial': {'bbox': [[-180, -56, 180, 83]]},\n", + " 'temporal': {'interval': [['2015-07-06T00:00:00Z', None]]}},\n", + " 'id': 'TERRASCOPE_S1_GAMMA0_V1',\n", + " 'license': 'free',\n", + " 'links': [{'href': 'https://docs.terrascope.be/#/DataProducts/Sentinel-1/ProductsOverview?id=grd-sigma0',\n", + " 'rel': 'alternate',\n", + " 'title': 'Product web page.'},\n", + " {'href': 'https://services.terrascope.be/wmts/v2',\n", + " 'rel': 'wmts',\n", + " 'wmts:layer': 'CGS_S1_GRD_SIGMA0'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'root'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'parent'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections/TERRASCOPE_S1_GAMMA0_V1',\n", + " 'rel': 'self'}],\n", + " 'providers': [{'name': 'Terrascope/VITO'}],\n", + " 'stac_extensions': ['https://stac-extensions.github.io/datacube/v2.2.0/schema.json',\n", + " 'https://stac-extensions.github.io/eo/v1.1.0/schema.json'],\n", + " 'stac_version': '0.9.0',\n", + " 'title': 'DEPRECATED (use SENTINEL1_GRD_SIGMA0) Sentinel 1 GRD Gamma0 product, VH and VV.'},\n", + " {'description': '[experimental] For C-Scale project experiments only.',\n", + " 'extent': {'spatial': {'bbox': [[-7.8897490815567,\n", + " 36.007460328916,\n", + " -4.001463178213,\n", + " 38.844364822878]],\n", + " 'crs': 'http://www.opengis.net/def/crs/OGC/1.3/CRS84'},\n", + " 'temporal': {'interval': [['2020-12-27T11:20:33Z', '2020-12-30T11:31:07Z']],\n", + " 'trs': 'http://www.opengis.net/def/uom/ISO-8601/0/Gregorian'}},\n", + " 'id': 'SENTINEL2_L1C_INCD',\n", + " 'keywords': ['experimental'],\n", + " 'license': 'proprietary',\n", + " 'links': [{'href': 'http://resto.c-scale.zcu.cz/collections/S2/items',\n", + " 'rel': 'items',\n", + " 'type': 'application/geo+json'},\n", + " {'href': 'https://scihub.copernicus.eu/twiki/pub/SciHubWebPortal/TermsConditions/Sentinel_Data_Terms_and_Conditions.pdf',\n", + " 'rel': 'license',\n", + " 'title': 'Legal notice on the use of Copernicus Sentinel Data and Service Information'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'root'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'parent'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections/SENTINEL2_L1C_INCD',\n", + " 'rel': 'self'}],\n", + " 'providers': [{'name': 'European Union/ESA/Copernicus',\n", + " 'roles': ['producer', 'licensor'],\n", + " 'url': 'https://sentinel.esa.int/web/sentinel/user-guides/sentinel-2-msi'}],\n", + " 'stac_extensions': ['https://stac-extensions.github.io/datacube/v2.2.0/schema.json',\n", + " 'https://stac-extensions.github.io/eo/v1.1.0/schema.json'],\n", + " 'stac_version': '0.9.0',\n", + " 'title': '[experimental] Level 1C Sentinel-2 images'},\n", + " {'description': '[Sentinel-2 Level 2A](https://docs.terrascope.be/#/DataProducts/Sentinel-2/Level2A/Level2A) product, processed from L1C by Sen2Cor. \\n Use the [Terrascope viewer](https://viewer.terrascope.be/?language=nl&bbox=0.9339867511378304,50.14520994379217,6.207424251137831,51.77292299745045&overlay=false&bgLayer=MapBox&date=2019-02-25T03:17:15.000Z&layer=CGS_S2_RADIOMETRY) to explore the data. \\n\\n ',\n", + " 'extent': {'spatial': {'bbox': [[-180, -56, 180, 83]]},\n", + " 'temporal': {'interval': [['2015-07-06T00:00:00Z', None],\n", + " ['2016-11-01T00:00:00Z', None]]}},\n", + " 'id': 'SENTINEL2_L2A',\n", + " 'keywords': ['VITO',\n", + " 'TERRASCOPE',\n", + " 'COPERNICUS',\n", + " 'ESA',\n", + " 'Orthoimagery',\n", + " 'Sentinel-2',\n", + " 'MSI',\n", + " 'Level-2A',\n", + " 'Radiometry',\n", + " 'Plant Resource',\n", + " 'TOC'],\n", + " 'license': 'proprietary',\n", + " 'links': [{'href': 'https://sentinel.esa.int/documents/247904/690755/Sentinel_Data_Legal_Notice',\n", + " 'rel': 'license'},\n", + " {'href': 'https://services.terrascope.be/catalogue/description?collection=urn:eop:VITO:TERRASCOPE_S2_TOC_V2',\n", + " 'rel': 'alternate'},\n", + " {'href': 'https://viewer.terrascope.be/?language=nl&bbox=0.9339867511378304,50.14520994379217,6.207424251137831,51.77292299745045&overlay=false&bgLayer=MapBox&date=2019-02-25T03:17:15.000Z&layer=CGS_S2_RADIOMETRY',\n", + " 'rel': 'alternate'},\n", + " {'href': 'https://services.terrascope.be/wmts/v2',\n", + " 'rel': 'wmts',\n", + " 'wmts:layer': 'CGS_S2_RADIOMETRY'},\n", + " {'href': 'https://collections.eurodatacube.com/sentinel-2-l2a',\n", + " 'rel': 'about',\n", + " 'title': 'Website describing the collection',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://services.sentinel-hub.com/ogc/wmts/7d34803f-511c-4caf-9438-6d72f32c8174',\n", + " 'rel': 'wmts',\n", + " 'wmts:dimensions': {'warnings': True},\n", + " 'wmts:layer': 'TRUE-COLOR'},\n", + " {'href': 'https://docs.sentinel-hub.com/api/latest/api/process/',\n", + " 'rel': 'about',\n", + " 'title': 'Details about running Evalscripts',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/sentinel-2/true_color/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'True Color',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate True Color imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/sentinel-2/false_color_infrared/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'False color',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate False color imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/sentinel-2/swir-rgb/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'SWIR',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate Short Wave Infrared (SWIR) RGB Composite',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/sentinel-2/false-color-urban-rgb/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'False Color Urban',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate False Color Urban imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/sentinel-2/ndvi/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'NDVI',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'NEAREST',\n", + " 'title': 'Evalscript to generate NDVI imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/sentinel-2/ndmi/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'NDMI',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'NEAREST',\n", + " 'title': 'Evalscript to generate NDMI imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/sentinel-2/ndwi/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'NDWI',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'NEAREST',\n", + " 'title': 'Evalscript to generate NDWI imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/sentinel-2/ndsi-visualized/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'NDSI',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'NEAREST',\n", + " 'title': 'Evalscript to generate NDSI imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/sentinel-2/scene-classification/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'Scene Classification',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate Scene Classification imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://sentinels.copernicus.eu/documents/247904/690755/Sentinel_Data_Legal_Notice',\n", + " 'rel': 'license',\n", + " 'title': 'License',\n", + " 'type': 'application/pdf'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'root'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'parent'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections/SENTINEL2_L2A',\n", + " 'rel': 'self'}],\n", + " 'providers': [{'name': 'VITO, on behalf of the Belgian Science Policy Office (BELSPO).',\n", + " 'roles': ['producer', 'licensor'],\n", + " 'url': 'https://terrascope.be'},\n", + " {'description': 'Europe since November 2016, Global since January 2017',\n", + " 'name': 'Sentinel Hub',\n", + " 'roles': ['processor'],\n", + " 'url': 'https://services.sentinel-hub.com'},\n", + " {'description': 'Europe since July 2016',\n", + " 'name': 'Sentinel Hub',\n", + " 'roles': ['processor'],\n", + " 'url': 'https://shservices.mundiwebservices.com'}],\n", + " 'stac_extensions': ['https://stac-extensions.github.io/datacube/v2.2.0/schema.json',\n", + " 'https://stac-extensions.github.io/eo/v1.1.0/schema.json'],\n", + " 'stac_version': '1.0.0',\n", + " 'title': 'Sentinel-2 top of canopy last 2 years over Europe + selected areas, by Terrascope.'},\n", + " {'description': 'Yearly NO2 composites, based on Sentinel-5p data.',\n", + " 'extent': {'spatial': {'bbox': [[-180, -89, 180, 89]]},\n", + " 'temporal': {'interval': [['2019-01-01T00:00:00Z', None]]}},\n", + " 'id': 'TERRASCOPE_S5P_L3_NO2_TY_V1',\n", + " 'license': 'proprietary',\n", + " 'links': [{'href': 'https://sentinel.esa.int/documents/247904/690755/Sentinel_Data_Legal_Notice',\n", + " 'rel': 'license'},\n", + " {'href': 'https://services.terrascope.be/wmts/v2',\n", + " 'rel': 'wmts',\n", + " 'wmts:layer': 'TERRASCOPE_S5P_L3_NO2_TY_V1'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'root'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'parent'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections/TERRASCOPE_S5P_L3_NO2_TY_V1',\n", + " 'rel': 'self'}],\n", + " 'providers': [{'name': 'VITO, on behalf of the Belgian Science Policy Office (BELSPO).',\n", + " 'roles': ['producer', 'licensor'],\n", + " 'url': 'https://terrascope.be'}],\n", + " 'stac_extensions': ['https://stac-extensions.github.io/datacube/v2.2.0/schema.json',\n", + " 'https://stac-extensions.github.io/eo/v1.1.0/schema.json'],\n", + " 'stac_version': '0.9.0',\n", + " 'title': 'Sentinel-5P Yearly NO2, full archive, by Terrascope.'},\n", + " {'description': \"This dataset provides daily surface meteorological data at 0.1°x0.1° spatial resolution for the period from 2015 to present as input for agro-ecological studies. This dataset is based on the hourly ECMWF ERA5 data at surface level and is referred to as AgERA5. Acquisition and pre-processing of the original ERA5 data is a complex and specialized job. By providing the AgERA5 dataset, users are freed from this work and can directly start with meaningful input for their analyses and modelling. To this end, the variables provided in this dataset match the input needs of most agro-ecological models.\\n\\nData were aggregated to daily time steps at the local time zone and corrected towards a finer topography at a 0.1° spatial resolution. The correction to the 0.1° grid was realized by applying grid and variable-specific regression equations to the ERA5 dataset interpolated at 0.1° grid. The equations were trained on ECMWF's operational high-resolution atmospheric model (HRES) at a 0.1° resolution. This way the data is tuned to the finer topography, finer land use pattern and finer land-sea delineation of the ECMWF HRES model.\\n\\nThe data was produced on behalf of the Copernicus Climate Change Service.\\n\\nThis dataset is marked as experimental because the integration in this backend has not yet been fully validated. Use with caution.\",\n", + " 'extent': {'spatial': {'bbox': [[-180.05, -90.05, 179.95, 90.05]]},\n", + " 'temporal': {'interval': [['2015-01-01T00:00:00Z', None]]}},\n", + " 'id': 'AGERA5',\n", + " 'license': 'proprietary',\n", + " 'links': [{'href': 'https://cds.climate.copernicus.eu/cdsapp#!/dataset/sis-agrometeorological-indicators',\n", + " 'rel': 'alternate',\n", + " 'title': 'Product web page.'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'root'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'parent'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections/AGERA5',\n", + " 'rel': 'self'}],\n", + " 'stac_extensions': ['https://stac-extensions.github.io/datacube/v2.2.0/schema.json',\n", + " 'https://stac-extensions.github.io/eo/v1.1.0/schema.json'],\n", + " 'stac_version': '0.9.0',\n", + " 'title': 'ECMWF AGERA5 meteo dataset'},\n", + " {'description': \"PlanetScope is one of the satellite constellation operated by Planet. PlanetScope satellite constellation consists of more than 130 small satellites called Doves. Each Dove satellite is a CubeSat made of three cubic units and thus measures only 10 cm x 10 cm x 30 cm. The satellites are launched in groups, which constantly improves mission's characteristics such as revisit times, spatial and spectral resolutions. The constellation is constantly on and does not require an acquisition planning. PlanetScope is commercial data and has to be ordered by the user\",\n", + " 'extent': {'spatial': {'bbox': [[-180, -90, 180, 90]]},\n", + " 'temporal': {'interval': [['2016-01-01T00:00:00Z', None]]}},\n", + " 'id': 'PLANETSCOPE',\n", + " 'keywords': ['sentinel hub', 'PlanetScope', 'vhr', 'commercial data'],\n", + " 'license': 'various',\n", + " 'links': [{'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'root'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'parent'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections/PLANETSCOPE',\n", + " 'rel': 'self'}],\n", + " 'providers': [{'description': '',\n", + " 'name': 'Sentinel Hub',\n", + " 'roles': ['processor'],\n", + " 'url': 'https://docs.sentinel-hub.com/api/latest/data/planet-scope/'},\n", + " {'description': '',\n", + " 'name': 'Planet',\n", + " 'roles': ['producer'],\n", + " 'url': 'https://www.planet.com/products/planet-imagery/'}],\n", + " 'stac_extensions': ['https://stac-extensions.github.io/datacube/v2.2.0/schema.json',\n", + " 'https://stac-extensions.github.io/eo/v1.1.0/schema.json'],\n", + " 'stac_version': '0.9.0',\n", + " 'title': 'PlanetScope'},\n", + " {'description': 'POPULATION_DENSITY',\n", + " 'extent': {'spatial': {'bbox': [[0, 0, 0, 0],\n", + " [-180, -90, 179.99999999999983, 89.99999999999991]]},\n", + " 'temporal': {'interval': [['2020-05-01T00:00:00Z',\n", + " '2020-05-01T00:00:01Z']]}},\n", + " 'id': 'POPULATION_DENSITY',\n", + " 'license': 'various',\n", + " 'links': [{'href': 'https://collections.eurodatacube.com/population_density',\n", + " 'rel': 'about',\n", + " 'title': 'Website describing the collection',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://services.sentinel-hub.com/ogc/wmts/9b12a1a1-d4ca-45ae-a345-311accb663a5',\n", + " 'rel': 'wmts',\n", + " 'wmts:dimensions': {'warnings': True},\n", + " 'wmts:layer': 'POPULATION-DENSITY'},\n", + " {'href': 'https://docs.sentinel-hub.com/api/latest/api/process/',\n", + " 'rel': 'about',\n", + " 'title': 'Details about running Evalscripts',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://raw.githubusercontent.com/eurodatacube/public-collections/main/collections/population_density/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'Population Density',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate Population Density imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': '', 'rel': 'license', 'title': 'License', 'type': 'text/html'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'root'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'parent'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections/POPULATION_DENSITY',\n", + " 'rel': 'self'}],\n", + " 'stac_extensions': ['https://stac-extensions.github.io/datacube/v2.2.0/schema.json',\n", + " 'https://stac-extensions.github.io/eo/v1.1.0/schema.json'],\n", + " 'stac_version': '1.0.0',\n", + " 'title': 'POPULATION_DENSITY'},\n", + " {'description': \"The [Sentinel-2 mission](https://sentinel.esa.int/web/sentinel/missions/sentinel-2) is\\na land monitoring constellation of two satellites that provide high resolution\\noptical imagery and provide continuity for the current SPOT and Landsat missions.\\nThe mission provides a global coverage of the Earth's land surface every 5 days,\\nmaking the data of great use in on-going studies. L1C data are available from\\nJune 2015 globally. L1C data provide Top of the atmosphere (TOA) reflectance.\\n\",\n", + " 'extent': {'spatial': {'bbox': [[-180, -56, 180, 83],\n", + " [-180.0, -90.0, 180.0, 90.0]]},\n", + " 'temporal': {'interval': [['2015-11-01T00:00:00Z', None],\n", + " ['2015-07-04T00:00:00Z', None]]}},\n", + " 'id': 'SENTINEL2_L1C',\n", + " 'keywords': ['sentinel hub',\n", + " 'xcube',\n", + " 'raster',\n", + " 'systematic',\n", + " 'satellite imagery',\n", + " 'multi spectral imagery',\n", + " 'agriculture',\n", + " 'natural resource',\n", + " 'disaster response',\n", + " 'open data',\n", + " 'race challenges',\n", + " 'copernicus',\n", + " 'sentinel',\n", + " 'esa',\n", + " 'imagery',\n", + " 'reflectance'],\n", + " 'license': 'proprietary',\n", + " 'links': [{'href': 'https://collections.eurodatacube.com/sentinel-2-l1c',\n", + " 'rel': 'about',\n", + " 'title': 'Website describing the collection',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://services.sentinel-hub.com/ogc/wmts/ef291c3e-77fd-43f2-a885-dced9ac1e6a7',\n", + " 'rel': 'wmts',\n", + " 'wmts:dimensions': {'warnings': True},\n", + " 'wmts:layer': 'TRUE-COLOR'},\n", + " {'href': 'https://docs.sentinel-hub.com/api/latest/api/process/',\n", + " 'rel': 'about',\n", + " 'title': 'Details about running Evalscripts',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/sentinel-2/true_color/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'True Color',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate True Color imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/sentinel-2/false_color_infrared/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'False color',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate False color imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/sentinel-2/swir-rgb/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'SWIR',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate Short Wave Infrared (SWIR) RGB Composite',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/sentinel-2/false-color-urban-rgb/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'False Color Urban',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate False Color Urban imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/sentinel-2/ndvi/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'NDVI',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'NEAREST',\n", + " 'title': 'Evalscript to generate NDVI imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/sentinel-2/ndmi/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'NDMI',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'NEAREST',\n", + " 'title': 'Evalscript to generate NDMI imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/sentinel-2/ndwi/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'NDWI',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'NEAREST',\n", + " 'title': 'Evalscript to generate NDWI imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/sentinel-2/ndsi-visualized/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'NDSI',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'NEAREST',\n", + " 'title': 'Evalscript to generate NDSI imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://sentinels.copernicus.eu/documents/247904/690755/Sentinel_Data_Legal_Notice',\n", + " 'rel': 'license',\n", + " 'title': 'License',\n", + " 'type': 'application/pdf'},\n", + " {'href': 'https://stac.eodc.eu/api/v1/collections/SENTINEL2_L1C/items',\n", + " 'rel': 'items',\n", + " 'type': 'application/geo+json'},\n", + " {'href': 'https://doi.org/10.5270/S2_-d8we2fl',\n", + " 'rel': 'cite-as',\n", + " 'type': 'text/html;charset=UTF-8'},\n", + " {'href': 'https://doi.org/10.5270/S2_-742ikth',\n", + " 'rel': 'cite-as',\n", + " 'type': 'text/html;charset=UTF-8'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'root'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'parent'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections/SENTINEL2_L1C',\n", + " 'rel': 'self'}],\n", + " 'providers': [{'description': 'Global since November 2015',\n", + " 'name': 'Sentinel Hub',\n", + " 'roles': ['processor'],\n", + " 'url': 'https://services.sentinel-hub.com'},\n", + " {'description': 'Global since November 2015',\n", + " 'name': 'Sentinel Hub',\n", + " 'roles': ['processor'],\n", + " 'url': 'https://creodias.sentinel-hub.com'},\n", + " {'description': 'Germany since July 2015',\n", + " 'name': 'Sentinel Hub',\n", + " 'roles': ['processor'],\n", + " 'url': 'https://code-de.sentinel-hub.com'},\n", + " {'description': 'Europe coverage since July 2015. Rolling policy of 12 months for World.',\n", + " 'name': 'Sentinel Hub',\n", + " 'roles': ['processor'],\n", + " 'url': 'https://shservices.mundiwebservices.com'},\n", + " {'name': 'ESA',\n", + " 'roles': ['producer', 'processor', 'licensor'],\n", + " 'url': 'https://earth.esa.int/web/guest/home'},\n", + " {'name': 'EODC', 'roles': ['host'], 'url': 'https://eodc.eu/'}],\n", + " 'stac_extensions': ['https://stac-extensions.github.io/datacube/v2.2.0/schema.json',\n", + " 'https://stac-extensions.github.io/eo/v1.1.0/schema.json',\n", + " 'https://stac-extensions.github.io/sat/v1.0.0/schema.json',\n", + " 'https://stac-extensions.github.io/eo/v1.0.0/schema.json',\n", + " 'https://stac-extensions.github.io/projection/v1.1.0/schema.json',\n", + " 'https://stac-extensions.github.io/alternate-assets/v1.1.0/schema.json',\n", + " 'https://stac-extensions.github.io/item-assets/v1.0.0/schema.json',\n", + " 'https://stac-extensions.github.io/datacube/v2.0.0/schema.json',\n", + " 'https://stac-extensions.github.io/timestamps/v1.0.0/schema.json'],\n", + " 'stac_version': '1.0.0',\n", + " 'title': 'Sentinel-2 L1C'},\n", + " {'description': 'Tree Cover Density shows the level of tree cover density (ranging 0-100%). This collection is resampled and stored at a 10m x 10m resolution. \\n For further information on Tree Cover Density see [here](https://land.copernicus.eu/pan-european/high-resolution-layers/forests/tree-cover-density/status-maps)',\n", + " 'extent': {'spatial': {'bbox': [[-32.091997820189285,\n", + " 31.6977150076753,\n", + " 55.116146716432254,\n", + " 72.11413813793037]]},\n", + " 'temporal': {'interval': [['2012-01-01T00:00:00Z',\n", + " '2018-01-01T00:00:00Z']]}},\n", + " 'id': 'tree_cover_density',\n", + " 'keywords': ['EODC', 'Copernicus', 'ARD', 'Level-3'],\n", + " 'license': 'proprietary',\n", + " 'links': [{'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'root'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'parent'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections/tree_cover_density',\n", + " 'rel': 'self'}],\n", + " 'stac_extensions': ['https://stac-extensions.github.io/datacube/v2.0.0/schema.json',\n", + " 'https://stac-extensions.github.io/item-assets/v1.0.0/schema.json',\n", + " 'https://github.com/stac-extensions/eo'],\n", + " 'stac_version': '1.0.0',\n", + " 'title': 'High Resolution Layer: Tree Cover Density'},\n", + " {'description': 'Forest is type consists of both dominant leaf type (MMU 0.5 ha), and a support layer mapping trees under agricultural use, or in an urban context. This collection is resampled and stored at a 10m x 10m resolution. \\n For further information on Forest Type see [here](https://land.copernicus.eu/pan-european/high-resolution-layers/forests/forest-type-1)',\n", + " 'extent': {'spatial': {'bbox': [[-32.091997820189285,\n", + " 31.6977150076753,\n", + " 55.116146716432254,\n", + " 72.11413813793037]]},\n", + " 'temporal': {'interval': [['2012-01-01T00:00:00Z',\n", + " '2018-01-01T00:00:00Z']]}},\n", + " 'id': 'forest_type',\n", + " 'keywords': ['EODC', 'Copernicus', 'ARD', 'Level-3'],\n", + " 'license': 'proprietary',\n", + " 'links': [{'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'root'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'parent'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections/forest_type',\n", + " 'rel': 'self'}],\n", + " 'stac_extensions': ['https://stac-extensions.github.io/datacube/v2.0.0/schema.json',\n", + " 'https://stac-extensions.github.io/item-assets/v1.0.0/schema.json',\n", + " 'https://github.com/stac-extensions/eo'],\n", + " 'stac_version': '1.0.0',\n", + " 'title': 'High Resolution Layer: Forest Type'},\n", + " {'description': 'Preprocessed analysis-ready-data (ARD) from Landsat-8 processed with FORCE. ARD data can only be combined with other ARD data or loaded results of previous processed jobs. ARD data cannot be combined with Level-1 collections! As this is Level-2 (ARD) data, ARD processes (``ard_normalized_radar_backscatter()``, ``ard_surface_reflectance()``, ``sar_backscatter()``, ``atmospheric_correction()``) cannot be applied.',\n", + " 'extent': {'spatial': {'bbox': [[5.014148226142465,\n", + " 42.50120437013096,\n", + " 18.59706624229073,\n", + " 51.419674834228985]]},\n", + " 'temporal': {'interval': [['2015-01-04T12:00:00Z',\n", + " '2020-12-26T12:00:00Z']]}},\n", + " 'id': 'boa_landsat_8',\n", + " 'keywords': ['EODC', 'NASA', 'Landsat-8', 'Level-2'],\n", + " 'license': 'proprietary',\n", + " 'links': [{'href': 'https://openeo.eodc.eu/openeo/1.1.0/collections',\n", + " 'rel': 'about'},\n", + " {'href': 'https://openeo.eodc.eu/openeo/1.1.0/collections', 'rel': 'cloud'},\n", + " {'href': 'https://openeo.eodc.eu/openeo/1.1.0/collections',\n", + " 'rel': 'related'},\n", + " {'href': 'https://openeo.eodc.eu/openeo/1.1.0/collections',\n", + " 'rel': 'water-vapor'},\n", + " {'href': 'https://openeo.eodc.eu/openeo/1.1.0/collections',\n", + " 'rel': 'cloud-shadow'},\n", + " {'href': 'https://openeo.eodc.eu/openeo/1.1.0/collections',\n", + " 'rel': 'card4l-document'},\n", + " {'href': 'https://openeo.eodc.eu/openeo/1.1.0/collections',\n", + " 'rel': 'elevation-model'},\n", + " {'href': 'https://openeo.eodc.eu/openeo/1.1.0/collections',\n", + " 'rel': 'atmospheric-scattering'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'root'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'parent'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections/boa_landsat_8',\n", + " 'rel': 'self'}],\n", + " 'stac_extensions': ['https://stac-extensions.github.io/datacube/v2.0.0/schema.json',\n", + " 'https://stac-extensions.github.io/item-assets/v1.0.0/schema.json',\n", + " 'https://github.com/stac-extensions/eo'],\n", + " 'stac_version': '1.0.0',\n", + " 'title': 'Landsat-8 bottom of atmosphere at 30m resolution, limited area'},\n", + " {'description': 'The Copernicus Global Land Surface Soil Moisture product (CGLS_SSM) displays the relative water content of the top few centimetres soil, describing how wet or dry the soil is in its topmost layer, expressed in percent saturation. Input for the product are the Sentinel-1 C-band SAR backscatter values. Further information can be found [here] (https://land.copernicus.eu/global/products/ssm) and in Bauer-Marschallinger et al., 2018. ',\n", + " 'extent': {'spatial': {'bbox': [[-25.81979937879616,\n", + " 31.602457597935924,\n", + " 58.39398229109195,\n", + " 76.95632595060702]]},\n", + " 'temporal': {'interval': [['2018-12-16T00:00:00Z',\n", + " '2022-04-04T00:00:00Z']]}},\n", + " 'id': 'CGLS_SSM_1KM',\n", + " 'keywords': ['EODC', 'Copernicus', 'Level-3'],\n", + " 'license': 'proprietary',\n", + " 'links': [{'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'root'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'parent'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections/CGLS_SSM_1KM',\n", + " 'rel': 'self'}],\n", + " 'stac_extensions': ['https://stac-extensions.github.io/datacube/v2.0.0/schema.json',\n", + " 'https://stac-extensions.github.io/item-assets/v1.0.0/schema.json',\n", + " 'https://github.com/stac-extensions/eo'],\n", + " 'stac_version': '1.0.0',\n", + " 'title': 'Copernicus Global Land Surface Soil Moisture'},\n", + " {'description': 'The CORINE Land Cover (CLC) inventory began in 1985, consisting of 44 land cover classes. This collection is resampled and stored at a 10m x 10m resolution. For further information on CORINE land cover see [here](https://land.copernicus.eu/pan-european/corine-land-cover)',\n", + " 'extent': {'spatial': {'bbox': [[-32.091997820189285,\n", + " 31.6977150076753,\n", + " 55.116146716432254,\n", + " 72.11413813793037]]},\n", + " 'temporal': {'interval': [['2000-12-15T00:00:00Z',\n", + " '2018-12-15T00:00:00Z']]}},\n", + " 'id': 'corine_land_cover',\n", + " 'keywords': ['EODC', 'Copernicus', 'ARD', 'Level-3'],\n", + " 'license': 'proprietary',\n", + " 'links': [{'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'root'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'parent'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections/corine_land_cover',\n", + " 'rel': 'self'}],\n", + " 'stac_extensions': ['https://stac-extensions.github.io/datacube/v2.0.0/schema.json',\n", + " 'https://stac-extensions.github.io/item-assets/v1.0.0/schema.json',\n", + " 'https://github.com/stac-extensions/eo'],\n", + " 'stac_version': '1.0.0',\n", + " 'title': 'CORINE Land Cover'},\n", + " {'description': 'Preprocessed analysis-ready-data (ARD) from Sentinel-2 processed with FORCE. ARD data can only be combined with other ARD data or loaded results of previous processed jobs. ARD data cannot be combined with Level-1 collections! As this is Level-2 (ARD) data, ARD processes (``ard_normalized_radar_backscatter()``, ``ard_surface_reflectance()``, ``sar_backscatter()``, ``atmospheric_correction()``) cannot be applied.',\n", + " 'extent': {'spatial': {'bbox': [[1.4211922929976784,\n", + " 41.388795496730424,\n", + " 19.38022689396854,\n", + " 52.43260595832486]]},\n", + " 'temporal': {'interval': [['2015-07-04T12:00:00Z',\n", + " '2021-06-22T12:00:00Z']]}},\n", + " 'id': 'boa_sentinel_2',\n", + " 'keywords': ['EODC', 'MSI', 'ESA', 'Copernicus', 'Sentinel-2', 'Level-2'],\n", + " 'license': 'proprietary',\n", + " 'links': [{'href': 'https://openeo.eodc.eu/openeo/1.1.0/collections',\n", + " 'rel': 'about'},\n", + " {'href': 'https://openeo.eodc.eu/openeo/1.1.0/collections', 'rel': 'cloud'},\n", + " {'href': 'https://openeo.eodc.eu/openeo/1.1.0/collections',\n", + " 'rel': 'snow-ice'},\n", + " {'href': 'https://openeo.eodc.eu/openeo/1.1.0/collections',\n", + " 'rel': 'land-water'},\n", + " {'href': 'https://openeo.eodc.eu/openeo/1.1.0/collections',\n", + " 'rel': 'water-vapor'},\n", + " {'href': 'https://openeo.eodc.eu/openeo/1.1.0/collections',\n", + " 'rel': 'cloud-shadow'},\n", + " {'href': 'https://openeo.eodc.eu/openeo/1.1.0/collections',\n", + " 'rel': 'card4l-document'},\n", + " {'href': 'https://openeo.eodc.eu/openeo/1.1.0/collections',\n", + " 'rel': 'elevation-model'},\n", + " {'href': 'https://openeo.eodc.eu/openeo/1.1.0/collections',\n", + " 'rel': 'atmospheric-scattering'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'root'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'parent'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections/boa_sentinel_2',\n", + " 'rel': 'self'}],\n", + " 'stac_extensions': ['https://stac-extensions.github.io/datacube/v2.0.0/schema.json',\n", + " 'https://stac-extensions.github.io/item-assets/v1.0.0/schema.json',\n", + " 'https://github.com/stac-extensions/eo'],\n", + " 'stac_version': '1.0.0',\n", + " 'title': 'Sentinel-2 bottom of atmosphere at 10m resolution, limited area'},\n", + " {'description': 'This collection contains reference rice paddy field maps derived from [ALOS-2 ScanSAR](https://alos-pasco.com/en/alos-2/spec/)\\ngeometrically corrected (orthorectified) data in selected AOIs between 2019 and 2020 for NASA/ESA/JAXA EODashboard Hackathon.\\nThe reference map is described in the digital code as 255: rice paddy field, 0: others.\\n',\n", + " 'extent': {'spatial': {'bbox': [[-123.518, 8.85, 106.11, 42.389],\n", + " [104.86, 8.85, 106.11, 10.37],\n", + " [-123.518, 38.672, -120.1, 42.389]]},\n", + " 'temporal': {'interval': [['2019-03-01T00:00:00Z',\n", + " '2020-03-01T00:00:00Z']]}},\n", + " 'id': 'ALOS_PALSAR2_RICE_PADDY_FIELD_MAP',\n", + " 'license': '',\n", + " 'links': [{'href': 'https://collections.eurodatacube.com/alos-2-palsar-2-scansar-rice-fields-map',\n", + " 'rel': 'about',\n", + " 'title': 'Website describing the collection',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://docs.sentinel-hub.com/api/latest/api/process/',\n", + " 'rel': 'about',\n", + " 'title': 'Details about running Evalscripts',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://raw.githubusercontent.com/eurodatacube/public-collections/main/collections/alos-2-palsar-2-scansar-rice-fields-map/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'Reference Rice Paddy Map',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate Reference Rice Paddy Map imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': '', 'rel': 'license', 'title': 'License', 'type': 'text/html'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'root'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'parent'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections/ALOS_PALSAR2_RICE_PADDY_FIELD_MAP',\n", + " 'rel': 'self'}],\n", + " 'stac_extensions': ['https://stac-extensions.github.io/datacube/v2.2.0/schema.json',\n", + " 'https://stac-extensions.github.io/eo/v1.1.0/schema.json'],\n", + " 'stac_version': '1.0.0'},\n", + " {'description': 'This [ALOS-2 ScanSAR](https://alos-pasco.com/en/alos-2/spec/) L2.1 product contains geometrically corrected (orthorectified) \\ndata in selected AOIs between 2019 and 2020 for NASA/ESA/JAXA EODashboard Hackathon. \\nThe PALSAR-2 aboard the ALOS-2 is a Synthetic Aperture Radar (SAR), which emits microwave and receives the reflection \\nfrom the ground to acquire information. Since it does not need other sources of light such as the sun, SAR has the \\nadvantage of providing satellite images during day or night. For transmitting and receiving microwaves PALSAR-2 uses \\nthe L-band, which is less affected by clouds and rains. This all-weather observing capability is suitable for \\nmonitoring disasters rapidly. In addition, L-band microwave can reach to the ground partially penetrating through \\nvegetation to obtain information about vegetation and ground surface.\\nScanSAR is wide swath mode with 100m spatial resolution, 350km width swath, and dual polarization (HH/HV).\\n',\n", + " 'extent': {'spatial': {'bbox': [[-123.518, 8.85, 106.11, 42.389],\n", + " [104.86, 8.85, 106.11, 10.37],\n", + " [-123.518, 38.672, -120.1, 42.389]]},\n", + " 'temporal': {'interval': [['2019-02-06T00:00:00Z',\n", + " '2020-10-16T00:00:00Z']]}},\n", + " 'id': 'ALOS_PALSAR2_AGRICULTURE',\n", + " 'license': '',\n", + " 'links': [{'href': 'https://collections.eurodatacube.com/alos-2-palsar-2-scansar-for-agriculture',\n", + " 'rel': 'about',\n", + " 'title': 'Website describing the collection',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://docs.sentinel-hub.com/api/latest/api/process/',\n", + " 'rel': 'about',\n", + " 'title': 'Details about running Evalscripts',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://raw.githubusercontent.com/eurodatacube/public-collections/main/collections/alos-2-palsar-2-scansar-for-agriculture/hh_script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'HH',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate HH imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://raw.githubusercontent.com/eurodatacube/public-collections/main/collections/alos-2-palsar-2-scansar-for-agriculture/hv_script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'HV',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate HV imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': '', 'rel': 'license', 'title': 'License', 'type': 'text/html'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'root'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'parent'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections/ALOS_PALSAR2_AGRICULTURE',\n", + " 'rel': 'self'}],\n", + " 'stac_extensions': ['https://stac-extensions.github.io/datacube/v2.2.0/schema.json',\n", + " 'https://stac-extensions.github.io/eo/v1.1.0/schema.json'],\n", + " 'stac_version': '1.0.0'},\n", + " {'description': 'This [ALOS-2 PALSAR-2](https://alos-pasco.com/en/alos-2/spec/) Strip Map (SM1 with 3m single polarization ) L2.1 product contains\\ngeometrically corrected (orthorectified) in selected AOIs between 2019 and 2020 for NASA/ESA/JAXA EODashboard Hackathon. \\nThe PALSAR-2 aboard the ALOS-2 is a Synthetic Aperture Radar (SAR), which emits microwave and receives the reflection \\nfrom the ground to acquire information. Since it does not need other sources of light such as the sun, SAR has the \\nadvantage of providing satellite images during day or night. For transmitting and receiving microwaves PALSAR-2 uses \\nthe L-band, which is less affected by clouds and rains. This all-weather observing capability is suitable for \\nmonitoring disasters rapidly. In addition, L-band microwave can reach to the ground partially penetrating through \\nvegetation to obtain information about vegetation and ground surface.\\nData for Tokyo and Los Angeles are Strip Map mode 1 (SM1) which is fine mode with 3m spatial resolution with 50km width swath and single polarization (HH).\\n',\n", + " 'extent': {'spatial': {'bbox': [[-118.002, 33.707, 139.897, 35.965],\n", + " [-118.002, 33.707, -117.869, 34.226],\n", + " [139.651, 35.267, 139.897, 35.965]]},\n", + " 'temporal': {'interval': [['2019-03-21T00:00:00Z',\n", + " '2021-04-18T00:00:00Z']]}},\n", + " 'id': 'ALOS_PALSAR2_L2_1_3M',\n", + " 'license': '',\n", + " 'links': [{'href': 'https://collections.eurodatacube.com/alos-2-palsar-2-stripmap-for-economy-sm1',\n", + " 'rel': 'about',\n", + " 'title': 'Website describing the collection',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://docs.sentinel-hub.com/api/latest/api/process/',\n", + " 'rel': 'about',\n", + " 'title': 'Details about running Evalscripts',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://raw.githubusercontent.com/eurodatacube/public-collections/main/collections/alos-2-palsar-2-stripmap-for-economy-sm1/hh_script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'HH',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate HH imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': '', 'rel': 'license', 'title': 'License', 'type': 'text/html'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'root'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'parent'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections/ALOS_PALSAR2_L2_1_3M',\n", + " 'rel': 'self'}],\n", + " 'stac_extensions': ['https://stac-extensions.github.io/datacube/v2.2.0/schema.json',\n", + " 'https://stac-extensions.github.io/eo/v1.1.0/schema.json'],\n", + " 'stac_version': '1.0.0'},\n", + " {'description': 'This [ALOS-2 PALSAR-2](https://alos-pasco.com/en/alos-2/spec/) Strip Map (SM1 with 3m single/dual polarization or SM3 with 10m dual polarization) L2.1 product contains\\ngeometrically corrected (orthorectified) in selected AOIs between 2019 and 2020 for NASA/ESA/JAXA EODashboard Hackathon. \\nThe PALSAR-2 aboard the ALOS-2 is a Synthetic Aperture Radar (SAR), which emits microwave and receives the reflection \\nfrom the ground to acquire information. Since it does not need other sources of light such as the sun, SAR has the \\nadvantage of providing satellite images during day or night. For transmitting and receiving microwaves PALSAR-2 uses \\nthe L-band, which is less affected by clouds and rains. This all-weather observing capability is suitable for \\nmonitoring disasters rapidly. In addition, L-band microwave can reach to the ground partially penetrating through \\nvegetation to obtain information about vegetation and ground surface. \\nData for Paris and Dunkirk are Strip Map mode 3 (SM3) which is fine mode with 10m spatial resolution with 70km width swath and dual polarization (HH/HV),\\nwhile Beijing data is both Strip Map mode 3 (SM3) and Strip Map mode 1 (SM1) which is also fine mode with 3m spatial resolution with 50km width swath and dual polarization (HH/HV).\\n',\n", + " 'extent': {'spatial': {'bbox': [[-118.002, 33.707, 139.897, 51.587],\n", + " [3.111, 48.519, 3.672, 49.004],\n", + " [1.127, 50.466, 3.204, 51.587],\n", + " [-118.002, 33.707, -117.869, 34.226],\n", + " [116.283, 39.637, 117.247, 40.129],\n", + " [139.651, 35.267, 139.897, 35.965]]},\n", + " 'temporal': {'interval': [['2019-03-06T00:00:00Z',\n", + " '2021-04-08T00:00:00Z']]}},\n", + " 'id': 'ALOS_PALSAR2_L2_1_10M',\n", + " 'license': '',\n", + " 'links': [{'href': 'https://collections.eurodatacube.com/alos-2-palsar-2-stripmap-for-economy',\n", + " 'rel': 'about',\n", + " 'title': 'Website describing the collection',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://docs.sentinel-hub.com/api/latest/api/process/',\n", + " 'rel': 'about',\n", + " 'title': 'Details about running Evalscripts',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://raw.githubusercontent.com/eurodatacube/public-collections/main/collections/alos-2-palsar-2-stripmap-for-economy/hh_script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'HH',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate HH imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://raw.githubusercontent.com/eurodatacube/public-collections/main/collections/alos-2-palsar-2-stripmap-for-economy/hv_script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'HV',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate HV imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': '', 'rel': 'license', 'title': 'License', 'type': 'text/html'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'root'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'parent'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections/ALOS_PALSAR2_L2_1_10M',\n", + " 'rel': 'self'}],\n", + " 'stac_extensions': ['https://stac-extensions.github.io/datacube/v2.2.0/schema.json',\n", + " 'https://stac-extensions.github.io/eo/v1.1.0/schema.json'],\n", + " 'stac_version': '1.0.0'},\n", + " {'description': 'The S2GLC 2017 product represents land cover classification of a major portion of the European continent. The classification has been performed using multi-temporal Sentinel-2 data collected during the year 2017 with the methodology developed in the frame of the Sentinel-2 Global Land Cover (S2GLC) project. The S2GLC 2017 dataset is delivered with 10 m spatial resolution with thematic legend composed of 13 land cover classes',\n", + " 'extent': {'spatial': {'bbox': [[-33.56847525983416,\n", + " 31.857766985498905,\n", + " 62.19564440228477,\n", + " 72.37088743023797]]},\n", + " 'temporal': {'interval': [['2017-01-01T00:00:00Z',\n", + " '2017-01-01T00:00:01Z']]}},\n", + " 'id': 'CAMS_GLC',\n", + " 'license': '',\n", + " 'links': [{'href': 'https://collections.eurodatacube.com/cams_glc_2017',\n", + " 'rel': 'about',\n", + " 'title': 'Website describing the collection',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://docs.sentinel-hub.com/api/latest/api/process/',\n", + " 'rel': 'about',\n", + " 'title': 'Details about running Evalscripts',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://raw.githubusercontent.com/eurodatacube/public-collections/main/collections/cams_glc_2017/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'Land Cover Classification',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate Land Cover Classification imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': '', 'rel': 'license', 'title': 'License', 'type': 'text/html'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'root'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'parent'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections/CAMS_GLC',\n", + " 'rel': 'self'}],\n", + " 'stac_extensions': ['https://stac-extensions.github.io/datacube/v2.2.0/schema.json',\n", + " 'https://stac-extensions.github.io/eo/v1.1.0/schema.json'],\n", + " 'stac_version': '1.0.0'},\n", + " {'description': 'Chlorophyll anomaly maps for 3 sites: Lagoon Venice, Marseille and Barcelona regions',\n", + " 'extent': {'spatial': {'bbox': [[0.4982046708598385,\n", + " 40.498973093940286,\n", + " 13.82206392288208,\n", + " 45.80052375793457]]},\n", + " 'temporal': {'interval': [['2020-01-04T00:00:00Z', None]]}},\n", + " 'id': 'CNR_CHL',\n", + " 'license': '',\n", + " 'links': [{'href': 'https://collections.eurodatacube.com/chl_water_quality_saturday',\n", + " 'rel': 'about',\n", + " 'title': 'Website describing the collection',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://docs.sentinel-hub.com/api/latest/api/process/',\n", + " 'rel': 'about',\n", + " 'title': 'Details about running Evalscripts',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://raw.githubusercontent.com/eurodatacube/public-collections/main/collections/chl_water_quality_saturday/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'Chlorophyll Anomaly Map',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate Chlorophyll Anomaly Map imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': '', 'rel': 'license', 'title': 'License', 'type': 'text/html'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'root'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'parent'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections/CNR_CHL',\n", + " 'rel': 'self'}],\n", + " 'stac_extensions': ['https://stac-extensions.github.io/datacube/v2.2.0/schema.json',\n", + " 'https://stac-extensions.github.io/eo/v1.1.0/schema.json'],\n", + " 'stac_version': '1.0.0'},\n", + " {'description': 'The CNES Land Cover Map (Occupation des Sols, OSO) produces land classification for Metropolitan France at 10 m spatial resolution based on Sentinel-2 L2A data within the Theia Land Cover CES framework.\\nMaps for 2021, 2020, 2019, and 2018 use a 23-categories nomenclature. For earlier maps in 2017 and 2016, a fully compatible 17-classes nomenclature is employed.\\n',\n", + " 'extent': {'spatial': {'bbox': [[-6.26, 40.46, 11.85, 51.45]]},\n", + " 'temporal': {'interval': [['2016-01-01T00:00:00Z',\n", + " '2021-01-01T00:00:00Z']]}},\n", + " 'id': 'CNES_LAND_COVER_MAP',\n", + " 'license': 'proprietary',\n", + " 'links': [{'href': 'https://collections.eurodatacube.com/cnes-land-cover-map',\n", + " 'rel': 'about',\n", + " 'title': 'Website describing the collection',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://docs.sentinel-hub.com/api/latest/api/process/',\n", + " 'rel': 'about',\n", + " 'title': 'Details about running Evalscripts',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/other_collections/cnes/cnes_land_cover_classification/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'CNES Land Cover Map',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to visualise CNES Land Cover Map imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/other_collections/cnes/cnes_land_cover_confidence/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'CNES Land Cover Classifier Confidence',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to visualise the classifier confidence',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/other_collections/cnes/cnes_land_cover_validity/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'CNES Land Cover Validity',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to visualise the CNES Land Cover Validity',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://collections.eurodatacube.com/cnes-land-cover-map/readme.html#band-information',\n", + " 'rel': 'about',\n", + " 'title': 'Nomenclature mapping - band values CNES Land Cover Map labels - Legend used for 2021, 2020, 2019 and 2018 data',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://theia.cnes.fr/atdistrib/documents/Licence-Theia-CNES-Sentinel-ETALAB-v2.0-en.pdf',\n", + " 'rel': 'license',\n", + " 'title': 'License',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'root'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'parent'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections/CNES_LAND_COVER_MAP',\n", + " 'rel': 'self'}],\n", + " 'stac_extensions': ['https://stac-extensions.github.io/datacube/v2.2.0/schema.json',\n", + " 'https://stac-extensions.github.io/eo/v1.1.0/schema.json'],\n", + " 'stac_version': '1.0.0'},\n", + " {'description': 'This online platform uses data from the Copernicus Sentinel-5P satellite and shows the averaged carbon monoxide concentrations across the globe — using a 3-day moving average. Using a 3 day average eliminates most data gaps and improves data quality by reducing random noise. Satellite measurements of concentrations of pollutants like Carbon Monoxide, having a life-time in the atmosphere of about 1 month, can be used to monitor trans-boundary movement of air pollution.\\nCarbon monoxide (CO) is a colorless, odorless, and tasteless gas that is toxic to humans as it can disrupt the transport of oxygen by the blood. In the atmosphere, it is spatially variable and has a life-time of about 1 month.\\nIt is produced primarily by the incomplete combustion or oxidation of carbonaceous materials or substances used for fuel in transportation by internal combustion motor vehicles, in industrial heating and processing, and in the heating of homes and buildings. Other sources of CO production are open burning and aircraft emission.\\nThe Copernicus Sentinel-5P CO measurements were first filtered according to the recommendation in the Product Readme file (only data with a qa_value > 0.50 was used). Then the measurements are mapped on a fixed latitude-longitude grid of 4096 x 8192 pixels. The grid is turned into an EPSG:4326 geotiff file using the appropriate color scale, which is again turned into an EPSG:3857 tile map.\\n',\n", + " 'extent': {'spatial': {'bbox': [[-180, -90, 180, 90]]},\n", + " 'temporal': {'interval': [['2018-04-30T00:00:00Z', None]]}},\n", + " 'id': 'SENTINEL_5P_CO_T3D_AVERAGE',\n", + " 'license': '',\n", + " 'links': [{'href': 'https://collections.eurodatacube.com/co_3daily_data',\n", + " 'rel': 'about',\n", + " 'title': 'Website describing the collection',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://docs.sentinel-hub.com/api/latest/api/process/',\n", + " 'rel': 'about',\n", + " 'title': 'Details about running Evalscripts',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://raw.githubusercontent.com/eurodatacube/public-collections/main/collections/co_3daily_data/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'co-3daily',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate co imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': '', 'rel': 'license', 'title': 'License', 'type': 'text/html'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'root'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'parent'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections/SENTINEL_5P_CO_T3D_AVERAGE',\n", + " 'rel': 'self'}],\n", + " 'stac_extensions': ['https://stac-extensions.github.io/datacube/v2.2.0/schema.json',\n", + " 'https://stac-extensions.github.io/eo/v1.1.0/schema.json'],\n", + " 'stac_version': '1.0.0'},\n", + " {'description': 'This indicator is based on the detection of moving trucks on motorways in the EU. The detection uses data from the Copernicus Sentinel-2 satellite.',\n", + " 'extent': {'spatial': {'bbox': [[-31.26818657,\n", + " 27.693670044054727,\n", + " 34.06794939183746,\n", + " 70.09145355]]},\n", + " 'temporal': {'interval': [['2017-05-15T00:00:00Z',\n", + " '2020-05-15T00:00:00Z']]}},\n", + " 'id': 'E12C_MOTORWAY',\n", + " 'license': '',\n", + " 'links': [{'href': 'https://collections.eurodatacube.com/e12c_motorway',\n", + " 'rel': 'about',\n", + " 'title': 'Website describing the collection',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://docs.sentinel-hub.com/api/latest/api/process/',\n", + " 'rel': 'about',\n", + " 'title': 'Details about running Evalscripts',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://raw.githubusercontent.com/eurodatacube/public-collections/main/collections/e12c_motorway/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'Trucks E12C Motorway',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate Trucks E12C Motorway imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': '', 'rel': 'license', 'title': 'License', 'type': 'text/html'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'root'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'parent'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections/E12C_MOTORWAY',\n", + " 'rel': 'self'}],\n", + " 'stac_extensions': ['https://stac-extensions.github.io/datacube/v2.2.0/schema.json',\n", + " 'https://stac-extensions.github.io/eo/v1.1.0/schema.json'],\n", + " 'stac_version': '1.0.0'},\n", + " {'description': 'This indicator is based on the detection of moving trucks on motorways in the EU. The detection uses data from the Copernicus Sentinel-2 satellite.',\n", + " 'extent': {'spatial': {'bbox': [[-31.26818657,\n", + " 27.693670044054727,\n", + " 34.06794939183746,\n", + " 70.09145355]]},\n", + " 'temporal': {'interval': [['2017-05-15T00:00:00Z',\n", + " '2020-05-15T00:00:00Z']]}},\n", + " 'id': 'E12D_PRIMARY',\n", + " 'license': '',\n", + " 'links': [{'href': 'https://collections.eurodatacube.com/e12d_primary_corrected',\n", + " 'rel': 'about',\n", + " 'title': 'Website describing the collection',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://docs.sentinel-hub.com/api/latest/api/process/',\n", + " 'rel': 'about',\n", + " 'title': 'Details about running Evalscripts',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://raw.githubusercontent.com/eurodatacube/public-collections/main/collections/e12d_primary_corrected/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'Trucks E12D Motorway',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate Trucks E12D Motorway imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': '', 'rel': 'license', 'title': 'License', 'type': 'text/html'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'root'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'parent'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections/E12D_PRIMARY',\n", + " 'rel': 'self'}],\n", + " 'stac_extensions': ['https://stac-extensions.github.io/datacube/v2.2.0/schema.json',\n", + " 'https://stac-extensions.github.io/eo/v1.1.0/schema.json'],\n", + " 'stac_version': '1.0.0'},\n", + " {'description': 'Gridded ERA5 is the fifth generation ECMWF reanalysis for the global climate and weather for the past 4 to 7 decades. This parameter is the 2m temperature monthly average',\n", + " 'extent': {'spatial': {'bbox': [[-179.999755859375,\n", + " -90.12489004526765,\n", + " 179.99977453631897,\n", + " 90.125]]},\n", + " 'temporal': {'interval': [['2019-01-01T00:00:00Z',\n", + " '2022-04-01T00:00:00Z']]}},\n", + " 'id': 'CDS_2M_TEMP_2020',\n", + " 'license': '',\n", + " 'links': [{'href': 'https://collections.eurodatacube.com/2mt_2020_monthly_average_from_cds',\n", + " 'rel': 'about',\n", + " 'title': 'Website describing the collection',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://docs.sentinel-hub.com/api/latest/api/process/',\n", + " 'rel': 'about',\n", + " 'title': 'Details about running Evalscripts',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://raw.githubusercontent.com/eurodatacube/public-collections/main/collections/2mt_2020_monthly_average_from_cds/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': '2m Temperature Visualisation',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate 2m Temperature Visualisation imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': '', 'rel': 'license', 'title': 'License', 'type': 'text/html'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'root'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'parent'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections/CDS_2M_TEMP_2020',\n", + " 'rel': 'self'}],\n", + " 'stac_extensions': ['https://stac-extensions.github.io/datacube/v2.2.0/schema.json',\n", + " 'https://stac-extensions.github.io/eo/v1.1.0/schema.json'],\n", + " 'stac_version': '1.0.0'},\n", + " {'description': '[Harmonized Landsat Sentinel](https://lpdaac.usgs.gov/data/get-started-data/collection-overview/missions/harmonized-landsat-sentinel-2-hls-overview/)\\nis a NASA initiative to produce a Virtual Constellation of surface reflectance (SR) data from the Operational Land Manager (OLI) and Multi-Spectral\\nInstrument (MSI) aboard the Landsat 8-9 and Sentinel-2 remote sensing satellites, respectively. The combined measurement enables global observations\\nof the land every 2-3 days. Input products are Landsat 8-9 Collection 2 L1 and S2-L1C top-of-atmosphere reflectance. Landsat data is available from\\nApril 2013 and Sentinel-2 data from November 2015.\\n',\n", + " 'extent': {'spatial': {'bbox': [[-180, -85, 180, 85]]},\n", + " 'temporal': {'interval': [['2013-04-11T00:00:00Z', None]]}},\n", + " 'id': 'NASA_HARMONIZED_LANDSAT_SENTINEL',\n", + " 'license': 'proprietary',\n", + " 'links': [{'href': 'https://collections.eurodatacube.com/harmonized-landsat-sentinel',\n", + " 'rel': 'about',\n", + " 'title': 'Website describing the collection',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://services-uswest2.sentinel-hub.com/ogc/wmts/1295e9d1-4d45-4818-bc74-d52ac1c2fd67',\n", + " 'rel': 'wmts',\n", + " 'wmts:dimensions': {'warnings': True},\n", + " 'wmts:layer': 'TRUE-COLOR'},\n", + " {'href': 'https://docs.sentinel-hub.com/api/latest/api/process/',\n", + " 'rel': 'about',\n", + " 'title': 'Details about running Evalscripts',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/hls/true_color/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'True Color',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate True color imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/hls/false_color/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'False Color',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate False Color imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/hls/swir/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'SWIR',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate SWIR imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/hls/ndvi/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'NDVI',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate NDVI imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/hls/ndmi/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'NDMI',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate NDMI imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/hls/ndwi/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'NDWI',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate NDWI imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://www.usgs.gov/centers/eros/data-citation?qt-science_support_page_related_con=0#qt-science_support_page_related_con',\n", + " 'rel': 'license',\n", + " 'title': 'License',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'root'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'parent'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections/NASA_HARMONIZED_LANDSAT_SENTINEL',\n", + " 'rel': 'self'}],\n", + " 'stac_extensions': ['https://stac-extensions.github.io/datacube/v2.2.0/schema.json',\n", + " 'https://stac-extensions.github.io/eo/v1.1.0/schema.json'],\n", + " 'stac_version': '1.0.0'},\n", + " {'description': 'The High-Resolution Snow & Ice Monitoring service (HR-S&I) is part of the Copernicus Land Monitoring Service (CLMS). The snow aspect of the service provides products \\nmeasuring Snow cover (FSC, FSTOC, FSCOG, GFSC), Snow state conditions (WDS, SWS) and persistent snow area (PSA). There are also ice products that measure ice cover \\n(RLIE) and aggregated river and lake ice extent (ARLIE).\\n\\nMore information about the data can be found [here](https://land.copernicus.eu/pan-european/biophysical-parameters/high-resolution-snow-and-ice-monitoring) and\\nthe snow products user manual is located [here](https://land.copernicus.eu/user-corner/technical-library/hrsi-snow-pum). \\n\\nThe daily cumulative Gap-filled Fractional Snow Cover (GFSC) product is a more complete version of the FSC product; gap-filled both at a spatial and temporal scale.\\n',\n", + " 'extent': {'spatial': {'bbox': [[-26, 34, 44, 66]]},\n", + " 'temporal': {'interval': [['2016-09-01T00:00:00Z', None]]}},\n", + " 'id': 'DAILY_CUMULATIVE_GAP_FILLED_FRACTIONAL_SNOW_COVER',\n", + " 'license': 'proprietary',\n", + " 'links': [{'href': 'https://collections.eurodatacube.com/hrsi-gfsc',\n", + " 'rel': 'about',\n", + " 'title': 'Website describing the collection',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://docs.sentinel-hub.com/api/latest/api/process/',\n", + " 'rel': 'about',\n", + " 'title': 'Details about running Evalscripts',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/copernicus_services/hrsi/hrsi-gfsc-fsc/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'Gap Filled Fractional Snow Cover',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate FSCOG (%) (Fractional Snow Cover On-ground) visualisation',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/copernicus_services/hrsi/hrsi-fsc-on-ground-fsi-quality/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'Gap Filled Fractional Snow Cover Quality ',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate FSCOG (%) (Fractional Snow Cover On-ground) quality layer visualisation',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://land.copernicus.eu/en/faq#data_use_terms_and_conditions',\n", + " 'rel': 'license',\n", + " 'title': 'License',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'root'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'parent'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections/DAILY_CUMULATIVE_GAP_FILLED_FRACTIONAL_SNOW_COVER',\n", + " 'rel': 'self'}],\n", + " 'stac_extensions': ['https://stac-extensions.github.io/datacube/v2.2.0/schema.json',\n", + " 'https://stac-extensions.github.io/eo/v1.1.0/schema.json'],\n", + " 'stac_version': '1.0.0'},\n", + " {'description': 'The High-Resolution Snow & Ice Monitoring service (HR-S&I) is part of the Copernicus Land Monitoring Service (CLMS). The snow aspect of the service provides products \\nmeasuring Snow cover (FSC, FSTOC, FSCOG, GFSC), Snow state conditions (WDS, SWS) and persistent snow area (PSA). There are also ice products that measure ice cover \\n(RLIE) and aggregated river and lake ice extent (ARLIE).\\n\\nMore information about the data can be found [here](https://land.copernicus.eu/pan-european/biophysical-parameters/high-resolution-snow-and-ice-monitoring) and\\nthe snow products user manual is located [here](https://land.copernicus.eu/user-corner/technical-library/hrsi-snow-pum). \\n\\nThe Fractional Snow Cover (FSC) product provides the snow fraction at the Top Of Canopy (FSCTOC) and On Ground (FSCOG). NDSI is also provided as part of this service.\\n',\n", + " 'extent': {'spatial': {'bbox': [[-26, 34, 44, 66]]},\n", + " 'temporal': {'interval': [['2016-09-01T00:00:00Z', None]]}},\n", + " 'id': 'FRACTIONAL_SNOW_COVER',\n", + " 'license': 'proprietary',\n", + " 'links': [{'href': 'https://collections.eurodatacube.com/hrsi-fsc',\n", + " 'rel': 'about',\n", + " 'title': 'Website describing the collection',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://docs.sentinel-hub.com/api/latest/api/process/',\n", + " 'rel': 'about',\n", + " 'title': 'Details about running Evalscripts',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/copernicus_services/hrsi/hrsi-fsc-on-ground-fsi/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'Fractional Snow Cover On-ground',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate FSCOG (%) (Fractional Snow Cover On-ground) visualisation',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/copernicus_services/hrsi/hrsi-fsc-on-ground-fsi-quality/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'Fractional Snow Cover On-ground Quality ',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate FSCOG (%) (Fractional Snow Cover On-ground) quality layer visualisation',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/copernicus_services/hrsi/hrsi-fsc-top-of-canopy-fsi/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'Fractional Snow Cover Top of Canopy',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate FSCTOC (%) (Fractional Snow Cover Top of Canopy) visualisation',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/copernicus_services/hrsi/hrsi-fsc-top-of-canopy-fsi-quality/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'Fractional Snow Cover Top of Canopy Quality',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate FSCTOC (%) (Fractional Snow Cover Top of Canopy) quality layer visualisation',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/copernicus_services/hrsi/hrsi-fsc-ndsi/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'NDSI',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate NDSI (Normalised difference snow index) visualisation',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://land.copernicus.eu/en/faq#data_use_terms_and_conditions',\n", + " 'rel': 'license',\n", + " 'title': 'License',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'root'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'parent'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections/FRACTIONAL_SNOW_COVER',\n", + " 'rel': 'self'}],\n", + " 'stac_extensions': ['https://stac-extensions.github.io/datacube/v2.2.0/schema.json',\n", + " 'https://stac-extensions.github.io/eo/v1.1.0/schema.json'],\n", + " 'stac_version': '1.0.0'},\n", + " {'description': 'The High-Resolution Snow & Ice Monitoring service (HR-S&I) is part of the Copernicus Land Monitoring Service (CLMS). The snow aspect of the service provides products \\nmeasuring Snow cover (FSC, FSTOC, FSCOG, GFSC), Snow state conditions (WDS, SWS) and persistent snow area (PSA). There are also ice products that measure ice cover \\n(RLIE) and aggregated river and lake ice extent (ARLIE).\\n\\nMore information about the data can be found [here](https://land.copernicus.eu/pan-european/biophysical-parameters/high-resolution-snow-and-ice-monitoring) and\\nthe snow products user manual is located [here](https://land.copernicus.eu/user-corner/technical-library/hrsi-snow-pum). \\n\\nThe Persistent Snow Area (PSA) product is generated annually from FSC products and provides the extent of persistent snow cover for that year (the area where snow is \\npresent throughout the hydrological year). The PSA corresponds to pixels with a snow probability greater than 0.95, i.e. where snow was observed in at least 95% \\nof the observations (under clear-sky conditions). For optimisation reasons, the retrieval methodology assumes that the minimal snow cover is reached across Europe between \\n1 May and 30 September; thus the algorithm performs the aggregation only over this period.\\n',\n", + " 'extent': {'spatial': {'bbox': [[-26, 34, 44, 66]]},\n", + " 'temporal': {'interval': [['2017-05-01T00:00:00Z',\n", + " '2022-05-12T00:00:00Z']]}},\n", + " 'id': 'PERSISTENT_SNOW_AREA',\n", + " 'license': 'proprietary',\n", + " 'links': [{'href': 'https://collections.eurodatacube.com/hrsi-psa',\n", + " 'rel': 'about',\n", + " 'title': 'Website describing the collection',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://docs.sentinel-hub.com/api/latest/api/process/',\n", + " 'rel': 'about',\n", + " 'title': 'Details about running Evalscripts',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/copernicus_services/hrsi/hrsi-psa-psa/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'Persistent Snow Area',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate PSA (Persistent Snow Area) visualisation',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/copernicus_services/hrsi/hrsi-psa-psa-quality/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'Persistent Snow Area Quality ',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate PSA (Persistent Snow Area) quality layer visualisation',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://land.copernicus.eu/en/faq#data_use_terms_and_conditions',\n", + " 'rel': 'license',\n", + " 'title': 'License',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'root'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'parent'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections/PERSISTENT_SNOW_AREA',\n", + " 'rel': 'self'}],\n", + " 'stac_extensions': ['https://stac-extensions.github.io/datacube/v2.2.0/schema.json',\n", + " 'https://stac-extensions.github.io/eo/v1.1.0/schema.json'],\n", + " 'stac_version': '1.0.0'},\n", + " {'description': 'The River and Lake Ice Extent - Sentinel 1 (RLIE S1) product is part of the Copernicus Land Monitoring Service (CLMS), \\npan-European High Resolution Snow and Ice Monitoring [(HR-S&I)](https://land.copernicus.eu/pan-european/biophysical-parameters/high-resolution-snow-and-ice-monitoring) Ice product suite.The River and Lake Ice Extent (RLIE) products measure the presence of ice in rivers and lakes described by the EU-HYDRO network database, in particular the area of snow-free or snow-covered ice. \\nThe RLIE S1 product is released in near real time for the entire EEA39 zone based on the revisit time of the Sentinel 1 syntetic aperture radar constellation, and it is generated at a spatial resolution of 20 m x 20 m. Because it is time critical for several applications, every effort is made to provide near real time ice products between 6 and 12 hours after the data sensing time. \\nMore information about the RLIE S1 product methodology and workflow is outlined in the [product user manual](https://land.copernicus.eu/user-corner/technical-library/hrsi-ice-pum)\\n',\n", + " 'extent': {'spatial': {'bbox': [[-26, 34, 44, 66]]},\n", + " 'temporal': {'interval': [['2016-09-01T00:00:00Z', None]]}},\n", + " 'id': 'EEA_RIVER_AND_LAKE_ICE_EXTENT_SENTINEL1',\n", + " 'license': 'proprietary',\n", + " 'links': [{'href': 'https://collections.eurodatacube.com/hrsi-rlie-s1',\n", + " 'rel': 'about',\n", + " 'title': 'Website describing the collection',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://docs.sentinel-hub.com/api/latest/api/process/',\n", + " 'rel': 'about',\n", + " 'title': 'Details about running Evalscripts',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/copernicus_services/hrsi/hrsi-rlie-s1/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'RLIE',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate RLIE S1 imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/copernicus_services/hrsi/hrsi-rlie-s1-quality/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'QC',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to visualize the RLIE S1 quality imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://land.copernicus.eu/en/faq#data_use_terms_and_conditions',\n", + " 'rel': 'license',\n", + " 'title': 'License',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'root'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'parent'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections/EEA_RIVER_AND_LAKE_ICE_EXTENT_SENTINEL1',\n", + " 'rel': 'self'}],\n", + " 'stac_extensions': ['https://stac-extensions.github.io/datacube/v2.2.0/schema.json',\n", + " 'https://stac-extensions.github.io/eo/v1.1.0/schema.json'],\n", + " 'stac_version': '1.0.0'},\n", + " {'description': 'The River and Lake Ice Extent - Sentinel 2 (RLIE S2) product is part of the Copernicus Land Monitoring Service (CLMS), \\npan-European High Resolution Snow and Ice Monitoring [(HR-S&I)](https://land.copernicus.eu/pan-european/biophysical-parameters/high-resolution-snow-and-ice-monitoring) Ice product suite.The River and Lake Ice Extent (RLIE) products measure the presence of ice in rivers and lakes described by the EU-HYDRO network database, in particular the area of snow-free or snow-covered ice. \\nThe RLIE S2 product is released in near real time for the entire EEA39 zone based on the revisit time of the Sentinel 2 constellation, and it is generated at a spatial resolution of 20 m x 20 m. Because it is time critical for several applications, every effort is made to provide near real time ice products between 6 and 12 hours after the data sensing time. \\nMore information about the RLIE S2 product methodology and workflow is outlined in the [product user manual](https://land.copernicus.eu/user-corner/technical-library/hrsi-ice-pum)\\n',\n", + " 'extent': {'spatial': {'bbox': [[-26, 34, 44, 66]]},\n", + " 'temporal': {'interval': [['2016-09-01T00:00:00Z', None]]}},\n", + " 'id': 'RIVER_AND_LAKE_ICE_EXTENT_SENTINEL2',\n", + " 'license': 'proprietary',\n", + " 'links': [{'href': 'https://collections.eurodatacube.com/hrsi-rlie-s2',\n", + " 'rel': 'about',\n", + " 'title': 'Website describing the collection',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://docs.sentinel-hub.com/api/latest/api/process/',\n", + " 'rel': 'about',\n", + " 'title': 'Details about running Evalscripts',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/copernicus_services/hrsi/hrsi-rlie-s2/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'RLIE',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate RLIE S2 imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/copernicus_services/hrsi/hrsi-rlie-s2-quality/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'QC',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to visualize the RLIE S2 quality imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://land.copernicus.eu/en/faq#data_use_terms_and_conditions',\n", + " 'rel': 'license',\n", + " 'title': 'License',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'root'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'parent'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections/RIVER_AND_LAKE_ICE_EXTENT_SENTINEL2',\n", + " 'rel': 'self'}],\n", + " 'stac_extensions': ['https://stac-extensions.github.io/datacube/v2.2.0/schema.json',\n", + " 'https://stac-extensions.github.io/eo/v1.1.0/schema.json'],\n", + " 'stac_version': '1.0.0'},\n", + " {'description': 'The River and Lake Ice Extent S1+S2 (RLIE S1+S2) product is part of the Copernicus Land Monitoring Service (CLMS), \\npan-European High Resolution Snow and Ice Monitoring [(HR-S&I)](https://land.copernicus.eu/pan-european/biophysical-parameters/high-resolution-snow-and-ice-monitoring) Ice product suite.The River and Lake Ice Extent (RLIE) products measure the presence of ice in rivers and lakes described by the EU-HYDRO network database, in particular the area of snow-free or snow-covered ice. \\nThe RLIE S1+S2 product is computed from the combination of RLIE S1 and RLIE S2 products.The RLIE S2 product from a given day is gap-filled using the RLIE S1 information from the same day. Because the RLIE S1+S2 is only produced when RLIE S2 and RLIE S1 products are aquired on the same day, it is delivered in delayed-time for the entire EEA39 zone at a spatial resolution of 20 m x 20 m.\\nMore information about the RLIE S1+S2 product methodology and workflow is outlined in the [product user manual](https://land.copernicus.eu/user-corner/technical-library/hrsi-ice-pum)\\n',\n", + " 'extent': {'spatial': {'bbox': [[-26, 34, 44, 66]]},\n", + " 'temporal': {'interval': [['2016-09-01T00:00:00Z', None]]}},\n", + " 'id': 'RIVER_AND_LAKE_ICE_EXTENT_SENTINEL1_SENTINEL2',\n", + " 'license': 'proprietary',\n", + " 'links': [{'href': 'https://collections.eurodatacube.com/hrsi-rlie-s1s2',\n", + " 'rel': 'about',\n", + " 'title': 'Website describing the collection',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://docs.sentinel-hub.com/api/latest/api/process/',\n", + " 'rel': 'about',\n", + " 'title': 'Details about running Evalscripts',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/copernicus_services/hrsi/hrsi-rlie-s1s2/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'RLIE',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate RLIE S1+S2 imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/copernicus_services/hrsi/hrsi-rlie-s1s2-quality/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'QC',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to visualize the RLIE S1+S2 quality imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://land.copernicus.eu/en/faq#data_use_terms_and_conditions',\n", + " 'rel': 'license',\n", + " 'title': 'License',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'root'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'parent'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections/RIVER_AND_LAKE_ICE_EXTENT_SENTINEL1_SENTINEL2',\n", + " 'rel': 'self'}],\n", + " 'stac_extensions': ['https://stac-extensions.github.io/datacube/v2.2.0/schema.json',\n", + " 'https://stac-extensions.github.io/eo/v1.1.0/schema.json'],\n", + " 'stac_version': '1.0.0'},\n", + " {'description': 'The High-Resolution Snow & Ice Monitoring service (HR-S&I) is part of the Copernicus Land Monitoring Service (CLMS). The snow aspect of the service provides products \\nmeasuring Snow cover (FSC, FSTOC, FSCOG, GFSC), Snow state conditions (WDS, SWS) and persistent snow area (PSA). There are also ice products that measure ice cover \\n(RLIE) and aggregated river and lake ice extent (ARLIE).\\n\\nMore information about the data can be found [here](https://land.copernicus.eu/pan-european/biophysical-parameters/high-resolution-snow-and-ice-monitoring) and\\nthe snow products user manual is located [here](https://land.copernicus.eu/user-corner/technical-library/hrsi-snow-pum). \\n\\nThe SAR Wet Snow (SWS) product provides information on the wet snow extent in high-mountain areas.\\n',\n", + " 'extent': {'spatial': {'bbox': [[-26, 34, 44, 66]]},\n", + " 'temporal': {'interval': [['2016-09-01T00:00:00Z', None]]}},\n", + " 'id': 'SAR_WET_SNOW_IN_HIGH_MOUNTAINS',\n", + " 'license': 'proprietary',\n", + " 'links': [{'href': 'https://collections.eurodatacube.com/hrsi-sws',\n", + " 'rel': 'about',\n", + " 'title': 'Website describing the collection',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://docs.sentinel-hub.com/api/latest/api/process/',\n", + " 'rel': 'about',\n", + " 'title': 'Details about running Evalscripts',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/copernicus_services/hrsi/hrsi-sws-wet-snow-classification-high-mountains/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'SAR Wet Snow',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate WSM (Wet Snow Classification in high Mountains areas) visualisation',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/copernicus_services/hrsi/hrsi-sws-wet-snow-classification-high-mountains-quality/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'SAR Wet Snow Quality ',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate SWS (SAR Wet Snow) classification quality layer visualisation',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://land.copernicus.eu/en/faq#data_use_terms_and_conditions',\n", + " 'rel': 'license',\n", + " 'title': 'License',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'root'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'parent'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections/SAR_WET_SNOW_IN_HIGH_MOUNTAINS',\n", + " 'rel': 'self'}],\n", + " 'stac_extensions': ['https://stac-extensions.github.io/datacube/v2.2.0/schema.json',\n", + " 'https://stac-extensions.github.io/eo/v1.1.0/schema.json'],\n", + " 'stac_version': '1.0.0'},\n", + " {'description': 'The High-Resolution Snow & Ice Monitoring service (HR-S&I) is part of the Copernicus Land Monitoring Service (CLMS). The snow aspect of the service provides products \\nmeasuring Snow cover (FSC, FSTOC, FSCOG, GFSC), Snow state conditions (WDS, SWS) and persistent snow area (PSA). There are also ice products that measure ice cover \\n(RLIE) and aggregated river and lake ice extent (ARLIE).\\n\\nMore information about the data can be found [here](https://land.copernicus.eu/pan-european/biophysical-parameters/high-resolution-snow-and-ice-monitoring) and\\nthe snow products user manual is located [here](https://land.copernicus.eu/user-corner/technical-library/hrsi-snow-pum). \\n\\nThe Wet/Dry Snow (WDS) product differentiates the snow state conditions within the snow mask defined by the FSCTOC information.\\n',\n", + " 'extent': {'spatial': {'bbox': [[-26, 34, 44, 66]]},\n", + " 'temporal': {'interval': [['2016-09-01T00:00:00Z', None]]}},\n", + " 'id': 'WET_DRY_SNOW_STATE_CLASSIFICATION',\n", + " 'license': 'proprietary',\n", + " 'links': [{'href': 'https://collections.eurodatacube.com/hrsi-wds',\n", + " 'rel': 'about',\n", + " 'title': 'Website describing the collection',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://docs.sentinel-hub.com/api/latest/api/process/',\n", + " 'rel': 'about',\n", + " 'title': 'Details about running Evalscripts',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/copernicus_services/hrsi/hrsi-wds-ssc/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'Snow State Classification',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate Snow State Classification visualisation',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/copernicus_services/hrsi/hrsi-wds-ssc-quality/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'Snow State Classification Quality ',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate Snow State Classification quality layer visualisation',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://land.copernicus.eu/en/faq#data_use_terms_and_conditions',\n", + " 'rel': 'license',\n", + " 'title': 'License',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'root'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'parent'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections/WET_DRY_SNOW_STATE_CLASSIFICATION',\n", + " 'rel': 'self'}],\n", + " 'stac_extensions': ['https://stac-extensions.github.io/datacube/v2.2.0/schema.json',\n", + " 'https://stac-extensions.github.io/eo/v1.1.0/schema.json'],\n", + " 'stac_version': '1.0.0'},\n", + " {'description': 'Activity for Leisure industry reduced. Images from ICEYE',\n", + " 'extent': {'spatial': {'bbox': [[2.769154472,\n", + " 48.861336953,\n", + " 2.7987541,\n", + " 48.881687237]]},\n", + " 'temporal': {'interval': [['2020-03-20T14:27:20Z',\n", + " '2020-03-20T14:27:21Z']]}},\n", + " 'id': 'ICEYE_GRD_E11',\n", + " 'license': '',\n", + " 'links': [{'href': 'https://collections.eurodatacube.com/iceye_e11',\n", + " 'rel': 'about',\n", + " 'title': 'Website describing the collection',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://docs.sentinel-hub.com/api/latest/api/process/',\n", + " 'rel': 'about',\n", + " 'title': 'Details about running Evalscripts',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://raw.githubusercontent.com/eurodatacube/public-collections/main/collections/iceye_e11/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'GRD ICEYE_E11',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate GRD ICEYE_E11 imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': '', 'rel': 'license', 'title': 'License', 'type': 'text/html'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'root'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'parent'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections/ICEYE_GRD_E11',\n", + " 'rel': 'self'}],\n", + " 'stac_extensions': ['https://stac-extensions.github.io/datacube/v2.2.0/schema.json',\n", + " 'https://stac-extensions.github.io/eo/v1.1.0/schema.json'],\n", + " 'stac_version': '1.0.0'},\n", + " {'description': 'Activity at leisure facility (Stadium) affected by COVID',\n", + " 'extent': {'spatial': {'bbox': [[21.039070567,\n", + " 52.235855988,\n", + " 21.052287012,\n", + " 52.248886356]]},\n", + " 'temporal': {'interval': [['2020-02-07T13:08:50Z',\n", + " '2020-04-13T13:10:17Z']]}},\n", + " 'id': 'ICEYE_GRD_E11A',\n", + " 'license': '',\n", + " 'links': [{'href': 'https://collections.eurodatacube.com/iceye_e11a',\n", + " 'rel': 'about',\n", + " 'title': 'Website describing the collection',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://docs.sentinel-hub.com/api/latest/api/process/',\n", + " 'rel': 'about',\n", + " 'title': 'Details about running Evalscripts',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://raw.githubusercontent.com/eurodatacube/public-collections/main/collections/iceye_e11a/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'GRD ICEYE_E11a',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate GRD ICEYE_E11a imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': '', 'rel': 'license', 'title': 'License', 'type': 'text/html'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'root'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'parent'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections/ICEYE_GRD_E11A',\n", + " 'rel': 'self'}],\n", + " 'stac_extensions': ['https://stac-extensions.github.io/datacube/v2.2.0/schema.json',\n", + " 'https://stac-extensions.github.io/eo/v1.1.0/schema.json'],\n", + " 'stac_version': '1.0.0'},\n", + " {'description': 'ICEYE image and detection of parked airplanes',\n", + " 'extent': {'spatial': {'bbox': [[-1.245691996,\n", + " 40.394458816,\n", + " 8.533407797,\n", + " 50.049107756]]},\n", + " 'temporal': {'interval': [['2020-02-04T03:38:35Z',\n", + " '2020-08-29T03:28:38Z']]}},\n", + " 'id': 'ICEYE_GRD_E13B',\n", + " 'license': '',\n", + " 'links': [{'href': 'https://collections.eurodatacube.com/iceye_e13b',\n", + " 'rel': 'about',\n", + " 'title': 'Website describing the collection',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://docs.sentinel-hub.com/api/latest/api/process/',\n", + " 'rel': 'about',\n", + " 'title': 'Details about running Evalscripts',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://raw.githubusercontent.com/eurodatacube/public-collections/main/collections/iceye_e13b/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'GRD ICEYE_E13b',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate GRD ICEYE_E13b imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': '', 'rel': 'license', 'title': 'License', 'type': 'text/html'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'root'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'parent'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections/ICEYE_GRD_E13B',\n", + " 'rel': 'self'}],\n", + " 'stac_extensions': ['https://stac-extensions.github.io/datacube/v2.2.0/schema.json',\n", + " 'https://stac-extensions.github.io/eo/v1.1.0/schema.json'],\n", + " 'stac_version': '1.0.0'},\n", + " {'description': 'Oil storages filling up as demand for oil decreases when people are not travelling',\n", + " 'extent': {'spatial': {'bbox': [[4.08589, 51.94683, 4.10156, 51.95753]]},\n", + " 'temporal': {'interval': [['2020-02-04T03:38:35Z',\n", + " '2020-07-17T03:44:28Z']]}},\n", + " 'id': 'ICEYE_GRD_E3',\n", + " 'license': '',\n", + " 'links': [{'href': 'https://collections.eurodatacube.com/iceye_e3',\n", + " 'rel': 'about',\n", + " 'title': 'Website describing the collection',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://docs.sentinel-hub.com/api/latest/api/process/',\n", + " 'rel': 'about',\n", + " 'title': 'Details about running Evalscripts',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://raw.githubusercontent.com/eurodatacube/public-collections/main/collections/iceye_e3/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'GRD ICEYE_E3',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate GRD ICEYE_E3 imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': '', 'rel': 'license', 'title': 'License', 'type': 'text/html'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'root'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'parent'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections/ICEYE_GRD_E3',\n", + " 'rel': 'self'}],\n", + " 'stac_extensions': ['https://stac-extensions.github.io/datacube/v2.2.0/schema.json',\n", + " 'https://stac-extensions.github.io/eo/v1.1.0/schema.json'],\n", + " 'stac_version': '1.0.0'},\n", + " {'description': 'Water quality Chlorophyll-a weekly anomaly.\\nIt is the ratio (percentage) of weekly chlorophyll-a concentration divided by average concentration of other years for 4 sites: North Adriatic, Tokyo, Kobe and Nagoya. \\nAnomaly[%]=((DN-1)/254*(300-(-100))-100).\\nThe base data is made by averaging within -1, 0, +1 weeks in 2018-2020.\\n```\\nFile naming convention:\\njx_chla_tif_XXX_yyyy_mm_dd.tif\\nXXX: Area name\\n nas -> NAdriatic\\n tok -> Tokyo\\n kob -> Kobe\\n nag -> Nagoya\\nyyyy:Year\\nmm:Month\\ndd:Day\\n```\\n',\n", + " 'extent': {'spatial': {'bbox': [[12, 33.85, 140.25, 45.8],\n", + " [12, 44.5, 13.8, 45.8],\n", + " [139.25, 34.85, 140.25, 35.85],\n", + " [134.5, 33.85, 135.5, 34.85],\n", + " [136.4, 34.2, 137.4, 35.2]]},\n", + " 'temporal': {'interval': [['2018-01-06T00:00:00Z', None]]}},\n", + " 'id': 'JAXA_WQ_CHLA_ANOMALY',\n", + " 'license': '',\n", + " 'links': [{'href': 'https://collections.eurodatacube.com/jaxa_wq_chla',\n", + " 'rel': 'about',\n", + " 'title': 'Website describing the collection',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://docs.sentinel-hub.com/api/latest/api/process/',\n", + " 'rel': 'about',\n", + " 'title': 'Details about running Evalscripts',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://raw.githubusercontent.com/eurodatacube/public-collections/main/collections/jaxa_wq_chla/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'Chlorophyll-a weekly anomaly',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate Chlorophyll-a weekly anomaly imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': '', 'rel': 'license', 'title': 'License', 'type': 'text/html'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'root'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'parent'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections/JAXA_WQ_CHLA_ANOMALY',\n", + " 'rel': 'self'}],\n", + " 'stac_extensions': ['https://stac-extensions.github.io/datacube/v2.2.0/schema.json',\n", + " 'https://stac-extensions.github.io/eo/v1.1.0/schema.json'],\n", + " 'stac_version': '1.0.0'},\n", + " {'description': 'Chlorophyll-a concentration weekly average (GCOM-C).\\nWeekly average chlorophyll-a concentration for 4 sites: North Adriatic, Tokyo, Kobe and Nagoya. \\nchl[mg/m^3]=10.^(DN/254*(log10(60)-log10(0.03))+log10(0.03))\\n```\\nFile naming convention: jx_chla-ave_tif_XXX_yyyy_mm_dd.tif\\nXXX: Area name\\n nas -> NAdriatic\\n tok -> Tokyo \\n kob -> Kobe \\n nag -> Nagoya \\nyyyy:Year\\nmm:Month\\ndd:Day\\n```\\n',\n", + " 'extent': {'spatial': {'bbox': [[12, 33.85, 140.25, 45.8],\n", + " [12, 44.5, 13.8, 45.8],\n", + " [139.25, 34.85, 140.25, 35.85],\n", + " [134.5, 33.85, 135.5, 34.85],\n", + " [136.4, 34.2, 137.4, 35.2]]},\n", + " 'temporal': {'interval': [['2018-01-06T00:00:00Z',\n", + " '2021-05-22T00:00:00Z']]}},\n", + " 'id': 'JAXA_WQ_CHLA_AVERAGE',\n", + " 'license': '',\n", + " 'links': [{'href': 'https://collections.eurodatacube.com/jaxa_wq_chla_average',\n", + " 'rel': 'about',\n", + " 'title': 'Website describing the collection',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://docs.sentinel-hub.com/api/latest/api/process/',\n", + " 'rel': 'about',\n", + " 'title': 'Details about running Evalscripts',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://raw.githubusercontent.com/eurodatacube/public-collections/main/collections/jaxa_wq_chla_average/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'Chlorophyll-a weekly average',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate Chlorophyll-a weekly average imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': '', 'rel': 'license', 'title': 'License', 'type': 'text/html'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'root'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'parent'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections/JAXA_WQ_CHLA_AVERAGE',\n", + " 'rel': 'self'}],\n", + " 'stac_extensions': ['https://stac-extensions.github.io/datacube/v2.2.0/schema.json',\n", + " 'https://stac-extensions.github.io/eo/v1.1.0/schema.json'],\n", + " 'stac_version': '1.0.0'},\n", + " {'description': 'Ratio (percentage) of weekly total suspended matter concentration divided by average concentration of other years for 4 sites: North Adriatic, Tokyo, Kobe and Nagoya. \\nAnomaly[%]=((DN-1)/254*(300-(-100))-100).\\nThe base data is made by averaging within -1, 0, +1 weeks in 2018-2020.\\n```\\nFile naming convention: jx_tsm_tif_XXX_yyyy_mm_dd.tif\\nXXX: Area name\\n nas -> NAdriatic\\n tok -> Tokyo\\n kob -> Kobe\\n nag -> Nagoya\\nyyyy:Year\\nmm:Month\\ndd:Day\\n```\\n',\n", + " 'extent': {'spatial': {'bbox': [[12, 33.85, 140.25, 45.8],\n", + " [12, 44.5, 13.8, 45.8],\n", + " [139.25, 34.85, 140.25, 35.85],\n", + " [134.5, 33.85, 135.5, 34.85],\n", + " [136.4, 34.2, 137.4, 35.2]]},\n", + " 'temporal': {'interval': [['2018-01-06T00:00:00Z', None]]}},\n", + " 'id': 'JAXA_WQ_TSM_ANOMALY',\n", + " 'license': '',\n", + " 'links': [{'href': 'https://collections.eurodatacube.com/jaxa_wq_tsm',\n", + " 'rel': 'about',\n", + " 'title': 'Website describing the collection',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://docs.sentinel-hub.com/api/latest/api/process/',\n", + " 'rel': 'about',\n", + " 'title': 'Details about running Evalscripts',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://raw.githubusercontent.com/eurodatacube/public-collections/main/collections/jaxa_wq_tsm/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'Total Suspended Matter weekly anomaly',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate Total Suspended Matter weekly anomaly imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': '', 'rel': 'license', 'title': 'License', 'type': 'text/html'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'root'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'parent'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections/JAXA_WQ_TSM_ANOMALY',\n", + " 'rel': 'self'}],\n", + " 'stac_extensions': ['https://stac-extensions.github.io/datacube/v2.2.0/schema.json',\n", + " 'https://stac-extensions.github.io/eo/v1.1.0/schema.json'],\n", + " 'stac_version': '1.0.0'},\n", + " {'description': 'Total suspended matter cocentration weekly average (GCOM-C).\\nWeekly total suspended matter concentration for 4 sites: North Adriatic, Tokyo, Kobe and Nagoya.\\nTSM[g/m^3]=10.^(DN/254*(log10(50)-log10(0.01))+log10(0.01))\\n```\\nFile naming convention: jx_tsm-ave_tif_XXX_yyyy_mm_dd.tif\\nXXX: Area name\\n nas -> NAdriatic\\n tok -> Tokyo\\n kob -> Kobe\\n nag -> Nagoya\\nyyyy:Year\\nmm:Month\\ndd:Day\\n```\\n',\n", + " 'extent': {'spatial': {'bbox': [[12, 33.85, 140.25, 45.8],\n", + " [12, 44.5, 13.8, 45.8],\n", + " [139.25, 34.85, 140.25, 35.85],\n", + " [134.5, 33.85, 135.5, 34.85],\n", + " [136.4, 34.2, 137.4, 35.2]]},\n", + " 'temporal': {'interval': [['2018-01-06T00:00:00Z',\n", + " '2021-05-22T00:00:00Z']]}},\n", + " 'id': 'JAXA_WQ_TSM_AVERAGE',\n", + " 'license': '',\n", + " 'links': [{'href': 'https://collections.eurodatacube.com/jaxa_wq_tsm_average',\n", + " 'rel': 'about',\n", + " 'title': 'Website describing the collection',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://docs.sentinel-hub.com/api/latest/api/process/',\n", + " 'rel': 'about',\n", + " 'title': 'Details about running Evalscripts',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://raw.githubusercontent.com/eurodatacube/public-collections/main/collections/jaxa_wq_tsm_average/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'Total suspended matter weekly average',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate Total suspended matter weekly average imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': '', 'rel': 'license', 'title': 'License', 'type': 'text/html'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'root'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'parent'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections/JAXA_WQ_TSM_AVERAGE',\n", + " 'rel': 'self'}],\n", + " 'stac_extensions': ['https://stac-extensions.github.io/datacube/v2.2.0/schema.json',\n", + " 'https://stac-extensions.github.io/eo/v1.1.0/schema.json'],\n", + " 'stac_version': '1.0.0'},\n", + " {'description': 'The concept of the NHRL was to create a dataset that provides wall-to-wall information on land cover, especially on land cover categories that can be more reliably identified by remote sensing methods. Its classification mixes land use and land cover elements according to human interest, providing map information from the built environment to agricultural cultivated areas and natural vegetation cover.\\nIn addition to the machine-learning process (Random Forest), its production includes data integration (roads - railways - buildings) and other data filtering steps to reduce data noise.\\nIn the future, this yearly dataset could provide the basis for the production of visually verified change data with a reduced nomenclature. The data published here is not suitable for change detection in its present form.\\n',\n", + " 'extent': {'spatial': {'bbox': [[16, 45, 23, 49]]},\n", + " 'temporal': {'interval': [['2016-01-01T00:00:00Z',\n", + " '2021-01-01T00:00:00Z']]}},\n", + " 'id': 'LTK_NATIONAL_HIGH_RESOLUTION_LAYER',\n", + " 'license': '',\n", + " 'links': [{'href': 'https://collections.eurodatacube.com/nhrl',\n", + " 'rel': 'about',\n", + " 'title': 'Website describing the collection',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://docs.sentinel-hub.com/api/latest/api/process/',\n", + " 'rel': 'about',\n", + " 'title': 'Details about running Evalscripts',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://raw.githubusercontent.com/eurodatacube/public-collections/main/collections/nhrl/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'NHRL Land Cover',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate Land cover visualisation',\n", + " 'type': 'application/javascript'},\n", + " {'href': '', 'rel': 'license', 'title': 'License', 'type': 'text/html'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'root'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'parent'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections/LTK_NATIONAL_HIGH_RESOLUTION_LAYER',\n", + " 'rel': 'self'}],\n", + " 'stac_extensions': ['https://stac-extensions.github.io/datacube/v2.2.0/schema.json',\n", + " 'https://stac-extensions.github.io/eo/v1.1.0/schema.json'],\n", + " 'stac_version': '1.0.0'},\n", + " {'description': 'The data comes from the Copernicus Sentinel-5P satellite and uses data from the Copernicus Sentinel-5P satellite and shows the averaged methane concentrations across the globe — using weekly averaged maps. The methane map shown here is measured by the Tropomi instrument on the Sentinel 5 Precursor satellite.\\nThe Copernicus Sentinel-5P CH4 measurements were first filtered according to the recommendation in the Product Readme file (only data with a qa_value > 0.50 was used). Then the measurements are mapped on a fixed latitude-longitude grid of 4096 x 8192 pixels. The grid is turned into an EPSG:4326 geotiff file using the appropriate color scale, which is again turned into an EPSG:3857 tile map.\\nData gaps are visible based on the product quality filtering and the fact that over the sea only measurements for sun-glint situations are being provided.\\n',\n", + " 'extent': {'spatial': {'bbox': [[-180, -90, 180, 90]]},\n", + " 'temporal': {'interval': [['2021-11-15T00:00:00Z', None]]}},\n", + " 'id': 'SENTINEL_5P_CH4_T7D_AVERAGE',\n", + " 'license': '',\n", + " 'links': [{'href': 'https://collections.eurodatacube.com/s5p-ch4-weekly',\n", + " 'rel': 'about',\n", + " 'title': 'Website describing the collection',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://docs.sentinel-hub.com/api/latest/api/process/',\n", + " 'rel': 'about',\n", + " 'title': 'Details about running Evalscripts',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://raw.githubusercontent.com/eurodatacube/public-collections/main/collections/s5p-ch4-weekly/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'CH4-weekly',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate ch4 imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': '', 'rel': 'license', 'title': 'License', 'type': 'text/html'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'root'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'parent'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections/SENTINEL_5P_CH4_T7D_AVERAGE',\n", + " 'rel': 'self'}],\n", + " 'stac_extensions': ['https://stac-extensions.github.io/datacube/v2.2.0/schema.json',\n", + " 'https://stac-extensions.github.io/eo/v1.1.0/schema.json'],\n", + " 'stac_version': '1.0.0'},\n", + " {'description': 'The data comes from the Copernicus Sentinel-5P satellite and shows the averaged nitrogen dioxide concentrations across the globe – using a 14-day moving average. Concentrations of short-lived pollutants, such as nitrogen dioxide, are indicators of changes in economic slowdowns and are comparable to changes in emissions. Using a 14 day average eliminates some effects which are caused by short term weather changes and cloud cover. The average gives an overview over the whole time period and therefore reflects trends better than shorter time periods.',\n", + " 'extent': {'spatial': {'bbox': [[-180, -90, 180, 90]]},\n", + " 'temporal': {'interval': [['2018-04-30T00:00:00Z', None]]}},\n", + " 'id': 'SENTINEL_5P_NO2_T14D_AVERAGE',\n", + " 'license': '',\n", + " 'links': [{'href': 'https://collections.eurodatacube.com/s5p-no2-tropno-daily-check',\n", + " 'rel': 'about',\n", + " 'title': 'Website describing the collection',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://docs.sentinel-hub.com/api/latest/api/process/',\n", + " 'rel': 'about',\n", + " 'title': 'Details about running Evalscripts',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://raw.githubusercontent.com/eurodatacube/public-collections/main/collections/s5p-no2-tropno-daily-check/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'NO2',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate NO2 imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': '', 'rel': 'license', 'title': 'License', 'type': 'text/html'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'root'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'parent'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections/SENTINEL_5P_NO2_T14D_AVERAGE',\n", + " 'rel': 'self'}],\n", + " 'stac_extensions': ['https://stac-extensions.github.io/datacube/v2.2.0/schema.json',\n", + " 'https://stac-extensions.github.io/eo/v1.1.0/schema.json'],\n", + " 'stac_version': '1.0.0'},\n", + " {'description': 'Total suspended matter maps for 3 sites: Lagoon Venice, Marseille and Barcelona regions',\n", + " 'extent': {'spatial': {'bbox': [[0.4982046708598385,\n", + " 40.498973093940286,\n", + " 13.82206392288208,\n", + " 45.80052375793457]]},\n", + " 'temporal': {'interval': [['2020-01-04T00:00:00Z', None]]}},\n", + " 'id': 'CNR_TSM',\n", + " 'license': '',\n", + " 'links': [{'href': 'https://collections.eurodatacube.com/tsmn_water_quality_saturday',\n", + " 'rel': 'about',\n", + " 'title': 'Website describing the collection',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://docs.sentinel-hub.com/api/latest/api/process/',\n", + " 'rel': 'about',\n", + " 'title': 'Details about running Evalscripts',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://raw.githubusercontent.com/eurodatacube/public-collections/main/collections//tsmn_water_quality_saturday/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'Total Suspended Matter Map',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate Total Suspended Matter Map imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': '', 'rel': 'license', 'title': 'License', 'type': 'text/html'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'root'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'parent'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections/CNR_TSM',\n", + " 'rel': 'self'}],\n", + " 'stac_extensions': ['https://stac-extensions.github.io/datacube/v2.2.0/schema.json',\n", + " 'https://stac-extensions.github.io/eo/v1.1.0/schema.json'],\n", + " 'stac_version': '1.0.0'},\n", + " {'description': 'The Vessel Density maps in the EU are created since the 2019 by Cogea for the European Marine Observation and Data Network (EMODnet). The dataset is updated every year and is available for viewing and download on EMODnet Human Activities web portal (www.emodnet-humanactivities.eu). The maps are based on AIS data yearly purchased from Collecte Localisation Satellites (CLS) and ORBCOMM. The maps, GeoTIFF format, show shipping density in 1x1km cells of a grid covering all EU waters and some neighbouring areas. Density is expressed as hours per square kilometre per month. The following ship types are available:0 Other, 1 Fishing, 2 Service, 3 Dredging or underwater ops, 4 Sailing, 5 Pleasure Craft, 6 High speed craft, 7 Tug and towing, 8 Passenger, 9 Cargo, 10 Tanker, 11 Military and Law Enforcement, 12 Unknown and All ship types.\\nThis particular layer refers to EMODnet ship type \"All\" that includes all the AIS ship Type codes.\\n',\n", + " 'extent': {'spatial': {'bbox': [[-66.949482215,\n", + " 19.222315519,\n", + " 72.48195026,\n", + " 74.653019863]]},\n", + " 'temporal': {'interval': [['2017-01-01T00:00:00Z',\n", + " '2020-12-01T00:00:00Z']]}},\n", + " 'id': 'EMODNET_VESSEL_DENSITY',\n", + " 'license': '',\n", + " 'links': [{'href': 'https://collections.eurodatacube.com/vessel_density_all',\n", + " 'rel': 'about',\n", + " 'title': 'Website describing the collection',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://docs.sentinel-hub.com/api/latest/api/process/',\n", + " 'rel': 'about',\n", + " 'title': 'Details about running Evalscripts',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://raw.githubusercontent.com/eurodatacube/public-collections/main/collections/vessel_density_all/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'vessel_density_all',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate Vessel Density imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': '', 'rel': 'license', 'title': 'License', 'type': 'text/html'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'root'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'parent'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections/EMODNET_VESSEL_DENSITY',\n", + " 'rel': 'self'}],\n", + " 'stac_extensions': ['https://stac-extensions.github.io/datacube/v2.2.0/schema.json',\n", + " 'https://stac-extensions.github.io/eo/v1.1.0/schema.json'],\n", + " 'stac_version': '1.0.0'},\n", + " {'description': 'The Vessel Density maps in the EU are created since the 2019 by Cogea for the European Marine Observation and Data Network (EMODnet). The dataset is updated every year and is available for viewing and download on EMODnet Human Activities web portal (www.emodnet-humanactivities.eu). The maps are based on AIS data yearly purchased from Collecte Localisation Satellites (CLS) and ORBCOMM. The maps, GeoTIFF format, show shipping density in 1x1km cells of a grid covering all EU waters and some neighbouring areas. Density is expressed as hours per square kilometre per month. The following ship types are available:0 Other, 1 Fishing, 2 Service, 3 Dredging or underwater ops, 4 Sailing, 5 Pleasure Craft, 6 High speed craft, 7 Tug and towing, 8 Passenger, 9 Cargo, 10 Tanker, 11 Military and Law Enforcement, 12 Unknown and All ship types.\\nThis particular layer refers to EMODnet ship type \"9 cargo\" that includes the following AIS ship Type codes;\\n70 Cargo, all ships of this type\\n71 Cargo, Hazardous category A\\n72 Cargo, Hazardous category B\\n73 Cargo, Hazardous category C\\n74 Cargo, Hazardous category D\\n75 Cargo, Reserved for future use\\n76 Cargo, Reserved for future use\\n77 Cargo, Reserved for future use\\n78 Cargo, Reserved for future use\\n79 Cargo, No additional information\\n',\n", + " 'extent': {'spatial': {'bbox': [[-66.949482215,\n", + " 19.222315519,\n", + " 72.48195026,\n", + " 74.653019863]]},\n", + " 'temporal': {'interval': [['2017-01-01T00:00:00Z',\n", + " '2020-12-01T00:00:00Z']]}},\n", + " 'id': 'EMODNET_VESSEL_DENSITY_CARGO',\n", + " 'license': '',\n", + " 'links': [{'href': 'https://collections.eurodatacube.com/vessel_density_cargo',\n", + " 'rel': 'about',\n", + " 'title': 'Website describing the collection',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://docs.sentinel-hub.com/api/latest/api/process/',\n", + " 'rel': 'about',\n", + " 'title': 'Details about running Evalscripts',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://raw.githubusercontent.com/eurodatacube/public-collections/main/collections/vessel_density_cargo/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'vessel_density_cargo',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate Vessel Density imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': '', 'rel': 'license', 'title': 'License', 'type': 'text/html'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'root'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'parent'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections/EMODNET_VESSEL_DENSITY_CARGO',\n", + " 'rel': 'self'}],\n", + " 'stac_extensions': ['https://stac-extensions.github.io/datacube/v2.2.0/schema.json',\n", + " 'https://stac-extensions.github.io/eo/v1.1.0/schema.json'],\n", + " 'stac_version': '1.0.0'},\n", + " {'description': 'The Vessel Density maps in the EU are created since the 2019 by Cogea for the European Marine Observation and Data Network (EMODnet). The dataset is updated every year and is available for viewing and download on EMODnet Human Activities web portal (www.emodnet-humanactivities.eu). The maps are based on AIS data yearly purchased from Collecte Localisation Satellites (CLS) and ORBCOMM. The maps, GeoTIFF format, show shipping density in 1x1km cells of a grid covering all EU waters and some neighbouring areas. Density is expressed as hours per square kilometre per month. The following ship types are available: 0 Other, 1 Fishing, 2 Service, 3 Dredging or underwater ops, 4 Sailing, 5 Pleasure Craft, 6 High speed craft, 7 Tug and towing, 8 Passenger, 9 Cargo, 10 Tanker, 11 Military and Law Enforcement, 12 Unknown and All ship types.\\nThis particular layer refers to EMODnet ship type \"0 other\" that includes a variety of AIS ship Type codes.\\n',\n", + " 'extent': {'spatial': {'bbox': [[-66.949482215,\n", + " 19.222315519,\n", + " 72.48195026,\n", + " 74.653019863]]},\n", + " 'temporal': {'interval': [['2017-01-01T00:00:00Z',\n", + " '2020-12-01T00:00:00Z']]}},\n", + " 'id': 'EMODNET_VESSEL_DENSITY_OTHER',\n", + " 'license': '',\n", + " 'links': [{'href': 'https://collections.eurodatacube.com/vessel_density_other',\n", + " 'rel': 'about',\n", + " 'title': 'Website describing the collection',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://docs.sentinel-hub.com/api/latest/api/process/',\n", + " 'rel': 'about',\n", + " 'title': 'Details about running Evalscripts',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://raw.githubusercontent.com/eurodatacube/public-collections/main/collections/vessel_density_other/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'vessel_density_other',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate Vessel Density imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': '', 'rel': 'license', 'title': 'License', 'type': 'text/html'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'root'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'parent'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections/EMODNET_VESSEL_DENSITY_OTHER',\n", + " 'rel': 'self'}],\n", + " 'stac_extensions': ['https://stac-extensions.github.io/datacube/v2.2.0/schema.json',\n", + " 'https://stac-extensions.github.io/eo/v1.1.0/schema.json'],\n", + " 'stac_version': '1.0.0'},\n", + " {'description': 'The Vessel Density maps in the EU are created since the 2019 by Cogea for the European Marine Observation and Data Network (EMODnet). The dataset is updated every year and is available for viewing and download on EMODnet Human Activities web portal (www.emodnet-humanactivities.eu). The maps are based on AIS data yearly purchased from Collecte Localisation Satellites (CLS) and ORBCOMM. The maps, GeoTIFF format, show shipping density in 1x1km cells of a grid covering all EU waters and some neighbouring areas. Density is expressed as hours per square kilometre per month. The following ship types are available: 0 Other, 1 Fishing, 2 Service, 3 Dredging or underwater ops, 4 Sailing, 5 Pleasure Craft, 6 High speed craft, 7 Tug and towing, 8 Passenger, 9 Cargo, 10 Tanker, 11 Military and Law Enforcement, 12 Unknown and All ship types.\\nThis particular layer refers to EMODnet ship type \"10 tanker\" that includes the following AIS ship Type codes;\\n80 Tanker, all ships of this type\\n81 Tanker, Hazardous category A\\n82 Tanker, Hazardous category B\\n83 Tanker, Hazardous category C\\n84 Tanker, Hazardous category D\\n85 Tanker, Reserved for future use\\n86 Tanker, Reserved for future use\\n87 Tanker, Reserved for future use\\n88 Tanker, Reserved for future use\\n89 Tanker, No additional information\\n',\n", + " 'extent': {'spatial': {'bbox': [[-66.949482215,\n", + " 19.222315519,\n", + " 72.48195026,\n", + " 74.653019863]]},\n", + " 'temporal': {'interval': [['2017-01-01T00:00:00Z',\n", + " '2020-12-01T00:00:00Z']]}},\n", + " 'id': 'EMODNET_VESSEL_DENSITY_TANKER',\n", + " 'license': '',\n", + " 'links': [{'href': 'https://collections.eurodatacube.com/vessel_density_tanker',\n", + " 'rel': 'about',\n", + " 'title': 'Website describing the collection',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://docs.sentinel-hub.com/api/latest/api/process/',\n", + " 'rel': 'about',\n", + " 'title': 'Details about running Evalscripts',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://raw.githubusercontent.com/eurodatacube/public-collections/main/collections/vessel_density_tanker/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'vessel_density_tanker',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate Vessel Density imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': '', 'rel': 'license', 'title': 'License', 'type': 'text/html'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'root'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'parent'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections/EMODNET_VESSEL_DENSITY_TANKER',\n", + " 'rel': 'self'}],\n", + " 'stac_extensions': ['https://stac-extensions.github.io/datacube/v2.2.0/schema.json',\n", + " 'https://stac-extensions.github.io/eo/v1.1.0/schema.json'],\n", + " 'stac_version': '1.0.0'},\n", + " {'description': 'Gridded ERA5 is the fifth generation ECMWF reanalysis for the global climate and weather for the past 4 to 7 decades. This parameter is the wind U field',\n", + " 'extent': {'spatial': {'bbox': [[-179.999755859375,\n", + " -90.12489004526765,\n", + " 179.99977453631897,\n", + " 90.125]]},\n", + " 'temporal': {'interval': [['2019-01-01T00:00:00Z',\n", + " '2022-04-01T00:00:00Z']]}},\n", + " 'id': 'ERA5_WIND_U',\n", + " 'license': '',\n", + " 'links': [{'href': 'https://collections.eurodatacube.com/wind_10m_u',\n", + " 'rel': 'about',\n", + " 'title': 'Website describing the collection',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://docs.sentinel-hub.com/api/latest/api/process/',\n", + " 'rel': 'about',\n", + " 'title': 'Details about running Evalscripts',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://raw.githubusercontent.com/eurodatacube/public-collections/main/collections/wind_10m_u/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'Wind U-component',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate Wind U-component imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': '', 'rel': 'license', 'title': 'License', 'type': 'text/html'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'root'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'parent'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections/ERA5_WIND_U',\n", + " 'rel': 'self'}],\n", + " 'stac_extensions': ['https://stac-extensions.github.io/datacube/v2.2.0/schema.json',\n", + " 'https://stac-extensions.github.io/eo/v1.1.0/schema.json'],\n", + " 'stac_version': '1.0.0'},\n", + " {'description': 'Gridded ERA5 is the fifth generation ECMWF reanalysis for the global climate and weather for the past 4 to 7 decades. This parameter is the wind V field',\n", + " 'extent': {'spatial': {'bbox': [[-179.999755859375,\n", + " -90.12489004526765,\n", + " 179.99977453631897,\n", + " 90.125]]},\n", + " 'temporal': {'interval': [['2019-01-01T00:00:00Z',\n", + " '2022-04-01T00:00:00Z']]}},\n", + " 'id': 'ERA5_WIND_V',\n", + " 'license': '',\n", + " 'links': [{'href': 'https://collections.eurodatacube.com/wind_10m_v',\n", + " 'rel': 'about',\n", + " 'title': 'Website describing the collection',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://docs.sentinel-hub.com/api/latest/api/process/',\n", + " 'rel': 'about',\n", + " 'title': 'Details about running Evalscripts',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://raw.githubusercontent.com/eurodatacube/public-collections/main/collections/wind_10m_v/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'Wind V-component',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate Wind V-component imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': '', 'rel': 'license', 'title': 'License', 'type': 'text/html'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'root'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'parent'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections/ERA5_WIND_V',\n", + " 'rel': 'self'}],\n", + " 'stac_extensions': ['https://stac-extensions.github.io/datacube/v2.2.0/schema.json',\n", + " 'https://stac-extensions.github.io/eo/v1.1.0/schema.json'],\n", + " 'stac_version': '1.0.0'},\n", + " {'description': 'Pleiades is a satellite constellation providing very high-resolution optical imagery and is owned by Airbus. It is now possible to purchase, order and access Pleiades data using Sentinel Hub (SH).',\n", + " 'extent': {'spatial': {'bbox': [[-180, -90, 180, 90]]},\n", + " 'temporal': {'interval': [['2011-12-01T00:00:00Z', None]]}},\n", + " 'id': 'PLEIADES',\n", + " 'license': 'various',\n", + " 'links': [{'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'root'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'parent'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections/PLEIADES',\n", + " 'rel': 'self'}],\n", + " 'stac_extensions': ['https://stac-extensions.github.io/datacube/v2.2.0/schema.json',\n", + " 'https://stac-extensions.github.io/eo/v1.1.0/schema.json'],\n", + " 'stac_version': '1.0.0'},\n", + " {'description': \"SkySat is one of the satellite constellations operated by Planet. SkySat satellite constellation consists of 21 satellites, which were launched between 2013 and 2020. The satellites are based on a CubeSat concept but are a bit bigger comparing to the PlanetScope's satellites. Because of its rapid revisit time, this data is suitable to monitor fast changes on earth's surface. However, note that the data acquisition must be tasked, data is not acquired systematically.\",\n", + " 'extent': {'spatial': {'bbox': [[-180, -90, 180, 90]]},\n", + " 'temporal': {'interval': [['2014-01-01T00:00:00Z', None]]}},\n", + " 'id': 'SKYSAT',\n", + " 'license': 'various',\n", + " 'links': [{'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'root'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'parent'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections/SKYSAT',\n", + " 'rel': 'self'}],\n", + " 'stac_extensions': ['https://stac-extensions.github.io/datacube/v2.2.0/schema.json',\n", + " 'https://stac-extensions.github.io/eo/v1.1.0/schema.json'],\n", + " 'stac_version': '1.0.0'},\n", + " {'description': 'SPOT 6/7 is a satellite constellation providing very high-resolution optical imagery and is owned by Airbus. It is now possible to purchase, order and access SPOT data using Sentinel Hub (SH).',\n", + " 'extent': {'spatial': {'bbox': [[-180, -90, 180, 90]]},\n", + " 'temporal': {'interval': [['2012-09-01T00:00:00Z', None]]}},\n", + " 'id': 'SPOT',\n", + " 'license': 'various',\n", + " 'links': [{'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'root'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'parent'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections/SPOT',\n", + " 'rel': 'self'}],\n", + " 'stac_extensions': ['https://stac-extensions.github.io/datacube/v2.2.0/schema.json',\n", + " 'https://stac-extensions.github.io/eo/v1.1.0/schema.json'],\n", + " 'stac_version': '1.0.0'},\n", + " {'description': 'WorldView provides high resolution optical imagery and is owned by Maxar. It is now possible to purchase, order and access WorldView data using Sentinel Hub (SH). Sentinel Hub orders WorldView data through European Space Imaging.',\n", + " 'extent': {'spatial': {'bbox': [[-180, -90, 180, 90]]},\n", + " 'temporal': {'interval': [['2009-01-01T00:00:00Z', None]]}},\n", + " 'id': 'WORLDVIEW',\n", + " 'license': 'various',\n", + " 'links': [{'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'root'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'parent'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections/WORLDVIEW',\n", + " 'rel': 'self'}],\n", + " 'stac_extensions': ['https://stac-extensions.github.io/datacube/v2.2.0/schema.json',\n", + " 'https://stac-extensions.github.io/eo/v1.1.0/schema.json'],\n", + " 'stac_version': '1.0.0'}]" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "conn.list_collections()" + ] + }, + { + "cell_type": "markdown", + "id": "958ff432-b8cb-45b5-b6c4-68c1e0f92640", + "metadata": {}, + "source": [ + "We want to use the Sentinel-2 L2A product. It's name is `'SENTINEL2_L2A'`. \n", + "\n", + "We get the metadata for this collection as follows." + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "7bf6babb-457b-4a09-81d5-092b92c32d5d", + "metadata": { + "scrolled": true, + "tags": [] + }, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + " \n", + " \n", + " \n", + " \n", + " " + ], + "text/plain": [ + "{'assets': {'thumbnail': {'href': 'https://collections.eurodatacube.com/sentinel-2-l2a/sentinel-2-l2a.png',\n", + " 'roles': ['thumbnail'],\n", + " 'title': 'Thumbnail',\n", + " 'type': 'image/png'}},\n", + " 'crs': ['http://www.opengis.net/def/crs/OGC/1.3/CRS84',\n", + " 'http://www.opengis.net/def/crs/EPSG/0/2154',\n", + " 'http://www.opengis.net/def/crs/EPSG/0/2180',\n", + " 'http://www.opengis.net/def/crs/EPSG/0/2193',\n", + " 'http://www.opengis.net/def/crs/EPSG/0/3003',\n", + " 'http://www.opengis.net/def/crs/EPSG/0/3004',\n", + " 'http://www.opengis.net/def/crs/EPSG/0/3031',\n", + " 'http://www.opengis.net/def/crs/EPSG/0/3035',\n", + " 'http://www.opengis.net/def/crs/EPSG/0/4326',\n", + " 'http://www.opengis.net/def/crs/EPSG/0/4346',\n", + " 'http://www.opengis.net/def/crs/EPSG/0/4416',\n", + " 'http://www.opengis.net/def/crs/EPSG/0/4765',\n", + " 'http://www.opengis.net/def/crs/EPSG/0/4794',\n", + " 'http://www.opengis.net/def/crs/EPSG/0/4844',\n", + " 'http://www.opengis.net/def/crs/EPSG/0/4857',\n", + " 'http://www.opengis.net/def/crs/EPSG/0/3912',\n", + " 'http://www.opengis.net/def/crs/EPSG/0/3995',\n", + " 'http://www.opengis.net/def/crs/EPSG/0/4026',\n", + " 'http://www.opengis.net/def/crs/EPSG/0/5514',\n", + " 'http://www.opengis.net/def/crs/EPSG/0/28992',\n", + " 'http://www.opengis.net/def/crs/EPSG/0/32601',\n", + " 'http://www.opengis.net/def/crs/EPSG/0/32602',\n", + " 'http://www.opengis.net/def/crs/EPSG/0/32603',\n", + " 'http://www.opengis.net/def/crs/EPSG/0/32604',\n", + " 'http://www.opengis.net/def/crs/EPSG/0/32605',\n", + " 'http://www.opengis.net/def/crs/EPSG/0/32606',\n", + " 'http://www.opengis.net/def/crs/EPSG/0/32607',\n", + " 'http://www.opengis.net/def/crs/EPSG/0/32608',\n", + " 'http://www.opengis.net/def/crs/EPSG/0/32609',\n", + " 'http://www.opengis.net/def/crs/EPSG/0/32610',\n", + " 'http://www.opengis.net/def/crs/EPSG/0/32611',\n", + " 'http://www.opengis.net/def/crs/EPSG/0/32612',\n", + " 'http://www.opengis.net/def/crs/EPSG/0/32613',\n", + " 'http://www.opengis.net/def/crs/EPSG/0/32614',\n", + " 'http://www.opengis.net/def/crs/EPSG/0/32615',\n", + " 'http://www.opengis.net/def/crs/EPSG/0/32616',\n", + " 'http://www.opengis.net/def/crs/EPSG/0/32617',\n", + " 'http://www.opengis.net/def/crs/EPSG/0/32618',\n", + " 'http://www.opengis.net/def/crs/EPSG/0/32619',\n", + " 'http://www.opengis.net/def/crs/EPSG/0/32620',\n", + " 'http://www.opengis.net/def/crs/EPSG/0/32621',\n", + " 'http://www.opengis.net/def/crs/EPSG/0/32622',\n", + " 'http://www.opengis.net/def/crs/EPSG/0/32623',\n", + " 'http://www.opengis.net/def/crs/EPSG/0/32624',\n", + " 'http://www.opengis.net/def/crs/EPSG/0/32625',\n", + " 'http://www.opengis.net/def/crs/EPSG/0/32626',\n", + " 'http://www.opengis.net/def/crs/EPSG/0/32627',\n", + " 'http://www.opengis.net/def/crs/EPSG/0/32628',\n", + " 'http://www.opengis.net/def/crs/EPSG/0/32629',\n", + " 'http://www.opengis.net/def/crs/EPSG/0/32630',\n", + " 'http://www.opengis.net/def/crs/EPSG/0/32631',\n", + " 'http://www.opengis.net/def/crs/EPSG/0/32632',\n", + " 'http://www.opengis.net/def/crs/EPSG/0/32633',\n", + " 'http://www.opengis.net/def/crs/EPSG/0/32634',\n", + " 'http://www.opengis.net/def/crs/EPSG/0/32635',\n", + " 'http://www.opengis.net/def/crs/EPSG/0/32636',\n", + " 'http://www.opengis.net/def/crs/EPSG/0/32637',\n", + " 'http://www.opengis.net/def/crs/EPSG/0/32638',\n", + " 'http://www.opengis.net/def/crs/EPSG/0/32639',\n", + " 'http://www.opengis.net/def/crs/EPSG/0/32640',\n", + " 'http://www.opengis.net/def/crs/EPSG/0/32641',\n", + " 'http://www.opengis.net/def/crs/EPSG/0/32642',\n", + " 'http://www.opengis.net/def/crs/EPSG/0/32643',\n", + " 'http://www.opengis.net/def/crs/EPSG/0/32644',\n", + " 'http://www.opengis.net/def/crs/EPSG/0/32645',\n", + " 'http://www.opengis.net/def/crs/EPSG/0/32646',\n", + " 'http://www.opengis.net/def/crs/EPSG/0/32647',\n", + " 'http://www.opengis.net/def/crs/EPSG/0/32648',\n", + " 'http://www.opengis.net/def/crs/EPSG/0/32649',\n", + " 'http://www.opengis.net/def/crs/EPSG/0/32650',\n", + " 'http://www.opengis.net/def/crs/EPSG/0/32651',\n", + " 'http://www.opengis.net/def/crs/EPSG/0/32652',\n", + " 'http://www.opengis.net/def/crs/EPSG/0/32653',\n", + " 'http://www.opengis.net/def/crs/EPSG/0/32654',\n", + " 'http://www.opengis.net/def/crs/EPSG/0/32655',\n", + " 'http://www.opengis.net/def/crs/EPSG/0/32656',\n", + " 'http://www.opengis.net/def/crs/EPSG/0/32657',\n", + " 'http://www.opengis.net/def/crs/EPSG/0/32658',\n", + " 'http://www.opengis.net/def/crs/EPSG/0/32659',\n", + " 'http://www.opengis.net/def/crs/EPSG/0/32660',\n", + " 'http://www.opengis.net/def/crs/EPSG/0/32701',\n", + " 'http://www.opengis.net/def/crs/EPSG/0/32702',\n", + " 'http://www.opengis.net/def/crs/EPSG/0/32703',\n", + " 'http://www.opengis.net/def/crs/EPSG/0/32704',\n", + " 'http://www.opengis.net/def/crs/EPSG/0/32705',\n", + " 'http://www.opengis.net/def/crs/EPSG/0/32706',\n", + " 'http://www.opengis.net/def/crs/EPSG/0/32707',\n", + " 'http://www.opengis.net/def/crs/EPSG/0/32708',\n", + " 'http://www.opengis.net/def/crs/EPSG/0/32709',\n", + " 'http://www.opengis.net/def/crs/EPSG/0/32710',\n", + " 'http://www.opengis.net/def/crs/EPSG/0/32711',\n", + " 'http://www.opengis.net/def/crs/EPSG/0/32712',\n", + " 'http://www.opengis.net/def/crs/EPSG/0/32713',\n", + " 'http://www.opengis.net/def/crs/EPSG/0/32714',\n", + " 'http://www.opengis.net/def/crs/EPSG/0/32715',\n", + " 'http://www.opengis.net/def/crs/EPSG/0/32716',\n", + " 'http://www.opengis.net/def/crs/EPSG/0/32717',\n", + " 'http://www.opengis.net/def/crs/EPSG/0/32718',\n", + " 'http://www.opengis.net/def/crs/EPSG/0/32719',\n", + " 'http://www.opengis.net/def/crs/EPSG/0/32720',\n", + " 'http://www.opengis.net/def/crs/EPSG/0/32721',\n", + " 'http://www.opengis.net/def/crs/EPSG/0/32722',\n", + " 'http://www.opengis.net/def/crs/EPSG/0/32723',\n", + " 'http://www.opengis.net/def/crs/EPSG/0/32724',\n", + " 'http://www.opengis.net/def/crs/EPSG/0/32725',\n", + " 'http://www.opengis.net/def/crs/EPSG/0/32726',\n", + " 'http://www.opengis.net/def/crs/EPSG/0/32727',\n", + " 'http://www.opengis.net/def/crs/EPSG/0/32728',\n", + " 'http://www.opengis.net/def/crs/EPSG/0/32729',\n", + " 'http://www.opengis.net/def/crs/EPSG/0/32730',\n", + " 'http://www.opengis.net/def/crs/EPSG/0/32731',\n", + " 'http://www.opengis.net/def/crs/EPSG/0/32732',\n", + " 'http://www.opengis.net/def/crs/EPSG/0/32733',\n", + " 'http://www.opengis.net/def/crs/EPSG/0/32734',\n", + " 'http://www.opengis.net/def/crs/EPSG/0/32735',\n", + " 'http://www.opengis.net/def/crs/EPSG/0/32736',\n", + " 'http://www.opengis.net/def/crs/EPSG/0/32737',\n", + " 'http://www.opengis.net/def/crs/EPSG/0/32738',\n", + " 'http://www.opengis.net/def/crs/EPSG/0/32739',\n", + " 'http://www.opengis.net/def/crs/EPSG/0/32740',\n", + " 'http://www.opengis.net/def/crs/EPSG/0/32741',\n", + " 'http://www.opengis.net/def/crs/EPSG/0/32742',\n", + " 'http://www.opengis.net/def/crs/EPSG/0/32743',\n", + " 'http://www.opengis.net/def/crs/EPSG/0/32744',\n", + " 'http://www.opengis.net/def/crs/EPSG/0/32745',\n", + " 'http://www.opengis.net/def/crs/EPSG/0/32746',\n", + " 'http://www.opengis.net/def/crs/EPSG/0/32746',\n", + " 'http://www.opengis.net/def/crs/EPSG/0/32748',\n", + " 'http://www.opengis.net/def/crs/EPSG/0/32749',\n", + " 'http://www.opengis.net/def/crs/EPSG/0/32750',\n", + " 'http://www.opengis.net/def/crs/EPSG/0/32751',\n", + " 'http://www.opengis.net/def/crs/EPSG/0/32752',\n", + " 'http://www.opengis.net/def/crs/EPSG/0/32753',\n", + " 'http://www.opengis.net/def/crs/EPSG/0/32754',\n", + " 'http://www.opengis.net/def/crs/EPSG/0/32755',\n", + " 'http://www.opengis.net/def/crs/EPSG/0/32756',\n", + " 'http://www.opengis.net/def/crs/EPSG/0/32757',\n", + " 'http://www.opengis.net/def/crs/EPSG/0/32758',\n", + " 'http://www.opengis.net/def/crs/EPSG/0/32759',\n", + " 'http://www.opengis.net/def/crs/EPSG/0/32760',\n", + " 'http://www.opengis.net/def/crs/SR-ORG/0/98739'],\n", + " 'cube:dimensions': {'bands': {'type': 'bands',\n", + " 'values': ['B01',\n", + " 'B02',\n", + " 'B03',\n", + " 'B04',\n", + " 'B05',\n", + " 'B06',\n", + " 'B07',\n", + " 'B08',\n", + " 'B8A',\n", + " 'B09',\n", + " 'B11',\n", + " 'B12',\n", + " 'AOT',\n", + " 'SCL',\n", + " 'SNW',\n", + " 'CLD',\n", + " 'CLP',\n", + " 'CLM',\n", + " 'sunAzimuthAngles',\n", + " 'sunZenithAngles',\n", + " 'viewAzimuthMean',\n", + " 'viewZenithMean',\n", + " 'dataMask']},\n", + " 't': {'extent': ['2015-07-06T00:00:00Z', None], 'type': 'temporal'},\n", + " 'x': {'axis': 'x',\n", + " 'extent': [-180, 180],\n", + " 'reference_system': {'$schema': 'https://proj.org/schemas/v0.2/projjson.schema.json',\n", + " 'area': 'World',\n", + " 'bbox': {'east_longitude': 180,\n", + " 'north_latitude': 90,\n", + " 'south_latitude': -90,\n", + " 'west_longitude': -180},\n", + " 'coordinate_system': {'axis': [{'abbreviation': 'Lat',\n", + " 'direction': 'north',\n", + " 'name': 'Geodetic latitude',\n", + " 'unit': 'degree'},\n", + " {'abbreviation': 'Lon',\n", + " 'direction': 'east',\n", + " 'name': 'Geodetic longitude',\n", + " 'unit': 'degree'}],\n", + " 'subtype': 'ellipsoidal'},\n", + " 'datum': {'ellipsoid': {'inverse_flattening': 298.257223563,\n", + " 'name': 'WGS 84',\n", + " 'semi_major_axis': 6378137},\n", + " 'name': 'World Geodetic System 1984',\n", + " 'type': 'GeodeticReferenceFrame'},\n", + " 'id': {'authority': 'OGC', 'code': 'Auto42001', 'version': '1.3'},\n", + " 'name': 'AUTO 42001 (Universal Transverse Mercator)',\n", + " 'type': 'GeodeticCRS'},\n", + " 'step': 10,\n", + " 'type': 'spatial'},\n", + " 'y': {'axis': 'y',\n", + " 'extent': [-56, 83],\n", + " 'reference_system': {'$schema': 'https://proj.org/schemas/v0.2/projjson.schema.json',\n", + " 'area': 'World',\n", + " 'bbox': {'east_longitude': 180,\n", + " 'north_latitude': 90,\n", + " 'south_latitude': -90,\n", + " 'west_longitude': -180},\n", + " 'coordinate_system': {'axis': [{'abbreviation': 'Lat',\n", + " 'direction': 'north',\n", + " 'name': 'Geodetic latitude',\n", + " 'unit': 'degree'},\n", + " {'abbreviation': 'Lon',\n", + " 'direction': 'east',\n", + " 'name': 'Geodetic longitude',\n", + " 'unit': 'degree'}],\n", + " 'subtype': 'ellipsoidal'},\n", + " 'datum': {'ellipsoid': {'inverse_flattening': 298.257223563,\n", + " 'name': 'WGS 84',\n", + " 'semi_major_axis': 6378137},\n", + " 'name': 'World Geodetic System 1984',\n", + " 'type': 'GeodeticReferenceFrame'},\n", + " 'id': {'authority': 'OGC', 'code': 'Auto42001', 'version': '1.3'},\n", + " 'name': 'AUTO 42001 (Universal Transverse Mercator)',\n", + " 'type': 'GeodeticCRS'},\n", + " 'step': 10,\n", + " 'type': 'spatial'}},\n", + " 'description': '[Sentinel-2 Level 2A](https://docs.terrascope.be/#/DataProducts/Sentinel-2/Level2A/Level2A) product, processed from L1C by Sen2Cor. \\n Use the [Terrascope viewer](https://viewer.terrascope.be/?language=nl&bbox=0.9339867511378304,50.14520994379217,6.207424251137831,51.77292299745045&overlay=false&bgLayer=MapBox&date=2019-02-25T03:17:15.000Z&layer=CGS_S2_RADIOMETRY) to explore the data. \\n\\n ',\n", + " 'extent': {'spatial': {'bbox': [[-180, -56, 180, 83]]},\n", + " 'temporal': {'interval': [['2015-07-06T00:00:00Z', None],\n", + " ['2016-11-01T00:00:00Z', None]]}},\n", + " 'id': 'SENTINEL2_L2A',\n", + " 'keywords': ['VITO',\n", + " 'TERRASCOPE',\n", + " 'COPERNICUS',\n", + " 'ESA',\n", + " 'Orthoimagery',\n", + " 'Sentinel-2',\n", + " 'MSI',\n", + " 'Level-2A',\n", + " 'Radiometry',\n", + " 'Plant Resource',\n", + " 'TOC',\n", + " 'xcube',\n", + " 'sentinel hub',\n", + " 'raster',\n", + " 'systematic',\n", + " 'satellite imagery',\n", + " 'multi spectral imagery',\n", + " 'agriculture',\n", + " 'natural resource',\n", + " 'disaster response',\n", + " 'open data',\n", + " 'race challenges',\n", + " 'copernicus',\n", + " 'sentinel'],\n", + " 'license': 'proprietary',\n", + " 'links': [{'href': 'https://sentinel.esa.int/documents/247904/690755/Sentinel_Data_Legal_Notice',\n", + " 'rel': 'license'},\n", + " {'href': 'https://services.terrascope.be/catalogue/description?collection=urn:eop:VITO:TERRASCOPE_S2_TOC_V2',\n", + " 'rel': 'alternate'},\n", + " {'href': 'https://viewer.terrascope.be/?language=nl&bbox=0.9339867511378304,50.14520994379217,6.207424251137831,51.77292299745045&overlay=false&bgLayer=MapBox&date=2019-02-25T03:17:15.000Z&layer=CGS_S2_RADIOMETRY',\n", + " 'rel': 'alternate'},\n", + " {'href': 'https://services.terrascope.be/wmts/v2',\n", + " 'rel': 'wmts',\n", + " 'wmts:layer': 'CGS_S2_RADIOMETRY'},\n", + " {'href': 'https://collections.eurodatacube.com/sentinel-2-l2a',\n", + " 'rel': 'about',\n", + " 'title': 'Website describing the collection',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://services.sentinel-hub.com/ogc/wmts/7d34803f-511c-4caf-9438-6d72f32c8174',\n", + " 'rel': 'wmts',\n", + " 'wmts:dimensions': {'warnings': True},\n", + " 'wmts:layer': 'TRUE-COLOR'},\n", + " {'href': 'https://docs.sentinel-hub.com/api/latest/api/process/',\n", + " 'rel': 'about',\n", + " 'title': 'Details about running Evalscripts',\n", + " 'type': 'text/html'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/sentinel-2/true_color/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'True Color',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate True Color imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/sentinel-2/false_color_infrared/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'False color',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate False color imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/sentinel-2/swir-rgb/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'SWIR',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate Short Wave Infrared (SWIR) RGB Composite',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/sentinel-2/false-color-urban-rgb/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'False Color Urban',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate False Color Urban imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/sentinel-2/ndvi/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'NDVI',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'NEAREST',\n", + " 'title': 'Evalscript to generate NDVI imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/sentinel-2/ndmi/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'NDMI',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'NEAREST',\n", + " 'title': 'Evalscript to generate NDMI imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/sentinel-2/ndwi/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'NDWI',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'NEAREST',\n", + " 'title': 'Evalscript to generate NDWI imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/sentinel-2/ndsi-visualized/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'NDSI',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'NEAREST',\n", + " 'title': 'Evalscript to generate NDSI imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://custom-scripts.sentinel-hub.com/sentinel-2/scene-classification/script.js',\n", + " 'rel': 'processing-expression',\n", + " 'sentinelhub:layer_name': 'Scene Classification',\n", + " 'sentinelhub:mosaicking_order': 'mostRecent',\n", + " 'sentinelhub:upsampling': 'BICUBIC',\n", + " 'title': 'Evalscript to generate Scene Classification imagery',\n", + " 'type': 'application/javascript'},\n", + " {'href': 'https://sentinels.copernicus.eu/documents/247904/690755/Sentinel_Data_Legal_Notice',\n", + " 'rel': 'license',\n", + " 'title': 'License',\n", + " 'type': 'application/pdf'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'root'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections',\n", + " 'rel': 'parent'},\n", + " {'href': 'https://openeocloud.vito.be/openeo/1.0.0/collections/SENTINEL2_L2A',\n", + " 'rel': 'self'}],\n", + " 'providers': [{'name': 'VITO, on behalf of the Belgian Science Policy Office (BELSPO).',\n", + " 'roles': ['producer', 'licensor'],\n", + " 'url': 'https://terrascope.be'},\n", + " {'description': 'Europe since November 2016, Global since January 2017',\n", + " 'name': 'Sentinel Hub',\n", + " 'roles': ['processor'],\n", + " 'url': 'https://services.sentinel-hub.com'},\n", + " {'description': 'Europe since July 2016',\n", + " 'name': 'Sentinel Hub',\n", + " 'roles': ['processor'],\n", + " 'url': 'https://shservices.mundiwebservices.com'}],\n", + " 'sci:citation': 'Modified Copernicus Sentinel data [Year]/Sentinel Hub',\n", + " 'stac_extensions': ['https://stac-extensions.github.io/datacube/v2.2.0/schema.json',\n", + " 'https://stac-extensions.github.io/eo/v1.1.0/schema.json',\n", + " 'https://stac-extensions.github.io/datacube/v1.0.0/schema.json',\n", + " 'https://stac-extensions.github.io/scientific/v1.0.0/schema.json',\n", + " 'https://stac-extensions.github.io/eo/v1.0.0/schema.json'],\n", + " 'stac_version': '1.0.0',\n", + " 'summaries': {'federation:backends': ['vito', 'sentinelhub'],\n", + " 'provider:backend': ['vito', 'sentinelhub']},\n", + " 'title': 'Sentinel-2 top of canopy last 2 years over Europe + selected areas, by Terrascope.',\n", + " 'type': 'Collection'}" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "conn.describe_collection(\"SENTINEL2_L2A\")" + ] + }, + { + "cell_type": "markdown", + "id": "ed91226f-a9ea-45d5-9663-98ed56fb067f", + "metadata": {}, + "source": [ + "## Define a workflow\n", + "We will define our workflow now. And chain all the processes together we need for analyzing the snow cover in the catchment." + ] + }, + { + "cell_type": "markdown", + "id": "f786a79c-897d-4858-83c0-af9d4c4efede", + "metadata": {}, + "source": [ + "### Define the data cube\n", + "We define all extents of our data cube. We use the catchment as spatial extent. As a time range we will focus on the snow melting season 2018, in particular from Febraury to June 2018." + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "139b411c-b401-4af8-9f7a-d046e24e00e1", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "data": { + "text/plain": [ + "minx 11.020833\n", + "miny 46.653599\n", + "maxx 11.366667\n", + "maxy 46.954167\n", + "Name: 0, dtype: float64" + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "bbox = catchment_outline.bounds.iloc[0]\n", + "bbox" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "2a136b78-6eba-42df-a71b-f1b86c4a27ea", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "from openeo.processes import lte\n", + "collection = 'SENTINEL2_L2A'\n", + "spatial_extent = {'west':bbox[0],'east':bbox[2],'south':bbox[1],'north':bbox[3],'crs':4326}\n", + "temporal_extent = [\"2022-02-01\", \"2022-06-30\"]\n", + "bands = ['B03', 'B11']\n", + "properties={\"eo:cloud_cover\": lambda x: lte(x, 90)}" + ] + }, + { + "cell_type": "markdown", + "id": "450db68c-ffdc-4037-9885-045afec86637", + "metadata": { + "tags": [] + }, + "source": [ + "### Load the data cube\n", + "We have defined the extents we are interested in. Now we use these definitions to load the data cube." + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "id": "7d89755c-ef86-464f-a5e0-187bd44dfd53", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "s2 = conn.load_collection(collection,\n", + " spatial_extent=spatial_extent,\n", + " bands=bands,\n", + " temporal_extent=temporal_extent,\n", + " properties=properties)" + ] + }, + { + "cell_type": "markdown", + "id": "f93a67e6-6746-4de7-9142-635eee9a1196", + "metadata": {}, + "source": [ + "### NDSI - Normalized Difference Snow Index\n", + "The Normalized Difference Snow Index (NDSI) is computed as:\n", + "\n", + "$$ NDSI = \\frac {GREEN - SWIR} {GREEN +SWIR} $$\n", + "\n", + "We have created a Sentinel-2 data cube with bands B03 (green), B11 (SWIR) and the cloud mask (CLM). We will use the green and SWIR band to calculate a the NDSI. This process is reducing the band dimension of the data cube to generate new information, the NDSI." + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "id": "26cd85ae-fddf-42c5-975a-1e911420e063", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + " \n", + " \n", + " \n", + " \n", + " " + ], + "text/plain": [ + "" + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "green = s2.band(\"B03\")\n", + "swir = s2.band(\"B11\")\n", + "ndsi = (green - swir) / (green + swir)\n", + "ndsi" + ] + }, + { + "cell_type": "markdown", + "id": "746ef0f4-9c9f-4884-8806-730d91261acb", + "metadata": {}, + "source": [ + "### Creating the Snow Map\n", + "So far we have a timeseries of NDSI values. We are intereseted in the presence of snow though. Ideally in a binary classification: snow and no snow.\n", + "To achieve this we are setting a threshold of 0.42 on the NDSI. This gives us a binary snow map." + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "id": "591d44b1-20d1-447a-a956-291495f7a1c1", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + " \n", + " \n", + " \n", + " \n", + " " + ], + "text/plain": [ + "" + ] + }, + "execution_count": 15, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "snowmap = ( ndsi > 0.42 ) * 1.0\n", + "snowmap" + ] + }, + { + "cell_type": "markdown", + "id": "1b4ae963-05f1-48d0-937f-f162783f3fe3", + "metadata": {}, + "source": [ + "### Creating a cloud mask\n", + "We are going to use \"SCL\" band for creating a cloud mask and then applying it to the NDSI. \n", + "`8 = cloud medium probability`, `9 = cloud high probability`, `3 = cloud shadow`\n", + "\n", + "Here is more information on the Scene Classification https://sentinels.copernicus.eu/web/sentinel/technical-guides/sentinel-2-msi/level-2a/algorithm-overview\n", + "\n", + "| Value | Label |\n", + "|--------------|-----------|\n", + "| 0\t | NO_DATA |\n", + "| 1\t | SATURATED_OR_DEFECTIVE |\n", + "| 2\t | CAST_SHADOWS |\n", + "| 3\t | CLOUD_SHADOWS |\n", + "| 4\t | VEGETATION |\n", + "| 5\t | NOT_VEGETATED |\n", + "| 6\t | WATER \t \t |\n", + "| 7\t | UNCLASSIFIED \t |\n", + "| 8\t | CLOUD_MEDIUM_PROBABILITY |\n", + "| 9\t | CLOUD_HIGH_PROBABILITY |\n", + "| 10\t| THIN_CIRRUS |\n", + "| 11\t| SNOW or ICE |" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "id": "1178adce-2b0f-4c53-b013-27881c9f0115", + "metadata": {}, + "outputs": [], + "source": [ + "scl_cube =conn.load_collection(\n", + " \"SENTINEL2_L2A\",\n", + " spatial_extent=spatial_extent,\n", + " bands=[\"SCL\"],\n", + " temporal_extent=temporal_extent,\n", + " max_cloud_cover=90,\n", + " \n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "id": "99556d13-fae5-4726-a656-979a1945e7c1", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + " \n", + " \n", + " \n", + " \n", + " " + ], + "text/plain": [ + "" + ] + }, + "execution_count": 17, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "scl_band = scl_cube.band(\"SCL\")\n", + "cloud_mask = ( (scl_band == 8) | (scl_band == 9) | (scl_band == 3) ) * 1.0\n", + "cloud_mask" + ] + }, + { + "cell_type": "markdown", + "id": "8b2219e0-12c1-487f-b95c-cd96743f866d", + "metadata": {}, + "source": [ + "The SCL layer has a ground sample distance of 20 meter while the other bands have 10 meter GSD" + ] + }, + { + "cell_type": "markdown", + "id": "8e7d0d18-2c39-4b4f-b493-d0370d7f1c92", + "metadata": {}, + "source": [ + "### Applying the cloud mask to the snowmap\n", + "We will mask out all pixels that are covered by clouds. This will result in: 0 = no_snow, 1 = snow, 2 = cloud" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "id": "8e188e75-57d6-4140-920d-937bea779934", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + " \n", + " \n", + " \n", + " \n", + " " + ], + "text/plain": [ + "" + ] + }, + "execution_count": 18, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "snowmap_cloudfree = snowmap.mask(cloud_mask,replacement=2) # replacement is null by default\n", + "snowmap_cloudfree" + ] + }, + { + "cell_type": "markdown", + "id": "61be5bad-fce6-46b3-85f3-cbfc15d309f0", + "metadata": {}, + "source": [ + "### Mask Polygon: From Bounding Box to Shape\n", + "Filter to the exact outline of the catchment: this should mask out the pixels outside of the catchment." + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "id": "09b8c9ff-0f11-43ae-81c7-c323365fe3ac", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "data": { + "image/svg+xml": [ + "" + ], + "text/plain": [ + "" + ] + }, + "execution_count": 19, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "catchment_outline['geometry'][0]" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "id": "c6cc66f6-0f09-46e4-b687-f42703da647f", + "metadata": { + "scrolled": true, + "tags": [] + }, + "outputs": [], + "source": [ + "snowmap_cloudfree_masked = snowmap_cloudfree.mask_polygon(catchment_outline['geometry'][0])" + ] + }, + { + "cell_type": "markdown", + "id": "ce3b6b14-7f09-456d-9162-8c5f688c67e5", + "metadata": {}, + "source": [ + "#### Visualize one time step of the timeseries\n", + "Let's download the whole image time series as a netcdf file to have a look how our first results look like" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "id": "891968e3-ddfe-4dad-bba7-af22f8a5f16e", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "snowmap_cloudfree_1d = snowmap_cloudfree_masked.filter_temporal('2022-02-10', '2022-02-12')\n", + "snowmap_cloudfree_1d.download('results/snowmap_cloudfree_1d.nc')" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "id": "405e1ee1-febf-4ec6-83d4-5bc644756169", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 22, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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pUqV3I5t27YNAwYMQPfu3bF27VpREcAYw6hRo7BmzRqsWrUK/fr1czn+zDPPYNWqVc7XnTt3xu7duz1i1549e9C1a1eX8mfPnlXkvXOg1S4pHPk1NWvWVFSe732y2WzYuXMnZs2ahTfffBMvvfQSKleujKFDh2LOnDmoWLGiaF2euOdiYmJcXpcpUwZVqlQR7DOCIJRDgsgAevfujd69e4seLy4uxrRp07B27Vr8+eefaNq0Kd544w106dIFAJCZmYklS5bg2LFjaNCggZesth6eCF/MnDkTKSkpSElJEfTm1a1bF+XKlcOvv/7qduzXX39FvXr13LwW27ZtQ//+/dG5c2esX78eISEhojaOGjUKn3zyCZYvX+4SznGQkpLiItIcg7cn7EpMTHTzhsTGxgraLoYWu+SIiooCAFy4cEFReSHxGR8fj+XLlwO463H68ssvkZKSguLiYixdulS0Lk/cc7m5uahRo4bzdUlJCfLz851ikiAIbZAg8gJPP/00zp07hy+++AKxsbHYuHEjevXqhV9//RX169fH119/jXvvvRfffPMNevXqBcYYunXrhjfffFMwl4K4S2hoKADgr7/+UlTe6PDFa6+9hpSUFEybNg0zZswQLFOmTBkkJydjw4YNePPNN52CJDs7G7t27XLL99m+fTv69++PDh06YNOmTc5r5MMYw+jRo/HJJ59g2bJlooNu7dq1BT00nrCrYsWKaN26taAdSlFrlxLuu+8+1K1bFytWrMDEiRNF+1RNfdOmTcP69etx+PBhybKeCJmtXbvWJSz75ZdfoqSkxPkDiyAIjXh9on+AA4Bt3LjR+fr3339nNpuNXbx40aXcQw89xKZMmcIYY+zZZ59loaGhrE2bNmzv3r1s165drEWLFqxr167eNN3v2LVrFwPAnn32WZaWlsZ++uknVlhY6JW23377bQaA9erVix04cMBt45KZmcnCw8NZp06d2NatW9mGDRtY06ZNWWxsLMvLy3OW27dvHytXrhyrXbs2+/77793q5K7LM3bsWAaAPfPMM27lDh8+rOgaPGGXFFu3bmVfffUVW7FiBQPAHn/8cfbVV1+xr776ymW9H6V2MXZ3vR0lX2PfffcdK1u2LGvRogVbtWoV27VrF1u1ahV74oknnGXE1vk5evQo69ixI3v33XfZt99+y3bu3MmmTp3KgoKC2Kuv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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "xr.open_dataarray('results/snowmap_cloudfree_1d.nc',decode_coords=\"all\")[0].plot.imshow()" + ] + }, + { + "cell_type": "markdown", + "id": "914a28f1-1a9b-4647-8411-a3ff2821e59f", + "metadata": { + "tags": [] + }, + "source": [ + "## Calculate Catchment Statistics\n", + "\n", + "We are looking at a region over time. We need to make sure that the information content meets our expected quality. Therefore, we calculate the **cloud percentage** for the catchment for each timestep. We use this information to filter the timeseries. All timesteps that have a cloud coverage of over 25% will be discarded.\n", + "\n", + "Ultimately we are interested in the **snow covered area (SCA)** within the catchment. We count all snow covered pixels within the catchment for each time step. Multiplied by the pixel size that would be the snow covered area. Divided the pixel count by the total number of pixels in the catchment is the percentage of pixels covered with snow. We will use this number.\n", + "\n", + "Get number of pixels in catchment: total, clouds, snow." + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "id": "0704eac4-5fd2-4a6f-87b3-0689f669dc04", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + " \n", + " \n", + " \n", + " \n", + " " + ], + "text/plain": [ + "" + ] + }, + "execution_count": 23, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# number of all pixels\n", + "n_catchment = ((snowmap_cloudfree > -1) * 1.0).add_dimension(name=\"bands\",type=\"bands\",label=\"n_catchment\")\n", + "\n", + "# number of cloud pixels (no function needed, mask already created before)\n", + "n_cloud = cloud_mask.add_dimension(name=\"bands\",type=\"bands\",label=\"n_cloud\")\n", + "\n", + "# number of snow pixels\n", + "n_snow = ((snowmap_cloudfree == 1) * 1.0).add_dimension(name=\"bands\",type=\"bands\",label=\"n_snow\")\n", + "\n", + "# combine the binary data cubes into one data cube\n", + "n_catchment_cloud_snow = n_catchment.merge_cubes(n_cloud).merge_cubes(n_snow)\n", + "\n", + "# aggregate to catchment\n", + "n_pixels = n_catchment_cloud_snow.aggregate_spatial(geometries = catchment_outline['geometry'][0], reducer = 'sum')\n", + "n_pixels" + ] + }, + { + "cell_type": "markdown", + "id": "ff976399-bea0-477f-a014-5cf6a961e674", + "metadata": {}, + "source": [ + "Create batch job to start processing on the backend." + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "id": "09d15142-b402-4b85-a98c-e3aa61d793c8", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + " \n", + " \n", + " \n", + " \n", + " " + ], + "text/plain": [ + "" + ] + }, + "execution_count": 24, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Create a batch job\n", + "n_pixels_json = n_pixels.save_result(format=\"JSON\")\n", + "job = n_pixels_json.create_job(title=\"n_pixels_json\")\n", + "job.start_job()" + ] + }, + { + "cell_type": "code", + "execution_count": 35, + "id": "2b2e726b-1c43-45e8-b0a4-e55a960c543a", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "data": { + "text/plain": [ + "'finished'" + ] + }, + "execution_count": 35, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "job.status()" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "id": "4350f435-c8ef-4c15-a461-4745d66677d0", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "if job.status() == \"finished\":\n", + " results = job.get_results()\n", + " results.download_files(\"results_openeo_platform/\")" + ] + }, + { + "cell_type": "markdown", + "id": "aa996a8d-ced1-4641-b8b8-4b5badab028d", + "metadata": {}, + "source": [ + "Load the result. It contains the number of pixels in the catchment, clouds and snow.\n", + "\n", + "We can calculate the percentages of cloud and snow pixels in the catchment." + ] + }, + { + "cell_type": "code", + "execution_count": 36, + "id": "74764134-ea52-4837-a635-eb8e65119b12", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "with open(\"results_openeo_platform/timeseries.json\",\"r\") as file:\n", + " n_pixels_json = json.load(file)" + ] + }, + { + "cell_type": "code", + "execution_count": 37, + "id": "e022c407-f8a2-4fae-8869-4283cbd1916f", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "data": { + "text/plain": [ + "[('2022-03-09T00:00:00Z', [[4201607.0, 24.0, 1932487.0]]),\n", + " ('2022-03-12T00:00:00Z', [[4201607.0, 3377768.0, 588345.0]]),\n", + " ('2022-04-08T00:00:00Z', [[4166981.0, 3649978.0, 121573.0]])]" + ] + }, + "execution_count": 37, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# check the first 5 entries\n", + "list(n_pixels_json.items())[:3] # careful unsorted dates due to JSON format" + ] + }, + { + "cell_type": "code", + "execution_count": 38, + "id": "1ec6fdfe-329f-4688-887d-9dc8fa6bd492", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
n_catchment_valsn_cloud_valsn_snow_vals
time
2022-02-02 00:00:00+00:00NaN4201607.0NaN
2022-02-05 00:00:00+00:004201607.0857590.02160594.0
2022-02-07 00:00:00+00:004166981.04023172.0152057.0
\n", + "
" + ], + "text/plain": [ + " n_catchment_vals n_cloud_vals n_snow_vals\n", + "time \n", + "2022-02-02 00:00:00+00:00 NaN 4201607.0 NaN\n", + "2022-02-05 00:00:00+00:00 4201607.0 857590.0 2160594.0\n", + "2022-02-07 00:00:00+00:00 4166981.0 4023172.0 152057.0" + ] + }, + "execution_count": 38, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Create a Pandas DataFrame to contain the values\n", + "dates = [k for k in n_pixels_json]\n", + "n_catchment_vals = [n_pixels_json[k][0][0] for k in n_pixels_json]\n", + "n_cloud_vals = [n_pixels_json[k][0][1] for k in n_pixels_json]\n", + "n_snow_vals = [n_pixels_json[k][0][2] for k in n_pixels_json]\n", + "\n", + "data = {\n", + " \"time\":pd.to_datetime(dates),\n", + " \"n_catchment_vals\":n_catchment_vals,\n", + " \"n_cloud_vals\":n_cloud_vals,\n", + " \"n_snow_vals\":n_snow_vals\n", + " }\n", + "df = pd.DataFrame(data=data).set_index(\"time\")\n", + "# Sort the values by date\n", + "df = df.sort_values(axis=0,by=\"time\")\n", + "df[:3]" + ] + }, + { + "cell_type": "markdown", + "id": "1bad0cdc-9ae9-4dfc-a6d7-e7079bcd947a", + "metadata": {}, + "source": [ + "Divide the number of cloudy pixels by the number of total pixels = cloud percentage" + ] + }, + { + "cell_type": "code", + "execution_count": 39, + "id": "ba2372ff-410f-47fb-849e-b8d008baf320", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
n_catchment_valsn_cloud_valsn_snow_valsperc_cloud
time
2022-02-02 00:00:00+00:00NaN4201607.0NaNNaN
2022-02-05 00:00:00+00:004201607.0857590.02160594.020.411000
2022-02-07 00:00:00+00:004166981.04023172.0152057.096.548844
\n", + "
" + ], + "text/plain": [ + " n_catchment_vals n_cloud_vals n_snow_vals \\\n", + "time \n", + "2022-02-02 00:00:00+00:00 NaN 4201607.0 NaN \n", + "2022-02-05 00:00:00+00:00 4201607.0 857590.0 2160594.0 \n", + "2022-02-07 00:00:00+00:00 4166981.0 4023172.0 152057.0 \n", + "\n", + " perc_cloud \n", + "time \n", + "2022-02-02 00:00:00+00:00 NaN \n", + "2022-02-05 00:00:00+00:00 20.411000 \n", + "2022-02-07 00:00:00+00:00 96.548844 " + ] + }, + "execution_count": 39, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "perc_cloud = df[\"n_cloud_vals\"].values / df[\"n_catchment_vals\"].values * 100\n", + "df[\"perc_cloud\"] = perc_cloud\n", + "df[:3]" + ] + }, + { + "cell_type": "markdown", + "id": "af1331f9-b440-4f0e-a161-00cc00ffcd25", + "metadata": {}, + "source": [ + "Plot the timeseries and the cloud threshold of 25%. If the cloud cover is higher the timestep will be excluded later on.\n", + "\n", + "Plot the **cloud percentage** with the threshold." + ] + }, + { + "cell_type": "code", + "execution_count": 48, + "id": "fdea8b55-0cb5-4985-9913-55ac66a63d94", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "df.plot(y=\"perc_cloud\",rot=45,kind=\"line\",marker='o')\n", + "plt.axhline(y = 25, color = \"r\", linestyle = \"-\")\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "153772f2-dfdd-44e2-9cc5-5579c5dd3fd1", + "metadata": {}, + "source": [ + "Divide the number of snow pixels by the number of total pixels = snow percentage" + ] + }, + { + "cell_type": "code", + "execution_count": 41, + "id": "669cba7c-d625-4adc-8d40-e029702a8826", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
n_catchment_valsn_cloud_valsn_snow_valsperc_cloudperc_snow
time
2022-02-02 00:00:00+00:00NaN4201607.0NaNNaNNaN
2022-02-05 00:00:00+00:004201607.0857590.02160594.020.41100051.423039
2022-02-07 00:00:00+00:004166981.04023172.0152057.096.5488443.649093
\n", + "
" + ], + "text/plain": [ + " n_catchment_vals n_cloud_vals n_snow_vals \\\n", + "time \n", + "2022-02-02 00:00:00+00:00 NaN 4201607.0 NaN \n", + "2022-02-05 00:00:00+00:00 4201607.0 857590.0 2160594.0 \n", + "2022-02-07 00:00:00+00:00 4166981.0 4023172.0 152057.0 \n", + "\n", + " perc_cloud perc_snow \n", + "time \n", + "2022-02-02 00:00:00+00:00 NaN NaN \n", + "2022-02-05 00:00:00+00:00 20.411000 51.423039 \n", + "2022-02-07 00:00:00+00:00 96.548844 3.649093 " + ] + }, + "execution_count": 41, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "perc_snow = df[\"n_snow_vals\"].values / df[\"n_catchment_vals\"].values * 100\n", + "df[\"perc_snow\"] = perc_snow\n", + "df[:3]" + ] + }, + { + "cell_type": "markdown", + "id": "56db5d2a-22af-4200-9ea2-5d94479d9f72", + "metadata": {}, + "source": [ + "Plot the **unfiltered snow percentage**" + ] + }, + { + "cell_type": "code", + "execution_count": 42, + "id": "03e06724-f4c6-4dd0-9707-d94c92b4c74c", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "data": { + "image/png": "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Dvqhc88Puhb66TXnPtWpHLfbLf1/8GjgoUOHiu+++6709/Xr16f6UNIWnWM+0HXQD517ftC10E9vOPdJ72s6cuQI3n77baxcuRJ1dXVwu90A/BXKrD+8vb0dHo8HdrsdAPDzn/8cV199NY4fP57sw0lLdI75QNdBP3Tu+UHXQj+98twnMwL67LPPxOLiYnHMmDFifn6+WFZWJs6fP18qAPL5fGJXV5fY3t4uDho0SPz000/FJUuWiNnZ2eK2bduSeShpi84xH+g66IfOPT/oWuint577pAUtTU1N4oUXXij+7Gc/ExsbG0VRFMXFixeLl19+uXjttdeKX331Vcjjx44dK1500UWixWIx9AnUEp1jPtB10A+de37QtdBPbz73SQtaDh8+LA4aNEj897//HfLxVatWiZMmTRJnzZol1tXViaIoio2NjWJeXp6YkZEhfv7558k6hLRH55gPdB30Q+eeH3Qt9NObz33SalrMZjPsdjtOnDgBANLeBnPmzMHs2bNRU1OD9evXAwD69OmD559/Hrt378bIkSOTdQhpj84xH+g66IfOPT/oWuinN597QRSTt7Xjtddei6NHj+L9999Hfn4+PB6PtMfBTTfdhOPHj2Pz5s0AEHGcMImPzjEf6Droh849P+ha6Ke3nnvVP0V7eztaW1vR0tIifewvf/kLmpubcfPNN8PtdksnEACuvvpqiKIIl8vl/4fT5ASmEp1jPtB10A+de37QtdAPnfsAVT/J3r17cf3112Py5Mk4//zz8de//hU+nw99+/bFmjVrsG/fPkyfPh379++XpvBt3boVOTk5ST34dEbnmA90HfRD554fdC30Q+c+jNIimD179oiFhYXiT37yE3HNmjXigw8+KGZmZoo7d+6UHrN7925x5MiR4tChQ8Vx48aJM2fOFHNycsRdu3YlpRAn3dE55gNdB/3QuecHXQv90LnvSVFNS2NjI2699Vacd955eOaZZ6SPT506FSNHjsQzzzwDURQhCAIA4Pnnn8exY8dgt9txyy23YPjw4cmPutIMnWM+0HXQD517ftC10A+d+8gU7T3U1dWFs2fP4sYbbwQQKO4ZMmQIzpw5AwAQBAFerxdmsxn33ntv8o84zdE55gNdB/3QuecHXQv90LmPTFFNS3FxMVavXo3LL78cgH9UMAAMGDAgpNDHbDajtbVV+ruCZE6vR+eYD3Qd9EPnnh90LfRD5z4yxYW4FRUVAPxRX2ZmJgD/yTx58qT0mKVLl2LlypVS7zhLXxF56Bzzga6Dfujc84OuhX7o3PekaHkomMlkktbTBEGA2WwGAPzyl7/Er3/9a3z66achLVhEOTrHfKDroB869/yga6EfOvcBCTVvszSU2WxGWVkZnnjiCTz++OPYvn07Ro0alZQD7O3oHPOBroN+6Nzzg66Ffujc+yUUmrF1tczMTKxcuRK5ubn46KOPMHbs2KQcHKFzzAu6Dvqhc88Puhb6oXPvl5QxeVdffTUAYPPmzRg3blwyviUJQ+eYD3Qd9EPnnh90LfTT28990vYeam9vR1ZWVjK+FYmCzjEf6Droh849P+ha6Kc3n/ukbphICCGEEJIq6bOLEiGEEELSGgUthBBCCDEECloIIYQQYggUtBBCCCHEEChoIYQQQoghUNBCCCGEEEOgoIUQoquNGzdCEAScPXtW70MhhHCO5rQQQjQ1ZcoUjB49GsuXLwcAuN1uNDY2ori4OO13qCWEJKZ3bAtJCOGWxWJBSUmJ3odBCDEAWh4ihGhm7ty52LRpE5555hkIggBBEPDSSy+FLA+99NJLyM/Px1tvvYXhw4fD4XDgxhtvRHt7O1atWoXBgwejT58++NGPfgSv1yt9b7fbjQULFmDAgAHIysrC+PHjsXHjRn1+UEJISlCmhRCimWeeeQZffvklqqqq8OijjwIA9uzZ0+NxHR0dePbZZ7F27Vq0trbi+uuvx/XXX4/8/Hy88847+Prrr3HDDTdg4sSJuOWWWwAA3/3ud3Ho0CGsXbsW/fv3x2uvvYYZM2Zg9+7dqKio0PTnJISkBgUthBDN5OXlwWKxwOFwSEtC+/bt6/G4rq4urFixAkOHDgUA3Hjjjfif//kfnDx5EtnZ2aisrMQVV1yB999/H7fccgsOHjyIl19+GceOHUP//v0BAPPnz8e6devw4osvYsmSJdr9kISQlKGghRDCHYfDIQUsAFBcXIzBgwcjOzs75GMNDQ0AgJ07d0IURQwbNizk+7hcLhQWFmpz0ISQlKOghRDCnczMzJC/C4IQ8WM+nw8A4PP5YDabsWPHDpjN5pDHBQc6hBBjo6CFEKIpi8USUkCbDGPGjIHX60VDQwMuv/zypH5vQgg/qHuIEKKpwYMHY8uWLTh06BBOnz4tZUsSMWzYMMyePRtz5szBq6++itraWmzbtg3Lli3DO++8k4SjJoTwgIIWQoim5s+fD7PZjMrKSvTr1w9HjhxJyvd98cUXMWfOHPz0pz/F8OHDce2112LLli0oKytLyvcnhOiPJuISQgghxBAo00IIIYQQQ6CghRBCCCGGQEELIYQQQgyBghZCCCGEGAIFLYQQQggxBApaCCGEEGIIFLQQQgghxBAoaCGEEEKIIVDQQgghhBBDoKCFEEIIIYZAQQshhBBCDOH/A3HJsbWQEkVeAAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "df.plot(y=\"perc_snow\",rot=45,kind=\"line\",marker='o')\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "c6ca8ab6-a6b6-479f-821d-236dd8cb5df9", + "metadata": {}, + "source": [ + "Keep only the dates with cloud coverage less than the threshold" + ] + }, + { + "cell_type": "code", + "execution_count": 43, + "id": "f8c31218-8d75-43b3-9106-bf70f0624544", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "df_filtered = df.loc[df[\"perc_cloud\"]<25]" + ] + }, + { + "cell_type": "markdown", + "id": "9e192035-03c3-4b98-bb0c-611128be8284", + "metadata": {}, + "source": [ + "Plot the **cloud filtered snow percentage**" + ] + }, + { + "cell_type": "code", + "execution_count": 44, + "id": "b6c0646a-1385-4980-b443-48fbb2062783", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "df_filtered.plot(y=\"perc_snow\",rot=45,kind=\"line\",marker='o')\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "dcff56ef-8fe1-4b63-a2b4-5c37b69572da", + "metadata": { + "tags": [] + }, + "source": [ + "Save the **cloud filtered snow percentage**" + ] + }, + { + "cell_type": "code", + "execution_count": 45, + "id": "ff1025f1-f2ed-4d5f-afbd-c95df37da869", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "df_filtered.to_csv(\"results_openeo_platform/filtered_snow_perc.csv\")" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.12" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/_sources/3.1_data_processing/3.1_exercises/_alternatives/31_data_processing_stac.ipynb b/_sources/3.1_data_processing/3.1_exercises/_alternatives/31_data_processing_stac.ipynb new file mode 100644 index 0000000..09a5a19 --- /dev/null +++ b/_sources/3.1_data_processing/3.1_exercises/_alternatives/31_data_processing_stac.ipynb @@ -0,0 +1,2924 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "0c6aed2f-1493-4636-a124-03c81b28bc52", + "metadata": {}, + "source": [ + "# 3.1 Data Processing\n", + "In this exercise we will build a complete EO workflow using cloud provided data (STAC Catalogue), processing it locally; from data access to obtaining the result. In this example we will analyse snow cover in the Alps.\n", + "\n", + "We are going to follow these steps in our analysis:\n", + "\n", + "- Load satellite collections\n", + "- Specify the spatial, temporal extents and the features we are interested in\n", + "- Process the satellite data to retrieve snow cover information\n", + "- aggregate information in data cubes\n", + "- Visualize and analyse the results\n", + "\n", + "More information on the openEO Python Client: https://open-eo.github.io/openeo-python-client/index.html\n", + "\n", + "More information on the Client Side Processing and `load_stac` functionalities: https://open-eo.github.io/openeo-python-client/cookbook/localprocessing.html" + ] + }, + { + "cell_type": "markdown", + "id": "f28075a9-ee07-4ca6-93fe-ac7c4cb75f06", + "metadata": {}, + "source": [ + "## Install missing and update packages:" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "057019b0-17d5-4cb0-a1a3-5abd47dee312", + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "%%capture\n", + "pip install rioxarray geopandas leafmap" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "81ae631f-4b40-4a37-8e9b-05df68850218", + "metadata": {}, + "outputs": [], + "source": [ + "%%capture\n", + "pip install openeo[localprocessing] --upgrade" + ] + }, + { + "cell_type": "markdown", + "id": "f9d64c64-39db-4869-917c-ed24bef18204", + "metadata": {}, + "source": [ + "## Libraries" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "1abf270c-d73e-4109-854c-3cf36a1b36d7", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Did not load machine learning processes due to missing dependencies: Install them like this: `pip install openeo-processes-dask[implementations, ml]`\n" + ] + } + ], + "source": [ + "# platform libraries\n", + "from openeo.local import LocalConnection\n", + "\n", + "# utility libraries\n", + "from datetime import date\n", + "import numpy as np\n", + "import xarray as xr\n", + "import rioxarray\n", + "import json\n", + "import pandas as pd\n", + "import matplotlib.pyplot as plt\n", + "import geopandas as gpd\n", + "import leafmap.foliumap as leafmap" + ] + }, + { + "cell_type": "markdown", + "id": "1e95d456-a831-4cca-ab1f-5a2ec8805291", + "metadata": {}, + "source": [ + "## Region of Interest" + ] + }, + { + "cell_type": "markdown", + "id": "3a324185-d64a-4e69-9601-8f63af0805ac", + "metadata": {}, + "source": [ + "Load the catchment area." + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "b1679451-2868-4109-ab17-38532a8033e3", + "metadata": {}, + "outputs": [], + "source": [ + "catchment_outline = gpd.read_file('../31_data/catchment_outline.geojson')" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "3cd3057b-39f8-4644-886d-bdbad43c6cb5", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "" + ], + "text/plain": [ + "" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "center = (float(catchment_outline.centroid.y), float(catchment_outline.centroid.x))\n", + "m = leafmap.Map(center=center, zoom=10)\n", + "m.add_vector('../31_data/catchment_outline.geojson', layer_name=\"catchment\")\n", + "m" + ] + }, + { + "cell_type": "markdown", + "id": "284cd7b6-e646-4950-b747-4e1a734f148b", + "metadata": {}, + "source": [ + "## Inspect STAC Metadata\n", + "We need to set the following configurations to define the content of the data cube we want to access:\n", + "- STAC Collection URL\n", + "- band names\n", + "- time range\n", + "- the area of interest specifed via bounding box coordinates\n", + "\n", + "We use the Sentinel-2 L2A Collection from Microsoft: https://planetarycomputer.microsoft.com/api/stac/v1/collections/sentinel-2-l2a" + ] + }, + { + "cell_type": "markdown", + "id": "ed91226f-a9ea-45d5-9663-98ed56fb067f", + "metadata": {}, + "source": [ + "## Define a workflow\n", + "We will define our workflow now. And chain all the processes together we need for analyzing the snow cover in the catchment." + ] + }, + { + "cell_type": "markdown", + "id": "f786a79c-897d-4858-83c0-af9d4c4efede", + "metadata": {}, + "source": [ + "### Define the data cube\n", + "We define all extents of our data cube. We use the catchment as spatial extent. As a time range we will focus on the snow melting season 2018, in particular from Febraury to June 2018." + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "139b411c-b401-4af8-9f7a-d046e24e00e1", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "minx 11.020833\n", + "miny 46.653599\n", + "maxx 11.366667\n", + "maxy 46.954167\n", + "Name: 0, dtype: float64" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "bbox = catchment_outline.bounds.iloc[0]\n", + "bbox" + ] + }, + { + "cell_type": "markdown", + "id": "e21d3764-31f5-46a0-ba44-759864ea0b2e", + "metadata": {}, + "source": [ + "We know that the catchment area is almost fully covered by the Sentinel-2 32TPS tile and therefore we use this information in the properties filter, along with a first filter on the cloud coverage." + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "2a136b78-6eba-42df-a71b-f1b86c4a27ea", + "metadata": {}, + "outputs": [], + "source": [ + "local_conn = LocalConnection(\"./\")\n", + "\n", + "url = \"https://planetarycomputer.microsoft.com/api/stac/v1/collections/sentinel-2-l2a\"\n", + "spatial_extent = {\"west\":bbox[0],\"east\":bbox[2],\"south\":bbox[1],\"north\":bbox[3]}\n", + "temporal_extent = [\"2018-02-01\", \"2018-06-30\"]\n", + "\n", + "bands_11_scl = [\"B11\", \"SCL\"]\n", + "band_03 = [\"B03\"]\n", + "\n", + "properties = {\"eo:cloud_cover\": dict(lt=75),\n", + " \"s2:mgrs_tile\": dict(eq=\"32TPS\")}" + ] + }, + { + "cell_type": "markdown", + "id": "450db68c-ffdc-4037-9885-045afec86637", + "metadata": { + "tags": [] + }, + "source": [ + "### Load the data cube\n", + "We have defined the extents we are interested in. Now we use these definitions to load the data cube.\n", + "\n", + "Since the B03 band have resolution of 10m and B11 and SCL 20m, we load them separately and then align in a second step using openEO." + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "7d89755c-ef86-464f-a5e0-187bd44dfd53", + "metadata": {}, + "outputs": [], + "source": [ + "s2_B11_SCL = local_conn.load_stac(\n", + " url=url,\n", + " spatial_extent=spatial_extent,\n", + " temporal_extent=temporal_extent,\n", + " bands=bands_11_scl,\n", + " properties=properties,\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "cc2690a5-8f93-483a-b908-14f2ba871488", + "metadata": {}, + "outputs": [], + "source": [ + "s2_B03 = local_conn.load_stac(\n", + " url=url,\n", + " spatial_extent=spatial_extent,\n", + " temporal_extent=temporal_extent,\n", + " bands=band_03,\n", + " properties=properties,\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "62ee1371-3bf1-4c28-88b9-3f096e9f582d", + "metadata": {}, + "source": [ + "Uncomment the content of the next three cells if you would like to download the data first and then use the netCDFs to proceed.\n", + "\n", + "It will download ~3 GB of data, make sure to have enough free space." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c420b652-c1b3-466c-a603-43f171578427", + "metadata": {}, + "outputs": [], + "source": [ + "# %%time\n", + "# s2_11_scl_xr = s2_B11_SCL.execute()\n", + "# # Remove problematic attributes and coordinates, which prevent to write a valid netCDF file\n", + "# for at in s2_11_scl_xr.attrs:\n", + "# # allowed types: str, Number, ndarray, number, list, tuple\n", + "# if not isinstance(s2_11_scl_xr.attrs[at], (int, float, str, np.ndarray, list, tuple)):\n", + "# s2_11_scl_xr.attrs[at] = str(s2_11_scl_xr.attrs[at])\n", + "\n", + "# for c in s2_11_scl_xr.coords:\n", + "# if s2_11_scl_xr[c].dtype==\"object\":\n", + "# s2_11_scl_xr = s2_11_scl_xr.drop_vars(c)\n", + "\n", + "# s2_11_scl_xr.to_dataset(dim=\"band\").to_netcdf(\"s2_11_scl_xr.nc\")" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "f89a9497-3c01-40b6-82e8-bfb5cbf29b9a", + "metadata": {}, + "outputs": [], + "source": [ + "# %%time\n", + "# s2_03_xr = s2_B03.execute()\n", + "# # Remove problematic attributes and coordinates, which prevent to write a valid netCDF file\n", + "# for at in s2_03_xr.attrs:\n", + "# # allowed types: str, Number, ndarray, number, list, tuple\n", + "# if not isinstance(s2_03_xr.attrs[at], (int, float, str, np.ndarray, list, tuple)):\n", + "# s2_03_xr.attrs[at] = str(s2_03_xr.attrs[at])\n", + "\n", + "# for c in s2_03_xr.coords:\n", + "# if s2_03_xr[c].dtype==\"object\":\n", + "# s2_03_xr = s2_03_xr.drop_vars(c)\n", + "\n", + "# s2_03_xr.to_dataset(dim=\"band\").to_netcdf(\"s2_03_xr.nc\")" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "c317075d-d428-4cd6-83ec-e428ef515dde", + "metadata": {}, + "outputs": [], + "source": [ + "# s2_B03 = local_conn.load_collection(\"s2_03_xr.nc\")\n", + "# s2_B11_SCL = local_conn.load_collection(\"s2_11_scl_xr.nc\")" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "1bf5a64c-685a-47a5-9792-ead9d995efeb", + "metadata": {}, + "outputs": [], + "source": [ + "s2_20m = s2_B03.resample_cube_spatial(target=s2_B11_SCL,method=\"average\").merge_cubes(s2_B11_SCL)" + ] + }, + { + "cell_type": "markdown", + "id": "f93a67e6-6746-4de7-9142-635eee9a1196", + "metadata": {}, + "source": [ + "### NDSI - Normalized Difference Snow Index\n", + "The Normalized Difference Snow Index (NDSI) is computed as:\n", + "\n", + "$$ NDSI = \\frac {GREEN - SWIR} {GREEN +SWIR} $$\n", + "\n", + "We have created a Sentinel-2 data cube with bands B03 (green), B11 (SWIR) and the scene classification mask (SCL). We will use the green and SWIR band to calculate a the NDSI. This process is reducing the band dimension of the data cube to generate new information, the NDSI." + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "id": "26cd85ae-fddf-42c5-975a-1e911420e063", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + " \n", + " \n", + " \n", + " \n", + " " + ], + "text/plain": [ + "" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "green = s2_20m.band(\"B03\")\n", + "swir = s2_20m.band(\"B11\")\n", + "ndsi = (green - swir) / (green + swir)\n", + "ndsi" + ] + }, + { + "cell_type": "markdown", + "id": "746ef0f4-9c9f-4884-8806-730d91261acb", + "metadata": {}, + "source": [ + "### Creating the Snow Map\n", + "So far we have a timeseries of NDSI values. We are intereseted in the presence of snow though. Ideally in a binary classification: snow and no snow.\n", + "To achieve this we are setting a threshold of 0.42 on the NDSI. This gives us a binary snow map." + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "id": "591d44b1-20d1-447a-a956-291495f7a1c1", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + " \n", + " \n", + " \n", + " \n", + " " + ], + "text/plain": [ + "" + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "ndsi_mask = ( ndsi > 0.42 )\n", + "snowmap = ndsi_mask.add_dimension(name=\"band\",label=\"snow_map\",type=\"bands\")\n", + "snowmap" + ] + }, + { + "cell_type": "markdown", + "id": "1b4ae963-05f1-48d0-937f-f162783f3fe3", + "metadata": {}, + "source": [ + "### Creating a cloud mask\n", + "We are going to use \"SCL\" band for creating a cloud mask and then applying it to the NDSI. \n", + "`8 = cloud medium probability`, `9 = cloud high probability`, `3 = cloud shadow`\n", + "\n", + "Here is more information on the Scene Classification https://sentinels.copernicus.eu/web/sentinel/technical-guides/sentinel-2-msi/level-2a/algorithm-overview\n", + "\n", + "| Value | Label |\n", + "|--------------|-----------|\n", + "| 0\t | NO_DATA |\n", + "| 1\t | SATURATED_OR_DEFECTIVE |\n", + "| 2\t | CAST_SHADOWS |\n", + "| 3\t | CLOUD_SHADOWS |\n", + "| 4\t | VEGETATION |\n", + "| 5\t | NOT_VEGETATED |\n", + "| 6\t | WATER \t \t |\n", + "| 7\t | UNCLASSIFIED \t |\n", + "| 8\t | CLOUD_MEDIUM_PROBABILITY |\n", + "| 9\t | CLOUD_HIGH_PROBABILITY |\n", + "| 10\t| THIN_CIRRUS |\n", + "| 11\t| SNOW or ICE |" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "id": "99556d13-fae5-4726-a656-979a1945e7c1", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + " \n", + " \n", + " \n", + " \n", + " " + ], + "text/plain": [ + "" + ] + }, + "execution_count": 15, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "scl_band = s2_20m.band(\"SCL\")\n", + "cloud_mask = ( (scl_band == 8) | (scl_band == 9) | (scl_band == 3) ).add_dimension(name=\"band\",label=\"cloud_mask\",type=\"bands\")\n", + "cloud_mask" + ] + }, + { + "cell_type": "markdown", + "id": "8e7d0d18-2c39-4b4f-b493-d0370d7f1c92", + "metadata": {}, + "source": [ + "### Applying the cloud mask to the snowmap\n", + "We will mask out all pixels that are covered by clouds. This will result in: 0 = no_snow, 1 = snow, 2 = cloud" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "id": "8e188e75-57d6-4140-920d-937bea779934", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + " \n", + " \n", + " \n", + " \n", + " " + ], + "text/plain": [ + "" + ] + }, + "execution_count": 16, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "snowmap_cloudfree = snowmap.mask(cloud_mask,replacement=2) # replacement is null by default\n", + "snowmap_cloudfree" + ] + }, + { + "cell_type": "markdown", + "id": "9b7feb93-d4ce-44fa-bbc5-4b062b6a1400", + "metadata": {}, + "source": [ + "### Visualize one time step of the timeseries\n", + "Let's create the lazy xarray view of the result and look how our first results look like" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "id": "efb5cb0e-5d48-4f74-8e6a-ffcfac5cafe0", + "metadata": {}, + "outputs": [], + "source": [ + "snowmap_cloudfree_1d = snowmap_cloudfree.filter_temporal('2018-02-10', '2018-02-12').mask_polygon(catchment_outline[\"geometry\"][0])\n", + "snowmap_cloudfree_1d_xr = snowmap_cloudfree_1d.execute()" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "id": "a1b7ced8-8bde-4496-8f03-fa17ed718da8", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 18, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjkAAAHWCAYAAACVEZinAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy80BEi2AAAACXBIWXMAAA9hAAAPYQGoP6dpAAC1uUlEQVR4nOydd3wURf/HP5dACi2hpiAkIQgoxSBiCIKARgIPP6QpRZQigigoRSz4SBMQBAQsSEQRpKgBHwUrCBFUJICiUVFEiPQkoCiEUBLIze+PuJu5udm93eu5fN+v176S252dnd273HzybWNhjDEQBEEQBEEEGEG+HgBBEARBEIQnIJFDEARBEERAQiKHIAiCIIiAhEQOQRAEQRABCYkcgiAIgiACEhI5BEEQBEEEJCRyCIIgCIIISEjkEARBEAQRkJDIIQiCIAgiIKmQIic+Ph7Dhg3z9TAIgiA8TufOndG5c2eH7bZv3w6LxYLt27d7fEwE4S0CVuTs3LkT06dPx9mzZ309FK/y7bffYuzYsWjevDmqVq2Khg0bon///vj999+l7ffv349u3bqhWrVqqFWrFu677z78+eefdu1mz56NO++8E1FRUbBYLJg+fbrmGLZu3YouXbqgTp06iIyMxM0334zVq1cbvger1Yp58+YhISEBYWFhaNWqFd555x27NitXrsSdd96JBg0aoGrVqmjRogVmzZqFy5cvG76W0fs6cOAAJkyYgPbt2yMsLAwWiwVHjhyxaTNs2DBYLBaHmyKw9+zZg4cffhht2rRB5cqVYbFYdMe6fPlyXHfddQgLC8O1116Ll19+2dA9Xrx4EUuWLEHXrl0RExOD6tWro3Xr1li6dClKSkqcfiZGOHv2LOrVqweLxYL33nvP5lhhYSGmTZuGbt26oVatWrBYLFi5cqXp/keNGoW6deuiatWq6NKlC77//nubNmfOnMH8+fNx6623om7duoiMjES7du2QkZGh2e/333+PO++8E7Vq1UKVKlXQokULvPTSS3btdu7ciQ4dOqBKlSqIjo7Go48+isLCQrt2RUVFePLJJxEbG4vw8HAkJydjy5Yt0msb7TNQOHLkCIYPH47ExESEhYUhOjoat956K6ZNm6a2cfbvff/+/bBYLAgLC3N6Lli5cqX6t7tjxw6744wxNGjQABaLBf/3f/9nc0z5jLdo0QJVq1ZF7dq1kZSUhHHjxiE3N1dtN336dFgsFvz1119OjZHQgQUo8+fPZwDY4cOH7Y5dvnyZFRcXe39QXqBfv34sOjqaPfLII+z1119nM2fOZFFRUaxq1ars559/tml7/PhxVqdOHZaYmMhefPFFNnv2bFazZk12ww03sKKiIpu2AFh0dDRLS0tjANi0adOk19+4cSOzWCysffv27OWXX2avvPIKu/XWWxkAtnDhQkP38NRTTzEAbOTIkWzZsmWsR48eDAB755131Dbnz59nAFi7du3YrFmz2LJly9jw4cNZUFAQ69y5M7NarYauZfS+VqxYwYKCgliLFi1YUlKS9LO1c+dOtnr1anV79tlnGQA2atQom/07d+5kjDE2bdo0VrlyZdamTRvWpEkTpvfnmJ6ezgCwfv36sWXLlrH77ruPAWBz5851eI8///wzs1gsLDU1lc2bN4+lp6ezPn36MABsyJAhTj8TIzzyyCOsatWqDABbv369zbHDhw8zAKxhw4asc+fODABbsWKF4b5LSkpY+/btWdWqVdn06dPZK6+8wq6//npWvXp19vvvv6vtPvroI1a5cmXWq1cvtnjxYvbKK6+wLl26MABs6tSpdv1u3ryZhYSEsOTkZLZw4UK2bNky9uSTT7LHH3/cpt0PP/zAwsLCWOvWrdnSpUvZf//7XxYaGsq6detm1+fAgQNZpUqV2KRJk9hrr73GUlJSWKVKldjXX3/tdJ9GKSoqsvt7lrFt2zYGgG3bts3pa5nl4MGDLDIyksXExLD//ve/7PXXX2fPPvss6927NwsNDVXbOfv3/vTTT7Po6GgWGhrKXn/9dafGuGLFCgaAhYWFsYceesjuuPLcQkNDWY8ePdT9xcXFrHXr1iw8PJyNHj2apaenswULFrDhw4ezOnXq2DznadOmMQDszz//dGqMhDYVUuQEMt98843dF9rvv//OQkND2eDBg232P/TQQyw8PJwdPXpU3bdlyxYGgL322ms2bZXn+Oeff+pOfHfccQeLjY1lly9fVvdduXKFJSYmslatWjkc/4kTJ1jlypXZmDFj1H1Wq5V17NiRXXPNNezq1auMsdIv7m+++cbu/BkzZjAAbMuWLQ6vZea+zpw5wwoKChhjxj9b3377re7EnZ+fzy5evMgYY2zMmDGaIufixYusdu3aNl+gjDE2ePBgVrVqVfb333/rjuPPP/9k+/bts9s/fPhwBoAdPHjQZr/RZ+KIn3/+mVWqVEkVe6LIuXz5MsvLy2OMOX5WMjIyMuz6PX36NIuMjGSDBg1S9/3xxx/syJEjNudarVZ22223sdDQUFZYWKjuP3fuHIuKimJ9+vRhJSUlutfv3r07i4mJYefOnVP3vf766wwA27x5s7pv9+7dDACbP3++uu/SpUssMTGRpaSkONWnJ/CFyHn44YdZpUqV7N4fxhg7deqU+rszf+9Wq5XFx8eziRMnsj59+rDOnTs7NUZF5PTt25fVqVOHXblyxeb4yJEjWZs2bVhcXJzN3+i6desYALZ27Vq7Pi9dumTzHpPI8RwB6a6aPn06Hn/8cQBAQkKCampU3AtiTI5ijtyxYwceffRR1aT94IMPori4GGfPnsWQIUNQs2ZN1KxZE0888QSYsHi71WrF4sWL0bx5c4SFhSEqKgoPPvgg/vnnH2/dNgCgffv2CAkJsdl37bXXonnz5ti/f7/N/v/973/4v//7PzRs2FDdl5qaiiZNmmDdunU2bePj4w1dv6CgADVr1kRoaKi6r1KlSqhTpw7Cw8Mdnr9x40ZcuXIFDz/8sLrPYrHgoYcewokTJ5CVlQUACAkJQfv27e3O79OnDwDY3asWRu+rVq1aqF69uqG2RomKijL0TLZt24YzZ87YPBMAGDNmDC5cuIBPPvlE3Xfx4kX89ttvNmbvOnXqoHnz5nb9aj0ro89Edi2ecePGoU+fPujYsaP0eGhoKKKjow1dS8Z7772HqKgo9O3bV91Xt25d9O/fHxs3bkRRURGA0u+AuLg4m3MtFgt69+6NoqIi/PHHH+r+t99+G6dOncLs2bMRFBSECxcuwGq12l27oKAAW7Zswb333osaNWqo+4cMGYJq1arZ/P289957CA4OxqhRo9R9YWFhGDFiBLKysnD8+HHTfZpBFpNz4sQJ9O7dG1WrVkW9evUwYcIE9Xl5k5ycHFxzzTV27w8A1KtXT/3dmb/3b775BkeOHMHAgQMxcOBAfPXVVzhx4oTTYx00aBDOnDlj42YsLi7Ge++9h3vuuceufU5ODgDglltusTsWFhZm8x4TniMgRU7fvn0xaNAgAMCiRYuwevVqrF69GnXr1tU975FHHsHBgwcxY8YM3HnnnVi2bBmmTJmCnj17oqSkBM899xw6dOiA+fPn28WYPPjgg3j88cdxyy234MUXX8Tw4cOxdu1apKWl4cqVK7rXLSoqwl9//WVocwbGGE6dOoU6deqo+06ePInTp0/jpptusmt/880344cffnDqWp07d8Yvv/yCKVOm4NChQ8jJycHMmTPx3Xff4YknnnB4/g8//ICqVaviuuuusxuTclyP/Px8ALC51/KOcs/ie9WmTRsEBQXZPJM9e/bguuuuwyuvvOKwX1efld611q9fj507d2LevHlO9W2EH374ATfeeCOCgmy/xm6++WZcvHhRMw5NQXb/W7duRY0aNXDy5Ek0bdoU1apVQ40aNfDQQw/ZxH78/PPPuHr1qt17EhISgqSkJJv35IcffkCTJk3sJjXlM52dnW26T1e4dOkSbr/9dmzevBljx47Ff//7X3z99deG/j4B4MqVK4a/r2QCkScuLg7Hjx/HF1984dS96H2G165di8TERLRt2xY9e/ZElSpV7GL7zBAfH4+UlBSbPj777DOcO3cOAwcOtGuvCLdVq1bZ/VNMeI9Kvh6AJ2jVqhVuvPFGvPPOO+jdu7fh/0yjoqLw6aefwmKx4OGHH8ahQ4cwf/58PPjgg1i6dCkAYNSoUYiPj8ebb76JIUOGAAB27NiBN954A2vXrrVR9F26dEG3bt2wfv16qdJXeOeddzB8+HBDY3Tmj2Xt2rU4efIknn32WXVfXl4eACAmJsaufUxMDP7++28UFRXZWGSMMGXKFBw+fBizZ8/GrFmzAABVqlTB//73P/Tq1cvh+Xl5eWrAqzgmADbBejLmzZuHGjVqoHv37qbG7c/k5eUhODjY5j9boHTyq127tsNnIqO4uBiLFy9GQkIC2rZt666hAiidRCdNmoQJEyYgPj7eLkDbXeTl5eHWW2+1289/Vlq2bCk99++//8Ybb7yBjh072vwNHDx4EFevXkWvXr0wYsQIzJkzB9u3b8fLL7+Ms2fPqhOco7+fr7/+2macWu2UcZrt0xWWLVuG33//HevWrcPdd98NABg5ciRuuOEGQ+d/88036NKli6G2hw8f1v3+ffTRR7F69WrcfvvtSEpKQqdOndClSxfccccdqFKlisP+tf7er1y5gvXr12P06NEAgPDwcNx5551Yu3atauV3hnvuuQeTJ0/GpUuXEB4ejrVr16JTp06IjY21a9u7d280bdoUU6dOxfLly9GlSxd07NgR//d//2f3t0x4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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "snowmap_cloudfree_1d_xr[0,0].plot.imshow()" + ] + }, + { + "cell_type": "markdown", + "id": "a6d65f20-1266-44ad-b9e8-e956364fe4f3", + "metadata": {}, + "source": [ + "## Calculate Catchment Statistics\n", + "\n", + "We are looking at a region over time. We need to make sure that the information content meets our expected quality. Therefore, we calculate the **cloud percentage** for the catchment for each timestep. We use this information to filter the timeseries. All timesteps that have a cloud coverage of over 25% will be discarded.\n", + "\n", + "Ultimately we are interested in the **snow covered area (SCA)** within the catchment. We count all snow covered pixels within the catchment for each time step. Multiplied by the pixel size that would be the snow covered area. Divided the pixel count by the total number of pixels in the catchment is the percentage of pixels covered with snow. We will use this number.\n", + "\n", + "Get number of pixels in catchment: total, clouds, snow." + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "id": "1f74e1d2-a48c-4f18-b1ec-10bf85eab5ab", + "metadata": {}, + "outputs": [], + "source": [ + "snow_cloud_map_0 = (snowmap_cloudfree == 1).merge_cubes(cloud_mask)\n", + "snow_cloud_map = (ndsi_mask > -1).add_dimension(name=\"band\",label=\"valid_px\",type=\"bands\").merge_cubes(snow_cloud_map_0)" + ] + }, + { + "cell_type": "markdown", + "id": "730d84f0-fae1-4693-95a0-0700685c13ca", + "metadata": {}, + "source": [ + "Aggregate to catchment using the `aggregate_spatial` process." + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "id": "e72f1c76-5433-4d7a-9d7d-d3243b0bc94a", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + " \n", + " \n", + " \n", + " \n", + " " + ], + "text/plain": [ + "" + ] + }, + "execution_count": 29, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "snow_cloud_map_timeseries = snow_cloud_map.aggregate_spatial(geometries=catchment_outline[\"geometry\"][0],reducer=\"sum\")\n", + "snow_cloud_map_timeseries" + ] + }, + { + "cell_type": "markdown", + "id": "64d9e1fe-c12d-45ce-a53a-d21847b361eb", + "metadata": {}, + "source": [ + "Get the result as a Dask based xArray object" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "id": "0583d4bc-c381-4663-af61-d27ecf74b0b0", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Did not load machine learning processes due to missing dependencies: Install them like this: `pip install openeo-processes-dask[implementations, ml]`\n" + ] + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "
<xarray.DataArray (geometry: 1, band: 3, time: 32)> Size: 768B\n",
+       "dask.array<broadcast_to, shape=(1, 3, 32), dtype=float64, chunksize=(1, 1, 1), chunktype=numpy.ndarray>\n",
+       "Coordinates: (12/46)\n",
+       "  * time                                     (time) datetime64[ns] 256B 2018-...\n",
+       "  * band                                     (band) <U10 120B 'valid_px' ... ...\n",
+       "    id                                       (time) <U54 7kB 'S2A_MSIL2A_2018...\n",
+       "    s2:product_type                          <U7 28B 'S2MSI2A'\n",
+       "    s2:degraded_msi_data_percentage          float64 8B 0.0\n",
+       "    s2:nodata_pixel_percentage               (time) float64 256B 0.0 ... 11.05\n",
+       "    ...                                       ...\n",
+       "    common_name                              <U5 20B 'green'\n",
+       "    center_wavelength                        float64 8B 0.56\n",
+       "    full_width_half_max                      float64 8B 0.045\n",
+       "    epsg                                     int64 8B 32632\n",
+       "    spatial_ref                              int64 8B 0\n",
+       "  * geometry                                 (geometry) object 8B POLYGON ((6...\n",
+       "Indexes:\n",
+       "    geometry  GeometryIndex (crs=EPSG:32632)\n",
+       "Attributes:\n",
+       "    crs:                            epsg:32632\n",
+       "    reduced_dimensions_min_values:  {'band': 'B03'}
" + ], + "text/plain": [ + " Size: 768B\n", + "dask.array\n", + "Coordinates: (12/46)\n", + " * time (time) datetime64[ns] 256B 2018-...\n", + " * band (band) \n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "
<xarray.DataArray (geometry: 1, band: 3, time: 32)> Size: 768B\n",
+       "array([[[1039875., 1039875., 1039875., 1039875., 1039875., 1039875.,\n",
+       "         1039875., 1039875., 1039875., 1039875., 1039875., 1039875.,\n",
+       "         1039875., 1039875., 1039875., 1039875., 1039875., 1039875.,\n",
+       "         1039875., 1039875., 1039875., 1039875., 1039875., 1039875.,\n",
+       "         1039875., 1039875., 1039875., 1039875., 1039875., 1039875.,\n",
+       "         1039875., 1039875.],\n",
+       "        [ 721108.,  746324.,  505519.,  666087.,  574287.,  717432.,\n",
+       "          181569.,  341945.,  447801.,  276157.,  683636.,  444741.,\n",
+       "          737500.,  589989.,  449066.,  113861.,  689327.,  654874.,\n",
+       "          670597.,  553375.,  576242.,  535398.,  428109.,  173667.,\n",
+       "           65467.,   11728.,    2120.,   59170.,   20304.,   16569.,\n",
+       "           33761.,   13923.],\n",
+       "        [  43282.,   50500.,  265340.,   99748.,  190841.,   60625.,\n",
+       "          678521.,  456600.,  320558.,  656121.,  200369.,  525781.,\n",
+       "           66535.,  170522.,  268273.,  877061.,   23772.,   49337.,\n",
+       "           58783.,  171374.,   27758.,   27322.,  155250.,  518898.,\n",
+       "          558722.,  676188.,  912866.,   27335.,  472718.,  403790.,\n",
+       "           25324.,  248254.]]])\n",
+       "Coordinates: (12/46)\n",
+       "  * time                                     (time) datetime64[ns] 256B 2018-...\n",
+       "  * band                                     (band) <U10 120B 'valid_px' ... ...\n",
+       "    id                                       (time) <U54 7kB 'S2A_MSIL2A_2018...\n",
+       "    s2:product_type                          <U7 28B 'S2MSI2A'\n",
+       "    s2:degraded_msi_data_percentage          float64 8B 0.0\n",
+       "    s2:nodata_pixel_percentage               (time) float64 256B 0.0 ... 11.05\n",
+       "    ...                                       ...\n",
+       "    common_name                              <U5 20B 'green'\n",
+       "    center_wavelength                        float64 8B 0.56\n",
+       "    full_width_half_max                      float64 8B 0.045\n",
+       "    epsg                                     int64 8B 32632\n",
+       "    spatial_ref                              int64 8B 0\n",
+       "  * geometry                                 (geometry) object 8B POLYGON ((6...\n",
+       "Indexes:\n",
+       "    geometry  GeometryIndex (crs=EPSG:32632)\n",
+       "Attributes:\n",
+       "    crs:                            epsg:32632\n",
+       "    reduced_dimensions_min_values:  {'band': 'B03'}
" + ], + "text/plain": [ + " Size: 768B\n", + "array([[[1039875., 1039875., 1039875., 1039875., 1039875., 1039875.,\n", + " 1039875., 1039875., 1039875., 1039875., 1039875., 1039875.,\n", + " 1039875., 1039875., 1039875., 1039875., 1039875., 1039875.,\n", + " 1039875., 1039875., 1039875., 1039875., 1039875., 1039875.,\n", + " 1039875., 1039875., 1039875., 1039875., 1039875., 1039875.,\n", + " 1039875., 1039875.],\n", + " [ 721108., 746324., 505519., 666087., 574287., 717432.,\n", + " 181569., 341945., 447801., 276157., 683636., 444741.,\n", + " 737500., 589989., 449066., 113861., 689327., 654874.,\n", + " 670597., 553375., 576242., 535398., 428109., 173667.,\n", + " 65467., 11728., 2120., 59170., 20304., 16569.,\n", + " 33761., 13923.],\n", + " [ 43282., 50500., 265340., 99748., 190841., 60625.,\n", + " 678521., 456600., 320558., 656121., 200369., 525781.,\n", + " 66535., 170522., 268273., 877061., 23772., 49337.,\n", + " 58783., 171374., 27758., 27322., 155250., 518898.,\n", + " 558722., 676188., 912866., 27335., 472718., 403790.,\n", + " 25324., 248254.]]])\n", + "Coordinates: (12/46)\n", + " * time (time) datetime64[ns] 256B 2018-...\n", + " * band (band) " + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "cloud_percent = (snow_cloud_map_timeseries_xr.loc[dict(band=\"cloud_mask\")] / snow_cloud_map_timeseries_xr.loc[dict(band=\"valid_px\")]) * 100\n", + "cloud_percent.plot(marker='o')\n", + "# plot the cloud percentage and a threshold\n", + "plt.axhline(y = 25, color = \"r\", linestyle = \"-\")\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "08ef7fb2-ea5f-4fd8-b12c-539d38555f4d", + "metadata": {}, + "source": [ + "Plot the **unfiltered snow percentage**" + ] + }, + { + "cell_type": "code", + "execution_count": 34, + "id": "0eda9cbe-3d84-42f5-bd64-47f5c38cca9c", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAiAAAAHHCAYAAACGIOO7AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy80BEi2AAAACXBIWXMAAA9hAAAPYQGoP6dpAACPPElEQVR4nO3dd3iT5foH8O+bNKMzpTMttKWUWSqyBKoskVEZghRFFBni4gAKODnnd0A4Kgf3gqqIRQVEWQocLSICipYhCFKBMiwt0ElHOpOmyfv7I33fJk3SZo/2/lxXL22Spk9bktx57vEwLMuyIIQQQghxIYG7F0AIIYSQ9ocCEEIIIYS4HAUghBBCCHE5CkAIIYQQ4nIUgBBCCCHE5SgAIYQQQojLUQBCCCGEEJejAIQQQgghLkcBCCGEEEJcjgKQduDQoUNgGAaHDh1y91IIaVOuXr0KhmGwceNGdy/FZp07d8acOXMcdn+e+jtx5LroOdUxKABpxc6dOzF9+nR06dIFfn5+6NGjB5555hlUVFS4e2keo7a2Fi+99JJND8b8/Hy89NJLOH36tMPX5en27NmDESNGICIiAn5+fujSpQvuv/9+ZGRk8Le5du0aVq5ciUGDBqFDhw4ICwvDyJEj8eOPPxrd30svvQSGYSAQCHDt2jWj6ysrK+Hr6wuGYbBw4UKD60pKSvD000+jZ8+e8PX1RUREBAYNGoQXXngB1dXV/O3mzJmDgIAA/nOtVouNGzfinnvuQUxMDPz9/ZGUlISXX34ZSqXS7M9+/vx5MAwDqVTqksfSiRMnsHDhQvTu3Rv+/v6IjY3F/fffj4sXLzr9exOi77vvvsNLL73k7mV4BApAWvH444/j/PnzmDlzJt577z2kpKTggw8+QHJyMurq6ty9PI9QW1uLlStX2hyArFy5st0FIG+88QbuueceMAyDZcuW4e2330ZqaiouXbqErVu38rf79ttvsWbNGnTt2hUvv/wy/v3vf6OqqgpjxoxBenq6yfuWSCT48ssvjS7fuXOnyduXlZVh4MCB+PzzzzFhwgS89957WLp0Kbp27Yq0tDTcvHnT7M9RW1uLuXPnoqSkBE8++STeeecdDBo0CCtWrMDdd98Nc0dNbdq0CXK5HACwfft2s/fvKGvWrMGOHTtw11134d1338Xjjz+On3/+Gf3790dWVpbTvz9xv7i4ONTV1eHhhx926zq+++47rFy50q1r8BQ+7l6Ap9u+fTtGjhxpcNmAAQMwe/ZsbN68GY8++qjTvjfLslAqlfD19XXa9yCu19DQgP/85z8YM2YMfvjhB6Pri4uL+f+/8847kZeXh7CwMP6yJ598En379sXy5csxd+5co68fP348vvzySzz//PMGl2/ZsgUTJkzAjh07DC7fsGED8vLy8Ouvv+L22283uK6yshJisdjszyIWi42+7rHHHkPnzp2xYsUKHDhwAKNHjzb4GpZlsWXLFjz44IPIyclx+uMIAJYuXYotW7YY/CzTp0/HLbfcgv/+97/YtGmTU7+/o9Fzg/W4HTfiOdr1DkhVVRUWL16Mzp07QyKRICIiAmPGjMGpU6f42zQPPgDg3nvvBaDbRtZXUFCACxcuQK1W85dt3LgRDMPg559/xhNPPIHQ0FAEBQVh1qxZKC8vN/j6zp07Y+LEidi3bx8GDhwIX19ffPTRRwCAv//+G/fddx9CQkLg5+eHIUOG4H//+5/R2q5fv44pU6bA398fERERWLJkCVQqldHtzOV9R44cafQzK5VKvPTSS+jevTukUimioqIwdepUXLlyBVevXkV4eDgAYOXKlWAYBgzDWLTFeOjQIdx2220AgLlz5/Jfu3HjRqxYsQIikQglJSVGX/f4448jODiY3+Lnfm8//PAD+vbtC6lUisTERJPv+CsqKrB48WLExMRAIpGga9euWLNmDbRabavrdZSbN2+isrISd9xxh8nrIyIi+P/v3bu3QfAB6HY4xo8fj+vXr6Oqqsro6x988EGcPn0aFy5c4C8rLCzETz/9hAcffNDo9leuXIFQKMSQIUOMrgsKCmrxSVssFhsFLYD5xwgA/Prrr7h69SoeeOABPPDAA/j5559x/fp1s9/DEu+//z569+4NPz8/dOjQAQMHDsSWLVv462+//XajQKpbt27o3bu30RoVCgUuXLgAhUJhcHlFRQXmzJkDmUyG4OBgzJ4922z66MKFC5g2bRpCQkIglUoxcOBA7N692+h2f/75J0aMGAFfX1906tQJL7/8MtLT08EwDK5evcrfrqXnhvT0dIwaNQoRERGQSCRITExEWlqa0fdiWRYvv/wyOnXqBD8/P9x5553466+/TK7f0seJNb+TlnA1FV9//TVWrlyJjh07IjAwENOmTYNCoYBKpcLixYsRERGBgIAAzJ071+h5bf/+/Rg6dCiCg4MREBCAHj164J///Cd/va01IJY+p/7yyy+47777EBsbC4lEgpiYGCxZssRgp3zOnDlYu3YtAPDPdwzD8Ne/8cYbuP322xEaGgpfX18MGDDAJTuE7tKud0CefPJJbN++HQsXLkRiYiJKS0tx5MgRnD9/Hv379zf7dYWFhQBg9MKwbNkyfPbZZ8jJyUHnzp0Nrlu4cCGCg4Px0ksvITs7G2lpacjNzeUfeJzs7GzMmDEDTzzxBB577DH06NEDRUVFuP3221FbW4unnnoKoaGh+Oyzz3DPPfdg+/bt/JN9XV0d7rrrLuTl5eGpp55CdHQ0vvjiC/z00082/440Gg0mTpyIAwcO4IEHHsDTTz+Nqqoq7N+/H1lZWRg9ejTS0tIwf/583HvvvZg6dSoAoE+fPq3ed69evbBq1SosX74cjz/+OIYNGwZA92IxdOhQrFq1Cl999ZVBvUJ9fT22b9+O1NRUgxfGS5cuYfr06XjyyScxe/ZspKen47777kNGRgbGjBkDQJcuGDFiBG7cuIEnnngCsbGx+O2337Bs2TIUFBTgnXfeaXG91dXVLdY1cEQiEWQymdnrIyIi4Ovriz179mDRokUICQlp9T6bKywshJ+fH/z8/IyuGz58ODp16oQtW7Zg1apVAICvvvoKAQEBmDBhgtHt4+LioNFo8MUXX2D27NlWr8Xc+gDjxwgAbN68GQkJCbjtttuQlJQEPz8/fPnll3juueds+l7r16/HU089hWnTpuHpp5+GUqnEn3/+iWPHjpkMuDgsy6KoqAi9e/c2uHzXrl2YO3cu0tPT+SCdZVlMnjwZR44cwZNPPolevXph165dJn9ff/31F+644w507NgRL774Ivz9/fH1119jypQp2LFjB/94vXHjBu68804+Defv749PPvkEEonE5HpNPTcAQFpaGnr37o177rkHPj4+2LNnD/7xj39Aq9ViwYIF/NcvX74cL7/8MsaPH4/x48fj1KlTGDt2LOrr6w2+j6WPE2t+J5ZavXo1fH198eKLL+Ly5ct4//33IRKJIBAIUF5ejpdeeglHjx7Fxo0bER8fj+XLl/O/84kTJ6JPnz5YtWoVJBIJLl++jF9//dXmtQDWPadu27YNtbW1mD9/PkJDQ3H8+HG8//77uH79OrZt2wYAeOKJJ5Cfn4/9+/fjiy++MLqPd999F/fccw8eeugh1NfXY+vWrbjvvvuwd+9ek49dr8e2YzKZjF2wYIHVXzdv3jxWKBSyFy9eNLh89uzZLAA2JyeHvyw9PZ0FwA4YMICtr6/nL3/ttddYAOy3337LXxYXF8cCYDMyMgzud/HixSwA9pdffuEvq6qqYuPj49nOnTuzGo2GZVmWfeedd1gA7Ndff83frqamhu3atSsLgD148KDB95o9e7bRzzZixAh2xIgR/OeffvopC4B96623jG6r1WpZlmXZkpISFgC7YsUK419WK06cOMECYNPT042uS05OZgcPHmxw2c6dO03+LADYHTt28JcpFAo2KiqK7devH3/Zf/7zH9bf39/o7/biiy+yQqGQzcvLa3Gt3N+3tQ/93585y5cvZwGw/v7+7N13382+8sor7MmTJ1v9OpZl2UuXLrFSqZR9+OGHDS5fsWIFC4AtKSlhn332WbZr1678dbfddhs7d+5clmVZFoDBv/vCwkI2PDycBcD27NmTffLJJ9ktW7awFRUVJn8H/v7+ra5x9OjRbFBQEFteXm5weX19PRsaGsr+61//4i978MEH2VtvvdWSH92kyZMns71797b667744gsWALthwwaDy7nHrP6/yW+++YYFwL722mv8ZQ0NDeywYcOMbnvXXXext9xyC6tUKvnLtFote/vtt7PdunXjL1u0aBHLMAz7xx9/8JeVlpayISEhRs8j5p4bWJZla2trjS4bN24c26VLF/7z4uJiViwWsxMmTOAftyzLsv/85z9ZAAbPBZY+Tqz5nbTm4MGDLAA2KSnJ4HlyxowZLMMw7N13321w++TkZDYuLo7//O233+b/7ZuTk5Nj9bqseU419XdYvXo1yzAMm5uby1+2YMEC1txLb/P7qK+vZ5OSkthRo0ZZvGZv0q4DkLi4OHbgwIHsjRs3LP6azZs3swDY559/3qLbc09mH330kcHlVVVVrI+PD/vEE08YrCc+Pt7oPrp3784OGjTI6PLVq1ezANizZ8+yLMuyY8eOZaOiogyeYFi2KdixJQCZMGECGxYWxqrVarM/o7MCkLS0NBYAe/nyZf6y1NRUNiYmxuBnjIuLY6Ojo41+7hdeeIEFwBYUFLAsy7J9+vRhU1JS2JKSEoOPH3/8kQXAbtq0qcW1/vXXX+z+/ftb/fj9998t+tm3bNnCDh06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W3j11Vfxr3/9CwcPHrT5MW/pc+rZs2dx8eJFfPbZZ5g1axZ/+f79+43u09xz3o4dOyCVSrFv3z6DQmRz837agnbbhqvRaIy2xSIiIhAdHW2w9VVYWIixY8dCIBBg3759ZrclAdNtuJyPP/7Y4PK0tDQ0NDQY7bSYMn78eBw/fhyZmZn8ZTU1Nfj444/RuXNn/ol0/PjxyM/PN2jbqq2txccff2x0nwkJCTh69KhBBfzevXuNJmimpqbi5s2b+OCDD4zug3v3wXVi2NJ+5+/v3+LX3n333QgLC8OaNWtw+PBhs7sf+fn52LVrF/95ZWUlPv/8c/Tt25cfeHX//fcjMzMT+/btM/r6iooKNDQ0tLjW559/Hvv372/1480332zxfmpraw3+lvq+//57AIZbvK+//jreeOMN/POf/8TTTz/d4n3rS0hIwDvvvIPVq1dj0KBBZm937Ngx1NTUGF1+/PhxlJaWtrqlfv78eUyYMAGdO3fG3r17ze7ibdq0CV26dMGTTz6JadOmGXw8++yzCAgIwObNmy3++TilpaUGn4vFYiQmJoJlWf4xp9FoMH36dGRmZmLbtm0mUx8cU22448ePR0NDg0F7q0ajwfvvv2/wtRERERg5ciQ++ugjk4Gbflv5uHHjkJmZaTCEr6yszKrfAffOnnsscutv/qI1evRoiEQivP/++wa3NdX5ZenjxNLfiSuUlZUZXda3b18AMNkyaylLn1NN/R1YlsW7775rdJ/mnvOEQiEYhoFGo+Evu3r1Kr755huj+8jLyzNoswd07f0XLlwwSMPV1tbiwoULLQ4TdKd2uwNSVVWFTp06Ydq0abj11lsREBCAH3/8ESdOnDB4AUlJScHff/+N559/HkeOHMGRI0f46yIjI/kWT6DlNtz6+nrcdddduP/++5GdnY1169Zh6NChuOeee1pd64svvogvv/wSd999N5566imEhITw32fHjh381vpjjz2GDz74ALNmzcLJkycRFRWFL774wmSr5qOPPort27cjJSUF999/P65cuYJNmzYhISHB4HazZs3C559/jqVLl+L48eMYNmwYampq8OOPP+If//gHJk+eDF9fXyQmJuKrr75C9+7dERISgqSkJCQlJbX6syUkJCA4OBgffvghAgMD4e/vj8GDB/P5bpFIhAceeAAffPABhEKh2Xf/3bt3x7x583DixAlERkbi008/RVFRkcET8XPPPYfdu3dj4sSJmDNnDgYMGICamhqcPXsW27dvx9WrV022jXIcVQNSW1uL22+/HUOGDEFKSgpiYmJQUVGBb775Br/88gumTJmCfv36AdC1hD7//PPo1q0bevXqZTQwa8yYMYiMjDT7vSwJWL744gts3rwZ9957LwYMGACxWIzz58/j008/hVQqNZil0FxVVRXGjRuH8vJyPPfcc0azaRISEpCcnIz8/HwcPHgQTz31lMn7kUgkGDduHLZt24b33nsPIpEIGzduNGqHNWXs2LGQy+W44447EBkZifPnz+ODDz7AhAkTEBgYCAB45plnsHv3bkyaNAllZWVGv0f9wNZUG+6kSZNwxx134MUXX8TVq1f5OTOmcvtr167F0KFDccstt+Cxxx5Dly5dUFRUhMzMTFy/fh1nzpwBoAtoN23ahDFjxmDRokV8G25sbCzKysos2lkcO3YsxGIxJk2ahCeeeALV1dVYv349IiIiDAKg8PBwPPvss1i9ejUmTpyI8ePH448//sD3339v9G/e0seJNb8TZ1u1ahV+/vlnTJgwAXFxcSguLsa6devQqVMnm3bUOJY+p/bs2RMJCQl49tlncePGDQQFBWHHjh1Gu0uAbpAlADz11FMYN24chEIhHnjgAUyYMAFvvfUWUlJS8OCDD6K4uBhr165F165d8eeffxrcx6xZs3D48GGDgOeDDz7AypUrcfDgQX6W0/Hjx3HnnXdixYoVnjn+3T21r+6nUqnY5557jr311lvZwMBA1t/fn7311luNKvdhRbtlS224hw8fZh9//HG2Q4cObEBAAPvQQw+xpaWlBl8fFxfHTpgwweR6r1y5wk6bNo0NDg5mpVIpO2jQIHbv3r1Gt8vNzWXvuece1s/Pjw0LC2OffvppNiMjw2TF9ptvvsl27NiRlUgk7B133MH+/vvvRl0wLKtrDfvXv/7FxsfHsyKRiJXL5ey0adPYK1eu8Lf57bff2AEDBrBisdjqjphvv/2WTUxMZH18fExWqR8/fpwFwI4dO9bk13O/t3379rF9+vRhJRIJ27NnT6PKeZbVdR8tW7aM7dq1KysWi9mwsDD29ttvZ9944w2D9j9nUqvV7Pr169kpU6awcXFxrEQiYf38/Nh+/fqxr7/+OqtSqfjbcp0t5j70/6b6XTAtQbMumD///JN9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EhMTMXHiRNx55504ePAgACAvLw/p6enYtm0bhg0bhoSEBDz77LMYOnQo0tPTXf1jEuKVFixYgKysLGzdutXh911YWIjHHnsMs2fPxokTJ3D48GGIxWJMmzYN1lZ00A4IIcRp/Pz8DI7tjoyMROfOnREQEGBwWXFxMQDg7Nmz0Gg06N69u8H9qFQqhIaGumbRhHixhQsXYu/evfj555/RqVMn/nK5XI76+npUVFQY7IIUFRVBLpdbfP9r166FTCbDa6+9xl+2adMmxMTE4NixY0a1JC2hAIQQ4jTNc8IMw5i8TKvVAgCqq6shFApx8uRJox0V/aCFEGKIZVksWrQIu3btwqFDhxAfH29w/YABAyASiXDgwAGkpqYCALKzs5GXl4fk5GSLv09tbS1ffMrhHqvc49hSFIAQQmwiFosNikcdoV+/ftBoNCguLsawYcMcet+EtGULFizAli1b8O233yIwMJCv65DJZPD19YVMJsO8efOwdOlShISEICgoCIsWLUJycrLBrsXly5dRXV2NwsJC1NXV8V0wiYmJEIvFmDBhAt5++22sWrUKM2bMQFVVFf75z38iLi4O/fr1s2rNFIAQQmzSuXNnHDt2DFevXkVAQIDV735M6d69Ox566CHMmjULb775Jvr164eSkhIcOHAAffr0wYQJExywckLanrS0NAC69nh96enpmDNnDgDg7bffhkAgQGpqKlQqFcaNG4d169YZ3P7RRx/F4cOH+c+5oCInJwedO3fGqFGjsGXLFrz22mt47bXX4Ofnh+TkZGRkZMDX19eqNVMAQgixybPPPovZs2cjMTERdXV1DisSTU9Px8svv4xnnnkGN27cQFhYGIYMGYKJEyc65P4JaYssKQCVSqVYu3Yt1q5da/Y2lrS8P/DAA3jggQesWZ5JNIiMEEIIIS5HbbiEEEIIcTkKQAghhBDichSAEEIIIcTlKAAhhBBCiMtRAEIIIYQQl6MAhBBCCCEuRwEIIYQQQlyOAhBCCCGEuBwFIIQQQghxOQpACCGEEOJyFIAQQgghxOUoACGEEEKIy/0/v6kPjU+85PsAAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "snow_percent = (snow_cloud_map_timeseries_xr.loc[dict(band=\"snow_map\")] / snow_cloud_map_timeseries_xr.loc[dict(band=\"valid_px\")]) * 100\n", + "snow_percent.plot(marker='o')\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "39b32eca-bd11-4750-a176-eb7717497ca3", + "metadata": {}, + "source": [ + "Keep only the dates with cloud coverage less than the threshold" + ] + }, + { + "cell_type": "code", + "execution_count": 35, + "id": "0e49d891-e062-45f9-9fcc-c3f7d0c74724", + "metadata": {}, + "outputs": [], + "source": [ + "snow_percent = snow_percent.where(cloud_percent<25,drop=True)" + ] + }, + { + "cell_type": "markdown", + "id": "66133bb4-0ade-421b-b539-18f5a7709ef6", + "metadata": {}, + "source": [ + "Plot the **cloud filtered snow percentage**" + ] + }, + { + "cell_type": "code", + "execution_count": 36, + "id": "68120c52-30ac-45be-8587-35e6ef661d1a", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "snow_percent.plot(marker='o')\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "b4fabad5-d11e-46fc-9840-f9de2436b687", + "metadata": {}, + "source": [ + "## Compare to discharge data\n", + "\n", + "Load the discharge data at Meran. The main outlet of the catchment." + ] + }, + { + "cell_type": "code", + "execution_count": 40, + "id": "ef549358-d125-40a7-8590-b6634c5f7eaf", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
discharge_m3_s
Time
1994-01-01 01:00:004.03
1994-01-02 01:00:003.84
1994-01-03 01:00:003.74
1994-01-04 01:00:003.89
1994-01-05 01:00:003.80
\n", + "
" + ], + "text/plain": [ + " discharge_m3_s\n", + "Time \n", + "1994-01-01 01:00:00 4.03\n", + "1994-01-02 01:00:00 3.84\n", + "1994-01-03 01:00:00 3.74\n", + "1994-01-04 01:00:00 3.89\n", + "1994-01-05 01:00:00 3.80" + ] + }, + "execution_count": 40, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "discharge_ds = pd.read_csv('../../../3.2_validation/3.2_exercises/32_data/ADO_DSC_ITH1_0025.csv', sep=',', index_col='Time', parse_dates=True)\n", + "discharge_ds.head()" + ] + }, + { + "cell_type": "markdown", + "id": "7ffae7a8-4695-4323-a474-93007d9ec0c3", + "metadata": {}, + "source": [ + "Compare the discharge data to the snow covered area." + ] + }, + { + "cell_type": "code", + "execution_count": 41, + "id": "3792e828-bb1d-4e8b-93d3-282ed3154971", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAA4AAAAG0CAYAAABjQEnFAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy80BEi2AAAACXBIWXMAAA9hAAAPYQGoP6dpAADtm0lEQVR4nOzdd3hU1dbA4d+k94T0BFLooZfQAgJKlSIooBQVUERRRIWrXrl+ggVs94pdVESwgIViQ+kivYTeOyGU9JDeZ873x8lMMqRN6qSs93nmCTlzZp+dNsyatfdaGkVRFIQQQgghhBBC1HsW5p6AEEIIIYQQQoiaIQGgEEIIIYQQQjQQEgAKIYQQQgghRAMhAaAQQgghhBBCNBASAAohhBBCCCFEAyEBoBBCCCGEEEI0EBIACiGEEEIIIUQDIQGgEEIIIYQQQjQQEgAKIYQQQgghRAMhAaAQwmz++ecfNBoN//zzj7mnIkS9EhERgUajYfny5eaeSoUFBwczderUKhuvtn5PqnJe8pwqhDCFBIBC1FFr165l/PjxNGvWDAcHB1q3bs2//vUvkpKSzD21WiMjI4NXX321Qi+Gbt68yauvvsrRo0erfF613R9//EH//v3x9vbGwcGBZs2a8cADD7BhwwbDOdeuXeO1116jR48eNGrUCE9PT+688062bNlSZLxXX30VjUaDhYUF165dK3J/SkoK9vb2aDQann76aaP74uLiePbZZwkJCcHe3h5vb2969OjBv//9b9LS0gznTZ06FScnJ8PnOp2O5cuXM2rUKAICAnB0dKR9+/YsWLCArKysEr/2M2fOoNFosLOzq5G/pfDwcJ5++mnatWuHo6MjgYGBPPDAA5w/f77ary1EYX/99RevvvqquachhKgBEgAKUUc9/vjjnDlzhoceeoiPPvqIu+++m08++YSwsDAyMzPNPb1aISMjg9dee63CAeBrr73W4ALA//3vf4waNQqNRsPcuXN5//33GTt2LBcuXODHH380nPfbb7/xzjvv0KJFCxYsWMArr7xCamoqgwcPZtmyZcWObWtryw8//FDk+Nq1a4s9PzExkW7duvHtt98yYsQIPvroI+bMmUOLFi1YvHgx8fHxJX4dGRkZPPLII8TFxTFjxgw++OADevTowfz58xk2bBiKohT7uO+//x5fX18AVq9eXeL4VeWdd95hzZo1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qBHx8fGG26BBg9BqtezYsaPU+bz44ots3ry5zNt7771X5tf22muvsXLlSrp06cLGjRt5+eWXCQ0NpWvXrsUum9TLyMjg/vvvx97enrfffrvE8yZNmsTFixcJDw83fCwpG+bj48OxY8eYMWMGt27d4vPPP2fSpEl4e3vzxhtvlFjIpSRvvvkmW7Zs4e2338bNzc3ovvXr15OQkMDEiRMNxyZOnMixY8dKXI5YFjc3N65fv054eLjJjzl79iwzZ84kLCysSMZq6tSpKIpitET6r7/+wsrKiieffNJwzNLSssjfRWJiIn///TcPPPAAqampht+xhIQEhg4dyoULF7hx4wYAGzZsICwsjM6dOxse7+7uzoMPPljsnIt7bgCM9gEmJycTHx9P//79uXz5smEZ65YtW8jJyWHWrFlGf7fPPfdckfFM/Tsx9XtSHpMnTzZ6nuzZsyeKovDoo48andezZ0+uXbtGXl4egOH37LfffqvS5dzleU4t/HNIT08nPj6e3r17oygKR44cMel6hce4desWycnJ9O3b12hbghCi7pAloELUQu+++y5TpkwhICCA0NBQhg8fzuTJk2nWrFmx5+/cuZNp06YxdOhQFi5cWK5r3R4sOjk54efnZ7TPB9QXebe7evUqPXv2LHK8TZs2hvvbt2/P1atXadGiRZHATL9UrCIuXbpE69atsbKq+aex8ePH89xzz7FixQrmzZtHcnIy69atY/bs2UW+xuK+7latWgHq3h9fX18uXLjA8ePHDXsWb1e4+Epx2rZtS9u2bSvxFRmbOHEiEydOJCUlhf3797N8+XJWrlzJPffcw8mTJ4vsvdNqtUyYMIHTp0+zfv16/P39Sxy7S5cuhISEsHLlStzc3PD19WXAgAElnu/n58fixYv57LPPuHDhAhs3buSdd95h3rx5+Pn5mVyk5aeffuL//u//mDZtmlFgoPf999/TtGlTwxI9gObNm+Pg4MCKFSt48803TbpOYf/+97/ZsmULPXr0oEWLFgwZMoRJkyaVuMcyOjqaESNG4OrqyurVq7G0tCzzGlevXsXPz8+oBQYU/du6ePEiiqLwyiuv8MorrxQ7VmxsLI0bN+bq1auEhYUVub9FixbFPq645wZQ91TOnz+fvXv3kpGRYXRfcnIyrq6uXL16FSj6POTl5UWjRo2Mjpn6d2Lq96Q8AgMDjT7X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d3d32rdvT/v27cv82po3b46bmxuff/45zs7OODo60rNnT8N+J2trayZMmMAnn3yCpaVlidmvVq1aMW3aNMLDw/Hx8eHrr78mJibG6IXwCy+8wO+//87IkSOZOnUqoaGhpKenc+LECVavXk1ERESxbQv0qmoPYEZGBr1796ZXr17cfffdBAQEkJSUxK+//srOnTu599576dKlC6C2JHjxxRdp2bIlbdq0KdKwfPDgwfj4+JR4LVMCxu+++44VK1Zw3333ERoaio2NDWfOnOHrr7/Gzs7OqJfa7VJTUxk6dCi3bt3ihRdeKNKbsnnz5oSFhXHz5k22bdvGM888U+w4tra2DB06lFWrVvHRRx9hbW3N8uXLi7RjKM6QIUPw9fWlT58++Pj4cObMGT755BNGjBiBs7MzAP/617/4/fffueeee0hMTCzyfSz8xkJxbSDuuece+vTpw0svvURERIShz2Rxe7s+/fRT7rjjDjp06MD06dNp1qwZMTEx7N27l+vXr3Ps2DFAfUPh+++/Z/DgwcyaNcvQBiIwMJDExESTMutDhgzBxsaGe+65hyeeeIK0tDSWLFmCt7e3UQDq5eXF888/z1tvvcXIkSMZPnw4R44cYf369UV+5039OynP96S6vf766+zYsYMRI0YQFBREbGwsn332GU2aNKlQRlnP1OfUkJAQmjdvzvPPP8+NGzdwcXFhzZo1RbKrAKGhoQA888wzDB06FEtLSyZMmMCIESNYtGgRd999N5MmTSI2NpZPP/2UFi1acPz4caMxJk+ezPbt240Czk8++YTXXnuNbdu2GXq5HjhwgLvuuov58+eb1JtVCFHFarzuqBCiVNnZ2coLL7ygdOrUSXF2dlYcHR2VTp06KZ999pnReZSj3H9pbSC2b9+uPP7440qjRo0UJycn5cEHH1QSEhKMHh8UFKSMGDGi2PleunRJGTdunOLm5qbY2dkpPXr0UNatW1fkvKtXryqjRo1SHBwcFE9PT+XZZ59VNmzYUKRkuaIoynvvvac0btxYsbW1Vfr06aMcPHiwSBsIRVFLk7/88stK06ZNFWtra8XX11cZN26ccunSJcM5e/bsUUJDQxUbG5tyt4T47bfflLZt2ypWVlbFlmk/cOCAAihDhgwp9vH679vGjRuVjh07Kra2tkpISIiyatWqIuempqYqc+fOVVq0aKHY2Ngo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6d+/P2vWrKmwWC+VegBFRERERKTsrDZHqYeGox3/VtHkDyAyMhJ/f3/nNmnSpHPOSUlJoaioiNDQ0BL7Q0NDSUxMrKhQL5l6AEVERERERH5n586d1K3725DWP/b+VWVKAEVERERERH7H19cXPz+/Pz0nODgYm81GUlJSif1JSUmEhYVdzvDKpFoMAa1qS6+KiIiIiEjV5ubmRseOHYmNjXXus9vtxMbGEh0dbWJkf67KJ4BVcelVERERERGp+iZMmMD777/PzJkz2bVrFw888ABZWVncddddZod2QVU+AayKS6+KiIiIiEjVd+ONN/Laa6/x3HPP0b59e+Li4liyZMk5C8NUJlV6DmBpll7Ny8sjLy/P+TgjI+OyxykiIiIiItXT2LFjGTt2rNlhXLQq3QNYmqVXJ02aVGJJ18jIyIoIVURERERExHRVOgEsjSeffJK0tDTntnPnTrNDEhERERERqRBVeghoaZZedXd3L1HHIzU1FYATJ05ctjhFRERERKTyK84J7Ha7yZFcPlU6Afz90qvDhw8Hflt69WLH4RYnj126dLlcYYqIiIiISBWSlJRE/fr1zQ7jsqjSCSA4ll6944476NSpE126dOGNN964pKVXO3TowPr16wkNDcVqNXdEbEZGBpGRkezcuRNfX19TY5HKQdeElBddS1JaunakPOl6ktKoyOvGbreTlJREhw4dLuvvMZPFMAzD7CDKatq0abz66qskJibSvn173nrrLbp27Wp2WJcsPT0df39/0tLS8PPzMzscqQR0TUh50bUkpaVrR8qTricpDV035avK9wBC1Vt6VURERERExAw1bhVQERERERGRmkoJYCXi7u7O888/X2KVUqnZdE1IedG1JKWla0fKk64nKQ1dN+WrWswBFBERERERkb+mHkAREREREZEaQgmgiIiIiIhIDaEEUEREREREpIZQAigiIiIiIhWqeBmSjz76iISEBJOjqVmUAIqIVBN2u93sEERERC6KxWLhyJEjjBkzhnnz5lFYWGh2SDWGEkARk2khXikPhmFgteotXUTMoRtQcqkKCwupX78+Dz30EFOmTGH//v1mh1Rj6NtCBdCbopxPceJnsVgoKipSIiilUlRUBDiuo4SEBPr27cvy5ctNjkqqCr3vSFkVf8f54w0oXVvyZ4qKinBxcQFg6tSppKSk8NFHH5GTk2NyZDWDEsDLIC4uju3bt2MYBna7XXfl5Rx2ux2LxQLAe++9x6233sqBAwdMjkqqIpvNBsCuXbt455138PLyokmTJvryJRel+H1o6dKlpKammhuMVCl/TPw++ugj7r//fqZNm4ZhGM5rS+R8ij+7Tp06hdVq5d///jfTp09n8+bNJkdWMygzuQyGDRvGhAkTSEtLw2q1kpyczFNPPcX06dPZuXOn8zx9Qau5rFYr8fHxrF27lunTpzNgwADCw8PNDkuqgD+OKMjNzSUmJobWrVuzceNGZs2aRYMGDfTlSy7azp07GTx4MKdPnwb02SQXpzjxy8rK4v777+f555/n1KlTPPLII9x6662cPHnS5AilMktISGDAgAF8/PHHAMTExBAREcHUqVM5c+aMucHVAEoAy1Hx5NVPPvmEFStWsHz5cr799lvatGlDbGws06dPZ+DAgbz22msA+oJWgx09epQmTZowZswY7rzzTu666y48PT3NDksquaKionNGFHh4eDBo0CCaNWuGu7s7wcHBGnYuF81ut+Pv70/79u1Zu3YtoM8mubDiIefFYmJi+Mc//oHdbmfdunXMnTuXVatWMW/ePL766ivy8/NNilQqi4KCgvPuDw8Px2KxsHLlSjZs2ADAjBkz+Oqrr1i+fLluRF1mSgDLkYuLC3a7nd69ezNo0CCmTp3K8uXLmThxIuvWrWPr1q3ccMMNfPbZZ3z22WeA5gdWd3/8sCwWERHBU089xa5du6hfvz6gL11yYcXXkc1mIyUlhWeeeYZZs2axZcsWAPr06cM111zD8uXLycnJwWq16r1FLuiLL75g06ZNgKMXx9PTs8QXdX3xkgspHrZXPFy4WbNmfPjhhyQmJhIWFgZA165dufXWW5kxYwa7du0yK1Qxmd1u58033+TRRx8FIC8vj6+++qpEz/CLL77I3r17Wbp0KdnZ2fTt25chQ4bw8ssvc+zYMbNCrxGUAJaRYRglvuQX351/7733WLt2LW+++Sbt2rUDHAliTEwMUVFRfPrpp84valI92e1254flsmXL+Prrr9m2bZvz+Lhx4wgODmbdunVmhShVRPF1tHz5cho0aMDixYt5+eWX6dmzJ1988QU+Pj7cc889hIWF8dhjj5kcrVQWdrv9nGRuzZo1TJo0iRtuuIG9e/dSUFBAYGAg9erVY9GiRSZFKlVF8bC9//73vwCMHz+eDh06kJmZSUpKivO8V199lcTERObOnUtGRgagGws1jdVqZdeuXaxbt47169fz7bffcuutt/LTTz85z+nSpQsDBw5k8eLFzv3/+c9/2LZtm3qQLzNlH5fgj3fUixfysNls5OTksGbNGs6cOUNOTg5hYWE8++yzAGRmZjqf07hxYzp16kRSUhLJyckVGr9cfsePHyctLQ1wvPnt3r2bnj17cscdd/DCCy/Qp08f3nvvPQBCQkJ4+umnmTFjBnv27DEzbKmkir8w/frrrwwaNIjVq1czbdo0Nm3aRFxcHDfeeCOTJ0/mhx9+oHXr1owdO5ZZs2axZ88erFbrBXugpforHi5ssVhISkpyfn5FR0ezZMkSoqKiuPnmm53vRz169CA7O5v09HSNRpCLGra3ceNGAF5//XVWrFjBTz/9hGEYGIaBv78/Tz75JO+88w6rV68GNMqlJin+7HrggQfw9/fn3XffZdSoUfTs2ZM5c+YQHx/vPPexxx7jxIkTfPPNNyQnJxMeHs69997LY489puLwl5Mhf8lut5d4PHPmTCMzM9P5+OWXXzZCQkKMDh06GFFRUcY///lP57HatWsb999/v3Hq1Cnnvm+++cawWq1GQkLC5Q9eKkRRUZHxwgsvGN7e3sbLL79sGIZh7N692+jfv78xZswYIyMjwzAMw3jttdeM0NBQY+XKlc7ntWnTxrjlllvOuc6k5tm/f78xfPhw45133imxf926dYavr6/h5uZmrF271rk/JSXF6N69u/Hggw8aOTk5Rnx8vHH11Vcbffv2rejQpRIoLCws8TglJcUYPXq0ERkZafTv39/417/+5TyWk5NjvPjii0ZwcLDx/vvvG48//rjRq1cvw263672oBisqKjLeeOMNY9y4cYZhGEZubq7x5ZdfGsnJyc5z1q1bZ7Ro0cJ48cUXjaysLMMwDOPaa681OnbsaBw5cqREe507dza+//77insBUum8/vrrxhVXXGEsXrzY2LhxoxEWFma89957RkFBgfOcO++802jSpIkxa9Ys575FixaZEW6NoQTwLxQVFTl/nj9/vlG3bl0jODjYOHz4sGEYhvHee+8ZrVq1MubOnWukpaUZ8+fPNywWi/H6668bhmEYs2bNMiwWi/Haa68ZSUlJRl5envHAAw8YgwcPdiYFUvWlpqYabdq0MYKCgowRI0YYW7duNZKSkowZM2Y4v5S9+uqrRkhIiGGz2Yxhw4YZSUlJhmE43uRcXFyMxYsXm/kSpBKYMWOGERYWZvj6+hozZsww4uPjDcMwjMzMTGPSpEmGu7u7sW/fPsMwDCM/P98wDMOYOnWq0bBhQ6OgoMAoLCw0Zs6caYSHhzufKzXD5MmTjXHjxhm5ubmGYRjGggULjPr16xsjRowwvv76a+O9994zrFar8cknnxjZ2dnO582cOdPo3Lmz0aNHD8NmsxmHDh0y6yVIJfH3v//d6Nq1q7Fu3Tpj7ty5hoeHh/HVV1+VOGfcuHFG9+7djSVLlhiGYRjHjx833N3djalTpxp5eXnO837/HUpqluIbScePHzdGjRplXHPNNUZBQYExZswYo2fPnsbGjRsNwzCM7OxsY+jQoYa/v79xxx13GCkpKWaGXWMoAbwI8fHxRo8ePQx/f3/j1Vdfde7Py8szOnfubMyYMcMwDMM4ePCgMWjQIMPb29t47733nOf17t3bsFgsxtChQ43evXsbtWvXdr5pStVXnODdf//9RtOmTY3hw4cbTzzxhGEYjje2pKQk49prrzXatGljfPfdd8aKFSsMi8VifPbZZ847YL169TIeeugh016DVA5Tp041nnnmGWPevHnG6NGjjb59+zq/rB87dsxo1KiR8fe//73EcxYuXGh4e3s7v7inp6c7kwCpGYpvNLZp08aYM2eOYRiG8fbbbxtvvPGG85zi950OHToYW7ZsKfH8JUuWGMOHDzdsNpsRGxtbobFL5VH8hT0uLs4YMGCAcddddxmGYRj9+/c3/va3vxkHDx50nlv8fvTAAw84b2aOHTvWcHV1Pefmk5LAmqv4mvrf//5ndOrUyXjnnXeMkydPGlFRUcZVV11lfP3118YzzzxjjB071li+fLmRmppqcsQ1hxLAv3D69Gmjbdu2Rr169ZxDHYqlpqYaN998s/Hll18ajzzyiOHj42PcfvvtziEQxXfot2zZYlgsFmP69OnGwoULK/w1SPmKj483Jk6caPzyyy+GYRhGQUGBYbfbjTfeeMOIiYkx/v73vxu9evVyJvkff/yx0aVLF2Pbtm2GYRjG1q1bDQ8PD6NHjx7Grl27DMMwSgwplpqn+EPyl19+MYKCgozc3FwjJSXF6Ny5s3HDDTc43zfef/99w2q1GnPmzHEOIb/99tuN66677pwvWX8cDijVT/HffNWqVYbFYjGuueYaY/To0UZKSoqxf/9+IzU11Thy5IgxaNAgIywszJg6daoRGBhojBs3zkhPTy/RVmZmpuHr62t8/vnnJdqWmulihu3dddddGrYnFyUnJ8e47777jJ49exrHjh0zVq5caVx33XVGw4YNjaioKGPdunXOc/XeUzG0CMxfqFWrFjfeeCNNmzYtsVrje++9x0MPPcTWrVu55ZZbWLt2LbGxscycOZOIiAhOnDjBq6++yqlTp4iKiuLtt9/mtttuY8iQISa+GimrM2fOMGjQIJ5//nluuukmNm3aREFBARaLhdzcXE6cOMHTTz+NxWJh7ty52O12fvjhB7y8vGjevDkAcXFx3HrrrWzevNlZ7NTb29vMlyUmK14coWHDhrRt25bFixcTFBTE+vXrsdls3H777axYsYJrrrmGUaNGMXr0aGJiYujevTvff/89Dz300DkrChevHCrVS25uLjt37gR+u26aN2/O4MGDCQ4O5vjx43z66ac0adIEf39/nn76aby8vFi9ejXjx4/n5ptv5uuvv2b9+vXONvPz8/H29qZ79+7O/VqhumYyzi7ecdNNN9G4cWPefvtt2rVrx5AhQ0qUnsnJyeHUqVOkpKQQGxvLqVOnABg8eLBpsUvlZLfb8fDw4MYbbwQciwb17t2bBQsWsHTpUrZs2UKXLl2c157eeyqG/itfhJiYGNzd3ZkzZw7Lli2jffv2/N///R/33XcfDz/8MHa7nccff5wuXboAjov9k08+YdOmTSQlJTnb8PX1NfNlSDmoVasWt99+O/369cPHx4fXX3+dl156CYBRo0axZs0avLy8uOGGG9i8eTPfffcd99xzDytXrmT8+PHExMQwYcIEHnjgAU6fPk10dLTJr0gqE4vFQmZmJm3atAEc7xvz58+nfv36PPTQQ8yYMYMHHngAPz8/rrrqKqZOncqJEye4+uqrTY5cKsKiRYsICQlh4MCB/PTTT84EMD09HbvdzpgxY2jQoAGLFi1i69atHDp0iKVLlzJ69GgaN25Mbm4uR44c4fjx47z22mvOFard3NxIT08nPj7e+TkmNZPFYsEwDMLDw7n++utJTk7m/fff5+WXXyY9PZ3HH3+cefPm8e9//5v69eszb9483nzzTYKCgswOXSqp4oSuX79+9OnTh/Xr1/P9998DOG+MFxUVaZXYCqYE8CIEBARw9913s2zZMgYPHsyNN97I1q1b6dmzJ3fffTfdu3fn+eefZ/To0cyYMYPo6GimTZvGHXfcQWRkpNnhSzkr/gLetm1bRo0axSeffMJLL73Evn376Nu3L0eOHOGmm26iXr16fPzxx3Tt2pU333yTo0ePsnXrVr7++muuuOIK3N3dzX4pUokYhkFYWBgBAQEMGTKEoKAg1q1bx6JFi9i8eTNjxozhgw8+4JVXXuG6667jjTfeoGvXrsCFl2yX6sXLy4uwsDDy8vJ49NFHmTZtGoWFhTRr1ozExER27NjBI488wpkzZ/jyyy8JDw8nPz+fLVu2sH//fmbOnEndunXZuHEjr732Gj4+PgBkZ2czbtw4DMOgZ8+eJr9KMVvxF/ERI0ZwxRVXMHv2bPLy8nj77bfx8vJiwoQJLFiwgNtuu40rr7wSf3//c8pkifxece/eLbfcgqurK5s3by5RF1IjViqexTBUmfNiFBQUcMstt5CSksJXX31FrVq1yMvLw93dnYSEBBYvXsw333xDfn4+bdu25dVXXzU7ZLmM5syZwxtvvMGzzz5LSEgIr7zyCikpKWzevJn58+dz5ZVX8tlnn/Hyyy8zcuRInnvuOXJzc/Hw8DA7dKnkJk6cyAcffMATTzzBvffei6urK+C4Q7pmzRrc3d0JCgqiW7duPPTQQzz77LMYhqG7pzWAYRiMHTuW5ORkQkJCSExMxMPDg//9739MnjyZo0eP8vbbb/Poo4+yZs0a3nzzTXbt2sX48eNxc3PDYrEwbdo0RowYAThGqxTfnU9ISCA8PNzMlyeVSPG1sXz5cp5//nk6d+7MlClTANi7d6+z50bvPXKxiq+V7t27ExUVxbvvvqvrx0TqAbxIrq6uPProo+Tm5jJjxgzAMWwGHIVRx4wZw4IFC5g/f76Svxpg5MiRNGjQgHfeeYcWLVrw1ltv0bRpUzIyMkhMTARg9OjRXHHFFTRo0ABAyZ9cFBcXF0JCQnjwwQdxcXFx7rfZbPTs2ZPOnTsTERHB3XffzcyZM8nPz9cHaA1hsVgYP348qampeHh48MYbb7B582YmTJjADz/84LwObrvtNry8vHj33XcZPXo0W7du5ZNPPiEhIcGZ/EHJuTZK/uT3NGxPypvFYmHv3r3k5OTQunVr5z4xhxLAS9C5c2e6dOnCsmXL2LJlCxaLhaKiohLn6Et+zeDq6sojjzzCqVOnmDZtGuHh4bz//vvs27eP0aNHO4c2/Oc//+GOO+4wOVqpSq677jq2bdvGgQMHnPNx/sjV1ZVnnnmG/fv3O29ESc3QrFkz+vXrx88//8yZM2dYsGABXl5exMbG8tVXX1FQUEC7du3o3bs3a9euZd26ddStW5f+/fsDUFhYaPIrkKpCw/akvH311Vf06tWLBx54wOxQajwNAb1Ex44dY/To0TRq1IhZs2aZHY6YyDAMHn74YbZu3cqUKVNo3749UHJYlcil2rNnD/379+fdd9/VqsFyXqmpqdx4442EhYXx3//+FxcXF1588UW6du3KgAEDAEhLSyMlJYUmTZqYHK1UZRq2J+VJ348qD/0VLlG9evUYPnw4nTp1Ou+deak5LBYLjzzyCAUFBc65EaAljKVsmjdvzpIlS5T8yQUFBAQwZswYdu/ezSeffALA008/7Uz+APz9/WnSpIk+p6RMNGxPypO+H1Ue6gEsBd39kt97/fXXcXV15aGHHtJ1IeWm+K1Z15ScT0FBAXfeeSdpaWm89957hIeH6+66XBaTJk3ixIkTTJkypcS8ZBGpupQAipSRbgiIiBlWr17N3//+d1588UWuv/56s8ORako3FkSqHyWAIiIiVZBhGMTHx9O4cWOzQxERkSpECaCIiEgVp5EIIiJysdSnLyIiUsUp+RMRkYulBFBERERERKSGUAIoIiIiIiJSQygBFBERERERqSGUAIqIiIiIiNQQSgBFRERERERqCCWAIiIiIiJiqkmTJtG5c2d8fX0JCQlh+PDh7Nmzp8Q5ubm5xMTEEBQUhI+PDyNHjiQpKanEOePGjaNjx464u7vTvn378/6upUuX0q1bN3x9falduzYjR47k0KFDl+mVVT5KAEVERERExFQrV64kJiaGtWvX8sMPP1BQUMCAAQPIyspynvPwww/z7bffMnfuXFauXElCQgIjRow4p627776bG2+88by/Jz4+nmHDhtGvXz/i4uJYunQpKSkp522nulIheBERERERqVROnjxJSEgIK1eupHfv3qSlpVG7dm1mz57NqFGjANi9ezetWrVizZo1dOvWrcTz/+///o/58+cTFxdXYv+XX37J6NGjycvLw2p19IV9++23DBs2jLy8PFxdXSvk9ZlJPYAiIiIiIlKppKWlARAYGAjApk2bKCgooH///s5zWrZsSf369VmzZs1Ft9uxY0esVisfffQRRUVFpKWl8cknn9C/f/8akfyBEkAREREREalE7HY748ePp0ePHrRp0waAxMRE3NzcCAgIKHFuaGgoiYmJF912o0aN+P7773nqqadwd3cnICCAY8eO8cUXX5TnS6jUlACKiIiIiEilERMTw/bt25kzZ065t52YmMi9997LHXfcwYYNG1i5ciVubm6MGjWKmjIzzsXsAERERERERADGjh3LwoULWbVqFfXq1XPuDwsLIz8/n9TU1BK9gElJSYSFhV10+9OnT8ff35/Jkyc793366adERESwbt26c+YSVkfqARQREREREVMZhsHYsWOZN28ey5cvp1GjRiWOd+zYEVdXV2JjY5379uzZw5EjR4iOjr7o35Odne1c/KWYzWYDHENPawL1AIqIiIiIiKliYmKYPXs233zzDb6+vs55ff7+/nh6euLv78+YMWOYMGECgYGB+Pn58dBDDxEdHV2i127//v1kZmaSmJhITk6OcxXQyMhI3NzcGDJkCFOnTmXixImMHj2ajIwMnnrqKRo0aECHDh3MeOkVTmUgRERERETEVBaL5bz7P/roI+68807AUQj+kUce4bPPPiMvL4+BAwfyzjvvlBgC2rdvX1auXHlOO/Hx8TRs2BCAOXPmMHnyZPbu3YuXlxfR0dG88sortGzZstxfV2WkBFBERERERKSG0BxAERERERGRGkIJoIiIiIiISA2hBFBERERERKSGUAIoIiIiIiJSQygBFBERERERqSGUAIqIiIiIiNQQSgBFRERERERqCCWAIiIiIiIiNYQSQBERERERkRpCCaCIiIiIiEgNoQRQRERERESkhvh/hYxFxkDcaW4AAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "fig,ax0 = plt.subplots(1, figsize=(10,5),sharey=True)\n", + "ax1 = ax0.twinx() \n", + "\n", + "start_date = date(2018, 2, 1)\n", + "end_date = date(2018, 6, 30)\n", + "# filter discharge data to start and end dates\n", + "discharge_ds = discharge_ds.loc[start_date:end_date]\n", + "\n", + "discharge_ds.discharge_m3_s.plot(label='Discharge', xlabel='', ylabel='Discharge (m$^3$/s)',ax=ax0)\n", + "snow_percent.plot(marker='o',ax=ax1,color='orange')\n", + "ax0.legend(loc='center left', bbox_to_anchor=(0, 0.6))\n", + "ax1.set_ylabel('Snow cover area (%)')\n", + "ax1.legend(loc='center left', bbox_to_anchor=(0, 0.5),labels=['SCA'])\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "2dc99e15-9d55-419a-b03b-ff0693e9d401", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.4" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/_sources/3.1_data_processing/3.1_exercises/_alternatives/34_data_sharing_aoi_test.ipynb b/_sources/3.1_data_processing/3.1_exercises/_alternatives/34_data_sharing_aoi_test.ipynb new file mode 100644 index 0000000..233d292 --- /dev/null +++ b/_sources/3.1_data_processing/3.1_exercises/_alternatives/34_data_sharing_aoi_test.ipynb @@ -0,0 +1,662 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "0c6aed2f-1493-4636-a124-03c81b28bc52", + "metadata": {}, + "source": [ + "# 3.4 Data Sharing\n", + "Science is much more impactful once it's shared. Therefore, we are going to learn how to \n", + "open up our scientific output from a cloud platform, so that is openly available - and \n", + "has the chance to make the impact it should.\n", + "- Load data\n", + "- ...\n" + ] + }, + { + "cell_type": "markdown", + "id": "82f46c31-e6ef-4811-8e3a-7256ac0d2a86", + "metadata": {}, + "source": [ + "Set configurations" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "1abf270c-d73e-4109-854c-3cf36a1b36d7", + "metadata": {}, + "outputs": [], + "source": [ + "import openeo\n", + "import numpy as np\n", + "import leafmap" + ] + }, + { + "cell_type": "markdown", + "id": "c994d4fb-5696-466b-b7ff-43d23836b571", + "metadata": {}, + "source": [ + "Import utility functions" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "163731f8-0b86-412c-8e1c-7703ab1f7c01", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "%run cubes_utilities.py" + ] + }, + { + "cell_type": "markdown", + "id": "b2d634d7-e719-4cab-8066-ed0cc1c278f6", + "metadata": {}, + "source": [ + "### Select Area of Interest\n", + "- select a point of interest" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "c2999d0e-210e-4188-8c03-31719c06a70d", + "metadata": {}, + "outputs": [], + "source": [ + "import math\n", + "\n", + "# Function to create a bounding box around a point\n", + "def create_bounding_box(latitude, longitude, distance_km):\n", + " # Radius of the Earth in kilometers\n", + " earth_radius_km = 6371\n", + "\n", + " # Convert latitude and longitude from degrees to radians\n", + " lat_rad = math.radians(latitude)\n", + " lon_rad = math.radians(longitude)\n", + "\n", + " # Calculate the angular distance covered by the given distance_km\n", + " angular_distance = distance_km / earth_radius_km\n", + "\n", + " # Calculate the latitude and longitude offsets\n", + " lat_offset = math.degrees(angular_distance)\n", + " lon_offset = math.degrees(angular_distance / math.cos(lat_rad))\n", + "\n", + " # Calculate the coordinates of the southwest and northeast corners\n", + " sw_lat = latitude - lat_offset\n", + " sw_lon = longitude - lon_offset\n", + " ne_lat = latitude + lat_offset\n", + " ne_lon = longitude + lon_offset\n", + "\n", + " # Return the bounding box as a tuple (sw_lat, sw_lon, ne_lat, ne_lon)\n", + " return (sw_lat, sw_lon, ne_lat, ne_lon)" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "af2c5198-c846-4478-97cd-28f051336af9", + "metadata": {}, + "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "673149ac8707422f95e1886a8eccd230", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Map(center=[46.497012, 11.356429], controls=(ZoomControl(options=['position', 'zoom_in_text', 'zoom_in_title',…" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "m = leafmap.Map(center=(46.497012, 11.356429), zoom=14)\n", + "m" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "67cdd3f0-36f5-44d5-b3af-13ec959f5e3b", + "metadata": {}, + "outputs": [], + "source": [ + "import geopandas as gpd\n", + "import shapely\n", + "from shapely.geometry import Polygon\n", + "\n", + "distance_km = 1 # Distance in kilometers\n", + "\n", + "feat = m.draw_features\n", + "geom = feat[0]['geometry']['coordinates']\n", + "\n", + "# Create a bounding box around the point\n", + "bbox = create_bounding_box(geom[0], geom[1], distance_km)\n", + "\n", + "# Create polygon from lists of points\n", + "x = [bbox[0], bbox[0], bbox[2], bbox[2], bbox[0]]\n", + "y = [bbox[1], bbox[3], bbox[3], bbox[1], bbox[1]]\n", + "\n", + "poly = Polygon(zip(x,y))\n", + "\n", + "gs = gpd.GeoSeries.from_wkt([str(poly)])\n", + "gdf = gpd.GeoDataFrame({\"col1\": [\"bbox\"]}, geometry=gs, crs=4326)\n", + "m.add_gdf(gdf)" + ] + }, + { + "cell_type": "markdown", + "id": "5d7c0e74-3158-403a-a5d8-1e646bd4b137", + "metadata": {}, + "source": [ + "### Recreate process graph" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "f504c070-0c31-4d98-8a6c-2917eba71f19", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Authenticated using refresh token.\n" + ] + } + ], + "source": [ + "conn = openeo.connect('https://openeo.dataspace.copernicus.eu/').authenticate_oidc()\n", + "\n", + "collection = 'SENTINEL2_L2A'\n", + "spatial_extent = {'west':bbox[0],'east':bbox[2],'south':bbox[1],'north':bbox[3],'crs':4326}\n", + "temporal_extent = [\"2018-02-10\", \"2018-02-12\"]\n", + "bands = ['B03']\n", + "s2cube = conn.load_collection(collection,\n", + " spatial_extent=spatial_extent,\n", + " bands=bands,\n", + " temporal_extent=temporal_extent)" + ] + }, + { + "cell_type": "code", + "execution_count": 50, + "id": "9e09c3cb-e1b8-4ceb-ab38-1711edfc5718", + "metadata": {}, + "outputs": [], + "source": [ + "s2cube.download(\"sample.nc\")" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "id": "dda7fbb7-3b1f-43c5-a7e8-e8a7dc63ed03", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "
<xarray.Dataset>\n",
+       "Dimensions:  (t: 1, x: 145, y: 209)\n",
+       "Coordinates:\n",
+       "  * t        (t) datetime64[ns] 2018-02-11\n",
+       "  * x        (x) float64 6.787e+05 6.787e+05 6.788e+05 ... 6.802e+05 6.802e+05\n",
+       "  * y        (y) float64 5.153e+06 5.153e+06 5.153e+06 ... 5.151e+06 5.151e+06\n",
+       "    crs      |S1 ...\n",
+       "Data variables:\n",
+       "    B03      (t, y, x) float32 ...\n",
+       "Attributes:\n",
+       "    Conventions:  CF-1.9\n",
+       "    institution:  openEO platform
" + ], + "text/plain": [ + "\n", + "Dimensions: (t: 1, x: 145, y: 209)\n", + "Coordinates:\n", + " * t (t) datetime64[ns] 2018-02-11\n", + " * x (x) float64 6.787e+05 6.787e+05 6.788e+05 ... 6.802e+05 6.802e+05\n", + " * y (y) float64 5.153e+06 5.153e+06 5.153e+06 ... 5.151e+06 5.151e+06\n", + " crs |S1 ...\n", + "Data variables:\n", + " B03 (t, y, x) float32 ...\n", + "Attributes:\n", + " Conventions: CF-1.9\n", + " institution: openEO platform" + ] + }, + "execution_count": 24, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "import xarray as xr\n", + "xr.open_dataset(\"sample.nc\",decode_coords=\"all\")" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "users-edc-2023.07-01", + "language": "python", + "name": "conda-env-users-edc-2023.07-01-py" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.4" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/_sources/3.2_validation/3.2_exercises/32_validation.ipynb b/_sources/3.2_validation/3.2_exercises/32_validation.ipynb new file mode 100644 index 0000000..58889b9 --- /dev/null +++ b/_sources/3.2_validation/3.2_exercises/32_validation.ipynb @@ -0,0 +1,2953 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "f0816bcf-2b14-4b19-b78e-491144f16344", + "metadata": {}, + "source": [ + "\"Cubes" + ] + }, + { + "cell_type": "markdown", + "id": "0c6aed2f-1493-4636-a124-03c81b28bc52", + "metadata": {}, + "source": [ + "# 3.2 Validation\n", + "In this exercise, we focus on the validation of the results we have produced. In general, the accuracy of a satellite derived product is expressed by comparing it to in-situ measurements. Furthermore, we will compare the resuling snow cover time series to the runoff of the catchment to check the plausibility of the observed relationship.\n", + "\n", + "The steps involved in this analysis:\n", + "- Generate Datacube time-series of snowmap,\n", + "- Load _in-situ_ datasets: snow depth station measurements,\n", + "- Pre-process and filter _in-situ_ datasets to match area of interest, \n", + "- Perform validation of snow-depth measurements,\n", + "- Plausibility check with runoff of the catchment\n", + "\n", + "More information on the openEO Python Client: https://open-eo.github.io/openeo-python-client/index.html" + ] + }, + { + "cell_type": "markdown", + "id": "ca425653-a63a-4090-9eab-bba515474133", + "metadata": {}, + "source": [ + "Start by creating the folders and data files needed to complete the exercise." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "7f19530f-6aa9-4cfa-be7d-d8791ae014b4", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "!cp -r $DATA_PATH/32_results/ $HOME/\n", + "!cp -r $DATA_PATH/32_data/ $HOME/" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "fa60bba1-19af-461f-bb91-bcb134187eca", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "!cp -r $DATA_PATH/_32_cubes_utilities.py $HOME/" + ] + }, + { + "cell_type": "markdown", + "id": "62f4cb92-ac45-4e98-8d61-b2ff43c7dc84", + "metadata": {}, + "source": [ + "## Libraries" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "1abf270c-d73e-4109-854c-3cf36a1b36d7", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/tmp/ipykernel_1286/2944796695.py:4: DeprecationWarning: \n", + "Pyarrow will become a required dependency of pandas in the next major release of pandas (pandas 3.0),\n", + "(to allow more performant data types, such as the Arrow string type, and better interoperability with other libraries)\n", + "but was not found to be installed on your system.\n", + "If this would cause problems for you,\n", + "please provide us feedback at https://github.com/pandas-dev/pandas/issues/54466\n", + " \n", + " import pandas as pd\n" + ] + } + ], + "source": [ + "import json\n", + "from datetime import date\n", + "import numpy as np\n", + "import pandas as pd\n", + "\n", + "import xarray as xr\n", + "import rioxarray as rio\n", + "\n", + "import matplotlib.pyplot as plt\n", + "import rasterio\n", + "from rasterio.plot import show\n", + "\n", + "import geopandas as gpd\n", + "import leafmap.foliumap as leafmap\n", + "\n", + "import openeo\n", + "from _32_cubes_utilities import ( calculate_sca,\n", + " station_temporal_filter,\n", + " station_spatial_filter,\n", + " binarize_snow,\n", + " format_date,\n", + " assign_site_snow,\n", + " validation_metrics)\n" + ] + }, + { + "cell_type": "markdown", + "id": "fc23ce94-ec50-42a1-ac64-031dc18565fa", + "metadata": { + "tags": [] + }, + "source": [ + "## Login\n", + "Connect to the Copernicus Dataspace Ecosystem." + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "86afd551-857e-4129-a2ee-39a933255f34", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "conn = openeo.connect('https://openeo.dataspace.copernicus.eu/')" + ] + }, + { + "cell_type": "markdown", + "id": "c5572699-f06c-4f42-8aed-4f6f549cedf9", + "metadata": {}, + "source": [ + "Login." + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "de26fd5c-71da-4d28-b895-f5108a97a1d5", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Authenticated using refresh token.\n" + ] + }, + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "conn.authenticate_oidc()" + ] + }, + { + "cell_type": "markdown", + "id": "96ccb225-6691-458a-bac3-ae0ed48c4a71", + "metadata": {}, + "source": [ + "Check if the login worked." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "7afd0fd0-0207-495d-b076-ed68f826bc5f", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "conn.describe_account()" + ] + }, + { + "cell_type": "markdown", + "id": "6cb40bc5-8916-4989-b026-1b354a33e695", + "metadata": {}, + "source": [ + "## Region of Interest" + ] + }, + { + "cell_type": "markdown", + "id": "47820208-433d-4acb-9b97-4ef5ccda3feb", + "metadata": {}, + "source": [ + "Load the Val Passiria Catchment, our region of interest. And plot it." + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "bc69c8d6-62dc-474e-be39-3e5ca9c5daca", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "catchment_outline = gpd.read_file('32_data/catchment_outline.geojson')" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "920d356b-c477-4bac-a811-e0eb3b031853", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "data": { + "text/html": [ + "" + ], + "text/plain": [ + "" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "center = (float(catchment_outline.centroid.y), float(catchment_outline.centroid.x))\n", + "m = leafmap.Map(center=center, zoom=10)\n", + "m.add_vector('32_data/catchment_outline.geojson', layer_name=\"catchment\")\n", + "m" + ] + }, + { + "cell_type": "markdown", + "id": "a6d24033-7c7f-41fa-ad68-7c32b01f0a30", + "metadata": { + "tags": [] + }, + "source": [ + "## Generate Datacube of Snowmap" + ] + }, + { + "cell_type": "markdown", + "id": "ee1e399f-0c77-47d5-bc67-648fcf7cb048", + "metadata": {}, + "source": [ + "We have prepared the workflow to generate the snow map as a python function `calculate_sca()`. The `calculate_sca()` is from `_32_cubes_utilities` and is used to reproduce the snow map process graph in openEO" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "c5343f82-547c-4af5-8aaf-6188a0dba977", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + " \n", + " \n", + " \n", + " \n", + " " + ], + "text/plain": [ + "" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "bbox = catchment_outline.bounds.iloc[0]\n", + "temporal_extent = [\"2018-02-01\", \"2018-06-30\"]\n", + "snow_map_cloud_free = calculate_sca(conn, bbox, temporal_extent)\n", + "snow_map_cloud_free" + ] + }, + { + "cell_type": "markdown", + "id": "1079721a-1c43-4956-8a15-f76a76d9c933", + "metadata": { + "tags": [] + }, + "source": [ + "## Load snow-station in-situ data\n", + "Load the _in-situ_ datasets, snow depth station measurements. They have been compiled in the ClirSnow project and are available here: [Snow Cover in the European Alps](https://zenodo.org/record/5109574) with stations in our area of interest. \n", + "\n", + "We have made the data available for you already. We can load it directly." + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "2c712f51-044c-4de9-aa89-814a1fbc94b4", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "# load snow station datasets from zenodo:: https://zenodo.org/record/5109574\n", + "station_df = pd.read_csv(\"32_data/data_daily_IT_BZ.csv\")\n", + "station_df = station_df.assign(Date=station_df.apply(format_date, axis=1))\n", + "# the format_date function, from _32_cubes_utilities was used to stringify each Datetime object in the dataframe\n", + "# station_df.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "249cd8c1-371b-4010-94a0-c5020bf62d55", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
ProviderNameLongitudeLatitudeElevationHN_year_startHN_year_endHS_year_startHS_year_end
0AT_HZBAbsdorf15.97666748.401667182.01970.02016.01970.02016.0
1AT_HZBAch_Burghausen12.84638948.148889473.01990.02016.01990.02016.0
2AT_HZBAdmont14.45722247.567778700.01970.02016.01970.02016.0
3AT_HZBAfritz13.79555646.727500715.01970.02016.01970.02016.0
4AT_HZBAlberschwende9.84916747.458333717.01982.02016.01982.02016.0
\n", + "
" + ], + "text/plain": [ + " Provider Name Longitude Latitude Elevation HN_year_start \\\n", + "0 AT_HZB Absdorf 15.976667 48.401667 182.0 1970.0 \n", + "1 AT_HZB Ach_Burghausen 12.846389 48.148889 473.0 1990.0 \n", + "2 AT_HZB Admont 14.457222 47.567778 700.0 1970.0 \n", + "3 AT_HZB Afritz 13.795556 46.727500 715.0 1970.0 \n", + "4 AT_HZB Alberschwende 9.849167 47.458333 717.0 1982.0 \n", + "\n", + " HN_year_end HS_year_start HS_year_end \n", + "0 2016.0 1970.0 2016.0 \n", + "1 2016.0 1990.0 2016.0 \n", + "2 2016.0 1970.0 2016.0 \n", + "3 2016.0 1970.0 2016.0 \n", + "4 2016.0 1982.0 2016.0 " + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# load additional metadata for acessing the station geometries\n", + "station_df_meta = pd.read_csv(\"32_data/meta_all.csv\")\n", + "station_df_meta.head()" + ] + }, + { + "cell_type": "markdown", + "id": "c0a09085-ba4c-497c-b710-404945865f62", + "metadata": { + "tags": [] + }, + "source": [ + "## Pre-process and filter _in-situ_ snow station measurements\n", + "\n", + "### Filter Temporally\n", + "Filter the in-situ datasets to match the snow-map time series using the function `station_temporal_filter()` from `cubes_utilities.py`, which merges the station dataframe with additional metadata needed for the Lat/Long information and convert them to geometries" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "f7940eb6-4ff6-4d76-83ba-e8e68a68daf4", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
ProviderNameDateHNHSHN_after_qcHS_after_qcHS_after_gapfillLongitudeLatitudeElevationgeometry
Date
2018-02-01IT_BZDiga_di_Neves_Osservatore2018-02-012.011.02.0NaN120.011.78708946.9414171860.0POINT (11.78709 46.94142)
2018-02-01IT_BZMaia_Alta_Osservatore2018-02-010.00.00.00.00.011.18323446.657820334.0POINT (11.18323 46.65782)
2018-02-01IT_BZRacines_di_Dentro_Osservatore2018-02-011.057.01.057.057.011.31719746.8660261260.0POINT (11.31720 46.86603)
2018-02-01IT_BZValles_osservatore2018-02-010.043.00.043.043.011.63069646.8386551352.0POINT (11.63070 46.83866)
2018-02-01IT_BZTerento_Osservatore2018-02-010.09.00.09.09.011.79376946.8321161240.0POINT (11.79377 46.83212)
\n", + "
" + ], + "text/plain": [ + " Provider Name Date HN HS \\\n", + "Date \n", + "2018-02-01 IT_BZ Diga_di_Neves_Osservatore 2018-02-01 2.0 11.0 \n", + "2018-02-01 IT_BZ Maia_Alta_Osservatore 2018-02-01 0.0 0.0 \n", + "2018-02-01 IT_BZ Racines_di_Dentro_Osservatore 2018-02-01 1.0 57.0 \n", + "2018-02-01 IT_BZ Valles_osservatore 2018-02-01 0.0 43.0 \n", + "2018-02-01 IT_BZ Terento_Osservatore 2018-02-01 0.0 9.0 \n", + "\n", + " HN_after_qc HS_after_qc HS_after_gapfill Longitude Latitude \\\n", + "Date \n", + "2018-02-01 2.0 NaN 120.0 11.787089 46.941417 \n", + "2018-02-01 0.0 0.0 0.0 11.183234 46.657820 \n", + "2018-02-01 1.0 57.0 57.0 11.317197 46.866026 \n", + "2018-02-01 0.0 43.0 43.0 11.630696 46.838655 \n", + "2018-02-01 0.0 9.0 9.0 11.793769 46.832116 \n", + "\n", + " Elevation geometry \n", + "Date \n", + "2018-02-01 1860.0 POINT (11.78709 46.94142) \n", + "2018-02-01 334.0 POINT (11.18323 46.65782) \n", + "2018-02-01 1260.0 POINT (11.31720 46.86603) \n", + "2018-02-01 1352.0 POINT (11.63070 46.83866) \n", + "2018-02-01 1240.0 POINT (11.79377 46.83212) " + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "start_date = \"2018-02-01\"\n", + "end_date = \"2018-06-30\"\n", + "\n", + "snow_stations = station_temporal_filter(station_daily_df = station_df, \n", + " station_meta_df = station_df_meta,\n", + " start_date = start_date,\n", + " end_date = end_date)\n", + "snow_stations.head()" + ] + }, + { + "cell_type": "markdown", + "id": "033dc8c3-ae2e-461b-87f8-e6e3b4d81df7", + "metadata": {}, + "source": [ + "### Filter Spatially\n", + "Filter the in-situ datasets into the catchment area of interest using `station_spatial_filter()` from `cubes_utilities.py`." + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "id": "dba8cbb1-990c-41d5-b25c-e1e57f71a9ab", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
ProviderNameHNHSHN_after_qcHS_after_qcHS_after_gapfillLongitudeLatitudeElevationgeometry
Date
2018-02-01IT_BZS_Martino_in_Passiria_Osservatore0.00.00.00.00.011.22790946.782682588.0POINT (11.22791 46.78268)
2018-02-01IT_BZRifiano_Beobachter0.00.00.00.00.011.18360746.705034500.0POINT (11.18361 46.70503)
2018-02-01IT_BZPlata_Osservatore2.055.02.055.055.011.17696846.8228471130.0POINT (11.17697 46.82285)
2018-02-01IT_BZS_Leonardo_in_Passiria_Osservatore0.0NaN0.0NaNNaN11.24712646.809062644.0POINT (11.24713 46.80906)
2018-02-01IT_BZScena_Osservatore0.00.00.00.00.011.19083146.689596680.0POINT (11.19083 46.68960)
\n", + "
" + ], + "text/plain": [ + " Provider Name HN HS \\\n", + "Date \n", + "2018-02-01 IT_BZ S_Martino_in_Passiria_Osservatore 0.0 0.0 \n", + "2018-02-01 IT_BZ Rifiano_Beobachter 0.0 0.0 \n", + "2018-02-01 IT_BZ Plata_Osservatore 2.0 55.0 \n", + "2018-02-01 IT_BZ S_Leonardo_in_Passiria_Osservatore 0.0 NaN \n", + "2018-02-01 IT_BZ Scena_Osservatore 0.0 0.0 \n", + "\n", + " HN_after_qc HS_after_qc HS_after_gapfill Longitude Latitude \\\n", + "Date \n", + "2018-02-01 0.0 0.0 0.0 11.227909 46.782682 \n", + "2018-02-01 0.0 0.0 0.0 11.183607 46.705034 \n", + "2018-02-01 2.0 55.0 55.0 11.176968 46.822847 \n", + "2018-02-01 0.0 NaN NaN 11.247126 46.809062 \n", + "2018-02-01 0.0 0.0 0.0 11.190831 46.689596 \n", + "\n", + " Elevation geometry \n", + "Date \n", + "2018-02-01 588.0 POINT (11.22791 46.78268) \n", + "2018-02-01 500.0 POINT (11.18361 46.70503) \n", + "2018-02-01 1130.0 POINT (11.17697 46.82285) \n", + "2018-02-01 644.0 POINT (11.24713 46.80906) \n", + "2018-02-01 680.0 POINT (11.19083 46.68960) " + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "catchment_stations = station_spatial_filter(snow_stations, catchment_outline)\n", + "catchment_stations.head()" + ] + }, + { + "cell_type": "markdown", + "id": "90c78ce7-e5bf-4b31-abcd-20bd1fa65ef5", + "metadata": {}, + "source": [ + "### Plot the filtered stations\n", + "Visualize location of snow stations" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "id": "bda36f9a-4c0a-4b17-b51c-26d4d31bcabf", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "There are 5 unique stations within our catchment area of interest\n" + ] + } + ], + "source": [ + "print(\"There are\", len(np.unique(catchment_stations.Name)), \"unique stations within our catchment area of interest\")" + ] + }, + { + "cell_type": "markdown", + "id": "b13ca23c-3c4a-43ce-b175-630dc1e6f87f", + "metadata": {}, + "source": [ + "**_Quick Hint: Remember the number of stations within the catchment for the final quiz exercise_**" + ] + }, + { + "cell_type": "markdown", + "id": "70832a9b-a1bb-4703-8643-dd3c7ab3b6d7", + "metadata": { + "tags": [] + }, + "source": [ + "### Convert snow depth to snow presence\n", + "The stations are measuring snow depth. We only need the binary information on the presence of snow (yes, no). We use the `binarize_snow()` function from `cubes_utilities.py` to assign 0 for now snow and 1 for snow in the **snow_presence** column." + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "id": "4bf0d8d2-f2e0-4392-be2f-02918c39977b", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
ProviderNameHNHSHN_after_qcHS_after_qcHS_after_gapfillLongitudeLatitudeElevationgeometrysnow_presence
Date
2018-02-01IT_BZS_Martino_in_Passiria_Osservatore0.00.00.00.00.011.22790946.782682588.0POINT (11.22791 46.78268)0
2018-02-01IT_BZRifiano_Beobachter0.00.00.00.00.011.18360746.705034500.0POINT (11.18361 46.70503)0
2018-02-01IT_BZPlata_Osservatore2.055.02.055.055.011.17696846.8228471130.0POINT (11.17697 46.82285)1
2018-02-01IT_BZS_Leonardo_in_Passiria_Osservatore0.0NaN0.0NaNNaN11.24712646.809062644.0POINT (11.24713 46.80906)0
2018-02-01IT_BZScena_Osservatore0.00.00.00.00.011.19083146.689596680.0POINT (11.19083 46.68960)0
\n", + "
" + ], + "text/plain": [ + " Provider Name HN HS \\\n", + "Date \n", + "2018-02-01 IT_BZ S_Martino_in_Passiria_Osservatore 0.0 0.0 \n", + "2018-02-01 IT_BZ Rifiano_Beobachter 0.0 0.0 \n", + "2018-02-01 IT_BZ Plata_Osservatore 2.0 55.0 \n", + "2018-02-01 IT_BZ S_Leonardo_in_Passiria_Osservatore 0.0 NaN \n", + "2018-02-01 IT_BZ Scena_Osservatore 0.0 0.0 \n", + "\n", + " HN_after_qc HS_after_qc HS_after_gapfill Longitude Latitude \\\n", + "Date \n", + "2018-02-01 0.0 0.0 0.0 11.227909 46.782682 \n", + "2018-02-01 0.0 0.0 0.0 11.183607 46.705034 \n", + "2018-02-01 2.0 55.0 55.0 11.176968 46.822847 \n", + "2018-02-01 0.0 NaN NaN 11.247126 46.809062 \n", + "2018-02-01 0.0 0.0 0.0 11.190831 46.689596 \n", + "\n", + " Elevation geometry snow_presence \n", + "Date \n", + "2018-02-01 588.0 POINT (11.22791 46.78268) 0 \n", + "2018-02-01 500.0 POINT (11.18361 46.70503) 0 \n", + "2018-02-01 1130.0 POINT (11.17697 46.82285) 1 \n", + "2018-02-01 644.0 POINT (11.24713 46.80906) 0 \n", + "2018-02-01 680.0 POINT (11.19083 46.68960) 0 " + ] + }, + "execution_count": 15, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "catchment_stations = catchment_stations.assign(snow_presence=catchment_stations.apply(binarize_snow, axis=1))\n", + "catchment_stations.head()" + ] + }, + { + "cell_type": "markdown", + "id": "8e3ec45b-b0bf-4d46-af35-c524ce770903", + "metadata": {}, + "source": [ + "### Save the pre-processed snow station measurements\n", + "Save snow stations within catchment as GeoJSON" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "id": "33cc1440-ce77-4c29-91f6-2bdace7f8c57", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "with open(\"32_results/catchment_stations.geojson\", \"w\") as file:\n", + " file.write(catchment_stations.to_json())" + ] + }, + { + "cell_type": "markdown", + "id": "64e38b03-2427-4718-8a11-544a6b0cc5aa", + "metadata": { + "tags": [] + }, + "source": [ + "## Extract SCA from the data cube per station" + ] + }, + { + "cell_type": "markdown", + "id": "82a7f129-c2ba-4bf6-aadc-548394a0954c", + "metadata": {}, + "source": [ + "### Prepare snow station data for usage in openEO\n", + "Create a buffer of approximately 80 meters (0.00075 degrees) around snow stations and visualize them." + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "id": "e67e88fb-42ce-4d68-99c2-db7e1ba14ed0", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "data": { + "text/html": [ + "" + ], + "text/plain": [ + "" + ] + }, + "execution_count": 17, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "catchment_stations_gpd = gpd.read_file(\"32_results/catchment_stations.geojson\")\n", + "mappy =leafmap.Map(center=center, zoom=16)\n", + "mappy.add_vector('32_data/catchment_outline.geojson', layer_name=\"catchment\")\n", + "mappy.add_gdf(catchment_stations_gpd, layer_name=\"catchment_station\")\n", + "\n", + "catchment_stations_gpd[\"geometry\"] = catchment_stations_gpd.geometry.buffer(0.00075)\n", + "mappy.add_gdf(catchment_stations_gpd, layer_name=\"catchment_station_buffer\")\n", + "mappy" + ] + }, + { + "cell_type": "markdown", + "id": "3fb83f8e-0ed5-4cc5-b870-ecb522e43f0c", + "metadata": {}, + "source": [ + "Convert the unique geometries to Feature Collection to be used in a openEO process." + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "id": "ec68237a-c549-420e-a670-247d7d87000d", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "catchment_stations_fc = json.loads(\n", + " catchment_stations_gpd.geometry.iloc[:5].to_json()\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "4e70bd61-c865-4f97-bdbc-f3ca06de250c", + "metadata": {}, + "source": [ + "### Extract SCA from the data cube per station\n", + "We exgtract the SCA value of our data cube at the buffered station locations. Therefore we use the process `aggregate_spatial()` with the aggregation method `median()`. This gives us the most common value in the buffer (snow or snowfree)." + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "id": "660cdb0b-c35c-43d9-8e11-7e0487ed7bf3", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + " \n", + " \n", + " \n", + " \n", + " " + ], + "text/plain": [ + "" + ] + }, + "execution_count": 19, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "snowmap_per_station= snow_map_cloud_free.aggregate_spatial(catchment_stations_fc, reducer=\"median\")\n", + "snowmap_per_station" + ] + }, + { + "cell_type": "markdown", + "id": "6417965b-8d86-468e-80a2-6bd26aa3afd4", + "metadata": {}, + "source": [ + "Create a batch job on the cloud platform. And start it." + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "id": "b114331e-3206-4c38-8780-72c6bd87f882", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "0:00:00 Job 'j-240215c46f6e4a899346de93a0f534cc': send 'start'\n", + "0:00:14 Job 'j-240215c46f6e4a899346de93a0f534cc': running (progress N/A)\n", + "0:00:19 Job 'j-240215c46f6e4a899346de93a0f534cc': running (progress N/A)\n", + "0:00:25 Job 'j-240215c46f6e4a899346de93a0f534cc': running (progress N/A)\n", + "0:00:34 Job 'j-240215c46f6e4a899346de93a0f534cc': running (progress N/A)\n", + "0:00:44 Job 'j-240215c46f6e4a899346de93a0f534cc': running (progress N/A)\n", + "0:00:56 Job 'j-240215c46f6e4a899346de93a0f534cc': running (progress N/A)\n", + "0:01:11 Job 'j-240215c46f6e4a899346de93a0f534cc': running (progress N/A)\n", + "0:01:38 Job 'j-240215c46f6e4a899346de93a0f534cc': running (progress N/A)\n", + "0:02:02 Job 'j-240215c46f6e4a899346de93a0f534cc': running (progress N/A)\n", + "0:02:34 Job 'j-240215c46f6e4a899346de93a0f534cc': running (progress N/A)\n", + "0:03:11 Job 'j-240215c46f6e4a899346de93a0f534cc': running (progress N/A)\n", + "0:03:58 Job 'j-240215c46f6e4a899346de93a0f534cc': running (progress N/A)\n", + "0:04:57 Job 'j-240215c46f6e4a899346de93a0f534cc': finished (progress N/A)\n" + ] + }, + { + "data": { + "text/html": [ + "\n", + " \n", + " \n", + " \n", + " \n", + " " + ], + "text/plain": [ + "" + ] + }, + "execution_count": 20, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "snowmap_cloudfree_json = snowmap_per_station.save_result(format=\"JSON\")\n", + "job = snowmap_cloudfree_json.create_job(title=\"snow_map\")\n", + "job.start_and_wait()" + ] + }, + { + "cell_type": "markdown", + "id": "a19d00e4-1f2a-4b00-b048-870bbe944e20", + "metadata": {}, + "source": [ + "Check the status of the job. And download once it's finished." + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "id": "ef303390-bb1e-4332-b4b3-478df40f2fb0", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "data": { + "text/plain": [ + "'finished'" + ] + }, + "execution_count": 21, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "job.status()" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "id": "5f43f292-9c32-4a5b-821f-8d21be8df5b0", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "if job.status() == \"finished\":\n", + " results = job.get_results()\n", + " results.download_files(\"32_results/snowmap/\")" + ] + }, + { + "cell_type": "markdown", + "id": "b2a9ae00-db74-4a58-93a7-76fe5a833515", + "metadata": {}, + "source": [ + "Open the snow covered area time series extracted at the stations. We'll have a look at it in a second." + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "id": "1a5e1cfe-73c1-47cd-9eb0-128db0702edf", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "with open(\"32_results/snowmap/timeseries.json\",\"r\") as file:\n", + " snow_time_series = json.load(file)" + ] + }, + { + "cell_type": "markdown", + "id": "ad4b1d37-12b1-4967-b8d1-48685c6c5ae8", + "metadata": { + "tags": [] + }, + "source": [ + "## Combine station measurements and the extracted SCA from our data cube\n", + "The **station measurements** are **daily** and all of the stations are combined in **one csv file**. \n", + "The **extracted SCA values** are in the best case **six-daily** (Sentinel-2 repeat rate) and also all stations are in **one json file**.\n", + "We will need to join the the extracted SCA with the station measurements by station (and time (selecting the corresponding time steps)" + ] + }, + { + "cell_type": "markdown", + "id": "f1260ef8-e005-4ac2-be10-1f1e3ab305ac", + "metadata": {}, + "source": [ + "### Extract snow values from SCA extracted at the station location\n", + "Let's have a look at the data structure first" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "id": "c8155415-5659-424b-a6cd-529439bc0956", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "dates = [k.split(\"T\")[0] for k in snow_time_series]\n", + "snow_val_smartino = [snow_time_series[k][0][0] for k in snow_time_series]\n", + "snow_val_rifiano = [snow_time_series[k][1][0] for k in snow_time_series]\n", + "snow_val_plata = [snow_time_series[k][2][0] for k in snow_time_series]\n", + "snow_val_sleonardo = [snow_time_series[k][3][0] for k in snow_time_series]\n", + "snow_val_scena = [snow_time_series[k][4][0] for k in snow_time_series]" + ] + }, + { + "cell_type": "markdown", + "id": "eb5779d4-de7e-4a27-ba3d-e7b3da396029", + "metadata": {}, + "source": [ + "### Match in-situ measurements to dates in SCA \n", + "Let's have a look at the in-situ measurement data set." + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "id": "d3755c18-1f3e-4e02-9ba2-8d6abf7c0078", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
idProviderNameHNHSHN_after_qcHS_after_qcHS_after_gapfillLongitudeLatitudeElevationsnow_presencegeometry
1982018-03-12IT_BZScena_Osservatore0.00.00.00.00.011.19083146.689596680.00POLYGON ((11.19158 46.68960, 11.19158 46.68952...
132018-02-03IT_BZScena_Osservatore0.00.00.00.00.011.19083146.689596680.00POLYGON ((11.19158 46.68960, 11.19158 46.68952...
6152018-06-04IT_BZRifiano_Beobachter0.00.00.00.00.011.18360746.705034500.00POLYGON ((11.18436 46.70503, 11.18435 46.70496...
7312018-06-27IT_BZS_Leonardo_in_Passiria_Osservatore0.0NaN0.0NaNNaN11.24712646.809062644.00POLYGON ((11.24788 46.80906, 11.24787 46.80899...
372018-02-08IT_BZS_Martino_in_Passiria_Osservatore0.00.00.00.00.011.22790946.782682588.00POLYGON ((11.22866 46.78268, 11.22866 46.78261...
4412018-04-30IT_BZScena_Osservatore0.00.00.00.00.011.19083146.689596680.00POLYGON ((11.19158 46.68960, 11.19158 46.68952...
6912018-06-19IT_BZS_Leonardo_in_Passiria_Osservatore0.0NaN0.0NaNNaN11.24712646.809062644.00POLYGON ((11.24788 46.80906, 11.24787 46.80899...
6142018-06-03IT_BZS_Martino_in_Passiria_Osservatore0.00.00.00.00.011.22790946.782682588.00POLYGON ((11.22866 46.78268, 11.22866 46.78261...
7472018-06-30IT_BZRifiano_Beobachter0.00.00.00.00.011.18360746.705034500.00POLYGON ((11.18436 46.70503, 11.18435 46.70496...
5242018-05-16IT_BZS_Martino_in_Passiria_Osservatore0.00.00.00.00.011.22790946.782682588.00POLYGON ((11.22866 46.78268, 11.22866 46.78261...
\n", + "
" + ], + "text/plain": [ + " id Provider Name HN HS \\\n", + "198 2018-03-12 IT_BZ Scena_Osservatore 0.0 0.0 \n", + "13 2018-02-03 IT_BZ Scena_Osservatore 0.0 0.0 \n", + "615 2018-06-04 IT_BZ Rifiano_Beobachter 0.0 0.0 \n", + "731 2018-06-27 IT_BZ S_Leonardo_in_Passiria_Osservatore 0.0 NaN \n", + "37 2018-02-08 IT_BZ S_Martino_in_Passiria_Osservatore 0.0 0.0 \n", + "441 2018-04-30 IT_BZ Scena_Osservatore 0.0 0.0 \n", + "691 2018-06-19 IT_BZ S_Leonardo_in_Passiria_Osservatore 0.0 NaN \n", + "614 2018-06-03 IT_BZ S_Martino_in_Passiria_Osservatore 0.0 0.0 \n", + "747 2018-06-30 IT_BZ Rifiano_Beobachter 0.0 0.0 \n", + "524 2018-05-16 IT_BZ S_Martino_in_Passiria_Osservatore 0.0 0.0 \n", + "\n", + " HN_after_qc HS_after_qc HS_after_gapfill Longitude Latitude \\\n", + "198 0.0 0.0 0.0 11.190831 46.689596 \n", + "13 0.0 0.0 0.0 11.190831 46.689596 \n", + "615 0.0 0.0 0.0 11.183607 46.705034 \n", + "731 0.0 NaN NaN 11.247126 46.809062 \n", + "37 0.0 0.0 0.0 11.227909 46.782682 \n", + "441 0.0 0.0 0.0 11.190831 46.689596 \n", + "691 0.0 NaN NaN 11.247126 46.809062 \n", + "614 0.0 0.0 0.0 11.227909 46.782682 \n", + "747 0.0 0.0 0.0 11.183607 46.705034 \n", + "524 0.0 0.0 0.0 11.227909 46.782682 \n", + "\n", + " Elevation snow_presence \\\n", + "198 680.0 0 \n", + "13 680.0 0 \n", + "615 500.0 0 \n", + "731 644.0 0 \n", + "37 588.0 0 \n", + "441 680.0 0 \n", + "691 644.0 0 \n", + "614 588.0 0 \n", + "747 500.0 0 \n", + "524 588.0 0 \n", + "\n", + " geometry \n", + "198 POLYGON ((11.19158 46.68960, 11.19158 46.68952... \n", + "13 POLYGON ((11.19158 46.68960, 11.19158 46.68952... \n", + "615 POLYGON ((11.18436 46.70503, 11.18435 46.70496... \n", + "731 POLYGON ((11.24788 46.80906, 11.24787 46.80899... \n", + "37 POLYGON ((11.22866 46.78268, 11.22866 46.78261... \n", + "441 POLYGON ((11.19158 46.68960, 11.19158 46.68952... \n", + "691 POLYGON ((11.24788 46.80906, 11.24787 46.80899... \n", + "614 POLYGON ((11.22866 46.78268, 11.22866 46.78261... \n", + "747 POLYGON ((11.18436 46.70503, 11.18435 46.70496... \n", + "524 POLYGON ((11.22866 46.78268, 11.22866 46.78261... " + ] + }, + "execution_count": 25, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "catchment_stations_gpd.sample(10)" + ] + }, + { + "cell_type": "markdown", + "id": "69909e01-90ea-4f86-b4a0-2e46622d42e5", + "metadata": {}, + "source": [ + "We are going to extract each station and keep only the dates that are available in the SCA results." + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "id": "f039220b-ad55-4d2f-9aad-33b5d523e1a4", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "catchment_stations_gpd_smartino = catchment_stations_gpd.query(\"Name == 'S_Martino_in_Passiria_Osservatore'\")\n", + "catchment_stations_gpd_smartino = catchment_stations_gpd_smartino[\n", + " catchment_stations_gpd_smartino.id.isin(dates)\n", + "]\n", + "\n", + "catchment_stations_gpd_rifiano = catchment_stations_gpd.query(\"Name == 'Rifiano_Beobachter'\")\n", + "catchment_stations_gpd_rifiano = catchment_stations_gpd_rifiano[\n", + " catchment_stations_gpd_rifiano.id.isin(dates)\n", + "]\n", + "\n", + "catchment_stations_gpd_plata = catchment_stations_gpd.query(\"Name == 'Plata_Osservatore'\")\n", + "catchment_stations_gpd_plata = catchment_stations_gpd_plata[\n", + " catchment_stations_gpd_plata.id.isin(dates)\n", + "]\n", + "\n", + "catchment_stations_gpd_sleonardo = catchment_stations_gpd.query(\"Name == 'S_Leonardo_in_Passiria_Osservatore'\")\n", + "catchment_stations_gpd_sleonardo = catchment_stations_gpd_sleonardo[\n", + " catchment_stations_gpd_sleonardo.id.isin(dates)\n", + "]\n", + "\n", + "catchment_stations_gpd_scena = catchment_stations_gpd.query(\"Name == 'Scena_Osservatore'\")\n", + "catchment_stations_gpd_scena = catchment_stations_gpd_scena[\n", + " catchment_stations_gpd_scena.id.isin(dates)\n", + "]" + ] + }, + { + "cell_type": "markdown", + "id": "0633819c-c9f0-4a28-9e33-9b68f92834b4", + "metadata": { + "tags": [] + }, + "source": [ + "### Combine in-situ measurements with SCA results at the stations \n", + "The in situ measurements and the SCA are combined into one data set per station. This will be the basis for the validation." + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "id": "c80657a7-1a50-404f-9f51-ab4787b4a4cb", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "smartino_snow = assign_site_snow(catchment_stations_gpd_smartino, snow_val_smartino)\n", + "rifiano_snow = assign_site_snow(catchment_stations_gpd_rifiano, snow_val_rifiano)\n", + "plata_snow = assign_site_snow(catchment_stations_gpd_plata, snow_val_plata)\n", + "sleonardo_snow = assign_site_snow(catchment_stations_gpd_sleonardo, snow_val_sleonardo)\n", + "scena_snow = assign_site_snow(catchment_stations_gpd_scena, snow_val_scena) " + ] + }, + { + "cell_type": "markdown", + "id": "e0eaeefb-426b-4fa7-83f5-0067bbeb1107", + "metadata": {}, + "source": [ + "Let's have a look at the SCA extracted at the station San Martino and it's in situ measurements." + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "id": "3aede571-8e46-46c5-898e-d250634b055e", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
idProviderNameHNHSHN_after_qcHS_after_qcHS_after_gapfillLongitudeLatitudeElevationsnow_presencegeometrycube_snow
122018-02-03IT_BZPlata_Osservatore0.060.00.060.060.011.17696846.8228471130.01POLYGON ((11.17772 46.82285, 11.17771 46.82277...NaN
1852018-03-10IT_BZPlata_Osservatore0.042.00.042.042.011.17696846.8228471130.01POLYGON ((11.17772 46.82285, 11.17771 46.82277...NaN
252018-02-06IT_BZPlata_Osservatore0.060.00.060.060.011.17696846.8228471130.01POLYGON ((11.17772 46.82285, 11.17771 46.82277...NaN
4252018-04-27IT_BZPlata_Osservatore0.00.00.00.00.011.17696846.8228471130.00POLYGON ((11.17772 46.82285, 11.17771 46.82277...NaN
2352018-03-20IT_BZPlata_Osservatore0.020.00.020.020.011.17696846.8228471130.01POLYGON ((11.17772 46.82285, 11.17771 46.82277...0.0
\n", + "
" + ], + "text/plain": [ + " id Provider Name HN HS HN_after_qc \\\n", + "12 2018-02-03 IT_BZ Plata_Osservatore 0.0 60.0 0.0 \n", + "185 2018-03-10 IT_BZ Plata_Osservatore 0.0 42.0 0.0 \n", + "25 2018-02-06 IT_BZ Plata_Osservatore 0.0 60.0 0.0 \n", + "425 2018-04-27 IT_BZ Plata_Osservatore 0.0 0.0 0.0 \n", + "235 2018-03-20 IT_BZ Plata_Osservatore 0.0 20.0 0.0 \n", + "\n", + " HS_after_qc HS_after_gapfill Longitude Latitude Elevation \\\n", + "12 60.0 60.0 11.176968 46.822847 1130.0 \n", + "185 42.0 42.0 11.176968 46.822847 1130.0 \n", + "25 60.0 60.0 11.176968 46.822847 1130.0 \n", + "425 0.0 0.0 11.176968 46.822847 1130.0 \n", + "235 20.0 20.0 11.176968 46.822847 1130.0 \n", + "\n", + " snow_presence geometry \\\n", + "12 1 POLYGON ((11.17772 46.82285, 11.17771 46.82277... \n", + "185 1 POLYGON ((11.17772 46.82285, 11.17771 46.82277... \n", + "25 1 POLYGON ((11.17772 46.82285, 11.17771 46.82277... \n", + "425 0 POLYGON ((11.17772 46.82285, 11.17771 46.82277... \n", + "235 1 POLYGON ((11.17772 46.82285, 11.17771 46.82277... \n", + "\n", + " cube_snow \n", + "12 NaN \n", + "185 NaN \n", + "25 NaN \n", + "425 NaN \n", + "235 0.0 " + ] + }, + "execution_count": 28, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "catchment_stations_gpd_plata.sample(5)" + ] + }, + { + "cell_type": "markdown", + "id": "f82995c3-ccd2-4a76-9cfa-0e149b3e03bc", + "metadata": {}, + "source": [ + "Display snow presence threshold in in-situ data for Plato Osservatore" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "id": "d7201df2-ebf0-4495-8bd9-6d0243349032", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "catchment_stations_gpd_plata.plot(x=\"id\", y=\"HS_after_gapfill\",rot=45,kind=\"line\",marker='o')\n", + "plt.axhline(y = 0.4, color = \"r\", linestyle = \"-\")\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "16752292-e134-4f28-b325-ead839532951", + "metadata": {}, + "source": [ + "## Validate the SCA results with the snow station measurements \n", + "Now that we have combined the SCA results with the snow station measurements we can start the actual validation. A **confusion matrix** compares the classes of the station data to the classes of the SCA result. The numbers can be used to calculate the accuracy (correctly classified cases / all cases).\n", + "\n", + "| | no_snow | snow |\n", + "|-------------|---------|---------|\n", + "| **no_snow** | correct | error |\n", + "| **snow** | error | correct |" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "id": "48fefa34-ae4d-4e43-985c-098ced246af3", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "import seaborn as sns" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "id": "a4a6438d-bf24-4b93-b684-901f6faf0e30", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "data": { + "image/png": "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ITAwUP8aX19fVKtWDadOnULbtm2RmpqKQ4cOGXzLrNVqkZeXh/v37xvUSEREFRMzuWTMZCJ5cBBM5Urnzp0RHx8PGxsbeHp6FllkozBQCul0Onh4eCApKalIX097SwI7OzujX6PT6QD8M/2qXbt2Bs9ZW1sDAIQQT1XPv50/fx4vvPACRo0ahdmzZ8PFxQV79+7F8OHDDaaoAf/cTuFRhW06nQ4zZ85Ev379iuxja2tb6jqJiEj5mMlPxkwmkg8HwVSu2Nvbo0GDBpL3b9WqFTIzM1GpUiXUrVu32H2aNGmC/fv3Y8iQIfq2/fv3P7bPhg0bws7ODjt37sQbb7xR5PnKlSsD+Odb2kJubm6oVasW/v77bwwePLjYfv38/PD111/jwYMH+lB/Uh3FSUlJQUFBAT766CNYWf2zJMB3331XZL+CggKkpKSgbdu2AIA//vgDd+7cga+vL4B/Prc//vjDqM+aiIgqFmbykzGTieTDQTBVaF26dEFQUBD69u2LuLg4NG7cGFeuXMGWLVvQt29fBAYG4u2330Z4eDgCAwPxzDPP4JtvvsHJkydRr169Yvu0tbXFlClTMHnyZFSuXBkdOnTA9evXcfLkSQwfPhyurq6ws7PD1q1bUbt2bdja2sLJyQnR0dEYP348qlatih49ekCj0SAlJQW3b99GREQEBg0ahGnTpmH48OF4//33ce7cOfz3v/816v3Wr18fBQUFWLRoEXr37o3ffvsNS5YsKbKfjY0Nxo0bh08++QQ2NjYYO3Ys2rdvrw/gGTNmoFevXvDy8sJLL70EKysrHDt2DMePH8cHH3xg/F8EERFVeMxkZjJRWeHq0FShqVQqbNmyBZ06dcLrr7+ORo0aYeDAgTh37px+5cgBAwZgxowZmDJlClq3bo3z58/jrbfeemK/06dPxzvvvIMZM2agSZMmGDBgALKysgD8c23PJ598gs8//xyenp4ICwsDALzxxhv44osvkJiYCH9/f4SEhCAxMVF/+wYHBwds2rQJ6enpaNmyJaZNm4a4uDij3m+LFi0wf/58xMXFoVmzZvjmm28QGxtbZL8qVapgypQpGDRoEIKCgmBnZ4fVq1frn+/evTs2b96MHTt2oE2bNmjfvj3mz58Pb29vo+ohIiIqxExmJhOVFZUwxUUNRERERERERArAM8FERERERERUYXAQTERERERERBUGB8FERERERERUYXAQTERERERERBUGB8FERERERERUYXAQTERERERERBUGB8FERERERERUYXAQTERERERERBUGB8FERERERERUYXAQTERERERERBUGB8FERERERERUYfwfd7Lj4YFvEhsAAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "fig, ((ax1, ax2), (ax3, ax4)) = plt.subplots(2, 2, figsize=(10, 6))\n", + "\n", + "fig.suptitle(\"Error matrices for snow stations within our selected Catchment\")\n", + "sns.heatmap(validation_metrics(smartino_snow)[1], annot=True, xticklabels=[\"No Snow\", \"Snow\"], yticklabels=[\"No Snow\", \"Snow\"], ax=ax1)\n", + "ax1.set_title(\"San Martino in Passiria Osservatore\")\n", + "ax1.set(xlabel=\"Predicted label\", ylabel=\"True label\")\n", + "\n", + "\n", + "sns.heatmap(validation_metrics(rifiano_snow)[1], annot=True, xticklabels=[\"No Snow\", \"Snow\"], yticklabels=[\"No Snow\", \"Snow\"], ax=ax2)\n", + "ax2.set_title(\"Rifiano Beobachter\")\n", + "ax2.set(xlabel=\"Predicted label\", ylabel=\"True label\")\n", + "\n", + "\n", + "sns.heatmap(validation_metrics(plata_snow)[1], annot=True, xticklabels=[\"No Snow\", \"Snow\"], yticklabels=[\"No Snow\", \"Snow\"], ax=ax3)\n", + "ax3.set_title(\"Plata Osservatore\")\n", + "ax3.set(xlabel=\"Predicted label\", ylabel=\"True label\")\n", + "\n", + "\n", + "sns.heatmap(validation_metrics(scena_snow)[1], annot=True, xticklabels=[\"No Snow\", \"Snow\"], yticklabels=[\"No Snow\", \"Snow\"], ax=ax4)\n", + "ax4.set_title(\"Scena Osservatore\")\n", + "ax4.set(xlabel=\"Predicted label\", ylabel=\"True label\")\n", + "\n", + "fig.tight_layout()" + ] + }, + { + "cell_type": "markdown", + "id": "12ad0abc-1d43-4574-b6d8-916e45fbde61", + "metadata": {}, + "source": [ + "The **accuracy** of the snow estimate from the satellite image computation for each station is shown below: \n", + "\n", + "\n", + "| **On-site snow station** | **Accuracy**|\n", + "|--------------------------------------|-------------|\n", + "| San Martino in Passiria Osservatore | **100.00%** |\n", + "| Rifiano Beobachter | **100.00%** |\n", + "| Plata Osservatore | 82.61% |\n", + "| San Leonardo in Passiria Osservatore | NaN |\n", + "| Scena Osservatore | 96.15% |" + ] + }, + { + "cell_type": "markdown", + "id": "372191d3-ae11-4df6-abcd-f0bcb2fa3273", + "metadata": {}, + "source": [ + "The fifth and last station **San Leonardo in Passiria Osservatore** recorded **_NaNs_** for snow depths for our selected dates, which could potentially be as a results of malfunctioning on-site equipments. Hence, we are not able to verify for it. But overall, the validation shows a 100% accuracy for stations **San Martino in Passiria Osservatore** and **Rifiano Beobachter**, while station **Plata Osservatore** has a lot more False Positive (4) than the other stations.This shows a good match between estimated snow values from satellite datasets and on-the ground measurements of the presence of snow. " + ] + }, + { + "cell_type": "markdown", + "id": "1f454452-c2e7-4c0c-a8ab-260c7b0e48f0", + "metadata": {}, + "source": [ + "## Compare to discharge data\n", + "In addition to computing metrics for validating the data, we also check the plausibility of our results. We compare our results with another measure with a known relationship. In this case, we compare the **snow cover area** time series with the **discharge** time-series at the main outlet of the catchment. We suspect that after snow melting starts, with a temporal lag, the runoff will increase. Let's see if this holds true." + ] + }, + { + "cell_type": "markdown", + "id": "d2b2ddcd-7493-477a-8fcd-81ea3bc308a6", + "metadata": {}, + "source": [ + "Load the discharge data at Meran, the main outlet of the catchment. We have prepared this data set for you, it's extracted from Eurac's [Environmental Data Platform Alpine Drought Observatory Discharge Hydrological Datasets](https://edp-portal.eurac.edu/discovery/9e195271-02ae-40be-b3a7-525f57f53c80)). " + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "id": "bc096eb8-b4d3-4056-9a1f-8c3921009f13", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
discharge_m3_s
Time
1994-01-01 01:00:004.03
1994-01-02 01:00:003.84
1994-01-03 01:00:003.74
1994-01-04 01:00:003.89
1994-01-05 01:00:003.80
\n", + "
" + ], + "text/plain": [ + " discharge_m3_s\n", + "Time \n", + "1994-01-01 01:00:00 4.03\n", + "1994-01-02 01:00:00 3.84\n", + "1994-01-03 01:00:00 3.74\n", + "1994-01-04 01:00:00 3.89\n", + "1994-01-05 01:00:00 3.80" + ] + }, + "execution_count": 32, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "discharge_ds = pd.read_csv('32_data/ADO_DSC_ITH1_0025.csv', \n", + " sep=',', index_col='Time', parse_dates=True)\n", + "discharge_ds.head()" + ] + }, + { + "cell_type": "markdown", + "id": "6412118f-b9a3-4e00-811e-99ff77b85515", + "metadata": {}, + "source": [ + "Load the SCA time series we have generated in a previous exercise. It's the time series of the aggregated snow cover area percentage for the whole catchment." + ] + }, + { + "cell_type": "code", + "execution_count": 33, + "id": "f10dfcdf-28f5-4d7a-854c-d674f4a34f34", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "snow_perc_df = pd.read_csv(\"32_data/filtered_snow_perc.csv\", \n", + " sep=',', index_col='time', parse_dates=True)" + ] + }, + { + "cell_type": "markdown", + "id": "b40c88f7-f520-4889-a79e-731b5540e9ed", + "metadata": {}, + "source": [ + "Let's plot the relationship between the snow covered area and the discharge in the catchment." + ] + }, + { + "cell_type": "code", + "execution_count": 34, + "id": "c9e61b7a-5db1-40ef-9fd5-db3896ac0faa", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "start_date = date(2018, 2, 1)\n", + "end_date = date(2018, 6, 30)\n", + "# filter discharge data to start and end dates\n", + "discharge_ds = discharge_ds.loc[start_date:end_date]\n", + "\n", + "ax1 = discharge_ds.discharge_m3_s.plot(label='Discharge', xlabel='', ylabel='Discharge (m$^3$/s)')\n", + "ax2 = snow_perc_df[\"perc_snow\"].plot(marker='o', secondary_y=True, label='SCA', xlabel='', ylabel='Snow cover area (%)')\n", + "ax1.legend(loc='center left', bbox_to_anchor=(0, 0.6))\n", + "ax2.legend(loc='center left', bbox_to_anchor=(0, 0.5))\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "5c6b8f01-5cff-4300-8c59-19f321458d38", + "metadata": {}, + "source": [ + "The relationship looks as expected! Once the snow cover decreases the runoff increases!" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "cubes-and-clouds-cubes-and-clouds2", + "language": "python", + "name": "conda-env-cubes-and-clouds-cubes-and-clouds2-py" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.7" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/_sources/3.2_validation/3.2_validation.md b/_sources/3.2_validation/3.2_validation.md new file mode 100644 index 0000000..8eeac87 --- /dev/null +++ b/_sources/3.2_validation/3.2_validation.md @@ -0,0 +1,145 @@ +# Validation + +## Learning objectives +- Get to know typical validation strategies in EO +- Understand where uncertainties appear in a workflow by design +- Understand why validation is important +- The validation of large scale mapping products +- Validate some pixels of the snow cover area map + +## What is validation +The validation process typically involves comparing a model or a developed Earth Observation (EO) product with reference data, and the level of agreement is assessed using validation metrics. Validating EO products is crucial to prevent misinterpretation or error propagation when utilizing the data for purposes such as area quantification, subsequent modeling, or planning, particularly in contexts like nature conservation or risk assessment. However, validating EO products poses significant challenges. + +In this tutorial, we will explain how to derive validation metrics and how to interpret them. Our primary focus will center on the difficulties and limitations inherent in the accuracy assessment process, especially in the context of large-scale (global) mapping products based on Earth Observation. + +## Critically Analyse a workflow +- Identify sources of uncertainty in the applied workflow +- Process graph with pop-ups of sources of uncertainties +- Strategies of how to improve + +Now that we have carried out a very basic approach to solve our research question we should take some time to identify possible sources of uncertainty and think about how to improve them: + +- Optical earth observation has some inherent drawbacks, most importantly: clouds. Especially in mountain regions. + - We are excluding images where a certain cloud coverage is exceeded. There would still be some information available. + - We are not filling in the gaps that clouds generate. This leaves us with some uncertainty. +- Use data fusion techniques and include SAR data, that can penetrate the clouds. + - Sentinel-2 has a 6 day repeat rate. This means we do not know what happens with the snow cover in between two acquisitions. + - Use data fusion techniques and include other optical sensors and SAR data +- Use physical snow models or heuristics to estimate the snow cover in between + - We are using a threshold for discriminating between snow and no snow. Changing this arbitrary value will influence our results. + - There are better, more complex ways to identify snow. +- Snow Cover does not represent the amount of snow. + - Therefore we would need to calculate the snow depth. + - Or better the Snow Water Equivalent. + + +## Typical validation approaches +### Reference data +Reference data for EO are commonly obtained through field surveys or visual expert assessments of the underlying EO data. These reference datasets play a dual role, serving not only for validation purposes but also as essential components for training models, particularly when the EO product relies on predictions from a data-driven model. Consequently, when referring to reference data, a broad distinction is made between training and test data. The training dataset is employed in the model development phase, while the test dataset is crucial for evaluating the quality of the resulting product, specifically assessing the accuracy of predictions generated by the model. + +### Model validation and map validation +Many EO products are generated using data-driven models, which can range from simple rule-based models to more complex machine learning models. In the process of creating such EO products, two distinct validation steps are crucial: model validation and map validation. +During model validation, we evaluate the model's ability to predict the target variable (e.g., snow cover) based on EO data (e.g., optical satellite imagery). This evaluation often involves cross-validation, where the training data are divided into multiple folds. Iteratively, one fold is withheld during model training, and these reserved data are used to test the model's performance in predicting unseen data. Cross-validation typically includes tuning the model (adjusting hyperparameters, selecting variables) to identify the optimal model for predicting the held-back data. +If (and only if) the training data and the derived cross-validation folds are representative for the prediction area (see discussion later), the cross-validation performance may be used as an indicator for the map accuracy. + +To properly measure the map accuracy, a probability sample of the *prediction area* is required. This might be a random sample of the entire area that is used to describe the fit between the prediction (i.e. the map) and the reference. +However, in numerous scientific publications, this essential step is often omitted, and model performance alone is presented as the sole indicator for map accuracy. The following section outlines the risks associated with this practice. + +### Validation metrics +Validation metrics summarize the fit between predictions and reference. For continuous variables (e.g. snow depth), Root Mean Square Error or Coefficient of Determination are commonly used validation metrics. For categorical variables (e.g. land cover), Accuracy or F1 score are frequently used summary statistics. For binary classifications, the area under the ROC curve may be used. However, there are many more validation metrics expressing the fit between prediction and reference by focusing on different aspects. + +## Validation strategies in the absence of a probability sample +When reference data are randomly distributed across the prediction area, validation metrics can be computed by comparing predictions and reference through a randomly selected subset of the entire reference dataset used as test data. Alternatively, in cross-validation, the training data may be randomly partitioned into multiple folds. However, the availability of design-based samples is infrequent, particularly in large-scale mapping endeavors like global applications. +Typically, reference data are sourced from extensive databases, such as soil profiles or vegetation surveys, resulting in high clustering within areas that have been extensively studied or are easily accessible. Conversely, certain areas may entirely lack reference data, as illustrated in the accompanying figure. + +![Typical distributions of reference data](assets/distribution_map.png) +> Figure 1: Comparison between 1000 randomly sampled reference data (left) and a highly clustered sample of the same size (right) that is typical for many environmental data sets. Reference: https://doi.org/10.1038/s41467-022-29838-9 + +When such data are randomly split into training and test sets or cross-validation folds, a significant issue arises: the lack of independence between training and test data. This stems from the fact that both sets originate from the same geographic areas, whereas the trained model is deployed to make predictions for much larger areas without available reference data. Ploton et al., 2020, illustrate the consequences: overly optimistic validation statistics that deviate from the actual quality of the map. + +To address this challenge, various spatial data splitting methods have been proposed. These methods involve splitting reference data based on spatial units, spatial blocks, or by considering spatial autocorrelation, all with the aim of ensuring independence between training and test data (e.g. Brenning 2012, Roberts et al., 2017, Valavi et al., 2019) or representativeness for the prediction task (Mila 2022, Linnenbrink 2023). + +## Limits to accuracy assessment +Employing validation strategies tailored for spatial data enables us to offer the most accurate estimates of map accuracy, albeit with certain limitations. Reflecting on the reference data illustrated in Figure 1, large areas lack coverage from any reference data. While it is technically feasible to generate predictions for these areas, the question arises: is this a reasonable approach? + +Assuming that new geographical spaces often goes along with new environmental conditions, it becomes likely that our models may not be applicable to these environments due to non-applicable relationships. For instance, consider reference data for vegetation traits sampled in low elevations; it raises questions about the model's applicability to high elevations where the traits might be influenced by different factors. This challenge is particularly pronounced when employing machine learning models, as their extrapolation abilities are often limited. When making predictions, the model is compelled to extend its predictions into unknown areas, making predictions for regions beyond the trained data range highly uncertain. +This, however, is not reflected by the validation statistics that were calculated based on the reference data, hence knowledge on the performance in the data-poor regions is not included. As a result, the statistics fail to reflect the accuracy of the model in these areas, and predictions for regions outside the original data range should be approached with caution due to their inherent uncertainty. + +It is therefore important to limit predictions to the area where the model was trained and validated for. Meyer and Pebesma 2021 provide one suggestion to derive the "area of applicability" of prediction models that is based on distances to reference data in the predictor space. Other suggestion limit predictions to the geographic proximity of reference data (Sabatini et al., 2022). + +## Communication of validation +As outlined above, the step of accuracy assessment involves considerable considerations on the data used for evaluation and requires awareness on the area these statistics are considered valid for. This challenge becomes particularly crucial when reference data fail to represent a comprehensive sample of the entire prediction area, a common scenario in many geoscience applications - to avoid overly optimistic performance estimates and hence false conclusions on the map accuracy. The validation procedure hence needs to be carefully communicated alongside the predictions. The resulting EO product (i.e. the prediction map) should be limited to the area for which the model was enabled to learn about relationships and for which performance estimates can be reliably provided for. This can be done by either masking the map or by providing an additional quality layer. + +[![The validation of large scale mapping products](https://img.youtube.com/vi/ZvNsXDbz_W4/0.jpg)](https://www.youtube.com/watch?v=ZvNsXDbz_W4)
+> Video content in cooperation with [Hannah Meyer](https://www.uni-muenster.de/RemoteSensing/team/meyer/index.html) (University of Münster).
+> *"Validation isn't optional. It's a must."* + +## Exercise +Let's apply some validation steps on a cloud platform in practice! + +[Exercise 3.2 Validation](https://github.com/EO-College/cubes-and-clouds/blob/main/lectures/3.2_validation/exercises/32_validation.ipynb) + +## Quiz + +### Theory + +What are common problems in creating and validating global maps? + + [[x]] The spatial distribution of reference data: There are usually areas in the world where reference data is clustered and areas where there is hardly any data available. + [[ ]] None: We have cloud computing that can scale to produce global maps and machine learning models can automatically account for data sparse regions. + [[x]] The availablility of reference data: Some biophysical indicators are not measured frequently in space and time in the field (e.g. leaf area index, snow water equivalent) + +What is the Area of Applicability? + + [( )] It's the topic the map covers (e.g. vegetation cover) + [( )] It's the extent of the map. + [(x)] It's the area of the map where the values are representable. + + +### Exercises + +How many snow stations are in the catchment? _Answer in the exercise: 33_validation.ipynb section **'Load snow-station in-situ data'**_ + + [( )] 3 + [( )] 7 + [(x)] 5 + +Which openEO process is used to extract the time series of the snow covered area at the station locations? _Answer in the exercise: 33_validation.ipynb_ + + [( )] reduce_spatial + [( )] resample_cube + [(x)] aggregate_spatial + +Which is the station where the mapped snow cover has the lowest accuracy? _Answer in the exercise: 33_validation.ipynb section **'validate the SCA results with the snow station measurements'**_ + + [( )] Rifiano Beobachter + [( )] Saint Leonardo in Passiria Osservatore + [(x)] Plata Osservatore + +When is the date with the maximum runoff/discharge? _Answer in the exercise: 33_validation.ipynb section **'compare to discharge data'**_ + + [( )] 2018-06-03 + [( )] 2018-04-17 + [(x)] 2018-05-03 + +How is the relation between snow cover and runoff/discharge? _Answer in the exercise: 33_validation.ipynb section **'compare to discharge data'**_ + + [( )] When the snow cover is high, also the runoff is high. + [(x)] Snow melt is followed by increased runoff. + [( )] Snow melt is followed by reduced runoff. + + +## Further Reading +- Video: [Meyer, Hanna: Machine learning-based maps of the environment: challenges of extrapolation and overfitting. OpenGeoHub Summer School 2022 - KISTE project workshop, OpenGeoHub Foundation, 2022. https://doi.org/10.5446/59412](https://doi.org/10.5446/59412) + +## References +- Meyer, H., Pebesma, E. Machine learning-based global maps of ecological variables and the challenge of assessing them. Nat Commun 13, 2208 (2022). https://doi.org/10.1038/s41467-022-29838-9 +- Meyer, H., & Pebesma, E. (2021). Predicting into unknown space? Estimating the area of applicability of spatial prediction models. Methods in Ecology and Evolution, 12, 1620–1633. https://doi.org/10.1111/2041-210X.13650 +- Loew et al. (2017): https://agupubs.onlinelibrary.wiley.com/doi/epdf/10.1002/2017RG000562 +- Brenning et al. (2012): https://doi.org/10.1109/IGARSS.2012.6352393 +- Valavi et al. (2019): https://doi.org/10.1111/2041-210X.13107 +- Roberts et al. (2017): https://doi.org/10.1111/ecog.02881 +- Ploton et al. (2020): https://doi.org/10.1038/s41467-020-18321-y +- Milà et al. (2022): https://doi.org/https://doi.org/10.1111/2041-210X.13851 +- Linnenbrink et al. (2023): https://doi.org/10.5194/egusphere-2023-1308 +- Sabatini et al. (2022): https://doi.org/10.1038/s41467-022-32063-z diff --git a/_sources/3.3_data_sharing/3.3_data_sharing.md b/_sources/3.3_data_sharing/3.3_data_sharing.md new file mode 100644 index 0000000..19e0a25 --- /dev/null +++ b/_sources/3.3_data_sharing/3.3_data_sharing.md @@ -0,0 +1,69 @@ +# 3.3 Data Sharing + +## Learning Objectives +- Carry out an EO workflow on a cloud platform independently +- Make our results `open` and `FAIR` +- Collaborate with a community of researchers to reach a common goal + +## Introduction +We have reached the last chapter of the course. You know about data cubes, cloud platforms and open science. Now it's time to prove it! We will apply everything we have learned so far and complete our own EO workflow on a cloud platform adhering to the open science principles. +We have carried out a full EO workflow to produce snow cover information in an alpine catchment. To make our results impactful we need to make them openly available to other researchers and the general public. Therefore we are going to learn how to share our data set (and code) properly - following the FAIR principles. We have learned about the concepts of open science in lecture [1.3 open science](https://github.com/EO-College/cubes-and-clouds/blob/main/lectures/1.3_openscience/1.3.1_openscienceandfair.md). Now we are going to apply them! We are going to create a snow cover area map of the alps together with all the participants of the course. Everyone adds their contribution to a shared map. With every participant another small patch of the alps gets mapped! The map is openly available so that everybody can track our progress, the data is openly available and you can point to the patch you have provided! + +[![Your Open Science Journey](https://img.youtube.com/vi/-8rHmtEMCx8/0.jpg)](https://www.youtube.com/watch?v=-8rHmtEMCx8)
+> Video content in cooperation with [Leandro Parente](https://opengeohub.org/people/leandro-parente/) (OpenGeoHub).
+> *"Connect - Create - Share - Repeat"*
+> Links to OpenGeoHub's open science projects mentioned in the video: +> - [opengeohub](https://opengeohub.org/) +> - open environmental data cube: [webgis](http://ecodatacube.eu), [stac catalogue](http://stac.openlandmap.org), [code and documentation](http://eumap.readthedocs.org), [publication](https://doi.org/10.7717/peerj.15478), +> - [open earth monitor cyberinfrastructure](https://earthmonitor.org/) + +## The steps of your open science journey + +### Produce your own map + - Reuse the workflow to generate the snow covered area data cube + - Adapt the workflow to generate your personal contribution to mapping the snow covered area of the alps + - Choose an extent on the map that hasn't been mapped yet. We are producing patches of roughly 1km by 1km. + - Choose a time extent. The winter months of a given year. + - Add a step to reduce the time dimension. We want to create one layer for the winter season of the given year. + - Adapt the file format to Cloud Optimized GeoTiff (perfectly suitable for a raster file with one time step and one band). + - Download the result consisting of the STAC metadata and the COG + +### Validate the result + - This is still work in progress + +### Make the data FAIR and open + + + + + - Customize the STAC metadata (e.g. adding you as the author) + - Trigger the update of the STAC catalogue and web map by submitting your results. Your data will be openly available! + - A license is assigned to the whole collection of all the produced patches + - A doi is assigned to the whole collection of all the produced patches + +### Evaluate how FAIR the result is + - Do the FAIR self assessment tool after you've created your results + - You will get a score on how FAIR the dataset you have produced really is + +## Exercise +Time to start your own open science journey. Produce a snow cover area map for a region that hasn't been mapped yet. FAIRify your results and make them publicly available! + +[Exercise 3.3 Sharing](https://github.com/EO-College/cubes-and-clouds/blob/main/lectures/3.3_data_sharing/3.3_exercises/33_data_sharing.ipynb) + +## FAIR Assessment +This tool allows you to check how FAIR your results are. Give it a shot! + +**Embed: https://github.com/au-research/FAIR-Data-Assessment-Tool** + +## Community Mapping Project +Have a look at your results! Have a look at the community mapping project you have contributed to! + +[STAC Browser Cubes and Clouds - Snow Cover](https://esa.pages.eox.at/cubes-and-clouds-catalog/browser/#/) + +## Congratulations +Congrats! You've made it through the Cubes and Clouds online course! + +[![Introduction to EO Cloud Platforms](https://img.youtube.com/vi/xoCBLAPPn0k/0.jpg)](https://youtu.be/xoCBLAPPn0k)
+ + + diff --git a/_sources/3.3_data_sharing/3.3_exercises/33_data_sharing.ipynb b/_sources/3.3_data_sharing/3.3_exercises/33_data_sharing.ipynb new file mode 100644 index 0000000..5a5c6f5 --- /dev/null +++ b/_sources/3.3_data_sharing/3.3_exercises/33_data_sharing.ipynb @@ -0,0 +1,2118 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "3d8f1015-699c-4c22-b3be-61608b6d993a", + "metadata": {}, + "source": [ + "\"Cubes" + ] + }, + { + "cell_type": "markdown", + "id": "0c6aed2f-1493-4636-a124-03c81b28bc52", + "metadata": {}, + "source": [ + "# 3.3 Data Sharing\n", + "Science is much more impactful once it's shared. Therefore, we are going to learn how to \n", + "open up our scientific output from a cloud platform, so that is openly available - and \n", + "has the chance to make the impact it should.\n", + "- Reuse the workflow we have used before for creating the snow covered area\n", + "- Select AOI,\n", + "- Recreate process graph, \n", + "- Download results for one time-step\n", + " - A Snow Cover Area map in the COG format\n", + " - A STAC metadata item that is provided with the result from openEO at CDSE\n", + "- Adapt the STAC item\n", + "- Upload the results and make them available openly via a STAC browser and web map\n" + ] + }, + { + "cell_type": "markdown", + "id": "7d102aad-5b61-422c-acb1-9c89621d70e3", + "metadata": { + "tags": [] + }, + "source": [ + "## Libraries" + ] + }, + { + "cell_type": "markdown", + "id": "bfd758d4-a3d3-44ae-9cd0-7689af34effe", + "metadata": {}, + "source": [ + "Start by creating the folders and data files needed to complete the exercise" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "cc4a7712-62f8-4459-85a7-f6ac46e6d9d2", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "!cp -r $DATA_PATH/33_results/ $HOME/" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "54507438-b159-49cb-85e0-b98d3ddb690a", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "!cp $DATA_PATH/_33_cubes_utilities.py $HOME/" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "1abf270c-d73e-4109-854c-3cf36a1b36d7", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "import json\n", + "import os\n", + "import subprocess\n", + "from datetime import datetime\n", + "\n", + "import openeo\n", + "import numpy as np\n", + "import leafmap\n", + "import geopandas as gpd\n", + "import shapely\n", + "from shapely.geometry import Polygon\n", + "\n", + "import matplotlib.pyplot as plt\n", + "from matplotlib.ticker import PercentFormatter\n", + "\n", + "import rioxarray as rio\n", + "import xarray\n", + "from osgeo import gdal\n", + "\n", + "from _33_cubes_utilities import (\n", + " calculate_sca,\n", + " visualize_bbox,\n", + " create_bounding_box,\n", + " extract_metadata_geometry, \n", + " extract_metadata_time\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "cf32192c-da37-4ae0-8b5c-5391b4616244", + "metadata": {}, + "source": [ + "## Login" + ] + }, + { + "cell_type": "markdown", + "id": "8ad2ba48-40ef-4cc5-9bb6-de59d4b9a67e", + "metadata": { + "tags": [] + }, + "source": [ + "Connect to the copernicus dataspace ecosystem." + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "35624db3-17ef-4efb-a203-8d79113e2203", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "conn = openeo.connect('https://openeo.dataspace.copernicus.eu/')" + ] + }, + { + "cell_type": "markdown", + "id": "0046a654-ba6f-4dae-84f2-7f11e099592f", + "metadata": {}, + "source": [ + "Authenticate login" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "de26fd5c-71da-4d28-b895-f5108a97a1d5", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Authenticated using refresh token.\n" + ] + }, + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "conn.authenticate_oidc()" + ] + }, + { + "cell_type": "markdown", + "id": "a1a2af45-ba11-41b8-9aaa-2b8169103f7b", + "metadata": {}, + "source": [ + "Check if the login worked" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "bf1eb435-8e42-425f-9470-75081325787a", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "conn.describe_account()" + ] + }, + { + "cell_type": "markdown", + "id": "b2d634d7-e719-4cab-8066-ed0cc1c278f6", + "metadata": { + "tags": [] + }, + "source": [ + "## Select an Area of Interest and Time Frame\n", + "\n", + "Start by selecting a center point of the area you would like to analyse from the map shown below. The starting extent is the full alps. Zoom in to an area and choose a region that has not been mapped yet. *Make sure not to overlap too much with already mapped areas by having a look at the [STAC Collection](https://esa.pages.eox.at/cubes-and-clouds-catalog/browser/#/?.language=en)*. It's a community mapping project :)\n", + "Create a 1 km bounding box around it. This will be the area you are calculating the snow covered area for. \n" + ] + }, + { + "cell_type": "markdown", + "id": "3cfc19ce-a624-4ecf-8890-4f615e25ad63", + "metadata": {}, + "source": [ + "**Attention:**\n", + " Execute the cell below to show the map. Zoom to a location you want to analyze. Use the location symbol to select a point. A marker appears on the map. This is the center of your area of interest" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "c2999d0e-210e-4188-8c03-31719c06a70d", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "2f462abf085248ab9c7e82fe548a5d6f", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Map(center=[47.005, 11.507], controls=(ZoomControl(options=['position', 'zoom_in_text', 'zoom_in_title', 'zoom…" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "m = leafmap.Map(center=(47.005, 11.507), zoom=7.5)\n", + "m" + ] + }, + { + "cell_type": "markdown", + "id": "35370594-f936-4789-8cc4-838b4913320a", + "metadata": {}, + "source": [ + "**Attention:**\n", + " Now this cell will get the coordinates of the marker you have placed. This will create a 1 km bounding box around the chosen location. And visualize it in the map above. *The marker moves to the center when you zoom in*" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "42c6cb21-afff-4b5c-a7d0-403e81192995", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "feat = m.draw_features\n", + "geom = feat[0]['geometry']['coordinates']\n", + "\n", + "# set distance of 1 km around bbox\n", + "distance_km = 1\n", + "\n", + "# Create a bounding box around the point\n", + "bbox = create_bounding_box(geom[0], geom[1], distance_km)\n", + "visualize_bbox(m, bbox)" + ] + }, + { + "cell_type": "markdown", + "id": "b8fc1d08-5464-4a04-a98a-b4f6d8c2bf82", + "metadata": {}, + "source": [ + "Now we'll select the time frame. We'll start with the winter months of 2023. " + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "553852f1-24dd-41be-96b7-6cabafc161a9", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "temporal_extent = [\"2023-02-01\", \"2023-06-01\"]" + ] + }, + { + "cell_type": "markdown", + "id": "26325c28-6329-491f-9cdf-15c573a6d0f5", + "metadata": {}, + "source": [ + "## Reuse the process graph of the snow covered area data cube\n", + "We've saved the python code that we had used to create the snow cover area data cube into a python function `calculate_sca()`. It's stored in `cubes_utilities.py`. It creates a 4 dimensional data cube with the dimensions: x, y, time, bands.\n", + "As parameters we have exposed the bounding box and temporal extent. We will update them with the choices we have made above. " + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "af2c5198-c846-4478-97cd-28f051336af9", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + " \n", + " \n", + " \n", + " \n", + " " + ], + "text/plain": [ + "" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "snow_map_4dcube = calculate_sca(conn, bbox, temporal_extent)\n", + "snow_map_4dcube" + ] + }, + { + "cell_type": "markdown", + "id": "7973af9d-15e0-4fae-bdfa-c35faf7f652a", + "metadata": {}, + "source": [ + "## Reduce the time dimension\n", + "We want to calculate the SCA for the winter period of a given year. Therefore, we need to reduce the values along the time dimension. We'll use the process `reduce_dimension()` with a `median()` to accomplish this. We are directly continuing to build on our process graph that we have loaded above." + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "1d8e9005-f0b7-49af-b83a-9a2983a2965b", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + " \n", + " \n", + " \n", + " \n", + " " + ], + "text/plain": [ + "" + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "snow_map_3dcube = snow_map_4dcube.reduce_dimension(reducer=\"median\", dimension=\"t\")\n", + "snow_map_3dcube" + ] + }, + { + "cell_type": "markdown", + "id": "251ba878-3841-479a-868e-886d701f50ef", + "metadata": { + "tags": [] + }, + "source": [ + "## Download result\n", + "To finish our process graph we add the `save_result()` process choosing the `GTiff` format. It creates a COG out of the box with openEO on CDSE." + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "d654adb3-fcc0-413c-bd5c-28de5564e570", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "# create a batch job\n", + "snowmap_cog = snow_map_3dcube.save_result(format = \"GTiff\") #, options = {\"overviews\": \"AUTO\"})" + ] + }, + { + "cell_type": "markdown", + "id": "ceb0edb7-c349-467d-9a42-bfbe5538a299", + "metadata": {}, + "source": [ + "We register the job as a batch job on the backend and start the processing. Depending on the traffic on the backend, this usually takes between 1 to 5 minutes." + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "id": "1fc7c255-2f67-44a1-978b-2bb51b05eab3", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "0:00:00 Job 'j-2401318f19a84122b62657ed798f0c9e': send 'start'\n", + "0:00:17 Job 'j-2401318f19a84122b62657ed798f0c9e': created (progress N/A)\n", + "0:00:22 Job 'j-2401318f19a84122b62657ed798f0c9e': created (progress N/A)\n", + "0:00:29 Job 'j-2401318f19a84122b62657ed798f0c9e': created (progress N/A)\n", + "0:00:37 Job 'j-2401318f19a84122b62657ed798f0c9e': created (progress N/A)\n", + "0:00:47 Job 'j-2401318f19a84122b62657ed798f0c9e': created (progress N/A)\n", + "0:01:00 Job 'j-2401318f19a84122b62657ed798f0c9e': created (progress N/A)\n", + "0:01:16 Job 'j-2401318f19a84122b62657ed798f0c9e': created (progress N/A)\n", + "0:01:36 Job 'j-2401318f19a84122b62657ed798f0c9e': created (progress N/A)\n", + "0:02:01 Job 'j-2401318f19a84122b62657ed798f0c9e': created (progress N/A)\n", + "0:02:31 Job 'j-2401318f19a84122b62657ed798f0c9e': created (progress N/A)\n", + "0:03:09 Job 'j-2401318f19a84122b62657ed798f0c9e': created (progress N/A)\n", + "0:03:56 Job 'j-2401318f19a84122b62657ed798f0c9e': created (progress N/A)\n", + "0:04:54 Job 'j-2401318f19a84122b62657ed798f0c9e': running (progress N/A)\n", + "0:05:54 Job 'j-2401318f19a84122b62657ed798f0c9e': finished (progress N/A)\n" + ] + }, + { + "data": { + "text/html": [ + "\n", + " \n", + " \n", + " \n", + " \n", + " " + ], + "text/plain": [ + "" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "job = snowmap_cog.create_job(title=\"snowmap_cog\")\n", + "job.start_and_wait()" + ] + }, + { + "cell_type": "markdown", + "id": "28aada6d-8687-4370-ba52-e33e23f7d8ec", + "metadata": {}, + "source": [ + "Now let's wait until the job is finished and then download the results." + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "id": "219830d8-edec-48d8-b8b0-317112b32899", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "if job.status() == \"finished\":\n", + " results = job.get_results()\n", + " results.download_files(\"33_results/\")" + ] + }, + { + "cell_type": "markdown", + "id": "1eb74eb4-de0c-467e-97f6-0487c4334d6c", + "metadata": {}, + "source": [ + "Add statistics to the dataset via gdal, such as a summary of the values within the dataset and also some metadata, i.e. the legend (TIFFTAGS). And we reduce the datatype to the lowest possible datatype supported by COG uint8, since only have three values to represent (0, 1, 2). If you're interested you can check what happened via `!gdalinfo 33_results/openEO_uint8.tif`" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "id": "45b911a3-62fb-41a2-a34c-96ca436d921b", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Input file size is 145, 210\n", + "0...10...20...30...40...50...60...70...80...90...100 - done.\n" + ] + } + ], + "source": [ + "!gdal_translate -mo {TIFFTAG_IMAGEDESCRIPTION}=SnowCoveredArea_0=nosnow_1=snow_2-nodatavalue=cloud -ot Byte -of COG -a_nodata 2 -stats \"33_results/openEO.tif\" \"33_results/openEO_uint8.tif\"" + ] + }, + { + "cell_type": "markdown", + "id": "ba5d74b4-ee86-48c4-a6a6-ff8a667ccafd", + "metadata": { + "tags": [] + }, + "source": [ + "## Load results\n", + "Now we can open the COG and visualize it. " + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "id": "96022b16-5714-4f8b-949f-e9183270b451", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "
<xarray.DataArray (band: 1, y: 210, x: 145)>\n",
+       "[30450 values with dtype=uint8]\n",
+       "Coordinates:\n",
+       "  * band         (band) int64 1\n",
+       "  * x            (x) float64 6.883e+05 6.884e+05 ... 6.898e+05 6.898e+05\n",
+       "  * y            (y) float64 5.169e+06 5.169e+06 ... 5.167e+06 5.167e+06\n",
+       "    spatial_ref  int64 0\n",
+       "Attributes:\n",
+       "    AREA_OR_POINT:               Area\n",
+       "    PROCESSING_SOFTWARE:         0.24.0a1\n",
+       "    {TIFFTAG_IMAGEDESCRIPTION}:  SnowCoveredArea_0=nosnow_1=snow_2-nodatavalu...\n",
+       "    STATISTICS_MAXIMUM:          1\n",
+       "    STATISTICS_MEAN:             1\n",
+       "    STATISTICS_MINIMUM:          1\n",
+       "    STATISTICS_STDDEV:           0\n",
+       "    STATISTICS_VALID_PERCENT:    39.04\n",
+       "    _FillValue:                  2\n",
+       "    scale_factor:                1.0\n",
+       "    add_offset:                  0.0
" + ], + "text/plain": [ + "\n", + "[30450 values with dtype=uint8]\n", + "Coordinates:\n", + " * band (band) int64 1\n", + " * x (x) float64 6.883e+05 6.884e+05 ... 6.898e+05 6.898e+05\n", + " * y (y) float64 5.169e+06 5.169e+06 ... 5.167e+06 5.167e+06\n", + " spatial_ref int64 0\n", + "Attributes:\n", + " AREA_OR_POINT: Area\n", + " PROCESSING_SOFTWARE: 0.24.0a1\n", + " {TIFFTAG_IMAGEDESCRIPTION}: SnowCoveredArea_0=nosnow_1=snow_2-nodatavalu...\n", + " STATISTICS_MAXIMUM: 1\n", + " STATISTICS_MEAN: 1\n", + " STATISTICS_MINIMUM: 1\n", + " STATISTICS_STDDEV: 0\n", + " STATISTICS_VALID_PERCENT: 39.04\n", + " _FillValue: 2\n", + " scale_factor: 1.0\n", + " add_offset: 0.0" + ] + }, + "execution_count": 18, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "snowmap = rio.open_rasterio(\"33_results/openEO_uint8.tif\", decode_coords=\"all\")\n", + "snowmap" + ] + }, + { + "cell_type": "markdown", + "id": "b00131b6-23a1-4c61-9ab4-03ee5f8288f8", + "metadata": {}, + "source": [ + "Now, we check if the nodata value can be determined directly from the COG metadata" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "id": "3b799cc3-20be-4927-9e16-49ded2f0cbe0", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "data": { + "text/plain": [ + "2" + ] + }, + "execution_count": 19, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "snowmap.rio.nodata" + ] + }, + { + "cell_type": "markdown", + "id": "06ebdfae-948b-45e2-97ff-1f7917eff3d5", + "metadata": {}, + "source": [ + "Now, we make a plot of the snowmap keeping in mind that `0 = no snow`, `1 = snow`, and `2 = clouds (nodata value)`" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "id": "82685fa0-8f9a-4174-9287-324ac6c65709", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "data": { + "image/png": "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5kGI6u9+qcp///tf4e3tLQwMDIS5ubkYNGiQ7C6XB8vTdJfcvXv3xLvvviu8vb2FmZmZMDIyEu3atRPz5s2T3dVZ3fmo6q7DCxcuiGHDhglLS0uhr68v2rVrJ5YuXSq7g7DC4MGDBQCxceNGaVlJSYkwMTEROjo64ubNm7L4W7duCQAiJCTkke0S4v/+Hh/28O+PEEL89ddfYuDAgcLc3FwYGBiIjh07Sr+Lj/LTTz+J4OBg0apVK2FgYCBsbGzEK6+8InuURMXvy7Zt22TbVvzePryfmpxfIYQ4ceKEACDatm0rW15xN9q0adM01l8IIU6dOiWCgoKEqampaNmypRg6dKjIzs6udLdUbX53CwoKxJgxY8QzzzwjjI2NRVBQkPj7779rdJecEPfvUAsPDxfOzs5CX19f2NjYiP79+4u///5biqmqrJqex/T0dNG3b19hZmYmrK2txeTJk0VsbGylv2u1Wi0WL14snJychIGBgfD29ha7d++u8neowqhRo4Senp7IycnR2E4hanf9evhY/+c//6nyd+js2bPCzMxMdnfb1atXxfvvvy/c3NyEvr6+sLCwEL6+vmLWrFmiuLhYinv4uM6cOVN06dJFtGzZUiiVStG6dWsxderURz4qoalTCPHAWAE9Ea6urvD09MRPP/2k7aoQNUtxcXEYMGAATpw4AS8vL21Xh0impKQErq6u6NmzJ7777rsabZOVlQU3NzcsXboUERERT7iGVBMckiOiJm/fvn0ICQlhskSNytWrV3HmzBmsXbsWV65cwcyZM7VdJaoHJkxE1OQ96ismiLQlNjYWo0ePhr29PVatWtWov5ibNOOQHBEREZEGfKwAERERkQZMmIiIiIg0YMJEREREpAETJiIiIiINmDARERERacCEqZH49ddfMXDgQDg4OEChUGDnzp21LkMIgU8++QTu7u5QKpVwcnJCdHT0468sERHRU4bPYWokbt++jY4dO2L06NF4/fXX61RGeHg49uzZg08++QReXl4oLCys9E3bREREVHt8DlMjpFAosGPHDrz22mvSspKSEsyePRsbN25EQUEBPD098fHHHyMgIAAAcPr0aXh7eyMtLa3KL4IlIiKiuuOQXBMxevRo/Pbbb9iyZQv+/PNPDB06FC+//DIyMjIAALt370br1q3x008/wc3NDa6urhg3bhxu3Lih5ZoT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V0qYDh48iDNnzmDr1q0a9925c2fo6+sjIyOj2oRJqVRCqVTWuX1PCx27dG1XgYiISKL1OUwPUqlUOH36NOzt7etcRo8ePXD27FnZIwLS09Nhb28PAwMDAMCdO3egoyNvuq6urmybCmvWrIGvry86duyocd8nT55EaWlpvepPREREjY9WE6aIiAgcOHAAmZmZOHLkCN544w0UFRVJvTyRkZEYMWKEbJvU1FSkpqaiuLgYV69eRWpqKk6dOiWtnzhxIq5fv47w8HCkp6cjNjYW0dHRCAsLk2IGDhyIRYsWITY2FllZWdixYweWLVuGwYMHy/ZVVFSEbdu2Ydy4cZXqfu7cOURFReHYsWPIyspCXFwchg4dCh8fH/To0eNxHiYiIiLSMq0OyeXk5CA0NBTXrl2DtbU1unfvjsOHD0uPAcjNzUV2drZsGx8fH+nnlJQUbNq0CS4uLsjKygIAODk5Yc+ePZg6dSq8vb3RqlUrhIeHY8aMGdJ2K1euxJw5czBp0iTk5+fDwcEBEyZMkOY4VdiyZQuEEFVOBjcwMMDevXuxYsUKFBcXw8nJCf3798e8efMe+SwpIiIianoUQgih7Uo8zYqKimBubo7CwkKYmZlpuzpVUue5N/g+OYeJiKhhNOTnUMW+bqa3hplp3TsXim6Vo6X7+Qb97GxUc5iIiIiIGiMmTEREREQaNKrHCjzN1Fd8oL4j7558GoalnoY2EhFR08ceJiIiIiINmDARERERacAhuUasqrvTtDGEVd0+a3v3HIffiIioqWIPExEREZEGTJiIiIiINGDCRERERKQB5zBRnT2OOUnVzYPifCciImpM2MNEREREpAETJiIiIiINOCTXxDSFIaza1LEx1ZuIiKg67GEiIiIi0oAJExEREZEGTJiIiIiINOAcJpKp7dedNHTZnPNERETawB4mIiIiIg2YMBERERFpwISJiIiISAPOYWomnuTco8elqvlHTaHeRERE7GEiIiIi0oAJExEREZEGHJIjjaq7lb+2w2kcfiMioqaKPUxEREREGjBhIiIiItKACRMRERGRBpzDRBpx7hERET3t2MNEREREpAETJiIiIiINOCRHTUp1w4PVPfqAiIjocWAPExEREZEGTJiIiIiINNBqwjR//nwoFArZy87Ortr43NxcDBs2DO3atYOOjg6mTJlSZVxBQQHCwsJgb28P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lpubKyv3559/xtixY/H666/Llo8fP142b8vIyEhDi4mIiKipqVXCVPF1KG5ubvD394e+vn79K6Cn98hepQe5urpixYoVAICYmJgqY2JiYnDjxg0kJSVJ9XNxcZHFWFtby95/9NFHaNOmDXr16iUte7hOP/74IwIDA9G6dWvZcmNj4xrXn4iIiJqmOk367tWrl5SM3L17F0VFRbJXbWRkZMDBwQFubm4ICQnB+fPn61Ilya5du+Dn54ewsDDY2trC09MT0dHRsh6lB5WUlGDDhg0YM2ZMlfOyAODKlSuIjY3F2LFjK63buHEjrKys4OHhgYiICNy6date9X/aqPPcq3xRZTp26VW+qPnj3wmR9tVp0vedO3fw4Ycf4rvvvsP169crra8uOXlYt27dsH79eri7u+PKlStYuHAh/P39cfLkSVhaWtalajh//jwSExMxfPhwxMXFISMjA2FhYSgrK8PcuXMrxe/cuRMFBQUYNWpUtWWuW7cOpqamGDJkiGz58OHD4ebmBjs7O6SlpSEyMhInTpxAfHx8tWWpVCqoVCrpfW0TTCIiImp4dUqYPvjgA+zbtw+rVq3CiBEj8O9//xuXLl3C119/jY8++qjG5QQHB0s/e3l5wc/PD23atMG6deukL8arLbVaDRsbG6xevRq6urrw9fXF5cuXsXTp0ioTpjVr1iA4OBgODg7VlhkTEyM95fxB48ePl3729PRE27Zt0aVLFxw/fhydO3eusqzFixfz0QtERERNTJ2G5Hbv3o1Vq1bhjTfegJ6eHl544QXMnj0b0dHR2LhxY50rY2JiAi8vL2RkZNS5DHt7e7i7u8smj3fo0AF5eXkoKSmRxV64cAEJCQkYN25cteUdPHgQZ86ceWRMhc6dO0NfX/+R9Y+MjERhYaH0unjxYg1aRURERNpUpx6mGzduwM3NDQBgZmaGGzduAAB69uyJiRMn1rkyKpUKp0+fxgsvvFDnMnr06IFNmzZBrVZDR+d+Ppieng57e3sYGBjIYteuXQsbGxv079+/2vLWrFkDX19fdOzYUeO+T548idLSUtjb21cbo1QqoVQqa9ia5oVzLuqHx6/hPck5YrU5n5yrRqR9dephat26NbKysgAAzz33HL777jsA93ueHnzUgCYRERE4cOAAMjMzceTIEbzxxhsoKiqS7saLjIzEiBEjZNukpqYiNTUV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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "snowmap.plot(levels=[0, 1, 2])\n", + "plt.title(\"Spatial distribution of snow, no snow and cloudy pixels\")\n", + "plt.ylabel(\"Latitude\")\n", + "plt.xlabel(\"Longitude\")\n", + "plt.tight_layout()" + ] + }, + { + "cell_type": "markdown", + "id": "c45c4607-5540-42d7-9646-0cd1826eca5d", + "metadata": {}, + "source": [ + "Let's have a look at the histogram to understand the distribution of the values in our map" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "id": "c9ed448e-d027-474e-83ec-7a361edf134e", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "data": { + "image/png": "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1XkNSBd/P17Mt99+q/r161er7s9dyfNYlfz8fJWXl1/2OCpU3JhQ1fbV6dN9990nFxcXlZaW6k9/+pPTupMnT8oYIx8fHzVs2NBpyczM1HfffXfBdvv06aP33ntP58+f19ixY9WqVSsFBQXp7bffrvbY6jICSx2xfv16lZWVXfJW5N/+9rdau3atCgoKlJmZqd69eys2NlYrVqyo9r5q8lsHubm5Fyyr+JCt+PL65cWUF3tjV0fz5s31zTffVCo/ceKEJOmGG264ovYlqWnTpqpXr16t76dBgwaKi4vT3r179f333+vtt99WTk6OBg0apDNnztSorebNm+v8+fP69ttvncqNMcrNzXXqX//+/XX27Flt375dW7ZsUUREhKM8LS3NMVNwte9yat68ueOD/+dOnTql8+fPX/KYdu7cWStWrFBeXp7279+vP/zhD3r++ec1Z86cGvWjJs+vi4uLbr/9dm3evFlpaWny9fVV586d1adPH0k/XSC7ZcuWaoW9t956S2PHjlViYqIGDRqkHj16KCQk5LLfExXvtYu9Hy+mRYsWKisrq1bdX+63Os/jhT4DfhkemjZtKpvNdtnjqFDVdSS//Fy6kLKyMt13331q2rSpAgIC9OCDD+rs2bOO9TfccINsNpsyMjK0e/fuSsulfnvprrvu0pYtW1RQUKBt27apVatWGj169EWv1/u1ILDUAcePH9cTTzwhLy8v/fGPf6zWNvXr11fPnj21YMECSXKcnqnOrEJNHDx4UP/5z3+cylJTU+Xh4aHbbrtNkhx3y3z88cdO9aq6++Dn//d7Kf3799fWrVsdXywV3nzzTbm5udXKLYvu7u7q2bOnVq9e7dSv8vJyvfXWW2rVqpXat29/Rfto0qSJRowYocmTJ+v777+/6EWOVakIF2+99ZZT+bvvvqvi4mKn8NGjRw95enpq3rx5ys3NdQSWAQMGaN++fVq1apU6dux40Zm82tC/f3/98MMPlT7c33zzTcf66rDZbAoODtYrr7yiJk2a1Pg0ZE2f3wEDBigrK0vvvvuuI5i4u7urV69eeu2113TixIlqBRabzeZ4L1ZYv379ZZ8i6NWrlxo1aqTly5c7le/cufOipzwrDB48WJKUnJxco/1W93n08fFRo0aNKn0GvP/++06P3d3d1aNHD61evdppRq6oqEhr166tdr+Kiooqfb6k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pSotLXU8LiwslL+/vwoKCuTp6Xm5QwIAoE676an1V7X9Yy9G1qh+YWGhvLy8Lvn9fUW3Nbu7u6tz58764osvHHcLVcymVDh16lSlWZcKhw8f1vLly/XCCy9o27Zt6tOnj1q0aKGRI0dq7969Fz3NY7fb5enp6bQAAIC66YoCS2lpqQ4dOqSWLVsqMDBQvr6+SktLc6w/e/as0tPTFRoaWmlbY4wmTpyoOXPmqHHjxiorK9O5c+ckyfFveXn5lXQPAADUETUKLE888YTS09OVnZ2tjz76SCNGjFBhYaHGjRsnm82m2NhYJSYmas2aNfrkk08UHR0tNzc3jR49ulJbixcvlre3t4YOHSpJCgsL09atW5WZmalXXnlFHTt2VJMmTWplkAAA4PrWoCaVv/rqK40aNUrfffedWrRooV69eikzM1OtW7eW9NOtySUlJYqJiVF+fr569uypTZs2ycPDw6mdkydPKjEx0XH3kCT16NFDU6dOVWRkpLy9vZWSklILwwMAAHXBFV10ayXVvWgHAIBfs1/lRbcAAAD/DQQWAABgeQQWAABgeQQWAABgeQQWAABgeQQWAABgeQQWAABgeQQWAABgeQQWAABgeQQWAABgeQQWAABgeQQWAABgeQQWAABgeQQWAABgeQQWAABgeQQWAABgeQQWAABgeQQWAABgeQQWAABgeQQWAABgeQQWAABgeQQWAABgeQQWAABgeQQWAABgeQQWAABgeQQWAABgeQQWAABgeQQWAABgeQQWAABgeQQWAABgeQQWAABgeQQWAABgeQQWAABgeQQWAABgeQQWAABgeQQWAABgeQQWAABgeQQWAABgeQQWAABgeQQWAABgeQQWAABgeQQWAABgeQQWAABgeQQWAABgeQQWAABgeQQWAABgeVcUWJKSkmSz2RQbG+soM8YoISFBfn5+cnV1VXh4uA4ePOi0XVxcnJo1a6aAgACtWLHCad2qVasUFRV1Jd0CAAB1zGUHlt27d+uNN95Qly5dnMpnz56tuXPnav78+dq9e7d8fX0VERGhoqIiSdLatWuVmpqqTZs2adasWRo/frzy8vIkSadPn1Z8fLwWLFhwBUMCAAB1zWUFlh9++EH33XefFi9erKZNmzrKjTGaN2+e4uPjNXz4cAUFBSklJUVnzpxRamqqJOnQoUMKDw9XSEiIRo0aJU9PTx09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UFCQUlJSdObMGaWmpkqSDh06pPDwcIWEhGjUqFHy9PTU0aNHJUnTpk1TTEyMAgICrnBYAACgLqnVa1iys7OVm5urgQMHOsrsdrv69u2rnTt3SpKCg4O1Z88e5efnKysrSyUlJWrbtq0yMjK0d+9eTZkypVr7Ki0tVWFhodMCAADqploNLLm5uZIkHx8fp3IfHx/HukGDBmnMmDHq3r27oqOjlZKSInd3d02aNEmLFi1ScnKyOnTooLCwsErXvvxcUlKSvLy8HIu/v39tDgUAAFjIVblLyGazOT02xjiVJSQk6MiRIzpw4ICGDRumxMREDRgwQA0bNtTMmTOVkZGhCRMmaOzYsRfcx/Tp01VQUOBYcnJyrsZQAACABTSozcZ8fX0l/TTT0rJlS0f5qVOnKs26VDh8+LCWL1+uffv2acmSJerTp49atGihkSNH6oEHHlBhYaE8PT0rbWe322W322uz+wAAwKJqdYYlMDBQvr6+SktLc5SdPXtW6enpCg0NrVTfGKOJEydqzpw5aty4scrKynTu3DlJcvxbXl5em10EAADXoRrPsPzwww86cuSI43F2drb279/v+F2V2NhYJSYmql27dmrXrp0SExPl5uam0aNHV2pr8eLF8vb21tChQyVJYWFhSkhIUGZmpjZs2KCOHTuqSZMmlz86AABQJ9Q4sOzZs0d33HGH43FcXJwkady4cVq2bJmmTZumkpISxcTEKD8/Xz179tSmTZvk4eHh1M7JkyeVmJjouHtIknr06KGpU6cqMjJS3t7eSklJudxxAQCAOsRmjDHXuhO1obCwUF5eXiooKKjymhcA14ebnlp/Vds/9mLkVW0fsDqrvceq+/3N3xICAACWR2ABAACWR2ABAACWR2ABAACWR2ABAACWR2ABAACWR2ABAACWR2ABAACWR2ABAACWR2ABAACWR2ABAACWR2ABAACWR2ABAACWR2ABAACWR2ABAACWR2ABAACWR2ABAACWR2ABAACWR2ABAACWR2ABAACWR2ABAACWR2ABAACWR2ABAACWR2ABAACWR2ABAACWR2ABAACWR2ABAACWR2ABAACWR2ABAACWR2ABAACWR2ABAACWR2ABAACWR2ABAACWR2ABAACWR2ABAACWR2ABAACWR2ABAACWR2ABAACWR2ABAACWR2ABAACWR2ABAACWR2ABAACWR2ABAACWR2ABAACWR2ABAACWR2ABAACWd9UCy8KFCxUYGKhGjRqpW7du2rFjh2Pdyy+/LB8fH/n4+OiVV15x2u6jjz5St27dVFZWdrW6BgAArjMNrkajK1euVGxsrBYuXKiwsDAtWrRIgwcP1qeffqqCggI9++yzWrdunYwxuvPOOxUREaGgoCCdO3dODz/8sN544w3Vr1//anQNAABch65KYJk7d64efPBBTZgwQZI0b948ffjhh0pOTtatt96qLl26qF+/fpKkLl266NChQwoKCtJLL72kPn36qHv37lejWwAA4DpV64Hl7NmzysrK0lNPPeVUPnDgQO3cuVNjx47V559/ruPHj8sYo88//1xBQUE6cuSIli1bpqysrGrtp7S0VKWlpY7HBQUFkqTCwsLaGwyA/7ry0jNXtX0+I/BrZ7X3WEV9Y8zFK5pa9vXXXxtJ5l//+pdT+Z///GfTvn17Y4wxycnJpn379qZ9+/YmOTnZGGNM//79zZo1a8w777xjOnXqZLp27WrS09MvuJ8ZM2YYSSwsLCwsLCx1YMnJyblovrgqp4QkyWazOT02xjjKHn74YT388MOOdcuWLZOHh4d69+6tDh06aPfu3frqq6907733Kjs7W3a7vVL706dPV1xcnOPx6dOn1bp1ax0/flxeXl5XaVQArqbCwkL5+/srJydHnp6e17o7AGroct7DxhgVFRXJz8/vovVqPbDccMMNql+/vnJzc53KT506JR8fn0r1v/vuOz3//PPavn27PvroI7Vv317t2rVTu3btdO7cOX3++efq3Llzpe3sdnuVQcbLy4sPOuA65+npyfsYuI7V9D1cnYmGWr+t2cXFRd26dVNaWppTeVpamkJDQyvVj42N1eOPP65WrVqprKxM586dc6w7f/48tzcDAICrc5dQXFyc7r//foWEhKh379564403dPz4cafTQNJPIeaLL77Qm2++KUnq0aOHDh8+rA0bNignJ0f169dXhw4drkYXAQDAdeSqBJY//OEPysvL0/PPP69vvvlGQUFB+sc//qHWrVs76pSUlOiRRx7RypUrVa/eTxM9N954o1577TWNHz9edrtdKSkpcnV1rdY+7Xa7ZsyYUeVpIgDXB97HwPXtar6HbcZc6j4iAACAa4u/JQQAACyPwAIAACyPwAIAACyPwAIAACyPwAIAACyvTgSWhQsXKjAwUI0aNVK3bt20Y8eOa90lADWwfft2RUVFyc/PTzabTe+999617hKAGkhKSlL37t3l4eEhb29v3X333frss89qdR/XfWBZuXKlYmNjFR8fr3379um3v/2tBg8erOPHj1/rrgGopuLiYgUHB2v+/PnXuisALkN6eromT56szMxMpaWl6fz58xo4cKCKi4trbR/X/e+w9OzZU7fddpuSk5MdZbfccovuvvtuJSUlXcOeAbgcNptNa9as0d13332tuwLgMn377bfy9vZWenq6+vTpUyttXtczLGfPnlVWVpYGDhzoVD5w4EDt3LnzGvUKAIBft4KCAklSs2bNaq3N6zqwfPfddyorK6v0V6B9fHwq/bVoAABw9RljFBcXp9tvv11BQUG11u5V+VtC/202m83psTGmUhkAALj6HnnkEX388cfKyMio1Xav68Byww03qH79+pVmU06dOlVp1gUAAFxdjz76qD744ANt375drVq1qtW2r+tTQi4uLurWrZvS0tKcytPS0hQaGnqNegUAwK+LMUaPPPKIVq9era1btyowMLDW93Fdz7BIUlxcnO6//36FhISod+/eeuONN3T8+HE9/PDD17prAKrphx9+0JEjRxyPs7OztX//fjVr1kwBAQHXsGcAqmPy5MlKTU3V+++/Lw8PD8eZDy8vL7m6utbKPq7725qln344bvbs2frmm28UFBSkV155pdZuowJw9W3btk133HFHpfJx48Zp2bJl//0OAaiRC103unTpUkVHR9fOPupCYAEAAHXbdX0NCwAA+HUgsAAAAMsjsAAAAMsjsAAAAMsjsAAAAMsjsAAAAMsjsAAAAMsjsAAAAMsjsAAAAMsjsAAAAMsjsAAAAMv7P2IBIejX+T1AAAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "data = snowmap.values.flatten()\n", + "snowmap.plot.hist(xticks = [0, 1, 2], weights=np.ones(len(data)) / len(data))\n", + "\n", + "plt.gca().yaxis.set_major_formatter(PercentFormatter(1))\n", + "plt.title(\"Distribution of snow, no snow and cloud pixels\")\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "65b9ec26-14be-4599-80a1-b44bde541a98", + "metadata": {}, + "source": [ + "## Load STAC metadata\n", + "In addition to the COG we also receive STAC metadata for our result.\n", + "Let's have a look at it." + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "id": "1cee7c43-d939-462c-853d-d80a5883dd9b", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "data": { + "text/plain": [ + "{'assets': {'openEO.tif': {'file:nodata': ['nan'],\n", + " 'href': 'https://openeo.dataspace.copernicus.eu/openeo/1.2/jobs/j-2401318f19a84122b62657ed798f0c9e/results/assets/MDYxODNjYmMtODRjOC00YzZhLThhN2QtY2IxOGJhMDhjYzhj/ed41e358ad1fe308f681e33015b06869/openEO.tif?expires=1707311403',\n", + " 'proj:bbox': [688340.0, 5166800.0, 689790.0, 5168900.0],\n", + " 'proj:epsg': 32632,\n", + " 'proj:shape': [145, 210],\n", + " 'raster:bands': [{'name': '1',\n", + " 'statistics': {'maximum': 2.0,\n", + " 'mean': 1.5691625615764,\n", + " 'minimum': 0.5,\n", + " 'stddev': 0.47448333824272,\n", + " 'valid_percent': 100.0}}],\n", + " 'roles': ['data'],\n", + " 'title': 'openEO.tif',\n", + " 'type': 'image/tiff; application=geotiff'}},\n", + " 'description': 'Results for batch job j-2401318f19a84122b62657ed798f0c9e',\n", + " 'extent': {'spatial': {'bbox': [[11.461193783940812,\n", + " 46.62835651400798,\n", + " 11.479180216059186,\n", + " 46.64670948599201]]},\n", + " 'temporal': {'interval': [['2023-02-01T00:00:00Z',\n", + " '2023-06-01T00:00:00Z']]}},\n", + " 'id': 'j-2401318f19a84122b62657ed798f0c9e',\n", + " 'license': 'proprietary',\n", + " 'links': [{'href': '/eodata/Sentinel-2/MSI/L2A/2023/02/02/S2A_MSIL2A_20230202T101231_N0509_R022_T32TPS_20230202T142000.SAFE',\n", + " 'rel': 'derived_from',\n", + " 'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/02/02/S2A_MSIL2A_20230202T101231_N0509_R022_T32TPS_20230202T142000.SAFE',\n", + " 'type': 'application/json'},\n", + " {'href': '/eodata/Sentinel-2/MSI/L2A/2023/02/05/S2A_MSIL2A_20230205T102221_N0509_R065_T32TPS_20230205T135958.SAFE',\n", + " 'rel': 'derived_from',\n", + " 'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/02/05/S2A_MSIL2A_20230205T102221_N0509_R065_T32TPS_20230205T135958.SAFE',\n", + " 'type': 'application/json'},\n", + " {'href': '/eodata/Sentinel-2/MSI/L2A/2023/02/07/S2B_MSIL2A_20230207T101109_N0509_R022_T32TPS_20230207T124736.SAFE',\n", + " 'rel': 'derived_from',\n", + " 'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/02/07/S2B_MSIL2A_20230207T101109_N0509_R022_T32TPS_20230207T124736.SAFE',\n", + " 'type': 'application/json'},\n", + " {'href': '/eodata/Sentinel-2/MSI/L2A/2023/02/10/S2B_MSIL2A_20230210T102049_N0509_R065_T32TPS_20230210T125716.SAFE',\n", + " 'rel': 'derived_from',\n", + " 'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/02/10/S2B_MSIL2A_20230210T102049_N0509_R065_T32TPS_20230210T125716.SAFE',\n", + " 'type': 'application/json'},\n", + " {'href': '/eodata/Sentinel-2/MSI/L2A/2023/02/12/S2A_MSIL2A_20230212T101131_N0509_R022_T32TPS_20230212T142159.SAFE',\n", + " 'rel': 'derived_from',\n", + " 'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/02/12/S2A_MSIL2A_20230212T101131_N0509_R022_T32TPS_20230212T142159.SAFE',\n", + " 'type': 'application/json'},\n", + " {'href': '/eodata/Sentinel-2/MSI/L2A/2023/02/15/S2A_MSIL2A_20230215T102121_N0509_R065_T32TPS_20230215T141008.SAFE',\n", + " 'rel': 'derived_from',\n", + " 'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/02/15/S2A_MSIL2A_20230215T102121_N0509_R065_T32TPS_20230215T141008.SAFE',\n", + " 'type': 'application/json'},\n", + " {'href': '/eodata/Sentinel-2/MSI/L2A/2023/02/17/S2B_MSIL2A_20230217T101029_N0509_R022_T32TPS_20230217T125054.SAFE',\n", + " 'rel': 'derived_from',\n", + " 'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/02/17/S2B_MSIL2A_20230217T101029_N0509_R022_T32TPS_20230217T125054.SAFE',\n", + " 'type': 'application/json'},\n", + " {'href': '/eodata/Sentinel-2/MSI/L2A/2023/02/20/S2B_MSIL2A_20230220T101949_N0509_R065_T32TPS_20230220T145403.SAFE',\n", + " 'rel': 'derived_from',\n", + " 'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/02/20/S2B_MSIL2A_20230220T101949_N0509_R065_T32TPS_20230220T145403.SAFE',\n", + " 'type': 'application/json'},\n", + " {'href': '/eodata/Sentinel-2/MSI/L2A/2023/02/22/S2A_MSIL2A_20230222T101031_N0509_R022_T32TPS_20230222T141055.SAFE',\n", + " 'rel': 'derived_from',\n", + " 'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/02/22/S2A_MSIL2A_20230222T101031_N0509_R022_T32TPS_20230222T141055.SAFE',\n", + " 'type': 'application/json'},\n", + " {'href': '/eodata/Sentinel-2/MSI/L2A/2023/02/25/S2A_MSIL2A_20230225T102021_N0509_R065_T32TPS_20230225T163245.SAFE',\n", + " 'rel': 'derived_from',\n", + " 'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/02/25/S2A_MSIL2A_20230225T102021_N0509_R065_T32TPS_20230225T163245.SAFE',\n", + " 'type': 'application/json'},\n", + " {'href': '/eodata/Sentinel-2/MSI/L2A/2023/02/27/S2B_MSIL2A_20230227T101029_N0509_R022_T32TPS_20230227T124853.SAFE',\n", + " 'rel': 'derived_from',\n", + " 'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/02/27/S2B_MSIL2A_20230227T101029_N0509_R022_T32TPS_20230227T124853.SAFE',\n", + " 'type': 'application/json'},\n", + " {'href': '/eodata/Sentinel-2/MSI/L2A/2023/03/02/S2B_MSIL2A_20230302T101839_N0509_R065_T32TPS_20230302T165059.SAFE',\n", + " 'rel': 'derived_from',\n", + " 'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/03/02/S2B_MSIL2A_20230302T101839_N0509_R065_T32TPS_20230302T165059.SAFE',\n", + " 'type': 'application/json'},\n", + " {'href': '/eodata/Sentinel-2/MSI/L2A/2023/03/04/S2A_MSIL2A_20230304T101021_N0509_R022_T32TPS_20230907T154000.SAFE',\n", + " 'rel': 'derived_from',\n", + " 'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/03/04/S2A_MSIL2A_20230304T101021_N0509_R022_T32TPS_20230907T154000.SAFE',\n", + " 'type': 'application/json'},\n", + " {'href': '/eodata/Sentinel-2/MSI/L2A/2023/03/07/S2A_MSIL2A_20230307T101901_N0509_R065_T32TPS_20230307T162402.SAFE',\n", + " 'rel': 'derived_from',\n", + " 'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/03/07/S2A_MSIL2A_20230307T101901_N0509_R065_T32TPS_20230307T162402.SAFE',\n", + " 'type': 'application/json'},\n", + " {'href': '/eodata/Sentinel-2/MSI/L2A/2023/03/09/S2B_MSIL2A_20230309T100749_N0509_R022_T32TPS_20230309T162710.SAFE',\n", + " 'rel': 'derived_from',\n", + " 'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/03/09/S2B_MSIL2A_20230309T100749_N0509_R022_T32TPS_20230309T162710.SAFE',\n", + " 'type': 'application/json'},\n", + " {'href': '/eodata/Sentinel-2/MSI/L2A/2023/03/12/S2B_MSIL2A_20230312T101729_N0509_R065_T32TPS_20230312T163807.SAFE',\n", + " 'rel': 'derived_from',\n", + " 'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/03/12/S2B_MSIL2A_20230312T101729_N0509_R065_T32TPS_20230312T163807.SAFE',\n", + " 'type': 'application/json'},\n", + " {'href': '/eodata/Sentinel-2/MSI/L2A/2023/03/14/S2A_MSIL2A_20230314T101021_N0509_R022_T32TPS_20230314T161800.SAFE',\n", + " 'rel': 'derived_from',\n", + " 'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/03/14/S2A_MSIL2A_20230314T101021_N0509_R022_T32TPS_20230314T161800.SAFE',\n", + " 'type': 'application/json'},\n", + " {'href': '/eodata/Sentinel-2/MSI/L2A/2023/03/17/S2A_MSIL2A_20230317T101741_N0509_R065_T32TPS_20230317T162557.SAFE',\n", + " 'rel': 'derived_from',\n", + " 'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/03/17/S2A_MSIL2A_20230317T101741_N0509_R065_T32TPS_20230317T162557.SAFE',\n", + " 'type': 'application/json'},\n", + " {'href': '/eodata/Sentinel-2/MSI/L2A/2023/03/19/S2B_MSIL2A_20230319T100649_N0509_R022_T32TPS_20230319T130804.SAFE',\n", + " 'rel': 'derived_from',\n", + " 'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/03/19/S2B_MSIL2A_20230319T100649_N0509_R022_T32TPS_20230319T130804.SAFE',\n", + " 'type': 'application/json'},\n", + " {'href': '/eodata/Sentinel-2/MSI/L2A/2023/03/22/S2B_MSIL2A_20230322T101649_N0509_R065_T32TPS_20230322T145625.SAFE',\n", + " 'rel': 'derived_from',\n", + " 'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/03/22/S2B_MSIL2A_20230322T101649_N0509_R065_T32TPS_20230322T145625.SAFE',\n", + " 'type': 'application/json'},\n", + " {'href': '/eodata/Sentinel-2/MSI/L2A/2023/03/24/S2A_MSIL2A_20230324T101021_N0509_R022_T32TPS_20230324T161752.SAFE',\n", + " 'rel': 'derived_from',\n", + " 'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/03/24/S2A_MSIL2A_20230324T101021_N0509_R022_T32TPS_20230324T161752.SAFE',\n", + " 'type': 'application/json'},\n", + " {'href': '/eodata/Sentinel-2/MSI/L2A/2023/03/27/S2A_MSIL2A_20230327T101631_N0509_R065_T32TPS_20230327T162303.SAFE',\n", + " 'rel': 'derived_from',\n", + " 'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/03/27/S2A_MSIL2A_20230327T101631_N0509_R065_T32TPS_20230327T162303.SAFE',\n", + " 'type': 'application/json'},\n", + " {'href': '/eodata/Sentinel-2/MSI/L2A/2023/03/29/S2B_MSIL2A_20230329T100629_N0509_R022_T32TPS_20230329T130657.SAFE',\n", + " 'rel': 'derived_from',\n", + " 'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/03/29/S2B_MSIL2A_20230329T100629_N0509_R022_T32TPS_20230329T130657.SAFE',\n", + " 'type': 'application/json'},\n", + " {'href': '/eodata/Sentinel-2/MSI/L2A/2023/04/01/S2B_MSIL2A_20230401T101559_N0509_R065_T32TPS_20230401T145632.SAFE',\n", + " 'rel': 'derived_from',\n", + " 'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/04/01/S2B_MSIL2A_20230401T101559_N0509_R065_T32TPS_20230401T145632.SAFE',\n", + " 'type': 'application/json'},\n", + " {'href': '/eodata/Sentinel-2/MSI/L2A/2023/04/03/S2A_MSIL2A_20230403T100551_N0509_R022_T32TPS_20230403T162459.SAFE',\n", + " 'rel': 'derived_from',\n", + " 'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/04/03/S2A_MSIL2A_20230403T100551_N0509_R022_T32TPS_20230403T162459.SAFE',\n", + " 'type': 'application/json'},\n", + " {'href': '/eodata/Sentinel-2/MSI/L2A/2023/04/06/S2A_MSIL2A_20230406T102021_N0509_R065_T32TPS_20230406T194357.SAFE',\n", + " 'rel': 'derived_from',\n", + " 'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/04/06/S2A_MSIL2A_20230406T102021_N0509_R065_T32TPS_20230406T194357.SAFE',\n", + " 'type': 'application/json'},\n", + " {'href': '/eodata/Sentinel-2/MSI/L2A/2023/04/08/S2B_MSIL2A_20230408T100559_N0509_R022_T32TPS_20230408T131134.SAFE',\n", + " 'rel': 'derived_from',\n", + " 'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/04/08/S2B_MSIL2A_20230408T100559_N0509_R022_T32TPS_20230408T131134.SAFE',\n", + " 'type': 'application/json'},\n", + " {'href': '/eodata/Sentinel-2/MSI/L2A/2023/04/11/S2B_MSIL2A_20230411T101559_N0509_R065_T32TPS_20230411T131019.SAFE',\n", + " 'rel': 'derived_from',\n", + " 'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/04/11/S2B_MSIL2A_20230411T101559_N0509_R065_T32TPS_20230411T131019.SAFE',\n", + " 'type': 'application/json'},\n", + " {'href': '/eodata/Sentinel-2/MSI/L2A/2023/04/13/S2A_MSIL2A_20230413T100551_N0509_R022_T32TPS_20230413T161903.SAFE',\n", + " 'rel': 'derived_from',\n", + " 'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/04/13/S2A_MSIL2A_20230413T100551_N0509_R022_T32TPS_20230413T161903.SAFE',\n", + " 'type': 'application/json'},\n", + " {'href': '/eodata/Sentinel-2/MSI/L2A/2023/04/16/S2A_MSIL2A_20230416T101601_N0509_R065_T32TPS_20230416T162901.SAFE',\n", + " 'rel': 'derived_from',\n", + " 'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/04/16/S2A_MSIL2A_20230416T101601_N0509_R065_T32TPS_20230416T162901.SAFE',\n", + " 'type': 'application/json'},\n", + " {'href': '/eodata/Sentinel-2/MSI/L2A/2023/04/18/S2B_MSIL2A_20230418T100559_N0509_R022_T32TPS_20230418T131202.SAFE',\n", + " 'rel': 'derived_from',\n", + " 'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/04/18/S2B_MSIL2A_20230418T100559_N0509_R022_T32TPS_20230418T131202.SAFE',\n", + " 'type': 'application/json'},\n", + " {'href': '/eodata/Sentinel-2/MSI/L2A/2023/04/21/S2B_MSIL2A_20230421T101559_N0509_R065_T32TPS_20230421T131333.SAFE',\n", + " 'rel': 'derived_from',\n", + " 'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/04/21/S2B_MSIL2A_20230421T101559_N0509_R065_T32TPS_20230421T131333.SAFE',\n", + " 'type': 'application/json'},\n", + " {'href': '/eodata/Sentinel-2/MSI/L2A/2023/04/23/S2A_MSIL2A_20230423T100551_N0509_R022_T32TPS_20230423T162900.SAFE',\n", + " 'rel': 'derived_from',\n", + " 'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/04/23/S2A_MSIL2A_20230423T100551_N0509_R022_T32TPS_20230423T162900.SAFE',\n", + " 'type': 'application/json'},\n", + " {'href': '/eodata/Sentinel-2/MSI/L2A/2023/04/26/S2A_MSIL2A_20230426T101601_N0509_R065_T32TPS_20230426T162055.SAFE',\n", + " 'rel': 'derived_from',\n", + " 'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/04/26/S2A_MSIL2A_20230426T101601_N0509_R065_T32TPS_20230426T162055.SAFE',\n", + " 'type': 'application/json'},\n", + " {'href': '/eodata/Sentinel-2/MSI/L2A/2023/04/28/S2B_MSIL2A_20230428T100559_N0509_R022_T32TPS_20230428T133214.SAFE',\n", + " 'rel': 'derived_from',\n", + " 'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/04/28/S2B_MSIL2A_20230428T100559_N0509_R022_T32TPS_20230428T133214.SAFE',\n", + " 'type': 'application/json'},\n", + " {'href': '/eodata/Sentinel-2/MSI/L2A/2023/05/01/S2B_MSIL2A_20230501T101559_N0509_R065_T32TPS_20230501T132325.SAFE',\n", + " 'rel': 'derived_from',\n", + " 'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/05/01/S2B_MSIL2A_20230501T101559_N0509_R065_T32TPS_20230501T132325.SAFE',\n", + " 'type': 'application/json'},\n", + " {'href': '/eodata/Sentinel-2/MSI/L2A/2023/05/03/S2A_MSIL2A_20230503T101021_N0509_R022_T32TPS_20230503T180406.SAFE',\n", + " 'rel': 'derived_from',\n", + " 'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/05/03/S2A_MSIL2A_20230503T101021_N0509_R022_T32TPS_20230503T180406.SAFE',\n", + " 'type': 'application/json'},\n", + " {'href': '/eodata/Sentinel-2/MSI/L2A/2023/05/06/S2A_MSIL2A_20230506T101601_N0509_R065_T32TPS_20230506T162659.SAFE',\n", + " 'rel': 'derived_from',\n", + " 'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/05/06/S2A_MSIL2A_20230506T101601_N0509_R065_T32TPS_20230506T162659.SAFE',\n", + " 'type': 'application/json'},\n", + " {'href': '/eodata/Sentinel-2/MSI/L2A/2023/05/08/S2B_MSIL2A_20230508T100559_N0509_R022_T32TPS_20230508T131238.SAFE',\n", + " 'rel': 'derived_from',\n", + " 'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/05/08/S2B_MSIL2A_20230508T100559_N0509_R022_T32TPS_20230508T131238.SAFE',\n", + " 'type': 'application/json'},\n", + " {'href': '/eodata/Sentinel-2/MSI/L2A/2023/05/11/S2B_MSIL2A_20230511T101559_N0509_R065_T32TPS_20230511T163715.SAFE',\n", + " 'rel': 'derived_from',\n", + " 'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/05/11/S2B_MSIL2A_20230511T101559_N0509_R065_T32TPS_20230511T163715.SAFE',\n", + " 'type': 'application/json'},\n", + " {'href': '/eodata/Sentinel-2/MSI/L2A/2023/05/13/S2A_MSIL2A_20230513T100551_N0509_R022_T32TPS_20230513T161552.SAFE',\n", + " 'rel': 'derived_from',\n", + " 'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/05/13/S2A_MSIL2A_20230513T100551_N0509_R022_T32TPS_20230513T161552.SAFE',\n", + " 'type': 'application/json'},\n", + " {'href': '/eodata/Sentinel-2/MSI/L2A/2023/05/16/S2A_MSIL2A_20230516T101601_N0509_R065_T32TPS_20230516T181153.SAFE',\n", + " 'rel': 'derived_from',\n", + " 'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/05/16/S2A_MSIL2A_20230516T101601_N0509_R065_T32TPS_20230516T181153.SAFE',\n", + " 'type': 'application/json'},\n", + " {'href': '/eodata/Sentinel-2/MSI/L2A/2023/05/18/S2B_MSIL2A_20230518T100559_N0509_R022_T32TPS_20230518T144255.SAFE',\n", + " 'rel': 'derived_from',\n", + " 'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/05/18/S2B_MSIL2A_20230518T100559_N0509_R022_T32TPS_20230518T144255.SAFE',\n", + " 'type': 'application/json'},\n", + " {'href': '/eodata/Sentinel-2/MSI/L2A/2023/05/21/S2B_MSIL2A_20230521T101609_N0509_R065_T32TPS_20230521T131745.SAFE',\n", + " 'rel': 'derived_from',\n", + " 'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/05/21/S2B_MSIL2A_20230521T101609_N0509_R065_T32TPS_20230521T131745.SAFE',\n", + " 'type': 'application/json'},\n", + " {'href': '/eodata/Sentinel-2/MSI/L2A/2023/05/23/S2A_MSIL2A_20230523T100601_N0509_R022_T32TPS_20230523T161057.SAFE',\n", + " 'rel': 'derived_from',\n", + " 'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/05/23/S2A_MSIL2A_20230523T100601_N0509_R022_T32TPS_20230523T161057.SAFE',\n", + " 'type': 'application/json'},\n", + " {'href': '/eodata/Sentinel-2/MSI/L2A/2023/05/26/S2A_MSIL2A_20230526T101601_N0509_R065_T32TPS_20230526T162854.SAFE',\n", + " 'rel': 'derived_from',\n", + " 'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/05/26/S2A_MSIL2A_20230526T101601_N0509_R065_T32TPS_20230526T162854.SAFE',\n", + " 'type': 'application/json'},\n", + " {'href': '/eodata/Sentinel-2/MSI/L2A/2023/05/28/S2B_MSIL2A_20230528T100559_N0509_R022_T32TPS_20230528T131159.SAFE',\n", + " 'rel': 'derived_from',\n", + " 'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/05/28/S2B_MSIL2A_20230528T100559_N0509_R022_T32TPS_20230528T131159.SAFE',\n", + " 'type': 'application/json'},\n", + " {'href': '/eodata/Sentinel-2/MSI/L2A/2023/05/31/S2B_MSIL2A_20230531T101559_N0509_R065_T32TPS_20230531T131936.SAFE',\n", + " 'rel': 'derived_from',\n", + " 'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/05/31/S2B_MSIL2A_20230531T101559_N0509_R065_T32TPS_20230531T131936.SAFE',\n", + " 'type': 'application/json'},\n", + " {'href': 'https://openeo.dataspace.copernicus.eu/openeo/1.2/jobs/j-2401318f19a84122b62657ed798f0c9e/results',\n", + " 'rel': 'self',\n", + " 'type': 'application/json'},\n", + " {'href': 'https://openeo.dataspace.copernicus.eu/openeo/1.2/jobs/j-2401318f19a84122b62657ed798f0c9e/results/MDYxODNjYmMtODRjOC00YzZhLThhN2QtY2IxOGJhMDhjYzhj/e967c4ba33e20f0757876cf974ef7eb7?expires=1707311403',\n", + " 'rel': 'canonical',\n", + " 'type': 'application/json'},\n", + " {'href': 'http://ceos.org/ard/files/PFS/SR/v5.0/CARD4L_Product_Family_Specification_Surface_Reflectance-v5.0.pdf',\n", + " 'rel': 'card4l-document',\n", + " 'type': 'application/pdf'},\n", + " {'href': 'https://openeo.dataspace.copernicus.eu/openeo/1.2/jobs/j-2401318f19a84122b62657ed798f0c9e/results/items/MDYxODNjYmMtODRjOC00YzZhLThhN2QtY2IxOGJhMDhjYzhj/ed41e358ad1fe308f681e33015b06869/openEO.tif?expires=1707311403',\n", + " 'rel': 'item',\n", + " 'type': 'application/geo+json'}],\n", + " 'openeo:status': 'finished',\n", + " 'providers': [{'description': 'This data was processed on an openEO backend maintained by VITO.',\n", + " 'name': 'VITO',\n", + " 'processing:expression': [{'expression': {'loadcollection1': {'arguments': {'bands': ['B03',\n", + " 'B11',\n", + " 'SCL'],\n", + " 'id': 'SENTINEL2_L2A',\n", + " 'spatial_extent': {'crs': 4326,\n", + " 'east': 11.479180216059186,\n", + " 'north': 46.64670948599201,\n", + " 'south': 46.62835651400798,\n", + " 'west': 11.461193783940812},\n", + " 'temporal_extent': ['2023-02-01', '2023-06-01']},\n", + " 'process_id': 'load_collection'},\n", + " 'mask1': {'arguments': {'data': {'from_node': 'reducedimension1'},\n", + " 'mask': {'from_node': 'reducedimension2'},\n", + " 'replacement': 2},\n", + " 'process_id': 'mask'},\n", + " 'reducedimension1': {'arguments': {'data': {'from_node': 'loadcollection1'},\n", + " 'dimension': 'bands',\n", + " 'reducer': {'process_graph': {'add1': {'arguments': {'x': {'from_node': 'arrayelement1'},\n", + " 'y': {'from_node': 'arrayelement2'}},\n", + " 'process_id': 'add'},\n", + " 'arrayelement1': {'arguments': {'data': {'from_parameter': 'data'},\n", + " 'index': 0},\n", + " 'process_id': 'array_element'},\n", + " 'arrayelement2': {'arguments': {'data': {'from_parameter': 'data'},\n", + " 'index': 1},\n", + " 'process_id': 'array_element'},\n", + " 'divide1': {'arguments': {'x': {'from_node': 'subtract1'},\n", + " 'y': {'from_node': 'add1'}},\n", + " 'process_id': 'divide'},\n", + " 'gt1': {'arguments': {'x': {'from_node': 'divide1'}, 'y': 0.4},\n", + " 'process_id': 'gt'},\n", + " 'multiply1': {'arguments': {'x': {'from_node': 'gt1'}, 'y': 1.0},\n", + " 'process_id': 'multiply',\n", + " 'result': True},\n", + " 'subtract1': {'arguments': {'x': {'from_node': 'arrayelement1'},\n", + " 'y': {'from_node': 'arrayelement2'}},\n", + " 'process_id': 'subtract'}}}},\n", + " 'process_id': 'reduce_dimension'},\n", + " 'reducedimension2': {'arguments': {'data': {'from_node': 'loadcollection1'},\n", + " 'dimension': 'bands',\n", + " 'reducer': {'process_graph': {'arrayelement3': {'arguments': {'data': {'from_parameter': 'data'},\n", + " 'index': 2},\n", + " 'process_id': 'array_element'},\n", + " 'eq1': {'arguments': {'x': {'from_node': 'arrayelement3'}, 'y': 8},\n", + " 'process_id': 'eq'},\n", + " 'eq2': {'arguments': {'x': {'from_node': 'arrayelement3'}, 'y': 9},\n", + " 'process_id': 'eq'},\n", + " 'eq3': {'arguments': {'x': {'from_node': 'arrayelement3'}, 'y': 3},\n", + " 'process_id': 'eq'},\n", + " 'multiply2': {'arguments': {'x': {'from_node': 'or2'}, 'y': 1.0},\n", + " 'process_id': 'multiply',\n", + " 'result': True},\n", + " 'or1': {'arguments': {'x': {'from_node': 'eq1'},\n", + " 'y': {'from_node': 'eq2'}},\n", + " 'process_id': 'or'},\n", + " 'or2': {'arguments': {'x': {'from_node': 'or1'},\n", + " 'y': {'from_node': 'eq3'}},\n", + " 'process_id': 'or'}}}},\n", + " 'process_id': 'reduce_dimension'},\n", + " 'reducedimension3': {'arguments': {'data': {'from_node': 'mask1'},\n", + " 'dimension': 't',\n", + " 'reducer': {'process_graph': {'median1': {'arguments': {'data': {'from_parameter': 'data'}},\n", + " 'process_id': 'median',\n", + " 'result': True}}}},\n", + " 'process_id': 'reduce_dimension'},\n", + " 'saveresult1': {'arguments': {'data': {'from_node': 'reducedimension3'},\n", + " 'format': 'GTiff',\n", + " 'options': {}},\n", + " 'process_id': 'save_result',\n", + " 'result': True}},\n", + " 'format': 'openeo'}],\n", + " 'processing:facility': 'openEO Geotrellis backend',\n", + " 'processing:software': {'Geotrellis backend': '0.24.0a1'},\n", + " 'roles': ['processor']}],\n", + " 'stac_extensions': ['https://stac-extensions.github.io/eo/v1.1.0/schema.json',\n", + " 'https://stac-extensions.github.io/file/v2.1.0/schema.json',\n", + " 'https://stac-extensions.github.io/processing/v1.1.0/schema.json',\n", + " 'https://stac-extensions.github.io/projection/v1.1.0/schema.json'],\n", + " 'stac_version': '1.0.0',\n", + " 'summaries': {'instruments': []},\n", + " 'title': 'snowmap_cog',\n", + " 'type': 'Collection'}" + ] + }, + "execution_count": 22, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "stac_collection = results.get_metadata()\n", + "stac_collection" + ] + }, + { + "cell_type": "markdown", + "id": "284412ab-7feb-45b3-8964-16416debcb4e", + "metadata": {}, + "source": [ + "### Adding Author of the data\n", + "\n", + "Add your information to become visible as author of the data - description of each field can be found here: https://github.com/radiantearth/stac-spec/blob/master/item-spec/common-metadata.md#provider-object\n", + "\n", + "Please note that leaving the field empty will lead to failed validation of STAC item" + ] + }, + { + "cell_type": "markdown", + "id": "4c19d94d-0beb-4ba9-b98b-a91939c22ee0", + "metadata": {}, + "source": [ + "**Attention:** Enter your full name and a short description of the snowmap you generated e.g. `name = \"Jane Doe\"` and `description = \"snow map of Merano\"`" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "id": "18559584-a4a0-41f5-846b-9decf42d6456", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "name = \"\"\n", + "description = \"\"" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "id": "058f0dcd-74e0-4a38-88be-8e77ea1d0f2b", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "author = [{\n", + " \"name\": name,\n", + " \"description\": description,\n", + " \"roles\": [\"processor\"],\n", + "}]\n", + "\n", + "providers = stac_collection[\"providers\"] + author\n", + "\n", + "author_id = [nam[:2] for nam in author[0][\"name\"].split(\" \")]\n", + "\n", + "# generate timestamp\n", + "ts = datetime.now().isoformat()\n", + "ts = ts.split(\"T\")[0]" + ] + }, + { + "cell_type": "markdown", + "id": "8a23469d-76aa-493f-abf5-d752ebcf8bfe", + "metadata": {}, + "source": [ + "Extract bbox information and temporal extent from the STAC collection that was delivered with the result from OpenEO. We are reusing it to create our STAC item. We have prepared these function for you `extract_metadata_geometry` and `extract_metadata_time`" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "id": "d82b0467-fd21-44f7-b0db-64cca0606ef7", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "geometry = extract_metadata_geometry(stac_collection)[1]" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "id": "30787523-02a1-4f2b-a903-3a8faddfe2a1", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "start_time, end_time = extract_metadata_time(stac_collection)" + ] + }, + { + "cell_type": "markdown", + "id": "c9cf787e-75f2-461f-85de-a378c4234105", + "metadata": {}, + "source": [ + "Since we calculated the statistics and renamed the file, we have to add this new file name to the STAC item." + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "id": "dcecb79c-8d2a-40ef-b2c5-4a350de9a8e9", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "filename = \"openEO_uint8.tif\"" + ] + }, + { + "cell_type": "markdown", + "id": "11d8875f-cf18-4749-ac6b-65dcf41cff2b", + "metadata": {}, + "source": [ + "Let's create the actual STAC item describing your data! As talked about in previous lessons, STAC item has various required fields which need to be present and filled correctly. For the field ID we assign the fixed name snowcover and the initials of your name. That will be visible on the STAC browser once you have submitted the result!" + ] + }, + { + "cell_type": "code", + "execution_count": 38, + "id": "16ae70a4-866c-4b61-8e5b-38e381722643", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "stac_item = {\n", + " \"type\": \"Feature\", \n", + " \"stac_version\": stac_collection[\"stac_version\"],\n", + " \"stac_extensions\": [],\n", + " \"id\": \"snowcover_\" + \"\".join(author_id).lower()+ \"_\" + str(ts),\n", + " \"geometry\": geometry,\n", + " \"bbox\": bbox,\n", + " \"properties\": {\n", + " \"datetime\": None, \n", + " \"start_datetime\": start_time,\n", + " \"end_datetime\": end_time,\n", + " \"providers\" : providers\n", + " },\n", + " \n", + " \"links\": stac_collection[\"links\"],\n", + " \"assets\": {\"visual\": {\n", + " \"href\": filename,\n", + " \"type\": \"image/tiff; application=geotiff; profile=cloud-optimized\",\n", + " \"title\": \"Snow coverage\",\n", + " \"roles\": [\n", + " \"data\"\n", + " ]\n", + " }\n", + " },\n", + "}" + ] + }, + { + "cell_type": "code", + "execution_count": 39, + "id": "8c00cfa0-571e-4518-8906-7983170246e8", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "data": { + "text/plain": [ + "{'type': 'Feature',\n", + " 'stac_version': '1.0.0',\n", + " 'stac_extensions': [],\n", + " 'id': 'snowcover_ruomba_2024-01-31',\n", + " 'geometry': {'type': 'Polygon',\n", + " 'coordinates': [[[11.461193783940812, 46.62835651400798],\n", + " [11.479180216059186, 46.62835651400798],\n", + " [11.479180216059186, 46.64670948599201],\n", + " [11.461193783940812, 46.64670948599201],\n", + " [11.461193783940812, 46.62835651400798]]]},\n", + " 'bbox': (11.461193783940812,\n", + " 46.62835651400798,\n", + " 11.479180216059186,\n", + " 46.64670948599201),\n", + " 'properties': {'datetime': None,\n", + " 'start_datetime': '2023-02-01T00:00:00Z',\n", + " 'end_datetime': '2023-06-01T00:00:00Z',\n", + " 'providers': [{'description': 'This data was processed on an openEO backend maintained by VITO.',\n", + " 'name': 'VITO',\n", + " 'processing:expression': [{'expression': {'loadcollection1': {'arguments': {'bands': ['B03',\n", + " 'B11',\n", + " 'SCL'],\n", + " 'id': 'SENTINEL2_L2A',\n", + " 'spatial_extent': {'crs': 4326,\n", + " 'east': 11.479180216059186,\n", + " 'north': 46.64670948599201,\n", + " 'south': 46.62835651400798,\n", + " 'west': 11.461193783940812},\n", + " 'temporal_extent': ['2023-02-01', '2023-06-01']},\n", + " 'process_id': 'load_collection'},\n", + " 'mask1': {'arguments': {'data': {'from_node': 'reducedimension1'},\n", + " 'mask': {'from_node': 'reducedimension2'},\n", + " 'replacement': 2},\n", + " 'process_id': 'mask'},\n", + " 'reducedimension1': {'arguments': {'data': {'from_node': 'loadcollection1'},\n", + " 'dimension': 'bands',\n", + " 'reducer': {'process_graph': {'add1': {'arguments': {'x': {'from_node': 'arrayelement1'},\n", + " 'y': {'from_node': 'arrayelement2'}},\n", + " 'process_id': 'add'},\n", + " 'arrayelement1': {'arguments': {'data': {'from_parameter': 'data'},\n", + " 'index': 0},\n", + " 'process_id': 'array_element'},\n", + " 'arrayelement2': {'arguments': {'data': {'from_parameter': 'data'},\n", + " 'index': 1},\n", + " 'process_id': 'array_element'},\n", + " 'divide1': {'arguments': {'x': {'from_node': 'subtract1'},\n", + " 'y': {'from_node': 'add1'}},\n", + " 'process_id': 'divide'},\n", + " 'gt1': {'arguments': {'x': {'from_node': 'divide1'}, 'y': 0.4},\n", + " 'process_id': 'gt'},\n", + " 'multiply1': {'arguments': {'x': {'from_node': 'gt1'}, 'y': 1.0},\n", + " 'process_id': 'multiply',\n", + " 'result': True},\n", + " 'subtract1': {'arguments': {'x': {'from_node': 'arrayelement1'},\n", + " 'y': {'from_node': 'arrayelement2'}},\n", + " 'process_id': 'subtract'}}}},\n", + " 'process_id': 'reduce_dimension'},\n", + " 'reducedimension2': {'arguments': {'data': {'from_node': 'loadcollection1'},\n", + " 'dimension': 'bands',\n", + " 'reducer': {'process_graph': {'arrayelement3': {'arguments': {'data': {'from_parameter': 'data'},\n", + " 'index': 2},\n", + " 'process_id': 'array_element'},\n", + " 'eq1': {'arguments': {'x': {'from_node': 'arrayelement3'}, 'y': 8},\n", + " 'process_id': 'eq'},\n", + " 'eq2': {'arguments': {'x': {'from_node': 'arrayelement3'}, 'y': 9},\n", + " 'process_id': 'eq'},\n", + " 'eq3': {'arguments': {'x': {'from_node': 'arrayelement3'}, 'y': 3},\n", + " 'process_id': 'eq'},\n", + " 'multiply2': {'arguments': {'x': {'from_node': 'or2'}, 'y': 1.0},\n", + " 'process_id': 'multiply',\n", + " 'result': True},\n", + " 'or1': {'arguments': {'x': {'from_node': 'eq1'},\n", + " 'y': {'from_node': 'eq2'}},\n", + " 'process_id': 'or'},\n", + " 'or2': {'arguments': {'x': {'from_node': 'or1'},\n", + " 'y': {'from_node': 'eq3'}},\n", + " 'process_id': 'or'}}}},\n", + " 'process_id': 'reduce_dimension'},\n", + " 'reducedimension3': {'arguments': {'data': {'from_node': 'mask1'},\n", + " 'dimension': 't',\n", + " 'reducer': {'process_graph': {'median1': {'arguments': {'data': {'from_parameter': 'data'}},\n", + " 'process_id': 'median',\n", + " 'result': True}}}},\n", + " 'process_id': 'reduce_dimension'},\n", + " 'saveresult1': {'arguments': {'data': {'from_node': 'reducedimension3'},\n", + " 'format': 'GTiff',\n", + " 'options': {}},\n", + " 'process_id': 'save_result',\n", + " 'result': True}},\n", + " 'format': 'openeo'}],\n", + " 'processing:facility': 'openEO Geotrellis backend',\n", + " 'processing:software': {'Geotrellis backend': '0.24.0a1'},\n", + " 'roles': ['processor']},\n", + " {'name': 'Rufai Omowunmi Balogun',\n", + " 'description': 'snow map of merano',\n", + " 'roles': ['processor']}]},\n", + " 'links': [{'href': '/eodata/Sentinel-2/MSI/L2A/2023/02/02/S2A_MSIL2A_20230202T101231_N0509_R022_T32TPS_20230202T142000.SAFE',\n", + " 'rel': 'derived_from',\n", + " 'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/02/02/S2A_MSIL2A_20230202T101231_N0509_R022_T32TPS_20230202T142000.SAFE',\n", + " 'type': 'application/json'},\n", + " {'href': '/eodata/Sentinel-2/MSI/L2A/2023/02/05/S2A_MSIL2A_20230205T102221_N0509_R065_T32TPS_20230205T135958.SAFE',\n", + " 'rel': 'derived_from',\n", + " 'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/02/05/S2A_MSIL2A_20230205T102221_N0509_R065_T32TPS_20230205T135958.SAFE',\n", + " 'type': 'application/json'},\n", + " {'href': '/eodata/Sentinel-2/MSI/L2A/2023/02/07/S2B_MSIL2A_20230207T101109_N0509_R022_T32TPS_20230207T124736.SAFE',\n", + " 'rel': 'derived_from',\n", + " 'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/02/07/S2B_MSIL2A_20230207T101109_N0509_R022_T32TPS_20230207T124736.SAFE',\n", + " 'type': 'application/json'},\n", + " {'href': '/eodata/Sentinel-2/MSI/L2A/2023/02/10/S2B_MSIL2A_20230210T102049_N0509_R065_T32TPS_20230210T125716.SAFE',\n", + " 'rel': 'derived_from',\n", + " 'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/02/10/S2B_MSIL2A_20230210T102049_N0509_R065_T32TPS_20230210T125716.SAFE',\n", + " 'type': 'application/json'},\n", + " {'href': '/eodata/Sentinel-2/MSI/L2A/2023/02/12/S2A_MSIL2A_20230212T101131_N0509_R022_T32TPS_20230212T142159.SAFE',\n", + " 'rel': 'derived_from',\n", + " 'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/02/12/S2A_MSIL2A_20230212T101131_N0509_R022_T32TPS_20230212T142159.SAFE',\n", + " 'type': 'application/json'},\n", + " {'href': '/eodata/Sentinel-2/MSI/L2A/2023/02/15/S2A_MSIL2A_20230215T102121_N0509_R065_T32TPS_20230215T141008.SAFE',\n", + " 'rel': 'derived_from',\n", + " 'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/02/15/S2A_MSIL2A_20230215T102121_N0509_R065_T32TPS_20230215T141008.SAFE',\n", + " 'type': 'application/json'},\n", + " {'href': '/eodata/Sentinel-2/MSI/L2A/2023/02/17/S2B_MSIL2A_20230217T101029_N0509_R022_T32TPS_20230217T125054.SAFE',\n", + " 'rel': 'derived_from',\n", + " 'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/02/17/S2B_MSIL2A_20230217T101029_N0509_R022_T32TPS_20230217T125054.SAFE',\n", + " 'type': 'application/json'},\n", + " {'href': '/eodata/Sentinel-2/MSI/L2A/2023/02/20/S2B_MSIL2A_20230220T101949_N0509_R065_T32TPS_20230220T145403.SAFE',\n", + " 'rel': 'derived_from',\n", + " 'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/02/20/S2B_MSIL2A_20230220T101949_N0509_R065_T32TPS_20230220T145403.SAFE',\n", + " 'type': 'application/json'},\n", + " {'href': '/eodata/Sentinel-2/MSI/L2A/2023/02/22/S2A_MSIL2A_20230222T101031_N0509_R022_T32TPS_20230222T141055.SAFE',\n", + " 'rel': 'derived_from',\n", + " 'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/02/22/S2A_MSIL2A_20230222T101031_N0509_R022_T32TPS_20230222T141055.SAFE',\n", + " 'type': 'application/json'},\n", + " {'href': '/eodata/Sentinel-2/MSI/L2A/2023/02/25/S2A_MSIL2A_20230225T102021_N0509_R065_T32TPS_20230225T163245.SAFE',\n", + " 'rel': 'derived_from',\n", + " 'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/02/25/S2A_MSIL2A_20230225T102021_N0509_R065_T32TPS_20230225T163245.SAFE',\n", + " 'type': 'application/json'},\n", + " {'href': '/eodata/Sentinel-2/MSI/L2A/2023/02/27/S2B_MSIL2A_20230227T101029_N0509_R022_T32TPS_20230227T124853.SAFE',\n", + " 'rel': 'derived_from',\n", + " 'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/02/27/S2B_MSIL2A_20230227T101029_N0509_R022_T32TPS_20230227T124853.SAFE',\n", + " 'type': 'application/json'},\n", + " {'href': '/eodata/Sentinel-2/MSI/L2A/2023/03/02/S2B_MSIL2A_20230302T101839_N0509_R065_T32TPS_20230302T165059.SAFE',\n", + " 'rel': 'derived_from',\n", + " 'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/03/02/S2B_MSIL2A_20230302T101839_N0509_R065_T32TPS_20230302T165059.SAFE',\n", + " 'type': 'application/json'},\n", + " {'href': '/eodata/Sentinel-2/MSI/L2A/2023/03/04/S2A_MSIL2A_20230304T101021_N0509_R022_T32TPS_20230907T154000.SAFE',\n", + " 'rel': 'derived_from',\n", + " 'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/03/04/S2A_MSIL2A_20230304T101021_N0509_R022_T32TPS_20230907T154000.SAFE',\n", + " 'type': 'application/json'},\n", + " {'href': '/eodata/Sentinel-2/MSI/L2A/2023/03/07/S2A_MSIL2A_20230307T101901_N0509_R065_T32TPS_20230307T162402.SAFE',\n", + " 'rel': 'derived_from',\n", + " 'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/03/07/S2A_MSIL2A_20230307T101901_N0509_R065_T32TPS_20230307T162402.SAFE',\n", + " 'type': 'application/json'},\n", + " {'href': '/eodata/Sentinel-2/MSI/L2A/2023/03/09/S2B_MSIL2A_20230309T100749_N0509_R022_T32TPS_20230309T162710.SAFE',\n", + " 'rel': 'derived_from',\n", + " 'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/03/09/S2B_MSIL2A_20230309T100749_N0509_R022_T32TPS_20230309T162710.SAFE',\n", + " 'type': 'application/json'},\n", + " {'href': '/eodata/Sentinel-2/MSI/L2A/2023/03/12/S2B_MSIL2A_20230312T101729_N0509_R065_T32TPS_20230312T163807.SAFE',\n", + " 'rel': 'derived_from',\n", + " 'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/03/12/S2B_MSIL2A_20230312T101729_N0509_R065_T32TPS_20230312T163807.SAFE',\n", + " 'type': 'application/json'},\n", + " {'href': '/eodata/Sentinel-2/MSI/L2A/2023/03/14/S2A_MSIL2A_20230314T101021_N0509_R022_T32TPS_20230314T161800.SAFE',\n", + " 'rel': 'derived_from',\n", + " 'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/03/14/S2A_MSIL2A_20230314T101021_N0509_R022_T32TPS_20230314T161800.SAFE',\n", + " 'type': 'application/json'},\n", + " {'href': '/eodata/Sentinel-2/MSI/L2A/2023/03/17/S2A_MSIL2A_20230317T101741_N0509_R065_T32TPS_20230317T162557.SAFE',\n", + " 'rel': 'derived_from',\n", + " 'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/03/17/S2A_MSIL2A_20230317T101741_N0509_R065_T32TPS_20230317T162557.SAFE',\n", + " 'type': 'application/json'},\n", + " {'href': '/eodata/Sentinel-2/MSI/L2A/2023/03/19/S2B_MSIL2A_20230319T100649_N0509_R022_T32TPS_20230319T130804.SAFE',\n", + " 'rel': 'derived_from',\n", + " 'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/03/19/S2B_MSIL2A_20230319T100649_N0509_R022_T32TPS_20230319T130804.SAFE',\n", + " 'type': 'application/json'},\n", + " {'href': '/eodata/Sentinel-2/MSI/L2A/2023/03/22/S2B_MSIL2A_20230322T101649_N0509_R065_T32TPS_20230322T145625.SAFE',\n", + " 'rel': 'derived_from',\n", + " 'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/03/22/S2B_MSIL2A_20230322T101649_N0509_R065_T32TPS_20230322T145625.SAFE',\n", + " 'type': 'application/json'},\n", + " {'href': '/eodata/Sentinel-2/MSI/L2A/2023/03/24/S2A_MSIL2A_20230324T101021_N0509_R022_T32TPS_20230324T161752.SAFE',\n", + " 'rel': 'derived_from',\n", + " 'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/03/24/S2A_MSIL2A_20230324T101021_N0509_R022_T32TPS_20230324T161752.SAFE',\n", + " 'type': 'application/json'},\n", + " {'href': '/eodata/Sentinel-2/MSI/L2A/2023/03/27/S2A_MSIL2A_20230327T101631_N0509_R065_T32TPS_20230327T162303.SAFE',\n", + " 'rel': 'derived_from',\n", + " 'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/03/27/S2A_MSIL2A_20230327T101631_N0509_R065_T32TPS_20230327T162303.SAFE',\n", + " 'type': 'application/json'},\n", + " {'href': '/eodata/Sentinel-2/MSI/L2A/2023/03/29/S2B_MSIL2A_20230329T100629_N0509_R022_T32TPS_20230329T130657.SAFE',\n", + " 'rel': 'derived_from',\n", + " 'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/03/29/S2B_MSIL2A_20230329T100629_N0509_R022_T32TPS_20230329T130657.SAFE',\n", + " 'type': 'application/json'},\n", + " {'href': '/eodata/Sentinel-2/MSI/L2A/2023/04/01/S2B_MSIL2A_20230401T101559_N0509_R065_T32TPS_20230401T145632.SAFE',\n", + " 'rel': 'derived_from',\n", + " 'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/04/01/S2B_MSIL2A_20230401T101559_N0509_R065_T32TPS_20230401T145632.SAFE',\n", + " 'type': 'application/json'},\n", + " {'href': '/eodata/Sentinel-2/MSI/L2A/2023/04/03/S2A_MSIL2A_20230403T100551_N0509_R022_T32TPS_20230403T162459.SAFE',\n", + " 'rel': 'derived_from',\n", + " 'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/04/03/S2A_MSIL2A_20230403T100551_N0509_R022_T32TPS_20230403T162459.SAFE',\n", + " 'type': 'application/json'},\n", + " {'href': '/eodata/Sentinel-2/MSI/L2A/2023/04/06/S2A_MSIL2A_20230406T102021_N0509_R065_T32TPS_20230406T194357.SAFE',\n", + " 'rel': 'derived_from',\n", + " 'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/04/06/S2A_MSIL2A_20230406T102021_N0509_R065_T32TPS_20230406T194357.SAFE',\n", + " 'type': 'application/json'},\n", + " {'href': '/eodata/Sentinel-2/MSI/L2A/2023/04/08/S2B_MSIL2A_20230408T100559_N0509_R022_T32TPS_20230408T131134.SAFE',\n", + " 'rel': 'derived_from',\n", + " 'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/04/08/S2B_MSIL2A_20230408T100559_N0509_R022_T32TPS_20230408T131134.SAFE',\n", + " 'type': 'application/json'},\n", + " {'href': '/eodata/Sentinel-2/MSI/L2A/2023/04/11/S2B_MSIL2A_20230411T101559_N0509_R065_T32TPS_20230411T131019.SAFE',\n", + " 'rel': 'derived_from',\n", + " 'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/04/11/S2B_MSIL2A_20230411T101559_N0509_R065_T32TPS_20230411T131019.SAFE',\n", + " 'type': 'application/json'},\n", + " {'href': '/eodata/Sentinel-2/MSI/L2A/2023/04/13/S2A_MSIL2A_20230413T100551_N0509_R022_T32TPS_20230413T161903.SAFE',\n", + " 'rel': 'derived_from',\n", + " 'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/04/13/S2A_MSIL2A_20230413T100551_N0509_R022_T32TPS_20230413T161903.SAFE',\n", + " 'type': 'application/json'},\n", + " {'href': '/eodata/Sentinel-2/MSI/L2A/2023/04/16/S2A_MSIL2A_20230416T101601_N0509_R065_T32TPS_20230416T162901.SAFE',\n", + " 'rel': 'derived_from',\n", + " 'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/04/16/S2A_MSIL2A_20230416T101601_N0509_R065_T32TPS_20230416T162901.SAFE',\n", + " 'type': 'application/json'},\n", + " {'href': '/eodata/Sentinel-2/MSI/L2A/2023/04/18/S2B_MSIL2A_20230418T100559_N0509_R022_T32TPS_20230418T131202.SAFE',\n", + " 'rel': 'derived_from',\n", + " 'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/04/18/S2B_MSIL2A_20230418T100559_N0509_R022_T32TPS_20230418T131202.SAFE',\n", + " 'type': 'application/json'},\n", + " {'href': '/eodata/Sentinel-2/MSI/L2A/2023/04/21/S2B_MSIL2A_20230421T101559_N0509_R065_T32TPS_20230421T131333.SAFE',\n", + " 'rel': 'derived_from',\n", + " 'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/04/21/S2B_MSIL2A_20230421T101559_N0509_R065_T32TPS_20230421T131333.SAFE',\n", + " 'type': 'application/json'},\n", + " {'href': '/eodata/Sentinel-2/MSI/L2A/2023/04/23/S2A_MSIL2A_20230423T100551_N0509_R022_T32TPS_20230423T162900.SAFE',\n", + " 'rel': 'derived_from',\n", + " 'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/04/23/S2A_MSIL2A_20230423T100551_N0509_R022_T32TPS_20230423T162900.SAFE',\n", + " 'type': 'application/json'},\n", + " {'href': '/eodata/Sentinel-2/MSI/L2A/2023/04/26/S2A_MSIL2A_20230426T101601_N0509_R065_T32TPS_20230426T162055.SAFE',\n", + " 'rel': 'derived_from',\n", + " 'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/04/26/S2A_MSIL2A_20230426T101601_N0509_R065_T32TPS_20230426T162055.SAFE',\n", + " 'type': 'application/json'},\n", + " {'href': '/eodata/Sentinel-2/MSI/L2A/2023/04/28/S2B_MSIL2A_20230428T100559_N0509_R022_T32TPS_20230428T133214.SAFE',\n", + " 'rel': 'derived_from',\n", + " 'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/04/28/S2B_MSIL2A_20230428T100559_N0509_R022_T32TPS_20230428T133214.SAFE',\n", + " 'type': 'application/json'},\n", + " {'href': '/eodata/Sentinel-2/MSI/L2A/2023/05/01/S2B_MSIL2A_20230501T101559_N0509_R065_T32TPS_20230501T132325.SAFE',\n", + " 'rel': 'derived_from',\n", + " 'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/05/01/S2B_MSIL2A_20230501T101559_N0509_R065_T32TPS_20230501T132325.SAFE',\n", + " 'type': 'application/json'},\n", + " {'href': '/eodata/Sentinel-2/MSI/L2A/2023/05/03/S2A_MSIL2A_20230503T101021_N0509_R022_T32TPS_20230503T180406.SAFE',\n", + " 'rel': 'derived_from',\n", + " 'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/05/03/S2A_MSIL2A_20230503T101021_N0509_R022_T32TPS_20230503T180406.SAFE',\n", + " 'type': 'application/json'},\n", + " {'href': '/eodata/Sentinel-2/MSI/L2A/2023/05/06/S2A_MSIL2A_20230506T101601_N0509_R065_T32TPS_20230506T162659.SAFE',\n", + " 'rel': 'derived_from',\n", + " 'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/05/06/S2A_MSIL2A_20230506T101601_N0509_R065_T32TPS_20230506T162659.SAFE',\n", + " 'type': 'application/json'},\n", + " {'href': '/eodata/Sentinel-2/MSI/L2A/2023/05/08/S2B_MSIL2A_20230508T100559_N0509_R022_T32TPS_20230508T131238.SAFE',\n", + " 'rel': 'derived_from',\n", + " 'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/05/08/S2B_MSIL2A_20230508T100559_N0509_R022_T32TPS_20230508T131238.SAFE',\n", + " 'type': 'application/json'},\n", + " {'href': '/eodata/Sentinel-2/MSI/L2A/2023/05/11/S2B_MSIL2A_20230511T101559_N0509_R065_T32TPS_20230511T163715.SAFE',\n", + " 'rel': 'derived_from',\n", + " 'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/05/11/S2B_MSIL2A_20230511T101559_N0509_R065_T32TPS_20230511T163715.SAFE',\n", + " 'type': 'application/json'},\n", + " {'href': '/eodata/Sentinel-2/MSI/L2A/2023/05/13/S2A_MSIL2A_20230513T100551_N0509_R022_T32TPS_20230513T161552.SAFE',\n", + " 'rel': 'derived_from',\n", + " 'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/05/13/S2A_MSIL2A_20230513T100551_N0509_R022_T32TPS_20230513T161552.SAFE',\n", + " 'type': 'application/json'},\n", + " {'href': '/eodata/Sentinel-2/MSI/L2A/2023/05/16/S2A_MSIL2A_20230516T101601_N0509_R065_T32TPS_20230516T181153.SAFE',\n", + " 'rel': 'derived_from',\n", + " 'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/05/16/S2A_MSIL2A_20230516T101601_N0509_R065_T32TPS_20230516T181153.SAFE',\n", + " 'type': 'application/json'},\n", + " {'href': '/eodata/Sentinel-2/MSI/L2A/2023/05/18/S2B_MSIL2A_20230518T100559_N0509_R022_T32TPS_20230518T144255.SAFE',\n", + " 'rel': 'derived_from',\n", + " 'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/05/18/S2B_MSIL2A_20230518T100559_N0509_R022_T32TPS_20230518T144255.SAFE',\n", + " 'type': 'application/json'},\n", + " {'href': '/eodata/Sentinel-2/MSI/L2A/2023/05/21/S2B_MSIL2A_20230521T101609_N0509_R065_T32TPS_20230521T131745.SAFE',\n", + " 'rel': 'derived_from',\n", + " 'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/05/21/S2B_MSIL2A_20230521T101609_N0509_R065_T32TPS_20230521T131745.SAFE',\n", + " 'type': 'application/json'},\n", + " {'href': '/eodata/Sentinel-2/MSI/L2A/2023/05/23/S2A_MSIL2A_20230523T100601_N0509_R022_T32TPS_20230523T161057.SAFE',\n", + " 'rel': 'derived_from',\n", + " 'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/05/23/S2A_MSIL2A_20230523T100601_N0509_R022_T32TPS_20230523T161057.SAFE',\n", + " 'type': 'application/json'},\n", + " {'href': '/eodata/Sentinel-2/MSI/L2A/2023/05/26/S2A_MSIL2A_20230526T101601_N0509_R065_T32TPS_20230526T162854.SAFE',\n", + " 'rel': 'derived_from',\n", + " 'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/05/26/S2A_MSIL2A_20230526T101601_N0509_R065_T32TPS_20230526T162854.SAFE',\n", + " 'type': 'application/json'},\n", + " {'href': '/eodata/Sentinel-2/MSI/L2A/2023/05/28/S2B_MSIL2A_20230528T100559_N0509_R022_T32TPS_20230528T131159.SAFE',\n", + " 'rel': 'derived_from',\n", + " 'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/05/28/S2B_MSIL2A_20230528T100559_N0509_R022_T32TPS_20230528T131159.SAFE',\n", + " 'type': 'application/json'},\n", + " {'href': '/eodata/Sentinel-2/MSI/L2A/2023/05/31/S2B_MSIL2A_20230531T101559_N0509_R065_T32TPS_20230531T131936.SAFE',\n", + " 'rel': 'derived_from',\n", + " 'title': 'Derived from /eodata/Sentinel-2/MSI/L2A/2023/05/31/S2B_MSIL2A_20230531T101559_N0509_R065_T32TPS_20230531T131936.SAFE',\n", + " 'type': 'application/json'},\n", + " {'href': 'https://openeo.dataspace.copernicus.eu/openeo/1.2/jobs/j-2401318f19a84122b62657ed798f0c9e/results',\n", + " 'rel': 'self',\n", + " 'type': 'application/json'},\n", + " {'href': 'https://openeo.dataspace.copernicus.eu/openeo/1.2/jobs/j-2401318f19a84122b62657ed798f0c9e/results/MDYxODNjYmMtODRjOC00YzZhLThhN2QtY2IxOGJhMDhjYzhj/e967c4ba33e20f0757876cf974ef7eb7?expires=1707311403',\n", + " 'rel': 'canonical',\n", + " 'type': 'application/json'},\n", + " {'href': 'http://ceos.org/ard/files/PFS/SR/v5.0/CARD4L_Product_Family_Specification_Surface_Reflectance-v5.0.pdf',\n", + " 'rel': 'card4l-document',\n", + " 'type': 'application/pdf'},\n", + " {'href': 'https://openeo.dataspace.copernicus.eu/openeo/1.2/jobs/j-2401318f19a84122b62657ed798f0c9e/results/items/MDYxODNjYmMtODRjOC00YzZhLThhN2QtY2IxOGJhMDhjYzhj/ed41e358ad1fe308f681e33015b06869/openEO.tif?expires=1707311403',\n", + " 'rel': 'item',\n", + " 'type': 'application/geo+json'}],\n", + " 'assets': {'visual': {'href': 'openEO_uint8.tif',\n", + " 'type': 'image/tiff; application=geotiff; profile=cloud-optimized',\n", + " 'title': 'Snow coverage',\n", + " 'roles': ['data']}}}" + ] + }, + "execution_count": 39, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "stac_item" + ] + }, + { + "cell_type": "markdown", + "id": "f8c55b3d-1d3f-4584-9c1c-e00511288e77", + "metadata": {}, + "source": [ + "Saving the resulting item as stac_item.json into results folder" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "cc6b58e1-e759-4943-85b8-bad6716181ab", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "stac_json = json.dumps(stac_item)\n", + "with open(\"33_results/stac_item.json\", \"w\") as file:\n", + " file.write(stac_json)" + ] + }, + { + "cell_type": "markdown", + "id": "5a5064ba-5d1a-4f49-8502-c715a6032856", + "metadata": {}, + "source": [ + "Validating that STAC item is important - non valid STAC will not be displayed in the STAC browser after upload" + ] + }, + { + "cell_type": "code", + "execution_count": 41, + "id": "f1495fcc-19fe-46df-bf95-ac4c470696d5", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[{'version': '1.0.0', 'path': None, 'schema': ['https://schemas.stacspec.org/v1.0.0/item-spec/json-schema/item.json'], 'valid_stac': True, 'asset_type': 'ITEM', 'validation_method': 'default'}]\n" + ] + } + ], + "source": [ + "from stac_validator import stac_validator\n", + "import requests\n", + "stac = stac_validator.StacValidate()\n", + "f = open('33_results/stac_item.json')\n", + "data = json.load(f)\n", + "stac.validate_dict(data)\n", + "print(stac.message)" + ] + }, + { + "cell_type": "markdown", + "id": "75e00b43-d734-4496-ae3f-483d6ae12263", + "metadata": {}, + "source": [ + "### Now it is time to upload solution to the submission folder and make results visible in STAC browser" + ] + }, + { + "cell_type": "markdown", + "id": "bca36260-960e-4a69-bef8-9fb6fc880360", + "metadata": {}, + "source": [ + "Upload both the STAC json file and the final .tif file to \"submissions\" folder in your home directory\n", + "\n", + "You can use the code below to copy the results to the submissions folder" + ] + }, + { + "cell_type": "code", + "execution_count": 49, + "id": "eb8c033c-9c51-4a0e-8fa9-79d38871721b", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "!cp ./33_results/stac_item.json ~/submissions/\n", + "!cp ./33_results/openEO_uint8.tif ~/submissions/" + ] + }, + { + "cell_type": "markdown", + "id": "900bdab1-26b5-41d3-bfb0-5c7091e2c4c3", + "metadata": {}, + "source": [ + "And now by executing the cell below, update of the STAC browser will start. By this, you are uploading your results to the openly available STAC browser. This might take some minutes." + ] + }, + { + "cell_type": "code", + "execution_count": 50, + "id": "c8a56d8e-3b80-40f3-bcba-b2cfac968bdd", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "env_var1 = os.getenv('EMAIL')\n", + "curl_command = f\"curl -X POST -F token=glptt-42d31ac6f592a9e321d0e4877e654dc50dcf4854 -F ref=main -F 'variables[USER_DIRECTORY]=\\\"{env_var1}\\\"' https://gitlab.eox.at/api/v4/projects/554/trigger/pipeline\" \n", + "process = subprocess.Popen(curl_command, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)\n", + "stdout, stderr = process.communicate()" + ] + }, + { + "cell_type": "markdown", + "id": "427c1b95-039c-41b3-93c7-3fd6471fd1c4", + "metadata": {}, + "source": [ + "### Your results are online!\n", + "You can now browse your results together with all the other submissions at the publicly available STAC Catalog! You can check your snow cover map, that you are correctly listed as the author and that your contribution has the correct name. The license on the STAC Collection \"Cubes and Clouds: Snow Cover\" is CC-BY-4.0. The STAC Collection also has it's own DOI.\n", + "\n", + "Congratulations you have just contributed to a community mapping project that is completely open source, open data and FAIR! Make sure to show it also to your friends, colleagues or potential employers :)\n", + "\n", + "https://esa.pages.eox.at/cubes-and-clouds-catalog/browser/#/?.language=en" + ] + }, + { + "cell_type": "markdown", + "id": "d25e8ab2-097d-4ad2-a33f-58e1a7833598", + "metadata": {}, + "source": [ + "If you would like to redo your submission, you can still update your files in submissions folder and once ready, run again the code in the cell above. " + ] + }, + { + "cell_type": "markdown", + "id": "a15589c8-9956-4df5-a55a-48ccb77173b5", + "metadata": {}, + "source": [ + "**Attention:** If you have previously opened the STAC browser, your old submission will be cached and not directly displayed. To circumvent this, open a private window from your browser." + ] + }, + { + "cell_type": "markdown", + "id": "32e011fc-53ec-44b6-9611-4de13f739973", + "metadata": { + "tags": [] + }, + "source": [ + "Happy coding!" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "cubes-and-clouds-cubes-and-clouds2", + "language": "python", + "name": "conda-env-cubes-and-clouds-cubes-and-clouds2-py" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.7" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/_sources/9.9_master_asi_conae/s2_sca.ipynb b/_sources/9.9_master_asi_conae/s2_sca.ipynb new file mode 100644 index 0000000..826a345 --- /dev/null +++ b/_sources/9.9_master_asi_conae/s2_sca.ipynb @@ -0,0 +1,13569 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "1addb5d4-3779-465d-916c-2ecdc3e6acf0", + "metadata": {}, + "source": [ + "# Sentinel-2 snow cover area (SCA) time series" + ] + }, + { + "cell_type": "markdown", + "id": "6f3e59b5-800a-4c59-ad38-782ae0a38f80", + "metadata": {}, + "source": [ + "This notebook will show how to generate a snow cover area time series for a given catchment of interest from Sentinel-2 images." + ] + }, + { + "cell_type": "markdown", + "id": "bdce1ce0-dc03-48a1-9e24-01b3a01973ee", + "metadata": {}, + "source": [ + "### Importing dependencies" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "59484b79-55a6-4af7-8ade-a7ddc0c7e28a", + "metadata": {}, + "outputs": [], + "source": [ + "# xcube_sh imports\n", + "from xcube_sh.cube import open_cube\n", + "from xcube_sh.config import CubeConfig\n", + "from xcube_sh.sentinelhub import SentinelHub\n", + "\n", + "# xcube imports\n", + "from xcube.core.geom import mask_dataset_by_geometry\n", + "\n", + "# Various utilities\n", + "from datetime import date\n", + "import numpy as np\n", + "import pandas as pd\n", + "import geopandas as gpd\n", + "import matplotlib.pyplot as plt\n", + "\n", + "import folium" + ] + }, + { + "cell_type": "markdown", + "id": "56c43a31-7032-44e6-9199-012937c91bf2", + "metadata": {}, + "source": [ + "### Select a region of interest" + ] + }, + { + "cell_type": "markdown", + "id": "ad9fc5e5-a454-4a0d-8a89-a3e889ab8d4c", + "metadata": {}, + "source": [ + "Load and visualize a test catchment outline which will be used as a reogion of interest in this example" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "d89e7d46-3845-43b3-91dd-38aa89134a90", + "metadata": {}, + "outputs": [], + "source": [ + "catchment_outline = gpd.read_file('catchment_outline.geojson')" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "b4daaec7-8d90-4751-ab60-6927f0b9c5fa", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/tmp/ipykernel_72/1928884253.py:1: UserWarning: Geometry is in a geographic CRS. Results from 'centroid' are likely incorrect. Use 'GeoSeries.to_crs()' to re-project geometries to a projected CRS before this operation.\n", + "\n", + " m = folium.Map(location=[catchment_outline.centroid.y, catchment_outline.centroid.x])\n", + "/tmp/ipykernel_72/1928884253.py:1: UserWarning: Geometry is in a geographic CRS. Results from 'centroid' are likely incorrect. Use 'GeoSeries.to_crs()' to re-project geometries to a projected CRS before this operation.\n", + "\n", + " m = folium.Map(location=[catchment_outline.centroid.y, catchment_outline.centroid.x])\n" + ] + }, + { + "data": { + "text/html": [ + "
Make this Notebook Trusted to load map: File -> Trust Notebook
" + ], + "text/plain": [ + "" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "m = folium.Map(location=[catchment_outline.centroid.y, catchment_outline.centroid.x])\n", + "folium.GeoJson(data=catchment_outline.to_json(), name='catchment').add_to(m)\n", + "m" + ] + }, + { + "cell_type": "markdown", + "id": "2044cc73-a6da-4992-89ae-06f6bebf0278", + "metadata": {}, + "source": [ + "### Configuring the data content of the cube" + ] + }, + { + "cell_type": "markdown", + "id": "bb7f05c5-aeca-4e95-8682-8dc05a2db8c1", + "metadata": {}, + "source": [ + "We need to set the following configuration input variable to define the content of the data cube we want to access\n", + "- dataset name\n", + "- band names\n", + "- time range\n", + "- the area of interest specifed via bounding box coordinates\n", + "- spatial resolution\n", + "\n", + "To select the correct dataset we can first list all the available dataset:" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "21e3b276-5d6a-498f-b40f-d2bae04a1e95", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "['LETML1',\n", + " 'LOTL1',\n", + " 'LETML2',\n", + " 'CUSTOM',\n", + " 'LMSSL1',\n", + " 'LTML2',\n", + " 'LOTL2',\n", + " 'S3OLCI',\n", + " 'S3SLSTR',\n", + " 'DEM',\n", + " 'MODIS',\n", + " 'S5PL2',\n", + " 'HLS',\n", + " 'LTML1',\n", + " 'S1GRD',\n", + " 'S2L2A',\n", + " 'S2L1C']" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "SH = SentinelHub()\n", + "SH.dataset_names" + ] + }, + { + "cell_type": "markdown", + "id": "b531ac16-c33f-44b6-8852-4aadf0e29ca5", + "metadata": {}, + "source": [ + "We want to use the Sentinel-2 L2A product. Then the configuration variable `dataset_name` can be set equal to `'S2L2A'`. \n", + "\n", + "Then we can visualize all the bands for the S2L2A dataset (the documentation to this dataset can be read at https://docs.sentinel-hub.com/api/latest/data/sentinel-2-l2a/):" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "54c10cc6-c786-4247-b9ec-fd0f692e8aa3", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "['B01',\n", + " 'B02',\n", + " 'B03',\n", + " 'B04',\n", + " 'B05',\n", + " 'B06',\n", + " 'B07',\n", + " 'B08',\n", + " 'B8A',\n", + " 'B09',\n", + " 'B11',\n", + " 'B12',\n", + " 'SCL',\n", + " 'SNW',\n", + " 'CLD',\n", + " 'viewZenithMean',\n", + " 'viewAzimuthMean',\n", + " 'sunZenithAngles',\n", + " 'sunAzimuthAngles',\n", + " 'AOT',\n", + " 'CLM',\n", + " 'CLP']" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "SH.band_names('S2L2A')" + ] + }, + { + "cell_type": "markdown", + "id": "49987297-f8c0-4acb-a0e3-271dd742017d", + "metadata": {}, + "source": [ + "As a time range we will focus on the snow melting season 2018, in particular from Febraury to June 2018:" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "aa280bb7-ed5d-4058-bbc8-b50660159d15", + "metadata": {}, + "outputs": [], + "source": [ + "start_date = date(2018, 2, 1)\n", + "end_date = date(2018, 6, 30)" + ] + }, + { + "cell_type": "markdown", + "id": "fd6bc6d9-269f-439d-8547-8de04dd8a7fe", + "metadata": {}, + "source": [ + "Now we need to extract the bounding box of the catchment outline, which will be used to access the needed Sentinel-2 data in our region of interest" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "id": "dff9f6de-a3e9-406d-ab79-37851cd245f5", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "minx 11.020833\n", + "miny 46.653599\n", + "maxx 11.366667\n", + "maxy 46.954167\n", + "Name: 0, dtype: float64" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "bbox = catchment_outline.bounds.iloc[0]\n", + "bbox" + ] + }, + { + "cell_type": "markdown", + "id": "2865cbba-ce51-44db-b85c-b0a8fbfa8fcc", + "metadata": {}, + "source": [ + "### Create a Sentinel-2 RGB " + ] + }, + { + "cell_type": "markdown", + "id": "f07cd6ac-3c29-4be2-92da-f2a355934f74", + "metadata": {}, + "source": [ + "As a first step we will create a RGB data cube from Sentinel-2, including a cloud cover map (CLM). This can be useful to visualize the Sentinel-2 images for some specific date. The spatial resolution set for this cube will be 0.00018 degree, which correspond roughly to the native 10 meter resolution of the Sentinel-2 visible bands (B02: blue, B03: green, B04: red)" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "id": "6d035a98-5d6f-49ce-ab6d-ff7c91c77e16", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/home/conda/master-asi-conae/315434deb1b1e05eacacc41e1b0529b1837100f46402a32041d77ba54ae6c5f3-20230213-125825-013239-74-edc-2022.10-14/lib/python3.9/site-packages/xcube_sh/config.py:248: FutureWarning: Units 'M', 'Y' and 'y' do not represent unambiguous timedelta values and will be removed in a future version.\n", + " time_tolerance = pd.to_timedelta(time_tolerance)\n" + ] + } + ], + "source": [ + "cube_config_s2rgb = CubeConfig(\n", + " dataset_name='S2L2A',\n", + " band_names=['B02', 'B03', 'B04', 'CLM'],\n", + " bbox=bbox.tolist(),\n", + " spatial_res=0.00018,\n", + " time_range=[start_date.strftime(\"%Y-%m-%d\"), end_date.strftime(\"%Y-%m-%d\")]\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "49be7ab5-033e-4b18-9b35-e06137271bf7", + "metadata": {}, + "source": [ + "Loading the data into the cube" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "id": "ccfb53a4-2273-4c39-b658-0839d41d9b24", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "
<xarray.Dataset>\n",
+       "Dimensions:    (time: 58, lat: 1864, lon: 2146, bnds: 2)\n",
+       "Coordinates:\n",
+       "  * lat        (lat) float64 46.99 46.99 46.99 46.99 ... 46.65 46.65 46.65 46.65\n",
+       "  * lon        (lon) float64 11.02 11.02 11.02 11.02 ... 11.41 11.41 11.41 11.41\n",
+       "  * time       (time) datetime64[ns] 2018-02-01T10:22:37 ... 2018-06-28T10:13:58\n",
+       "    time_bnds  (time, bnds) datetime64[ns] dask.array<chunksize=(58, 2), meta=np.ndarray>\n",
+       "Dimensions without coordinates: bnds\n",
+       "Data variables:\n",
+       "    B02        (time, lat, lon) float32 dask.array<chunksize=(1, 932, 1073), meta=np.ndarray>\n",
+       "    B03        (time, lat, lon) float32 dask.array<chunksize=(1, 932, 1073), meta=np.ndarray>\n",
+       "    B04        (time, lat, lon) float32 dask.array<chunksize=(1, 932, 1073), meta=np.ndarray>\n",
+       "    CLM        (time, lat, lon) float32 dask.array<chunksize=(1, 932, 1073), meta=np.ndarray>\n",
+       "Attributes:\n",
+       "    Conventions:             CF-1.7\n",
+       "    title:                   S2L2A Data Cube Subset\n",
+       "    history:                 [{'program': 'xcube_sh.chunkstore.SentinelHubChu...\n",
+       "    date_created:            2023-02-21T09:43:08.149994\n",
+       "    time_coverage_start:     2018-02-01T10:22:37+00:00\n",
+       "    time_coverage_end:       2018-06-28T10:13:58+00:00\n",
+       "    time_coverage_duration:  P146DT23H51M21S\n",
+       "    geospatial_lon_min:      11.020833333333357\n",
+       "    geospatial_lat_min:      46.653599378797765\n",
+       "    geospatial_lon_max:      11.407113333333356\n",
+       "    geospatial_lat_max:      46.98911937879777\n",
+       "    processing_level:        L2A
" + ], + "text/plain": [ + "\n", + "Dimensions: (time: 58, lat: 1864, lon: 2146, bnds: 2)\n", + "Coordinates:\n", + " * lat (lat) float64 46.99 46.99 46.99 46.99 ... 46.65 46.65 46.65 46.65\n", + " * lon (lon) float64 11.02 11.02 11.02 11.02 ... 11.41 11.41 11.41 11.41\n", + " * time (time) datetime64[ns] 2018-02-01T10:22:37 ... 2018-06-28T10:13:58\n", + " time_bnds (time, bnds) datetime64[ns] dask.array\n", + "Dimensions without coordinates: bnds\n", + "Data variables:\n", + " B02 (time, lat, lon) float32 dask.array\n", + " B03 (time, lat, lon) float32 dask.array\n", + " B04 (time, lat, lon) float32 dask.array\n", + " CLM (time, lat, lon) float32 dask.array\n", + "Attributes:\n", + " Conventions: CF-1.7\n", + " title: S2L2A Data Cube Subset\n", + " history: [{'program': 'xcube_sh.chunkstore.SentinelHubChu...\n", + " date_created: 2023-02-21T09:43:08.149994\n", + " time_coverage_start: 2018-02-01T10:22:37+00:00\n", + " time_coverage_end: 2018-06-28T10:13:58+00:00\n", + " time_coverage_duration: P146DT23H51M21S\n", + " geospatial_lon_min: 11.020833333333357\n", + " geospatial_lat_min: 46.653599378797765\n", + " geospatial_lon_max: 11.407113333333356\n", + " geospatial_lat_max: 46.98911937879777\n", + " processing_level: L2A" + ] + }, + "execution_count": 15, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "cube_s2rgb = open_cube(cube_config_s2rgb)\n", + "cube_s2rgb" + ] + }, + { + "cell_type": "markdown", + "id": "89f3f387-e761-4951-b63a-b2590e0480a0", + "metadata": {}, + "source": [ + "Show the date list of the data in the cube" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "id": "aa91d0da-1c70-464c-8929-e516c351bdce", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "
<xarray.DataArray 'time' (time: 58)>\n",
+       "array(['2018-02-01T10:22:37.000000000', '2018-02-03T10:12:37.000000000',\n",
+       "       '2018-02-06T10:22:06.000000000', '2018-02-08T10:11:53.000000000',\n",
+       "       '2018-02-11T10:25:59.000000000', '2018-02-13T10:15:59.000000000',\n",
+       "       '2018-02-16T10:26:01.000000000', '2018-02-18T10:13:13.000000000',\n",
+       "       '2018-02-21T10:20:33.000000000', '2018-02-23T10:15:08.000000000',\n",
+       "       '2018-02-26T10:20:50.000000000', '2018-02-28T10:10:21.000000000',\n",
+       "       '2018-03-03T10:27:07.000000000', '2018-03-05T10:13:15.000000000',\n",
+       "       '2018-03-08T10:22:41.000000000', '2018-03-10T10:10:20.000000000',\n",
+       "       '2018-03-13T10:25:40.000000000', '2018-03-15T10:10:38.000000000',\n",
+       "       '2018-03-20T10:10:21.000000000', '2018-03-23T10:20:21.000000000',\n",
+       "       '2018-03-25T10:15:11.000000000', '2018-03-28T10:23:58.000000000',\n",
+       "       '2018-03-30T10:16:20.000000000', '2018-04-02T10:24:35.000000000',\n",
+       "       '2018-04-04T10:10:21.000000000', '2018-04-07T10:20:20.000000000',\n",
+       "       '2018-04-09T10:13:43.000000000', '2018-04-12T10:20:24.000000000',\n",
+       "       '2018-04-14T10:15:36.000000000', '2018-04-17T10:20:21.000000000',\n",
+       "       '2018-04-19T10:14:57.000000000', '2018-04-22T10:21:15.000000000',\n",
+       "       '2018-04-24T10:15:26.000000000', '2018-04-27T10:20:22.000000000',\n",
+       "       '2018-04-29T10:12:58.000000000', '2018-05-02T10:24:34.000000000',\n",
+       "       '2018-05-04T10:10:23.000000000', '2018-05-07T10:26:48.000000000',\n",
+       "       '2018-05-09T10:16:21.000000000', '2018-05-12T10:21:48.000000000',\n",
+       "       '2018-05-14T10:10:52.000000000', '2018-05-17T10:22:09.000000000',\n",
+       "       '2018-05-19T10:12:07.000000000', '2018-05-22T10:20:25.000000000',\n",
+       "       '2018-05-24T10:10:22.000000000', '2018-05-29T10:12:25.000000000',\n",
+       "       '2018-06-01T10:20:24.000000000', '2018-06-03T10:13:29.000000000',\n",
+       "       '2018-06-06T10:25:12.000000000', '2018-06-08T10:17:26.000000000',\n",
+       "       '2018-06-11T10:26:34.000000000', '2018-06-13T10:14:24.000000000',\n",
+       "       '2018-06-16T10:20:21.000000000', '2018-06-18T10:17:33.000000000',\n",
+       "       '2018-06-21T10:23:16.000000000', '2018-06-23T10:11:39.000000000',\n",
+       "       '2018-06-26T10:26:26.000000000', '2018-06-28T10:13:58.000000000'],\n",
+       "      dtype='datetime64[ns]')\n",
+       "Coordinates:\n",
+       "  * time     (time) datetime64[ns] 2018-02-01T10:22:37 ... 2018-06-28T10:13:58\n",
+       "Attributes:\n",
+       "    standard_name:  time\n",
+       "    bounds:         time_bnds
" + ], + "text/plain": [ + "\n", + "array(['2018-02-01T10:22:37.000000000', '2018-02-03T10:12:37.000000000',\n", + " '2018-02-06T10:22:06.000000000', '2018-02-08T10:11:53.000000000',\n", + " '2018-02-11T10:25:59.000000000', '2018-02-13T10:15:59.000000000',\n", + " '2018-02-16T10:26:01.000000000', '2018-02-18T10:13:13.000000000',\n", + " '2018-02-21T10:20:33.000000000', '2018-02-23T10:15:08.000000000',\n", + " '2018-02-26T10:20:50.000000000', '2018-02-28T10:10:21.000000000',\n", + " '2018-03-03T10:27:07.000000000', '2018-03-05T10:13:15.000000000',\n", + " '2018-03-08T10:22:41.000000000', '2018-03-10T10:10:20.000000000',\n", + " '2018-03-13T10:25:40.000000000', '2018-03-15T10:10:38.000000000',\n", + " '2018-03-20T10:10:21.000000000', '2018-03-23T10:20:21.000000000',\n", + " '2018-03-25T10:15:11.000000000', '2018-03-28T10:23:58.000000000',\n", + " '2018-03-30T10:16:20.000000000', '2018-04-02T10:24:35.000000000',\n", + " '2018-04-04T10:10:21.000000000', '2018-04-07T10:20:20.000000000',\n", + " '2018-04-09T10:13:43.000000000', '2018-04-12T10:20:24.000000000',\n", + " '2018-04-14T10:15:36.000000000', '2018-04-17T10:20:21.000000000',\n", + " '2018-04-19T10:14:57.000000000', '2018-04-22T10:21:15.000000000',\n", + " '2018-04-24T10:15:26.000000000', '2018-04-27T10:20:22.000000000',\n", + " '2018-04-29T10:12:58.000000000', '2018-05-02T10:24:34.000000000',\n", + " '2018-05-04T10:10:23.000000000', '2018-05-07T10:26:48.000000000',\n", + " '2018-05-09T10:16:21.000000000', '2018-05-12T10:21:48.000000000',\n", + " '2018-05-14T10:10:52.000000000', '2018-05-17T10:22:09.000000000',\n", + " '2018-05-19T10:12:07.000000000', '2018-05-22T10:20:25.000000000',\n", + " '2018-05-24T10:10:22.000000000', '2018-05-29T10:12:25.000000000',\n", + " '2018-06-01T10:20:24.000000000', '2018-06-03T10:13:29.000000000',\n", + " '2018-06-06T10:25:12.000000000', '2018-06-08T10:17:26.000000000',\n", + " '2018-06-11T10:26:34.000000000', '2018-06-13T10:14:24.000000000',\n", + " '2018-06-16T10:20:21.000000000', '2018-06-18T10:17:33.000000000',\n", + " '2018-06-21T10:23:16.000000000', '2018-06-23T10:11:39.000000000',\n", + " '2018-06-26T10:26:26.000000000', '2018-06-28T10:13:58.000000000'],\n", + " dtype='datetime64[ns]')\n", + "Coordinates:\n", + " * time (time) datetime64[ns] 2018-02-01T10:22:37 ... 2018-06-28T10:13:58\n", + "Attributes:\n", + " standard_name: time\n", + " bounds: time_bnds" + ] + }, + "execution_count": 16, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "cube_s2rgb.time" + ] + }, + { + "cell_type": "markdown", + "id": "6a0768dd-48e2-4a10-ad25-c6631fd723f6", + "metadata": {}, + "source": [ + "Show a band image for one date" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "id": "209dbede-ee62-42e9-88ec-b80a27e9b6bf", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "
<xarray.DataArray 'B03' (lat: 1864, lon: 2146)>\n",
+       "dask.array<getitem, shape=(1864, 2146), dtype=float32, chunksize=(932, 1073), chunktype=numpy.ndarray>\n",
+       "Coordinates:\n",
+       "  * lat      (lat) float64 46.99 46.99 46.99 46.99 ... 46.65 46.65 46.65 46.65\n",
+       "  * lon      (lon) float64 11.02 11.02 11.02 11.02 ... 11.41 11.41 11.41 11.41\n",
+       "    time     datetime64[ns] 2018-04-02T10:24:35\n",
+       "Attributes:\n",
+       "    sample_type:   FLOAT32\n",
+       "    units:         reflectance\n",
+       "    wavelength:    559.4\n",
+       "    wavelength_a:  559.8\n",
+       "    wavelength_b:  559\n",
+       "    bandwidth:     36.0\n",
+       "    bandwidth_a:   36\n",
+       "    bandwidth_b:   36\n",
+       "    resolution:    10
" + ], + "text/plain": [ + "\n", + "dask.array\n", + "Coordinates:\n", + " * lat (lat) float64 46.99 46.99 46.99 46.99 ... 46.65 46.65 46.65 46.65\n", + " * lon (lon) float64 11.02 11.02 11.02 11.02 ... 11.41 11.41 11.41 11.41\n", + " time datetime64[ns] 2018-04-02T10:24:35\n", + "Attributes:\n", + " sample_type: FLOAT32\n", + " units: reflectance\n", + " wavelength: 559.4\n", + " wavelength_a: 559.8\n", + " wavelength_b: 559\n", + " bandwidth: 36.0\n", + " bandwidth_a: 36\n", + " bandwidth_b: 36\n", + " resolution: 10" + ] + }, + "execution_count": 17, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "cube_s2rgb.B03.sel(time='2018-04-02T10:24:35.000000000')" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "id": "7636d23b-455a-4692-8a0b-802625a5f628", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 18, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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G8kNrqSqq6spLCz8U1NmnTt3pn379syfP1/+rEWLFgwdOpS33nrrd5/7T2mZ3WCIrnJdKRgCeOmll34XDKWmpmI0GunZsydOp/OaT1M88MADDB06lEmTJlFUVMSyZcsoLCzkxIkTBAcH89prrwH1KfRz5swhNjaWjz/+mOjoaHbt2sWJEyf49NNPMRqN7Nixg127dpGbm0tCQgIFBQXcddddPP7441itVtq0aSMn115//XWKi4t5/fXX2bp1KyaTSQI/d3d34uPjyc/Pl19W0Z77rTp58uRv/m727Nk899xzfPTRRyiVSpYvX87SpUtZtGgRn3/+OWPGjOGOO+6Qi44YGXd1dZVtKhFOKTx64D+siAAzrq6uGI1G3NzcZEvL6XTKC72407bb7XLkVfxOPL6srExaAigUClxcXCQrJO64xd2/8DoSuh0PDw+0Wi0dO3ZEr9djMBhkyrzTWZ97Jhgk4VEkJpS0Wq2cQquqqpLv0eFwEB0dLcfS6+rq5Ei0EJsLQCLae1APCAUzJhZmp9NJZWWltBYQWicBooTA+6233iI4OJi4uDgMBoNs+4j2mziHunbtil6vx93dnXHjxtGqVSvq6up48cUX5esMGDCAefPm8eCDD6JWq+Ui0qxZM/z9/fn222/JyMjgzjvv5MiRI8ybN08K7L/66ivS09Np164dX331lfQp2rhx4xV80y6vWrRoQZcuXThx4oScuCovL6dv374cP34cvV7PY489RseOHWnZsqU02jQYDAwYMID9+/czdOhQhg8fLvVT7dq1k2xRkyZNaN++PeHh4WRmZspzVLQh/f39KSwslJ+lOJY6nY7t27fzwAMPUFtbS05OjhS4OxwO2SbKy8uT4NzT05P27duzZ88enE4nEyZMwGazERgYKF3mhb/Qxo0bKSoq4u677yYlJUUORFytKiwslMd1+/btZGRkkJ2dLW94AQmGysvLKSkpwWw2y9F2nU7H4cOH2bVrFz///DPZ2dkEBATw9NNP061bN1JTU/Hx8eHYsWNXbZ//ifXcc8+xcOFCvvzySxITE3n22WfJzMxk4sSJQD0b/8sBnBMnTnDixAnMZjNFRUWcOHGCc+fO/R27D9xgiK64roYP0f79++natStQP431S68GwYrAX2Oe/mxlZ2czZ84cSktLSUlJobq6ms6dO5Oenk5paSn9+/dnz549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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "cube_s2rgb.B03.sel(time='2018-04-02T10:24:35.000000000').plot.imshow(vmin=0, vmax=0.5, cmap='gray')" + ] + }, + { + "cell_type": "markdown", + "id": "f93aaf90-5ea3-4217-b707-2033528e85d2", + "metadata": {}, + "source": [ + "Show the RGB image for the same date" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "id": "348cee40-8b3e-421d-a83a-67e9b05b39a2", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 19, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAlQAAAHFCAYAAAA0SmdSAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/P9b71AAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOzddXQVRxvA4d+Nu7uHhBgEEtyDu7u7uxV31+Lu7hCKu7tDggRIQtzdk5v5/khJm+IUCl+7zzmcc+/c2Zl3d0Pum53dGZkQQiCRSCQSiUQi+WoKPzoAiUQikUgkkv93UkIlkUgkEolE8jdJCZVEIpFIJBLJ3yQlVBKJRCKRSCR/k5RQSSQSiUQikfxNUkIlkUgkEolE8jdJCZVEIpFIJBLJ3yQlVBKJRCKRSCR/k5RQSSQSiUQikfxNUkIlkXyF69evM2XKFBISEt75rGrVqlStWvUfj+mf4Ofnx8iRIylZsiR6enoYGBhQsWJF9u/f/976UVFRdO3aFSMjIzQ0NChfvjznzp17p97Ro0fp3Lkz7u7uKCsrI5PJPhjDq1ev6NSpEzY2Nqirq+Pg4MDw4cOJjY397P343Lj+LD09HScnJ2QyGQsWLPjsvgCWLVuGi4sLqqqq2NvbM3XqVLKzswvUOXjwIO3atcPR0RF1dXXs7Ozo0KEDL1++zK8zZcoUZDLZJ/+9/fnz9fWlf//+lC9fHk1NTWQyGRcvXvxgnLt378bDwwM1NTUsLCwYOnQoKSkpn7WP69evp2nTptjZ2aGuro6joyP9+vUjPDz8o9tFRkZiaGiITCb74M/RX+3atYsqVapgamqKqqoqFhYWNGrUiOvXr79T187O7r3HqG/fvp/Vl0Ty2YREIvli8+fPF4AICAh45zNfX1/h6+v7zwf1D1i2bJlwcXERM2fOFKdPnxbHjx8XXbp0EYCYOnVqgboZGRmiaNGiwsrKSmzfvl2cPn1aNGnSRCgpKYmLFy8WqNu9e3dRuHBh0bp1a1GyZEnxoV9NUVFRwtDQUNjb24vNmzeL8+fPi4ULFwotLS3h4eEh5HL5J/fhS+L6sxEjRggLCwsBiPnz53/G0cozY8YMIZPJxNixY8WFCxfEvHnzhIqKiujVq1eBemXKlBGNGzcWGzduFBcvXhTbtm0Trq6uQktLS/j4+AghhAgODhY3btzI/3fw4EEBiEGDBhUof/vzt3nzZmFubi7q168vGjVqJABx4cKF98a5fft2AYiePXuK8+fPi9WrVwtdXV1Rq1atz9pPCwsL0aFDB7Fjxw5x8eJFsWbNGmFlZSXMzc1FRETEB7dr0aJF/nHdt2/fZ/W1bNkyMWbMGLF//35x8eJFsWvXLlG6dGmhqKj4zjm0tbUVFStWLHB8bty4Ifz9/T+rL4nkc0kJlUTyFT6WUP2bRUdHi9zc3HfKGzRoIDQ0NERGRkZ+2YoVKwQgrl+/nl+WnZ0t3NzcRJkyZQps/+dEaMCAAR9MqNatWycAcfbs2QLls2bNEoC4f//+J/fhS+J669atW0JFRUXs27fvixKqmJgYoaamJnr37l2gfObMmUImkxVIvCMjI9/ZPjQ0VCgrK4sePXq8t/2AgICPxvPn4/o29vclVDk5OcLc3FzUrl27QPmOHTsEII4fP/7BffxY/Hfu3BGAmD59+nu32b9/v9DS0hJbtmz5ooTqfRISEoSysrLo1KlTgXJbW1vRoEGDr25XIvlc0pCfRPKFpkyZwi+//AKAvb19/hDC26GUvw75BQYGIpPJmD9/PnPnzs0fEqlatSp+fn5kZ2czZswYLCws0NXVpVmzZkRFRb3T7549e/KHbrS0tKhTpw4PHjz4J3Y5n5GR0XuH48qUKUNaWhpxcXH5ZYcOHcLZ2Zny5cvnlykpKdGxY0du375NaGhofrmCwuf9KlJWVgZAV1e3QLmenh4Aampqn2zjS+ICyMrKonv37gwYMIBSpUp9VpxvnTx5koyMDLp161agvFu3bggh8Pb2zi8zMTF5Z3sLCwusrKwIDg7+on7f+tzjevPmTcLDw9+Js1WrVmhpaXHo0KFPtvG++EuWLImiouJ744+Li2PAgAHMnDkTGxubz4rzY7S1tVFTU0NJSelvtyWRfA0poZJIvlDPnj0ZNGgQkHffy40bN7hx4wYlSpT46HYrVqzg2rVrrFixgvXr1/P8+XMaNWpEjx49iI6OZuPGjcybN4+zZ8/Ss2fPAtvOmjWLdu3a4ebmxt69e9m2bRvJyclUrlyZp0+ffjLmnJycz/onhPiqY3LhwgWMjY0LfKn6+PhQrFixd+q+LfP19f3ifpo2bYqNjQ0jRozA19eXlJQULl++zJw5c2jUqBGurq6fbONL45o2bRqpqalMnz79i+P18fEBwN3dvUC5ubk5RkZG+Z9/iL+/P2/evKFIkSJf3PeXeBvHX4+LsrIyLi4u78T55/u0PubSpUvI5fL3xj948GDs7e0ZOHDgR9v4WF9yuZzs7GwCAwPp168fQggGDBjwTr3Lly+jra2NsrIybm5uLFy4ELlc/sn4JZIvIaXyEskXsrKyyv+L2tPTEzs7u8/aTk9PD29v7/yrBjExMQwdOhQXFxcOHz6cX+/58+csXryYpKQkdHR0CA4OZvLkyQwcOJClS5fm16tVqxaFCxdm6tSp7Nmz54P9BgYGYm9v/1kxXrhw4YtvqF+/fj0XL15kyZIlKCoq5pfHxsZiYGDwTv23ZV9yE/lburq63Lx5kxYtWlC0aNH88latWrFt27bPauNL4nr48CHz5s3jyJEjaGpqEh0d/UXxxsbGoqqqiqam5nv7+9gxyMnJoUePHmhpaTFs2LAv6vdLvY3jQ8clMDCwQJmiomKBc/0+ycnJ9O/fH2tra7p3717gs2PHjrF3717u37//yatoH+urSJEivHjxAshLUk+ePEnJkiUL1GnQoAGlSpXCwcGB+Ph49u3bx8iRI3n48OFn/8xIJJ9DSqgkkn9I/fr1C3x5vL2a0qBBgwL13pYHBQVRtGhRTp06RU5ODp07dyYnJye/npqaGl5eXly4cOGj/VpYWHDnzp3PitHZ2fmz6r114sQJBgwYQMuWLfOv2v3Zx57W+9hnHxIfH0+TJk1IS0tjx44dWFtb4+Pjw/Tp02ncuDHHjh1DSUkJIcQ7VyD+PBT0OXHl5OTQvXt32rRpQ506dT4a15/PC+QlAW/b+ZpjIISgR48eXLlyhQMHDmBtbf3R/r+VD8Xz1/K/7u9fZWRk0Lx5c968ecP58+fR0tLK/ywxMZE+ffowevToAknxh3ysrwMHDpCamkpQUBCrV6+mXr16/PbbbwX+KFixYkWBbZo0aYK+vj7Lly9n+PDheHp6fjIGieRzSAmVRPIP+etf/yoqKh8tz8jIAPIeKwcoXbr0e9v91F/4KioqeHh4fFaMn7rq8GenTp2iefPm1KpVix07drzzpWtoaPjeKzBv77N639WQT5k7dy4PHz7kzZs3mJubA1C5cmVcXFyoXr06O3bsoEuXLmzZsuWd+4HeDmd+blyLFy/G39+fvXv35k+PkZSUBOSdm4SEBLS1tVFUVMy/t+utTZs20bVrVwwNDcnIyCAtLQ0NDY13+vvr1ZS3cfbs2ZPt27ezZcsWmjRp8qWH6YsZGhoCeVeqTE1N34nzS85VZmYmzZo14+rVqxw9epSyZcsW+Hz8+PEoKyszcODA/OP6dmqGtLQ0EhIS0NXV/ayE++1QYpkyZWjatCmenp4MGTKER48efXS7jh07snz5cm7evCklVJJvRkqoJJKfnJGREQD79+/H1tb2i7f/HkN+p06domnTpnh5eXHgwIH8JPDP3N3defLkyTvlb8s+5+rEXz18+BBLS8v8ZOqtt8nm23t9GjVq9MGrcp8bl4+PD4mJiRQuXPiduhMnTmTixIk8ePAADw+Pd/p6e7zf3jv15MmTAolFREQEMTEx7xyDt8nUpk2b2LBhAx07dvzAkfi2/hynm5tbfnlOTg7Pnz+nXbt2n9VOZmYmTZs25cKFCxw+fJgaNWq8U8fHx4fAwEDMzMze+axLly5A3pXItw8afC4lJSVKlCjB3r17P1n3bXL9uTftSySfQ0qoJJKvoKqqCuRN9vi91alTByUlJV6/fk2LFi2+ePtvPeR3+vRpmjZtSqVKlfD29s4/Fn/VrFkz+vfvz61bt/KTiZycHLZv307ZsmWxsLD4/J34nYWFBefOnSM0NBRLS8v88hs3bgB597dB3hWXt1ddvjauMWPG0LVr1wLbRkRE0K5dO/r27UubNm1wdHQE+ODTf3Xr1kVNTY3NmzcXSKg2b96MTCajadOm+WVCCHr16sWmTZtYs2bNO1fYvqeyZctibm7O5s2badOmTX75/v37SUlJoXnz5p9s4+2VqfPnz3Pw4MEPDpMuXrz4nQlxHz58yLBhw5gyZQpeXl4Fhgg/V0ZGBjdv3sw/Jx+zdetWAMqVK/fF/UgkHyIlVBLJV3j7F/2SJUvo0qULysrKODs7o62t/c37srOzY9q0aYwfPx5/f3/q1q2Lvr4+kZGR3L59G01NTaZOnfrB7VVUVL74cf8PuXr1Kk2bNsXMzIxx48bx8OHDAp+7ubmho6MDQPfu3VmxYgWtWrVizpw5mJiYsHLlSl68eMHZs2cLbPfmzZv8pO/169cA+bNm29nZ5cc/YMAAduzYQa1atRgzZkz+PVQzZszA1NSUDh06fHIfPjcuFxcXXFxcCmz79uZsBweHz7qSZ2BgwIQJE5g4cSIGBgbUrl2bO3fuMGXKFHr27FngatDgwYPZsGED3bt3x93dnZs3b+Z/pqqq+lVDU2lpaRw/fhwgv71Lly4RExODpqYm9erVA/KGeufNm0enTp3o06cP7dq14+XLl4waNYpatWpRt27dAu0qKSnh5eVVYHb5li1bcuLECcaPH4+hoWGB+HV0dPL39WPDz0WKFHnnuL6vrwoVKtC4cWNcXV3R1dUlMDCQVatW8fr16wJTPOzcuZODBw/SoEEDbG1tSUhIYN++fezevZuuXbtSvHjxLziaEskn/KgJsCSS/3djx44VFhYWQkFBocCEiV5eXsLLyyu/3ocmX7xw4cJ7JzPctGmTAMSdO3cKlHt7e4tq1aoJHR0doaqqKmxtbUXLli3fmeTye5o8ebIAPvjvr5NGRkREiM6dOwsDAwOhpqYmypUrJ86cOfNOu2/3+X3/unTpUqDu/fv3RbNmzYSVlZVQVVUVhQoVEj179hRBQUGfvR+fG9dffWoizQ9ZsmSJcHJyEioqKsLGxkZMnjxZZGVlFahja2v7wWNga2v7VfG8/fxz29y5c6coVqyYUFFREWZmZmLw4MEiOTn5nXpAgZ/xt2Uf+vfXun/1of8LH+prxIgRonjx4kJXV1coKSkJMzMz0axZM3Ht2rUC9W7cuCFq1KghzMzMhLKystDQ0BClS5cWK1eu/KxZ9SWSLyET4isnnpFIJBKJRCKRANLEnhKJRCKRSCR/m5RQSSQSiUQikfxNUkIlkUgkEolE8jdJCZVEIpFIJBLJ3yQlVBKJRCKRSCR/k5RQSSQSiUQikfxN0sSeXyk3N5ewsDC0tbW/apFXiUQikUgk/zwhBMnJyVhYWHzT5YekhOorhYWF/WMrwEskEolEIvm2goOD85er+hakhOorvV1ipGW3LqyZvZSpv86mQ49BuJj9sQaVAC4/e4WX66fXlvp2cpBOq0Qikfz/2XPqLgZOpaj1eWuZS0ikmJMtMXGCWnVLcPLYfdTUQVVdht/rBBo3Lc9v3jeoXMUTR+vC+AT4k54QjqWxDTcfPv3mS4VJ37xfKX+YT6TTb9pIZk9YQSFz5QJ1guKhUdkSPyC6f7ckQOdHByGRSCTfQHJKBtpaagDoWxTCSE8HnX/6F1yCL+gV+Yc7/ToJQbcYMLAXgeFRjB4+mcCIXMzNZZw5fh81LVi5ahkjhg7C3EiXJcvmUrpCUZLTEnl05DWVyhSmba9JJKWGcPPh029+u4609MxXSkpKQldXl0s3H7Nx7xomjR7DlYchdKktrV4ukUgkkq93/8Vzwt740bB24x8dyk/PzVGFul7V2LTzNPqmqsjlSuTKM7FxcePpg8coqhhgZKJGbko6RYsU4+GTh4wbO5pe/caRmJiYv5j7tyA95fc3LV05CxczCx5ePM2hlWM5/+AmKzeu/tFhSSQSieT/xKWTB1kwbyIAj5/ep4Szyw9MpmJ+UL9f59q1h/y64RTx6QL/wAwstFWoX6cd105c5FlQOIoKOTSs1RJlRTVUtFVBMZcjp49/l1ikK1Rf6e0Vqh2HNtG+aVd2H9pDYHAoLStWYe2mpcxbvvVHhyj5F7pw8wnVyrn/6DAkEsl3IYAf+9R4YvxLdPUL/9AY/h45jlbaKOgZoaWhTelSLpw+dRE780LoG2rTvlUzajfugq6urnSF6mfTsHpzANo2a0NucgJXH16ncpMujJk+mhv37/zg6CT/NlIyJZH8m8nITor8oRH8vyVT1cvYY6KTl4S6Ouvh4GyBhr4x5avWonnH/vi+CMDcxAgza3MOHj5JDgnfLRbppvS/yb2UMwpKcuzMLLlw/gEdmlZmh/dgkhJCKV+i9I8OT/IPScrJQUdJ+u/0JVJyQUv6k+4/5+aNB5Qr7/mjw/im5CITRZnqN2lLWcf0m7TztbKznqGs4vpDY/hcq1bOxt3eifO3Azh0eDPm5o4Uq1yehJRcMtLjeXLjJO6uTqirGlKyRCkgi7YdJ5KUlPRd4pGG/L7S2yG/xMREAsP92bF2NTqGGljYF0YxNYPrDx+wWhr2+6HuPn2InY4RRl85z8hLoBCg+Il6r0NDcLD8dnOZSP67Ht66i0fZUj86DMm/yMMrv+FR+d97c/vCyd3pMHAgm9fswtK9NJ2atGbdIW/un9qJspIi06YvQk/frMA2f/7+/pZDflJC9ZXenpBHfr6MGNYLKyt7ihR1R0VLn+vnTrKkXydMKzQDIDY+FEN9yx8cseRzZQPKn6wlkfz3BCaAnd6PjkIi+cO1q2fIMfTAy9UY/5QYjLSMuHNoDzWa1QV037uNlFD9ZN6ekPlThhCflktgsD+Te3XEqVrbHx2aRCKRSCSSD/heCZV008ffFJuSxexxA0Hf7UeHIvlBEoOeoWvz/3HPgUQi+X8kTWf8/0C6JfRv6jRwOkceJOMbHpVf9iYt+QdGJPmnScmURCL5vqRk6v+BdIXqb7LSV8atelky/1QmT88BjS9p5cfPPfJflZaVhYaKyo8OQyKRSP4hcj79qI3ka0hXqL6RPz8wW8hQ/wu3lpKpH0VKpiQSyX+LlEx9L1JC9Q2dDwoH4Mr92z84EolEIpH8F2X7X/7RIfxnSQnVN1TSxhyAyiXK/OBIJBKJRPJfs23FeLKV372TZ9eqX39ANP89UkL1TeQtFfD+GS9+nJyEoM+oFfvd45BIJN+P7+vP+X8u+dESQx68t3zukoWfsXUaAN07tc4vOXxkLQAP7u5l7eppAHQaMBMN6woFtrxybjcHj+0hOzURgFsvfd9p/eTVM+/tdd+R39i8as1nxCcBKaH627w3jAXeLhWQAaT8wGgKUtKz+Yxaht89DolE8v0Ucfic/+eSb2nzhrkA7Nu07L2fXz+2550yXauCy+0smD2UYT1b4V7IkIdXfssvj3l5jfsXD/LySd7Q3cxxgwENJo0eQJUqJQA4v3szTRr1ZsfCqSyfuRwleQYkR7/T5/kTe9mxZxfd+o9l/NQhrF65grKFi7xTr26lWgXeR6flfY+1atSYrv36fOgwSP5CmtjzK72dGCwq1Jcnb/ypXr7hjw5JIpFIJH/T3ZtbKVWu8wc/HzqkEXevPyA1RU4xh2JsOXIIZB9/rPviwXVUbd6Ntw/WD+lQg6lzlnF4x0quvvQnPS6R0Oho3F2LsXTdfu7ePMS5vcdQ0tNixKSJ/DK4P/OX7qFsGXviohNYvngJdZp05tHdixQvVfWd/p69vIGrfVHmz5iItpkdpSpXxKVIabT+zoH5F5Em9vxJqWpZUb3820k90wH1HxmORCKRSP4GfbklV07vpHLt9nkFuamgoJn/+eIlRwCwNpIRZWL2gWQqndDwV1iau5Od7E+8Rhpvv24nTOhHnyGDsHEuwqLJU7A3U8SjQVF69B/A0ycveR3iSUOvpmw8vBv7Qg40v1mbcq4lSAv349btACJePsYv+CWL54wjPTaKu1fP4mJiTMX2Q3B0NMPK3JTw4HgaN62PjaMVffsO/cw9z+XLB62iAJMv3ObfS7pC9ZW+V4YrkUg+X1BIDJlChcLW0v9Bydd6wWnv49RuOiy/5PjhxbRvM4xixaxZu2ADLlUKDokd2ryWQeP6EBKW9/V5Zv18avX8hd49vDA1LYypnjr3fP24eOwMRVzcaFDWmYTkeMauPZ/fxs5FU5m+ejXR0REoK0COkJGSLMgVoKOjRFZqDooyCIsKpX37jpQsXwrlhHi6NG9Pz2E9cShWltCHNylsY8aT4EjuvQolLCYDgGLu9sRHx9OqbXd+XVzwhvTYSB8MTYsSEf4GM3PbAp/5PXmBk7vzNz26PyNpLb+fzNsTYmKsRmRU+o8ORyKR/EMu3XyMV7liPzoMyTfjR8DDlzzwe0Pz1v3zSz2ctShZoQwbNp0vUPvUvhW07jiQxMx3vzqLOqoRE5vJqyfP0LJywclOjajYTBKS8+omxj5A19Dzne3+zHv1DNau2YSliSZVW7fk9m+HKV2mGm179ubO3csEXz3NLd8XuDo4suPsVTIyswlJEvTp2xd1JQXcbGyp17k3jo4W2NnZsnz2fGYvX0jTFr149egkdkWKUdy1LE6u7mTEBbBz/y669x73DY7j/w8pofrJvD0hNetU4czJSz86HIlE8p3lpGWhpCFNBPt/JS0MNCwKlmU/A2VXIJxVyxfSb+CCD24+dkw/Zs9ZRfs2pRnQry89egwkMzOL9JRcdPWUeBGY/TcDzGZ03+YY6hrz6sFDwrLkOJtqYaKqQpHylcgJCSQiNooTt1/g0agJ2a8e4/vaH201LSJi41BQklGqag0u37yPnooigUGvMdTQJDklmxyyUdAzwcnekTuP7uDpUZpb169gbm6FqYEmasoy2rfoSLEKFXn8/AUtWnb5ZLRBIU+wsXL/m/v840kJ1U/mfSekS8eaxCSkM2xAX2rW6/SPxTJicEsWLt3/j/UnkUgkP5fHQDHe3N5MkoIyRa1dkJmWBKB7s+JsPPQIgHULhtBr5BIAnK1l2Ls6MHn4FMrX7cjYoe1o0aoNk8eP59hFX6p5leDCpfsAlHIzpG3rvixYNYuISEFRV1OMzYwxNjCmbBlPRoz+/HmeYu5dYu7qeWSEh2Hm7kGVWnWJj02nrlcVUpKzMXDIG3Ib07EayjJ17vv6YGKmS1ZqNuVdLInOkTF1w1FALb/N8mUcMFTSxFJX4OsfjpeLDb4h8ahoKPE6LA65gozI5FR0FTVISY9HV1ONEkWcWLHlAK06d4HsVEp4FqewrQPdB0/8SPQp8KFb2+XBoGgKFPyjIzMxGFVd688+Pv8EKaH6ybzvhDRrX492TXvRunXzHxyd5KOyX4Jy4R8dhUQi+ZuO75mCbpYaFTuN+WTdss4atO/Vl/279qCprYXIlZGtCOcvPM+v02lgH3S0TLh14TCR0RGY6OmjlJ1BYY8KnDy7D5lQRZBFTEQEj576UdytPAA7di2jQ7tBBWPbuZjqFSsxdtZSTl2+ipKKCo8f5fV1Yv9e6rXMm1OqSuUyXL7yqdU1PnTzt5y4V8EYONrlvY0MBlNr5o/tg/fho6ipKqAmUyQlM5OQxCyKuTgTFfKSa4+jQEVG2+Z1iUiIxcf3KSMGDSQ2MpLk5AS0dQywtzalVLnqvPB/jIuTO2XK1wbA9+YVipSrTMtW1UiMjuDMxWf50Vw+thFNXUNU1VQpWqruJ8/J64uHcKja7JP1vjUpofrJvD0hlWoUIS1FTrnipalerSo7dm/DwsKM2/duEh8bRyE7e8pXroK6XIvTlw7gVqwM58+eoYirC66udvg88KWQnS1G5tq07zoYa+uPj6+/dfLwTHQVbDh34yITZm340yfZgPL32GWJRPKv89/4fZGeFIi6jh3Ll85i78EdRIRHki2XoaUi48nTKAB+mTqI+7duc+74LZr27EFufCIP7p/HyNiS1LR0FBQhJS6RatVrc+/RZZ4+DKZiWRdSM9NISYN93jfxdLNg/9HVLFl2mCunTlC7VRvKVijFqRNXUFBWx9RclczwOPyjw0FkY2VsQ3qWnITIAJ49ec7rN4k42H56iujQFzdJzUrg3vnLpCYp0XPitI/Wr1y9DFHhIbx4FsbmqYNxdrbi0vHjnHkaTMPqTdi4bz0D+/Rm5uIlyJTV6dKpB7lqWfTqPwZbI2tmjB6EvrkBA4ZO5XXgU04fPoiHR1F+GTWM8aMmYKynRakabT7Y/62LFylbtWreGxECMiXA7HNP3zcnJVQ/mbcnxNZWBy0tVbJzsnEyd2DmkuVMnjSOsIhAVq3bRt3qVdDS0mLw0BEMHTKJUye2cvfZHS4evYxDYTOMNO1wLVIUZZmMh08fU7yYC9XrVWLL1p1cO3OZepVKcebiBUb0GktibgxXzp3mVVAkenoWWNua4O5aCL/ABLq0aczm4ze5fO4CQW8e0qHfLKICfahSoyWNG1T50YdLIpFI/jEDe7fhyqWzFC9ZloDgQFRUtLGxMWbTpqPUbl6duAB/9uxZi4NDRVDULLDtrxvWcOzocSxMDTC3KcSAXyYyuFsvGtatSe2KNThyaj96utCxXV8qlitMUmIOnQaMZPvKeSz77ThejkUo17Q+yoo6qChroko6YxbuxPu3vYS9fkBqUgyZGXIyMzPJTE/j5m+HkANFK1aCnBTUFFR5cOMWtRpU4cyxP9blmzN3A2NG96Bek8YkpWWip6pFdlY84yfPwKviH7Ojb1s7g069J+S/H/dLN9Zv2YO9uSW3Hjxg++xxhLx4hIKKCnvO3cZQW4vkjHRUFJQITc8mODoBWSbUrVuViJhQ4pJTUBVyjAz1IFeNk8cvUL56SepUqsGLN49ISsikjEdxZi3Zlt/n06e3OXP2HMcP7sW9RGlGDRuMiXVRFk4awICREzj+2wGadxz43c7/p0gJ1U8mP6GyMURNTZWbdx9SukQR9HRVuHM3hF49mlOtdh0ePXrKhXNH8PcPYvqkafi/CaRMbU+CXqViqJ5JUFAgh4+dwMrCBk93N+KjI+natwXDe0xAR98YN2czZq84ASKVDctnsHjRcrLkcixN9Bk7Zy2DurfDyNAKO3s7mpe0ocmY1cQqwKwRfdDSdiIh9DlDR49jaK82aMrTWLZqGSZFqv3owyeRSP4pQg4yxR8dxT+qTs1imBpZ4+ZRCY8KzsydMA1FLUPSE2JBJYOW9VsybNRU4N3j4n36HBZ2hSnjlDcD/c6jRwgIfMz4gePfqRv5+gnZama0bu5FIQcr5m49zYJZc/F98AihoU5aUiKoGmFmoIRH6RLEJaeQGv+KPk37UbKka347zbv15ZXPffTMHEnNCYfUTBTUdcnMTiQ7RYYQAlNjCxR09MiOjUNBIYeMXMgRKagqq5AjFIgL8cfRtginjh0A4PGVqxQrXRTU9N6Je0qnKqiqKqGuZkHRil607NMHI21tAiOS0NJW4qT3YWbNW4xcJBCfmojPLT9QhNwsOL1/GVMXrScxLQ5H+yK42rtgaKFD3yEjKefpzs0HgaxcNp2szCy2rF+Ne/ESGFuYsnD+ElJTEpg2czZz56/9UzTJpCZHoKn9z92GISVUP5m3J6Rdq6pcuXqdnOwsdPUNiIlJQElZgUcPA6hVtyzRsXGUKOKKnokp169fp5SnJ15VazB10iSi4wR+frf5Zfxw7l+/T3FnVzzLu3D39j0CA8KYPWcFOzYsIy4xGvcSFVDW0SAhOIyXz9+gqq5E8XI1iAwLY8v2XQT4+GBftCgA0QnpvHz9kscP7rF1xRwq12/IzTPn0ddVYOToOVSqWesTe/cnGQ9A7fOGISUSyV/Jed+XtuT7W7l5JakhfhSytMQ/LIl7d+6wfskytGy/3xf3y4DX7PHew9Xzh3n0LBINXT2UVRQxtTXj0u5jAOw8vZ32tdsDCoTIYd/B66yaMwBtTQ0ylfTR1lMhKzGRrGwlUEhFRVmZ7Iw0mrRrg4ZRNfavG4M8Ixk1HQNS4qMxNDEkPCgemYIcZRU1lGU5FPMoTc+hC6lcWIkqlSpw+er1/Bjb1i/H7gNn6d2yOmuPXWVwuyocvx9GVFQYxsYGlCnnxY2rlyhSpChkJOP3Mpi4pGhszLUJi0rh8ZVAytUojpGBOhHxseiqqVK3eh2S0jJ47edLWEgcuoYyQANlHQ00VVRwLl6E0iUrM2H0aLR1VMjKBmMzY65eewZk/R6ZGiGBD7Gy8yhwTB/cPIJnuUbf9DxJCdVP5u0JaVS7BEWsDZHp6HPr1n1atR/AkkVzCYuJAAEqquDu4ISxgQ4oGqJnb8maJRvo3rUhx44cw9bOAQ9PZ8q4V2X2grHoGRvTuFETstJyuP/4Ajev+WNuaUB2cgKjJ/6KTDmXHj2HMahTHR69imDlul0ULZo3U3saEBEUQyEbIwD279vOmRO/ERocSqv2Hbl07gCaatrMnzINNQtrUND7Y4fSzoFGjfy3Qff3YlNCD8i7EZGcVFAqeGlcIpFIJH8YM38NpYprMHbwGBQVBSmZyuhpqaKgooajrRUH9x1/Z5v+owZz9fZdZIpKaBo40qntUGzd7Zg5qg3XvE8A0HN4d+wtyrFuywrS09LQ1lBmzrTljJ44BDvnIgT6+yPPyUJDXxWhpEmDMtWpUL0uk6aNQFVTgZigCNRVVHn+6GGBvvfN7s+L1AxWbjqAs4sLuTIFAgJekxAfy73br7i4eylrDx9FngF6imn4vI5kbPOybDx5j6jUTLRUFTDU0yAlJQORnUu2ioz0TDkiB2JTwNxeHSsNA+QqGujoy+jRdww+Dx6xbcdqqniWp1WXwWRlBXHk8HE27Tz1zrFJyEpBT0WLI5eucmLfXlYuX/pNzpOUUP1k3p4Q60K2KCrkMGP6AlasWUXFssWpVKEKO70P8uDaZbq27EBabjb79q6jeYtu1Khdhm1bD+Lv9xRVXS3OnrrLsEEtiYmMIz4pjmpeDbErpI+etj4rVyzgwLHrgB7ly5clPiUFLV0NKlVrjra+MRlkMH/4QG76vEZPSwsXu7xFmpf9OpNBw9+9PP35kgHt319HA8Z/72BJJBLJv9yB0yeoWdmD7Tv2EfkqkDQlWDDjV8p4leP2pZu4FCuEoqoK8hwFFJUUUVVVIS0DsrIycHFywd2rG+H+53ly6w5x8f6Qo4SZqQm3rt6hZ98enDx3AzVlRQxMVdHQUefF0xCUhAoKqkpkZGVhbm7Gw8tXAGg2ZA4PLmzGxroEUTEBpCcmoaqexfTxE2jz+3xTrkUK8+u8adjZ2DFgQB9ehwYhy5YRE58ACgrIZIIOrdpy9uQZzI310FRVQQhBM3dz5PJclh29RuWiNrwKSyQpNY3cXDlmtvZcuvWc0m4WFDbS5IhvIKZGhsTERNG5XUt2eB8jJz2dlm2a4XvvGWRlUKpyFYKDQzDQNmDFpreLSmfTc8goNBEsWbL4m58rKaH6ybw9Iat3bufQ/m0EB0aBkgoNW7bDe+8myBQY6huQnfGGku4e7D1wFjMLW3RNbMnJiEdJw4ioiJc4ORUnOioIeW46rm7lCHj5GHs7C3Zu3cuvazaSkprJ4OH9OHkrnHplzek1bDTLF80t8ADtzeRUymlrkgVMX7QSRZnA1sSSxMB7hMXGMm/hSg5776BJ0w4ArPt1LL2Gz/5960jA9B8+ehKJRPLvdfHpG6q65S3rcj88gmlD+uJZphi/HTmJPF1O9dotePjyEWlxKchlqbi7lOfWrd84eu4k9crWwNLCiKxsTRISgklISsfYshipqWG8uH8PgLHTpnPkyAESUhORZ+WQlpiCgpYy+hpG1K5bhaNHT5GTBYoqgoy0LBSUlXAuZE94eDCvfP3p1GcY4ZHBRL15xpMHvnkxH9tB1QZ53xF9W1Zi36UH6Otoo6muzLghfTn322muPHtGUnocSwf2xv/VC+76+lOyiDVJSnrcuveYhKQUEhKSyJTLkYtcUjMgWw7WFgYM6d2CYdPWIXJBWQlUFUHPQJPoiFQ83Ew5cPwCxmZ/3FcWFfOGqIhYDh3ey8Txc/LLvbevwatWZfRN3Xif7LQXKGt8fPkcKaH6ybw9Ic4l3dHRVSU3S5E+PTvgF5qIun4hjv+2CSfPssS8iaNEMTecilbg8aMLmFo5EhRwl8GDx+Hje5fYyCjMXNxxK+JEdFwaYaHZPLvuzaQ+BWetFYAMaDd4LPFxEZi5OFPIwoT09BTGDhjM5/5IHNu3iQatugFPGTloJo5Wheg7evo3PjoSiUQiAVi4eg0vnvuzdvFcZs2dS89Rozl96iwhr14wZuCA927TsEk1gkLDuXHtIC7FmhH84gVJ6aCjDiu3rWXRouWYGhrw8qUvGRnZqGto4OJWFHMLKy5fPIuCiiqZmYIWtaux78gRFGVKKCmpoqGqiFvpchzespUy1Suzdd9J1q+awrmjl1CTqXDjxlUyQv2JF8mY69qDtg6RvnfR0NdH28KBOeN7sWDVFuzMDLl65DfUHEoT+eYWprZlAVg8ZSDnLxznsX8s8pxsFBWVUVRRJS01npvnTlClbiNSkjJQVVMlNiGTFq3rE/nUlyZd++BWvAiBz4NZsmQcdSo25sCpvZibWKCoroiNsTU7Dl4gJOgFRrrGBD29hVP5emxZMYMuA/KeaLx9fi9lqrcm+PVdrB1KARAd94Z5y/dRwd2GZs1a5x9fKaH6ybzvhDTo0IZ+Yxdx6OB6YqNi6Nd7DOZuFsQnQWroU1KU7Gntqs7dWMHODQupXa8rdd2NmLjem4SAu6RkpGJZrDIaOmqMa1Y/v68rwZFUtv7jKtKWnb/yKjSFuw/uIs+QUal2A0IiQ6he1YsGXjXyB+vup+ZQQjNvhfODly7Q3OvPT/flzXj77PlDXF083ruPZ66dolbFOt/wqEkkEsl/VwbZqKHMnQB/hnbtTFpyDDnZWcgV5KirKpIck8C2LasoW7kN6YD679sFv3mGta0rRcuUIEcuQ00VkhMzqVy7Cjpq5ty+d4bXL/xQUlBFQVGgraNHYlw8MiUFcuVycuXZIJehqmWAg4MVF4+fBsCtbDFk2eB7//E7sV4/cYQK9QreDJ4Ueo85E2YyfNZobngfplG/WR/dX2srbbKyMpgxahhTF68gPTWNHEBDEdxtLXD3LEdYbCIvg/zxfxGAnLyrV5bmRoSGxaCiKsOqkDX+vkEoKcPV0+dZvHEHavIIVDWNUclJwcW9FG2adWTX4f0EvPbBxs6Ujr1ncOHSVap5VYLseFDWLxDXod/W07xJLymh+lm8Tai8z11k1sTRrNi8i1KF7Zm+ZgPnzl2jkFthChdzp3z5hvi9eE5mSiR1KnmxfuMCLArXRFcXTh09RuFCzlStVZH4mHhkuTLOXjlNcmwg2+cuIhdQeE/fe48ewyc0joz0bNRU5RTxqMSV40dRUs5l8aTRADyPysLFRIUnIeG4W5n/o8dGIpFIJJ82emAH/APecOfRIxQUFVHTUsfQ2JArF30AWLjNmw3zRpKeLUfHzITYyDiUZQooqauTFB0GSsooKSiSlZ2BTKaIolyBbMUclJCRKwNdJWWmTv6FJeu2ExYRi4qaAaam+tSoVJLMbGXmTf/4hKAAgffvkJSVQ7FyZfnzN9KY4R3wexXMwUOXKFnSicUL5lO5ZtN3ti9fshA37vlTp1FJnjx8jmKOYP2vMyjm4kJAbBaz504mMDSUFy9j0deBpBTQ1lZGni3H3EiLqJgkjIy1SE1OR0tTC21dBTSVNUlJz6WUeynUtXO4dfMB+ppK/HY9iBcvruLsXInJowdhbW9Az75TgVRePfXF0a0M8P2uUCl9s5b+o/Q1crh17SbbT5ygVGF7Dm1fh6GeJj63Y0hLTCU+MgEUlNCQZzN76Wyath5JoP89rl29zdp549l8+gFWDuZkqJggJ50K7m50qjeEvVev0LpS5fx+Hr4KxOP35QWq1apNyuVHqFgoI4tNo2x5V5qVdy2wgpKLSd67z0+mPvV4t/T4t0QikXxLc5fvyH996cImVq5dz55d1wAoV9GTm9ce8PTWHq5ce0hkUAgKitnIZapkxmegrKJGVmYaocEx2Ls5kpSehoG2Dgra6nRp34tli2cRl5LOr8vW4l6tCeEnzqGrIYiODqND+z24OOq/N6aHATGM6tkOuWo6545fxa5E6ffWm/PrH7HXbN6JiPgk6jX1olPzjkyaNRUnVztUclTo3rUb54/v49SRe7i7WhIQGsb5qw8o16Q3LW0N0NRTIysjF0VlSE2HHMBAQ4atiyv3bvuiqqFOQEAKWlqQmZ5IajoIUrCwMCUwIoaopwEkJqdgW7gMkEu2sjYDB3WiSb32zJozAierEoSnhBMTHoKjWxm2blpNqVKO3+wc/pl0heorvc1wOzatRoqqOh3b9OLUlaOYGRXh7Ik9KKqoo29qirGNNRvmzGfX9ZfcuHIRHVMrIiJCWTimJ/5yMFKEPy8buePyfRpWKYEuFLjkK5FIJJL/jgEDunD39j2Ss3N4+vA5KzbOZf/+02Qq6mFhqMKdG5c5cfkGI/v2IzU9EwsTCy5ePAfKAkvzQoS+8kFdS4NUoYqKsjpqGipkZ6RSu04jVHKTGT56KYUs3v2GqVu/AQ+f3kVX14T0nExys5VQ0ZChJFTR0FRh5MgxtKzbBDUNWV795q05eXAvAKOnrWLupH6E5oLlX4ZXdm1fT3xYAFo6CnTuO53DGxfx9O55XgVGcveFH05FS3H17k12r9tEz779iIyJRUNTgYSkXNSVwEhbkeB4OUYmOmRmZGGorYWhhR5hb0LIliniVtiRR/d8UFJVwcLKjrjoEKxtHShR3IOz505gbWiLqYMhr14+x6GwE5u3npKuUP1sNA0MuXfvLuvXLUKuImPtr+tBNQ0zA3uunj6AsaYBAO0qFEYpLhS/OB+Us9PQBfat3sasAZ0KtNehSon811IyJZFIJP9NK1Zs4Xl0BM1qVMC5iBtKGooIAYnJr/BPTcfY3IQWDWqhKsshNjaRoNcvUFDOoWo1L3as30shJ0sUVTWIfPISx6JupKckokgux7wPoKiijJ71emaMHMSSlasZ0r8vAG4eRYgMj0HPSJP0dDnGts6kpieiKgctSw+O71+KLlCidiPUVEwIDLqBtYEFjh7FWbx4Fbfunca19Hounj8O2gWfHm/XsWeB9yFxiYxdeST/faXqZejfvxu9R/VCTUOHehWtyEhPwcDUkL3HblOjYjnO3H1GQlICWSKX6LgskjJTyQXIzAQhR0tVmYikdNTiIiFbzqNHDwl5/gRVI0OCEwO4f/w2Zpa2hIQmf5dz9r5bdH6I2bNnI5PJGDp0aIHyZ8+e0bhxY3R1ddHW1qZcuXIEBQV9sJ3s7GymTZuGg4MDampqFC9enJMnTxaoM2XKFGQyWYF/ZmZft1Dj6Ys3SErK5MTxS5QoXhKAaSPGc+HiEXbuOsCciWMB6NCpOTcfncJU1YJVE0dRqV5NZg3oxIi5U5myfMPHupD8xDKyk4kNekxWVtyPDkUikfzLjOjbD6fiTajWchDqGlpkpiehShZaOpo8ueODmYke6qpqrF69nYCXwTjY2fD66VOatm6EkEH/PkOwcbAkIy0OkZ1FTo4cRWVl1FTU2bx+Feu2b8elUisatG6PZ+lSbDt4CDNbU9zdq2Fq70h8RAiZCXHYOJoS/PQ8xYq641i8CIkRQYQH38ba2oyAgJdkJydRurgLLvZOPLtzD1PtT0/FM2DklALvG3pVoFPtZrzwSeDyhTPkaFly+OortNVklC5ZiG1nrxEdH0dmTi7ydEhLz8VWz5iEuAxiE3KIDwglV5ZLVg4EvIkjICqN1ExIQI6tZSFi41LR0zMj5M0brl66/v6g/qafYsjvzp07tG7dGh0dHapVq8bixYsBeP36NWXKlKFHjx60a9cOXV1dnj17RunSpTExMXlvW6NHj2b79u2sW7cOFxcXTp06xfDhw7l+/TqennlLqEyZMoX9+/dz9uzZ/O0UFRUxNv78CSzfDvlNmzySmNBwbjy4jbqSArq6+tgXLc+Shb9y5cYJKpevl7/NvIm/EJOajGeFYrRr2Z/nbx7jYlvsK46YRCKRSP5LvGrXJD7qFbUqN2LhsmXsPbiaRbNXERYXSclydQh8+QpNbUUSU7NIzohCUVGDtMR4kMvQMTNGz9AJFydrnr1O49bhlXgUL4y9vQXP/fzRNdFh5IgNTJjcmef3/QAo5FaULJGDopIy2uqqKCiogkyQmZ6JooIgJSMTA00FHt55go1TIZDJ8HnqS706VQkLi0BfR5+atWoxb/q8T+5bRmQYaqYW+e9njurL0L5d0CxUHoDSxa1pULs2U+ZvoF2dMhQt7YXfi2do6Kqzav0+MiLDKFrchfbNmzB7/XZELqhogDwLhnTqyaod68nKBAc7HUKikkjPgJwc/n1P+aWkpFCiRAlWrlzJjBkz8PDwyE+o2rZti7KyMtu2bft4I39iYWHB+PHjGTDgj/k9mjZtipaWFtu3bwfyEipvb28ePnz41XG/TajqlCtCdEo6pia65OQIzPR1iYmJx8zMjPKVa6Igy6HH4LyrVHdunUY5RwWPilXp16oSq/Zd/er+JRKJRPLfMm7iYApZO3L27DFyhAIJqfGEvglDS8uQtKx01DS0qdWiHedPeiPPySEjQxXf6xeo1KA60ZFRZCbGo5CVTa6KDE11FTyLFmP7zrw1Bi1sjZApm+DoUY1iXm04vvUXFLLl6OoqkZ4ucHV2Qd1QiW2L/xhRGTO6D2euPkKWkUGiyEZdpoyOqRlXj5+kbssWnNx/IL9u5571efrADzcPD7Zu2P/e/atSzYuRg4fSuFkzTh/YRu0Wf9wSM2JQF8qWqkLrLj3yy7w3b6Vp184ANK7sjn9UBG9CY8jMhNxcUFLMm7/R2EqfiLB45FlgZqBGcloGyenfPqH64UN+AwYMoEGDBtSsWbNAeW5uLseOHcPJyYk6depgYmJC2bJl8fb2/mh7mZmZqKmpFShTV1fn6tWCycvLly+xsLDA3t6etm3b4u/v/8l2k5KSCvwDSIqPRTEjlbjwKCJDQnjl9wq3oh7o6Ghz+NBunvo8yW+jdNnaeFSsCoCqvjFBvteIev7u+kUSiUQikfzVrOlLqd2wFs+fPePOnXukJqWgpW3EqF+nkiX0KV6+FUd278C5cHGOn7zCr4sWkgYoZ8s4c/gq5tb2JGclo6+hS3xSKucu38hvW6aqh1DOIeD5OY5sHUpuehoyBDk5iuRkZOL/6im+N+7h6OFO1Zp12Xr0CI8fv2Dfpq2o6qqiq6iInr4JkwYMBEA1NxlH10LYFbZm7c6tXLn0mJ79xvLgcRg1G1R+7/5dvnCJhWvW8eTmCbYfOUpc6MvfP0lh4bIt+PpeZUqfDrT9ffumXTuzcelMJg3oTO2a9ahdvjgPL55i7twpzB3fj+pl3Nm3aQk1q1SlWsli2FvrYG2ui7La97l9/Ideodq9ezczZ87kzp07qKmpUbVq1fwrVBEREZibm6OhocGMGTOoVq0aJ0+eZNy4cVy4cAEvL6/3ttm+fXsePXqEt7c3Dg4OnDt3jiZNmiCXy8nMzATgxIkTpKWl4eTkRGRkJDNmzOD58+f4+vpiaGj43nanTJnC1KlT3ylfs/wAOzeOJzs9mfS0LHSNDTExNCMxPoz01DTUdQ0wNVZDUVWdTk06Ua19jwLbX/ttMxUbdwXgzu0TlC5T750+JBKJRCJ5a+7c8SSmxZCcqUxQQDzJQI2KpTl9/DiZshzkCZkI5UxSkjPQU9fh5vXrPA3cydXjr+ndfyIurg5k52aSkJBAbGQKDZu35ebti2jr6OBoa8vLwBByVVXQUpSRI89kybLdXLtwgn37tpCWkY5M5CIUcylmVYhZK/bQv39bIsKDUVAUqCpooKgo59GD5zTr0IxDOw7h7FGY7LR0suXqGJsY4Ojqxt6Nm/CLyMHJLC+5uf/sFX27dcJYU8axc3/c41S5Slnmzp1DhfLVePHgBpaOLkycMIH71y5gZaLNjuO38us+vXiU3XvW8czPn5CUXLKTE6hYxYsNe/Yhz8jBSFeDxNQMMrJyyc76Fw35BQcHU6pUKU6fPk3x4sUBCiRUYWFhWFpa0q5dO3bu3Jm/XePGjdHU1GTXrl3vbTc6OppevXpx5MgRZDIZDg4O1KxZk02bNpGWlvbebVJTU3FwcGDUqFEMHz78vXUyMzPzEzLIG/KztrYmJDCKlesX8vSJHymxQfgHvKKQmTlZ2dloqqlgpKdDurI+40eNZMPySTTv3I2Nu46Sq6jGjq2789u7fOMkVcrX/eLjKJFIJJJ/3qvQOBwtDX5Y/4FBr7GzcaBD9+7s2LiRajWrYeFeDr9bZzGzsiHg+RO69erFxdNnsLbW4/iRM0ycMpcePXpz88YZho0eRZuOA0gICWbKtKmY2JijqKjKk4BASjm5ommoRkZaBnpqysSlZlOmUmWiggIxsyhHVuYzDmzbVyCeVYvmsGLrZiz1jDh14Y8Roa7dWvDY5wmZcmU0dI1QVRIkRSeiqa2HulIG5y/kJUQLZk8iOzubbh2bYVaoDH2H9eb6pZuoqStSxLk4OkYOLJk3EYDnty7gUrYa1SpVppSdLvO3HwVg9+7tTJsxER0l0NJQRaZlj7lqCsHJyRho6mFjakZk+Csi4pK5cNvv3zPkd+/ePaKioihZsiRKSkooKSlx6dIlli5dipKSEoaGhigpKeHmVnABRFdX148+5WdsbIy3tzepqam8efOG58+fo6Wlhb29/Qe30dTUxN3dnZcvX36wjqqqKjo6OgX+AfQcMYRrTwLQtzfjdUwyTkXccSnujJIipKan4x8ejsiIYsvaX1m29xrVqrRnyrQFNKlZJb9tn3uXpWRKIpFI/o/8yGQKwM7GAYAdGzcCcOHsBaxNtKjXoANH9h7A57EfIwb9QlJSHD5+wQQGx3Px3CEAOnbpRkxMLHOmj2Hztrx7ohQVVNHU1aGkW0XUNZV5cuMBZmZWxEQnQHoy9y6fRuTksGv9NGLehOJZthwAZSsWx6m4A6t2beL2pZP5yVT9Dk0B2LzpAMnpqcydvxZtbS2UFdXJVsgiPS2StLT0/P15/uI1YyfNZuGua7TtOZRstdJYOpdG29CSi9cvkyuiMXewxcLGBt9kPSxtbAiLj0TFoiikxRLx8j5OFqp4FvEgRcgoXLQUfq8ecPmhHxcuPiRTnoKDqxsaFs54n7nzXc7JD5uHqkaNGjx58qRAWbdu3XBxcWH06NGoqqpSunRpXrx4UaCOn58ftra2n2xfTU0NS0tLsrOzOXDgAK1bt/5g3czMTJ49e0blyu8f1/2YnMwYUlOSePIwClUtdcKic0iKD0NNWx8TFWXUDAwIeBWKujG0qetJ224jadamJg9vKee38fx1KM5FY1BWNfri/iUSiUQimTplLHOmzH6nPFsoYaZhTNXaFbl4+hrtunQhWyGHzMQM1FQ1KepSETe3IoQHBmLlYoeikpxsJX0UACszcxQyk1myciPrt63nlY8PHbp04tLlP4bkbl17lP+6frvOvHpyGW1dPdycS9J7YEfOnLyInqYm/Yb0RUtJjbj4N5gaafPw3msAKldwIyVNEbQVuXvnBvPHD6N0jQrE3z6KY6GiGJjaERcWwuETZ1FSUUJLQ43xQ9shU1YhOTOXDfv3smXvdnLRIDcjFfdyZUnOVKKIRz1Wrd2et8hHTCxHT94FggHr/Hugv7Uf/pTfn/15yA/g0KFDtGnThhUrVuTfQzV06FAuXrxIpUqVAOjcuTOWlpbMnp33g3Tr1i1CQ0Px8PAgNDSUKVOmEBAQwP3799HT0wNg5MiRNGrUCBsbG6KiopgxYwaXLl3iyZMnn5WswR9P+dVu2By5yCItNRgHJw8sDbTxsLfAxrU0t67eJCstlhpVamGkrcu6LWt5EfIaZVUDihRxw1U/nhZD1/zeorS0i0QikUi+rVsPTlDWsx7Lly1g9uyp5ADZmWloaeujIFNi5tJBDOr1K+oGxmSnJFO0RGn0DPTxD3xKVnwmiopgbWSIqpYhh/bvZdepa2xdPg0lNS1ig1+Ro6hCWkoaRUp68ejmSRRVFTDSM+XShWs0auDFkWOXKORYCC1tNRITM3jj78/xS1cYPbg7Tx69pEQpFxLT5Rjqm3D7at6yO0OGdWbJoq2Ur1OTG6fypjeqVK06Vy+cB6BI8eJkyeXoaaqRk5FFjoIqKZkZqGsro6epQmJyJvpayoSEx5CSlIKauirqqgq4Opfjt0N7/ptr+TVr1ozVq1cze/ZsBg8ejLOzMwcOHMhPpgCCgoJQUPhj5DIjI4MJEybg7++PlpYW9evXZ9u2bfnJFEBISAjt2rUjJiYGY2NjypUrx82bNz87mfozfadiZKWmUNqxCTmh/mjZF0GB1/je9UFTR461thFXbxynatW6zJy5iO2bVvLg4Q2UUkMJypGxdOYUBo8fCugR8fgMZsVq/Y0jJpFIJBLJH3p27kP9SjW4ePcyamrqREREo6WljpBn0qZ5AxZN2IapfUnUVBJIUBYkRASTkJiEWrYiqOaSlJBMjHIOt0+eA+DgprmoaekhT4lBXVeXZq37c3Dvcp76PEBLXY3iZcqhqpCXWhw5dokSlWshV5Czfd9+3jx9TBF3axSyBGHx0ZjbmONZsgL3Dx3g1KVLuBYrzqwFm1iyaCvzlq2hTJ32FHYvRGamjJnTl9F9SB8unLpIekY6ikoK5KSnY2iog5GDE+GBz8lJlBObmUlWeibJmSmkZymgr29AloIamXJ4FfKaMl7liIlN/C7H+qe6QvX/5G2Ge/vJIzyKFuPs1afEpYRgoatLVEQ4mUlxVHS2wKFcXU4c3ceLx89o1qo+NuaW7N+9hwOnL7B772EmjB9HdGQIa9ZvJeDZC+yd7UBB9Ufv3idFxydgrK/3o8OQSCQSyQc8fXiaKVNmcs/nERnJaSgpKJKelUFWDjg52WBlbURwaCbhCeloKoFMQxcddX0yMtJo16YLQW+e8/jZHdzdPVj96woArr28jveOw9y5cZNsuUDIM9DRN2LiL5OoWL4cHp6FyMpW4qmPH0lkMq5LU5ZvOQGAR4nCODoUYv++UxQrbk1sQhq5WVmkZabh/8wfj3KlMNbQJknAL+Pns2nLSpLCI9HRUyE1JZes7BSSM0FDXYHsjGy0lNWxMdEiNl0QHJWIsbEOaSkZZGSlo66riZqGJhoK6qhraBObkUCnFi15FuCH/93HXL50+d/zlN//u7cJ1YPH91DXM+LxvXto5uaQIM/Gw7MsWqoaGGopo6lvxKY1a5DLM3h+6xwWpkbcvPMQmWkhcmUCKzsPSphq8PjNcyqX9aRx245cPLyfqk26/+hdlEgkEsm/QLWyxUjOjCUtI5PIiFhyc8GjtDsCDfxDYkFZGRUVJfRMrdDIzUVHVU5MQgou9g4ky8HZ1YlZ4yflt9ekeQP0zSyYOnUuXds1RklR4OpehbT4YK5eOcOudYfw9KqQX79ChZJo62igoqpNWHgQ4TGxODmX5eIJb9xcLAkJDScjU6Cvp4yWpiZVGvZGTgqPrj9ASUuNxORkGjasx/UrF8iIjSFL5ICQY2NiwenzVzG1NEZRSQlFoYCiUCJDIRsjE2MQKiirCOTKCjhalWHS8uX0alaB8IhUQl88/vc85fdvkZYaT3SUoFKNSthZaOFSyB5dxWwyYsO5f+UMAN369KFm+eIkJKVx9c4jTE2NaVazHPbKmZQzT+V5WBCKqno0btufsMdPKOJe9gfvlUQikUj+X61es4BqNcvQpFFFAAq7WHNszy4Ob9tGYFgo8UmCNk3bYmhiyejxo8nNjIeMRJrUqcLlUyfRMbCgeMlSZAoVcoWc7MwsAOatWEj7zl05fPAYqQlJDOjWkgtnr3LmyEWiAx4QHvmG536RBZIpd3dXBBlYWOjz0u8x6ipgpGPJxRPe1KldFRNTS5RzBSZGWmRkZmNpZU96oh+3rlzHQFMZ9xLlOX34JounTSM3Mwe5UEBTQYaSggL6dqVp3bY1RnpaGBnooqOria65LhFvwpgxbAg+d+/w4PpdHl+6TciLC3St6kxyQiKqiinf5bhLV6i+0tsrVJP7NSFeQQtTXV1UTYthphSKqpELSaHxmDiaEhyeQb/eHfO3mzdpHGFRkZgYGFCrVkNKV8uboHTTqoV06zcCgGW/jmbQ8Lk/ZL8kEolE8v+vb7/6PLz+gLIVK3Di6DFSMjJRVVaga/sunLlwmq7DJjN+6FCEhj46ahrIFDNxLeaJcqbAwtqM4iVrcPn2dTS19Vg1Z0qBtvsM6oSRji6vXwaikpuFuY0V1sb6DBy7sEC9NesX4ftGiSf39pKZrUqjVu34bddemlZ2JiAygeTESNIys/B5+ISs3DQ0lDV49iqGXv17ERevzoFdSwHo/8soXj68j6qOOalRfuTk5NC4Sz/2/3aaxIinKMrlmBuY8zLoBTr6uihlC1BRp2uXPgwZ2OedY+O9dwXN2gyUhvx+Fm8TqmZtGlOjYmkSkzOwtHRAISEcHV01hIohaYlvKFmlGc5F3AF44OvPitljsLIyw8HRFTtjU86c2o9/TAqODlY42lrSse/4H7xnEolEIvknZQEq36HdCmWtsTEwISElASVtLQa06kCahSJPj93hkm8AQSGJyGXZaKuqI5Q0KVG6EOHBMeiamKOhZUbVpu3xtDWmmKPlO21v2bIGNxsbSld7/+oegyaMwP/Jc1SUFQh49ZLk1BRUyebpy0g8i9vy4NEbtDVl6GgooKGhgqGFOTdv/LEE3IytR5nQuSEAm/ce5dXju4SEvmHzpk389gDsXEBZDVxlefWnLVjB2WNbSEiKIz4yBSXlXNSV1encvwtjhk4rENvlM4fwqt38v/WU3/8DtWw5t+4+JC41l5KxMaAgxyLDguTcGBrX9MJAWZOza6ZQs88UPIsUwkBLi379phD88gFnLp+hbsvW3LpwBT1tbaz13/2hJf416Dv88zsmkUgkkn/E90imAK7fCmbTljF06zKnQHmLOnC+Tg3k8kQs7WxIy0wmNymZjNQ0HN08sDZ34snDW3Sp4fHBtrt0effKz5/Fh4dhaaaLtqYOWoqpbNuTN+WBtbGM1HRo1rACK5eu5tip8+zeu4dBvdsW2P5tMnXyt0PkZoQRGhFArXZ56wSW84TNy/YyalDe/JLxKYBaNpUaj6RuESsWrJqGYkouOboaHPc+x5a1+1BWVcHU0pDE+EyykpK/5DB+NukK1Vd6e4WqfEVPSEvCzMwMFMHaUJcu3cdQokplyAoCFZt3tp0+ZhDqKqqMHDWd+dNHEhUaTBU3M64/ekrLLl1xMXNAs0S1H7BXEonk30qeE0PNahVYsXoTxw5u5ZeJ44Ecgu4/xsbDAxTsAMgKu4Lfy2ROnDvAL9M2MHNcXxpXrYt77aY/MHrJ1wh9dBbL4jXfKd99YAvTpk5AyBVRliliam2HiZ4upsYmuFZsR53yhbCxsf5bfQ8cNILI0GfEBPuQkZWLjp4m3Qa34dHlIOKTU5kzdiKX7tyiSften9XeokWbGDas2wc/T82E2LhgbMzz4n4YnI2HtTLhwG9H7pObo8ThLXOJCvFhysIVNKlaWRry+1m8Taha1a9ItlwRXXUl5Nm5WJkYMnvj/rxKwUG8SfbH1qECqBb8G2TW0C7cvXsbIxVF1p734fz+pWzbuJnYhCSGdWlDtW4jQEUF0Pqu+5GYEIqu3nuujEkkkn+Vm8c3065zN3r374LIUKBq3WqUK+OBgpZ7gXqTh3fi6KkTdO/eifv3X6GgnIOuhi4LVu7+QMuSj3kTGISt3bt/WP9IFcs6Uql6I1688kVHTwMf3yA0VDSoUKM+8yaO+9vtP4+HDUvnkBZ4jaSEGLYdusGlk7vwqtuOycNaMmXKPGS6hd7ZbsKMecyYMOqL+7t68QKVqlZjzd4TuJtbc+vlA55eO4WKtiFRUfFEREWSLZdRws0UX5/nhLwJwP9NtPSU38/m6o3bkJuDhWtJSleszC/zNvzxobUNtm5VCUv348LJ09SsWg3Pkp4smj8bVTUFWtQuz9rzPgC4Fi6KbWF3frv+igchyVz2/g38H5AS/Pi7xi8lUxLJf0O5+l1ZuXop7uXrsHXPbtat3ISCljt92lbPrzOoc32a9elKx7adOXryOL7P7uLuUJgFK3cT4H/tT60l8Ob5ld9fv/vE1G87Vn3fnfk/8rMlUwAjRwxn7uxFtGleH4VcQdOaZbl6atc3SaYeBMST7HOT5mWsuH/3JilpmbRpXA49MwOaNSzF1EX7qVir/nu3/ZpkCqBS1WosP/SGPq3rYWiswIENS/F59BiVrERSop6SGfmKpNAnHDl0EN/HD5AL+d/ZxQ+S7qH6m0ZPmMaQ4WM+WsdCrygPFYMoV7US8WERDPtlLDVq1iUqPoFYBnPc+ygrRvZmypItrJ82iDc+V4mNC6JKvVVoaZvnt5MaFY6miflHepJIJN/S5i3r6dqlZ4GyYP/XWBf6/7yvsV7LQQBkL01h98aNTBg3lDW7zzN0UCM01fQICH+Nh3MNPCbWIGeVBvG+rxk8cSmDejYlMyYJDRsj+nXtgHOJMti6VObNnXM8f/2COm37A9Cjcz00tfSpVjFvsfdNc6dRrGZJijg7oqbl/MP2+5/y6NZ5ipet/umKP1iz1nnnKzMmlqjAN7ga24Lq3xviA7h2+wEVy3iCfTniM3S48SS6wOeHjtZh7tR+XL/9/G/39VduGhcJCSuJf8Bdzl45gPeuQ2zavIbI2Ew8i5endsPy7Ny+gwcPfBgxYTqDew/45jEgJF8lMTFRACIhPvSDdVZt2SeOXr0iBk9aKQZPmC6EEEIu5EIIIW77PcmvV7OspxBCiJ61y/6xsTxMCJEpTm+eK4QQYtaYkeLpg+PfeC8kEonk/UYMbS+ESBZCCHH96BYhhBBuDlri6fl9+XWWLhhYYBsHW23RuGFFIYQQw/p1EfVrFxFrF038ZwKWvNfMwV3yXz+/c+a79bNj987fX8lFZsqTAp9tXDL5u/X7V8cP7i3w/rmvrxg5speoVsNdWFrqCiGEKOzqIACRmJj4TfuWhvz+JpnCu/c4DZu+keuvc/DzC2LdtgOoG6lg4lqLcfNWofD7KGvpwkUZPawfnXp3Z/7SqQC8TpfT9u1TFQrm3D6+B8Xfx5nHzp5P+ItoLp48wroNc3jy8BJXLh79R/ZRIpH89+hq6vH2Hs7y9euTHBOKokydMnVa0aVTdUoV1aPTiHl/2kJQuWolDh+5SmxMBLfunufYKR96/f7Ies3apVm2OO933eRJeU+Ibd444R/co/+WubMHcWjdfMYt2Zxf5lwq7wb1eUsXfmCrr9e+TbvfXymgolkUsvLWy5s0tifdBk/55v19SL1mrYiN8OP5sztcvvQbm7avxdragJTEbFo06wTA3Zv3v0vfUkL1Hcwa1p0KDkrU6jkccwtXXgQFM759WWaN6pdf5+CBHZiaWGKlpUF8Yi4AU2aMJzAxb2x33JD+lKnfCV+fO3To1IIhfdsRGvaGqnUb0avHGNw9vIiP/j6Pfkokkv+25WtXE5GmxajRY+g3Zgb2LmUpWqo4bTq0YPOWpYSFhRIQkoijvgaTR3X5fSsZmzYfp3JZBypVdOPa7SAAoiNCqFLOEQ0VGaVd7OneoxVTp62hSa2SKMuMKV3Miqa1PQHYvmPZD9rjf5/RY5fRrNcvALz2e/BH+ZhepET5fde+D+3eAiq63DmznWmz13+3fuJenQZgx8opQHZ+uaGZE0cPbkQxO4erF45y4+pzwiLfcPDsYZ5nQ6cxq79LPNJTfl/p7VN+PYaOJSPEj+379r+33pIDd7ly5zf6Dp7G9gWDyZTLiH7xkhwFQZtWfenboSqNGjWmZ78+NG3aHoA7V85jqK/I7BkLcHN35MEjP6IT46nbdghDurUBYMOhUxSyNsfn/lUG9e7/j+23RCL5d9p54CDtWzQHwPfxUxYumU7nHr0JexWMlrEJK5fPoIxXGc5f9EE1JxElJW2unT+Hi7Mldx+FAFCranHOXHzEb6cOMGPiRHIV5Rw7d5Em5SvSsWEjBs5cQt3qJQiPCefR43BePblN777t+XXqUjxqvv9GZcm3lx3pi7JpkX+sP98bFylSvuo/1l+eZEAbgOIeDijKBDqWhUhMTEZZqHHn2rdfHFm6QvU32Ts441m3ygc/D02Mp3bZGtS0AFcXT2pUa4yxvSPaJta4eTWhSrN2aNlZce3eIwYOH8iQId0oXbk6g0eM5cj548xeugqZYjYlPUoypFsbpk/qR1TkK3o0q8PTJ+ekZEoikXwT7Vs0p2ENL/r0aElCTCgZ8X7s2LCc0eP60bheXRLiokiNz2FE7wFkp6bw7NldihdzROQq0q5FXXbuWopcOW+IsHGdFoQFvEFXXQNTDXOWLp/PwJlLuHryGAtmTSYjJQs7MxWaNqlJsWJu+clUSXerH3kI/jO+dzJ1+WUOJwJh6Y7jZMF3TqaS3luaHBlNIXMNzI2VSIqLIyolFXUVM4qWbMXZ40e+SyTSFaqv9PYK1Ycy3GxA+U/vl+47hp61PgmvX/PqZSBLp0wEYMDIAZjY2VC6WEXqV6lEv+FDWPXrEgDaNq/JjTs3qVipMjt3neDg6lUcPXOUjQd+AxTz234T7Etg8Bu8Kkh/4f1TcshGqcAZ/jEiomIxMzH80WFI/qX69WuH9yFvnvo+5/WbpyxZuID4KDleNaoREhXA+CmTmDNhGXLNRE4dO8vzx0E0a16T9Zu3sGHtMoJfhhMT44+rnRWq6rrsOXoGZ2drbly8RIcevUhOiGTpysMAjBreg7DIKLbv+D5fdpJ/P3liKIq6eVMBpSb5Mn3mYuqWq8Kc1VtIVjZkyYE9lFKFzgMHsG3FSmnpmf8XykAOeQf4WRYIbV1e3n+BnoE+ibl5h33U9Gk0btqeOpXyVgTv3qcbfn5+dO/ZgRo1qrL74Fn6tKnH69AoFswYiYm2PhsPHIPsSFA2BeDw4Z2YWVhQpULZH7Oj/1E/QzIFSMmU5LvYtn8ZZ05exdbeDksbW/QMbSllaMu2HX+s2+a9bxkmOoXo0L4BJcvVhNnQqG51OvZuwfVzZ7l+5Tq7d21GLTUVjN15+voiqTJYvGANikrQqVZ9HgXHA/A6LIiDe3bzKjT1R+2y5P/Yb/vWcfXCMeat9KZX3ybcuXCT1Mxk9Az0mTN3HYtOn8PToRSlVGHAqNmEhMV/lzikK1Rf6c9XqNR0dFBJAzTgFeBI3lR3f37+zzc8kB07d9BryHjslaBtr85oaKqhpggrF64l2P8pYydNRU1FRmDwG+ysLSlSyIFhE+aSJeJpW78RT168oEZVL3Jy5PTq3ZGylVrgfWo3utlq+L6+w8DBQ0Bm8kOOh0Qi+TdIITpNxoWL+7l+/DzHT58kIysHVTUNFiyaTpN6XfOqZaWDivrf7i3aPxjjQgXnP2rRtBwHvG/Sv2t7Vm7e+bf7kPzcXofF4mDxdX8YLpndDT2jQhw9dQpLQ2P6D++Lk3Od/M8nTZ/EkVNHKFu1JQpZydSu1Z8D26aiqKTKlk2rpKVnfhafGvJ7KxC4/zgM4gNp7lWB0MQMFvw6GhMbJ84ePUO2PJNLv52g46C+NKvVhMa1q1C9RkWsrCzZvecYAGG+d5i0eDGGKqncfvyCxvUbcOfmHfr06Y+ysiKPfO7Tb9isf2bHJRLJv4LP7ZMULVOX9cvGgkI2IksVHT0LijtWo/PQWhib2ZKdlkbRch6cOHSeiuUrsn7Trm/Wf0JyFJcuHmP+7BlERGSQk53Esnm/ou/kydYNW7hyfBelSruzbd8FxoxoS5Pajdi2ezfWBgaMXbjlm8Uh+f/z+Pgu7vjdwkjfhiPehzF2NiM6OAZrAzsOXzlCrboN2LnNGzs3T+wLV0BTE4Jj36CuBBqaxuioKbF8znwpofpZvC+h+utVqb+KBzJzwEwJlm9cTU56DA6ly9GoTE2mzJ2P7+N77NuRt17WL2MGcO/uPXKFnCZ1m/Ds6WPWbtpL5za1OX/lHCFhmezetIa2jRuy59AOnIsW5+n9+7TvP/G777tEIvnZxQP675TG+N7DqEjJd8qrlndGQVkZEy09dh+/yvb9a9mycDFnbjwFIDPzAQqqnvkD3ZsOXOHomW0EBr5k+piphEdGUrKQBh6lG3x2hPfuX6Nhk2pULlOS4ydvggIMGjKcbRtWkJyQSW4u1KhemoaN6nHq9BWigtJo170BfQe+73fcX+9ahZePdnH6zCOsTMxp0nnIZ8cl+f+wcdNIihUuTdSLZLb8tpHGjZqyZt1yVDR0eeUfhr6NLToKiqSraKGoloNGrho1GtYnOioOQx0rJg7vK91D9TP71DLG+pB/xAd27wvA9EXjWTVvKfWrlsPS0owVa9cwoHcf6teoyvhx49DTsWT6qv1EyAIZMWUIqxbOpXu/voASsUnpYGiLeaGyeJSrgYHuu79AJRLJf0UioPv7a32Cnp3BxrUWAGvm96PPL6vyk6mc1HCUNPOWsZo2qTc2he2oULo8ew8fxMPTCD11Ey7eeEqD5pUxsnJBTb8wa6Z65vfUrUVlXr98Q3x8Du5uhRkyYhAGurromXqTE/KQc1fufDLakiUqEh6cRXTQC0redSfoTRaONloUtrNCUU0BspV45R/K9MnTSM2FRfNW0alH3z8ayIXdmxZw4vRZAt+8ZtDQIWgoKVOqShFunL/MsiXbqF+3Bk06D2He2CGMmj2MOdPmkxYXzbTFe3n5KBjtXH/MPL2+ydGX/DPa1C/JnuP3uH7kCSueb0TkQtCbePSMTHkaFIumkQwXjzLkCg301NXJVdPHpbgLxYrXwe/RFUzMjHGw/z7LIElXqL7S5w75vc+uvRto17oHAE+f3ueR7wPaterBpctX8KpSmV+G9mX6lCl0HzwSVR1zwuKDqe7hxuhfJvH2OpijjQYDB44m+MVj7B3sSE9JombVOnjWbvntd1YikfyrBIZcoU3Nptx6HsuBnfNp0f4X1q2YxJuoLBq0akL/7gMYNX8p7bwqUapqTawLuzJv1TIWz1xJalwAC5bMp0PjhmRnJKGgpkTRosWYMWYWWjoalPRwQFFZhdt3ngGQGBGArpn9B2MZM6YlTWv2oFzNvBvex4/rxuYV22jUuCU6FmaIpGD8Xr9EV9eQwq7F8H/5hmOnDtO8QSsSYwOJjIvHrYgTSgrZREfn8iLgJW1atWb37m00aNYARC7TJs0DFVVuXjrEmTM3CHj9lI27Lv8jx1rybSSHXeag9ym69J9Jrw41uHD+EopKirwIzqSEhx0JWbnoG2ijpWaIqrE+jq6lqFilLa9e+qBtoMfrh5ew1DQjOzcNPeVsho4aIw35/Sz+TkL1VkDgE+7e96VV87bvfHbj4lGClEvTpqIpWSlRKKsKJk2aSFZyDHOXH6RCKUe6duxK+XKNcC9XnCmje+Fa2IE2PT++ULNEIvlvSIryQcek6Ac/r1Talqt33gDw8M51PEpXAOD44zROHV1OZHgUWpqmrJ/zCy2HjMHOzJA7V7y5dPxafhutu7dAR67A6ctnCQr49JNTuzfPp23XX/Lfy189QdHR/b11+7Wshc/j+2RkpqCmro6RkRFXfV7jVtQev8cBdOzSmYigF/x26hZb92+haaMuaKhAbg5YWmtibKCOsZUDKYmpyNNTycxNR0PVhBHje9Kg/iCmTRvI6d9OcvXuq886npIfI/X1HTQdShcomz68I3Ua16NM1Q5cvn6FRQumkZRrRMkyLkzo0wsdQwtSgEf+Gcjjn+P75CF37txCX1WZhb8uJTbwJUb2TlJC9bP4FgnVWw8eXcKzuBfXr1xFLg/jlE88ccEPqOTVmPZ1XfltxykSk5PR0FagRacRAEycMoFHt29hoKdN2cr1MFCMo03v0d9i1yQSyX9Iiy5dsHO2IzwsHE19c1TlSlRo2Bvvw8uwMzHHwdGTPk0qfHD76fNnM/GXsQXK4uLCMTAw/+A2qZFR7N+/mC4DPvwwzb4tc2nVZTS3bp2nWuUa1Ctqwa3wGLJSszAz1SEyPgkEFHGx4sHdELZt3caosX0YN2Eyly5d5vH92/i+iqZCxSKcPn6OCfNmsm3RMmxczYkOzyA7KwMFBRmdmnZk0pI1QA5Xzh6lcs2mX3oIJd9Z0O2d2JRpn/++XatqtG3bmRu372FfuBjF3awITIwgPs2Yfi0aAXDhti+FSxbh4U0fTu1fzbJFywG4e/cyTk4e3+z7+8+khOorfcuE6s61E1jYFcfS0oJ9B9ZiZGVJtbJ5N3dOGd6eKfNWEhXhx/lzN2nbpQegCcC8KaO4+9yP+tWbEBL2lEIODrTv1PcjPUkkkv+6gzs2sdV7J9rGVuRk5aJhYE5uagqWzqUp5mDEPu9DJMfEoWdiQkJUEkGBD2jXqhHqOQqMnDTno20P69udRas3vv/D7BRQVgIy+eNerxjA6LNjP3FoMxPHjGbZwrk07NCNbj1aUtS1Ij16D2PkwBYU8ixLn+6/YKAhY/GSX+nTfziGhrB7z2VqVq2Ck6sBj5/GYm0lo1yxYvi88OfujetomrizcfNYihp7UqZB6/z+Rm7vyIKOSwGDz45R8r2kE54YwpIlm5FlptB78CR0NHTJjAzCwrFQfq2EbHju9xLvrauJiI5l88bN+Z/17tOUtWu8v+n3959JCdVX+l4n5K/GjuiAjVVhsjPjuHHLh/YNa9GoR95fg2OG9eWX4SNYvWkdWQrK3L7/BE+PMpQr6UTjP/1SkEgkEoAZc2YwYcwEAPwiwpj360pio0JRUNCky7Bh/DpmKBkp8YQE+GFuaMKeEzd4fGon05YsoG6Nyrx49Zoybm6Mnrnq/e2PH0WHNq2xL1bq2wQc8wKMPnADcW4OJYsUJiUzios37mFn5cr69YsZP344zet0REU5EblQJSg+i3MHvalepShFXF05fPYIPftPoES5StTxqsqTUwex82r2TvOH926gye/3ur7Ps8sXcK1S7dvsp+SDerSti71dYSbMyVs4+0VwOOoZydgUdipQLzEshrtPfQiPiaNj27w1KV8HXubpDV90CtngVbYBZ88coEbFkixevpfho0d/++9vIfkqiYmJAhCJiYnfrM2Alw9FSuzLd8pP7V4iqpe3E2uXDi1QfuPUCSGEENPmzRKdevUQEREh3ywWiUTy7zF//lxx5MKV/Pdte3QXgydNFNMXrRLLD98SfrFZYof3KTF5/jyxdfMyUatqcWFkgDAyRJQqbifci5qIFo0qCyGEWDZvihBCiD7D+4oBXeqKHetmfZMYgx+dEXf3L/mibW4fXyP6tKwmihY1FRqqCCUQVctbiZ6dqgsDXYSJEcJZH7FwYB3RrkFxoaqc95VnZysTJYsYCCGE6NymiWhTp3x+m7Wr2ue/Hta3Wf7rJ/5CJEflvU6L8BNCCNGhfT0hhBCvn1wUQggRG37tC/da8j7HDq4RN47veqc8OvSNuHv2tHh042KB8ocv48SIoQM+2ubxwxvEhlUzRY0qzt/l+1sIIaQrVF/pW1+h2rp5B3UqlyAmJpj0rAyOeR9m8sIFbF2xjKDQCOSK2ZQq4kqDtsPzt5k2ZjAV6zTHN8QPkZDCkEHDGTa8O+oa6qgaajN52Mcvz0skkn+3HGDU8M7cvPuE65cf5JenCDlaMkWWrF/IU78wJo4Yg5Wp8R8bZiVx8Oghhg3qj7qWBs9fRAPwMhXMNEEb2HbQm5MH91CudAlKlPSkYqWazJg3mQmjpgLQp093WrSoTu3aHf+x/b2wfCRPhDI7N25AMSuZzGxlNi1ZSt9+vbgbkkOD5nXxdHZm6owl5ALmhqCiqkhAaE5+GwlpqfTqVJ99By4BMKR/F27fuMzLgEDKlytKr859adx+ACX7W2OtZon3rzcB6Na1Cj1bNqZiw5H5be1YP4nqXs357cxeGtVsj4VTUZBHg6Ixkq/n+9gHUwMjcpSVMTP92CzrBedjC/Z/ipauPn17d2bvwbPSkN/P4vsN+WUxYUQ/ho74BSMLC0AHeVwIDRrXYtmSZRQuWROAqxdP4GhiwZOXL6nVpCWb18/l8aNHPH0VgFtxTyaMGY6BnuM3jEsikfy/qVW3Is6uhSlSqRH9WrR4b51n0aAh0rA10cgvmz91JOVqVmXVvFXEyZSo0rArEWEBZCooYK+pzjP/6xQycUDF2IaxfbsC0LprG/Zu3gNA8TKlUVCWY2dXhqjIpyTEpoJIQ0FVg569+qFqpEnfpu0+ez9u3NpJ+bLtP13xd02q2ZGVlk1mRgp6xkYoAvvOvkaeGIGmiTnupR25e+0Vp09t5+X921y//BjXInZce+pL44o16DtuNg+e3qNJzcpkZ6XTtl1/rpw7TEhkKOuXbqHnsC7I5GBj3ZnxK0ug+DKFy/uOMvfoDdq1boCjtSHTF26lfuXiHL/yKD+uDat/pWWzKpw6foPW3QZ99v5IPu3RsYMUb9D8vZ9dOb2fyrVb0q1nI5YvWoFc6H2f7+9ver3rP+R7XTJ8q2//1qKsp534ZVAb0a1xGTHvl07vrZeUmSuuXr4kgiMei4Mnj4uY5HjRoU870a5XexGSmv5dYpNIJD+/M9cviaoNvESV+rVFn4E9xN3AhE9vc3y/EEKIsuWsRJ36zUWtRvWFEELM3XhAPItLLlC364Ah+a+PHvtNCCFEq3YNhItnUVGibCVh7eIk7F2shKmVmTC30BMOLu5izKL1wqawk7BztBBunk7Cs2JV4VzMVRTzdP5Ge/1ha8e3Fkun9BDju3oJHR3E7GFdxbq5Y0T7ZrWFEEIY6OZ9HRrqI3Q0EDrqCDVlhL21pihXwlqYGCL0dBBbt6wTmsoIY33E2pXThRBCmOh1FW2GVRalm9qKR/t2CJGUIoQQYs2CXqJ25VIiNdlP3LlyQgiRInp2riOEEOLZrXP5sQ0Y1OO77/+/yeOb9z9ZZ8uaySI61Fd0aV9LTBmVNxw4YXgvUaOKp5gzfdp3+f6WEqqv9E0TqqznQgghovyfiOPHDwshhAgPuCie3TwmTu5bLYQQIiE97vfKOUIIIaZMHCeWrV0vhBAiJjD478cgkUj+D/x+n2TKkz+Vpby35uHzl4UQQkyZP1lMnT1H3L97RuR+rOnoW0KIcDFt+mghhBCtOrb6aCS7th8RNWvk3VfVol2bvLKLh0SVGuVF8VJu4klksjh7+6xwcnEWFlYGQs9YW1g6mouR0yeKoX07iCO37gkbV0dRyNlZuHp6iOLlS4mGnYaISnXLf6xbIdJj81+e3bX843V/F/XwUv5r760LhZBHCCGE2PzrRNGwjK0YM7ZP/ucGhogShbWFZ1FDYaCFMNJBVKzoLIq4GIuq5Z2EEELY2ZiJjJhwIYQQx49sEMYmMiGEEDWqTxBm1uYF+m5Sp4oYN76LCIl6JSoUMxRCCNGuRQmxbtHk/DoDu7cWQghx+/yJz9qf/5qU7M+ve+X0wfzXe7bPF0IIMXHCIDF3+jAxa95w0bVXc9G1bTPpHqqfyfd+yu+lzx0KFy3NjBlj0ZJl4u5YmBpt+uV/PmzkEBbNHENibDyhUZEcOHwUWzcXOrfq9c1jkUgkP97Zozup2fDTw16xydnoayuzed8uurfKG1YLjUvD0kDjPbXfXQNvz651tGn36d8jzdo2wFzfkqevXtK/Vztat+4NwLKF89C3V6dj80HY2ZhhX9gS95JVUFFOJy4lidfP3pAUm0BiZjaaGqooq2qhqKJETEgACsoqqCkrU7RsbW6dOYQ8NwdDPS0ePvj05Ju/9G/B/JUHPlkvTxKgw+H182jScxQAPWo7s+eGH06WhpSrWgtdDRmH9h0gS0WdIP9EvErbE5WaxepNm3HUNcLU2YOUqNcY2jpSyMqIjp2G4etznoePHqKpZk18bHGcuzymh1sP1g4fRKiBGYWdnDl4+AIAdeuUokKp0kz6/YnJ3ZtW0LbbgM+MX/J3zFs0ldHDp0j3UP0svkdCdWzrIs69jOHX6TPzy+ZP6EufGfPQSYkErcIAZMVHoaJvkl8n5pUPR84eJQU57vaupGSlEvDqGYOGfXjSPIlE8u+TRjQb1m1lUK8RH613ZsdsHvoF8svUNVw4vJTte0/gVaE6h06eJCEtm/Xel3HQfne7XEDh99fzF0/mzOFTrFu/ncnzF1K+jDv377+gnJcnW9esp06TfgQG3iM2OoJ9W3di51yYxvXasXTxNABqNahH4JunVChXkXOnT1OjrCeRaYLAwFekk42pkSG3Lz0G4M6bq4QHJdO4cr3POg6bFgyl28jFH62TFReCioEVVw9v5c3rG3QYvgrSI0DdrEA9SzNtElNTUFOQUb9qNfYdP8+A/l3YsmMPMjKJislFX09GfELeV+nwgb05f+4wFiYmZMjjOX81hCSyefb6KiXNLVDScCZvLi7V/D4un9yPo10Rxk4bwJad5z9rHyUfNm/UAEbNW5H/fu3E8RjZatO85xiu79tO0TqNpXmofibf6wrVyYs7qVs176/QaeP7Ucy1EMlvouk0fh4Ae06cZ9/mVRQp4kR8fAL9+vTB1aXYN+tfAsGvn2Dt8P7lMCSSf0YO32vt+tSwp2hauOW/P793NtVbj32n3ubtW3n95hUlS9cgKDCAunWq4GSbN4Hivr3LeewTRPMGzZk4ewo6OloEB4WQlJxMIcdiHNqzi4HDu5KaqkRmhqCouwP7d23DQM8KdVMVjuw8BjlZoKRCh27NqOFVke5dR+LmZkt8YhK5SorYO5QgR5ZDVnIy6RmxiKxctnof5fDOZcydtuZ7HBneTpr8Z95HN3D80BE69hvH/IXjmDRoFCHPbmNfuCSjhw/CzNmJph0G0qVdAww11BnepRvy1BBiklJRtixMakIyvi+COXYu76nBbvubsKnlYQBq163J6ZNn8Sxuh5a6Gk6FHCldzYtaDWvhYO7xHfbxv+XGpZ1k52hw+fxZJsxcnl8uTez5k/knJvY8fGIHudkymjX+4zJ/47YtsLG0QU1bhwVTpjJu5lSc3Rzo0qwj2y5doJOXNNGcRCL5uK2zh9F57CLSQq+gYVn5q9o4evQUDRvWAaBFszpo6Jljbm3CvGnzGD22L3NnrwbgUYAvHZs1Ii42BVSVCH0VBsCBs+dpUbM6DVp3ICzMj5T4OLR0VHC0dGTf/iPM37aCfZv2kRwXRZe2jUhRy6VKobKs27wIP78gHvkE5wWSFQcqn57J/MSeNRS2MsSx4pcvIH/nyhlKV64FwLzRPRk1dz2bJ3Tiyv2npGTLufP0DebWxugbGRL3/AWNm9bj3PWHkJJIQnIK0bk6ZCqmkJWexS/9J7PlYCDZpQ+idS4ZY1VVkvSMiIuJxqNEeUy0VJg5awl6JjZs3TabyuXqY1+4+O+R5A1VSj4i7RVo/PGE+2OfBxzcvpbLN+5y/tIdTh04wP279xk3Z5aUUP0s/qmZ0v9q0oTxpKbGMWvaXC7ePs1vx8+xYuEqNu3exkP/55gaFGJc3w/P7iuRSCQFCR48uoFn8bz1+h6EvOLVvee0atLws1sYNWMayqnRaCvKCAwNZfWmA9RvWIVSXlW4c+k6MTHxpKankyvPxczOjMS4DPR0DYiNjsfJ1ZLKNVoQlhjG9uXLsbSwZersdTx+6c+lI5t48vg2ZCcQHJDwzfb415nD6VC/AaaeNT5d+c01mrfpSGZWNp4utpg6lWDQlGXE+h6nY++RRIaFI8/ORVFVmRx5LsUcLfAsWYrIhEwuXzxLloopGob6vHj+BJmCQORmEx2Rlt+8mYsGmo7K3Fh2DBP7Sozq1ox5mw4VCCEoNgwTdRVSUxPZs+cg/QfmLTB984o35So35cjBTTRq3o2Du9dQrlw9LOxsvtmxKhCH31FsnCqyYOpoPIuXpIibBmZOnb5LX99SreruuDgX5+mTZ0TGhKClo86tO2+khOpn8T0TqrtPD1LKrQp/XePqgfdidAx1eRmZzqMXrzh46gK1G7Zk+qjxALxKyyD59V083St903j+X0WEBmJmafejw5BIfgJJgAbfaxjxr4b0bs+StTsZ2L8z5laFCI+NQEVo4fPiEZPnzmLalGnI5Co0a16PPp165m0zfy+FrGxJjvbh5dNbXL90ipzMTAL8I2jV1It93pf+kdj/6sWD6zh7VqBd02qUdS+KSAnF1qYQx06fIjMtk6DwOKyszVBSVSY1ORMjQzVkcoG6TMa6sz4oqiuycOwoeo6cyvqNKxg3eijZudCwdm0u37yJdeFS+D8KRkkll+WnZzGkZQdKqVkSp6NPRm4OUeERFHG0wPv4PTp3bcTWzUcA6NutEas3HaFjx7ps334SgDUbpqKYokTPIeM/uD9rF/Wj97BVrJrbn36jV2JrI0NFUYVSpcuxa++njnECG7euZvHsGTx+loJbYV2evkz8Vof6q2TlJrFo/AzikoOYu3w3k8d0okv7fhjo6KJnVwSAEX16UbN1efZt283GzafxKGbFoyehUkL1s/ieCdWZA1vJzIjmzv3XRMaFsXqT9zt1EsP9uHXnDM8CUhgyZDQBYX7YWzi925hEIpH8AF07tkBDR4cBwycwc+ovPAsMwVDHACFXRFFFEy0TF2LDX1G7YikMbczo27E9K7et4bf9x8nNTEFFFs/jJ88xMtHg/v2Y/HY37VrF7OkLMNLW4vqtRx+J4Ot4FLUjKTUJ9+IVuHnjCjKZEgaWzhRyLMzRPVsAKFncmuHDhvPrks20aN2AE/v3Ya2vSvf+I3j07BkPbt/i2oPnBARFkp6ZgrqqFo9ObeT0mdOY6OnSYcgsCrvYYmdtR616tYiJTmD74T2kJWRR2GUEkSZr0dHRweJODoFyUFXN5eKJ42zfvBkLKxva9RpBr04NOHf9Hoq5OVgXMuf8uScA1KrtwIwRSyhb58NXGPv3a05uRi7HTx6mVCkP/F8F06hxM6bPXZdfZ+GimYwY9v7EzM1JiyqlyhGfGsWew48h9ikYuhWo06R6EQ6f9wWge4vyrNq6CVVNl791bv5q2ugumNs50KvfJLq29mLarBWkJIXiVqLOO3XtrHQZOao3AwfPp3uXWmza+u1nSpfmofpK32tiz3unLovNS6eKTj3biQolHMTM2ePzPoiLLFDPPzpBzFk5VwghxMxFkz7SYuY3jU8ikUi+xsAxf6xFOnryOPHLzDlCCCHadW0jKlcpLYQQYta88aJqFQ/hXjRvPb1BXQtOaNy4fXfhUaG86NxnkPCqV0W06N5XVK/kIU4dPysehiaIYkVtxc17Vwts03fUCHHizL6vjrte05qiXDlPYVvYXHQc0Ft4VCgt6rYfJLT1dISGBsK9aGExbnAv8euUQaJOKVuxcu4vQlMNsXz6YDG3R12xvH9D0b1TY3Fhz7r8NksWtRLXzh8XW7dtFJo6SsLB0VgIIcTLgFfi0d37wtzKQBgZWwlLJ3cxblZf4WKoKEb1ayvGju0lmtWtJBYuXSJsrM3EYe9zwufKUeFS2FiUL5N3zPp1bvJ7L1Fi7epZonBhA1HCw0KUKVlIuLsa5MdQyEpVFHU3E1UrFBKjRxacWHTf9m1feJTSxPgRLUTHhpXyS/r1yjt3tUrbizcBt76wvU8b/0sb4VXBUTy6c0OM7tdXDOnXXbRvVkMIIYTfq3sF6jZrVUoIIYSrk7koXtzyu31//zPXfyWfrUTtyqRnhXLx2gUszYwpYvv7I7x/miYBwN5Il9H98uZPKVa+CvtOn6NV7ffdD6DynSOWSCQ/rzTyhvp+vGWzFwGweu9ZzAt7cOLgPnq1b4qVmTFzV8zm6IHdxAQn8PL1SxKTUjE2lREdKQjMSKJl9YaoaCqSlp6DyMjkie9d7l+5jmflCgzo24/R037BUFePFKFAo6ZNUVERiAxBWmoKysoqBL96wsmjl9m6eS1xCRkA1K9RmeO/bQVN+4/GffzQGQCqVPLk0vnjONgW4/G13chEJkLA4yd+VKpekqvn7xHw7AnLl29gUIsqaGlpkKKkgpGrJxsGTqGiuy0TQ/xpO2U2J0+co3nrptSoWh9dPR0iYpJxdLZCXVWJ3bv2UK6kJxduXkchLpbXt4oQlFmMuwH+xGYGI/eJomnNmijIcjhxbDOnz57Aw9kN/xA/ElJes3KLN6VLF0Jb25Lg4CCqVanP48dX0dHRwMBIkwE9ahAUlMnJg9dp27cBF669pm3nRvn7W61SGfxe3cG2sBJjho3n3LXXnzy3XTo0IepNGEnp8QAsXDYcZAo4WCswcthcHl+9xdwpv+L/xpfS5Rty6+oeTl32/6qfozwZpGdr0rxtR2ZOH0qXnr3ZuX0NCmqaHNx1kObt/liC5uWr8xzce4frd67x9EXeAxFJSUl/o+8Pk4b8vtKPuikdvucD1RKJ5N/j/dMA/Ax2/3aUto0bMnfxLIRMFe8da3kTEoqWsgrFihXGq2F9Zk+ahl2xBhhYGKOlrY6iohIxYaGoqFpgZqrF44e3iQkJRN9Ik3vXHgLQvGMjbly6RmZ6Dl379yY9PoZf+vRk5pIV2FpasHDpMpSVZKgqydi25RDVa+XNa+Xh4UjVChVZvHLLO7GWqVyU21d8ABg0qCcH9u8iS55NRqYCMiVVFJTk5KSkkxqfgpGBFmt/nc7dW/eIjPBHRVWFVQdvMbV7M3Jy04iKi2X3xfsIGaioqlGseFUe+9wgJzubzPR0cjJzGdq1C4cuHic7MwsTHQ2Sk9KoUrkiNx89IjHZAH1jQxIUn+FsYoGThhVRMnUqFbVn0MQ5WFtpcfLCCWpWrkP12vUJePGE5PR0LKytCHvzGjsLWzp3GUirDp0xNpQRHZv39V/UyZgq5T3wexXL2Wv3Wb9yGj27DObitU106jqJ4LDkj57Pti28GD16Oq3b1MPByZGTpx7hVdmdS1ee4GSjjlPxQvj7hlK7Qj3CEv24+fAJNsY2XL3/il2bF6Cma0KzZp2/+OdoYL82LF+1h92b1rP7wAbUFfXZeXA9MkUL2jaqyKyF66hRqxxNG/bl9PmtNK7bkIHd+nHxyjk6Dhwt3UP1s/geCZVchLFz1S4aNqmNvmXBeZCy05K46uePvZU5IclxVLJ3/cvWgplzhjN+zKJvEotEIvn/FnxiFtYeDmDe5keH8l7zR/fFLzKEdZuP8uvcEbh6lGbwoH689IsvUG/ZtSyu7hpH6OunJEWEkp0rR0tTF+9jRzhwcA+u7kWYM3kuKhoyIsKDiItLISM2kiyZ/H/snXd4VNXWh9/pLZPeew8k9N6LdOlFQBRUUAELCoogKlhARJSmIIKoCKhIb9J77z0JpPfepvfz/ZEryrVfC3735n2ePE9mn332WfvMyeQ3a6+9Fn6BEZSX5uPr74VZZ8ZTreHBh8fw7vvzkIpkKN08MBuqUcolBHv7IlNLOXXu7qzsDwzoyIbtxwEIDdai0xlYuHohk8e9hIe7B3KRCLdAb7JvZdK+bVvsNj0amwmJGFRaN4I9NeQVlaK32wkPCsFlM7PraiHVFWW4e2qxWO00aNicYwcP4+slJywqBktNKWarC6vIia5SR2y4H6ExCaSlZlBQWESrtm3o2+kRLqdfZd/lVchLnOSXOAkM1iIVi6jR6ZHJpViMDpo0qkdWTgYOJ3Tr05OzR45jczoQOyyMGjmGC9cvUFFeTXlxIWaHi4pKgdgINWGhMYx9fgqvT52EywVZud+LqnbN4zFZDZgcArdTi7iVfZyxo8chxcasFxez6MNZKJVihj/0EsNGjmTwwE7kFRSRn5oOahFpufkM7dkbP39vikrKOHT8JpOfHcXsRYvRSPwA2LVtAX0HTvlNz1LPjs0wiZz0vK8ft9NPsnbtEQCGDOvN7VupuMRiAgJ8KC3WU1mUi0IhIqfAVBdD9U/hz16DXTh/qnDi+DZBqCkRXnvhEeHct1t+1CclO03YsHu3UOqoEhZ88oUgCILw1KvPCoIgCNs3rfpT7Kijjjrq+Lu4v2czYeiQHkLTZhGCj79EcHdHOLr7C0HndAgDHnxAeO6NOcKYya8JU9/9XGjVq7ewZO58oU2nDkK9Jg2FBq1aCm26tBXCYsKFuMRIIdfkEuITIoU2HVoIsfVChPAYX+HA158IjVvXF7z8tEKzVk2EJkmhQlxcgDDh6QeFyEi1IAiCYBcKhKZJoYKnl1wIDPMQps2YJoRH+/2szT5eSiEkxP3O65EjBgvpV2trA/YbVBvDo1IgjH9soPDE/U2FZjH+wpNDuwgP9moozHrmGeHBni2F8EhfwSvAU1C5qwWtt0aoHxcpaD0kQkR0kBAXEyLc3+X7WKTnHu4uPDGil7Bn9XvCvMWzhU7NYoR6SbXxUgueHSBMHtZWiIxoJwQ119be0+4tBR83BC9PqaDSIKg1CPHRfoJfgExQqBBOnDgsaDQIXp4IGjWCSoXg5y0V3nxikNCmnpcQ7CMWvvxwzp3rF+deFSLDPYVhA7sKDZMiBEEQhJeeekTw8UDw8EAIC669F2cOHRCioz2Fp58dIKz9dL6QGBco9O7RVBhyf1vB2xMh0EcmtGoRKSTEBQuR4XJBEARh6NBOQlZVmRAZ6SvEhGvvXPPmhR2CIAiCs6JAWLTyE0FvLBUEQRD6dGsivD1jktC1Q2Nh/drP7npfenRtJix4fYogCIKw7pulQrPGMUJklIfQIClBSGoULvj7yYWoOF9BEP66GOg6D9V/yL1a8ku9fQW73UzDpLZklyUT6Zf46yf9l1JaYcHfR4nJDmrZr/evo446/hnsPrKCPl2evPP6duVV2sY0wdPdi4ycSkY9NIqcsnLGjn2W/WduYijNxqJPR2oTMNrNvL/0Y1546iksFh314xrQpUNnxj75JI+MG865S1dZ/O57vPrGm/j6epGTkUZ5cSlBoUEYdFWkZ1T8pE0LPnyLndt3IhM5kbrgVmY66RnVd/VJrB+Bw2klKb4xW3buvdPesXMzUAeRlXKRkOBwSnUlNG/distnr9CyUSN2bd9Kw4hAyqut3C6o3bEYHx+F0WairKQUuUKEywlOu0BCaDDX0gu4sucbVq/7nMqqEs7dKqJEV0VscDQJYX5sOXaWppFhHL9ym0/ffg2rEya+9hYAfboM4MyNc/jVF1FWUo5boQObRESFRUAsArkYOnRszeGjZ0mMjaKmuozM/O+9T+s+ncdLr8yjoKgSgA6tEjlxLhkAP18pAi6kMg0WmwmNSoVYLEPkgJC4GGzGGnJyc5CIXOgMThokhfHhiqUM6jkUT3cPRAoFyTfzWfzpPOa8+DKllS4+WPAal87fQuZmZ1DPXuw7dolFS97i1Ren8sWmzdQPi2TsmAlU23Ts33+QjVsPsnHb1wwb2J/u93Vj2mvPs/rjNRisOrZuqfUkzlkwl5vnLzFo0Cg+XD6HY4cvADB6eFdOXr7BlYsZ9y5T+pIlS373wI899hha7U8Ug/ov4a8SVBcu7uSb1V/x7pJ1pF48jdmlp2nLngBU5qWgdNei9nADPAEBEGHOusS24wdo1r4d8TF1OajqqON/EwPgdq+N+F1s/XYTS954iRpTBRevV99pf+DBIWz4ajOp+nLWLXiHhk07M3xAfx57fAw1eiOGGisRcYHkpueRW1xI6+aNKK2sokuX+/l67ceERcaTcf0yZVXluLlpeGbKRFZ/9DFVVRZy8n9aUP0UUyePZv7CNXe1pVw6ysy3ZrBhy0kAVn8wg0ee/b5uaouGEQwaOhS0vgwfPICRo8eRnnoDq9FEUJAnxSU1RAb6YZMqKS0txma1IXGCSwxysYiOzerhctpoUy+azSdvkFVUjkgMUrGMcF8NTiSk5ZXRq2VT0grzKKrSs27F56z/7D2kcjFFFXZuZGcysX93gtzdqVE3IqClN2/OmYW6zEFWfi5WQYTVJRDs6U7fzh0RrDpOp2Qx/YkRvP7RWry81Hzz3kLCOg8EYNLjj7Dkk+/jyxo3iSI9Jx+RQwDBicEg8MiDI7iSeomkxs25nXKV4tx8YmKaYLbnkXojB6cLPL3cUWu0VFQUIJGIWffZl5w7dpYhTzzOpKdHERsYTL2oJN7+YAFfbN3G1GfHEhEajrHaRtPmjXh+/ARmv7sMl8jE5RspRAQkUG3IR+vpTWFhPg8MG4xfUABlJXqatE1g6+pPyS50kZp2E29Pd/LyclG6+XP94tV7J6jEYjGhoaFIJJLfNGheXh63b98mOjr6Nxsyd+5cZsyYwXPPPceiRYvutKekpDBt2jSOHj2Ky+UiKSmJb775hvDwn84Ea7fbmTt3LqtXr6agoICEhATmzZtH79697+q3bNky5s+fT1FREUlJSSxatIiOHX97CYa/zENlvA2aeBYtnMHz/ypuvPnrZXTt2gGvgNqafUePHuHg/q8I9gygSeOm+IdHcfbKVR4c8QgZ6ZeJiW3659lTRx111PGHENjxzbvkFNYQoQ3gRt41Xn59FX3axlJhs1JUUkhcRAKHTtZ6QRo0jCa6eRtem7qMlkme7E+tokOsFx9/vIaaqlTa9+jJjo07WDz/PQAOHtrNG/M/wFOtxIEMk7Uau0WPyGFHplLg7elNvRadmfPC9wWjn3zqQc6dvER4eDDbdxz+j2b1xownmfX2ih+1f/TKMCbO2fivmYPWS05IcBiFWZn0Hz6S7bu2YTcDThveniq8VVI0SgWRIQEgU1BWUsbb76ygbY/aUjceHkrctGq+WbuWQcOHYzVZsLlAppShlih48pFH2HpgB7k5xezduJOHHnkAqUZJ93oR6OT+bN27l9iYcPz8o7lyJRn3WCeOIiPmgmpiGtdnYMMoSow1eCkVoPVEX1ZGmK8XE2e+h9Q/7ifnHhkdSosGDdh/8iAWixONxg1/H1+KSwpwuewIggjB4eLUxUuMfvhhstJS6dSjJQ8NG8ODI5+icaNICgoLMVjsxIVF8s68j9i2YRW38lPJTMlGohbRtGErsMDYicPo1qkrnbv1ZsyTw/l6zR5ad2tL0a1Uous3YM4bH3Li8Fmem/YILqsDo96IzmrE290XuUKEt18gyVeTcUhtvDf3bZYu/ZDiimryM8vvnaAqLi7G39//17oCoNVquXr16m8WVOfPn2f48OG4u7vTtWvXO4IqIyODVq1aMW7cOB588EE8PDxISUmhZcuWP2vLtGnTWLt2LStXrqRevXrs3buXKVOmcOrUKZo2rRUa69evZ/To0Sxbtoz27dvz8ccf88knn5CcnPyzQu3f+UsElT6Fj5auYuL0936xm6ssBbFfbVC63WZAJv//9a20jv9nVCeD5//u0nIdf4RzQAuglG2fr8Nkl3DwxGbqJdRn68btmO0OLl4vu9P76edGkxDfjmEPTqSgpIKW9X04lwvGnGtcvH6dEQO7cTsrhbOnT6OvseDhpiKjpJrJz47k9IHjrP1qG3KliPIKHTitxDdvzsWj+5FKxCQn59y5zup1S1i4+EOunLv9h2bXr1sjdu7YC+qgHx1LjPcnp6AMrVpCqL8XNrOL9NIqxGIFw9rVQyIVoVIrKCqrQOvpDxYnlWYLD494mAXLFtC5YTx6i4WiyhoC6rViw9ZtBGjdifNXU6Q3065+FEqVjGU7jyM4BLzcPXETO6myi/Dz0DCgTX2W7jiFw2mnc+tm7Nx9nN0bV/DMC29SUiEhPskTtbcMtVJGqNGCr6c7+y/dZuR9zakymwkNCEUimBFJRHy6/wID7u/EyzOXI1Eo6NmuBcn5WfTs3Jlz126yesHHNO/WBYDRj47gqzXfoFbDF6vWMWj4KORKEVIxyGUiGjdviq7cwmMPPcprc6bjppXj5e1LXnY+aqUc/+AQYhNi2L/3AMFB/qSmltC7R0P27L9Og4aR3LieTUiUL77uWnx8fCjOKyE5LY/P137M7vWbuHDzKnJ3N2bOfIWnxk5AJBGj0bjjwImn2g2dXo9D7KQ0X3dvBNUbb7zB1KlTUat/Wz6TuXPnMnHiRDw9PX+1r8FgoFmzZixbtozZs2fTpEmTO4Jq5MiRyGQy1qxZ88uD/IDg4GBeeeUVnn766TttgwYNws3NjbVr1wLQunVrmjVrxkcffXSnT/369Rk0aBBz5879Tdf5KwSVvugCJ84cp8/gyf92xAI4yMvNBpkX3kEqNPywGKgVUPwpNtTxV/PPyQtURx1/OY4ikP5YbPyQfccPcu3oaQaMGU98uN+d9tvFRpKLXKRduUjrJB9uXTmPVK3isYcfZMmqdVSUlSMTLNzOvEW3Dh1Ryz05cGoXb7/7Fq9MnsTNG8molJ6U1ZRQlF2OWAluchW3M4p+9zQMVivvTh3Pm0s+v/uALgvcfz6P1YBuTYkP9kHitDPvy6Mo1SJkUhF+ajd0DjP92iRSXGrBKrGjkkqQi6RYHDY0IjlOsROxXIGbUkF+aRUOsQunxYVW7UexvpzGMaFUmXVgFSGXuNh3JZ2WsSHEhwfgp1FTLdKyZudBcDm5r3k0TsGFQiQjuaCM21mFqJVK3N3VNAhNxNNDhpunjXKjnjCRiujWHYkID2b7+s0ktGxHl/phPD17Pl7efry37HP2rlrK1PnvovXx5/FHH2PVZ58gQoSbWkllVQ0IIJKKcdldyKXw1abtrF6+lGNnjqE3mnE5ACeIJCASi3A5BTy9PHFarcTF1iMm1o+N2/cR4B7Mhr176d+rLVKxBDeNlrffX8zYh0cSF12fgqJcHC4XXVp2wuQow2wTMahHC56Z9gEvv/YiJy6fROWQcys9jc4du2ATGziy7zBOq4jyMv2fLqjEv6XTrFmzfrOYAnj55Zd/k5gCePrpp+nbty/du3e/q93lcrFr1y7i4+Pp1asX/v7+tG7dmq1bt/7ieFarFaVSeVebSqXixIkTANhsNi5evEjPnj3v6tOzZ09OnTr1i+PqdLq7fv5stEEt7ogpR95FavPIQNr184AbYeENqEjbe5eYOnt8K3Vi6v8TdWKqjj/Ggf3f3msTfjs/JaYsJXd+nTv3Jea+/gbHblwhNtyP87e+PxYfqGFQUy36otNsXreC6MR4Hnv4QRxAjw7t8fPzwD3An+CAAHJzy+jRpTVDh49i98FdJNavx/ETNynMziA+IgitG4wb/xTz5r0LwM4dy4mN8vxNU7AWXsdNofixmAJwjyLn8p6fPXf7wcvEhAUw78uj7N/4ORaTQGxsLJUOKyajA5XSk/hwT7zkSrzkShBciFwglotpmRhLrL8PGrGU1Oxi2kWHIzigqLKA5olx5OUWYTVbMVksSKRSuiZGIZKKqDBYuJBjQ+smIdBDgwMnVpcLi9NFnq6KRXM+Y2S3lgzv0ZShLRsR6GOjqqaIsmIDjaI6YlG0IkijY+vOTYx9eAhRGoH3v1hNg8ZNWL5iBQpLDVPnL8MnKBzB5WTtV2sRRGLAgdMGcrkcuVQKThcKlRw70Ldnf77ZtJ6RQ4dQnFNKg4gA2jVriEwmITEqGIVShsVmxik4OXnmEl+s3Yu7Vkv3IUM5fXQnJr0Zu1OgRmciKiKK4PBQsovScOHCTa2m9X2dSUnNITk1mWemfYB/kJYv13xKXnIOydev43I5OXRsDwe2HWTY6EexOR2/6b3/vfzuXX5msxlBEO4IrJycHLZs2UJiYuKPRMqv8fXXXzNnzhzOnz+PUqmkS5cudzxUxcXFBAUFoVarmT17Nl27dmXPnj3MmDGDw4cP07lz558cc9SoUVy9epWtW7cSExPDwYMHGThwIE6nE6vVSmFhISEhIZw8eZJ27drdOe/tt99m9erV3Lp16yfHff3113njjTd+1P537vKrzLmCd0STO69fmjWF1198FrX2lzP91nHvcGUdRRz1089qHXX8L/PpqiVs2bqD1s2b8urr795ptzghO7sKs7WMpom/VJ9Ux6kzF2nXputdrebyElKSLxES1ZDRj46k3KLC4oKqguuovTQkxdWjrLCA06eu0Kh+GNdS8v7QPA58+QHdRz37s8f3f7aYHo89d1fbhCeGc/j4JcICtYwaNIxvd+/GYatAJJGgUUiQiySIpGLKKvTYEGE0WRFEAjKFhMpSEw1jo8mrKsPfy4OiigqUMikuEfh5enHgTAp9WidSWlVDQkgw+TU1uKmUFNVU4HI5sFidKKRSnDonkSFeRPr7cOBCGm2aJ7Ht6EX6d2uDl9RBmQk6N21DbJIHpepgNi1ex8nUy5RWVuDh6UNVeRkOkQuRIELAicPuAKkYl9OBy+FEIpbh5+NLRUUpY4Y+yOJVnxAbGUBObjVUl4On74/uVfr5tcS2fBgATy8F/fv24fCxI/To1Yfd336LCxdGnRk/Px9kUhFvzFrA+q++IL8sl527D9OiWRNUSlBIFRgcFrw9gqiXGMu+3bsIDQkit6ACHCJcLiu6KvO98VD9kIEDB/LFF18AUF1dTevWrXn//fcZOHDgXUtov0ZeXh7PPfcca9eu/ZFHCWo9VN9db/LkyTRp0oTp06fTr18/li9f/rPjLl68mLi4OOrVq4dcLueZZ57hscce+1FAvUgkuuu1IAg/avshL7/8MjU1NXd+8vL+2B/hb8N01yvviCZk3zzBoiVvc/P6OcY++AALPljwN9jxn/Lbd9P8t1Inpur436PwJ1v1mXtx5l6883rsuEns2LH/LjH1ycr3UErg6sXjNE2M5+jx3XeOGX/kVHD/kZgCUPkG0KxTHzzDQnl0/BQWL3yBjk3DaNukPpNGPsmlC8dJu32T+glhDBv0+/4+L+z+BIDzBz+70/ZDMXVh2zwA3n/lIV5/agBbls/k5ImtvDPhfmwV339ZP3ryAh8tX47R7GDzvr1og0LZejiFjxZ9TFBwKEEhobw8cyEOEcgV7ii0AQR7eSKySYkO90XvNBAe4ItaISU2KBCd1YpUAilZ+VhtZkrKqnDJ4UZ+AaW6KjJLi4nSeBCu8MBbrcZfq8XNTYXdKVBQVYNSKePrQ+fIyC0k3kOB2CXDjoHk/CKa9nmaHZ9tYteFdDo3D0XkAfaqCsROOwqJEpvNhlgi58EJY3HaXMhRIpcq6NmqCSPua0+HJvGUVZYysF0bRnZpyWcfzaFtv848NbjNj+5vQXY+AH07NkEmk7Nm7VY+nD+bDRs2I5erKC3Qg0RMeWU1Xl5hPPXMIxw6cZjsrFwaN6pHdEICZSWVlFXqsVsEioqyOXXsNAqFOzm5JcyZOQdPLxme3h6/633/rfxuD5Wvry9Hjx4lKSmJTz75hA8++IDLly+zadMmZs6cSUpKym8aZ+vWrQwePPguoeN0OhGJRIjFYoxGI25ubsyaNYtXX331Tp9p06Zx4sQJTp48+YvjWywWKioqCA4OZvr06ezcuZObN29is9lQq9Vs2LCBwYMH3+n/3HPPceXKFY4ePfqb7P878lDt+Owd+j82/a62b76YT0pqBpVGPVp3FaHBoUyY+Ppfcv0/jC4N3H96l0gd/x/QA/+9qU/q+DP5z2MDS0vL8ff3xS6A7Oe/0/4mCnNz2XX4MPrCfEJjVQx/YAqPjuhNRnk5aTcuo/EIJON2AQOHtWfbxpOcOn+JV18YzaFjN3917CM7P2fC5Bk0b9QEJALrvtl91/HKlMNoYhOZ9/Rj5OTnEBzgTUW1GZlczOL15wAHrzwxmDkrd9w5JyjUB5vNhkKuoTC/GN9gX9RSCWo3NU0aJTF90lSmT3+eW/lVGPTVPNq/MwWlZUgEK05BQCaTcO5KNsGBXoQGeZOeU0JUmB9KkRiDzYZgd1CmM5NWUEpFjRHBKQIRKNVynu/fBYPNxrmbuehtNrKKq3h3+gS2fruP0mo9pZUGHh3SlxtpVzDYHXiJ5ChUIuxWBWklYm4VXMOpsiAyi3BzijDaHAgSEWLEDOrUAKlLTk5xGf6+Sr7afZH+XRthFwS6delGXJA3NVYHFw4fIyCxER2aNaDL0Im1z0PGFYY++CCzX5nG8b1beHXZNgDcvNQILoHo+DhyszKx222IJSJkYjkOQYJcKqJl65acOnkKiUxCx7ZdOXfxGGKxBJcDHDYb5aU11GsQQWFRGfrKP99D9bsFlVqtJjU1lfDwcIYPH05SUhKzZs0iLy+PhIQETCbTrw8C6PV6cnJy7mp77LHHqFevHtOmTaNBgwa0a9eOmJiYu4LSBw8ejEql4ssvv/xN17Hb7dSvX5/hw4fz9tu1aQhat25N8+bNWbZs2Z1+iYmJDBw48J4Gpf87rz8/nNcXffODltoPrVVLZ1FZY2bqjNpvdvu+WUvP4Q//JTbUUUcddfwx/t6agsbSaxRVG4iNTwB8AIiJ8OaBgf35ZtdlkNlRaTU4XTq8Pb3JSL3B1PFP8+LMeXeNk39gG6Hda/MwtWsRz6kLP70j8PypAxRc20VGZiUuXQFTlx8A4NutX3D/oF+uT9cwKYrDm9fjm9DqrvbwmDCsZgdIJAgWO19+/RVFebd4ddYbVFbb6NOrG6nJl+jZvBEVhmJkUiUpGYXIJXKkShEhPm5Umh04LCZEdhenk7MxWu10axTHrcIKqkwm2iZGEebtxblbBbhr5MgkUixWB2ExYRSVFhHiH0BOSSEBHl54eWipqirHbrMTEdmYkAA/jp3dx5GLmYjk3jgsLkQelfRo3p2EmCi2bN9Cm5ggLmTl0SQ8HA8PFTUWF3kFZVTV6BnUvj56swWRewCLVm34yXvz/MRHWfTR5zz/YBekiDmVXsmNrDSUChVmsxGNSoHJYsPlEgAnoWFhlBUXY3cJhISFUFlShtXuRKNRYTCaCA4Kx1MtpbS4EoPZQmlpxb0XVI0aNeLxxx9n8ODBNGjQgD179tC2bVsuXrxI3759KS4u/o+N+WEMFcCWLVsYMWIES5cuvRND9fzzz3PkyBE6dKhNYDlmzBhCQkLuCKGzZ89SUFBAkyZNKCgo4PXXXycrK4tLly7dCZT/Lm3C8uXLadu2LStWrGDlypXcvHmTiIiI32TrvcqUbtKVkJF1A01wHNF+4ezdvopeA8b9bdevo4466oAiIAjIA8LusS13M//VCTRoGkGDxG488vwLRIVEcfXGLWRKERovDYYqOw6nCZHLSlFuFna7A5WHJ54evtgMVSjUEi5fyv3V61gwofwNXrnkIztJ7NLvR+1vvDCWWe9/enejvQBkIXdetm6TQG5BJSJBit3hQioX8fJjg9h06CIpaem0admGwABv9DUmCnNvEOIXQpGhmHCtB/kl1fj4uKGzWnAgQioSEaLRolIpOXjuJiF+3jhcAoIA2cXVxMf44qXRYnFa8dJqUMskWEwObuQWYzTYaNUwEolYQCtXU2E1UVVjxCm4kAsSlBoJhSV6bmZZ0XpqeX/mJDZvX47SBDaLk8gwf26XllNuNJCbVUWvTg2oNJrIySnh/qaNuVxQxKa9Z+7MuyplH89OfRWT1U79ED98gkLYtP8kafmlWF0OXE6QiEQIQm1okEqpwi/Ej8LcYqx2C1qlEjsCbgoldsGB2CVFAPQmAz7ePuj1BsqLKv/0/9/S33vCzJkzGTVqFJMnT+a+++6jbdu2AOzbt+9Onqc/i8GDB7N8+XLmzp3LpEmTSEhIYNOmTXfEFEBubi5i8fehYBaLhVdffZXMzEzc3Ny4//77WbNmzV27DkeMGEFFRQVvvvkmRUVFNGjQgG+//fY3i6m/mxvHN9KgY2/ADbV7AJWk0tCvNl9WnZiqo446/n6+2733zxJTAFNnL+fM8bOE1W9F7679OX/+NN4Bnig9Yti+dhlDRw1i05fHaNAwDKlCjc2hRyIRceXCDQDSS/No3a0DZw+eoF58EHqLnsRGTbl27gIqpQYPL2/KKw0EBnoyqH8vPl+7FgkKnDjIuP1jh0Jil37MXbGSzZ8spnnr5nwwfTaykLC7xNS5nVtp1W8Qox97igtXb5ByPYMtu3dx9szdm6SqStKZPWM6oV5SMuVKjhw/iUarIiE2nDD/MCqra1BLPEEZgKevOwUVOWikEux2CAwIoMyqQ+uEkHBv9HYnSoeMUF8t3p5u2HBhwYmnZzDWinJyHToM5WaC/LSYVTYqdXry8qtADCpPGUqpnGbxsZSWVmEyW/BSKujV2g2lRMaOTatQqwJJqShFIxOwmMqotBvA6iLETUtKSSFhCnf8fLy4WVKEn1bOxCEdsYrliOwWIn08CfF152auBavSn7YDxmG028j96ghOsRGZWIQgUWGz1mB3COiNRnRpRsRIUSqV9OnRB7lcQuPIKL7ZupHiaiO5lRVEh0VTWZ6Pocbwlzx7/1Etv+LiYoqKimjcuPEdMXPu3Dnc3d2pV6/en27kP5F75aGq47+M6hTwrH9X07n9H9Oqx/h/vbIDdYUK66jj97Lmyw0cOrCR+LAI9A4Rs9+aR7u2iUwd+zRDxw8CQoiLCictK5dO7Zrz2jsf8diYYYgVdrDZkavDMRpLcAkCPn6e2J0uasr1yJVyBDu4+QUglogYMbILny9djdMl4kxqOiEyFQDHrt9g4qghtGpWnz1HTpEUFc6BIxd/0eYfMu+54UxbXBvyMWZwG2QSKcUFVWjcVTgdEB7iy5OPjqL+fWPo0Loel1IK6NSqGZOmvcxHb85Aq9UiFwkoPd2xCxLErhqMehdGvR4LNlxIkMhk1BhNxISFUFRchEgmw9/fh4qyKlxWO3aLHZ3JTuPEeMQuO9VGHTKxCKPThVImwmKz4XBCSamRiAAtFTYLaqkYlUSD1kOKw2zDIjjw0mjxcA+isERPcuYtWrdrgFSlQZ+aRkhoIKVVFYikIgQxVBrMiBwCdoeL0nIdkQlxlORn46ZR4KVSU1Khx02rxM9dS4CbColYwppDZ6g2OnGJXTjtDqQSCYgERE4BmyBCKpMiEQn4urtTqqtBZBOoqjLc+11+AIGBgWi1Wvbv34/ZbAagZcuW/zNi6l5z+syBe21CHX8C2Tcv/EhM4Uq5I6aKbxyiNjC88m+3rY46fj8ubpzYyXtvvwSGrHtqye3kIjJunASJnLOXLjKoU3PEYjhzNpmh45/m1Jl0APx8a7+sHDt1kYnjB+AT5EFsTCwSjQ8qlQ0vLx/ColoRHBSKp3cgJy8dJCImifotm1FdnkNVYTafrfySue+9g3tQQwb16sDcz3YRlRhLytlDmB12zl9JxmaDqxl5hMUGUa95E+Lrx/Hq9PE/a/+GZXOZtvgbPnpzCi+PG0Z0ZCSrNp6gV//78XLzokfXzlRVVfL6ux/QoXkc4X5aRndrSnpeGqMefICTyZlUugTcfHwxmGyU5ZfSolUPlG5qLCI13m4a9E4bdr2VCG8t6fk5mF1OdFYDFRUVmKsNVLus5Ffr8PJRkl2WT7VRj1giQqNSY7faqKm2YHMK2MwOtBopJTojTrMDQRAoKCvFXa2i3GLGKbhw6E1cuHiZ89cvEujthqXUSOaNAjINLnLsRsqlViprDBSV1mCzu+Hr6Y9e5yI4IJiEIG8kUndMZjtVRhN2qYC7XIngArNdQISIwe1b0711Ii2iwmgWHU7zyHCaR4TSLCYCpUKBCCdOlwuZCASzgxA/r7/kufvdHqqKigqGDx/O4cOHEYlEpKWlER0dzbhx4/D09OT999//Swz9p/F3eah2bviADh17cejoERIaNCIwsj4+Gg/OHNuJ2FNNq0b3/WXXruMvxlEO0h/nYoEq7NmpZJscxCX+sL6kDqjzhtZRxx/h3MnttGo/gPffmcnmzRsY/fTr5OefZ8ITk7HK/BnYpw2bd55k6qSxPPLU4+QWVPLZgnlUGnSEhoWhrzYiFpzoTOWIHE6UUhl6qwKRxIbT7sDL25/eXduxde9RvCNDERtFRETHcXzvFuqF+ZGSlUVxfh4gB+CrTz9iUN+hqAJ+W2m3iwe20fxfwfIA/bs2wW53IlHX5vDy9dLQpUUvdJVlnLt0mcT69Tl/6xbtWrQm8/p1nFhQydUUVVpw95JRU1mB2WlFIhIjkkmQyeTUGA34eXhid4mQSsCgM1BVYcDfS4tELHAlrZAxfdvisrtIzigko6icgAAtEokYk8WJAztmvQ2NlwqxxIWfQsuJy5kkJQbjplBgMtmRi0UEeLtjsjpwV7qTVqHH6TKhDYDr1wpoHxpOTGw9Cmuqkcml+CpluGr05JmrUUmkSOQSbhdVoFRIMFtdSCSglShxOe3IVTKKS6uRiyRkl1ehUSoJC/BGcNiwWgTaJEUw78v99z4ofcyYMZSWlvLJJ59Qv379OzX79u3bx+TJk7l589e3n/43cC+W/PTVVWg9vbBiR4GMcxdP4e2jIjayrhjy/yds+anI/bSgCPnZPpXJJ8korsBXKyGqZd+/0bo66vjv5cKFvaQk32DFxys4frI2Pump50Zz+MBp2vSdRPaNg+hNelRiKw6Xnc69H8JaVcLCebU7xCMTonl/3qtMfXkmC99bwsC+QwgIC0askCJ2SDAbq3j48QmcvZLG2d2baNi6KZOfm8Yrr0zDzVeFRirBaNNg0ZcjsQvUa9qUPZs3A1CuB99/ZSnZs3snvfv0Iyw2GJVczpovVtO6xd05s5JPHiWxfTSvjJuIWeSGyGXFIdhZ/NlOzDXFqDx8yb11jTfemoVZZ6awtBj/yDi61Ithx8E9GC1OwgI8sbic2K12HHYpSqWT8mojHp5K9DVW3NzV6KxW/N3VtaVrZApcYiclJXoiPD0oqKomK7+S+wcMQJedxtmUW0hFEtRKCVargEgiEBHiy+mLmbRpFoNaCjaXC7vgwmx1Ui/Qlzy9AbPdhkYmR2ezYiq3EhwYjFwiwyIyg8aM2WYn0KGisMaIzeVEqZDhJlfh7akGQUGCvwdyqZxrBTmUVRsI8/NGIRaTXVqF1AUSuZgqQ+1CpxxolxDNzFU77r2gCgwMZO/evTRu3PiuIshZWVk0bNgQg+GvCfb6p/F3CqpPVi3EZnHy1NMvYsLCpjWfM3r0BMprCvD1+Pl/ynX8/yL33FbCW/Wn9MYhlq7fgrmmkgCNlq79B1Ccl8X9Iyb9yggGwI3a2o8/TpZbRx3/y4wY1g1B4c1TjzyAxaZi27fbsNhtJN+8jMbHD6dLgYdEQamuBB+tGgtKSgozUCllWC02pBI5a1dvY8CAtthE4OnuR3hgPOevHaZhvQYc2HecZ55/ma79hjO0e1OenPoOG9a8j9NppnmLFty6nYtK7YXZaEQscdCxdSsupaThEomRCmB1mBCJRcjVWuSAqboSm9XC+EnPEdIgikfuG3jXfD5c+h5bdu7BInbgJnGjpqYAXY0Di97AwvdnM3DQQzz//JNs3rSb3t07opHK6d+vO6OfnUJSfCLVVQV4KhV4eaox6J1UGQyEB/kjOBzojWa0PkoMNUaqDBb8fLRUG83YBCf6ChMNooOp0pnRuywgleCFDJlUgkoqoURnRCQBjVKJyWajosyI2W7HP8wDm1NAJHYiESS4iWR4aFUoVUoKKivwUblTXaPHJdhoER1JmckCYidFhTXkl+nIL7XQumEA4SE+ZFdWEICSFvWjKTPoOX8jB5VGgc3hxGi0olJrEEsETl+9TcsG0QT7aPHQqCmsqKFIb0QQHJw4dfveCyqtVsulS5eIi4u7S1CdP3+e3r17U1Hxv5Ed++/1UOmpKshg/dYtTHj6Dc6dPUC1sZCe9/1yjpM6/n9SkHeFhUsWce70eY6duNvjm3npONHNfrgMWAN48MncZ6mf1Jz2Ax79O039AeVgsvDpovmMHfc4BDS8R3bU8ffj4D/YMP63cnzPWjr2fpgtO5aSfDGTwYMeJLFJC0Y90I30onIMRjEJDRtRU5jP0g+XMPmFyYgkMlQiKxanQElRPhHRUVSUl1JUWoy+xozFaiP5RiYtmjWmQavWuGwOcvPzaNgokXOnzuLt40NORipyL2+kMhVRoYGofQK5dvYUIUFapApPykrsaDwUaH20iHHHrnSgVUVgNjmpKLyC3M2B3CqhymBl3juv8MGHO5HaaqgyF+FyCUglWhwiC/YqIw6xGZlUgcMuAbELu6magX2G8uX6zyguqN192K5ZI05duoantwchoSHcvJZMVP0I4sKjGf/gaIY+OpZVn65i4KDh+HprGTegLUU6Iw6nHbPTjp+PP7nZxXh7q6hx2QnSeFFl0CMVwIUTtUxOoIc7Hmo1DpfApmMXcFOqSUoIwkuppsKoRyKW4KaUk6fXgdMJYjGhXp6IXWL83NWkZJdwLjmHXp2SUMlk5JfXUF6kp8psoHl8BHvP3aBdUhJaNy2eajkmqY6iqhoClBokgEQhxWZ2otebCQrw5GJ2PiJBRICXlnKdAaVYglwiZd/Jm/c+KL1Tp053Ss9AbQkXl8vF/Pnz6dr1x2UA6vjPOXt0E9u2fAVo8QppwoSn3+B2xiV0Fhvd2va61+b9aZTa7rUF/yyeeuZZgvxDOXbiJi+/MAFLQW31gQObPsYtPJiH+rdlRN/2jBvVF6gtofD4yx/UiilXGabyNFYvfYPytF+uJvBHMZSk8V0Bb/AFdShjZyyuE1P/c/wzxdQn86dhq0jj+NEtdOjeDYBWcW2xOsQkNmkBwKARE3ALCqfjfffRr08PDh04yI4dX7Jn1z52b9/F5m0H8A+LwE2rpiyvgKOHLyGxO3DXuBEdHEizZjFExEUw9pHhXL90DYOphpqqap4eP5yK8hLW772A015DQcotanQCVy5fQaNUoLeK0TncsLqMfLl+GTjFzHj+YZQWC2VZVxGslQgOA2KjFIW3OyqZnPQbN7FUZ2A0VGBFhLtMi8GkJ9wrAINgQHAJWKx67BY9Zp0eQSxn/4k9SDR+JDVrQVTTDhTZxUTVr4fCyw+XWIOXfwCCw8W+vYe5fP08YQlhTJryHNGxgWg91Gw+e5MAHw0Rod60aN4Kp8lAVKgXYokYpVNCtVGHTSJglYFEKsUqdpFVVcXpnCxuFBXTpnE9enVvR1ZVFfn6arQaFS4ZlFhNOBwuBMQYLFYu5OaRU1VJbnUlOVVVyOQSLGYnTpeAXC5B4ytHb7Gy7fRVlHIZF5NTqNIVk19RgKC3YykxczvTyM1SA7cKy0ipKMPqcnD03C00ggSFS0JpZQ0SGzjNdqL8fP6SZ+53e6iSk5Pp0qULzZs359ChQwwYMICbN29SWVnJyZMniYmJ+UsM/afxd3ioKjIu4BOTwHflP05fOkqrBnFI5Fr+v5cE+e47baUNvOX32pq/lprrB/CICaWmysWx86n0HzTkV84w8/7CeWz+ag0V1UaCgoOxGGvo038ABYWFPDpkGJv2HyTR34+MgizmLFoLgKMiDalPbamfsqzzVJdXkJNdSEx4EFGt+9x9heLbqAJ/qfDsr7Pvs/n0fGzqHxqjjjr+GsyA6s6r/LQLhMa1YP03ixkx/DlefnESc99bwseffI7EzY9OHdrw5sznkAhWnhw3gclTXyA6NJivN3zLw4/0ICMtH5fFxey5rzL+mUlcvlWOh7i2bFpMpDtOsRoPjyBKqkoJ8vfBabHz8EO9Wbv1OANGvsDXXyzH18+PvFvncdPKsYu1uKwWIqKCyc4tIyYqgNHPz2Pu1CeRqz0ID/KhokqPxNdJfNyD9Bj7KDs//YSSvDSKk8/jdErpM7gji159DYDE9gMRGzIp11mQyqW4y2yo/NxxD+5HReYJVEoROosVq96ESCFD46bCVVWDReTAZLEiEZx4yZT4B3iATMmzT09g+8E9HNt3lJLiMkRiF4Ig4HIIRESE8NSkt2jfIprpz05Eq5ZzLiWN+hGRBARGoDOVYTbWYDDY0KhFyGRy7DgxOBwICLhcLiRiCTG+3lQajJQbTLiAZsFBhAf6kVpUzPFzaYSGe6FQKtEolSTfykfmEqG3WJFJJdgFB+ERPsjFEjRiCUcvZRHgqUEmk1BRbSDcLwSNWsqI7s04mH4TsV3AV+aGl1aJzmTjVn4JB86k3PslP6jNQ7Vs2TIuXbqEy+WiWbNmPP300wQFBf36yf8l/BWCqvzWcXwTapdzqtPP4BlbWzzy3bcn8dKMJRze9xVdez5I1s1jRCV1+lOu+XeScuMM9Rt8XxAzJasYg66Klo3r/8JZ/5t88uFsPvtiHW8u+ABBr2PbpvUovPyQOm107dIFq92K2aznVlomrWMTWLt+LT1GPsSYh5+6M0ZZ1lX8ohrfNW7K1TOIpU4Sktr/YRunPT2ceUu/+fWOddTxD8DlTEUs+T61z6EjJ2jUujGvvfQsDr0VH38t/QYMoUOH3qz7YimfrlzOwePX/9W7Ni6xTZuGNE5qwMervuL6xbMMHNKb4JAwsvIKsTnBzcsNmUvMru07eWD8RArSUpAolChcZsY+Mp6y6iq+XLcBlY8ap1OCtNbXRFBEPCKJDXu5Dr3FSFTj1liLC7CJ7ZSWleK0i5CrBSwmGQgG1HIJYokTEEi+mEy9Ns0w6EAk1mOoMNCgQRR5JRY8PILwV4mwOATKjUZEVj16ix3/IDXlpXaiE+KoLi5AJJVi1NtxuEz4ajVk55RhMVbgG6zh7ddm8+3e3WTfTkZntpOZnYvT6UQiFtG2eQKWKitSuQiDyUZksCcysQiJUsPN27nEhXnhkgi4nBKKKstoFheJQxBRWFWDwWJBIpegM9vQmczE+3ljtTsJ83HH292NW/mluGwuTDYHKrUMvcOKyiFHphBjcDoQS0TIZVL8tGq85HIKi/SIFUq8Pb349sgpQrw90Wg9adQgjiqDFa3aG53FTFSjECryKlmwaMU/Q1DV8ffGUGWc3kJM2+8KObv4D9OH1XEPOHP6LBeuXeCZ8U/faauy2PFS/nqyzgZNwhC75Iwd+QC30m7x/kcrObprBx16DyErK59GDZIAeOG1Z5k5/jk69u7O+CfGEJeQSM/e/Ti0eTP3DamNs7t95RzxTVr90uV+I05AQsn1A6RmpuKhcqNJz0d/tve4EZ24v3tPzpw8wbBBI8gryaRB/QbUaxAN3i3/BHvqqOM/40ZWEQ2ifugEsDL7rRmIEZOXlUO7ts3ZuGEz2/adZcwjPSnI01FYVIJKJqJps9bczsygTZs2rPpiBZ6eIeiravB0V7Dii02s+fRjiqrM3Dx/BGRORC4FIpETZF4EhAbTpGEjzp7cilgSwqXTxwHo0mcI9w2fzOJZQ5BpwlixZCEzX32BisoKNL6e2GuMmF3w1NihfP7FFgSrDZdYwtz5y5nz+vMUG3R4IsInLIjCYgMqjRciGQSoAsjKv4YUO25SBTaJFEQSZA4xce1bUi8onOPHT1NlK6+tyWe04sSGzW6ixuBAsJlQiGUkNU5AJdVQv3k8x44cR6+rpLLaiCA4UagVGGpMhHr44XJaiY/xxep0UVRgpF5cAoHB/py8chmD1UK7hg3QlRfgcDoJD43AJXLhcjopLS3HXS7GSw/HqouI9fPBLDhwUysx2QXkYhChoLy4DA8PTyRKO3KJlOSCMmQiKWo3BWLccJOLqDFUcPDEBVZ+sJxvt2+mR8/uXDx/heEPDWTFinV06NCOKTPe/GcIquPHj/Pxxx+TmZnJhg0bCAkJYc2aNURFRd1VFua/mT8qqNatWMhDT07+xT7LV84jPjKRhUsXs2Prj5N5rly1hBEjR+Ku+W35S+r4O9Hz3bJsJbBr/SYahoXy1YbPiQzWkpVZwAuvzOPahZOkZCUzafIbPxrh2PbVvDnnbfRWIxERkXyyZCXuEfVZvfJdFn34IY8+Mp7nprzChdSrTB0/huy0TIwmMy3atea+Vu0YNWECu7dsJsDTj7CwIBp3+Jm4u6KbEJR0V1PptUPI/ILwCvKnNl+OlvKCayx6fw6zF6xn+OD2fLPlJKXJpygrLeN82nUefeLVO+e/OGEwFToTn325998uZkZXcBX3kH95KqvSwSv2P7rDddTxZ1NdlMPS5XPxFqvpMXgE+47sZdOWbzh4+MadPkvmz2XS1Jc5cXEfLpcHKz6Yx+ETx9HKNPgFeJBfXEzW7RIiYwMI8AsEqRij2UZZaRFt2nbF28ON68lX8FB7kVlcglVnQCwCg15Pg6aNKS8rxayrRiRTYDA78XOXk3IjA/+IAMROCR8t/5TB/XoTHR+Jm1rDmtXreWn6NPbu3kXPXr1ILy4kLKkDuTcuoZA4Sb184Y7tbbu1prC4BrFMQZBagW+QH9s37aJVm2Z079uTlas+QymSodaoqRcWQ1KQhPSSMrIqlDwyqBnvfPgFFrONJyaNZeu67ahkEi7dTKdVy0YkJkRSVVKFRiFBodGgM5nxcHejuKIatVyJh0qBSiUnMz0NRDKkYgG5VEKIhzulOgMOiR13uQqpwo3CinLCfbWAgMFso6jagiC1o3DKCQn0w9PHg6XrdiOWihnXqyXVRiPZVVXodFZMJjsJ0QF0btOZ1OxS1EoJToeTq9evYnA6cDodaBRyTp1PvveCatOmTYwePZqHHnqINWvWkJycTHR0NMuWLWPnzp18++23f5px/2T+sIfKkAduP1cHy86bb71E/8FDadqgVqAeOHqE7p271J5K7eb4Ov7/kH3tLJGNWrP30D563dfzrmMfLf+ATs3jSGrZ+0fnzZg4klGPPcZnn62hUZOG9Lm/Lx/Mn8vKr3eikNsI8A0hxN+b+klJ5FeWc+HcBTw17oT7ByD39CUoNAZjRT4fLl8IssDfYKkNkDPj+Yd5+50PyS7MZd2H71FeWoQglZFZVIBaLGX58s84ceE0h/bv4tjZC7jJZBw5l/P7boqjBKQBv++cOur4CylMPUNwve/DErp1aMrBE5eZN28606a9A8CTzzzC67MWsHf7F8x7bzESkROr1U5S824UZV3B6bLhdDhA4o5cbqOsvJwnnnuRGc9OA2DIAwO4diOFGa/P4c3pUxApVbjJxThELgSXHKfLir7aiM1hR6p0w0MlxzfYh9MHTwMwb8kc1q/ZQE1NJWo3D0x6I8GhAeTmF2A1upBrtNidNiRSJ8ePHKV//37cuHj9zpwEQPSv3z9cuoivVq8mu7IYtUKCp7sStXsIYn0Vzw55kjPJu3DabDRp24oDOw8gVgegdRmxy1xk5pWh9fJBJXIhuJwgglMpOdQYDGjkKro0CuV4cgFVOgOIxQT6h3J/n/6s/uJjRj/2CLGxMZSn36TUaCG/sIDqKiMN6jWiqiQdg82Fm1xCUW4BUoWca5n5mMxWOnW5j8gQLTkpKRy+lIZEItCmfhhimYijycWoxSK0CiViXLh7eeChEGO0uJj28jQMpdl0aN+Rp2a8Q1JsIEs++vLeC6qmTZsyefJkxowZc1fahCtXrtC7d2+Ki39cHPK/kb9yya/vkPaolV6YbDaGjhxJaWk105+a8qdeo46/l5WffUDnth04un83XglN6dKqNzOnjwGZgFjuy+xpz3L23A169fsu14wDjHrQeAIizq3/iKhQH+rf/zA9O7chPDiMAcMGcvJaJrvXr2Hj3uOMe3Q0sYH+DB43nrPHD3Ds1Glio2KQGnXMXfb5v8atBjx/0sbPV73Do+OmA1CRcRafmNacOruPrz/4gMzSAqLCA/jgk908/VB3ln6xCSQevD95NMfTs/l01Xq8vAMQSSV3xpv84gQaxsYxdsILtQ36m+AWAKJ/yw5fngK+dXF0dfyzuHTqCKHRAfgH/vSz2X9QHyp0oNdl0LfHGM5c3sXEh55k9sK3GTJoAKs/W03D5i3x8fXD3d8PY5mB+Qve4623ZoHIxf79x2gW14TDp/fhxEWAnzc1NUbCw+NJTblMTHgimSUpeLoFYDRUYLBYSawXT1BgLGdO78NmFfDylKPR+HHx7KU7dvXu04/ikkJsLgNlRTX4B3nTv08Pdh85jcRpplGTOD5fseWuuXTq0oTM9EIEOThtLqRSJVE+3jSM88Jd7YNcZKDA4MJNAb7eMbRs1433P3ibiqpq/Dw9kEpFOGxOYgL9KCgrJc7fG6dfKE6Xg1upNxG5BEKDo3BZdaCS4xnYkqMHNmFzuoiK0KCvEmExmjHbrKgUckxOF1abA3eNhrj4aHSmasQGK1KFBL3BjEQqwWgxERceRURMFPvPnMZYWkNokCciKVRVm7iWVUhSeDARfj54uKuoNktZ9cXHNG7RAQ0Srmbm3HtBpVarSU5OJjIy8i5BlZmZSWJiIhaL5U8z7p/MHxFU82aPJsI7mpFP/XiZB2Dog70Y8dAzDO/Xn2YdI5EJKnr06cHsV5b8GabXcQ+wWwzIlN/7FZ2OGo6evsbGrVvxUsKcOe9zIfUiDp2ckqIS8qsqST55AJdNT7cu3fAM8qR772EknztKYqvOLJjzIhm3brP0i+1cO76NazeyeXjic3fG/+yj98kpKuBWWio5OcUkRIXy2brtP2lbi8YBNGzWiemvzuC1558j6/Z1PAOCcHdzx+40EBPfgLKyMt6c9gbRTb9b0rdwK6uMN2c8z6jHJ9OjRRNKK6sJjQoFwFih49i5Y/Tp0w+MuaAJ/w13yUat4Ktbwq7jHlN+G3x/vAvWXpWDzCsCgPu6tkaj1PD8a5P4bMkaLl+9jNkhsHzJEhp36MywAd0I8lLzzeajADw1YThIAzh64hRKlYj7urRh3Tdb8fSOwFhdiMthp3nzdly5eRF3NzWt23Zh3/4D2Iw1ePmHERAaTVnRdW6cvcGY8Q9z8cp5ouoPpVODCLZ+u4YavQ6r3UTzeo24lZlJpU4PdoHcjMyfnOLYF6bw6fsL7rwO8PdArlIhlYLd5qRrkyTW7Dhy5/iHLz9JVvYtZCo56cU2Wg1py5UdRxA5JFhtZixWByKVgppqHboqM3EJcZgNBqx2G126d2D7lgN4eUhw84lCYavhWk05ckHMo926c/riZaoNZTicStzdVOQWl+PlF8jpixcRXNA8IYTrWaVo3f0ICQzGW+vBqcun8VIrsdtsqNRyVFIxEb5eRPr5YxZs6PQGxBIJIokbudVGWiTGUFGSR1V1BXlFOq6k5/3pgup3JxAJCgoiPT2dyMjIu9pPnDhBdHT0n2XXfzXTXl0DwML502mS1Iiu94+6c+z118bh4R1Axu2LQH9GD3kGlafAwO7/G7Fp/638UEylXj1PvcYtua9jR9JvHKNRQgIfrVqOHA2ewRq6dO6HwWLm6UeHk51fzapl7zGq7UgAilxOuga40Tgpln2HrgDg6RHEwxMH4szLxiF38sCYR0lq15w+XYYxZLCc45cukHfj56vcR0WE8fabMwkKa0heQQ6+4fHs3n+WedOeoMpu5Z0FX7DooxUcPZ9MdNMOjH9uEnGx8XjJvFn31SYAMrOziI6KujOmxsed+7r+awlTE05ldiqldhH14hJ+4S7JqRNTdfwj+AkxBdwRUwCHDp+983u3doMAyLx1heiEJgA8M34q544dAuCrr1aRmVHGnv21u2Jv3bhMjyHDCQ8MonOv1uzavIuaSie3MpJRCCL69BvBE6MGs3LJB7Rq1xSLyUhp/k2cgpSGzRogV6iIi2zE1s/f5uqtm5y7dJrICDu5+YWk5WQxbtwUnh0/hvpN6tOtey/Kqwr4dOMpmkd9Lx5cFYUMHtSdLVsPcPjgSRQqAZtBj1EsQaaQsGzDEb78cDajnqmNjXxm7oo7554+vJUdG7/G0zOEtxcvYM7L07h2PQVqTEydPJmjJw6xecc++rRti29UFCf3n6Rju+YINge+HkqqjR7YnFYUancOHD2Al5sCX40ap0iMTCEiNtALh92Ey+GkZVIY5dVWPD3cqNFXUpxXhUWlIdBNRlK0HxIkiMViZIjRqBUYXQacTjFytQKbxcZXuw4wZcxAzEYjFpMNpVsA4ZFarqTn/fHn5N/43R6qd999l9WrV/Ppp5/So0cPvv32W3Jycpg8eTIzZ87kmWee+dON/CfyR5f8JowfhZe3klHjx9Ew8o9vYa/j/xEWAyjdOLh7C936DAZHDYsWfkhgRBSdO3Xjk9UbKSlKp+eAwSRfvcD0yVPYuHcv2zZspEavIi3jKipHOTXVBh59/FFWfbSYIff3JCuvkBdeeJX3Fs/jw7lv8vaqtUye8iZGQx6ff/YZi+YvBcHE+UO7adltKACDB7bijSmzaNS5L/u/+RBB5E7PB2p3BrZqUo8Rjz9FdL16VBeX4ZDIOXfsWwK8w5k953vvanJGIacvXqJHozjC630nmJzoK0vRegdhKryNOvi35bw6tecb2vXoAZK/php8HXX8XXx5KA8hIIyUQwfxC4/HO8qP0Y1qS0LNfHcRYWHhGIqvs37DbsY//xyff7ycnh3asWnXHi5duAxAryG9uH0jA4lISvqtVFq0b47N7MIlkeCpckMiE5BIPPHx9SAsPo4Fr7/G/aOfoSzjKg8NfZRmnRuxb8c3ZGdks3btBma/PYNXZ7x9x8ZunRpxJS0Nh0XMcy+MZ9milQhYmfXCZCa9PI/BA3rQODKI15d8n8z7s8XL2H7+Cqf2r6F7wwSsZgtppZUM7NGYLfuuIFFokCFQZTSgVqsx6620bpZEtlFBZmYuQ/p3I+faGaJjw8i9mYINgXKDi1dmvMWmtSswWXR4emqxuwRsDicukxkZDlQyGSKRjMJqHZF+PhgsFrxUKpQKCRU2JzanlQqTCTEi5GIJEpEENzc5cpEYH3cvbHJ3GjVOYOeOA2hVSlZs3nPvl/wAXnnlFRYuXHhneU+hUPDiiy/y1ltv/WmG/dP5TwVV/qWvKHAPonVsF5aumMnTT775F1pZxz+Z8rxcvt68C68QN+rH1uPkoUM8O6U2cPXouUt8tGQ+wQHhlNUY6Pvg04zslsjOc1n0axXFm8tnMHPC22QV3yYqMJ6HBvagRbOGTJ61gMfGPUTrRo3o16MHOw8c49SVc3zx6ZfgKgDx3bUf9SXVaAM872p7cFhncgpqOHj6CnKLQF5+GpGx8eiry9ixZSdOsZNj58+w8sNPuH79OhERibi7/yt2ylQM6n8FvzutIFGwb+MaurbrwLXsZJq3qyv0XMf/Ht9tJCoHfhhB+M7qXRhz07iel8nWFbUhHdfyCyi4nc7Lr0zBJyCEg1u306BZE+w2G1KtHKfdzrhJM9my+hNEUgGXw0JoUCgb1n7N1fQc3nz9OTKS0/D29sHhcKC32Xnxudc5cfE2Ex/rz9AB9yE4rLj7BGLS6SmvLsBTISfYP4C0ohI8NEoah/nTrnVX0jIzcTkM+AQEcvT0dS6lp6PViKnR2dDIJPTp1ITScgMlFSaCgvwICAgkPiGBmooS3lm2jhfemIiltIylSzcSGhLE6ME9uZ2ZxYfrVjB73Dg8fN2IbDmSyVMnoVXJUYjktE0KZMf5dB7unEhuhQ69wYpEJiOnuAazTU7PDokcOXOFar0RqUqCSqSgxmjGW6PB7HRiFmxoxBIkIhfxIQFolRpCGkSRfSuLhLhY8nIL0UotrNl94d4KKqfTyYkTJ2jYsCFKpZLk5GRcLheJiYm4uf1v7Tv7TwXVB18toVWrDmxfuYyd325j5MDevPzWmjvHU7LPUT/yz8gX9PdRln4Wv9jW99qM/3ecO3aGVp3aUFmjw9uj9hnKyc1l08YNBIXHkF1QwNUbV/l65QrKS6zsOXuefdu/xCFYMJsNuIssvDj1FSZMeBGjy8qofv3RquRMnForyk4ePUL7tp1ALgYqKbqdTlB8KyozL+Ad3eJH9lw6u5fRo8ayesUq0qxy8m5nUl5RhlXvwiiU88nihXz51UE8fd0IDgmlqDSfPl1q3/dt3+5k4P39MBRk4ebrDoq/prRDHXX8N1IFXC6Bc7sOcSs/H0PRDVRyO18sXghAz2HjsOqy0Wi1dL1/GCkXr1JamE5mZiYiwYZD7I5aIUatUVJSUIxEIcVpd2JzibEaC3Ba7ChVEnC6sDqsyNVaaqqqEUQuZEhQyKXY7Q4EMXyzaAU9xoxlSKcYjlzJwuoUUMvFBPkGUGWswaC3MGDAEEzFNzmXWkBZtRVEYpBIUaokKKReyJU2ctLzAeg+eDzpl78lOzuP82cv0rJ1c9AV0Kx9V7JKSwjy8cAqdcdcWUKUbygnr1wmPjae2+m3AVi86ENWLv8Ik0NHp0YhyGUKJIIIqVLO8esFZOWXIJPL0HoosDpE4HCiVogpr7QSE+hJu4aR3EzLRu0mp6rERGZZDQ2j/Nl/9s+v5fe7PVRKpZKUlBSifhAv8b/IfyKoth/7mp6deqCk9p/NufXv0GrE9L/SzDr+H3I9BxpG/Lg9t9TBmfPfknz6EleST5KdlsnRI/vo0qsPNrmIm6duMXhQV0JCQgkNjODizQwG3teJipI0nnvt++BTzOWgununXdbts/To+wAfv7eAjHIzOquOJ58cw+oVqxk27DGC/DUk55sx6qpISgxG/W+21SZb+J3YKkBeJ7zq+N/AYS5FqvrpGMEPFs7l2ckvA5BXU0mYhzddu3bHLMhRSCyUVxTTtkNXzh/bi9VqZ9igoRw8uQ+t2gtBbObmzTQUcg0Wq4nhIx9n49crUCg8sNqrsTmdBHuEklWQhkwux2ZxoNJqsJuN2J0ukqLCKS3T4+euJDEqks93n2Lr14t5dtIMispMyJXgdAASCNKKMDgEJIKYjxd/xBOvTicgOASrWYSntxqLXcBTkFFckUlBsY7IYE9qTA6cegfFleU4BRst2w1DX3kNpDJMBj1WpxM3uQibVQLIUapcOOwiEFxYnU4cLidOwUXrhomMebgvYUENiYuIICghidCYaLw83TCZBcyWKkRI6Dbgfg5vOYBY5GDP5vVs37SEU8duYhccKN08uZiSToSvN8cv/fl5qH53yu2GDRuSmfnTuwbq+HmKzAY81J7kXbv5r5bSOjFVx0/yQzF15cb3CQUXvzmeEJHAlOefQqSU89WuHYTGxHHm4EnemPE6APf3HoASOXsPfEuoLZeTe3eyZ+sOXp70yPeD/puYAti4cQdvvzmPbgOHIbVXITOU4i7V8uxTzxDkrwEgMVRFy38TU7p/Fbb+OTGVkfNdbio76HLvPvgPEFPWe23AfxXZ99qAe4/NwXcFw7/dvZrqsiwATh3Z9hNiykHq1cvsPbSRc5fPM/GpR+jcoRlfLl/Bmi8/oVPnDjQI8+SFF6Yg2IxYy1JoHR2Cr4eM88cP4K1Sc+PmFQoyC/B196OsrASL2YmnyEl4WBi7Dhwi2N0XfZWZ29lpNIiNIcbDC5fLhdRlYfyz4/H3dCMzP5/mSVGcSy3ks9Uf8mjflox69HnsYhUqpYLQUD+kShUqtyCKDAocLgVVFhdjJr2KSOSLXq/A6XRRUaWjKieTovIMBKcDh9lI/aR4dAYTFlHtX9rwgQO5dHo7a+e9yqA29Xh64jjK88vIziylsKAIj4AQHE4RglxMbm4+kfU6MnPaW1QXlxPuHchDj0yjQYs4ug8dSUBMHGKZmDKdHrHChaBSglJLamo1Ug8NMq2K4Y8/wqXrpVhdImL9PKms1lNptBIV+RPfWP8EfreHat++fUybNo233nqL5s2bo9Fo7jr+V5dh+afwR4PS5zw7hFc+2PwXWFbHfxPrP1vCvn2HWfXVFh56cBBSBOwuGwaLgzMXTmMxWOjSqSPJKbdITy+k76DeJF++wqX9h6kyVPPkpAmUlpUTFBDI3mM/2OlXdRtjtZOJk5/ixM00xj/1HNMm313o2FJZiNI7+K+ZWEU2+ET+oMEEP/J7AcZMju09TKch4/4aO+r4k6itdfezVN/mncXvUVhaydUz5zh6Mfcnu6Wf20Zsq4F3Xm9YtZgHxg0FatNx4CoBcQAvv/QIc99d/aPzrxzfRJOOQ1n/6TuMGHv3F9b81KOE1uv8eyf2qwjGQopyswmu35i5r02nbYcO+AUEcf3GDUY+/BQffziPTRu/ZvJzk/lyy1f4KIKpsVRidcrJz01j7JNP0rZVR56dPA53pYbUtDR63j+AU4f3opBKSajfjsvXz+Lj7U5WZjo1ej2eajfELhEyuQu91YVUEBHi5UZBtQ4fNw3pxSUkRYWRkpWH0eJAJgGNRo6f1o3i8mrMdhciEXy67EM2fbaUlk0SsbhkrNqyh9JqKxKNHC+tB34h4aTfuIXCPYTYIA3DhndlzoIviW/YmCB1CFWI0eUf5/TxS3yzajHigAReffEJKotKcEmkOBwixAol/t4aGsU255tdd+e/KrqdQkFhMjv27GXP2RzyM5OxCk5ETidBbh5Umk04EGERy/BWOlGpldy8dIsmXdvgpY1AYq6kWm8AmRipRIVTJMWuN+JSWynLLsbbQ4XgsNIyNIBG0T6sOXEDo02gYZgfWw5fvvdLfmLx904tkUh053dBEBCJRDidzj/NuH8yf2ZiTyMWNL/0YVTH/yyzXnyMkHrN2b17MxKZBoXgpNpkoF+Pbsx+Zx4mmwWbQ0CtltGgflOK8gpRyKUkRPny4OBHKdNVs3PfAcJ9A/nwi6/AZQJdMWOfmEBaiQGxyMbRoxd+0QZzTh6qiJ/L6v9nYQd+vb5hHX+c26fWEd/uob9o9LuF8fYNSxjwwCQspako/esxecIQnpn0PDGJnfjuPTeW3WLDpvXs2b+HAD9fIiOjmDx9MQBvvjaeyvIy8jOzWLhsIYLag3Uffc7Lby5GX3YJrV8z3nrxEV57bzUIuWz8ZiMb16znlXFTaDh4BK/PehC5WMWMWZ9Sc+ssHgFepGZnUa/Jz5Rh+o0c27eDTj37A/DAsO688focXnlxElv21KZSeGHyY+TlZ5GWnkNQUAjjHxrJwdOXWb9+Nd+s3cmgEX1p3bo15aUlFBcX4ebpQVxMHBcvXiQpOpycMj1VFeX4ePlQVlWJl4cHNbpqEIsRuVyolAqcdismsw0HAhKRCE+1in79BpGfnsytnFysNismqw2xTI7L5UAGmCw2gr09SM2rxlMLD3XrQKHBxfrdJ+/MrVOHphSU2ohMrIetoozjx4/dOda0Y0s8NDIaJLbmwwUL774pOiu4Kwjw80IqBadCjhgJKjTY0ZOYmMSebw8CsO06rF4ylc0r5981RHzThhirdYgFMWKcxNePxmy0UmgwIbOKQSJG7a9BpBDz8YqdvP3MONxDfLEazeRXWLEbiqksKqaqpgIPpQybzYzZbqNZdCQeMhmX80rQGc34empISfvz81D97iW/w4cP3/k5dOjQnZ/vXtfx+6kTU/+76HS/fPyN9z7jycefYcumQ7jMesLjowkLCWLNF18hQoK7mwdSsYgVc+Zw+OBZUm/nMWzYMPoPHEleWS5hoaE8NGIkVSVpZN08zNTnH8cvoQlugfEcP3bqV8UU8DeIKagTU79OTVHqv37T/2K/G6d+7Lmpub2f2j1m/GViav7bTwNqtq9exu3Uc0AxAx6YxI1Le9n27QEeGtCOLp3v4523Z3Pw209p1yiMDWveZszjY3h0wkxCQkJJT8tArXHHkHsFgIhwX5RSgYcfG8tH7y9l2uTpFOgLmDJhKFq/Zixc8hJ+MSF8smgKfbrdx7ARU2h3fweylZUAvP7GV2SnZHBg/WI8ElrzwjszGT1mNNjKGDmkI4Xpt9i/7jOmTBlHj/ZNuHb+h//DzHyzcjaPPdKNcxd3sHrp6xzaXHtv9TWlYK9i54a1bNh4AKVCTEFROVZXIe3bxHMrNZWUm6lkZWRjsZl5csoUvlj7KSaTk0Ej+uDp4012Ziap6ZlUG82UlJRw8NBxwoMDyCkpxWA04HTYKa4qRiZzojcbcJNJCdSosbtc1OgMIFXiFIuQSKXUjwjBx8MDmctBp85dcPdwR6rSoFC6IzgdBHp5MLBXd8qrXVzLrMJmFyjNL2HhhuO1YspRdGfWx05cJuP2TQ5u3YRTcvdms8vHz/PmgmUcOXqI4KjvPxci68cS3DCC5avnERocgDQoFA9ff3w9/RDcZSB2o6SotorKlzu2M3lUPS4c30jLNm1o2b45sfUSiGkYw/tvf0JBVg5LV7xHXEIL9u8+glmqQCVRIff2AqsYZ4UDcY2EI5duIFOLKSst4Hr6ZZp17kxNQR5mcxWvvf4SgsiFIBKQSkXopS5ul1RRZdbhEMBT+bsjPn8Tv1tQde7c+Rd/6vjPeOfd/438XXXczW/5cpR34yStWiUgkoo4f+Qk1y5cJyDaD6fIRXhEFCq5isGPff/8vPb6fA5v2EB5RQ1bt23BWF1IalENE194h9xKJdNffpMlH3z4k9f6ZOFsPlo4nxUfvMOhE/+WDNTh4LNVyzm2c+edpv1frwXgwtU/Elf5nZPc9gfG+G/FBcDpgxvxCKr3rzbtz3c35dOgXW283MYPJwMVYLuGR3wP7t6wD1QVsfjtF/9z00pOsn3jUt5+ufZ6z4yfQcbVw4hVUpYseAMIpH3TCBo068WIR5/Bw9uHgQ8+Q6P6jeh2/1j6DBrKG6+/y4SnX+TM7nUU5+Zx5UoKtzPzKC7Io1Ujf5rWa05efhnzFr1H717dGNy1HREaPwLd3XDkXGXypHeZMPFtKivsvP3OfMYMbsekJ17l9NaDvDvjMcBGVn4eAfG1Sac7hTVkxMMT8PPxJzc7m+TrZ5m9dCnBPoF07tuVRg3aAE5mTBjD+lXLqN+oI62bd2LLhq+Jb9qSipJSZr48nq++XofNKNDvgYeZPPlxPvxgAQ8/NpqxQ8ailiqoHxmGp4cnbh4qUq5dparSjlIEdgc0rp+EXqfDarEjFoPdDggC7ho5ZRXllFdUkRTgga+7CokgYtx97bEZTTjELmRKCTHR4bgQUKo0qDVatB6eXMooILOsjItpqWQWFfDCA734dOHnZOeV8/VXn3A5pYQPVtf+3e67kscrs98A9fcxXQs35nJf734/eosPbd3M8CenkNAwhjfer/3M6JTYhGAPd/r3uO9OP2+JgL+7krGPjCc2MQh3mw03qwuTSY+Ppy8KuYJyvZFmDeszqv8AMq+nkpuaxfkzZzh/8iLpqbfIuJ5B/z61u4YH9BzKgb2bOXLiCPqSfGxWJw3jA7h16zyRoe6YZA5ObNtIWmoK6ckpOGos3D57lt0HDyAVO9nyyRZ0FgMSuQy5REx2Zh7F+jIEB0zo2pgyo/k/f+5/gd+95Hft2rWfHkgkQqlUEh4ejkKh+FOM+yfzV9byq6OO76gfpUWi8qC4vAixQwaCDbMg4OftR01NDS67iyqd/SfPHdL/PhYsep+hD4+lcdPOuMnsLFm89Cf7GsoLcfMNBnMRufmlvPXmHFau+eauPtnXjxPZsOOfPsc6fp6S63uw+6lZunwB65ZtI7f01z+ud27/gH4Dnr3zet0Xr/P12s3s2HeNFkm+9B8zjFnTltOhbRID+w9i6ow5/7F9hflXWLl0KdUGPQs/+JqevcLJSC3BUGkjIEjLteRMRg9/iDWb99K3ewN2HbjBiEHNOXP+BqPGjebG4RtcTj5LUqME7HoThSWV9O3Zmqtpt5k1cyG7Dx6kKiuFb3YdxWqH9i1juHkrE6tDINbfn9D4SJq078hnC5ewffteJj7/BG4eSqY8PY1u/UYz6sGOPP3SS7Rv2p+x44by1eebefzRYdToTLw560V6Dh2It7sHMRFRBIaGIdcqOfHtfjp2asdD4yZQdjOdcxkpFFfm4630YduBzQQFR3Bo9zleeed5Xn5uIUO6NcRktlNYXcNXmzYTr5KQ0Pk+AlVKsisqqP6XF1oiArkKJAJUWUBwAGLQyMDDTUFptRVBBHIJuEQQGuiLu1zM7cJyGibF4zRZqTDZSIoOJzMnF6dcidVkweIwExcWxcoP5hHTqNu/vUM64Pv/T5/tvszc1x/ixSnTmTt7HjhdOF12vL19cImcOEUe2GrySbt+C4DoxFjEIoF167ey4LXJZBbmcv7s7Z98FpJiwyirKUUQySgrNfy4g7UYFL+lQPv3PPPCZGz2ak6cu4ZSLkYkVhGVlEhubg4usxVjWSEmswWr3oBMLMIvMpCczBwi/fwoqChHJJFgtdixOhwILheeSg1OkQiD0YZJb/hnxFD9MHbq35HJZIwYMYKPP/4YpfK/dymrTlDV8Xfw1tRX+XTjKnQVpUg1UsxmJ3anE2+tlmefeZGVKxfRtGEjNm4/8pPnd+rchT49+yOTuDh74SRz3nmf+NiYn+y7Ysk8dHoDTpGUti1a0jAuEq+oxJ+1zWIHZd1K3V9OTKiIjPwff0xPnfwA8xdu+FF7x1bhBIYHUZxfQGl5Fa88Po1n3p6FTifw7LMPopIKvLvwa5rVC6HGVMWxNbsI6dz1D9sZG64kPdeCqTKNXr36knwrjVefHM/k95bTomEgndu35/jxC+zesYnA2JZ06diYPgm+fHL4EslplSilItQqiA0JY/miOUx4ZSb1/f3Q21xsOVTrLX1oSBu27DgDLvhm/SoGDBuHQgluUggI9kGlkaKSeXP+UgouAUICZRQW23E4QSwGsQSmjH+E6tJSNu3bjc4ALds34vqFawhOECmhskpg9dI5WBUGTuw/R1J8FO98uIqhD/bj6OZ92JRScrKNPNCzDb7h9fh282oqLRAR5UNaegUSwFMjpX6QOzmVepRKJZU6A5U6gWB/LYXleuRyiAyLpqKqjLjIIM5dvU3T+hFEeGiwayIJV8tYc2gvdocDL281EcFhqOQavj149q577hvgiUSiwiY4kYlFtWoNESKnwOtvzmfiuEeYNPdTrl/dwMSRQ0AUzJvvzsFmsCKRahCpHcjQolQ48QxOwGxyEOgFV07t493332VQ7wfYsW8bfn5JtGka+6vPwJuzX2DVyk/JyakAxDz1yny8HeXMnjfvDz1bSW2b4aZwo6xSh9RmxmKzIBIkSBROLDUGWrdogNPl4MLNVDylMgS5O1ZjBRUGM1EBWnJLq3EKEgI8tIhVnvSMD+CDrcfvvaDatm0b06ZNY+rUqbRq1QpBEDh//jzvv/8+s2bNwuFwMH36dEaMGMF77733pxn6T+O3CaoqoK6ERh2/j7K8ZM5duk7fgSPo1K4pqWmZOAULaq0Ss8mARqYkMqY+N65do919Xdmxae/dA+hKwb3Wnd+xVx8G9+/PlGee+k3XvnbiMFt27kCm9WLGK6/VtqXk06h+6I/6rt12En9lFT179aOyoBjvkN/37bOOP87cNycweFBP6jUawoJXnmTKnBU0SfSjtKQchZsMuVPBmp2befzRh6gurkYlk3AuNx0PUQgNov0YOuwB5KZyNh85jlYu58ilHJLP7SWxVUdATcGF3YQ0aQbSgJ+1YcfnK+j/6JO8Oelx7h/YiznvzGfe4vcZ2n8QpcYa/Pw8uHE9jyHtEvHzdOORB8cw+rXXKasyc/99nSnU5XPsYDpBgQqKiq00behDbGAYWr8o9h7cyqB2bfjywBkahoYRGiBlw4ksgr2guApiIz3IL65BoYDJE57kxMlTnDx/A08fFZXVZmRiqKoBpQKiooJwOa3c17IVR86eJ7+yCswu3N2VFJdZ8FaDu4eatNwS3nv9JaSh/owYMpIgv3rUC3enbefOVBUW4+6t5OSpC5gsTlw4GdgyiTUHr+PnKanN1G0BixX8/eWE+wWTmp6NWQRYQO0mon1CLOdzsumaFItKJuCpdUerlFJtsSEVKzDLPPho3a6fuNNW4KdXfxp3aILJYMTisKOSy6jRmfFQetN7+FjatA8nt1hKTVUuQ4Y/xZwXn0ct1qNQeZJb7qI46zQWSxVxUQns2VG7LHj17DG+3r6duXPeo0mTBK5cufWz73/zJvUoqijE6ZIglsiQSmU0TowjtmVr1n3wESKpmDffeZsJjz5Fh8GP0DK+Gfm5l7h14wJuWgW6ynKMDhsN45uw/ds9d4/dqQOV5WUo1VJSLtwkowRiAqBThyakZ2YiVijx83PDy92P5Bs3sDlcqFVKTCY7MglIpGIe7NCcY9dvUW11IRaLaJcQjdFiZsOhf8Auv1atWvHWW2/Rq9fduyT27t3La6+9xrlz59i6dSsvvPACGRkZf5qh/zTqPFR1/BVY866hCGtENUV4EsSsFybjH+lLTkYhq7/+DLVcRnmVAcHpQqyGg0fPcuLbb5k89XUAls58jKff/OzOeP36DWLnzq1YqopRev284Em7eI5jJ45iwUmonz8DR439q6dax09hKuT61VNs3bCF5PxUNGj55Jsjdw6n37pBbEIDXnl5KnPmzmfma0/w0Qef0LJZa749dOZHw/Xr24rMtAxKyyo5uv8QSS1qPVE2ZxFySRBh/nLySm2MHtkbldPK81OeZssXX/LKR9+wcdUbHDl+maEDBiP4BPLhGzOIiYoiLC6arVs3M3HURB6YNO3OtebMfY5Pv1hJkNKbqAAN73y9ngf6jqJVbAiLVu8H4M0nupLQuCF519IplbuTn5FBq65difANZvDY5wETj3RvycZTyTidEB2iITnTwP49q7m+5zAnL11BLZdw8spViqqcRMf4kJZZgUQKUgFGd01i5/U0DDU2QkN9cQ/05/KZZFzAiJ4dGD5pOi8++yT5eYUYjSCVQUiYhhlz3mP72q9Ju3WV0LgEhnXuyNS33mPlx6t47qUnCXd3p9+ox1n07nzU7m6IzAYqzbXRf41DPVFKxZzLrMTqAo0cXFJw2sDhqPWMtYwLQioSoZbJCQrwwN9Dw96raVxMKQVg8oSxLFz+6b/uZDngBH5exP476WUlzH/7TT5euJQGzepTXmMlIyMTDXBfz+7kl9Xw8NPvcv3EBmLi67Nn6zqqnJW0SGzGtes3Sbty/WfH7tKlDUeO/PjZ+o7nZ60i4/wObqefQ28WcNrMOB02nAopErGYAUOGcutWDs+Mf5YXX3wGtVqDJiiEgpQUZHIpMqkcQeJEKRLhEiS4SQUqXSKUGjUqlRabWIS/S0ZGbgYKGaz9ZittmzQFICzMG7vNycjhvVnz1XaQiJCLRDgEAZcg0C4uGi93DZtPXKZJw3pEeLjTpFVLhj7+JDHhSfdeUKlUKi5fvky9evXuak9NTaVp06aYzWays7NJTEzEZDL9aYb+06gTVH8GZkB1r434f0XHzomYbDJyb2WydsU6Xp79HKGevmw/ch6Aj9+YiNFaRVRgPIMnvcmXny5n1NgJGDKO4BbTha0Lp3M138qs9xeyZ89Fevduzv6jJzDUOLDoyrhy/hKNOjQl89Z1Xnv1f6c25/9HetzXkMlTXmbqSxMJDw5h94Hk33zuU0+PpLSqnKL8EkrSs4mODGffqZt3jm+eP50pS5cgQcbwwQ9wPeM6D/Yeyek96ygsq0AqFVNtMJOrs1FaUYG3txZdtZ4Hhj7I0aN7mPniHIY/OZGdaz6m3+jxv8kmY1kqGr8f/l+pXb76OVo2CsbhsHE5uXb3YotWkSxc8SVjhz6AzlpBSX5trdnim2coqyilTObGA326se6rDRw6dJx9e7YQkxDL0d2HMVhg2qsv8MmKRTRs2Rq1TMWjj49nQJ8H2LP9K15++SUycvIJ8PekuKSaIE8Z+WV2ZHJQKkQ0CQtAq9Vw4nomOrNAm/gwElu0ZczIh0jJysFpLOPQkZOs3VGbNmDyE8PJyiviakY+WWlZBIT6UZJf9rNz7ffEK7jJwFKaQljDJnwwayaTpzzFwgXLAHhwdA9u5+sorzQRH9GA3KIruKt9qaopx2KUovULxl6VjSCRYzTa8QsOYMTQIZw4eZR1GzbTt2N7IoL9Wb9hy8/a8B3fbvqS+4eOYvSkWZzf/ylGs4nO7dqxfO1aGjVqiF1vR6vypdJahpeXGo3Ci9OnThMeHYkEKWK5GKtDQCmV4uUmQmd2YHVY0CjV1GvSiI4NW9GkmTuvLNiJVulOZnE+GqtAkLcbxcXFyFVqLp49yxeffMaYxx8jyF+L0WVDKVKiUGgxmCpw2QSenzSeq5cOcf5SFhaHjaZxkcjFUkID3Ck3mNhy8Pq9F1RNmzalcePGrFixArm8duuh3W7niSee4OrVq1y+fJmTJ0/y8MMPk5WV9acZ+k+jTlDV8ddiBDQ/eSTnxjlefW0ma7bs+cnjAM892g8f/1BmvrscnNUg8eTQprXcN/RhLPlXySsp5cKlVGKjw/GJb8RLU18Cu5UFS1aTkZdC15ZNQXK32N2xcT39h434E+dYx+/BWFnK9DdmcvbUKZxSCQgSXDYrFpOBoSNGY622sO/AV1y9mferY322/j1em/oGVp2BK6mpfPTBIiQiJ2/MXvGjvp9v+ohHh07k/q6NuL91M9QBDRg7+UW83EWExARRXV6J2WDlpScnMW3e4v9scvpi0P61S8Znruzhxo4deAXUY9u335CRmc6ltGIEASSu2j2mEkAmB6lSgt3sRLCCf6AGkSCgM5qIDQ7lUkY+7ioI8vIiPswbjVyKQqzEbLcR6OfO6PFPc+v2TYZPfOffLHBQlnKOdRu28tn+rXy4cC2Dh/Tn0xWfMaD3/Ux8fgr6GjO3C25RWVxIcEwCFWWFmI1OHn12Ag0i2/P0xOF4qBQ8MfoJXnhhIrFNEqksqcLdR07f+weQV6Lj2vlT2F0Opr4wg/nvLSW+RResWVfJra5E67IhkTto1b0vx3dupbysFE8PDU0SG7Ll239Le1RxFXwaf/cG8e+7S2MTIjAajIhlIjykMqqdVsR2EU5BwM9Dy7pdh+nWvQ3ent6EeoaRnpuGVCJFqZDhGxxJTOt+HF//PlJByisvjOHFBZ8THujDgnUruHRBzZefvoyxphqFTEVxxlWcZjPt2jRh4+Z9DB14H0qpD0ZzGSevnEMtUiBWKjAYavBQqQARNToLRqsZtVxKVFAQISFBNIj2ISAkik+/2ceVm2n3XlCdOnWKAQMGIBaLadSoESKRiGvXruF0Otm5cydt2rRhzZo1FBcXM3Xq1F8f8P8pdYKqjnvF+6+/hMPhZNrs93nqiae4lZVK44hQFqz6orZDWSn41cZQHVw9hyaNGuLTdMBPjjV79ix6NerCyx+9gVrsxcK1W4ipC/v7R7Fy3V6eeKgX2RYj+77czIaNK5FLvCirLqNJ8/aU52eRknyJoaOHEBsdy9z5CzEXVSLRiGjdqhU1+jJ2bzv7k2N37NSS8qpiduzfR2xg/TvtadduENeoAYuXzOXUxTwu3zhCoF8SK9+fyax571BUUE6fAX2Y/tzzv3s+TnsFHy9fxlPPvvaTxw/sWEf3/n9+rqyVn8zlieGjwF0D+LJn1Ud8vPZ9bA4H6XlVVOkt6I02lHJQSET4eWkwmR3YHDbcJUqQS/BSKYiNiCIiIoA3Vu74XdcfNKQPj49/nsceG41YLMXqtOMT4I3ZaMHhcKL1DUCwuZCIJTjsVlwOC0qxErPLgVRqw2BxMaBfX3Zt30PTrv1JObMfs8mAFClDHhjE7r37sdkEZrw2DZnTytjRY2nYvhel2RdRq91Ryh0IYimBXh6k5xTwxebjSCRG3ntjOrev3eRWRsEv2v/yK68xd06t1zo+LpBqgwUHLvx8PLHZJPj4eBDRuBtyUzFnTx4hLj6Ky1fTcXdzR6SS4ZKr0chFVJWXgcOMrzYYp2Dh2tVaz2pix6407TGFovMfE96kLwbTLWTOEM7tWolKKUWwWQj2UaESKbE7zIg0cuxiNcWleZQWlOJwuNC6KyivNuKm1mIzGjE5XQzu0ppKswmRTIpWCpExcbz29lI8PPzuvaACMBgMrF27ltu3byMIAvXq1WPUqFFotb+QH+W/jDpBVcdfSdHt4wTF16YoOLT9Gzrd3x+p9MfLo7OnTSXEkc1j73+/2+uLle8x5okXefetl3jptXcpObWRgHbD7jpv0lPjCPILYOuBI0TENWH8uNFs3raGxoktOXJ4BzGRLXjrrRl/7STr+I958NGBzJw7j4Uvv47aTY3GP4RtW7+gT5f2hETE0rn/WKa9NJPK7ExkXlJsFgG1zIJBJ6K8qhCsDjr26sPIIYOY9857FOQlI1OFIpHo8YltwOgxYzmy60v8ghvxwQ+eg3Vbt/DQoMGMeGIEpw8fRy1TkZqSQd8BA3hn/nweG/cwQ554ivZJ8XRu0Z7293VAEIPZKUarVXJs+z4AFqzZx4Gda/EPS+LqqS0YjBa8An0pL8ynV7fefLRoEcMmTicuXMK29Zton9iIspp8mrZoyKw3Pv7R/Ti3ax2t+t4twl6c8QQN4hLwlbg4ffAwc1bvvnPszcf7UFldw4DRg7hv4EtMfOA+VFIZ5YZCrHYnMruA0WHHU+XGE8++TElFMes27+Zm2i10VZWYTHa0Wg86NK3HwQuX8fH0omPLRlxMvQ2CjSE9hzFj9jyGjXiACVMX8/RTvZHJ1ZgsNiQuD6TuauzGAkQOkDntmGwOJHIFIrUbUqcdmyAgdzqoqCxHJlXRon0H8vNvYtSL8I5sSE15IR6KEAICLVw/d4qI2FjS0zKwCwL7TqXTq10MIouN/v0Gs3nTOjp3ac2Gr3aD00VkXDQyqRib1YTLZUHj5kuVvpSQgBBkKjdERgvf7D9NuK8bk99cxJ6NyxA5RTgFE7eSa72fn2z4kunPPIFG7oZC64GAnvJKCwqpmJaN2pF8+yIt+j/F1YOrSb2WRkKTejgdIkJ8tCh9Y8gtzMc/KAR1VRWL9u9l/JD+fLp9B0N6dKZ157HsXPUK3Qc/RfWtPVw8f5X2DeuTUZCHw6LH392DSquDjOISvNy0lNXokEjEuEQu5GIpepMDd60cq9lOdGgk8fFhfLP96J33/skR3Rn28Ch6DRj3zxBUdfy0oKrBiQeSe2zZH6ECuPcFa+v4ZSZPfpGvPl/CkAdHsXPXt7Rq2YaNG7f/pnOfnTKdE2f2EqD1Z/iwhwmPdOfjzZ+TfbWUqS89g67CgpeXJ0OHDGbj+vXUq9+SBo2i/+IZ1fF7OHb6MDevX2fj6jUUVRRTLzqOwrI8istKeXHWPAT/lvh7KhjRvgE1wO69l1j98UIqjZXU1BiRO8yExcZQWG1GJa2gqqCa+HqtKChO5sLhUwx6/FFSb15H5e5L+05D+PCV2hiojp1b0LZ7R7Zv3U1Sg0Ry8yqorCijbade3Lx0ColIjFmwkRDRmNWrFtKiU29sdisKiQKlVoKx2ojYYccutqN298HLJxKVuxyzwURFfi5uPgGUF2QQEBjC6f17efGDRWRdzyTA0wt1gIPtn+7GgRksRlwqMd5ukaz/bCWff7UUDHkkRNRjzHNzyDj+JTEdRwEwb/4ExBUW+j32BPUT2gPw0ujeeKoEQmNbU1GtIzn9Bj7e3tw/sC87t+/h3Y+++tE9X/bBWz/wqJVx4fh1WnS87wc9HID0F9+32CatEMulSFUiBOTYdSbsVTWglSGRyggJjyA0wg9tzADGjujHQ70bI9d4IbY4UWpF9HxoHF99/iGNomIJSmrCtVPnyEm9TkhQJAV5N5Cqxej1drw9AhE5Kykv1+NwSRA5BKQyEwqFB4LThtliRAAEJCikEiKjAigqLMdqceLr54vVYsYvIoLzR87RKDGeUpMOjZsnUpGAm1yCGAvnL2by6EsvsuPzlWTkFuOpVOEf6EmjJkncTL1FbnY5DZs2RY0Uq0JAV2lE5aEg2D+Q+MgYIltGUXwpE4MFaspKyC/LQ3CYkarcUcgVlOQl0zo+niup6RhNVvrf35/1O9YjOKW0iQuhUqfnQmYhVjvIFbXF2V1iESqRDJVSislsJzE+gvjQYLJK9CxY/iFJDdoB0KJZfUYNGsoLs+b8MwTVmjVr+Pjjj8nMzOT06dNERESwcOFCoqOjGThw4K8P8F9AnYeqjr8DR1U+Uq/vUxbk5uawZ/NqOnYbSP2GjQkK82PYiAdJCI3gmedf4OnnHufDxZ/8KJT3ubEDuZJRjh3wj6lHo/gkrmVcYevKLxg4tB8hwQ1o26U7o4d258jJY1QVZNOv/3DEghLJv0qzbd5xgJ5J4bhFx/9t86/jx7icpWxZ/RVDxz7Hnu3r8fRUsOvscf6PvfMOk6rI+vDbOU7qyTky5JwzKDkjQUCiIIIgUUHJSBYliIAgOUuWnHPOYWBgEpNznu7p3Pf7g11cPnVXd3V1d+d9Hh76Vt2qOrfu7bm/rnDOpiVrCKtYhYt/2e03aMwkEmLuMeatIXx/4yoPo+8iExRIxCZ8wptglhYi0stp2qEFsXHZXDmwjmJjLmKxQEhEJN26DWbNstkIYmjS6UPundtEbnoSnft04tThq4SHVyI94wXB4bV4+uQGMq0UCsQ4FCCXQ6O2b7F18XwadGhJfroZZycVRSVZjB81ljWbNiGWaZEoRJTk5mKx2UAmgBmctU4EBoeSnVeIIJVgM+cisrni4+tG1ONHyGQCOERo3CRUDq7Azq07APDyc0UiUuCi0uDm5YJGsLPru90c3HWQ89cOI3NIEKvVaJVaqtetj0RkIys9jbPnL9LhjRaIzSUUWm2IRQJykYlJX27jn9k0Ew+EAw07vI1WJsaznBd+fgHcuvgAu9rKkPcXs2/jQgS7jayY+8gQ0MvEIHXCmJ9FqaGUUeMmsHvHZrCpMAl6Zs+fxqSPp4JdhruPF6W5uZQU54PFjrNGRbMWTTlz9QFIivFy8acgKx7U3gT6OGEwlNCk1SC2rp2FzeRAJBYhlcqQyhyYDA7c/HUoJUpyM/MZNqwf2/buw91Jwb1bMVx+/JB+b3VC7eSEu6uOvm/35sP3x1CpcV20lKJQ+2IkkKSoA2hddZT38SI5Pwd39wBcfUNRONvJTS+iW+sm2EsV6POe4h5RhaiHz0iMf86+Q6fRyERc3reRK1euc/HeYxpWDiMqNxd5aTHP04rIzk7Fzc2J1IxcTGYLVapGEPMsnghPHWqFgpSMQpzUMlJLS3CVKHFVqxFrFDSqV5HwKnXp3bk7PuXq4siPQayL5N6dO3w4egDXbj774wXV6tWrmTFjBuPGjWPu3Lk8efKEsLAwNm3axObNmzl//vxvZtyfmTJBVca/m+ePnlAqmMgqSuTzBWspKigkKyuDFo0aUVBSwtFDL33XtGxWg/OXHrxWduGymTSs25HpUyeTUZBFg7rN6Ne9PSs2fUtuiZVQd19MDith3n44eWqYNnIUcp0nrwUtzk0Ej5B/4xWX8Y8Y+k5H+r47mKtXbxMSHMjipetQOcm5ffnlrs+YqAd8PPczXiSl4RcQTn5BDLkZdrx8vPF3cWff/u2v6lq6dSPf7T1IcIXW3Nq/jF4d2rNw+ufU69WU5o0bcvduNBeOn2bwx0vYtHgiERXKIVZLkaDAKrHg5xuAp8qdbd/tZOKEj3jyPJWLR3cBEFq5EjaTBJmolIS4eFaeSGL1oqEEB4bwPOoWA/v1YMnKdUSGVMQvvCYxj+5jtxuxOUqYOmcpX0wZj1XlQCVS4apRk2+0IQgW3JwlNGzYicWzplClRnUKi0uwiUqYOmMKXy1dj1Iqp0aVaoz8cCSNatf/h/3ZrsObrwL4/pW1G9awdOkyoh9Hv5Y+edFGbp/dic1hRi7TcOb4MarWqoFIpkBiE8i3meg7tD8hYSGM6NSbmeu/4dieY8isRpq1aY5gc+PWtaNExzzl8wUrGD9+OEikOCvVmO0SfH11GEptSL0qYkx/jszVH2NuBgq1AWNRCQqJFbPRgkOwIZJJQOKMRhOMb4OepJ//HJsY9HorT14kUy/cFxt2Jnz4IePHT8crwgsfVxeSUtNw1bhicojx0aoxW+y8O+4TJo18D4DLJTCkflVctWLu3HpIo/q1uHb1HidvPqJULuWbpUtxmPTYLYU4TCXUa9qIChXqc+/sSTKNBrRqFZvWrHut3yaMGcx7Y2dz69IRrpw/j00sJi05h0EDunDx6GGyM3KxSFW8SMvEYi5BqVAgUoE+38gnH33KxWtXOH3mGA6HCKkULHYHvq4uOOxWKoSV5/uLd9m2bSFvt3gLWUAkM+dMJS2jkHWrfogS0aVjew4fO/HHC6pKlSoxf/58unXrhpOTEw8fPiQsLIyoqChatGhBbm7ub2bcn5kyQVXG702h3kRG3GPspUaqNGr2Kr1zhzYUFRXQvl1Ldh88hKe7C8PaNMOvXDk2bthJam4GGqWGTXsPU5hwhaDavQHo0rEjmaVGFEoVDkGgTesWPH6Ww4tnt9AqPBBEuZw9fhHZX2YuCtMf4+pX9VW70fcuUbHWSzuO7lxGrfJV8a31/0NdwIRetanTrBs1y4VQsd2A37GHyvhbWvVoi9SuIyjYCWN+IbHPEygy5uCjdaPYYeTuzed069iKJ/EpxD57zoDBb5OemsXZMxcA6PbuEHQqVxLz8tBnFlJcmIBIbENilpJnyEMhEyNXq4h5GMfjF/E4uboR4qZjzNSJJCdlcvv2VUz5Jlq1acGVe3dwlApcenSPci4u+JWPwFkpJy+jGO+wIKw2BU1rV+bs1dPodK4kJaUgEktx0nriMInw8XUhMfEhKpkCD18/JHIFDpmI9PgMXFw9eXLnOm+2bU33t3pRsUltrt99wMppU5jx2TxOnjjMnRv3SU1Mfq1/Zi/6jB3bvsOOjQqVItj73dHXwtL3HtaR3et+yqHmX/v3XerWDcNNISfFbOf62dO8M3IaO9d8BVYLJfnZFJbqsZpyUUmcEEkcqF3Ko/TS0HnCLj5urWDTt9+Sl1ZAYOVKDOvViTlfLOD8paskxCRgV4AEGTKtB+OnLuKDDnUACK5WBcEhx9VJjlmiwZiegEwtwmEpRWQDZ98gHly9RdVWPch9cRuZRIrDbMRidSBTKTEXG3DIHFSpW5P4+49QaGX4+VfGoM9EJZOTkJKJSpAhVcmoUrUiaXkZnD57my+WrGLOhA/oOnQo369fD8B7E0dw9coN3mrfg2ybjrVzR1GjWVNCfUKoWbUKmdkFrPp8BqjUP+q/2KirzFu4jDEjRnDvWRxifTLlg2tx7u55ou/eJ0dvITkjBcEKRpOBWpWrEhMfS9tGVUnLzCKiamOunz9JTFomdhHY7A7EEgGtTI4IMV5eXtx49NMxRVt164/KmEBYg9acOHiA6n4a9py48ccLKpVKxbNnzwgODn5NUMXGxlKtWjWMxt8n6OCfjTJBVcbvzeOYBDLiH+EmgR17d1Ktai32HNiN2W7i3W5d2Lh7L/WrlCMhMQ7f4PJMHtOX+1GJ7Nm2h/XH7r+sRJ/AyFHjWb35+1f1fjZ/MiKVH1nJL4jJzEfjsODuqmLdmpcOQZOeXCK4cjNK8vNw0rmzee1yWjVrgH+F+jyKuki1Ks1Iun+eZwlxtO0xnOEj+vHBJ59iin1Gg9a9/oiuKgMY0Ls36UW5tO3SnpuXLmIuNZKenIiTkysRkZE8jX+O3WKiSo3W5GUnUWTIw9cjlNy8LOwWPSKZBpPJjKHUgKuXB19MnkGdpo34dvU3LPxiLmKZlq5vtWfB/KVUq16F0FoNeXH/KW7+Efh72FA7h9KmTRVcXKsw5t23ELnr6NBrIu46DZsWfUhEcCiJyYmItZ6ITdm0bNmSmw/jKDbkI5isOLu5oda6YizVYzUU4OnuxYuUGF78ZSH0m13bkf4imehHL3eFRZbzxT00gOunbuMb4cub9Voy4eMx9OzbC32Jg+y013etdej7HtE3TmOymbHZHCjlCqYsmsnIPkOpVq0aBpGE+If3/24f7zh1l9tX93HzfgKeWh3+YYFcufcQiTUPo8GEpSibmVNnMnXeJOQSGSKbBKtFQO6mQelRCS+JjFnT57Jm40c8uBGNoBSjVjiRk5mJSqag9bjZnN+8BpslH2/3MJJfPMK7YmMK056jlGhRKGx4uympUqMB323byOZzJxncvi/VawRw985jzAY77v6hNG/XlVPbv0ahlpFfWISLkytWi4XKtevx4PoVNBolcrkSowXkSgGdqwcXz1ygWqMa3Lz2gPk7sog6N4PMlGQ+XzyFptWaMmD0MJo0bMr6b9ah8XDC060OCnkmbeq+wYChfX62z/p3fxNf3wBa9OjIl9NnkFNiRCwS07JeLW4/jUUnEaHz9COjVE/0kyiqV6lO3NOHGM1WSswWlBIxNerW4vHdx5jsFhwOG5V9PXmankukjycWuwg3jQJdgA9Dx0+lzZuvB3nu060VmYUmLly48irt93p//1MjVAsWLKBr166vCaqvvvqKzZs3c/fu3X9cyX8Bf70hcbHXCI9o+EebU8Z/HXmQmwkelX9IMiVx5tBRMp/cZ9me41QPDwaxjfU/syX+r+z+Zh5RJiuZKTIy8tORCTYqVm9GQdxjVq38/75yIOrmZarUf7nD0B51DEmVDuxau5iAihVp0rQT49/rwehZyxk+qCdnz7xcr3PjxB6+WfM1m/YepiQ9FafAlzEAheJbiJzr/UZ9UsbP8faQ/phKiunXrTcGrOzeuo7i/CK0GjUOJXi5+2Av1ONVLoTYxGREJjslJSV4uWnYf+SHHVDBoV64ubqh8/HC18WZ7FITuYkpCGoVhYWFJD5LonzFcphEYtxddbTqNQWJyJka4QW83bkbMRmFfLtsIVfv32Fgv0Fs3rEFd40Cs8OG3C6gUjlz99EDVCo5hcWFpCek0bFbN44ePEhQ+TBsZgtBIaHcuHCZN99sQnJWNjqNC5OnfcrCBdPIystALVMTHZWGj58WpZMrMkGCxWzAxzucrNJMLCUO0pN+7Itr7pfL2f/9DjISkxGL7Xi4+pJbkofYbmfcxI/Ze/AGCPlcP3cGgPdmf87VYwd5evMaE75chyYgBHFRNoWpFgpyo3Gp+SZ5BSbISCDt/lHSjNkoseDnFcGpw4fxD/bAIZIQGV6e7HwjlSNCuP3gGhpXZzzdvbh44iID+vekWcNGrNq+kXmLDzN2fFdat2hB27ZDmDaxD4Jcg8LVh8OnjnJ87wlunNqF3mgiISmOFd9uZsx7I6lXrRKXbj/AKHdHbjMwYtwYtq1cztadxxn6Xg8SE2LxcvJE6SwlPSsHu8OG1CRCrHBgKrViFVnp0bE16cUWsjLzKTUUI5WAk2sAXq52VBoVU2cvJcL7H3tuv3zxEE2b/+CipUplf2QyKXkFhShkMvYePsnaLxaxcv1uNn0xkTlrNqF0SAmKCCcm9gVyrNgsFmxyDTZ9CS4KOTgEZHIJpVYb2B1Y7DbaNayCVq3keXoO9eu1YOriZfxcWJ4u7d/k0PHXp3H/NIJq48aNTJ8+nS+//JKhQ4eybt064uPjWbBgAevWraNPn59Xqv9NlI1QlfHvZsPqZbTu359FU2bw4NFTbGYzMokdtZOMkyeu/my5s1d38+2qo8gUalrVKkenlo2YNGMaqfGxuLjqMBmLkUnE+Hv74+/rgVop58Ml6wEVmfHRnDhzll37N6KVKShXsSkLFi+i6Zv1ePPNDjy5fYWY2OeY9UbsCAgigU6tu+IQWXj+LJbJU7+kWZum/2D/Uxn/KkcOfE9YlQqcO74FN3cPSnIsjBg3iaXfTuP5tWe8SEqnTaNGXH/+DJlMTFpmFu5aDZ6BfrRt2Znrt29x/Pvv8fLWMWnBLLZsXEl2ai6167UmvHotTm1ag9FhxGgxkJ6Sh4ACxEZcfUO4deYylSoFY7XJadN7ME42I3diYsjIiOHJ9QdUqBxKidGIzskdg7GINatX8tHETxnU7y3OXblHqbGAVbv2MLDX29w69/I5/nr1Co4du8Dz59fwcPMmz+igbdN6BLoHMOmzTwgJ8iI5uRiAAcN7cfLYdT78dAzTR036yf5p3Kwz2YYkhFIHPsE6tO4VqVc1iHVff4VYKqFc27r4Wzy5HnWfiuXdyE8x0eKNhqzbsJ1KNWoQEFiOtyfM4qM+7bFhRanU4OPrhE7hxp4t2wDwr1KNgzsOM3XaRySkPuTR7acEhwQSER5MckIiacmZ1Klbg/DAUL7bf4A5Xyxh+kcTAFi4ZCEnj5zEILVjN5Rgs8gwFObg7KGje89BDBvUD18PD65fu8raLWtROSlZtXgN3Xr1xGg0kF1UQPlyVSkqLkaMhKfPHiEXwNXTnYByFXmjSR22rfkWmUqLIJJiMpagUkpJSkhn2PBhnDi2F7NZwZ1bV2n8RmtqVw9jzsIluCh+2rnwXxk0titRFx9RIbIKgsOMWCTB09WN2aPmYxfnsPfceb4/to/A4FBuX7+LDSMms0DlABcuRiVQITKEwhwDDnMxq7/ZyYD3+mE1Gynn58Gj+AwiPd0w2e1YrHa0CjlVKgbg6qyl97DxHNy+lc83vRx5txTlIHfxfM22WydXUa/tB/Tv8xbbdu1/La9Fx9ZcPHbmjxdUAN9++y1z584lJeXlrwB/f39mzZrF0KFDfzPD/uyUCaoy/gjupDmwZt1j144D5OiLyc3LJTX9BZLSQkoMhfh46bhx5fUQJHmF0ZxftowXyYkUF5eQpzdSWKwnv8SAYAOZzgWryYwWK84uHsSU2GnXpSeBHq7o/H0wFuTi7+/HqE+mYCgsIC4ug9ikJ4x+bySNG9Rn6861yBxy8vPyaVyvNo9jU1j73Ula1KtG9KObpDx5TPmWbQj2CQKgODcNZw//P6L7/utJe5yAf9WXbi7M+lKmzvmIvKwC/CPdeHjtKWKZikBvf9ILX6A32HFTatB4ufH4XhTuGhkZ2cUEhwShN5jQKpQEhHvQstXbrFo+D1+dHzEZyQR6+WOy2cjOyKZ9+8b06DSAmvVfjkIGhfiDVIxKKcbTrxzlA4KZPHY0Y6eMxsXJHUGQkJAQh7HUTGilCgh2EYOGjaZXh9bsO3OD/du/IjzQH73ewIlz58FqYNA7fTEJMmZOnUu1+uWQCRosSDAbDRTkZZKTXki9jp3IzXiBj5sP186eZfOO7ezaswFPnQ9b1m9n1qI5ZGWlcuroccqFV0LhoWbNt/t5v0cr0goK6DPsU75eNpOaTRtx4/gxpBIZUpGaqpUjaPhWKy5eukHsnaeYjCYsZvBzD8Q/pBzH9qyifOPq2I1iXJzd0OemYJUrSbj3mB5DupAQm0lwoAfnz18Hq4l+A/txYPdB7iTn0LhSCHKZGqsgoXP7jiTExKByVfLscRROXmGYCrJROiu5/pc1bn9lxMej+Wbx1+To7bw7uAcz5i5j8ZdzePEshuCgUOJfxOKs0uLsoSU5Phmj9eW2Eldfd2pVCufGzTvUrlaHu0+icNWqwG6kSdOWzJz2GXEpaUQE/vx3s2KkFzVr1MFb58kXn3/G/etxpOcmYsETjc5I+/ZvM3xob1Yt3MDA0T2oFFqF87ePkp9vISM5HbvYTuXgYKKTEqlboRpJxfnkpaVTZLIiCBDu60VmXi5eTq54aJTklZQSEuCGztkJHzdnfILCqVW/FcV2O13eHvSTNhamJ+DqF8byFV8x9sMxP8ovVy0co8FGWkLyn0NQ/ZXc3FwcDgdeXl6/mUH/KZQJqjL+HTx+cAvB4eDS+Su4eIdiyHnOiPEf0atvZzKjo0kuNqGWiREkzshEAla7mWfPkn9Uz9YF48HZgwdnj5OTl4tWq8Ril9Cla3dq1WtF9369KTHbEdRiOrXqzJxJExn76cfkmku5f/MuCmcdUuw0bdGW6Cf36NKrP/u/Xc7T5FScJIBchVwqY8f+ozyOTaRJtfLs2rYJschOyxZvcvfmFYb17MmilUv4bPkOnl7YSUZaCuENuhMSXu7f37H/Y0waPZwGTbtw6eoxGrRsQp/uL/009evbA5PFSEZaIuPeG8HbQ1++gBKTH+HiacNNVYujl04S6BbAEK0JcgABAABJREFUhEnjkNgcaJyUWKRS3qhZje0Hd9G4fhO++mrjj9rs1fctMvNzuHzyMgDDJ40lMzoaRA46vjWQ2LiHiDRVuHpoJf4BPqQmpiKWKajesCZLps9i084NjBg5hY8mD2L4+zOIDAsnonwwJnMpGzZ8w0cTJzNy+CzmfDkLJ1cpz+884/TteFrXDf/JPmjZqRfFJclYDGa++uZbWtapy/ARA3mjSw8+nbIIkz4Hu9WOQu6KxWpA5+GMIHOh1JKHi0JHnxHD2bFyIX7+AaQkJGO0qEBUjNgqo2LNqgSXb8HtE1soMGYyrF9/vvn2W7QaNZ7+Qdy7ewUxYgpzDDRsVhOFUyAZ2Yn0HzqGxNtXyUpPRaXzITwykBBXL0b8xQP97bMXqPtmi5+8nmHjx1M+LJS327Zi4bqveXE/gfKNm3L9yilc1M44HALVqtXk+fMnKMTQ451BnDlxhvTMZ4QFhJOdmUqpsRSZTEqQzp2vN+zk4omDNG/X7VUbV87uZtXqzYRVCOT6xdukpSRSWFqCyAFShYoWXdty6sBhpBI5FoOe2vXrcmLvEfoN7kNqYgqeLi48SkkiNS0buRQEsYJ+XTqx48A+xIhQO2swFOvxdvehoCCXEC8XCvQWygd44e6mwmGzY0XEd2ef8PH7PXin5zvUaP0WN8+dIi6jkM/mzyainD9KhxTBUsr9lGyq16nHrevXaNmiKeeOf0+ElzvtWjRh6pfrX13Xn2bKr4yXlAmqn8IEr+2bKePX8uDaRWo0av5a2tCu9cnWm5k4bhBB3lV4a/DbjOzwJlH5Zia8O4AhI0bi6eyCWAxpFglXbsX8w3bef7stUS9SMJocKFQqtE5udGhaj6+27KBJ7TqcvnIexCJUTmr6du/F/PlLAUhMiGPh8i+5d+smt67fIyTCnbo1ahEbn8C906cRe+gAV45sXUmnHgO4cnIPTboP5eDWlXQbMOpV+1PGD2P+0nU/Y10Z/w7uXDlLnSY/3qU5Y/ZI3h8yAv+g6q/SbicXUTfIhXfHTCDYVcXE6ZPQylxeK5eQFs+mVUtR6DREhgVz4NA5kuJSUYokdHunH9VrVGfxolns332YLat3MvTDd6lfswY+/n74BepYvXotdx6lMP3T9zh+9NJrdVeoGILggEOHLtG9dzPy0ksRKZ1x9fCjtMSA1ZFFRkIqI8cMYWDP3jRs1p5Jk8bz+edLKbDC210bsvbYdXo2bESVek1Z+tkUur/TmQtHLuHh44VXgC/lA3249fghRr0drVqC3mJHJpKjcHWlYYMWpMY+xuCwkl+QT4CXFzqfSjyNv4+nmzuFOVkM/Wgi0devc/vGJSQSMUlxT3GgQGkXY7Y4EJQyXN3UWCx2RA4LIkFAhIN+Q99F6+zPg4c3KTUWkhOXjUwhosRo5umDpyxYs5rb106w/y8bSx7F5xATe4PP5y7AzUXJsL5jOXZ8D/EpWXiHemMvKqVjvyFcOL4f/wB/Zs2cxbpN6+jbuTsDhg9BIbWgVKipVKsS0z/68RpKgKdPz6EvKoZiB2+9OwS5WInVakalkhNZMRxnZw0x0eloFEoexj7EaHCgVoLRARqlCD8fb+LiM9G5qvH29iM2IQEfdzcyckqQia2gkeOpcaMgPwutWEWTuiFIxGIQK1GppEhtYlbsvwpCJohej/FYq3Et0tOzEVmtWLEjk4sQq70JDQqkKD0Oq9wJU0keIpuNgiIDg/v2Ydnyb1i5dA5Lv/kGs2Chf/9hLJy58I8RVDVr1kQk+vmo33/LvXv3/mWj/hMoE1Rl/O4UpvL49kWqtv4hpMbNgxuo3+1d4q8eIbxxJ9LvHsGv9uu7WuzA+dOXadW66c9WnZv8lBkL5nD5xhPkgpWKjVqwbdVqHsTHcOXkSYIq1aRLiyY07NCcjKRkXLWubF23hi5dO+Ht7cPp70/So2c7LMCaL76gfO1agBgkbuQnP+Tq+csUFhVyP+oeb3TpTZDOjdAwP5w8QkD6vxOi6j+NyzcP8CI6j279u3Lk0HHSEgv5eMKPp03+Ssztp0TWrfRa2qC+b9GmS1e8PNUcO3ACiYuML+Z/A8CwEQNIfpHEqZOXmLlgPvVqh9KxTV9i4x4Tk5ZNx+Zv0qV7C94fNZaOrboDUL6iHwajhdDQIC6fv0f16uXoNGgkhZlKDh6Yj9VgRKKUkZGQCcCI8ZO5dP4QTx+89Bs1eeooouKySS9S4OOhJTUjh8dn93Hj7mXGjJlMZpEemdVG/POXU+V1WtblzvnbhFQJoEObXpy5dBqbqRSxSIFgsqNx0/Lo1j2GDBpPQlY6fkFidq596V09JNIXvcFMz5a9OXh+P1OmfcKMGZ8yeeEUuvceT4sKAbRs2JKde78nLNwfF1dXivSZeDmHcuP2HcbO+AhKFRw4sg9vVzc0crhw6TpPbp1h38nzyLXeXLt0GqVaicxZw7AP3+fWxXv4ePoRk55GcWoCLes2YtfO7fj4BhJaOYzi/AJmTpsNQNTVM1Rp3Oq1+9W6bWP0hUVk5aTzxcLP8fJwIyMzjxatmlGtVgOsFgOlpTYa1K5ObHIC+uJSnLRKJBYF/t4qsooMOCk1ZBXkYbZY+ebrLcycNgapygVnqZWQsHLsPXkOxV8WUlrsgBiqBvrj56qmdu3qPHoUhUzthFop4tsDN+nTvgXOKiVr95+gTsP22GTFyM2lZBsMyMVO6EuL8PV2pbjEhkQqw1UtpdhoQSQtJSiiGZlx18nOs6JVWXE4bEx9/0MGj5mIf5Abrjp3wsPCOHzg9B8jqGbPnv3qs8lkYtWqVVSqVImGDV/ubrtx4wZPnjzhgw8+YMGCBb+ZcX9mygRVGb8ddvhRyKIUyCwGnx92+X06YQyxiYnUqlMLrV81REYzN+5dYfu3Kxn18Tx83AQ+mjKNR4nFJOo17P9yGFargXIhkRTnP6daneacOXqE+3fvk5CYRVFJASqVlri4pyxbvoKjp47S9+2hxKZmcP/aSdxdXalfszpXb90jOy+Hret2MHnqOGpXro7RVsqli2dZ/MUK+vQdwvmjB2jZ8eULcNywt9G4OTFv8Tqi7lzgzo2r9HlnAEq3oH9fl5bxT5McG0dQuYh/qmx01CWKUmwIHtCwTj0QaV/ljRvzLv7BkfirtTzMfIY+04RzgDMLpi8BoHuHthSU5mMoKcRqtDBy9Ci2bN9F86ZN2LplA8ER5bly6S4nr33H6Pc+QeMkJfVFOna7HbFMSV5GIcHhbogkChJjMqlSJZyoqHgaduiCsTgPhRr8PYNQGkv5dt9WwoOrUaVGBE4u9TmwdR6PEuLYvHcbokw5Nx6fRowXl05/R9cPRpD06AFStRsWYwkKF2dUEg8qVWvKN3Peo0f/HrTu3I47F65TkPOCG9fuY7E6CK4QCBYLJ2/eINIjkM+mriGv6BnRibHs3LQbgK492vPwwVOWrljFjm2bWbPxO3QKES3ebIvNUcTiVTvBpmfPphWEVa/Ni7sJ6I05uHlHkhJ/izc69yIvOYlTF05Qt14NFsxextcb14HEQvT5q6zcuJ3EwnTOHt3FohnzccikxD3LfHVPFn0+A31BEempaTyJfszh7w6RmPCcS1dus2z9UswWKxaTBbsVZEoRYqkck9FM6+aNSY9/xrO0PDRaNUqpGKvJRGRgEPE5mdisduQCVAzwIi4rD32piUKTA7EM3FUy3m5RjyK9giJDFr5erpQLKsfIxRsZ0qsVXt6BLPr6hynkmo3qovH0JD+7kCo1u5KZH4stPZG0onQUNjEiuQQ3NxUfL9/J6Lfa4KtTkZ1bBCoVMqVAeZ8w7ty/iwMLbTu24vjBY4CIopzSP37Kb9iwYfj6+jJnzpzX0mfOnElKSgobNmz4zYz7M1MmqMr4I7maAi/unaRL17aM/Xg5tvQ7+PuHoAltQJ2GdalSTkugRk3/CZ/w+NZpOjWpx+4DR3FWq/n03W70/PBTgkIjEUQCj05cptvgPlhMJnJLS4h9lgpACVDOX0f/YcMgt4BTl08jR8adR7EA+Ps7k5b2cqdVn+6tWfnVIo6dvciZS7fYvOHH8dBObV5Im0Gf/Nv6qIw/hhepdwgNqPOj9KLiWFycf3q9XGF+IePHjkCtUxAXFY3eaCE9Mw2diwcZualYDaBylpCcWIiHpxaxUoPgMGKzWNCoNRhLDeTlmF7V16RlbZIS07gZlUG/tztSoi8gNekFKo2aoYOHsu2bFWg93LBYXckrLcXPPxAFCrJzYnFRSskszkCNM1qdM6EhodjNYtSuMuxWDVZJKcYSG8F+fvTuUp91O3ZSt35dEp5Hc/38Fa5cv0n9WlXJyDUgx06RyUhJkYBXsI7spHz8Q6sQ5OeGFT13rt5n/frVODu70atXH3acPU3Wk6dUqRhJ69bt2XloDztWb6Jai2o8uvmY5u26cOzALmqUK0+FiJrcfnQVkymfrdsOc+3qReYumMba1auZMXkG+YVZ3I+JxcfJHbVWxbRZM9nwzSaexdym1CJCKjKDA4qNAolJOXh7qWnSuCH3njzBmJeLWKHGyVVLenIGiEGww8De3Tlx9hSVg7zRyhTsOv+Ucf3fZNm2s4zpXhu92YxaIafUYsNssZCcVYqrWkpaRgHubipCvD0pMBnQ6XSsPXAVkDHz06HMXvDD+qZr+9bx5akY4qPO4eLkTm5eHmKJiFKxEqUYDMVFOKw2xLZSZBpXSszFBIa5U1rojGDJIj/biKdOg9VuI6TOW8Tc2IvKyYXCzBQ2fPsNvfr1RSqGgt9BUIl/bYE9e/YwcODAH6X379+fffv2/dOGLFiwAJFIxLhx415Lj46OpkuXLri4uODk5ESDBg1ITv7xotu/ZdmyZZQvXx6VSkVgYCDjx4/HZPrhyzZr1ixEItFr/3x8fP5OjWWU8cdj+IvP3JycDBoHQv+ubXEGPnq3C1u3b2Xh53OoVqMaQW4iEp+nsmfv9zy/cwWtXEdGXiFurgoG9+uHROvP2DETsNvtyJDRrHc7MooKScvLI/ZZKuuXT6dnt/aEeilp2bw5Pq5efLHyWzp17UuHTj348P0hDOjzFmlpxdRv3oKV675h14HTuAeW48GjDGpEBL5md9LDl4uS2/QcRPLT/43QVP/L/JSYAn5WTAFs37OFyOrVSE1KxSh2IJWCV4gvderUwsdNR05+Cc2bt6Ntq+YopXJ8nLXIHXa8dR5g05OXY6JG5XKEhXjz/vAhSAUpUrGCNxpEcOHIMfJTnpL1IpOW1Soy/aOpSCV27t6IpmG1iqRHP+TOmSMkx15AJrZRlJOHC0pw6Cnn68uzezeJS3hAhfBquIcEsX/DFo7v2cE3y7/gjTd7oTA7GD/8U9ISXuDu4cec2QtJzyuiXOUg8kqNhIdXIqJOPbz8IqhctSZqFwv12nZAJXNmyJjBbN9zgodPogBQJGfTb8hY3L0VNO/SnjOHz6L2cEYmUVK1el0+Gj6cJYu/YslXqxk+ZjjfrtuM1WTi1PfH+XDUEI4ducxXyxayYcd+OrTtQFJcNnpjIRNmzOLq6ePU6tAEL3c39PoicvKKyS80Ehbsz3ffbcFmNdKmXjNKsvOQi+QYikvISMlg8cypeLto+GbdWi7fusmLZD1HrkSz6/zLKdJl284y/f23mbB0G0OHDqdchepsOPoIk9HGG1VCKefvyb2kAk4/SOfbkw/ZezGOtQduATJGD+nNlE9/mFKOrFGBqbvv8OzpeRxyMSWGfBQqDYFhEThpJIjEYspVe4PIsCASYxPJyUrDYXSQnWImJ/0ZKHxp228Y5w5fxsm/CtNHDcUhsiMyFGJDoO/AQfi5+2C323+7B/5v+NXuYVQqFVeuXKFcude/HFeuXEGp/OcWJN++fZu1a9dSrVq119Lj4+Np0qQJQ4cOZfbs2bi4uBAdHf1329m+fTuffPIJGzZsoFGjRsTExDB48GAAli5d+uq8ypUrc+bMmVfHEsn/n3Ipo4w/F5q/xGn19PTl5v1niC2F1K3fgMoVQ4lKhoLUW+xev4JVK9cwZVw/zBIdjeo3Q+ESyqUjK0lJ1rN91y6+27YBhUaN3SwQGhnOZ599Ru16DcjOSicywh+L1cbufYe41esxKcnJXL9xg23frsQslREREk5+kZ7inCwmTPoEibGArevWsGr5Ynp1786Nm2dRSUTUbnSKp1FXebNlN/Tp94iLi+fNHoMJquT7x3ZiGX9KDLnpnLt8jfatWmHVW7jz8Cp7DpynZoPK4IAKEb7ovHUc3H+WmrVDkToHUbdafXKSEwjzCyQsyB1PH19u7bpAy/5tefwwmRJbPhXCKzB2ZD88QsozeuworEo3AN4fPoYGLWuSkZHLiOG9OXryHIgEFMh4mpAEwLixo7h8+RxKlRoffx/yC5K5c+k8zJ4CwOw5H3L5yFmadmkEwP4Dl6lSLgCsNsJ8/Yh/FofUDmlx8VhVTri7STAZxIhkcPy7b1m36RB56c+Z/2g5t57c4vSJq5y4cYnyzdsxb84ahg/pT9SD+3St3w2RzUjnLm8AEOwmw2a2s//gSsLCqrNr72ka1KlIRmYOPj5ujBjUkwF929Kp6xA2bFyEpdTOutWruHz+JM4qV8y2EqpWr0VxYT5NGnXk6sWjvDdkEK0H9CYHO43qNaXUVEB0SiINatUnOSsfh0TKJ+PGkpZV+pc7Jn/t/s1Z8x0AISEVadwjixUTerLvShxffDOLrz5dwlZvd8RyASdXF+Iev3hV7uuNu1+rx1nryfnvvqFKg9oYisyY9UZcfHQ8eBKDq1KOi8hOwp1TmCyFhFSIIDCiChnpL7j+6AbVQmsidpRy+dIxPBd8islWRP8B7XHWaFEolaAvQqtSklWUAyLHb/sA/4VfPeW3cOFCZs2axbBhw2jQoAHwcg3Vhg0bmDFjBp988uuG9PV6PbVq1WLVqlXMnTuXGjVqsGzZMgD69OmDTCZj69atv7i+0aNHEx0dzdmzP3hGnThxIrdu3eLy5Ze/lGfNmsXBgwd58ODBr7L1bymb8ivj12Pkn4le/3PExzwlPLISq1YsxdvPj7gMPZNHv+4LbuqoScxb+TmNGlfCT+3C3tPXWTBtLMfPnKZ7l7Y8uP+cB3fvIVUqKDAY8Qnwwwlo2qYNh78/hMbFHbFMTKnexLVrLwPurly7mvnzp1GjanUy0rJBgLzcZAqLDfgF+BEUHI5Vn0ebVi1xcvZk1LjpABQl3aHUKsI3ovZv1gdl/Pcwc+anzJ69AENeImn301lybDkZLzLYvu4wbdo1wW62UGQuRuqswpJRTLG9lHCfEGxuInQlcrJEedy7lczsjetIiUkkJ/o+4cHeXH94k+b1W7F393ZUKjmPn6ZTt0VVSktsWGwlyCxqfIJ8SU1IQyR3UCGsGqkFefQaPoWMjFj83bTkvIhm3qwZTJw4lKHvfsKCz6dg0wsMHTeYMaNHItikCFYYOXo48xd8iURkoXr9arRr25N7D55w5/IFTCYLIkRUrl4D39AaPL17hb1nz7NxzWKmjJrAp1OnMHRoH46fukj77v0pF+iOmJeONfP1iei0XsAPMfIynz7Bp1Jl/DxlOERiVqzcxspV85j1yWLeGdSNtEwD8Y9jqd8wEocE2nfryvWzZ7HYjYRHRPL8eSzTxr7Plj37iHmRic7TmY8/mszB/Qe4e/M+IMHqsHLy4AEe37/Gex8temnL87McPXiUAZOX/M3dK6T/oKFcvHgVqUaBUuyM0eFArJTiJJKTazXhq/PGbMhi9JAxvP+X4Mv/n+HD+7B27S4+mjSS3QcvYxfsGE0l6Fw0+AfWRZ/5iEJTKXKJHBdvT14k5qByUWPKz0EqAqWzCmf3APKz87A7rCgcFiLKBaG3mXD3qMytK4cwlZYik0BORvEfv4YKYPfu3Sxfvpzo6Je7KCpWrMjYsWPp3bv3rzZg0KBB6HQ6li5dSosWLV4JKofDgYuLC5MmTeLKlSvcv3+f0NBQPv30U7p16/az9e3atYsRI0Zw6tQp6tWrR0JCAh07dmTQoEGvxN6sWbNYvHgxLi4uKBQK6tevz/z58wkLC/vZes1mM2az+dVxcXExgYGBv6ugys4vxUv34yCTZfxvk5ZlxN/7lwmz3VtW0HvghwSG6tBKnQkO9uXRwyhq1g6nQoV65KSmcfjseVYuXUxubj79Bg1i/qy5pMZF8zA1l/SMFyjlKhrUr0dcTDQ3Llym33ujSHj2gKT0NGQyCWaTHV9vZ9xUWtx9/PHw9KLUqmfR8uVkPX5CSUkhW/fuRWmzs/ngxZ+19drJPTRqWxYL8H+XNMCfzUsWE58dT82a9ej+9rvsPrqFBTMXYTEaqFkjnLTkAp7GRqPSKEiML6RmlUA+HDubBTMmsn7zEZq1aUzzN2uRmpBO+w7t6NqoAa3fGUGlyjXo3q4lWUIhTx48AoMdpRsUZokwWwto0qI5cdGxNKxVneY9OuDv6kXlCvVfs/B+ooGaIT/2Hi5gYODgHuRmFHL85A0GjX6HMf0+wLdCBH66lyFbIkI9CA6JpNeA4Xy3ZzeNG9Rh7szP/mGvzJn2DtPnbn91/OLJcx4/PYtCpmbZ8s+59+g5CA40clfe7tqBDft2EBEeztWbcQCs/eRthi/87u+2cfP7rXy5ZTW7912ia7d2WLIKeZSVzoo503nrnZF/t2yXfsN5cvcUMoUMmyDHSeeBJrAGInM64hIbRkcepnwrQb5qYjIKEexytBIz7k5yzpy/8ZN1Nu1Qn6TYXBRiMcVGO3KtBoejhEB/H8wlZoz6EqrUrE6dJg34dtUaVC6eCEYDCo0H9Tp35dqRQ+SlJKB1VSCyq1E7q7EYTVisdgrzslAqICUh488hqH4JO3fupEuXLmg0P++6fteuXcybN4/bt2+jVCpfE1SZmZn4+vqiVquZO3cuLVu25MSJE0yZMoXz58/TvHnzn613xYoVTJw4EUEQsNlsjBw5klWrVr3KP378OKWlpURGRpKVlcXcuXN59uwZT548wd3d/SfrnDVr1mu7Hf9K2QhVGX9W4k/vZcXqLzEKFizFFqLTsskrtuHqI6Nn7wGIBS0yIZsz5x8T5OdDnfqNOXzmLPHxcZhyM0GrolmThpy+cJkGtety794tyoVVxmzOIzElF31BITo3DcHlIyhMzyYqIQGbFcRicNHKMduhf7+BfLXiW+bOnsCRw0ewG/QIShUSqYhWzRpTKbICcrWSRm+Nwl8j/8cXVcb/BMkP7xBU/eVarBWr52EsKmbSJ4vY+O08ur/3Dq6EvDq3U4NqRKclI9NoQCTCWavk1u04wkJdcfXQcO92GiNHvcOdeze5fT3utXZKY5Lo+9FAvj/080L/15CVF0OXtu0YOmISxZkPKCrQEF47gMH9xnPt/h0a1fzp9WX/CAuQ9PQ+p0+fJ780nfEfjkSjfenAdO6nI3n04jYZKUVIzGIu3Hn+q+p+Z0BP7t56gKDRIbJasFgs6A1mrLZ81DKBkKAKbFw5h8garV+V2bhlDUF1mjL+3QHY7FJ6du/MwTPP0DoVYEUCxQ4Cy3mg1AukGPQYDCUo7VbS9MW4C2YkVivlq4Szbfuxn7QptELISz9dMhVGgxG5Qo5cLkJfbKTJm+2If36PwhIL8Q8fU7VZc+QiB3JtOFq1QLExC1uRCVe1Byb0OKRaxOJSTMV6KvqHce72FRQOO4kJif85gsrZ2ZkHDx787KhPSkoKderU4dSpU1Sv/tKB3N8KqvT0dPz9/enbty87dux4Ve6vIm3nzh/vIgK4cOECffr0Ye7cudSvX5+4uDjGjh3Le++9x/Tp03+yjMFgIDw8nEmTJjFhwoSfPOePGKH6OWz8E4vfyvivZdWi6Xwwec7P5BbS8Y3OpCQ9xCLYyC4EJycldeo14eb1K/Ts0oH7V6+RmZeHSSzi3cEDCfL1Z/K0WeicvLGIDVhNVgKC3YmJTSM4NIyMjExEYjGVylVCoZYTHx+P0WTGy1VJVm4RZqsFk0FPlw6dcQ8IZ+emVShVCkIDfcnIKsTiMBLgE0it6jWQOHviqlTRsmlDmrZuy88FOC3jfw9H8Qs27dlBnbq10Qg+PI67Sbce77/Kf5qXw9R3u3Dg++uMHfsuWan5pCbH88mYUazcspbePbuw9uv1XH+cQoM6QUz4aDq9+7w+1VShig8tGjelfbuuZCen8N7Y9wCPf9rmM2f2ERVbSr0GgZT3rI57gNurvHlfrmfqxF8Tnu2lO5Uln32IwknMvl3fc+bmBfRpFgosakZ/0InyFYL4YumhX2Vjg3rhhIWWxyQ14aatx/I1C6nRsDYymTtSw8upspK8XLDZsQoliKVS0lOKf1TP+egoZn30CRZnF2qH1eJR8j3EghdSUykmixk3nxBKixMpKMilODcHmVCKVqPBXa4kOb+Yp/fvgc1AjSZ1eXDj9XBZ7oE+KLBhEwS0LjpuPYqhTYPq3Lv9CAD/csE4e3gRff02xYAz0GnwSLw9vFGTx4ovVrD0i9Vcf/qI6tUqkZicwNMXsWC0kp+WhNFmIenZi/8cQeXk5MTDhw9/VlAdPHiQ7t27v7YY3G63IxKJEIvFGAwGtFotM2fOZNq0aa/OmTx5MleuXOHq1Z8OBtu0aVMaNGjA4sWLX6Vt27aN4cOHo9frEYt/emNj69atiYiIYPXq1b/o+v6INVRGQUD1Cx2slvG/iSn+Hko/X8YM7oNgNZKWXUBibj73nuX9bJm75w9Su2U3xr/fi0MnzyNIJCTEZ3HtwTUaVKhISMWKJL946btm7Y4dfDZ1PFq1E8ZSG3KlldISE2KxDbXalaycVCpE1kQqhucvotGKpCicnFj4+WJK8kqROIvp12PIq7bnTBtNWL2eZCfcY/y4n/4xU8Z/B+kZevx8tf/4xDJ+RIdmFencqzcjP5xNk1ohXLmXCLYMkP6yTR5x8c/5dPJYHjx6jn+oH0E1W7Fl4Wxa9vuAmhUDOXfwAF26d2f9ptUIRhM2iRRnrQy7w4rcDnduPKdJ02oUmIpo2LAdD1/EM2LiF1w8t5WCwmJENlf8a/ihccjJyHNBp05GYpSTU5BMelwcxuJ89q/dSueRE1DJJYjVJooT8hGczHy1bDsJKcl80L8LUomKcpVCMRj0mCwWLFYHGic5i6bNYeqsGaSl5LJx20bmLp5D/MMEOr8/Ba1cys4VnzH2801EP7xC9crlcdFFUGIzc/P8MYYP7MvK5V9j1WeQbyxBLVNgsRt5/ijhv0dQlZSUkJSU9FrakCFDqFChApMnT6ZKlSo0atSI8PDw1xald+/eHZVK9dqo1d9Su3ZtWrVqxaJFi16l7dy5k3fffRe9Xv+Tu/nMZjPh4eEMHz6cGTNm/KLr+yMXpWfkF5Dw9DGNmzR7Lf34oc207/LTASPL+EdYePmL8LdbNP5HsGXNEiLCI8lPzySvNB8PJw8uPX3E2SvP8fVwwySRIBGb6N77Xd5/qz0hQT707d8FR46Ab6Q3bl5e3L1zm8pVa+OtlNFt4MtwMc3aNGNUvwF06tOVRo2aIhM7qFClKk1bNuDiiXMkpmZz7fINRo8eyZHTx/hg1HC+27iL7JwcfHx9ebdHWw6fuYpK445WbqZmuWr41WpMozAlAbU6/YOrKqOMf441a7/g/eEf/dFm/CpuHNlJg059f0i4th4aDaVd03Dcg/3Yvu3yL6pn6uSPcSoXwTfzZqHzCELnFYBPBX98g6vj4RlBTGIsxbGPKS5JRecUzrUbR1DKRHj6qikuNtKxYVVu3UskLjkJg6GU744eZ/i7A7l2+g6NmjREopBRrs37JN85ic2Sj5PKDYfGE28fcBTlIxaU2I1WcgwG9GYTjdv04/rR9YSEepL4PAWR1IaxqAS72YRIJkKQSkmOSSXTkMmgt4cjlhm5c+U2E6fM4uvlczFabCBIqFC9IfaiTEJqNCPu6Q10nm64yFxwCquMCDX+3l6ovNR82qc7C1bO5NNRry/VGTN+HtHpMZzZveW/R1D9FH875Qdw4MAB3n77bVauXPlqDdW4ceO4cOECTZo0AWDgwIH4+/u/8tA+a9YslixZwtq1a19N+Y0cOZLatWvz3XcvF+Z99NFHdO7cmaCgILKzs5k7dy4XL17k8ePHBAcH/yJby3b5lfGfwOZde9m97wxf7fmGe1FpfPPZJ5zdvZU6LZpgMhZiKDRhNpeSnpgOwLyPR5CVm02X1m1o1W/Ey0oK41iwYC4rdh7B7nCg1Tpht1vRlxrQypXIVQq2rd7KgJFDEYul5BTmgCBBLhIRGepNdo4BqVpFs9r1mbJyHn5ygDK/b2WU8feIu7mfiPpvvZZ278xGarUa8jMlXrJkxVQ2r9+DBQcSZFSuUY8XqS+Qi0S0adqAGTMW0X3gOPpMW8aJgydZM6ktiRm5xCdFMWnEp0hdnNGK7NStFsyhK1EoBT06dyVPnsWzcvq3rNy+iG0bD9OwXT0EwYFSqUaKE0HBAWTlJKMQK3BI5ERWbYJeX4RMU0x6XCFWYx5D+rQnKCCA7fvOcu3mA6QyCwrBSqWaYVy99ICctHwAer7dmUuXrjBq2Ed8vXEpbjIFepEZsSBGQCDqTjQmdyd8UdDszSZ4eXlhMJtQaF2Z8skMggIr0KVHZ7Bb2bpuK/efXKJPpx6Mn78Cu72EvIRYdmza9L8lqAA2bNjAggULSE1NpXz58syePZuuXbu+ViYkJIRNmzYBYLPZmDdvHlu3biUtLQ1PT086d+7MvHnzcHV1BV66Y7h06RK5ubl4enrSoEED5syZQ6VKr8ek+nuUCaoy/lgsgJwj25bTqf/YnzyjU9fO1GvYEG//MN4f0OdH+WEVgrHYbViKbciVIs5cuoybI4MZM77g0b0okDq4/jDxJ+tu36YRIqmaDwcMpX3fvixZvYGe7brRtH0N3FxdiajZiaykdC4f28THM6fhVxTFnpvpVG09hE6detO53l82f5RkUaKS4STV/Ub9UkYZ/zt8v2UpXQeOp3PvPuQXZTBrwRfM/vgzDLnPsAlgt1txcnEhI6sEH18/rCYR9+9cpkGLtniGliPt7g1qtmmFsyaU4JBgdD5qVnz+GS5KB1jcSc26T35mETKNA4NFwMfDC5vdRNd2ndmz7yAWwYTEJmCTiZHJFTi5emCx2ilfsRLBdQfjZHnIhaNXmD57NKcuRZOYmIze7CA7IwlfrZGnKalIzaUYCw0oXTRIzEYsNgfpqVn4BLihksvQuHmRl5GKWCxFIpXiFexHSnwqEhF4ePshk4sRCVJq1apDRnEJXdv34tDp75g4YhTN67/0Ebb59A2eJhh4fOswx9Yvo17Tety+cvu/W1D9J1EmqMr4T2HWmsOc2buCK6dPARAREYjN4UAikiBRidG6emE1qzFkp/DBtLHEXznF0+eJODtpMZvFtG1XhypVavHV58toXq8Gk5ZsAqBps+aEVqhE9NOHZGYmo9TIMRlMdGj3Nmu+XsqIqbOxCa7UqVqeN5uGsGTOdN6sEEjPsXNBXOYOpIwy/hV6D+vK7nXfYwPqN6yDQi7m3cEjGTbk5QhWr949eRx1GycXF25ff0Sbvt0oLLBS3lvH1s1b6fz2+5jspQwZ/DZJem/S07KIvb2XQB3079eC0R8sR+0p5+bZmzh7uvHR6E+JfnKbUxdPk5dVSMUG1XCSSCjMKUSicaW4OBeRREOFyGDqN2rJk5h0nKVF1Gxcl/OXH1KtThWuP0zBmnCfk7v2k5hnI+rWGfafPsv9B6cpLjGgQoJdsFOrXiiXzseSm52Pi6cL3dp34OLli7h6eaFUqggMCSA/L5sWTdtw9fJFnN10eLn7UWjOY0Cv4UyZM4mJY8fSr1tvZm44QUZGCsb0J3w8dhT3b18jLiGBuTM+++NDz/xSgoODkclkv1f1ZfxCbl8vC/Xxv8rKk7cY9MEoNMWPuHL6FJ3bNqR8ZAi16zYEkRx3fx/EeNC0fj0KijJRerhxevt6VC5uhIaXp1b9RrjoPNm8+RgjJ8ynVOWPrnpDlq5Yhn/5UErtJVy6dJK8/EwEuwylMgCpWMnp88d5FPUEZ5kDV/MzrKkXmPDBJFav2YNfvc5lYqqMMn4BUU8e/WzelZg4Rkx96WV8/62nfDDmI65dvEVxYR6zpkxm7hdfEVazMd2Hz8dJ40HD5s0x5UKIhx8hVeuy+VIGh79bw+TZsynIzCXu0h6GtqvAiV3readnH6qW68DjR/e5efYm740ajZ9OxeoNi2jc8A3kEisb925HsNio3KwrYq0Sq8GAXKrCLbAcqZnZXLl6k7yMFPKKLZy9/phifQlBSjGtfHSolGLa9+jMiJGdOHf1JDs3r2XWwg3IHGK+XrGGxBfZ9B49EZvdgrNOjmAzceTUUbZs2oG7nxP5ej0vHkXh5e5Ns7oNSM3IIj0tlet37xObkMPhq+do3mkUj/MUjF97iHyLheL8LHQ+OqpFluPSoxQuPvj74ev+WX43QRUVFUVgYOA/PrGM35W6DVv+0SaU8W/kwN5tRBvgqw3reXr2MvmJydy895gBvbsS7OXH/HnT0ThLqNvqPWQaPzRuKi6dO0egqxxPhREXrQvp6Vk8eHiPr1avIyXuEUbEuPv7023QSDbtvMDeSxfx9Qmh1CIHwQk7MlJfvMCGFrtcgatLCEdPfY/CrQInLlxn78lziLVq+vTvx6OnL33kpBtMnD2yC4CLj1P+yC4ro4w/JQEVfgjFZvt/eU0iI3gj9KWLkah7Dzl74woAE8Z/xKz5i5j20RgseQnE3dmHw2ElzMcdraczAmZinyeR+fzlLvknF6O5dPUGn00cR43KEYAEh8qZo4/ymb/iGNduP6ZO7bqEl6+L1WSk5RuVeaPtG8z8ZCaN6zShSqUIigsLMYksODkr0Dpy0bm4g3MQx78/gGeQJ1kxj6gVIEKhkOEd6MHJw6dx96uCq19Nrj2J54ulJ9m7eT2tOw7ASfty09j04RNRKNVIJFKUWiVPbiRw+lYKMU+zcFPLCS7vT3JSHJaiLKLuPqR8hUpIhBKcNGqkYtAaC2lTsya9qoWxYkQXdn05jYzUAqo3b0vy8/tMGjngd7lnv2jKz83NDdEv3K6fn5//Lxv1n0DZlF8Zfxbu3r8L2bnUbtv2VdrG745gL0hm2NDBIBSwdMV37Dt1CUNJHjqdH8XFyViK9fj5uXDjZhRyiYTKlWsT5iFDpBBTXJTPg8eJlNgtKJy0qFVeKNQaalSvTq+3B9K+aU1adGnPhUPHufMCZs4cx8Ety2jf8y3O7N3P00IH7rZCWndvR4MaNQkMKE/bTiO4enIpRfZQ2tWw0qB12Y7UMsr4V5m6dh/zhvf4ybz1mz+npEBBRqmIhjX9CPcLpmr1uq/y5609TDnfAnp3Hsjuc/dJSH5Ah9Y92bbjCHF3N+GiFKNQO/M4Op6rJ28RUTmYj6eOY8myldhsdjSaYLy9vFDKrGS8SCKwbkfEhueIFFrsEi15+QU0qRFORno+L1Ky8AgMxbNifTr070H0o1xSn15CUmAn4d4mYhKe03/IKDYs+4z4hAIAPvlwDhv3L+Ozr5fxfqcBNGnfAjcPKVZREM/vnEEsdhAeUQEUEjp2GsGZU9/jUb4BVaqGM7FnaxKLcghx8fxRv/xe7+9fJKg2b978iyscNOh/449kmaAq489AIRB99S51GtdGBjxLNRAUoOHWjRhKs5+SlpqM3K5h/e7NiJQK5CIH/fq3YevaPTx4Eo/JYkIqFyEVS5DJpLSsHMGJB8/o2/kNSnPySMzOw8czkCeFZtrVrMTFqEc4pAqkehNVm7/F1UvfU84vnAW7NnF+1xFGD+zEsxL4cFA3jGYJwcERCKYsdK7uRJaPZO/hfTSOjGTBkq//4J77adKjz+NX8fVR3ZL7p3Cq2ea1tKRnJwiu0O7faVoZZXD6WSKtK4S8Oj6UYOLGoR3MH/fuz5aZP2sCBaZSnF386PHWEALLB+L0N/nzVu7GM7QmCc+us3DCQADWrP8SQ9EL9LlG7tx/xKHjtzlyYgeTx47lyfMcyjesQXFaDi4eTpRYFKglDjx0nrzVpSs6b28u341GohSRGvWIilUjcAl9k/5D23LmeCLXbx2haZVKJD45QbWqddizaztTPh3PibMxTJk4nNT8FE4dP81HE0aQn2UB4KkpmeUjx3H29k0sejEmqxG5XIZYKkYl1+Dj549W40m+XYKnTyAShwHPoAjatWhA7OOn1GlZn+93bGb6vGl8/NEiPEPC+eLDYf85i9L/2ykTVGX8GTAaTKg0SlJTC7h4+SreThpadfpBEHy1dCGd2nagReum6FxccPLy5MWzWDRaBSI7SGUS8opNVAr0wts9GI2ziN6d27Pz6EWqVAlF0Odw8HIS7u4u1Arw5HZsMj4aKWefRmOxORCJJchlUhyI0OkCcZKbEMvUSNSeBEeEUjGsKidPb0XmUGK0lTJ8YD/O7N/Fuu+O/wG9ZQKUr6WkJd7CP6Qeu9cuRu+w8+6IT8h7cZdJn37C54sWceX0RbYc2Mq+o/delWnSKJIvFsynQfOeP1TkyADxL3OyWEYZvyUTZn7OktmTfpReUgJOTj9R4Bdw/dwODIUGknLN7N67CXuJGdwUeLoEMveLr+nWvi1SAdLz8lA6qdG6uaMvTsHXPRi51ItDZw4x7aNJVKzqTXauAZMsmMTEpwQp7Cg1AjOnf45ULKHrWz2Je5GMSK7EVWUn0NOPW3cuElyxGvdvXqIgz8KsLyZy9NglYh49ou+QiRw5vBmMYhyCCbFMgVYuQaV0xSEVcHXR0LhZc+bPWMjUmTORK0TMnDILgJmrtqMUbDTp2ZMnNx8zsmvDP5egMhqNWK3W19L+V8RFmaAq48/A3r0H6dmz28sDfSpoAwC4e/IIBouBwyf3o3N24eiR04RGhPDoeRxuMikisY3sYjN1azfj7pMH+PkEI3aI0OjcuXD5AoP6diM9MZnaVT1ZvvMeWhctwR5a0pPScHaT4qFUY7QYEInVWGVyenVrh9zJn1Ub9uLmLKNxs+bcfnCdkpwc3HWuiB026tephYtOw+B3hvMk6ikP7l2lZt1qKC1GKtZ6E5T/5F//f8DkWR8w9r2JXDx1EInZRFiEO2KZGyq1PydO7mP8tKX07NwMT3cdT2Mf89XnS6neuAsANy6dYt3qr1m38xC1q3px93E23m4vR/Rq1KnC0ZMPABgzoBNfbT1CSU4yTuJScK/wu1xLGWX8llxMKKV52E9vEil+fJKUHAu93xuAyWJi9pLtzJv2AdHPX3D27jPGDx1EQamBcgF+JGaUYi9MQ+kiJqx8TeRqb9zcZbgobCz/cgOfzlpAaKCNoUM/RYKUDz+di9bNk7gnN8nMKyArJQVPjYiAIF8ePnlAalIGSG0Mfn8wXy/YCEBIuCd2q4wSfRFyqRyVmwaxzUr1yuWoVj6Ui7cTad2xA5UreFOvaVfunI+ia/fmtOnSmm6du/DBex/+cG1/5JTf32IwGJg8eTK7d+8mL+/H4SzsdvtvZtyfmTJB9e/CCpTtFv01mDOSWLN9K2M+mkabN5uSnZeNXKlFp9Xh5u5OpUqRXLx6GZvFhItCjHNoVa5dvk5YWAhx0fcpKSnE4RDT9o0mHDtzA5FYTNUQD5xlSqIzcqkSoCM+sxAnpRKNlw9eGi2Xn0YxdOA4Tl88gslUik6rRKtVY9IX0aVzX1p3asG7A/qyfNUuLp09yLhxn76yV5+fhVbn/bv0xaQpY7Bkp1O3fhMsJgkONw3G3IfUqN6KJi07AzCsX0s03q7s2vI9IrtA01b1mP3JZ/To043oOCMVI93o0LIV+48colmT1mz+7giTJo2kYvlK7N+zhcMnblOtoh/169Tj260Hf5frKOM/i1QbBPybAq4W52bi7PHrHeXefJJP/co/+H9LSziKf1hHANLjzzJx0jQS4hMxl1rYvv4bKjdtw+I5c/l4+mL6DngHd29vPP11qAUxZ0+dwGAoxds3knmfT+fyxesMG/RyGnLhqvXUCAumXbtWHLpyi1PHzxGVHEtpVh63Tu2j99sdMZXYiEtNQSTWYzM76N6uLbsOHCSsUkXOHbsOQJ9hA7l35y4tG9QhtyCduNgYJGINQomVKg0iWbt0GSpdOR5fP03Vhq2JibpGZJVGZNrBXfLDW6QIMBYX4/tnEFSjRo3i/PnzfPbZZwwcOJCVK1eSlpbGmjVrWLhwIe+8885vZtyfmTJBVcafla2btuCsEOjadxA2AcaOHsNHIyfwzofvUZCbhESiwCEROHHkJKMmfkJ4ZA2uXb6EVuZAbM6lUTV/5Cov7Hb4ess+7CIRiKS4umuRC1a0cjXFxQYMNgkyVxX+Xr6UKxdCanIacmcnMp4/5Prp8xRLLHwydgIlhnyqNanJleP3yMtJo1vPzig1gXi5uFKU9oAPJk5BolDwMsTpv07inT0Ul2ZSrdmHPDq9n2qt32TC6A8IcFGQkF2IydmbG8eOk5GShL+PK7kFenoOGEhwWCDf7/yOSlUrsuSLxaidwwH4ePwwDh3ci9bTndioBFZ9+w2zZ00hNvblD8ounWtw714CQf7enDh6GmfPEAC2fP0JA4dMAs0PL60Ll47QollZqJ0/ki++7MtHE3f+0Wb8V9Ct9xvgkJGXm035yOqsW7vpVd7mLavoOvADPhg+gtxcAzhrkJlKMRoyaFgjnHlzvqFvjzdQOruRmRbH8/gXJMSmgdiJ7zYs5u13P/5Re4NH9SDt7jPMWikJz+LxdHFlwfxFtOv6Y91hMGWgUf4wDV9QFIObSyTwJxqhCgoKYsuWLbRo0QJnZ2fu3btHREQEW7duZefOnRw7duw3M+7PTJmgKuPPzJaN20lPTyM1I56vv/6GVStWUbt6JPWbtQagYv1GtHyzI2dPHqXlG625dvYgRQUFhHu5kl1cQq7eRKBOh6tOzZ24NBQOGX36dUNl1bPp8DkkDjGB5UPxVqhROqt49PwF7kolpzYdRKU2g89PryfatftrjEYTQwa9Hl9tw6rpvPvBnJ+9HktpBnL131+jtHT9LsYP/bFH+BXzZ+Lt7UF0Xin2gliyYjO49vAuaictNquVkpISivRFFBscyOwgkoKbs4pq1etw6OQlGtYMIzE5DZvDwY2LD7hz/wzTZs9jx7INtBnQBaVCTuOm9dm77yLVKngxYexEtu7agL7UhreLO4fO3ALg67VfMnr4xL97Df9ZFAKuf7ANf5/E5+fY/e0uJn2x9o825Xfn+v0rNKzZ5J8u/9XUiYyZ9+XfPWfKJ6Pw0gVRv+MYGlZ+Gff05LnzNHijJS7A0hVLiM4toU6T0Qxv7c7Urw/wxtvduXRgG46s68yZvvJlRfZckHgA0HfIcF7EXyc1uYAQNzVJWZlYlb4Y82L4aNLHTJ/6+av2J08ayKLPt/yq64q1C5STvO6l4Pd6f/9qP1T5+fmEhoYCL9dL/dVNQpMmTbh06dJvZlgZZZTxz3EjKoeBQ96hZ+c3qV+jMiCiXcfufDhjEQ0a1aNu0zq4KJRcOLANc14m90/tIFgjIthNSXpeHvmlBuqV86JOJU9UTu4oJTKQiNhz6CAPYl7g4azGTefM9RNnqFk7ErHSG++AQCx2O6ow3c+KKYA+vUf/SEwBVA6v89rxyMFdeXDrEmCnXt0IWr3Rhstn9zFq8I9Hd+JTktm0bgUje9b/yTY/nDKbsCpu3Lh0hLOX7pKYl0vTLj3JKy5m1ZadHD12CicvFxxWGD7qfbROKgJ9gqnVqB5Dur3B9fuxLFo8j0o1Itm0ZyN6k4jcvFx6jh6ISq1GLpFTvnxlQgJcqVOlLp9+NpX4+Bw83INeiambN6+SFvvbOBPMi7n2l0+W36S+X8vGE1/z1aShJNw+/G9pb9vX02hcN5ivVozn3q0zAOS9uP3aOXZLGgCXzn//Ku2zKQO5ffUWW77//6NRJdw4u/93tfmP4F8RUwBj5n3JrZOrsMRc49qJNa/lXTq7CYC6Dd4kPr+Y3Ng9r/JMrsHsP/6QxZtOUfXDCXw8eybDW7tz6BnMG92dq5evok9MYmyfl76fVq5azfi5axk+4RM69e9Lzbq+WI0GAn21VAoLY+gHIyktikEmFzN96ufUrflSb9Rq3IC9B05Qo3owN2Kzeee9937Rdf1/MfW7IvxKqlatKly4cEEQBEFo3bq1MHHiREEQBGH58uWCv7//r63uP5aioiIBEIqKiv5oU8oo42dJzjAIBcUvP2/evFpYs3qVIAiCcPrCY+Gtdi2EutUihJo1qwsubhpB464RXDycBK1OIwQH6IQeb9YVdH4BwocjeghBEaGCf2iIEBYRLFSsECHUqFtNaFinjtCy+zChbsM3hOkzZwgD3hssXLx88R/atHPrCmHLt8uEQe8NElq3aipMmTBWqBDsLjSsESFcOX9IEARB+HBETyE9MUrYsukLIdTPWXhvaDdhxaIZwtzPxgpjhvcRliycIYwa9Z7wweiP/6l+OXloz6vPxw/vEyJDfYQdG9cIOjeFYEhMEPz83AQXV4QDq5e9Vs7w4r7QtWljoX2LpkKFCoFCg3oVBR9vteCilgpV6tQVwsoHC2ERFYTGDWsKE8d/LKQ8ufeq7LcbFwrLP58unDnxnXDt4iEht+DZ37Xxmy8mvJ5gevH6sTFVGNyh3mtJUyf0+uHAkfaPO+JXsGLqoB+l3Ti5TRAEqyAIgrBvyxe/aXuCIAhv1A8TurarLgT5yQRPNwRB0AvBfmKhfp3AV+cU58cIkwa1EQR73N+UtAubFkwWBEEQHjw8L7zRopIwYmCnX9Ci/je1/9/JgxTT71p/t86NX33u2q2j8PaAt4Vly376np84c1yYvm6FsPlKtHDqsUl476O5wruTZghzVy5+dc7+M1uF997tLgwY0FeILB8q9B/8hlCpnLcQWcFLeLNtDcHVHcHbQyGYzflCWKSXsHLVD20tmDZWaNQ4XBjYr/3P2rv//NWfzfu93t+/espv6dKlSCQSxowZw/nz5+nYsSN2ux2bzcaSJUsYO/anA7X+t1E25VfGn4WM7FxkpZlcu/uELj3e/slzvlq+muu3b+HjriYzLQ2xqYDMzBxK7TaepmWgVMkRO8SIHQIKiRi7XcAuViORiQgICiY3PYWW1cLYfzMam82MwyZieLfW7LtwjyYtW3Dv3m3kIikeOieKDQW0btaYz+Z/9XftnjS2Nycv3Kdt47ocP3OWpKwcLp28ytjxg1EpnWneugU3rl/nSVQ0JSUl+Pr5kZOTQ+V6lWhYsQE79uyifEgwR87e+Yd9lBIfQ2B45KvjIQM7cfXKDQICfTh3MYrbt87To+tbJGcU8MHbLfH08MLhgEYNGtB+0HgAru7awbfHD3Hu3DmkUgUOsYCh1IDDLqCQS+nQvBlZBaUMfb873bq+/1r7LZrVoN9bfSk0ZTDpk2UAREZ4EOjvz9mLD1+dN27sICKCgzA67Dx7+ACz0UywlwvzVv1lRMWRBmJ/wAh2K0icmTHpXeRSDUcO7sPZVcmpawk/uv5Th3bTpkvvf9hP/58j65bQadiEv0kRgNd/8Uf6K6hYtyHRD+5x5c5tvDzK/+L6s4vjeXb+NM26juDirm9o3mcEDy99z50791mx4Wuex+Xh5ynHLhYIcnPm0oNcLl86xsj3+hH1vPBn692/dzkzps4h6nkuxVm36d79bWbOmYk+t5CYgjzGjfiMccO7Ef8ijtWr1vLlV4uxmwS++vYgkA/8rwfrfgpU+lHqJ+MHoFKoKDGWMmzcfCz5ep4rK9Gr8i+vedncCYybtoQJU2eQlxyFobiY+1EPENuk2BwltOnYm++/38qbb7Zl+7ajABhNKaiUgbRo3QirQwVWPYGV6rLrm5f+7I4c+55qHboS9Att+N3e3/+qIktKShL27dsnPHjw4F+Xd/9BlI1QlfFHcufkd4IgCMLdG2cEQRCE3CLLq7yELPurz9PnfiEcOHFBGDL8A+Gd3m8J+zesEIJDwgQ3H51QoWKQ4OruJNSqVVnQebkITp7Ogou3i6DzdBeqVgwX3mhcVejdpanwRtNaQpN6VYRu3ZsIo/p3EGpUjhTqVK8o6Pw8hDo1KgvlK0YIXgG+gs7bVfD00QmhYYFCSJC7EBjoJgQF6YSQQBehYaVAoVyIl+Dn7yy4e2mF0HIBgiAIwoQPPhSaN6spfDCqv9CmXROhbt1IYdW8hULnXs2F8sE6QaVCUCoQVGoEtfrl/y5ucsHDTS5sWLFAWLX4U6Fr87pC+fI+Qq0a5YRO7RoIDWrXED6a/L7QrHG1H/Xb9pULhWZ1qwufzxwntG5UR6hTO1wY0KWxcH/fGkHrIhaqVKsgOLs4CTH3LwjpT6OFq6cPCTNHDxIEQRDWzhwnaLQqwdXDXahQJVIQBEGoUClEGDW8y2tttGzZWJg++cNXx5XK+Qkpj64IPl4Kwd9TKwiCIBj0WYIgCEJYqKcQFuomdGhRUxAEQXj86JnQoG5loXvnlkLHjo2E2zcuCn16theC/F0EQRAEf2+5MH7kYOHmtTPCRxMGCjonhAunDwhBfgrhiy9n/OSz8vGEkYIgCELTOhHC5eN7haHvtPpHj9drPLy2Xbh+fJswbfp7giAIQs1ID2FCvzeEetV8hbFj+wlrx/UWmtQNFsLCXARXLUJAkEqYNHHoP6y3XqiHUDXUTahaQSfUqBcq+LggBPoqhSphTsLQUf0FlRxBIUHw90RY8ckHglSKEBaiFFzUCHcvHhHcXF6+vjydEVzUCIO7tRaOnT4krFw0TQgOUQu1q/gK4aFOgiAIQuOG4YKQeFeoXdFXEARBiIhwEvz9JMK27UuEj9/vKgiCILRrEiJk67OFkCCF0KJeZeHkkR1CQeYN4ebV74U7F78T8pJ/fsTjz0y6IAjX4n/heyonVrhxYc/PZhsynwmCoBdunPphJDrP8fPV3YgrEvZfjBLGzJwtCIIg3I29J1y7c18wlRpeO69bz35C9dqVhcoVg4SIYI3g5obgGyB9lf8w5okwZfoHQss2jQT/IFfh09kfC0MnvhyB3HjkhJCVk/Hq3G/2nX71ecqKzYJNEIRLj1JfpZ1+kPXnGaEq4yVlI1T/XTj4HQNb/isIKSAKJDstAS//MKz6BO7fuUS9Fr0ADdu2rQG7mQd3btCte2+avNENgGnTZuMTEIRKZGLo+yMZPnQwOrlAUoGN0+eO4efpTEJKNkgc2JEikYBIIkIlUWAwWsAKQUFeeMqlqFzcqRAUQHJONkk52bhqpTipnFBKVeiNZu7ExmN1WFDgwGqxIAgCEuzYHQIisRiHzYbN4UCmkIJdil0igB1kcjEB3iFUadCY9Oh7TP90NhM+nkj/3j35cvVS3H28yEhMRiaRYTCasDhe3iMPbx/eaNiIzOxsomKS0DqbKSmwYbSUgESCwwrhfsEoXZ2I8HPj+Ys0Br7zLheuXSTqwS1mz/2SBdMmsf6rxdy8cIj3F+xi//79zJs+lpi0IlQKOQf3befAmkWkZpciYMNFq+ZpTgnRcalEBvpy7ebLwLUB/u64ebpiMZrIzstHhggHDqQyKf6B/ogcEPs8jkphgYweOolxcyZQqXwoudklBFaowP2b18jKKiU40BlntRsFpXrclBqsgoXCkgIExGiVKmROKkryi8gvMuDhpqV6zQiuXnrA9Amj+XLZSipXrMjQAf1oWiGMCzFxJGRnMW3611QM9yA6PheAZs0qcenSU0a925OVG/b+4kfwq89G0rhJGwaOGYrSIsVuNdHzg3c5sHUP7787mOHj5rH+y0VMmPkJrVo15Nq1u0jkAkazFWedB/OGDufWs7ukFdm5f/c2/p4eJKanIxHE5BcbsEvAYoBhfXuQWJDBtUvXsNtBo4KCAnD2kDD8re4sXr8XJy0UFoNcBE7O4Oruj1Im5uGTZOo1qkLVoABaN27AlCXLGDduNOtWfYOvjwdHD53k1K1bdGjdizxDEnEPHnP68mXOH97NuPcHM/bTxSSk6Wn7Rk0eRz1EIZXT8733KUnL4pt1uziwZzlqiY22bw0EfhzK5D8dS9YD5N41fnW5DEsJvnInNl+8xaDm9X7ynJ1HrtG3U6OfzHtvWE+aNq2Kv8HCiScpLF65he1bv+CdAT9eZ/mSQiykMOvDOcxfsfu1nGe3blKh3k+vo/z//Gl2+QHcunWLCxcukJ2djcPheC1vyZIlv5lxf2bKBFUZvw+ve/Ne/91X+IgMHD/7gMpVqnDl/Fl6DumPXl9Cxot0ur89DE83F1Z8NZ/i4mIqVKnGyq9Wc+/BdeDlLprMxGh8Qioya+5iBnepyfsffEKJyUF6Xhb60lJMVgsIAl3qV+XIzSgEsZhQPx09OrXnwp0nqMU2BKud1OJ8aoZXpqiwlNLiHJ5l5uLp7IRMLiE3q4DGlQLI0xfz8FkKEpkYiURCtr4EBLDZHCACV7UTFrsNu9iOUumEYC1BIlNgs1gIDQrHoM8jLDiS5RvXMqBzX8oFeyC2lpCWk0O7ehXJLSrhXmI6tx+m4K/TkJJXiBVwVmkxWUsZOup9dq3bChIJoT5+xKWkIhLbKdaXvlxALpbj7qxAK1YRGOqCTqvBaBWjdg1m8549tKhVjVp1I4lPfIGTyoUDJ69jddgwmwXkcjkurhoS4pKoUT2StIx0bIiQS8SYrWacpUpsEhH6UiMiqRiL2YyTUoVIAKlUjIenjqzMLCQaFe/1G8qK9SvYsXIbKzdtoGmNuuw+cYgXcU9xctOQnVFArQZVefjgMQqpHOxWbCIRwV6BPE1IQiICo0mgfoUAPps7l7GTPmH2qHdwEsn45NtN+Pn6ceLcTerWrYbBaOJp1ItXz1SN6iE8eJj4s09gQfoD3Pxq/OUoF/CgR7vaXL17D5sRlBIRBWYBiwMi/JwI9nLh2rNUwoMCycrMwWA207L9mxzcfZp33unG1BGTqNS0Ees2LGHKx1Ow2qx4urviEIlIScoDCWiVEt4f1Jv1O/aSX2RFLoFmLety4extBAmY8rIJDA3EJhHo1aMfu/dtw2YAq2BDppTQb/Qw6qt9mPnNStKSc3Fxl6EvtqKQQYuWjblw5ioiCYhs4OrhRG5RCS0b1CMu6Rm3bmSidH65Y81LJ8JgBrUGgv39qRlejm/3nmffhpV8f2QrW/bf+C2/7P/R7Pp+DQ6rlX49R//sOXcF0D800byG8mfP+fUUEVkuFInUFV9vHdU7jGDppGFYAPkvrOFPI6jmz5/PtGnTKF++PN7e3q8FTRaJRJw7d+43M+7PTJmg+p3QJ4A27I+24g/CyjfffE2rN2qTkpFNfn4uapU7CnshDruUddu3sOu78zyPvcP2DctB5Iq1IIliQYLR6KBcZCUyk5JYvnbHqxo7d++GyVDCwycPcfP0xtXNldhniXi5S0lKykMkdiCTihAEgXqhgXh4uiCRiCgyWPALDOdZTBxapRJDaRGhgUFcvfMIb1cVEoUcs11KTl4uGqUCMyJalvMjT2/A3U2JzjeYu/cfUVxkQOfphEMQcPdww1BYxIPYLEr0JhRKKc5KOSUWC7mFJThrVIjEDlRSBcV6Ax3qV2XbybusWziT3Ye34+SsxVRsol7lcDJzCxGJ4Or9FHxDAqlTvxFJD89zPyENL79QnCQWElLSKSgswcXdC4fNTr1adThx7iRysYzIQG80OiUSh0CxyczD6DSkEhkGq4ixb7dl7qrtjHuvJy9iEsi3SYhPTCXMy4mMghKsVituzipEiF4KOrsFmUgMiNGoVBSVliIWO7BY7KjlCixWMzaHnYZ1GhIVF4XZYKFquepkFaTTsWotXuSncOHxU3x0zpgsFqROSvIz8/Dx8CQzPRsHVjRaNwyGYqrUrkPU/Tsk5OZSMywYiUOC4LCSnadHKofCQoHhowfTrFpV1m7ZypPn0SjlUqrWaIxOo6RN6zYMfu/nX4CvUWyhRr1AfL29KDVZKc7NoGaj1nx/aB96C1Su5M/zp2n4OslJK7HQsGpFsgx63H18EYxFeGp0XHv8gFKziXr16nP/wT3ysswEBjvjqdZR6DCTmZqJ3Q6uzjKw26hfvz6PHz0nK68AmwPkcmjduQs3Tx+mSkRFQtxkiJQKTt5LYPvWHWDNY8SoyUydOZlnly5Qt1MPTh47wq3bt3jwMAa1EpQyKUqZnOLSUprVrcfx87fo36s9Vmxs2nnq1eUeO7qZd4cNxmoEH18viksKSEktYvParxk0/KVPpBVLp/Hh+Lm/5Zf+P4qbl49Rv2kHAKZMfpf5izb85m048rK4cOUk1StWwj3yh92/e779jF7vzXj9ZEsRyF2YsWg2jdpPo101yS9q408jqLy9vVm0aBGDBw/+zYz4T6RMUJXxezL5g7e5eucGV24lAdCyRSVkDhnzp3/CuxMn8+hRMmAirFwACbG5VKwaiggxptIiKpavRIMadSi1lhASEMGx00cI8vXm6PnLuEjEGO0CequDohI9guBA7JDSsUVFZIIEhxnSi0qQiKRY7VKaN67L4fNn6dyqJY+fPCanMAd/rTt6hxVDgRGNVkNOXhEZeQX4OKuw2mw4qeUk5RYR6asjObeYquUCkKvlpKblg1iETAIvUnMoNJux2h04KZUE+noR9SKJYFcXtCoVgd5aMnNLCAz0RCpW8DgmmYoRgUhQYDIX4uPlSqndBVNBIRHh3iQVFvE8PhV9iRm1kw7EdgJ1TmiUFmQOERKZEoXEToC/F6kFxThKzaQbzCARMJstuMoUHL/6hCa1KqB1kmE0m7h+J4FAX09ik7Jo36IyVquEvIICFIiQqCQ4KWQ8S8omNMALCXbi0/LQGy0YjRaMDhsOhx2b1YLgEJBJZHg5afH18iAjL4fc/FLEYgk6T2dyiwoZNmgoG9avQS6XY9CbMAtWlFI5EX7eOHu78+RZHFUqVODK9TuIJYADateojN3o4Gl8NA7AZgOxCGqFBXAvKZXSkpd/2oe805kz124wZuIkliycBxIRaqmc+PisHz13Vn02Mq0Xgf5aygUHUJCdTaS/J2/WKs+5e9FYnTx49OAR6fmliCTQpFIIV54kIbELiGRiHGIBd2ctTRu2ZN/RQ4glIkRiAS9Pbwa/M5TMvFR2bduBQ+xAJlFQUmzEIQKJCFYuWM6IiWORKGDVN0s4snYzNYJ1TN368kf6+dsHGNp7PEXF6UjtErIKja/Z7qtTYXeYcdfpeOOtThw5cAixw463mwdxqYl46TzYuHsfE4b0IfZZJg6NjL4DuhOmlDF+3mYmfzqUtcs3EB7hR7ly5bj7/BmY9FhNFgTATevK/WfZjBvUgWWb/3V/i9a828jc6/7L9fwvEm8GqwCPotN5cv8ePbp3opobxBc+Jty1KnPWfE3nNm2oERr5k+X/NILK19eXS5cuUa5cud/MiP9EygRVGb8fRuDlFES7NnU4cer1XWyTxw9l14G9mEpNtGrZlDtPHlJSZMLDy5f05DRq1muEIS+ZQr2Bgf36s3P7duQ2GyqJhGKjhdTiYgwmM1KpDJFEhlQE73VsSGxmAU5ubqRlZVFUaELr5obYWIqHzovH8XHIRGJa1ChPYkE2+foSbCIFNbwD2Xv5BsEeHsSlJWG12wl0dsKIGMEm4O2iJceop6K/H4U2GzaLkdw8PVlFJdgcAp5qDYLIgVkEFqsdmVRCsM4dZw81zmKw2MSo1FIEQYzZYsEqcuCu1lIhIpyEXCOdu3bi9qUrWIx68i1iBHMJOhdnzIVFuHj68Dw9D42oiBJDMUqJDLEKPDSeFOsNJBea8fIQceNWPIJIRKnJTs0IX5zdnZEq3TEUpnDlXgJhfu4Eurtx41k8iERYrHYEkYAIEVqFklKLCZVEhCCVIjhECBIBL1dnKgd4YceBXeJAbBNxK+oFrmoVaQUl+Hu4kJKXjyCIcdaqsJutFJYacJIrKDYZUSrk6DRqCkrN2O1GHHYJGpUci8WCl38QSYlxyMRSnF015OUXIdhALBUTqvOk0Gjk2Om9VNcFUPnN9gwa2oM5i75GLIHlq1YxuPdQxo0ayMFjR2nRpDFnz19A6+TMo9t3eKtHN54lJCK2WFgyeRyPYl/QoE03bl4/zepvN1JoLEVsB4VaSkGBDRng4u2CChn5JYWAA7NdQKuSUWSwIAjQq/tb7Dt0gJrVKvLo0VNEEpDLFNjNVno0qYqzWkaJxYqLkxvHbsdTVJCPVqViYOsaaCQyzCIJjxJfoPWqQO8Ozdi9fScl+mJOPY4BIO5pFCePHmP8pMmIxQ4G9h7Gmi1rUCqkOJCQmWPizfY1eXwzCovNRr3qNbj28AFSMagVckoMFmRS2Lt5Gx9MnkBuTiEWk4WJo4Zx+cpVpFoJcc8Sqd24FVGPbtOtSwfmLXjpKLQg8T5uITV/9A0+se9r2vX4RyOB2YDXv/SX4o9AyHnEhRt3adl5CJAEBANw//JBajbt9ru2/Sj2Ntu2beDz2as5fP8pnWtW4q4ecvKttAt6GVxGjwUrctz+Tj1/GkH1+eefk56ezrJly34zI/4TKRNUZfzRhId7YHPYKCoook2rjsTHPyc7K51yFStz5+5tZGIpVrsdjVRJgcGIRgFWuwgvV2ca1ylPXrEFJ40GtVJBdpEBu8mBn7crJUUF+ProuBWVSpC7C3KFmPsJevxDfHga85Qvp0zi2MXzqM0GFBIRpYZSRIKY8w+j0HiqsNmsuEkV6I3g4+OOTCwlPTMLm1lAKhMTl5aNTCTG3d2JnIJi9CYrEkSIRSL8PXRIpCKyCwuxOQRUCjlKiZSqEUEkZeWAIMXJVYlCIkatViCIpYT7eFBUWoxYkKBUyIkz2NHr83GRSZA5ZNiMJsRaGYgdOGnd0JcYySvMx02pxGqxcPVxMhKJBqlCwvZvFrJ3724ePnzCi4w8XJyVmM0CxXojEpkEL42SbL2FUJ0LLwoKUMsVGC1mBIcdOyJqhIfwNCWVljUq4uqsprS0FLFd4PzDGBRSKUqxFJPVQZ6lFKvNgVIqRkCExWbCbnUgFYmQiKVIJCLkUhFFZgtSsRQPZzf0pXrsIhsVfXQoVSruP09CbzYhl8mo4u/P48x0GtSvT02dEjeFhMhKNcjNSGb44m189MmnPI5+yM2rV7l7+xaNGtXFbC1FIpLh5+VBUYkBu80CYjFGowkxYuyCgL+7FyUmPQVFhTgAmRisggiJSIqrUkaN0EC0bgpspVYevEjHYLIhlklx9/QiLv4FdocDkUREpXLlCAgI4syF89SICCLcW4cgWKhWpyN3rx6kelgwLiolM3cdoXOTBjx+kkCglxqpUkFkRCU+W/0dp3ZuJjbtGQ8unEau1vIwOo74/AIqeHkQm5FJu1oVCfB0w9e/HMWmYkqtdhxIEYst1K5Zg3u3nnPiwhWuPU0E4KPBXVi/7zBWARRymDNrPuMmTkEmBexgsAjMGNOXxd/sws1VhN0h4KV0ovfo4Wz8ZhX+gaFkZ2bw/vsjiYt6Std3etC2dX+2b/yaxNQEevTqS4UKv34EKjXmKAGRHX/TvxX/KRw4epDuHbsRd+0AEY26v5Y3Z8Ekjp04TPUm3aikUzFm4jTWLp1O1QY1adiw54/qOnpgHR27D/vJdv40gsrhcNCxY0diYmKoVKkSMtnrgWv37//v80D7U5QJqjL+SG7v+JK6/V6GMSlf3puCkkKsJgsiwGgGpRQsVrDaX7orCg/2JDLYDaVYgsnuwGi3UWQx4+3mgslkwUfnSc0qVTh/4Qa+Hm6kWgvxlDqTXAjPn7/AoRChkEhxctFQXFKKSqZCry/F1UlOoJcfnTp3IurpYy7fuI5YDKaSEqQSEVaLCZFYilgsprDERGFxKWKxCI1CgqtWhY+HB3dj4pBKxChkMuRSGXKJCGeNCoPFgtZJiVIsJr2gFKPZiFwkw2i2AAJyiRSVWo5Wo0ZQS5CKBMQSKYFOGoqLTMhdVQhmAaVEhKBWUWIzUGqzorGLkYlFFBWXolKpuP8kBY1KhVwKpVYLSokEX40zGSVF2O0CYoWUgmIDErGYQDdnDFYBhVggu9SAVJCCVMBJrsRscVCrXCB6s4nYrByaVg1BLJFicdiJeZaBzWZFq9UQFuqFzQEFhUXcj01GsDtAIkXmELA4bMgkMqxWC27OGkoMNpw0ct7v0BiryEJ8ai6lFjt2m4W70Sk0qhqGVCLl0PWnaLVynGRyWjeoSsXydflgxlyK8jKp06QBAeEVibp3i+DQEGwlJXh5uJGRmUNSRioajRq7xYoIMRqFBDcnHbFpSdgFAWQyJCY7ggRUKiVuKikp+UUoZRq0ChFvVquEUaImuzANL1dXxIIDpQS+v/aUN+pWwVks4nlKFhUifBFLpOSVitApRJTqC3EINh7G59KjYRVe5JUiV4pBbCckpAK5qQmUmK0YraW4uPqxZufx157/9QtGMfTjj9m68HPiXiSilENIUBX6fvo5p/fsoGKAKwENO/zs9+fBiU0YHWru3TrF44fRxGRkc3DnEXwrVUAmh69XfM1XX31OSFgkZ86ewUkto7TESmBICPExiTg5KSg2mZEiwiESeLdfL4plsG75FoqynuHy/3bMDRrQisiIUDzVTmQW5NKybm2adh/L7s1L6D3opZ+vtGe3KC7OpGKVWqAO+A3/WvxxXLhyihZN2vxk3vPiAso7u7Hr+Gn6tG/9i+qrWdWTuvXqU1JkIu5JEmOmDmFA/yl8tXIgY0a9DEmTm3Iaj8DWCIXPEJUUQGBDVkwbyIdzfwhZ86cRVKNGjWL9+vW0bNnyR4vSATZu3PibGfdnpkxQ/QpyosCzyh9txX8NJ9fPJbxqOTZ9tZLwiErsu3wXjUJJbmYSaqWamKR0VHIRBSYzdqsYqVrD293+j73zjJOiyvrwU1VdncP05MgMMOSck+SkIEEwYMLsmnNWjJgTKmAWEUQEBQQVFFCi5ByGGWByjj2dU1W9H+ZdXBZ0ddfdZXd5fr/50LfuPXW6u6rnX+fee875DOrZm7FTbwZg0oQxGLR6vH4valQlrGmEJZWC3FqsZjPNm2dSVu8hGIYj+39OPLly6QI2/LiWhsYSTLKFLYfLEPRmQl4DAQMYLHqCriiK4EfURNRwmEAogskooioQ8vjw+F1Ew0GikQCCopHotJKdnoTLH6Cmpg5/OIgsyzQGwiQ5LHiCYQZ260J+cQkxZhN5ZVXIgkBYVYhEFTSdjKAqtG+WjCccRpIEZEnAoTMg2QyoagSPP0p8fAJiQMOt8yKFm8SXQWdi64Ec/P4wRqNMRFOaIkmCCKKEKxBAFiSCkSiyLCKLEqIgYTbIhCIRIlGFsBIhI9ZJeb0P2SjRp2MzwhENu94KokBirIn1O3Oodvno2ikNoyQSCILDZOBgbhl1IQ+RiEokFAUBYq1mVFXBpykoAQXZbCRRb6R710waA14iERVZkggHwmSlJVBS6ka2axw/UkOX7GT8kQhd2rYkpWM/Nq5aQUVQpF3zDD7+4nOc9hjcPjcdU1KpcjXij0TwBgI0S02m0eMhGlZw+/zE2CxEIlEiikooqiCJAn2ys2iWZKbWHcRsNGKwxeL3BWh0ufAFg/gDUUxmiWbJiTQGQrRtnkptvRsNlYLSGlITLdisVpRACEWNsCGnlJaJdhKdcQgSNMtoTVHBIYLBKM2bt6XGVc2CxUvAeGqago2LP6NL/27Y09r+rntHPbYdMfv02/v/coftwlfvY8q9r+CwCVw8fgIRI6z86ltC0QiKAooCiQkxNNS7eOaVJ1j93WpWLNkMwKxXnmDMZefTPLUXX3zxDu/NnEmrHu2JCUs8+9ZflsFR+OL1J0jIykSIj0Vx+xg69uITPvjq87DEnn4N0D8VpQqkpH/BiZqS1bz67gfc+6dLAYV5X3xHnzZZtO7Ui50LPqTnZdedNGLsmDYc3H8UizmOw3k1v/lMs95+hltvnnbi9RkjqGw2GwsXLmTs2P/NkOSf+c8XVGds5qX/Sb5ZPJOxF51uzYUfMLPuo8c4sDcPxBAb9xbQPMFO347ZLN+8E683RKMW5oJLbuHmux4EYPLILqRkdWT1hp8wSCJGg0qi00RlhYdDRaV0bp5BYaOXUFTk0XvuZtbHnxKJKNgdJmLMThbNfJ0D5fmMOXcSl1xxOTt37STWZuKaa25n36YVWCw6Sspqmbvgc1r3HoymRtHrTUiSEUkyo3cY0Ol0pDoduKv8VNRVEETDrEVweaNIhijRiIJR1OEP+4kGw4gSmEQVTVQIRBQyrFY8ShC3N4wgqmSlpGE2GCmvriE51kp+dTUCBjxuNwoaOklHRFHJTorDbrdxIL8YWaejQ/s0wv4w9bVeREkiOzOB2HgLjhgbJfUeGmsbsagSZfUe0uPjKa6tRQoGKfEGMEk6fJGmKUlBEgkFIwgiZMQ5KHZ5sOp1uLxBBAREQUKnF3GazRh0ItlZCcQ4zBw8VEaZ20efHq0J+H0YdQLeWi8F1Q24g0FQBRRUHDYbPk8Qi1mHJxBAr5OJqk0pJxJsVjp3SMMb8GPRG6h1Rwj7PMQ5rDR6g5gtMWQ3c1JTW0dSrA2j2QBRjW+25lDr9TC6Uyu+2XUIQRPQiOCw2IhGwRsOIGoqOlFAEiV8gSDXDu/Ph2s3Igo6dKJIUFE4r2s7Es0y5Z4A8SmJNNTWomkgSCIyIja9iePVNYg2PUcPldOyRQqiZEAnqjRLSyPgcxNVNXRChMLyag4XVTOqV2vad+5LflEpmVZwR6OIAmhahFdnfwzWX47STJpwPku++hqAtV8tY/iEidT5IM5ycr/CowfJavXzw9z773/ADTecfhrol1HJSjHiDUWIhEFRQZIhOTEOq8lCn/4Dmf3OfKr27GPIJaMJ+jxERY0Vy1dQtO8wyzatora8kpEjJjBs9FCWzZ9HmbcBfY2HNxauZMTANhQcz+faK68iv/Q4H366DoDxwzriDQS4dPKF3HDfi7/T57+f2srviU8+fVTpj2Tn+k/pOfhyAL5du4LPFy5m7vu/r/Dxb+HQxkVs3LiOmx6ZDcDhQ/NJzxh/ZgiqzMxMvvvuO9q2/X1PBv9t/OcLKqjeuYjEnhfz08Jn6D9lGpGC9cjJ8VBdzldffcXI0aMwtxn/73bzBOUVNaSm/Ock1fv4vRe5+sYHf6VHiDdmP4xTF8fUGx/9xV7znr8ZR9jN9oJyYoxWlGCYsKBR5KqnrK4BfyhCv15D8NYW4ExuwRdf/0Bys2YkZHTi44/fIcluIqwEkSSR1IRYbGYLGc3bse3AUeJiYxg+YDD1dUf5dMHyv3KvHgxNJTiWLXif1JREeg+dABE/j913N+nNErjp3um06twZTRDZ+f2P5OxbRr9R15wwUVpaR5/hffl0xvP8sHIZby/5AUETCSshLCYrEdGA2WhiRO92VFQFKXKHafRFMRpChN1BVM1HOBBACQcJBz0kJyXidXsIRkOYdHriTTKVjV5EScRsMCAAnkCIqBbFIIoEQiqKqhLVNJLTHfTNyKA0FCbOrqfM46ZFbByNlV4OFpTjiYTJio2hsMGFThIJhRSMFpn0OAfmGCP5R2uxpltRahXcXh+t2yZhkAzExsazdt120AnIkg5JFrCaTBg0gdQ4O1tzi7HqzaRl2WjmcFDt8WMWRcoq6yhv8JDosCEKAuUNbuw2K+P7d2Hn4XyOlFTQrU1LcouqCEf99O/YnKiiIMgCigqypKFTbezLy6N3xxbU1XgwxltJsViJj01BJ0m4fXXU+mqJeKJsPlSMJ+BDJ0tIEQ2fGsEgSqiiiqgIhDUFWSdjlERkSceQnh0hEqIm6keNqsQaLJj1AjlHK3H/vwAe0q0VZTVukm02jlTWUFThIjHBit6qQ4sKpMQ6UKIhZJ0OJRwhHI5wuLSGqgYNo9WO3RSLp7EcTVDQm2xIgkIoqiHrw8Q6kxg9dDRf/7geX2M1YSWKPcZGQ5UXnUFB1sBsNiPIKn5vECUiUFxQyJ0PXMe3K38g6A9y7z338/z0p6iqKAJiIOgFo/UX77VooIbvv1vCmIl/Ou3xyiOb6DZgCJogEY2EEVTwq5CVmcKa5csZMvo8Ro0ax+AunXj89Wms/3YzCS27sLd8C/ENIsfzcxk8bioznn+Idz96h3ETxrP0qyW0SG2G3+Vh474S7rptCuvWrkY2yHRt0ZH3l6z5ld+Q/2w+W/gZ7Tt2pEvHTmxavZJzRp73m8Yt+XI+u/ftYvrTr/9d5z1jIlRz5sxh1apVzJkzB7PZ/Ic58p/Gf4OgOss/k0og+bRHXnr+TzzwcFM19yObFpHSIRuHs/v/H43w9u0XsWZvLolOM28v3/UXI32A5a/NserjNzj36jsZOaAHPcdfR+76z/lpyy5MFhk1KpOdZmLr0VJ0soxgcGI3mIhp1pxxw87j2Sd+KSMxvPXum+zeeoQ5c5qe7DZ99RnnjJzIqo+e5twb7gVDPK27tWPkoFFcOWE8y5Z+jqjTeO7197n7xssxJ5hJtaWwfvNPJBg1xoyfys2PPoYiaYwdNoD3PvycTd9+yjljLmfQ4GFU1lYj6GVuGDWU5Tv2UVntxRf0gaaiSRpiOEI40hRFUiNhUlNTqKgpIegLU+PyYTbq8Iei6AUZXzhEm6RYfKKGElKwWE2YHUY0VSPsD1NR6UaQwGKQUUWROpcXUQSH2URyvJP6ejd6vYSEhN1hwKXXMGtGquoaSEuOIRIKU6cGMfpkZLsOVzSISRBxWqwcyi1BDQt0atkcb8RDdZ0XJRRGFVSSrVZq3B6iqIzo0JyDjQ00VHkJBhVSnU4Ka+sxGyV8wRBWo4FYq5l6f5hoOEhKrA1ZryM23gYqtE5JpKjKw7HCSs7p2oLacICQJ4Rs0ROnt6CqIVzhIDoE6n0ae3OOYJJlHA4bJZW16AwS0WgUSZDRiKJGNfSyjF6QSLRZQNAIRiJ0a51ORlwsizfsAFUiOcaBzqCj3uXBqDeikzT8qoooiqQ6LOitBiwmAyUltWQmxmCy2bj9zqc4Z+J5xCS1AiFCYnIiAa+f1u3aUn00F084TEDQc3T7T3QdMApbrIYzvRv1FeXIehmjZKAhVIddEaj0CMiCis6WgKt4J6KmIzHFSEl+PZFoIya9RCSqYrUZSUyNJ+9YEUPP6cuWjbux6mTefe8Vevf/5fVVv5UYu4DZBEpUYNr1l7FufxEJWc0pOLqfF19/lQ2rv+F4XiELli/FarDw3hsvsb+wgmBpPR9//hEP3v0Yjz/5GPV+UBWQjeD1abTMMvHFgk/p1n8S111xPonxBq6bdBnZgyb/wz7/q6huOEaiM/vvHn//I3dyyxXjad5++CnHnp/3HDmbjpHVLIFLb76IdrE9T2Ph1zljBFW3bt04fvw4mqaRlZV1yqL03bt3/2HOncmcFVRn+W00sOP77+g1asqJlpVL3+e8C26A8BEO/riLfTt30liai8vn42hVPSarntlf7jqttdwyP83TzJTkbaNl6z+XWXAxe9qf+HTZVuoDQS669iFeePweBL2ITlBJTkykVbvuGJJbsn/rJmRZ4JpLz+Phh547yfY9t93CnrwCenbvwgNXTSUhJZaIQUM2pXDD9Vfy/gfzTutTtz7dEXR6zKJMot3Mq9PvJS0tk6effwfNW0d8Qiwvf/YVgmxBNlgwmPS0ykjCmdic4txjtGuVxa6cA9SUFTGxbysy2nSgorwSvc7PorX70SQBnaJHb5EwqyIVDQ3E2sy43Q0IaLRtlkY9PiKahqpqoJMJBwM4NTO5xeX4QhHSHQ4qGz3oRIHs9CRKqxoIq1H0ehlZb6be04CgQpLTTp3bR1rLeCSjDhAwShJpliTK6+uor2kkNSMem9lCKKKQU1OELOuQBB0hv5+6Ii+iKCDpdGiaRpvWyWghDbNZjyvgxWE14guEAAGLUY+iCtRWNtKyWSoHjxbhTDZTWdyAXtahRjQ6tUvn4JESNAkiYYWQ0rSWSw1Dz07ZWHSwcU8+5/TOJsVpJ7+0AZ0O7CYLoWgUq0GgotbN9pwCVLGpFJBOEhBUAVGEcCSKKEoEw2Gssh6b1Uii2YLbHyQtzoFJ1lHR4EGURErr3RiMMuU1PmJiE2nXLIV2Wcls2Z9PcU0tKmEkSW4SZiYrLzz4ND/uXcf6bfvRokHQy5jNehSXG7vBgCfoxq9oiJpENOpDMNhJTE0ltc0oCnYuJKVzH6SoglM0UxFtIEPQ4zHEk5Jpp7qomsSMdELHKzlevp1Zzz3BxTfeic0RhzUujrAnirvhOKhW9PYwgkejIeghohiQqSfgVemQnY7JGsfSpcu57daLmThpKiOGn8+TL93HojkL6NmjLZ/M/wqw/eLd/elL96KPsTF7zufkFeYRUlVqqzRuuXYC1Q1enn/tNa689CK2bs07MSYlUSYaiBIFyktKSM3IQANcnlP/FT/69FU8+/hcQAF+W9LK/3Z2rVtKoWBn8uC2QNrfZeOMEVRPPfXUrx5/4okn/iGH/lM4K6jO8lvYsmwGmB0nTYO1am7maIEfgGevPx+D4COv0kVCYgzPfvjjb7Z9xRWXceDgXvbtPcyBffk89sR9JKkVfPHDNob3G0RdyMeo0efy1gfzKSsoOK2Nb5bN5a33v2DVNytOe7x3r/4sXvoZK1d+xU033PGb/Prp28X0H3PRideX3XQfh4uL0blrqK3xYrYKCNY4dBENUW/G765BiNYS60zihTuuZtDkq7n54hHUB4LoDXoUBSoqvISCAXSySCiqUVJVTzAQwmDWYzVBxzYZ1PrcRBSIqipCREXwayiyRFlNHV5vCJNRJtZmQomoxJrNNIZCyDEyteVeWjZLpLzOR+tmCZRUuNBLAmFVoraukeZpMXjMCmZNR1TV0Ft1CD6NBi2IFlZJ0DsRBB1erRG7wUBY1ojXGagJh8nQGzlwtAKdICJJEA2rIAqY7UaiRpX6ch/+QJBAMEx6vJOEdDuFRyvIzmrG/qMFdOqYgUEnYhCM7Nh/HEVTEBBBENFQSXHEkJWewtGiEhRVIxAIYpJ1KKKKjESV241klEAQEVQNs16PKIAr4EeNwtgBnahwuTHpdYiIHDpSgl6WSLLYKGkMYDaZSXDGURXQiKgqzRJt2Cyx2O1mquqriUZDZMU4yW4Wh9uUTJ0rzKwnbuL2Bx/jvY9+FuCDzh3HhlUrePvjD5k54wMsUhhXyMfAYZM5mHOAmqoSRElFVEXy9u2hd7/+BNUoSS27I8p+AsEEBvdohWZqTmHxbgryd2C2Oak7tg+328XtV11Dfq2fb75ZhKQIoJNQlChOWypROYCqGUnPaEMoUE0oqpEZF8+YyVdx2bjBDB4xiPVrNjBsSB+GjZnEsaPb2bV7B+Vl9QjARRdcQP9+fXhn1ltU1FSTn99AVcFWkpr3/asr30dh3kZGj53C/TffS6d+vbnxpmsY2Gcwj738ODdefDXLv9vGJx/O5LIrL0anT+Slpx/nrbdfJhQNU12jALD1u4X0HT2FysYyhndtx/jRo3j+nd9ee/Esf5szRlCdpYmzguosfxfeam6+41pyDx3lh225vHXXRdw+YzEARXt+JLPb0FOGPHDdOBoaqxg0ZCJX3vbIifZH/jSZ5979EoC+I7py9MARDpfncsvFV5HdvB25hSW0at2Z6c89h+Ef8dmngEWiz/CL8LqrCfvriLdYUWTYvvmXa5t1HzScSETB01iPoKnE2y1U+91oqo6lX2/h6omDiRLE7Qti1QmYJZkaf5DSggKennYLFruFg7uOIWteNL3Ehp1HqW8M0izRQaMnSJzVTGFtHdGIQkRTkdChCSpdWmUiGxTCgSg6QcRqlqnzKxSV1uAPhOnRqRUH8spQ0VBlGTEEol4HSoh+nVpiMWlU1HnRNI2YGCNRDYqr62mdHIveaKCstAFV1BM1hQiFQvijUSRVICkulsqGRmRJbRI9qkK83kRYFFGkMDp0uEIh3CVuDDYDGWmpNFRUo4UVDhdXYTEbsOgk/JEIDpMBo95IMKJglKGiphFNFBFkkNERUhUknQ5VVZAQEQQNWRCxm0w0hoOgaURRkTSBYCiEpJOJahE0TSTdbqdZcjx6owm9bCQqePH4A5SU1JFos3Ksyo3FEct5/TvTMiUJAdCEKGajHj0G9h8pQSeHSU+Np7o2SGYzO0rYh6iZuP6pGadcB396bAHff/4UOquIKNq4/d57mfnqbDS5EUNE4p77H2f/4QMsWzKfWKudnVu38+p3u5h53w0YbQkkZaQQYzLhqipm3cpvmHr/Y1QWlVF4fC+auwF7vJGAz8vh/aWkZSaT0Lw1YkMjBgs4Etpw+NB2MCi89OI83vzgWSz6GO6YehPjzh/O/gronAITL7+OzBgLcmpH1q2Yjy0OLh51ETffeStPzXiLbasXEVTBU1nOjj2nfzj5Ner8hbiqqvC5PHw092OOHznOilVbWLzoXS66+PTrtbq2i2dvTi0QBrxA7O8+71lOz1lBdYZxVlCd5beQu+4z2gy59KS2ayedw57Dh9mzYROFx/MwmUTWr17B5h37iY1N4ol35jLtunEcyKsmxm6jxuOhS8cBLFyyGEGWURSBeIeFnTklnNu/LV07tye/2s1P27ZiMNno0LMXB/cepk2XYUx/4Dp69PhtFdh/D+06t6dddttT8s5V+DxcevHV1FYfIxgVkHUid151BZrDxsK5ywl6G/D6vaQ0a8GaFUtAAL8W5vz+PXjx6adYuXwJ3qiebbt2cvmUyxl/4RTenzWdiqIyiqvriCBQWu1H0EcpK23EYJBIsTso9UbQx+iJeFVkgwGbWY8/pGLTW7HYdYQVHeGICYwmTFYTgmDAqAWpqa2isaYAu0NiZP822GPMbNp7jDSDjCqCrzZAvSdCQqqZSDSC2WzAJusxSjJ1Ph+u+iBqNIIQq6MxGMLtDmH2CxjMBpIS46msr0BpjCDb9dQqfpoZEykL16NEVCRFRa8INNT7cMRakZGRNJX88irSkhKoqKvDpJewpFgwYCA2xoK3NkJJVRXRoEJWSjySJuAKBBFEgWCwqZxNOBpFE0CJRJH1MlFFQdaJdG3VEk0KEQnoqNfcBN0hTJpIIBTGZjRSVu+iZ4e2lFZ5SIi1k9XciaQXkTU9os6G5vVgMEskOWy8uXQbeUf2APDWlzu4ffLPCSxfXbSRxsLN7N66j6PlBWjRIAF/BFnVcd21D7J40Qwa3G4UvFxy8bW8Ov1pstu1JynFTl5+AXqdHgEbBlkgNTMLX8BLTXUlDqPMOYNH8MPGH0iITWLT6tVcddVFeKsrOXS8gIaAgM2so21qIntyc9DrBAqLG0lKjSU+IZUBAwewdedu+g4dzHvPvwI0JUrYXQG4wwT9efTo1pH5Hy2iWYv2vPbs03Tr3xNXxQFWr/qOFhkpFJWXMGL4aD744DNOxzvvvMlNN93BsHGjqSzL5/Duowy84HIKj2zAJJi44fYrmPv+F7z61kLuvHkcfQb2584p19B94LBfvd9Wfz6fkZecD8T8vbfsfwRPPn0HTz7+5j/9PP9WQRUbG0teXh7x8fE4nc5Tck/9JfX19X+Yc2cyf88XcnYW/H+L9x6/mn69+tJp3E2nHKta9R5JPYZCQlMJp/1ff8L+9Su44uXFXDm8KzW+MNb4JFo1y8RoFVm9bgdRQY+3vpKM5CSyU2LpPnICH8x6g2ZtM2nVqgtvv/85ZoeJZ9/4iBeff5jxg84np2g/F0wcy5WTrvhdvm/OK2TBR++zf933bNy6g1Yd2pHqNLF+06lrJHv07kogAClZLSkpy0Wns2JAT0RvxFNXicEgkLf351xWt9x5N9s3raOioZbExFT2bN32y45U7qXh2DGc51zI64/cxLyVGyivcoPRgFUScQUFDAYDJmcsol5B8MtEwir2JBuRsIQ9pRk2ezJYLUjRKFo0iCL5qcsror6+GMXvQRB0iLoocTY7JZV1KGoQUWkqK+MLR5ElAbtFpl/3dL778QiIEslJNnq2akZEjbBh+1Fc3iDZWUlkJBkpqWxAM+qIBsLIegmPGEUviiiqgmyUMSsSsRYHW3YdRlFUQoEIyU4bUVVBp5MIKSoSAikxNkI6lQ5ZzYhIEt5AiL2HjuJtCNOraxsKy0vxh8JEQlGiGjjNJhqDPsLBCA6LCW8gQNdWGdQ0+LCbjZhjzAQ9YYJaiPhYB3H+CPbMRDbtOEqtN0DLjGQ6tGlGQW4lkkFGFGXi4k3Y4s2EGhRSE50MGzGCuZ8tY/WB46jhIIooUJV3GIBuvfsj2FJx1+Sjt9npM/BSRk26kpUL7+GT195hxOQJFObl0jK7O/sObCY1OYmi4hIOb1vDE4++wDc/fodJ0mM2mwnarHgr6ghEQwzs04fi4nzqqiooKqylPBJk9YZtXDV8MDNffJIl36ykuKIcsyyx/3AhaRlxCLKTAYMHsu2H73n9tbe4f9rdLFu2mmeemg5aDA/d/whmu47klvE4/uJyO1QBHVJgY14du/b/xPdLvqOiaAN7Nu9n0rgh7M05SP6x2l+8XC+7egquOjfF5UUIgoKmMzFm4pX8uHIpAX8D0VCY9E4TEeoP44nUEGuxcdUtt7HorZnU1JUTZzOw9Ps9J9lcPv8dxl9x6m/Ifxs/rvqMoede+rc7/gH8WwXV3LlzmTJlCgaDgY8//vhXBdVVV131hzl3JnM2QnWWX0YF6oBfT/EQaThMXl45Hfr058l7ruPJ1z7jgftv5ctv1qAI0CK7Jzajl5IKHwNGX8muzSvJ3f0jOoMeW4yVGIuFopJiYmPjOGfIEH78aQc6VcZoExk7ahybNh3G6ymiU8s0Pvl4wUnnrissJS7rl/P8TBw/hvzSCoIBP7GxCbjrqqj21BPvcHDkcD49+nXHFwpgkhJQBC86SSLFmUBan4vZu/YTEsxWKhr9xNgT8IWrkMJ6XKF6Du/cfuIcbdt3xCCpNPr9qKqCyWZBDUU5mnvstD61bNUSRQph1ZmorQuh6nSYrCZCAYlhfduyNa8UUVFo5jRR4wsTVg1YHDZCKHgbGzEQxWGUEZDRo1Du8RLWJEwGK36fF52sYZZVfKKMVbIS9Hgx6kV8gQAXd8nGkWLl2505VHhVRFmPIJhQdWH8dQFEJUTzFDNJMQaOF1VSXNlAm+YpmE063C4fSc4YbImJtEhJY/PWrSRbjKw9mEtaWiwmvR6f10+CLYbKRg+aJtIiKR6T2Ypi0GiobkSUwxw6XsFXH86h76gxNM/OItaoJxCNYHToQdM4drQGEYi1W7BZzcTF2HAkOsktyCc50U59nZeoK4ot1UJLRyxbDxwj1m6nvKERRZAJRwQcMcnIBoGspFjSk2wYRJGy+kZ8rgAufwCXpqJEJQx2DV9tGElWUaIKkUiEFu26kR6jZ9G8T7h++ses/upNxpx/OQ31Po78tApZF6XBW49sMNPQ0Eii2UmVtw6DTqJ7j/7o5SgFh/cRa47lu41bSMvOxGAw4K51oTMKJMYYmffuJ9z/5DS+X7WBju0y6NCyObmlVcTYrazbsIuu7dvx0eLPGDdqBD26dyYnp4Cjxwr4ccMB3n75bj5esYZf2pt+KAr15WG6NNOjNtbzyqyP0WulXHPV42Skx/DKK8+za0cOAaWRZV98dVob506+kFVffkG77n0IaZDitBJFw57WEqUxj4aKMFktslj6+WcMGX8+fm8VG5Zv594HbuGyCyZwqDCPI4fzuPOyi8js1ZO/3NU7rG86ZoODZV8sRJfQ6Rfv3f9WTr/H+e/j7JTfGcZZQXWWf4QlHzxOXl45w4cNpNe5V/HRRx8ye9ZsAlqU4ecO4s3nnuLPayYenvYwG7bsJC8nF0VTSW+RRijqR44KxCal4FFlHrvnHh596hnEYAhTTDxRXxinQ8RTX46AzM7tO363j8VFFQw7dyCp6S0Q9EbsDomDh/bilBLYvXs7l9/yENs3LcditWOV7YRtMklx2dRVlxPVQmiqEyVQgV8JkhobQ0N9HXt+2nzCfmZ2FnpVIgAMHtyPn3ZsQQgZ0FmtpCZauXTK1fzpmqlUV5aSmJxOee4Obr33MY5WVpBgs1FdV09VnR+zzUDf7t1oHiviaoxg1FR2Hy/nknEDSRIjHCwvxyqbqGn0oGkqgajKlFtf5K7776OqPJcYm4kGdwCn1USjX8Ae6ySshPE2BjAaZURJIhQGg9mExRFPjLMVJocdMyFKGoqIVDRQ662AiB+zqOIOBEEALSgwZGArgoEwqiQhRBWQIrhrAzissRw6fhxEEbenkcQ4B9YUE0a9hM1gIOKJUlziplWzNDJiHRwoLiXWaeZwUTEZtgQMshFrkpntRUdAFElRTSTF2ZAFge37C8hukYrVIpNTXkmC00ZNrYfEOCtl+fU4bWbkeB2NFQFMDiuVdQpGsxOb08LtE0bx/sIVXH/+IN5dtQ1JjKAJUNnQgBLWEHQQFcGgKiiRMO3ataGsvJiAHzSzxN13P8/7785GjNSSnJFO83aD+HHNPAyqE7+rDL3ZzLAhAykqPs5NUyYRFVrw9IyHGDjpJt64++Qo6uIfj/HRzEcpL8nFZo1BFkR+XPsDAMOG9eSiyy/mmy+/JT2zE4/dfyv1niA33XIZP21uipjtLvLz5pNX4wtLLP70MxoCUFJSQ+fWp3/QyfNAaxusXb+LjJQgjeVlzFz4E+ecfwPdO3egRzM45oGpk0fhUIKUVxWw72DJifEDB3WhsdaFaE7A7XdxwYXXktpuACMGtuHDj5dRsu9rGkMm+p4zli0bl9O5c0cs9gTatu3J1An9TnUoUsuxowUc2rWVCVfefqL524+ms+Lr73l7yYbffU+fpYkzRlB9++23SJLE6NGjT2r//vvvURSF8877bYm5/tM5K6jO8mvsmD+LXlfcetpjiqsYSS9RcryYcdfeRdtWHdh5cDuyJnHz3Y9wx7WXnDJmy65tXHzx5WS36UBpRSGKQSTq0WGxWjDKKhElgs5go0WmnZpKF3WuILJOJM2mx+er57PFi0hNPjUvzJyVhbz2zEVEA1F6DD2XHd+tICRGkDUDSfEt8Ycr2P3TVlJaN0OKSsTFJ1Pt8qKPhrHFxSPIAjqjifjERLzBEOm2ePKLc9FFFZQI7Nz+84/+rX+6kVnvvsfl117Huh+/B0EkJb0dUV8tITXEsHOG07lTO7bv2sJPe47Tu0s2R/IOs239qVOCfc7pj7u+AYEA5Q0RXBVlTQcajoCzKelwl149eeP+P/HD+tVIRgeFJdWkpyXwzOsfAPDZ7EdoLKig62VPYbAZeGPWTFZ/9QXIIgIiibFGPD6JQFBBZ5VItMVS1xgiJSmWqBoi5PVT46pEViQkg0Jjow+9SSYagUvHjmbJd5sRjBJmg4in0Y+mRgmHQygRjQ6tksgrrsNqlggHFAb3bIs/4CUqqnTr1oGSihKCtQqirFFeUosxyYAuqCc/UEmH5OY4QxAxGjDLIqFIhApXLYokUVlcjjXRQl3ATytHEnW1AcJGP0ZZJv9YNZGoQttOmXirwxTUNmJ3phOT6uDdx69k3ebNaPUW8vLziLeZWHvwODIqrjA0uBqQRAnZIHHJhZdy38PTSDDA9wePc+v112AwyIiiQKozhrLyEsCEoin0GtiT/Tkuoq5SJlx4Ga2a98CemMwF/ROZ981Grhw7kHoVbCLIQDWQ+Fff9RMvv8nE0YP55LO5vP78aycdu/HG27nh9lvJy29EF6jikik/JyJe+fU8zhlyIbNmvsxDDz3O9px8erdrcdp78s+UHTpEWocOpz1WV1XNRx++RDAEnVpmsHffQZ589f0Tx9u2SUEy2FAUFSEqYE+0E/BHiWoazz7zHOu27SQ39wCuklL0ZgkhGiY5JYPPP1v6/xZOrV5RU1xEWcEhug4+NW/Wvk0LObbtIJPvnf6r7+ksp3LGCKrOnTvzwgsvMGbMyV/wqlWrePDBB9m3b98vjPzv4qyg+h9DqwShKVGnGqpFNMQDkLdjBa17DQbs5OZuRHMptO0z5JftBOvAGAdAn4F90QQVl1dBLxkwWvV8+f46Mn8hH95lV1zPlh1bUA06ZJON5PSWxDodjLzkBr6b+xblBQdQdWacSRkcP7wdKaKCECDBZCW9dSuWfL7sJHtDx5xHZXkRiggEQgQ1mWZZzamrLiZKlFijiW++2cqAId3x+H0QVZixcC3P3nQp+/Y0raXqM3Qk5qQ4zFI6Pl8jHm8+qrcRb70HVQrjiIln95ZTo2Ndu7ZHNGjs3pbD8WMHGDr2fPSamaGDhxOXoOOzL1fQPDUdoz0D3Pn4oipffPYpu47k8+RDtzH14it5ftZbxMY4KK8NUFfWFCkYMO4afA05TLrgaubNnYleZ+bQ7u3ccPV17NhzBJ/owakz0bp1AgcPl1DlCWCVNLZ9/w39xk7GYTEzvEszPvp6K3qLgfREJzUNIYKKhqw340hsjijq8VblE1G9xNtNlFXVoCkKbdKSicgyhWVeBrZtweHSSoxiFL0gUOb3EYwooIIoCVgdOsSQSMjrISMljkZ/iBp3lLTEGBqDCn41jOaLEIkGEJUgdquZ9KxkGtV6ksxJuDyNJBhiKA1WoERUzKJM54wWFNXX4I400lDaSFy8HYvRQG5uBZJej8loQEElMSWWQ0cb0Il6Eh06BvRoS2OwkSynhePVLkyyTE5uA8erK7DqTdjjzCQlpXAkrxBZpyMYDWA3mdBECxarmZdfeJUnH38UxWIkKETIcCRhUWOp9xyjuq6Bx+atYfZdk4hNbcvCt57DDfyeX8xqwAO0/IXjn63ZwKUjBp14vXf/Qbp2Prl2aGljJemO0yfa/TUaAQcQKdqBnNmLvN072bBjK2VHtvLEi2+CvimK3Lq1E7MlDXOskbqGELJOxmqOR424iTVJ1NQ3YtAJBMMBYp0JhMIB7EYjvQaNp212Ikfy8njyqZdOnDcSAtkAYZ8bvcVOtO4gurjT1UN18d++UP2fwRkjqEwmEzk5OWRlZZ3UXlhYSIcOHfD5fH+Yc2cyZwXV/yYHflxIp74D+OarJYydcuf/t4Z467UXuf2exwGYOXM6t9322N+0tX1PDr27tQPgyksnMO+z06/L+EuuvuYOPp7zJtsKi3jozpv58atv6dytF/V+PzaTEWtsCwhX4wp60UsinroaMhJjGDh8KC88c3KZhtmfzKO+phyzxcKnn8zB5dGITbIRUUIYA2Fq6n2YzBIdewxg049fM+LCm1i96EMkm4BRiEGS9MQ07waBagwmHSBRVXaUqNvL0Zy807+Bv5Mta9by5GvPUlRwFCEaoaJBBTRMDhOCHIOOEIIqoFcljh47RK8BfQgFVTQpQCRiQotEyD249xS7iqcCyZZCcotMvtlQRJJYTXpqU4xk5nvz+GrJIvKry0AB1ajHqcp4w37UkBev149o1JBEmTsmDiavpAGL3Y7DqMMsCdT6fShaFJc7giooSJJMvduHQa8jrISobQhQV+ujzqticMQgSjImnYTRLOJtaMBoEPHW1OFXQph1Ovr36oGqiew5sJ8eiU5kpxXR6mDPkSMkmvT4zBplebXo4w2omoIeCdwRGn1RQpqKpulRNRVRFomxWdCiYSw6AbNeIqKqZGTEEYqo2BxmzEYTG7flo6CBrEONSkhmMz069+XAsYOkJ9io9IbQFAlrjJkb7l9IVi+Bgx8vYNfOA1RV5XP7k/N575kriY9xktyyD10GjiPd5sEl2uneKZbUP+jacIUg5q/yguw+2kD3Vs5/2PbHX+7l6sldT2q7/4YpiJqftFbZ3PHgy4DEg48+wPxPZmMy2omGNVIS4/FGI/TpcQ4ffPAB3Tq1YMDg80AMUV9XTtgFsYk6xo0bzbhJp0ayG4B/3PvfT4SmSOF/O2eMoEpOTmbBggUMG3byNs81a9Zw2WWXUV1d/Yc5dyZzVlCd5c+MHdGd+x99mmRnLG279v/VvtMeuJ9thw7SvUcvXnj6aXJLPLTJ+OVMzADDzhtLmy7nsGv7OvTmGHzBRvasWUWXc/qwb9M2+gwaitcXINZkoSLkIs5qwe8L4fXWo5OiSJqOIwePnmTzyy9WsHLLKoLVHg4cyycYdCNHo9x4/zME/EF27V7L8X17adWxE5269OS9ma9g1huwxDrxRUw4HWaUcJiMzGQ2b9xD27btmDfnbc4dfg4H9+f+w58pQMWW71mychG3Pt00Rde6XTql5VUIqhlzjIX0lFTqGnwY7BbUQAhbnA2H3sZVf3qSDctmcjC/gIjOyr5N3//qebr06oEoGEj+/xQVgWAE2WDEqNeRmBhDmTeIEFRQoz50aoThHTLYf7yCLfkFmASZtCQn7TLSiLfZkc1QVhcmw2llwnkjWbTqW3KOV+MNBMh0GundpwvlVY1ElCioKkcqNWrqXNS5VYyOKMGGWsSQl8RECxVVLjRVRVNEfJEgo/v3w2SRKSytJE1UCBvMtGqRztp9e9GMAk41lgSdj+MNHry+IJGwQnabDI666qg46kGnCUgGM4LZis1uI+SPIihhPI11hIMhogE/MU4rslFHr55ZHNxTTKUviIiKJIpYTCbyj+Ry3tTLKco/TrsB15LdZShjeybRNs7MmBumsHPJF7iAKy+5FFvzvoSqjmMz27jxutvp370pQrRmv5sRnf+438wSIOMPs/b3M7BfF9atX4ekb5JCXy6Zy+x3XmPt9/uoqM5n4qihZLfpwU2Xn8vA8TeeMr4OiPsX+/y/yhkjqG688Ua2bt3K0qVLadmyKQh77NgxJk+eTK9evfjggw/+MOfOZM4KqrOcQrCOr9Z9z4RzL6W+dDex6d1/seuBgioevGUK7qAHRTCSlpTBF599xmszX+Oe2+5h5NixdOzWk1XfrCSoKVhsZpKdsfQ57yL2bFpHKNBAQ1UZzdu04fD+gwQlAUkS6J7dhjGjx7P30Cb2bd9Dq5Yt2LJtOwf25vDy89NISW9N5159eX/OR8gJKfy08mvURi+aXgGjnounXMLcdz8EUSIaauTI/iYh1qJFM2wJKYy56Cq+X/kxb76/iAEtsujWfyDt2jbj0Ydu4d77HkGUZIadM5j77p120vs9tGsvHXp0/V0f544VX9JrWCqeajN9x4yjwdWAOxDFEZdOTHI2+kg15e4GpLCE02RCM+g5/MMmiDGyePHnnDNmJEMGjCZ376lTjqMvupSaigLUqIZNs1Mf9hKbYGHj92voM6wPQlhCEA3UNXiwO5MIR2vo26EH991xG607deDhq8aj10ks33WMSk+ADslx9OrYmi837SYcjTKqe3MCPpUWLTKor2/AatCz+VARueX1WKwm4i02arx+NFGPWZLwehsRoi4iWoTObTOo93uJNZpoUMPk7i7FbDGQ3SyT9qnJVNY34PIGQBLxB4MMPac/67fvYOzdD3NkwXtYbQ5Kaxqoc7lISklBU0McLCzDFwCjTQeqiNNiIjYmEZ8/iMfrx6bTUeerxtXYgKAJSKJAKBQm1WahvN6DwWEmGomiQ0d8oo16lxs1qmCUJQRBIqtTO0pL8zm6/Qgz5n/P2tXLiAQDJMXZ6NSsFaOuuZ30RChrhBg7ZIgwfw9c0e13XRL/NuqP78VkSWfvwY1I4Qp6j7nllD59OqWiSWZCgQD7cstOtD/y4FVUV3gYPGYoW1avIS2rJUIEuvfow7kTTl0veZZ/PmeMoGpsbOTcc89l586dpKc3bbsuLS1l4MCBLFmyhJiYmD/MuTOZs4Lqf4uN3y1m4OiLfvH4kT2radttJG88fRfHSqt4670FFB/dT7NWXX5xzHXXXsm2/fsYdd4oCo4cY+niZfQf0ouf1u2gx8De1NT60BQR2eLAadFjsUg0+kFQfESiYRRFQtQLCOEgqiAg6WRkfYTxlz7I3h0biaWWOR99zpChfcjPL8BoNjDj4bcZM/V8AL45cIzXpj2Et8GFw5GKJ1iA4lURZYUenTrx1lvvIAoSz7/0Bh988CHN2mXTstNQDmxYxLYNGwF4+IPVxHlyWP7NF3hdDVitNh549FFmv/0lnoYjOKwOZINEXV0FWZmt0etNFBflYdTrWL5i3W/78F1+3vz4SZ57/QviElMQwxp6q0pdbT0mWSLnYM5ph2V3641eJ3N4x+ZTjg0/9zxEnYGu2c3pPaA3M96ayeYNm7n70Wd4/dkmMZi7agltzp10ythXn7ifq669jvjMtnw9byaPv/oeV47syLqDlRwrLKdVZiKyVaaZxY5HCYKqIzM+hvoQpKZaeXvxNvxhSImLoaaxlsbaKnRCFBWNUZ1aUxF1I3lERIeOTLOdZdv20zwpHsViIjsxA4UIYkij1u/lT5PGURaOsmv9FvJqK7FajKQkJOIOg0mQUaIRjpbWIBhCJGUmk6HZWZ9fgFlvI95koREvkbCATS+BolJT56auopRIOIBeL4KgIuhE1AgYLDpEEex6M9BUN7He58FqiyWiRNh3YDc9OrZH0SAc0TBbTaTGJaAzxHDttfcwadxgYhy/lLTgZKKA7rddHWccPyyfy7DxV/Hjt58ydMzlJx07f0QPBNHCiu/P7tD7d3LGCCoATdNYvXo1+/btw2Qy0blzZwYNGvS3B/4XcVZQneUvCQRKURCwmpqKdZZuXk5N1Ei3waMAyC0qZuHSdWxYvxyDVcBmiMGZkM6Pq75sKs0igN1mJT09hdVf/0i77t3RJAhHQFUEJIsBQYliN+hRFQ1rfArhkBchGiEaiaBEIhhkEVmIEJeRTW1pITanlYCrgfXrdjDy3D50a9eRl17/EIB31uXStpWDIWnJDB09mp5dOxHRZDLTYzBZ0vjg/TfYubUpslNYfYzrLrmB8y4az+Zteykvyuehlz5l/qxnqSjNYfB5V7B39SK++OIbxk8ejiMhBZ/LRc8+A4hPSGBw/858/P58Nm3YSEQI0b5le0LBRlq1bcvLr7132s+zXcd0vO4gihKiXbtOTHtlJrNmfkCLTDM71+Xg9ZRR0xDkiXvv5aqbbjgx7paXlrF6wSMIUREEI9379iEjIRafwcrsJx480e+2Z15j5rR7/ub32q5zd3QGjWZ2O0fKKwlHFGxGA2/OfJcRQ84BIC0znagqIpsspKRaqS7yI+h09B81hsK9W6lucGGyG6mrdGMyQjikocoKYZ8fCGHR6/D6grRsHY8clQi6QhRU1NGibTI6SSI5xo4ajFIdBEWO0q9jN+orSzl8rJrh/XqTnORgzoaVOO1G9ErTYvewBHoB3IYA/nCU81p35eCxGrYfKsRmtiCZjWiKimYzYtAcOG1mTBLE6y14zSL7t63H63IhaBFAT0gJIKoikl4gPS2J+kYPIV8QCRnZaCbgcRMhglnWocgaBlEHiPTq2YMDh/eRGJOKPc5Gfs4B7p8+ncUL5nLBmAtx+0PUlh7HaLIwcMQARg278Pfeev8y8o/upPhYCa5GNxOnNOVb/PStZ7j89ml/1VMDfjlX41n+/ZxRgurPBINBDAbDryb6/G/lt34hZX5I+/+HskPHj9KhZVNm7KO1blrFnxViZyxKDkjtflPX9QtfozQvD9WWxJV3n1w8fO2erxne7XzeXruPJbNfRwiWoUR0vD3/MyZNGgf+RsKqhsWiJyInYNQCBCIyohBGUDUa6hpRFZBkEZNTh0EFS4wVo9FKdU0NIiJK0IusN5KY3hbFVYBBJxENh9D0ImtW/cS9D0zlsUem4YxpuvZ2Hq2hZasEnMDNzzzD29Om8fBTT9Kna2++Xr2Mgd0HcdW1TTmBxo8fg9vbQLse/cls2ZYu2Zm88e67xCWkk5ocR9nxY5gsDlRRQPNV0LVXP+JiMmjfsTOd26cxaeI4LHYzCxd8c9LnsnDOTN5+ZyadMpszc9FKAF5+4yXemvEifm+YqBJBVVUknQ6jPhZVgvi0VFy1XtSID1mCgvyiUyoPdO3ajmBQxSvKdB46FbX2AFUV+WRmZFLtEagtOkhIFbBaDPQZeQulBxdgzRzCkhkPn7DRvU9fvAE3dp2VzObNufmaW7j78Xup9fiwyTLuoA+9TiAzPZkOrTrwzrvvnuTDE7fcyPJdezHqZWLtZsJ+Dw3uMF2zU4j4PMgGiRqfm237ilBUcOgl4px2yupcREJRdDqR9KwEwoKKMSzhbwwSNegwWkCQ9FSEPdiMBtItMWRZY8nxVDNl7Bts2Pg4+aU1SHoJvU2gocSHOc2EQ7Cyc1chBpOMoLfSPDGGal+EzGbpuP1WElOdiIoBt9dPmAayk61s33eUAcP6s3LhYqJBH5oYoXfnbuzO2UPYG0YTBAx6CVVRaJmVTE5OOWabEUGKYDGbUKM6slpkcPxYPm6XC1ETESUFNIVhY8cR8XkJ+aoxxKRQX1BLWlYMzVu3ZdLll/HoTXfSoV9zbpzwJ1587QUO5h3isXvvYciES7FaU37TPfkvwVUKMScnxx00sD0bNh7mwNb1WGPNxDmTsCc0+zc5eBb4eafmX3LGCCpVVXn22Wd55513qKqqIi8vjxYtWjBt2jSysrK47rrr/jDnzmTORqjOEio5jiGjJduXfEzvSVefcvzme+4kp7Ca7kNGkJ+zhdqKGqzBIEZnCheMv5y9x/I5sPkrolKYsedewKrVW3GpAcxalEZ3PUIkSG2Dl5TEFMLhAHqDhkUEUa+nMaARYzczbvxEPl/0CQ5DEkFfA+u+/Z59R/dxx5+uYcO2gwC89tz93Hnvk0iGk/MMewEZlZefeZ7kBDtHikvp3ac7VccrqXbX88PaNfQe1JeDew5w6TU3U3esgr2H99EQdDFn8Rzee/YFbrnjCeJsTbLm+luv54NZH3CkoJoPZz3D9t07kAWB66+dypTLbz7tZzj1xqsY0jqDa+/7OZfOa68+zXMvvIysFzFbbGS17Up9IEpNcR6jho3k+bfepX+HNkSFCEVH8k+y161nJyLGNPzeWt6YNZe7r55IUIhi08kEEFBVCPp8SJoei1XHsPPGsn3rIYRIHXt27jphJ7tjZ7I7tKJ5emvefvV5sjt3QZA12rQezLkjhnDkyGbWrPoBj9fD5JGDefO9j055b0/fNoXyxigmk43i4nwE/JRVuqhu8OAwm6n1uYkGVeLtVjBAXZ0fv6ZgFkWymyUQ1EvoFBFfQEU0qUgShKMqPiVCn9ad6dO1Ex8vX4ZRlEm22unWagBlrt3U1Edwa1GapVhY/WMOoYiKxeJArzeiGY1YdVZiMzsRIUq81UJ896EUbFuDJdhIXTCIEAjSPDuOhmofRRVVVNYUkRZnw11bQV2Diw/f+4BnX3yB3JwDmCQZVRZoFhdHpaceny+IGlLQm/WYTAa8rgCCCAYjiIpIVA0zatgE8qvKeOvFJ7jt/mnUV1Vgs5qRRR0ZzVth0dw0eAz079kG1SjTeXQPzusx5Tfdk/9aKmj6V/3zNOY1F3cjI6UNT7+x8N/m1Vn+Nv+s/9/i3+5yMtOnT+fjjz/mpZdeQq/Xn2jv1KnT/8yC9LP857Pp23lA/t/sB7B/8+KTXlflNU2FGTKaNmX8tZhau+MY90y7g4KjBcQ50ji48Qc8NY0o/ij1ko7efXqxv6KMxrpS4pxxxCcnUFRwlNYds2jVqjVt2jSnU7c+GM1WYmPiECx2ZL0OWTbiDkYx21OxWWwkJibjd/mwSgZGjB2BwaRDsOh56qlHcUc1li5sipzc88jLp4gpACvwyNOvc/7553PFhVPJbJlFv+6d2Z27i507NpPSLJuxo86jpMpFycEtWFMCEKnjwikT+eztWeSVlFJxfBszXnuCx594GMHdyE+bv2HW83dTU1OCzWhl8ujJbNu47hc/22B57UliCuCeex8nzumgouAo0WiQwuN5+D3VZMSl8NHb79K7axvCoTDxMU7adOjEzpx8LrzuCQaNPZ9AIEigJp8R53Rj7pw5aDqVi0eMJ+dwHkkJaRisNlKbpTBiwhVEVZVVK5cTdhUT9ProOWgskyZfQKf+/UiKsxEjiJiTkhk9eSqarOO8MaN48an7WfntHPr2HkJQCSPJOoqqKhk+Zjht27Tn2hvva3oTSj1VtR6sSoCy0uOUllewaW8BOaWV1LoC+Lxe1KhG66wkbGY9jfUBzHqZ1llJiIIOxSwSEKL4gkEEUSWsUwhLKlE92AxGjpcdZdaKhQTCYVLj42kzQMf6w2spr/dR6fZgNkEzQwLBiBFLTHPs6Rm07Nid9q2607xtJ9o3TyHZYKbB5aJxxxd898F0ymqPkOhQiY+RqKjxIKvxjBnenzGDR6CE/biDEmgCYjRIWeFxUDQ8wQBJSQkcKy0j4IkgqAomq4zD7MDd4CaiBNHpIqBJWOwmMtJa89PODRQcLWX0uEk0VJQgKBG83hAjhw7g8IG95BQXUl5dQkltKbdec/MJMbXv8EGOFBzgrqljf9N9+2fy/kZ52d+a6Ke2wcf+zUsIHPnx/1tS4K8K2cxZtIcrL72aJd8sYd+6H36Xn2f5z+d3R6iys7N59913GT58ODabjX379tGiRQuOHDlCv379aGho+Gf5ekZxNkJ15hMo3YUpvcdftZ6ajfhnajhd/b333niS5rExhCMaY6+98y/GB+jVfzifLVrMM88+S48OLfh64yEyYy10GDSV7Ru/QA3W4AqBr9HP6PHD+X7p56QkxNHoCzDryxW8NH0G9QX5ZGSkc+GVN7F19z6MUhnHc/Mo2F/UlE8KMMeYMagKfXp34duVPyLKCm5PiOyUNPw6I2a9nuED+rJt64+0a5HG4bwCZEngzReeAUfWKe+p3g2xf3HZ3nzznWS2aENxQSE4LdiNToIBH2Xl+SgCtMtoxbNPP8AnH75BjUth3ORRzJr3EZHyWiwmB5OHjqHcW8GkS68F4OvFc/no43n06tOFhx9/9aRzVxWUcvGV4/AEfOze9bfzVXXqNQhbyxaMHTOFZe8+QcTgpK4wj/jUBFzVZZgt8fij8MPWvdx12XiqXeXMnPkGPToNOGHjwikXs337bixmmZyDOTz64us8++DdAHTo2gWzbMATDnDuwFHMmNnkb4dePdHLEo2uBoIhFYddxiBZ2btzBz2Hj8Jh0Bh9/mV8+tEHeBtrECSNcDBAcWEpcz9+jS8/mk9jOEJJZT0WUUJDoyEQwm7UIUt67BYjXo+P+lAAi96EOcuCyxtC9EaJKgrx8Yk4gSo5jCSCoAlogkaiFIvFaKIiVIM7HCbeGUOC0YJe0AihUOXz0MEQy+7SeirdYezWZExOI4KoI6VVC+SQiXidTHl1CXFxOjZs3IzeZKJ/t15ktWzN1kO5BEN2RvZshqvejckRYPOmA3Tp3pcvl8zD11jJfTdfx4Hjuezfc5jjBYXExjioratGr9MRjEQxm4wE3EHsDgMp8VbyK4KE/D7QwGS1IagBlKiKqFNBFFDCGiYjmMwGTHoHdquBRcu+Ztni5Vx59eXMee997r1zOlh+dwzgD2ftlzPo0e8cYlJ7/rtdOctpWPD5Yi675Jc3EMEZNOVnMpk4cuQImZmZJwmqw4cP07t3b7xe7x/m3JnMWUF1ZnFowxIO79rCRXe/DMCBTZ/T6Zy/f0vyvm3fkX9sH4XljQiuRmZ8shCrzcINt9/J518uZ9CQIRQVu8g/msNdz80jNi6RWdNvpP/gIew9dBw5GiI+JZatmzbRIqMlPg1qq4tprDiGToWErCS+X/QtALM+WMHIS8eRaYGV+8rp0DEVpQ62HD5EcoLG1x98js0qEtYLZMY3R1WChJAoPLaD6rIKxo29hG++Xc4lE4YzvFdvijwNfPTeR2SmOhk5cDBdhk0+6b2VuVykxcRQ6tJIjhHQAeuLQBeAAW2bagf26Hs+m9Ztpm2rFOoqCph09ZVYCZKRZGLGO0s5nHuY2675E8cKt1BeUMZtD75w8gfY4APnqVGxZZ8uYOLllwFQk3+chBa/lP8atu/8kcuvewxLjJPs9m2or6sn2lhJTXkpPiWEqIfCvXm0b9uaWp8bu93MJZdexOL5S+k5oA/7Dx4jqvgQAhqHDh1g9EXXU12+k88XrWb8qIEEIwo2i5VwUMVokli7cTfXXX8dhGtwRe1s/Go+AGOuuQJc9dQUFNG9fTfeXdDUvn7jXjauX8GocZdw8UUjiDUaKa+tRdOgc7MM6lxuVBTirBZK3V4EVUDWSRTW1WCXZPwRtamOoDdIZptELJiJ6EJ4Kv2YzBaCwTBXntuH/MoG9hYUYDLIBGSRiKZwYas27CyvJCBG8YXh2NFa1EAEjShJNhvts5uxrbAEJAsTenXj2z17CAfDiIJGemwctjg77qoqJlx5HzNefwSLMQZF8ZPoiKd5u37E2ONJbJONJVqL0qjRtmUc63ZX4PFXc/DgGlw1Po4e2su0516ldbKBG2+/A0EEvSQTjIbRItC6TSp5ueVIBkCElMRkGj0N+FwhzBYdcbFxlJdXIQB2m5GIEsQk6bntnuvZuj4PS4wJSRWYs+Arvlr4AhOmPISvrgiv10VSZhemPTiZqMfI088/gexo/ffd6Gf5r2LJugNMGvK3C0efMYKqZ8+e3HXXXVxxxRUnCaqnnnqKNWvWsHHjxj/MuTOZs4LqzCJ/yyLW/7CWax599xd6/EoOYNchiDl9/S6AZukxFJe6eO+j2Xy/7hCSJZHmLVMpOLSdWl8dobCf/t37UVxTzb4De7BgJiXBiDWxGYf2HWDmjNf5dMEilIhA8fG9CDowJSWw7P35vLPgE266bCoqMOvr1Vx33kgkCUpcUFFTS01NOYNatMcnuSmv8LHzwF6GnzuOhrzdHMk7yHVXTQVg5msv0qJtJmPGTOHRO67i2TfnMv/dR7jiT7fBr+Sk3l9Rx9o1P2BrPoTrzzk5OldXWsKhvDwGDRtOVWExol6isDyHXj1HsHr9exTvK2Pi+MnEZXU+Meb771fy7uzXcMQ4uXjSaJZ8+yMxDjMvvdi0my87OxWjXkIvi+zeV8TCpZ/x2itvYrMnUXZsF1ZnAoVHj2CzmMhMb0nPK+6jY/YwcnZ+wuJFC4lPcJKankh2sw5s3LGfEQM7c/Hll1F75CDDzx1Di1YtEHXQun1HSgqOoaggCHoEo0i7rEwO5R7l1vuf4dZLL6Bbj16YnFbcHpWD29YD0GPQSMzWRKx2PQW5OVx05UScZhl/fZAvFn/C3j0/Jy1dO38hdzwzjXAkgCfgI6qoDOvaGrPZSI3LQ32tF1UU0Vk05KhEcYWLxFYJOKIyql5DURUyExIIR8NU+b2UNLrR1wnoTTrq9GHMeplsZwL5rlrUSBSb3kn3tDSKyquJiY1n5aaf6NSqNRa9isvro7yhnl6tm+FVBQpLa2mTlEKJL0y5qwYlGCAS9KNpGrJeJBSIEh/vIORXUDQZURflnltvY8Y7bxJjc2Ky2Bg6/iYyY3WE1AixzQeiGrI4tPdrwj4vtY0eunbO5uCWVeRuWcuO3fsoLi1h0LAeNNTUkhhnY+SwMXz48UIkCRJT46mrqUUTBDRVI8ZmobbeR3pSDFXVLsx2meqqKsaPnsjy75q+izuvv4g3Pmiabl/0wRvIkkzf4X1JSW/Hc9NuoUOX1ky4uGkzQaNnDw7bvz6pVeWOpST3uuBfft6znMqXa3cyefhvixqeMYJqxYoVXHnllTz88MM8/fTTPPXUU+Tm5vLJJ5/w9ddfM3LkyL/Lkeeff55HHnmEO++8kxkzZpxoz8nJ4cEHH2T9+vWoqkqHDh1YtGgRzZr98s6JGTNm8Pbbb1NcXEx8fDwXXnghzz//PEaj8USf2bNn8/LLL1NRUUGHDh2YMWMGAwcO/M3+nhVU/36q964gseu4f9hOwfoFHMrLYcDAsTjb9j3RfmTfDtp26QXAwo9eYcq193Hf44/xytPTeeqDzyg/tIcD+UWkJsRTUVuKnjBaWMOSFEfUB70H9WbPxk001FXRul0n0OlJc9rxemopLakjPimBtlnNuevupu376zdvQ0jIYlDrpNPuTHlrzhz0Jht/mvLz1vLjOTtYu3kfN15//d98n7vKq+iRmnRK+5sLvqZlZiZjB/ztJzsCtezZtZUjx49z6VV3nnL4uScepKqumonjLmXbtg089Ph05s+ZzhXXPMabz03jjkeeoWuX5ny7ej/3PfYwn8x8hWWrv2bLd0sZMXg4f7rnPjZ8uZ2sntlcc9vVFFVp2K02zGKUkCDib/Sj+mtp1szJ+2/Po1mLZF59/WPenvUyr89dzp1TJ1NalM+xvKapxBdnvs/oMZO5+5YraNe2O3mluXgq6wlpIk6rQEWtj4SYGAaPGkL37gO5608XsWPjFh5+/Hk++nAWACW5+3F7VcZdNoHpN9zAZfc1lRW69OKxbN+1m5AagQgM69IOn9eLOxhhx/FSFCVKcpIDW6wNBLCa9MQZbehEKKl3EXAHSLPZicQ0JRHV+6MUVXpol51Fs2QL3x89SPvYthwozsFusOBSfIRUBZvezPF9xZisZtLjnORXVmEzm/H7Q1jNelQNohqEohqIEQwGgXizner6OghHMVuNJCbE0LdTawrK6th+KBe73YBeMuPyuDEYTSgKEBLoP3Ik1d4okyZeT70zmXi9nb2bl5DRbhQHNi1iUPeuvPL8nchqlM6du/HFosV8OPcdKguP8ugTr2J3yoSDUUQRTDYjdZUBkhJkQiEBZ6yF+gYXzZul0qn7COrrSrj7rvsoL6lg6jVNm5tmz3yGpV8sYfW6rYDhlOuNSA7Iv2037u/nPzkb1v8W5fzaY+OpnDGCCuC7777jueeeY9euXaiqSvfu3Xn88ccZNWrU3+XEjh07uPjii7Hb7QwdOvSEoDp+/Di9e/fmuuuu49JLL8XhcJCTk0OvXr1ITPzrmuRNfPrpp1x33XV89NFH9O/fn7y8PK6++mouueQSXn+9qZbZ559/zpVXXsns2bMZMGAA7777Lh988AGHDx/+VaH2l5wVVP9C/MfB/MtTQ/8waj2IsSc1TZ06iTffe4fX33qT3Zs2oBnsTH/maWZ9uID3X3oFgK2HiymtL2LXxo14VSvBUCPRxgosSSmkpLQlFPCTkmJC742y9+A+3nrxRV7/cC6JyRa+Xb6a7t3bMbD/CNLSUkiKjSMUBov+dA7+Om9/8hbtm6cyeODkv935F/jsi6VceuFveNJWj4P469/FM4/fz7Snn+OvI4JLF77L4q9XMPWG6Tz3yNXcesut/LDxB9595zOmXnwe9hbZfL3gc0LREL2GnUNCYis27tjPD1/OJT0xg0lXn4/N1JJATRkhnZ/cnHL8riri42NxhTSuuekWivLy+ODNN0867zsLv+K6KRNYs3kzr77wOv0HDiDGJLNuw1b27v2JhQsWMuWS8Zh1BlRBIC+3kAWLFnDZxZedsNG2Qyb1LjdG2UBxYSWJqXEIQDgcBTQkUSDFYafR76cxEESQdCgRjeH9WiOKZjxRPzV+D7FmK5JOIBxSqHV5CNSE8PhDtG6RiEmE6pBAVoqVGp8bRJnsuExqGhqR8BJUVUqDbrxVQXy+ABeMHEGZu5j9u8vAZMSgiVgcdgIRCIbDhBq9iHoTVlscGektkRxWZJMF1a9SW3UMX2MNIVWloewwYsSAMcaJzmTEYk9FpoHliz7iyedmMP+92QCsrYa2ibB04UZ0apgBI7rTKdHJE/NzUEWFvd+9TF1JGf76avbu3c8Vl0zg61XfoskaKBDwK1hMEAxCcqKNyy+bwo49eYSiAtlZSfTq1Z+j+fkkJiTx8Yezufqqqcz58F0mTh7OmpVr2LHzJ9C3AWD+3Pe4ePQg9Mlt//Y1e5b/aj796jsunzD6d405owTVH4nX66V79+7Mnj2b6dOn07Vr1xOCasqUKciyzLx5836zvdtuu42cnBzWrl17ou3ee+9l+/btJ6Yj+/TpQ/fu3Xn77bdP9GnXrh0TJ07k+eef/03nOSuo/jPZu2UFN971MNv/P6XAnxl67mBU9PjdNTRvkU1yop0RQ0cxftwU+g8bRGx6C77+5GMAjrhVXn/xBd599hF2FNTyw8rPyUpNRWdN4nhhMUabieadm7P0k0V89Px0XlvyA5dNGobqh6ri/WSnZ7F9xy569uuEwxj/b/gUTuW9WS9z4633/2H2GlxFOGMyueu2q5gxcy4AhUfLePblF0m0R9hzaD/zFy7i4xkfUlJfyuefz6dT+560a9eSH7dtYt/Oo3TsPwFZqeTSC2/ijjuuoUevjiihIBEUjucW0KpjNia7jbAnwHsfzufJB+7jh3XrAPjkq8XMfXs2a1c17ch6bf5qEmPimfXyQzji9NRUezFpPh57fBrnjh7HhPHDaGz0c+DAARbMf5d3PpjL0iWrGdAjm827jpGU4kTSSUiSiNcfRNFUJEGHpqkIQlM6GQkZRYgQDUNqfCyOTAtefwijIhGVFCIIJIpGFIuMw28EO/gbfZhNdkpLKhF1OlSgVWoSOAwEvH5CWphUyYTBpsfTGKBRC9IQDeELhXDaYzm8rwhJ0tGyWSrl1QFkoxGb00GM1U6LlHTi2mRzLKeU+pBCJOTBYtYT9aloso1wyEXzfsPw5hYhp6Rg08mUF+RhsUu8MvNRKoFDG8K4S3Zw7+UD2J3bSPc2Dt76dD06Y5iY9NZsz8mhdWI6tqiVb1e9Tn3hMW6YOI7JN95ErwHnsGj11/TOzOTRB+/hxddfZt6ceYwY1STcE5P0jB4xnvbts3j/o8/x++oJBPy0bZlOnMNJcUUtWzb/xKKVq/ly0WLOHTKIo4e38tYHX3PNxN7MWbYSAjKzZjzArQ+/84ddu2f57+eMSZvwR3PrrbcyduxYRowYcVK7qqp88803tG7dmtGjR5OYmEifPn1YtmzZr9o755xz2LVrF9u3bwcgPz+fb7/9lrFjm7bahsNhdu3adUo0bdSoUfz000+/aDcUCuF2u0/6O8uZzcdzXufSi0bw+WdNOYKGnzeMuct3MmbKBQwdPZyRF4znqhuu57LrrySj3WD6jDifR594HJNO5c3XPqKktIZO3TugqGEGd27P3GVN5SJenf4I1954BwC9msczdtwY9h85yJIli8kvPIzbU4+rwkWntk3RznsmDSMZSDVDt7adeXXeEmSL9YwRU8AfKqYA5r3/KRdfctEJMQVQVrQdJZhPaWkxD915Fx/Nfo/vdv3IjoP7adGqNSVVx8grLSDsVrnwskvw1R0jLjaeH39awvp1X2GyW2nRoiMWg5HOXdtz9503YxZE9CYDDzx0L3WRnzfETJ1wEZOv+rkA7T1XjKSuZB9b1n/HqiUryEiIcNHE83ji8Xvo3qEZ3vJSnA4z/QcOYdPn83EG3KSkxTChV1di4m3YYxzEOWJpm5VOVmoGemTMsoQgiSgIxNmtZCbHoIZAkiUSM2PIjEkk0RiLSTYQRiROsqFz2DAJOhxxOvbtywdFo6qqGofZwFUXjCY1MY60zCScZieSpJERY8Vk0VFc24hPVFHDArF6CxbJTKrFicVoJD7WQXV9gLjkVCzxWTitdlSLnf3uCElOA5IQYnC6nj6tk2jbJo67n3gTc5xIWofuxEkyrfufgxCuZcDgich6D0tmPsrBdesRSxUm9tATm5JEpQcKjh4H4PbLBzN+0ki6dMrk9avP5eYxHdm/62uGDr+YuKSu1Ks6lmzIQRf1c8OosXTr3J5Fi5ZTfrzohJgCqC4v5addG3n2xVfJSHbSv11zFs7/hHP69mPrrgM0Vlfw8YezeP25x/h2+ffccc9jvPXB1wD86aZruXLMYAqO7OLWh98hEq5l/65v/9Br+Cxn+b38pgiV0+n8zdnQ6+v/RtKPv2DhwoU8++yz7NixA6PRyJAhQ05EqCorK0lJScFsNjN9+nSGDh3KqlWreOSRR/jxxx8ZPHjwL9p96623uPfee9E0jWg0ys0338zs2U1h6/LyctLS0ti8eTP9+/c/Mea5555j7ty55Obmntbmk08+yVNPPXVK+9kI1ZnFmNEDuOvmm3jg2WeJi3ESjCpEVD0x8ckoip+1y77l8Tc+ZPvGb+nWpx/P338fwy+aSI/eQ0l0iOzbuod5H33EZVdcRLcurUiKy+L5Gc+CKtKybXs84SDrl6/l9iceZ8z5YzmvVx/ufOYxRvYdxfkjB1HcWMfyr5ZgiW9Fnzap7C70cMXwn1M3FIYhSw9rtu1nRJ/OLFp3kAuHdPz3P9n8AbhKc4iJS6CwpIys1j/XMFy2fDnxJjhn5HhQgyAamfH6U1w47gJuuvNWLhs/mTmL52DXWWnfbwAfzvkER4ITJQiPP/EWBrOPz+a8y6G8IuKtJgRZxe8N4wuGSYqNp6bRhTMug7vvup/9B9byzKNNUeYpU6/hyVdn0zbBdJKfk84fRFyzBF5/6QOsVid9urUjMSGF3Qd3YzXI6HQi9e4ggWgYnagjoiiAhEEnEIoqSKLEhX26smTnfkwGA06zhWqXF4vVRL2rkUS7hRYtMyn3VhNSVCx6CbNoRDZZ8YQbMfgEhnRowd5jFbiDQYLhKEP692XL4VxqAn46pqdS663GL6g0hIJkqGZEvYBdZyAoKFRVNaJLMlGwvxaLyUBWs1YUVTUQk9mKNEciNkuIgzml6B1+Ag21+IIQb9BTWlOPrJfRSxLhoAcp4qfB70MvibRv1Yqgtx6D00l1jQd3fS0ZmS0YPWkyV4y7lKNHDzL2/PN/9fuvLivju++/58prruHb9bsZM7ipOPjBvF2MPfc8Vm7YRvv05ieNuf6m8yncm8uarUe57NIxeBpd1NXWMKRXN+65/2E+XjyP++5/DW/9cayxTVPN+3cuo3PPiaf14auFrzNhyt0nXr/92iPcfM9zv+n6PcuZT/3RLcS26vcP2/m3TvnNnfvzU2ZdXR3Tp09n9OjR9OvX9Ma2bNnCd999x7Rp07j77rt/ycxJlJSU0LNnT77//nu6dGn68f1LQfVn4XPppZeyYMGCE+PGjx+PxWLhs88+O63ddevWMWXKFKZPn06fPn04duwYd955JzfccAPTpk07Yfenn3464T/As88+y7x58zhy5Mhp7YZCIUKh0InXbrebjIyMs4Lq38xll4/ig0+/5IpLLiEuPgW93cms519hxITRVFVW44i1M/S8C2l01xHyhGn0RKnO30mXnr1o02kwN1wyhiuuvwp/SOW1V17g288/4fY7mnYOvT1nJnmHD7Nr51bMVif5Bce47+4H2LVrLxMmXcSG9T9w6dTr6NKqFa++/T5lpce598EXsNpBVRSc0l8XRvkXoFSBdOrC87+H6lAhiYasv2vs998u5KslK1DVCHa7laO5eSRnpLBxw494vF6UqEp6s2aEohGWzV+GnO7g0gsu4eChHJxx6URDERAitG7TleO5e8nKasH1DzzOI3fcTsskIzWeAAaTjW2btp0454Kln3LZBZef1p9H772ePs174rHqufzqa5mzbDYP3nQ/Dkcsbnc9EjL+UJjbb76Skpwj5B4t5EBpNTFmM0ElQiiqoioaNr2eri0yaNUsiaDXzdYjZQQUhUZ/AE00oGgRslskEGO3Y5TgeG41osWALU6mzusjpCjoZT3xUR0WowmXx4csGXjw3ut59vWPSUm3EfEpFNfXETULTcWJNR3luS7MegGz2UxasgXFKnL8UB1xDisRnQPZ4iCufRpVB4+i+CM4HDok1UxAVYkgEnUHUUNVeL1ulGgEQfUhGUDSdNx32wO8MutlFMJs/+kQr7z+Mk898hBHSt14gpVsWL8Hwd9AdtsOXHP5yZ/vXsB3FNSaTQzsf86J9mff/IQ/ndeGB2ctJyNJwiaFWPbND6xbugwpNu2039Ftd99Js+R4Plswj6hoxRlrISstA73RwQfvvX1K/8rj+0lu2fk0ls5yll/njFlDNXnyZIYOHcptt912UvvMmTNZs2bN35yS+zPLli3jggsuQPqLfzqKoiAIAqIo4vP5sFqtPPHEEzz22GMn+jz44INs2rSJzZtPrSAPMHDgQPr27cvLL798om3+/PnceOONeL1eotEoZrOZxYsXc8EFP4ef77zzTvbu3cv69et/k/9n11D9+7j/4bvRSQq7j5RhFCU6t88ioo+Ss7+QK266n42rv+KSK27g6UcfZuSkqdx3xfm8uXAJ40aOo+joOpLajWTDhm/4ac1G5r7xAm9/8hkrln7OJZeMpX1mHL36TQLAE2jki8ULuGbqzQwe3I316/cw5YpLsFltpLdIYvIND5IgiixZMo+br7kZN/C/eiVoYY1PvlwIip5z+vXlvof+RDOHgzc++BSAvTu+J+AuY++hMlZ8s5RzevUltXU2iz5dyJiJk1i7fAV7i0qRBT1dBl/O8SN7aazNJd5mYECf7ixfsZrM5m2x2g289cYsXn7tDY7u20n3Qf147vEXuO2W25k5+y0OHdpDhw4/b58vKznOQ/fcQlpiBoX11WSkJDPvk3kEVRVXfYg+A7txLDcXvWYipAZJTk+hpKgMu1FPvM2KikhFjQtVEhAliYsHdsAX1qEzCLjcPn7ccRSLQQcGCX8wSKozFiGqUO714nSYiAQVdKKMoEURZRHRaUAQQGxQSIpxUFRXz41TJ7Ds2+3Ep8fg9zUSVTU0MUyMYsVgEiktdBGKhqj1ePFrKjpJR3Z6PGXVjQiiAc2WhNkZS7C2BjXqRxeCgE5PnE2kPtCA6IsSjHoxiTrC4QBpLdLwNfipqCxGVUVMFgPJzlT27D/EzkO5zHrpSebMPf0D65+pUiFO/HkPXEkUMnSwbOVWiEmh5tB21u/NoefgC6jKW0/Bzq9ZuHTVL9r75PPXeOjup/AGfZhlHcNHjeDTeV/Tq1d7jLJA0Bfl9ltvoeWAUTQeWMnQUeMxxWb/w9ftWf43OWPWUH333Xece+65p7SPHj2aNWvW/GY7w4cP58CBA+zdu/fEX8+ePbn88svZu3cvBoOBXr16nTIFl5eXR2Zm5i/a9fv9iOLJb0uSJDRNQ9M09Ho9PXr0YPXq1Sf1Wb169UlTgGc58zi87gsAJl48gbjU1tx11Y18tWgRzzz5EuXFJXy1cAkXDelHzy7tESSJ75YsonW8TBC4Y8okqhuq8JBEOweEffXojU1rbm6YeinjR43mqik3nBBTADaTg2umNtWgW79+DwBdOrUlNjGDzq3b89nMp0lyWLn5mqY+/6tiCuBAQT4IIlddMZlHHn2QpYu//n8xFWDX159z4OBh+g2/hsVfLGDCuLE8Mn0W+37aTrdBvbn+pquYNusrOrfvSXJyHItnP4HqP0qbtDhc9ZXYYp206tSSlKQElLBCs7RmTDx3MKvWrOe5x5sSigaiLi6fOoUXnnvmJL/2bf6BwePHcaS0gPVrf+Dbb1Yh6fRYZCNpGbHkHDhIOBBGMmp07dgBqwZRNNzhCAUNjdR4/MQ57aTEORnSpRV13iD1Xg+1vgg5xyoxGEWCgoKExIg+HbEZRGQZJA2MOpmMDumYEwzEOZwE/GF0tRGoCVHhauRQaSW6JB3L1uzC4bBRXVxJSIkSIExUk6gV/ZQGvcTFy1RGgkiShN0mo2lw8FgFQVUjoBOwxKlEGorQ40WKBIkICkq0kfrqIsINNXg91dgNOoIRP3qDgeFd26NFw7wx420OH3WRkprFkPNGsXvnHnp2aPM3xRRAknhyQoGM/38x8by+DOqXyQ3XX8TcmY9z10WdePTKASxc8hUzP/uOG2+5glvuvu0Ue1MvuYfy8kZEQcHrC7F0+TfMeuYxduw4TOv2ndixLxfRaOCVx+7BmNCBfeVGXJVFrFryMTOev+PvvWzPcpY/lN+dZCMuLo6lS5dy//0nL2JdtmwZcXFxv9mOzWajY8eOJ7VZLBbi4uJOtN9///1ccsklDBo06MQaqhUrVrDu/3fyAEydOpW0tLQTu/PGjRvHa6+9Rrdu3U5M+U2bNo3x48efiIbdc889XHnllfTs2ZN+/frx3nvvUVxczE033fR7P46z/AtpP+RCPv3yE8K6JDZu28SG9d8xZ+kc2rdth8ffVFNr+7Eyxo0fzx333M2imERmPPcia/YeoHPXTny68CPatuvHs2++y6N3/ImSoU15x3TATTffzEOP38cLT79y2nNffuFQPv3ie47lHufDj5oyZV8w8fTTS/+LdG7Tks5tmta4fL5wPitXfMR5467lmQfvZMTw4YwZOAGAsqICYnSxjBjchgsmTeLWO5vu2weu701CQgxfrd3CrHdmI6NSVFZGbk4Fg0f1IT2lJR/O/RQD8O3qHxgzcjxr16yjdfuuVFQdo1evHtx0w10n/Pl84QeUF1RQXV/D/HkfEkElq0NXaovyafR40ckCmQlpBIJ+EATcHjc79+8lEgFREjGZTAT9ETxqCItJR2WDn2qXGxmRHt1bIogRunfLwuMP44sG8YTD5BwpxaaXKXf5iaChk/XYZBMRWwDMArGiHYfFQkVJDf06taIo5OKp629j7hdf4Ao1YLAZiGhRdJqAJIFeFIkIUKtGaZ2QSFgJcaSkmog/3BQxC0loYY3a3BJsZj11DX50BhmdwUua1Uh1bRiP10+sWUco6MfvC+Iw6Phs6RpUncgD9z1I89kzePmV99jw3dd07/mPJ8ZcW6DRp3nTetsoTQWfE5t1481Pl6IT0xg1+GKOFR4+acwLL93FQw/MACDGbKRl57bkHC9kzsqFLNu8jcuvupxO3TvTpUt7Rg4bxLDhP2+RP3fS1ZzL1f+w36dDayxEOE3ZprOc5Zf43YLqqaee4rrrrmPdunUn1iBt3bqVVatW/eHFkS+44ALeeecdnn/+ee644w7atGnDl19+yTnn/DxXX1xcfFJE6rHHHkMQBB577DHKyspISEhg3LhxPPvssyf6XHLJJdTV1fH0009TUVFBx44d+fbbb3818nWWM4Eol09uygy++YcvCfr01Ltd7Dp0hBWfND1V985uWp8xb/YcFn4ym8eeeZrp0x4HYPTQkYwd0I/VPzVtpS+trMDfGKRN67a89txjvyimADp278lXS+acEFPgYcnyFUwaf9kvjjnT8YVULIZ/znJ4r6scgAEje9BvxM8lgNp16sCXyz9jULdB7PxpK/x/btA1P2w/0WfN+u/wNwZJS03mvJED6NyxG7GOdMpcEVrEyIwZOQyA4SOGAJCR2pPe3X7OkFxSsofmWa3YvWkTi775mudef5G7b7kLfThAjasWh1WP2x/iWGEJZqMJTdDIjInHFw5RHQgQb7ZQ5/MjSRLtMpLJr2hELwhYDEaaxduorKjD6YyjvLwSDDpsNiM6VcIVCCHpBKJqlDatMwjrIqAoRBpU4mUdYVWkKORCjjNwoKGS9MREnpr5Lia9SMCggCRgQCSkqhg9AqIi4o9GaQwESbAbkRQ9PbIykA0yARWcViP7imoJ+sNUe3xIooogRVB9EY7Xu4iiohN1eAIRBCGKCjREFMLBEFlJTmpVL916dOeRu65iwojeAMxZnUd5rY8xI7vR7a82oR4H/lY2uOHNBUppKrydV1pLUI7HB4wYfQFt4mH9jn0k+et44I6r+ezLL7n7gUd56IEZPP30zTz++NvEO+IxxlgJBX20iu2Kao/FHzEx49E76T7gHGpKCn/XdfiPcFZMneX38nflodq2bRtvvvkmOTk5aJpG+/btueOOO+jTp88/w8czkrNrqP49NBQew5nVtHZi5/GDzJvxFt16dKX/yHG0Tks/pf87n8zn2kvHoZeb8o5/tWYNE/4qRcf/Kp+89SJTb3/wn3qO1x+7kXNvGM91E6/C4wly4JiPfj0yOb/veTw669TcQevWbGLZNx8Sl9SZutpcXHWNGI0Wxo0bT0UwhusnDfqb55z7wVu8+OqzCNEIwYhKJKhy0fCBLFizFqPJxN23389zL05HECEaFYgqUWRZB6pEcoyZ9s3T+SmnkAa/H0GSEFQQRYlze7RD1UuEwiGKS+uQJQnRrifOaEKHgcqKKqoDAfzuAAajEZvRSIgo5/Vpz/pdx/Gbo4R1ComGWM7t2YWdR8swR4IUltcj2iEUVTDLBqyynroaD0ooTJXHT7zZzORz+7B8w050CDSoOvwRFYvZjKSXaahxcdX5A1ixbge+oA+LLFFaWoXNZEQVIoSiIlE1QKfMdBREunXqwKKv12K22lFFkeT4eBTMyDo/3Tr1QKeLR7ZZueXmi5j7+ef0btWaSZMvIlS6G0N699/1/X+y8iemnte0lGL+dwfo2jKFwPHviTE3o6qhinPGn5qM9vwx3XjzrXm0aNmRosrj3H7NFSxfuRpqj0L8v768zFn++zhjFqWfpYn/VkGlcgYkJ/udzP9sPpUN1fQaNJTmzbtQ76mna/KZk+Ppv5VdRxvp0erPBXJygL9dAuTtFx9EJ0rccP+pW9mP7tmLPcbCJwvm8f2G7bTrmM2br878XT7VlB7kvkfupabEhUfxk3vgKFGiyKKezhkJbD1WjNWoR2cx8t6Hi3jwwQcoKsxHjSiIog5J0OjVvhmyVcZuNFFcWM/+4gpMJhlZFNGAlu1T8fhDGCWBmmIPnVtmUOoKkppmwu0KkHO0AkUFNAVEAU2NktE8Gb2sI6CLIkoiQlQjzmSmtKwe2abHYjAQVKNYdTKZjhgO11QRDkYx6CXclV4qXEFinVZAxhljpb7WBZqKzeZANGg4LXHUKiFqjtcz9eK+fDx/JaqooZeNRKUoAhK2OAdmcwr+oI/myS04emgdETWAFlRIcNpwBRUSU1LRITHx/POpdtXRo0MSU699mPNGDqJXp248/dobv+v7+DP7S/10Tm+alv9u+ZeMPiGkAkBTWotHb72SZ2f9VRLnUD1frlnDN4s/YuTAgQwfNIzEP2Db/H8yKuDx+nFYzX+QxTLg9Dsv/1v5twoqt9v9u07q8Xiw2Wz/kGNnOv+tgurXaCzcgiOrHwvffpgpN/+2jPK/lb3795CUlkpKXBJPvPgM9XWVvPXSLJ59YTpFFWVkZ6XzwN2PnjJu+4bl9B40niWrNtCrfSt+WP0lV1136qLXs/wzcPP9wpl0GtidFHMfcDpP2+vlaXfw7covSHHYWLD29Hne/pJjRw5gs9hIysj6fe74XDz05AO88HJTIeYbbpjKdyu+IDu7A0nxNgoKiwhEghgMRo4cL0IQBT758CPue+h+AkEFo17GG4gQDakk2cw4mtuIqAKiW6Cu3oUsaKS1TiYSCBOnN5FXWk1ii3hy9pQgqAop8TFERaiu82A26KkP+zCLBtLaxBOIRhmY0Yt6dyNGQSW/qpzObdrRtl1rPli5gLbOFIobG9HpNKr8fgQN5ChYBANHCqtIsNtQZR1Og57szAR27S+kPhjB4YhBE/QkJZjwhsBmtGJNTERQRMrKjtIYCKBEIrTIysaUloYlsS+V2z5DiLHir22gS+9LuOfWC9D5fHRq9+cI7z/3seq1l56nVaqNcVfcRvmeg6R268gbTz/MuAsvoEX7pqnH228ay6vvzOfGa69Cr4bY8tNPHMir5xcLnP9WAnvA9J8V5dq6Yzd9e/2+yODfxs8PX33IsAm3/8F2/zP4twoqSZKoqKj4xfp5f43dbmfv3r20aNHiH3bwTOW/TVBVNkZJdvzrC4HmHviJNp2apgRuvOVG3pv9Hnc+eBujxowhPr4dvTo0583336WmvBhMDp594AFef/FJ7n7wyX+5r2f5C9S9zH3lEwYM6ET2gGt+pWMlTUs1f1vEMKCB6bflED6FxtqjXHPVtSSlZiAbFaqqqwgGvOw7cJyoKhH0u1GiKh++8x5X/+k6VFUg3mpj/KDuFJVVUVDppaTeRXpyPNGoRqzdRordQbmnhlizkeKKRqobvaAJWCx6srLiScZAsTcIskp6ahwbduSiCyi4lTBGo57YZnZaxiVS6nYTEhRWvD6Xu5+YRlVFHZdOHMeaLT9Q4CkHQcCqMxDwq+hEDdUtoKoKVfVeolEVndGAzWYk3m7GoooU1HowW52ERA2D1UAgFCHeZMLrDROWI+Rt3coFl91MpbeeBlc5UVUjUhfAltwcb+MxBFGHWWdGbwKdoqL6IqSnJ3PPzbcz+Nx/4pS4rx4sTXUzaysOEJ/y54LcNUDCSV237VxGdsuWzHrlTR5/9v1/nk+/k6KGMJnOv6Po5m+gNP8Y6S3+6HQQVUAS4AMsf7Dt/0z+rYJKFEWmT5+O1Wr9TUYffPBBDh06dFZQneF88uYjjLv6CRx2AxFOW8v97+LbOS8y5prTr82Z8fJjINm4656fj9eU7SMhrctJ/d6fPwc5NZHslp1ITM4gXq8w47Xnefreaazft5PBXXqieMqRbL+nxvhZfi97tu+iRUY6jpSTk4XWHVnFG2/O4OnZv5xbqPKnBST3/9cv2lfcESS7jAqoGtQV5pDU/OfpyPtuvoTiwgJef/410rqew92XDMGrKPjDYZwOB253iO+3HEbUyQzu1hqjWUesSc/ynw7jsBooqXQTiUSwW2VQoGW7VPzRILqogFoTpDoUoi7gp3OXLLyhEDEOGyXF1Yg6HZaIDtlkZEiPHrT9P/bOOj6uKv3/72tzxycTt6aRNnV3oxQoxSnubguLy+Lubou7u0sLBeru7mmTxpNJJuNz9fdHfgvLF9iFXVi6S9595fXKnHvkufee5n7m3Oc8T59KXv7kbVrbYsTFBEnNRBEkynw5BNw+Fq1eh2kJyG4HhmnjwEHAq5IwLSRTQXArJDURwUiiqjIdiRhOSUYQbWwLZNmB4PRTlF1EfUsD6XQHtiONoOkYcYvyblm0RS2yeg4kEW4kYAn0GjSCYMVQrHQt91520S++9iHg5+z1nj1rLRP3HPATR7978C//+kOG7T2VO647g2tue+4X29PF35HeAmrl723FbsHvKqhKS0t/duqZvzFnzhy6dev2Lxu2u/PfJKjWr1tLv/4/9cfrP88j912DwxvkT3/65/njPl+/HqduMG7wIAyzHo/UKaDuu+0KLr/u3u9XNppB/nmrqF38ftx18w2cf9EZeDN+m121R51xAQfsO5Hl37zBX596j4KKXpBsR5VFjjpyTz6dvoBBPcqZvmgVWlxHVhx4HSL1zSEqyovpSCQY1COPtFNGEmBQcX+ammvID2Qwe/V22lIpZARS8TSRVIJMvwOvopJI6yQNHUkUqOxfQnWyDX9aJSIaiAr0DRSQn11I9a5a7rztRlavb6R62yoWLVhJnV5P3NIhYeFzqTg8Dsw0OH0y2za04pMVEjIEnQFCkQSWw6bUGySkm5h6Apdg0p6OMbikiAHlZbw8dykeh4LDFUSRHWR7comF66iNhcA0cKsefH4nxcFKho8ZRSiiU9J/DIMPGseIbNCA/J95vb9ctJ19R/+z/X8/TQT4bMZMti+Zx3XXXv+9Y/3KHZjYbKrSwUyB5PyXx/lj8MOVvk46ww5vnPMmffY49j9s0+7BvfdczjGHHUpJzwk8c+c1nH3NnV1O6bsL/02C6ueSSFu4rTC4Mv+uVOff9lv4PzTWVuP02mRklP7DeksaYows+Hmrol38t5AAfi1n2h+STkGrneaaM09gwKQT+OvtF6NbGm6Pwt7jJ1O1cwdtiRA7NlRhYKNIIpYooJvgVGQMzcDt9NCzJJtgnpOOhIGl6fTJK2Tt9jpq28JEoikQZNwOBcMwkBRIpAw0zSIv4CCvIpfGVDuiLeI1HdiyQLuZQpEEJvUeytp12zh66hFk5OSycM58Fu9YgiFZeHUZ0yEQ13QESSTgcFJWUMzm9bswNZMhpQVsaGhCN6E9nkayHVguEyNlMbFPN3aG4mjpFA1WErcziKEJWOkEsmKTkRnEKWaT1hqIGgky3LkMGjeWKSP3Yem2esy0zegpx9BvEMz/uoalX39JYcBDn3H7cNT4H3tA/2epq/qQjz+YwbmXPfZ7m/LbY20D8Vd47RdezqpVW/lq5kwuv/kpAE44dAAjho3n4ht+mMrnj8ArL9zBSadds/tESu/ifxe3Kv4fMQW/REzNff/HdmRZoLcDMO31zgTVeV7+TkwZNG9e870WW3e18tYX79C/4PtJbbv4bVmzbut/YJTvi6n2xvZftXfVCUUulZdee5fF059D0zqwdRNdM3jv03fJLs2mpmoniDYuVcIWDLBNVNFGN3QCPhelRZkU5mThEVz0yAoSlNys2LITj8eBaEFJrg+fU8DvUsgPuIkmUhQGnAwqy6KoKIemnW142iW6uTPIdLjId3mRRQjILtasX48p2Hz45dt8/ulHbNmxDikJAduLJCk40w58aYl4bQolLbB+1U4aQlEiVoqvt+5iZyhBUzyJ26cgqyLJuIbb4WJNS5iGtJOYvwcDRxxNUa/xVFSOQnFkoSpBUppIQ2gnCbwYRg5jJl9KqCnI408/w9zPPsRo3k6htIRbjzmUxW9dS7a5jIBrJ0eNz2HekmU/fcHbq3/V+1e1q+Xb3484ZB8O2WcoX332MkXlU/+/mIr+quPtlog9+PDpW/95vX/AW0/fxs133szdD97C1MP3Yfa0NwGQvV6ee+tdliz+AjDYVbeTztWr3Y+OyJJ/Xun/8N57d6HHO58nje0rWLLzA045pdMncL+JAznptGsAWDXjpZ/s49+ha4XqX+R/cYXqX8dm+9w3qKjoD4X/P1mpUQNyyfdqrVvwOQ53JoUFQbx5vX4HO7v4o/DCTY/x9PSn2FHdTCLVgWjbuFWZlCVimyaSQ8VImQgOC8XhQlJlzIRG98ICstwKST2NKMo4vF42bqzBFA3MVJqi7CAd8SRORSLgdNLQEaU1mUKybQRJYM8BPdmW6iDgdqE3Jwn4Mmg3kqiCQlxO4RJEbNtDzOzA7XCgJBykfGn8tsqazU04PB6suI7pcmJqBpkeN4l0EluRMW0DW7AwYwkcioQoKOT5XYzoWYnLqTKjqhZBTCMacWzThZHoYFK/nny+fCPJRBoUAcnUyMwKIFsa0XSassJcNm2vxe1yk0hHKSksZVBlGYvX1eJ2iJQPKef0Q45i6ar5pHWV667v3N374O3ns2b1Rh554K/4iv95uIx/mVQtpE0I/JGCLjcBWRy5/0DendYZVd4IzUfOGsdt5+3PdY9P+0GLyu4Oxo/al+ff/hSAikKB7fWdj/YjD+3Nux9tIrxrJsefeSUFxXnU1TRywIF70Nwuc9vNd//Hzuzf4Z2/XsriugauOfo0Mofs+2153Y4l1FdV8fQbb2CkWnnh1fnUNi2hOG8kX09/nDsffI72Xbt4/9WPWd7WxPqFM1m3aRFvv76465Xf7kKXoPq5fBdnZumSuaxavZ6zzupK8dPFb8fXn3/F3gfsw9GHTqG+rZmUJhCONGOkDZzOAE31DZiihSK6EBWL/NwcQuE2DhvXD6/LR1M6jREzaElGUFFJpTWWbajGNAxMQ8fvd1KSk0Om383iDVtxqAqRhI7P6WBAz2ISKbBJ4Fe8eLKy8bvd1NbUk53lprh7GWu2bKQ+ESJDUtEiNqXFeewMhzBiacKJNJl+P0UFGWytjhKOgS8zA6ffSVJLEd7ZgGm0oToUdAsEyQbDQlFkfF4Pmh4lw+EhoCos21JNIOhGsizaOuK4VAnF60FPJkCQiYU7EBUbVVFJaimCvgw6IlHcThf+DC/HnX4SWrSdr2csY9DI0aSjcSbuM5lPX76HQ448DKesUFDSk01bajj3z//cH7KLH9KycwY5pZMhth68/b53bMr4bCLtOgvXd/xk+9uvOI5r732D4f0z0DWT3IJuzJi94SfrTz16DMuWrMHr9NGj7wAKXUGefu3tX+18fg3efvoWjj77hp88vqtmJZ988AnnXXQDREOccfoxPPfOV/Tr48ej+lmyqhaAnKDA0w8/RspjUbemjqUbFrJo0TxyMvIp69mNdz9Y1CWodhf++wXVLuDf2zTw0E3n07dfOfGGeg678MfTtsyf8QHV8TRNdY1c8ueL/63xuvjjka5dg1o8kJ92tu3E6NiBHCgDYO6KdXz+ysu8P/0dZBFEwUE4EkV2CliaQEJP4FYcpHQNbAHdtPA7VQ4bM4jGuIRix2hNpPFkO4jqBoZpokZM6urbaE2mccoCuqXRHEpT4PcRMdJ4HBL9K4swZYH2dBo9qeORvaQdSfyag1MPHk6Hlc+MRTOxJZG2aISYqVOu5tCtez5t4TjV6RbWzKuib+9CevXMZ31LM8EcLzuW6fToFmRTTSuyYmFbFvF4B6VehZhm4RShIZrAwsTnVTHTNqFEB7Isk4gmUVQJSzfx+9y0hiOoioogWAgSWJqObVj0HdSP1Ws2gqHTp7IvtfXbESQHXr+f/KIBFAclKksymb14PYcfsQ8XXno3mzcspFffziCbGvDbBBL44/DE3Wdz7pVPs2Tm44ycdB4AYwd4WLA2/jNaRxjcuxTTtjlg/ATufu7jH601dlwPFszf9u3n4aPK2XfiJO64ZzfbQZnYBu4evPPp8xx10OnMffMepi9Zy9mnHcMH85exffl6Ghp2MHbiFC694nbysyT6j+hHW0MHqqxwyKRx3PjQy7ic8MKLT/P2e89T6sqgPpKgpqaWrfVV1NfRJah2F/77BdW/x5oFXzBw7JSfOBoFOgO7btq4it59Bv+nzOrifwCrfQPzF29gwn5HAimwW0H4YVqhHyUUwnS7uercP3Hviy9RWpaLYegYCMi2hNPrwrIlYvE0e00YzlfzFiCbIgGfg1F9imkJp8nL9NMeS6EZErJqkkikCTcl8fkcbGloxjLA71WIJHUKfG4SmkFusQfD4SAV16jMCtCS1vAFMmirDeH3ZjOqX09qaaVqRT2iRyOd1nH73GyrCnPA6IG8981qDMEm0++mqbkDURAoyQtS1x6nLD+TlmiatGR0CjWnQo8BQ4jU17Jh/WaCTpMCt4f2ZAJZVOheGGBdVR098jMJxRM4BHB7PSzfWk1h0E9rRxwDHZfqoKPdQFBAcYoooohLlWgPx1EDHrAd2PEIpeVF5GZlUNewi9KSHnzy+UKGjeiHLHkp7jmQB++4lfc+/YBLzj0XgOrmFN1zf73deA21TRQU5/3zit/ju79Buyvjh/gozOlBQ3szlUUlPPfhwn+rv8tuuILLz7+Qiy76Ew3b1zF3yQ/92yp6FYJlkxXMpLGljiyPxCP3PcSE/U76t8b+tXnmwatRPEFOPfsvAAwZVki+7GTa4iqKcwV69+1BZmYuazdtYeOGFvae3BdZ9LBw7jIME9xeOOu8s3nxhReItumM2HMInpTJ8rXrSKQselZ2Z/mK6t3DKX3u3LmceOKJjBkzhrq6OgBeeeUV5s2b96sZ1sXuzd+Lqfj/9RM1vDTt6HQo7F3SFcagi19GY0fs/4spAOffial2Eh0drJj22t/V/u774DMvPMtjz9/Geecdx8vT3qZneR6qqFC7qx3JshkybASfvvgKmqmhqjZfzlyIZYrYtk1W0INX8bF6ex1fLtnA/FXb6DCj7NreSvXOZtLo7GyOUFaYTWamm0iHRkB10ZpK4vKppGUZxTBJ6gbxuEFzOEpZdjccopMJYwZx/KkXsm5xFS6viZ42CUd0OkIyPl8m8zfvoqBbDoIoYdsCrkwfwcxsEqpAfn4eYdNJyhQQYzaKy8BIR1m3bCaqw8HgCZPwlIxkbTRNYyTBjsYQelrH6VIwDZssr5sdzW3YmonHoWBjY4ngdylEoyn8ARG3R8KNhUe0aGyMoMgqRkojJ9tDj5JCLr3kSkb27sc151xIrj+LHj274QwEcLldNNdv45a7b2T1olnUt0Q58bh92bnw5V91PvxfMdUaT/6MVru3mAKYtzJKKtlOsr2ZDi0EwKzPH/+n7Ww0mlq3/6B877335euvZ+B3KuxqbPrB8aNO35ecnFxUxUP1jp1M3mNvjjnmDJKKh/P/fGpnJT3875zSz6Y9vZNDpoxAi6//4UG7mbMuuRNbFzhg76Hsu08/ph5wINMWVwEdnHv5NbTWRpk1ZxGhhlY2LpzGpk0b2bFlJ4gQ8IsMG9qHz19/k4ZajT0PGsair1cyf8kaJkzahz2HVNJY/etupvgbv1hQvffee0yZMgWXy8XKlStJp9NAZ7qZO+74YX6uLv738fzfv12yQF7ZyP9/sCvwZhc/h+9eaxSW/v+5Q+cOwIfuupTnH7iFFbPn4Q4EmL9k+d+1E3jj2cd55v67mfbOSzz14jTmLFxIU1OSZDpFc3sLWVluVIeb+h1bWLdtFaaWAk1AsURUBPpVdCcZ0Xlj1hIsw8Q0bYYOLEcUTOKahikJtEbjRGNR2jvi9MjNIjfTQ8LQGdinL5mqAzums9NIkJWbgVtyMCq/iJ2bqxlQnE0sEeGEs47DcIqIikq0TSfoz2Fkj76U9fHRs28e6WQSwTJJGDpyOo4gRIg3R7D0OEUZDrIyLGxVx62raJqIbUjU1zZhiwKF5T0ZPOwo+o87kL7DD2BlU4ra1gQ7QzEyc72MH9KT3qU5DOhWQFkwixy3ix6Z2RQGvUiyjKIIyKpEKJ7CFVCRHSaWodPR1EIiHuPLl/9KKNbGOVfdSFVbK7YokOP3IDhE/BkZNFQ3k4iEyciMsee4SUw89GxCNf/eass/Itvzv7P79+O5O1m2Tefdz7dw2J7lnH/++fQu+ccxHwUcZPvz+Gba+0Rb674tP2DiZPoUl3P3Q08ST+jkZH2/n9LsHBbNW0VmoQ9d1FGdbpyiyOL5i/jrA/8/jIKS8b02H739CNdddxYA0z67+UesMX7xOV98zlSql63lktMvwuHpB9Tw1/uv5NKLjgJg4drVbJg3ndP+fAUDRvVnxOBxfPXFXHr1yqNPZRnPPngHf7rkT5x50gmMmTSaC264mKtvuoeWSAeqAySHg/WrNyK4VGZPe53rTr6EZNpG9QgsWDCLeWu2cOreo36x3T+HX/zKb8iQIVxyySWcfPLJ+Hw+Vq9eTXl5OatWrWK//fajsbHxNzF0d+MP9cqvMyZcJ+2bIdi1Q6+L35oUnTnl3Bw0uR9uTwb5mRl4svNp2NnI6Wcdy5yvZnHd3Z2+H4/efx0tdTt5/bNphNtTTJk0gQ2rV7KtMYQiOmhrawXc9O5VQiQZIxkHh1vESptILgFLlxBlsDQbh0PGociUZWdS19qG6lRJx3UyvTKmLdKcSJPldhJKpcgtCRJweHDZTtrbmvFnFJI0IxC36NajG3YyRUc0SkhIIGHTFtKxJC9nnX4oH3zyHuvXtON0WSCqGIaGYaTIcKmkUjoFuZk0tyexJRFZMOmIpcgMeAhrGqKmIMgKpUUFKJlF5BTm09Au48UkJcYRrDiJthjR+s2Yuo2pxeme76WyKJtwpAOXJJDtd7OzrgXTtumIpohoKbY0tOCQBHK8LrbXRcgr9OISTXY1du409LpcyJLMXvtPZOHsJQQCPvpXlvPqG59/7+6dc+oUKrtXctnNj/7HZ85/O/ffeAaX3fx/fZpsQOCn8ixee+PttLU3cs3159Etpw/7TOpDR1uYUw4+kvNv67wHjz5yM7fddQ+abmKYBj7VSTKto4jgDgTYub2ZL2d+xr6TDuTd158k3KGxaNEMDjx8Kocdesavdn5X3HAcRqvM6q1z+GZGNTFaGduvH73KevHOp7M4ZMo4Pv5iIQdPHkNOQYBFC5ew79ixvPXlDKa9v4DBY4Zx/wM3ctmllwKBb/s95YR9+HTa15SWlPLlgh1U5AmEozZ7TRrANzPXfs+G3zVS+t/jdrvZsGEDpaWl3xNUVVVV9O3bl1Qq9asZtzvzhxJUXXTxK7FyQw1D+naG00i11JBItJPZfRB262aE7E6hfvRBoykfOJi3X3md/Q45nG+mf8KmzdWMGzsSj8dNY0Mzkw/ah2kffc6Qvj1pa4+jSWnWbdqJ0yFy9umX8fDD96ALNhkuF1MPOAQ51Yyoenni7Q9BUVCdKgISbreDeCKNZQg4nTJpw8TndiCbkOFyIykitaEIPrdCRzhJhtNJ3NTQLBNBkPHnqMh+lYBLJSOpsj7dyohgBRu2VpFT4CPD6aU5GSdCEjGukJmRQ0leBnNXbiaW0CjM8iHLIo0dHaQTabxOiVTSRhQlkCGRTCM4BHwOB6JDQkulkWQRUZZwSy7cbieCpZNd2o/uJcWs3rQD3ZmNP6kRMdLIYpJYRwpVtSjsMZBPn/vhFvmLDh/Lp0u2giBSkqWyoqoWRBtRFCnKz2Lz5hYkBQRF5IBDD2bZwiWIaGRnZjKuX38eevF9jj/xKF64+zrUokGMGlTGeX86hVPOvek/OLP+t3jrvZdpCse58Ixzv1e+umoHg8rL/mHbof2LKCnrybpN60hG26hrtL49lpmvYJkyHlVG1wxs0yCtGQgSyLZA30H98EgWNY0N+H0Z3HDrdSQNuOqSv7B1S+uvcm4De2ZTWdmHfQ7cmz+dd9O35SecsC/XXHsxJx1zGppmEsgOkJ/XnXkzZ5JRkMke46bwzYyPKOvZg13bazA1m2214W/bt8ai9C3xM3ToADZtq6Ffr7589sUCysszqKoKf8+G3UZQVVRU8NRTT7HPPvt8T1C9/PLL3HXXXWzY8NNbNv+X6BJUXXTx23D/fVdgmmneefNDvC6Fiswgm7fXsLyqBZcT3A6VhKnjkCUEGyxEPG6Fu+96gvMvOw9LFFEUFa/iQDBFCjOd1LWEcSoKrbE4actEQMWhCNgIKIpMWrewLRtJsDE0sAQDW7DxKh4cTmjriGHbIt2z/dS0R3FlOJCyHFiajVdR0NIGBUomcVVjeGYRMQTq2xvoWVTE6sadxMMGuYXZZHsVVq5poj2WwqFAfpYfQTcpKcthV307ew7pwY5trcxcsw23x0EqnSIzI0AkkaaHTyXlhMamGLpuYks2wWCAeDiOU9KZOOEQpi+YSWawkAv/cgNPP34naaB773GkNQniuwjkZ5Da0YHitjBSOp9+8Hf+To1bePGNFwgGS1i+diXrlizhixVrkBQbUwenR8Lp9iALNrluJ9GERnHPgQjxFp6/507OuPMxvvx0xu82b/53iAE/L0PE+19+TL4gM3byAWxcNo8+w8d/e+yjt5/j3Iv+RH11Bzg6A+r27J1HS2sE00xjmzZ6Ehwu8HsUvB4fgiCgoXHgIUewaMZ87njoQf50+nHE4lGaWn75/rUL/zSZR56cwbEH78l+e+7DdQ9cz9ez5lDsy+fSK87nqVe+AOCiC/fBZefy0ZdfcMoBU7nqwefo3y+flpYm8vO7oesmjc31BF0Ke/atoKCgG4edcgnD9tr/n9owefIwZsxY/r2y3UZQ3XPPPbz00ks8//zzTJ48mc8//5zq6mouueQSbrjhBs4///xfzbjdmS5B1UUXvz0l3fPR9SSpRJRsr4vivDwWr9+BIELf4mySmkk4lcY0TERZYnBFD7weH1+vXYOZtglkZiKIErFQiMrSbFrakzR3ROmVn0djLIEg2mimhWAJmIJNflYGQ/v0RPLC0gXbCHd0IAsQ021E1abI46KiIJeVWjtZggctrdG3sIAcwWZ5QxyHF2QTUiaYHouCjCzqa9pxu0BVPazb2UAiZSKJAj175FCSX0CuL4iRbmX1xgZ2NjYi2jLZQRldktm2vYUxA3vQt1sJr3wxD8PSwLaRZRFRVJAFgwMP2JfVqzewcfNWJEHAE8whp3sFn3z1OWefdgpvvPAShx59PFYaJIfCyOMuIbx+OeHa1bS3hNAizcz66jshVFwUoLaug+7lQdpCYSwbTANkQHVKjO3Xk7ghUl5SilvSmb+uiuVrtrHPoVNJRVtQRAdDB/ehZ/+e/OnUS36/yfNfRn37RgqD/1qQ1HvvuoP2jgZyfAqr17dTkN/Gnfd/xJy5S1m04BP+cuUtABQXe4lG4rhUhVhMx+tR0NHRUqCnwBYgr8hDKp7C6fJQmFdAj4oi9txrMmeefRXHHD6Z3oPG89FHT1OSX8jkffbkmwUr8QCKQ6TnwKFEY3V0Lyznky8+wq10Q0+l+PDTGVx5+em88NLrNLek2H/iMJxOhUeef45uRf0YO6I7H3zyAWNG7IHqyqCpuQ5JFnE7RA485FCuvPxGuvf41/LRPv3QlZx98fdXZncbQQVw7bXX8uCDD377ek9VVS6//HJuvfXfC5f/30SXoOqii59Hy/ZvyKnY65c3TGyjvNcg8oJBakIdxKIalmkwrCKbNTWtuEWRmGGTHwiAJNIUjWNhUVBYSEtDC7plIYsCpiXhcIr4VRXNNHAIIl6Pk7ZogmhKZ3h5N1bVNKCKEsOH9UA3LcLhOFqbRkTXiZtpom1RRlcWozsFGlqiZOS4aUwnyEs7CXtMsj0ZGJKFnk6jxlUkt0nYSJDjzyFmxci0vViaSV1TmrZYlIqiDEy/QJ+SCrRYAkG3ScWiuD0SG7Y1UxjMQLOTrK9pp29RMS2xGPuOreSTuasIdSSxDQvD1jEscDlcmAZc9OdzeOTpR/HIApFUDBsJQVQZOulo/DhJOwLk9RtDVkkWqz96iIrSfHIzMlmyoR7VTvPB849R3ruc8rJcKsuLiMaivPLSl+TlO2lq7Pxb379HHik9STCQiaTHWL49RFFOBklTZ/8pE7jl2tt58+NZzJ77Dd3zfTz+1Bvfu6Wv3HcxJ13+ICCwuXoVvboP/vcn2G5NCnCyaf0r9O73c0ITdNb/JYRqNpJV0inEliycz/vv/pWCzBzKxp7Ia0/exltvfUxp9yAul4vzzjgDFD/PPHUvm7e1kJ0j095mIAIul0AsaVNamU97czs3nHUel9zzIMPGDmXdihU4FQlJskkkLGwJsjL8ROJp3B4Fp2TRo7SchtYwwYws6uqrySssRUego3Y7sY4IlqKybc0u1q9cyPB9DwGgW6GTXfUp/D4Bt0umfuc2mnY1st8xx7BzRzUBv48Hb76JObO/4uGXXgOC3zv3zSu+ptfQvf/B1THo/Crw947Au5mgAkgkEmzYsAHLsujbty9e7x8riW2XoOqii5/Ps/ddSUXvfkw66OSfqNEAFHz76cgpk7j+hUc5aOw+5GX66d69jLZd29jeFKKtPcbeg3vhc8p8snwzWAK2YCPLMroBTkVCtwwshM5/AiBKOCQZWRIQRYFkUsMhSyQ1DUmSsAWB0ZXdMTMUEnUxcjO8NITi1MY6EGyZtlA7Bf1yyBY8NNtxBBPy3AGCDj/RjgjZGR4Up4uq6nrMgIjTpyIhoNsGSlhg7a4WVNlBXtBPoiNFfqUXzdYIOL0YIRO/z4EkKKgOm/7dsqhtaEMXZfw5+ciAlYzS3e8jHG1nSwg+XbSMgEchnkozpn8l2+taERwe1ixdwvnnnMBbH31CSjOQJRmX0012Tj6yX8aIyyiKD9FjkpWfT7duBTQ0xVCDXnyGl6RSwFv3/vNMBnl5DhJpHZdTBgOGDh7Cmg3byM4vhlSU4UMGUZwXZO2mtbi8XnqVdsPvC3DJuZdAdsWvMaX+K6ie/jDd97voPzhip4C449HHueaC874tHTFyAMm4Tn52EavXzCMe00i0boNA570Irf2M2x96muff/4RUyub2Cy/kpqcfIZ0CwQK3CihQ1r2M/fbYk0eefwHT6nSPtwzweiWOPvJotm/dStXWddQ2p8gISpiaiSnC6MFjmDKqH1uaUrz/2Qe0t8URRKisqKC+qYqnnniL8y88mVQsxfRp09hcrfHmC4/yyZcziM5/lYdeeQ+Xy+LrNTt47sl3KCzwgfeX7SC/7sbL6du3D8cfcwZ/Ou8Unnri5d1HUP3R6RJUXfy3sG3LFnpUVv7OVoSALJrWLySv35ifrLVx7SL6DBjNsmVLePihO5kx6ysUZJJJDb/HSWGGl00tbXgUmfbWGKMH9GBFdQOmJYBtEXA56UjFyXS7CCVSqJKEy6HiVFU000TTdWxENE3Dsix0E3wuFcu2GdyzG05FYcO2WkzDolXXUWUBURZJJjUC5QHcgoDYaBDIyyFuGbhUiGlJ3JIbQYPGlnby8zIxM3RKg0EiMQOHLbFmQyOCU2LPod1oSKSxwmnCcZsMj0Qg6KKlIU5hrodoOk7P0r4kWmoxRRGPIlParZQ3P5vJqP7d+HDeGizBAZZF0KvSnkzjcMp4VDfr1n7nv3rESRfwzddvUFjYnVgkjEcS2LBxG2+vbGbZ+w+ycPliigv6sXX9PFyeLERVIBRJUVjaD5fPBfU11LVvY9mc1QC0hmrIzurcTDBkVB9WLt6IzyswZY9BrK+qp70jgmibhNoMiooy0NIduFQ3Y4cO4+gTTmXxohWcf9HF5Bb9ccTU70VLTS05JZ2x26YeeijxWATB1thZX0V2Th71oTo6mqJkuBzsqO1MjJyuWcuG9bOZ9snHXPP4lwAUdM/g0rPO57Z7bidtwF79yvlqVRUOF+gGWDYIJmT4IS8rm5b2dqYMH8iqhigbVm3D6QVBBE0HlwztEZs57zzGXU8/x7INW0hE4owaPp7uajvPT1/H33zH1sx/h4HjjmL/vUbRrzyH+579FEjyyWsPcvAJ1/zi63HciUfQkowx/b0veOjZv7Ji4VI8LhfPPvbU7yOoDj/88J/d4fvvv/9vGfTfQpeg6qKLn0fNpm8o6b0Xd113IQOHD+SAqWfSXruaWH2UbiPHf6/ugnmfUb+1nTdnvESk3WTN2uVkeDxgG+T7A1T27MfkKQdw1W03khfwUtXQTNIUyHY6aY7EEUVQHRIuhxPTtIimUtjY9MnJYUtrCNsWsEwBQbBwKQ50TFRBxBItTAMkSSZtajhFB2CR1A0EZBQnuBQZLIGCshy65eaTmePliy9WkJvrAacEpoDiFfFpEqrPQSyt43U48HXLpX5HiB1bazF1C12zGNi7iIBbIcPtJpzQEVwmkbSBnLBRPZCl+pFNkcb2diTTxpvhoUeuhxdnrqU9HccpyKQFm0xfkHjK5OrrrmPapzP45O2XqOzXn269urNty05yXB5SgkRFYQ/qm3YgqxILZ83+9npP3HM4ZPZn6JCezPt6OY+/+gyvv/AsO7as4ZF776Ik/7v0VN26F6C4BSJN7aT0FPEYiAK4PaCo4BAhmQZJgL3GDsc0U6SVHFqaWjnt1LOIRCK4s/O58Kxfbwv+fyNvf/YqX8/4mnNPPovBQ8f+ZuOsXT6PT7+ew+cffEZdazVjh4+mLpmkaccmNqzezunnncby+QtYvXrzj7QOsfjDF3n+3Xl4tQaGj5zElY8+RnNLFKdDwdR10gbIAlx71nGsqG9j8/oV9C/O57MFaxnQvycOyaaqqobWmEZhXhbbqjp3Cb58/zVcdOudBN0OqupDgJdPP3yQS867jq3bNjB8zHhuuvoS7r/rQc4/5iDiOpx8Q2ecrPYtKwlWDub+W6/ksuvv4fMX7mTfA45CNiJQNPRb62+++0521e5AkDN45sF76DO8P/vtcyC53QLM39hOuqWOr95+4/cRVKeddtq3v9u2zQcffEAgEGD48OEALF++nHA4zOGHH84LL7zwqxm3O9MlqLro4pczcXgls5ctI5U0aF6zmpJRkzjr5CMYUdmXmUtnUpRXzuINyxjUayz1rXU01tcg2FDd2IriUAh1xAn4FLwOJ2ndIMMh0JE2aO1IIjklTMME06I4J4ekliaeTKMoMpZl4RQlZEUkpZsE/G7C8QQ9C4rYUtsE6DhVmXQKoqkEQbcLQbDRNAG3TybckaQw1487Ow/FtInIHeR7AiQSJi3tYYpKcojXhfFlBZCcCk3RCO01EXKzgkgeC8Gy2LQlhCgJKLJAr6J8lm+uwe1SCToVsrwqpmUxYugAOuIhJE0hZaYoy88kEUuxcGsjDa2taLqAP5BNa7yRgCvIhP2PYvaMz8kMOKjdtR0kCVGQkSyRwvx8yir70B5uojSnlB1bt9F7r8kMqKjk7BMOAmBTdRXPvfcBc97/GL9qEyjqRltTA9988Q2rN25h806Do/fvy6R9h1Nd30Y0FOHQ0/bjg2feJxZOojhAt0C0QJVBlCE700m3gjLWbdhEQUkpRUX59O81lJb2EM+9dB8CRVgtOxFzSn/Xufh7sqVxG5X5PQD45LM3OPjA4361vh96+H4uvugyrr7wdMK6QkP1ZrbsrMWy05jpBDE9TSptYZs2DoeCaYsookFjfexHeouy9u3nGHD0xewxrDvLt9Wg4CCZ0nB7BNJJG69bYvSECcydNYuRffuxaN16tDQMGFrB+nXbkSSIhL+TGXdccARV2zfREU+zaHMNhUE/4/uWIqkKhdnZhCIxKnv05KTrnv5F5z35qEMoys0jkTLoObgn0z76mpyggEPw4vUHEAIF1NbsICuvjI7aWmZ+9Nrv/8rvyiuvpK2tjSeffBJJkgAwTZPzzjsPv9/Pvffe+6sZtzvTJai66OIfEWbHuiW019UwdMqZHLLPQNrTBnPnrmXi2EoaapoY3G8ge+2/D3XNrXz26SeUuZ0s3tWEkU6hyBKGCYYoYokiCCKyopBO6TgcEpYpIjsV9IRJjlfF5RDpWZTP/DVbyfD7SKRTJNMaPo+bWEJDFGxyMv1ked2YkkhET4AoojpcZCsqLtVHXI+xfEMNsWQKRRLJ8jgozc1iVXUj+YUBOkJJxg/sxdZQG6rTJiFY2Bq4vTKBgJu6pghet4LbKTGgz0CWbl5DsqqDYGY2HWYayzap2dlKMm6QlaHQu6yQzdtaURwQ0Q1G9Klk8aa1ZMo+2jrSiDJUFGcxvkcRL3yzGBQVQZARBIXs7ADRlnZElxszEUYzUuRkZpNKaXTrO5wdW7dQ0T2HXbvqsWyLHmXlRBSZoRPP4/qLp5AHzFi4isljBnP/Y++wZP1n9Os1jl1r5/HMsy9x1Onn887zf4Uw3P7EnaRyevLOvZfREg6TSqcQMBBFgd4l3YmbCerrG2kPffcoGdg/i3RcpFe/UlIdBkk9waD+/bjkokvJ9WWytm4nY8cdwNa1s9mxYRn7HnPZbzYTa9tbKA52Jtb+6uvZ7LP3xN9srH9Ee8ok6JR+0zGMZAuyq/Nczep5SN07V4Dvu+dmnn/heYKFfdi1Yw2JSBhRgKz8TJqaQ1imTf+yCuYtXQ9NiyFvFEQ3g68zNtyVp06ivKAb59z5MlPG9WT1jiY62qI4FXD5vezdvyfxZIqEKDJv+XpkGcLt/1xaPHLHlbRvWYU74GLYoKEsW7OePJ+DU2595SfbHHHs8bg9IoHSPRg3soRHHrgX1eUjmU6STMUIevwE/FlMmHgYLakIi2d+hqKmqa6ux+nKREjHcHlklnw17/cXVDk5OcybN49evb4fLXvz5s2MHTuWUCj0qxm3O9MlqLro4pexcOYsJDnByNGTCdes5swzTqMww8VH81bh9jjRDRgycCDL167GNmziWhoDAUsUyPS6CUVTCLKIJCpYpo3brZDWbQRTRDPTjCzvTigSxhZU8n0+6iJtyLKEphnENYMsn4/i3ExSKYO400Q0TSRBQfKqhBNRUoaJPwaxaApdswjraVKaRr+CbBqTCWRbYO8RI1nasIWkoWNgIVg2TtuBQ5FQJQ9RovgklaSt4XY6aIpGyPI7aYtp9PLms3TjNhJxDQmwrM7UIJppIlo2/gw37R0xXE4Z2ZKwMXGqTh5/6EFOPvd8JIeMJEtYhkVmTpBwaxhVtpm4/xQ+/+BTBEUiw5uNhobtzCZLtgh682mM11GUWYDqcTBm/9PpkaFgqbkcsH8/PvtqI0LLGo4+7hhmz9pAY0cbo4eNo3uxwOOvv8teo/ty1omnMHfBUvY/8kB2bath8tSxvPjAcyiqRHNLZ+qxfj1zWb+1GYArLzmEux/8mMqSIH16l9K4awfDJk7i8Ycf5LG/PsXyVct5/pUvf2SGxAHPf2Yy/gH4atbX6OE27nrwHnIys8jLz+Hzjz4iosdJJSwsESQRJAlEQaA9ZP3TPq88dSLRWIIl6xpoSkYZ3KMHVirMQXtO4NzbX/xNzmPygfty9unH8eiTL4BSyElHTeGNaTOw2lo5YOqhDBsxmgcevI1Na1dy/c2389DDDxHvSFDWoxv1za3kZ2bRsKuBSDRCfmEBvoCHC848icOnnvr7C6pgMMgLL7zA1KlTv1f+4Ycfctppp9He3v6rGbc70yWouvhPMHfeCiaMH/rPK+7GxJrruPCycwmFE4ybOI43XnwaDIuVm5o45aAR7LnHZK65515UWcEwLJyqSkcyTXGmD1WUCaV1UkmdlG3RLddPJKIhOGSGVhSB7MDrUti6NUR5vpcFVXV0z85ka00zje0xfG4VXTcpyPcjyxIFhRns3NqEU5VwOlVSLhFDMMnAgUOE9qY4kiiiCSaODA95uX6yHSor1jWw16hhJLQkG1uqiZgaum0i2BZ+pxM9ZZKQQUgZyIqEkTLxu2S8ioMOTcPrctFBkgpXFms2NIJg4xBsMjwOYqZNtltm7bYGJFXGMmDqyJ68Pm8VBf4gbR1JZEVGEyxERcSnqOiGhiwoaJbGQQcezOdfzsGl2oyZcDwvP30TMaPTEfj/roecd9OTPH7Tn3jhi1r2GlpMdTTBHuXub48vXFHNmKHdeeDJ90jHdlGRU8DRRx8GLgcA515xNx3hLcya9hUOT5ydm38YPXvKHr34Ys7f/HJS3H775RT4fSTTGuXdBjLt609xuEXWr1pO97xizj3/LAZNOOHnTaaOLWA5IVjybdFDt13Bxdf9Md6M/Bzq6xt48bl7ueb6B1g8+12+/vwLnnnzbUQDalsjTNp3Eovnz0IzbGwNcIAoQr8ePVm8bMs/7b9hyxLuuu0aFNnNpAkjKC8tps+k03607rJpj5OVVU7ZyP3+ab9nn3okc5atpbxXPz5/7322bqvlieceo725ATu7jKXTP8LhdlFeXsTOmloKSsvxqz6qNm/k9AuP4vYb76GiewmZeWVUbdlAuLUZ2ZOBL9NHeUEeaUNj3KST2FmzkfmzZrB2wYLfX1BdeumlvPjii1xzzTWMHj0agEWLFnHXXXdx8skn88ADD/xqxu3OdAmq/2Y2ElnwJf6x/8ntzF2cf9qxtCda6TdoDG++8SI9S8vZvKOeoyeOIju/gIMPO4V7n7mXlTPncszUA3nt3Q/wO500RmNkuF3IDplAlh9VkWlLpnE5FTJQ2VUfYkdLmPy8DPyKk/lb6ynIzAQHXHzoBLbuamZNVT39ywt5fdpCcoM+jLRORoZKLG2QTqeQbQlBEcGwSBkGTp9Kbk4GAbeHSDzOrrowvfqUYSehJdVMzEzjdjrxuJxkSE5a0hH0RhMrVySiJXELTjK9XtrNGPluD43VUdKmTDwpIMsObIeAR1GJJ1KkExFU1SLakUYUPNikMQwRwUwjSDal+W6wJaJakkgsjW2DKBhopo0gSRRmZ5CR0Z2tNVuZdPDRrFzwBZuXreLel1cjmxu55LRjf3AvdGBVE4zIg8YOyA/AV+ts9unfuWr28HPzKPa1csTRUwHYCqSB0MoYQnQjW1prmFiawYylGzj5xGPwenJ/8r531M7i9LOvpCOZxKlIvPz4kzz22INs2FbFG58s+fcmVWgNZA389/r4H2T70i85/7qrOPzggznr/M6kxnV1W9l34gSuveoGbnzodhq31yM5JHTbJB5pA4IMHzOMZQuX/2S/oR3rySrrR6SmCn9J+b9s39g9JmAkNHTFZMK+JzJ/zod4VZWSfvsRaq8mN7sUI7qLV5+4n/6jh/PpJ5/xxjMvsHDtUjZu30yWM0BTbR0VfXqzq3ozm9ftAGDHpq0ccfqJxJIxHnnqaS684GLGDBpCXaiGy6+9jeuvuoG+wydRvW4hsz/54PcXVJZlcd999/Hwww/T0NAAQEFBARdddBGXXXbZt35V/+t0CaouflO0EDiyfm8rfpR042zU/J/vhzJz3hImDRrJ2Vccz9NPvs7dD93Ek48/R0tjE26XEwsFSXWhpeO4FJtHr7+da2+9ldZYDL9XZfLQ3qzbVgeKQJ7fhy/TTYE3g/ZolJrGdlZVNWM5ZXRbwCEpIDnpVxogEdPpX1lCe9QinIiwoaYdn9NDZVkhi1ZswLI08nO9hJrDpJOdK06FOS6a22PkeD1U9ijAsEU03SboFxFsL3X1zZhBi7Rk4TIkUAUQBCTRiSNkUdGnFFUKsHzHMgKuTLwWLN2wk6HDytiyrZWYpuF2qViApUkYDglb08nPyUL05ZDTLRtXIJtYQxK330kyodHWXE3j1i3Eom04BANvUAVNZ8KehzFjxjR0IYYkuqkcMQR3TCNudLD36a9yxWH5HHjIkUiyyv4HH4y/196cNrbTv+Zv4Q7/GdvaU4QsJ4OzOmMOGUnYsWMhffuO4brrLubEfSfQe48jALjp5nO46canftBHaXcH6ZTOiAH98GUWc/zRp/DQ3VcwY2ntz55D/yp1m7ZR1LvHbz7O7sY9t5/KX6598dvPLz38Vx5/8z6qttWhpQzcbhcJ06Z/ZR/Wb92EZDtQvCq2maJpV8eP9jnj5YcoGzaOrz58kz9dez8Aq795j0F7HcjCz15izIHn/KQ9h598JsGsAIKiUL2lmngqiRyAwWW9wYY58+d25qrUfIhSmNxuRbTW1JNV1J0dmzaQijXxwF0PsrFqLa+/+i65uVk0t7aBrtO9tAxbdfH1ex/z3jdf8sBd95IfVHnvrU9ZvG45i1av4aITTmPEPgcyatxQNq7dQFtDNasWLf/9BdXfE4l0xrD4IwqK/3VBla6diVo86fc24w9Jqq4BZ1HBP6/4O7NgxtOMnXz2D8qfuO8Kzr288xXM8hmvMWzyCbz26C2ccMENLF28jGsuPZlNO3YS9LioyM5h6Y5dmKaFW5XxuV24VRVLN9lzeH8ccmdwTlGEbfVteCSRdQ1htlY3kbZtPC43KQkKvD4URSWpa4wd1Au/12beyhrighs9KeD0uVAsEysZpU1LYMR09h7ZnVkrttC7vBuZfhdbqpoIxSNIgk3/0h6E0zFUWSEUb8cnyjRETUwhSYaikkho+HNUEqJJ0O0hz51DQktQ4ZFoNQUa6uIE8jLYuLUdpxeMZJJUojNmlK0LRJNJNENHURRkSSGYmUN2t26kdYiE2ynI9eEI5FHZrZyN1c0YkogiuUC2EU0DMxZFMxMYRjOSOIhIeCeqGyR05n70Oo99PJt3H7qedDrJgvlLOfr4w3n0ofeJxnZSWl76AzG1Iwplvs7f61uhMLvz979llauJwsLP3+eYYw7nracf4ZizT+GGa+/nlmuu4pyb72Dn+qV88dkXP5gLHz53FVPPuAgo4KKzprJ5yxamz97Ac4/dzuQ9ptDa3kxxoYfcHt8X6A11Cyko+ul4ZV38fN577VVuu/dyTj/9Wj7+7Hk2b23h5mdu58EbXiMWriEV7yCVSmLaBopoI4oCw4cN4vOP53+vn5mfvMykg38qMG8nG2a/R9+JR/ygfOa8BTzx5uc4FYNlC+cgOmUGTPoTjfWbSYaaiDVtwRJMEnoSWU/hlh0ccvABzF/eSHvjBnpWlrB+41bSsRS6DUXFOeyqqaF8wHja6zei60k2LVkDwGHnX0ljXSNlPftQs+EbrrzyMe6//RwmH3sKrz37MJlBD6MG7cUDt9+yewmqPzL/64Kqiy5+HjqgALB9yyIqKkdz1cXHsOf4Cex3ZGdez6Vv3E9LTOfxV17Bk+Fl0pRJzHp/Gt1LCujoiLB8zVYcThfY0Ks0n63VDfiz/fhdKrFIio6EwdJN1TgcLoLZWVi2iigbiKKMmTLo2SOLbhUekqaMB4UFi2qYOmkc36xahyhJ9MrxYQsmM5auQxFsAm43jeE2evcqwGk4qbc7aNsewu1w4nWpaIZFSWk30JLU1ofILSigpbaEgbEAAQAASURBVLmJpGExKCdIi1+gPRVDCYEoOYkRZUBRCTtb6snNCmAkJTburMWWbCIxDY/TgSiLWKZEOq0xorKQZTsbEDQwFAtFlNB1BU92EEUQSKWTuJ0e0skkXrdEfr+pBLIMsvxZSHqawfsex4cvPU6uF2rrY0x/917ufOh+pn02F1mPoSgS199yK5edfQaGbXHK8Udz5XV3gQYr5rzC0H1+TgqU7/hsUS0Hji7+9vP1N92DjE73vBIMh8iZZ3T6P23csp5YupbK4jICwZ8OJHvFn44mhcGBE/fitvtu49hTTsermpx6zt0/2aaLX0Z7zQaCJX2/V3bHvZeTV9KLt95bSvX2lbQ31SOYcVTZxHY6cQX8tDWEOPK4M3jj2Uf584UXc8ct9/ys8d5/5WEOP+mHLhQvfvwxr7/6GrUbt+L2OtD0BLG0gWVJuFQJh9dD0kxgxjV0zUCUVXQtjlN10b9PX5atXE5ebhaJSIpEOkJmdimKZON1O5k57Qsuu/oqpn/1KYMGDmDz1hosTUPOyKRHcRHhUJym9hpuuedebrniavwuH4VFOWyuquKxZ19iRI+K319QlZWVIQjCTx6vqqr6t436b6BLUHXRRSeffvgs++0zAVkoAM/3/y/sv98AijSRARW5VLfHqG/voCAYINQepT2epkdlBTU7a3E4VcIdCdKCRkZmNu2hdlwuD5FIB20pCMV1MoMBQqEkx0zpjxRQSXXE2bKtnY21HRT6vYQ1HdnlwOF0IwsGThMyPQaJaJxgVha1u2poDiWI6CnKKgtI2zpBxcmWDY14nRIFWX78mT5azCRam0E6U6B7sIjtoWqyDDdCWiYv04+ejrMt3UH7jgjFuUESukFrR5qMYBBNE7Btk1isA9WlU56XSVN7DKcBje0RBpUVUhNNEEtp6JqNJdqIkgCihCCAqFsoDgndTCIhkkqmcXsdGAZYgoykyHhUB7puYtsCRxyyPzNnzSGBSl5AZf6s71YV9tlnNHW7ahk5dCSSN8jzzzxD54u7f42qHa18vXAeZx0/9dsyC5i9cCuxVJp99giQ0ILM+vgJjjjmCsLNm8jI7f2jfa2f/RohS6Jt13YShsD4oUMpGfyd47IJxO00KxdtJBFpZP8p+2F1rEAM/Hdv0Pi9+MvlJ9PaoTHjq7lMHDeJdQvm0ZRoxePz0W/8eDYs20Q4VgfJKGuXb2PfA8YTcMvkZhfz3idz/2HfcxbPZ49R475XduyZZ1K9ZT0WTnQRaqq24nAIiAhIXg8OScHQbGzBJpjpw4hDuL2R4487infefhen38PapWvpNbgXmYFs6mt3YZhw6/XX8/grL7Fy1jwWrqvi7D+fSrIjhIKCw62SmeEhntIQ3TmMGTmUB2+4ng+/WcDo7jnkV/Tk2FNO4M2XXuO86y7gidv/+vsLqocffvh7n3VdZ+XKlUyfPp0rrriCq6666lczbnemS1B10UUnb7/+IEcffwkA++0xgOlz1nLln//MvGVzaGoLc9fV19BQs5pVixawYWcrtmCT63WiWwIJHeK6zuDKQjo0g3TCRvGIhFtiiLLEim3tTB5dSVFuBpJHxun0snptA0vXbsRwuAhkZoIt4nY6yA1kEk8myVYlhlQEaG1rY+2WOiyXgShK7KoOoekGuZl+YskUiBLRSBwE8PhUPIqDhFck6FURRIG9B43lnYVfoThkyjyl5Pj9VBRl8+rib/BrDqKhJCgKhiDRrayI2tY0JQE37pwM1q7ZQTLejpSOIagCsgCpVJq0pgMCQa8PjyzTkohhCzaaYYMNYCOKNlpCQ3XKGLZFvsdHcySOKVooigPJlkjraRySRXFRHrLtYEd9PXNmTOeMs0/j2NMv4P6br8XGIiszSGFRDlU764l3RNlv371Yvno5Q3sPJaw3M6LXCJZvXsOxU4/iiJPO+8l7XBWFIh+owJcbmikO5tL3B2+l/xb2oIMjDjuG9z6YzpmHTaKgMI9bH3vzH86hae/9Fa2tkUPPug2oZ/uchVTs8cNXR13861x101XM+XI6Lgf0GduHN577Bq9DxOX1ccllZ9OroJy/3H0jdTvrSSaTXHb+JTz41COoipO66pafNUZLqJlHHn2YDz75EIfsoLG+BUEEp1tl+8bt39brMXgk8VgLtgget4PcjEyGjtybufM/JxJJ4nT7ccoKzpw8Tjj4CD76+F2++uh9bnnoYR579GGCPjfJVBq3UyWdTiOoDgoKi2ir3YU7w4vH5WH4pMPYb/JeTPvwVRbNnce4qSfTvn01mUWlHH7EsYyp7P77C6qf4rHHHmPZsmVdkdK76OIPyrknH0Zcs6gMqsxcuICxFUUs39FIZXEe7fEEG2uasCwRywJDFhnWs4R02iQcj9NhiJjYSJZFMBhg0aZGZNVNWe9KQs0NxKMJZMvAECRwysiyD59HoE+3Uqb0L+TpjxeRwqRPQYCgaiALEluqm9nZGMLtEOlIaoSjSXTJoMifgSJDJJ5CFywUQcHvduLL86NiIjsUvB4faspiZ2s7bbEkPUsz2KVFUQyB8TnF1Bs666vCdBg2IhK5mR5aQ+0Its0xewzhsyUbMWWJVMKFy6tixKKE481oiSiDi7PYGurAqQjEUiaapiE5JGRBQjN0bNvE6VAwDJO0aeN0KtiWhWHo2IaIZZvYlonb58DQDBxOlVTKRlFVJk0+ii3LZtDWUofbLZFM24TDUZxOByVZQVpiHbSHE0iqSO/KnjQ1tzB25EQq+/ahun4Hzz7x+i++7+trtuJLm5T07M20bz7jkw9nMrq3g5PPu+PvatnAT7/Z+HtirdV4s7v/Yju6+McsWTWLu267GV9GAS78nHTtobz06MvsWLedbZtrKS3ysq2uhcysINurduJyetFtDa/qpLYm/LPHeen1F3n+meeZPXMOuaX5uBSZTH8G515yExvqtvDZO9OItzfidzkZOKAHK9euRTJlgrmZCA4XUSuAEd6KrCg4nCq2oLJi5iwAPp72ORdffgmaoeF2CCTDUSSXC8u2EE2LnVX13HD5Zcxdv4y8vDyslM0zD99HIK87Rx43lUMOOQK3pLLHfvuR9xs8v//19d//w/7778977733a3XXxX8xtpH4vU3o4jfEoomVcz/79nN9w1batq9gaI9isv0OGmq2U5DhJ6rbyLLEzpY28gryGDGwB7nZWewzcQS6EmBVY5yZm5oIywEakyZtmoOKgjLWNekU9OiNv7Ab9TWN2JaN6nCi+jPpWdmNY6eMw684cJouhnX30ZSIscfwMvYf1hO3nKChpYPPFq5m+fadRLUU1U1hEAQKsnzkejyAhUuSkQUBvyRjWAaxVByjI0lKsAnZKeqSraTdXgy/SW43D1EMFEEiadtsiGis2BEGl5fC7nn4PW6iMZPsDBepeIqXvpyLaGkEFRlfiZ9efYfi79WHfgNHUVQ8nFaPj6TpJhKBjEwfum2RSmgk0ylcigNRlIh0pJAEGcEU0FMWRtpCFmVMy0AUweN3oCct/KoHn+Qg1yWQLRq0LPuY+qYafAEPligTTkSR3RLIFht2NNDUmsCWoEdZKZu3bKV/ZQUTxo9m4eLlKJrxL82HfiU9KenZ+Wpv/70O5PFH7vs/Ygpmf/LEz+6vS0z9NowcvCfvvzuTdHsLxxy7H3mZAxncbQx62iLglTEMJ6efMZVt23fgy/CRTscQLCjvWfaDvi698BQ+ePX793Tmis7XzTn5hTz43BsMGDGUu669HVESEZQAi2ZP46OXX4FUNZaQYq9xo0BVOOSokznk0KnEYmnawiGOPGwfyir702fAaLIyc+lbWcLgPUZywV8uxqUqmFqSTJeXcFsHwewAhTlZuBQ3O6vqAbjlvvsxTKiuaySmdRDI6859jz+K2+nF4XNz5NFHc9XN1/0m1/hXW6G65557ePzxx9m5c+ev0d1uzx99hWr59NcZtt/xv7cZXfzWtK+DYC/+5nierNnM9liYC848HQGNbxZsJVG1Bnd5N8DNZWefxNZVSzFtkUP334fi/CIOOO8Gzjr7VD78dDoOjxNb1xFsAYdDBcnAttwMHtSPEb368srHnyEpPjRR4vBjjmDO/I3M+eBR3p4X5oTxGbz4VQOzFi1k19w36NO3P3998EZOPmRfDDNF0pbZunk7u2JR3JKCblpoukGGU6W8tJh2OY7QrNEYjWKaAi6HQDSeIqMig5RhMq68Pwt2rMPnceJKenEFRDLVIDXpJnxYOASVjhC0aRZ5mdmkbZNcP2RkO3GKFiuX1eJVLRo7TBK2AYaFy+FEUfxUdMun1QAlKwfTlin3m6xathnRNGgKteD3Qqi5DVERKAq4qG0O48v2YZkGyYSOLYFo2jgcNtFoCpfiwuuSMHUbt1PCKYq4/R7CiRhe1YmoWCSSUB8KE4+mEW2LqfvtwYCyAo465nR6jpn8m02ZlohJjv//hs9JAc4frX/XjWdy1c3P/mb2dNHJPhP6MmXMOEKKxWlHXYVYYHDZ2Rcxb95MHNgYgClaYCqASWFuBus3tVI7exbFE/f8WWPcePvNLN+0iZKyIXz60YsM6T2KRUtmEPR4KO8ziA0b1hDwBOiItaKoPqx0AqdPxed20dYR4diTzuHdt14nK5CFLyeDWEsTUcti5YzZnPbnP7Nt8xrmfjWX626+gs8/+pyyHt1ZtmwZtghnnXk50796G00T6FFWTigc58uPPmWnFuXOq67CMGUuvPIqijNcKIb4mzy/f7GgGjJkyPec0m3bprGxkZaWFh5//HHOPvuH26j/F/mjC6ou/jgsmP0OYyce9b0yvXk119xwF2NLi8hyR9Hd3dCSzTQ1hogHyjnxsAMJ9BxNOBZj8NChKLKNy+Fizao1P+i/rPdAnCqormxWLfqGPfabQnMkiSnbjCgfyooNm5DdOnnZXmp3hLCMJHpc588Xnc8VF5zDhcdPRhBlmlojVNeF2NocQhYFNN3AFkUqC7IJ5GViyxrVG5qwEBCdAloAxA4bw2szKL8Hqxq2I0sibkkhqHrxqZnsjFUjihLZioetNW2Isp8Mj0rQ5yIv308iHqWwIEDM0hE0g5awzuYtdTgcbsx0irRmIUsioiKRkRUgHVfxlWRhiA4EE6yUQCzZgc/W6EjoILtA00gl2olGWxD0JJKtg0MkHddQVRlBtHBIEuVF+YQ7ojRG4iSiOpKsIIkKokPB6VaxDZM7H3mB++++g+bqVZimhiyCiIOswiAFmbmoHokHn5lOZe5vl/IlUbsNd/F/NhbUlkaDyvyfE2nrj8PHb7zHnXdcju1J8szjT3PlJbfwzKNv8/jLt7Jq3UYsW2Hg8NE88dj9/OWWK7nuwjuxWusRswt/9hhHnngyK9YsoWrNJrLz/JiCgixbuLxO/N4cSrrls3z5JhyKxJVXXczzr7yJ6pQoDBSwbus2xo8azdnnnsXDf32GEaMGcslZ5wJwzCnH8dZLbzBkwjB6FPfkmKmjOfKYi2nuSDJmZA90G849+1rmLvqY6h07GDd+fy648T6uPu94ho4cyfpFX5NfWMJjD3XGSfutnt+/WFDddNNN3xNUoiiSk5PDnnvuSe/eP76j43+RLkEFzTuWkls24vc2o4ufIF4zH0/JuH9SKwxk/MMal551BA88fCda0k88tI7jzzifVx55jOwhe3dWaFjKgo/e4vH3vuaQY07FI6tc/fDjpLU0aQuy/B6ygj6+nD772z4PO2J/PnhvGgBvfr2eY/fux/DRE/EU+Kmu2oVlSrgdEj5VwRZE0tEIYVPD63QxYtgwdq5fztAehexqakKxJXqWFLK9JcSmzU2Ekwk6EglUp0I6qbPX6EHUpVuItMbRojpOWaa4LJfaaDvp+jhyvpeklcIwbURBIkd1Y+sCmqTRZmkEnCrpqE20zUYWZXIzHOy9/2h2bq3Cp7hZvm4npVkZDO+Ry9LadppDMWpaw/i9Mn2Lc6hviVLfHEYTwB/0IyOiun0I2Oi6iUMySaYNbDWL4twMYiQx4wKix4UZEWms3UA80gIkMY003QI+tu8KceyhB/LJ/Jkgi8imiZY2EGQLp0MkHtexbYOe3Usp717G1roYHrdOWV4h1TVbmLtgEwftO47Dz76FIw/ZmzeefYpzzvvpwIy/nDSdLuzw88OI/jK+C9jxfX6+t9Yfh3deeIZ3P/sArDQur8zy+cvpURxkS3MLu+o6wAbNAssCSYFzT/wzDzz+15/s77TLT+SF+16lctQoTE1nycKZjB+7B3vuPQGHN5/PPniV1nAUxdTxuN0MHDacVSsWk1NaRjoc44ApU+nQDJq2r6axtZVoMs0NN97Py88/QVFugKf/+hR3P/QkB+4/keZwhCuuuIQRffry5FPPst/UKeTnB3jxybcZOqIvJ517Fm+/8BYL5y7ipDMOp76hlncee5/bH72XfaZMYv8pU39g/24jqLropEtQdfHfwGev3saBJ/64v8Cf/3wojz32EbdeeTqDh1Vw8NHXArBh8Qf0HXUYmp7EobiY+/VHTNj70B+0f+Te27jwinN44/YrWb5wPZstH+u3byGdhIKKYlKpJLef+xcOPfm4Hx1/1Lg9aG1vQpAcWJqAocjk5AQJtcYQMSjsM44BlQNZ8OWTIHj5ZvEssoBjp+5PnxwnjZEoDc1h3KKDNbXNmLpBNK0jijYOh0hHTGdA3274fA4UYPWqOiJaEsUh4VFUYqKJK1tCM8HncKJjkit5sExIptPkBr2kZYmVS3bh9LrAFPC7VUoG59ArWEr1zioUt4Ncn49pczZSVBQknDCJRBOItsmwylz6V+RTH0owskeQcCjJ1xt3sb3JxKUaKJKHqWOG8srMWaRtN4MH5NDUoNEWacWlerBklWBOLqqoEG2NEdWacAsikUgIK9VBOBIj0++kvKiUBStWIkigOFUUScHhVAh43ch+GY+UjWWn8aoB1MIBjOqZjTejmClHnEIs3MqoXtlY/IoOtf9RWoCc39uI350Xn7iCU8/98XyGy+Z9TK/SXjx1/31UtexiS1UdO3bVUdQtj6z8HFTb4sOv5+OSIJEGWQJRlrj+zKM4+ZSzeG36HEi3cdm1j3zb5x6HHEHNto14/A6cspPe/SeyvXo1rqIg22Z/jZaSsDHICGYTLO5Ly7alCN4AsuJCCzUjZeTRu7I/VVuWUtFzIE6njChJtIR28c0HX/Lniy9lU+12zj7tbEozg9x025XUNzQSCObx+fSvcSsqR598NO++/DajJ46ko6EWT2YGhxx9EmuXrGFg/yBtNXVsbYrz/OPPsaVqO+Mn7PWt/buNoJIkiYaGBnJzv5+7KRQKkZubi2mav5pxuzNdgqqL3YHbrjyM6+7+4EePjR+cw3XX3kJuUOXyq6/m+pseYOmauZx9xBG4igeiugOAk43L59NnaF++ePM1All+ykvLya0cT/P2Wi69/Czaoxt4+vHpFFX2oW7zUop6jeD+287jT2edTWubjSPPx9ARk6kcvg9u06AjahFr3UF2QTFllUWsmjWdjmQSwRboUd4TNcPJmOGj2FDbxpaFS6goL2Z9bTPjR4xnbYNGePt8HD4v6XiEtC4R62hAS6UZ0r8PY3rk8dg7HzGhTxm1jSFkyUl1NAK2iEM0cYgSHak0kiDQu6IQSzLJcrjZUNWM3+2gNZKgPZwgO9tFSjQRMxSyBQdJBLyijJVWSCgaDo+C1hRHyvDiCzopLC6kJtREmexBkZzsDLWzdX0DkizgcirEDAGXQ8WWRGRD46DxvXFLCgGvjxc+XkCWT6GstIi6xiS18QQOSSGeasUhiUQMDckKkON1EvA7qG1rwzBsCnwBHKqKYYnIbpH8DDdLd4RxSim0tEzj5jW4fCqiZGDoGrZmomkGggy2KeD2OvE7FJIYKIqKAGT5MwgGcyjqPYGiHsMY1D3IEfsOYOV2heH9fb9o7sVTOh7nj60R/V6EgN0zXdNvzS1Xn8ANd77G3qNK+Xrxzu8du/2qi8kS0uwyndx+7XUQyGJk/yyqG8LE0xZpHZxOePaxZzjzvLPIygqwc0e4s7HWDI7vP+vPveIvfPLpW5iWgtvtJW3EcAseLrz1Ph685kLaW1txqC5kp8EBgyZQZYTYvmE7PSoqqG+IkJ/tpiXawZpFK7n66qtZU7WK0WP24IBJpzBsUCEvvPM+M2bO5Z57HuS+h6+iV0l31qxaydq1W9EjzZx4+KnMWPwVE0cPZsO6jTz30seUF2fizggiI+DL9BJORMnyB5n1zTIuvOhYWsINDO41jCuv6cw1/Fs9v3/xOuxP6a90Oo3D4fi3Deqiiy5+Pj8lpgDmrWrh+cfOJbt4LFX1zUw68AQmHXgCHz55O1P/NJne3RQkwY3sktle04YkgjcDBvcbjpBWWbZ2Po1tnf/fK0uzuOTy8xjabzLffHEVTY0RJh50NJLtw3I5Ofb0M9HTOcye+TKZ/mwcWZls37GOrVtWkZOdQd/icj7++KOftHXUnpPZlpKpr/uG8u5ZmIabcDxO3EggSDJeKcywbtlsCoXJ8XipbwxjizL7je1LW0eSt+cuQ3SpNIVjVBbk09ARJifLz/ylm2lwOEjraVwCZLhUPA4JQRTx57iwBDDCFll+H9X1zTjVFH0LS9i4o56AM8D2bW0EPBH2qOjFxo3bWanGiISSCLKDnIJMotEkoiriFCGd0FAEiUP27E1AUVhb1YpTjTFmVCUH9y/kiueXgJIilopjptL4MwIUFebQsWEbggqtHVE8Sj5+ScBSvYTiEbyWSiiWQI16CEfTDOzVm2RYpqa1mfzKNpLxGH5vGW31q0iYJqIsYGEiuR1omknEEPFkWCQ0E+JJjEQc04xS9dEGysorma214OIqtqzazPD+N4MpceWFf+Lux37aSXz2y3cy8eSr8TgV1tTEGVjy2/lf/TL+TkyldrFg6UbGTtj39zPnP8hV13SuLru8naJ47KBCLjj3Kgr80Bip4vbnP+GRB2+kqE8JZ593OXUxk6kHH8+m6k2sWrUcQ7dZsXIj0ch3z/d6QhT+fzE1Yvxgls5bBcAn77+LLSs0bN7GZ+sXc97RxxNOt3LTucciijKegIIeTdMeT/HJ/Jk4vQFSRorzL/4zt9x8G5bDZM2ilbQnwkQjYRqaDao3V7HM9TmvvbOZUFJh8JAhFHvhoWvvYnP7Lj7/dDq9KyqorVOZufQrLr7mFuZ+/gHrtmwDoLgkl9pdzeQU5BKKtrPoy8X4c/IB8PhzcUoOelVUAhrw2+mUn71C9cgjnct9l1xyCbfeeiter/fbY6ZpMmfOHHbu3MnKlSt/G0t3M7pWqLrYXfns01cZ2ncCV111LlurVlPfWM+k8XszY9rX1HbY3Hn9BTzw4F9JpiEzCG7Vw67GOIIMZZm5nH/OOTz51mNU72qjMCub8p6FHHr0wdx568McffBUnnnzXcr6D6Clrg1PwXB0q5lUtBYraWNbOkFfPrbbgS1qCEkZQ9RJJ9OoHoXuZd2p3xFCcVicd/bxvPHBVyTaQtiCh26F2UgBFzXb6oi0thBrqyOhJ/CoPo4fN4A5yzcSF2w8gowOlOf7WbSlGhGFcCKJQ5UwTOjVpwBH0mRrTYiUpVHZt4BoY5qEkUKSZOLxBIN69iAdi1MTS6HakNJTeD1e5EyJRLNGMNtHuyONR5bIIoAupFi6rA6nKpGRlYFpeXCIUJmnYMs2a7Y14QzIHDxyAIlYnE8WbEGU4PrjDmXjjk289s06+owYxKalSzrTa+gatgW2aKO4nWDJmJZIcU4WJjoBl4um1jgbVi1i+OhRqGXDidVswCU5yfCLtCVaqRy8N/O+mo4tmyRa6snJzKUt0oZpmYwfOYAVK9bR1taBLAO2zWGHH8mX0z9BT6cx0xpBv4fC8jzaGqOU9CxC6RBpiYe57tobeem5R3jzs2W/91Tu4mdy681HE43pvPv2TCpK+jJj7gJuueYCPnnnLZZubWbCHr1YvHALAhD0OxFli/qmNBdccRavvfgalpHGsiDgU9lV+8OwN+dfeAqzVqylozWJ4gsw6egzeO6Ks+gxZDBpPUlaN0hHozgcNkbaJJDlIhHW8Wd60TQTUVVIhBLsNfkw3nzhMQCOPvlI3n75XUZP3JN+PXrx3HNPsXjXJmo27KKjo50zjz6aS268igdvvotT/nwx+00YScLsYNYXM2iJxrnm6muYOe1jpn81h4VzlzL949f5cs5i7r7hcqYcegj5uQE0S6D3gKFMGTuU5sY4R5zYuWnud3/lV1bWGYuiurqa4uJiJOm7bbEOh4PS0lJuueUWRo0a9asZtzvztxtSt2U5hT270iF08fuzfN1spr3/OfOXzEFvi9Le1kEk3EZMS3D5RZdx2Y33/aBNqLGKsRPGo6WivPLiq/zlqmtpa2+mZ78yPvloMQcfOoxPPlpOY2gzuVndGDp2fyJttcimheJ34svIpbkhhCDr+L1BYrE4sbSF4lTxZfiwNQuX4gDVwuXK4sprbubaq8/BbXjJLspi+/ZqegweR8P65Zh2ioamKvSYjomBIAp4XG7S6QSn7TWcrTtbQICg34fDKfP+onUUefwYokVDOIJoCPSozCM7z4+qicxesQVZUtA0jaLyTCRBJNUWxav4SPkt0h0WA3sVUrW9GW/Aw87qZoqLMpEdDlKRBEKGgqBKZKte1m+ooWdeJqEOE3/QTdI0qW8OMSivgPW1zZhOm/7d8snPzCShJ1FsAdtM4nS5sNM6y3bUsasl3OktbcGXX69maJ/Ob/+Dhg4mnLLIzvITakuhOG0Cngz69+7F9roG2trb8NgWcSMCzgDptnacpoztdhA1UtiWgZmMo+lpDhy/By888xh7T9mbjkSCpvZWZBMq+vdh3fIVVJaVcN1ll3Hh1feQNCGY342TjziEptpdbG+o4f233uP9GSsoLcllaK/iH8yXLnYPls54h6Rp8sl7r3LvM5+y8qtPeOLVJ4nFwiQTsHzlAjqicOvt1zLv47ksrF7OJSecyX1PP0c8ESOeAlEARYLs7CCLZ60iv6yES286gQdueu1Hx+wxqC9JPQ22QDqawOFz4JF8xFNR9JSObukoDhnbsLBsG0G0UUQJ1efC1mw2rdnA+INHE29J03fAcKq3bqJXv15cd9lfePft97jxplt4ado7LPhiLgfvuwcHHXDkt2Nv2rWDLeEwzlSEpsYm9uhXyjufL+Dy8y9m1jefU7d2ESdcdAvjx/fG5wwQ1Ttw2AIvv/wsxaXfbcyZ/v6bjN9/Apbu2z18qCZNmsT7779PMBj81Yz4b6RrhaqL3ZG99hxJLNyEpFjk+n189PWGb4/ddf05XHXrk0w5dApffPQlrz7zFI+/+hweWWb42OGsmr+EcXtMYNnSDRh2ik8//5qWbavY94RzyCrIRElD2oyhuj2sXLaOgw46ks++mY5LNEgmDASng4DbT9xI4JZc2JKE4nRS2bM7tW0p4m0N3H37w1x+4emkNI2br7yF5Q1R3n/6dgKZKpIsE25tIxGL0G/gGOLaLmp2NHPoqH4sW7+LAq8Hf9BHdqaftduraQzFcDolXJKDXW0RCoJOXNkBHE4FQRBZtWIXWd09+GxIS+Axg4S1EImQSV5hFjElRpEngMetkjZtDFNHTMos21yLX3EhumQ8LgXZk4Hs99HenMI0EuQ4TXyCQX2onaShc9jY/qxuasJrOBgs9OLr+BI8NogOGYdTxulSmbu6ipRuoAg2lx2+N8eceDGlo8fx4czlTJ00jBFjRjB05BhWrllNWWk/hvco4PlpM8n0uCkryGPxmtUoImimhWjbHHLS8Xzw6qs4RZG80olsXP0xim2DaFGztZryXt2JxuIItk1uToCeFcU0NrVxwxW3MnriOAYPLaeiWyn1zU1s2tTCnQ+9TLK9llAsgdcfZPCA3hx3+IG/40zu4t/hkjOP4+3p7xGP6VgavPHqhxx3ylRcHjeFeTms31iNLYJtg+wEVZHpaNX/YZ+3v/Qa155yAmMPO5Fda+ZhCKAnk2iaAaKJrAgItoQoCMhumYYtDXTvWUJOUQ6hUDsnHHwU81Yuo6KwG7ndurF00Wwky82YiXtz07VXcOQZp3HeX+5m4azXEdMOLr3wvG/3iQLUxdqIui2ev+d5Dj14H8b1G8qsRdNp2rmTW++6h4KiHPyeIt57+32+mPE8l190BYcesA+33fcWH751H1OPuZy/7Wq+99YL+MsNu0Euvy466RJUXeyubFs5nx5Dvh8uYfOmdfTq3Z9n33yTtUsXoYgOBvQtY8WajSxbsJA+gwczcVAPTjrvSuKtOnvsO4LlK1ax7xHH07B9A15/kHBbiEGDBjB77ixQFD6dsZCTjz2AjOxupEP1hFNpREUGS8LtciOrDiSvHyvpJp2sYs28Bby7IMSRY7PoN6gXJ150NU/fdQtpLYksC2Q6XISiCVTZoKUjjdutYhoWWjqNIqkcP2EgotNFwtBpjySob25jU1MLhT4vkaRGcWUe5f5s2vQoTt2LhUk41YJDdNDRkaQ9nMAXcBBqS9G9V0860k30y8yhIdyBJUKGx0tjfYhtjRGCPj+FmUF2haNYjiB7jOjP6m2tuJQ4VqtOc7yVjkgMUwuTn6FSVOwDS6KtPYIsKIQ7YrRGU0iyTY7Pz7gBFXy6cD0JLcX4YcPpn+vCocjc9mKnX9nAIT2xbIloSgBRJJhZRCwRRnWY5FYMIAebZetXMG7cwagkEBxpZs/bhNMlcNvdt7C5QefywychAI88/jA333wbpiTiUCVc3myEeIjiymFcc/FlXH3thXzzySfc/9hDvP7yE/j9QUrKihGdQQ7YaxhLF62lrCCf6+5+5j8+d7v4eXREqtmxZTNffvU+F5xxA6P22RtDT2HaKfJz83nv4zkcceTeDBsxggfueOzbdlOPnMLKxQsJBLNIpS1q62sQRBkBAbfXxYnHnk5T/XrG7rEHfz73UsD9bduvv/mYC664luaONrBFMHSwwbYM0loaVZIxbROHywW2gCwIZGfnEElq7Hfg/mxbuQqcDkgl+erLOQwe0RtXIJfK3v0ozS/AJerUNceYOGkEIwcP5N7nX+XRm+/60fO/7P4nWDFnDuedfwpxy0/zluWEUgJ3X3E+W0IhKrOyqF47i+4D9uTyC4+nvH9PdlbVccUN1/LYzTehWXDnfS//PoLq0ksv5dZbb8Xj8XDppZf+w7oPPPDAr2bc7kyXoOriv4W7bruWq667nYcffID1VZsJxyPccv1jmE3NkJ9Jv9LvdvF8s2QFvQuz+ejzLwj5J7Ji2qM07VpJRUUfDthrX3a1xHnlvUeQzAyuv/sx7rvlYpLxBKIpYTh0nKJCPGkweOxk6uo2o8UNiLVhaiYuT+ergC2b1qMZBkZKJzMvgKDrnHDiqdx6y30Esj1MHjuR2QvmURDMwO9VqapvwZRFBEsg4HQRTqXJc7soLMxma20TsaRGbpYXV54XLAhKATIzXbQlwwQ8TtavqaU9puFxOHC6FPr3LaG1MYUWj5LbLYjqEHCrCgnNYNmmehLtSZKGgdPhxOUUEUSVeFygvNyPPyDR1KoR0fzkZGdjWO3obe1U79yJrhtohsboASUsWb+LoNtPJB1D0yxUp0iez0VzMoGtG8iigiBbHDD+QBatnUcskWZg796s3rIV2wJDBK/qRBcFTrzseaa9cjPFffdn6/J38AjQZ8Aotm5bRyIaIyNDJd4eZfWK1SzZ0MCRR0xmYN8KVq5ZQkrTCWYW06M0i4b6KNll4xhYGOfBB57+3hy59vLT6NmvL8898VdUSeSKi/7ClGPPILJrG/5uff/TU7aLn8mll/6JcLidRQtn09YRx9INLFNECcikIhYer4tEUsPGQhYsLAQwTS47/09cc9MDPPzQrdx4xx2AiCIrBII+tq3f9ZPjlVWWkhbAsgUELDB0ErEU2bkZhMMRbN1CdAi4FA+iquB2iLg9GYQjEboXZVNROZia7ZvpP3wMo/bcmw9ef5myykJ8isTVl9xMG3D/bTdQWlLOvpOH0L1g0I/a8cGHH3LY1KkAXPHwi/Tf9wQcDp28DDe1WzfTtG0BV5x4GgCxVAtfzl1AsnojxeW9mLjXIcz76i0mTD7h98nlt3LlSnS9czlwxYoVrFy58id//lXuvPNOBEHg4osv/l75xo0bOeSQQwgEAvh8PkaPHk1NTc1P9rPnnnsiCMIPfg488Lvl678FJ/37n/z8/H/Z9i7+V6j9vQ34TbjqutsBUJzQq7SYif0H0LssE3VU7++JqdoGg4EjhjLtq/Wce/ZZuJqnURR04jF1Xn7mGSSHjysuPJUSXxbBYJDDx/Whd2kxQaeCN+jEo4h4HH6G9CpFTUSoyC0my6Pid0nkBdLEIm2sXb2cWDyGLNkIqomVErFklQ/ffIPsHA+jK7szc+4sBNumqqWFzQ3NpEXQdB3TNmlLxLAsgw7BprU1jEtUsCyb+tYECiKCbpKR6cXhFpFsibUrdyGYIvk+F8MHVKCnUjS3tiE5bfJzA7hVmXQ6jZY2kCQJtygjeJzIigqiQtyWEVQVVUrgDQoUFnSjqbGddKiGbRsXMzbPS9hKUlLai35D+lHZfzhBTwn7TByP1+9HFByoLgVsqG1NYCZNBLszmbJpCUyfPw0kCS2dYt6S5RiWyeVXX4uk6+iahluWePehcyjwO4i1LKJPeQ9cbi8NO3bS3l5HKpbA0HUaQ60UlOYz9aCRLN24jmRU56VnXsUhyrQ3VVOzfitINpMOOvgHYgrg9vte4NTTrmDukmquvvYOZLeTjoaa74mp5i0fgraR6nlv/9ZTtov/wzMPn8fRR0xk7JAyli5759vy/fc8kMVzZ9HWHqJH70rSegqTBOHmCPFYjHgshhbvQBE1Eqk4kmQSak1wzU2dCx8XXXw94eYk4eY4LfVhtq3fxS3XnPtt/4cefyQTDzyY7UBBZXfSto2eNnAoIql4CrdXJTO7CF2zcDpcyIqKU3IgOyUwkgwdOZK9Jk2morSMhKazdWsNnqAPkRDb1yzknIsvxWFmcOSxJ3HCGSei0Eb/nmWoQitGQqWlo4NZ8z7/wfX4m5gCuPeiUzmlj8JxFW72yoLmHdu/FVNrty3liYfvpXf/AZxw5lVMmzYNkOjf87cJQr5bvPJbunQpRx99NH6/n0mTJvHQQw8BsH37dkaOHMkZZ5zBcccdRyAQYOPGjYwYMeIHcbD+RltbG5qmffs5FAoxaNAgnn32WU499VSgU1C9++67fPXVV9/WkySJnJyfHyCua4Xqv4u/xW1eMHMWYyft+fsa8zuxZNYMRu45mVBbM1mZfyekgL+5Hy9Y1cjYwfl8s6KBEruRHsOGsGzeZwwf3/mFZOU2g3RkDT5nFv36diaxPfGk43D6i4hrOg6HTa4rAzk7yJA+ZaxevJLmjs3IosyN993JiN5DiMTimGkdl8tJ0OPF4XCjSgJ9+/fl42lfo3od9MvPZnVtM4IgYOoWgmRjmyIuVUWSBCrL8wAR0yuQNi2q1zaRnxXAV+SjKR7Brzjwu520RZL08eWyaWc90WQaQZSp6J1NfXUHTn+ALMEmmO/Clmy2bG6jwxbR4zYaCTJUP5bLxKVbUKgwedhgpn22htaOMLJgsd+oXnTLKyEaa2PRukZCpoDfLaFLmQSVFNvr4wQ8OrkZWSiKh7hhkdLDNLU2Y8bjeLO8tNU3ohsG9919MzdcfyPDBwyktSVGYWV3vv5qNm6fjBMVyRSRXConnHEST//1Gbr37MbWLduwTJ2KklLOOOJsPpr5KZt2bkfT4lRWDiKhORhQkYXTm0FOTimzZn9J/97due+u7zYnXHvj7dx+87Xffn7t1VeRtSj7H3IQm1YsokdFKdXbljFkyncP2S7+MyT1+biU717dD+9fwNTDDmP6N9Nwe4MIuk6v4t68/+VHxJI6JqA4IJkACTAtkFUwdZAkcDpkXH4nD//pWg77y1VABGIpsJLg/35C6uvuuZjZi7fStKuB7ILeJJqbaGzejGGYiDY4RQFbFrnmtkd46M6/EI/GkSWJZQtXMWqPPcgryGfihImsXL+QeCSBnTbx+n1M/3g6L77/Is2NEVJtUUxHiqoNWzls8t6YDpWRk/eme0bRv33tbn/kHq698C/fK0t0NOEO5PHc0zdz1LHHEgj0/v19qE4//XQefvhhfL7vB4GLx+NccMEFPP/887/IgFgsxtChQ3n88ce57bbbGDx48LeC6thjj0VRFF555ZVf1Off89BDD3HDDTfQ0NCAx9MZL+Wmm27iww8/ZNWqVf9yv12Cqov/dWq2LaekxzDWbgszoEcGm+oj9C784Vy/64H7qNu0kyNOPZX5ixYzctgQygsLqehZyvvvvMjDTz1BZXl/vpr5ObFIBEl0oRsW511+PdXbt/D5Z29jISLYIqLqRNbSRJIaDoeAnrJRHCJWGlxumWQyQc+yQvw+haRmIDtEZAF27YpS2qOARCpJxEijNScJJ+OMH9EbzbSItyZobY4gqgo5pX46OhKkkgZu0YUvUyQs6YR2puhZkI/D0okkRFoibRT4/ERyLDTboMATZOeGFgaU5hNTUxT6A5TnFBFurUezoVuWH1WQaNcNbnzkTb6Z/jbnX3MHvbsVkxAShCJpBg0Yzo7tIXRDQpM76FXZnyULljKofw9mTX8P3UijqgqmoYMoMaiijLe/WooqwuiRQ/lg+iLWrNvOl5+8wOP338MRJ55NUUkx61bPpqk5RqS9iQyfiikroBlsWL0JgGfnNPDWXccz4/OZAHwz/TXKhx5Bae53CYtDtVVkFZfzzosPcNSpf4bvuQR38Z/m0gv254FH3+Lpu+7i7KvuYM6X7xPIcjNo2H6cccyhREItrNi6GcGpUZFVRkQ3qaraSnFlL2q3bSKlGViAkYZefSpYtbIzZtO48aMY1qcXjzzzMsP6F3HghFHc8sT7346756Rx7HnuSbx84wNUbdxCVmEuq5csY+CIAYiKgizIyILJpAOP5YuP3+TWW+9iQ9UW5kz/huJuedTuqMUbgLEHHMirTzyLPzMTybSYtO8kJux/EO8/8QZvvtW5k/D+59/El6ngicc44YRTAGgACn6VK1jDXY+8yFUX3vB3ZZ1frX/3sAl/46cipbe2tpKfn49hGL/IgFNOOYXMzEwefPBB9txzz28FlWVZBAIB/vKXvzBv3jxWrlxJWVkZV199NVP/brnvnzFgwADGjBnD009/t8x90003ce+99xIIBFBVlVGjRnHHHXdQXl7+k/2k02nS6fS3nyORCN26desSVF384Vixch7phA5ON2OGdYZJWbJ6OyMHVQAwe85cJu4x4dv6773yOFu2VzN79hKmz5zJYYccwD5TpvDnP18EwKUXnM6O2laqWmppqq/F0gUsy8ayO7dd+90uWuMJPC6FZCyN0yFjpk1ysjzE4gZZPhfxVBJFklC7uVFllZZNTSgZLtyZbgI+L0YixcYNjQRVB0KBEwsTQxdRUhY+T5DsoMKWbWFApC3aQZbfQUBxEUmncRY5UQ0goNC0oZWg14dpJHA6PfQszkJRBdJxHUWR0QQTyfCwxz7D+XRRO5LZwqbt9TizMljz1Wd8OeMj7vjrE8SbwkgeF/c8OYPr/h97Zx1mR5H977ft+h13zWjc3SBClCDBg7sTXINbcHf3ECAECRYCASLEXUcy7n79tv7+yH7DsrC/3WV3Ibs77/PM80x3V1efW1V95zN1qs65YCp1ba3Ips4bby1k5MD+fPnVV5x5xincePMtvPX6Y1x84ZU88fQz1Nc3MHbUYE4+9w6Om3UoAFVNAXJTPZxwygnEKE6qWlqpqd5LnEdBi2hs3FzGxOmHYal+0hJSabbi8Agh4mOTmD75EN5/+3mKcnPoPbYvZ55yw28bFHo7yAm/dUh18//h24XPQFwsk6adQlFBDO0dfvLy82lvb0HGQUyam6aGViKBCKIJUXQkQ8DpcYHHTqi1g/FDhvDx0v1xxc448Ug++fZbUtPi2bP95+uldmz4gn7DZhw4TsxOxtINBEmiZ34fyit2omkGDllCkGWiURXJENEsi6fn34o9YwDvf/QB9dXbGTNqCCtX7EZTw3jjHHz96VLOOO9Ueg6fwE3nnwuAD/gj/nr+4ZHSfT4flmVhWRZ+vx+H46f/bAzD4PPPP/+rbri/xrvvvsumTZtYv379L641NzcTCAS47777uPvuu7n//vv58ssvOeaYY1i+fDmHHnro36x/3bp17Nixg5dffvln50eOHMkbb7xBcXExTU1N3H333YwZM4adO3eSmPjrqQvmz5/PHXfc8Q99vm66+W9kyOBxvzhX8CcxBRwQU5dffh7X3Hohx552MVlZHkaNG05qhgfTEFi++lsG9+3HKeefTEVJEwDDBgzACGnYHXbCmoYgCpgGdAS6wLCwGRKGUyaiginK+A0TXRQorW/H45SwVBPLH8YwLXTdwqVZhAImITlEVyiKM92O6HZilyQQFUy7RUdbF3FyCH+nTP+iBLaVtJKZ4MTUDBI9IhVtfrIDIkmp6TRr7Ri6ha6ZYLPR2R4ge1RfIqEAfj2MxyZQ0hihbw5s7kymvHwJobCTzJQkknoeAsDUKUcxdcr+vIg5vYuZM6OQ+LRcguEAr77+CJW1Ndzy9Ic0rPuUKUdOI7kwkZFDD+PVdz5myNDhRKJrKK2o5trLjueZh3M56cSLOf/Cs5h9wmxSknPobKojGHYSH+8hO28wk6afzQOLd7L8y/3LG449biZ9M2D9qm0k98gl034Ib754L7W1tSC62Pj9MoYeetg/Pii6xdS/HrODI485lcNG92Li1KMBKC330adfCkpUp73NDzY/JfuaAfDGCxwy+hDKaspRVJ3UvCKq95VywzU3cOkN9x6oVlU7EDEw1J8H8Aw379gvprQgenUJcsFgHHaF/mNHoJgiq374AUkQkewWUdPA4fBgt8vMu/kuHnr0YW64/yF65PcmPdHLpGmTefuVNylZWcbuzs30zh3M0Gnj6ahrISEx58AzY4Dajp147SnEuv7zczL+3TNUoigiCH89h7cgCNxxxx3Mmzfvr5b5c2pqahg2bBhLly5l4MD9K/n/fIaqvr6ezMxM5syZwzvvvHPgviOPPBK3282CBQv+5jMuuOACVq9ezfbt2/+/5YLBIAUFBVx33XV/dRdj9wxVN938Ni4550hWbdlFXUMDSbEJYARp7ghiaRaCImPpoFsmsiSDYCIrNiKaiSzsjzwoWQK6aXLIsF5YTglJVli3umR/NHF/F07JgWUTsSwLLRrFYYrYHQqtgSAJLgcuhx1nqovBhb35vnQLZsikR3oioXCEmsYu4i07UVOloSmC0yUSVXXcDhvp8V50XUcRJVrDYQLRAKbhICE2BsUUCEtRpg/pSagrQHyCm0hExe2K46vNZehGBHtiIi888TKJTpmC4iKGjxnB+tXrOPO003jtT8sYFny1io8/fI13n3+RGadfSkfARaR5E4o3ntioj4AkoWntWLpAQ00J67/+grc//Irrb7iFol6ZuJ0uzrz4OmIkg+z0XqSkxTNw8EAuPvd8TEMmIzePoCufS687ls6SJup3LWPV999z1RnTiRt0zM/66ZEHb+KsI48jvmd3oOKDBrUTbHEcPmMyn33xDVdfdSGHHTqaGUedwYA+uZRVVuN0iig2GY87hnAkTDgcob3tr3uK/JEWPnhvMU/cfy+bd1b+4vqdN51BwbAZzLv1Zo466VRee+xhXC4nhx0ymdyiNKaeegmnz5iApurogga6gOyU8Dg99Mrtz+7aPfTskcOnHy79qVItxJipsxg5aRiP3vLAL57ZHDJJcf0+6bk//XEth/bt/ce6/L7//nssy2LSpEksWrSIhISf/iOx2Wzk5uaSkZHxdz/4o48+Yvbs2T+LuG4YBoIgIIoiwWAQj8fDbbfdxs0333ygzPXXX8/KlStZtWrV/7f+UChEeno6d955J5dffvnftGfKlCkUFhby7LPP/l32d6+h6qabv5/J08eyfdteLEMD00IzLTAMoqqBiIgzRsbQdBRRQZBF3LKdgBZFkgRUHew2iey8FBSPHQI6JXubGTIwhyRPDC2+AHtLGrDZRfISk9hU1YBDtAhGVAb0zSbsj6CkKtBh4fC4qGttwy3KJCcmE9R9NLeFEcImdW1+HDYX8Uk2HNjwhf34oio2yYYg2RAsA4/TjSfeTYcviOkPEdUMjpvcCyOq0hWKUlLfQUfIAKcXtyOTmAQ3rdEARjhEuj1EqEUn4HbijZHoNeosHrjxVDQnZAOX3/s6h558Bm/Mv54Ym4twZzmxmcN56b7LeGTBGt6+9wIkp8y3X39F3+F9UQwbryxYwDMPPYYzPo6H5t1CYs7+xcUfLv6UOGcMYd1BhRiHvfobzrvwYpZ99jk9suIpHDj6V/upes8acnqN+h1HRjf/fyLAfm/Q6cdNY1Cv8azfs5SKig7iYt0gyNQ2lFNX30i/If0o21XKlKmH8cYbS35R0wv3XMftTz5L2NSJ83io2NfyV5/66dL3ufmeO6ncVY1NlmhpaAcgLTeFxqpmknN7IOid6AjcPPcKrrr+NubddAX33PsYAFdffS4bV2xl0rFH8emni4mLjccjCNw//xGK+/dnV1MlfVJ7/Ksb6+/mD3f5/Z+LraKiguzsbETxn1OTkydP/sXM0VlnnUWvXr24/vrrsdvtDB8+nL179/6sTElJCbm5P9+R8Gu89957RKNRTj311L9ZNhqNsnv3bsaPH/83y3bTTTd/Hz+s+IYP3v8ULdJBSVkFBekpRA2BjkgUzR9EtXTccSaGLmCTbeh2jXDQwiPLaJaBYUC820tGQiyqXSeKiaVqqC1hJgzIp8OpI9gkfFKEgj7JdFT7qWprwjAj2Bx2nA4XPjlCjMeF2mHiUkQkh8QR049j94YfCETCRMIaLruDhs4OMtNi6AoIRMImrdFORNGGKDsQFYm+GYnsqQ/ginFSnJ7KmtYK0pK96KbOeyu2EmtzgQSiLZaoEcbrcOBUOqhtLIWQSPGwMdTsWk1u0RCKPU5aHW7SPVHuuedu6vbVklw8in1bvuSC884g2FqOO97DCy+8wc3XXcEZV99OXGIKx5w2l1irmg/efoWqkibOOetUUvOKCfkbKNu3gbvu68IybZwyZw67tmxk0qyT8Lc1MzwlwsiZF7NydxeDx00lMfYvvva1MChOgG4x9QditjewfMUX1NXVklSUysYfNnHLXc8za9ZIlixZy9CxI1nyyTLqmsrJye/N5vVrUKNhXn7qeebNv4H3P/qGW88+jRd+RUzdcPqRRFSNYDSCIIqEw5ED18485Uhee/uTA8d6oIMjph7JYw8/zz6zAsP8yTPVWNVMUb98TjpiAis3bSXqayU5rRAAe2wqN9x0HZ988i5t7e0cMeskvlv2BbOPOpyvvl3GnvJKXnvvCZqeCXDvrXdy3123MHRUH4pSU0nOyMGdVPhvbN3fh98cNiEUClFdXf2zEAUAAwYM+M3G/LnLD2Dx4sWceOKJPP3000ycOJEvv/ySK664gu+++45x4/av4zj99NPJzMxk/vz5P6tr/PjxZGZm8u677/7iOddccw1HHHEEOTk5NDc3c/fdd/P999+zffv2v0usQfcMVTfd/D08++TtXHTZ7bz5yiP0Gj6e4f2Hk9sjBc00EASwNFAcNrSIRHJaCsFwF1G/RkFWItFQmNZglEg0QjSqo9hFYmwOdMtE1Q2yk+JxprnB1BEDAh0BPy2dAeLsDmr8PkYW9aAtGsRmV+hq9eN02Lj84qv58uO3COgWda3t6KpJY0cExeUkENSx20FUDQKWhc0hoxiQnZ7I7upOErxOnLJIV8SHSxAYWZzDt7v3EdZCOIGionymHnsMn739Hq1GMsGWMiTJJGpqmHoYXbVwu53YZRspmcms+noVM44/jKa6CAV5Baxbv45+xXnEJKawffMaJk6cRlVdJ30Lkph1xJmMHdcfgNaS7SQV9/9ZOw8ZkIlm6sR5Y8nv0YNde/cy7+p5bKoKcudNV1IXCJHpcf1KD3Vz8PBTAJMzZ4/itefeY0XVFsaPOJIe2R4QLJAVQl1+Xn/oPe5/fh7jJ83gnXdep7yyHQhx6gmzeeu9r/ZXZ9bz5kPPsHX3Vspr65EMg+937MHEwm63U1/j+5sW5eRkUl1dx+efvEOX38dtd99LMBJhSK8iWiQXlevWI7rsyJi4HTZkp0K4K0BWVg9qO+rIzS0g0RuLbLNRumUHAhb5Rb3xh5oJdQXpO7Q/RcWFXH7pXTz59C1cdsld/77m/TP+8Bmq/6OlpYWzzjrrTwGyfolhGP+0Uf/H7Nmzee6555g/fz5z586lZ8+eLFq06ICYAqiurv7FbFlJSQkrV65k6dKlf1klALW1tcyZM4fW1laSk5MZNWoUa9as+bvF1L+Cyj2rKNm2naknXPiLa7vrffQ+sD19/5RvV3slsQk9UPUAlSW7Ke4z/HeztZtufhtRLrrsdrqCPqYMH4Vhi2XVik/JLkyjpaaVzB55GEGZ8voqklPtdHa2EuN24olTaGprZ9bgfrhT4li4bCOGpJEYZ6ejuYvYBCceU6auvZNwfSuWZZGW4CZkmEQjGtURFZsgs7m8llMO6cOOehVXqpvYuHTmvXov8bKdzo4oPWIT8VsRwmYEyVRwx1s4TAXVNMlJiCOKRaxhp7K+jcIsL13+IM2hEPgNQoLFZz9uJS7Ji+JQUFWB3XvryN21k6q2KCnJKqdfeQHvvvwqTS3tyLJCXHIMNtmNz99JoDlCryF9SPLG4e+soaPWoqpkN/ua6rnmmvPpDHby6WcfMHrIKPZ1xTB2XH9efuF5zjn/An7cvY/G77+nraqaG+7evx5l07Y6AN585wUWvfkq2Tm5vP72a1x43oXQuo/MpL++g7mbg4NNG6rZsfU9GloDJOf354yrL6Olrporuy6nsibAp18v5sF5V3Pmtfdz+eNzkTU7r731MjXV+4VR68ZVrN+5h/RML1FdJTEhgc8WfM5p190NQL9+uWAKfPLyS4w96peem2vvf4ANP3xDh19HsdrI6JFPXI9h5Bbk4wt10qMwi5Ld28kqHkvGyOPoZ9ZRmtKLTau/QhRMRLubpPhYws4IqmgS50jk08WfMvPwSaQmp+NI9hJrT8SKAc0vM+2IY0lN89K8pwGAo07cH+uuuXkjKSlDAdiy+0MG9T7mF7YerPzDM1SnnHIKlZWVPPbYY0ycOJHFixcf2Cn38MMP/ywi+X8zf6/CbenUSI5TAHjrtRc59czzflEmXLMSZ/Yvd079xE9+9G728+qijwg21nPpJRf/0aZ0A0AA8Pzi7L23XMZNdz0JwDdffsWAfgMZc8gwSvfVcvTU8dT5fKTFJNOzKJOIphDobGHHjh10BELMGDUQxSZi8yi4LYU3l68nye0kIy2Z2BQ3oXAUu6JQ09VOU0k7Le0+IrpGvNdFQXEabeEADrsDqcuiR2Y6Lf4wNXITsi4it5t0+UIkFsbTUhoiJFiIlkhGjIfYBCeBsIYoQLsaIdLqw+5SMO0SXstJY1cAKRomIy2GpEQ3a0rrcIsypgj5uYWUV1Yz57JLmDqkL1dfdTVaJIwkOAlGOnn4lSd59ub70G122ju6GD5sKF99toQYm4suLUhGUiKOpDSsiA8topOTnctlF99KbraH1z9YxPiJM5kybhgA67f8wPBBh/xqb1w1dw5HzjyaZd9+y43z5uGOzflFmZXbGhk3oDtDxMHCmtVfMWrMtAPHN8+7lMSkbMaMHItDaGPg6KMYlJ9FTIyNWVOnc90Dz/zVulZu+oojpx+J06Fw+7mzuf3ZRVxw+nHMmnkyohpka8kmYmSZ2RfcwcpNaxBcqZx87GE4FBt5mQl8+dkqSts7OezQkfTu048vFy4C4OTzz8OVO4HVH9zJoaOmseSrdzlk3CjWbyvBgYlpCHhjPBxy0nlYtbvpMXQE4bLtvPLeYkRJxzAE1q78jqefeIaC/FQ++XIpzzz3EF5HbwC2L/+c/hNn/nsbmn/fDNU/LKjS09P5+OOPGTFiBDExMWzYsIHi4mI++eQTHnjgAVauXPkvM+5g5tc7xAL++k7Ibv45KtZvIG/4sD/ajG7+Ab77bjUvvPIkgdZmBvfpwx0P7RdXF500i2ffXcLhY/tR1tBASzCK3akgmBJpMQk0dLRx+ODexGbFEgibtPl9dNX40ASDhNh4fJEQalTDo0hoHpmwZWBFLMpKmpFsFrEZLlIsL0U98wi2lGHo6YgxNsoDtQRqA5imiM0m0tAWRpQdxMdKpMcn4sxzo4gi+zY14o+EsYwoYdVAkhy4vA7k6P6vS0uOkCTaqGj3EzV0EFRkS0awScgiRFWDWIcLTdewCXbaI20oip2iXv1orqsjGgyg6UFEm4i/M0hinBtdFwhFVRRJYtT40ezduZtBfUYzcsporjjvUgBuvXouI0eN5PDjTwHguNkT+GDxd7/a9qu+XIwuiKRlJpLithOf1z2r/efsXPU8fcdeAMCd15zErQ/9cnnIv5Obrz+HMy+6mEh7hLdfeZb5T70FwML3XuXo4+Zw8uwZZBf1oraiGlwuBH+IqbOm4rQ5OPX0C/5qvYOG5mMXHJTXlBNRdURBwDQsXC4vW774nIxBYw6UzS3KxuN1snNTyS/qKRzUh1AkyqDRM3FIEepqqgiFwvhaqlFVneTkVLra2sjMTeOJBx/iwksvAR0y4pJpivgQFTcnn3EOO79fzd66cuJcDprqq9AEg8L8TALBKFMnTOeE2ccTiDZTkJMJjl8K/38H/y5B9Q+vLA8GgwfiTSUkJNDSsn+nQP/+/dm0adO/zLD/FN5+688jw3eLqX81LT9FqugWU/9BtHfWAzBhwhimjBvCSWecxwtvv0JGRjx52cl8uWodKWlu1pdXEZOQSp/MVEzdAsOivrmZrMRY2v0Rlny1me1by1AkBW9OLAk5sVS3ddDW5sMZ76LVodGpRuiIRqje10h8nIJpmLTu89NJkDX7drG5M8LeUDVV7TXYbAIyEvEOhYZGP4roxu1y4XU7kZIlEr02Sja1EI3qxLvdJMZ6UHCQ7I4jRhAJEWBIUSqHj+zLoIFZHDGlJ6dO3x+vR1JsWKpBcY8ciFrEuGHAkP4Yeoi0+Dg8ioMrLz6FG665HD0cxuuMRw1G8bjtqIaJJQq0NXVht9tISUsj6Auwffdqvv38U2afMIPjj52JmJLC4cefwo+rvgbgg8XfUbH9pxyqHy569cDvY6fP5tBpR9Gz37huMfUr9I77KW5iWAge+P2LRc/z3GO3/Fuf3bp9BxNHTuLCc05l9rFH8NX3KxgxtJDlb77CuiVfYhcdLPr4G4YMGsDmbWtoqylh2/b13HTjNdxx120H6gnVrP1ZvX365zIgPZ3OoA/VtFBkmfH9e7N33Tc0N3SyadcOavas56JTJ3PPjdegSdaviikAmymQmJDLru8WU1tawt6ta2mv2UMwGCQ+LpmW5lYUyYa/rZPrbrwNwVIIRiJ8svQbXG4vx8w6gfLtWyiv38aJxxxLr8IczrzgLNb/uIMTjj4Hm+Bk1drlrNz0OQXFo383MfXv5B+eoRo+fDh3330306ZN4+ijjyYmJob58+fzxBNP8MEHH1BeXv7vsvWg4t+hcDeuXMXQcWP/dsFuuvkHafjxVdJHn/WP3xioBU/W3y73Jyr2bePHlWs5+fTz+HLJ6zz88BN8vXwjn3ywiCOPO5ap4wbQFeiiodmPz1QRLRAFEYcgI0oSIVXnsL4FeBLcJMZ5+Xz5DmxOAQOBzOR4OqJhnIZEl6qSnhWLIMnUdbZTt6eVvIIkkCQibRGMZIWgFiFqWGS5YvFHg7gEBS1iIcsuSktqcbjt9M7NQkmS8BgOctNj+HFbHRnFcWzeWAmGhaEbeGM9BAIBLF1nUI8sxk0YyYY1q7ELYAp2ftxRht8yKUzJoEsLEwmHGN0rh3c+XgHAReecwbMvv36gjWaMmUzAEWDn9i0gysgm3HrPndx44zwUWUJAIDO7D5rWzuknnkFnbRNpxTnU7dvFQw89zbof15NTVMS9Dz3F+XPm0G/4/o1Ai9//gJVffczDL/32VF1/jZI2neLEf3jJ7R9Oc/OnfPfRDzz9zMt8v6X9Z9c2ff4GQ2aefuB42duPIjlMPvl6FY8+9+FfVnWAxtrvSMua8E/ZdeT08ezdt5133lzEs88+zcoVP5CZmUFQkMhIjSVJSWXtxu9x2eyE0Wjzd9HZHEIXYNjQ4YwfPYZioQ6/KJOWmk91p0VE97FkyTJ2lZfhSXAT7PRhSRJdrTonHzEcJIHivoMINdfzwIv7dwLua2xl2mHDKd1R8at2FvTOZtCwSZx/wbG0V1Tgj4vn9hvvRlZVvF430UCIsr0VfLN8NZMnjmHFmm+4+MqrEcIan336Oi0dUd57fwkpCQ6+Wf4dghRlyeLVHH/sRDyJHl594VPuvu0Wbr7j91mM/n8cNC6/t99+G03TOPPMM9m8eTPTpk2jra0Nm83Ga6+9xoknnvgvM+5gpnuXXzfd7Of995/g+KPOAtvP83vefefV3HzrwwAMG9WHYIefdn8XsiBimRaZqT3oCnSRHGOjtKGZvLhELEWgvKkdSZYQBB1Tk3HZbWQkurDsEq3NQeyKjWg0jCXIJKe4CMYLOHSZsKHj29eF06YQk+AgweOlMuInJz6NRl8DyWIihhnBL0SpLu3CYbeTHucmsyCdhBiB0Z4EXtqzh6q9LWS642gOB3E7XITVEDFuGzEOO1aWQv2mRrKSEpg0ZhAle+pJjLHw6QIpXjvf7qnhkPwMjr5gDjtW/chltzxP6aplFI39Kfr4+ImjMA2DqKayb18p0bCGLCq4YmOQkCgu6s20w4+iqnIHy7/6jF49e3POkWfz5Y9L6FFcxKhRo/DrXcyYtP+7tnTD9xQN+ylzxHOP3osi2RnaP5/4lHRy+3aHQviJEODiitNG8Nib6/6uO95+/FpOufzBn50zCXDsjMks/mL/DNGrz8znhBMuxZ3kZd7VR3LPw5/8sqIW4E/BwKdMGkBKSi6r162lYl8zEw4dQU5uGhs3bWfeDTdw/Q1XYZNlNFOgvbOLqAaKCEWpScQnp1NSU05xdiaDspLZ1RykvrWTvv368eU3y7BLAsFIhAkDijhk2EA02aJnbm8mnXMeic40EG188OUirrzqSgQU3DEuPLYEtGiILWt/nrWk3/D+nDJrCjfe9gi5xVkIdheaP4LLacfmsJERF8PXy39kxpGzmXjYNK6beyEPPfkA11x2Hfe/8AAVW0tRUehsbeDDhYtRMbEhct2Dt3PJ+Vfw7LMPcN8N99LcsoOU5H7/aGf+Zg4aQfWXhEIh9uzZQ05ODklJSf8quw56ugVVN/8LbN6xjME9eoPn5xngTV8Nh58wCzEq8PLLS7n7ngt46uXFAHy++GXUxjJeXvApn/6wg2ZfC+edOIus7B6sXrmG2rYOJEnA5XQhmiYRTcUyRIrTUohYUWo6/CS47LR1hMlJiSevRy4/bNiGKIl0qBpel5PhhekE/CrRGIWOUJhwg5++g/NYt7aUcDBCbmECKuCURUxDwKHEEhNjYmCxc3c9kuVg4PAcOqMGWXF21iwvITXRTV1LAJvNTpzXTkNLF4ZpYXcqWBjoWpSBmcnsa+kkPT6O3KwkJMvCEi2cio2OgECSG0R0Lrr+IQaMGPGrbZqY4mHOUcfx9pIPwATZrhBrdxGflMX0aUcQDWqE1Q6IdLFq7Y9s2vKTS+bCc47imSdeQXRrfLLgU46c8/NNLiU7llHc7zekjunmADOPHkm0vpELbphLb1scfSdMoHT3Tm68/gY+/HYbpuZDVBL4YsHTzJhzCQAPPnAZtQ1t3Dr3Kk448wwOmzmB5qZ21v24nptueJKe/Qdw03Xn8t4HP98dv3L1Vo4/YRy6ZhLyhcjpkYIR1ZEcCs2Nbciyjc6uEJJDAMtCFgSy05LRRQe3n3s8Dbu38/7GfXR2+RheVMiSDevQDLAEnbnHzuLelz791c/4/IJXuGDOqcy9/X6+WvwhtsQ4ijIz2bRtIwNHz6Chchct9ZUYUZOEWDttnR1Eoip2EXTNwO32IqBx7y33svCjhYydMIGrLr2Or7aXsuDp+7jppvlcdeW5+NrqCAkxJCXIvPTGEn5c/QXHTzkagLe+XMas6YexclspowYU8dWHr3PKMWf8W/v2/zhoBdX/Kt2Cqpv/VrZ8/zar167l4uue4Mn513Hk1MnkDp3GNZefwUOPv87DD17P1dfeT0qcgCFAemICDrcLp2DRPzuDZz5dx9dLF/LMQ/fj7wxQ09hEWkISUQzK6trIzkhBUy2mDsrj800lBPxRRAxMQUAVTETVxO5xEgqp5KQk0RYKoYVNEhM9+LvCRPUwkmynf1Y6Nq+d8nAbzk4TJcZG2NDoqvOTmZ2KXw/ga1MZNCSbKCr17T4SHQm0N/qpam+n36AcbB0aXV0hRvTqR3NXO52tnXSEdVrDEWQX9M5PxUAg0unD7bGzcu0eZMXGlBFF2ASR1nYfpixjky1sDhspsXFowQCWYic/NZtO1ce9T38AwNUnT6F37zwWfreejo4IuyqqifPEoBkqiiCQWdCD1tYmCtKz2bt3Ny6vkzHFQ1m+80fyk7PwR3306TmCyZN7kpxeyIzDT/uzXosCdgC2rlzCwHGzfv+B81/EvorVDO05ltKylbSGVF547hHiM/J48t4nmX/nDTz40GO89PjDjJt9PiDTr38WPfsUcN/tD1LUewTjxw6iobma1cu+YdT04yjI70tmegKzjzmWyooGBvXxonjzuf/266lpqqW1tZNHH3iQ/PyBTJw0AkSTcMTC43US8IeRJQh2+UDyMn1cIbmJyQgWnHDW+Tz05CN8u24HogBJXjdFaUn0GnYoT7+w3828bdUSBoz9aTy8t+wLhsd4OOz0M9AthXnXXMnWpd/jTE9iwWefk5UZT0d7F7oloUhuQkaAJJeLzes3M3biUNSwRjDop/+gkZTs3Ebv/gOxIl0EkZAEF5V1NaTE2EnKyKW9o4khvYfgivMyccqpXHP1cZx6+nlcfNo5f1DP7ucPjUP11/Lb/RqPPPLIbzamm266+eMZdOgpOGLTOWn2FN5d/DX56QJfL/6GjetWc+oJI/lu+WbaayoIhGBQYTymO5aykkoeuPIClpe10is/ng5/CIddQbNA03Saa6uJtccwaEQx+ZKLnLQE8g45kgU/XEuaO4bGcBeSJaJFDLBBhsOBTRTo9AdI8igkZ2Wyc18duhFFMy0S3Db8mopsGdhaomh2ic66TpwOhfgYF5pukpqaQHKaRnlHBzZZxNdssK+hnOT4WAZkZlG+pRHJZpIWE0dLJEh1VwdNwRCxNgXTMMjJT6J6bwsp2R4iLhN/yIfXbQNVp7mpExGTnTUd2EUJm9tBV1cnmYkJOFwubnvoSUo2r6Zz+wouPXECkUiYAb160XPAVKLLyqit34JdhkDIR2JyHFo4jKYHEPX9sbTafZ3Exsci5toRtgv0HNSTHdu309xcw9PPbmDBB4v55L1HOfKEK//Ua3Zee/0Zxo+bSWFxHwDK1n5M4cij/riB9B+Fxva1X7PgvXd547U3GThwCFMPH09u0Tj+L3a1IIIEzL3qPiwFpp98CSdMeZsfy0o59qgjef6Vtxh16Gickp1QKEzvIQPoP3o6aT0HoFoanb42jpp5BABDhhZiEx2oqsqc867ijZfv55KrLiPe6cUUBRJjE9GirajRMCmxLuadfzrvv3Q/m39cwYyxo7jrxUWEoxHe+X4N43sWYhNBMyEl1kNKUtIBMXXVnFk8smAJL19+Iuc8vhCALz/+gquXfoShihx57HGMPXQ0QcvksUceYPmqHRwytieGrmOKOorVyWlzjmddSYhe/QcS0SL4/QGOmDaBNZvXEZuYTVpxPmu++ZpJo0cRGxPDhHHD2L5xO3ffexdpydkA3HbbNYwZkMXqr9f87j37e/J3CarNmzf/7ULw/02e3M3fT2coSpzL/keb0c3/DEHAfeDorGMm8eqH37J9y+E4ZIHr5s5k8ITJONxQUwkxssz7731IrBNCkSjNzTXkZqVz1ytvIegGAVVjQP+BlJSUoqkaiAJ2yYauqWz6cRcbLXDa7UQWL8PptFPb1cXEIb3ZVlJHTrqLdl+YKAZDevZgzc4q/GFoLN9HrFPBH5ZRidDlD+Nyx+Jv8CNigQp2SSAcVhHiYsiMd1LR3kntnlZ65aUSDKmEgzpnHTGK8oYgm3eXEIpoDO2bj2kYNIUbSElyEg1GaGhoJLswEVMLEFGDdPoFwnqIlpoAoiwQCuqs3dNAQnwcojsRQ7TY9fkSFnzyIkErmXn3PsSJs6diiRFkw0FTS9OBtj3ulNNpaG8mKnnIyc0n5G8nLy2btVtX4dvpwxANQuFmZkyczHer16EYMUSCXfTuVcizzy5ky75VrPzwS+acegynHH4cU8b14uuVewA484yfx2Q7WMRUCFD+9HPwItJ/5ExcXi/3PvwGaSkCpgGmDk8/cTsLXn+Z5RuqSU0QsMfG0FrnQzXgrSWrQYKnXnoTI6qiqhCVwjzz8stMP/JExo0ahb96BwUDi1i7eisjx/WmvHQf7z33BBdcdxs2u0K6R2b75ire++orNq38gG2bd7By9VZESUHX978/epyHG+9/gUvOPpU7HnmKM6eNZtWuOs6c2BtVk9jdFqB3cQ5fr9nItsYuAB6+7SIeWbB/8fk5jy/k60/eYcqRJ2OordTsrT7wyY876zRWfv8NRx81gcOnH4osK0iKg6iqkpiewMdLlmPIKsWFPfG1NdMS7yUQ9bFg4RcsXLAAweEgPnkgiInEJbhZ+vU3vP/eftfm2289TGNA4I47HvqL9g4Dzt+hX39ful1+v5E/wuVXUd1IXk53IL7fm3Y/JHj/drn/ZA4Zm8wPq1qo3L6MZx59lG9/XMOG3W0cOySDDVUtDOqTSZpDwR9QGT+wkKqmdjbWtVFT30XfjDiW76kmxm4npBkIsohdltAtQJIJRXUEy0AUROyyjC+iIwgWTpuNqGGgKDJpXi/+qMrg/Gwi4TAtHUH69c3nu017sNkVvB4nimlR0+QjwW0Du4Qo2Ijx2PH7w5iGRihiYgo6hw4dTm7PQtas/wGP3cHmnTWEwzpZ2bFkpyfS2OzDrtixmRqGYKJrFnZJJqppBKJRzHAUn6YjiKDICuFIlLaAnxjFQ1QykS0HglPAG+vC9JucMmMAaW43oYDKVU++ze6aalau/p7zTtzvkvM1VhGTtj8Lw6jJkzGiQbrCKg6bjdysIkTRQUPVXjr9rcgON7s2rqdXXjo9CovYunUdIU0lPSUGyXQz+9jjsSsiIUIcNmwqpTu3ceFNt//Vfi2pbqY4J+WvXv+X4qumZs8+skdM+H2e9y9iTWkXo4piAYPWYA2HH3o0iUl2mpuaaGxvhojGvJtu5LEnn+SM2UezrnwPH334I2nJEqGASVgDRQZDAEWA3sX5lFY2MHnaFFas/JaH7nuABx+4j+weWVRWV9PU0IHH7UGRVYrT8lixZROK7CBqRIiLiyfoD6KZKrJsQzYtQhETRbKwe2JIc9s4fEw/dlc3Mmn0SH7YU05jY5B5tz3BnEsOJ9wRZUS/YVxw4ghOu3S/iJn3xHOUbt3E3u1ruf76qzj52J/WKV107cUs++obvLHJWDYbAgpNteWIZpSa0hpyexehRaKcfvZJrP9uPW2BdrJ75NHiU+k/ZCD++kqaQzoPXDOPYcMHccXV51NRVkm/Xvm0+7torGskOSGBCVMncvKcS/+gHv4l3WuoDjJ+b0FlsH+6uZtu/rVoHDd1OB8sXcP7805ECIXYVFFLfZeP1s4II3rlU93aQYrTRVfUYHz/AraV19ARsmiLRPlxZxmxbgft/gi+kI7DpWAXJcKmgSiCZpoIkgiajG5pyIKMwyETilrY5P1h8CRF4bSjJtLeEcDX0QGCgCwLdBkae3Y3ENZ0bJKAapjEKDLBqIas2PBIMh6vi7YuP2mxHnRMZEFmyID+lLWUEwrrxNgV2jtVOgI+lDgXdgsMh0SwPUpRZjJxGbFs31JHKBjEMhUsUUQVREK+NkQB0EwCUQubDHFeBVlQMASdXulJ1NS3UhUKccqkoRQmxbK9vJas5DiiUZ0H39mf9mrT0s8YMnV/9ogrbrubjxa9idvtwNJE+vbIJpjcn8zEDPILEnDiIa93b6r2rKB6dxkVVXV0RNopLLCx7MNvMEUb519xFkPyRjD9yGN45bW72LevlPYmH888/9EfNH7+c9lcVs/gwowDx2tWvMPw8Scy56yTqS2tRjBAiDazclM5Fe3NTBycR2VVkLRUmdFjh/P6i6/Ta+Aogl0dhLX9QR1lCfIKCqhrqKIoJ5/Gtg5EPYrT5SYYCNDS6UeUQFEkoprBoP692b1rHxE9itNpJxKOosgyummgSDbGDh1JSe1empvb6JudxqDeAxk3pA/lDRXMmnU8gyeP5f2FH3DZ1fM5bPIUtu7YzPaNOwDo0b8nqQmJrP1+NXPOP4vLrn+Ej998ilWrv6WzK8KOtT8yeuIovKm9qSnZSCjiJzkxE6/by3tPPcmDXy5n8QvzSUnNRBFkWutrEBwCw8dMoqKuBq1LY+LEMVTW7+PNp38equOI42fSp28+Vdv2Mm7qTGbMmMZH777P1dffxsHAQRPYs5t/L9G/cr5bTHXzr+SB6+f86TeFD5auAxwcf8/HHPfo19z70W5eW7Scq06aTUQLMSIvF1Ww09jYzu6qOtSoxvDCdMqrmpg1oi+Jbg9FqcmkxnmJcSholkUgpBFVDUxTwFTBFEwUWWFUUTbZHg9xDhlFAtOySHQoNJRXUltagSiLmLJFxNCp2dOIpmkku+zIlkCSx4Vgl7C7ZFJjnERFk2A4hKKIyIpMQNeQUpzkDczHipi0RgLUNvrYU1lHTWMHEV8EWZEINmgcPrQPSS47nkiU7NQEMnNjcLhUCHaSKge5dOoIEuwKKW47GbESmXFubJpEm6+DgD8KmkaTL4hN1Wjp7GT1njKiqk5bOEyrz88jV++fBVi7fsmBNv/y44Ukp+YS9muE/a2s37ON3cvf4LtF9/Puw/O44pwjOGpMIXPPPouA2k5sspfclBQShAL2VXVw2KhDWfbxSva11PL1kgXUNzYTrPMT5/kvnz79N/HnYgpg1PiTkZB477EHIVzPl2+9yJOfLGbK4UcxcUR/FG8Gk6cdQv9eo9ixtZIevUeSk5uHaoIkQkpaEkiwfVsZTrcDU9LRIkGaO33UNzfR4QuSHh+Dx+vC0EEWRDbv2E3EiGK3KUTDUSRRRNV17rzhRvoV5lFetROnDmdNGcHqrTVUN9fTosRyy6PvM3jyCUAmyzaU0ljbyFXXnYem73esFvfrhaZqNDS302twf3aUNrBp048U98hg5dLl7Fj7I8MnTGLmzFlUlqzlogvmUbWrgskTJrH8w8845uqr+fTVJ8koHM6qr1fw3dLlnDf3MrZv2ENRfk9kU2FA70Jqy6owWoOcePwRXHnD/ry0p55/BnMOP5r7b3+Kov4DGT16OAW5fSjulfp7d/HvTvcM1W+ke5fffxsqYPujjTgo6F0YS0enyarPFjLn/Ks4c85JiGobvfr35Nrr7ka1eWhobEQLqWADj9ODGY2SlOwhGIqQkZhAdUs7zb4gDrtCelwcZjSK1+tBxCSqWfQpyMJul2kKhbCiAp16BBUdtS1Mal4SpmVRuq2OpFgXvfPTaewIsq+hDZcsoxkaWAIel4NIVEM1TUzLIDc5icSMTCTRIESEzqZ2AgEVp8tBWkYi5eUNmFERTTYIBlUSPA4MWaK2vhUrahLjkon12jB0DVG04XQIBMIqmiGiR1UkWaItGsZuEzEiGqpgIpsCbsWGLxpBUWwIloGKgILCZbMnYZkWd7z0AZn5aQiyDS0UQpKc5PVIxxMbw5ABQ3nphScxVANJspAUBVGA7JxMYmLj+XrpWppbS3nwwUeRbXZuuOlaXnr8Ka6+4V6efOBeCvKLGTl2KHffcy09B/bhwvPu/KOHz38oPiCGULAel/snoXXMGWfQ3FhOe1UVz9/zKHOuupxwsIs+vfuTnJZMaXk5VdWVGKqKgIjTaeO+O+9gxKB+XHrNhWzeUoHL6UKxK6imRWenj1i3QjioYcgSRUlxJLpc+EIRdre00TMjieSEVGIdJm6XnVAoSkJSLM0dXRiWjTNOPoL1P3zHolUl7C1t4ITjZ1G2cxsvPvgcQ2fOpM+IQfhDUYyIimgZRDQNWYTGqjomTT6UgBVl3bc/LQwvHDoYlz0eyW6hhzoJhoLs2/5TmI7rbrqRB+6dzynnX0zd3k189/0ajr7gCgI1W0hwJtC7fzHNbY1Eg5AW52b84UfRs38BD9x7M4cfdQyNtZ10qQGuOedKDia6XX4HGd2C6p+h24F5sPHc009z4SWXHDieOnMaO3ZtR3bImCEd1TJxeRxU7q7ktMtuocCj8eoHbzN96nj2bN1FoqDQbAmYgQil1U3oRgCv10Gc3YWkiNQ3dZGS5MFpV3DYbXR0+fHIDpxuG6ZhEYhEcMc68bUFkRUblqXT1BVk8pje2B12jKhFaVUjvkAQn08ltWccgUiELFsygbCfhAQPqUleWrpMKuvacCdAos1JRzCKXZTYV95KbLwHOctJ2BchRYqnOdSBEpEwEWgNq3jcComuZDrCYfydfqIRH5YZISXBQ4e/C0UQaOtSifeKBA2dgM/A5XWjCQKWqmGzW0iWicOmEPBpSHaJprJWCgZm4fMHGD16NCtX/0CG18PbL7zM00/cyWc/7kC0S7jtTmYdcTwLF7yDJRgkpmXRp2cu+3ZtZ+P2+gP9cs0VF5KUlo6kWWRl5zHj+OOIc7t/rUv/IDQO9uXn/whvfvg6H7/9FgHSsXxVBHWTytJyTKdBjFNCs1JwyNDR1YqpaeQU5FJXU0fQ58fr8RIKhLjm/Cv4es3XZPZI4ZPFXyCYGoZucvKUoYSiGl6nk86gSmZyDDWdBp5gB0paLB5ZQcfkqDkXMWHGSb9q36J3XuWxV9+gqr6B4gFD2L1lA1ZUw+GNIRToJN7jYvfW3QfKX3/VOdz/yMsA5PbpS0ZmOm3tdRi6THySl862VgYWFrJhxzaC7X4uOv8i2lF4+u67OO6Eo+js7MDpiSestZGXmkNEjdLa1sCoMePoO3A402dNQTTjcB3kvq9uQXWQ8XsJqm8+fI3Jx5z5b6v/96dbTB2sbNi5lfPPns2mtfvIzc0gOac3o8eN5qP3X0O2RHTFRkJMFug+QmE/voAfWTEpzs5my65KJAVMTUcXJVKcbuwuB75QhIgmkJHqJcXhQZIN6pvbSfC6kC2DsGrQ0umnR3YqTc0dpCbE0NjmRxT3L2L3uJzkZaZQ1tmO3SlRva8DGYmCJC9tZpT4hFiC/giGZpCVmUBY11BNg9a2CD3SYzFFO53t7ZRXtJARF0soQcAmywg2mY5GP+nJcZiKTpxoQ+swqG0NEBvvoi2go0Z1NEMkO8VOU6cfTQ0QVDXQLAxZJE5y4Ix3E/YJJCUlExZ8BLtCaEEVpACH9htMWryA066wdP1uappbUUSRxe+8xaN330ROghfDYafvyBk0lq9n5doNhORYdu/ehd3pxON1ooQi9Bkxgvy8fD5+7z0GDR/EUVOO5tgz9+/oe+3lJ8nNKmLitOl/8Oj576WltYJPPnqX4f1HMmDkJB574QWee3I+nV0GcYnxJNqgob0Lh0chP7OAfXVNuGLtVFc1oNhkHKKMYUgEIl24PF7aG+uJi/NQkJZCXW0VfYuzSIlNoCXQTlFqAi1+gdf+lPC6pnEfF555Dp99ufwXdvUo6EFqwQBuvu1xBFeYC044Ct3QkAwRU9IxkHDYLARNZ8CAoQiuOOord9Kpqni9cZgdQSSXHbvdw5pvl7K6o403nviY5247m/HTJ/Htl4s5//yL8QeDBNqayUjN5MZrb+Oxlx7l6cdePmDHtTdextBhEzjp2GN/tf0+/HwJx8w8uOKidQuqg4zuGapu/g9/yWd4iw//q9fbS1eTUDTmr14/2MjLy0TVo+j6/l1wgmjDEnVkywaihhoCUbLQdQFEE0GQOXz6DErLa4mG6+loChOyVI6YMIof1u8C0YZiM7FUCX84iqZYmBENQ9OItdvxWzpmOEw4qJIU7yYSiZKZ7EUSRBrafdgVGw67jDfWiaobdHZEcDo9SLLOiMHF1NQ0oFkidreI4QeXRyAgWIS7TDRZJWxFSXC4CTaFcbqcyJKBZor4A1FSesQT1ILYJQmv4GTHzgYURcREJBQKMr5/T1qCFhWBDuzhED6/hmgXkdCJWgYxbgehaBTBsHDJDnRFZ0BxXzbv2INdtlG6Zy8AgbYWPIn7845EUHH8mXv51LMuYfvW5cw4+kwyE2O47JILf9YfvYpS+OK7FeRl9mTaoUMZMmokmm5y6uzZDBo37fcbGP+rGH6QflqntuKHFVx5+w1Ilg27HKW4oDcrVy3HE5OM3aYw6+RrWbjwcdqqyjn/ost4/qkniRgWbo8LPeIn3pNIfLydFd+tJyMvnVCXn8KiXhRnpbKjpITk5Az2VVcwqG8BV111M/c/fBs1lU30HTSEqy+4hKFjD+HDRU9xyQ0PkpXag3l3XM7Rk48B4IXFX3PXTRdiCSKiKaDqUWJsTtxx8bS3tOIPdSJYBg6nneyiYTRXb+fLLbs4/cgTeOKFhaTaVW694XKGDx/NltJyysvKiEmPp2rndvJ65DH35ONYvOwrLN2ktsXP4ncXseCjNxg/6HCyeiT+UT30D9MtqA4yugXV/zJ1QCZQA2T/1VItzftITsn/vYz6l3LyJZfw7QdvETENEEzcNieqpRKNGjgdNhTFSzjsQxRkNNPA6YqlfNMWjph9BGWNNSS7U+kKdjFj9ACW/rgVzdTBFAhbGuGwRmZsDB1GkGBQw2lzEuN009rlQ9AhKcFFJORnSHEutQ2tRKM6bT4/To+dSFjD1HVEWSI1MZGEGJmUtELqm+vo2bOAPbt2MWXKkVSW7Ka2uRx3TDxb6mtI8DhpKetCEiEu1kWix0tSvJ3vt5ajqZDg9dDij6IJEVBN+hekkZjgIjU1AYdkx4wGWLWzhqqGEDa3haEZ2ESFoF9HVkRiE22EVQNdNTEFAxmBtMQ4klN6sPTLz3+1jZuAqUP64nTaiFgKbk8KbfWV5Obm0FSzl4ysfC68+i5eef4RBg0cSWHvIvRIkLqaGuZdfx3V1VXk5OSyZvtaRvUf+Yv6t337BgMm7U/++/2nj3LoEQfXOpb/NKxoF5dfcQMrN23GG+9BkVTCQQMtotLS7sPhcFHUOxNTc1BXWUFjZxNFhfmUldczoH9vyvbu4sF75zN79gl/UXOAlu3ruOuuu0jNHsW2TV9y+5330Xv8NK6/5FT27dzFytJ9hKI6SxcuoKy9gRde/4CyimqyUjLxqwFsDg+GFYuhCoT9exAEi1AghCgoKE47AiJ6VMNEx1SDWJEoKCLZPYrI69WfdT98zWdvvEm/EWN557Ol/PjZIr5etYJkr4u5N91JbPEgbjpvNoKhMKp/L/bsK2PGxOlYWiNDhg2n/8CBJCWls2HzWoYNn/mH9M8/QregOsjoFlT/W9RVriCzx/gDx18veYwps+YAf75z5af0H3s3vk3Poaf86Xwb8J/z31ufwcVEAlEScgZx77VX8P5H77NkyUKmT5rJ1t1bqajbh8vmYNiQATQ0+KmuacQUVXr1LKKypp6MrFx0w6Cpso65R4yiPRxmZ2U9u8pa0WQNEBEsiSNH9WXJmu3ouokk6qghHbfXg2qoBCMmgmliImKJMpoWJhoKY5NE+vbNpm5fAzFeF+44D4oi4hQVWoMRFJvA0dOms75kG2pnEFmCmsYOHG6JjroQDV0+sEw0w8Jls6E4ZNBNVAlEQ0C0dDTLYsSwQqxQlLCqgVdAQaS+qp3mriA2m4iqWjjcXmSbDUWUCHUZxHgdIIdwO1w0NrThjfHyxpPPMGLiJABWfPsF4yfNONDOF59/Cis2bkKLaOhqlAgGV10/j4pdOwmbAoXpBVRVlzNi/ETOOuk4tmzcxvq1y0lLTKM11Emc4iI+ycOE6bMBaO6sZvahwzHsCrIOR8w+loLePTGaGxndpy/3vfwC9zzzLPHeVCD27xgJXX9nuf8tdu4u5Z13XmT6UUfx2ANP0dDQRGKSHRmJUFcXhmXgSU5h6+b1GLpFz8I8Orv8DOk/gM0bN7Buy54DdT163Ym0tbUzaOghHHfxLVxx9lGMHD+NOWdd/IvnZmQl8f3XXzNuxiyaKuvoN2YIp51yAU1N1Xz2xVIS0nJoaamly9eF3QBDjWKIAggmNkEmNs7J9CmnUVe/lVmzZnLpJReRldOT/B6xGJoDb4KXuuoOPvriI2YcNhFFC5Eck0hYDaK4Zaobuxg5eBAvvvDWAZuee+UJLjx77oHjZd99zWETpvx7O+BfQLegOsj4twoqNQq27kjpfzz7hdDzz87lgoue+P+W/Hzpy+i+MNOnTcfmLWT+3Zdz482PE/VVYI/JA2DLuqUMGjH1d7D7n+eRB57igw+exRXnYtnS9eQXZaKGw6imhW5ZZOdn09XYgmopWKqJ05uCLAQ5ZMpMflj2PSU792dXuPHc2XQGgsR7Pbz+5VqG9cyhb24qm8tbGVCUAobF2j3ldHSFaeuKoFoGNsWF2+UkbArYFIlQWMXjlXBbOo1NnZiKSbLLSYzbSUSyiPg1fF1BFEWgICub/LQk9rbWk+Rxc+w5Z/P5x4socsXw2mcrCWpRDEMiO9lDWyCAJUnoqoUsWMQ7HTQHA1iWRbzTRVq8G3uym5TMDFpLKwmrOpLsZHvZPlQdnA4bsfb90Z4TYh00+TQ0LYjd4cQRm4kUbGXrjt2/2r7vLfqUhqpyHn/mUdxeFwGfj+zcXFo7uzj37NNY8e0PjBs+nI27Shg+pC8JiWnYnA7q9m7lmpsf/NU6C3NdXDX3Et5590OaW5vQQlFChk6/gnyGjRqObKnc88SHvH7vXM646f8/nrv5OffcdgXz7niMw6aNQTRNjj/mKM676EYADp0wjgvOPo8XX3+B8rJ9qJqFoGjIgsiPSzdw5gXHsmz5BsYdMoh5l1/CD8tXM/+pV3/xjHnnz+GeFxZw3lGHsrW6mpdffov+Q8ZS8/lLvLFyPe8u+Y6QLmI54yiaeAJfPXQl/ceMZPvqtRQNHkgo5MeS7JiRKIalIYkikiigGhp2mx1JUkhIzSIpPYP6sj2kJ8XQ2tJINGohWSICKtfeew/vPP8iKR4HLV0hinOy2bR7O0UFBfTpm8+uveU4XPE8+tjzEGrjxrvu4OJLbqQwK/337pJ/im5BdZDxvz5D1dypkhL33xNmYMXC+WwurebTzz7i7MtPYM5Jjx+4duEZh1CQlsy1d7/G4jeeYvY5N/7i/nnXncw9D7zD5+++wMxjJpKRVkx9u8U1N56FGTR45Ik3DpSdMXkYX3yz4R+y7+3Xn8SbKHHkrFOBGHZv/Y7eAyf81o/7N7nzlnlcfdc83LgAyM5PAlEiLyuXfeW1RAQBRTDoUTiIppq9eF0utm7ZeeD+neuW8f5rzxGJmtgknYbOAC7RiSdOpjMkYhNUopZOKKpRV9fJ5qp69KiOy+NGxobTZScQChANhElw25Alma5ICEOzEESJIQNzyUhNYUNJCYZlIJkQ7dTpCAfplZFC0KMzIKcXdQ0NKKKLjdtLiQaiKE47LpeTpsYOiguTmTpiIIZD4uMvVhHwhxjUqwcllc143DbsyTYsw8DhcLBzcwWWZiE494fEVjUVwW4jyW3HEmz4QxFUM4wsSCiCgmlpXHXcDC6/6Q5cGQWs/eo9Rk77ydVT3LcXFiqqqpORmUllVSl2yUYkHCE1PYW29jYEUcaIhrjzpid46oW7eOSmuUw6fu7P+mnEgAwaWloQRJEehUU019WhyBKt7W1YFkydOZU7Hnma6aOHIyMwdlAfXnhvJa8+dRNnXXrvgXq2f/0a/adMp/SbhRRNvvzfNq7+E3nj1cd45unnWLNhD0cePpYde3eRmpBGvMfLvpYmivPzqK6uQYtqqJZBZ1cHIBHjjqe8tPpX63z29ovoFSfTbiSweNknSIJFRBXoPWgQR0ydytCpc7j2nKN48OWPAVjx3cfMPv0S0oqH0Fq5C8kuIOoKr776EJddeQvBjgCyy8TfHgAJHE47KekZ1OyrJiUllbaOdpwOJ6ah4Iz1kpURS2JaHu2NjTSV7yA3Nx/TMggFOnG73ASjARJdMZSVl1DQdwCnnX8BpVUNlGxYR0pWLkOKioh0NnDyuVfyn5hG5q5rj+HWhxZ3C6qDhd8mqCzgvyDfoamB+N+zNfr/S6AJPH87IN0Vl51Cbk4mx599BFmJ43nrnos5dd4z5GWJVNSaAOjVO9lSVsawSftzrN10zYXMmnMS1du3cMQhh9AZNjGdAnVNjYwafTinnTyTQUP6cPU1D1HfWsKXi94loEeYe8lPfwinzxjB9JnHccVl1/3Mnr3bV9Cz/3j+Ge6Yfwe3XXcbw8f2wRcIsXdHJQDDhvalw9/JgIIBLP7ii1+99/WH7iVohnny1TexTJGpo0cTbKujvr2TrKxMmrpacRgCpkcGRGpr2uhRkMT3q3Yzuiib3sMG89XaVdCm0xENIWo6gikQMgzssoQ314sZNjA1k0BXmNTYWFrbAyQlOLEQcHpjaOnoxBZro6UuiG4puL1OUOKxu+0EfBEEKUigqoMRQ4uoqK2mKxRERiESidCvZwqYFm6vg5zUbDKiPrYGw8S53XgEgdeXbyHW7Ua3LEzZJOqLIIkKdtkgGtWZOqSInrlJ1Lf6Ofr0M9m0chWBQBPjBvbmhmc/BNFB/5Ej6exsoaqsgmAwgqBHiAQDKB4PCbFxFBan8t5bS3/WrrfMu4mM1Cyefeo2mn1dqBENWYa0hHh0m42AL0BbcxCbBBlZLjqaQ0yePIkzzz+NtIxBPP38kzzz5Mu0aQESFc8/NT7+u9jv3vz2nQeYdPJP79LXn7/J4489xcI33sOdlsu6b79jxKQJPPPsg3z0xZc0VVYS4/VSWVODZWpENZ1PPvuK0cP+790LAPvb+Y55V7L5h2/xxscx/JAx1O3dQawzGd2h0VFbS5rNieZ1cfOTH1C28RMKBgzkgTvuR7C7eeD5d3DHunG50wiF23HGJ+FrbcC0JFwONzl5GVTs2sPTDzzOBVefRzRqIlkylqgCAokJCeiqTlQ3sDsdFPUeyMyZR1FaWcfukq24JQFfYx0eIch5JxzH/Jdfpqu9k4we2Sz9fDV33HEjZeU7SUpNpmpvDRddcRZTJs35y0Y8+Ak18caXL7NvfSV33Pdid6T0/2z+C8QU/O+IKfhVMfXwQ9dyzJGTWfjiA0Anpx0/g0TRwasvPskXC5aRlirwyLvvcu4xh3DGjKnQupY3bj0bOVHDG/Hz6B1XsmzxU1Q0VbFi5QoKYhyccO2N7NhTwhmnnsKmnTs57vCJTJ10KKuXreSRe+YypGc/Xnv5LXatWcuOFUs4ZMxg5s69nC+/WHlATC16520Alix6809iqvP/88HUXz1bXl3Kw/fcRuW27Vx8/qUgwfo1u9i7o5JzzjoHgA0bd+JxOdlXW3rgvsC2/9vWHQEgrGt0ljUwojCTcCRIa0M1MXEeomGTffvqCVgaUqKH9mCAzo5ObJEo36/cBVjoNhsVJRXEyg6ipoqhG+iGQMSysEkibqcNvTlKvNtFxGegaya+UJjsnAw0QySsQInajO6RqNjdjiHYwHSQEOcizhbBbG/CVJsxusL0LsiiORIlZNhIykwnLzMWb5yTqGSiOUU8Dpn2UDtf17WxYVc1n/6wjQ+37COzRw8suxNRACGikZpRRJzLQXZqKpMGF5Kdmci732zBikmi0XLz+qJvWLUnxIUPfUAwrFNdU8d3n3/K3i3b8bW0EvZ3oEbDJKcmIgkm515yBs89+ylXXHkZl152Dqeefg4Pzr+T9957hdvvuYr6tnY0VUOUIBiGsroODDWI0y7giROQnDbc3mS2VOymqTPCe4u+5u23X2Tq5P0u524x9ZfsXyv2XWkFoerNB84WDzyE8YfMoDUYAkBLdlDYM56LL7qWpZ98Q1eolYqaSnQtyrChI2lpCv2ZmIL/E1MAt93zKFfd+TCHHX0cdTs2EBOfSmV9DY11LWRmFfHWmp3c/OQHABQOPZJ7512LIKg8+urH9OjdA8WdQGtbM4cdeT6dTVV47XZGDxmJIqsM7DOCzOxszrn2IkKqicebTnxaHF53Bg6HjY7OTsBi1LhpDOg7gMUL3mL37lVsW7eU3LxCps+aTkQ2aMDDqz+s5bijTiQtPQfBEBg1egBjho5m684t7N2zh7SM2P9MMQXgcOPWvFx83ty/XfY30D1D9Rv5X3f5/S+y4OO3iHEkcvi0GT87nxwnEArDpPF9+XTZjp9dO3XOJN5a8C2tK97k5vl3c9k5F/D8ok9Z8NV3FGVlU1tbS9++/VixbjtJyXHMmX0C5dt/RJMF2jqjFCY72b2vimjUxKdKIEZZ/+0X3Hz/Cyxft5IRQwczYHBfYuITOPe0K7noinNI9bi4/e4nGTNmOJdeMZeTTziNxx66Ba/bxTkX/dJd+ed8/P5bHHX8MYCLaZOHcMHFF3LMsecDMGpYb9Zs2L8m6PjTZrH6h1XUVXUA8N5jV1K1r4vm9lbChkFXWzu+SBiHIlHV2EF+QRb+aGT/5KZTwBJM/BEdTVcJ1gfwhaNYAvTvm0nQMBER6Gj1U1/biayA1+0iEIog2GR69cimqrqWYDiKLNvJz0uhIxREFXT8horitCMrIo27fCg2hZSkFCxLQ1QNDMkixevGiur075XJxrJGKlp9YAqAgWToRAUboqYSjujExipEwjqiTcQhKUTREU0Zr8tFR3sbqhpkYM8schITCRAk4osSCevMnDKBT1buok/vHF58/qc8Z9nZKUQNE80wcNtsaLpGvyGD2LplI2pIRzRNhg8cQkCx01a9By2iM3T4YEp27aa+pQZVE5BFASQLVbVITYkjNTGZ0n0ViJJI2K+S2SORltYubHYFQRAZ3GswDz/wAmrTD/SfdsE/+Rb8J/DT5pBfo7V+Dc+88CqfLl7CvLnncPQ5+6PL3zP/BubdeB/vP383x19wM2PH9efNt57nmsuuR3K6aG9sx6d24vd1MXr4aF59fb87buiAAupbmshJz2Dtpj9FGW/7ERJH/+y57z94DrtLG1m+aTd3XX4Vb3+0gHZfkHMvuoyLrpnHc7ddzmFn/PR+Lv9qIQ0VlQw8dAxzLrwRLSzi62pGROWHLzdwzKmzaAl0cNiU6QwcMJL777wJRTCQZDdofnRBQTBNsnJ7oAJJmV6q91STGh/PrbfexLhxU7EB5VEosMOH5W30yozhhrmXUJCfy6M3zGPGMbNprKtl2OA+bF2/lpz8FO695WGULJO8hJH8p3hdvv3iDSbNOB0z1MBHn3yF5vdz0vlzu11+Bwvdgup/k/PPnsL2rdvISS9g4qBxPPLuo8TFJ1Fb0Uh9q8Ujd13Mzp0VvPzuT66waZP6c8yUaVxw40NMHd+XlRt2YRMBGxzSvxBfazsxbjfBUAh/WMdulzAEkTS3ndjUFN79ajOCAGlJDuI9bgTFgzvJRkOzTntzI72LelFeVoJmqTxy5+Pg1jjtzEu47bSJbKzxo2ki+f37Ule2k137Kijb186u9ZvoM3wIixYu4tgTfwrI9+lnC5k28XimTRtIeXUV02YcQV5iLh99/BaVbe0IFuiqDrKE1+kBu8DwrAzskoTscqC4nESiKlZIw+3x8OP2PeTnpiLZbYTbA2wqqyLO4yI7O4WmkJ+itAz0QAi304bhEOgMROiKROiZkIhmaCzfVIbXJiNbApKkYIom7b4wvXJT6AhGkV0yIXTS7R5MLBxxbg7p15/H31yGYWqkJMSRkOWmzRZCE3TkFo1Ivc7okT1ZtaaE7OJYFMmGqGoMKMpjZXU5LpeDXp5U2ur9bG+sJWKIaIaB3RIxDJ1QVwBLtjikTx5frttOdkoq4WgQQZGZOm4sTz31MsVD+mJ32indWfaLMTT7uGNZvnwZTqcT04qgGRpxcjwhw0esx0VrSCU7MRm3x0FTQz1Nne2gm7hcDmZPmMRH331PfGIcDQ11YEE4BJYI2Vmp+AIdjBw1jo9fXcCjr73EPXfOo6PDYsuGbxg0bPLfNca/WnQL0469659+VwCMus1ImYP/JXX9Fr786EHWrV1BQUYxIc1Odk4Pph93HgCHjOlBUnwOTV3NnH/KSWwq3cUxE2dx70MPUNfawEVnXcydDz1Ifp/etFfXEVQDqGGN+IRk9u6t/xtP/jmLHr2BY6+8j9dvOZkNe+owFTsuWULM7MEbry9EkKC+pv3nNxnNFPadSBCN7PQUOjqbKd1cQr9J0wi21hPRogzuP5aSXauITenLxm8Xc/GVc3nm0SeYc8rRLHj7IwAmz55KbFICgQ4fWkhl+efLOO3Sc3jzqZdZumYphuVhSJ/hnHPZaRwy9Ti+XfY9p80+hs9XfkFeggdRNwlYJm4xyl0338+8u6/n7BMOp6D4kH9FF/1udDXvYPO6Tbyz8EPKKvewfOXebpdfN938kbzwyte88tTbLFyymjtfeBQ9ZFJe1ohlQZxL4MHHn+X7H78hPVXBaxfIL/Dy1bfb2VxXR2FOAktX7OC2Gy8hFIGMGA/b9u6jrLkdweNhe0Ub+5q6UHWT2oZWQhGDbbv2cdrkPswaWkg4ECE/wUtrRydTp56I3lmPaITR/a0U9elJYoyDq2+5lA3Ll9IrK4Y3vtuMXbGR36eIjz75kD5DR9PU4ictM57zrzyTW26+hGNPPJZ+AwoA6NcviysuvYRTT59Ccf++eBweKnaXsH7LKnxhlVcfeQq33cnwYUOQJQlNi+LvDLBsRynLdpQRjaq0trcTDgax0NDMKI0+PxHVYPvWCsoaW3E5FAKRCNv2VCMZMlE9hCnZ2NJRT2tHFyFDJ0ZxEg5rdPkDZHvcRE2BiGGiW9DU4Se9IIEO3USJseNUbCTJLkKyRVJKPBm983l+0bd4PDLeWDfFfZOJ+kLYdAhu9BFqMJg+ZRhhK8ygQRnUhNupD7USK9rYV9uOw5IJtHayr7kGzRnFKYDu72RWv3x8Xa34u9rpnZeEgsH2ihqGDcsnLV5h6qi+OGwiHW1VnHLSZPw+P6HOAEUFGSSnxdMjK4nszFji0z0sW74URPD5u9DUCKIh4PRIhMI6DW0+jGiYyqYaNm7ZRktnB+gmpgCDevflnaVfoZo6ra2tGBoYBsTEyRw781AiEQ3dgGhXM18t+5AxIyaRnZ3LMUfN5MhjjgRg6JAef3OM9+o7/F/2vkiZg1m3+Amgg9odn/zL6v1bfLToFqrLV/LmiwvpqouSXjyIDTu38tKrz7Nq2TtcfO4MFrzxER9+9gMep5077nuAQMTiqttvpbkhSNSv8tWypSQnxNPSUE8k7CMpPp44TxxXXnDN33z+gzecyO0XzeSJi49lx/eL2bplM/Mvncma0hoiGCz4ZgVx3lhqt27GY1d+KaaA1rpWVD2ELAg0NjURDKoMnXAoDtlNONCFx+Zmz9YVdLQHUP1lJKTHUdAjj8J+RXz740Z69S0EoLGmmaod5TRX1pGRlsQ7n3/DMZOOBmDqqKm8+NA91AcbuPeqeUQ7a8l0hynfs4HB2fl0ttXRoaocc8QsJEtgW9l6khwxFBT/c+szf2/OP2kq06cdwdzrrmbyxNGUlJT/W57TPUP1GzkoZqh8JaC1QuIYdv7wDn0POfmPseN/nLtvuYyFHyxm++5aANJTHSCYnHPhNbz81MM0tEYByMlOJBBsx+u1E23XOXFCP77ZXEJMegJrN9RhCX+aPLcgOQbsioJdkYlxOWjs6EIQFTKTU1AjEfrkJBFRVao7fOiahqjpuLwemtva8ThttIUEmv0BREni1DPO5IYrr2HQsL44nA4iqopDUdAMEwmRtLx8tq7dzi3zLuGjj5YQUkPkZeTTEepg4/oSevXOI6L56PQFyfbE0xwMoAgCIV1DViQ0zURRJOyygqYZ2O02IpqGS3EQUlWCkShOhx1DM8iIjcXjdXDyrDG8vXwdXsVOeVk9OhaGaVKckYYqaliKSLgzjGGaYIAlKUSiYdxOO5akIMaIeBUblaXNSCigWNgVGz5faH9iI9EisSgFMapiBFUMj0J7YwhUi5F9cggQRbAkyoLNFDhTMUyLaDSAU7RhiDohwcJtOWnraqOxMUBIiyKaIgYGQwrTCBsgOUUy49NYvmYTk4f1or69g9KaFlLi4mkLBYhzOECwSI3xsKWiHlkUiEY1TElERMCjCHi8Hlo7fTjsNjRDo0dKNrsryxAEEwEQRAF0ARUDSQTL2D9GJAHyMxM4auI0lq5fz4hDD+OJR579xdgsKEhn9JTxDOqRyYJ33ic3v5heRf2598HHf1H2L3nqyUu49LKn/1Wvye/Glh/fZs3GcqortnHvwx8wpGc8qq6TlZPJ2LGTuOXuZwDoW5SALxiipj7C6u9fR1ZdnH/tJUycMJaA5SRDiOPpt55Hj5o8d9PZLPpuNVfd9QSjR+yPs7Tx48ep2LKbbXt3Udth4HFaZBT0ISk9kYWfLqejoZ7i4nwGZ8ZS1drJxp0VNHd10a8om72Vjcwa2Y+HFv4AQK/BfdizedeBz5BXXIShiOi6hSBY6GqYMYP68OOGrZiWwWtPPcvqTdu4au7N7N6zhbFjR9J/aE+2b9wfmX/mCdOoLm8GIUr/wWNZ8OKL3PPII6xe/iWfffrzjQ7nXnQaZ55+DuNGT/jZ+VPPPx3BG8f5F1yPv6GSRC1Cc6iW1qYAZ513Cf8JvPzkdazduBd/OER+ehqVTVVs27KH5IQElq/+189QdQuq38hBIaj+DXy9chtTxg34o834j+S4Yw9j1Q/LGTZkDO99tBinM+ln11PSveiCge7XsHtt6GGT3JwU9pXWEFItMpMc1DZHEEQwLfDaIayCIO7/yYl1Ehsby8CCbFZuLyXZ40DTNdSIRkBVUVw22jo1/GqEC4+ZxTvffEtGbCw9U+L4ZmcZst2GoigYoougvxXDNOnTr5iq8kouO3o6smEwYMzhTDv9LA4/4QQ+e28R046dTU5WAZ+88zy6KdCvb1/27N6NIegIogiGgWkJ6KZJdno6LsmkpLYJRVHQoyaiDA6HnRibk6il0eYLMWlQMaploUkGXV0hWrsC5OWmU1fRTGZaMq1ikCSnG2cEtpQ0EOOWCUU1klJi8HVGSclNINoeIj0tlrKID7e6v8FiFQe6blDT3IKMhGFaOCQZm0smrBo4JAkzqhIxLSKijku2Y5dFfF1hYtM9xKKwp7KJqAn52YlkpacgqxaaR6C2qh1MlfgEFwoS4aiKoEsEIhESE11kJaZQWlXNjqp6ohEDp8uGaZgkOZx0RiLookUkoiPKIpIsIQsg6RYhPYrdbiMYVCnITae5rQVV14lxuihMiiUtIYFlW3diYhGJWGDpJCfE0icrmY1lDWRkZDJuxFB8ne289t6XvxiTWTleXA4HJSUt3Hn3VRT3GsCYIYO54KILGDWgN7c9+FM8pHtuPY95d77Ixm+fYOik8wh0VtNQ3sriRY9y3b0fsHXtpyz/5HOuuOcvhVuEHRu+pd+wPyBCdqgcXAVMHJ7C8vXNADz71K2s/PhT3v7oY3DnHCi68MP7WPLWYt78cC1Dh2QycdYRoAZZ8sFSXnx1MXEegf59R1BYlMx1F13Iym0buOjcC9mydRMZaUns2LabuWeewM41P9BcXcrOmnbSE5M4c/5bvHDtKfhDXVgmoKs8uGQNH953J0OmT+byc88kLzUJS4AAHmJiY6goL2VjVRv1zU0EtQiiIGCXbcy76Fzufm4Bdz00l7tveYk+/fLZvGUbdsWNYUZJj3WwYUMJHYEA8R4Phx4+E8kI0t4Z4Lmn3+aiy0+noa6Kxoomnn3uYdZuWcdrzy3k2ruuZ+uP69AiIc4852LOOOUMAF785jG+eWMlJx9/Jm4Z4tPi6NVvGB+//Q5zzjgbgNtfuo8Tjz2O3vGFf9H4LUDy79DJ/zhbVr1PXFoBlVt2ce3t13P7TTfzyLOPkZaex/q1K/FHojQ26d2C6mDhv1VQdfPbuPKyM1jy+ccUFeby+Vdbf3btqRdf4+nnHyba1YE/GMCMhnHEOLBhMXLUCD79+BscTgcZcQ5K6zrxOhQK0xLZVtNIOAQuF+gmDC/IZENlPZZuYQnglgVcDjvRsAo2kXinhzZ/gIKsZCzTJNProK4tSH1ngHbNwG1XME0d2aGQm5GOqaoEo1Hyew5g+86tKJaFqZuMGTmextZ6brh+HiedfhKiLGIZArEJqfjampFtdrJi3ZQ1t+EWRXrkZNDQ0oo/GCYtLgZFkpBEiUZfEN1UMU0ZwzCwsPDYFOaefBgbKmrx+yMEDA3NMGiKBhE6TVK9cQTNIC31fuyKgtsmE9KjxHjjUVWVGKeLgBkh1e4ioGtETA2vy4vH42Z3WQ2d/iiabuB22YnzuAmoAlFDJ9zRgalGGDM4l5aOLuyyRGdQQzQNQrqOaAF2gdbmIG63A5tdRkbE5XQQ63ViYRFGxWYIBIJBUpJi8OsqTXV+nJJCUVEmu/dUEYhqDBvYly5fC/vqWjE1k7ChYZdlbLKMPxIBy0KWwbQsLFXEtEC2i5ioaKqBTRIpyMmkT2YCIhDndtHpD4G4f2Yq6I+waV8Nrthkjj7qCO6a/zi3nTeVgX37c8wVVwMZAAwZUkyHr5VwMMwlV92AFBU44uxz+OKNp/lw0fv0KS6g9+B+9O+RzterNlNTWkZJZTnnnHUJViDE3Nse4PKzj+bxVz6C9h/AnQb2YgDOOnEqry5cBHj5I7np8mMwVbjvwSe54IoL2L1lAz9saOSBG0/huvlv/+o9R04fwhnnXMyD991GMCwy+4gTeOa5Ryju1Zude3aTmZpKdUMTdqeTXoU5RHWLxR8t5MP5dyPZRS596D0a1ywibdThgIP37rmUtpYq3llRzR3zb+eSiy7k7EkDWLR+N5MHDueHfVXsKqkmKcHF3t0/xaXqP6iAGUMHUFZdh+6J4cYrLuOem26jIqjR0NiIGg2j2B0Yhg6WjigpKDaJlpp2Tr78ZH5ctpaU1GzKy8sQLB2HLBEKBcjNyqGhuYGM9FQERWHCgHH0GdKHdxa9y6lnnsy6Fd8TjmgEfBEye2TRWltPi6+dT97+lpWfL2b8nEPwNftIii8E5T8nkf0Pix6hrLqes698iNbmvfja6jjm2Dk8Pv9Jzr3qHI6bdQTvffgxwVAIBJGmNrNbUB0sdAuqbv5/qGGd9Zs3MXbMCB594Vm+/HQJNc0VhNv9JKXl8NYjDzLjxDNRI+30H1zAd8s3YrcrWBhcftpsjECI9fWtNDY1UFdZQ1izsMsyI/r1YMu+Ony+CIIp4JBEeiTH4rDZSfK62dHQRI/4GBo6w4SjKkiAINIZjNI7NYGKTh9p8V6S4t2EBCe7ykqIi40jEAowckhv2n0Sghagvb2TlpYWDAGwKViagV2SEQQJSTaxiTYCqsbwgmyaQxptLe3oloVHlqjzdSIhUZyeQns4jFOS6QyEiWDglG1kFiTjMC1amvzYUxwUxScyoLAHLy39EZdhIqY6yfOksnNHBZFolOzMZFrbAsQkJoAtjBsFt8uOLuiEoyZdsggmxMkS7qxYRMFGc0mQnAwbuyoCTBqaTkmTFxI8WJ1d7NlZgmFoyKJKV0cHDkEgGAohSTB0UBHbdu3DbpMwLAuvw0HE0BB0E4/DhiwIBKIR/FENQzMxBAFJBFkSsAyBQ4f3pkkNkCDa6GzzEfRF2dvWwejePbB7FOymwNeb96IoEqgGOiI2h4hh6giGSVTVEUTIS0pkVN88onoUI2pi2QQEUcYyDSwNtu2rY/F7H5AZH4c7v/+fRt3+HVfvPnEdTyxczN6yfTz82JOYHSEeef55OrpacCpubILJkOFD6N+/P83b1/Pw299QmO0gJi6OceNH8dXSb3jhrls5dM61nDghj6deXszLCxeQmZbPaWf/3y7BDiD+j3i1/gyVtd99zMgJk7jnqrl8/sVSwrLFpu2tlK99n4KRxx8o+crLd3P2OTcfOA5t+5bRc46nsamd448/gTffeg9Vh4QYibzew2mo2Ut9YwdOm0BmbjadHR3UVPm4+qhRPPzBB6BkAZBXmEZyYhylpaX0L86nd89RPP/6m7zzwStk9D6KrOxEGirruOLyM3BYYVZ9t+qADcOH96aiuoZ+menkZaSyYk85iZ5YdlfUINpBVTVkxY4g7e93RVZoq2+j15DByE548qm3OHRwX0YcOpGmukqmTjmUJUs+Iy8rnTU/biMUhmkzR+EPRsnNziEnO56qvRV88sX3ANz6wPW07WthX/levvh6FZu2rcCbEMeG7Z8zZ8b1v1Mf/nN89tYT7K4qoX9hMZ7c3owd9Rdpb8INBMwIAwp6EpUEUHWSUpLQBDu7d9Z0C6qDhf8WQRWo24Qnc8gfbcZ/PWeeeSrrtq4nMSMNzUimq2EvPQpzuPy0iznv6rm47CJnHzmTbTs3sWLTbtrDAfSohSiZxHk9jOyZz6Y9FfQpTCKkGSiijX1VTQgumWhHEKfiwONwEjRUUpx2yto6MESLaMjA4VTwuuyoUQ0diEY1UlJzKMxLwTB09lVV0+7zYagmUw+dxsZNKwARwS7R1NIOskxeWjY2h42yfZVopoFNFLApMqMH9CHWBp9u2EGmNxZJEOkKhLDJ0NgVxWYXiLU78HpsdPnCWKKAYUE4oiKJAl63m/Q4N4ZpYogS6fGJlPuaMP0GnYEApmqRnhqPPxgiPiMZOawiiiJuRcLukVi/sxlfRCPe6SBsaBT1Tkb3mThtNraU1JIQ5yYjzUtmYRI5qfG4fALf1fmJRg165KRR1iAh2Uxa6ipRm9vRIgFi0pKpLSvHqeh4vS6MiI4vFCQlOYZgMEwkbCLKEoZhojht2BwykWAEUzPRdY2slAQ6A2HCqoYaMUhKicXQNHqkJRBrt2Nzy/ywYTeK04WiCFw0Yzx7a5tAssj2xGB3KNS2dqDqKqYo0tzahcutsGrjPmYfOoiAaiDaQTQgLzWTsYeM4LDTb/jZeNvw5WdMOeMEehb3oGxvKeeecwFLPv8Yh+Bgw5YS+vdKZ8TAwWTlpfHC068yavxQvlm+EYcC6UkeFn78Mb36789BOHvGGBRvEscecwgnnvS3F2T/NXZs30u//j3/ibfoJ3Yt+4g+hx0NwNqv3mLktFMPXJt76mROO/skhk8672f3NNWvZeqU6WzduT/Ux1HHTsKhBgl0drKprJKUxCRKy+tJy0qiqbmVzZs3MmzgUAb1Hcop553C3fPvZOq0o/jyg/dR3DE8seATvvv8e9586QGQRZySRGruGBxxHopy4xncbxShQAe1/hCfv/0EomVw6emncfm8ewBobK2lT+8+ZKcn8tbTL9J//GHcfOlxZMc7uf7ZDzBNEUu0sCQ76AYur530zB4EQh1Eg1Fy8nNor24jIS6J1atXMnBQT0JhPwMHDOOD9z9h6dpveOupF9ldup0+fYp4/ZWPePbN+0gWHFRVtOMPdTL18Jk8eP/tLP70Oy6/7Cwef3LBv6R//t1UbPqMNz55h0BdkIF9h3P/Cw8S9ge58MTTef7dt4mJ97JxewurflzCSUcfhaqazJx5DIs//hBXnMStZ13GRXc/1i2oDhZ+u6BSgf+elC3d/P089/wLfPftcgzZSUXFLgrz+2OTfBiCSt9eh6I6Y1n40qO0Njagm1GQFdwuNxN7Z9IeldlUXsG9N1/Hw/fNJys9jkhYJ4CKvzlEWNNxy3YUWcSna3QEQn9aMK6R4HIQiBqIgozsEjEjFtgkeifHs7O2GY9TpkONEuN0EvQFkew2TE0lGFFJSkzi6GnHMKZPDF99/TWWpJAU42HJ2p20tocpyEwlLjaGusYWmtv9RHUVAwFJMsiOjaOps4t4rwNfVCMaMshOjUXQJUJ6BE20iIQ0IlGNmBgXgwb1YlNtCTFBmWjUIMbrIiE+nk17ysnIi6eHK4YWTcWyDGx2G1kuN1UtYdJikvixrBQ1HCTBHYNlgqgIxPaJobfXQ0B206m207TNT5vPx40nHcqiH8tp8umkeGLwS1Eku43c2ERMVzLBtnbqWmqwOVTKdtQQ55YwdZ2OgIrT5cQd78Yt2WgNhgi3B/A6JQxLxxJNTNPAptgQVZOuUBTJpiAKIMsWTkVG/1MuRI8sEu900RQJY1dEWlsD9EpLJM5lx2G3sbO6kUBYJTbOjawZ4HLiNHUEy8TldqGpFnlZSTjj4vh69Say0pJZ+c1nyAlFB8ZbapoHNRwhoht4PHbsigO7TWJQQSbfb9qOr2v/Nu8HHr2Oa658gNOPOYQfV63k8Ude5N4XXuXbb1b8cS/Lb6Bs5TL2NTfz9OvPc+iYMVx1/XzOnzOFzLQUigcOY86ZV/Lx4mdZs+wr2iMWz/8prcsP373LI089zwVzzuemm69g0CFTWP7VF7R3hTGjEbwuN0pWL0R8OC0RxZuC2+XB4fVgmjZee/tNTj7yKCJmJ2ZIRrF78CR5aGmtQwt34VZi8TWXU15aQ27PVKr2NgGwZ+MKLrz0Sto6O9i++6ddZ1efNZVXPl2LLuiYurB/DJkmdoeDqB6lZ1oBexrLEDUD2SmhmAKRaBRJttPS2PmzNrnv7ruISbJx8YX7Z5wGjyxi89pSrrnsdPbu2cvdtz3Ig8/ewxtvfsTqj5cyYvYMbP9Bf58+WvIw9930IKpp8vQrT3DJmRdT2CuD1St3cuu51/HwgmdxelwEfB2IshNVV+mZ0ZP3v/q+O5ffwcTBOkNV74N1K79FElSOmDH9jzbnN6DTVbOJ2NQisO13KagNtdjSs361dP2WdWQMGvF7GvhPsX3LavoNGsO5F1/GEUdN4+hps3jiuQ/5eNlnjOwTzw/Lf6CqJYQo64iGjK5p6JEwhmySG+uhrKUVI6ridtoQdYOhvXMpr2nF5wuQ5PEQMk0E0wREGjq6SIxxkpYSR21zJx2hKA6HTIwkERUkgqEQNlkkapiYpoXH5QLJIOSPIMoiCBKmoTNrZD/iPS6aI2FibDY6QhGSPB4E9kcodypeZEnHkkS2726mtKUdw9QxLBAMCyMSQZAEMlK8OGWBSNSgtUvFpoj4QlGS4mxouoVDlvDrOulJibS2djJ2VBE1XV20lHcRm+zC5bBjCDYMK4xXsmOLVagv60A1IdHrJKKZxCV5aery09HSRWyGl3CbRpcviiIoSG6TkX0ysKk24mIdxKZkkeyK8MEPu2jr8BPRLJwJCehBAV0IQlTFFutF00VMQ0XVTWyChq5ZqHqUtEQvPr8NyaHS3tCEFo4iCODxOBFkk6AvjCBZSIJIeoKHumYfbocdr1NC10yyMlKpaGiguT2A06XQIyaW2vZOIqaBYYmgGWQluZBEBdEy2NvcxYD+I6ks341JhNR4N76wSW6Cl9r2dvKS4hlelIknoR93vPA8Awf3BlGldO8+jpt9NJs3raa6phnRgh65CXS2+vEFNa6+9VJeeuR59jWoZGSlkpOdzfEnnUmPOI3JR55BXGzCLwLsNJiQfhAF3SnbuZa2lkpGTjgRgNqGVp54+AZKyirZtmXt/lAktUEmTejDt9/t+tU6dF87J51xHivXLsft8RDVTGRvCla0HUV04YqPRdM0REvFpbhAdHH1tXP5bH0bpSvewp43jJjEOOpLfqB1XxmiaRD0t2CoApIsIksS9bUdB543eEAvyqqqiYmxUVfTyUUXnEqPBJ3r579EXEoWNpudqB7BMMw/bQCxsLl0zjz5LF577S2KBhbjxkOHr53KynKciou66uaffabzzzqfWZNHcOSp5zJ51ihCrT6yCwt4761PAbj4itN45rH9gWc//+AVJoydgis9+9/RRf9y5j90Hjde8yIYXSDF/uxa73wXxx15PAsXfEBUieDzmWga2GygOKC0tKtbUB1MHKyC6h/n4Jwxe/WJWzlr7p18v+wVDj3s7D+dDbN2xecsWPQGjz32MR++dB9BXeK0C6/91Tq6AuXEegqAOiCBgymB5+Kvv2f2lEOZetQMZk4/FkkIMWbcYB6952HW7K4iNSGXhLxenDKuB0++9CI2UWZHZT2iDFgSIV8UWdGxDIukWAd61ABTx6koOGUJ3bLQRRG7IhENa+iYdIYi5CXEUtXmI85jA9MioGqEDR3BBJvdDmYUSxCJ6iaCKBHvdNG3KBVJkBCwodgUdP4fe+8ZJUd1rX//KnV17p6co0Y5BySBSAJEEkEEkzOYbIKxwYDJOWMwOeccTc4IJCEkoZxGM5oZTQ6dY+X3w9j4csHX/tv4Gt/Xz1q9VvepqnNOnao6/dQ+ez9bIxAI0N8bxaUKw1GIuo+MlSSXydLWGSPjGIiijFuRsAwBWRKGI9pEgVxWJ+hXEQSFsCqRMyxM3SJl5LEMk7Ej68nlc4xrqmMgk6cz0YuoW/gUDznboKSkmnR2EK8jM9SXpcDvRZIFeiJpZFUiFk9jiSJFoTA+2U1TuY+4YxJQXXREo+w2azSrN3QxurKYVRv6CAdF+t15qp0Aq1oGMGQFj0shmkyiKA7VRZV0xrK4RJN83sQyTSQZ/IpKFofRNUVs7Uwj2wY5Q8HAoDgg09cdRTcyCLaN41FQZTemZeBYJi41jG3EGddYxbqOXnyiQjyd5rzzTuOO2+7G7RMIOgojG6r44ptNgEqouJC+7g4eemUhl198FE4sja0KGNk8e0yfyFcbN2PbDjlbp7amjnQkysBQBJ/fRz6dAQm2a6xjeWsHB+8xi864weIl37D9duPZ2KkRLhrJW4tf4neXXsLtNw3LKtz9ytf84pB/nxcWgBeeuIverMp5Z5zGLrtsR0BRiOZSbNvazOtPv8TJ555IU9MkXnn9U9JbV3PQz49nv5mz+bqtnU9XtxJUBARZ5sTjjmNtczdLv/yEYEEAK5shntEoDoUQRQevO0BZcQV9eob99jiU/kg/pmPxwcsPY+WyLNh7Li//4W2KSsvQkllWbd7GrrvvSDwyQCQeR/EEGRrsYmRtJSu+2cqzv7+Vo84eXlK94IQDaB3IsnLbVpKRGLZtYdsmlmmz17y9+PDTT5AkG6+iIMoKlSVldHR1MdAT/85Y9HVv4eXHn+WzFYtIpDQ0I0X9iBH0xrsYFxxNQo/x+DNvsGHp5zzwyO/53YMv/Quu2D+OE08+khVfLcLvkdhh53kEPCrPPP8cJYVFrNvYjGWCrEKB34dLMVj4zkeUj9/5P4Tqp4L/LULV2dVNTXXV336AvYX3n3uVvY7+JfDvmXPv0t8cz3U3PsFA1wa+WvQJBxx+Nn2dGyivGccDd11FU9MIdt/3GB6+/xpOOf0ylnzxJtvvdMC3x+eNdtxKPQCfvPUou+130rfbzOx6OppbGTHlgP/e7P8aVm3eypTRjZxzyRWcd+Z8THMMl131W9au+QRvUOGzl17HX1z3x70T7LTLArqjMTJaEpfowQJEWcHU8yCYaLEspmMQ8ipk0hkKfG4CLhUBEVUWMQUBS7ApCPhY39qDIwnDUXeCDbZAgdeNW5HRDZ2caeGIIpmsQUVRgNF15RiCRdjvBcuFJBr0p7PIloNlCjgBMCwbTIfe9jhYJhldR1JEPIqCaVk4joApOfh9HvIaaPkshmbhlgUK/T4s28Q0bFSXazg9jSKhSAJ5zcAlyZi2jdc7HOHk86poAiiSl0QuhR7T0S0RWVEwDZ2q6gK8QRfbtiaQDIu64iCKS0TTLQIFAmnJoc5fy6ZtW7C8MK5mFJu2bMRCJuzz4HN5SWSSLN/ch0eSUJQglsdBlgQUR0ByudFMC0t3UEwb086QNS1EFKSQF9lRsQQLK6vh9nsIBgqxVBElkyAyFEcyNexiHy7COAiMGF2EELEwXT7i6QixwSj5TIZ0JI7Xa2AgIVg2Hk8Zhp3GEkTcgTDhggYGetcwceru2EY3QirLiScdy9VXX05TTTXaUC8rt3Wx+7hGZu61Hy1LFyLIPmyXiweef5/SkgI0K42AgFpazfgR43BX1FIoOTz2wH288PTLuOsmM7LQy/jxVcj/sqfl/x0P/e53tGxrZsfJ03ljyZusWrwaj8vBG5Rpbx9gc2vyO/sfcNBubG3uprhxJJ3tnZRVFLL4g0+57+4b2NA9xMrFS4jGY4i2Tc2IsWTTGbRcnp12nYXLPYKyqkK2tHSyZsUHFBYotK3fQEbLggU+T4gpdaV82dyCS5bJ6DmOWrAfDz79GqIgYDgWlmmy0/jRVJSV8MjLH/HwTRfQ0t7Bsx99RVY3sEwB20hjWyZu1cN+++xHf2cba7ZupqtlkCuvvYiPP1vI1pZmRo4fxWdvL/n23GbsNAEtmcLIWlTXV1FcWIigyNx25+9o27SSl595jr32O5gSQWH6vj9jyWcvsKW9neNO+Ok4pX+87H12326vv7j94OP3wYrEeeOtJdx762XM3/8w2gf7MfIyt998PrGhFIORAcbVj0cTc1QFSrnz6Zf/Y6H6KeGnbKFKrXuTwITd+K+JOf838cIjNxEZzHHmb67k7usv5ozzDkf2NgF+7r/pMkaNbWK3A45n5co3mTr1u8TmyIPn8tyrw4l25+4wjk8XD5vnd583FTHrMGHSGFq3tfHm20s55sgDcSSHZ55+gj9FHN1ywwUcc/RxVNROBuDRR6/CnfJz1LkXsMOkehavaf/fGoa/CX1DDvc9/Rr9/Yu4/4bbOO+Ky/h80QpmThvNAzffwehps8hoKSpDBYwePZqorpKMNNOxbQiPbKPZDpl0nsKgStDtYSCeIBGJUhn0giJhWzYeSSIUDhGPJ4jlspi2Q2WBn4FEllROR1HAMhwQHJBELMdGESVEWaE66KemthDJkejti6EZJqFiLy5FYXJtFS1t3bQPxMjoDkV+mZbeOFndoCzkQZYU+uMJQl4XqsdDPJWhpqgQ3bCxRVBtC9twEN0CZtaiN58hpKgUVRZiYrHnzF0YSid47/3PmFFdSKfLpjuZoDjko7y4iY6WVgq8xfRG8jSVeElYKXxFLjTLpnNdH6OnVDJgZ5hWWke2L4Zu2VSVV9DR2Uc0m8Dww2/mH8Adr/4B0a3g9qv4DIWygjB9mUG+/qYLVfSAR0CRvJiOi6yeRnGLWDkBRzBoLCqiNx3HNgQ84QCJVB6/WySZzeF1Kxh5BceWseUslpbBgwtbEXH5bEzDi55MM2nCCAYSQ6z88hu233Mvxmw3hbXftKP3ddGXGECRsuTSeRwsykMF9MUTSAJUN4xi1vYz6Ujnifb1E5QKEN0+elu/wMoK7DRzMh999B6hkgqSmQQvP/IwU3bYA4CRDaVkrCxVlRWk835ufux+rjnnDObtdSB2NkdFkRu3N8CGLb0cfvACysfPoaHgh3O2rWrtYsqIH16S/99Gz5ZlnH3mObz64RLOO2M/erpj3HHzI+x14O50dvYwccJovvx6E3N3mMini9cCUFFRjBoOUttQw+QJk8BXxTlnnMrI0kKuvO4qVm5sobNzA1UltcyffwDNa79h/MRZLN64jrnzTuCo3cYgSvDMQ3dz/d23oSfz1NZUsr65mYqKChoqqxFtk5ffG/ZJq6gMYTgyhm1SVlBIMhXlrKMO5bJbHuGtR69jQ3snF159P/PmTmZFczeSbqLbNpVlBQwkUpQWFhNLDBH0+ZANBctlIQkKxaEgL7y9kIoCP6MmNCIq4JFdNNbXs2HjelTFhWAqTJk+mbb2Fk7/1VlUCJXsMv/fxzUkA/h+oHzM6CJ22n5Xvlz0KRPHTuDFNxcyZWIFn7/7Be++/zKd3T0s+vJLWro6UEQ39951LzvsvuA/hOqngp8yofpXYuHHT9O5LcqWTavY2taF4nKz6867k9ZifPbhQgQMkFxU1lRy+11PfefYLetWcfYvT6Ozo4MNm/vYcecmvlzYQmNdMeU1FdhZE8NMs2LVKg444jhefPYF9p67I599seqv9uv6y8/j+VeeY2zTaO66+TbKRv/l9BrXXHECvzrtQjyV4/js/VfYda9D/uK+/wha2nv5zUWXkjIS7H3QfNauaiVcUMu2SJTuthZGNlXz6evPM2bGJDJJyJl9DGxLIskWIUGmP53F63dh5ED1KySjSbyKRF7XEDHIaTojyouJR+MIoohPdSHYAi63SiSbwaNImLaFYZvk8ga6buLIIrIgIogyhmmgCFAS8JHM5SkP+snpJoIg4jg27oBKMqGh6QYjSwuJ63l8qouMBhVhLylNI5vJkNJ0XKJExrJJZfME3S4EUUS3bURRIJrSMDWTAr8L3bTYacdpbNnSTjaTRRMdRlaU0VRZzrtbN1AuqOSwMAwV0XaQ5SCYIvNmF/P1YCf+tAtTsAihMBBJUlVWTCgcpKdvAFUQqBrRRNe2LlKuPKneFL6gG920kGU/Po+DberIokg+k6eosJDNrV0cMncGH6xoYVXbEMUFQfwuFz7FxYCpUBUW8JZP4JtvPseWwC3IYIFuZ+jZ2MwHq1dz4fFHMaJ2BAuXrqCyrpj+3iEmjRvH6uZN+LxFFI2o49DtZ3PAkady+01X8dXqFmpnHULrNw9SWFGFmrNp27CGsWOqWbp8JW5Z5v03vuTYkw7F4/GxZMlyShtKmTRqHJpaQMmIPehqXU1IzfPhS09+e79N2XU6ilOKYQ7y2qtv88KdD5Dz6DzzxN28+dTTXPngU3RsbieRyCC6ZA49ZAFHHb6AMaOm0tMepbK+8Afv44Gczhsvv8nh82YRLP9p+N+88cwtPPLUk0T6IyQTCebN34/b736BG+66moduvpWclqN30KC+sRg5UEDL6i1c8vvn2Wf2CLb0ZTlpv12+rWu3vedhmA6jJs7kkTuupy0ao31QZvvRAZr7s/Qv+pC1rev48qsvyeoaqcggm1s3s8tOu2GnkvRGo3y1bNN3+jdmQj2RSAwkCVPTaSyrZuSYJp5/+S3OPO5A7n1y2GG+qKqM355zBrc/8ijpZAoBh3l77cFXCxfT0dbDo29+wsaP32FwqJVRdbVccv3wUu2YKePAsmmoreab9d8Q8nqQFA8Bl8gxRx/P0y8+SUVhGXoux+yZk7nihof/9y7OPwHPPX0LRx7zZ9eP399zGTfdcBPBcIjy2mL6miMEg0GisSiWbREKFvDNuo4f/f/738mS+x/8xPHkHb+hM5Xl0svv4pfnnMTe++/OUcf+2XRspK5DCin09Wxj2dJF7L/nLP7wwVLGNpWwdtUiRk6YQm9fF7l8mhlTG1i+so3777qGrJYh1j9AQ30dv7n8TmbvfhBffbqQt9995G8iUwCanSeVzrBs9WoOPfZIvvi6ha71y2hta2eX/X72nX3jQyaeynEATBxXRbZtDUO2Ru2IHy/H2XmnHsKdD77CESfPYVrDAhpHFsGxMGXWLEwjQzyTJBctpzBchsfwsLV7ExMmjiLTu4EcJsHKIirtMJbgYs3mduSMSdArk0xmGF9XxrqOCLJHZCCaxnZEZAdypoUqCBQEPeiGhmWD4Ihk0zqOKKHKKilDw5JEVNHBI0lg20QyaYIeN3FdJyCJDKWzlAb9dPRGqSstRhG9bByMUF1aSHlhIYJkM9QfJ63rdMWy5A2TysIA8XgKWRHJagZeRQLbobqkANWREEsUysp95DSTuJHAX6KSVHKELYWEleHTti00+Hz4ZS+KX2XD5iijG0eSNi3cVoYPN7Rg2Aam5Gbzpj5Cqof6seUEgl4MG5pGjaWpuozlG9cye9oo3l7+Ne6gSiAcwOcKE3bpRDMZysPltGztwxVQqSkMkcnmiMbT7DKhiQm15byzooMhMUdS1zGwae+x8UWXUlFUQlbTcAQXmmaimiJV48ZTVFBFPJokmV+HKduk0xaKS2bj5lbqJ42jdfUG6t0N/GHJl2y/674cftyJbN+2mleeeIJ0RwwhYeFvmsnUOdU8dOeF/P6W21i+toVjTzuCbZ3dFFeFKK7w4/WE6NjaSl1jDSvfvhXLgtLtduSGV9bj9hXw/M2nUOJRWbduMaZtM2+XaehpE0WxaG1L8MDdF/PNwvdJZbKMHjuKXGqQCWPL8XiG7QGV9YX05eDzL7/k8Hk7fnsfX3fDjaxetZgXX/jfy9P3l5Ax4b0X7+PdD9/GzttccNa57LL/KQBcfdHJAKS2foMv7GPruiSFpV523HEeb776BnsfNJ/Lr7+Ld55/iHnz9ue+x99k4+pPKSxW2WWfBdRV1nHCz/YDoK3bYLeJwxbxSWUW9w92sLV5I+lkjs0bV5PKpJk8awb7br8DW9Zu5bX3H/9OP3ebO5N8Mk044CEazxNweWjt72bFumHS9fmqVcTXvc/sn/0SHIvrf/c7CsIVPPP4HfQt/ZCb3/ocQfKwsaOZkw7YDQ4YlrcYN6GB+194AUEW8AYrkMQM8cFeJo6ZwAXXXkOseTPrFi7lnPMu5ZzzLgXg3NN+xta2dpxkN3197VSMmvNPv05/Dwa2vEXpyJ2BHyY/I8c0fvt9tx1H41eLUBUfUydPZ8TI0Ty8+j4UWUSzLVyqSiKb/qf08z8Wqr8TP76FygStGdRxP0Jd/zpcduFpXHPzA9/+PvmI3RFdBRxx9Ansvtd+XHf1L1n4+UI2bWrBkW3ckoJmGhxy+AKef+INegYStH+ziPG77MiVvzyPex97jHgqxT577sb61iSymGfF16s5+rD92NK7jYKAn/ffWfyDfdGSMdTgn8UHf33xqbz4zHNIskgunaZ3wOKQnZrYNhDhqEMPQAmWcvZFtwAO29Yvonb8jkS3baWwtpFLLrmQHXbck7333ePbt5Ch2DqKCyb8P43PS68+Rsv7L1NZ4OOix99AkNyk0ikEwAZEUeS8M3/FQ489hCkIuD1+brrrEe66+37KSgvp7m7mgovPxck79EQ7eeCOpxFyFoaoIzgWpihgaTr5VB5RtlBlhaBLRpAFctkcRR4vDhZpw0RFREQiZ5jookUslkNSwfPHfH+S42BaNj6PC0M3cLsUcnmN8dXVZMw87d1DBEN+LMMmls6BSySgqORME10zkRUB1e1CcoGIgJG1ER0bj0sBEdyyTGVtEfF0Ci1vkUlkGTmmBlUMMJAZQnQs2toG8RSpVIWDlIWLae4eom8oRVFFOSHZh22mSVoJigs9SHmHeE6jLFBIa0sfxfU+YpksBaEgZZ4Q2cE0MXK4ZIHKihB6QkNV3MimzcrWPmZOrcfI6fRFUqxs7ceSHH42ZxoNpWG2DPbxwdcdlJbV0dXfiqyIiKKAX/BQNqqWeJ+DKyCh5fNYdgotlwMLUsk0jmAwZ9cjOPjwA7nnjnvpbF8Jmslvf/cgN11wIrakYGo6vnAd5553Og899gg9LS3sutMEVq7cgifkIZM0qKps4MtP3mXPQ+bz9ReLMUyNc04/i1HlRby5ZA1Lv3yPkqIQXtVLV18nZ550Nvc89hAer0LQH6K9owtfuIRAyIdkKeRiHdiyyrw9D6V/2xbmH3EKpxw1bI1998WHSeRhXF09pp1i2tyD/sqdPZyG5FenH8Fvb7iTcEH5/9Nz8c/ABRdfypql79O+ZT0HH3koN938FFPG17BqfSdVZT5+ce4v+M0lN3LllVexpmUpe+37M4Y2b2b2jrux+7zdufCq67nojF/zxHMPcNixR1BdWIaFg8Sflz6XfP0ld9x5LeaQiVJXyDcLFzOxvpGKunpKCyvASXHFTff+t55pNDRUkc7ZCKKDY1mcftJJXHPDnd/usdOsKWzp6EDxKmCLpLIZthszCk0QKSorxZVO8sI7XzC0djl7HH0Yq9ZsZcLEUaiKTDKexKUqDCSGEAQBSbDp7fozgfjDWw+y/36nArD/3jO56qobmTZrmJShx8EV/udckH8Coj0rGMjp3HjtJbQ39zJ/7/k4Xpv+wUHaerax6vOl6FmHrG5QVBQmKPtomNhIZ0sHX6/Z9p8lv58K/h2X/D7/4gV22elQhuWz/zH0bFpK5ZhZDCU38fRDjzN50mTuue8hmhrq2GveAczd+88T8G13XcEF51zF54s+5K1nH+Ol197EXxIAQ6Z/oAdNs/H5PDg2JFI5JBkuPOfn/P7+pznluGO5/o7b2HXPvXns3pd4/u33eOCui2gYPZbEQDdazuHeB+7ksfue5PFn/hyhctdt13HOBZfy7PPP8/QLTyHZWTZv3EAsEiVvmAiCAJZDMu1w8gGzaW5uwfao1FdXUBguYcX6zSz++kuQK79z3qn4ZrpbtzJm+j44kQ6+Wr6K7fc68G8et3deeITPln7II0++RC5vI0ngiAKODYIgYFo2e02axMcbht9W3R4vbrdKNmcR7R0E4OUly7jluvtQzH5aWtrw+iQyOfDICkY+i+JzoTom2ZyG9McJVZHAsCwyqTx5I0d5KIxHksk5Fj2DGUTRpiLsJ6rlkSQBBRnN0inz+8lZBoig5fOIpoTXq5LOGwwl0pSXBDF1AwEI+jzEcjncLhfpfB634sJwbEzDBsdGkiTcsopt6WQ1k5ICL6WlAXpTGSrDhdiCTsw0cBsijqXjDgVRNYs4BpXljbT3t4JLJtqmEy4JIeoGXpdITzRGZVmAwc4hLEGiZmQROcHC60gYpoUe16goLSeaGcLj8WEZOm6XSDarMzSYpzjgRfZI1JWE0DVAyPPOok0smDsOU4fp9bVc8/JCJJeE1+siY1nIloTP50ESbJAkBMeNbeYQZImxo0bR3tPFYO8QmpVHciwM3cYT9nL9jXfz24vOJ6OZuGTA0hEcBZ/fhWgKpLU0Xa3dTJ4yCUSTof4BED3gEtl3n3156PfDefSqxo/FTKcpKAxy1WUX8dC9D7Bu3Sr2OvAIFCNNPN1LffloXn7tFRa+8xyTdpyPKAv4fAEcS8BfVMyCi57nvfsvoXFUNa8+8hBztp/AR0vW/aixsJYB0v9KbMwQINPyzafEBns575KbGRjqIZM2GDmqnlTWJBOLsXnbMLF48bnH6Y/G2XH2bDRR56P3FjNy9BgOP3jB396k3kNe8uHOitx+/21kUwKvv/oEy9dt5YRj5pPNOnhkSNlw0s+O4b6Hb2YoadPf30NWs9H1PG7Zhb+wmL7OHk44YAaOy8t5V13BPrseypmH7kwup3Hp71+loCSI4TicvMd0/AEP1z307g/3yRwiL7m5//HHueaSS/j1JecRlhROP/Oyv3Iy3cD/Q/DTTwSrvnifKTsNO6yv3/opvzztXKrKy0jFNHoG+2nb1kImaSMqUF1RwfgxI2ltbaW1o5tYkv8Qqp8KfqqEKtO9AV/VD1u5rr7iDC6/6vsZ6X8Irzx3G4ccecH3ype89QLb7zes9XLKzw+hwB9kaLCXxtoR7H3Cidx+9eVMmz2beO8A4ZJSzjjvPPwEOfDIPZFtm8WfLqS6qoqugT4MU8A2dXJZC68K2TyMnDSG6EA/0cEYd1z5Wy66/nbGTR7D4s9WAFBaXYRLEjjzrPPo7++md9sAL770Cr/7/a+4586nSeVS9HZnmDixisPnn8oHi99hcKiTfebP5eknX0FV/SgugYGBIQQbRBcYWRg7soJy1YUlwfpt/eTyeW6/8QruvP1OqouLGUim8YdrcHsE3vrga449fD+eeuGtb8flgz+8zZ77z//eeOXo48F7X+Oeu64gnc6Ry2WwLZgzYxZjSzy0xgU+/eozDN1BkUWKQ35qi0tZ2dZJMKDidbnpiqZQFTc2AmPHjqe5rQ3VFsnpaRxJZo8dp7N45WZChQXY6dhwsl3dxCd6iKWymI6GYWoE3H7cboe+gRTlIS+C7RDL65QGfXQPxmksL6JrKI5mWVgS+EQFRbJRZZmsbeAWFSrLS9jU3kdeNxhTVUxYkVna0Y2DQ1k4wFAii+DYqD43ikvC0G20rIaqyAgCSIggCuQNA6/koqgogOwFWZIwbAtvwI1huoh3DaD6FXQRJtU1EIsmaSdBstVA9Dn45eHkw55SD14B/C43o0oyeMQKFnX2Ul7gY4S7iI/atjK1tolV7VtQXQqJaI6q8iAd7VH8PoFERmNgMMX2240i1p9j4uhK0lkNQXTY0DHInvsfxcOP30dFURGReBIHEyQZWRQJyi48bjfRfI5Fi5ey117z8AgOiuxlS2c/Po+JYwvkzTySKCDIEpPn7M2qLz/C41eorplCS8taTC1DZThMzsiTz1jsduAx7Dp7PL/89Rm4cGHjoMggKz48wSCVo0bzyXMvcsTRh7F4w2bMWJIb7ryaa357FXoqSl43OPTIY1n8+YekIklkWWK3fXZm57Ez0BWZocFBOvMukr1baBi1IyUVFczZ+0Am/pdc3sddeA/TdtuX3fZu4N8pVfpxB8/lyT8Gtdxy0QJuvvcNBlMOkORPy0UHL9iDispamhpGcMCCwxgxclgM9ZUXnsPtLaCuoY5FX33Faaec+Ffbe/zpG/nm8+UUlpfz7scfE9B9rO/fRHVxASeechLvvPcZrqxEUXUNZjbDgfPms+DUE6mpKkBzBAKlhQz29KMoEpHu+Lf1XvjzQ/ngiyXsMmUMn63ZTDZvMpjI8vDlp/PiWwsJekWWb+1l4oRptLR10NyxBVGALz5fxU2Xn8hjz332D4+loSVQ1NBf3/EnhLdev59JoyZwxAmnY+aynHbeOdQ31bDsw6/xBlRuvutWFMnDz486nEtvuu8/hOqngh+bUPV0LcMTGaRg8t+XsX2gby3uZIzNuRQVhocbn7qfs488ifbWZvY++hyS6W7OPvnnjKyt4bJbHoBEM4RGfa+elcs/YOqMPf+mNu+44TLOv/gabrvxQg495EiWLv6M3efuRTSd4auNm1m//Aveeu019jnoABZ/8jl9AwMYlsBOc2ZQWNrAi889Tc42KSspob+7l4ricnxinm1Jg7KAh51224UjT7+MXaYPR+yNnTKSdCLBhhWbeePLpZx/8iEIkohb9RD0eYnEI4yom0LbthXksxaSqmLpGmVlYfr6Y2A5aLqJqIoYmo3HI3POBedz8423IBowd840kj3d6I5NMp8jp5l4VZmhVJacYWMZMLGhmHBhERXhII2jx3LZNfdy8aXnccMdD31vfJYsfpdcMsqJp5+J4VgYOQPbEjEFHVGQsHWD4w7cl/c//gK3x0frwAA4Ets31LBhcICw203ecbAch3jWwnYsRNHGcQREVUFxBERETNtBRECWJMp8XqKGiWNbFBR4GUhqGHmLUWVFtHT3Ew578blkItEMikvCLYq4XBKxdB5VUSgKeugdTOP3yrg9Hjq6B/B4XZSFfHhkhY5IkpzpIDkm9SUBRFsgkTOJ63l0w0CSRHxeN9lMHpdbBdtBkSCV0/C5FarLisjYOrIkEfYHSaZTZB0Dx7IJeF1YeYeu3iglNUGSusEOdaP5an076FmyuoBu2PhUBVUV8bgUyisLSOUz9HVFicYyhAMesrZJNmOAZePYzrBVKWfhDfjwehXSWR3dsFFkgVKfj95IFEmS8fpk/C6VkN9FY0UBpmHy0bpteCSRgN+L4wik8hl8Pg+JtMZJBx3Ejb+7lwP23oOpex7IM4/dS0lxGdFEAlWUiKeHUJVhHzVFVWjf1MboaaPIZC20vMXsaWPp7e0hPpRhRFMFKza0UepTkVwKKStARcjhlvuf46C9t0dk+Lq7gyWMqhtFFh3HFJk9ezwffvgZquigp9L0R4YY6B1i8tQRDPR24fMHQISW5iECvmFLqCKA4oOXX/yInefuxEVn/Zy9jziBuTvNBX68LH0PPvUKRx25D37Z+yPU9j8j2/IG3qYDuf3ac/j9g0/iVnVG1Y0ln89T6FVpaKrmunuf56xzz2Lp5x9TVN5IWUkJe+y+B0cefxorln7J7Nk78sH7b7PnXsMvRkPRKMWFP+yI/0OI9jRTWDmKvQ7em3RHCzvsvBu5RJqKyjJ60mlWfroYXc+T1fL4vF4SqRSaYGGJHrR8hsGeCABX/+ZkLr/xEQ7dZ3vqi9zohk17V5zJ40djyhluuPdt9p41nj1njeaOVz/B6/HRGx0ioProbmlm8pTJrG7uZocZdWzu6Ke+rIyxE8fx9HPftWrFOtYS7e9hxMxhC8/jD9/MCadcyAk/P4zVy77h2efupaasCn/h+B/pKv246CfLdZdewemnnsS4urGcfu5JLF/TjhbtJxjyDTvxO6BZadKpOCISpeFSaqqrePy5N/4jm/BTwj9MqCIboSjIn8yso2sV6keN4bY7b2fChHl/8bBY3zoKvD5s3aQzlaauYSofvX4/Ht0kkZWpmTub5268gZIxU3n9uWeoHTOSpx5/lZdff4GXn32c5198l79FzPPeOy9n+6nTmbrL3oAKaH/8/Plcd5wzlt123pVDDzmcSTN25d0Pnuema2/AMW0ef+oxjj3mSOYecACHzTuAG269lnfe/5iDDlzA10u/xpHdHLTvgRx71nnsu+tUcqZJOp7E51LJ6hp7zRjJx2v7iA4muPCSc3jj7ffZa+8F3HXTTdzz5Cv8+szDUWQBWVFxbBN/wEsmkaG4NEw0kWHBfvvw/AuvMmbCOFo2bcHGwDAFcGxEyUFGRDdtBKCmuITOeATRAV23ueeaX/PS88+BLRLXNGqKgnyxvoXD50yjYyBOXypDVXkYBYnbrruFZd1DxBNRIkNpOjtXMziQo7i0isaR5UyfOo977/8Nff1JhoZibOvpxjElBMHBJSnopoWETcjlpTjsZVs0RW2hn9beOKYMQbePrOVQ7HEzlEzhiKAoMgIOLkUhZ1pgWIiyjGM7CIKIjY1hOAiyiCTJWKZJ2O9DFAQEwOdRyeV1BmMJ6kqLSKczDKVzVBcWICoSumEyFE/hcUtoho2FjYhDbUkBsiDSm0hhmTYuScQtycgSDGl53JKEYTlIkoSmGwiSgCyK5DSTgKrgUiRqR1SBrZE3DYq9hQzFowhuBVX10N3ag2lbhMIebFXAyTv0DyTBFpgxtY6isIfX392EaWmoioqsyKgyjCwNY/tVFEVEVRVSKY2cYPHV59O5+EydloEuvLKb0Q2F3PP0QgrCfvJZHemPEYlej0QinkKURVyyhKPnyWU1TvrZ7qQiQ2SzDm8uW091cSHpTJpwyMs3q5u/87z84tfnc/ctdzBl+5kk4/04jkxQURFEGcXn0DNkUF9dT+OEaWxY/i5XXXELDzzyIC2tG4n3DqJ6JdpbuqlqrESWXMPkWRBx+0P4FYfObe0g21iCSnXNKKoqR9A0YhqTttuOrxd9ybLP/sBee+3M4lVL6WnbxsknHcPTjz3Ms2+8w16778T83bdj0RcbuPGmGzn+1BPxSaCoHmqrGxgxbgJ77jSNULCI+Yee8scUy38dBj8tpbsrf3Uki79eTtu2fo7ab3fGztqRh+64kddfeZ9AwzRuu+5qpu82nTtv/T2H7L0vO83Zk3e/+oZ5O4ynqXECuP4e6XcdLJu3Xn6RwpIQtunwh7feYr/DDueFN19i9SeLiSaHKC8pJ61bJIcGqRw9gdb1y7EtgYxmEAwXkNEzSCZUVhazYkUzO+60HduPqSE+0E15eQGfLG8hlbeYM7GWkZXF7HbsZXz5/C3ktRzpZJrH3v+GlJahrnYEB84YywN/eB8Q8IXDjGms5q23FzFtUh2WlQLHzeo1X4NczVW/OZ/3P3qX4vISDjn0MF5//QVqa0ZQ5Pewx/z92GHH/X7sy/SjoU+LUK4WATCowYtPPs7Y2slceuURYAnoWZ3BwR5MR0RxKzi6gc/v4/ob72b3Pff9D6H6KeEfJVRHH7Irz7zy2XfK7r/mfE6/7A4AUomNBEJj/9tRw1Pd0i/eYdZO+3Lt5WcT6Y/ROKaOhQuX89hTT3D2qSfw+L1PcupZJ9CVynPYQUdx3jlnYtg2Dz74JO+8/Sr7HrCAo4849js1n3TCwbj80Fg/iQlTmti4vIXJU0azx95Hcv/vb6Q7Feeai28EYMnnH7L9LvM46zcn8ekb77FhYw8A++29M4PRCPFYhGOPPpxfnn8x1Q2VTK6rY8f5CzjnrNM55LCjUFSZ/oFeYkNRdMOkrKSI9s5+yksKCAQ8VPg8LG4eZIdZU5g+cQyfLfyUlp4YHRtbcHn8hAq8lFdVoKeSDKYSSKJIXWGYtoEhQgUhUsk0Rx30M556/jlsAWory5g9dQqvvP8hju3gdnmRBIMRIxrJR2PENJu2rZsoLqsgp+moLhdT6iop8AisaelnVF0ZftVFfyKJT/Vj5HOMra+mP5nH4zIxbZHqsiKe/XQ5V1x8JSf94jx23WMG5UV+ps/Zi8xAD3c/9AijGpt468U3OenoA0m4FM494USOO/eXCKZD0OdFMw3q/CFaU1EUSUHTLfweBdmRECWJeD6HIEl4JAXDMnEQMB0b7GEJqbJwiIPnTCaRzvDS1xsxTQO3pODziJSVFxPpT9KbzOISBRRVRrQcTNuiOOjHzGrILhlRBFOA7kiSSY2VlIS8rNjcS17PEXa5SZk6kqAgyTbZnIbqksjrFn5FIablh8maYSBZYIsOiqRQ5HOjKDKqT6aqsARJgoFMgrLCIjr7BhAVheMPP5bPv1jO0q+/oro2RGNhJV82t+J2OYRlN26fi4GBLIl0lqFUlqqCAI7ooIgiaU2naVQxPtlPIpdGUUQKVTftg2kkLLwhLwG3B1WEDxdtRADGNpYTrAmiuhwmy8WkHZtMXuOZz1cT8vow8waOqnL4TqN58bO1mFaOvCkguySCqputW9q/90yvXrOM2++8ky2bt9DW1UNFYQGOTyFQPo7eDWsRPSI5ycBKQGllBcnedgoLVAZjNsGAzOxd98bWZRZ/+DKqV0WXBDJDKUY01nDML37BhaeeRMjnI513mDlzDvvOm0urU8vYoJ+Tjt2dFxbnSQy08OlLl7Nk6WJs3aCxoojPljZz3JnH8NazLxKN64xo8NPalualZ+7k2XeXMNDZi1vK8vLvf8ubKwbZc9dZVNT8Oy30wZdv3Ipul7HbQfsABax4/0EmztqOO+56kIsuf5Ch5vXccf+9lDU0cOBeB+MpaQQjRmnpj2GLG8biD1/jnnvvZNmyr1FcITRRQxXcbOvrY/LEMfT3DBKNRwn5C0llUoguGVGSSeRkRo8sZE7jGJY0b2FiRQCP10VrXwKfz88Rs0fx89+9iinYKIhIbhnBsUF3OP+wncnqBr5giGc+3kR722Y8bpU7bruF6393M5lIhGQqgyKIZPMGbpdENGpyxlnHkUomWbt2JYJpMGPmbB5+9FUOnDeDNz5c/sczSgEBLr/oZK6+6ZEfbZz+Gdhz7lQSySiRoSgul4plmPQPJjAcuOPGa7j8msspqCojE0nj8assW7r1P4Tqp4R/lg/V4Kq3uPGe+3n8+be54ubLOeeMq4i0r6OofixP3HMDu+66O9c/8AAdm7aw9y5zKB4xgjdef4Petmaa6hs54pB9OOPXl9FQW0lvb4zeSARZVXDho6goTF9vN6Ii09+fAeC9jz5h7z2GIzwOO+YQvBIUFoRZ27yR8485jVcXvo9u6+w0aQ6vf/Imx5x0BHJe4meHnsKll5/H8888xZknn8EFl1wLQHWtn7KiCq6/9gY6mtcxkNW46/d3UVdbS3trJ3k9j8clYTkwavRoEvEEgiiSjkVRFJXuwSiTmqrY3BOnpLCElJ5h2o57EHQkVq9bRSzSBZj4vAGGhiJ4PW4aq2vpikVJRQYxLQfdBEmycRyb0VUVTJk+gz98+Annnnwig+kYd/3uie+NezSd4vj5u7Fw7WomlhaxZWCIsw/enU+Xb6B3KMXUETVIqkz3YIRtQ2lqCsNo5vDS1YT6ajxuiYWb2+nsjiKrEmNqq1m6fiNVdfVk4glEwRomQX+0PKRyBi5JQBQUptZXsbmnjwmVlYSCHnIoqC4JdA1HdfHR8o1YWBS43TRVl7C8tRNRkBAtAY9bIpU1KCnwE0tncdkiY+sryeR02nvjpDQNVBnVLaNILizbRBYEcloOS4eAx4XPp5LKaJiOiWg71JUUYps2noBKMOhBF2zWburCrbow0joZU8clSYiCQ0E4gGo72JJE90AMRwHVkdAdG7/XNUz4TAGPIlNSFUIxJSyXQ7HXTW8ujZ02KSopocBfwLnnXsglvz4bXyjItqFBJAs8fjfVBUEG0ikUSaUrmSDsdZMqFCjshv54GtEG29IpL/Rh2VDVUIaTV/EYDi3ZfhzDIOhx0dkTI5YzyOoaWCZTx9URCnsJSgqabbBsdS9+n8z+24+nY3CIHWZtT04QueCS25i74CRibV/TG40QVGW2tHR+5/7ZbupY5s3bjYtvuIcF++7OQHSQwYEBfB4PlYVlFAa9ZB2N/mSGTNqhuLICfz5BTyxKLq8TKvQTHYgzsmksg33tCKKAaRo0jZlMrG8b4aJyHn7kefaaN4tEKoogWOyyx+Hsf9BZ+EY3sGedGwF45iuLJR88Tu/qN7ji4ouZNGN79j94b1rXDBO6uTNncvcjr1Bf40HxldNUV8G1t/yetsE2Gt0liGEPU8YPy4NoyXa+Xt3OTjvt+jfPX0NA8V/d68fHz/aZwca162hsGsstN9/G6Jm7fbvtm68/5qM/fMSF19zA+6+9wKpvvuaia2770dq++66rWLn8ax598nkgQDS1mTnT51FVWUN7VxeKaBNQJObsOo/HX3oVI5vCdByKysqxTQvTtBGxkFQRRQC/18v6dW0sWfoq22+337CjJ7DX3Kks2bAFURAwTZs5Y+s4f8H+7H3BTVxy/B58vq6Dlm0D2I5JKOyhuy+K4DiYBtx6/33cdM1v6G6LM6qpjGh8iKbGUTQ3b6awoIiWtkFqq1RWLlnHeb8+DtuQcLndHHrYMficNLVjZtI49qeVgiiRXsOlv7qUfNZmcCjOUCzCmKYqYr1RepJpgqU+Wta1sbU9wYcfvcdvfnMpfp9Cb38/RWEvXy3d8B9C9VPBj0GoNqx9h7PPvoCTjzuVo08+/9vyhlo38bjGFZecx0233Mm+B+zDtRdexpsff0RcNFj41mfssd12DFoak6fMoKdtI3fcfR9DgymCYRcTRo7gsiuvYv4Bh2E6UF0SxpFldttpd5578QX84VIa6+uxHYeGEXXM2+cIvl67ku4tGyksLcaXTxOJD3HcCSfxxFNP0N3RSc7RyOU1Nq7tYP8Dd2POjDn85rJrmDC2nngqwo5ztkdL5Hntvc/Yb++deer5V3j40Ud49vknqamoYtXqlUyrrmR9ZxeOBUnDJJ/XCQaDeFWFroF+PIoPQTSxbYmqijJ2nzmTNa1bieWyOAZ093RQEvbRH0lSUVJCY+MozjrqcA4+40wcAVyyxIID9uerLxcR8PvY0t6OLxwkFsni9irYuoMg2EgKWIaN1+NB9Si4ZYFSn5/23ghJXUMybXaZNpJENIE/HKRlazezJo6heyBBWVGArzduJY9Fod9LfUGQSN6kuaObxsoy3C6F1Vu7kRRI5/IIAhiGw0G7zGDhN+uJZ3LgOPjdXlTJwXYEsqbNLjPG0dU5wLiRtaxq3opHlEGU2XV6E72JFAN5DcswSceytHcPk+S8puPYDrpuURzwofo8JNJpLENHUCQkJEJeD12xJLbjoLhkHEARZQRHwqtK+D1uBMNAlwQ0zSSSTDC+opzBgEmdO0BWN3BLEqXFxQz2xOiIRogMJQh4VTTbQbAtPC6ZnOmQy+qoqkyR3000k8fvcZHO63hdMoUlAUS3wtTqRtZv68awsvhEH7V1NazesoEqf4BMLofL5SUST1BQUUjAUejIRVAkkcH2BP4qP6IjEAy5iKU1HM2hurgQEYdoV5Ly6jAr1rSR0XV8ksqcnafT0teKkzJoGFXKhx+ux6e4MLCRBAHNNhAQCHu8DCXT+Lwqu08fRUEwQElZAT7LIZ0VuOLBp/ivi1vjp49j/YofTrC7aUsz8w/ck0QiRcAbRECkvKoMJW+QNiAQcGjtM/BIKU455RQeefAhsnkdv0/BI/txFAdVcJHIpSgN+ygqKWfG3MPYvOwdnnjyFebuMpvenh5uuPkuLr7kDObudggnHn8Gbd19qLUzWTA98L0+nXneBRz3ixtZ9M6jRONZDCvJzVde8e322266ggsuuoonfncZx597DRBhS2uSkSMa/sLMlQW8bO1NY6l+Rv7tbkb/NNx81fFceMX3X5Qca5AP3nuDV1/9ANtymL/XISw48ogfte227i4Gu/rwODlee/l5ehOD3PfQi0ycUEU0OkBd7WiGEjrNG4eXiWsay8jmbII+H5qZB9NGM/P4vUEyuTR+n0rrV6uQiiv44r0XefPp+8jpOoM5kXe/Wk1ZVRl923oRsLj01KPYtGY1TbVl6OkMry3biM+jsLGjF1FRSKc0RAFcqoRl2vzy7LN48LEnKC0rpqw4RNu2LsbW1LGpq4U99ziAzg3rmLr9TDY2t/DSKx8BOimSHHvQ0bz+2vs/6rj9I9jYt4mx5WO+/f3hsuU8cutV9HR1scf8PXjjjY8oCrqJJDQKisrp7Ghj1g7TWbX4U+bsPIsP3v+Ure3xH51Q/WTyhd9www0IgsB55533nfKNGzdywAEHEAqFCAQCzJ49m23btv3FenbddVcEQfjeZ/7870Zg3XvvvTQ0NOB2u5k+fTpffPHFP+O0/keMm7gvn3y+kaNPPp85O/1Zz6htWx63W+K62+6kN+IQLmxg0ZqVbNrUyhN33cvb7yzkyrtuJ5fL8cDtN7Hiw48YiqQQRWiqaSQ1GOPAQw5DN2GXubNxqyq777E3I8uKECWBB566n+oiD51tW/jFRbdy0lGH0Nu5kVXLF+EYSXpSQ3S0t/PI4w9haRpDiShnHX0CpmENuwwYNu++/S7Xn3seOTNPXX0N73+8kCUrlvPeV+8xfdaOnHn+mZSHS5g0dgJ2PEJtYZgvNreiORIZzSCv6YR8XjKZNN39g7gVNwUeF3nTobS0lKQl88JXy9i4rRO3J4zhOGw3eTJ1FQ1cff2tdEdSrFi/gdMu+y2SJCIIArpp8fJrb9IZidDR0w2KDLbIdhNHYDsWjmAiiHDooccgSgICNkZeo6s3RqCgDBQHxS3hVhW6u4fY0p+grW0At9tDVyRFNp9nTUsXkqSQyZp0DiZYuKmdXDqPz+/HFsCRbEbVlDG+roaSUBjbEQj5PXywbBUN5UXsMa6JAq+PcECluqyEEU2VTB1TQyQSY+y4OiKpFCGvj75Yioym8dHyzbS0R0ll8wQcD5WlhdSWFCLKMkGPG4/swudzkTYsBuNJsjkTUVHxSi5EAfpTaVRZRHBsbM3ANkxsx2ZkfSlht0I+n6d9MMlQJI6qSPhEN925LNHmOBs39ZA2dAzHYdvQEIJXhgIRr9eDZth4ZBlTEBAFmQq/n5KQl8byYgRRAtPGW+xjv12mUlgUIOh1UxeqIBIdxJENfEKIkJHni00ryGTz9CaTZDMaGzp6kD0yuWyG1mgfsu7gQiVnWAx1ZDGiForhplgJUFVYSJVHpdzjI5XPMnVEDSObypk9ZTTTJtVBMoMsy4QrQnz9VTserw9dlMjZElldQtNVTBRE1cWE+goqQ2HWbBnC0EycZJZ8Pks0FeeME38OwMWXDVthX3n0cQAeuOVSXnriuxpDY0aOYuWSFUiOQzaXIaPlWPzZYmJGCsNK8tlnyylx58mnM3z2wYcItohXhZDsRREhIIokM2k0U0NHwhZEpFQH3mAJAIfsvz83X3stF114FpXltfT1tLLo0+eJda7ky9du59nHH/vePHPvnbcxe4TCBb84jesuO58rfnEa5511Or9/+g1uufEyvvzsHfpXLf4jmYL2FV8xsvJ/Ek/wsmXLRhorfhpkCviWTN115fHfKX/9gQeoGdVEUXEZDz3+0o9OpiBF29JFPHLnFTxw/20s+eZL4pEBAKqqxjF62lzuuf9ZLrhkWLagqamMbF7DzGcQbBO3y8WzTz7Gu08/xvm/PBVJlIjHsxRPHMv83eZw9a0PYHhCqIqCbOcQLJP+bT1YtoFhOVx93zOUTZhLeyzPxt48R+82nSWrunjxgfsZ3zCa3XbfGccBwRKpKApzx333YDkmvf29rN6whcMWLGDQgGQiR/v6dZx19i+4+ob7ufqSqwH48P3XCVDMaScdwxt/uP9HHru/H38iUybD7ibTx9ZQVV2PIWo0b1hLY2MdE6ZsR9BnM7JUZUSjhwP22JVMIoUey5FJ5/8p/fpJWKiWLVvGYYcdRjAYZO7cudx5550AtLa2MnPmTE4++WSOPPJIQqEQGzduZLvttqO0tPQH64pGo+i6/u3vSCTC5MmTefjhhznhhBMAeOGFFzj22GO59957mTNnDg888AAPP/wwGzZsoLa29m/q84+95Dd6TAETx0/E6/Pz5JPvUFIsMHWHWSz5aCneoER/n0lZqUL/gMFLTzzCab88lYGIjozEpEm13HLT77jlt+fQNpghnoqT0x3cqp+p248hkLeQvAHe/WQhikvmiAP2RvDWc/99dzPQsY3fPfoA61YtZ8365WgZHZeiUl1XyS2/u4+D5u+FI0ogCvR3xgE44oj5rN2wmVQmTT6XweNSqaurpXlLG/MX7MdH73/AqSefzebWDaz4+huiQ7343X56ohFEBRwDcBx8fh/JVBrHcSj2e7Ec0CWRQLCAbF7AH1Tp7+imuqwA29Ip8PowRRdbezrZeepknHSa5oE+srpBIpMfduRFwLRgYk0ZGVEhlklTV1qJKMCG5nZs8iiSzJjqcsJeN19ubmfnyZPZddfd6e7rpqNlHV4R1rR0YRsWeU3HFiHs92EaJn6/l67+IQS3giQJCKJI0OViREUZ3ZEoSd3A0PLUl5ZiWjai7eD1qvh9Pmory9AFlb7uQb7ZuImOvggBn0JIdTFxTBNRO4nqkrFth/ZN/SQNA1mScSyB0WNKGOhOU15bAI7N2g2duCSFRDZDaShIUcDLht4BFEnE73Wh5TQMAwQcUERM08G2HVySQMDnpaK8gG3dcXxBFSFn0xNNUVroR3AsBpNZVFmmoiiEp9RLMpvCsGwUUcRtSXT1xDBsC59LIZs3UV0SfmU45UsmZ+DzuBBkmVDYSzjkpTMRp0BUKQiU4RUM+hJDZFIGgk/E1E0iAxm8VT68Lhkn7VAQ9pFKZ3HLMhPrq/lw1Ra0tInqduFSJGZMGsOSbzZQGFAwJBGPDV6fC0kRcUSH3WbsyJL1KxByJknbosIbxPbYxHoSrNk6iE91URwOYMgWvX0JJJ+MZViYhoZP9SEAC44+H1/IxVMP3kKwfBwlUopt29ooKK1AlT0s+uLz4ed2wjjyWgqf6iOZy2JoOjtuN5nFy9bQ29VL7ah6SipKcVkyS75czG8uO59v1m4iF03QNLqJX5x/JocecBTHHbWAZZt7GErblARydG1poba8lLEz5nP+BScTDhbx2BMvccbxw6r+H737CnvsMyzCedH5p3LiiUfR0dHHXvsfwSU3P8T1F/78e3PMM59v5Ohdhv0yX7rvJvw+H3MOP4Wg6v4Ls1IcCANgRVciFU4FTJ6690aOPfO3//Cc92Ph7dceZP7+B3PGcQdz37Nv8d/VtC847SBue+C1f0rbD999Jqf84ruk+sabryaedvHz089mROX386lmcllqagqRZBHbdNBNnQJvAEMUMCwLWxBwTAvdsMCB/WZPIxgKkk5bbO5sobl7AMcxcaxhcVkBh4mN9TSUuZHcCipuXlq4jGuuuQbNzPLoE88R6xlk553nMGeHOdxw2834gqVgp3FLDpoJ2WSEyvIKCktKmDtrJ3pb1jNupx057bSLueOmizj/opv+KeP3Y+GMcw+jvn4SY+vquPl3tzJh/Hjuv/dZRo4oZfzY0cyfuhft+iDX3TScmqeiOkBfd/r/3pJfOp1m2rRp3HvvvVx77bVMmTLlW0J1xBFHoCgKTz311P9cyf+AO++8k8svv5ze3l58vuE0CrNmzWLatGncd9+fNZnGjh3LggULuOGGG/6men9MQtX5zet0dPby+kuvcevTHwDQ1FRBT08fh/9sXx574m1efP4xTj/jFKIxi93nTeOb5WsRJYXiwjCTJ05gY3MHjXWNuLUeSnwyf1jWSmVNDes2rEdV3Zxy5AIeeeVtFAR2nDqJ0opytrR0s3bLekRRYu+9dkG3JGI9PQguhZ6uflRRJGVkePT+B9jv0ENwZBf5tI5bkVADPpoamli/cTNHHX0Ezz3zHIIkcdlNt3DJOWdSV1JEMpemIhCCUAFbNjejWyaCIyAJUFdcTEf/EKZlM7Gxki0dvZgAHi+Kx49j2mj5DKJhEvBJzG4awcbeIbpjURqKikhkchSGvCRyeRRPgOmTJvHae+8yub6cRMogh0NKNzn/nF/y6osvsbl1I7IMIcXFtHEj2Lq1j6DXTXckQcDnwrRNissLcAd9xJJp2pv7KPN6KfB5iaYzmLaBaUuEfCq6YyPIIjgOiglxx8QrKzgCIIJkD0sRWI6DBFSWlmFoGTI5nVgyQ1NdNdWFKv2xJJ9804okCSSzOiPKwgiyTCaXJ2NapPM66DYul4jLpZDPm2iOhVeWEYThJMa2Y1MZ8NOZSOF3y1i2gEdViCYyuFUJWZRJ63lmjmqgoyeCIzpkcwZul4vZM6bS0dOPY2TRBBMzr5O3IOB3kRrK0BvLIMsitWNKkUUHt+SiNxon7PfQszVORXGYlq4epD86uLvcClObqunLpDBSNtUFQVAksr4iqgC3T6SjN0J/eghTsBFMgY72QUaPqEAUoSzop7U3ycjaYiKZPGvW91JWUkAmqyHIJqJgoypucpqFlddR3TIyDvvuMomWaIpUT4yMKVJRqJASdVRBRvWqTAgXsqx/gMqKIj76eC0+r5vdJ9aj6SbLtgxwwh6TeeSjFUTiSQJuF5pto+sWklcgqLhJpjJ4Q7VY2R7SOQ2P103QHySVTFNYXIiJzmB/HLdHIZ/P4ogimDa+cAnpSDeCMBw5KckCvoCfIn+YktJyRNEkVFBFIq5RWVbOqi1fkcuYzJ41k1iuADGxDi2nc+ghBxAqKufQQ48gnUrhDwTIJwZxh4atVmubO5g4qu6/zCgm/1NWsRz8F/FOA7QUqD8RU9M/ET1LX6Ny+qzvifX+vXjl9ac4ZMGxvPHaq2zZ9AWZrEgklaKisICLL/8+AVm07nOO2H1vEAXKyspRXG6QTSKDGVK2gWAKOBZgS0iqSCaXZOdJEzjrlEN596OveP+TJcwcX0fAo7CiZRurtnT9cQUGtq7dSmn18Hk1jGxgZHUJkWicUr/KspZONFtgVn0Tq3s7sM0coiNQWlyEx+elriLIK28soaY+jE+W2LR+A7f//l5+ecFVAFz5q59T01DHyWf9dEj0X8LB+88hWO5l9ZK1/PY3t3HXPbfQN9RFKKhy4tkXcuWvfg2iQElxFes3tf3fI1THH388hYWF3HHHHey6667fEirbtgmFQlx44YV8+eWXrFy5koaGBi6++GIWLFjwN9c/ceJEtt9+ex588EEAdF3H6/Xy0ksvcdBBf1bzPvfcc1m1ahWff/75D9ajaRqapn37O5lMUlNT8w9dkNXffM7kabv8xe2jx5ZSXT0CI5lmdfMGVJebZStXctC+89nc1sKeu+1F9+a1FJU3kDVy3H3rXaQTA9xw5cV098fYGk1g21DRUEFtKERrRw/hwhAjGxtpaeumuDDI5uaNqB4PY2vrWbVpMxlNY+KEMRSUVtDX2cFA/yDYEpFMnBeeeprDjzmWmdOmcsSMKXzcvI03P/oIEZHZs3biiyWfMW3KdNo7t1LqdqNpebwuhe54gpymUxII0pWIUxbw01ReCraFIssILom2jkE8fhetgwaOZRL0qaRTccbVVOAWoT0WI64ZVBUE6RiKUVdYwNahKB5ZIf9H+QPFpaDlc/j8KnoeTMdGdQvItkyBL8DkUYX09GdoaKyjp7ePZGJYpyRvOBT4VSzLpi+ewAISeY05IxroiifBGv6DkgVrODmwLCGJEl63jGVZRNNZPF43PpeKY1pk8zoBn4fBWArrj1niN3T3EfT7kAyTiY3lBIJu4ukcXV0JPC6JbdEEoihiaNqw7IAFjmARcnkZyKTxqS5yhoHoSICNLEnYtoXNcIh72OMlpWXRbAcREJHIGxqFPh8eSSKiabgEARmZqsoSymrKSQ300NOfQnAp7DWhkQfeW4YkCjSOKKG/N0Imq1MQDAAWjdWlDDpZVEnEESR8jkBfb4o9dtyO5q3b6OjaxuTxTWxLR9DToNs646qb6Bnqw8zbVBSEqHFZrInaDFmDiIjEk1msRJ5QsZ+A6gZEorEMvZEcBYEgildk+ugyIvEsnqCblSu7CfpUXB4RRRGxQjaplIZfkKkWA/QaGapLSlAkcPllFFMim9dYuq6NmRPrMHMmC9duJeDzcsQuU+jKpimXXKRli3xKp9Dtxq0oKAIk0hkWbukjk9NwLJNkLoPL60bTLRzTRhBE3B4vr7/8MgcddQRet0KwoIrOtlZ0I4me1RBxEEQBUXFwTAdBlLANE1VVQRQpDAYZMXIUa1Z+Q7iwEEf0cNIxh9EVSTNv150Z1VjGiJHTAFi2soUZE5roiqfYlAwwb8Rfn19sfkI+Hf8COMlWujo2UzNxWNuvp30plfWz/qlttn39IstWd9LTt5rbfv8s40Y08fjTr7Pb/tM58oiz+HrVJvbabQe+WrGKZx59ntoRI9HMHC5bIORXyetZUloeLW8BcOSB+3P00fO54vLryFgWrVt7GOxPcODuE/EoCslYnq6hKPvsMI7+oSSfNUeo9Nl8tPgDTjrsKOrLC3n4rcUUhL0kchqTq2poj/QylMxy+a8u5PxfX/29c7jm0vOJDPUza/w4Rk6bwYwd9/6njtmPiUuvPIVFn60mFY2wYs1GRjRUcu4JJ3L7w49hChoBn5c7fncrRx15ArGo83+LUD3//PNcd911LFu2DLfb/R1C1dfXR0VFBV6vl2uvvZa5c+fy3nvvcckll/Dpp5+yyy5/mYj8CV9//TWzZs1i6dKlzJw5HKHQ09NDVVUVixYtYocddvh23+uvv54nnniCzZs3/2BdV155JVddddX3yv+eC5IbaObxRx7BbYpcft/tdPak+UuKLqMbS+nqH0RC5tEnnqGipo5TzzyCba3teEQ3pQWl7D6xkp60juXkMIGtWwYpLfKzvivK2MYaNra3k8rmqS4qxpYVunoHkGWZkMeF7UA8lUGWJCqq6hkc2IblOMORU45INpvFraq4fCHy+RgjRzVSpcr0aDaTZ2zHZ394l5Kgj7Xt25BkGUGUKS0K0NA4kqHeXkqKS/lq1TdILhFZlLEtm2KfF1X1kMsPL+vIskRS03FkH5ZpYjgWgmkQUCRqywvQNIMNvQOUB4MUBgPYuknLUISGimK8DrREoiSzOqIEMjIzm+pY2tJBYUGQwXiCQq8P09apKy5B8AgICggJk+aeIQqLg8QSGbL5HPN3ncNgbJC8ZbBuQxc7jx1JZzJL12ACnySS1dJYpkWx3w2ShKy6sE0Tt6ri2DbxbBbbttFtB5/qQbQdaitLWLK2Dds2kVWJypAXlyAxqqmCFes70GybAq+HRC6PR5ZI5XT8bhd+RaI3m0VCwDAdHKxhjSnbpDIcQnNsXG4Jv8uDmdPYOhRjdHkJ7YMxdN1CdQu4JRVdtJCR2HvujiQFhfZNq4nH0kgBEa8ukZAdwo5MPmugmQ6hgJtoMofXI7GlawgJcMkyNVXF7DppJCu2bSWWztPoK6Y9F6G8qICWjf1k9Dxzpo+nLzaAaIr4Q24CYpjmfB/pwTR7jm7is9Zm6ipKWN/bg4SAyxEplN0M5rPIgozXGyI+GKW2upJ8JkUgNCyNYMoWGzcMUBz0YodEZN3GCYhojkNJViFmZHEpMo5hU1UUJJPVyOZNJEGgbEQdba3tqKi0dfcgSi5kRUDL6WDDlFH1NNUX0N0bZ3J1MYagUug1SeUNPljVwpQRJdRNO4jPP36HrqhGarCNZD6PLIGAiGEYyIqEpCrk0hmwRRzB4cbLLucPb79JS3sbQ8kEgm0RCIRwKRbxRA7bFpAci8qaavba/zAWffkJc6dtx0FHHcWMabMBuPb6GykrLWJ0XTU7z9vn2zmhC6gGEsCPrWOdTQ/h9f99cXq33HQ9v77okh+5R/8YPnz5LibPmElp/ez/1XYHOls47PBDKS0s4LlXPmDugoPwShAoKiEx1Elv1zZm7rQHiz76iIye566br+H8cy9AEERQJTIZbVgeQYCetoFv6/34nZd4+bFHyFkxovEcW7siDKbS6LqJ4pJIpfLsuN0M6kscJEHGllw8+OzHlFYP6zUNdEX+WJPFX0pBdvrPD8c2DAYiQ7z+h4W8//LjGDgEQj52mXfYP3nk/n7MmTMK3bA55eADuOf5F4jHUpiGzovPLebo4+fS0Z7gsMPm8cXir7AMk8GB/P8dQtXZ2cmMGTP44IMPmDx5WAn7vxKqPxGfI488kmefffbb4w444AB8Ph/PPffcX23jtNNOY/Hixaxdu/bbsj/Vu3jxYrbffvtvy6+77jqeeuopNm3a9IN1/TMsVP8dr7y7mEdvOpshw6SluYXIYBavT2DfnXfj/S8/YZcddmLVpnWUVoYJGAIz68vpiSWJ5k0SehZRVnASBi63Qj6vU1ZVTUd7D+l8mobSYvK2gOFY9Awm6I/FcOzhS68objyqQi6fQzcMFJcLPa+D4CC5XKiKgmZYhIMB9GyegF/B0i2SuRzFBUEaKgpZtrkdn8eHIDqokoIsCZiWQcjlAQk6hhLUlYZpG4wytqyE6rIClm/owOf10B9PE/Z58BWGyGQNhhJJbFvD71Gp9PvxelVcksLqbd0E/QEGowlUl0BTWRmVxWE+XrkJxSWgGxaWA25FoqIkTHcsheKI6JaDKAwnInWJEoIgEXArCI5IUsujOxYzR9XT1jFIKp8jb9uYlknA4yZcECSkejls7jQeeusr4uk0lu4QdgkkDJ2wR0YzHDRNw18QBGc4m3kqmyOX0XEkifqiAhAcdNNgIJ5Esix0UURyQLcsasIhMrqBIwgk0lm8LgVFdZHIZDEcB9URMQSb8ePLESUZM6ERCIRw7BxbOobwlPmIbYsR8LuIxfNMnNBAT08MM6cTCHsZcvLIksjEijo2DnVR6/ORdExKZD898QiGbSOIItWSh2+6I4T9XhRVJBpPkUlrgENxgQ+P24UlOVS63ERVEV0z0ckzylfEloEo8ViGmtrwsOaNZjOxvgrNceiP5KkKQ2t/nJSdR0sZOLnhNsPFHlRBIBAoxFsos2RJB/UVJdiiQVNtCZ8tayebzBLw+/DWudAsDd2wcCsuivIKGd1g+oSRNHndNEcjtMRiWKaFk7CYPLaOwXSO5mwvYTXE1tU92JKDA4g4jG2qoLMjTtrKkc8ZFPq9WI7KNZecR/Oy9xBFmfaBCO8uXotbVhnRUMP6lhYcC3594s+44ZFncUTABtsGWXIAB0eAk+fvSdQUeefDL1A9IqlkElEUMG0DWVSoLKugd6CHkoIweVMnHk1RVTOScMjFrjvtQkmZH4UQAX8R8w88gOLSsm/nic83xNllXJg88Je8n/4S/ufFwP/g78HGlk001paj/pWkwtfddB2Dg20MmTbffPIVpp6noqCQzv5ujLyFx+ceFsfVNbbF44iSiEeWmDVzJ9ZsXMvoykoO/9khLPr4HbojA6RTecqKvVg2fLF2K1W+AC3RKD7VhW7Z/PqkczjokN0491e/ZG3LNnTT4qzjT+S6W+/+Tr+eePw+dt9uLtXjx1BZ4cUlujDtPC3runEXFXHsCYfy1OMvc9Hph7LdtO049NSLfuQRHNa7+nuRiPfwh/c/4IYrr8Af9LB06SbqGwoxDBNJyHP+ORfy1gfv8vGHK7jsmuu485bfIoiQSvz4ufz+ZRbhFStWMDAwwPTp05FlGVmW+fzzz7nrrruQZZmioiJkWWbcuO/mpRs7duz/GOX3J2SzWZ5//nlOOeWU75QXFxcjSRJ9fX3fKR8YGKCsrIy/BFVVCQaD3/n8o/ivTPbmm2/jqUdv5e3PvqG4tAZRkSkocnPeGcezcOUiZBlE0aQ6FESNZDGzORZvaKerL07KzKPFdIxIFssFBd4ApuOwrbObgqIQJaEwc3fbCQcRy7ApCbjZe+4kZs4ewYzRtTSUhQh6FARxOJ2H4Dg4joMoSli6jqlbeBSZVCpLSWGYrG5jChYWNrFUBm8ggFdRKfF5MTWdgKqS1y0sW6a6pIDycJAJVaXUFhfSVFxKbyTFB8tayZjQO5REdrlxySIhBQrCPkZVlaG4JDyKj9bBKKlkjrDbjWU5FHl9hDw+gm4PiWyWzb2DKKoECFQWF1BREMSrqnRH4tiORFHYT9DvJuBRKA8HcQRwyzK6bpDMZZkyspopY+owRIcRY8spKg6zx6QmxtZXUBEKEgr58Ba7+aZ9ANm20U2bPBqaKCIIMjlbpj+WIZ7V0ZI5NM2idzBJOmtg2lDgVumMRIklsmi6hVuW0RDwKgpel4wsOeiOTcCjEvaoBD0uUobOQDSJZVu4ZBnTMVFlif7OFM3re9BMm6FIlG29CWREBtsSaLqNK+ChtrGEsoJymqrLoESmoihMeSiIqkBPtI96t49RNU2YOYN0JE7AciGgIAkSxbUNuASHaCJGd3eMmrIwZYUegh4PRt4ikzVxROi0DTL5FKZpELAVBNnP+OJyyqqC5HIm0YyG5Ni0DsWJDqaJ5YdY1TtIwOPHjFqgSeS8DmJIImUZjKwfwVAkxedf9VFbUUY6rWNoHt7/qh1BEpk2oY7amgBVpoqdNfHJMoXGMC0oCQdp7+rj3Y3NrOnsxc5YyMhU1xag52Kk0xmmllTTvrEHlyJTHQ7iWBbFQRXVI3HYATsxbWwlsmSTzKVIZSNMmzKFt7/cyBsL16DaFmGfh6yZJ+DW2Gt6E0fuPoVF3yzl6N23o1j1IziAbWLbDrppY+kOdzzxB/YZX8/Apo/IpFIEAx5EBK6/5AbcXj+dvR3Ylknv4CCWnmP+zrvz5ksv8dBDT3H9jXdz/vk3MH3qRB58+DauvPKXDGc3GMYu48IA/D1xSv+2ZCrx5L+6B38RY5vG/EUydd/913/7/dKLLuXOWx+mJq3x4F03oYoOsiqSiCVIZBMU+f0MRSJkcnlcgCo5ILpZumo56VSWw47/BetWL8cXdhH0uWisqqbMH2ZsRTUn7DGDjqE4oiDgCCK2aXHH479nn0MOZ+dp4zhj/s4U+1Xefvddrr7oNI45aB6Tx9VRX13MtLHT+cUlp7LT7Kn09GYxzAzvf/wlqaEEAE89/jIAy9etZ+XaNQBsbl7L33cH/hAUFv/h8f9WluDjjx5l2OPvu2gZ3MAzz93y7e+0JfLI/Xcgig5Llw4bRBxLx9Q1aurGcvWN17Nh/Xp6eyw++eQ9BEnGtH+krv83/MssVKlUio6Oju+UnXjiiYwZM4aLLrqICRMmsMMOOzBixIjvOKUfdNBBeDye71itfgiPP/44p59+Ot3d3RQVFX1n26xZs5g+fTr33vvn6Ixx48Zx4IEH/kuc0tds2shHLz2HUVTBRWeeweTp4+np7kAzdUIFYbR0msaKCkK+EJGeDtyqG82wcfs8lAZ8uFWF3mQOb0AmZ5hU+4I0dw8xFMtSVRwk6PWxLZrC45JRZJuUbGJgISAyvaSMtc095E0T0+UloEJX7xC246BKEqbjkMwauFU32XwGy7RAcHC7vYwoK8KrKhSVFDFjdAXLN26lKOynrz+KX3VTGAqQSuWxcAgEPGxu7SKWSNM+lMYRHCRRRBAlFFmkvjRMgddDR8YgYxikkwmwbLyqgoPNhLpKEhmNSEZjMJ5gfEUx0WyekCJhSQoODpFkmkQuh+xSQHIhiSrTRpawfE0bsyfVEY+lyRgGVeVFtLT3kspoyAi4PApZzSRnGBi6iaKIzBnfhCoJCKqCJAt090WRHYGNPUOEVRXNsgj6VLxhFUyRgcEkhmWj6TKGaWGZGm4XSIqIT5ZwywqG5VBTGiaV10lkcwQVBRuBnK4hOQJJQyfgUdF1i4yloZsWPmXYR8y0bbBsDNPC63UhigKVxcVEowkkt4cR1SG64wls28KQBdyCRElxESW2xUBeQxRVLMFAEGS0dA7BLTCYzlAWLqJvcBBbBAUFK2GSNQwEycTSRcqKA7hcEplcjlTWoLG6hM1buvFUuNl75Eh6kjlWdHZR6lZxFIVMMk1RcSGqI5LIZsjLFi7LQUUmEksjBCUEW0J2y+iCxczaUby3aB11FTX06WkKkUjEk2BbBEI+HNvBzCUoLSmmLFRAyk6A6saNiJzTiNo2GhoBVGRRRFRkhpJJEkmNg3ebw9K2zQR9CksWtSNKAqpiE03mcblljKxBQdjHUDKNIIKpmzjYiILIATuMpQ+dgC3idrmIJnJ0dEWJJBPggGM5zJ7QhMft5dNVa7EsC0EUGFVfz7pNW6koKmIwHiFcUkhf9yAuF9iODaKAR3bR3d7Kub++mnfeepF4Mjo8EVgCPq+X8uJCbElk6sSZPPb0i3z0+oPsseDUf2iO+Q/+tdi4ciFjp+4MwJ57ziLRlyBYUU7rlvVohk0qkaSqppaunh5ciojq9uFRPKTNHKrsIWtkqSgrZ+bkabzz4bu89/rzXHvpRRiaTVnAhYDNq19twK0qpPMKhpFBlEQOnjMWSzfw+rx4JagI+cmaUDp+F55+/hlEUaCrs5WJk8ajpOIsbu7g0ksu56577qRrW4R5u23PS/c9wPi5cwkXBogNDtCybVgU+qjjD+XZJ17+u8ekp+trKqtncsh+2+Hxe0jFUgQLglimTUfHNkaPGoO7oIApjSPZaZ+DKS5R+OTzTeyz5x4EA2EeeuR69ttlLh99/gWvv/Uea9evpbm5DfBTUeHD63aT1XJksjma6sdy5gWncu7Z5yMAjgXZzI9vofqXO6X/V/zXJT+A1157jcMPP5x77rnnWx+q8847j88++4wdd9wRgOOOO46qqqrvEaGddtqJqqoqnn/++e+18yfZhPvvv/9bh/WHHnqI9evXU1dX9739fwj/DKX0Cy64kNtuu5mps6aRiPRz+EEHs2bTRpatWsFDd97B2edfwFAkyvYTRqNlteHwWsfGLQgUhXyECoM0t/agOeCYNpKsMG3KaHqTURzDZrAvjqoKGA7Y2DguCWybsM+P2+2hOzGEZRqUKyV8tX4DLkFBty3SmoEsiliWhWMPK31LssSEkdXIokJ1eQkewaSlfQDdMmgoL8UfcKPKIq29g5SHQ6SzOhvbexAlAd00GUpmMYEpDbWs39ZFid+Pz+tm9JgGFq1rZ2hgCAGLoFfBsAR0x8Ef8GGbFm7ANG0URUEULQzDJpHNISFRXVGIS3STMiziiTgVJT5ESyTsddEViWEBXlmiuCKMaEBS09FtA1EQsTQL2S3iEdwkjDyBAh96XiPgDZCPJEkm8ziSSF43yWp53JKCIoMgCMiyRCRr4vWppLNZfKKAadvohkEo6EewbXyKiqwMRwemTZuQKGLYJrYgkNMMbCxShokHCVmRME0Lx4FwgYecbhOJpwi7PUTSaQI+NwGPG0M3yVkOKg7eEg+yKJOxdUYXVVI/chxtbc0s6dlMqTdIuS9MNplEdyxygo0bESybuooyeqIxdp04hU9Wr2KoJ4koiNiyg1dQsSWbooogqWgGWRCIxdKoRW6KQ0EyKR0kG1sWCZsyQ7kUfsmLp9TPYO8QiiLiiBaCI6KnNNxhH24RsppMTVUFm1o6CBcWkE1kMIwMmbRFOKiSt2wqS0LktRw+xUPMzFDmKcVlJYjnTVKWzF47z6KtvZlYJEYmmSJQGGJKQy2LmtsYUVvL6+8tRpABQUQSBETBwdZNQgE3Q2kNwQIHC0kcHn+f20Xe1BHE4RyENUE/WcuhfyiG4JKYMboav8/L5PpyHn1jCXnBZvqYRvbZ/0j0gQ1cdMXNEKzk2JNP5YN338S2sghuCVM38Ll92JJEPpXFAoxcGlkWqSmvoLO7D6/PQ7AoiJbO4vO7OfKIo1n51SKOOuJ4Djl6WALh5Rd+z6GHn/1X55F8IsGri1Zx1L7DfqbLorBdIUQNk0Ll39ZG9W+B1uXvMGLGvkCW+KothKdM/s72j9/+A5FMH7+86FfMnjyTsfWjefbtN4gmopx72oW89MaLZLQUBaqPA/dfwJXX3cDk8U0U+V3kTJ31nUMoLgFbc4gNxgHYd4/ZbGrZxoJZI3j0s1WYtogoOqAbnPmzucQzGbLRFOO2m03PhjXYjkhtVQlW5Wh+d+ddjG6cQM9QK5GBIQwLbB3yBpx+xr68/uanmHkDfyhEXV0jZeEAY8aP46QTT6GqvBjRU/V3jJIGeh+tfYOMqJ3BTbf8ijVfLeWZVxZy141n0Nbazg7zDuVnh53In/y8TjlxXw4+5mQ+X7yEHceMYf+fncLOO09i4cJhi9kJpx/FHZc9QkHVcPzqTrtMYe3q1QA4Nrz24XMcs+AY4mlreMlfhGzy/2eECuDRRx/lhhtuoKuri9GjR3PVVVdx4IEHfueY+vp6Hn/88W/LmpubGT16NB988AHz5v1wouF7772Xm2++md7eXiZMmMAdd9zBzjvv/Df39ccmVM+/+AgLDt4Pt1zGr375c7qTCks/fws16CbS308+ayLLMiVeiaxuM6K8lIqiAroH4+R1g3gqS1CVSeY1qiuLqKioQjA0lq7dyuRR9WQVDVGScBkCsVyeTD5L3rLAJVHgdmObJh7VjUdRadvaQyqbp2ZUIT7Rx9ZtPQxFslgm6PZw+hSXR0WRBbYbPx4zn2G3meNZvnwjHZEEDWVFGIaBbokUhb309kfQLYdoOge2g4ONblmMrK9GcglsbetDlSVKCoO0xnUCAR/RwX4ELIpVLz63woaeKA4ioiSw89g6vt7SRonXx0Amg64ZZG0TWZCQRReOYOHxu3AE0DI5igMBLMtGESBl2NimSVF1CEcUKJN9OJKBYdnIksxQNEO4IIzX6yWdTyOYBpZpo8oylgOS4zAYSRHLZplYU4kkirQNRMnkNCwUcloWQbaRHAEBAcUREV3DxMUShpf6XLKIgEAym6OqoIC+ZIKgRyWSzhHwudEMA90wyRsmkiMSdKt4gyrjRlSztb0fxRcg66RxaQ6DiSxuSUQpcOOYJhnDxC1LBESFnGOCJFBWUklKi5PIZcGwMR2LrGNQ7y4knc2RwEKwLVRRZmR5A1u72wj6vQz2JygIeKirLyaX0Ig5FmgGPrWQb1ato35ECZpok8ublKoeMrbOjDFT6BzsozvSQ124lN5IBMMQKK8N0TkQQTZtQj4vC3bbnVufeBXFHUA0TEKqTCaXxZEc6srD5LMWmmRioeFW3FRV1SBn0pxz/gVce+fvmTlmHIuXLELHwSOLKI5Ix0CCrJlnxuSxfLF8HdmMhiA52LaAyPCfjOkcFNZeAAD58ElEQVQ4GPbw0qviknGLCtl8joyWxy3LFPo82KZDfzqFT3WTM3UEASzLpjwQIBQI0DUYRfa5ESQIeQtZv24jf8qz+eQnbTx4ywU0r1mILA1HIwqSiqC6kS0T1V9Gqr8Dxa2SSEeQEcjlMwiWgCQ5jB41Ao9XAUGkvXUbHq+PS84/kyNPGXb2blu+kIYZf2WeanmXW575lF9fcfM/PC/9B38PNIYTyv8w9jlgd95982NGjR9FMhFHchwEBTyCi7yts++ee7Jo4WJ8HpWlq/7k05unYeIYMtEMpUE38UyOkDdAPJ2gNOhjxoQxvLnwKzTDwQZsx8LUTTyyyH4zx/PW8o04toMl2DSWVzAQS3DB0Yfy7qKFbN42QGO5n9+cezmHnXsabtmF4YBX9dLbE+OUU05h2dKPyaaz3PfI7Sz7fDWyx0E3BERT5OKrbvx/Gp1jjppL88bNfL2yh1NO3JvPP/uCLW2Zb7e/9OgNDKVTvPP2Z5RWFHPpry+ncfwM/pTY6MQj96UvEefddxYP13fALvz8N5fx+YtP88Qbb1JSUoQgyjgOjKoZyY6TJ/Dbu24llTPAgimTxrJyw0a09P9xQvXvhH9WLr9PFy3h9hsuJZ3NMZTQKSr2cc65V3Dmqcdg2nkKC0OcevB+9LZsJq/lWNXSj+zyYgg2smVQU1fPUKKfqpJK2mPdSDGdroEEoydUkU3mUQIu+iJx3KKMrpuMqiijN5airDjE0ECSZDKLhoMsilRUhkhlc9iiRS6dw9EUOnoHcbkUSoNBTGz8Lon6khJahoYYWVbEmDFNfPj5chRJJBwOEI+nMRBAlEgk4jQ0VWE4w/nkOtsGSed1Qn4P2A6NjfV8tq4dO59D03NUF4dIpLLoloXkUbF0G83QcUkCpX43A8kcoYAXryTTE09g2SLhsAdRFnHyDoIkEHTJ4NhkTBsJyOgaqksm6PIQrAqg2zqq7ME2DApEL9FEkrhskbc0bMGh0ldEPJGg0h/AdmxUl8zmtl4EZBRJwKO6sC2DtGaSs8EybRzJYlR1KS2dvdiWg9+lkjIMwh43lmGjyCKmY+ORFRRJQLcsPB43A/EEIsOq5n6vF8kvkTMsbMOkpCCA7bIJCR4UxceaNZvx+D34XTLbBhI0VhcTT2ZxFcokcwZel8I5hx5GWzTO18tWEhBMhows1f4iNsV68AgqedNAUSQkt0IilSVn6owqrqUv0YvmOLhMkXDAx9bWfhxbQJYkdp47nbaODgbNJIWGm+6+KIZpUzEijGYKOLaBbthU+X0EPX7WdnfhlxXcgptINEZReQCf201JcQlfrmjB73GhIpLI5aipLESXbEoDPiKxFOgWpuBQUFCCItnMbGzg3TVrCPhk6spq0ONZovksg8kUI6oqGUzZxIci9PV3IgkCWc3G7ZMxbRvbtLB0AWQRr0chlRpWUbdsB8PQCXoVsrpJyCWjWwI5TceyLWxbAFnAsYYTSuM4uFwimmkPK/QjIEsKHpdE/diZbF23giMPns8tv3vw22f6oksv4+kn78cwDbweF4FAkPraOpYs+oJwUS11NfV09mzG5Vbobu+gvr6OWCTCmy+8yZ333cGj9zwAwe/7dy764AnCoWLGz5r/vW33//4mTj/tV6AMv+G/8O4XTGqoZeyYv80C/x/8A9DbcMghuMb94GaHGPX1jcQTabw+P1o2g+kIiALgiDRV13LZFb/m0WdeZnpI4PLH3wWguLIYQZBQXDLTaoqZNnESG5o34FJEwgUlxPIaiijwxidfYVoGggCSOBx0pJsmblXB6/WAoBBW3ZSVlbC1bxuDQzkkM09kKM2Ou+/A4LZuoolBBgeyAJz5y+PwOT7e+/htRjWNwzDydG3roqqygjOOOY59j/6+iOx/R9umTTSMGcO0iVW89+7HPPbYLVx02SOccephrP9qCbN3ncXNd313+fC8kw9iKKfx+DOvcspRB1NWXUs2n2Dlmg3UVpTy7PMfAnDQfruybNUKPl+0lB1mTkVwXMzafjqGaZIzTCorGti4/BM2tA8gSwKO4GBaoP9fX/L7d8I/i1CdduxhLF+9jIRmMNA/wNx9ZtMXsUgOpvB5HMKhcgxjgJaNXcybPgHR1onlBTxuF4PRKIOxBHJIIS2YTCiuJ29liHbHSWV1XJKIYVi4yt0Ijog5lMPrUcnrJnWjq0lns+QG0uiGybgR5Xy2th1VdgiVehnqTuEgMq2hgs6hOP3JLH5VZmJjFZYj4ldcxLN5clmNyuIAiVyeWCpNeXERvX1xLBx020bL6xiWgW46+FUXNg4502QgmqZhRA25XBaPA9FUlvKSALmcgSzK/x97/xlvWVVm++PfldfaOZ2cKucqKKqIkiWJAUURUFTaNivmhJizrbYBtdHWhhYUBVFRQEGQHKooqJyrTp0cd04rr/l/cWy7/fUN3X31/r33Mt7ttec557Pm3mesMZ/5zDEYLtZRlIjBfJqMptMKAup2m5hlEtg+xVYbRZIJDJV2zVmwKVAk8ukYRCotp42l6XTkEvh+gNUZJySiYCXYf2gCRZZo2h5e6LNyoJ/R2Vn0uI5iyfRZacbHiiiyQj2wSagGchTRN9jBkWNFgjBAlWVicQtdU5lrVFnUk8cWIYYsEWkqqVDipLVrmS0V2T85iSHrtN0W86U2hXScYqVOImGiCGiGEemkha9EZGNp/NCmMtfAscGyTHq7s4Smz/anj9KdTZLIxZGVCDOeRm47aKbC7HwN3TCQhCAUgp50mnpbUIsatG0HWcBAIYOkq5SrNfLJPO2wjRsITlq2lm2Hd6PKKm7k4gURfsWnuyODHfPpTXczfGwWESzkhFVrbURKIh+LUW06iChA0Q1ShGjCQIkJAl+mEbRJWQlcWyaV0JiermBZSex2A9sNSKfiVBoNkgWDvGySyRZYtKSPXc/sxlZ8LjnnVG79/VN0xmKU3ToEEpIqIYWCxd2LGehI8/PfPk6l2aI7n8aNFHRN4eTVi9g/MkO9FeL4Nprkc+rxi3ng6cM4nouu6EQ+nLBsgJHZOWbabeRQIkJCM2VkxSCe6sFuziGFPp4v0NWAMAxQFQ0hFvra+js6qNWarOnNkk7FWd6bpysZ48BEkUNzLdKdXdz26zsxTR1FgrgZY/3GE3jkod+Tz+V4+ctfwZKeId7yvo+APw1az7/jh9/f/WPOfeGr/qc88sB9v6bdrvPil776j9eO7ryXu363g3e9/899Sus5/Gfxogs3s2XXPmRP4MsS5559IY9vfQLPBlmJSGQLLO0eYGJqnBPXL+Xm2+9ivORx6NmHueL1r6E7n2Zuvs5PbrueH33pawgjzrGpcYQUkDRS1CtVnjwwRiKWwJcjFBQsQ8dzfNafcjIP/voenGqVF734bC656h188tp3sWnzyezasYVLLrmMQ9PD5DSVg8fGKU5PcdzatSxfNsSq405iZmqaX/3qFyxZMoRwI+pOgwcf2v7fvdco2sfHP/5J9u4e5cuf/wFjlWf44bdv5KZbH/rjmLFDT3PFK1/GEzsm/ofz9sCvbuL5L7mab331Y6iOw0ev/zrrVm7gpa+6is989MOcfe5ZmKGGp4Vkupex99Au8sU5Hjl4CFVTScd1+hcvJqzWeGLH+HOC6q8FfwlBdc/tN3LHr3/Jjj17qFVKBH7EG1/1Sv757jvRIyjXXSRZo+V4xHSLt112Mh/9u3/kkft+xy9u/RF7RuZZu3IlcmQzNT9HreWimgJ8KJeaGB0GI/tmyaaSzFZrpCwTU9XQdBVF1jAsFUKIWQZHxsdphhKO0yJEYJkqy7oHaDSqLOvtxHZ9Mok4ihA4QUBfIUvD8RidmscLQpphyNLeDBPzTfoKWVRgZLpEqd4CVYIwImVauFFIzDSo2g4NxyNuqqihIFJlkoZKux0w17YRSHQnLYY6crT8kOlymYRh4IUhmiwTCUHb91B1A8f1UCUJS1PQFZW67yCCiJiuEwYRA0u6OXxkippto8gSkSyhyzJOEC702YgIBRkJhYJl0nBdVFVBAewgxNIU3nrJacRNnacPFtmy7yAV22Xl8j4MofPs3mGWLc7Rarg4UYjkhizqyjIfOAgFIknGCKAzkwevxZHZCl3dndQaDXw7wIt8hC4RtQIC30dXdcIoIh23EDIoMQURLpTvw6pPJEm05QDTE2QHctRtG88LMCIZVVEI1ZBz1p3MgcNH8eQIxbSoOzWcVhM/EqxIddCcnie/bi2B4iCFLkeGp9DjGp7nEgmZqufQmYwzOVLFdT2WDPZi6BHzXouZIxUGBnPETINm5CFCcCotDMtEaAJPCEIilmZ7WbtmGc1ihXse3kUymyDyXVqOS0pXGBjqotX2Wbd0CT2GxsFyjZmpaVquDYogZpm0mj6LNz6Po9sfQggFy9TJJkzSHZ0kJY1ELGD/6Ay6qpDNpHjoqcM4UcTZG5fQmYrTdlwe3HaIouOjSRqSJEinNCpVH0WHtKWRUVTGmy1cEWLGk+iRwFAEth3gqwqBH6IAvvAQXoSiShi6zKmbT+LLn/8Ey1adzKFH7kJqVVj+gtcAUOgwyRTyBL5Ms9FAVSUueP7F/PCHP+Idb3ktv7jzZ/T3L6MeGLzo/Oejxzp495svoaNn2R/54Yc/vBkjnSQeeZx33gWYycy/kodXA10F4v9NbrnjV7/i5S95yZ+Fp57Dfx2vvOocbrvlQQCuu+5a/vGW7yz4Rbmw6bgTOHhoP5e85JX09RXYsGoJWx/bws6D+4mCODf+4GNccPGVjFdqrBzqZdfRMQxUmk6bU1YvxvXaFBJxZqtVUpkOduwfpumH5LIW9aqNJ0IsAd//xtd48ZWv550feA/f/PLX6O5YSNtot30kE4QsMTF8hFqjwYahfkbmSlSaNXwPVi7pZr5YRbYMcrk8Oiqnn7qZv//Wj/6b9/t3X/0Av7nzPj523bWce+EV/PCGr/Hat7znT8YsW1rgyJF5kKQ/XnvhxSdTKc8zPDpJX28f2XyGj73rg3zm+m9z3qlr+fAnbmD58g4yiQReAKmkyac//hXe+543k+voY+f+HXhhiBQpRKFP71A/leIsiqShK/Dtr3ydF1/5xucE1V8L/lIVqn+LmUaJmG5w5smnInyHpx+9l+u/cT1Kz3K+9fd/x0tOXIkVUzkyW2FysoGuqTRsF1NRMSyNasOmM21hmjJTzRYRIXbZQ5YkTE1FlWXqLQdZUTEMk3QhS9ZUaQUyLccmE9colecZm5zHB1zfY/XQEGlNo9xsMNCZQ5ElXDegpyNLw/UYn5yjGfiYskbLWXC8rrTahGGEmlIRskwYRSQsA8kL6ErnGB6dwk1qpHSNMIwoTzXJJCxkBA0/IBLgez7ZuEV3JoErBBnTpGW3iWVz7D14BEPXKddbqJqK7fnICqQNA0WRFypLnoPrB8hCwvUDVFVGUxeEWBCFxFUDJwrw/9B0n9BU2n5AQtOQVAVNSNSdNrqq40UhA/157NBHRaY+0ySdjaNmdSZG6ihSSE8uyfRcFScISBn6wtF6SSKejdHV1cnksRniMQMJiXbgkUmniMcNqvUq5XKLarNNNpUmY+iMF4t4bkQuFUNVJEIvJNeZZHamSiqlU6z6qBIMDfZyZGKCE5cNsm9qDkuWEUIi0CKSMYv5co1YLo7n+pwyuIJ5v4Xf9Gn6TYpOEzmSEUqEKav4YUhWUqi1QiJDsDSVI1HoYWTuGGlVQ9cMyi2fRrtBZb6BoWvku3IYMgRhSLXVoiYcZEVGjWR6C51YCZNjB4vUm02SiSS5pMbYfAU5jIgZMmuXLMFzbcbb85hCpTTXZvMJ65meGsMTEXFk7LhMrdoiMmSMQCJrxVB0ibiuU/c8ehIpKm6dbCxHvRGw88ghFAGGqhO3TCrVFvUoIJWyMFHxAkFMEzT9AEuWmWl6WLqGF0FfR5r5egPhRwR4+G2fb3/tet5z7XsIhEospmP7Lldc+gp+84uf00KwuHeApx7fyt++7/3486MQhIyPTvC317yNf7rlR0wNH8LzBPPleeLxGKqkkrB00otO4uYbb2RJbwoVuOlbX+bqd3yAp57ZzSmb1v8vc8kTj9zMaWe+5k+uFV0o/PdbfZ7DfxJPPHwHp5318j++vu/uX+JUirzkqjdw9atfxHkXvoRDo/N8+mPX8bFr38kjT21h7569JPMp7LpDrjeB7bh85bqvsXXL47z79W+lZ+Uy3vf2qynPTnPjr/81xWPzyeu49MVXcP33vovrNzn/+KWEJCmWJ9EUCUmWODxWoRFa5C2J6WoJEYbEzDiSFOKFAZvXLKPUcHlm2x4Axg7t5O+v/yoj+4bZfWg/lWaDuGlQrjfZv2MvP7v757zwZVdywWknkC90EgQeiwf7mCtXWLdhE8uW9vKhD/9r397VLzudUy96CW9+8wfZu2cba9dt/ndztmxxnlKljCpBzDIZnarwlsteQExRufl3D5HJ5JkvzTM40E+91sBMxiGMOPGENTz02NNIvs8lV7yRvc88wZ79u8lbJjXXY3BgMUeHj+CLiMD3CQKQVNBUiWw8zurBHu596vBzguqvBX9uQfX0tl1sf+wedhw5yJ5dO5keH8EOF7xtOrMdjE3XSSU1kskE7cCn1Wqwcc0GVuZS/OzxXZiWhu8JVvXlCLyAuheiRAGdhQxzlQp+FDE+X6I7k6LRsMl2xbGLNugaWiTIJpPUQoV0Jk1fNs5ktU3cVAiIiEsRQpbQ9TbF8QZz9QZLujtI5TIEHiAvNPuFoY8USiTjBsemi0QixIrHUUTEtNsGBLYCiZZBvjtFyakjSxJhycPMWWgyBJEgHjPx7QhN0pgqzhJ6CsJ3iJkamrbQdyRLCvVmC0nREFFIpdnCDoKFqA8hoasSrhdgxAyShk42GefwXJEwCoGFMVEYEAhBJECXFCxdoRH4KDIkVANJklEVaDk+iiLhiRBJSKiyhKVrNNouMVVj2ZJOpmdqbFy7hO3DM7TaTfrzKaZbdToTCSQUpieKCw70ksRrLtzILfftRCKi3HboSiaJZXQSuo5TaePGdIQHku+BYdJqNlm3YoDZuQphFLF+w0qW9XZz14OP0GyGyEkFt+HQbLv05TNU6m26+wdYvWI55YP7idJp/GaduXaTUIFW24ZQpZDLMV6dhCAiq5tYsQz5zk6OjB4ha8QIoxatQOC53kI1kojIt1g/UCBUoBbKTMyMgyqjCUG57ZOINHzJY9ZpEtd0vChgZf8KnFaZg8MznHLCEgIpoDzXRkgQ7wyRSXLg6WnkbERtxub444aIdXQgNwTTpSkCO8DUVQgi1JiMF0jEFQVZlVixaCWV2gxHRovMVBdCl886fimRkHDbNrOqw+HdZTQtIlJ1JCCmyySMGLVam55cjJ5CGlmBbcNTdCfyWOk4M/MupbBOh55i+aI4z4xMobgCN/Apjk1x800/4EOf+RTr121g/76DLFq1Dq86yd2PbuW41YP0FYYoz47hyzKDfWtpR1Was3MoaoJ8d4bZY4c5eHic9737XYyM7WLvrv0gS3z+U1/i2Ogo7/vwx9j6zH5O2rQQZjzpQN9/wsXzYBNW/vtc3ufwvw1tIPbffOfqt7yMfc8eIUIwNj5CGIRk0hk685089NBWPvCBa7j/oftZu3odt9/+Kz78tjcyPj3Gi170Iq7822sA+PlXPsLXbv81KzecyM9+/Ut+9N2b+cTH38fKgQJVu4Yky+hI3L9rmDCIUCQJQ1bRLJ1CLs/Y9AQdmTyHDxxj9xM/Yf1pVwDw22++n0//9F5Gjg4ThIIgiJAViVwyxaFjs+Q742iSRCqVplGvke/Mc9LmU9lzYD89HVnu/NVDf3qzdgjWQh/fNW+8nKPj48zOTlKpVGi3PWzPJR1P0HZdFndm6OjroCMIqWtpHtiylUQsgRsuLIRlFTp7ljA7PcLZp5zKDTf+mI3Hr0NXFSrVOpYuc9NnP8cv77uLH9/3MH4YIGRBOhaHIOSV553IVLFMZzbJnO3w0189+5yg+mvBn01QOTUw/32AxFWvfRmf+sK3OP+sMwj8FkpcBVnita+7ht2HdrFv527qtSaWFCOdNZiaq9GVShA3FKRIcKzaIBNLE8kq2VSSsbFRwijkkrNP4pntO3E9D0WCmGHRbLXo6+ti54ERMgmTXDrB0sFODpUkkgmNfC5OPKYTIJGSLVrVGfzAR3g+aiyF3XJQ5YCYpjA+MUvLdUCSEGmDwPfRdAPLMIk5IVZvB/tHh0nIOnFToaAlKLltxsZK5LtSNDyHMIrIqDoBId35ApNTJWzbI5a0kEOBp4U05mxMQ6Mzn0JSoFG3abUczLRJs2YThj6uH6LrGqEfoeoKtVabdDpJud7AkBesCXoKXRyZGMOUVEJJQCSIGSqhJ/BDn8hQiKs6fuCjKgpBsHCaMJGLIbVDVEUiphnUIpdCPkvdt5mbrpIyTTqycZKmTsVzac018GQZXZZwgwjH8elIWdSaHtmuOK4QCwHLCOYbLWJCxXd94vkYSGCHAY7wCdshiVClM5PkUKPEQCyNp6tUimUUU2Vuok42a7JhWR+9nb0cOTCMKUt09Q2yb3SC/u5BAsVlqCvLTDmkVR1nvNKiJarowiSUPWKKSiaTo910aHo2L1q7kb355Uz/9jYGhvJsPP54fvzb+4gbJk3HRZEWQl3NjEm5XiOmqjj+Qu9bTliEeoQT+bRqAfEekw4lTneug8OjUzheQKVcI542kBWJDd3LWZpR2DJeoi5sGnYbRZJIxQ3abQc9jOjpSDJTCejszCCLgPlKm7br0pu3WNbfx7MHx1BlmZbtMlNqIxEhIqi6DmnTQgoiVFNlMJukpz9DVy7P7Q89Qzpuoskmuqoy6jQ5bcMGRChhppcyXx9h91Nb0RMJPLtNSpEJYwaaovH21/8tE6PH2DJWYWZ4D3EjxeOPP8glL38R44dGUU0V1Q9QJJmx8jRd2U5279jDquNWkkxoWEaM086+mPNP2cySjRewuENn9OAehlau+y9RSjOEhAJHJsrcc9stvPO976RenieV6/iv89Rz+A/jQx9+MV/69A3QMjj/yrN53WtezVWvvvZPxrz6dRdTnCwyW5nDbodc9sLLufHnNzI5XOK9176TPU88yuRskWXLFnHnXY/y6Wvfw/zcLNf/4F/9F9evWkHFaRHTJS6/6m8YO7SbX/3mAU5ZN0DbDkjHdHxJ4fE9I6iagmdH6IaMosqEYQARzOw9gF7o/nf38Lb3vZn77riLl1z0fDw0bv/ZT4gkQRgFBELCAGRNIZnO8par/obv3vLPrFyzkrt+ef//cG42bVrOwMqV7Hl6O4oacNUVb8H2yzz22BM88tAzrF7bTU7PseqEVRzYtZvZUov5yiyRgNNOOpVSsczw2BiyAlEYkYwlKDeqnLFyMdlUjEAIOnMpyuU6Nd8laPuosSS7Dx0lm4yxdGkHukjw3Z/e+xfZYXpOUP0X8eeuUBWnh/nJrT/n/Befwsi+cY7MzHD33bcxU2zx85/9hCtf/TesWrGMPbv2o+s68xWbRr3CCSedwu5dTxNGIZpkcP6mFdy/YwI1Ece0Uhy3sp8EMrtHxpifbaIYHm6jhdNuoYURL3nB89m+cyurFi9hx74DCEklm0iQz8SoNX3KbhUZk0JnHx2FHJqRIpHqIKlVmBmbwjQsJEOnVqnQrs8DgqmZMm3fRoqpNCUf4YsFi+ZIQhICTVexQgUrFoMgxPMD8rE4k7NV4jkdJYjQDYOm5xGFEZIiowuFmXaLpKqiGiq+iNCETMN2OWFgEbtmRkGVUQUsTaYpeR6mkJioN4jCEFVTkAC3FVFqVFGVhRNbQRiStkxcP0RFJoxCJCQEC0aMqiwjNIWh/iyOH5DSLZq+QwsfUzMpNurIYURSM4lZBl7dw0jrZM04wyPThGLBRE5WINaRIPR8FEnGkwK8kodlafhRgO8LJEMhUiJCV6DoMknLwFJ0li9fwWM7tuG2IrJpg85MjGotQEloBMD0kXmWDHXgSyGapeI0WtiuTzaZIERgCp18JoWuxpBCgWqaPHtkN5EUESHQZBVFUVB1BQ0Jx/PQFIX+eJI9c/MEEgwkU4S6wsR8CVWVyekpers72D82Bq7AUiRmwzZJy1zYZvR8zlqzgfFikWK1SKRE6IbGip5+RicnCQJBKEnEDQVD06jbDpYEy/Nd1EScmWYZr9agJbv0d/ZQqRYJg4i67TDU2cV0qUh3Okmx1kCTFUxDp1yyiQBDk8j2JDl8aJ7uVAxQGS+W0TQJN4SYbnL2pmVIYUgoJH737Aire1IYUsgzIyX0hEbSzGC3bU47aSW33HoXK1cvxVQ16o7L0IYL2bh2Jfc/ch+NShPZrXLtZ77EGy+7mGPAO95wDbnObp6+72dEjkz/khWsXtvNr+78FW67TleygzNPOZN2GHDjP32f173mMkaOHKJvYBEXX3glp158Ckt7Fv2XueTOmz/HJa+57n+Zk57D/yJq05Du4erLz2VyfpZ6tcmWZxfMrK/7wDU8/MgDvOINb+LO2+6kK63z0BNPoWiCydE6AJtOWM4zzx7mune/jc99/TuAx9v+5kq+c+MdAKxdu4ykEnHO8YvQdY2v/+opAt9nqLODjpTBuqEunjhSYbJUQoiQIBREoUs2Eef1l13B12/6Z5IxjdFjs2w6fjk3fOr9vOOz32TL03sByOQslgws9GYVq2U8z6e7sxMrlaFWmSWfTpPrGGD/gT2MDs9w5ukbeOSxXX8yBdd/43N85/vfYf/uSZ558hGufvOrmJyY54Nv+zCf+9ZnkCOBYahIiobjuCjIxFI5KuV5Ljj3HO594EHipsrijgL7p+cwVR0vDFA1lSsvPI9qZRo/FCxfcQLbdjyC7fpokoQURpixGE/sPkIQCTJpi3M3biSh+7z9mo/xmW9+kR//7KHnBNVfC/5SPVSjo0cYHZ/k0N69fPfGH/Du17+aV7/pvQDMzB+ku2MlAI36CJe++i18+drP84LXvYLVSwY5MDKJLlTsUHD6iWsYTMdxmoLf7t7PmRuWsnXvIVZ25miGPm4Q0Sy20BSXjGUwW2tiaApGxiRqLlRjQsBxHfxQYvmiIQ6NzdDd18fixStJdnYTFx6iOcL4dIW24+O0qwSejYsEwsURErW2iwZoMQ05iGi7EYV8hma9geN7CCGhqDKWqhE2XEKhsKgvyWi9Sdo0kH3B0WaNkwf6mHY8mm6bhGFSKbcQmsT5i4Z4bGyKOAaxbIyR4vSCWWWhi/npWQJVBkVgewHluTp/TFuKBIa6YFCqqgpqKOF4AaoqkTQNZEnC8wPcMERVFay4TqiDJWsYcZ2i1yJyQgqqRWQqSL7OkqxBMZCZaZVQmh7JbBbLC3DxyUgqu+t1NAlkVaHpuYRKBJKEKiusHlhHvw5zgcvukSMsT+aZajcIRcDiwgDFxhwyKi3fhkjFwaFR9njtZS/j2Z1PM1msIGkKZghEIQgJNwwwdBVfCCQErhsgFIXLLryUHVsf48DsNFJOJyFMhjIZImBuvMxyxWWvoiAIaYkAGZmueJJau82JG85g9uhuZtoRmmTjKgFtO6RVaxEYC1YSuqYgpIiUiNOTy/J0a4wsOglVpzud4+jkLHFNwfEdejtyTE+WmJqvMzQ4hKnoFFIW8+VZVq1ciRPByMhhGm6Aqcn4gY+hGRAKIjli+cAAndksT+zZS7PRQhEaakLGLbs0O0BXdJCgeLCGLAmQVVzP5YyNS9mwso/pcot9+6fYMzGLqUsEoSBrWQhVwtRVAl8hRKJrsJdcbjFFW6U4tmXB/DNZYF3PYlL5fk4//3TuuOc+Dm+5Dysh0ypVaXkS77jmffzk1h+zdMMmDj79EIYW0opcXnHl+yiYBvgt1EwW0/V4y9tev/DV9OtUphzyQ53/faJozUM8zp9uKzX5zhc/xts+/DUA7rnjBh7dup2li7p5w1v/TbB7MA2qykIS4L/PUJvb/XM611/6nyev5/AHTFAs++x/egtj5Xk2bTqBG//+H3jw6ceYmJ7iRzfewQ3f+ypPbtvGC898ATuHD2JHIfPjUwtGv4QgIJHOcfKS5Txz5Ai5TJYtW3dx6qbjyaQTXPLat/L9r36RRMrgeSuSlOoeT+wfZXiqiqLKrB/s4eDkLI4nyBZSNFstBCEvOusiOrsL3PKT2wjwyadilKpNrnzpS3nfVZfzuvdeizBMpmZm2X5klJe/9AU8/fAjSKpCOm4yMjJHV0+GhBXj6PAUnX0Fero7SJgJVm5cw4nL1/DWd32IAzse4ju3/oRHHniM3sE+tj/1OCcft5kNp27iW9+6nsiL8LyQvv4BBhb1MHlkjKHFA+zdfxjXawMylplE1QRzxQq5mMnyjg7WL+ul4bokTZ3xVpsoEtSaDXLxBJEHtXqDqWoLy4oxVy3Sk06xdlEcOb2Cs4/byOuu+yzwl3t+Pyeo/ov4r3wgd/34BpZuXE+73eQnP/wRX/7GP/BvT+U8+ujD7Nqxm86OJC+8/Fze9KpreHTL45h6nBNOOYmnn3gKLabhuZDt6KPa8EjHDdJGxOb1m/jl77cRSFVisQIKAblFq5gbHcdrzUI7QJgSrXqTbCqLqkVEkYrntwiFxJrBbia9OUxFJUsGLWpTrjXx/Ag3CskYBsV6k2wmiR+qaIkU+VwPuayB5DXwXZdIFpTdFkcnx8gbCQQhoScICNFkjarTppDL4DV9NENGeAGRKlBVhZbroysKs6MVtKxGqEnkYjF8JwBZYGgayAIplNElhTm/RW9nntJslbrwkUMYLBTYNLCaR/Y9gyUp9CsaRxVvIY7GFmTicUozJUJZULYdUmaMTKeFLqv4fkhMaDSbLZxIkMmYSJEEmkQYRaDILEp3MV6dpxm5RCrYoU88UulPpVE0i7H5KeKqhu9ESAkFO/DJKHEMPY7ftjHiEiOtCt1hjBnZZSjXzVx5BiHAJkKVJHAFsbiOKSvM+zbJmEFPuovY9CyH5QC/GtDX0cHhxiQZxUJXdKZmq8QNnVQ+ThSFZOImEdBqe6gK+FFI0rLwnYiaa3Pq8WdwdGIHoqnSlc0wUh6l1PQxdA00iXqzSegLDFmlJxln5UAPz05MkUjEqNTr1BsOuqqStCzOOGEDU9Uaj//+GbIDaXRdI/B9+mJpqraPEwW0TY+CbEIkKIc2cd1i4vDsgsu6LnPqyuUU1Qa+Jzh5YCUHZo6weeU6jsw08Ow6s/UZ3CAko5t4YUAqZVBteMRVnaSmkrYM9s2X8EVETDYZG51lzapemr4g0AKW9Kzk2PwhasdqNP0IN/BI6iZnn7oSxw2wPY9Htx7E1PQFcW/piEDFTJhoWhxfCVGikOm5MvlCAUXSsRIKX/jHx3nfm59P5Et4TohKHSPywdDJp7oYmzmMHl/EBc/bxJoNpzA/O8Gh0Sm2P3E3K1au5viNm1jan6flqLzxDX/DrT+9kysvv4SDuw6xcsMKHn38Wc543glMDW/hwPQhbvrWLWw86TTe855P8OGPvpm5yQk+8omP4c+0WX3KuQD8w9c+wlvf83lu/9F3uOzVb+OKV5zFT267G+QEex75KevOvPyPfLP3/u8xPl/j9DPPJtF3Ivff9nXOe+W7/w1jRfz/Me71/3j84vvXc9rF5/HVr1zPhnXryGZyfPMH36ZaKtKZT5HIZ3ny948yMrFgannzrV/lpu/9mD0HDyFHCt/8zje57NLXApAfSBP5EEUBmqLghwt9n7IKZ21eS+i3kIWMkHXue3IXzz9uKdl0ip8/vptQRKwYKFBtBDQdD99zefcLT6PmxWk4FeYcm6DW4q7HdrB0sJvjjt/M8NFDzJbLfOjN7wIr5Nvfv5FzznweW7c+zeknn8uqjSfyhS9+lKHFi3HdAFXy2Hj8Zn77u7uQ5QV7HllZkBYffMeH+PTnP05IwI5DYywf6CFpmbQch0iAJGDlQCezdZtWrbVwTyetYu/ReaaLZbKpJBs6sziyzqblPSBLzDZsYprCbKWCjMz0bI09U1OAQs4wOfX4JcyVWizry1O1I97/oWvZfO5L+dyXv891H3gDv/jdvVx6wUXPCaq/FvxHBdUFZ6zjTR98K5vXnkhfoh+ts5f3vvO1bFi3mo3Hn8GqNUv50t99hbOffx5EIW0VHn/4fvqXreHOn97O1NQ0hUyG2WqF8nyLXDaG78s0vZBCTOV973k3bdvlpLNfyAev+wClakizVsF36oSehyQCvDAin1Ao13w0RWCacfzI5d2vOo+/v+VBZFkgHJfAdVg00MHZZ57C0zt3Y4qI+dBFKTu4nocnBLoCnrcQiZJOxPEiHSmXwcAjn5QQ6SVM7XmGroKFZOrM1mvYbR9fEwRhQF7ohBIE0UKjZCjBqnwXM3aDaquNLUVEJQ8/jMh0W0SSjBf66LJBy3FIGToKKg3PwdQ1+g2NA24T3xFoqoxHRN60MFyV4/s72FVsMufUOH5wgGPHpmlEbQIVJEJUXQYPJE+QjVsEfgiyRNPzCERI2koz16gQIEAWFJQEuVyG8UaRtFBYNtDPrtlRYrKC4/ms6V/EbLmOnMwzO3ME01cxLItCMkdH3GBb8TBaqNDGZ1Wsi7hi8lT5GC9cfzpb923HECq+JpiuVhHIGLpEhx7HslRKTRch+QRBREzRkFWDdtQidCIsy6DleGiSTHchwWy9ia7pmLJBrdHAk0MylobtBwwsP5WR/bvIGTE2blhDvVJi++EDSPKC13ejZaOo4MkRyzs6OXf9KkbGZtg9USSVz3JwahRd1TGkEEu3qLkOK9JZJkpNKr6Nrsi8/uKz2XPwGM8cnUYOBU3LJ6uraKikjBSHRibI9GXZuGgpu2cPQ9UnVGSW9fbgtgLK7RbLsl3sn5vnzPUruPuZLWRljalmm4Ju4EmCVugRBJCNWbQCl+5UhnK9iRRCs96m2fbwpRBdVhd673IaZiNkqlzD1EwCJ0LIIaaqEI/FKLdaBK6ErMmggG+7oMjEDINIEsiSgS98EtkEwnEZWj7IxpNP5ImHnyKOytjYMY4dmWDfzi1c8/6PsHffdvwgQtI0XnDGC1my7mS2736c/myMl73ilZSmp7jiqtcyMbmPKy5/NW9/7Rs4MDLCu97wRnJLVvD809ez/JRNiHKVsdEp+lcNcNlJZ/O1W35EpdTg9A2ncP6FL+LJnb/Gadt88Zu38sVPvp4Pf/KfAOgsSMwV/4Xabf7hBx9lbP8Et/7wNl5x9at43UteyvrTLwPgB9d/iL+95ksA3HbT53jl1ddhj/8ea+DcvySF/l+JeeCW71zPe9620Dx+ZN9jdBcWc9/DD7No5Uq++MkPs3vvbn74vX/gxLNexooVeU5cewJf/eTH6T7uDAA6uxL0FAqsWbaGW++8B4AvfPOTfPWLXyeSQA5lvNDjkgsv5qFHHiJuxfjgu9/Cb399O5ak8sun9nLGccvpSsaZb8Dj+/Zw4vNWoNV89o6UKFYqhL7Hir4epoo2P/z8e9ny6EOEyPx211Em5ubx/QjVkrn49As59ZxzGK2W+f3PbiWdynL37x5k8arFXHDqOWzduRXfDyjXi8RMAz/0QFUZPTBN70CGXE8vY4ePUp9ukelPQhTQ19PD6PgkqiwIIglZCC46ZR1Vu83YVJnjVw6S0Q36OrLsHJni988cwtA1zjhhGcVaC11XGMylmas30RQVXZMZHysyV2mwqLNAsdnmpOOWoIQSiWwnX/j+z3jei1/C6mWr+PJnP81LL38ZE3NNhp9+7DlB9deC/0yF6oUvOolzzjqf93/gc3z9y9fSbra44rK3c9evvs/xJ57OroMH2PrMAwx2LOGzf3cDABPTB+jvWcWrr3wxP7r11wA88OgjPP+MM7np+9/hocef4KYbb+HKV7+cRmiya+tTvObqq/nuP/wDA3kDL4iYKTcAMA0NQ1doOxGqprBpzRAxwyJpqky22syO1VCNCF01CNMRPbLFgVIZXZNIoOIGEav7+9mz/yipTILiTBVL18gOpHArAZ4bMNSVYne1SDIQdPcNUEjkabSmODxbQdUjlg92Mz1dZ7peQ0dGlmVMVBwRLGQrKQsu1o7n0WUkaLc9yo0WqayF6wckLIO67+FLEWEE2XicitvAlDSklk9gaHSncjRqLkk5Yjpqo0kKGU0naHsUhYeuyTi+jzPfZvnSIWy7To0IVZFxPJ+YKlPzPc5asZrubC/bDu0jGUVoVpw169fz8/t+Q8N3kZSI4wb6GZst4/s+jhKR1eMUrDSuU0dSLE47aT133PcotuGT1QyiKESTdJwg4oS1aynNT7I0P8De8QmO1ieJIoj8iHwqSW+6h52zBxgwM2xct4aHtu1ADUJUIVPo6mC2OI+RUFlIgvFY1r+cZw/uRbUhlY3htQMGhjLUmi51zyWhaDSEjyrAQCHSFFRHYfmSPhrNBmcP9fHd7ds4Z81pPDu6G7tus6jQybxdhSBkRWcnc4HE4ZExJFnQkUxQbds0XZeOP5zQCWSJRMzEt30sVeG4Rd1sOTBBXDWYq1VxMhIrM92U3CbL450cmZnhy+99Pe/78j+STycROthtj45EjHKtTUe+QK4jwexkGV/xma3USOgaMhKJeIxSq44cqUSRwFcktDAgrcfIpkz2HS0yW6nSdjwSCYN4zKBtB6xZOsDI2AwVxwZJxpQVfClccK3XjAWhqMRxpBAhAizNwBUuCgtbgYV8llq9TiSZnHjCKQRSg2eeeorxQ6MsXtbNsSMz3PbD7/Ouj3yQIAiRpQhJUvHcADNmEPmCSNhsWL2e7bt3Ypk6URTQXejCiUIWd/eR7yyw++AuTn/eeew7uA+51uCsC87nyJ7tOL7MA088wXs++A5+87Pb6OrMU5yrsGLpIE9u3clctY4fQiquMjJdAhZ46QsffxOf/sI/8ra3vIyD+w9y1/17/4SfNiyy6OnpRTE0/u5r32Ddxgt591sv5ev/8HOeq1L9efDLx3/Ll97zDsJQMDExthArFcFJl5zPw3f8DoUFGyYhw1e/8ne8/9rrkCKNS196KQ898QCO59NuuYgwIpJkYprG1VdewXdv/jG6pfKai05mbGoe1/cYn6ixZuUS6vNzbD82S38mTUdvEjWm4bVdsprB3U8fJIxCLFXnb8/ZjGpqyEbAw9sn2XN0AldE6JZMUrN48qmt/Oqu3/Kdb3yF7Tv389nPfAIZnbvuuws/cilOzYCm0GzWQYrQFZ3unl4q81WEHFCvVQmFRCAECiFCyBBF1KseZkyiryPN4v4CTdvFqft05BMYsoRpGCQsC0/4/PKxfXz9Qx/gd7+7i55CkrFmnXKtTVcsRn8+C7JEIZXAlTT2jUxz9uplfP3+PbiRwzmnnsrvHn0IS0uSLWTxMDCdCtu2bXtOUP214D8qqH7zy5t5wUsX/F8++fG3Mz05zfTELHXVZfrgGJ/45Kf4xS3fp1WrcfyZF/PPP/wnFvX14ig6Z551AXfecSuffN97ee3fXMGP/ukmXv32j/03/87rXnYOu46Mko1ZRH5ANhFjeLZCTNdp+z75TAK77ZFOWkgI1q1dRX8+yZ5Dw+w9Nk/c0mmnQixZods0GZm08XUPVQhUK4bbbtGbyhMQ4rht0vEMkm7wqgtfxo0/uZmObJJjpTkK8RxN22HSncOpuRgxnRedcR4z0xM8c3Q/pqqBJ7ClkIiFoGLPD4mbKiKC5h8ezlEgkCSZDiOGcCNK7QYY8kK1SBIgJAr5ApYHU16VpKbSjiI6MzniWEy15qi3bTJGAgNBEEVYmsJIrcrqrgEShorjRxyanaLH0pmw20SqRFLTEEqcVqOCYshs6ljC7uIwXhTi+IKXn3oBzpH9PFUv4gURWWFgawGB62AqcYZ6OjlUnKLRbtGpx3ADCOMRUSSQNRW76eJLAW4QYUkq6DKGUAnDcMHUkwBTVUkaFgQRLdlHEC2UxbUEA8uXcGB6gpLTwtB0Du+aoJBN866T1/Lxux5HNmWWDXUxNlYi15FAVmQiAbZwkZCQFQkzhO6uAQICJqanyFsp6pGDH0bkLZ2G7+L5IelEgnrVRpIjEnqctu1i45NMmjSqDqGI6OvKIFBo1V1qvo2kARHkVYtCIkZLSLSdFqqpMdNaiNbJqHFkL2Cu1CKTsujIJxBeyFizzusTSRbl0xyI6cxGJpKk8ciO7SzuzDNaqWImNXShICSJuKTSEB6xUENSBUEkU2m3mS9W0VSNxOIklhZDlSUGk12k7CpWZxd3PvA0yNCfSXBwvoSmaZiGiS8EMWEQKi62K0gbCQIi0h0Jpibn0A0LS9dotdsMrF7J+MH9xA2Fw/tG+cfvfoFf/fjnPLJnD5IkIUs6iixxwprl7D82TKlaR5UFQ/0rGBs9zJqVS9CNJIeO7sa2Ba+56hXcfNOt9PT38LdvexM3fOM7VBouA90penq6SXltjsyVSRo6lqGx/ehR1q89nh07d/Kqq17N9M6n+elD+6A0Sbx3gHe++VV883s/RpWhYS9UH2EhavazH30Ln/j8DRgLu+iYcTjpxA1U6g18p81LXvlqPnLtV/ntvbdz0YWX/Vl58/81zMw8TXf3Yq7/9ldpT88jyYL1x2/m29/+AWed/UIs2ecV734/P//md/nCt79EvjvJkmXrueeu3xC3dDRZox0GKJqFFIVEkkoUegghkJCIAtBNDdWUwJYw4inWLs6Q1jUaHki+w3S9yYHReVRJsHnzYvbsq+DZDU5ZtYQDI+O84pxN7J9q8viu3bz1wtN400Wnc8q130JSBJZh8sl3v5VnntnLbffcyykbj6fZarHzyEGECFBkmcBfWBSbhkEoIs7bfCY/+sUvuOnbX+Q9n/kcIhDIsiCMQkQoWL9mA3v37+aqi8/ngovOoVZzePzeOzk8VyaQI/KxGEEQMD5dY1VfN2XPRVegMtdGliOGBrpIxHUCGRLxDCtP2MQ/3/5rzli+mF9sPYyqagRKgCzppDNdTI0fwBchlpFBDptYZhJZjtjzzM7nBNVfC/4jgqpad9n+zKO49RCnvI+dR2f5xGc/zY3XfYzfHtvNsX2HWbMsx879owykYzx5aIKezjzVls3qwcXUpYjqbJFGo46pGXSmk6xfvoh1a1ezY/8Rqo0qWiDQdX3h4RWGHBqbo1hv0JlKkbZUKi2XdhCg6hpu26WQiuP7Hook0QpDElmT0lyLsFPnrFw3e6aLNNse+WyKWstHi0dIkcDSTRptFy9ykVGwVBNDM4jJAVZmMbpuY8+VKXoerldCEipNBI3AZVPHAA3boRk4BGGAhIwrQk5YtJyJRo1EzCIfjzNemiOIADkk9CParRblhk07clBq4KYgrRoEfoCmKUSKhCoUwijClGQcAtb2L2H7+DGSVoy6Z+OGPilNo1eL0xQBc47N2kwPh1sz1CKPmFAIhUBB44yVGzg2N0J/V5otB0eRQoESQqiCHMGm3kGemBkjF0tSKVVIx9OU7AqKkElaGnbbpzObR09ZJONxUkqcUAsYPjiGLTvokcK828SSVPoLHbzwVe9g5+9+QW4oyR33PULGMqi7DoEfERKhCkAWDCY7CYTDYL4fGkWONWuMCw8VWNmxiJHZcWRAkiTSMYNFXYvYs3M/iYRBo9KmkIozVq6R7rLQNB1FUig1aySsGOsLgzw5dpjFHf2M16ZRkDBUnabbJh2P02i1USUVoQn61QQ112eiUcdUVayECg2BmtTQXGgoAQiJ7nyeVrPJC085gflam0cP7sENQ/DFQmCwUJiZrvOqMzfz+OgxvHZILm0QsxLMzBbRDI1MKku71mayPMO65YtJmRlm5iZYuWKIw0dnaWsOCdWk6tkc2DXG5pV96JZFMwjZe2CUvqUd2G2PRNoiVOC03l62jU0TupBPm+w7NI3wIZQCEqqJHfro8Rhu28GPIJdIIClgez5vf8ub+Np3biASPoaqYagW3b0dnLtuLd/48Y9AkoiiCBGFhAFoukTgKoR4mIZKEEYs6+7k6MQsMVNjydAS5krzTM7OMLhoEE3EmZo9ymD/EFJUp5DJsmP/MNl0Bk0PmJtv0JHLctyyQXYeOIwuy2w6+wJ+9tOfsqg7yUXnnMU3b7yLUAZTg6svv5wf3vZTqk3+WPkIBGgyKBJ8/uPv4ONf+BbxBCiaweaNmxg5doyd+6b+9xHo/0O4/buf57I3L4Rbv+8dr+Gr37qZ4R1HefDBn/Dglsc45+zzcJsBf//NLzJXqZPOxEmaBief/nxuv+M2wkhgmAZBEIGQkFQFEQJyxAvOfgFPbHscx3NwXYGsCN5w4Wk4TpPpWoQkO/ghPLRjGFWSOP3E1dhNj1hKIWnmGJ8e5eDwHI4fsaEnx9o1y9lxYJhDpTL4IUEYcP2XvkXOnkRbsZJr3v1R3viOq7j+K9/mums/yLXXfRwhQFMVIkIkSSKZShLTDRr1FolkjrGJYRRVRoQRYbSwE/KJy89n8YoBLnn3Nznt5A3MloskFInBjhyZmEVdcpAjiXbTQ9Ml8CW6ejLUym0yKRPNNFFUlfGGYMPa0/nHm29E6CaaqWDGDGKmhYK1cPJZqCxa1MuunVtxHIEcgpU2OLx993OC6q8F/xFBFQhQmWbH9t3ceNMveXLLkwgkorDOtW9+L3//jc8QyiZr+7PU220e2nuU7kSamttGkXVkVaY7l2Z0uoihqkRCcO7aFTQil2rdQ2XBF8n1Q3o7suwZnaLmeCR1i2wmQbXRQpYkejtSVOotWo5HKmbSdj00WSNuqACYqkbFbqEqKp7wkSKZRCHOiRtP5sjB3cQSJqHjUkjEmBPQLNt4QUgmpjFTrNEVSxLFTNK6RhBGmJ1dKE6JZr1J3a6jGkkSVpJIUwjcJm3bxQt9bC8gn45T90M8TyZjmfQUCvi+y/zMGFUvZLpWJqNpuLUAP4BC3sJD5rzTz2LbE49R9hyaLMTXDGZ6CBGUayXswMeNAiAi8kIUWUY1VFAUWnYbTTPoVQ1yXZ3kNI16tU1Ng/GZcaq+j4pEGIZYponne6iSgqbprI/lKHltXMViXXeOHePjrF26nMNHJymkUliWzOzcBCU5QjNVmtUWCStJzW2gRyqWG5LsKTA1N48sSSxdvoTDx46xoreX7SPH8MMISQhkVSKKBFakYsZUVvX1sWzZKp7ddwglbHKsVCRjJlBaHotX9LF1ZBjHCwjliAvWnMj+4aOMT8yRzcfpTiQplhoYio5lypQ9l0COSFpx3vGKq3loy6Oksnn8MODepx5F1WR6CilK5RZIMmhw3ubT2LN/F4emZ0lhgibRVkM6lDgeEUW7QS6exPVcQsBv+yihjhL6pFImkqYyYdcoGAmE7xO5C+HbTQKkMAKh0Go0ME2dMApZt3glnq9w4Mhezty4hkOlCvVSE12oHJ2YoKcjS9KK01JaJFUTz11Qvo7fJhdPEUUOlbaPZ0oolsTy1BCzzRmEFDJ5tElclTkyVyQRS+JKEalknDCC0HYIJJ/Qj1BMg5Rp0pvOc3RsBDt08f0Qy5JZle9g+/QUqqrgtV0EoKgyKzpyHJgpE4vrOLaLCEFIEl7bJZ6K4/stdF1HlRUy6TyTE2UkJSCWUEhoFqvXH8fvf/8AnSkDXTIoBy1ajZB8QqNu+xQ68lz9sldw9/13U6qUma+0GSiY7B1zeNUVF/PSS17BZz73UXbtniKRgo++62186NPfRpEkZAW6ujQevucBPvSJ96ObebYf2E02m+KJB/f+NznsPwYBSP/TUQuYBf590PP/zbjpl3ewNJfgjDMv5NqPvJMvfP6b3HP/d3j/2z9Lo1an1WoRSBAG4IeQTJqkUibVWhNZEgShROQHSIqMomlEfoQfReiKArLGC05YwdCifobWnc2dt3+fbNzENA1MVeGJQzMsWrKIC846l49+/iss6suQTicwopByK+DIZBFEyAff+S72PfN78mmDOx47iGu3ccOQ17/yKv7pJ/+EZuhkkp3kYxlGixNs2fU4G5ZvwJQX8k7bTYcg8Mmlc2iaSrFU5LyzL+W+R25HkRWQBAoqfhDSkUzxjpecTr3VJkRw/S8e5I1Xvoabf3kHbdthqCvLmkU9aIaCjMx4sczygaW0yyUK+TiHJ+c5fvMZ/PDuBznjqo/y5C2fJZQjhBeiGAotXywYAQuZIBJoAoQSoSLT3R0HSYMw5MmHtzwnqP5a8B8RVEcP72fp8tV86APv40tf/uqfvHfiiSu45g1v5bY7f8X2HbtZ15fBD30OThXJxi3qjsea7i7aYYgTBNiOTyGVpDOXRBIyM5UqSwd7KDZa1EpNJFmmM5NittqityOFHyz4jjS9iGK1jO0IOrMWvh/iuAGSshARYpkGMVXFj0Ic1yNRSCKikP7uLo4emSLVZZFQ0rS8BpW2TSFuMFlt0BuPkyv00ZmPcezQFOn+DjJKgJnr5uDICAlFY2quTryQoTubIBNPYiVTdGVjqGGLVnWOuWqTcmshULmNhu8GyMoCqRAFqF7EVGWauuvTkUrguR6BiEjoJmuXrWHr7p2YskYiFSfwXfzQpy0inHaIYalEqoITOuT1NLlsiuGxUSxFodyyackBBhopw6Qd2WiBQkV4GGLBHb0jk0KLVKLIp9J20NImKionDC6hZKsUEjLb9m8niAS6q5PSZU7oynO4XqMShAx0duKbCk/t2cumvkWM1UoIWeD4PisGFzEyP4EbRgROgCBCESAbOoonKPkOkrrQU4WIyGkWlqxS92wkWcYwZJxwYbVq6RYJFKZaVSRJopCJU/YcvJaDp4MuawzqCWQh0ITCyGSZoY4spVYTWxN84eMf5HOf+Sq2FKJKGuccv5FnDu+mp2MRQgTsnRpG1mRMSSUh6RyrVliSzTPXavxhlayQTaVx7CbIMmEQoqgSBT2BqesM14sQCbpiWaZbVdzQJ2NYVKaaJHIm2WwcxwlwAx9DVXDDkLAZEBKxbsVijszOkrUMSu02MdNgRaaPA3PjRAJEFCILCUWSWNQ7SOQ1CaMI3w8IkzJPbzmKIht0L0vSmytQrlSR7IhGGDE7WsYNQlQVZNOgM5UnimwWLNN02sIhdH0C4SOFMkHkIHuCtucjmzKykDAMBT8IEH6EqmkosmDz4gEe2nuURMzA8wIiIlzXR1HAMFR8P8BQ43i+i6QquL6LIi1UsMJQcHhynlxWpSeeYa7lMl9tUMjHuOoVV1I+to9Kqc6JF5/Pxz7+dfwA5D/03agC3vbys3hmpsW2p7Zx2y9/xN2PH+SWr38aWZW47OUv49f33MeLL7uM3/z6TgrdfSwa6MOTZLKiSSQpXPLO7/G805cx9D/hvtLs/eS7zvuz8Oj/K7j3t/dz4UXnsWfH/aw7/jyOHtjKez74AeRI5uEnH0EOIpoODC7up9FqcMOXP8wN37mZh7btIxMzcGwPO/zDo1pZWASbik4gR7z7Zc/nyMws3QNZzl66lH2jU5xzziXctTfkq1//ILAQqXXe5g3MzM/R05vjme3DlJoOF560FiOhIwiJQsHmNSu49c6HWDPYyZNHJqnUWuSzCWpth0QiTqvZYtPGzTz51ON89/s/5LoPXkO50kRXVGRVpmW3kCTQVG3hdLQQBEFIMm6CbNB2bHzPx1AkJBXShslstYUgImWa+AIkKeJ565bQ9Hw6sik68mlqjsPyrj5+9vAe5uwmmqYjywae55BI5EC4eHYLz3VYvWQ1+4/sxnF8UuksjtNi0eAAIrGKnpzEnT+6iQtefiW/+/lPnhNUfy34F0E1evBp9GSB7v+vEZ/4Q3jQH/C2d72T617xam7d+STf/vsv43su573g+Tz15B76ExqTpTJLCjFm5ytkk3FUTcexbdoByPzBBNGyqLddenoyBJKgoFlMzFRIWAbZrEW56SMQRH6A7wcgKciKIAyihbiARAIp9Ck120w1WkShIEKAEGTiMXIdKWp2m1wyQ73Vpl5tYxUMMrEEs/UaioiwDJ2ErDFXbLN69WoSyQTZXBIlUkhkUwTFYaZnR7B0jURmMX4wy8FJHxcDq9BJl5VFjZukCz2kRItQCCTPYXbmMPVqkaYbEgYhVdvFdlwazQa275GR4yjJPHOzs5i6Rq1SZfGK5XjNOqeedDq/ufceznzB+cSaFR54ZAvZ/jTNegsNZaFSJWQcxccNI0xVR9cV1nV3M1askDJ1im6LpufR1dXJkZlxkn6S45b0Mzw5Qdtr40YSdc9FCQSDmTyhkEi0bMoJnf5knF996V288cu3U/M8cGocG5nGkzXqQRtVkli9qJ9GO8ButVDTBvPVOkpb4uyTT2F4eIxd8weQkbFlH0uPkYsloOnSkj1EGNEKfQxFARlWJnLIyKQ60hh2yJbxcQJJkFQ0hjr7mS+V8HwHxxJ0pyxyRi9RcZay8JicKtGVy+C4IWEQ4EYRniXQkDB1i8GYweING/nlPQ9iJGRWLFrObHEcpx5w0dlnc++2R2iFAYuzXczNlcnmUjTbLSqBR0HRiWSYb7bQhEk6q+HWbXRNxwkCuuJxWpJARIK20yajm+SyOfZPTqC4gkCBbDrOBZtO4Pdbd/K8My5gY3ycbz92gJhkMDNX56RVq9g1PQy+RwyN/hWL6Il38OTubZxzwhlsG34WPBkPl8OHp2i0PHqGcnhKiC5pzI5WCAPoz6QYLZfRFQ3Z1OhOJ2kHglzcotGwma1VSSZNapU6QoToukpvLEEjDImrMjXXwQsCvDBARqInlwZJMF1sIBD4QYgkCSQJwjBCViWUCI5bcxzP7tuLJIWEREhhhCRBTybJVLWOBAThwhazHpOwXYGIQIrgTW94OTfddAdxHa77yIf55Oe+SKUOUdimu3OQwPPpWXc8A4vWsmvr3QS1Jpe8/AV88rPf4JOf+jRbt28j2aqipEzkuMXmdcdz7gtfy3e+9Am6C9DdO8inPn/D/1Ye/X8JH/jMl2k0h7nhS/9Au1zke9/8In2DSR54dDe+LNiybT97du7jLde8hf0H9yGikLe8/g14ts3Vf/s27v7dHVz1mqvJZfLMTk8ShAqqorB8cRcrBnKkUh384qFdeE4TEQWkEnGq9TayDulYkmq9xarFXSztyTLYWSCIAorFFrG0xR0PbSdEpS+V4vwNg8z5Dr9/aj+5bILR2SqyJKFrFq7nEImAU07cxNPPbEMSglBIiFCgmSqqJAjChcWO5y0srkQEuq4QBGJhoRjAhsVDLO7P8utHtxP4EZ25BIamEtcNFi3uJmXq5HI5lp34fL7+9/9AW4SgqRB5RIFANzTkKMSPQnwvQtVUHM9Bl1XueGw3p/b8q0hasnolThigqSk6ujNEwmN+aoaJQ8PPCaq/FvyLoPrEtR/mk5//Ake3PcYN3/wsm04+kb3PPMO73/9p8mv+NQzyW9/+Ckd37eLYfJnHH3+U8887n6ee3sLgogFGjh1ZyLTzBeVykzWDvRQslelSlUwiRrFhg5Do6spgtz0ymTSKJoEqaNQ8pCBkptwkZel0ZtPomsJMrcFALknT9alUm4SRQEgymqpgZjKUikVarktnfEGkrV8zyKHpeZKGxbKhDh4+Oow979LblSaWNJGCkO5YnFK7iS+B60dkkmkqdpuedI5cukBvd4FYsoO0KSEbOpGsAQqBXSFOjblSndr8GE69ydGGTJjsJK7r+EGEqkZEfoCw21SbdcIowHFbNOoOqiQz2NXP7kNj+GFEMqETRCHrlq7AFnWacgshFGpOmw7VxHTi1EWd5QNLKVYqjAyP0NOd5shoCTWu0dmZAEllVaGTWiTRsH3SSZO0FWN2toRimRy/cgV7Du3Dq1bo7Bjk/HNP47b7foNXa1LzXGaaZVL1iGZcw5AUVvQOMj4xxpxw6FFTyIqB7TQxTYNyw6G/uwsqdYZrRdoGSHLI8X1L2bBsBbc8/FuWaCkmpDpuBHFFpe2HyAKSRgxPdrGDEFWSF8SxkHCjEEVS6DSSZOMZMoPrOHZ0B6972WWIRIGbb/kK2VweU9LpysWplX3mK1WK1TKZBMyVGmgRGIpGy/cwMhp+EFJyPNJGjP6BDian5jEDGd00aCoeCUllcPFyDg0fotmyUZAZ6i8wV6kRuOBFIZ35OLqSpeWWcRwPU1PIpLIMT86STsYpuw3ikkrBjNMMfZSYDmHEfKNBh5pkqKuLduQwfGSCgaF+3FaTBh6yJ7Goq8COyXEkSZA1YqRSMUrlOptXrqLSaDFRnkE0QhwR0NWVZPfuKWRFEFc1Sm2HZMwiETOYmK8R0xU8IlTFoJBIEaoSlXKVtm+jo6GrgrbtYpk6uibTkYxRqrexwxBJCAIhEEQIL2KoM0cukWTrkWE2LhtgUU+OhGnwsyeeRY0kKi2XbMqkVG6RTKRoC5d8OoPqukxWSguCSYIoAlkGISBmKEiSwnGLenhy7yhuALoKkQxua4ZkuhsRJkjluuhZsZpCd5ZmW8HUu/DCCaLaCH7L5siRI2RyOuc8/0oac7uZnqkS03ROOOtFfOFtb4KOLp568m5OOfWF/32yc4pgFqA1wne/+23e/N4v/+UJ9v9yjDZ28JHrfsA7r3kjsWbEN772WfaMzPHFj7+Xx7ce4LqPfBiAm+75NVdf/GIuuvQynt3+GCdsPIU9O7fiiACn5qFIMnpMZd3ytUxVZ5ibKpNI6IRuSKvdIgiCP2zIRoDEK5//PI7NTpFPx+hKp1D9gJ88dYAg8OmOxTn7hKX05bM0XZudR6cpdCeZn2vy6O5hVF0hdD1AgihEVlWCwEeSZExLQxYLm7+u7xN4IbF4nLbTRhJ/OMEoJJb2d7BuWR9e02bfZBFDUentTrJt9yirhwZZMdSF5wo+94Wv8/c3/4A7f3kn6XwXY1OTEIVEQiZyPBRdxTA04pqBHbhIIYwdG/3j/D4zD/fffy8zR7Zyz52/w6/PIKsSl7ziSt790U9SPDLCCWsXPyeo/lrw/93y++g1V/PM009y6aveRMqyuPyNVwMxCCtMHNpO/+pz2XzcMsp2G88Oicd0fKHi+z5EAZlUglq7iSQpBLJG1HZQCHn589aBqqBKEvc+sZ9sNk4yYdHGJ5JBRAK5JvCjEMvUcbwQLwjwg5CEpiAkBUNXQFWZniuTSsWwHY8wClFllY5snLa+sL/s+AGarBIAq3oXc87zNvPAE48xVSwSi8UJHJu27bBi6QomxqZxgwazXpvuRIay7dOZ7kDLreS4ZQWyCQNT11CsBPFkF8uXdiGjIwkFTW5gzx3mxptuouwIWr6HUGLIoYvbCtBlsAwTSdV5+MAIJ69ZgVcvMTljYyU1enJxhusNnHJEGErYgYMqFmJqegtxNq9fR61V5mBzhg4rxcTEPLKpoEkLpBITGp4CMd1ClSBUJSYr83hhgIaKqShIUYQqqwgNMmqSufk6y9evp99Q2Hf4KJEmUWnWyCSThHZAwkoyNTXO+k3rmTwyy9lnnMS2J7ZSkxzmvAaaqnLuutOoNlqoImTdymVYloxuJdh98BiliUl2jo6xYWiAqeo8R70iKc9kcWGAalRELiuoKYnDk1Ms7R5ksjbD0u5lyMKjMj9LpeETi8co9GaYqk2yqHOIvdsP8TeXX8pdDz6OFLhkZcGk16Y738d0fQZDlQmJmJ+sE8gL/laOG6JZBtmYRWFwkMm5cWQ5YuPqDewY3rvQ0KmZWAiOtOr0p9PgRLgipGX7ZMwUhZhMyXYozTZZvXQxthkwUZxZiO1ptNFlnWzSpO2HxCWFVughNEjGDF520SXse+xxXrB2kO8/tYdK26Hle0QiRCDjeR5IEnFZRUgwN10hZll05LJksxlst0W93qYZeWwYGGSsNA9Nj2rbxXF9nFDQn0tSbjnUGg6xuIEdRZiKgt12SMZV4rq+sLUnCVb09jBXrVNqtbBUjVqziabIpHNZjoxPISPTkYpjRz7tlkdEiCGpeFFId9JiptlGMVSsUGXNxuPYvnsnXSmLdNxiZHwO2ZCp1tsLEUsyRAJUCXo78gyPlxASKOqC+f1gT4KPv/8jXH/LL6kLnTA06F8k0TFwCcHsNlIdnWRkl+GJQ/jEWNWbIbQK1IIYK3MGb7/uw+SA6z71cT73rvdBJs1vf/lDLnrpa7nqlWdxy22/BLJ/5LgXX7yZWBTy099u5+Lz1nPP/bsBaJT28ZXPf4FPffVmAH7y8+vZ8siTfPbrP+bbn3sLF73oCoa6shhKFrNj8H8vMf+1Iqhilw5idZ0MwJZ7b+PEc05D1vsBuOZzX6U13eSfvvUJAFauX0JlroiRinPTTT/ijh/+Mz+5605CCSJ3ISarMl8j19tLLCbh+honrjsJKyWz5anduFEJz40gCgmjABEGCCGxfOkArzz7TG781V1csHE5thdy//bDVJ0mBBIDqTyaHnLWiSvZfXCaxcs6cR2PXz+8F0WV8UMfiJCFjKTIqOofKrCSxPnr1/HQjgOcd9oKEqpOpeVgxFSmSzX6OrMUG01sx8P0JRxJIp3UmJwocqxcZ1FnBy+56EV87Itf/3dTlx/oIXRcZFWmPF38k/eeeOoxXvCyV3LaGefym9tu+eP18y+8iEOjB1m8dBkH9x8AERH5AjSDuKVR6Bvg6ft//5yg+mvBvwiql562ZuELK0ksGRrkgW172XN4ktu/9UkeefxJitUWxx+3jt88+Ci2H7Fm1TpGRg5TyOSwG2XQYsjJFCOHjhBIPpWmSyxmEgQBQQRCKIR+CIFPELoMpJPEYyaSJBFEEEgROcvEDQWKopBNxqiWawSRwNJUaq6HF/lIQiYSAjeIMBUNFFBVhSgr05/OUyzVcKVwwdAyMtBiGiNj85y6dimxdBJJDjgyNUMYhNiehxwKXOGTlA1sL6Ath2TNGJ1mgpITkc92ksjncD1BIt9NTypDKm3iSwaFpIYvZCR7hna1woGDe5hpuMR0GVOLc2S6SKM0TyaRYnTeI9eRwndt5osNvNBDiRby57q7cguiQAQEvo0aQf+ifuaKdU45YTm/f2obIRHxbAIRhWiRoO2HNGwbS9VY2t3LsZlJFmXiNB2dqdlpcskEqhHHlQNafgtH+Jzf0c1vixN0+DHkZIz9u4+ydKiH6UodOQrozHSyYukgrVqd2XaVDiWOY5r0WCpHZmbp1GNIpomeVbFrBu1IMFM7zFkbV9KqtKg0HCYq83Skcriuy2y5Aqqg6gfk4hbd6S6G8l109Sxiz2MPkBpaxejEDLPlYbqSBeKqzNHSLFe+5FJ0u8L+2Tq79u5jcn6GXCJNf9LAVC0mQw/fb6IKHcnQiEIPrdHCS6VpNdvkU3HaTZ90JkHQdlm3YjG7po6h6Br4PgOFAsVmg5P6V/D7o3tp+T6GUOjIZ5gqVZAjnb6MSbnVwkonyEcae+am0ZIGgRCooUALwFBVHEmgKgqpPxhn2k6AisAhQI5ANXW6sz2Mzk6Q1FXafoCpK3TIMY42qoREyA5kUwnawiWuqLRcH03RqJds1q9Zxt6RoyRTKdx2i6wRY2K2Rq3ewIl8Bgp5XDdA1xUkRaLRclBkwbKhAY6MTLC8t5f9U5MUTINis40IBUggkGi4DpEk8MOIZfkMyZjGXNHBxqfSaqNoMhKQNUxKTY81i3sZLda44rJXsvfAUabGD7JpUQ7H8xgoFLhv2y5kRWP/yCzyH3q7gwB0E0S0kAUZCTBlmWTnED2LNyOskMKK9fTEOlnd1+DD13yI2+/4Mae99CIa8wqruv81cP3SV7+YS1/yIVauX8SJa/r/hMca1Qlu+cFPOXBwK9/43k8BeNebLuXA4QOkYia3/vA2WrIgnV3+x5950ZkDrDv9TL74+R/x4otO4hWvejWVuRne/f4v/MV59/8c+ID2b15PAb1sf+JWNp525R+vfuvGO8huuJBbr38vP/v2dzDjKle/7uW0Kk327duPHbUYHi5x4kkbWLnhBH7/21/ScF0G+vuZnS4RRiqZXJau7kHmpw9hu+B4bUBCCBlFFgjhI8kRg5k0Lzp5PdvHSqzvSzPTdKlXmzy08yhCipCiECcSaLLM8o48xx2/FDOIGC7LPL3vWcIAvDBAQiDDQhZoBCoSsYSJFMAJS/vJdVhM1Vp0pGOUK01mp8r0DnYgI6FJMklLJxIR0+UmvckkmmJw347DuMInn44hSSqPP/EUuUwnQ2tW06xWSCUTvO/tb+Md73zvH+dubw1+8vn38pZrPsDlV70M1xHohkKl0sQJbOL5AvW5OaxEnnQ+RatSRBEKmqrh2DZ7d+36swsq9X8+5Dn8jzBXbaAj0E2NB7cdoK/QyRnrhiikkizt66RcrnLX3fcy32ygKBLH9u+gGQmSgctMtcpAPoPmtTFlF9+HOBF9uoyUSOD6Mh2FFMMz87i+jBtohJpKww0o1xtk43HS6TgtxyNEwm60aLcdoihC11Rs10WWFPpyHbT9gFarRVyXcX2flhOgqgGb+1ex4+go2WU5UoaOfajyBx8/iU1rB9k/N4WYlTh33Woc38Z1I1QkkEBGwQ4jUpk4lutRbLcRQYiQNNqNOUrlY+hGkkpxnDldJZXKEKlJsgkTXQrJZLsglIjFU3RKITO+xmK9yfZSk6GhZRw4MkoypjE7P4MkIiQ5RPIXYk9kOSBol5lv2XhRgIZC3DAp7z5IIm4QtyzSHQmWGilimQyHp8eoeM6CB1M6xb5Gid3Tw2QMC83QScYMkkGMkmMTVZtkU3ECJyARxCn351lqSSxdOciiRR3EhMxwZYZVQwOMFWcwEiFbxvew2MwhhTKzUoV4YJDsWEOuXGPzhRcwNzVOd98Q999zP9PyPJWgxe9276HdcjCECiKkVrfxohBdltEChYymIYUKR6ZH2T92lNTuZ1iTSnNoejdSy8dUTSZLJcLAY9lgP52FNF++7Q4aI03eeOUrGZ44yqEjI8yFIWt0l17LojjnUdUFNJskDZ120iSJQm6ok9Jsg/6ODIWsymQ9YNfoML39nYzNl5HCiFBANpPnsX376O8ZZM/Bg5x99onccMN3uej8F7B/fIx98yVWrRwiCmVi+SxU5/HkiDO7lrFzfIK6ZGOaBrLnEHo+NjKL8t0crE/SIGDQTDLrNcHxCQjIxywqzSZaIGEIjSmvsXDCSUiohkI1aGPJCjXXxZA1nMinv5BifmYaWZVYOjDAvfc+gdsZMl0sYxgqIhRUGk1W9nWzd2yauKUT1xSavs+xY5O4oceB8UmCMMSP61TtEtl4nGK7hSkryJqGcF0KcYtqyyFmqegaVJs+CzZpMpamMNdwSKdTDBdrJGMm9973W16weQP333uMD1xxIYEcsu/gCMdmaqRNDeSFrRFJAkuWsH2IPIGsauQ7CvRtOJVk0CZM+RCq9AZFVg5oFGemAehdfTYffecnEO1xymWf5Yu7+erXf8DPf/Tr/y5/tSol9o/s5dEnn2J6+wP8zXvez/KVq1m8ZBHlWZ+l69ZwcPjov45vHuWuR8Y553mreOB3P2dgoI8jB8b5zOe/8scxv7/zh5x7yRWA/hdi3f8ToDGy9wkWrT2NJ353K7oVY/Ppl7D1cJmNpy3YpX73p3czemgb7/ibl/Pq736Pj3/mak47+8XsefYpOgvdnLhpI0/v2cmSwRwveNWLuPf2e3nhOWfzq99voTRfQo8liCcs3IbD9OwEXruNJFTMSMFVI6RAIhICWTbpySQ4Nlvi9ieP8MrTlqKIiMOHp1m8qIPNy7oxkl3oasAjz+5lw/pentwyQjP0OGvjBjoyIXIQsXFZP5mOJK7t4NgSW/cdQjMsNq3sI2UZNEIXzwsZyGYYrzU4NlsmbhisWbucYxMzRHpERrFwHB/TSEBokB/sZ3pqipeetRY/Enz3Jw8AcMnlL+fJpx4nCgVh5HLs4MyfzO6hkscn33A5+w/t5we33o5iarQbDv2Dffi+jW4pnLh2PZnnL6MzIfHs9m1sGR/j3LMuYOvTTxJG9l/kU3+uQvVfxL9UqM4/fjFtP2S+1iYd05EBVVFxvIBUTEdTNTRdxXcdZFWm0vAxdNA0g5lak650nNlqi+OWDFCsNqnUGnT3duIpPoOFHE3HZWS0yHilyknLl7JveIIImfUreth7YIqa67Ckt0Dgh5iagiLL+EFEqdEiGzMQQhCGgphlUnfayMiEQhCFAjVvMpi0qCAxlM/TdGzmZmq4vkfcMnGlEDOUWbduHVu3PcOaFUNUqiXGKzUkHc5espgjU/NM11qYlkaj7oACPbkMjbbDtNtCDWRWZLM4ehrLlJEklVx3PzFVRY1aRCJBriPFot4+brrlVmw7ItJCXNtGliKmyg0MCTzXQ1FV4rpCxbOJywq2L4grCq4XsnTZECLUOeH4QfJZmdH9o2SG1uG062zbe5jpiUkiTZCM6aTjCbwwIDAismj05XtRVMHeiXFAcPGJm7nv6WOcunoQzfE4XG2wc/9BNOCq8zax/ehh5ushvqJiWhLHShWyMYvAtZFjFnlhIMez9BYy7Bk7xHnHncSze7cD4AidY9VxVEUhJhac4n0pQoskPMchCiTSyTiSJBCSwJJNSu06MgJdU3nFCcdzZK5KtRGwoWDx4PAs5/XmmSwX6dhwEjOVaUbHx3nPm97Ezbfdw/Z9e3neicuotmWmDx/FyhSw23Ok9TgTVQevVUPrMMnEUsiBIJPI4IQNejqWYrfalOfHOOOE9dy3eycxPY4wQ1bnB2grEuVSEc82iMcNJkqzzE2UkXSZVFeSdflutlZHiYQgHWqg6MQsDbvSJFIXTubphs7qVI5n56cxQ5XNG9czW5xhaqbNy88/n5/+5lcoakSIjKktZEHaYYiETAwQoUBXZEIV4oqOCygIEoaJ7dt0JNMcOTbLQCbJ4VKNlucgRwv/H925OK4dUHZsYoqKpakLoc5IWPE4miw4NDFHFEFH0sSRAjw/IhLQdlw0VcYQMh3ZOPP1NssHu4g0wZ7d48i6iiprmKZCIGSUMGSwO8PkXI1zj1uBYcaZL42jyDqP7ztKPpfi2PQcBcVi1fEreHLbXjJ9i0gk+kgvGyBqVDCTGZx2GVotjlszhEsX//zNv/sTTrruM5+nJ5ciI7e56q0f5F1vuZJv3HDr/5DHPv76N1CUmnznBz/hDZedzZe/8Y9cetnLyQ/FefL32zh1/SnsOfwMS1au5EOf+jq7d23je9/+GmeddzHTM0V+9qOfgz9HebbE1HyFrt4VdHQV/hKU+38MPv+RN/D6N70f3YyT6x74T//8Uw89wJe/+glcL6JcrXP06DApI0NTaeL4HoZukcsv5bTT1nHPr35Ly3aIxSyadRtZiYgARSiEqqC/v4vZmTJm3MBrgxAOsqwyPz7DW19xJklFZy6McIM2Pck0E5Uy9aaDGTOZmq1QKrdZ3t+J63ssXdKL7bQxI43JZpndB2bZuLaPfDxBpd7E9WU8u002n2J+toJkyCzp7cTxfR579jDPO249v9vyLGdtXE2mI4nn2ORjCdzA4fnnnMMr3/wJjj/jLCqlaTwESuAS+ILbf3IrZ5x8Ord857Nc9baP/slcvfNtb+end/6YhbNVEpZm8qqXv5B7HnqCWq2JokAgw4pFSxibHEMIiTASEEoMHz763JbfXwv+RVBdfNIqsnGVveNlLE1jSX8n06U6A105bNclFIJysUo6FcPxQUQRpq4wWaoTRiFx02S6ViNlWsR1jVRHgkgsnOiLGRqyDIeHZxcc+eIalq/Sk88wX6/j2x6RJNNwfaQQNClEUxRCooXeKklCSOAGITISiIhK00ZVNZJdCTRNRglBSyboiCcZnp9AlkBXNWQPDAmma3XCZsBZZ57EgdHDKLJAlhUMVKbrFVKxOIHv4zghigqykIgkic5MAiKD8fIsMoJIkojrSWRNBW2Qk1bnSVg6uiHRmivx0NNPY/smXgChcKhWW2TicapuG892SKbj2K2FLZrA9nFDDyEi+nNpCstXs+m4deRjaV7/hpcy9eTjrLvgSp765pt53U8Povkuru2TTSo4UUDdXig5dxY0JqerdCZN1qzoY8lgL1/47Kf4xKc+g2vrvOaKS/jyD37Is8d2EQlBp2QQqYKm6+FUHKSMwrJcJ2NT88iAmUswcXSeE1YuY65Rpu228d0Q31XYsHoJe0YO4UchLddDMWSGCh2Mzs6gKCqeFGIKiVCALkvYbR/DUBeCm8OFrdh24LGyaxDdh5dfdhl7dz7BdMmm0WixYdlSAk1nanqWd7/p9Vx/wz9z6mmncN+9dzNZnOV5J5/JY489TGdSoaHqdEQKVkJmz7FZAl0GE7JGHCfyUYWEXXGQTAnJg5YR8O7Lr+C7d9xBwjKxZJVUsod90/sZzPXQbASEImKuWMJSdFavXMaxqSmW5DM03RqBb1HIpjip2+Kf9hwg0iXwBVEUogiFhKVjqAphEOH6EZs2rGT4wDTlZhlJU5ACmVg6hus4+EQ0w4C8YeIEPgnDpOW4qLqKGghsP0BXVYLQJ4wkpiarFJIW+UQKOaZQrTZwbI/A9YlkCScKUcKITCyOZVpMlBZsHgIAScKKqfhBgOP4CBkCX6AKQXchQ912KJgGmgJmVwo38Bg/WiJERlcVIkUgnBDTlOlIpYlbcYbHZxCqzwtOXEvJcdizf4zZZn0h4SAUtBwZOZFFN3Q6ByzajRhvvOIcHtm+nT07h1nW3c30bJuzLjoPSctTmt3F9NhhHnlgy7/jqAvO2czUzDh79s9CYwaS3f9uzPNOXsyGdSfx1OOPsf3APs4642yef+Zp3PC97zC0qI/dOybJ9WXYcXiei85dzzXvej8nrjiNVRtW88j9v+OMMzax/3CZNeuW/XmIVTwJ0ql/nt/1fxh2bnuYzqGlTE4f5VUveRGltk0UgSQkvvuNf+LN730jIlQYWraSA3t2kc5nkYRPV76LXKGb7bu3E3gL8WK9fR1MjM8j5IiUlaPluOTyaUToU6s0EbLg2re/mnvvvZ+UptGV72SmXqFCE6oRJDWEA4PdSVRNI6ao7Dk8xUAhR9VpUcgliWlxpubnKYUOmpAxFJmgFRFaEXXHI+5JTJbqLO3rodpyOGHDSuy2S0chT6k0SbHc5qSTj+djn/8uxx+3AQePUtUGWebSl17Kb+68g/WnbGLb1i0EbYV8l05foZsHf/fon06c47N6wzIy2SzD42MLi1FkokhhfnqOux64ly9+7JNMzo6hayZN12NwsI+nHnnOh+qvBv8iqDav7COuaTScgMWDefpzWaq2w/B0EVnWiCKfRNxAM1QkIeO0XY7NlOnLZckmk4xOz9LyPfwoYu1AN4GpYrsemqTQEU9Ss5vYUUhaKNTCBRNPBR3Pc4iQ0FWFXNxCCJis1DCEwNA0Cvk0I7NFPCcABIauoscsZEsiZhmUXQfFD9kwsJgdY6MkDZWy72JGOroGoRDYoYfb8AltF8ePOOmEVUwVZzFQkGMKoS/wfZeWCBFhiO+ESCEk4gYiighUCcmVkVWZuGUwX66Szywlm+/ggo2DjFTalIkRyhWCo0cZmZjEk3XstoRveCSkJFPlEr2dBYqlGnbYJqaaVCp1dASKIiMUQdwyyPVs4jWXv4zL33oV87OP4yUHeN/Fl9M3kMOXAuS8xjMPjpHP96ArMrIfMd0uM5DKMlmboV5zkb0AWQlRJQU7DIkIScVNgihkqLsD23WYHZ8jmY7R1gUZXcULQ8x0AktWmZmoUqna9K0uUC81sCyNjauWceDoMeZLNfLxDgb6Cjw9vAfX8ZGFTM60aLk+TugiJEEqblK3fSxpoWFcCAlFyEgqeIG3ECUTClb2DNGRjJPQNDx0oM2a7l5+vuVp0prORKlBZy5NvdxmqeZTjWXQFEGutw/fbrP16CG69RjZnh6SasTDO/dBGKFrOh25FEIKUUwd3/bxCVmf72Ln1CRGXMWUTRRZpVSvo1oqBSvGxFSTZEcGv1jl3DNO5sj4JPiCqu8zPj/JKatWs29+DEIJ3ZAJ/AgJhbbwsII4mumTinQOjM7w/2Pvv+MsKct2X/xbuWrl0DnOTPfkPAPDEIecg0iUKChIUElGVFAUEBETCKggOYPknMMAM0xgcuqeznF198qh8vmjkX04r+9+t/u85/Nx/35e/1VYz1OrVvdVVz33fV/37AVToeKQLlaor44hCiIHzpzBve+9hyCKCK5Pf+8YyUSQkKTS1lzNym27iesGqqbhy4Ao4OMT1jSGhibQZRV8h9qaavpHx0mn8yCJWLZDY12C9oZqmlsaSVSFufuxV5GQAB/Xd3F9j6lVCTb3DSP6AtWxIAXTJCQriJoELrTEw+QKFbrHswiygK6KaLKG4Nk01tawpXMQ1/FpqAkzVsyx99QWVu3cjSrJlD0XVZEYGi4RbmigaUac4qiFZRsI5gRmxSY5fSlzWkVSIzZzZ7Qw1DNKw/QW5rdPpygUeeO5N9j3oAWsfOsDXn1tNccdvRdLlizhZ7+4g4svOJH1Wzby8YeTobuJni0kWucCsGxRIz+8/Cfc9IdbuPWuP/Du869xwy2/IxAM4AJV8QiCoHLSWeeyY/UG9IDF8gO+RHN1kuUHriCeqP5v41Tzk6fQ9jzpv228/6Ng7mTdlgxLliwDwKbEXb+5jR/f9BP222sZH3y8mh9cdDXrOlbx/ocfISDT2tTM1OY6musaSEaTqIrNT37/JxRB4fQzT+OVV99jPDXCxOgEjW3NiIjkSyZ6UEOWJYrpAmccspzeisf2DRs4Zv+l9PT3kssUyLk+O/uG8FwBWZFwXVAkkQXT6onGdKLBIBFdY3vXAGVDQvB8Aq5AbVUdW7fuBBkMQaW5PkZNTRVdfUPEI1XUJXSOOes77H/YgTxy5/f5ykU3cfxh+/Pc6+9DpQK6TlVtNa4sICEQr42TGcsjySJICorgYpkW4ZBGx5buL9zC2bPa8RWVWbOmsG3XEBNjQ+B7nPWl03nyhSeIBEPYgouPQESPsG7dp/8WVP8q+LugOvngJWzsHCQeCUyWtEuTTWJHs0UkQUARRWKxADg+RiBA/1CKYJWO7EmUTRvN0MDy6RsZJxaNYJZLIIo0NVYhywLZio2qKlgFk2RVnMxElkLepL2pGl8Q6BocQ/AEcuZk5eDIWAbR94lHDCQm3/j1kIqu6Ej4iIaEJQjIsojpVihlfOqiUQQ8KvakoaIvmYwM5pElqK0OMziYQZNkTNdh1rRmJM1lPF+k6FiEJAkQGC0XiCuBSR8dPCKaQlVVMzOnTOX9NasQXQkjoKNoIe668+ccdvoltMydT657F31DeaqCGiNZF0UHTXQoOjYBSWEilScaVGifXotjWhiqTF6zMWyRrp2jiLpCesKngEAg2ERd3GZkcBhEEdssIyjCZ804fZrqEyiSwnDOwjdN5rUmGRrLMFEuMS0ZI5UroUUUSuMOieooc6ZXIfk2haEsE3aFsK6TyRWYUB0cF1qrY5QRUT2BvoEJTNPm4D3m8N6WrXiei+PaqIrEVCnAsGCSyZu4toOMihHS6C+mkAQBRIHGQJTRiTSW5+ELHq7lMq+6mZ2ZERzRQ5NkgopC2XPYN9lCj5lnJJNB9WWO2nsZluvT3t7GcKbEG2+8jWaVESUwDI2O8TR7LV5KdiJFf/8IRixI2csxXjZZVDuN3lGH6rDN8HgWSRYRPIuC7VEV0MhaZSRDQfNEPAEMVUV0XapCMfqzGbZsH2Tm3Eaaqqawftt26pK15CsZqnUZORJGRGG8ksa1DUSxSGNdLenxMWRZJ6Ap5E2bsVwa3xGQFIGgqhIIaniugK6HGMyMIpQh51cIyBrReIB0sYhhS7gVC01R6OgdxQMSQZ3G+gRRVWFDxwhhXaW+pZqujgFM38WQFDzPR1ElSpaF7/iEm8NY4ya266KJMj4eJcvGFT0kV6T82equ5ThEdHUyhOCB53k4tovneTTWxRlK5TE0AcET0GQZ1/PIOzbt1Qm29k/QlAwjYlEVTZDQDUJhjdU7O0mXijTEo2zpGqepbT5GPEwmO4xXMgnWzuCiM/bl/gdfomKWiIQS1IbC7OxYQ7y6gdZpddQqMT7ZuZmzTjkV33C44pIrQEz8p7z1yut309rcyG9u+AOvv/Me+UwRFwiHDLLpMmvXvs2Kg4/lq6edRHTKHKa1tXPK8ZMi58bffJ8fXnkTO7auZeacpbz75vOsOPi4/3WTdGDb2o+ZvXQ5NuCNb0NLzv7C8Y1vPMCCQ8/+Z+n4/2hsevNJ5h94KEgSmW2biM3eh5tvvprubbvQE01s3fIBazb1oXomuqoQCcVYv3knPX27aW1u4e+p0O54J1Ky7fNxDz/maLZuWsMdv7+Zr135fSTBx3JkBEHEkA1kQ6Js5TGzZaY111PKZdl7XjubB3LUh11kReOddZ3Ynguex6HzZhCLq+zqGaG2qZqB/jGC1SEEz8dybHKWScATmdLUyuvvruaIvedQHa9GFFyGK2U0IcTWnX3krAqFkonreuiBCEcfvJR3PljPgr0X8frzr+OJ4FoOV110Hrc+9BCW5RCvSrLP7AW88sE74AtMbW5iqH8ESfM55eijyNk5XnnuLU7/ylm4osivb/wVV118Prs6dtPZ10VDSzVNDS1s2T3C6vdWcv75X+Oee/76b0H1r4K/C6pDl86mribOrp4hHN9HEAWqIkEsx6VkOZi2TdTQyVUqhAyN2TMaKBYdXEdiMD9GNGDQ2zUGoohZrmAYKj4CLckoA5k8zTVJXMVjqJhHsgWo+MyaNoW+zAieC6ooYRYtHMvG8SXiQQ3LdxnPFahtjaPLOq7tYloldFlGFGUcTWJ4dIJYwGB6XSMVT6J7sI9ivkxNdRLfssm7DpVKlqCmMTKYI1YfoGLaeAWHWdOnMZYax1RMagIBxrIFMrbFMUv3ZsfuXiTVY/n8WciiTMmPUvYsxiYGmTV7No/87RVefupujj/tImq1GOu7BvEVBUNXQDCxrQpesUw4GKCpPUZmooDnuVR7GrmAg4dPYyyOXbJZu6GP5Qta0aqCiCEJadjjhZWb0II6ju8goeAK4HvCZOK6oZLQAwiyT0gXSQ0VyXsVBEGkKhIgO1qhpSlM12iOWEDDE+XJXB/ZZ/7iRWxYu4E9Fzbx/KoeajWXTMYEQ8OzXQxNpr5Gp7UxgKIYrOroQhZklIpDWRcQPZ+i5dIaCDNSzGCWbJbNW8I7u1ZjSDIBWcUzHQqeTcwIkyvkmRKOs7OQQvZEWpItVEcCdA2lyFcmGBxOo6CwZOYUdvQMc/R++1MT1RgpFhhzYmxd9QbJWATLlyhkMsyoMdAQ6TIFIoaOpgrMbJ/FmjVrqfguTqHIvL0P5ZOP36JsmYR0BVERCWohbNchHgmRGhsnoCoosk65kCOQrKE3NYLoCoSMELWGjp4M09s3xGiuTGtzNZJmIGJSHa1mqL+P6tp6BsZH8D0HQZYxTYegMdlOY3E8ytujYygCeMJkj8pqOczMmMK68QzZUoWoruHKAl7FRVQkZEWkrWE6g4Nd+IJIxiwRVzTyrkU6laemLsyWrcPURsO4so+mqwRFBctxGU9nsWwH34VQUGXx3Gm4tsDW7n4GRtIYQRXTcdE0CU0GA5lixSJoGNiWjStA2bGYlogjBUJkCwV296ZwgeqISjgUZChbQJAEgoJHS3WS3f0pJvIVREDRBHRFplCyOf6Iw/lk10ZK5QrBkIYvqkxrmlzdDBgOXtGnuiZGsCqAXBZ5/a2POfK4g3nlqWfYvbuXabPmfYGfTjh+Bc8+9y5HH72cZ196mwfvvJ8TTjmIi7/xdbZt3U5vf4qAIZDO+MgS/PQXv+LGa76HZOi4CBjhKAcsm8eO3TsIaXF+eu0NHHjopFfVSy8/w9DgLnZu38FNN99FZnQHsZqZ/3tEmt9Az+40xcwgc1ac8f+OlP+PRx4wyI318+GGnUxpa+PrZ57K2MgQS/fcD0XxECWJ711xI7f+4af88a77AfjNdT/mrB//jMP32Y9PP/6Irekyzz1wG0NDKbZ+/CE9IxkcP4umhNi2cRsAi/ZcyIknnMyDj/yVTKGEW5lMT9lrxkzqItLkS50CL320A8+Fo/eeQX8ujygKBCQNz5qsxq3ggwKlokVzbZyP1ncyvamKeDhMXTJMdSJJpHYGv334USREKpaDJPm0VVWzY3AEAZdQTQTZDJEvDpMIhhgcSxPQNJYuP5CPP36DY44+nNfffAfFl5k7dxrbugZQZR/Phh9d+2uu++FV3PDkVh647ccMd3zCmjdfZdk+i6jk8pQKJS791jf55JM1tCyYwSP3PEBjsgpXEFj98X9/ld+/BdX/Jv4uqM4/YQWeN+k23tkzRNl1sbzJdjGNiQTRoE7BNpENCdvxEHyRrF0m4is4lkBjdZhCqcJgKkskaiBJEjWxIPXJJO+v346jCuiGSsGZzB9pq6ohnS5Sqtg4JQcNgaCmYnkO1aEgnudh2y7IAqYmYNo2iiwR1GVGKxVmJOqxKtBZGiYoqZx64L6s2daJZykM5yYolCskI1EKo6O0z5xNz+Cuz1po+IyXikR1FVNwKY5USETDKLLA7OlT2dTTQbliYfk+ku8TUFTCkowkShx0yBE0LJzHH2/5AxeccjyPvvAeRUcm0FiNnRqkf6gfsSQwpTaGEtDwVQvLtakKRCkVC5NhNV2j6FRoTVZRLBWpr4pTKpms/bSH1ul1RIIqNckYyVCQF9/aQv/IOM5nlgpRXUcWfHxJx7ZcMpUSuifSnIyxc3QcJIHmUAglrDI4niccMRBMj4pj4YmQzhaoCsQpyxYhKcjeC5t5+q31VIV1FrQ3sjOdwSvK5MdTyL5DQ0ucYFQjlcqiSwplycM2XSasAqIkInk++7bPYevuToJGiOqaGtZ3bkKSZRzLQnYkXNHDEV2iehDftik7FrIiIQoiqiBTKtgcvd9yKqUSqzZuo6yYNIUamdZUy4Yd21AUDaHisH1khKCsEk9E2WPhQlpmzeKV556hOmIwVqhQSaVpikXxE3GsTI58vkRA8+krmKBATBQRwyqeqxINR9ijJUhXXmfjru30dKdINEVpDzdARKFKVmhqiPPujp00hiIM5z18N0tDJMr24gSyJzK7qZWhoQFcQWYolWa/6TPZnRqk5DmEgwECjkhfroCNw5SGehQkyuksEh7jpk1F9KkJBUhXSiSiYUqFCoYiU7ZNKr6PU7HQdB1NVJClyQTyUDTAwO40NbEAoYTOaCpDPmdi2x61yQjTp06hoaGOOQsX8ewjjzEwliYZjZAv5DE9EadcJKgpjBeLOI6Loqk4godl+zgmFBwfPDAiMaqSQaSQQHa8hJWzyRezeLaDLBuEE1XEaxoJxX3yaZGg7GOLHuWKhO5bDA5txTEdSuUyyepqquprSaou+ZxHZ98OfvbzW/nzLb/FNUpkxscYGS4CcPKJR/CDyy5kjwNP4sqrLufV15/m0pO/wasfvYseEDnlxJM55suHM2NqO40tTQwNphgeySOKUBVRGU1btDbHQFc54sjjefn5pznty2dw/c1/4KhDl9PaWsU1N95MQ81sfnzNpahKlM71q/ECIvOam9nctYu/3v4YD993L+d860t0bpygfcm+/xSffrryPnZt7eSUCy4CGv77Cfv/EFi5IdRIPb+6+edcduXFHHrQIaghgx2btuH5PueceQb3P/gIpuswvX0hH3/w4eefrW2umrQ+cERkyWHGlOn0j4zS3DKFzdu2MrWuhuNOOJaf/2yymKF5aivTGmtI5UcZ6M+A7+PhsmTeYmoCHiIOL6/ejuP5LGuvQ44ZuK6H43mIgohnu9iOg6IoLJ7SyuDYOL4n4IsKy2ZN49if/Ibj9zuUQimDgIsnCqi6TiIUZHR8HN/zPm81JkgaTtlEU8B2K8iKjO0InHj8Wbz/wQsU8nl8WcUxHWJGAL2qmex4H6FQACncRm5wO6u3bqJOhPa5bXRs6WTxkvkMjvSgaxphWeOSi77Nn+75M3PaZ7GzcwfrNnX8W1D9q+DvguqUo/amsSqKa3nkKiabd/VRqJiosoKmy1i2QywURJUkHNehUC5jqCqW61OfCDOaLVIpmlQnY2i6zGEHLKVYLJBMBnnyxU/oHUhRHQlRXR+nItroosTYRJGcUyFuKciqguh5CLKIIgtkChYBVWHWrFbW7u5G1zREz2XMLhP0ZbJmGVWUmN7UyPDEBGE1QF9+jBl1MxhPj1MdVunLlaj2RfJWnhHPIqwqk3lFlkPFLKNrClNrmxjJTqC6MoViGVlxyXsOhixRth1qIkEcB0olm9YpzUSMIK9/vAXHETFUFVd10CWRiUwBu2LSkAxS0xgjN1JGS2jIgoAuCyiOTCwQoiGhYsTipAtZVAmGRkocvHwR2zq7GUjl6O4ZRtU19lnQzPBEgTU7B8mUK+iKhi94IIepCCYhScO1imBJ5Esljlw0jVc27KQqFGCkVCYZDyALAiOZCpZj0xDU8UWRJdOnsmLvPXhn/RoymQJd3cOcfOiePP72NkYzExy5xzQ27+whVyijqyJLls6je6QPR/HRBImwpDGSyaEZCmPZNAgqkYROtqfIngvmEAnG+HT7p+SKBS4+8VAeffk9BooFFFkm65ZQLZEqVcdWoGybVIXixNQgwaDOn797Hlf97iHOveRSfvC9qznpxCO45S/3ccJB+zKSLjLQ0weCQsm2+OWf76A6mOSi876CU6pw3PzpdEhBsrt2MW1KI4MZk6XzZ7Jm9VrEsMbAwBgL5rSzoaOLbDaHEtUZ7k+z58wZRBSZougQjoZYu76bFScegrV7F10TY2zfOoivysya3oJQKFOWwDZdWqqr6cyOojoi5WIZLajhSQa2lcewHLR4aDJ3q+IQlDXqaqrA8+hIjSBUHBzXw/UEKrLHlGSEUgWChkQiXoOqatjYJBSdSsVkYmIUyxFonzaLQEzn+WdeRVUlqmurmMiM4zo+kqTQXFeLCIxlcnT0TuC4HrVRmeZpLXy6bjMNySgiPkXXpXsoi25oeJ6Ij4waCVPT3EpAr0LIZTGVEsOpEcJBmZjawoRZQZY99EAIzy8hGCIhEdJ5m9opIWYG56LKNqt37yQ9No7rWtTXTqMoWNg5l0J+DLXSSzZbQZYUwGHL+g3Ea1t45onnuPIH53HaKWdz42eGiHMWtGIIGqmxISRNpGt3lo6OLRx2yHK6evJ8+fCDGM8Ps3rtdlQFli5s560Pd7Hf4Ydx/lfP5fwzzuLEU47i6SdeZtPu9cyfthiY4P7b7+ScS65my9Y1PPPIQ/zwR1dzyy03cdGll3HFxecxMJJi6ow2erdsxXQtLMfnoOX78NM/PPRP8Wpq+xus3fwBB+/9ZdTGBQDcfP3X+O6PfgRM+++k8H85vPDG82zdPcrSWVNonb2Y91euZ+d7D3Ltb/7KCUfuT1fHLvSQQX//CMGgjm1ZtDW2Yjs2E+Uis2bPZN2GzQx2pQBobKvFs32Gekdpbm+gmK/Q2FDNjLkLmdPQwG333UtNvJqR/DiC43PmwXO5/7UNJAIhFsyqJlfxUB1Y29GP5Tocue8sCmUbF4FKzqWpOcb6T7toqEoQiOjMntaGVjuVP919D54kAgr4PoLgIssKSxctYvW6dVhlC9WYTBVprK1nKDWK4Im4lHE9CVGW0DSJciWPU/KYP/8gklGHzVu3UijncR0JRQLBEAiqQc4880weevheFu15EqNFi0fv+S7L5uxHIZemrjFKQ7yOnbu2cfK557Hq9feYtdcsNn28njVrd/xbUP2r4O+Cau8lMwiHAlilCo7nE9KDjE6Mky1bmLaHi09VNEBAUSnbDroioyoKsghBI4BVroAAqiJRMh00UaRs28QCAcZKJZLJEBnXpFKxCfsK436FoK4ipB00TcZ1PSRxMsnXdC0cD4qmjZHQ0XzwVBFb8AlKIqYH7dVVFHwPteRS9mWGU+PMbW+gq3+MWCjMzJkziUdDvPnWexx60P68t24N5UoWVdAZzacxMya1tRHKroUkCYwM51EliWggiO/6ZEqTuWPBsE4iEmXhrBm8v24bXcMpREWnqTbMwHCeUEjBLJfxfA/PtTl48RwGxseR6wwUW0SRRap1g4SssGbnBDsGR3BEwPWQUPEkEB2PsuMQ0CTAxvVFAgiUfJnaSIDUWI54JEpRNgm4Cr5gctaKeby/tYf1AykqpsmMWJJ00cN0bYp+BcEVkQUP1VNQdRBUDVdVsYtlHLeCLkgctKwdIxThpQ87OOqQNkbTJbYNd9Pq6PiazLZtg8xqTzIiWEQVg7G+PFpEIKIY9BTGmV5Vx7bxAfafOoftqR7sCRvfFZnaVIcteGwf7WFF2xzW7tqO5fv4ChQci4SnkTdNBElCwsPxXabU1jMxXCAYDdPT28fihgTR+mnkymlKI+OkfZE95s1g147dZMaHWbrfXhhDY2ytuERDUYSQzAzXYn3ZpjYUYd78dla9+T5pNc6SqY10jqSZ6NuJpEUYy+dpqa9j9aatxJJJErMX8bPLD+JnP3oEx0rx2L1P8dc/3cS2rt1s3tJDOKAzUq5QHYsTMDRmzt4XXzPZ+MH7pIUSRihIsVwmKIrItkhI12hubmFzbweSJFIqWhiqgq6qZMolyHv4/mTBqxzTqUuEKWfLiEjUNsQo52FwvEi+VKBo2zgVG89zmN9Wz7bdgzQ3xhBlcbISVhE49dDjcV2Lhx99GjUaJl10aW2bSimdJ513qVDEc3Qk16VYGsV2wTJtjKCBpEaoiVbhBmUCokyh4hCTXZqmJNjRMYEoOFQ1xEmPpgg11dPf2Ydddqirr+LMc4/nusuup7ohREALc8+rqzjzqEWM9o2jxgLUNrZx8pdW8MxDz/Lh+x9y24NPccJxczlsvxNwcmk6ekZ5+5WXOOfCs1EVgZ9efzNnn34eAPsdMAddidIwu5n7b3scgFffvo9vX3gFU6e1sHtHFzu7s3y89n3WvP821/z0WuqbG8gULHTZIJcd46mnHuB3v72Trq6dFEoO7VOm8NVzT+O0M779BQ5c9f6z7LX/CZ9vP3bf7/jkow/ImTa3/eq33PngnXz7iuv5osHlf40//+oHqJrKCSecTnxKACgAkyHNjpcfp/2oY4Dg/x5x/x+AO//6J6xKmYVzF7NixQoAtm74mEsvu5jegVFCiki2UuF3v72D71/9HQqZNI4oUtPQzFBfN9dffgVPfbSWJx99kpmzWvn40Ydp3esQAL560oFUBXWeWbWJVKqIoHhIooplmsiyxKzmKhwkwrFqwkKZ6ppqxodG2djVx4L2Zrp6xpERaWuOY6oRpsUUhlyDR554jhvvuJff3vgjVAnammr4803X8fs77+T2+18EYL+jTmb7xg+RRB/Hc/EBBA3Bs0CUEXwfxZDxfZ94XT392zu55GsX8uJ7L9A8ZSl9uz9lfGwUVZL45U0/4fvX3UfvpyvZZ/9DyFujVAoFpja20TPSy44NO/njA09w408vo7a6iYnhHjKFPHWJKiQBHMdkx+7RfwuqfxV8bptwxFIGetKTjtyKQtGyCesyQ/kiQUWlULZI6DoL2hrZ2TtCQFPQVZmy66JpKh3DoySCBqqgoBsackDCFD1wfPKFMpIDkajBRKlISFARXRHHcZB1GcHxsQQJz3GpVCpMqa+iY3CceFWAkXIBz/cIRwKTjVZFEdtxkRyPHA6SL1KTjCHnXabVxGm3svTUtfHO5nWEZRXX87F8j31kkXX4KL5ENKCyvXOUuroQjgS25SJ5Pj4wPJBnzowW3tm4k3OOXsHr67aya+0HNM/eE0mRKJsWgqyiKQrRgE4pW0T0LALhMK7vMrU+wdbOMebOThAUa5g6Jcqzr3yCGhIQfY1UOkcoEcYwVDIZn0RUY3hsjJAhk8oWiRkqVcEg/ak0wYBKplgmHApQLNlEAhoRI0BnapBqXaWxupG95rfT0dHByu3dqJqM57i4vkAgrJGdyBOUNaI1cXK5Er7rMFEsElVkLB98WSEZqyKTL+GWi1RHJA7Yo51C3sRHYPPuAXK5MgFDRgwoJHSdouuRGhynpTVJmQqjxRL7T51Pd083YkQmk7HxSyUsX2L/PZexZddWfMVmfCJPUbbwPY+ZkSbWj3ej+RKSBzHDYFnbEiJhjTYBXk3tZOnMpaz8aA1GpciYABd//Rz+cMttuHqYee1T2dazG891UVSVfMEklcqweO5MqkMiU1pauOep11FVlWgyQiwaYVFLI5t7ByiVS7RNqeWlN9ey9x5zGB5I0zptGm73Tj4tlqgKhZk/bRrT9zyYBx6+nRlTp7JxeycBLcDUxlrqYwl2DAwiVkqcctHbvPC3L6PJQXqHeimMZ5HjCqItg+fR3Z8mFtWY2lCH4FmULBdbEbEED11RaQrHiIR0duez7N48QkiR8SWZpvooE5kcS2c1EImGCQUj7OidoLs/jeVYpNIpPNMhoGrU1AQpZCvoRpBixWGikMXzoTYRZixToKomyAHz5+ELAcI6PP9hH2osgIFD2ZfxlSBLZsVpDkjUVIu8vHYnnZ15bE0iik5VdQ2ZYhFLNTEzWeQKGI0xFGMeSSfPp+tXYtkFjt1nId1OkdJwjonSBOWCh56MEPfhml/dwHcvvgRdDuCqDiPDQxx16JE8+PCzAAzs2sLifReDKDE6PGlU+MLrT3LTtb/g/Q8/5Y47buVLB5/KNT84kY3d/XT39IEI+Txcd+13efxvz9PT28vIaJGFi6YzY8Z0UOsZ7NvIo3/5E+dc9A1M0+LDlRsAuODik/nLHU9+zoHPPvpXytkMK1d/xIy509jw8Vqqm2q48TcP89pLzzB3YTsP/eVuvvfT3/7zBFsehIrDQw/cxZnfvu4Lh3Z/8hTT/v+gGvD2P/0WNRCmp3uI3FAPV15zNdmRHAsWLmLbp2v47W+u58O1a7jyJ7/gyUce50vHHMLPrr+BWCTKlk2djHz8KokZM2leuCfDfan/x+glVuy1lI6RcaySQyCgkC6XESyRE/abyVAuT+9wnqp4iFnNzRTdArILVsUkrgUpywFqQwKN1TG6B8YZT7bidGzmk139HH3w3ixdMI+GqjpSVprNb3/MDfc9zYyZsxjLTuDhIws+ljOZRymKoEsyti8RrWlH8QsomseDL6zh0/dX8ud7fsG0uiW89dJ9yJpAVbSeRYedwpvP3oFlVrAdn6WL92DtqlVImkBDfT3nfuVSXnr3cVxfo5SZoCoWZXfvELV6AludwLMFVq7c9G9B9a+CvwuqIw9eSk/3GKWKSSyk44kSlmfREIniuA5500JRdDy7QsVzkZGoqw7jKyJTaxP0jmcmu9ZPVHAFUBSRoKphipAbK4AhEpNVRA8sz8dzPRRZomQ7BDUF0fUouR6qJjMwnkGOKMiyjC8JNMRipM0yuqCSTWcoeT5JXUPQBCRPoFyxOXDGTN7s2o3lTJbt1xhB5tfWsHV0jIpnIvogoRAUBAqOCuQoFX28kIdteUyNRymYDoaqMDZWIefY1IejFMtFBsbyhGIhKq6NZ4ItSyiKgOIreI5LIhab7APlW4zn80QUidHxAolkkKF8nqimMVGoIMs+taEopiBQsErU6UEqlofpOWQrRYKqRrFSQZdU9IAMjkjJcpAUD9MU8awyluchiy66ICGpAjIyAU3GlyTwHIqmg+VZiK5MY20VY/kKFVEiEFQojhdxvQqqLhNVDVxDplJ2kEwHQ/ZR/Ukriq7RMZobkoyP55nSXo1dtlGCEtlSmeaqKnZs7KG5IUkOF1Fw8DyJKVVNuEGfzl2dTBQrRFWJTMZh2fxZrN+2Ccv3aUrW0J8ZxlJgajBJXU0cs5Cl4gSYP3cB76x7g+VGNWtG09RURYgnGvh0yyZUTcDyfRKBKIlQFE1z6R8eJxRNkEzW8eH779BcX01zQyN1U6Ks37aDsFKLk02TLZbYNjJCVSJJJKLT2ztMe30tNYkq1u7Yih+QqY8kGc9mQBbQFQXPUqmtSeCWi4iySiIRYCiVwldlqkSZzuEJtISO7snMbGxAKBXYmcvTN5ShOh5BNPNUqkJM0UJUBI+8bVGrJyg4JiEvytae3SiahFtyMV2fqlgQSZUpWxWaqyOUXZeKZREIasxpa2ckPUgiWc3Gri6qLIWsJdA/mCMcVAglolTFY2zfNYjtOAiiS75cIRiUiEg+6axFKGAg2BYTvktzXS1HH7ac0ZzJcD5LerSAlZRJbRynOhGjYilYFJjRFmcsC729GQzRRddC5Mv9FNNFZCVMKFLk7BMv4t7HHmDR4ZeSKfYQT3fS3bWBilnBaNiDiDXOHbfdx2WXn8sxJ5xKxAhw829+wve+cx3Pvvwojz/yIp/s2MqeM+ewz15L2bnrUy78xkW889brbN/ewab1a1hxyApEJPK54iS/OBCLSOyxYD7XXP8nFu+xjEefeohjDz6Jl155j082f8juHRvZvmkVoXiUSCRIKJRg+84dbNvc/Q858PVVj3HYXqfxq2t+QLJV42tf+9nkATsLShRKoxCo4YWHfsuxZ17xT3Psi3/9Cb4aZ8uuzXz/Z7cDOm++dDPPP/Yy0XAtP7vtf25a+v8ryAx1sb6zh4P2O5DUrs1UT5/Ho4/cxdMvvcjuHV2Mjg6AoNDeXMub763nO5dfyK9/92cAlu81l5FUmq+fcgpdfV3c9fBzn4/7yVsP84db7yQakln96W52DI0RNDQWTm+gWtHpyWYJqQazZ02no6OH5liEYFAnEguRLnnoik2f0Maad59DFnUGxieIRkNUGy6trdX4jktTaxOjIynWbekjnSshSDKe63HU0Qfx0utvUyqVkUWRmqo42zfvBmD20iWY5QksE0yriOjLLFowi509/Syeu5B1G1bx/svb+NsLdxGSwzz3+gs8+/TT9PT3ccYZX+aIky/mT7+7hiUHHU8uO8K7Tz7F8uNPptS/jalT6zny6P3w07Vc+t1L/i2o/lXwd0G11/w2REFmrFRGAiqOw4y6aobTWYKGjqEomCUTXxZI58o0V8cRRXBcB8cB27PJVywiukYwoOP5UCxVkDUFxQPPF3AlkVKphIIAikxQV7AtG9OyUSWRgUweqUpH9n2QJHxRQPBhfusUOrt7EQQBXxIQBB/JB8kVKPguFcfm9AP35Yl3P0TRVQKChG3Z+DI4ls+s+lYam6rYuHkbpbJHXX0t46k+BE1GUWVUYOHc2WzY2UepUEGJCPi+QGXEYqJo4ck+RjhKPlPClcH1FaKaRKFcYWZzPX3DKTzfYXpDgmhY4pNP+5CDMrlMDlGUKNoeruMhqhK+a+P6LpooUB0KoGsSjiVg41L2BCzLo+CUUQSJqGygKCoOFhOF/KSdhSqhIuAJIiJMemxVXOLhSUPFQsXEc30CWmDSoiBqEAuEGBrLUKjkqU0YjGWLSGIIVQfF9kjGNKyKjW27mLZFTTyC40OuWCSXLzO1pZ7BoRQtcxoomAWEUY9YbQhBgXQ2T7HsInoWByzZg9c3rKEqFKJoWyiAY2o0RYN4AgiyhGs59PaNUFNbRTKeYDQ7ys6BPhAEBOCeh27iudufZv3mnYxmCuyxcA7btu2kPaDTVy5TEw2zdWCE5tomRiaGcT0RXReRJI2GWoOF+xzAw3c/SigeYsbUdiTLYl3XbrpuOIYDbvmIVKpAdWOQdet2M6W5llAkQjqfw3FtRARam1vJDg6gxqOMT+QZzWbRZJkF01tZu3EXwYQOYYVqKU6xOEF2zCTQGMQpOISCCmFDx1BVfEGhYpVQFJVEVZyKbVHKlijnSySrYozkSyiCiCD4KIqPVARTF/A9l+k19fSk0uSdCrIJ6UyJhinVKAGZhkiScmGC1Z+OUF8fIxnWKBdcdqSLJAMKCA62rxLSPeKSwubeUfKFIk3VCVLlAkun1rItlaUxqNM7WkBTdeprIwyOWPj4RGri2CWBollEFy0IGBixFtxiGkU1sCoeuXw/VibL9qE+Lr/yNmbO0vnxhRcCcMCBe+GaJkcedxLPPPM4q1ZvYvsnq5m35zJ+f+N3+dN9j5BLpcHQueaGH5EdzfLQPfdw5MEHkZw2izt+exOXfvty+gZGyQ/1s3PXVmYs2YP3332e4aESr772Fsv3Puhzh4PvXH8nguNgNExh1bN3snB+E7+68U5Gu/twQga//vWvWPX+K6xcuRGAd1c+xIp9z/wCB3bt+pBCNsf8PY7kiL3aeXXVW5x/xkWEkhH+cOujn52VB8LAMPAfjUX/73j/8VvZ/9Rvfbblcebh8/jrXfehRaogNvXz87a89TjxBpmJFMybMRdqZ7LlpQeYe/Q/sFso7oLg9P+4/7/A2OC7bP7gPQ489Sef77vnlh9x3lXX/9Nj/VeojH6AXrPfPzz20qrnOHqv41nz2kts3LGNA446nPHdw/z+L79h665dZDJpyubk/2A0FmX7tl4uP+soTjjtAg467ss8/9g9/OLXN7Pqk60APHfHLzn+4h9w6Ukr+ONT73Lh0fujh0U0Q+UvL3yEJIiYjs3xKxaQT5cIygbt09sYHhqg5LoISoiGqEqgdS73/PUhTMdi0fQmFjdPo6apnjueeZlSxSSYaGJitAPfcnB8CccuI8ogSdJk92/fJ6QaWAj4vkuqdxSAMjBjRjPTmqfx7pvvUj+tGk0O0b2zi6apjRiqRtnJ09+ZorW1CdlQWDh/NgOlMvvPmMnmvm5SI73IrkQ+X2Drpi4OPvIQEmGVWKyWq2+/l/OO3I8Lz/0qZ517wb8F1b8K/i6oDlg8i0zZQldlauMhRjN5UsUSqqyC49AQCWF9ludkey6j2QKxoIGuqeD4BDQVHw/rs0pBXRRIFS1E3wNJIBLQJ11nPzMmxPdRFIWSbVN2HeSASFkFxZ1sKROXVeKqTkcpx7SGZiaGh5koVzACKjpgFV0Kog0Ik0uthoZb8VAUCdMy0SQNy7FQNYlSwcLzXOpiMaZW16CFA9iFCl3DA7S1tfHqqg1Ma45Rm4jTl8kw0ZejaLuEjAB4EiXPJWEEKYkOWC6251IfCRMPSiTqwmRdiyMXzWfV6h28sX4bng1l30QWJOJGBFETGC8UwHYIyD4VC4KyQNDQOX7vpXyws5PekTTJaJi8VcZQAozm0rTGkozm81jYmEUXV3JRRRnXtqk4k+XqnuMhOgK6LmIx6VFU9CwCGDiSh1m0SYQDpMYySKqA5zoEAmGKlk1TbYixiRI14QBDEwWScQPX85kej+PLAp2Dw6xYPJ2tncPsHkrRWBunaWYzZrrEaN8YWbNMS1WMcb+EbdpoqowsyYyUi6j4iBZ4hoRhKSycNYfQ8E7Wmx7lvMWhS+fyYUcHBdPELLlcc8pxbMlVeOK1V6kOxZAln4rlMJgeI+jp6EGZoC4xXMxz9mFH8ua7H7LnPkt5/d1VLJ03j/c3raGQL1Ipu+y3eB5DIxNUzDJIHgiTCf0V1eaIJYfS1t7IbX+6G8kI4Fg2SxcsYWJsgL7hMRbNmgKKxuDQMDFEpsybzcqNa4nJOr3ZCcJykL2rwnyUy6IrMjnbpFaNUnE8DANkQaZQKSOrMiVz8kVhfl0dO0fGmCiYRAydaEBnsFggKGsEQyJWyUNTRAJKkJzpksllCOgSpiwQllX6nRyaKZAMGMyrqmNT3yCBcICu3jEET8bEo7G+he7+QRRdQhAkQMbyVXRKFCplFEPBAAq5Ep6igl2hYFZoqQ4T1RWKRZe+cglDCHLm0fvz7PsfMpHJI8ohQjHwhCiLp9TRm1PIjHZz8VXf5LV3NlNMp5Bth+akRNnK8PRTr3DX7X/l9/fcxNmnXcbNv/4e1XUJtn7aC8ATd97MvvsexWVXX8lgepi9li9m5dsf8eiTL3Hjz69EM6IUe7rJSmGGR3Zz3BHHUN80j2de+xt9QyWmLNiTRTOXsKt/mNzoAAM7PmRaS4Jd27YwUSrguRX232dvPli5irbp06mOVyMzzoNPfPT/YL7dwDTuu+1HnPvN6znuiKWYpSKvvb+dB+/+I3V1EQ488CTkYOCz84d45aXHOfLoy/6nfPrqY3+gp7ufC78/WYE2vuMNkjMPBeCx23/CaZdcDbkUH7z+Gvud9HV6Nj/OTTfcyYbtW/jjn27kgTvv5YpLf0LTksP+4fhvvngDhxxz9efbXz9nX7512fdZuPR4KPXxwlOPoASiPPfi4+y7dAVnXHoNt//y23Rs6+TLxx2NEnTp6EhT1RJl3bot7Ozq5Z77X2VseBNVdfP/iSfHf0THxk9pX7DoP+z/8Q/OJVtSuPUPd31h/69/+SM6ejL8+Dvf4dJvX8DSpYt54KGHyJeKSKrMQM/4fz3pWCdUtfGzr34JR5X5wxOv4okus6qTpC2LJVObKLseihKgkK8QMyQ0Q6a+Nk4wGOSx11exrK2J1kPO4i+33czhKw5ieCKD5xTp6+9BV1VSBQc1ACEtQHqsgCCCJInkcwUc0UQRBUa6h6hvSDAyOMHUubPITQyD7zM+nAVg2qxpyEaISjaFpskIvsrIyAhNjXWUzQoPPvo+F130JRbOncfcmiZ+8Kub2P/g/Zi+z2k06kO8sz5FaaKDqqjKnCVL6Ny6keOPPYawKnL6aRf/W1D9q+DvgmqfxXNIl4osXzgN3dD5ZEMnEiKGrJAtFIgaGqIvTAoW16ZseziuSyIQoGzbaJKEKEq4vocqgu26fNbWnv50gapoEN/3CQQM0sUiEU0hX67gBWRs28cTfBa3T2PHUD+e42ILHs1VjYxOjFIom8yqTpLJFSl6HpIsEHQV8oJFybTwBAEEH8EXPjPn85AkZdKzyRWRFBHbmWzx8r15C1irqDy/ch3Ta5K0JHR2F4o4tsvQQAHbdwCZkKFiKz5RVccu+kiigCO7TJ1XR6ggkMNC9CEa0ejtnKCSL+IJLjvHCkQ1iVzJIhJRsR0Rs2yR0FTGskXqayOgyMiCSCJo0DuWYyJXpKmming4wFcPWcrd72yiozeFpkDJdtB8i6gRxHRd9JA8aTfhODQnwpTKFqlyiVm1cTpG85NNnUURJA9dVqmMZ4klQuSKFSoVixMOXMRLn+wkIAfQgz4JQ6Z3KMOs1lq294wSiYYJMClKw0GVjqEUCSNAIqiQrdhIokjrlFoq5RJl0SPVnaY6EUSIS+hKgEwqje/77D1vHo+t+YCEGkC1BVzTwfQFli2ai22aBAWRsq/gYeI7Dr39A4hBlaJVZkF1A7sGR5jaVEOlUGAwa7KoLc43TjmTb1z/OxprqhgaGWR2VYJeGyqpLNNnttE9MkRNOMy2vjFsu0gyFMUspvEUjaLnkC4VSSRCNNXUMzAyQCQYIzOaYTxfYFFd9WQrh1mz6B7sp1AqMr19X/p2rwZFomybDGWKGAK0NFejqCJ520IVVQxPw7EtSpaJbshonkg4GKDi2hRti0hAY3CkgC4rKKqCYIg4FRdbFqiWZCxZoFgqI4kSDVU1lEp5VFUmmy3heB6aoVHMVYgFNGZObWBT7wCaKZErlxktllEknXBQw7RcgoEAnqhQW1fNUAZc1yUSVOkb7SMslSlUfIyAgeV52I6AXciiSh6WW6HRMAjrKqFIgDXd/USjtUxpCHHno2uZFoemmU0E9XoirYuYnZygtraOg448gvXvvspFF13NBReczaYd23AKNlmzxIp9DuTp5176At+kRzqI17bzlQuOpn91B0JY5dof/YjLL7ucomtRypcYHjX53ne/xc9vuJblyw/HiE+lbd506tqW0bP+UZLRKsx0mlO+9GWuuvo74LnYrotXcYhVBXFsF00J4AguLz/xNLVt/0Mo/Pyai9nV0cX9D78CwEVf/xK7tu/g7NOP57nXVvLBux8RDgXpHMj9b3PqRNcHiKEksWgdH370EbNbW4hPmUxGTw1to7q+icJgN6GGz67LGgR10mJh6Xyd73zv+3zl7K8BLdxy9Vm8/v7HLN9vD9Z9vIHR4RQfbxsDYPfGl3EqItf++gZ279zOw088xhXnfpPnPlwNBMDpZJ8lx/Lok3fTMmMR6155jk86NvKNb14JVLHj3cf56S9/xqy2Jprn7ElbWzsvPv8Uv7rtP2tCnQWiQJF/lEz/lZMPYNv2Th6750Fm7nnQf3mfLr78YkQT2qfM4o933YiqqGhGiHg4ghAJcPFXzucXv/0Fgq+y/pONn39u/esv8L2fX8fO7t0cunwhJ510Ci/+7SmeW7WBctmi4jrInk8irHPukXvzykfb+fIxR7Nh41rqG9ro3L6Z1qnVeKKH6XjsNW8RNz7wDHk3ju+kmNrQwuDwEOJnFe5OxaZkO/i+i+t5tDY1ks2XKFpFXLsyae/jCCRCKsVSjlyxhCTKyKJIVSLBjq1dLFi2jBnTG9iwdguK6DJ/2Sw6d/Zz0omnUFFrefaRv/Dj713FyV8+HYC7V1m8dv9lPPbHO7j9gccpDOzmknNPw6tPEmFSON3z2J945dX3efyeh/4tqP5V8HdBNau9lbihE64KYMgyg0NZShWTaFBDEiUqlk1NJEjX+ASO5aPIIggQ0zV0RcF0XDzfRVMU8HzKjkU0HKFQmnwr90Qfz3dJmWV8D2bW1oJhkM6lMcsmtu1S3VhFX2oMHw8DCVv0cWyXiG4Q1gx6J1LEZI1wJICAh2N5ZG0LTxSQHBdEkAUB3wVdkcgWTSRdwnRdaiNxfNfHESwSySrKY1k0QaSMy6fbBhARUA0DSRRQEHADEtlciUQ8TjZdRjJgfl2CnC8yoy7KJxt6Gc4WcAQLQ5RpTcTZNTKGbbsImoehK5glF19wCSo6Jc9BRGLxvClULJWOzgHwJWRZpGRXCCgykghlqwweLG5pZNvQAL4HriSTL1UQfKiNhiiZFURdoyWZxBZldg/2EkKmUPERDQ/ZA8/xKBUrKLKPr4oYvsiNl57Gd+98CslUEEWPeFRA9UBRZHYOpplaH6d/LMuBc6aRcx1WbtpNOK5hF33qEiHy+RLZcolkJICiykxrb6A3M4ohyGRLJWqDETLpAoIhIQsCl51+Ln955lGK5QqpgRzhuEZYUvnuFV/nqZc/4J11a2mJxWmsqSOTGeOIky/hzWfvYyg1QViSiSY8XDFGbVBl247dLNp7MatXfcqMKTOYO7eR/q5RDjjyIDZu3MrOzZuYGBimP13ikHNOY9fzL1CWNKSgxDI7zwNDBWRVxC06xGIxiqUibVOn4EykEcIGgqzQ1TNEpLqGMGUKro1t2yyaP59STy/9tk86lyeoKMyZ1kbvWD9mBURDIJ/Ok5koMq25hngsQMm20EWFXKGEp4o4WcgUSmRLFvNnNWI7DqZk43hw9tx2nt3Whe0IBDSViu1yYEM1H4+O4cpQF42QyZawLBdFlmibPh2rUOKNVesRfQUjpFGxPAxNQhehWDBxtCjxZJJAHKKCymA6Q1iS6O0ZwkhEUAQYL7s0t84kEgiwY/MqsplxBEFED4aIxmrIZIeZte8lDGy8m+cfeYqDjzkU13L40tGH8/aHH9Pa0sxrL3/wX/LLb++8nXef+yt7Ld6XQLKOy6784ReOn3D8wbzz9ttYNsQiOru39HHrX/7IX++/j29f/1devPc3TJk9g9Vr3uGQvVbQOnUGd93+a0qVCpeeeybf/OHP+V+tvvv+ZV/lpt/f+4V9++89nelzmxnaNc5JZ13AnNoWrv7lFbzzWXubv2PN2pXs2vUxbqbMWRd9sbHt/yo2f/QmouzzycoPWHbEQXipMnMPOJK3nruTg4+/6L/8fPfKx5iy72nMmSrzyxt+w/Ff+WK14nMP3MScZfNZ+9Fq6tQoT7/5IsWMSzwZZUtPF1f84Ltccub5/PzGazjt3P/bd3DGQK7ioH2mUxZEzvjK6Uyra+LYky8A4NKLjiWPxv13PvUPr+vKi05gNJfDtyQu+fFPuPjMU9i4ZZSvnrUPd9z2LqecuYyuXUN4gofp+LiOSalcYcmiPdmyfSOKEqRSKVIqlQkYBoIk0bmli9WrV/HHv97LqnWv8tCtf+Yvv/0V9730yefz/vTi4xhPF7n10bc48qhFBAWRN9d04Ng+VUEdX4HTjz6MsdEKA2M92FaFaDjEpp3D2JKA67rYHgR1iYm8Db7HonnzcQXYuXMTPgK+N2nOK3gS+yxeiCS6dPb0UjN1TwZ7NhCNBLn0mxfy7W9/i6Cko2kBxtLjqJqC7XsEjRh9Hd0cfdwBdHT2EA8FCFRV8dPzrmLFcV/i8svOYv4hR/LwU29y4or9ePjpexAEHd93aG1KcvIxpzJteit3PfYYXVt7aK6P8qc77mH9+lU4psgLb9zKdT954N+C6l8FfxdUba2NKKpEIhTA88GzXUx70m9qan01sgAjuQJ6QseyHQ5ZMJePNnegSzKuaeIhTRqcicKk+3JIRLYVyl4FUZKQZJHqaJiJfBHZF7Dx8TyPcsVhcVMt6yfG0SQJBA/Rg3LRRDFkPAt81yMaUBAEEU8QcV0bVxAmvXx8H12aDBP6vofki2gCqLqK5UP3QJaWphCqJOP7IMsCCpONeoOiguX5BGJBNu3oxbR9BF9CNiRc08fzBWRFxPZsdEGmXC4jIbB08VTeX9VJxTcRBTBUBV9wmRJN0pXNUyyV0SQBBwcZ+fNQ6B6tzaDB6HiR0VKJkCdhSTpWOYcoCsyZMZWvnvNNrr3xe1i2h+UKBAPVFAsTxGvjTG2up7cnTc4apy6aZFZrFblUns27e/nGMXsgqFE6dvWxaXCQkcFRsmaFYsVhUVsd5x2znF88/C6m5dNcpeNbAvMa4kybWkNdLIQoy/z6iTepNgx8JcCu4TGiYY2ILCLLGqlslvqaOF39gyQDAUqmjSyKzJ83Fyc/wYBVxnc9LM9kWm0V06IhBgoi1150Lmdd91MmzOLneQ3fO+NCHnr4YWZMmcLGzi5kr0LbzJl8sn0Ty+csxDJFhoZ6UF2BthntvPPJGo44ZAU7N36CbIRRDZndQyM0BuN8aXotd7y/hap4DXMWtbNryw5Gc2WicRXBMwjWVKO5FTZ1dhCwXTRJpiNdIB5WSSZrcNLj2K5IIixT1KMM9vexz5IFbN66C1UJ4Kk2miwxLV7PcLnMSCYHIYmxvnGaaqOTDvYlKNll5KCC73n4QChgYAQVxofLqIJKwXUISLDvknYy6TLj+XHMkshYLs/U5mpisRCpwQwFyaNj5yC6YSB5PofMa+bDXcPEdZmpDVWI0SSbt+xguFIhImuEQyFwHPJmGU0LYIkCpj3Z3d5QRDxJIKFPIxoYJ1NM09WfRw6pODbUhnSUcA0TowOYVhFcH8Ew+NMf/sQPf3I1eyyYw7o1H/LJ5h3sv//RpPrWUCqX8TwJWRIYHckiCOoX+OTJx27jllvu4KPVW7jt6vMJ17Vx7Cmnkqyfzo+uvpyXX3yEdRtGOGF5OwXVYPX6zVg2hEMSL772Bmee/U3y+QFqamdTVZUgnx0kM57nsBUHsPSYw7jpqu/wi5t/xWkn/q+5kd/06x/y/e/c+Pn2BV/7Kn+5+16OP2p/nnv5fW689gc88MRfuPOXd/Le+k/40bXn85Uv/QhVG+LDjzYzd+5s5syaxQknnsFvfvcLHv/b+/+T2f5zvPncI0yM5UkoDoecfSab33iVeYee+g/P7dr0Fv3jJfY/8Ngv7B/Y9jqNsw/jtefu4o9/uoUn//ok+x6xL6s/zfyn8z5/543owSDnX3EZvgxBWeWQA/dl/wMOZXismyuu/jPX/vibfPD2WwyPDLFgyWK2dXcxu20mXX3dBGSPGW3t3Hn3S3z1rGO598EXvjD+NT/8KlNqWrjx1luRFZlIpI7uri2MjHmc+/VTeO/1V1m8cBl/e+4N7rnndq792Q9YumQ5IU1n3cb1LGtbwD3PTdoRzJ3XRt9gL7oR5NzTz2P9mreRXIFXP1gPwHXnHcxgvsTugXH6xwscuqSdjTtTyIpPXXUUIzyVx157EUEAEKiORdi/pQ5bgaLtki2Z6KrKyu09eIKI73jMaqxl9oxZvPTBR2i6xswpzWzYvp2J4QlmLd2HzHg/s2fP4O2X3+Dwgw5kfccOjHgrkpMiAGTMEul0hppkHaPDgyzZ+0DWf/Ihhq4iKTYjvTlmzm/mwcee5lsXfpWPP9gMwOJF7cyaMZdHHn+WB97spnPTC2xY+Q7zlzTj5iU6dqyltamN7okh6psaUV2XpoZmNm1cz5JZc5ndEOWgs75PLreLaHTGvwXVvwo+F1TTGpB8AV1XMWQFWfDRVJXhiTx14QATZgVdU1EVESEo4Xoeng+SK5Ebz6JqGqGAjqdP9gErl2wEEXzPRxQFXNHHF0GyJI457HDS2RFWbt4IBRdJF3BlkURAo+i6mK5NUJys8htNZfF8j5pQAMcHx3HxVIGYrOF/Zp2QCAUolMpIgggIdAxmWTy1gaFSGsf3iRoB8H1c0aU52UxcFXj+7fV4iEi6hFvxJkN8voulCyiCTEhQ8GSZhKYwni4SimjURXRWbutBUkR8UcQslKkNG2RNHzSR1mQ1lusxkEnjZiu4oovj+uiBIKIioqs6lcpkXlo5X8LyLBQjgi6UUEWVom/jWJMl9TUNbex14KGkt61HkLKUs0UGTYWxkWH2mL+MNZs/AD+AgMmKJfvx5S8fwgcr1zC2ay0f7ehkaCIPikBtJMlXDjuILT1drN7Yha4J2K5DsVBA8BWChkTBNvFcgZbaJOlsnpJjoisaeatCVSDASC5PMhxB8HyqgirFijMZilIEQslJS4eAoWD6FrIgUHBN4oEEY5lx2hNNTG1KsKGjE9uQCZg22ZxDdSLB4PAwrga+5CG5Eg3VNRxy5Fm8+dyD7OrqY1ZLE4Ls4EkO46U8QV1DcmC0XCSsaqDKiEWLGVTolUIEIo0MDfcgazIjQ2lOP/siPnrvVdZt2sqC2VPJOUVET2DH4CjtgRCSrBNNGoyXLaoFhYFiFl2V6S+WUX2f+mgVA+kxcEAyFE49/hSef/FZ8pJDeijLwj2moNoGI0Oj7D9/AZbg8d7OjUQ1nZZolC0do6iyhqho5PJ5vnLSV3hz5XOT7YoDAofveyAffLiK3d1pZB8KjkNVRCUiSVR8H992qKsKkdBkdg5maa6NMZAuUnB97KLLnKnV7BrPEFI0UpkSAVkj55u4+ChUqHg+Sc1gZGwCIxSmIRmkLDUSUbJ0DwxjVspIehVRzeSgg47FQ+aFl5/iwAOOZP26Nynn8qw46gJmzwuzT12YS37xR8YmBsH2SY0UqGsO0bmjg2BgMkn7yfvv5eRzvsq6Nx5jyaGnfYFnZrTX8O477/DhB69x3oVX8NZrr3DhBRdx4rFH8Js/381Pvnsd1930M2K1Sbq3D/D1y86je+NuxvI5muuj9PYPUioUCMYD1MRa6OveBr7Htl0jn8/x0+9fxRkXnsaMtmX/kOtaW8NUSkV0w6Cnt0hNQqCpdRpdu/vQVIlAMIJdKVPbUEUuUyYYVDj8oMO56kffJxKo4fmXH+eUUy9g08pnmb/vCf9wjn+EZ598gBNOPgNIUxnbiV61D/0bPyQ2rZE/33wD37rqKpTIDAA2b/6ENR+8zWDvbq6+4c7Px3j07t9w+teu5MXXHmLxrHnkckWG+zo48KhzAPjttedTrsCMttmcfOGpQCvPPn4dJ5x6Db+77CSQPLrHc+weKZNLF5jeGOegvQ9EkEyu+uWvqa+rYnBoDMdzaWlsorunn9rmWpriMUZzBSCIEZC4+5e30Nm9mePO/S7D5gjfOOooerNpJCSuvuJyrvnF9ZP5h9Ew27eup23+nrQ01dPfPcS+i+dxzoknMWXZMmbN3fvz73b4MfuwYd1G/nDbPVz0jTNRVZ2K7eC7Hr7vsWzp/hyz/2xSnZvJlUxWdQwxPp5n0dI9ETJDWCI4ImzZ1kvBshB9kUhARdBVZtYlmD93CTt3bSFfNJFlgY93DYDjYpouiqZQFdNIF0xcz2f5nNms6+hF0yaLfl58ZxVHH7iM2fNn8cYzb9I4fx+EQg+yBLbrEYwkyKdHERWFy757Lbdc/0NMxyGkB2mob6CvdxeSrtPfMcoJXz6aZ//2Et++/FKef/VVjvzSKUS0GDf99Ptccvk32LBlG4ZgMbV9Or5b4bAV+xGua+Pog78orP/R8/vfgupfBH//QZbNn04wqlPybChAMmpQqVgYikbH0CiqKBDQVQxDJ6DK9I9nkAUR0/dpaqjHkiwEz8XxJhsZi5+F3yQRMmWLaY0t9A/1ISgyku8jCBKC52FLApguoizi+5BJFUk0hBARcTyHUs5EECGsKKiKQtF1SA1lcFyXgKwQCRlowTBZs4whqaBbyIKE5XjUR0KUBAez4mDaDvXNcTrWDSNqKoquMjWRJOuX8fMufaNFIjUGhUwFDxdHtAijIvousfYYHRuGKBYr+KJIKBEAPCxbQLB8grqEGJCxLYmK6yH7FrOam+nqT0NAojZqMFowMVQN21d44Ym3OfDQGdi+O1k9YjkoQQWv7KHpHocdcBSHHrSC/q41bOrIs3rlW5OhS1vnjLPPZfUHr7FxyxZM10KVNJpqqjAtn0qlwPymONlMiTX9I7gu1NbF6NzazZJ9j2SoZyO+b4ErEYroOBUHXZVxPQfXh6CmMZEtEFQnnaw9ASTfpzkaZO3oKCEjSLlSpiUSJ1OuUJ8Mkc1XmDa9hvF8kXAoyEDXCJG6CKZp8a3zv8Wv/vxr6kJJSvkyYxRQRNBcAUMJssfsOezsH2fujAZuuf0vXHfld/n4k1VksyVCYZ1YMki2OMHmkUEcyyegSiysb6RsOeRKJQIBjdpEFZ6gsm7NJpYv34vRoWFS6XEqqk95uEBbshatppZCZhhBVdk9mqI+omMYcVKpIZA0JEHECBrICOA7VDyf6qhB9+AYhWwJX5ap0nXCDdWUilkqvk1C1OkuZamPRhAtkMQgLU0NTKmPsaV/BKliMjCUpSi6YINf5XLMgkX09KToHhoiWhVl65YhWqqiIItkKyYTpRKKLTGvLsrOkVEOnj+NzaMpdFkhYsgMT5QRXJjImZiCj2daJOMhXEGmUKpgOyaJUBVjbpmWqji7B4axbZOgJFF2bJ5950VOP/o0ivkCouogoWLZNroeIBzW2bm5i9Z5M0iGItz13a+x5KSLaWiKc/MNt3DmOedzxRUX89CjD/Cja39BZizFtT++nqnTqnn6/nuZMXU+gcYW+ja+QPOCyQfAmod/yA/veonX39rA8O4Onn7qXi7+7i84+uBljGeK5HIZZiyYydtvvE8oFEULGeiigBEL4ro2Gz7p4Ec//TmPPXwnbY1T2NqxBddxOOvM83nng1eYNX869//lxc+5bPb0Oiq2xdJFs3GwWfXxRkKBIPlinqCmM7ulnQ3bN+GKHq4SQ3KtyYT+2lqCoTBj46M0NzcRFhX2OuAAOnu6KaRSXPndq9lrn/0A7bOZMkDsn+LZcuc2jLaZgAjAww88xBlnn8nOj55jxt7Hfr7/3tt/yScbdtBYH2Lp4iUcccJ5vP7UXRx20tf/w5jr1r/HKaecgF0qIjg+OctBcmFg5w7kcIinHnmMsOJRmpjgpCsnq/pu/sHXyZg+H773GnvuuTe/uvNxqhMiluUjA6IM8xcu4ZjDTuDXt12PWbGYMmMq61ZPWgH8+c8307FrCwtapvHuyk95Y+UbRKJhDMPgkgsv5uqfXksuV0T4bKxkdQ3psXEEJCRZ4Pz95nHIskUc+oPJBPXctpW0H3g4sVg9g0PdiLJI0AgxNNBNrLoGy3RRJInjDpyHJMqkCyXWbeim5EK5VEFWZZpqIiR0jYBhsKF3CMuy8YBl89sIaDqVbIkp1TG6Ujk0xUcKGXzwaSeu6wACK2ZO4/0dA/iCQyxkIAWbKE10YboOVckkmbKNW6mAoiA4FSR/0vZHEgXwBSQ9TFAFRVa5+7Gn2WvuHFacdDq7Pl2HbI2TqI4zY84yejrXsuqjHdjAb26+no/XrqNSmKAmJHPfo6/zxhsvMZHt4dSTLgbg61dczF2/veM//O47u19mxpSjvvD8/reg+hfB33+Qgw9eTCZVoKo+QsVzGe/JEA9q4Lr4koRjO/iGAjIYroiriEQDIRoiQTamhogaBi4ihg/j2TxW2efAA/ejc/d2RjMZcPzJ8JkIsigii5NjlnMWuihiVmxqm+oYSudoSkTpGBymYrl4go9lOfiAIAjokkAiHGRGcz2+Y7NjYgwLh7CqkS+VkWUJXVfB9dCCKsV8GdEXERyF1IQJskAiqBE2FFrbaikXCqz+dBg1HMATfYKCwNDQGEHdQNY8mqoi9I4XcEQBK2ciRwJ4vo1dENCjIsWMha4pLJneyGimQG8ug2QLuKJLezLJrlSaQFDB8wREUaBK1xnJ5Xnk0ae5654/M9Q3wgdvvoKsKcxfOJNP129GtD2QRK79w2+5+YfXUN/cyl57zeRX19zMYUcfyU8uuopnPn2fJx58kEgwQljRUCQXD5FiucJoapxAIkQ+b1IfDWI7PpIs4ItQKpYnVxddECSBSFBFU2W8ske6VKEqqmHZApokMpLOYjqQTBjks2UMXQJPwPN9EAXiuoYoibiey4RdYZ85M1gyu5W312xhV98IWlxBcEViER1VVskXC9h5F1kUyRbLnHnSCaxe9zHxUBXfvORsnnn+LQYHB1HVBBEtzVNrP8EVfGRTQBBB1kV8QPIkfNGjJhalEYP6ljY+Wr+Bpvo4XQNppoYMgrVNjGbGqamKM9Q7xHA+TzSooygqZctieixJt1kgN57GxqZUdpk/ezqDgyMU3RIiEkpQw8pZFHImbVVxto+OU1sfRhI1KuUKkWgQx1fIp8ZYtnQxfRN5UoN9kw8TVUW2xcn+k4aIjUM0oJMar5AplACRgG4QUDXUpExfXxbBsyibFnFDZnp1BC+gkc+YDI/naaqN0ZlKM5HJURcLE1N10sUKzdUxKpZDqlSk7PoEAwZ5x0b0RSzPJSIrFComgmsxc/Y0fGqR/THWbdyBL0houoAvqHzvsgt46/XX2bm7j85dfQDMXzSbTa++RN3ihTQ3NdC5s5Njjj2e199+Fd+Bpx59mf2WLOWn136ba6++BqGm5R9yzHHHHsnzL0wmgZ907KG0T6vjpj88yLTZbQiVIoIeZvrceQx07mTj+i0ArHn/A554+SVuuuGGz8eZPrOGcqGCKMCiJQv53vcvY795R0A0zJXfvYS66dX84fqbOebQ43nqb4/j2T6CCGUHjjp0BYnaJiw3yP4nnsDa194lW0gxOtDJIXvtw1lfPp2/ffQ2l11yOQDp1Ajx6jjOYC9yQzsAqd2rqJ42A4j/t3Dv9rUvM2vpUV/Y98w9v+RL5/0AgD/fdg0XfvM6fn3zL5jIlLnh+klR1NHxDi889xZ3/+lOgqEgQd3Aci3GR0fJWB6yb2OZAscefRB33f8yLz7+G5qNBAuO++rn8zz4+ys467LfMqspTKZSQpQFkok446kxXA8euftezvnGJWwd6eG+399LxNC4/a+/Z3R0GMcWwbMplSooqsb09jls3LgeUQQVGMl+9ihOd9E8ew7ZSgXbBFmF7PrtiNP+RwPqY47eH1EP8/brr+AyGdGQJAFF0XF9F10PkNAk9lk4B1lxSZddyhN53t/WiefDfrPbsFSflkSSV1ZuwPFcLN+jsa6e6Q1V1EQCxHSVsm3Tm88QtGXe2tKHhIQXgIgWYWJsAs/xWbqgmV39o5QqJhdceBl/+csfqG6ZxmDHNkRRRpYFmqY00re7D8s2wYVQPIhtK8R0SFbXMjQ0ALKM5gn8/q4H2d3dyyXnftEGY8Xhe1MsODS21JDq6eXDjzb9p38jO7s6kNQwbY21PPTXW9i2ew2/+MWkb9k3v3Yixxx3HEef+LV/C6p/FfxdUJ14xF5s2jHAwhmNpPIFdF3Gs0XKjoLr5NB0FVsWCBkq4+k8qiKxuL6JQtEkZRVxfA9REAgqMmnbJiBrk20ABIFxu4yBhCeC73ksnDqXOc1VdI+N8dy7a1g8s4XxYpaArtJYE2flhg7qoiHSxQqyJBLQZRxrstJOEkQ0RQbFZ6hQxDRtFF8gImrkfZtIMEzJLeIJIgFBQkNiIu8xnsniayqK47PH8oVEFYtSpsgHG/tI1sYmqzhsgbJdZl5jLfmsxWhhHCNgkMqaCFqAaNLAtQQEV8RUbPJjE9jZMroqEAyGKJdMTNsiFJI464BlvLOpk75cDkkIUDELuJaJJAkk6mZh5Xcjawq2qZAe60c0klRHdZavOJTHHriH9ulT6NjdRdIIkikXwZNYsv/p7LuoiSeeupvBwTF0AwJGlNqGGtSiw7fP/SYXXHc5rudhl0V0zScS0tlz2QqeeOwJfnfZmSyYt4ANWz6lpW063//NPRSsMr7jY6giniBQKrvouoGmSdSFI2zt7icRC9GUDKGqMuPpHCMTZaqTBq7jgu8znM6SDAfZ3tXBor1nc/GxX+bOp1+jYmcJOCoFxSLuG1hCBV1XmBi1Ofqw/diyvZNkNErBLXPRmaezdtVatnXu4K1dmzBtl4Cu4LoeSSNE2SxSsl3qYnGWz9kHq1yhUsmjqybpwTTr+/qpjdQg+hWiiQQ7x4dQbJ/qUJJQOExUNEnni/TlTYIRESvtIAQlyrIPkseUaAui6BL3wfNEUpUcQ+UCETnE/gcfznMvPInoiWiazIwZM9nZsYPD91nBi29+gK7IzJzWxCPPvsthB89HVXSGxzJUKQpD40WmTKnGk0R2pIYIeDJ2xqGlPo5tOXiSRMGy8coOfakU0+sSuIJPQ1WU8fEiouKzeWCM+kiCwUwWGxfP9QkbMoIgYdoCsaBK1nEJhgKENI2JXB7BcbFck0Vz5uCZFT5es5FwOIAgKjgCSI7L0gWtPPfEa0xftie7d3aRTvfz0H33MmPmDA4/6lSWLZ3Jzq4eRNEnEAihSx57tU1h5+goKCqW43Hsfvvwt7fep6mqljPP/zo//fn3+fnPrufWO/7AkkX7sKy1jd8+8BCDw92ce/553PfXv+ALKo3JZsYqWaKGiqgFUGQFx8mx5TN7BYAnH3+YG266gYnxESKxIKKrcv4FX2Xj5g288dorRMJRNn7aRfdIF8cefgDhUIydO3dwxhmncfe9jxA2NJqnTWXBzD34zb0PcNvt97FkXj133fZnlu+zjKOPPIjt2/p44/Xn+ejDt9E1mUNWHMkNv77tf8KYHn9fTfp/BXclSP9rjZfz/RsJN032A8ylOvnGldcwpSqMYkhcd8MfPz9v78Ut9I3kCAVh2aKlvPfJaixHQ/Ic+gYzDOz4iO7OfsyxtYS8MC9vGsAeXs1Tb29krGATMASCgSTtjQmitVMIBAP86f6n/9PrSsRFotEoqVSGmfPnsHP7VvKZycfwe3/5EROpMX798kp6uvvJ5vO89PgL7Hf4UVDqZPv6NZx/6XdobmhHlBzmNjXw4zse4+cXHkMipHPnCx/SOz4BvsDCKU3MnFLNy6u2kc4VUGUFVxQQEThm33m8u2o7uiaTKpTwBYHzViwjJ7gYsQSD6UH8ik8lYyFIUBsL8PTKbcQjIaoSASwXLMfHqtg0Tm+noamdiVSK7ZtWIwouGz5ez6233cTv/nQ3nieC4E5WIyJT11JD28LlvPbEY8ycMYOxsUHqpzbQ19GLrCic85UzuegbV1BdVw/Ah2s/pWekj7tvv5cl++5HUwLGJzK01sQ5/2uX/8N7PLL9NcSgSnXzgf/h2C0/u4gLrvjVv1eo/pXwuW3ColmEgwF6sxPgQn1VHMu3GSsVJ3t8FcskqsJYvoAkipSGCwiuT3VdDFWVqW1opKNnN6I7aY2Qd8rIkky1ZpCpmHzp8ON45rmXqW6eycp17zGnrQbbdajVNERVJTNRwFMhHg5QsGz6xyaoD0RBEjAdB12VKJctIkYYxbfZncsj6Qq2aaEIIpFwgGK+giwKNDTWIzgiZb9CaWIC0BE9m5Lj0lidQAxLVFIWSAqjZYfxUglfkQgZMt5okSXzaxjOVdjak8K2PFoakoTq6uja1UPZlBBFD5wKjuVguSaC50/es+oow+M5BFcgpAmMm0VkScS3fVJ9Q+zsHeS5R+7lzgcf4rgvH8c9d/wZSYbxwQkSjU34dpGvnHgSjzz9DIIsIEngll3CyShmMQ+yzCXfuIhdPf08cOdd3P/4w3QMOfzxpu9iCA56wKBUtNBVg4JpU5swSOdLOL5DMhTjW9fexEWnHA+SzO+v/g7rUzk+fPtVzjrlHO5/7G7SRRNFngzFRgMqlu1TGw1SqZjYvkDRrlCTjNAzNEHU0AmpEo4jki7liIYCSL6HEBVREBBdFd0IMDgxiqdAa3UVyfQ46ys+AV+iYlpMndLE5p5h6nSVhuoaojGRlT27KDsuvuniCB4yMq5vsbihnf33WERn/zB93cMIZoFxz0ayfEbzBRbNnM5Q3zCKFmSMcRY2zWFLzw5igSA6OtGqBM2Jaj7u2k6pkEYRRHxNxfVsVFGi3lbQq2P0TUzQUpVkw8ggAVGi6NokVIOK71KyfcKKQaViowdERAG8soLjTuZmxKMhQvFaVq/bwNKpjaTSBRqrq6joDuOVIplCmbmhOL2jWXJFG8dykSSPeCQAnkuxbBKQFQxVQYjKKLJGVTzIYKbAQMcIxbKFoOm01EYZGS+TK1vU1YZoqWpg+8AEwbBIyTPBsshlcyAKaKLI/OntrF6/gcP3Xsi67Z2M5SsEVYX+gfQXuODrXz4CXfXYsKOT99fvprk+RH19I6edeAhX/eR2fnzuafzivse+yB+b13P21VexYcMGbM8BSaWmKk5tbS093b3ccs1PefWdN1i35mO2dHYTCoTo7c9y2LGnMjTWRUD2yeUKpEeGGBnJ/kOOWjSvmUyuiOeauA44vkU8Xs3CWdMoVlyGUxm6e3cRTsQp5QpIvkwqVaCqJsppZ12EEo5gFTKcfcqFXHTZCVRyJq5n4eDwnUsv4rU33+PkL5/GQw/8mQtOOZ0TLrjq/yu6/QIyO9cSm7GU4S3vUjd3BS89+TBHn3wG29a9gaHXUnKyzFnwj40yN69+i3nLFnPt5Zfxs9/dD8AZ5xzFw/e/DMC0tiStzS0EZINCucDpXz2XZ598jFdeXc2rt3+fIy65CYBff+vL5AtZ+lIpjjj9azz50F088fImcDyQRZYtaWH7rj6ikQCu4zK9qYF31+4mmZCYt2RPNmz4FEOUKJXLSJrERMr+wnWeeuActo6UGEuPEzIkXnniCdr3mPTY+tJ+s6lOGqi6wbnf/RkP3vwzbM/Bcn08TyOkQKli0zkwRsX12drdj4M/WTwhgiAKCIKAgEjU0JjaWoVuGFTpMfrHx6kKB1E1kfF8gdaqGI4jsrlnkJFsCdf2AY94wkCXVHaPjSO4Ph6gihIrjjiYJ/76KP9PJOuTqJqKZmh0b+tmvz334J3HXkCe9j/MXq/+4ZVks2P88fb7v/BZH7jw62fQMmMumaEubvntXdxz3+2cd+4l//Tfzg8vO4uLL7mEcj7PrD2P/Leg+lfB3wXV8r1m4fs+og8COqLhUirZ+BKIgkBY1cjk8viIRGMGKhK1VS3sHu5E9AFRwMNHl1TK5QoRTWUoW2JBcwPhZIzXV29iamMtkmsjGxIGMDCaQVYUkskwZtZE1CU8xyORDJLLlxgpFqjVA0iKhifKFAoFYrEofeMpXM+hOlbNaHqMsK5Qth1Ktk1UN1AUkVy6hGiLZAplfAFCYZWmcBRP9enYPY4R0nE0CcuTkHyRgCiCb3L43gsJ6D7rtqboGsviiia26VPOVpBD0qS/luUgyQI4NpbtEjYMJgolHB+m1sQZzmYAAbNko8pguQo/v/oH/Pi6n+G6FWoiUTwFHM+jULARUUE2+fLpF7BpzScsntfK08+9RCgWZ3RwiKaWZtqm1dHfM8y6TyaXhyvA8aeeS3p4C90dXYDMtKYko2NZcmaFIw87jvXr11EuZaiUKiiqTDIWpVQu8INLL+W8b02GFY48/BBEWWBb1zZkU2K8kEUTJfSgiuj5GJKK7dlENYWi6WL7PjYetuNSGwojy5AtFBEEEd/3kWpUNE8k51jEFImFbbPZvaOXCiKh2nYyIxuoUwz0WIzmhhpeeGcV++21J4rn8vHAVnpHRokFVMoVC1GVUMsKqqDSXFNPsZLGcyAWDVCmhFP2WDitje6+CSIRCVGPMZIfJqGE6BgdIlcqY6s+kYLG8v0PZbhjC93ZfmRZxlMkzKJJWXLw8Ym6BorqYygGkqbgZMvkJZdFje1sz3QRxCBVzmO7PhXXZkq0hkypgBbQCAlB+s0hqvQ4dt5EckRmz65n59YREo0RcrZJplRBsC2CaAQEiWLZxHUdwppC13CacECnaJpEdIXG1moqlkXZtpFkFV3V6eoaJhYJMZjPoYkBmmIGguszgEt2xETWVXTVx7IdNBkyuSy+7TB/djtD41nccpGzT/0y9zz4GAXPIRkL07lr+HMeWPP2q1x51SWoikggKNLUMJ1rvncldQsO5pyT9uYrF1zJUUeeAsAT9/2Rp556koAu895HGyk6RZK1SY49+Us888DfGE+P8cfbbuDGX97KQE8/R++xB2mnzLNvrqeqNo7vOJNdAzybr5z5FR556AEWzd+LXTs2cvKXjuKM887h/LO/RmttM5t2bUWQQyi6Qmq0n5nT51EppfFRGRwe4f03X+Osc86gd2AYRIFgKEEklKSQH2bOokXIcozps9v44L2X6dnVheD7LN1vP7o2beGPv76bN997lYpbJqjDj6/7n61M/X8Esx+0ps82MvwzuVmrNuxgr4UzeeiuP1EX0Xn8lVep5EZ5f826yTC/bzKRK3Pp5Zdw6+9vRxYh89kK0sI5tfz15mt55+3XOe7s7zFj4f9IEl/z9HXMm74Hv7vnAe54+FlSuTKSNHmsqTnB0Ucfzx//eC++B4o8uWZnBFTGR83/cI3xmMTlp5zKW9u2sLO7h5a6OkrlMqftvxA/1MSObZ9i49A/MQYizKyupy4WIlexCQc1Hnz5YzLFEqIkEVA1Sp7FwtZGuocnVzd7J9LMrqvBCgiIHiQDSQKqQkQ3yHkZopqB5wq89ckuypbNV49ZgqJp/OmFj2mIRzj32OX85oF3ePeV51l+xGG0TWlidHycPea3s2FLJ507+j//Ll/79uU8/9hDqIbCrfc8zW9+dgWdHdsQXJcf3/Bd7nn0bX5w/teor9HZ+6CT+NUNP+R7V9/4hftxzU+uIFY7nSu/+c+LqL9jNLWbmupp9KV2E9Wq/r1C9a+Ez1eo9piF4/mgi4i+QCwWJDdWJFMsEDQMamJRssUSnuex9x57UXJ8WuIGr69bQ7FcwHVBlEB0BR6890Hu+8udPPry24Q0hYUz2ilV8vQPpqlNhuhJjTCjsYZMroCESLZsTebjaCqSYeB7LnapCI5PRXTIFy0cPltod30sHXzHI6RoBDQVXVbwbQchqJOdKDE8lsYXBAxZJZUrTsbVKxbxsEG+UCYaDlAdMBitlBA1GfAQHIG2qdXUBAwEB97eMUBUM8g5FcoFC9fxEHyPiKqRNvMoiojoyCBIaLpPNlNEEBUE0cN1XVQlik+Ow1cczdoNH1K2fPKFicmWBbaP4zn4noCsSniej+c5CIKPbuiM9I5T3zod0xxHlCbfyJzPmlDH43U0NNdw0PJDeOeTt9i0Zh3nX3o+f7n1HmTAcUGKJAhIDpWyieOaLJkxlXCykc0b1nHi8Yfx6N9exvOhuqaO3r5ugpqGHgrglsvYlkNE1/ERKLs2wUAA2zWJqDrb+saJVIWQPBu77CFKLhFjcsXGE3xEF+pqw+Rdk0Q8ynjGZGHjXDrHtzNFC5EPGkzkxrHzRVTDANvhgUde5PxLvk5TUGH1uo2kcnkaGxI0Vk8hoDl88MlmotEg4WqNgOmRK3qM5fKsWLoAcWyEjlyJcHWSg5Yt5/2332UsmyFQVU3BLpJxbcKqQUsoQtdIluNW7M2GbbuIBRR2p1OkrQqmb6O6Io3RBOVShbJvU3Fs4p5GPB4jWynhlB1aptewta8fx/cplWzigQAyPo4mIhVURMnh4H2W8cYbHyJIIp4gE1JUJvJFatpj1BgROoeGaZVExiQdxy4S01QqBYdMoUyuWKGuLkxqPE9rU5JkOMTuoQkcW0bEJ+fZhBSN/pFxEskYuayJEVKpi9eQKYyRK+WpC4XoL2QQXZ1COUdDdQPjEyM0RsP85HvfZOqc5fzgh1eweO5cnnp9JR07uzhtxQKEgEZ7XTW/uOclvvalFdz9zLt8+5xjmb38IH73+1+zY8cQja31zJvVxquvfsBhB83n9bcnhf20thpcy+XJp/7GsV86ioAeR/JNcuUylUoJSZR45833Oe30U8kWCuiawm2/vYVjTjib2bNq6eobxdAUfvyjH3PVVdcwfWoSTVGZPXcqaz7tYO/l83nl1XdZuGA2A/0pUhM5CiUbVXSQNRUJBde3cX0fTZexKy4rVixi645Obr3pL7z70Sq6Oj6lWC4SiNWwZuVbuJ7FvEXLqYpGsX2X8aEBoiGFWCTMogV7/F/t3Xd8VUXe+PHPObe39N4IJCBBqgQ1IIKKFBXBsiiuiIK66POsKKvi8wNERQVZF119xHVxBXUtD6vIroqAuiBSREFCSwwtJJT0clNuPffM748sd40gIkWyYd6vV14vzszcM+c7M9xMThs+/fwfHDpUTUZWOoPy+nF+TleuGNXyzqeSHSvZvXsvyTYr5w+/47R+Fwebq3h/fTE3X3nspxSPZf+ePZhEI6lpWSx+/X8ZM+n/tcof2r8Pmwq3MezG61j23vsYzVZ8jT7sLgdxcTEU7izl2ccfY3PBOnKSo3n0+cUALH7lBcb8piXmVYtmI/CQ0fdiLh40mqDQ0TSdmMgIauoaCNEyodI1HZNB4Te33c2fFr2CLxQiITaR6poq0lMSGD+gJ9WNXnZX1LAqfw+jLuxOUmwE39XVYAxZURU4dOAQ9c1BSutriXM6qWxoQkEBRWfssDyE0UJ9ZTX5uw5z5YDe7CzahyHShMlkJMFuJyRsuBvcJEY6UEIhnBExfLllD1X+JvRAAKGqaLqCyaCiChOjBvTh42+20tzUiGo1IfxBFINOQnwqVTVlIBTsNhsRVjNVnnqMwoDT4cKkC+o9XkJakFvuuIVnn/gjXXOy6T+gP1XlpaR06sUrL/yxdWf5dKbMfIDLB12IFlIYPfLEXv3xYw669xOhxMgJVVsSnlAN6IZVURAmAw5M1GsBLAaVi/r2w6goVLn9lJTvZe/OUvr0G8Cvr76SrcVFlBcfZH91NRVVpQzKzmF7fTXWgOCyLp3RVZ1vq31c0iOFv6/eyCV9BlFYXszePdvokpRJlaeKUCCI0WjCaFAICUFicg+KijaiKgqZDhebdh9GURTsEZaWVxXgx2oxEwyFSIiKxoogNsLFgcoajIpCenoahXtKqG304HBaaGjU8AeC6Ci4GzyEggEUoRMdYyekgCogpIYI+kIoqo7NYiUnPYMDdZU0NQdQFIVAUMPnDYKqIASYjAp+T4gol5PGgI+AJ4BiaLmvwqDrhJQQ6AJFFWghsJisCDQUI+gajBo3hszE85n3zOOkJCdSU1+OFtCxmO34/B4iolw88djj3HHLBO6aMp3i7zaycf1aDEaVu8fdy5vvvYauqfiDHnQtRGp6Bg1NDWSkZ1O8pxBXhAu/FsDj9REfFYvB4GDHtnwuGjgYLdhM+aED6PhJiI6noqqBiGgrmtdLXV0jsS4rEQ47GgoGRaHC3YjHE0Qxq0S7XChC0NDso2NGAk5UDlfV4/H7cFjMWMwqLpeFehEAATkpGXx3qJQmTWNgahqlPi+6F8qDNXSLT6TC7aNPl+5UlhehW6OJcUbx7cZv6dWrK5qi4K6rpcZTg+bWqPI2kXtBb5J02FVbR3ltJUnxCeT17cX2HTtIckSwsrCArOQMqvdWYIyLo66+ltT0eCrrGjGoXkJ+AzERNnI6nUdxaRk5mSms3LQRzRIkWnfQYGhZB1EYBU7dQmxMOslaI9WGEPV+H+gqIYJoAvwCGv0+HLqC2WkFb4iB3frgdel8uWILdpuKQWl54a3TbkTYLWh+P3GJyRysOkC0w0Wk0HFFOCn8rgyvrpGdGc+BkmqMJgtYjPjqQzgiLVQ2+vAEvCg66GadaGsMmemJ7PMK/FUVaIFmNM1PQoSTlIRYohwulq3bgKqAqqq4azwA/PeNQ7nz/gfpfclQ7hw7jG7ZWezZvguPxY5DaaaiuonoxEQWvPXvhWdTUlvePG4ymXDaIijathPsUQAsWfoO7733HmvXrKG0tIomvHRJiSYUMtLU2IzNaaJP1nkIl5mt+XuoqiynS+cOjM7tTHFFJZ99u4ebB1/Orrp66htrOXy4Co+nmdSoCKKTUti68zvSkhPxaBpudwORURFYbBGkpHamwdOAUdPweN0oqoEgKgYRQpgjaDhURHRsDDfceB0ul4NAo+Cv775BReVhjAYzKAFum3A3ny97Hy2kc/c9/8N3RZv5Zv2nHNxfhRAK/S68CE+omWhjDFsKvmTeiy8ycuS93H7NIA67y8jp1IU/vv4R279aQI+L7+L3M+7hoVlHP5H1cxwCUk9pD/9WUPwt3TpeQI/unTl0qITJN4zj+Y/exxkVicOs8F/3PcTHf3uXzfmbCPiDjB1zE3/681v8vwnX0jXvUiY/PJUendIYc8VAivbvorzJg1VX8SlWnv6fR+h8fk+IzeY3D97JW6/8hayOndhTXIzDaido0HA5osju1Il1GzZgVFv+aLzrqv5YbRbKyxuo14w4TCHsDhP+oE5ID9CkaRTsOki0wUFJQx2JUQ6KK2qxmix4vD5UVAb1O4/yw7XsL69l5JV5HHJXkmp34Q2G6No1l7KCrdT6mnG5rHy5fT8NQR1NE2SnxlFZ4cZiMdEk/AQ9ISJj7YCKu9ENwZbVJZ6b8wwPT5uGMcJMQ3UjJrMZs0nBLAQhs5GA24MwCAwmE4eLq5hw5wTWrf2cxMRkKspLmfrQNJYufZ/7772Xy6+6sVWfrPnoHS69ZiwAdeXfEZ3U9Uf7zwPYfzT33+RTfm3MkQ4ZeUUuIaOBZp8XRRE4jFa8nhDWmAQ8dYeoFn7sihGHaiTUrHPLLWNYtnYnTkOAg5WllJRXkxRlxWWyY7Qo+BUN3W/klqxY8hUne6sO0S+nBw3VdRiNJnRvAwc8CoP6dGPjlm/YX1NHMBggxmHDp+pk2FzsrahuWQfQbMIXAE2E8AU0rFYzdpsNn99DwGDAZuBfT9EZqKlpoqammazESEo9zYRCAhWwOKz4/HZCoSAGodPUUIvNoGCyquiKwGoyogdDuBv92CxmMCgERZBQMITRasDXGMSsGDA6LCiqIBQUNHt8aAG9ZZ1CvxeDqhAMhbBYVQKeED269WTXnl0IRUcXGhazE6crkqC/AXtCT7SaQswmA95AkAen3MuMGU/w6xtv4I8vvskVIwbia6zHGZPK1i0b0LQgGakZbN36HQB/eud1Zk39HY2NjQihMvv3C/nvu26m7yVDOHhwHyalgUiHC29jE34tSHREFPXuJoQBLr/oQsqrqtlSWIRJFei6AbtFbbnc6rJTVt+MwaDitJgwq1AX0Ih32Kn1ebEZVFTVgNsXoFN6IgNyOrBsXSE2I2iajocgwqwQGemiurQaJd7C+Y4k0jKSaWp0U9HkpahiP7qqENIELr+Ta4cNpLK+ibWbN9EzOZaIuDSagw34NB9lJbVkxllxOCzUNDfRHAxSV9vMoZpGBvXKpvJwAyarDVVRUexOTGaN87t2pmDnIYLBIF06Z7Fy42qC+IlyRtApriPZaSks/XwVVw+5hGVr/klSVCS+oIbHH0QPga4KbBYDRruNADpNzc10jI6nqqaOkEnFbmy5JOkOerHqKs0EuDr3cmw2C/nfFeCudhP0aTT7fYRUCAV1AkGN+Hhny9JNaghNB1UVqCYFl2KiucaHYlaprvFhslvw+zX6devEhm27QWhc1iWD1fsOkxAbR9+sjnx9uIpOCZEUVx/E2wRRzhjq6g7wuykzmDbjfgiCw+XA6/fhrmpm5fI/M3T43Sx4fCpNBj8PTH+eW67IxWY1UlLjJt5hwWCLZEBeDz5Z/jnXXXstdzz0TPh74qUnJrF+/Va+LipACcEjMx7jgd89hM1hpaGhGaMRFEXFXR8iIlLhyf95hBlPz0HToUNCHGU19VgsRlwOI7uLawAzI/Oy2HmgHG8QrCYL9sgISg+UEBMZTZ9+uVRVNrBt+yai45PJ7pxCdWWICGcEte4KfM01/OrGiaxdsxyjzULRriIi49MI+n2kxScw/OobeOf/FpGT3ZGigq+oqm7CH/AR8mkYzSp+r87Qq4fhbqxj/659jL7uelxmjRmz56DiB9LCsb/54uP88dWXGPmr4WzfUERaWgqu6GhmzXntXyUO88l77zPixt/SFix45VmWfbQMPeTjQOk+rhkynDeXraB4VxnQsrTWsVw5bAA78neQ2bULWnMDvc7vzrznn2TCjdeS07krKWlpbPs2H59mZv/hcjYX7SLK4WTw+VmkxEfx9tpv6Ne5Ax9tLASl5VYRRVWJjo3EXetmaL+uuOx2rGYLPp+gulnDSICQAWwWE83+ABVuNylxEXy2pgAdQFGIdTmpczejWlQMmsBoM9M7M4U+fXrir6qmURcEdR9BDQ6567AZzRysaKDW6yHC7KShqYFAKEhWYjKVjXV4/CEEAtUAZmEFVUNVFQ6VlAHw7vLPuO83t2Aymbjzxtt4fM6/L9tN/u0kVq1ZjdFqZdhVQ1i/5itio+3EOWK5+LKrMNaX0qX/JVx84SDKPc1M/+1ELs8byi13TgCg4tvVJF4wGKjj5z4tumlrMbm9OrZKkxOqNuZIh1x2SQ8cdhtebwCX1YxmjEDo9QQIEQoJlAZocDczsHsGh2vcNCkK+6rq6ZDg4rDHjUO1YnKYuCAlm6qGCur9XnS/oEnzE2e1U1bTgNNiwx8KcF6Mi+21jQSaAkTG2TBYDHi9QVIT4qiuqSXOZqe0th6H0YTfHyQEZMTFcKDOjd1sblnKRg/h10IU7KukT8ckvtp7CHQjRquFjIwkauobqKuux2QQ6ELDGmHHZrLhtDsxqyrNepCy4moMFp0om5naRg+qKtA0Iz5/MwazSo/MZIoPlNPg96PrAqvJgqa1rB2YFhtJWX0DKuDzBjAYVEKhECEhUFSF5IR4yiqr6NNrIIVFX9H/gn5sLSzg3feXcPU1Q0mJT6GivJJ+uT1Y9o9V9LmoP7U1+3jnjUX07z+ccXeMw9vkZcTwS5k48T7m/H4mtZVuFrz2GglJUSCMuOvqSM5IoKhgL2abGaFbSYpxoiqCmjo3BoNKclwCY28dx59fnk91Qz0ZaRls3VbErbf/io/+8TERVitWkwlvyI8RAybViC403EE/NtWM0WjCp/txKkY8eoiOMVGU1rsxqQacFiu9undge+EBQCA0HaMBQrFmmkMB7E2CX4+9g4P79lNW8DVuzQzRJg5VVdAQCHBJ18Eoio/aukbGjLiYZZ+tRtNNFOzbTd8uWQQUE/uK93P5xRdQe2g/5TUN7Ha7sRhNNASa6ZyYRGpCBpEOG2mBIBsPHUCLtJGe1glvvZ+yuiZKS/dhMluItBmprK0mKs5JrebB4bWgu1QuiI6muKEZryGE2a9Q6XMjDCqmoEBD4A/oJLhsLU/GKQoBXUdTVQI+L4k2Kweb/RhQ6JCQREltBdlxKewvPojVYkYJgU8LoaKRmhGPNxQgwujikLsSLSTw6hqd4+OpqK+jvKwJNaTgjLCRHOGkrKYBTddJjLTjsFnILy4npBiIjrDRpUMaBQfKMAJ+NAIesDoMLFm8hL69++GItoEQoAusdiPoJoZ064DLYcZkMlHf5CE6KpL5763i6QfuYN36dURH2bBbTRyucVPjCRLvsOALaKz8bAO4Wm64vWFgZ9Ji4mj2ahyq91LtqWJXaSUmVPwhndC/vlMSXCYy0uM5LyOdb3YW8+yspzh0eB+b1n5BaXkND983mQG/uueY30c9u3UEg4mgolC4rYh5C+azfksp782fA0DHnGxcVhWTHfbuLGHIkBH8c80KhK4Q4XLRvXdfdKuRbRvWkdMzl+927KBDWgZ11bX889NP6NWrG8GQn9S0ZLKze+PxaGR1ziQmPoVdu/aQ6DRijHThssejEUF2ZjTd++TxzZoP2LRpPSMGX8HgKy8nf/teho4YRf3BXfipITHpPD76+E2uGXX8xZPPpOoda4nrfhHV+3dQ4jVz5223khJrZdK9kxl57c0/+rmkJDvNAbBbrOiKgchIO5WHa1CMGn97eyH/89AjDBp+JR8v+YiiPeU8Ov4ynnjqBUjrwZRbrsAX8FDj8RDjtBNrtfD8R+twmi00+gyoBiOoCgYRJDrCwtUX5FDrDVJTXUuX1BjeW78Dg6LSIT6abSXlqCrcMLA3X+4sprK+kaT4aEpLq+jeMZld5TV0z0hCcRlINjkRJpUggpqGZtJiY3BFRLFj7x4IQcH+Six2MwF/AAUVp9WA2+PFYnDgMhsxGAw0BT3oisBgNHB4X8v9hH2vHEbN4YNcc80wFr/xV1Cgc3Ya69Z8G26vj1YvYcWqTeSlpfH4s0+SlpTG5198fVS7Lv/4bXzNAUb/ajz/en37aScnVG2M2+0mKiqK7rmd6BKfzL6aahqDXuKtdlAUjAJESEE1KHSIjODLvWX0Py+Tg3VVWITCLb+6kT+/9S4WqwktGGq5j0fRESYDakjBp7cMaKsCHdJS2X3gICkxsdQ3NxEIhNCDGroiMFkNGEMqRqMJm2LA7WvGqKioZitOqwmfT0MYFDZvL+aS8zNpCGnoqsKew/U4nVbwhIhNjKXC04CvLoiwGTCjIkJBoi0m3F4f2BRGDOqOr1qjsLyWphovBqOC1uxD4KdbViLbSmro36M7n6z/lhA+mpqCWIwKelBDtaiAgGDLWoYhdFRFpdnnw2A0YkTBYjHT1BREF/6WPwR1QUR0AhaDicsvH8R7SxZjVOxERVuprWlECC/ndepEXX097y1YRFHtfl59dTHlB/fQqWMvkhKi+WrzBkqKD5IQF4+GoKamjBGjrmZ3UQX9L7mEW8eMY8iV/dCCKtFxsWSnJeDx+tl7cC8KRoYMGcS6VeuY9ruHef7lFyivqsZhMCEMLYv+6rrAYrYQZTZjUAU+RUWEFBQRwmBUCGgCEdJRDRBUFayKgqoYiE+IJMJuJTnaxVdb9mA2GWgOBrFaLDhirPiDOs2ah65JnZjQ/zI+XPMJKysPYGpSSIhzkORykpw5gLJDe0mPNaMYTdR4oNFdwcHyQ1gUA1kdO1LnqWdYhzQqKmtZv3s/dRjxm3z0iO+I1xCAQIjgwQq8sTbM5iSyUhOpbtLRdA3dW0+Vv5qK2jqMZoizR9KnSy+mv7CIqy7sTjMeFKGQmp6Ex92INygIqH4avQF0g0Kq3UmMYqGkuZGgGUxCQRGCgKahiJYngvx6iDhhI2Az0uRrJtSkYTGZMBugrjGA1WoiLsmJajDgdfsIBgL4LC1LJcW67KheQW2NlziHlX3VjSgIEiIdoKj4vH6qPH4Usw7CSKLLijMqloqKCjy63vJOMBTeWvgaN9wyls5Z2eza9R1moxGEgbhoOxVVtTw/+yk+X/YR3kY3DkcEldVlREc6MekKzsQkauvcLQ9RWJupqPIhDILOGVmUlZcQa3PS6PXgshuIsDnwBTT21lZhMZnweP0YDGrLmWNVISUpg6yczmxf/zWTHvxvLhl+BwTrqNu3g08+WcOf31/Kpx8vZtToX9O9R0/qm72U79/DPz5bR1V9HVdfMwSLORLFYMIbChDnNOLXXRhCOtHxVha/8S4zZt5Hs9vP6jVf0OBuJhDyY1RNaHoAg2JH4MFojcAZ4SC7QxbbCvOJciTgjLByoHgvDz0+g8V/eZWa2nqGjLgWk26lT5cU9h6qIDIC7phwD1aXE3D961syCJhAqwVjDL7aAqprq3AZ/URmDqVm705is84/S9/grU247QbGXHMdOZ060CF3YDj9iem/Yf03W1m+4qtW5YdeN5CS3WX85uHplFVp7Fu/jIM15TQ31tLs86GGVEIhwd6dxUyZ/ju2bt1EXt8+nJfs4vbfzmLvV8t555338NaV8/63O/B5QdNU7NEJmGwGop3RNLgraWxqxCgUQrqO1ebE0+AlRABFtLwY2d3gQagaBnQyUxKwBEPsrarBq+ugKJitJgZ060JpUw02sxmX0YLVbEIjRE1TMwbVQNeMbrh9HiIcTr7c8DWdUxOx2VQqqxvo2CGJZWu3MvzCXhQUH6DK7cYXCqEajJhMRiKsLjpnn09R0TY8gWZ+88BUpkyYyFuvvcCvJ7TcSxag5T1bABMnTeDL1V+SmBxHjCuSv/9jeat2Xf3RUgZfMzq8vWnN38m9dBS+xmoO7dtPVq/ck+rfGj/EWv693dDQQHp6OvX19URGRp7UPo9FTqhO0sGDB0lPTz/bhyFJkiRJ0kk4cOAAaWlpP13wBMkJ1UnSdZ3Dhw/jcrlQztBpyZNxZOZ94MCB03oq8z+FjF/Gfy7HD7INZPwy/p+KXwhBY2MjKSkpqOppeOHsvxz7LjvpJ6mqelpntqdbRETEOfmf6QgZv4z/XI4fZBvI+GX8x4v/dF7qO+L0Tc0kSZIkSZLOUXJCJUmSJEmSdIrkhKqdsVgszJw5E4vF8tOF2yEZv4z/XI4fZBvI+GX8Zyt+eVO6JEmSJEnSKZJnqCRJkiRJkk6RnFBJkiRJkiSdIjmhkiRJkiRJOkVyQiVJkiRJknSK5ISqjVizZg0jR44kJSUFRVFYunRpq/wlS5YwbNgw4uLiUBSF/Pz8E9rv+++/T7du3bBYLHTr1o0PPvigVf5jjz2GoiitfpKSkk5TVD/PmWiDnTt3csMNN5CZmYmiKDz//PPHLDd//nw6duyI1Wqlb9++fPnll6ce0M90tuJvK2PgTMS/YMECBg4cSHR0NNHR0QwZMoSvvz56Qdb22v8nEn977v8lS5aQm5tLVFQUDoeD3r178+abbx5Vri30P5y9NmjPY+D73n33XRRFYfTo0UflnY4xICdUbURzczO9evXif//3f380f8CAAcyZM+eE97lhwwZuuukmxo0bx9atWxk3bhxjxoxh48aNrcqdf/75lJWVhX+2b99+SrGcrDPRBh6Ph06dOjFnzpwf/YL4v//7P+6//36mTZvGli1bGDhwICNGjKC0tPSk4jhZZyt+aBtj4EzEv3r1asaOHcuqVavYsGEDGRkZDB06lEOHDoXLtOf+P5H4of32f0xMDNOmTWPDhg1s27aNO+64gzvuuIMVK1aEy7SV/oez1wbQfsfAESUlJTz44IMMHDjwqLzTNgaE1OYA4oMPPjhmXnFxsQDEli1bfnI/Y8aMEcOHD2+VNmzYMHHzzTeHt2fOnCl69ep1Ckd7ZpyuNvi+Dh06iOeee+6o9AsvvFBMmjSpVVrXrl3FI4888rP2fzr9kvG3xTFwJuIXQghN04TL5RKvv/56OO1c6X8hjh3/udT/QgjRp08fMX369PB2W+x/IX7ZNmjvY0DTNDFgwADx6quvivHjx4tRo0a1yj9dY0CeoWrHNmzYwNChQ1ulDRs2jPXr17dK2717NykpKXTs2JGbb76Zffv2/ZKHeVYFAgE2b958VDsNHTr0qHZqz86VMeDxeAgGg8TExADnXv//MP4jzoX+F0Lw+eefU1RUxKWXXgqce/1/rDY4oj2PgSeeeIL4+HgmTpx4VN7pHANyceR2rLy8nMTExFZpiYmJlJeXh7cvuugi3njjDbp06UJFRQVPPvkk/fv3Z+fOncTGxv7Sh/yLq66uJhQK/WQ7tWfn0hh45JFHSE1NZciQIcC51/8/jB/af/+73W5SU1Px+/0YDAbmz5/PlVdeCZw7/X+8NoD2PQbWrVvHX/7ylx+93+p0jgE5oWrnFEVptS2EaJU2YsSI8L979OhBXl4eWVlZvP7660yZMuUXO86z7afaqT07V8bA3Llzeeedd1i9ejVWq7VV3rnQ/z8Wf3vvf5fLRX5+Pk1NTXz++edMmTKFTp06MXjw4HCZ9t7/P9UG7XUMNDY2cuutt7JgwQLi4uKOW/Z0jAE5oWrHkpKSjpphV1ZWHjUT/z6Hw0GPHj3YvXv3mT68NiEuLg6DwfCz26k9a49j4Nlnn+Xpp5/ms88+o2fPnuH0c6X/fyz+Y2lv/a+qKtnZ2QD07t2bwsJCZs+ezeDBg8+Z/j9eGxxLexkDe/fuZf/+/YwcOTKcpus6AEajkaKiItLT00/bGJD3ULVjeXl5fPrpp63SVq5cSf/+/X/0M36/n8LCQpKTk8/04bUJZrOZvn37HtVOn3766XHbqT1rb2Pg97//PbNmzWL58uXk5ua2yjsX+v948R9Le+v/HxJC4Pf7gXOj/4/l+21wLO1lDHTt2pXt27eTn58f/rn22mu57LLLyM/PJz09/bSOAXmGqo1oampiz5494e3i4mLy8/OJiYkhIyOD2tpaSktLOXz4MABFRUVAy1moI4/D33bbbaSmpjJ79mwAJk+ezKWXXsozzzzDqFGj+Pvf/85nn33G2rVrw/U8+OCDjBw5koyMDCorK3nyySdpaGhg/Pjxv1ToYWeiDQKBAAUFBeF/Hzp0iPz8fJxOZ/gvtilTpjBu3Dhyc3PJy8vjz3/+M6WlpUyaNOkXix3OXvxtZQycifjnzp3LjBkzePvtt8nMzAz/Fep0OnE6nUD77v8Tib899//s2bPJzc0lKyuLQCDAsmXLeOONN3j55ZfD9bSV/oez1wbtdQxYrVa6d+/eqo6oqCiAVumnbQz8rGcCpTNm1apVAjjqZ/z48UIIIRYuXHjM/JkzZ4b3MWjQoHD5I/72t7+J8847T5hMJtG1a1fx/vvvt8q/6aabRHJysjCZTCIlJUVcf/31YufOnWc42mM7E21w5PHaH/4MGjSoVd0vvfSS6NChgzCbzeKCCy4QX3zxxZkP+AfOVvxtZQycifg7dOjwk58Rov32/4nE3577f9q0aSI7O1tYrVYRHR0t8vLyxLvvvntU3W2h/4U4e23QnsfADx3rtQlCnJ4xoAghxPGnXJIkSZIkSdLxyHuoJEmSJEmSTpGcUEmSJEmSJJ0iOaGSJEmSJEk6RXJCJUmSJEmSdIrkhEqSJEmSJOkUyQmVJEmSJEnSKZITKkmSJEmSpFMkJ1SS1MYMHjyY+++/v13Ve/vttzN69OhT2kdmZiaKoqAoCvX19T9abtGiReG3IZ8Op3t/Z6qexx57jN69e5+24zmbHnvssXBfP//882f7cCTphMgJlSRJACxZsoRZs2aFtzMzM9vcL7MnnniCsrIyIiMjf7E6b7rpJnbt2vWL1Se1LIVSVlZGWlra2T4USTphci0/SZIAiImJOduH8JNcLld4za5fis1mw2az/aJ1tlVCCEKhEEbjmf3VcWStQYPBcEbrkaTTSZ6hkqQ2rq6ujttuu43o6GjsdjsjRoxg9+7d4fwjl4pWrFhBTk4OTqeT4cOHU1ZWFi6jaRr33XcfUVFRxMbGMnXqVMaPH9/qMtz3L/kNHjyYkpISHnjggfClFzj2ZaXnn3+ezMzM8HYoFGLKlCnhuh5++GF+uMKVEIK5c+fSqVMnbDYbvXr14r333jup9lm0aBEZGRnY7Xauu+46ampqjirz4Ycf0rdvX6xWK506deLxxx9H07Rwfn19PXfffTeJiYnhBVU/+uij8P6/fynuSBu89tprZGRk4HQ6ueeeewiFQsydO5ekpCQSEhJ46qmnWh3DvHnz6NGjBw6Hg/T0dO69916amppOKmaAOXPmkJiYiMvlYuLEifh8vqPKLFy4kJycHKxWK127dmX+/Pmt8tevX0/v3r2xWq3k5uaydOlSFEUhPz8fgNWrV6MoCitWrCA3NxeLxcKXX355Qv1XUFDAVVddhdPpJDExkXHjxlFdXR3Of++99+jRowc2m43Y2FiGDBlCc3PzSbeHJJ1tckIlSW3c7bffzqZNm/jHP/7Bhg0bEEJw1VVXEQwGw2U8Hg/PPvssb775JmvWrKG0tJQHH3wwnP/MM8/w1ltvsXDhQtatW0dDQwNLly790TqXLFlCWlpa+BLb9ydnP+UPf/gDr732Gn/5y19Yu3YttbW1fPDBB63KTJ8+nYULF/Lyyy+zc+dOHnjgAW699Va++OKLE28YYOPGjUyYMIF7772X/Px8LrvsMp588slWZVasWMGtt97KfffdR0FBAa+88gqLFi0KT3h0XWfEiBGsX7+ev/71rxQUFDBnzpzjnh3Zu3cvn3zyCcuXL+edd97htdde4+qrr+bgwYN88cUXPPPMM0yfPp2vvvoq/BlVVXnhhRfYsWMHr7/+Ov/85z95+OGHf1a8RyxevJiZM2fy1FNPsWnTJpKTk4+aLC1YsIBp06bx1FNPUVhYyNNPP82MGTN4/fXXAWhsbGTkyJH06NGDb7/9llmzZjF16tRj1vfwww8ze/ZsCgsL6dmz50/2X1lZGYMGDaJ3795s2rSJ5cuXU1FRwZgxY8L5Y8eOZcKECRQWFrJ69Wquv/76oybekvQf5WcvpyxJ0hk1aNAgMXnyZCGEELt27RKAWLduXTi/urpa2Gw2sXjxYiHEv1dg37NnT7jMSy+9JBITE8PbiYmJ4ve//314W9M0kZGR0WrV9e/XK4QQHTp0EM8991yrY5s5c6bo1atXq7TnnntOdOjQIbydnJws5syZE94OBoMiLS0tXFdTU5OwWq1i/fr1rfYzceJEMXbs2B9tl2Mdz9ixY8Xw4cNbpd10000iMjIyvD1w4EDx9NNPtyrz5ptviuTkZCGEECtWrBCqqoqioqJj1rtw4cJW+5s5c6aw2+2ioaEhnDZs2DCRmZkpQqFQOO28884Ts2fP/tF4Fi9eLGJjY3+0nuPJy8sTkyZNapV20UUXteqb9PR08fbbb7cqM2vWLJGXlyeEEOLll18WsbGxwuv1hvMXLFggALFlyxYhhBCrVq0SgFi6dGm4zIn034wZM8TQoUNb5R84cEAAoqioSGzevFkAYv/+/ceN81h9LkltlbyHSpLasMLCQoxGIxdddFE4LTY2lvPOO4/CwsJwmt1uJysrK7ydnJxMZWUlAG63m4qKCi688MJwvsFgoG/fvui6flqP1+12U1ZWRl5eXjjNaDSSm5sbPvtQUFCAz+fjyiuvbPXZQCBAnz59flZ9hYWFXHfdda3S8vLyWL58eXh78+bNfPPNN60uwYVCIXw+Hx6Ph/z8fNLS0ujSpcsJ15uZmYnL5QpvJyYmYjAYUFW1VdqRPgBYtWoVTz/9NAUFBTQ0NKBpGj6fj+bmZhwOx8+Oe9KkSUfFvWrVKgCqqqo4cOAAEydO5K677gqX0TQtfEN/UVERPXv2xGq1hvO/P0a+Lzc3N/zvE+m/zZs3s2rVKpxO51H72rt3L0OHDuWKK66gR48eDBs2jKFDh3LjjTcSHR39c5pBktoUOaGSpDZM/MglECFE+L4mAJPJ1CpfUZSjPvv98sfb9/GoqnrU575/6fFEHJnEffzxx6SmprbKs1gsP2tfJxKDrus8/vjjXH/99UflWa3Wk7rh/Fjtfay0I7GWlJRw1VVXMWnSJGbNmkVMTAxr165l4sSJP7v9TsSRehcsWNBqMg6EL2X+cAwdSTuW70/4TqT/dF1n5MiRPPPMM0ftKzk5GYPBwKeffsr69etZuXIlL774ItOmTWPjxo107Njx54QqSW2GvIdKktqwbt26oWkaGzduDKfV1NSwa9cucnJyTmgfkZGRJCYm8vXXX4fTQqEQW7ZsOe7nzGYzoVCoVVp8fDzl5eWtfvEeuYH5SF3Jycmt7h3SNI3Nmze3islisVBaWkp2dnarn/T09BOK6fv7+n5dwFHbF1xwAUVFRUfVlZ2djaqq9OzZk4MHD57RVyNs2rQJTdP4wx/+wMUXX0yXLl04fPjwSe8vJyfnuHEnJiaSmprKvn37jor5yISla9eubNu2Db/f3+o4f8qJ9N8FF1zAzp07yczMPKrMkcmZoigMGDCAxx9/nC1btmA2m4+6106S/pPIM1SS1IZ17tyZUaNGcdddd/HKK6/gcrl45JFHSE1NZdSoUSe8n9/+9rfMnj2b7OxsunbtyosvvkhdXd1RZyi+LzMzkzVr1nDzzTdjsViIi4tj8ODBVFVVMXfuXG688UaWL1/OJ598QkRERPhzkydPZs6cOXTu3JmcnBzmzZvX6kWcLpeLBx98kAceeABd17nkkktoaGhg/fr1OJ1Oxo8ff8Jx3XffffTv35+5c+cyevRoVq5c2epyH8Cjjz7KNddcQ3p6Or/61a9QVZVt27axfft2nnzySQYNGsSll17KDTfcwLx588jOzua7775DURSGDx9+wsdyPFlZWWiaxosvvsjIkSNZt24df/rTn056f5MnT2b8+PHk5uZyySWX8NZbb7Fz5046deoULvPYY49x3333ERERwYgRI/D7/WzatIm6ujqmTJnCLbfcwrRp07j77rt55JFHKC0t5dlnnwWOPpv5fSfSf//1X//FggULGDt2LA899BBxcXHs2bOHd999lwULFrBp0yY+//xzhg4dSkJCAhs3bqSqquqE/0iQpLZInqGSpDZu4cKF9O3bl2uuuYa8vDyEECxbtuyoS0zHM3XqVMaOHcttt91GXl4eTqeTYcOGtbp/5oeeeOIJ9u/fT1ZWFvHx8UDLmZH58+fz0ksv0atXL77++utWTxMC/O53v+O2227j9ttvJy8vD5fLddR9TrNmzeLRRx9l9uzZ5OTkMGzYMD788MOffbnn4osv5tVXX+XFF1+kd+/erFy5kunTp7cqM2zYMD766CM+/fRT+vXrx8UXX8y8efPo0KFDuMz7779Pv379GDt2LN26dePhhx8+6uzcqejduzfz5s3jmWeeoXv37rz11lvMnj37pPd300038eijjzJ16lT69u1LSUkJ99xzT6syd955J6+++iqLFi2iR48eDBo0iEWLFoXbOCIigg8//JD8/Hx69+7NtGnTePTRRwGOOy7gp/svJSWFdevWEQqFGDZsGN27d2fy5MlERkaiqioRERGsWbOGq666ii5dujB9+nT+8Ic/MGLEiJNuE0k62xRxMjdSSJL0H03XdXJychgzZkyrt6O3ZZmZmdx///1nZVmec8Vbb73FHXfcgdvtbhMvM5V9Lv0nkWeoJOkcUFJSwoIFC9i1axfbt2/nnnvuobi4mFtuueVsH9rPMnXqVJxOJ263+2wfSrvwxhtvsHbtWoqLi1m6dClTp05lzJgxZ30y9fTTT+N0OiktLT2rxyFJP4c8QyVJ54ADBw5w8803s2PHDoQQdO/enTlz5nDppZee7UM7YSUlJeEn4jp16tTqFQXtzfnnn09JSckx81555RV+/etfn5Z65s6dy/z58ykvLyc5OZnRo0fz1FNPYbfbT8v+T1ZtbS21tbVAy4MQv+TajZJ0suSESpIkqY35/uTxh44sNyNJUtsiJ1SSJEmSJEmnqP2eM5ckSZIkSfqFyAmVJEmSJEnSKZITKkmSJEmSpFMkJ1SSJEmSJEmnSE6oJEmSJEmSTpGcUEmSJEmSJJ0iOaGSJEmSJEk6RXJCJUmSJEmSdIr+P8LA3IJS+V8mAAAAAElFTkSuQmCC\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "cube_s2rgb[['B04', 'B03', 'B02']].sel(time='2018-04-02T10:24:35.000000000').to_array().plot.imshow(vmin=0, vmax=0.3)" + ] + }, + { + "cell_type": "markdown", + "id": "b48bac83-3915-4608-8d49-8733fb5dffc2", + "metadata": {}, + "source": [ + "Show the cloud mask for the same date" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "id": "204b3296-46bc-4cdd-8255-3462931aaddf", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 20, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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ItI9SgdE4eHhePToEU6ePInevXtj//79uHfvHpYuXYpPP/1UrcpUtOjj+PHjq1zfqKJr2rZtC6GKLr9du3apUj0iIqK6jwszqkTpgOiXX37Bd999hy5dusDAwABOTk7o168frKysEB0dLbNFBhEREdUskeT5oc71+kjpmdFFRUXS9YYaNWqE+/fvA3j++vq5c+c0WzsiIiJSDtchUonSAVG7du2kb355eHhg/fr1uHPnDuLi4mBnZ6fxChIRERFVN5XmEOXm5gIAFixYgICAAOzcuRMmJibYunWrputHRERESuBbZqpROiAaOXKk9OfOnTvj1q1b+OOPP9CiRQs0btxYo5UjIiIiJXEdIpUoHRC9rH79+nj99dc1URciIiKiWqFQQFTZ/l4VWb16tcqVISIiIvVwyEw1CgVEGRkZChUmEonUqgwRERGpiesQqUShgOjw4cPVXQ8iIiKiWqP2HCIiIiKqOzhkphoGRERERLqEb5mpROmFGYmIiIh0DXuIiIiIdAiHzFTDgIiIiEiX8C0zlTAgIiIi0iHsIVIN5xARERGR3mMPERERkS6RCM8Pda7XQwyIiIiIdAnnEKmEQ2ZERESk99hDREREpENEUHNStcZqol0YEBEREekSrlStEg6ZERERkd5jQERERKRDytchUudQRWxsLJydnWFmZgZPT08cO3as0rz79u1Dv3790KRJE1hZWcHHxwdJSUkqtlgzGBARERHpEkEDh5J2796N8PBwREVFISMjA35+fhgwYACys7MrzH/06FH069cPiYmJSE9PR+/evREUFISMjAzlb64hIkHQ08FCNRUWFsLa2hq9MBhGIuParg4REdVhZUIpUvEdCgoKYGVlVS33KP+95Nt7IYyMzFQup6ysGMcPL1Sqrt7e3nj99dexbt06aZqrqyuGDBmC6Ohohcpo3749QkJCMH/+fJXqrS72EBEREekQkSCofQDPA6wXj5KSkgrv9+zZM6Snp8Pf318m3d/fH2lpaQrVWSKR4PHjx2jUqJF6jVcDAyIiIiJdItHAAcDR0RHW1tbSo7Kenvz8fIjFYtja2sqk29ra4u7duwpV+dNPP0VRURGGDRumVFM1ia/dExER6ZAXe3lUvR4AcnJyZIbMTE1Nq75OJLuCkSAIcmkV+eabb7Bw4UJ89913aNq0qQo11gwGRERERCTHyspKoTlEjRs3hqGhoVxvUF5enlyv0ct2796N0NBQ7NmzB3379lWrvurikBkREZEuqeG3zExMTODp6YmUlBSZ9JSUFHTr1q3S67755huMHTsWX3/9NQIDA5W7aTVgDxEREZEuqYWVqiMjIzFq1Ch4eXnBx8cHGzZsQHZ2NsLCwgAAc+bMwZ07d7B9+3YAz4Oh0aNH4/PPP0fXrl2lvUv16tWDtbW16nVXAwMiIiIiUktISAgePHiAxYsXIzc3F+7u7khMTISTkxMAIDc3V2ZNovXr16OsrAyTJ0/G5MmTpeljxozB1q1ba7r6ABgQERER6RR1Vpsuv14VkyZNwqRJkyo893KQk5qaqtpNqhEDIiIiIl3CzV1VwknVREREpPfYQ0RERKRDRJLnhzrX6yMGRERERLqEQ2Yq4ZAZERER6T32EBEREekSFRZXlLteDzEgIiIi0iGa2stM3zAgIiIi0iWcQ6QSziEiIiIivcceIiIiIl0iAFDn1Xn97CBiQERERKRLOIdINXVmyCw6OhoikQjh4eEy6VlZWRg0aBCsra1haWmJrl27ymwQ97JevXpBJBLJHYGBgTL5YmNj4ezsDDMzM3h6euLYsWPV0SwiIiLSAnUiIDpz5gw2bNiAjh07yqRfv34dvr6+cHFxQWpqKn777TfMmzcPZmZmlZa1b98+5ObmSo8LFy7A0NAQ77zzjjTP7t27ER4ejqioKGRkZMDPzw8DBgyoMtAiIiLSCgL+N7FapaO2G1A7aj0gevLkCUaOHIn4+Hg0bNhQ5lxUVBQGDhyIVatWoXPnzmjVqhUCAwPRtGnTSstr1KgRmjVrJj1SUlJQv359mYBo9erVCA0NxYQJE+Dq6oqYmBg4Ojpi3bp11dZOIiKiGqFWMKTmG2parNYDosmTJyMwMBB9+/aVSZdIJPjhhx/Qtm1bBAQEoGnTpvD29saBAweUKn/Tpk0YPnw4zM3NAQDPnj1Deno6/P39ZfL5+/sjLS2t0nJKSkpQWFgocxAREZFuqNWAaNeuXTh37hyio6PlzuXl5eHJkydYsWIF+vfvj+TkZAQHB2Po0KE4cuSIQuWfPn0aFy5cwIQJE6Rp+fn5EIvFsLW1lclra2uLu3fvVlpWdHQ0rK2tpYejo6OCrSQiIqpBEg0ceqjW3jLLycnBtGnTkJycXOGcIInk+RMZPHgwIiIiAAAeHh5IS0tDXFwcevbs+cp7bNq0Ce7u7njjjTfkzolEIpnPgiDIpb1ozpw5iIyMlH4uLCxkUERERHUO3zJTTa0FROnp6cjLy4Onp6c0TSwW4+jRo1izZg2KiopgZGQENzc3metcXV1x/PjxV5b/9OlT7Nq1C4sXL5ZJb9y4MQwNDeV6g/Ly8uR6jV5kamoKU1NTRZpGRERUe7hStUpqbcisT58+OH/+PDIzM6WHl5cXRo4ciczMTJiamqJLly64fPmyzHVXrlyBk5PTK8v/9ttvUVJSgvfee08m3cTEBJ6enkhJSZFJT0lJQbdu3dRvGBEREWmdWushsrS0hLu7u0yaubk5bGxspOkzZsxASEgIevTogd69e+PQoUM4ePAgUlNTpdeMHj0aDg4OcvOQNm3ahCFDhsDGxkbu3pGRkRg1ahS8vLzg4+ODDRs2IDs7G2FhYZpvKBERUU1iD5FK6vRK1cHBwYiLi0N0dDSmTp2Kdu3aISEhAb6+vtI82dnZMDCQ7ei6cuUKjh8/juTk5ArLDQkJwYMHD7B48WLk5ubC3d0diYmJCvU8ERER1WkMiFQiEgQ9bbmaCgsLYW1tjV4YDCORcW1Xh4iI6rAyoRSp+A4FBQWwsrKqlnuU/17q4/ohjAxVn/NaJi7Bz1mfVmtd66I63UNERERESpIAqPylacWu10MMiIiIiHQIX7tXTa2vVE1ERERU29hDREREpEs4qVolDIiIiIh0iUQARGoENRL9DIg4ZEZERER6jz1EREREuoRDZiphQERERKRT1AyIwICIiIiItB17iFTCOURERESk99hDREREpEskAtQa9tLTt8wYENErJf2V+co8AfYe1V4PIiJSgCB5fqhzvR7ikBkRERHpPfYQUaUU6Rl6OS97ioiIahknVauEAREREZEu4RwilXDIjIiIiPQee4iIiIh0CYfMVMKAiIiISJcIUDMg0lhNtAqHzIiIiEjvsYeIiIhIl3DITCUMiIiIiHSJRAJAjcUVJfq5MCMDIqoU1xQiItJC7CFSCecQERERkd5jDxEREZEuYQ+RShgQERER6RKuVK0SDpkRERGR3mMPERERkQ4RBAkEQfU3xdS5VpsxICIiItIlgqDesJeeziHikBkRERHpPfYQERER6RJBzUnVetpDxICIiIhIl0gkgEiNeUB6OoeIQ2ZERESk99hDREREpEs4ZKYSBkREREQ6RJBIIKgxZMbX7omIiEj7sYdIJZxDRERERHqPPURERES6RCIAIvYQKYsBERERkS4RBADqvHavnwERh8yIiIhI77GHiIiISIcIEgGCGkNmAnuIiIiISOsJEvUPFcTGxsLZ2RlmZmbw9PTEsWPHqsx/5MgReHp6wszMDK1atUJcXJxK99UUBkRERESklt27dyM8PBxRUVHIyMiAn58fBgwYgOzs7Arz37x5EwMHDoSfnx8yMjLw0UcfYerUqUhISKjhmv+PSNDXvjE1FRYWwtraGr0wGEYi49quDhER1WFlQilS8R0KCgpgZWVVLfeQ/l4SBav1e6lMKEWqsF+punp7e+P111/HunXrpGmurq4YMmQIoqOj5fLPmjUL//3vf5GVlSVNCwsLw2+//YYTJ06oXHd1sIeIiIhIl9TwkNmzZ8+Qnp4Of39/mXR/f3+kpaVVeM2JEyfk8gcEBODs2bMoLS1Vrr0awknVKirvWCtDqVoLghIRke4rw/Nf8jUxKKPu76XyuhYWFsqkm5qawtTUVC5/fn4+xGIxbG1tZdJtbW1x9+7dCu9x9+7dCvOXlZUhPz8fdnZ2qjdARQyIVPT48WMAwHEk1nJNiIhIWzx+/BjW1tbVUraJiQmaNWuG43fV/71kYWEBR0dHmbQFCxZg4cKFlV4jEolkPguCIJf2qvwVpdcUBkQqsre3R05ODiwtLWv04RUWFsLR0RE5OTnVNg5dk3SpPWxL3aVL7WFb6q6q2iMIAh4/fgx7e/tqu7+ZmRlu3ryJZ8+eqV1WRcFMRb1DANC4cWMYGhrK9Qbl5eXJ9QKVa9asWYX5jYyMYGNjo0bNVceASEUGBgZo3rx5rd3fyspKJ/4BKadL7WFb6i5dag/bUndV1p7q6hl6kZmZGczMzKr9Pi8yMTGBp6cnUlJSEBwcLE1PSUnB4MGDK7zGx8cHBw8elElLTk6Gl5cXjI1r50UlTqomIiIitURGRmLjxo3YvHkzsrKyEBERgezsbISFhQEA5syZg9GjR0vzh4WF4fbt24iMjERWVhY2b96MTZs2Yfr06bXVBPYQERERkXpCQkLw4MEDLF68GLm5uXB3d0diYiKcnJwAALm5uTJrEjk7OyMxMRERERFYu3Yt7O3t8cUXX+Ctt96qrSYwINI2pqamWLBgQaVjudpGl9rDttRdutQetqXu0rX2KGvSpEmYNGlShee2bt0ql9azZ0+cO3eummulOC7MSERERHqPc4iIiIhI7zEgIiIiIr3HgIiIiIj0HgMiIiIi0nsMiGrQ0aNHERQUBHt7e4hEIhw4cEDm/L59+xAQEIDGjRtDJBIhMzNToXITEhLg5uYGU1NTuLm5Yf/+/TLnFy5cCJFIJHM0a9aszrXl4sWLeOutt9CyZUuIRCLExMRUmC82NhbOzs4wMzODp6cnjh07plZbarM92vJs4uPj4efnh4YNG6Jhw4bo27cvTp8+LZdP08+mttpSHc+lutqzb98+eHl5oUGDBjA3N4eHhwd27Nghl08bno0ibdGWvzMv2rVrF0QiEYYMGSJ3rjr+PSPVMCCqQUVFRejUqRPWrFlT6fnu3btjxYoVCpd54sQJhISEYNSoUfjtt98watQoDBs2DKdOnZLJ1759e+Tm5kqP8+fP17m2PH36FK1atcKKFSsq/Qdu9+7dCA8PR1RUFDIyMuDn54cBAwbIrG+hitpqD6AdzyY1NRUjRozA4cOHceLECbRo0QL+/v64c+eONE91PJvaagug+edSXl9Nt6dRo0aIiorCiRMn8Pvvv2PcuHEYN24ckpKSpHm05dko0hZAO/7OlLt9+zamT58OPz8/uXPV9e8ZqUigWgFA2L9/f4Xnbt68KQAQMjIyXlnOsGHDhP79+8ukBQQECMOHD5d+XrBggdCpUyc1als1TbXlRU5OTsJnn30ml/7GG28IYWFhMmkuLi7C7NmzlSq/KjXZHm18NoIgCGVlZYKlpaWwbds2aVp1P5uabEt1PxdBqL72CIIgdO7cWZg7d670s7Y+G0GQb4s2/Z0pKysTunfvLmzcuFEYM2aMMHjwYJnzNfHvGSmOPURa7sSJE/D395dJCwgIQFpamkza1atXYW9vD2dnZwwfPhw3btyoyWpqxLNnz5Ceni7XXn9/f7n2ahNtfDZPnz5FaWkpGjVqBEC7n83LbSmnjc9FEAT8/PPPuHz5Mnr06AFAe59NRW0ppy3PZvHixWjSpAlCQ0Plzmnrc9FlXKlay929e1duN2FbW1uZXYS9vb2xfft2tG3bFvfu3cPSpUvRrVs3XLx4sdZ2FVZFfn4+xGLxK9urTbT12cyePRsODg7o27cvAO1+Ni+3BdC+51JQUAAHBweUlJTA0NAQsbGx6NevHwDtezZVtQXQnmfz66+/YtOmTZXON9K256IPGBDpAJFIJPNZEASZtAEDBkh/7tChA3x8fNC6dWts27YNkZGRNVZPTXlVe7WJNj6bVatW4ZtvvkFqaqrcrtra9mwqa4u2PRdLS0tkZmbiyZMn+PnnnxEZGYlWrVqhV69e0jza8mxe1RZteDaPHz/Ge++9h/j4eDRu3LjKvNryXPQBAyIt16xZM7n/TeTl5cn9r+NF5ubm6NChA65evVrd1dOoxo0bw9DQUOn2apO6/mw++eQTLF++HD/99BM6duwoTdfGZ1NZWypS15+LgYEB2rRpAwDw8PBAVlYWoqOj0atXL617NlW1pSJ18dlcv34dt27dQlBQkDRNIpEAAIyMjHD58mU4Ojpq1XPRB5xDpOV8fHyQkpIik5acnIxu3bpVek1JSQmysrJgZ2dX3dXTKBMTE3h6esq1NyUlpcr2apO6/Gw+/vhjLFmyBIcOHYKXl5fMOW17NlW1pSJ1+blURBAElJSUANC+Z/OyF9tSkbr4bFxcXHD+/HlkZmZKj0GDBqF3797IzMyEo6Oj1j8XXcQeohr05MkTXLt2Tfr55s2byMzMRKNGjdCiRQs8fPgQ2dnZ+OuvvwAAly9fBvC8F6j8te3Ro0fDwcEB0dHRAIBp06ahR48eWLlyJQYPHozvvvsOP/30E44fPy69z/Tp0xEUFIQWLVogLy8PS5cuRWFhIcaMGVOn2vLs2TNcunRJ+vOdO3eQmZkJCwsL6f8YIyMjMWrUKHh5ecHHxwcbNmxAdnY2wsLCVG5LbbZHW57NqlWrMG/ePHz99ddo2bKl9H+1FhYWsLCwAFA9z6a22lIdz6W62hMdHQ0vLy+0bt0az549Q2JiIrZv345169ZJ76Mtz0aRtmjD3xkzMzO4u7vL3KNBgwYAIJNeXf+ekYpq7f02PXT48GEBgNwxZswYQRAEYcuWLRWeX7BggbSMnj17SvOX27Nnj9CuXTvB2NhYcHFxERISEmTOh4SECHZ2doKxsbFgb28vDB06VLh48WKda0v5K60vHz179pS599q1awUnJyfBxMREeP3114UjR46o1ZbabI+2PBsnJ6dXXiMImn82tdWW6ngu1dWeqKgooU2bNoKZmZnQsGFDwcfHR9i1a5fcvbXh2SjSFm35O/Oyil67F4Tq+feMVCMSBEGoOmQiIiIi0m2cQ0RERER6jwERERER6T0GRERERKT3GBARERGR3mNARERERHqPARERERHpPQZEREREpPcYEJHO6NWrF8LDw3XqvmPHjsWQIUPUKqNly5YQiUQQiUT4+++/K823detW6Wq6mqDp8qrrPgsXLoSHh4fG6lObFi5cKH3WMTExtV0dIq3CgIhITfv27cOSJUukn1u2bFnnfhktXrwYubm5sLa2rrF7hoSE4MqVKzV2P3q+rUVubi6aN29e21Uh0jrcy4xITY0aNartKrySpaWldM+lmlKvXj3Uq1evRu9ZVwmCALFYDCOj6v0nt3w/NkNDw2q9D5EuYg8R6axHjx5h9OjRaNiwIerXr48BAwbg6tWr0vPlQy1JSUlwdXWFhYUF+vfvj9zcXGmesrIyTJ06FQ0aNICNjQ1mzZqFMWPGyAxjvThk1qtXL9y+fRsRERHSoQug4mGZmJgYtGzZUvpZLBYjMjJSeq+ZM2fi5Z11BEHAqlWr0KpVK9SrVw+dOnXC3r17Vfp+tm7dihYtWqB+/foIDg7GgwcP5PIcPHgQnp6eMDMzQ6tWrbBo0SKUlZVJz//999/497//DVtbW+mGlt9//720/BeHssq/g82bN6NFixawsLDAxIkTIRaLsWrVKjRr1gxNmzbFsmXLZOqwevVqdOjQAebm5nB0dMSkSZPw5MkTldoMACtWrICtrS0sLS0RGhqK4uJiuTxbtmyBq6srzMzM4OLigtjYWJnzaWlp8PDwgJmZGby8vHDgwAGIRCJkZmYCAFJTUyESiZCUlAQvLy+Ympri2LFjCj2/S5cuYeDAgbCwsICtrS1GjRqF/Px86fm9e/eiQ4cOqFevHmxsbNC3b18UFRWp/H0Q0XMMiEhnjR07FmfPnsV///tfnDhxAoIgYODAgSgtLZXmefr0KT755BPs2LEDR48eRXZ2NqZPny49v3LlSuzcuRNbtmzBr7/+isLCQhw4cKDSe+7btw/NmzeXDlG9GFy9yqefforNmzdj06ZNOH78OB4+fIj9+/fL5Jk7dy62bNmCdevW4eLFi4iIiMB7772HI0eOKP7FADh16hTGjx+PSZMmITMzE71798bSpUtl8iQlJeG9997D1KlTcenSJaxfvx5bt26VBiwSiQQDBgxAWloavvrqK1y6dAkrVqyosnfi+vXr+PHHH3Ho0CF888032Lx5MwIDA/Hnn3/iyJEjWLlyJebOnYuTJ09KrzEwMMAXX3yBCxcuYNu2bfjll18wc+ZMpdpb7ttvv8WCBQuwbNkynD17FnZ2dnLBTnx8PKKiorBs2TJkZWVh+fLlmDdvHrZt2wYAePz4MYKCgtChQwecO3cOS5YswaxZsyq838yZMxEdHY2srCx07Njxlc8vNzcXPXv2hIeHB86ePYtDhw7h3r17GDZsmPT8iBEjMH78eGRlZSE1NRVDhw6VC5yJSAW1t68skWb17NlTmDZtmiAIgnDlyhUBgPDrr79Kz+fn5wv16tUTvv32W0EQ/reD9bVr16R51q5dK9ja2ko/29raCh9//LH0c1lZmdCiRQuZXatfvK8gPN9N/bPPPpOp24IFC4ROnTrJpH322WeCk5OT9LOdnZ2wYsUK6efS0lKhefPm0ns9efJEMDMzE9LS0mTKCQ0NFUaMGFHp91JRfUaMGCH0799fJi0kJESwtraWfvbz8xOWL18uk2fHjh2CnZ2dIAiCkJSUJBgYGAiXL1+u8L5btmyRKW/BggVC/fr1hcLCQmlaQECA0LJlS0EsFkvT2rVrJ0RHR1fanm+//VawsbGp9D5V8fHxEcLCwmTSvL29ZZ6No6Oj8PXXX8vkWbJkieDj4yMIgiCsW7dOsLGxEf755x/p+fj4eAGAkJGRIQjC/3ZPP3DggDSPIs9v3rx5gr+/v8z5nJwcAYBw+fJlIT09XQAg3Lp1q8p2VvTMiahqnENEOikrKwtGRkbw9vaWptnY2KBdu3bIysqSptWvXx+tW7eWfrazs0NeXh4AoKCgAPfu3cMbb7whPW9oaAhPT09IJBKN1regoAC5ubnw8fGRphkZGcHLy0v6v/9Lly6huLgY/fr1k7n22bNn6Ny5s1L3y8rKQnBwsEyaj48PDh06JP2cnp6OM2fOyAxhicViFBcX4+nTp8jMzETz5s3Rtm1bhe/bsmVLWFpaSj/b2trC0NAQBgYGMmnlzwAADh8+jOXLl+PSpUsoLCxEWVkZiouLUVRUBHNzc6XbHRYWJtfuw4cPAwDu37+PnJwchIaG4v3335fmKSsrk05Iv3z5Mjp27AgzMzPp+Rf/jLzIy8tL+rMizy89PR2HDx+GhYWFXFnXr1+Hv78/+vTpgw4dOiAgIAD+/v54++230bBhQ2W+BiKqAAMi0klCJUMIgiBI5/UAgLGxscx5kUgkd+2L+asquyoGBgZy1704dKeI8iDshx9+gIODg8w5U1NTpcpSpA0SiQSLFi3C0KFD5c6ZmZmpNGG6ou+7orTytt6+fRsDBw5EWFgYlixZgkaNGuH48eMIDQ1V+vtTRPl94+PjZYJpANKhwJf/DJWnVeTFgE2R5yeRSBAUFISVK1fKlWVnZwdDQ0OkpKQgLS0NycnJ+PLLLxEVFYVTp07B2dlZmaYS0Us4h4h0kpubG8rKynDq1Clp2oMHD3DlyhW4uroqVIa1tTVsbW1x+vRpaZpYLEZGRkaV15mYmEAsFsukNWnSBHfv3pX5xVk+Abf8XnZ2djJzZ8rKypCeni7TJlNTU2RnZ6NNmzYyh6Ojo0JterGsF+8FQO7z66+/jsuXL8vdq02bNjAwMEDHjh3x559/Vuur9WfPnkVZWRk+/fRTdO3aFW3btsVff/2lcnmurq5VttvW1hYODg64ceOGXJvLAw4XFxf8/vvvKCkpkannqyjy/F5//XVcvHgRLVu2lMtTHlyJRCJ0794dixYtQkZGBkxMTOTmmhGR8thDRDrptddew+DBg/H+++9j/fr1sLS0xOzZs+Hg4IDBgwcrXM5//vMfREdHo02bNnBxccGXX36JR48eyfUQvKhly5Y4evQohg8fDlNTUzRu3Bi9evXC/fv3sWrVKrz99ts4dOgQfvzxR1hZWUmvmzZtGlasWIHXXnsNrq6uWL16tcxCipaWlpg+fToiIiIgkUjg6+uLwsJCpKWlwcLCAmPGjFG4XVOnTkW3bt2watUqDBkyBMnJyTLDZQAwf/58vPnmm3B0dMQ777wDAwMD/P777zh//jyWLl2Knj17okePHnjrrbewevVqtGnTBn/88QdEIhH69++vcF2q0rp1a5SVleHLL79EUFAQfv31V8TFxalc3rRp0zBmzBh4eXnB19cXO3fuxMWLF9GqVStpnoULF2Lq1KmwsrLCgAEDUFJSgrNnz+LRo0eIjIzEu+++i6ioKPz73//G7NmzkZ2djU8++QSAfG/iixR5fpMnT0Z8fDxGjBiBGTNmoHHjxrh27Rp27dqF+Ph4nD17Fj///DP8/f3RtGlTnDp1Cvfv31c4yCeiyrGHiHTWli1b4OnpiTfffBM+Pj4QBAGJiYlyQzRVmTVrFkaMGIHRo0fDx8cHFhYWCAgIkJk/8rLFixfj1q1baN26NZo0aQLgec9EbGws1q5di06dOuH06dMyb7MBwIcffojRo0dj7Nix8PHxgaWlpdw8nyVLlmD+/PmIjo6Gq6srAgICcPDgQaWHS7p27YqNGzfiyy+/hIeHB5KTkzF37lyZPAEBAfj++++RkpKCLl26oGvXrli9ejWcnJykeRISEtClSxeMGDECbm5umDlzplzvmDo8PDywevVqrFy5Eu7u7ti5cyeio6NVLi8kJATz58/HrFmz4Onpidu3b2PixIkyeSZMmICNGzdi69at6NChA3r27ImtW7dKv2MrKyscPHgQmZmZ8PDwQFRUFObPnw8AVf65AF79/Ozt7fHrr79CLBYjICAA7u7umDZtGqytrWFgYAArKyscPXoUAwcORNu2bTF37lx8+umnGDBggMrfCRE9JxJUmRBBpKckEglcXV0xbNgwmdWp67KWLVsiPDy8VrY10Rc7d+7EuHHjUFBQUCcWo+QzJ1Iee4iIqnD79m3Ex8fjypUrOH/+PCZOnIibN2/i3Xffre2qKWXWrFmwsLBAQUFBbVdFJ2zfvh3Hjx/HzZs3ceDAAcyaNQvDhg2r9WBo+fLlsLCwQHZ2dq3Wg0gbsYeIqAo5OTkYPnw4Lly4AEEQ4O7ujhUrVqBHjx61XTWF3b59W/pGVqtWrWRecdc17du3x+3btys8t379eowcOVIj91m1ahViY2Nx9+5d2NnZYciQIVi2bBnq16+vkfJV9fDhQzx8+BDA84n8Nbl3HZG2Y0BERDrjxeDvZeXbdRARVYQBEREREek93e07JyIiIlIQAyIiIiLSewyIiIiISO8xICIiIiK9x4CIiIiI9B4DIiIiItJ7DIiIiIhI7zEgIiIiIr33f9Bxj2JymejJAAAAAElFTkSuQmCC\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "cube_s2rgb.CLM.sel(time='2018-04-02T10:24:35.000000000').plot.imshow()" + ] + }, + { + "cell_type": "markdown", + "id": "bacfd1d3-29bc-4930-8346-d586a72fb5ad", + "metadata": {}, + "source": [ + "Show a pixel time series for one band" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "id": "78369972-a6b5-4a4d-b857-24169b1540a8", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[]" + ] + }, + "execution_count": 21, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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uVwhJ2O/34/Zs2fjk08+wY033oiJEydi7969uP3223HyySdj48aNcDgcAIDbbrsNd955J84991z84Q9/QEFBAb777jvs3bs37nrefvttbN68GX/+85/BcRz++Mc/4owzzsDcuXOxa9cuPPLII2hpacGiRYtw3nnnCf4PQN4xkyjbtm3DKaecggEDBmDlypXIzs7GihUr8MILL3Tb9p577sGtt96KefPm4dZbb4Xb7cb999+PE088EV9++aVwfD7xxBO48sorcd555+Evf/kLWlpacMcdd8DlckVcw8MPP4yhQ4figQceQH5+PoYMGYIPP/wQp512Go477jg89thjKCgowL///W9cdNFF6OjoEPwfdXV1OPbYY2EymXDbbbdh0KBB2LBhA+666y7s2bMHzz77LADg3//+NxYsWICFCxfigQcegMlkws6dO7Ft27aE951cfvzxR0ycOBGlpaV4+OGH0atXL/zrX//CJZdcgoMHD+LGG28M2f7mm2/GpEmT8NRTT6G1tRV//OMfMWvWLGzfvh1msznq+6h9DtCTDz74AADwi1/8IuHXeP/99zF79mxMmDAB//73v+Hz+XDffffh4MGD3ba98sorsXLlSlxzzTW499570dTUhKVLl2LixInYunUrysrKAABPP/00rrjiCkyePBmPPfYYSktL8dNPP+G7776Lu56tW7di8eLFuOWWW1BQUIA77rgD5557LhYvXoz3338f99xzj3BuOPPMM7F7927h3JPR8IThePbZZ3kA/O7duyP+3u/38x6Ph9+7dy8PgH/jjTeE391///0xnxvtveT8yOG8887jJ06cyPv9fp7neX7u3Ll8Tk5OyDYbNmzgAfD5+fn8yJEj+dWrV/Pvvfcef/755/MA+CeeeCLu+/j9fv62227jTSaTsL5+/frxmzdvjvvcDz/8kAfAf/jhhyGP+3w+vrKykj/66KOF9fM8z+/Zs4e3Wq18//79hcdefPFFHgD/yiuvhLzGV199xQPgV6xYwfM8z+/atYs3m838r3/965hrmjt3bsjr8zzPA+DLy8v59vZ24bHXX3+dB8CPGTMmZI3Lly/nAfDffPNNxNePdczEO94icdFFF/EOh4Ovq6sTHvN6vfzw4cNDXqu6upq3WCz8woULQ57f1tbGl5eX8xdeeCHP84F9X15ezh933HEh2+3du7fbvt+9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M888E3/+85+xf//+bulUKRMnTkRBQQEee+wx/PKXv6RGfSmCgps0YPjw4Rg0aBBuuukm8DyP4uJivPXWW1i7dm23bY888kgAgVLruXPnwmq1YtiwYYKSEE6vXr0illQqxW634+STT+72+MqVK2E2m7v97s4778Q777yD0047DUuWLEF+fj6eeuopbN26tVvZrsViweTJk/H+++8DAE444QQcc8wxWLJkCTo6OnDSSSehpaUFf/vb37B79+6YvTViYTKZcOedd+Lyyy/HOeecgyuuuALNzc1YsmRJN0n6l7/8JZ5//nmcfvrp+P3vf49jjz0WVqsV+/btw4cffojZs2fjnHPOwYABA3DzzTfjzjvvRGdnJ371q1+hoKAA27ZtQ0NDA+64446E1hoPJcdMItx666148803MXXqVNx2223Izs7G3//+924NGAcMGIClS5filltuwa5du3DaaaehqKgIBw8exJdffomcnBzccccdMJlMuOOOO3DllVfi/PPPx6WXXorm5mbccccdqKiokO2hePzxxzFz5kyceuqpuOSSS1BVVYWmpiZs374dX3/9NV566SUAwNKlS7F27VpMnDgR11xzDYYNG4auri7s2bMHa9aswWOPPYY+ffrgiiuugMPhwKRJk1BRUYG6ujosW7YMBQUFUVNtUj766CNMmTIFt99+u+Luw7fffrvgDbrttttQXFyM559/Hv/5z39w3333qZJOBgIq4/jx41V5LSCgBLFUjM/nw969e4VeV5MnTxaUjI6ODqxZswZA4EaFPbehoUEIJBmDBw8GICqPnZ2dQjuB5cuXw+v1Cq8BBNSSRHtH3XnnnTjttNMwffp0/OEPf4DP58O9996LnJwcNDU1CdtNmjQJv/vd7zBv3jxs3LgRJ510EnJyclBbW4tPP/0URx55JP7v//4Pubm5ePDBB3H55Zdj2rRpuOKKK1BWVoadO3di69ateOSRRxJapxyee+45XHrppXjmmWcwZ84cAIGbtUGDBmHu3Lkh7SjC93Hao5+XmYhGpOqVbdu28dOnT+fz8vL4oqIi/oILLuCrq6u7VVjwPM8vXryYr6ysFCqJkqlASJZI1VKMb7/9lj/jjDP4vLw83m6388cffzz/1ltvddsOAD958uSQx5qbm/lbbrmFHzFiBJ+dnc2XlpbyJ598Mr9mzZq4a4pWLcV46qmn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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "cube_s2rgb.B03.sel(lat=46.8, lon=11.2, method='nearest').plot()" + ] + }, + { + "cell_type": "markdown", + "id": "69b04b3b-eb71-4780-be6d-8ecee3ce7a89", + "metadata": {}, + "source": [ + "### Create the snowmap data cube" + ] + }, + { + "cell_type": "markdown", + "id": "6d1a5b05-d0c7-4aec-a08c-a6bd8dd37180", + "metadata": {}, + "source": [ + "After cloud masking, snow map can be obtained by thresholding the Normalized Difference Snow Index (NDSI) which is computed as:\n", + "\n", + "$$ NDSI = \\frac {GREEN - SWIR} {GREEN +SWIR} $$\n", + "\n", + "We will therefore create a Sentinel-2 data cube with bands B03 (green), B11 (SWIR) and the cloud mask (CLM). To speed up the computation of the SCA we will set the resolution equal to 0.0018 degrees, which correspond roughly to 100 m. This resolution is generally enough to get reliable estimate of snow cover area over a catchment." + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "365961e1-6b0b-43c4-b21d-b46ad1a4a155", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/home/conda/master-asi-conae/315434deb1b1e05eacacc41e1b0529b1837100f46402a32041d77ba54ae6c5f3-20230213-125825-013239-74-edc-2022.10-14/lib/python3.9/site-packages/xcube_sh/config.py:248: FutureWarning: Units 'M', 'Y' and 'y' do not represent unambiguous timedelta values and will be removed in a future version.\n", + " time_tolerance = pd.to_timedelta(time_tolerance)\n" + ] + } + ], + "source": [ + "cube_config_s2snowmap = CubeConfig(\n", + " dataset_name='S2L2A',\n", + " band_names=['B03', 'B11', 'CLM'],\n", + " bbox=bbox.tolist(),\n", + " spatial_res=0.0018,\n", + " time_range=[start_date.strftime(\"%Y-%m-%d\"), end_date.strftime(\"%Y-%m-%d\")],\n", + " downsampling='BILINEAR'\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "01b956ca-439a-4793-b309-1b82350c4fec", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "
<xarray.Dataset>\n",
+       "Dimensions:    (time: 58, lat: 167, lon: 192, bnds: 2)\n",
+       "Coordinates:\n",
+       "  * lat        (lat) float64 46.95 46.95 46.95 46.95 ... 46.66 46.66 46.66 46.65\n",
+       "  * lon        (lon) float64 11.02 11.02 11.03 11.03 ... 11.36 11.36 11.36 11.37\n",
+       "  * time       (time) datetime64[ns] 2018-02-01T10:22:37 ... 2018-06-28T10:13:58\n",
+       "    time_bnds  (time, bnds) datetime64[ns] dask.array<chunksize=(58, 2), meta=np.ndarray>\n",
+       "Dimensions without coordinates: bnds\n",
+       "Data variables:\n",
+       "    B03        (time, lat, lon) float32 dask.array<chunksize=(1, 167, 192), meta=np.ndarray>\n",
+       "    B11        (time, lat, lon) float32 dask.array<chunksize=(1, 167, 192), meta=np.ndarray>\n",
+       "    CLM        (time, lat, lon) float32 dask.array<chunksize=(1, 167, 192), meta=np.ndarray>\n",
+       "Attributes:\n",
+       "    Conventions:             CF-1.7\n",
+       "    title:                   S2L2A Data Cube Subset\n",
+       "    history:                 [{'program': 'xcube_sh.chunkstore.SentinelHubChu...\n",
+       "    date_created:            2023-02-17T09:42:47.174581\n",
+       "    time_coverage_start:     2018-02-01T10:22:37+00:00\n",
+       "    time_coverage_end:       2018-06-28T10:13:58+00:00\n",
+       "    time_coverage_duration:  P146DT23H51M21S\n",
+       "    geospatial_lon_min:      11.020833333333357\n",
+       "    geospatial_lat_min:      46.653599378797765\n",
+       "    geospatial_lon_max:      11.366433333333356\n",
+       "    geospatial_lat_max:      46.95419937879777\n",
+       "    processing_level:        L2A
" + ], + "text/plain": [ + "\n", + "Dimensions: (time: 58, lat: 167, lon: 192, bnds: 2)\n", + "Coordinates:\n", + " * lat (lat) float64 46.95 46.95 46.95 46.95 ... 46.66 46.66 46.66 46.65\n", + " * lon (lon) float64 11.02 11.02 11.03 11.03 ... 11.36 11.36 11.36 11.37\n", + " * time (time) datetime64[ns] 2018-02-01T10:22:37 ... 2018-06-28T10:13:58\n", + " time_bnds (time, bnds) datetime64[ns] dask.array\n", + "Dimensions without coordinates: bnds\n", + "Data variables:\n", + " B03 (time, lat, lon) float32 dask.array\n", + " B11 (time, lat, lon) float32 dask.array\n", + " CLM (time, lat, lon) float32 dask.array\n", + "Attributes:\n", + " Conventions: CF-1.7\n", + " title: S2L2A Data Cube Subset\n", + " history: [{'program': 'xcube_sh.chunkstore.SentinelHubChu...\n", + " date_created: 2023-02-17T09:42:47.174581\n", + " time_coverage_start: 2018-02-01T10:22:37+00:00\n", + " time_coverage_end: 2018-06-28T10:13:58+00:00\n", + " time_coverage_duration: P146DT23H51M21S\n", + " geospatial_lon_min: 11.020833333333357\n", + " geospatial_lat_min: 46.653599378797765\n", + " geospatial_lon_max: 11.366433333333356\n", + " geospatial_lat_max: 46.95419937879777\n", + " processing_level: L2A" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "cube_s2snowmap = open_cube(cube_config_s2snowmap)\n", + "cube_s2snowmap" + ] + }, + { + "cell_type": "markdown", + "id": "d267b5fe-fb58-4ef5-84b7-26f2bbb2f567", + "metadata": {}, + "source": [ + "Compute the NDSI and add it to the cube" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "96d46ae6-a6c7-4afe-95f7-8a197b1c1575", + "metadata": {}, + "outputs": [], + "source": [ + "ndsi=(cube_s2snowmap.B03 - cube_s2snowmap.B11) / (cube_s2snowmap.B03 + cube_s2snowmap.B11)\n", + "\n", + "ndsi.attrs['long_name']='Normalized Difference Snow Index'\n", + "ndsi.attrs['units']='unitless'\n", + "\n", + "cube_s2snowmap['NDSI']=ndsi" + ] + }, + { + "cell_type": "markdown", + "id": "715c7785-4dda-4c4e-a279-ee742ccd540b", + "metadata": {}, + "source": [ + "Visualize an NDSI image for a specific date" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "66a9308a-9819-4eaf-90bc-205b06a782a5", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAmkAAAHFCAYAAACpR27aAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/P9b71AAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOx9ebxNZfv+dcxKTpFMmctMZJ6VUMmYUnnJ1ERfSojwpkyNSCU0kKEMmVIylSFTyVBClCGSXlGZinD274/zu9Z69rXXc/bZx9jpuT4fn22vvdYzr3XWc933fd1xoVAoBAcHBwcHBwcHh0sKaS52AxwcHBwcHBwcHCLhXtIcHBwcHBwcHC5BuJc0BwcHBwcHB4dLEO4lzcHBwcHBwcHhEoR7SXNwcHBwcHBwuAThXtIcHBwcHBwcHC5BuJc0BwcHBwcHB4dLEO4lzcHBwcHBwcHhEoR7SXNwcHBwcHBwuAThXtIcLihWrVqFAQMG4I8//oj4rW7duqhbt+4Fb9OFwPbt29GjRw9UqFABV155JbJly4YaNWrggw8+CDz/wIEDaNeuHa6++mpcdtllqFatGj799NOI8z766CO0bdsWZcqUQfr06REXF2dtww8//IA2bdogf/78yJw5M4oUKYLu3bvj0KFDye5Hcttl4q+//kLRokURFxeHl156Kdl1AcCrr76K4sWLI2PGjChUqBCeeeYZnDp1KuycmTNn4t5778V1112HzJkzo2DBgmjdujW+//5775wBAwYgLi4u6j+uv82bN6Nz586oVq0aLr/8csTFxWHp0qXWdk6ZMgXlypVDpkyZkCdPHjz22GM4duxYsvr41ltvoVmzZihYsCAyZ86M6667Do888gj279+f5HX/+9//kD17dsTFxVnXkeL9999H7dq1kTNnTmTMmBF58uRB48aNsWrVqohzCxYsGDhGDz/8cLLqcnBwOAcIOThcQLz44oshAKFdu3ZF/LZ58+bQ5s2bL3yjLgBeffXVUPHixUODBw8OLVy4MDRv3rzQ/fffHwIQeuaZZ8LOPXHiRKh06dKha6+9NjRp0qTQwoULQ02bNg2lS5cutHTp0rBzO3ToELr++utDd999d6hChQoh2y194MCBUPbs2UOFChUKjR8/PvTZZ5+FXn755VCWLFlC5cqVC505cyZqH2Jpl4knnngilCdPnhCA0IsvvpiM0UrEoEGDQnFxcaE+ffqElixZEnrhhRdCGTJkCD3wwANh51WuXDnUpEmT0DvvvBNaunRpaOLEiaESJUqEsmTJEvr2229DoVAotHfv3tDq1au9fzNnzgwBCP3f//1f2HGuv/Hjx4dy584duv3220ONGzcOAQgtWbIksJ2TJk0KAQh16tQp9Nlnn4VGjx4dio+PD9WvXz9Z/cyTJ0+odevWocmTJ4eWLl0aGjNmTOjaa68N5c6dO/TLL79Yr7vzzju9cZ0+fXqy6nr11VdDvXv3Dn3wwQehpUuXht5///1QpUqVQmnTpo2YwwIFCoRq1KgRNj6rV68O7dy5M1l1OTg4nD3cS5rDBUVSL2mpGb/++msoISEh4nijRo1Cl112WejEiRPesddffz0EILRq1Srv2KlTp0IlS5YMVa5cOex68+WqS5cu1pe0N998MwQgtHjx4rDjQ4YMCQEIrV+/PmofYmkX8cUXX4QyZMgQmj59ekwvaQcPHgxlypQp9OCDD4YdHzx4cCguLi7sZf5///tfxPX79u0LpU+fPtSxY8fA8nft2pVke8xxZduDXtJOnz4dyp07d6hBgwZhxydPnhwCEJo3b561j0m1f+3atSEAoYEDBwZe88EHH4SyZMkSevfdd2N6SQvCH3/8EUqfPn2oTZs2YccLFCgQatSoUYrLdXBwOHs4c6fDBcOAAQPQs2dPAEChQoU88wnNSGru3L17N+Li4vDiiy/i+eef98xBdevWxfbt23Hq1Cn07t0befLkQXx8PJo3b44DBw5E1Dt16lTPbJUlSxY0bNgQGzZsuBBd9nD11VcHmiIrV66MP//8E7/99pt3bNasWShWrBiqVavmHUuXLh3+85//4Msvv8S+ffu842nSJO8WTp8+PQAgPj4+7PiVV14JAMiUKVPUMmJpFwD8/fff6NChA7p06YKKFSsmq53E/PnzceLECbRv3z7sePv27REKhTB79mzv2DXXXBNxfZ48eXDttddi7969MdVLJHdc16xZg/3790e086677kKWLFkwa9asqGUEtb9ChQpImzZtYPt/++03dOnSBYMHD0b+/PmT1c6kcMUVVyBTpkxIly7dWZfl4OBwbuFe0hwuGDp16oT/+7//A5DoR7R69WqsXr0aN954Y5LXvf7661i5ciVef/11vPXWW/juu+/QuHFjdOzYEb/++iveeecd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pOCTTz5BkyZNULx4cXzxxRfZmr/ly5ejY8eOKFOmDCpWrIhu3brh559/Dn5/++23kZaWhpIlS6J8+fI477zz8Pvvv+d6PAwGQ8GFvaQZkhbXX389FixYgA8++ABz5sxBLBZDx44dsXv37uCcHTt24Mknn8Srr76KGTNmYMOGDbj33nuD34cMGYJx48bh5ZdfxqxZs7Bt2za899573jrfeecdnHjiiYF50X3hywpPPfUUXnrpJYwePRozZ87Er7/+infffTfunIceeggvv/wynnvuOSxbtgx33XUXrr32Wnz++efZHxgA8+bNw4033ojbb78dS5YsQZs2bTBgwIC4cz755BNce+216NGjB5YvX47nn38eY8aMCV6i9u3bhw4dOmD27Nl47bXXsHz5cgwePDhTFmfNmjX4+OOPMWnSJLzxxht46aWXcMEFF+C7777D559/jiFDhuChhx7C3Llzg2sKFSqEf/7zn1i6dCnGjh2Lzz77DL17985Rf4m33noLffv2xeOPP44FCxagUqVKCS9go0aNQp8+ffD4449jxYoVGDhwIB5++GGMHTsWAPDbb7+hU6dOSEtLw6JFi/DYY4/h/vvvj6yvd+/eGDRoEFasWIHTTz89y/nbtGkTWrVqhQYNGmDBggWYNGkSfvzxR3Tu3Dn4/aqrrsKNN96IFStWYPr06bjssssSXuYNBkOSIP9yuxsMBxetWrWK9ezZMxaLxWKrVq2KAYjNmjUr+P3nn3+OlSxZMvbWW2/FYrFY7OWXX44BiH377bfBOc8880ysYsWKwfeKFSvGnnjiieD7nj17YlWrVo1dfPHFkfXGYrFYtWrVYsOHD49rW9++fWP169ePOzZ8+PBYtWrVgu+VKlWKDR48OPi+e/fu2IknnhjUtX379liJEiVis2fPjivnpptuil111VXecYlqz1VXXRVr37593LEuXbrEUlNTg+/nnHNObODAgXHnvPrqq7FKlSrFYrFY7JNPPokVKlQolp6eHlnvyy+/HFde3759Y6VKlYpt27YtONauXbtY9erVY3v37g2O1a5dOzZo0CBvf956661Y+fLlvfVkhubNm8duu+22uGPNmjWLm5sqVarEXn/99bhzHnvssVjz5s1jsVgs9txzz8XKly8f++OPP4LfR40aFQMQW7x4cSwWi8WmTZsWAxB77733gnOyM38PP/xwrG3btnG/b9y4MQYglp6eHlu4cGEMQGzdunWZ9jNqzg0Gw+EH80kzJCVWrFiBIkWKoFmzZsGx8uXLo3bt2lixYkVwrFSpUjj55JOD75UqVcKWLVsAABkZGfjxxx9xxhlnBL8XLlwYjRs3xr59+w5qezMyMrBp0yY0b948OFakSBE0adIkYEmWL1+OnTt34vzzz4+79s8//0TDhg1zVN+KFStw6aWXxh1r3rw5Jk2aFHxfuHAhvvzyyzjz4969e7Fz507s2LEDS5YswYknnohatWplu97q1aujbNmywfeKFSuicOHCKFSoUNwxzgEATJs2DQMHDsTy5cuxbds27NmzBzt37sTvv/+O0qVL57jft912W0K/p02bBgD46aefsHHjRtx00024+eabg3P27NkTBF2kp6fj9NNPR4kSJYLf3TXiokmTJsH/szN/CxcuxLRp01CmTJmEstasWYO2bdvi3HPPRVpaGtq1a4e2bdviiiuuwDHHHJOTYTAYDIcJ7CXNkJSIecw/sVgs8BMDgKJFi8b9npKSknCte35mZWeGQoUKJVznml2zA74YfvjhhzjhhBPifitevHiOyspOH/bt24f+/fvjsssuS/itRIkSuQoKiBrvqGPs6/r169GxY0fcdttteOyxx1CuXDnMnDkTN910U47HLztgvaNGjYp7wQcQmHF1DfFYFNyXyOzM3759+9CpUycMGTIkoaxKlSqhcOHCmDJlCmbPno3JkydjxIgR6NOnD+bNm4caNWrkpKsGg+EwgPmkGZISp556Kvbs2YN58+YFx3755ResWrUKdevWzVYZqampqFixIubPnx8c27t3LxYvXpzpdcWKFcPevXvjjh177LHYvHlz3B9zOpmzrkqVKsX5Yu3ZswcLFy6M61Px4sWxYcMG1KxZM+5flSpVstUntyy3LgAJ3xs1aoT09PSEumrWrIlChQrh9NNPx3fffXdIZTYWLFiAPXv24KmnnsKZZ56JWrVq4Ycffsh1eXXr1s203xUrVsQJJ5yA//73vwl95ktQnTp18PXXX2PXrl1x7cwK2Zm/Ro0aYdmyZahevXrCOXzhS0lJwVlnnYX+/ftj8eLFKFasWILvosFgSA4Yk2ZISpxyyim4+OKLcfPNN+P5559H2bJl8cADD+CEE07AxRdfnO1y/v73v2PQoEGoWbMm6tSpgxEjRmDr1q0JTIqL6tWrY8aMGejatSuKFy+OChUqoHXr1vjpp58wdOhQXHHFFZg0aRI+/vhjHHXUUcF1PXv2xODBg3HKKaegbt26GDZsWJz4bNmyZXHvvffirrvuwr59+3D22Wdj27ZtmD17NsqUKYPrrrsu2/3q0aMHWrRogaFDh+KSSy7B5MmT40ydAPDII4/gwgsvRJUqVXDllVeiUKFC+Prrr/HNN99gwIABaNWqFVq2bInLL78cw4YNQ82aNbFy5UqkpKSgffv22W5LZjj55JOxZ88ejBgxAp06dcKsWbMwcuTIXJfXs2dPXHfddWjSpAnOPvtsjBs3DsuWLcNJJ50UnNOvXz/06NEDRx11FDp06IBdu3ZhwYIF2Lp1K+6++25cffXV6NOnD2655RY88MAD2LBhA5588kkAiayri+zM3x133IFRo0bhqquuwn333YcKFSrg22+/xfjx4zFq1CgsWLAAU6dORdu2bXHcccdh3rx5+Omnn7K98TAYDIcXjEkzJC1efvllNG7cGBdeeCGaN2+OWCyGjz76KMG8lhnuv/9+XHXVVejevTuaN2+OMmXKoF27dnH+SIpHH30U69atw8knn4xjjz0WwH4G59lnn8UzzzyD+vXrY/78+XFRpABwzz33oHv37rj++uvRvHlzlC1bNsFv7LHHHsMjjzyCQYMGoW7dumjXrh0mTpyYY1PXmWeeiRdffBEjRoxAgwYNMHnyZDz00ENx57Rr1w7/+c9/MGXKFDRt2hRnnnkmhg0bhmrVqgXnTJgwAU2bNsVVV12FU089Fb17905gEQ8EDRo0wLBhwzBkyBDUq1cP48aNw6BBg3JdXpcuXfDII4/g/vvvR+PGjbF+/Xr87W9/izvnr3/9K1588UWMGTMGaWlpaNWqFcaMGROM8VFHHYWJEydiyZIlaNCgAfr06YNHHnkEADJdF0DW81e5cmXMmjULe/fuRbt27VCvXj307NkTqampKFSoEI466ijMmDEDHTt2RK1atfDQQw/hqaeeQocOHXI9JgaDoeAiJZYbBxuD4QjFvn37ULduXXTu3Dkuy0BBRvXq1dGrV698SZl1pGDcuHG44YYbkJGRUSAEfG3ODYbkgDFpBkMmWL9+PUaNGoVVq1bhm2++wd/+9jesXbsWV199dX43LUe4//77UaZMGWRkZOR3U5ICr7zyCmbOnIm1a9fivffew/3334/OnTvn+wvawIEDUaZMGWzYsCFf22EwGA4OjEkzGDLBxo0b0bVrVyxduhSxWAz16tXD4MGD0bJly/xuWraxfv36IBLypJNOipO7SDacdtppWL9+feRvzz//PK655pqDUs/QoUPx7LPPYvPmzahUqRIuueQSPP744yhVqtRBKT+3+PXXX/Hrr78C2B+skpe5Wg0Gw8GHvaQZDIakgftCqmAqKIPBYDhcYC9pBoPBYDAYDAUQyWv3MBgMBoPBYDiMYS9pBoPBYDAYDAUQ9pJmMBgMBoPBUABhL2kGg8FgMBgMBRD2kmYwGAwGg8FQAGEvaQaDwWAwGAwFEPaSZjAYDAaDwVAAYS9pBoPBYDAYDAUQ/w9bcCmmllE3qQAAAABJRU5ErkJggg==\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "cube_s2snowmap.NDSI.sel(time='2018-04-02T10:24:35.000000000').plot.imshow(vmin=-1, vmax=1, cmap='gray')" + ] + }, + { + "cell_type": "markdown", + "id": "fa34a83e-0ef0-4c84-9547-9c607f7e28e6", + "metadata": {}, + "source": [ + "Create the snow cover maps by setting a threshold equal to 0.4 on the NDSI" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "566056c7-d58b-4c45-ac41-a337998a7d37", + "metadata": {}, + "outputs": [], + "source": [ + " cube_s2snowmap['snowmap'] = cube_s2snowmap.NDSI > 0.4" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "id": "c90aaa18-ef19-4ed9-ad16-e3f37919ce91", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "
<xarray.Dataset>\n",
+       "Dimensions:    (time: 58, lat: 167, lon: 192, bnds: 2)\n",
+       "Coordinates:\n",
+       "  * lat        (lat) float64 46.95 46.95 46.95 46.95 ... 46.66 46.66 46.66 46.65\n",
+       "  * lon        (lon) float64 11.02 11.02 11.03 11.03 ... 11.36 11.36 11.36 11.37\n",
+       "  * time       (time) datetime64[ns] 2018-02-01T10:22:37 ... 2018-06-28T10:13:58\n",
+       "    time_bnds  (time, bnds) datetime64[ns] dask.array<chunksize=(58, 2), meta=np.ndarray>\n",
+       "Dimensions without coordinates: bnds\n",
+       "Data variables:\n",
+       "    B03        (time, lat, lon) float32 dask.array<chunksize=(1, 167, 192), meta=np.ndarray>\n",
+       "    B11        (time, lat, lon) float32 dask.array<chunksize=(1, 167, 192), meta=np.ndarray>\n",
+       "    CLM        (time, lat, lon) float32 dask.array<chunksize=(1, 167, 192), meta=np.ndarray>\n",
+       "    NDSI       (time, lat, lon) float32 dask.array<chunksize=(1, 167, 192), meta=np.ndarray>\n",
+       "    snowmap    (time, lat, lon) bool dask.array<chunksize=(1, 167, 192), meta=np.ndarray>\n",
+       "Attributes:\n",
+       "    Conventions:             CF-1.7\n",
+       "    title:                   S2L2A Data Cube Subset\n",
+       "    history:                 [{'program': 'xcube_sh.chunkstore.SentinelHubChu...\n",
+       "    date_created:            2023-02-17T09:42:47.174581\n",
+       "    time_coverage_start:     2018-02-01T10:22:37+00:00\n",
+       "    time_coverage_end:       2018-06-28T10:13:58+00:00\n",
+       "    time_coverage_duration:  P146DT23H51M21S\n",
+       "    geospatial_lon_min:      11.020833333333357\n",
+       "    geospatial_lat_min:      46.653599378797765\n",
+       "    geospatial_lon_max:      11.366433333333356\n",
+       "    geospatial_lat_max:      46.95419937879777\n",
+       "    processing_level:        L2A
" + ], + "text/plain": [ + "\n", + "Dimensions: (time: 58, lat: 167, lon: 192, bnds: 2)\n", + "Coordinates:\n", + " * lat (lat) float64 46.95 46.95 46.95 46.95 ... 46.66 46.66 46.66 46.65\n", + " * lon (lon) float64 11.02 11.02 11.03 11.03 ... 11.36 11.36 11.36 11.37\n", + " * time (time) datetime64[ns] 2018-02-01T10:22:37 ... 2018-06-28T10:13:58\n", + " time_bnds (time, bnds) datetime64[ns] dask.array\n", + "Dimensions without coordinates: bnds\n", + "Data variables:\n", + " B03 (time, lat, lon) float32 dask.array\n", + " B11 (time, lat, lon) float32 dask.array\n", + " CLM (time, lat, lon) float32 dask.array\n", + " NDSI (time, lat, lon) float32 dask.array\n", + " snowmap (time, lat, lon) bool dask.array\n", + "Attributes:\n", + " Conventions: CF-1.7\n", + " title: S2L2A Data Cube Subset\n", + " history: [{'program': 'xcube_sh.chunkstore.SentinelHubChu...\n", + " date_created: 2023-02-17T09:42:47.174581\n", + " time_coverage_start: 2018-02-01T10:22:37+00:00\n", + " time_coverage_end: 2018-06-28T10:13:58+00:00\n", + " time_coverage_duration: P146DT23H51M21S\n", + " geospatial_lon_min: 11.020833333333357\n", + " geospatial_lat_min: 46.653599378797765\n", + " geospatial_lon_max: 11.366433333333356\n", + " geospatial_lat_max: 46.95419937879777\n", + " processing_level: L2A" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "cube_s2snowmap" + ] + }, + { + "cell_type": "markdown", + "id": "6833b18d-bb82-4804-adc4-9fa11d411e88", + "metadata": {}, + "source": [ + "Add the cloud mask" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "id": "8ae33a21-245f-4628-b1f0-ad1706a1c400", + "metadata": {}, + "outputs": [], + "source": [ + "cube_s2snowmap['snowmap'] = cube_s2snowmap.snowmap.where(cube_s2snowmap.CLM==0) " + ] + }, + { + "cell_type": "markdown", + "id": "bff9dbd9-2058-4da3-bf48-5eb3cf1412d3", + "metadata": {}, + "source": [ + "Show a snow map (no snow = 0, snow = 1, cloud = NaN)" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "id": "a438e88a-f3ce-451b-a1ea-19c6c9fb80bc", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 15, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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k9nx48eRmpqKn376CRUrVkSzZs3QoUMHoxeO/qd09MbW+xTx6dR6GGMBVnuPDBUzRWRUbPSNUTqyNkVFRdi7dy8yMjKgUCgQEhKC2NhYVX9hqSRXiIBnc/hER0ejQ4cOcHFxMdpEjURERGQYe+hUffXqVXTv3h23b99Go0aNIAgCLl++jLp162L//v2qLj1SSK4QKZVKzJ07FytXrsQff/yBy5cvIygoCNOnT0dAQACGDx8uuRAknSX19yH7xCie8ZnymorNm/fVBthBk9mYMWNQr149nDx5ElWrVgUA3L9/H6+//jrGjBmD/fv3S85Tcm/gxMREbNy4EQsXLoSzs7MqvWnTpnbToZqIiIjM5+jRo1i4cKGqMgQA3t7emD9/Po4ePSorT8kVok2bNmH16tUYMGCAWjtds2bN8Ouvv8oqBBERERmJ8L9mMzkva4gQubi44OHDhxrpeXl5asEaKSRXiG7fvo369etrpCuVShQUFMgqBNmWGN8wdsykMh36PZ1NM0SmYgczVf/rX//Cv//9b/zwww+qlShOnjyJkSNHolevXrLylFwhatKkCb777juN9M8++wwtWrSQVQgiIiIisT766CPUq1cPkZGRcHV1haurK9q1a4f69evjww8/lJWn5E7VM2bMwMCBA3H79m0olUrs3r0bly5dwqZNm/Df//5XViGIiMi8OBmqDbGDTtWVK1fG559/jitXruDXX3+FIAho3Lix1hYssSRXiHr27Int27dj3rx5UCgUeO+99/Dcc89h3759ePHFF2UXhIiIiAxnD8PuizVo0AANGhhn1LWseYhiYmIQExNjlAKQ7eETJpE85lw+g79b6RhVM5+ioiJs3LgRX3/9NXJycqBUKtU+/+abbyTnKatCRERERGQuY8eOxcaNG9GjRw+EhoYaZYJoURWiKlWqiD7Yn3/+aVCByHrw6YjItLjgqvlY9d83O+hDtG3bNuzYsQPdu3c3Wp6iKkTJycmqf9+/fx+JiYmIiYlBZGQkAODEiRM4dOgQpk+fbrSCERERkXT20IfI2dnZoA7U2igEQZB06i+99BI6d+6Mt956Sy192bJl+Oqrr7B3715jls9i5ebmwsvLC39dDoKnh+TZC4jsEuenMi6rjF5YmbIiRVIieLkPlajS8DoePHgAT09P4xWw5DH+//+l+lPmwdHVVXY+RU+e4Or8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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "cube_s2snowmap.snowmap.sel(time='2018-04-02T10:24:35.000000000').plot.imshow()" + ] + }, + { + "cell_type": "markdown", + "id": "7a7b1bbd-56c8-4563-ba0b-f8da9d75ee45", + "metadata": {}, + "source": [ + "### Catchment SCA time series" + ] + }, + { + "cell_type": "markdown", + "id": "a9c33bc8-a937-4bca-a3ce-44cf7d95b68b", + "metadata": {}, + "source": [ + "Mask with the catchment outline" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "id": "7a6caabd-91da-46f6-828e-b3b6103d6f14", + "metadata": {}, + "outputs": [], + "source": [ + "cube_s2snowmap_masked = mask_dataset_by_geometry(cube_s2snowmap, catchment_outline.iloc[0].geometry)" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "id": "e291753e-af7d-4746-9967-c126d47801fc", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 17, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkQAAAHFCAYAAAAT5Oa6AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/P9b71AAAACXBIWXMAAA9hAAAPYQGoP6dpAAB2G0lEQVR4nO3deVhU5dsH8O8AAsqmooKoLGoKiIqCC4pbKriEiJlopuZSmZb7Gu6iuJRaKqLmruWuZZlAJZq7IpQLuStkGGEpooHCnPcPX+bnMAzMOTMww8z3c11zXfLMOc95zhyVe+5nkwmCIICIiIjIhJnpuwFERERE+saAiIiIiEweAyIiIiIyeQyIiIiIyOQxICIiIiKTx4CIiIiITB4DIiIiIjJ5DIiIiIjI5DEgIiIiIpPHgIjK1KlTpzBnzhw8evRI5b2OHTuiY8eOZd6msnD9+nVMmjQJfn5+qFy5MqpWrYq2bdti7969RR6fkZGBd999F9WqVUOlSpUQEBCAn376SeW47777DoMHD0bjxo1RoUIFyGQytW24efMmBg0aBFdXV1SsWBH16tXDhAkT8PDhQ43vQ9N2veq///5DgwYNIJPJ8Omnn2p8LQBYuXIlPD09YWVlBQ8PD8ydOxcvXrxQOmb//v0YMGAA6tevj4oVK8Ld3R0DBw7EjRs3FMfMmTMHMpmsxFfB378rV65g1KhRCAgIgI2NDWQyGRISEtS2c+fOnfD19YW1tTVcXFwwbtw4ZGdna3SPX375JXr37g13d3dUrFgR9evXx4cffoj09PRiz/vrr7/g6OgImUym9u9RYV9//TXat28PJycnWFlZwcXFBSEhITh16pTKse7u7kV+RiNHjtToWkTljkBUhpYuXSoAEO7cuaPy3pUrV4QrV66UfaPKwMqVKwVPT09hwYIFQlxcnHD48GFhyJAhAgBh7ty5Ssfm5OQIPj4+Qu3atYXt27cLcXFxQmhoqGBhYSEkJCQoHTts2DDhtddeE/r16yf4+fkJ6v5JZ2RkCI6OjoKHh4ewefNm4eeffxY+++wzwdbWVvD19RXy8/NLvAcx7XrVxIkTBRcXFwGAsHTpUg0+rZciIyMFmUwmTJ8+XTh69KiwZMkSwdLSUnjvvfeUjmvZsqXQq1cvYePGjUJCQoKwbds2wcvLS7C1tRUuX74sCIIgpKWlCadPn1a89u/fLwAQPv74Y6Xygr9/mzdvFmrWrCn06NFDCAkJEQAIR48eLbKd27dvFwAII0aMEH7++WchJiZGcHBwELp27arRfbq4uAgDBw4UduzYISQkJAhr164VateuLdSsWVN48OCB2vPefPNNxee6Z88eja61cuVKYdq0acLevXuFhIQE4euvvxZatGghmJubqzxDNzc3oW3btkqfz+nTp4Xbt29rdC2i8oYBEZWp4gIiY/b3338Lcrlcpbxnz55CpUqVhJycHEXZ6tWrBQDCqVOnFGUvXrwQvL29hZYtWyqd/2ogM3r0aLUB0fr16wUAwo8//qhUvnDhQgGAcPHixRLvQUy7Cpw9e1awtLQU9uzZIyogyszMFKytrYX3339fqXzBggWCTCZTCpz/+usvlfPv378vVKhQQRg+fHiR9d+5c6fY9rz6uRa0vaiAKC8vT6hZs6YQFBSkVL5jxw4BgHD48GG191hc+8+fPy8AEObPn1/kOXv37hVsbW2FLVu2iAqIivLo0SOhQoUKwqBBg5TK3dzchJ49e0qul6i8YZcZlZk5c+Zg8uTJAAAPDw9FCr6gK6Jwl9ndu3chk8mwdOlSLF68WNGl0LFjR1y/fh0vXrzAtGnT4OLiAgcHB4SFhSEjI0Plurt27VJ0fdja2iI4OBhJSUllccsK1apVK7I7q2XLlnj27Bn++ecfRdmBAwfQsGFDBAQEKMosLCzwzjvv4Ny5c7h//76i3MxMs3/CFSpUAAA4ODgolVeuXBkAYG1tXWIdYtoFAM+fP8ewYcMwevRo+Pv7a9TOAkeOHEFOTg6GDh2qVD506FAIgoCDBw8qymrUqKFyvouLC2rXro20tDRR1y2g6ed65swZpKenq7Tzrbfegq2tLQ4cOFBiHUW138/PD+bm5kW2/59//sHo0aOxYMECuLq6atTO4tjZ2cHa2hoWFhZa10VUnjEgojIzYsQIfPzxxwBejvs4ffo0Tp8+jebNmxd73urVq3Hy5EmsXr0aX375JX7//XeEhIRg+PDh+Pvvv7Fx40YsWbIEP/74I0aMGKF07sKFCzFgwAB4e3tj9+7d2LZtG548eYJ27drh6tWrJbY5Ly9Po5cgCJI+k6NHj6J69epKvxQvX76MJk2aqBxbUHblyhXR1+nduzdcXV0xceJEXLlyBdnZ2Th+/DgWLVqEkJAQeHl5lViH2HbNmzcPT58+xfz580W39/LlywCAxo0bK5XXrFkT1apVU7yvzu3bt3Hv3j00atRI9LXFKGhH4c+lQoUK8PT0VGnnq+OUinPs2DHk5+cX2f4xY8bAw8MDH330UbF1FHet/Px8vHjxAnfv3sWHH34IQRAwevRoleOOHz8OOzs7VKhQAd7e3vjss8+Qn59fYvuJyiN+JaAyU7t2bcU32mbNmsHd3V2j8ypXroyDBw8qvrVnZmZi3Lhx8PT0xDfffKM47vfff8eKFSuQlZUFe3t7pKWlYfbs2fjoo4/wxRdfKI7r2rUrXnvtNcydOxe7du1Se927d+/Cw8NDozYePXpU9IDwL7/8EgkJCfj8889hbm6uKH/48CGqVq2qcnxBmZhB0AUcHBxw5swZvPnmm/Dx8VGUv/XWW9i2bZtGdYhpV3JyMpYsWYJDhw7BxsYGf//9t6j2Pnz4EFZWVrCxsSnyesV9Bnl5eRg+fDhsbW0xfvx4UdcVq6Ad6j6Xu3fvKpWZm5srPeuiPHnyBKNGjUKdOnUwbNgwpfe+//577N69GxcvXiwxi1XctRo1aoRr164BeBlkHjlyBH5+fkrH9OzZE/7+/qhXrx7+/fdf7NmzB5MmTUJycrLGf2eIyhMGRGTwevToofSff0E2o2fPnkrHFZSnpqbCx8cHsbGxyMvLw+DBg5GXl6c4ztraGh06dMDRo0eLva6LiwvOnz+vURsbNmyo0XEFfvjhB4wePRp9+/ZVZM1eVdxsseLeU+fff/9FaGgonj17hh07dqBOnTq4fPky5s+fj169euH777+HhYUFBEFQyQC82pWiSbvy8vIwbNgwhIeHIzg4uNh2vfpcgJe/xAvqkfIZCIKA4cOH45dffsG+fftQp06dYq+vK+raU7i88P0WlpOTgz59+uDevXv4+eefYWtrq3jv8ePH+OCDDzB16lSloFad4q61b98+PH36FKmpqYiJiUH37t3x7bffKgX1q1evVjonNDQUVapUwapVqzBhwgQ0a9asxDYQlScMiMjgFf72bWlpWWx5Tk4OgJfTkgGgRYsWRdZb0jdsS0tL+Pr6atTGkr71vyo2NhZ9+vRB165dsWPHDpVfmo6OjkVmQArGGRWVjSjJ4sWLkZycjHv37qFmzZoAgHbt2sHT0xOvv/46duzYgSFDhmDLli0q42EKugM1bdeKFStw+/Zt7N69W7G8QlZWFoCXz+bRo0ews7ODubm5YmxTgU2bNuHdd9+Fo6MjcnJy8OzZM1SqVEnleoWzGQXtHDFiBLZv344tW7YgNDRU7MckmqOjI4CXmSInJyeVdop5Vrm5uQgLC8OJEyfw3XffoVWrVkrvR0REoEKFCvjoo48Un2vB1P5nz57h0aNHcHBw0ChgLuiKa9myJXr37o1mzZph7Nix+PXXX4s975133sGqVatw5swZBkRkdBgQkdGqVq0aAGDv3r1wc3MTfX5pdJnFxsaid+/e6NChA/bt26cI4l7VuHFjXLp0SaW8oEyT7EBhycnJqFWrliIYKlAQLBaMdQkJCVGbFdO0XZcvX8bjx4/x2muvqRw7c+ZMzJw5E0lJSfD19VW5VsHnXTB26NKlS0qBwYMHD5CZmanyGRQEQ5s2bcKGDRvwzjvvqPkkdOvVdnp7eyvK8/Ly8Pvvv2PAgAEa1ZObm4vevXvj6NGj+Oabb9C5c2eVYy5fvoy7d+/C2dlZ5b0hQ4YAeJkJLBgorykLCws0b94cu3fvLvHYguBY00HnROUJAyIqU1ZWVgBeLtZX2oKDg2FhYYFbt27hzTffFH2+rrvM4uLi0Lt3bwQGBuLgwYOKz6KwsLAwjBo1CmfPnlUEA3l5edi+fTtatWoFFxcXzW/i/7m4uOCnn37C/fv3UatWLUX56dOnAbwc3wW8zHgUZD2ktmvatGl49913lc598OABBgwYgJEjRyI8PBz169cHALWzz7p16wZra2ts3rxZKSDavHkzZDIZevfurSgTBAHvvfceNm3ahLVr16pkuEpTq1atULNmTWzevBnh4eGK8r179yI7Oxt9+vQpsY6CzNDPP/+M/fv3q+1mXLFihcqCpsnJyRg/fjzmzJmDDh06KHWxaSonJwdnzpxRPJPibN26FQDQunVr0dchMnQMiKhMFXyj/vzzzzFkyBBUqFABDRs2hJ2dnc6v5e7ujnnz5iEiIgK3b99Gt27dUKVKFfz11184d+4cbGxsMHfuXLXnW1paip4urs6JEyfQu3dvODs745NPPkFycrLS+97e3rC3twcADBs2DKtXr8Zbb72FRYsWoUaNGoiOjsa1a9fw448/Kp137949RdB269YtAFCsWuzu7q5o/+jRo7Fjxw507doV06ZNU4whioyMhJOTEwYOHFjiPWjaLk9PT3h6eiqdWzC4uF69ehpl0qpWrYoZM2Zg5syZqFq1KoKCgnD+/HnMmTMHI0aMUMrGjBkzBhs2bMCwYcPQuHFjnDlzRvGelZWVpK6dZ8+e4fDhwwCgqO/YsWPIzMyEjY0NunfvDuBlV+mSJUswaNAgfPDBBxgwYABu3LiBKVOmoGvXrujWrZtSvRYWFujQoYPS6t59+/bFDz/8gIiICDg6Oiq1397eXnGvxXXfNmrUSOVzLepabdq0Qa9eveDl5QUHBwfcvXsXa9aswa1bt5SWCPjqq6+wf/9+9OzZE25ubnj06BH27NmDnTt34t1330XTpk1FfJpE5YS+FkAi0zV9+nTBxcVFMDMzU1rwrkOHDkKHDh0Ux6lbPO/o0aNFLka3adMmAYBw/vx5pfKDBw8KnTp1Euzt7QUrKyvBzc1N6Nu3r8oihaVp9uzZAgC1r8KL/j148EAYPHiwULVqVcHa2lpo3bq1EB8fr1JvwT0X9RoyZIjSsRcvXhTCwsKE2rVrC1ZWVkLdunWFESNGCKmpqRrfh6btKqykhRDV+fzzz4UGDRoIlpaWgqurqzB79mzh+fPnSse4ubmp/Qzc3NwktafgfU3r/Oqrr4QmTZoIlpaWgrOzszBmzBjhyZMnKscBUPo7XlCm7lX42MLU/VtQd62JEycKTZs2FRwcHAQLCwvB2dlZCAsLE06ePKl03OnTp4XOnTsLzs7OQoUKFYRKlSoJLVq0EKKjozVa1ZyoPJIJgsQFVIiIiIiMBEfGERERkcljQEREREQmjwERERERmTwGRERERKSV48ePIyQkBC4uLpDJZEobMKtz7Ngx+Pn5wdraGnXr1kVMTEzpN7QYDIiIiIhIK0+fPkXTpk2xatUqjY6/c+cOevTogXbt2iEpKQmffPIJxowZg3379pVyS9XjLDMiIiLSGZlMhgMHDigtoFrY1KlT8e233yIlJUVRNnLkSPz666+KBWPLGhdmlEgul+PPP/+EnZ2dpM02iYjIdAiCgCdPnsDFxaVUtz7JycnB8+fPta5HEASV321WVlZqV9gX6/Tp0wgKClIqCw4OxoYNG/DixQuVfQ7LAgMiif78888y20mbiIiMQ1pammKrHF3LycmBh5stHmTka12Xra2tYvPgArNnz8acOXO0rht4uZ1P4Q2RnZyckJeXh8zMTJV9F8uCwQREUVFR+OSTTzB27FisWLFCUZ6SkoKpU6fi2LFjkMvlaNSoEXbv3g1XV9ci63nx4gWioqKwZcsW3L9/Hw0bNsTixYuVltCfM2eOypYNTk5OePDggcbtLdhqIi0tTbHlAhERUVGysrJQp06dUtmmqMDz58/xICMfdxLdYG8nPQuV9UQOD797Kr/fdJUdKlA4A1UwgkdfvS4GERCdP38e69atQ5MmTZTKb926hcDAQAwfPhxz586Fg4MDUlJSYG1trbauGTNmYPv27Vi/fj08PT0RGxuLsLAwnDp1SmlPo0aNGintv2Rubi6qzQUPzN7engERERFppCx+2dvbmWkVECnqKcXfb87OzipJiIyMDFhYWKjdYLq06T0gys7OxsCBA7F+/XpERkYqvRcREYEePXpgyZIlirK6desWW9+2bdsU5wHAhx9+iNjYWHz22WfYvn274jgLCws4Ozvr8E6IiIj0L1+QI1+L6VL5glx3jVEjICAAhw4dUiqLi4uDv7+/XsYPAQYw7X706NHo2bMnunTpolQul8vx/fffo0GDBggODkaNGjXQqlWrEtc2yM3NVckgVaxYESdOnFAqu3HjBlxcXODh4YH+/fvj9u3bJdablZWl9CIiIjI0cghav8TKzs5GcnIykpOTAbycVp+cnIzU1FQAwPTp0zF48GDF8SNHjsS9e/cwYcIEpKSkYOPGjdiwYQMmTZqkk89ACr0GRDt37sTFixcRFRWl8l5GRgays7OxaNEidOvWDXFxcQgLC0OfPn1w7NgxtXUGBwdj2bJluHHjBuRyOeLj4/HNN98gPT1dcUyrVq2wdetWxMbGYv369Xjw4AHatGmDhw8fqq03KioKDg4OihcHVBMREb104cIFNGvWTDE0ZcKECWjWrBlmzZoFAEhPT1cERwDg4eGBw4cPIyEhAb6+vpg/fz6++OILvPnmm3ppP6DHdYjS0tLg7++PuLg4NG3aFADQsWNH+Pr6YsWKFfjzzz9Rq1YtDBgwAF999ZXivF69esHGxgZff/11kfX+/fffeO+993Do0CHIZDLUq1cPXbp0waZNm/Ds2bMiz3n69Cnq1auHKVOmYMKECUUek5ubi9zcXMXPBQPkHj9+zDFERERUrKysLDg4OJTq74yCa/x5rbbWg6pdGv5hcr/f9JYhSkxMREZGBvz8/GBhYQELCwscO3YMX3zxhWJQlYWFBby9vZXO8/LyUooyC6tevToOHjyIp0+f4t69e/j9999ha2sLDw8PtefY2NigcePGuHHjhtpjrKysFAPMOJCaiIgMVb4gaP0yRXobVN25c2dcunRJqWzo0KHw9PTE1KlTYWVlhRYtWuDatWtKx1y/fh1ubm4l1m9tbY1atWrhxYsX2LdvH/r166f22NzcXKSkpKBdu3bSboaIiIjKNb0FRHZ2dvDx8VEqs7GxgaOjo6J88uTJCA8PR/v27dGpUyccOXIEhw4dQkJCguKcwYMHo1atWopxSGfPnsX9+/fh6+uL+/fvY86cOZDL5ZgyZYrinEmTJiEkJASurq7IyMhAZGQksrKyMGTIkNK/cSIiolIkdWD0q+ebIr1Puy9OWFgYYmJiEBUVhTFjxqBhw4bYt28fAgMDFcekpqYqLYOek5ODGTNm4Pbt27C1tUWPHj2wbds2VK5cWXHMH3/8gQEDBiAzMxPVq1dH69atcebMGY0yT0RERIZMDgH5DIhE4+auEpXFADkiIjIOZTmo+s7vNWGnxaDqJ0/k8PBMN7nfbwadISIiIiJx2GUmDQMiIiIiI6LtTDHOMiMiIqJyT/7/L23ON0V637qDiIiISN+YISIqJ+QPXgMAmDmrX0CUiChfy1lm2pxbnjEgIiIiMiL5ArTc7V53bSlPGBARGbiCzFDhn5kpIiLSHQZERERERoSDqqVhQERkoApnhoiINCGHDPmQaXW+KeIsMyIiIjJ5zBARGZjynBkqqu0c60RUtuTCy5c255siBkRERERGJF/LLjNtzi3P2GVGREREJo8ZIiI90qZ7rLxMvy8v7SQyFswQScOAiIiIyIjIBRnkghazzLQ4tzxjQEQmp3BWpiwyF6U5ULqkug3l/pgpIiobzBBJwzFEREREZPKYISKToS6LUZqZC0OYQl9cG6TesyHcFxEVLR9myNci35Gvw7aUJwyIiIiIjIig5RgigWOIiMoXXWcpTDHrYYr3TERUFAZERERERoSDqqVhQERERGRE8gUz5AtajCEy0a07OMuMiIiITB4zREREREZEDhnkWuQ75DDNFBEDIiIiIiPCMUTSsMuMiIiITB4zRERUpriFB1Hp0n5QNbvMiIiIqJx7OYZIi81dTbTLjAERlTtcTJCISD25llt3mOqgao4hIiIiIpPHDBGVC8wKERFphmOIpGFAREREZETkMOM6RBKwy4yIiIhMHjNEZNDYVUZEJE6+IEO+oMXCjFqcW54xICIiIjIi+VrOMss30S4zBkRkkJgZIiKissSAiIiIyIjIBTPItZhlJucsMyL9Y2aIiEg77DKThrPMiIiIyOQxQ0RERGRE5NBupphcd00pVxgQERERGRHtF2Y0zc4jBkRERERGRPutO0wzIDLNuyYiIiJ6BTNERERERkQOGeTQZgwRV6om0jsz5xsAOP3eFBQ844JnTkS6wS4zaUzzromIiIhewQwREekVM0VEuqX9woymmSthQERERGRE5IIMcm3WITLR3e5NMwwkIiIiegUzREREREZErmWXGRdmJCIionJP+93uTTMgMpi7joqKgkwmw7hx45TKU1JS0KtXLzg4OMDOzg6tW7dGamqq2npevHiBefPmoV69erC2tkbTpk1x5MgRleOio6Ph4eEBa2tr+Pn54ZdfftH1LREREVE5YRAB0fnz57Fu3To0adJEqfzWrVsIDAyEp6cnEhIS8Ouvv2LmzJmwtrZWW9eMGTOwdu1arFy5ElevXsXIkSMRFhaGpKQkxTG7du3CuHHjEBERgaSkJLRr1w7du3cvNtAiIiIqD/Ih0/plimSCIAj6bEB2djaaN2+O6OhoREZGwtfXFytWrAAA9O/fHxUqVMC2bds0rs/FxQUREREYPXq0oqx3796wtbXF9u3bAQCtWrVC8+bNsWbNGsUxXl5e6N27N6KiojS6TlZWFhwcHPD48WPY29tr3D7SDBdmNB2cbk+moCx+ZxRcY+7ZLrC2lT4iJic7D7Nb/Whyv9/0niEaPXo0evbsiS5duiiVy+VyfP/992jQoAGCg4NRo0YNtGrVCgcPHiy2vtzcXJUMUsWKFXHixAkAwPPnz5GYmIigoCClY4KCgnDq1Kli683KylJ6ERERGZp8aJslMk16DYh27tyJixcvFpmVycjIQHZ2NhYtWoRu3bohLi4OYWFh6NOnD44dO6a2zuDgYCxbtgw3btyAXC5HfHw8vvnmG6SnpwMAMjMzkZ+fDycnJ6XznJyc8ODBA7X1RkVFwcHBQfGqU6eOxLsmIuBlZojZISIyFHoLiNLS0jB27Fhs3769yDFBcrkcABAaGorx48fD19cX06ZNwxtvvIGYmBi19X7++ed47bXX4OnpCUtLS3z00UcYOnQozM3NlY6TyZT7SAVBUCl71fTp0/H48WPFKy0tTcztEhERlYmCWWbavEyR3qbdJyYmIiMjA35+foqy/Px8HD9+HKtWrcLTp09hYWEBb29vpfO8vLwU3V9FqV69Og4ePIicnBw8fPgQLi4umDZtGjw8PAAA1apVg7m5uUo2KCMjQyVr9CorKytYWVlJuVXSAW0yCRyPZFiYFSIqXdzcVRq93XXnzp1x6dIlJCcnK17+/v4YOHAgkpOTYWVlhRYtWuDatWtK512/fh1ubm4l1m9tbY1atWohLy8P+/btQ2hoKADA0tISfn5+iI+PVzo+Pj4ebdq00d0NEhERmRCxy9ns2LEDTZs2RaVKlVCzZk0MHToUDx8+LKPWqtJbhsjOzg4+Pj5KZTY2NnB0dFSUT548GeHh4Wjfvj06deqEI0eO4NChQ0hISFCcM3jwYNSqVUsxDuns2bO4f/8+fH19cf/+fcyZMwdyuRxTpkxRnDNhwgQMGjQI/v7+CAgIwLp165CamoqRI0eW/o2TRphFMF7czJWodAmQQa7F1HlBwrkFy9lER0ejbdu2WLt2Lbp3746rV6/C1dVV5fgTJ05g8ODBWL58OUJCQnD//n2MHDkSI0aMwIEDByS3XRsGvVJ1WFgYYmJiEBUVhTFjxqBhw4bYt28fAgMDFcekpqbCzOx/ia6cnBzMmDEDt2/fhq2tLXr06IFt27ahcuXKimPCw8Px8OFDzJs3D+np6fDx8cHhw4c1yjwREREZMn10mS1btgzDhw/HiBEjAAArVqxAbGws1qxZU+TEqTNnzsDd3R1jxowBAHh4eOCDDz7AkiVLJLdbW3pfh6i84jpE5QfHEBkmZojIlJTlOkSTT/WElW0FyfXkZr/A0jbfIy0tTamt6sbSPn/+HJUqVcKePXsQFhamKB87diySk5OLnBl+6tQpdOrUCQcOHED37t2RkZGBfv36wcvLq9iJU6XJNEdOkUnh9G4iMiVyQab1CwDq1KmjtNyMuoWLpSxn06ZNG+zYsQPh4eGwtLSEs7MzKleujJUrV+r2wxDBoLvMiIiISJx8LXe7Lzi3qAxRccQsZ3P16lWMGTMGs2bNQnBwMNLT0zF58mSMHDkSGzZskNx2bTAgIpNRkCViFxoRUcns7e016t6TspxNVFQU2rZti8mTJwMAmjRpAhsbG7Rr1w6RkZGoWbOm9jcgErvMiIiIjIiuusw0JWU5m2fPnilNiAKgWEBZX0ObmSEiKgXBLr5KP8f+mayXdhgyTr8nKh1ymEGuRb5DyrklLWczffp03L9/H1u3bgUAhISE4L333sOaNWsUXWbjxo1Dy5Yt4eLiIrnt2mBAREREZETyBRnyRWZ5Cp8vVknL2aSnpyM1NVVx/LvvvosnT55g1apVmDhxIipXrozXX38dixcvltxubXHavUScdm88SmNMUUGGiJkhzTFTRMasLKfdf/hLH62n3a9pt9/kfr8xQ0RERGREpIwDKny+KWJARCavNGafFWSGmCkiorImaLljvcDNXYmIiIhMEzNERERERiQfMuRrsbmrNueWZwyIiP5fUYN6C3ejSZ1Or0nXWeG6xV6DiAgA5IJ244DkJjrVil1mREREZPKYIaIyVd4X4ys8WLqkjJG644vK+hQuU5cxMlbl/e8GkaGQazmoWptzyzMGREREREZEDhnkWowD0ubc8owBEZWqwt/6jeXbv7psTklZHTHjgUpz7JAhLwfATBGRdvSxUrUxMM28GBEREdErmCGiUmUq3/ILjxVSpywyM8WNaypP45KYKSKShmOIpGFAREREZETk0HLrDo4hUu+LL74QXfHQoUNhZ2cn+jwiIiKisqZRQDRu3DjUrl0b5ubmGlWalpaGN954gwERmZySusKKG3ytrttN0zo1Od4QB1GXhF1nROIIWs4yE5ghKt6FCxdQo0YNjY5lIERERKQf3O1eGo0CotmzZ8PW1lbjSj/55BNUrVpVcqOIjFXhLJAmGRt1xxry1HkiovJG44BIjOnTp0tqDBEREWmHs8ykET3L7L///oMgCKhUqRIA4N69ezhw4AC8vb0RFBSk8wZS+cbxH8oKj/d59WdNxwoVHGcqmSH+3SESh11m0ogOA0NDQ7F161YAwKNHj9CqVSt89tlnCA0NxZo1a3TeQCIiIqLSJjpDdPHiRSxfvhwAsHfvXjg5OSEpKQn79u3DrFmz8OGHH+q8kVT+FGSG6CV1CyIWt8mr1NlmxpI5YmaISBruZSaN6IDo2bNnillkcXFx6NOnD8zMzNC6dWvcu3dP5w0kIiIizbHLTBrRXWb169fHwYMHkZaWhtjYWMW4oYyMDNjb2+u8gURERKS5goBIm5cpEp0hmjVrFt5++22MHz8er7/+OgICAgC8zBY1a9ZM5w2k8qVwV1l56PYw1O49sV1fxtJVRkSkD6IDor59+yIwMBDp6elo2rSporxz584ICwvTaeOIiIhIHHaZSSNpc1dnZ2dkZ2cjPj4e7du3R8WKFdGiRQvIZKb5IZLhZlmKU5ZtlrIgo6bEDr4mIuPGgEga0WOIHj58iM6dO6NBgwbo0aMH0tPTAQAjRozAxIkTdd5AIiIiotImOkM0fvx4VKhQAampqfDy8lKUh4eHY/z48fjss8902kAyXJpkWMrjmKLSpIvsjZgp/ERkegRoN3Ve0F1TyhXRAVFcXBxiY2NRu3ZtpfLXXnuN0+6JiIj0jF1m0ogOiJ4+farYtuNVmZmZsLKy0kmjyLCVx/FCryrv7SciIt0TPYaoffv2iq07AEAmk0Eul2Pp0qXo1KmTThtHRERE4nAdImlEZ4iWLl2Kjh074sKFC3j+/DmmTJmCK1eu4J9//sHJkydLo41kRPS52Wt5zwwVnqFmbFt1EJFusMtMGtEZIm9vb/z2229o0aIFunbtiqdPn6JPnz5ISkpCvXr1SqONRERERKVK8jpE8+bN03VbiIiISEvMEEkjKSD65ZdfsHbtWty+fRt79uxBrVq1sG3bNnh4eCAwMFDXbSQDUd66nAyxveqmzAPcqoOIdEMQZBC0CGq0Obc8E91ltm/fPgQHB6NixYq4ePEicnNzAQBPnjzBwoULdd5AIiIi0pwcMq1fpkh0higyMhIxMTEYPHgwdu7cqShv06YNu9GMlCFmWopjyO0tPCBaE4WPLelcDromIhJPdEB07do1tG/fXqXc3t4ejx490kWbiIiISCKOIZJGdEBUs2ZN3Lx5E+7u7krlJ06cQN26dXXVLiKNGXJGqLDisju6yugUl1EqT9kifS7RQFSecQyRNKLHEH3wwQcYO3Yszp49C5lMhj///BM7duzApEmTMGrUqNJoIxEREVGpEp0hmjJlCh4/foxOnTohJycH7du3h5WVFSZNmoSPPvqoNNpIpKQ8ZYQKk5KhKXxO4QyQsY8Z4gbBROKwy0waUQFRfn4+Tpw4gYkTJyIiIgJXr16FXC6Ht7c3bG1tS6uNREREpCF2mUkjKiAyNzdHcHAwUlJSULVqVfj7+5dWu4iIiIjKjOgus8aNG+P27dvw8PAojfaQiSjP3V66VNyAZ02n5htrV5k6mvzdYbcamTJByy4zU80QiR5UvWDBAkyaNAnfffcd0tPTkZWVpfQiIiIi/REACIIWL33fgJ6IzhB169YNANCrVy/IZP+LIgVBgEwmQ35+vqSGREVF4ZNPPsHYsWOxYsUKRXlKSgqmTp2KY8eOQS6Xo1GjRti9ezdcXV3V1rVixQqsWbMGqampqFatGvr27YuoqChYW1sDAObMmYO5c+cqnePk5IQHDx5IajuRpgpnc17N6ohZrLG4ugsrLnNkrNklqRlIZpaITJfogOjo0aM6b8T58+exbt06NGnSRKn81q1bCAwMxPDhwzF37lw4ODggJSVFEdgUZceOHZg2bRo2btyINm3a4Pr163j33XcBAMuXL1cc16hRI/z444+Kn83NzXV7U0RERHoghwwyLbbf4NYdGurQoYNOG5CdnY2BAwdi/fr1iIyMVHovIiICPXr0wJIlSxRlJS3+ePr0abRt2xZvv/02AMDd3R0DBgzAuXPnlI6zsLCAs7Ozju7CuBV8a+a4H+0Vl4lR9562mSNN6iqcKTLWzFFJuBgkGQPOMpNG9Bii3377rcjXpUuXcOPGDcVmr5oaPXo0evbsiS5duiiVy+VyfP/992jQoAGCg4NRo0YNtGrVCgcPHiy2vsDAQCQmJioCoNu3b+Pw4cPo2bOn0nE3btyAi4sLPDw80L9/f9y+fbvYenNzczleioiIDF7BOkTavEyR6AyRr6+v0tihwipUqIDw8HCsXbu22K4tANi5cycuXryI8+fPq7yXkZGB7OxsLFq0CJGRkVi8eDGOHDmCPn364OjRo2ozVf3798fff/+NwMBACIKAvLw8fPjhh5g2bZrimFatWmHr1q1o0KAB/vrrL0RGRqJNmza4cuUKHB0di6w3KipKZdwRUWkqaUyQ2FloumiDqWSMmCkiMj2iM0QHDhzAa6+9hnXr1iE5ORlJSUlYt24dGjZsiK+++gobNmzAzz//jBkzZhRbT1paGsaOHYvt27cXGTjJ5XIAQGhoKMaPHw9fX19MmzYNb7zxBmJiYtTWm5CQgAULFiA6OhoXL17E/v378d1332H+/PmKY7p3744333wTjRs3RpcuXfD9998DALZs2aK23unTp+Px48eKV1paWrH3R0REpA9azTD7/5cpEp0hWrBgAT7//HMEBwcrypo0aYLatWtj5syZOHfuHGxsbDBx4kR8+umnautJTExERkYG/Pz8FGX5+fk4fvw4Vq1ahadPn8LCwgLe3t5K53l5eeHEiRNq6505cyYGDRqEESNGAHi5btLTp0/x/vvvIyIiAmZmqjGgjY0NGjdujBs31H8btLKygpWVldr3iYiIDAHHEEkjOiC6dOkS3NzcVMrd3Nxw6dIlAC+71dLT04utp3PnzorjCwwdOhSenp6YOnUqrKys0KJFC1y7dk3pmOvXrxd5/QLPnj1TCXrMzc0hCAIENWFvbm4uUlJS0K5du2LbbOo4uLpsldQ9VdIA6KLKSzrWVLvI1GHXGZHpEB0QeXp6YtGiRVi3bh0sLS0BAC9evMCiRYvg6ekJALh//z6cnJyKrcfOzg4+Pj5KZTY2NnB0dFSUT548GeHh4Wjfvj06deqEI0eO4NChQ0hISFCcM3jwYNSqVQtRUVEAgJCQECxbtgzNmjVDq1atcPPmTcycORO9evVSTK2fNGkSQkJC4OrqioyMDERGRiIrKwtDhgwR+3EQEREZFGaIpBEdEK1evRq9evVC7dq10aRJE8hkMvz222/Iz8/Hd999B+DlzK5Ro0Zp3biwsDDExMQgKioKY8aMQcOGDbFv3z4EBgYqjklNTVXKCM2YMQMymQwzZszA/fv3Ub16dYSEhGDBggWKY/744w8MGDAAmZmZqF69Olq3bo0zZ84Um3mi/2GmqGyUlM0poG6QdVHZHXUZH2aMilcWf9eZhSJdkQsyyLjbvWgyQV0/UjGys7Oxfft2XL9+HYIgwNPTE2+//Tbs7OxKo40GKSsrCw4ODnj8+DHs7e313Ry9YEBUukojIBJ77cJMNSAqCwyIjFtZ/M4ouEbDr6bBvJL0Ma/5z3Jx7e1FJvf7TXSGCABsbW0xcuRIXbeFiF6h6WavYspLCp5MdUFGQ/DqF4zCwZG6Lx8Moqgo2s4UM9VZZqKn3QPAtm3bEBgYCBcXF9y7dw/Ay20xvvnmG502joiIiMR5GRDJtHjp+w70Q3SGaM2aNZg1axbGjRuHyMhIxWauVapUwYoVKxAaGqrzRhKZIl1t2aHJLLOSrs2MUdnStDtaH93WzEqRsRKdIVq5ciXWr1+PiIgIWFj8L57y9/dXmUZPREREZUu77JB2M9TKM9EZojt37qBZs2Yq5VZWVnj69KlOGkVkKl7NxBTOwojdokOTaxQuK+kazAxRYYYwmYJZquIJ///S5nxTJDpD5OHhgeTkZJXyH374QWVVaSIiIipbzBBJIzpDNHnyZIwePRo5OTkQBAHnzp3D119/jaioKHz55Zel0UYiIiKiUiU6IBo6dCjy8vIwZcoUPHv2DG+//TZq1aqFzz//HP379y+NNpKBMYSUubEorktKV4Oqi1OeBk9zSQAqwC1VSsA+M0kkTbt/7733cO/ePWRkZODBgwdIS0vD8OHDdd02IiIiEkvb7jKJXWbR0dHw8PCAtbU1/Pz88MsvvxR7fG5uLiIiIuDm5gYrKyvUq1cPGzdulHRtXZC0MGOBatWq6aodRKRHhpB1KYuMGBkXZooMx65duzBu3DhER0ejbdu2WLt2Lbp3746rV6/C1dW1yHP69euHv/76Cxs2bED9+vWRkZGBvLy8Mm75/2gUEDVr1gwymWYR48WLF7VqEBEREUmnj5Wqly1bhuHDh2PEiBEAgBUrViA2NhZr1qxRbL7+qiNHjuDYsWO4ffs2qlatCgBwd3eX3mgd0Cgg6t27t+LPOTk5iI6Ohre3NwICAgAAZ86cwZUrV3SyoSsZPm7uWjZ0Ne1ek2voSnHLCEhti5j755Ykpqm4bU9Mka52u8/KylIqt7KygpWV6h5pz58/R2JiIqZNm6ZUHhQUhFOnThV5jW+//Rb+/v5YsmQJtm3bBhsbG/Tq1Qvz589HxYoVJbddGxoFRLNnz1b8ecSIERgzZgzmz5+vckxaWppuW0dERER6UadOHaWfZ8+ejTlz5qgcl5mZifz8fDg5OSmVOzk54cGDB0XWffv2bZw4cQLW1tY4cOAAMjMzMWrUKPzzzz96G0ckegzRnj17cOHCBZXyd955B/7+/nodEEVkTAxxlpkusjVSz9ekDequocvMkCFlm0pjlqCu69QmayiFtplro8gwaTEwWnE+gLS0NKXd7ovKDr2q8NAaQRDUDreRy+WQyWTYsWMHHBwcALzsduvbty9Wr16tlyyR6FlmFStWxIkTJ1TKCyI9IiIi0p+CMUTavADA3t5e6aUuIKpWrRrMzc1VskEZGRkqWaMCNWvWRK1atRTBEAB4eXlBEAT88ccfuvkgRBKdIRo3bhw+/PBDJCYmonXr1gBejiHauHEjZs2apfMGEhERkeGytLSEn58f4uPjERYWpiiPj49Xu+F727ZtsWfPHmRnZ8PW1hYAcP36dZiZmaF27dpl0u7CZIIgfjz57t278fnnnyMlJQXAy6hu7Nix6Nevn84baKiysrLg4OCAx48fK6UUTRUHWJceQ5yOXhYDvqUo3CUjtn3a3FdZ7AtXlvcjlpT7M6Tux8J03XVWFr8zCq7htn4mzCpJ77GRP8vBvffmi2rrrl27MGjQIMTExCAgIADr1q3D+vXrceXKFbi5uWH69Om4f/8+tm7dCgDIzs6Gl5cXWrdujblz5yIzMxMjRoxAhw4dsH79eslt14akdYj69etXYvDz9ddfo1evXrCxsZHUMCIiIhJPV7PMxAgPD8fDhw8xb948pKenw8fHB4cPH4abmxsAID09HampqYrjbW1tER8fj48//hj+/v5wdHREv379EBkZKbnd2pKUIdKEvb09kpOTUbdu3dKoXu+YISoaM0W6Z2hZGNKOmGyIIT17XSyLoC6DZ4gZosK0zRiVZYbIdd0smFXUIkP0Xw5S359ncr/fJG3doYlSirOIiIiI8NNPP+GNN95AvXr1UL9+fbzxxhv48ccfJden1dYdRAWYGZLGkDIApB/l5e+Apu0sbhyXpkspGGLGqKj/4wx1ir4+uszK2qpVqzB+/Hj07dsXY8eOBfByglePHj2wbNkyfPTRR6LrZEBERERkTExgt/uoqCgsX75cKfAZM2YM2rZtiwULFjAgIiovyktWgHSvvDx7TRfpLOk4TbI9hT+T0pypR8YhKysL3bp1UykPCgrC1KlTJdVZamOIiIiISB9kOngZtl69euHAgQMq5d988w1CQkIk1VlqGSI3NzdUqFChtKonA8BxQyXTJhug6RoyUmb/GOo6QqR/mmZhdJmt0Xb9KCrEBLrMvLy8sGDBAiQkJChtNH/y5ElMnDgRX3zxheLYMWPGaFRnqQVEly9fLq2qiYiIyIRt2LABVapUwdWrV3H16lVFeeXKlbFhwwbFzzKZTLcBUZUqVdRu0FbYP//8o9FxREREVApMIEN0584dndepUUC0YsUKnV+Yyh92kamni0Gguh5YWtxxhrwFBOmXrp+xlK41dV1oYhZyLItFHwv+TzS46fc62u3e1GgUEA0ZMqS020FERESksT/++APffvstUlNT8fz5c6X3li1bJro+rcYQ/ffff3jx4oVSmSkt822smAnSnKYLyqn7tqrJt/HS+Iar6ZRqdT8zY2TYCj+f4p5XSX8ntX3WYv6Oq/t3oossU2kytEyRILx8aXO+ofvpp5/Qq1cveHh44Nq1a/Dx8cHdu3chCAKaN28uqU7R0+6fPn2Kjz76CDVq1ICtrS2qVKmi9CIiIiI9EnTwMnDTp0/HxIkTcfnyZVhbW2Pfvn1IS0tDhw4d8NZbb0mqU/TmrqNHj8bRo0cxb948DB48GKtXr8b9+/exdu1aLFq0CAMHDpTUkPLGGDd3ZWZIutLIlJTlN9ySMl3MBBkmTf+O6OL5ic0U6WIMm6YZ11frKynbVJqKyxCV5eautb+Yp/Xmrn+MmWXQv9/s7OyQnJyMevXqoUqVKjhx4gQaNWqEX3/9FaGhobh7967oOkVniA4dOoTo6Gj07dsXFhYWaNeuHWbMmIGFCxdix44dohtAREREJIaNjQ1yc3MBAC4uLrh165bivczMTEl1ih5D9M8//8DDwwPAy/FCBdPsAwMD8eGHH0pqBOkHM0LaE/tNV8w3danfcDUZ11RSOwpfW137mUnSL11mftTVqe7vnzaZl5KyONrclz4yQwUMZSyRTHj50uZ8Q9e6dWucPHkS3t7e6NmzJyZOnIhLly5h//79aN26taQ6RQdEdevWxd27d+Hm5gZvb2/s3r0bLVu2xKFDh1C5cmVJjSAiIiIdMYF1iJYtW4bs7GwAwJw5c5CdnY1du3ahfv36WL58uaQ6RQdEQ4cOxa+//ooOHTpg+vTp6NmzJ1auXIm8vDxJ09yIiIiIxKhbt67iz5UqVUJ0dLTWdYoOiMaPH6/4c6dOnfD777/jwoULqFevHpo2bap1g6j0sItM9/Q5gFPTbgUx3Q9i90UT0z2nrluEU/jFk9rFpMnzKel5lOYeZiWVq1sO4tXj+fcIJrcwY3Z2NuRyuVKZlMHgWu9l5urqCldXV22rISIiIl0wgS6zO3fu4KOPPkJCQgJycnIU5YIgQCaTIT8/X3SdkgKic+fOISEhARkZGSpRGbvNDJe6gX7MHGlPH9tp6IKudzYv7h6kZjG4KKQqXX4mpTFourRocp+G0G5DGVxtzAqW+Nm4cSOcnJw03m+1OKIDooULF2LGjBlo2LChSiN00SAiIiLSgglkiH777TckJiaiYcOGOqtTdED0+eefY+PGjXj33Xd11gjSr8LfYpgxEk+X42EK1yF2fJI+xjXpYguSksYYlVSuaTtMkSFkTXTJ2O5H50wgIGrRogXS0tL0GxCZmZmhbdu2OmsAERERkRhffvklRo4cifv378PHxwcVKlRQer9Jkyai6xS9dceSJUvw559/YsWKFaIvZkyMceuOwkw1U1TUNgDFHaNrUhdi1KatUhfn0yYzpG0GS5ONSos71pQxw1K2zJxvlOnWHXWWRmq9dUfa5BkG/fvtzJkzePvtt5W26JDJZGU7qHrSpEno2bMn6tWrB29vb5WobP/+/aIbQURERLphCitVDxs2DM2aNcPXX3+tv0HVH3/8MY4ePYpOnTrB0dGRA6mJiIgMiQmMIbp37x6+/fZb1K9fX2d1ig6Itm7din379qFnz546awSRIdH3YF1Nu5KkDOTWtPtK6gBuMdfStFzdtTRZwkDTxQZNjSbdwqQ78gevQf5EXvKBpLHXX38dv/76q34DoqpVq6JevXo6awARERGRGCEhIRg/fjwuXbqExo0bqwzf6dWrl+g6RQ+q3rRpE44cOYJNmzahUqVKoi9oLDiouvzSxSDk0qDrb+pisjaleU2xbdDllhHMCGmOmaLSlfVEjioNbpfJoGq3xZEws9ZiUHVODu5NNexB1WZmZmrfK7NB1V988QVu3boFJycnuLu7q0RlFy9eFN0IIiIiIk0V3iVDF0QHRL1799Z5I+h/uOR76ZO6MWZxdRgiMW0UOwVe3fHafC7qxkQxM6RK3WdkrH+XSSQT2Nz12bNnOu+lEh0QzZ49W6cNICIiIh0ygVlmlStXhr+/Pzp27IgOHTogMDAQNjY2WtWp9W73uhIVFYVPPvkEY8eOVVr0MSUlBVOnTsWxY8cgl8vRqFEj7N69G66urmrrWrFiBdasWYPU1FRUq1YNffv2RVRUFKxf6VONjo7G0qVLkZ6ejkaNGmHFihVo165dad5iuWGsY4fUKS8bRpYmbTNDujhHm2xTecoIidmKRJ2SzhGTMdJ0EU4iQ3Ls2DEcO3YMCQkJWLVqFXJyctC8eXNFgNS9e3fRdaoflfSKqlWrIjMzEwBQpUoVVK1aVe1LivPnz2PdunUqS23funULgYGB8PT0REJCAn799VfMnDlTKbApbMeOHZg2bRpmz56NlJQUbNiwAbt27cL06dMVx+zatQvjxo1DREQEkpKS0K5dO3Tv3h2pqamS2k9ERGQwBB28DFxAQACmTZuGI0eO4N9//8Xx48fh6emJzz77DG+88YakOjXKEC1fvhx2dnaKP+tyMcbs7GwMHDgQ69evR2RkpNJ7ERER6NGjB5YsWaIoq1u3brH1nT59Gm3btsXbb78NAHB3d8eAAQNw7tw5xTHLli3D8OHDMWLECAAvM0qxsbFYs2YNoqKidHVrohTOynAsUdnjN2PNlbTxqphzSjre2IhZh0nbDJAmn3VZbgJsqsycb8CsUhYAhzK5nimsVA0Av//+OxISEhSZohcvXiAkJAQdOnSQVJ9GAdGQIUMUf9b1LvejR49Gz5490aVLF6WASC6X4/vvv8eUKVMQHByMpKQkeHh4YPr06cUO7A4MDMT27dtx7tw5tGzZErdv38bhw4cV9/D8+XMkJiZi2rRpSucFBQXh1KlTauvNzc1Fbm6u4uesrCyJd0xERETacHZ2xosXL/D666+jY8eO+OSTT9C4cWOt6tSoy+xVhw8fRmxsrEp5XFwcfvjhB1F17dy5ExcvXiwyK5ORkYHs7GwsWrQI3bp1Q1xcHMLCwtCnTx8cO3ZMbZ39+/fH/PnzERgYiAoVKqBevXro1KmTIgDKzMxEfn4+nJyclM5zcnLCgwcP1NYbFRUFBwcHxatOnTqi7pWIiKhMmECXmbOzM7Kzs5GamorU1FT88ccfyM7O1qpO0YOqp02bhkWLFqmUy+VyTJs2TeOBTGlpaRg7dizi4uKKHBNUsMZAaGgoxo8fDwDw9fXFqVOnEBMTozYllpCQgAULFiA6OhqtWrXCzZs3MXbsWNSsWRMzZ85UHFe4269gh1x1pk+fjgkTJih+zsrKYlBERqOkLjB1W2CY8kB0Q6DpViya1MHB1coKhitoMsnE4IY2mMAss+TkZDx69AjHjx/HsWPHMHPmTFy5cgVNmjRBp06dioxTSiI6ILpx4wa8vb1Vyj09PXHz5k2N60lMTERGRgb8/PwUZfn5+Th+/DhWrVqFp0+fwsLCQuVaXl5eOHHihNp6Z86ciUGDBinGBzVu3BhPnz7F+++/j4iICFSrVg3m5uYq2aCMjAyVrNGrrKysYGVlpfH9ERER6YOpjCGqXLkyevXqhcDAQLRt2xbffPMNvvrqK1y4cKFsAiIHBwfcvn0b7u7uSuU3b94UtQZA586dcenSJaWyoUOHwtPTE1OnToWVlRVatGiBa9euKR1z/fp1uLm5qa332bNnKkt6m5ubQxAECIIAS0tL+Pn5IT4+HmFhYYpj4uPjERoaqnH7daWkbx8cXE0FSnPwa0mDd0sq18UAaGMdRF2SsnieUjJGpqrw/7X8v9cwHThwAAkJCUhISMCVK1fg6OiIdu3aYfny5ejUqZOkOkUHRL169cK4ceNw4MABxSavN2/exMSJE0VtpmZnZwcfHx+lMhsbGzg6OirKJ0+ejPDwcLRv3x6dOnXCkSNHcOjQISQkJCjOGTx4MGrVqqUYhxQSEoJly5ahWbNmii6zmTNnolevXjA3NwcATJgwAYMGDYK/vz8CAgKwbt06pKamYuTIkWI/DiIiIsNiAitVf/DBB2jfvj3ee+89dOzYUSWekEJ0QLR06VJ069YNnp6eqF27NgDgjz/+QLt27fDpp59q3aBXhYWFISYmBlFRURgzZgwaNmyIffv2ITAwUHFMamqqUkZoxowZkMlkmDFjBu7fv4/q1asjJCQECxYsUBwTHh6Ohw8fYt68eUhPT4ePjw8OHz5cbObJFBjSgoycCqzKED8LXYw70cX2E+VZWW7CW9y/K1MbS2TUmR8TGEOUkZGh8zoldZmdOnUK8fHx+PXXX1GxYkU0adIE7du317oxr2Z+CgwbNgzDhg3T+BwLCwvMnj27xC1GRo0ahVGjRklpJhEREelZfn4+Dh48iJSUFMhkMnh5eSE0NFTRGySWpK07ZDIZgoKC0L59e1hZWel0oUZTITYbU/h4o/52A+P9VmqsdLEBq6llhoqj6wypmOybsWbqjP3/zFeZwqDqmzdvokePHrh//z4aNmwIQRBw/fp11KlTB99//71iSI8YotchksvlmD9/PmrVqgVbW1vcuXMHwMvZXRs2bBDdACIiItIhE1iHaMyYMahXrx7S0tJw8eJFJCUlITU1FR4eHhgzZoykOkUHRJGRkdi8eTOWLFkCS0tLRXnjxo3x5ZdfSmoEERERkaaOHTuGJUuWKO2h6ujoiEWLFhW7eHNxRHeZbd26FevWrUPnzp2VZmU1adIEv//+u6RGkHiGNACaTBe7NktHaX2uYuo15GdrSt1fkmjZZVYeMkRWVlZ48uSJSnl2drZSskYM0Rmi+/fvo379+irlcrkcL168kNQIIiIi0hET6DJ744038P777+Ps2bOKdQbPnDmDkSNHiloC6FWiM0SNGjXCL7/8ojJFfc+ePWjWrJmkRpDx4bR5KomxDt4l3WEmiNT54osvMGTIEAQEBKBChQoAgLy8PPTq1Quff/65pDpFB0SzZ8/GoEGDcP/+fcjlcuzfvx/Xrl3D1q1b8d1330lqBBEREemICaxDVLlyZXzzzTe4ceMGfv/9dwiCAG9v7yJ7sDQlOiAKCQnBrl27sHDhQshkMsyaNQvNmzfHoUOH0LVrV8kNMQUc90NEho7Z3fLPFKbdF3jttdfw2mu6+d0qaR2i4OBgBAcH66QBRERERGLk5+dj8+bN+Omnn5CRkQG5XK70/s8//yy6TkkBEYljipkhfrskkk6f22cYwr9djh2ikowdOxabN29Gz5494ePjo5MFojUKiKpUqaLxxf755x+tGkRERERaMIExRDt37sTu3bvRo0cPndWpUUC0YsUKxZ8fPnyIyMhIBAcHIyAgAABw+vRpxMbGYubMmTprGBEREYlnCmOILC0ttRpAXRSZIAiibv3NN99Ep06d8NFHHymVr1q1Cj/++CMOHjyoy/YZrKysLDg4OODx48ewt7cv8hhj7yp7Na1vCGl2Kp847V48Y/33ZsxdZZr8ztDVNepPWwhza2vJ9eTn5ODmok9Kta3a+uyzz3D79m2sWrVKZ/upih5DFBsbi8WLF6uUBwcHY9q0aTppFBEREWmhHGR5tHHixAkcPXoUP/zwAxo1aqRYi6jA/v37RdcpOiBydHTEgQMHMHnyZKXygwcPwtHRUXQDjJGxZ4YKGOu3VCpdzAhpT5+DrkuDMWeG9MIExhBVrlwZYWFhOq1TdEA0d+5cDB8+HAkJCYoxRGfOnMGRI0e4uSsRERGVuujoaMjlctjY2AAA7t69i4MHD8LLy0vyskCiA6J3330XXl5e+OKLL7B//37F6pAnT55Eq1atJDWCiMo3Zn00VzibY8qfHTNDpcMUBlWHhoaiT58+GDlyJB49eoTWrVujQoUKyMzMxLJly/Dhhx+KrlPSOkStWrXCjh07pJxKREREpckEuswuXryI5cuXAwD27t0LJycnJCUlYd++fZg1a1bpBURZWVmiRpo/efIEdnZ2ohtT3pnK2CEi0lzhTWw1Gf9TePuMkrJI3G6DTM2zZ88UcUZcXBz69OkDMzMztG7dGvfu3ZNUp5kmB1WpUgUZGRkaV1qrVi3cvn1bUoOIiIhIuoIuM21ehq5+/fo4ePAg0tLSEBsbi6CgIABARkaG5KUCNMoQCYKAL7/8Era2thpV+uLFC0mNISIq70oaI1RSxqioOtRlfgqfy0wRAdBbl1l0dDSWLl2K9PR0NGrUCCtWrEC7du1KPO/kyZPo0KEDfHx8kJycrNG1Zs2ahbfffhvjx49H586dFZO84uLi0KxZM0nt1yggcnV1xfr16zWu1NnZWWVNACIiIioDegiIdu3ahXHjxiE6Ohpt27bF2rVr0b17d1y9ehWurq5qz3v8+DEGDx6Mzp0746+//tL4en379kVgYCDS09PRtGlTRXnnzp0lT8fXKCC6e/eupMqJiIjI+C1btgzDhw/HiBEjALzc8is2NhZr1qxBVFSU2vM++OADvP322zA3Nxe904WzszOcnZ2Vylq2bCm67QW42z0RSWbKU8a1VdyAaXVdX5p+3obedcbp9qVLV9Pus7KylMqtrKxgZWWlcvzz58+RmJiosltFUFAQTp06pfY6mzZtwq1bt7B9+3ZERkZKb7COaDSomoiIiMoJQQcvAHXq1IGDg4PipS7Tk5mZifz8fDg5OSmVOzk54cGDB0Wec+PGDUybNg07duyAhYVh5GYMoxVEZNCYCdJcSdkZMZ9lSXWVdA1DyxQxM1S+pKWlKc3YKio79KrCm6wKglDkxqv5+fl4++23MXfuXDRo0EA3jdUBBkRERETGREeDqu3t7TWawl6tWjWYm5urZIMyMjJUskbAy7UKL1y4gKSkJHz00UcAALlcDkEQYGFhgbi4OLz++uta3IA0DIh0gAsykrFiZkh7mmaKilugUeo1DSFTxKxQ2SvrrTssLS3h5+eH+Ph4pRle8fHxCA0NVTne3t4ely5dUiqLjo7Gzz//jL1798LDw0NSu7UlKSD65ZdfsHbtWty6dQt79+5FrVq1sG3bNnh4eCAwMFDXbSQiIiIDNmHCBAwaNAj+/v4ICAjAunXrkJqaipEjRwIApk+fjvv372Pr1q0wMzODj4+P0vk1atSAtbW1SnlZEh0Q7du3D4MGDcLAgQORlJSE3NxcAC9TYAsXLsThw4d13khDJv+rGWDHselknDTdOoLUU5cJ0iRbo21GR59jh5gZ0iM9rEMUHh6Ohw8fYt68eUhPT4ePjw8OHz4MNzc3AEB6ejpSU1O1aFTpE/2bPDIyEjExMVi/fr3S4ott2rTBxYsXddo4IiIiEkdfW3eMGjUKd+/eRW5uLhITE9G+fXvFe5s3b0ZCQoLac+fMmaPxKtWlRXRAdO3aNaWbLGBvb49Hjx7pok1EREREZUp0l1nNmjVx8+ZNuLu7K5WfOHECdevW1VW7yg0zpyTgmZ++m0GkE+waM2yGMn2eDJye9jIr70RniD744AOMHTsWZ8+ehUwmw59//okdO3Zg0qRJGDVqVGm0kYiIiDSlo4UZTY3oDNGUKVPw+PFjdOrUCTk5OWjfvj2srKwwadIkxXoCRFS+MDOke+o+09KcAm8ICzFyMLX+yf7/pc35pkjStPsFCxYgIiICV69ehVwuh7e3N2xtbXXdNiIiIqIyIXlhxkqVKsHf31+XbSm3Cr4RcYFGKm+YGdKf0sjmcIwRAeAYIok0Coj69OmjcYX79++X3BgiIiLSTlmvVG0sNAqIHBwcFH8WBAEHDhyAg4ODIkOUmJiIR48eiQqciKjslZQREpthYIaJCnDsEJV3GgVEmzZtUvx56tSp6NevH2JiYmBubg7g5c61o0aN0mgTOCIiIipF7DKTRPQYoo0bN+LEiROKYAgAzM3NMWHCBLRp0wZLly7VaQPLE44lImMlJbPE7FHxjGW8DzNDBspEgxptiF6HKC8vDykpKSrlKSkpkMvlOmkUERERUVkSnSEaOnQohg0bhps3b6J169YAgDNnzmDRokUYOnSozhtIREREmuOgamlEB0SffvopnJ2dsXz5cqSnpwN4uZ3HlClTMHHiRJ03kIiKpm4X9eKUtHu9uqngmp5HmpPy/Ig0wjFEkogOiMzMzDBlyhRMmTIFWVlZAMDB1ERERFSuSV6YEWAgpA4HV5MhkZK9MdWMT0mZMCl1FTDVz5TKHrvMpBEdEHl4eEAmU7/Tye3bt7VqEBEREWmBXWaSiA6Ixo0bp/TzixcvkJSUhCNHjmDy5Mm6ahcRqaFppkGbjIS68SzGnuUoPIZKyv1qmhkq7jiOJyJtMEMkjeiAaOzYsUWWr169GhcuXNC6QURERERlTSYIgk5iwdu3b8PX11cx0NrYZWVlwcHBAY8fPy5xLBXHElFZKi7LUVLmg+NeSl95y/5w4UXdEPM7Q9trNBm6EOaW1pLryX+eg982fVKqbTVEohdmVGfv3r2oWrWq5POjoqIgk8lUuuRSUlLQq1cvODg4wM7ODq1bt0Zqaqraejp27AiZTKby6tmzp+KYOXPmqLzv7Owsue1EREQGQ9DBywSJ7jJr1qyZ0qBqQRDw4MED/P3334iOjpbUiPPnz2PdunVo0qSJUvmtW7cQGBiI4cOHY+7cuXBwcEBKSgqsrdVHvvv378fz588VPz98+BBNmzbFW2+9pXRco0aN8OOPPyp+fnUrEiIiIjItogOi0NBQpYDIzMwM1atXR8eOHeHp6Sm6AdnZ2Rg4cCDWr1+PyMhIpfciIiLQo0cPLFmyRFFWt27dYusrnKXauXMnKlWqpBIQWVhYMCtERkndooollb1K3aKB7EIT/9lpep6hYVdZ+cVB1dKIDojmzJmj0waMHj0aPXv2RJcuXZQCIrlcju+//x5TpkxBcHAwkpKS4OHhgenTp6N3794a179hwwb0798fNjY2SuU3btyAi4sLrKys0KpVKyxcuLDEYIuIiMjgcdq9JKIDInNzc6Snp6NGjRpK5Q8fPkSNGjWQn5+vcV07d+7ExYsXcf78eZX3MjIykJ2djUWLFiEyMhKLFy/GkSNH0KdPHxw9ehQdOnQosf5z587h8uXL2LBhg1J5q1atsHXrVjRo0AB//fUXIiMj0aZNG1y5cgWOjo5F1pWbm4vc3FzFz2IGjxf1TYsDrak8MrZMUUmDyIvL6kjd5qSk80sDsz1EJRMdEKmblJabmwtLS0uN60lLS8PYsWMRFxdX5JgguVwO4GUX3fjx4wEAvr6+OHXqFGJiYjQKiDZs2AAfHx+0bNlSqbx79+6KPzdu3BgBAQGoV68etmzZggkTJhRZV1RUFObOnavx/REREemDTBAg02ICuTbnlmcaB0RffPEFAEAmk+HLL7+Era2t4r38/HwcP35c1BiixMREZGRkwM/PT6WeVatW4enTp7CwsIC3t7fSeV5eXjhx4kSJ9T979gw7d+7EvHnzSjzWxsYGjRs3xo0b6r9FTZ8+XSlYysrKQp06dUqsW53C39iYMSJDZiwZoZJos+xA4YxP4UyRPjZzZWbIRLHLTBKNA6Lly5cDeJkhiomJUZqVZWlpCXd3d8TExGh84c6dO+PSpUtKZUOHDoWnpyemTp0KKysrtGjRAteuXVM65vr163Bzcyux/t27dyM3NxfvvPNOicfm5uYiJSUF7dq1U3uMlZUVrKysSqyLiIiIyh+NA6I7d+4AADp16oT9+/ejSpUqWl3Yzs4OPj4+SmU2NjZwdHRUlE+ePBnh4eFo3749OnXqhCNHjuDQoUNISEhQnDN48GDUqlULUVFRSnVt2LABvXv3LnJM0KRJkxASEgJXV1dkZGQgMjISWVlZGDJkiFb3RETliy63N9FmPBKRLnGWmTSixxAdPXq0NNpRpLCwMMTExCAqKgpjxoxBw4YNsW/fPgQGBiqOSU1NhZmZ8vqS169fx4kTJxAXF1dkvX/88QcGDBiAzMxMVK9eHa1bt8aZM2c0yjwREREZNHaZSaJRQDRhwgTMnz8fNjY2agcdF1i2bJnkxrya+SkwbNgwDBs2TNQ5DRo0UDv4G3g5u42IiMgYMUMkjUYBUVJSEl68eAEAuHjxotLCjERkfExlt3spg6g17fpiFxlR+aJRQPRqN1lRGRkiIiIyEOwyk0T0GKJhw4bh888/h52dnVL506dP8fHHH2Pjxo06axwR6ZexZYQKM/b7I9PELjNpRO92v2XLFvz3338q5f/99x+2bt2qk0YRERERlSWNM0RZWVkQBAGCIODJkydKq0vn5+fj8OHDKtt5EFH5ZOyZE1MZI0Umil1mkmgcEFWuXBkymQwymQwNGjRQeV8mk3FrCyIiIgNgqt1e2tA4IDp69CgEQcDrr7+Offv2oWrVqor3LC0t4ebmBhcXl1JpJBHpBjMgyvh5EFEBjQOigs1U79y5gzp16qgshkhEREQGQBBevrQ53wSJnmVWsJrzs2fPkJqaiufPnyu936RJE920zMQUbMLITV5JW8x6EDd1NW2cZSaN6IDo77//xtChQ/HDDz8U+X5+fr7WjSIiIiIqS6L7vcaNG4d///0XZ86cQcWKFXHkyBFs2bIFr732Gr799tvSaCMRERFpStDBywSJzhD9/PPP+Oabb9CiRQuYmZnBzc0NXbt2hb29PaKiotCzZ8/SaCcRqcEuMs2p26Fe3WdY1PsFfzbErTnYVUYAIJO/fGlzvikSnSF6+vSpYr2hqlWr4u+//wYANG7cGBcvXtRt64iIiEgcZogkEZ0hatiwIa5duwZ3d3f4+vpi7dq1cHd3R0xMDGrWrFkabTQpHFxNYpWU5aD/KZzdKfyZFS435GwQEemW6IBo3LhxSE9PBwDMnj0bwcHB2LFjBywtLbF582Zdt4+IiIhE4CwzaUQHRAMHDlT8uVmzZrh79y5+//13uLq6olq1ajptnCljpojEYqZIc+o+I352ZBS4DpEkogOiwipVqoTmzZvroi1EREREeqFRQDRhwgSNK1y2bJnkxhCRdMxuaK6kMUHl9bMsyChztplpY5eZNBoFRElJSRpVJpPJtGoMERERaYm73UuiUUB09OjR0m4HERERkd5oPYaISpchDK6Wkn7nYHD9KdwdpEn3DwdkF6+oz0Vst1tZTt1n15lpY5eZNAyIiIiIjAlnmUnCgKic0EemSJtvl4aQ2ZLq1W/2JS3gZ0jUtUmTtppaZqikBRkLK6+fITNFRJpjQERERGRE2GUmDQOicqZw5sXQv/lJbZ8+MkvFbdOgbksHdTQdk6OvTJMhZjP0qaTPo7x/XuXl/wvSEc4yk4QBERERkRFhhkgaBkTllLF/0yt8f6WZMSr87b+4GUWazuDSNKMgJfOgLqtU3rMYZaksZtUZ4jgzZoqI1GNAREREZEzkwsuXNuebIAZERERExoRjiCRhQETlQlEpfl11o0np2tBn91RJU8PZdVYyU+sqK8CuMiL1GBAREREZERm0HFSts5aULwyIqNzS9NtueVwcUgpmhgyLIS25wMyQieFK1ZKY6bsBRERERPrGgIiMnpnzDX5DpjIX+2dysVmgYBffEl9EUhSsQ6TNS4ro6Gh4eHjA2toafn5++OWXX9Qeu3//fnTt2hXVq1eHvb09AgICEBsbK/GOdYMBERERkTERdPASadeuXRg3bhwiIiKQlJSEdu3aoXv37khNTS3y+OPHj6Nr1644fPgwEhMT0alTJ4SEhCApKUn8xXVEJggm2lmopaysLDg4OODx48ewt7fXd3NIC7oYY8Rv86StV7NJut5MmBlS/SuL3xkF1wjsNAcWFtaS68nLy8GJo3NEtbVVq1Zo3rw51qxZoyjz8vJC7969ERUVpVEdjRo1Qnh4OGbNmiWp3dpihoiIiMiIyARB6xfwMsB69ZWbm1vk9Z4/f47ExEQEBQUplQcFBeHUqVMatVkul+PJkyeoWrWqdjevBc4yI5NXeMNcKQqvAaTpFh9kvNT9HdDk74Yhr2VE5YD8/1/anA+gTp06SsWzZ8/GnDlzVA7PzMxEfn4+nJyclMqdnJzw4MEDjS752Wef4enTp+jXr5+kJusCAyIiIiIj8mqWR+r5AJCWlqbUZWZlZVX8eTLlFYwEQVApK8rXX3+NOXPm4JtvvkGNGjUktFg3GBARERGRCnt7e43GEFWrVg3m5uYq2aCMjAyVrFFhu3btwvDhw7Fnzx506dJFq/ZqiwER0f/TxcDT+EJp6q5mb2ldJ+lOWW5vUriLTN21i+oeU9e9RqSRMt7LzNLSEn5+foiPj0dYWJiiPD4+HqGhoWrP+/rrrzFs2DB8/fXX6Nmzp9TW6gwDIiIiImOih5WqJ0yYgEGDBsHf3x8BAQFYt24dUlNTMXLkSADA9OnTcf/+fWzduhXAy2Bo8ODB+Pzzz9G6dWtFdqlixYpwcHCQ3nYtMCAiKkXx8j0A/pcp4mBr/dLl561ptqmkbE9R7+sqM8Tp9lRWwsPD8fDhQ8ybNw/p6enw8fHB4cOH4ebmBgBIT09XWpNo7dq1yMvLw+jRozF69GhF+ZAhQ7B58+aybj4ABkRERERGRZvVpgvOl2LUqFEYNWpUke8VDnISEhKkXaQUMSAiKgMFmaICHFtUujTN3mgzpkjq5q1lOY6JTBQ3d5WECzMSERGRyWOGiEgPCmeMXsXske6UlI2RkqURO3aopPM4k4x0TSZ/+dLmfFPEgIiIiMiYsMtMEnaZERERkcljhojIwBSeqk9FK2p3+LIYyCx1MDW7yqjMlPHCjMaCAREREZER0dVeZqbGYLrMoqKiIJPJMG7cOKXylJQU9OrVCw4ODrCzs0Pr1q2VFncqrGPHjpDJZCqvwsuCR0dHw8PDA9bW1vDz88Mvv/xSGrdFJFm8fE+xg69NXbCLr+IV+2dymWdcCq5Z+KXp8aXJzPkGF2U0ZQVjiLR5mSCDCIjOnz+PdevWoUmTJkrlt27dQmBgIDw9PZGQkIBff/0VM2fOhLW1tdq69u/fj/T0dMXr8uXLMDc3x1tv/a/7YdeuXRg3bhwiIiKQlJSEdu3aoXv37sUGWkRERGS89N5llp2djYEDB2L9+vWIjIxUei8iIgI9evTAkiVLFGV169Yttr6qVasq/bxz505UqlRJKSBatmwZhg8fjhEjRgAAVqxYgdjYWKxZswZRUVHa3hIRlbGyXOTQkMf+MCtEAF6OAdJm6rxpJoj0nyEaPXo0evbsiS5duiiVy+VyfP/992jQoAGCg4NRo0YNtGrVCgcPHhRV/4YNG9C/f3/Y2NgAAJ4/f47ExEQEBQUpHRcUFIRTp06prSc3NxdZWVlKLyIiIkNTMIZIm5cp0muGaOfOnbh48SLOnz+v8l5GRgays7OxaNEiREZGYvHixThy5Aj69OmDo0ePokOHDiXWf+7cOVy+fBkbNmxQlGVmZiI/Px9OTk5Kxzo5OSl22y1KVFQU5s6dK+LuiKi8M+RsEBHplt4CorS0NIwdOxZxcXFFjgmSy1/m+0JDQzF+/HgAgK+vL06dOoWYmBiNAqINGzbAx8cHLVu2VHlPJpMp/SwIgkrZq6ZPn44JEyYofs7KykKdOnVKbAMREVGZEqDlwow6a0m5oreAKDExERkZGfDz81OU5efn4/jx41i1ahWePn0KCwsLeHt7K53n5eWFEydOlFj/s2fPsHPnTsybN0+pvFq1ajA3N1fJBmVkZKhkjV5lZWUFKysrTW6NiIhIf7hStSR6G0PUuXNnXLp0CcnJyYqXv78/Bg4ciOTkZFhZWaFFixa4du2a0nnXr1+Hm5tbifXv3r0bubm5eOedd5TKLS0t4efnh/j4eKXy+Ph4tGnTRvsbIyIionJHbxkiOzs7+Pj4KJXZ2NjA0dFRUT558mSEh4ejffv26NSpE44cOYJDhw4hISFBcc7gwYNRq1YtldlhGzZsQO/eveHo6Khy7QkTJmDQoEHw9/dHQEAA1q1bh9TUVIwcOVL3N0pERFSW5ADUjwDR7HwTpPdp98UJCwtDTEwMoqKiMGbMGDRs2BD79u1DYGCg4pjU1FSYmSknuq5fv44TJ04gLi6uyHrDw8Px8OFDzJs3D+np6fDx8cHhw4c1yjwRlTVu5SFd4UHRYqfnF3W81IHWBVPi5Q9ek3S+JnUTAVypWiqDCohezfwUGDZsGIYNGybqnAYNGkAo4YGOGjUKo0aNEttEIiIiw8YxRJIYVEBEROoxUySerhZs1Gb6feHsTeGftckYMTNEpDsMiIiIiIwJM0SSMCAiKmeYKZJO2zFFmhCbtZEytoiZISoWAyJJ9L51BxEREZG+MUNEVE4xU6S5gsyQ2IxQwXllkZFh1od0htPuJWFAREREZEQ47V4adpkRERGRyWOGiKicY9eZemK7ygofz24sKpc4qFoSBkRERETGRC4AMi2CGjkDIiKicq0gW6ZaLrYeHTSGiMoVBkRERETGhF1mkjAgIqJyT11miMg0aRkQgQERERERlXfMEEnCgIjISBjLbDNme4hIHxgQERERGRO5AK26vTjLjIiIiMo9Qf7ypc35JogBEZGRMbSuM3aBEVF5wICIiIjImHBQtSQMiIiMDDNDRCaOY4gk4eauREREZPKYISIyEmWRGWLWh6gcYJeZJAyIiIiIjIkALQMinbWkXGFARFTOMTNERKQ9BkRERETGhF1mkjAgIionDGX2GBEZOLkcgBaLK8q5MCMRERGVd8wQScJp90RERGTymCEiMnDsKiMiUZghkoQBERERkTHhStWSMCAiMlCGkBnidHsiMhUMiIiIiIyIIMghCNJnimlzbnnGgIjIwDAzRERaEQTtur1MdAwRZ5kRERGRyWOGiIgUmBkiMgKCloOqTTRDxICIiIjImMjlgEyLcUAmOoaIXWZERERk8pghIiJ2lREZE3aZScKAiIiIyIgIcjkELbrMOO2eiEwOM0NERogZIkk4hoiIiIhMHjNEREaOWSAiEyMXABkzRGIxICIiIjImggBAm2n3DIiIyIgwM0REpDkGREREREZEkAsQtOgyE0w0Q8RB1URERMZEkGv/kiA6OhoeHh6wtraGn58ffvnll2KPP3bsGPz8/GBtbY26desiJiZG0nV1hRkiIgNTuKurq9lbWp1PRFTadu3ahXHjxiE6Ohpt27bF2rVr0b17d1y9ehWurq4qx9+5cwc9evTAe++9h+3bt+PkyZMYNWoUqlevjjfffFMPd8AMERERkVER5ILWL7GWLVuG4cOHY8SIEfDy8sKKFStQp04drFmzpsjjY2Ji4OrqihUrVsDLywsjRozAsGHD8Omnn2p7+5IxICIyEvHyPcwOEVGZd5k9f/4ciYmJCAoKUioPCgrCqVOnijzn9OnTKscHBwfjwoULePHihbj71RF2mUlUMOgsKytLzy0hY5cnaPafA/8uEhmugn+fZTFgOQ8vtFqoOg8v/88p/H+KlZUVrKysVI7PzMxEfn4+nJyclMqdnJzw4MGDIq/x4MGDIo/Py8tDZmYmatasKf0GJGJAJNGTJ08AAHXq1NFzS4hecnBw0HcTiKgET548KbV/q5aWlnB2dsaJB4e1rsvW1lbl99vs2bMxZ84ctefIZDKlnwVBUCkr6fiiyssKAyKJXFxckJaWBjs7O709POBlBF+nTh2kpaXB3t5eb+0obaZwn6ZwjwDv05iYwj0CurlPQRDw5MkTuLi46Lh1/2NtbY07d+7g+fPnWtdVVDBTVHYIAKpVqwZzc3OVbFBGRoZKFqiAs7NzkcdbWFjA0dFRi5ZLx4BIIjMzM9SuXVvfzVCwt7c36v+QCpjCfZrCPQK8T2NiCvcIaH+fZZHFtba2hrW1dalf51WWlpbw8/NDfHw8wsLCFOXx8fEIDQ0t8pyAgAAcOnRIqSwuLg7+/v6oUKFCqbZXHQ6qJiIiIq1MmDABX375JTZu3IiUlBSMHz8eqampGDlyJABg+vTpGDx4sOL4kSNH4t69e5gwYQJSUlKwceNGbNiwAZMmTdLXLTBDRERERNoJDw/Hw4cPMW/ePKSnp8PHxweHDx+Gm5sbACA9PR2pqamK4z08PHD48GGMHz8eq1evhouLC7744gu9rUEEMCAq96ysrDB79my1fbvGwhTu0xTuEeB9GhNTuEfAdO5TW6NGjcKoUaOKfG/z5s0qZR06dMDFixdLuVWakwmmumkJERER0f/jGCIiIiIyeQyIiIiIyOQxICIiIiKTx4CIiIiITB4DIj06fvw4QkJC4OLiAplMhoMHDyq9v3//fgQHB6NatWqQyWRITk7WqN59+/bB29sbVlZW8Pb2xoEDB5TenzNnDmQymdLL2dlZR3elrDTu8cqVK3jzzTfh7u4OmUyGFStWFHlcdHQ0PDw8YG1tDT8/P/zyyy/a35Aa+rrPsnyWQOnc5/r169GuXTtUqVIFVapUQZcuXXDu3DmV48rqeerrHo3hWe7fvx/+/v6oXLkybGxs4Ovri23btqkcV97/bWpyn2X9PEl7DIj06OnTp2jatClWrVql9v22bdti0aJFGtd5+vRphIeHY9CgQfj1118xaNAg9OvXD2fPnlU6rlGjRkhPT1e8Ll26pNW9qFMa9/js2TPUrVsXixYtUvsfzK5duzBu3DhEREQgKSkJ7dq1Q/fu3ZXWwdAlfd0nUHbPEiid+0xISMCAAQNw9OhRnD59Gq6urggKCsL9+/cVx5Tl89TXPQLl/1lWrVoVEREROH36NH777TcMHToUQ4cORWxsrOIYY/i3qcl9AmX7PEkHBDIIAIQDBw4U+d6dO3cEAEJSUlKJ9fTr10/o1q2bUllwcLDQv39/xc+zZ88WmjZtqkVrpdHVPb7Kzc1NWL58uUp5y5YthZEjRyqVeXp6CtOmTRNVvxRleZ/6epaCUDr3KQiCkJeXJ9jZ2QlbtmxRlOnreZblPRrjsxQEQWjWrJkwY8YMxc/G9m+zQOH71OfzJGmYITIyp0+fRlBQkFJZcHAwTp06pVR248YNuLi4wMPDA/3798ft27fLspml6vnz50hMTFT5HIKCglQ+B2NgbM/y2bNnePHiBapWrQrAOJ9n4XssYEzPUhAE/PTTT7h27Rrat28PwDifZVH3WcCYnqcpYEBkZB48eKCyu7CTk5PSrsKtWrXC1q1bERsbi/Xr1+PBgwdo06YNHj58WNbNLRWZmZnIz88v8XMwBsb4LKdNm4ZatWqhS5cuAIzzeRa+R8B4nuXjx49ha2sLS0tL9OzZEytXrkTXrl0BGNezLO4+AeN5nqaEW3cYIZlMpvSzIAhKZd27d1f8uXHjxggICEC9evWwZcsWTJgwoczaWdpK+hyMgbE9yyVLluDrr79GQkKCyo7dxvI81d2jsTxLOzs7JCcnIzs7Gz/99BMmTJiAunXromPHjopjjOFZlnSfxvI8TQkDIiPj7Oys8k0rIyND5RvZq2xsbNC4cWPcuHGjtJtXJqpVqwZzc3PRn4MxKM/P8tNPP8XChQvx448/okmTJopyY3qe6u6xKOX1WZqZmaF+/foAAF9fX6SkpCAqKgodO3Y0qmdZ3H0Wpbw+T1PCLjMjExAQgPj4eKWyuLg4tGnTRu05ubm5SElJQc2aNUu7eWXC0tISfn5+Kp9DfHx8sZ+DMSivz3Lp0qWYP38+jhw5An9/f6X3jOV5FnePRSmvz7IwQRCQm5sLwHieZVFevc+iGMvzNGbMEOlRdnY2bt68qfj5zp07SE5ORtWqVeHq6op//vkHqamp+PPPPwEA165dA/AyC1QwDXvw4MGoVasWoqKiAABjx45F+/btsXjxYoSGhuKbb77Bjz/+iBMnTiiuM2nSJISEhMDV1RUZGRmIjIxEVlYWhgwZUi7u8fnz57h69ariz/fv30dycjJsbW0V39gmTJiAQYMGwd/fHwEBAVi3bh1SU1MxcuRInd+jPu+zLJ9lad3nkiVLMHPmTHz11Vdwd3dXZA9sbW1ha2sLoGyfp77u0RieZVRUFPz9/VGvXj08f/4chw8fxtatW7FmzRrFdYzh36Ym91nWz5N0QH8T3Ojo0aMCAJXXkCFDBEEQhE2bNhX5/uzZsxV1dOjQQXF8gT179ggNGzYUKlSoIHh6egr79u1Tej88PFyoWbOmUKFCBcHFxUXo06ePcOXKlXJzjwXTYwu/OnTooHTt1atXC25uboKlpaXQvHlz4dixY6Vyj/q8z7J8lqV1n25ubiWeIwhl9zz1dY/G8CwjIiKE+vXrC9bW1kKVKlWEgIAAYefOnSrXLu//NjW5z7J+nqQ9mSAIgqbBExEREZEx4hgiIiIiMnkMiIiIiMjkMSAiIiIik8eAiIiIiEweAyIiIiIyeQyIiIiIyOQxICIiIiKTx4CIjEbHjh0xbtw4o7ruu+++i969e2tVh7u7O2QyGWQyGR49eqT2uM2bN6Ny5cpaXas06yut68yZMwe+vr46a48+zZkzR/GsV6xYoe/mEJUrDIiItLR//37Mnz9f8bO7u7vB/TKaN28e0tPT4eDgUGbXDA8Px/Xr18vsevRyu4j09HTUrl1b300hKne4lxmRlqpWrarvJpTIzs5OsS9TWalYsSIqVqxYptc0VIIgID8/HxYWpftfbsHeaObm5qV6HSJjxAwRGa1///0XgwcPRpUqVVCpUiV0794dN27cULxf0NUSGxsLLy8v2Nraolu3bkhPT1cck5eXhzFjxqBy5cpwdHTE1KlTMWTIEKVurFe7zDp27Ih79+5h/Pjxiq4LoOhumRUrVsDd3V3xc35+PiZMmKC41pQpU1B4Zx1BELBkyRLUrVsXFStWRNOmTbF3715Jn8/mzZvh6uqKSpUqISwsDA8fPlQ55tChQ/Dz84O1tTXq1q2LuXPnIi8vT/H+o0eP8P7778PJyQnW1tbw8fHBd999p6j/1a6sgs9g48aNcHV1ha2tLT788EPk5+djyZIlcHZ2Ro0aNbBgwQKlNixbtgyNGzeGjY0N6tSpg1GjRiE7O1vSPQPAokWL4OTkBDs7OwwfPhw5OTkqx2zatAleXl6wtraGp6cnoqOjld4/deoUfH19YW1tDX9/fxw8eBAymQzJyckAgISEBMhkMsTGxsLf3x9WVlb45ZdfNHp+V69eRY8ePWBrawsnJycMGjQImZmZivf37t2Lxo0bo2LFinB0dESXLl3w9OlTyZ8HEb3EgIiM1rvvvosLFy7g22+/xenTpyEIAnr06IEXL14ojnn27Bk+/fRTbNu2DcePH0dqaiomTZqkeH/x4sXYsWMHNm3ahJMnTyIrKwsHDx5Ue839+/ejdu3aii6qV4Orknz22WfYuHEjNmzYgBMnTuCff/7BgQMHlI6ZMWMGNm3ahDVr1uDKlSsYP3483nnnHRw7dkzzDwbA2bNnMWzYMIwaNQrJycno1KkTIiMjlY6JjY3FO++8gzFjxuDq1atYu3YtNm/erAhY5HI5unfvjlOnTmH79u24evUqFi1aVGx24tatW/jhhx9w5MgRfP3119i4cSN69uyJP/74A8eOHcPixYsxY8YMnDlzRnGOmZkZvvjiC1y+fBlbtmzBzz//jClTpoi63wK7d+/G7NmzsWDBAly4cAE1a9ZUCXbWr1+PiIgILFiwACkpKVi4cCFmzpyJLVu2AACePHmCkJAQNG7cGBcvXsT8+fMxderUIq83ZcoUREVFISUlBU2aNCnx+aWnp6NDhw7w9fXFhQsXcOTIEfz111/o16+f4v0BAwZg2LBhSElJQUJCAvr06aMSOBORBPrbV5ZItzp06CCMHTtWEARBuH79ugBAOHnypOL9zMxMoWLFisLu3bsFQfjfLtc3b95UHLN69WrByclJ8bOTk5OwdOlSxc95eXmCq6urEBoaWuR1BeHlzubLly9Xatvs2bOFpk2bKpUtX75ccHNzU/xcs2ZNYdGiRYqfX7x4IdSuXVtxrezsbMHa2lo4deqUUj3Dhw8XBgwYoPZzKao9AwYMELp166ZUFh4eLjg4OCh+bteunbBw4UKlY7Zt2ybUrFlTEARBiI2NFczMzIRr164Ved1NmzYp1Td79myhUqVKQlZWlqIsODhYcHd3F/Lz8xVlDRs2FKKiotTez+7duwVHR0e11ylOQECAMHLkSKWyVq1aKT2bOnXqCF999ZXSMfPnzxcCAgIEQRCENWvWCI6OjsJ///2neH/9+vUCACEpKUkQhP/tsH7w4EHFMZo8v5kzZwpBQUFK76elpQkAhGvXrgmJiYkCAOHu3bvF3mdRz5yIiscxRGSUUlJSYGFhgVatWinKHB0d0bBhQ6SkpCjKKlWqhHr16il+rlmzJjIyMgAAjx8/xl9//YWWLVsq3jc3N4efnx/kcrlO2/v48WOkp6cjICBAUWZhYQF/f3/Ft/+rV68iJycHXbt2VTr3+fPnaNasmajrpaSkICwsTKksICAAR44cUfycmJiI8+fPK3Vh5efnIycnB8+ePUNycjJq166NBg0aaHxdd3d32NnZKX52cnKCubk5zMzMlMoKngEAHD16FAsXLsTVq1eRlZWFvLw85OTk4OnTp7CxsRF93yNHjlS576NHjwIA/v77b6SlpWH48OF47733FMfk5eUpBqRfu3YNTZo0gbW1teL9V/+OvMrf31/xZ02eX2JiIo4ePQpbW1uVum7duoWgoCB07twZjRs3RnBwMIKCgtC3b19UqVJFzMdAREVgQERGSVDThSAIgmJcDwBUqFBB6X2ZTKZy7qvHF1d3cczMzFTOe7XrThMFQdj333+PWrVqKb1nZWUlqi5N7kEul2Pu3Lno06ePynvW1taSBkwX9XkXVVZwr/fu3UOPHj0wcuRIzJ8/H1WrVsWJEycwfPhw0Z+fJgquu379eqVgGoCiK7Dw36GCsqK8GrBp8vzkcjlCQkKwePFilbpq1qwJc3NzxMfH49SpU4iLi8PKlSsRERGBs2fPwsPDQ8ytElEhHENERsnb2xt5eXk4e/asouzhw4e4fv06vLy8NKrDwcEBTk5OOHfunKIsPz8fSUlJxZ5naWmJ/Px8pbLq1avjwYMHSr84CwbgFlyrZs2aSmNn8vLykJiYqHRPVlZWSE1NRf369ZVederU0eieXq3r1WsBUPm5efPmuHbtmsq16tevDzMzMzRp0gR//PFHqU6tv3DhAvLy8vDZZ5+hdevWaNCgAf7880/J9Xl5eRV7305OTqhVqxZu376tcs8FAYenpyd+++035ObmKrWzJJo8v+bNm+PKlStwd3dXOaYguJLJZGjbti3mzp2LpKQkWFpaqow1IyLxmCEio/Taa68hNDQU7733HtauXQs7OztMmzYNtWrVQmhoqMb1fPzxx4iKikL9+vXh6emJlStX4t9//1XJELzK3d0dx48fR//+/WFlZYVq1aqhY8eO+Pvvv7FkyRL07dsXR44cwQ8//AB7e3vFeWPHjsWiRYvw2muvwcvLC8uWLVNaSNHOzg6TJk3C+PHjIZfLERgYiKysLJw6dQq2trYYMmSIxvc1ZswYtGnTBkuWLEHv3r0RFxen1F0GALNmzcIbb7yBOnXq4K233oKZmRl+++03XLp0CZGRkejQoQPat2+PN998E8uWLUP9+vXx+++/QyaToVu3bhq3pTj16tVDXl4eVq5ciZCQEJw8eRIxMTGS6xs7diyGDBkCf39/BAYGYseOHbhy5Qrq1q2rOGbOnDkYM2YM7O3t0b17d+Tm5uLChQv4999/MWHCBLz99tuIiIjA+++/j2nTpiE1NRWffvopANVs4qs0eX6jR4/G+vXrMWDAAEyePBnVqlXDzZs3sXPnTqxfvx4XLlzATz/9hKCgINSoUQNnz57F33//rXGQT0TqMUNERmvTpk3w8/PDG2+8gYCAAAiCgMOHD6t00RRn6tSpGDBgAAYPHoyAgADY2toiODhYafxIYfPmzcPdu3dRr149VK9eHcDLzER0dDRWr16Npk2b4ty5c0qz2QBg4sSJGDx4MN59910EBATAzs5OZZzP/PnzMWvWLERFRcHLywvBwcE4dOiQ6O6S1q1b48svv8TKlSvh6+uLuLg4zJgxQ+mY4OBgfPfdd4iPj0eLFi3QunVrLFu2DG5ubopj9u3bhxYtWmDAgAHw9vbGlClTVLJj2vD19cWyZcuwePFi+Pj4YMeOHYiKipJcX3h4OGbNmoWpU6fCz88P9+7dw4cffqh0zIgRI/Dll19i8+bNaNy4MTp06IDNmzcrPmN7e3scOnQIycnJ8PX1RUREBGbNmgUAxf69AEp+fi4uLjh58iTy8/MRHBwMHx8fjB07Fg4ODjAzM4O9vT2OHz+OHj16oEGDBpgxYwY+++wzdO/eXfJnQkQvyQQpAyKITJRcLoeXlxf69euntDq1IXN3d8e4ceP0sq2JqdixYweGDh2Kx48fG8RilHzmROIxQ0RUjHv37mH9+vW4fv06Ll26hA8//BB37tzB22+/re+miTJ16lTY2tri8ePH+m6KUdi6dStOnDiBO3fu4ODBg5g6dSr69eun92Bo4cKFsLW1RWpqql7bQVQeMUNEVIy0tDT0798fly9fhiAI8PHxwaJFi9C+fXt9N01j9+7dU8zIqlu3rtIUd2PTqFEj3Lt3r8j31q5di4EDB+rkOkuWLEF0dDQePHiAmjVronfv3liwYAEqVaqkk/ql+ueff/DPP/8AeDmQvyz3riMq7xgQEZHReDX4K6xguw4ioqIwICIiIiKTZ7y5cyIiIiINMSAiIiIik8eAiIiIiEweAyIiIiIyeQyIiIiIyOQxICIiIiKTx4CIiIiITB4DIiIiIjJ5/wf2SqWK8pbLGgAAAABJRU5ErkJggg==\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "cube_s2snowmap_masked.snowmap.sel(time='2018-04-02T10:24:35.000000000').plot.imshow()" + ] + }, + { + "cell_type": "markdown", + "id": "d3ea01b4-806c-49cd-9d7b-b8c0adc8ac7b", + "metadata": {}, + "source": [ + "Compute the cloud percent in the catchment for each Sentinel-2 image" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "id": "79e7e988-992d-4842-953e-f08fb83d73f3", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "
<xarray.Dataset>\n",
+       "Dimensions:        (lat: 166, lon: 191, time: 58, bnds: 2)\n",
+       "Coordinates:\n",
+       "  * lat            (lat) float64 46.95 46.95 46.95 46.95 ... 46.66 46.66 46.66\n",
+       "  * lon            (lon) float64 11.02 11.02 11.03 11.03 ... 11.36 11.36 11.36\n",
+       "  * time           (time) datetime64[ns] 2018-02-01T10:22:37 ... 2018-06-28T1...\n",
+       "    time_bnds      (time, bnds) datetime64[ns] dask.array<chunksize=(58, 2), meta=np.ndarray>\n",
+       "Dimensions without coordinates: bnds\n",
+       "Data variables:\n",
+       "    B03            (time, lat, lon) float32 dask.array<chunksize=(1, 166, 191), meta=np.ndarray>\n",
+       "    B11            (time, lat, lon) float32 dask.array<chunksize=(1, 166, 191), meta=np.ndarray>\n",
+       "    CLM            (time, lat, lon) float32 dask.array<chunksize=(1, 166, 191), meta=np.ndarray>\n",
+       "    NDSI           (time, lat, lon) float32 dask.array<chunksize=(1, 166, 191), meta=np.ndarray>\n",
+       "    snowmap        (time, lat, lon) float64 dask.array<chunksize=(1, 166, 191), meta=np.ndarray>\n",
+       "    cloud_percent  (time) float64 dask.array<chunksize=(1,), meta=np.ndarray>\n",
+       "Attributes: (12/17)\n",
+       "    Conventions:                CF-1.7\n",
+       "    title:                      S2L2A Data Cube Subset\n",
+       "    history:                    [{'program': 'xcube_sh.chunkstore.SentinelHub...\n",
+       "    date_created:               2023-02-17T09:42:47.174581\n",
+       "    time_coverage_start:        2018-02-01T10:22:37+00:00\n",
+       "    time_coverage_end:          2018-06-28T10:13:58+00:00\n",
+       "    ...                         ...\n",
+       "    processing_level:           L2A\n",
+       "    geospatial_lon_units:       degrees_east\n",
+       "    geospatial_lon_resolution:  0.0018000000000000028\n",
+       "    geospatial_lat_units:       degrees_north\n",
+       "    geospatial_lat_resolution:  0.0017999999999999822\n",
+       "    date_modified:              2023-02-17T09:43:16.744018
" + ], + "text/plain": [ + "\n", + "Dimensions: (lat: 166, lon: 191, time: 58, bnds: 2)\n", + "Coordinates:\n", + " * lat (lat) float64 46.95 46.95 46.95 46.95 ... 46.66 46.66 46.66\n", + " * lon (lon) float64 11.02 11.02 11.03 11.03 ... 11.36 11.36 11.36\n", + " * time (time) datetime64[ns] 2018-02-01T10:22:37 ... 2018-06-28T1...\n", + " time_bnds (time, bnds) datetime64[ns] dask.array\n", + "Dimensions without coordinates: bnds\n", + "Data variables:\n", + " B03 (time, lat, lon) float32 dask.array\n", + " B11 (time, lat, lon) float32 dask.array\n", + " CLM (time, lat, lon) float32 dask.array\n", + " NDSI (time, lat, lon) float32 dask.array\n", + " snowmap (time, lat, lon) float64 dask.array\n", + " cloud_percent (time) float64 dask.array\n", + "Attributes: (12/17)\n", + " Conventions: CF-1.7\n", + " title: S2L2A Data Cube Subset\n", + " history: [{'program': 'xcube_sh.chunkstore.SentinelHub...\n", + " date_created: 2023-02-17T09:42:47.174581\n", + " time_coverage_start: 2018-02-01T10:22:37+00:00\n", + " time_coverage_end: 2018-06-28T10:13:58+00:00\n", + " ... ...\n", + " processing_level: L2A\n", + " geospatial_lon_units: degrees_east\n", + " geospatial_lon_resolution: 0.0018000000000000028\n", + " geospatial_lat_units: degrees_north\n", + " geospatial_lat_resolution: 0.0017999999999999822\n", + " date_modified: 2023-02-17T09:43:16.744018" + ] + }, + "execution_count": 18, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "n_cloud = cube_s2snowmap_masked.CLM.sum(dim=['lat', 'lon'])\n", + "n_cloud_valid = cube_s2snowmap_masked.CLM.count(dim=['lat', 'lon'])\n", + "\n", + "cube_s2snowmap_masked['cloud_percent'] = n_cloud / n_cloud_valid * 100\n", + "cube_s2snowmap_masked" + ] + }, + { + "cell_type": "markdown", + "id": "78682b94-646c-42d3-9a8f-0a6ae09af48a", + "metadata": {}, + "source": [ + "In order to get an accurate snow cover area estimation we want to keep only the Sentinel-2 images with a cloud percent in the catchment lower than 20%" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "id": "0120c72b-e2bc-4d7d-a9d2-43f8596f969d", + "metadata": {}, + "outputs": [], + "source": [ + "cube_s2snowmap_masked = cube_s2snowmap_masked.sel(time=cube_s2snowmap_masked.cloud_percent < 20)" + ] + }, + { + "cell_type": "markdown", + "id": "f950453d-9cd2-4010-9a24-770feb3ec4f9", + "metadata": {}, + "source": [ + "For the remaining image we can then estimate the snow cover area" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "id": "faba29f5-a040-433b-bd59-08d713d0715c", + "metadata": {}, + "outputs": [], + "source": [ + "n_snow = cube_s2snowmap_masked.snowmap.sum(dim=['lat', 'lon'])\n", + "n_snow_valid = cube_s2snowmap_masked.snowmap.count(dim=['lat', 'lon'])\n", + "\n", + "cube_s2snowmap_masked['snow_percent'] = n_snow / n_snow_valid * 100" + ] + }, + { + "cell_type": "markdown", + "id": "35e2106f-9911-4d02-8b61-8cbfde999a2a", + "metadata": {}, + "source": [ + "The snow and cloud percentage value can be represented in a pandas DataFrame and saved as csv" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "id": "820438b2-2b84-4fb1-9107-31b26b94b404", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
cloud_percentsnow_percent
time
2018-02-08 10:11:5314.10793879.586701
2018-02-11 10:25:594.82708974.475260
2018-02-13 10:15:5918.38485768.060348
2018-02-21 10:20:330.00000071.934766
2018-02-28 10:10:2112.76526168.030633
2018-03-08 10:22:4110.73487085.508841
2018-03-20 10:10:2111.09510178.134669
2018-03-23 10:20:2114.21928269.458655
2018-03-25 10:15:114.46685969.813520
2018-04-02 10:24:354.46030968.725578
2018-04-07 10:20:200.70081266.367654
2018-04-14 10:15:3610.17815072.582762
2018-04-19 10:14:570.00000058.560388
2018-04-22 10:21:150.00000054.872937
2018-04-24 10:15:2618.27351349.479083
2018-06-16 10:20:210.1375436.388142
2018-06-23 10:11:393.1634793.645587
\n", + "
" + ], + "text/plain": [ + " cloud_percent snow_percent\n", + "time \n", + "2018-02-08 10:11:53 14.107938 79.586701\n", + "2018-02-11 10:25:59 4.827089 74.475260\n", + "2018-02-13 10:15:59 18.384857 68.060348\n", + "2018-02-21 10:20:33 0.000000 71.934766\n", + "2018-02-28 10:10:21 12.765261 68.030633\n", + "2018-03-08 10:22:41 10.734870 85.508841\n", + "2018-03-20 10:10:21 11.095101 78.134669\n", + "2018-03-23 10:20:21 14.219282 69.458655\n", + "2018-03-25 10:15:11 4.466859 69.813520\n", + "2018-04-02 10:24:35 4.460309 68.725578\n", + "2018-04-07 10:20:20 0.700812 66.367654\n", + "2018-04-14 10:15:36 10.178150 72.582762\n", + "2018-04-19 10:14:57 0.000000 58.560388\n", + "2018-04-22 10:21:15 0.000000 54.872937\n", + "2018-04-24 10:15:26 18.273513 49.479083\n", + "2018-06-16 10:20:21 0.137543 6.388142\n", + "2018-06-23 10:11:39 3.163479 3.645587" + ] + }, + "execution_count": 21, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "sca_ts = cube_s2snowmap_masked[['cloud_percent', 'snow_percent']].to_dataframe()\n", + "sca_ts" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "id": "bb487d6f-b9bc-4ab8-9d1a-aaabf3ff2f8b", + "metadata": {}, + "outputs": [], + "source": [ + "sca_ts['snow_percent'].to_csv('s2_sca_ts_cloudfree.csv')" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "id": "edba88d7-2426-4f66-81a9-dd6564dfe80b", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 23, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "sca_ts['snow_percent'].plot(marker='o')" + ] + }, + { + "cell_type": "markdown", + "id": "1b2d94ef-5977-44a0-a140-4db536533a8f", + "metadata": {}, + "source": [ + "### Compare the evolution of SCA to runoff" + ] + }, + { + "cell_type": "markdown", + "id": "11841a29-72ea-4fba-8e62-dff98a01a330", + "metadata": {}, + "source": [ + "In alpine catchment snow represent a major contribution to the runoff during the melting season. As a qualitative analysis we will plot the runoff time series for the selected catchment toghether with the SCA time series we derived from Sentinel-2. As soon as the SCA decreases due to melting, the snow melt contribution implies an increase of the runoff.\n", + "\n", + "Load the runoff time series stored in the csv file:" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "id": "6f4268bf-77f9-4f05-a02e-d8101645c4e7", + "metadata": {}, + "outputs": [], + "source": [ + "dsc = pd.read_csv('ADO_DSC_ITH1_0025.csv', sep=',', index_col='Time', parse_dates=True)" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "id": "d1019f5b-1559-48c1-b415-f6a3741c2634", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
discharge_m3_s
Time
1994-01-01 01:00:004.03
1994-01-02 01:00:003.84
1994-01-03 01:00:003.74
1994-01-04 01:00:003.89
1994-01-05 01:00:003.80
......
2021-07-17 02:00:00NaN
2021-07-18 02:00:00NaN
2021-07-19 02:00:00NaN
2021-07-20 02:00:00NaN
2021-07-21 02:00:00NaN
\n", + "

10064 rows × 1 columns

\n", + "
" + ], + "text/plain": [ + " discharge_m3_s\n", + "Time \n", + "1994-01-01 01:00:00 4.03\n", + "1994-01-02 01:00:00 3.84\n", + "1994-01-03 01:00:00 3.74\n", + "1994-01-04 01:00:00 3.89\n", + "1994-01-05 01:00:00 3.80\n", + "... ...\n", + "2021-07-17 02:00:00 NaN\n", + "2021-07-18 02:00:00 NaN\n", + "2021-07-19 02:00:00 NaN\n", + "2021-07-20 02:00:00 NaN\n", + "2021-07-21 02:00:00 NaN\n", + "\n", + "[10064 rows x 1 columns]" + ] + }, + "execution_count": 25, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dsc" + ] + }, + { + "cell_type": "markdown", + "id": "93c5a9b3-3b60-4359-b97b-55cefcabdeb1", + "metadata": {}, + "source": [ + "Select the runoff time series accordingly with the time period we used to estimate the Sentinel-2 SCA" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "id": "3d86d8fc-d001-48d5-a44e-f9a6b30d5885", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 26, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "dsc = dsc.loc[start_date:end_date]\n", + "dsc.plot()" + ] + }, + { + "cell_type": "markdown", + "id": "06ec548f-5071-43e9-b721-e694112839e2", + "metadata": {}, + "source": [ + "Plot the runoff (left axes, blue line) toghether with the Sentinel-2 SCA (right axes, orange line)" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "id": "4100849b-8330-47ae-accb-7c5a5c752502", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "ax1 = dsc.discharge_m3_s.plot(label='Discharge', xlabel='', ylabel='Discharge (m$^3$/s)')\n", + "ax2 = sca_ts.snow_percent.plot(marker='o', secondary_y=True, label='SCA', xlabel='', ylabel='Snow cover area (%)')\n", + "\n", + "ax1.legend(loc='center left', bbox_to_anchor=(0, 0.6))\n", + "ax2.legend(loc='center left', bbox_to_anchor=(0, 0.5))\n", + "\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "11784236-fa7b-4e05-910a-5cf157cfe6b0", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "158c4139-7a28-4070-886f-05bf88bffa12", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "139d7ecc-37eb-49d4-95ae-3b8712e10069", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e29119a3-1fa6-493a-a16d-1be1374bdcb3", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3c83e3ff-3002-4a5b-b7a6-371ca7727b11", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 14, + "id": "afbf4d04-0dd5-4a60-91c8-52a0c95a2e4f", + "metadata": {}, + "outputs": [], + "source": [ + "cube_s2snowmap['snowmap'] = cube_s2snowmap.snowmap.where(cube_s2snowmap.CLM==0, 2) " + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "id": "7ea95568-b0dc-4a6a-9813-92a337f98dbc", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 15, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "cube_s2snowmap.snowmap.sel(time='2018-04-02T10:24:35.000000000').plot.imshow()" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "id": "082b1ee5-50ee-49ee-b858-a7f49b2f2d02", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "
<xarray.Dataset>\n",
+       "Dimensions:        (lat: 166, lon: 191, time: 58, bnds: 2)\n",
+       "Coordinates:\n",
+       "  * lat            (lat) float64 46.95 46.95 46.95 46.95 ... 46.66 46.66 46.66\n",
+       "  * lon            (lon) float64 11.02 11.02 11.03 11.03 ... 11.36 11.36 11.36\n",
+       "  * time           (time) datetime64[ns] 2018-02-01T10:22:37 ... 2018-06-28T1...\n",
+       "    time_bnds      (time, bnds) datetime64[ns] dask.array<chunksize=(58, 2), meta=np.ndarray>\n",
+       "Dimensions without coordinates: bnds\n",
+       "Data variables:\n",
+       "    B03            (time, lat, lon) float32 dask.array<chunksize=(1, 166, 191), meta=np.ndarray>\n",
+       "    B11            (time, lat, lon) float32 dask.array<chunksize=(1, 166, 191), meta=np.ndarray>\n",
+       "    CLM            (time, lat, lon) float32 dask.array<chunksize=(1, 166, 191), meta=np.ndarray>\n",
+       "    NDSI           (time, lat, lon) float32 dask.array<chunksize=(1, 166, 191), meta=np.ndarray>\n",
+       "    snowmap        (time, lat, lon) float64 dask.array<chunksize=(1, 166, 191), meta=np.ndarray>\n",
+       "    geometry_mask  (lat, lon) bool dask.array<chunksize=(166, 191), meta=np.ndarray>\n",
+       "Attributes: (12/17)\n",
+       "    Conventions:                CF-1.7\n",
+       "    title:                      S2L2A Data Cube Subset\n",
+       "    history:                    [{'program': 'xcube_sh.chunkstore.SentinelHub...\n",
+       "    date_created:               2023-02-17T09:40:08.516335\n",
+       "    time_coverage_start:        2018-02-01T10:22:37+00:00\n",
+       "    time_coverage_end:          2018-06-28T10:13:58+00:00\n",
+       "    ...                         ...\n",
+       "    processing_level:           L2A\n",
+       "    geospatial_lon_units:       degrees_east\n",
+       "    geospatial_lon_resolution:  0.0018000000000000028\n",
+       "    geospatial_lat_units:       degrees_north\n",
+       "    geospatial_lat_resolution:  0.0017999999999999822\n",
+       "    date_modified:              2023-02-17T09:40:51.289454
" + ], + "text/plain": [ + "\n", + "Dimensions: (lat: 166, lon: 191, time: 58, bnds: 2)\n", + "Coordinates:\n", + " * lat (lat) float64 46.95 46.95 46.95 46.95 ... 46.66 46.66 46.66\n", + " * lon (lon) float64 11.02 11.02 11.03 11.03 ... 11.36 11.36 11.36\n", + " * time (time) datetime64[ns] 2018-02-01T10:22:37 ... 2018-06-28T1...\n", + " time_bnds (time, bnds) datetime64[ns] dask.array\n", + "Dimensions without coordinates: bnds\n", + "Data variables:\n", + " B03 (time, lat, lon) float32 dask.array\n", + " B11 (time, lat, lon) float32 dask.array\n", + " CLM (time, lat, lon) float32 dask.array\n", + " NDSI (time, lat, lon) float32 dask.array\n", + " snowmap (time, lat, lon) float64 dask.array\n", + " geometry_mask (lat, lon) bool dask.array\n", + "Attributes: (12/17)\n", + " Conventions: CF-1.7\n", + " title: S2L2A Data Cube Subset\n", + " history: [{'program': 'xcube_sh.chunkstore.SentinelHub...\n", + " date_created: 2023-02-17T09:40:08.516335\n", + " time_coverage_start: 2018-02-01T10:22:37+00:00\n", + " time_coverage_end: 2018-06-28T10:13:58+00:00\n", + " ... ...\n", + " processing_level: L2A\n", + " geospatial_lon_units: degrees_east\n", + " geospatial_lon_resolution: 0.0018000000000000028\n", + " geospatial_lat_units: degrees_north\n", + " geospatial_lat_resolution: 0.0017999999999999822\n", + " date_modified: 2023-02-17T09:40:51.289454" + ] + }, + "execution_count": 16, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "cube_s2snowmap_masked = mask_dataset_by_geometry(cube_s2snowmap, catchment_outline.iloc[0].geometry, save_geometry_mask=True)\n", + "cube_s2snowmap_masked" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "id": "8a2444da-a942-4706-93d7-0f6216fd8b56", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "
<xarray.Dataset>\n",
+       "Dimensions:        (lat: 166, lon: 191, time: 58, bnds: 2)\n",
+       "Coordinates:\n",
+       "  * lat            (lat) float64 46.95 46.95 46.95 46.95 ... 46.66 46.66 46.66\n",
+       "  * lon            (lon) float64 11.02 11.02 11.03 11.03 ... 11.36 11.36 11.36\n",
+       "  * time           (time) datetime64[ns] 2018-02-01T10:22:37 ... 2018-06-28T1...\n",
+       "    time_bnds      (time, bnds) datetime64[ns] dask.array<chunksize=(58, 2), meta=np.ndarray>\n",
+       "Dimensions without coordinates: bnds\n",
+       "Data variables:\n",
+       "    B03            (time, lat, lon) float32 dask.array<chunksize=(1, 166, 191), meta=np.ndarray>\n",
+       "    B11            (time, lat, lon) float32 dask.array<chunksize=(1, 166, 191), meta=np.ndarray>\n",
+       "    CLM            (time, lat, lon) bool dask.array<chunksize=(1, 166, 191), meta=np.ndarray>\n",
+       "    NDSI           (time, lat, lon) float32 dask.array<chunksize=(1, 166, 191), meta=np.ndarray>\n",
+       "    snowmap        (time, lat, lon) float64 dask.array<chunksize=(1, 166, 191), meta=np.ndarray>\n",
+       "    geometry_mask  (lat, lon) bool dask.array<chunksize=(166, 191), meta=np.ndarray>\n",
+       "Attributes: (12/17)\n",
+       "    Conventions:                CF-1.7\n",
+       "    title:                      S2L2A Data Cube Subset\n",
+       "    history:                    [{'program': 'xcube_sh.chunkstore.SentinelHub...\n",
+       "    date_created:               2023-02-17T09:40:08.516335\n",
+       "    time_coverage_start:        2018-02-01T10:22:37+00:00\n",
+       "    time_coverage_end:          2018-06-28T10:13:58+00:00\n",
+       "    ...                         ...\n",
+       "    processing_level:           L2A\n",
+       "    geospatial_lon_units:       degrees_east\n",
+       "    geospatial_lon_resolution:  0.0018000000000000028\n",
+       "    geospatial_lat_units:       degrees_north\n",
+       "    geospatial_lat_resolution:  0.0017999999999999822\n",
+       "    date_modified:              2023-02-17T09:40:51.289454
" + ], + "text/plain": [ + "\n", + "Dimensions: (lat: 166, lon: 191, time: 58, bnds: 2)\n", + "Coordinates:\n", + " * lat (lat) float64 46.95 46.95 46.95 46.95 ... 46.66 46.66 46.66\n", + " * lon (lon) float64 11.02 11.02 11.03 11.03 ... 11.36 11.36 11.36\n", + " * time (time) datetime64[ns] 2018-02-01T10:22:37 ... 2018-06-28T1...\n", + " time_bnds (time, bnds) datetime64[ns] dask.array\n", + "Dimensions without coordinates: bnds\n", + "Data variables:\n", + " B03 (time, lat, lon) float32 dask.array\n", + " B11 (time, lat, lon) float32 dask.array\n", + " CLM (time, lat, lon) bool dask.array\n", + " NDSI (time, lat, lon) float32 dask.array\n", + " snowmap (time, lat, lon) float64 dask.array\n", + " geometry_mask (lat, lon) bool dask.array\n", + "Attributes: (12/17)\n", + " Conventions: CF-1.7\n", + " title: S2L2A Data Cube Subset\n", + " history: [{'program': 'xcube_sh.chunkstore.SentinelHub...\n", + " date_created: 2023-02-17T09:40:08.516335\n", + " time_coverage_start: 2018-02-01T10:22:37+00:00\n", + " time_coverage_end: 2018-06-28T10:13:58+00:00\n", + " ... ...\n", + " processing_level: L2A\n", + " geospatial_lon_units: degrees_east\n", + " geospatial_lon_resolution: 0.0018000000000000028\n", + " geospatial_lat_units: degrees_north\n", + " geospatial_lat_resolution: 0.0017999999999999822\n", + " date_modified: 2023-02-17T09:40:51.289454" + ] + }, + "execution_count": 17, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "cube_s2snowmap_masked['CLM'] = cube_s2snowmap_masked.CLM == 1\n", + "cube_s2snowmap_masked" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "id": "b2fbcf8a-caaa-40a8-8394-719f0deeb410", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "
<xarray.Dataset>\n",
+       "Dimensions:        (lat: 166, lon: 191, time: 58, bnds: 2)\n",
+       "Coordinates:\n",
+       "  * lat            (lat) float64 46.95 46.95 46.95 46.95 ... 46.66 46.66 46.66\n",
+       "  * lon            (lon) float64 11.02 11.02 11.03 11.03 ... 11.36 11.36 11.36\n",
+       "  * time           (time) datetime64[ns] 2018-02-01T10:22:37 ... 2018-06-28T1...\n",
+       "    time_bnds      (time, bnds) datetime64[ns] dask.array<chunksize=(58, 2), meta=np.ndarray>\n",
+       "Dimensions without coordinates: bnds\n",
+       "Data variables:\n",
+       "    B03            (time, lat, lon) float32 dask.array<chunksize=(1, 166, 191), meta=np.ndarray>\n",
+       "    B11            (time, lat, lon) float32 dask.array<chunksize=(1, 166, 191), meta=np.ndarray>\n",
+       "    CLM            (time, lat, lon) bool dask.array<chunksize=(1, 166, 191), meta=np.ndarray>\n",
+       "    NDSI           (time, lat, lon) float32 dask.array<chunksize=(1, 166, 191), meta=np.ndarray>\n",
+       "    snowmap        (time, lat, lon) float64 dask.array<chunksize=(1, 166, 191), meta=np.ndarray>\n",
+       "    geometry_mask  (lat, lon) bool dask.array<chunksize=(166, 191), meta=np.ndarray>\n",
+       "    cloud_percent  (time) float64 dask.array<chunksize=(1,), meta=np.ndarray>\n",
+       "Attributes: (12/17)\n",
+       "    Conventions:                CF-1.7\n",
+       "    title:                      S2L2A Data Cube Subset\n",
+       "    history:                    [{'program': 'xcube_sh.chunkstore.SentinelHub...\n",
+       "    date_created:               2023-02-17T09:40:08.516335\n",
+       "    time_coverage_start:        2018-02-01T10:22:37+00:00\n",
+       "    time_coverage_end:          2018-06-28T10:13:58+00:00\n",
+       "    ...                         ...\n",
+       "    processing_level:           L2A\n",
+       "    geospatial_lon_units:       degrees_east\n",
+       "    geospatial_lon_resolution:  0.0018000000000000028\n",
+       "    geospatial_lat_units:       degrees_north\n",
+       "    geospatial_lat_resolution:  0.0017999999999999822\n",
+       "    date_modified:              2023-02-17T09:40:51.289454
" + ], + "text/plain": [ + "\n", + "Dimensions: (lat: 166, lon: 191, time: 58, bnds: 2)\n", + "Coordinates:\n", + " * lat (lat) float64 46.95 46.95 46.95 46.95 ... 46.66 46.66 46.66\n", + " * lon (lon) float64 11.02 11.02 11.03 11.03 ... 11.36 11.36 11.36\n", + " * time (time) datetime64[ns] 2018-02-01T10:22:37 ... 2018-06-28T1...\n", + " time_bnds (time, bnds) datetime64[ns] dask.array\n", + "Dimensions without coordinates: bnds\n", + "Data variables:\n", + " B03 (time, lat, lon) float32 dask.array\n", + " B11 (time, lat, lon) float32 dask.array\n", + " CLM (time, lat, lon) bool dask.array\n", + " NDSI (time, lat, lon) float32 dask.array\n", + " snowmap (time, lat, lon) float64 dask.array\n", + " geometry_mask (lat, lon) bool dask.array\n", + " cloud_percent (time) float64 dask.array\n", + "Attributes: (12/17)\n", + " Conventions: CF-1.7\n", + " title: S2L2A Data Cube Subset\n", + " history: [{'program': 'xcube_sh.chunkstore.SentinelHub...\n", + " date_created: 2023-02-17T09:40:08.516335\n", + " time_coverage_start: 2018-02-01T10:22:37+00:00\n", + " time_coverage_end: 2018-06-28T10:13:58+00:00\n", + " ... ...\n", + " processing_level: L2A\n", + " geospatial_lon_units: degrees_east\n", + " geospatial_lon_resolution: 0.0018000000000000028\n", + " geospatial_lat_units: degrees_north\n", + " geospatial_lat_resolution: 0.0017999999999999822\n", + " date_modified: 2023-02-17T09:40:51.289454" + ] + }, + "execution_count": 18, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "n_cloud = cube_s2snowmap_masked.CLM.sum(dim=['lat', 'lon'])\n", + "n_valid = cube_s2snowmap_masked.geometry_mask.sum(dim=['lat', 'lon'])\n", + "\n", + "cube_s2snowmap_masked['cloud_percent'] = n_cloud / n_valid * 100\n", + "cube_s2snowmap_masked" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "id": "5bca6189-4843-4314-8e1c-2f1a52fbed86", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "
<xarray.Dataset>\n",
+       "Dimensions:        (lat: 166, lon: 191, time: 17, bnds: 2)\n",
+       "Coordinates:\n",
+       "  * lat            (lat) float64 46.95 46.95 46.95 46.95 ... 46.66 46.66 46.66\n",
+       "  * lon            (lon) float64 11.02 11.02 11.03 11.03 ... 11.36 11.36 11.36\n",
+       "  * time           (time) datetime64[ns] 2018-02-08T10:11:53 ... 2018-06-23T1...\n",
+       "    time_bnds      (time, bnds) datetime64[ns] dask.array<chunksize=(17, 2), meta=np.ndarray>\n",
+       "Dimensions without coordinates: bnds\n",
+       "Data variables:\n",
+       "    B03            (time, lat, lon) float32 dask.array<chunksize=(1, 166, 191), meta=np.ndarray>\n",
+       "    B11            (time, lat, lon) float32 dask.array<chunksize=(1, 166, 191), meta=np.ndarray>\n",
+       "    CLM            (time, lat, lon) bool dask.array<chunksize=(1, 166, 191), meta=np.ndarray>\n",
+       "    NDSI           (time, lat, lon) float32 dask.array<chunksize=(1, 166, 191), meta=np.ndarray>\n",
+       "    snowmap        (time, lat, lon) float64 dask.array<chunksize=(1, 166, 191), meta=np.ndarray>\n",
+       "    geometry_mask  (lat, lon) bool dask.array<chunksize=(166, 191), meta=np.ndarray>\n",
+       "    cloud_percent  (time) float64 dask.array<chunksize=(1,), meta=np.ndarray>\n",
+       "Attributes: (12/17)\n",
+       "    Conventions:                CF-1.7\n",
+       "    title:                      S2L2A Data Cube Subset\n",
+       "    history:                    [{'program': 'xcube_sh.chunkstore.SentinelHub...\n",
+       "    date_created:               2023-02-17T09:40:08.516335\n",
+       "    time_coverage_start:        2018-02-01T10:22:37+00:00\n",
+       "    time_coverage_end:          2018-06-28T10:13:58+00:00\n",
+       "    ...                         ...\n",
+       "    processing_level:           L2A\n",
+       "    geospatial_lon_units:       degrees_east\n",
+       "    geospatial_lon_resolution:  0.0018000000000000028\n",
+       "    geospatial_lat_units:       degrees_north\n",
+       "    geospatial_lat_resolution:  0.0017999999999999822\n",
+       "    date_modified:              2023-02-17T09:40:51.289454
" + ], + "text/plain": [ + "\n", + "Dimensions: (lat: 166, lon: 191, time: 17, bnds: 2)\n", + "Coordinates:\n", + " * lat (lat) float64 46.95 46.95 46.95 46.95 ... 46.66 46.66 46.66\n", + " * lon (lon) float64 11.02 11.02 11.03 11.03 ... 11.36 11.36 11.36\n", + " * time (time) datetime64[ns] 2018-02-08T10:11:53 ... 2018-06-23T1...\n", + " time_bnds (time, bnds) datetime64[ns] dask.array\n", + "Dimensions without coordinates: bnds\n", + "Data variables:\n", + " B03 (time, lat, lon) float32 dask.array\n", + " B11 (time, lat, lon) float32 dask.array\n", + " CLM (time, lat, lon) bool dask.array\n", + " NDSI (time, lat, lon) float32 dask.array\n", + " snowmap (time, lat, lon) float64 dask.array\n", + " geometry_mask (lat, lon) bool dask.array\n", + " cloud_percent (time) float64 dask.array\n", + "Attributes: (12/17)\n", + " Conventions: CF-1.7\n", + " title: S2L2A Data Cube Subset\n", + " history: [{'program': 'xcube_sh.chunkstore.SentinelHub...\n", + " date_created: 2023-02-17T09:40:08.516335\n", + " time_coverage_start: 2018-02-01T10:22:37+00:00\n", + " time_coverage_end: 2018-06-28T10:13:58+00:00\n", + " ... ...\n", + " processing_level: L2A\n", + " geospatial_lon_units: degrees_east\n", + " geospatial_lon_resolution: 0.0018000000000000028\n", + " geospatial_lat_units: degrees_north\n", + " geospatial_lat_resolution: 0.0017999999999999822\n", + " date_modified: 2023-02-17T09:40:51.289454" + ] + }, + "execution_count": 19, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "cube_s2snowmap_masked = cube_s2snowmap_masked.sel(time=cube_s2snowmap_masked.cloud_percent < 20)\n", + "cube_s2snowmap_masked" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "id": "2b0100b8-00a3-4bad-911e-0d2d61d1a0e4", + "metadata": {}, + "outputs": [], + "source": [ + "cube_s2snowmap_masked['snowmap'] = cube_s2snowmap_masked.snowmap == 1" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "id": "6c46f2fb-90d1-47fa-8389-7804eb3679a7", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "
<xarray.Dataset>\n",
+       "Dimensions:        (lat: 166, lon: 191, time: 17, bnds: 2)\n",
+       "Coordinates:\n",
+       "  * lat            (lat) float64 46.95 46.95 46.95 46.95 ... 46.66 46.66 46.66\n",
+       "  * lon            (lon) float64 11.02 11.02 11.03 11.03 ... 11.36 11.36 11.36\n",
+       "  * time           (time) datetime64[ns] 2018-02-08T10:11:53 ... 2018-06-23T1...\n",
+       "    time_bnds      (time, bnds) datetime64[ns] dask.array<chunksize=(17, 2), meta=np.ndarray>\n",
+       "Dimensions without coordinates: bnds\n",
+       "Data variables:\n",
+       "    B03            (time, lat, lon) float32 dask.array<chunksize=(1, 166, 191), meta=np.ndarray>\n",
+       "    B11            (time, lat, lon) float32 dask.array<chunksize=(1, 166, 191), meta=np.ndarray>\n",
+       "    CLM            (time, lat, lon) bool dask.array<chunksize=(1, 166, 191), meta=np.ndarray>\n",
+       "    NDSI           (time, lat, lon) float32 dask.array<chunksize=(1, 166, 191), meta=np.ndarray>\n",
+       "    snowmap        (time, lat, lon) bool dask.array<chunksize=(1, 166, 191), meta=np.ndarray>\n",
+       "    geometry_mask  (lat, lon) bool dask.array<chunksize=(166, 191), meta=np.ndarray>\n",
+       "    cloud_percent  (time) float64 dask.array<chunksize=(1,), meta=np.ndarray>\n",
+       "    snow_percent   (time) float64 dask.array<chunksize=(1,), meta=np.ndarray>\n",
+       "Attributes: (12/17)\n",
+       "    Conventions:                CF-1.7\n",
+       "    title:                      S2L2A Data Cube Subset\n",
+       "    history:                    [{'program': 'xcube_sh.chunkstore.SentinelHub...\n",
+       "    date_created:               2023-02-17T09:40:08.516335\n",
+       "    time_coverage_start:        2018-02-01T10:22:37+00:00\n",
+       "    time_coverage_end:          2018-06-28T10:13:58+00:00\n",
+       "    ...                         ...\n",
+       "    processing_level:           L2A\n",
+       "    geospatial_lon_units:       degrees_east\n",
+       "    geospatial_lon_resolution:  0.0018000000000000028\n",
+       "    geospatial_lat_units:       degrees_north\n",
+       "    geospatial_lat_resolution:  0.0017999999999999822\n",
+       "    date_modified:              2023-02-17T09:40:51.289454
" + ], + "text/plain": [ + "\n", + "Dimensions: (lat: 166, lon: 191, time: 17, bnds: 2)\n", + "Coordinates:\n", + " * lat (lat) float64 46.95 46.95 46.95 46.95 ... 46.66 46.66 46.66\n", + " * lon (lon) float64 11.02 11.02 11.03 11.03 ... 11.36 11.36 11.36\n", + " * time (time) datetime64[ns] 2018-02-08T10:11:53 ... 2018-06-23T1...\n", + " time_bnds (time, bnds) datetime64[ns] dask.array\n", + "Dimensions without coordinates: bnds\n", + "Data variables:\n", + " B03 (time, lat, lon) float32 dask.array\n", + " B11 (time, lat, lon) float32 dask.array\n", + " CLM (time, lat, lon) bool dask.array\n", + " NDSI (time, lat, lon) float32 dask.array\n", + " snowmap (time, lat, lon) bool dask.array\n", + " geometry_mask (lat, lon) bool dask.array\n", + " cloud_percent (time) float64 dask.array\n", + " snow_percent (time) float64 dask.array\n", + "Attributes: (12/17)\n", + " Conventions: CF-1.7\n", + " title: S2L2A Data Cube Subset\n", + " history: [{'program': 'xcube_sh.chunkstore.SentinelHub...\n", + " date_created: 2023-02-17T09:40:08.516335\n", + " time_coverage_start: 2018-02-01T10:22:37+00:00\n", + " time_coverage_end: 2018-06-28T10:13:58+00:00\n", + " ... ...\n", + " processing_level: L2A\n", + " geospatial_lon_units: degrees_east\n", + " geospatial_lon_resolution: 0.0018000000000000028\n", + " geospatial_lat_units: degrees_north\n", + " geospatial_lat_resolution: 0.0017999999999999822\n", + " date_modified: 2023-02-17T09:40:51.289454" + ] + }, + "execution_count": 21, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "n_snow = cube_s2snowmap_masked.snowmap.sum(dim=['lat', 'lon'])\n", + "\n", + "cube_s2snowmap_masked['snow_percent'] = n_snow / (n_valid - n_cloud) * 100\n", + "cube_s2snowmap_masked" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "id": "49bfda07-f213-4459-9fcc-d3858ce120dd", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
cloud_percentsnow_percent
time
2018-02-08 10:11:5314.10793879.586701
2018-02-11 10:25:594.82708974.475260
2018-02-13 10:15:5918.38485768.060348
2018-02-21 10:20:330.00000071.934766
2018-02-28 10:10:2112.76526168.030633
2018-03-08 10:22:4110.73487085.508841
2018-03-20 10:10:2111.09510178.134669
2018-03-23 10:20:2114.21928269.458655
2018-03-25 10:15:114.46685969.813520
2018-04-02 10:24:354.46030968.725578
2018-04-07 10:20:200.70081266.367654
2018-04-14 10:15:3610.17815072.582762
2018-04-19 10:14:570.00000058.560388
2018-04-22 10:21:150.00000054.872937
2018-04-24 10:15:2618.27351349.479083
2018-06-16 10:20:210.1375436.388142
2018-06-23 10:11:393.1634793.645587
\n", + "
" + ], + "text/plain": [ + " cloud_percent snow_percent\n", + "time \n", + "2018-02-08 10:11:53 14.107938 79.586701\n", + "2018-02-11 10:25:59 4.827089 74.475260\n", + "2018-02-13 10:15:59 18.384857 68.060348\n", + "2018-02-21 10:20:33 0.000000 71.934766\n", + "2018-02-28 10:10:21 12.765261 68.030633\n", + "2018-03-08 10:22:41 10.734870 85.508841\n", + "2018-03-20 10:10:21 11.095101 78.134669\n", + "2018-03-23 10:20:21 14.219282 69.458655\n", + "2018-03-25 10:15:11 4.466859 69.813520\n", + "2018-04-02 10:24:35 4.460309 68.725578\n", + "2018-04-07 10:20:20 0.700812 66.367654\n", + "2018-04-14 10:15:36 10.178150 72.582762\n", + "2018-04-19 10:14:57 0.000000 58.560388\n", + "2018-04-22 10:21:15 0.000000 54.872937\n", + "2018-04-24 10:15:26 18.273513 49.479083\n", + "2018-06-16 10:20:21 0.137543 6.388142\n", + "2018-06-23 10:11:39 3.163479 3.645587" + ] + }, + "execution_count": 22, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "sca_ts = cube_s2snowmap_masked[['cloud_percent', 'snow_percent']].to_dataframe()\n", + "sca_ts" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "6fc62472-e290-477d-b10d-5dc5d699ebe4", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "4811195c-908d-4474-a103-e7469e2f2ce7", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "default *", + "language": "python", + "name": "conda-env-default-py" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.8" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/_sources/9.9_master_asi_conae/test/s1.ipynb b/_sources/9.9_master_asi_conae/test/s1.ipynb new file mode 100644 index 0000000..07fcdf1 --- /dev/null +++ b/_sources/9.9_master_asi_conae/test/s1.ipynb @@ -0,0 +1,1545 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "1addb5d4-3779-465d-916c-2ecdc3e6acf0", + "metadata": {}, + "source": [ + "# S1" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "2dd39098-25d8-4fd4-aebc-1eb15137da86", + "metadata": {}, + "outputs": [], + "source": [ + "# xcube_sh imports\n", + "from xcube_sh.cube import open_cube\n", + "from xcube_sh.config import CubeConfig\n", + "from xcube_sh.sentinelhub import SentinelHub\n", + "\n", + "# xcube imports\n", + "from xcube.core.geom import mask_dataset_by_geometry\n", + "\n", + "# Various utilities\n", + "from datetime import date\n", + "import numpy as np\n", + "import pandas as pd\n", + "import geopandas as gpd\n", + "import matplotlib.pyplot as plt" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "431aaa52-429b-42a7-baef-1aa435444b98", + "metadata": {}, + "outputs": [], + "source": [ + "catchment_outline = gpd.read_file('catchment_outline.geojson')" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "02a24ef8-162c-44e8-afa1-a5cd53f3b76b", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "['LOTL1',\n", + " 'LTML2',\n", + " 'LMSSL1',\n", + " 'LTML1',\n", + " 'S1GRD',\n", + " 'S5PL2',\n", + " 'CUSTOM',\n", + " 'S2L1C',\n", + " 'HLS',\n", + " 'S3OLCI',\n", + " 'DEM',\n", + " 'S2L2A',\n", + " 'S3SLSTR',\n", + " 'LETML1',\n", + " 'MODIS',\n", + " 'LOTL2',\n", + " 'LETML2']" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "SH = SentinelHub()\n", + "SH.dataset_names" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "3e518ff4-88ce-4a32-aed4-f190df16999a", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "['VV', 'HH', 'VH', 'localIncidenceAngle', 'scatteringArea', 'shadowMask', 'HV']" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "SH.band_names('S1GRD')" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "5e7accf1-a056-4772-8180-2605d874c8ec", + "metadata": {}, + "outputs": [], + "source": [ + "bbox = catchment_outline.bounds.iloc[0]\n", + "\n", + "start_date = date(2017, 12, 1)\n", + "end_date = date(2018, 1, 31)\n", + "\n", + "cube_config = CubeConfig(\n", + " dataset_name='S1GRD',\n", + " band_names=['VV', 'VH', 'localIncidenceAngle'],\n", + " bbox=bbox.tolist(),\n", + " spatial_res=0.0018, # = 100 meters in degree>\n", + " time_range=[start_date.strftime(\"%Y-%m-%d\"), end_date.strftime(\"%Y-%m-%d\")],\n", + " time_tolerance='6D'\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "id": "07076721-fe2f-4929-ad05-73ddedd4b702", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "
<xarray.Dataset>\n",
+       "Dimensions:              (time: 21, lat: 167, lon: 192, bnds: 2)\n",
+       "Coordinates:\n",
+       "  * lat                  (lat) float64 46.95 46.95 46.95 ... 46.66 46.66 46.65\n",
+       "  * lon                  (lon) float64 11.02 11.02 11.03 ... 11.36 11.36 11.37\n",
+       "  * time                 (time) datetime64[ns] 2017-12-01T05:17:50 ... 2018-0...\n",
+       "    time_bnds            (time, bnds) datetime64[ns] dask.array<chunksize=(21, 2), meta=np.ndarray>\n",
+       "Dimensions without coordinates: bnds\n",
+       "Data variables:\n",
+       "    VH                   (time, lat, lon) float32 dask.array<chunksize=(1, 167, 192), meta=np.ndarray>\n",
+       "    VV                   (time, lat, lon) float32 dask.array<chunksize=(1, 167, 192), meta=np.ndarray>\n",
+       "    localIncidenceAngle  (time, lat, lon) float32 dask.array<chunksize=(1, 167, 192), meta=np.ndarray>\n",
+       "Attributes:\n",
+       "    Conventions:             CF-1.7\n",
+       "    title:                   S1GRD Data Cube Subset\n",
+       "    history:                 [{'program': 'xcube_sh.chunkstore.SentinelHubChu...\n",
+       "    date_created:            2023-02-21T09:40:18.783677\n",
+       "    time_coverage_start:     2017-12-01T05:17:50+00:00\n",
+       "    time_coverage_end:       2018-01-30T05:17:47+00:00\n",
+       "    time_coverage_duration:  P59DT23H59M57S\n",
+       "    geospatial_lon_min:      11.020833333333357\n",
+       "    geospatial_lat_min:      46.653599378797765\n",
+       "    geospatial_lon_max:      11.366433333333356\n",
+       "    geospatial_lat_max:      46.95419937879777\n",
+       "    processing_level:        L1B
" + ], + "text/plain": [ + "\n", + "Dimensions: (time: 21, lat: 167, lon: 192, bnds: 2)\n", + "Coordinates:\n", + " * lat (lat) float64 46.95 46.95 46.95 ... 46.66 46.66 46.65\n", + " * lon (lon) float64 11.02 11.02 11.03 ... 11.36 11.36 11.37\n", + " * time (time) datetime64[ns] 2017-12-01T05:17:50 ... 2018-0...\n", + " time_bnds (time, bnds) datetime64[ns] dask.array\n", + "Dimensions without coordinates: bnds\n", + "Data variables:\n", + " VH (time, lat, lon) float32 dask.array\n", + " VV (time, lat, lon) float32 dask.array\n", + " localIncidenceAngle (time, lat, lon) float32 dask.array\n", + "Attributes:\n", + " Conventions: CF-1.7\n", + " title: S1GRD Data Cube Subset\n", + " history: [{'program': 'xcube_sh.chunkstore.SentinelHubChu...\n", + " date_created: 2023-02-21T09:40:18.783677\n", + " time_coverage_start: 2017-12-01T05:17:50+00:00\n", + " time_coverage_end: 2018-01-30T05:17:47+00:00\n", + " time_coverage_duration: P59DT23H59M57S\n", + " geospatial_lon_min: 11.020833333333357\n", + " geospatial_lat_min: 46.653599378797765\n", + " geospatial_lon_max: 11.366433333333356\n", + " geospatial_lat_max: 46.95419937879777\n", + " processing_level: L1B" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "cube = open_cube(cube_config, api_url=\"https://creodias.sentinel-hub.com\")\n", + "cube" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "id": "03ea49c6-6cf3-4877-b4ca-5790320e4cdd", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "
<xarray.DataArray 'time' (time: 21)>\n",
+       "array(['2017-12-01T05:17:50.000000000', '2017-12-06T05:26:04.000000000',\n",
+       "       '2017-12-07T05:18:25.000000000', '2017-12-12T05:26:34.000000000',\n",
+       "       '2017-12-13T05:17:49.000000000', '2017-12-18T05:26:03.000000000',\n",
+       "       '2017-12-19T05:18:25.000000000', '2017-12-24T05:26:33.000000000',\n",
+       "       '2017-12-25T05:17:49.000000000', '2017-12-30T05:26:03.000000000',\n",
+       "       '2017-12-31T05:18:24.000000000', '2018-01-05T05:26:33.000000000',\n",
+       "       '2018-01-06T05:17:48.000000000', '2018-01-11T05:26:02.000000000',\n",
+       "       '2018-01-12T05:18:24.000000000', '2018-01-17T05:26:33.000000000',\n",
+       "       '2018-01-18T05:17:48.000000000', '2018-01-23T05:26:02.000000000',\n",
+       "       '2018-01-24T05:18:23.000000000', '2018-01-29T05:26:32.000000000',\n",
+       "       '2018-01-30T05:17:47.000000000'], dtype='datetime64[ns]')\n",
+       "Coordinates:\n",
+       "  * time     (time) datetime64[ns] 2017-12-01T05:17:50 ... 2018-01-30T05:17:47\n",
+       "Attributes:\n",
+       "    standard_name:  time\n",
+       "    bounds:         time_bnds
" + ], + "text/plain": [ + "\n", + "array(['2017-12-01T05:17:50.000000000', '2017-12-06T05:26:04.000000000',\n", + " '2017-12-07T05:18:25.000000000', '2017-12-12T05:26:34.000000000',\n", + " '2017-12-13T05:17:49.000000000', '2017-12-18T05:26:03.000000000',\n", + " '2017-12-19T05:18:25.000000000', '2017-12-24T05:26:33.000000000',\n", + " '2017-12-25T05:17:49.000000000', '2017-12-30T05:26:03.000000000',\n", + " '2017-12-31T05:18:24.000000000', '2018-01-05T05:26:33.000000000',\n", + " '2018-01-06T05:17:48.000000000', '2018-01-11T05:26:02.000000000',\n", + " '2018-01-12T05:18:24.000000000', '2018-01-17T05:26:33.000000000',\n", + " '2018-01-18T05:17:48.000000000', '2018-01-23T05:26:02.000000000',\n", + " '2018-01-24T05:18:23.000000000', '2018-01-29T05:26:32.000000000',\n", + " '2018-01-30T05:17:47.000000000'], dtype='datetime64[ns]')\n", + "Coordinates:\n", + " * time (time) datetime64[ns] 2017-12-01T05:17:50 ... 2018-01-30T05:17:47\n", + "Attributes:\n", + " standard_name: time\n", + " bounds: time_bnds" + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "cube.time" + ] + }, + { + "cell_type": "markdown", + "id": "83b51e86-818b-4ee3-9147-e0c91a8fc1d1", + "metadata": {}, + "source": [ + "Only acquisition in morning are available (descending) no afternoon acquisition are available in the afternoon (ascending)\n", + "\n", + "We need to filter for ASCENDING only. Better for track number." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f8f7307e-9f1a-4254-815e-bd7beab75e44", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "default *", + "language": "python", + "name": "conda-env-default-py" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.8" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/_sources/9.9_master_asi_conae/test/s2_sca_sh.ipynb b/_sources/9.9_master_asi_conae/test/s2_sca_sh.ipynb new file mode 100644 index 0000000..c7a85f7 --- /dev/null +++ b/_sources/9.9_master_asi_conae/test/s2_sca_sh.ipynb @@ -0,0 +1,54 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "id": "7a94d852-017a-430e-b0bb-e4427984398e", + "metadata": {}, + "outputs": [], + "source": [ + "# Sentinel Hub\n", + "from sentinelhub import (SHConfig, SentinelHubRequest, DataCollection, MimeType, CRS, BBox, bbox_to_dimensions, geometry)\n", + "\n", + "# Geospatial libraries\n", + "import geopandas as gpd" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "2f2e69ff-457e-4091-bde7-85d6b89bfb45", + "metadata": {}, + "outputs": [], + "source": [ + "x1 = 11.012421\n", + "y1 = 46.659805\n", + "x2 = 11.505432\n", + "y2 = 47.009289\n", + "\n", + "bbox = x1, y1, x2, y2" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "master-asi-conae-edc-2022.10-14", + "language": "python", + "name": "conda-env-master-asi-conae-edc-2022.10-14-py" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.16" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/_sources/9.9_master_asi_conae/test/s2_snowcover_test.ipynb b/_sources/9.9_master_asi_conae/test/s2_snowcover_test.ipynb new file mode 100644 index 0000000..6096f5d --- /dev/null +++ b/_sources/9.9_master_asi_conae/test/s2_snowcover_test.ipynb @@ -0,0 +1,659 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "4caf2eef-4d02-47c2-b08d-4091ef13f510", + "metadata": {}, + "source": [ + "# Sentinel-2 snow cover\n", + "\n", + "#### Import libraries" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "42919ddd-ba0a-42d9-b574-34ebb4b520dc", + "metadata": {}, + "outputs": [], + "source": [ + "# Sentinel Hub\n", + "from sentinelhub import (SHConfig, SentinelHubRequest, DataCollection, MimeType, CRS, BBox, bbox_to_dimensions, geometry)\n", + "\n", + "# Geospatial libraries\n", + "import geopandas as gpd\n", + "\n", + "from datetime import date\n", + "\n", + "import folium" + ] + }, + { + "cell_type": "markdown", + "id": "95077731-eb91-43a6-8738-1709ab10501f", + "metadata": {}, + "source": [ + "#### Sentinel-hub authentication" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "e54f3f56-e774-4332-bb35-82c211b6172c", + "metadata": {}, + "outputs": [], + "source": [ + "config = SHConfig()\n", + "config.sh_client_id = %env SH_CLIENT_ID\n", + "config.sh_client_secret = %env SH_CLIENT_SECRET" + ] + }, + { + "cell_type": "markdown", + "id": "f768f2c6-c079-48e7-a30a-62401a980fd8", + "metadata": {}, + "source": [ + "#### Input definition\n", + "\n", + "Read the shapefile on which to compute the snow cover map and plot it" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "ca58d65a-0e9a-4dbd-aa79-b13d83701633", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
Make this Notebook Trusted to load map: File -> Trust Notebook
" + ], + "text/plain": [ + "" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Read the file with geopandas and convert it to EPSG:4326\n", + "aoi_df = gpd.read_file('ADO_DSC_ITH1_0025.geojson')\n", + "aoi_df = aoi_df.to_crs(4326)\n", + "\n", + "# Create a basemap with folium\n", + "m = folium.Map(\n", + " location=[aoi_df.to_crs(4326).iloc[0].geometry.centroid.y, aoi_df.to_crs(4326).iloc[0].geometry.centroid.x],\n", + " zoom_start=11)\n", + "\n", + "# Add the polygon to the map\n", + "geo_j = folium.GeoJson(data=aoi_df.to_json())\n", + "geo_j.add_to(m)\n", + "\n", + "# Show the map\n", + "m" + ] + }, + { + "cell_type": "markdown", + "id": "77ba861c-ad15-40a5-bc2d-0dc686d4ebed", + "metadata": {}, + "source": [ + "Select a date" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "3243189c-25aa-423b-b1f8-8c7f9ff8e552", + "metadata": {}, + "outputs": [], + "source": [ + "start_date = date(2018, 4, 1)\n", + "end_date = date(2018, 4, 15)" + ] + }, + { + "cell_type": "markdown", + "id": "f72787a6-14f2-4433-87ca-719f713f0ce4", + "metadata": {}, + "source": [ + "#### Snowcover map generation" + ] + }, + { + "cell_type": "markdown", + "id": "76e8afb0-3b69-42d1-872b-ec858bd76ea9", + "metadata": {}, + "source": [ + "Generate the snow cover map on the selected AOI and date from S2L1C" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "ca74e02b-9060-49a9-9d76-b1ba9691117a", + "metadata": {}, + "outputs": [], + "source": [ + "evalscript_snowcover = \"\"\"\n", + "\n", + "//VERSION=3\n", + "\n", + "function setup() {\n", + " return {\n", + " input: [\"B03\", \"B04\", \"B08\", \"B11\", \"CLM\", \"dataMask\"],\n", + " output: {bands: 1, sampleType: \"UINT8\"}\n", + " };\n", + "}\n", + "\n", + "function calc_snow_mask(NDVI, NDSI, B03){\n", + " \n", + " let si = (NDSI >= 0.4) ? 1 : (Math.abs(NDVI - 0.1) <= 0.025 ? 1 : 0);\n", + " let br = B03 > 0.3;\n", + " \n", + " return si && br;\n", + "}\n", + "\n", + "function evaluatePixel(sample) {\n", + " \n", + " // Calculate indices\n", + " var NDSI = (sample.B03 - sample.B11) / (sample.B03 + sample.B11);\n", + " var NDVI = (sample.B08 - sample.B04) / (sample.B08 + sample.B04);\n", + " \n", + " // Calculate snowmask\n", + " var snow = calc_snow_mask(NDVI, NDSI, sample.B03); \n", + " \n", + " // Create the snow mask with clouds\n", + " if (sample.dataMask == 0){\n", + " return [0];\n", + " }\n", + " else if (sample.CLM == 1){\n", + " return [3];\n", + " }\n", + " else if (snow == 1){\n", + " return [1];\n", + " }\n", + " else if (snow == 0){\n", + " return [2];\n", + " }\n", + " \n", + "\n", + "}\n", + "\"\"\"\n", + "\n", + "aoi = geometry.Geometry(aoi_df.geometry.iloc[0], CRS.WGS84)\n", + "\n", + "request_snowcover = SentinelHubRequest(\n", + " evalscript=evalscript_snowcover,\n", + " input_data=[\n", + " SentinelHubRequest.input_data(\n", + " data_collection=DataCollection.SENTINEL2_L1C,\n", + " time_interval=(start_date, end_date),\n", + " )\n", + " ],\n", + " responses=[SentinelHubRequest.output_response('default', MimeType.TIFF)],\n", + " geometry=aoi,\n", + " size=bbox_to_dimensions(aoi.bbox, resolution=100),\n", + " config=config\n", + ")\n", + "\n", + "snowcover = request_snowcover.get_data()" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "dfcaa117-d73f-4b25-90b7-5e37dd0c1634", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "1" + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "len(snowcover)" + ] + }, + { + "cell_type": "markdown", + "id": "dfdf9e67-05d1-4c05-a119-8b8d11a8481b", + "metadata": {}, + "source": [ + "Generate the corresponding RGB image" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f6811256-e9c7-45bf-8321-423d99dfb0e7", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "9d755e40-6e28-4648-b859-ef85bc9b3b62", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "e15cc1b0-1005-41d7-8bdd-7cd13755648b", + "metadata": {}, + "outputs": [ + { + "ename": "DownloadFailedException", + "evalue": "Failed to download from:\nhttps://services.sentinel-hub.com/api/v1/process\nwith HTTPError:\n400 Client Error: Bad Request for url: https://services.sentinel-hub.com/api/v1/process\nServer response: \"{\"status\": 400, \"reason\": \"Bad Request\", \"message\": \"Invalid request\", \"code\": \"COMMON_BAD_PAYLOAD\", \"errors\": [{\"parameter\": \"output->width\", \"invalidValue\": 2881, \"violation\": \"must be less than or equal to 2500\", \"description\": \"The request image width. Must be an integer between 1 and 2500.
*Only one pair of parameters \\\"width\\\"/\\\"height\\\" or \\\"resx\\\"/\\\"resy\\\" must be set at the same time.*\"}, {\"parameter\": \"output->height\", \"invalidValue\": 3058, \"violation\": \"must be less than or equal to 2500\", \"description\": \"The request image height. Must be an integer between 1 and 2500.
*Only one pair of parameters \\\"width\\\"/\\\"height\\\" or \\\"resx\\\"/\\\"resy\\\" must be set at the same time.*\"}]}\"", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mHTTPError\u001b[0m Traceback (most recent call last)", + "File \u001b[0;32m/home/conda/master-asi-conae/315434deb1b1e05eacacc41e1b0529b1837100f46402a32041d77ba54ae6c5f3-20230213-125825-013239-74-edc-2022.10-14/lib/python3.9/site-packages/sentinelhub/download/handlers.py:41\u001b[0m, in \u001b[0;36mfail_user_errors..new_download_func\u001b[0;34m(self, request)\u001b[0m\n\u001b[1;32m 40\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[0;32m---> 41\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mdownload_func\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mrequest\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 42\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m requests\u001b[38;5;241m.\u001b[39mHTTPError \u001b[38;5;28;01mas\u001b[39;00m exception:\n", + "File \u001b[0;32m/home/conda/master-asi-conae/315434deb1b1e05eacacc41e1b0529b1837100f46402a32041d77ba54ae6c5f3-20230213-125825-013239-74-edc-2022.10-14/lib/python3.9/site-packages/sentinelhub/download/sentinelhub_client.py:90\u001b[0m, in \u001b[0;36mSentinelHubDownloadClient._execute_download\u001b[0;34m(self, request)\u001b[0m\n\u001b[1;32m 88\u001b[0m \u001b[38;5;28;01mcontinue\u001b[39;00m\n\u001b[0;32m---> 90\u001b[0m \u001b[43mresponse\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mraise_for_status\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 92\u001b[0m LOGGER\u001b[38;5;241m.\u001b[39mdebug(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mSuccessful \u001b[39m\u001b[38;5;132;01m%s\u001b[39;00m\u001b[38;5;124m request to \u001b[39m\u001b[38;5;132;01m%s\u001b[39;00m\u001b[38;5;124m\"\u001b[39m, request\u001b[38;5;241m.\u001b[39mrequest_type\u001b[38;5;241m.\u001b[39mvalue, request\u001b[38;5;241m.\u001b[39murl)\n", + "File \u001b[0;32m/home/conda/master-asi-conae/315434deb1b1e05eacacc41e1b0529b1837100f46402a32041d77ba54ae6c5f3-20230213-125825-013239-74-edc-2022.10-14/lib/python3.9/site-packages/requests/models.py:1021\u001b[0m, in \u001b[0;36mResponse.raise_for_status\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 1020\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m http_error_msg:\n\u001b[0;32m-> 1021\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m HTTPError(http_error_msg, response\u001b[38;5;241m=\u001b[39m\u001b[38;5;28mself\u001b[39m)\n", + "\u001b[0;31mHTTPError\u001b[0m: 400 Client Error: Bad Request for url: https://services.sentinel-hub.com/api/v1/process", + "\nThe above exception was the direct cause of the following exception:\n", + "\u001b[0;31mDownloadFailedException\u001b[0m Traceback (most recent call last)", + "Cell \u001b[0;32mIn[10], line 32\u001b[0m\n\u001b[1;32m 2\u001b[0m evalscript_rgb \u001b[38;5;241m=\u001b[39m \u001b[38;5;124m\"\"\"\u001b[39m\n\u001b[1;32m 3\u001b[0m \u001b[38;5;124m //VERSION=3\u001b[39m\n\u001b[1;32m 4\u001b[0m \u001b[38;5;124mfunction setup()\u001b[39m\u001b[38;5;124m{\u001b[39m\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 16\u001b[0m \u001b[38;5;124m}\u001b[39m\n\u001b[1;32m 17\u001b[0m \u001b[38;5;124m\"\"\"\u001b[39m\n\u001b[1;32m 18\u001b[0m request_rgb \u001b[38;5;241m=\u001b[39m SentinelHubRequest(\n\u001b[1;32m 19\u001b[0m evalscript\u001b[38;5;241m=\u001b[39mevalscript_rgb,\n\u001b[1;32m 20\u001b[0m input_data\u001b[38;5;241m=\u001b[39m[\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 30\u001b[0m config\u001b[38;5;241m=\u001b[39mconfig\n\u001b[1;32m 31\u001b[0m )\n\u001b[0;32m---> 32\u001b[0m rgb_response \u001b[38;5;241m=\u001b[39m \u001b[43mrequest_rgb\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mget_data\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n", + "File \u001b[0;32m/home/conda/master-asi-conae/315434deb1b1e05eacacc41e1b0529b1837100f46402a32041d77ba54ae6c5f3-20230213-125825-013239-74-edc-2022.10-14/lib/python3.9/site-packages/sentinelhub/base.py:110\u001b[0m, in \u001b[0;36mDataRequest.get_data\u001b[0;34m(self, save_data, redownload, data_filter, max_threads, decode_data, raise_download_errors, show_progress)\u001b[0m\n\u001b[1;32m 88\u001b[0m \u001b[38;5;250m\u001b[39m\u001b[38;5;124;03m\"\"\"Get requested data either by downloading it or by reading it from the disk (if it\u001b[39;00m\n\u001b[1;32m 89\u001b[0m \u001b[38;5;124;03mwas previously downloaded and saved).\u001b[39;00m\n\u001b[1;32m 90\u001b[0m \n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 107\u001b[0m \u001b[38;5;124;03m shape ``[height, width, channels]``.\u001b[39;00m\n\u001b[1;32m 108\u001b[0m \u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[1;32m 109\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_preprocess_request(save_data, \u001b[38;5;28;01mTrue\u001b[39;00m)\n\u001b[0;32m--> 110\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_execute_data_download\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 111\u001b[0m \u001b[43m \u001b[49m\u001b[43mdata_filter\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 112\u001b[0m \u001b[43m \u001b[49m\u001b[43mredownload\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 113\u001b[0m \u001b[43m \u001b[49m\u001b[43mmax_threads\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 114\u001b[0m \u001b[43m \u001b[49m\u001b[43mraise_download_errors\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 115\u001b[0m \u001b[43m \u001b[49m\u001b[43mdecode_data\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mdecode_data\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 116\u001b[0m \u001b[43m \u001b[49m\u001b[43mshow_progress\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mshow_progress\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 117\u001b[0m \u001b[43m\u001b[49m\u001b[43m)\u001b[49m\n", + "File \u001b[0;32m/home/conda/master-asi-conae/315434deb1b1e05eacacc41e1b0529b1837100f46402a32041d77ba54ae6c5f3-20230213-125825-013239-74-edc-2022.10-14/lib/python3.9/site-packages/sentinelhub/base.py:184\u001b[0m, in \u001b[0;36mDataRequest._execute_data_download\u001b[0;34m(self, data_filter, redownload, max_threads, raise_download_errors, decode_data, show_progress)\u001b[0m\n\u001b[1;32m 179\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mValueError\u001b[39;00m(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mdata_filter parameter must be a list of indices\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n\u001b[1;32m 181\u001b[0m client \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mdownload_client_class(\n\u001b[1;32m 182\u001b[0m redownload\u001b[38;5;241m=\u001b[39mredownload, raise_download_errors\u001b[38;5;241m=\u001b[39mraise_download_errors, config\u001b[38;5;241m=\u001b[39m\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mconfig\n\u001b[1;32m 183\u001b[0m )\n\u001b[0;32m--> 184\u001b[0m data_list \u001b[38;5;241m=\u001b[39m \u001b[43mclient\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mdownload\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 185\u001b[0m \u001b[43m \u001b[49m\u001b[43mfiltered_download_list\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mmax_threads\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mmax_threads\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mdecode_data\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mdecode_data\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mshow_progress\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mshow_progress\u001b[49m\n\u001b[1;32m 186\u001b[0m \u001b[43m\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 188\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m is_repeating_filter:\n\u001b[1;32m 189\u001b[0m data_list \u001b[38;5;241m=\u001b[39m [copy\u001b[38;5;241m.\u001b[39mdeepcopy(data_list[index]) \u001b[38;5;28;01mfor\u001b[39;00m index \u001b[38;5;129;01min\u001b[39;00m mapping_list]\n", + "File \u001b[0;32m/home/conda/master-asi-conae/315434deb1b1e05eacacc41e1b0529b1837100f46402a32041d77ba54ae6c5f3-20230213-125825-013239-74-edc-2022.10-14/lib/python3.9/site-packages/sentinelhub/download/sentinelhub_client.py:62\u001b[0m, in \u001b[0;36mSentinelHubDownloadClient.download\u001b[0;34m(self, *args, **kwargs)\u001b[0m\n\u001b[1;32m 60\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mlock \u001b[38;5;241m=\u001b[39m Lock()\n\u001b[1;32m 61\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[0;32m---> 62\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43msuper\u001b[39;49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mdownload\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 63\u001b[0m \u001b[38;5;28;01mfinally\u001b[39;00m:\n\u001b[1;32m 64\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mlock \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mNone\u001b[39;00m\n", + "File \u001b[0;32m/home/conda/master-asi-conae/315434deb1b1e05eacacc41e1b0529b1837100f46402a32041d77ba54ae6c5f3-20230213-125825-013239-74-edc-2022.10-14/lib/python3.9/site-packages/sentinelhub/download/client.py:113\u001b[0m, in \u001b[0;36mDownloadClient.download\u001b[0;34m(self, download_requests, max_threads, decode_data, show_progress)\u001b[0m\n\u001b[1;32m 111\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[1;32m 112\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m future \u001b[38;5;129;01min\u001b[39;00m as_completed(download_list):\n\u001b[0;32m--> 113\u001b[0m data_list[future_order[future]] \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_process_download_future\u001b[49m\u001b[43m(\u001b[49m\u001b[43mfuture\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 115\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28misinstance\u001b[39m(download_requests, DownloadRequest):\n\u001b[1;32m 116\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m data_list[\u001b[38;5;241m0\u001b[39m]\n", + "File \u001b[0;32m/home/conda/master-asi-conae/315434deb1b1e05eacacc41e1b0529b1837100f46402a32041d77ba54ae6c5f3-20230213-125825-013239-74-edc-2022.10-14/lib/python3.9/site-packages/sentinelhub/download/client.py:126\u001b[0m, in \u001b[0;36mDownloadClient._process_download_future\u001b[0;34m(self, future)\u001b[0m\n\u001b[1;32m 124\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mraise_download_errors:\n\u001b[1;32m 125\u001b[0m traceback \u001b[38;5;241m=\u001b[39m sys\u001b[38;5;241m.\u001b[39mexc_info()[\u001b[38;5;241m2\u001b[39m]\n\u001b[0;32m--> 126\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m download_exception\u001b[38;5;241m.\u001b[39mwith_traceback(traceback)\n\u001b[1;32m 128\u001b[0m warnings\u001b[38;5;241m.\u001b[39mwarn(\u001b[38;5;28mstr\u001b[39m(download_exception), category\u001b[38;5;241m=\u001b[39mSHRuntimeWarning)\n\u001b[1;32m 129\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m\n", + "File \u001b[0;32m/home/conda/master-asi-conae/315434deb1b1e05eacacc41e1b0529b1837100f46402a32041d77ba54ae6c5f3-20230213-125825-013239-74-edc-2022.10-14/lib/python3.9/site-packages/sentinelhub/download/client.py:122\u001b[0m, in \u001b[0;36mDownloadClient._process_download_future\u001b[0;34m(self, future)\u001b[0m\n\u001b[1;32m 120\u001b[0m \u001b[38;5;250m\u001b[39m\u001b[38;5;124;03m\"\"\"Unpacks the future and correctly handles exceptions\"\"\"\u001b[39;00m\n\u001b[1;32m 121\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[0;32m--> 122\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mfuture\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mresult\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 123\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m DownloadFailedException \u001b[38;5;28;01mas\u001b[39;00m download_exception:\n\u001b[1;32m 124\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mraise_download_errors:\n", + "File \u001b[0;32m/home/conda/master-asi-conae/315434deb1b1e05eacacc41e1b0529b1837100f46402a32041d77ba54ae6c5f3-20230213-125825-013239-74-edc-2022.10-14/lib/python3.9/concurrent/futures/_base.py:439\u001b[0m, in \u001b[0;36mFuture.result\u001b[0;34m(self, timeout)\u001b[0m\n\u001b[1;32m 437\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m CancelledError()\n\u001b[1;32m 438\u001b[0m \u001b[38;5;28;01melif\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_state \u001b[38;5;241m==\u001b[39m FINISHED:\n\u001b[0;32m--> 439\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m__get_result\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 441\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_condition\u001b[38;5;241m.\u001b[39mwait(timeout)\n\u001b[1;32m 443\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_state \u001b[38;5;129;01min\u001b[39;00m [CANCELLED, CANCELLED_AND_NOTIFIED]:\n", + "File \u001b[0;32m/home/conda/master-asi-conae/315434deb1b1e05eacacc41e1b0529b1837100f46402a32041d77ba54ae6c5f3-20230213-125825-013239-74-edc-2022.10-14/lib/python3.9/concurrent/futures/_base.py:391\u001b[0m, in \u001b[0;36mFuture.__get_result\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 389\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_exception:\n\u001b[1;32m 390\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[0;32m--> 391\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_exception\n\u001b[1;32m 392\u001b[0m \u001b[38;5;28;01mfinally\u001b[39;00m:\n\u001b[1;32m 393\u001b[0m \u001b[38;5;66;03m# Break a reference cycle with the exception in self._exception\u001b[39;00m\n\u001b[1;32m 394\u001b[0m \u001b[38;5;28mself\u001b[39m \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mNone\u001b[39;00m\n", + "File \u001b[0;32m/home/conda/master-asi-conae/315434deb1b1e05eacacc41e1b0529b1837100f46402a32041d77ba54ae6c5f3-20230213-125825-013239-74-edc-2022.10-14/lib/python3.9/concurrent/futures/thread.py:58\u001b[0m, in \u001b[0;36m_WorkItem.run\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 55\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m\n\u001b[1;32m 57\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[0;32m---> 58\u001b[0m result \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mfn\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 59\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m \u001b[38;5;167;01mBaseException\u001b[39;00m \u001b[38;5;28;01mas\u001b[39;00m exc:\n\u001b[1;32m 60\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mfuture\u001b[38;5;241m.\u001b[39mset_exception(exc)\n", + "File \u001b[0;32m/home/conda/master-asi-conae/315434deb1b1e05eacacc41e1b0529b1837100f46402a32041d77ba54ae6c5f3-20230213-125825-013239-74-edc-2022.10-14/lib/python3.9/site-packages/sentinelhub/download/client.py:133\u001b[0m, in \u001b[0;36mDownloadClient._single_download_decoded\u001b[0;34m(self, request)\u001b[0m\n\u001b[1;32m 131\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21m_single_download_decoded\u001b[39m(\u001b[38;5;28mself\u001b[39m, request: DownloadRequest) \u001b[38;5;241m-\u001b[39m\u001b[38;5;241m>\u001b[39m Any:\n\u001b[1;32m 132\u001b[0m \u001b[38;5;250m \u001b[39m\u001b[38;5;124;03m\"\"\"Downloads a response and decodes it into data. By decoding a single response\"\"\"\u001b[39;00m\n\u001b[0;32m--> 133\u001b[0m response \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_single_download\u001b[49m\u001b[43m(\u001b[49m\u001b[43mrequest\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 134\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m \u001b[38;5;28;01mif\u001b[39;00m response \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m \u001b[38;5;28;01melse\u001b[39;00m response\u001b[38;5;241m.\u001b[39mdecode()\n", + "File \u001b[0;32m/home/conda/master-asi-conae/315434deb1b1e05eacacc41e1b0529b1837100f46402a32041d77ba54ae6c5f3-20230213-125825-013239-74-edc-2022.10-14/lib/python3.9/site-packages/sentinelhub/download/client.py:146\u001b[0m, in \u001b[0;36mDownloadClient._single_download\u001b[0;34m(self, request)\u001b[0m\n\u001b[1;32m 144\u001b[0m no_local_data \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mredownload \u001b[38;5;129;01mor\u001b[39;00m response_path \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m \u001b[38;5;129;01mor\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m os\u001b[38;5;241m.\u001b[39mpath\u001b[38;5;241m.\u001b[39mexists(response_path)\n\u001b[1;32m 145\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m no_local_data:\n\u001b[0;32m--> 146\u001b[0m response \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_execute_download\u001b[49m\u001b[43m(\u001b[49m\u001b[43mrequest\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 147\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[1;32m 148\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m request\u001b[38;5;241m.\u001b[39mreturn_data \u001b[38;5;129;01mor\u001b[39;00m response_path \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n", + "File \u001b[0;32m/home/conda/master-asi-conae/315434deb1b1e05eacacc41e1b0529b1837100f46402a32041d77ba54ae6c5f3-20230213-125825-013239-74-edc-2022.10-14/lib/python3.9/site-packages/sentinelhub/download/handlers.py:67\u001b[0m, in \u001b[0;36mretry_temporary_errors..new_download_func\u001b[0;34m(self, request)\u001b[0m\n\u001b[1;32m 65\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m attempt_num \u001b[38;5;129;01min\u001b[39;00m \u001b[38;5;28mrange\u001b[39m(download_attempts):\n\u001b[1;32m 66\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[0;32m---> 67\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mdownload_func\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mrequest\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 68\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m requests\u001b[38;5;241m.\u001b[39mRequestException \u001b[38;5;28;01mas\u001b[39;00m exception:\n\u001b[1;32m 69\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m (\n\u001b[1;32m 70\u001b[0m _is_temporary_problem(exception)\n\u001b[1;32m 71\u001b[0m \u001b[38;5;129;01mor\u001b[39;00m (\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 74\u001b[0m )\n\u001b[1;32m 75\u001b[0m ):\n", + "File \u001b[0;32m/home/conda/master-asi-conae/315434deb1b1e05eacacc41e1b0529b1837100f46402a32041d77ba54ae6c5f3-20230213-125825-013239-74-edc-2022.10-14/lib/python3.9/site-packages/sentinelhub/download/handlers.py:47\u001b[0m, in \u001b[0;36mfail_user_errors..new_download_func\u001b[0;34m(self, request)\u001b[0m\n\u001b[1;32m 42\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m requests\u001b[38;5;241m.\u001b[39mHTTPError \u001b[38;5;28;01mas\u001b[39;00m exception:\n\u001b[1;32m 43\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m (\n\u001b[1;32m 44\u001b[0m exception\u001b[38;5;241m.\u001b[39mresponse\u001b[38;5;241m.\u001b[39mstatus_code \u001b[38;5;241m<\u001b[39m requests\u001b[38;5;241m.\u001b[39mstatus_codes\u001b[38;5;241m.\u001b[39mcodes\u001b[38;5;241m.\u001b[39mINTERNAL_SERVER_ERROR\n\u001b[1;32m 45\u001b[0m \u001b[38;5;129;01mand\u001b[39;00m exception\u001b[38;5;241m.\u001b[39mresponse\u001b[38;5;241m.\u001b[39mstatus_code \u001b[38;5;241m!=\u001b[39m requests\u001b[38;5;241m.\u001b[39mstatus_codes\u001b[38;5;241m.\u001b[39mcodes\u001b[38;5;241m.\u001b[39mTOO_MANY_REQUESTS\n\u001b[1;32m 46\u001b[0m ):\n\u001b[0;32m---> 47\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m DownloadFailedException(\n\u001b[1;32m 48\u001b[0m _create_download_failed_message(exception, request\u001b[38;5;241m.\u001b[39murl), request_exception\u001b[38;5;241m=\u001b[39mexception\n\u001b[1;32m 49\u001b[0m ) \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mexception\u001b[39;00m\n\u001b[1;32m 50\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m exception \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mexception\u001b[39;00m\n", + "\u001b[0;31mDownloadFailedException\u001b[0m: Failed to download from:\nhttps://services.sentinel-hub.com/api/v1/process\nwith HTTPError:\n400 Client Error: Bad Request for url: https://services.sentinel-hub.com/api/v1/process\nServer response: \"{\"status\": 400, \"reason\": \"Bad Request\", \"message\": \"Invalid request\", \"code\": \"COMMON_BAD_PAYLOAD\", \"errors\": [{\"parameter\": \"output->width\", \"invalidValue\": 2881, \"violation\": \"must be less than or equal to 2500\", \"description\": \"The request image width. Must be an integer between 1 and 2500.
*Only one pair of parameters \\\"width\\\"/\\\"height\\\" or \\\"resx\\\"/\\\"resy\\\" must be set at the same time.*\"}, {\"parameter\": \"output->height\", \"invalidValue\": 3058, \"violation\": \"must be less than or equal to 2500\", \"description\": \"The request image height. Must be an integer between 1 and 2500.
*Only one pair of parameters \\\"width\\\"/\\\"height\\\" or \\\"resx\\\"/\\\"resy\\\" must be set at the same time.*\"}]}\"" + ] + } + ], + "source": [ + "# The evalscript for RGB map creation\n", + "evalscript_rgb = \"\"\"\n", + " //VERSION=3\n", + "function setup(){\n", + " return{\n", + " input: [\"B02\", \"B03\", \"B04\", \"dataMask\"],\n", + " output: {bands: 4}\n", + " }\n", + "}\n", + "\n", + "function evaluatePixel(sample){\n", + " // Set gain for visualisation\n", + " let gain = 2.5;\n", + " // Return RGB\n", + " return [sample.B04 * gain, sample.B03 * gain, sample.B02 * gain, sample.dataMask];\n", + "}\n", + "\"\"\"\n", + "request_rgb = SentinelHubRequest(\n", + " evalscript=evalscript_rgb,\n", + " input_data=[\n", + " SentinelHubRequest.input_data(\n", + " data_collection=DataCollection.SENTINEL2_L1C,\n", + " time_interval=(date, date),\n", + " )],\n", + " responses=[\n", + " SentinelHubRequest.output_response('default', MimeType.TIFF)\n", + " ],\n", + " geometry=aoi,\n", + " size=bbox_to_dimensions(aoi.bbox, resolution=10),\n", + " config=config\n", + ")\n", + "rgb_response = request_rgb.get_data()" + ] + }, + { + "cell_type": "markdown", + "id": "f182ac9c-5030-47f3-8267-61067e145929", + "metadata": {}, + "source": [ + "#### Show the result" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c24d116d-0876-45ce-ab74-54d468349b71", + "metadata": {}, + "outputs": [], + "source": [ + "# Create a basemap with folium\n", + "m = folium.Map(\n", + " location=aoi.bbox.middle[::-1],\n", + " zoom_start=11)\n", + "\n", + "# Color map for the snow cover (0 no data: transparent, 1 snow: white, 2 snow-free: green, 3 cloud: gray)\n", + "cmap = ((0, 0, 0, 0), (1, 1, 1, 1), (0, 0.6, 0.3, 1), (0.5, 0.5, 0.5, 1))\n", + "\n", + "# Add the snow cover to the map\n", + "folium.raster_layers.ImageOverlay(\n", + " snowcover[0],\n", + " bounds=[aoi.bbox.lower_left[::-1], aoi.bbox.upper_right[::-1]],\n", + " name='snow cover',\n", + " colormap=lambda x: cmap[x]\n", + ").add_to(m)\n", + "\n", + "# Add the Sentinel-2 RGB to the map\n", + "folium.raster_layers.ImageOverlay(\n", + " rgb_response[0]/255,\n", + " bounds=[aoi.bbox.lower_left[::-1], aoi.bbox.upper_right[::-1]],\n", + " name='RGB',\n", + ").add_to(m)\n", + "\n", + "# Add the layer control\n", + "folium.LayerControl().add_to(m)\n", + "\n", + "# Show the map\n", + "m" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "a7f29c6d-af54-4045-880b-e7e9137f9832", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[array([[0, 0, 0, ..., 0, 0, 0],\n", + " [0, 0, 0, ..., 0, 0, 0],\n", + " [0, 0, 0, ..., 0, 0, 0],\n", + " ...,\n", + " [0, 0, 0, ..., 0, 0, 0],\n", + " [0, 0, 0, ..., 0, 0, 0],\n", + " [0, 0, 0, ..., 0, 0, 0]], dtype=uint8)]" + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "snowcover" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "bb391484-b7cb-4702-bbf0-61d4e6175bc9", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Create a basemap with folium\n", + "m = folium.Map(\n", + " location=aoi.bbox.middle[::-1],\n", + " zoom_start=11)\n", + "\n", + "# Color map for the snow cover (0 no data: transparent, 1 snow: white, 2 snow-free: green, 3 cloud: gray)\n", + "cmap = ((0, 0, 0, 0), (1, 1, 1, 1), (0, 0.6, 0.3, 1), (0.5, 0.5, 0.5, 1))\n", + "\n", + "# Add the snow cover to the map\n", + "folium.raster_layers.ImageOverlay(\n", + " snowcover[0],\n", + " bounds=[aoi.bbox.lower_left[::-1], aoi.bbox.upper_right[::-1]],\n", + " name='snow cover',\n", + " colormap=lambda x: cmap[x]\n", + ").add_to(m)" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "id": "c589711f-0343-438e-bce1-4ba3c8b80eac", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
Make this Notebook Trusted to load map: File -> Trust Notebook
" + ], + "text/plain": [ + "" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "m" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "0b06f250-db52-4035-a17b-0792ea07a68e", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "master-asi-conae-edc-2022.10-14", + "language": "python", + "name": "conda-env-master-asi-conae-edc-2022.10-14-py" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.16" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/_sources/9.9_master_asi_conae/test/s3_ndsi.ipynb b/_sources/9.9_master_asi_conae/test/s3_ndsi.ipynb new file mode 100644 index 0000000..7c4b6d7 --- /dev/null +++ b/_sources/9.9_master_asi_conae/test/s3_ndsi.ipynb @@ -0,0 +1,1792 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "id": "b869b48d-f9a8-406d-922a-ca0c07683da9", + "metadata": {}, + "outputs": [], + "source": [ + "# xcube_sh imports\n", + "from xcube_sh.cube import open_cube\n", + "from xcube_sh.config import CubeConfig\n", + "from xcube_sh.sentinelhub import SentinelHub\n", + "\n", + "# xcube imports\n", + "from xcube.core.geom import mask_dataset_by_geometry\n", + "\n", + "# Various utilities\n", + "from datetime import date\n", + "import numpy as np\n", + "import pandas as pd\n", + "import geopandas as gpd\n", + "import matplotlib.pyplot as plt" + ] + }, + { + "cell_type": "markdown", + "id": "6a0f64c9-d78a-4bd5-9ad5-f3dc72e0b0ad", + "metadata": {}, + "source": [ + "Load the catchment outline" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "3e5b712a-33b1-475f-9d4f-70fbb7c0d72c", + "metadata": {}, + "outputs": [], + "source": [ + "catchment_outline = gpd.read_file('catchment_outline.geojson')" + ] + }, + { + "cell_type": "markdown", + "id": "158e798d-d05b-4ccd-ab6c-f219fd46bb1d", + "metadata": {}, + "source": [ + "#### List all the available dataset" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "dc9dc5f7-b844-4496-8622-a67647125bd3", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "['LETML1',\n", + " 'LOTL1',\n", + " 'LETML2',\n", + " 'CUSTOM',\n", + " 'LMSSL1',\n", + " 'LTML2',\n", + " 'LOTL2',\n", + " 'S3OLCI',\n", + " 'S3SLSTR',\n", + " 'DEM',\n", + " 'MODIS',\n", + " 'S5PL2',\n", + " 'HLS',\n", + " 'LTML1',\n", + " 'S1GRD',\n", + " 'S2L2A',\n", + " 'S2L1C']" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "SH = SentinelHub()\n", + "SH.dataset_names" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "fe2223fd-0810-4d71-ab95-f0d86b1554c9", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "['S1',\n", + " 'S2',\n", + " 'S3',\n", + " 'S4',\n", + " 'S4_A',\n", + " 'S4_B',\n", + " 'S5',\n", + " 'S5_A',\n", + " 'S5_B',\n", + " 'S6',\n", + " 'S6_A',\n", + " 'S6_B',\n", + " 'S7',\n", + " 'S8',\n", + " 'S9',\n", + " 'F1',\n", + " 'F2',\n", + " 'CLOUD_FRACTION',\n", + " 'SEA_ICE_FRACTION',\n", + " 'SEA_SURFACE_TEMPERATURE',\n", + " 'DEW_POINT',\n", + " 'SKIN_TEMPERATURE',\n", + " 'SNOW_ALBEDO',\n", + " 'SNOW_DEPTH',\n", + " 'SOIL_WETNESS',\n", + " 'TEMPERATURE',\n", + " 'TOTAL_COLUMN_OZONE',\n", + " 'TOTAL_COLUMN_WATER_VAPOR']" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "SH.band_names('S3SLSTR')" + ] + }, + { + "cell_type": "markdown", + "id": "d5f202c0-b2cf-4f3f-9f79-04afd67c2b43", + "metadata": {}, + "source": [ + "Configuring the data content of the cube" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "44ac177f-0df9-4fdb-9874-5fe527b86648", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/home/conda/master-asi-conae/315434deb1b1e05eacacc41e1b0529b1837100f46402a32041d77ba54ae6c5f3-20230213-125825-013239-74-edc-2022.10-14/lib/python3.9/site-packages/xcube_sh/config.py:248: FutureWarning: Units 'M', 'Y' and 'y' do not represent unambiguous timedelta values and will be removed in a future version.\n", + " time_tolerance = pd.to_timedelta(time_tolerance)\n" + ] + } + ], + "source": [ + "bbox = catchment_outline.bounds.iloc[0]\n", + "\n", + "start_date = date(2021, 2, 1)\n", + "end_date = date(2021, 7, 1)\n", + "\n", + "cube_config = CubeConfig(\n", + " dataset_name='S3SLSTR',\n", + " band_names=['S1', 'S2', 'S3', 'S5', 'S6', 'F1', 'SNOW_DEPTH', 'SNOW_ALBEDO'],\n", + " bbox=bbox.tolist(),\n", + " spatial_res=0.009, # = 500 meters in degree>\n", + " time_range=[start_date.strftime(\"%Y-%m-%d\"), end_date.strftime(\"%Y-%m-%d\")]\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "5e93d135-0220-49f1-938f-81e1edc37353", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "
<xarray.Dataset>\n",
+       "Dimensions:      (time: 353, lat: 33, lon: 38, bnds: 2)\n",
+       "Coordinates:\n",
+       "  * lat          (lat) float64 46.95 46.94 46.93 46.92 ... 46.68 46.67 46.66\n",
+       "  * lon          (lon) float64 11.03 11.03 11.04 11.05 ... 11.34 11.35 11.36\n",
+       "  * time         (time) datetime64[ns] 2021-02-01T09:57:08 ... 2021-06-30T20:...\n",
+       "    time_bnds    (time, bnds) datetime64[ns] dask.array<chunksize=(353, 2), meta=np.ndarray>\n",
+       "Dimensions without coordinates: bnds\n",
+       "Data variables:\n",
+       "    F1           (time, lat, lon) float32 dask.array<chunksize=(1, 33, 38), meta=np.ndarray>\n",
+       "    S1           (time, lat, lon) float32 dask.array<chunksize=(1, 33, 38), meta=np.ndarray>\n",
+       "    S2           (time, lat, lon) float32 dask.array<chunksize=(1, 33, 38), meta=np.ndarray>\n",
+       "    S3           (time, lat, lon) float32 dask.array<chunksize=(1, 33, 38), meta=np.ndarray>\n",
+       "    S5           (time, lat, lon) float32 dask.array<chunksize=(1, 33, 38), meta=np.ndarray>\n",
+       "    S6           (time, lat, lon) float32 dask.array<chunksize=(1, 33, 38), meta=np.ndarray>\n",
+       "    SNOW_ALBEDO  (time, lat, lon) float32 dask.array<chunksize=(1, 33, 38), meta=np.ndarray>\n",
+       "    SNOW_DEPTH   (time, lat, lon) float32 dask.array<chunksize=(1, 33, 38), meta=np.ndarray>\n",
+       "Attributes:\n",
+       "    Conventions:             CF-1.7\n",
+       "    title:                   S3SLSTR Data Cube Subset\n",
+       "    history:                 [{'program': 'xcube_sh.chunkstore.SentinelHubChu...\n",
+       "    date_created:            2023-02-21T09:41:27.870387\n",
+       "    time_coverage_start:     2021-02-01T09:37:22.665000+00:00\n",
+       "    time_coverage_end:       2021-06-30T20:36:19.311000+00:00\n",
+       "    time_coverage_duration:  P149DT10H58M56.646S\n",
+       "    geospatial_lon_min:      11.020833333333357\n",
+       "    geospatial_lat_min:      46.653599378797765\n",
+       "    geospatial_lon_max:      11.362833333333358\n",
+       "    geospatial_lat_max:      46.95059937879776\n",
+       "    processing_level:        L1B
" + ], + "text/plain": [ + "\n", + "Dimensions: (time: 353, lat: 33, lon: 38, bnds: 2)\n", + "Coordinates:\n", + " * lat (lat) float64 46.95 46.94 46.93 46.92 ... 46.68 46.67 46.66\n", + " * lon (lon) float64 11.03 11.03 11.04 11.05 ... 11.34 11.35 11.36\n", + " * time (time) datetime64[ns] 2021-02-01T09:57:08 ... 2021-06-30T20:...\n", + " time_bnds (time, bnds) datetime64[ns] dask.array\n", + "Dimensions without coordinates: bnds\n", + "Data variables:\n", + " F1 (time, lat, lon) float32 dask.array\n", + " S1 (time, lat, lon) float32 dask.array\n", + " S2 (time, lat, lon) float32 dask.array\n", + " S3 (time, lat, lon) float32 dask.array\n", + " S5 (time, lat, lon) float32 dask.array\n", + " S6 (time, lat, lon) float32 dask.array\n", + " SNOW_ALBEDO (time, lat, lon) float32 dask.array\n", + " SNOW_DEPTH (time, lat, lon) float32 dask.array\n", + "Attributes:\n", + " Conventions: CF-1.7\n", + " title: S3SLSTR Data Cube Subset\n", + " history: [{'program': 'xcube_sh.chunkstore.SentinelHubChu...\n", + " date_created: 2023-02-21T09:41:27.870387\n", + " time_coverage_start: 2021-02-01T09:37:22.665000+00:00\n", + " time_coverage_end: 2021-06-30T20:36:19.311000+00:00\n", + " time_coverage_duration: P149DT10H58M56.646S\n", + " geospatial_lon_min: 11.020833333333357\n", + " geospatial_lat_min: 46.653599378797765\n", + " geospatial_lon_max: 11.362833333333358\n", + " geospatial_lat_max: 46.95059937879776\n", + " processing_level: L1B" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "cube = open_cube(cube_config, api_url=\"https://creodias.sentinel-hub.com\")\n", + "cube" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "d88181bc-8cf3-4ded-80b8-ab9786ad2ae2", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkQAAAHFCAYAAAAT5Oa6AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/P9b71AAAACXBIWXMAAA9hAAAPYQGoP6dpAABszklEQVR4nO3dd1hUx94H8O/SO1IEAWliBAuWiAWDINGIJdYUNcZuvCYmFqKoQcWComjUmFhijyUxBTXXq0HUCxpjR41GsRcIwWCJICht97x/+LLXlbZnd2HZ3e/nec7zuLNz5szsQfjtzJwZiSAIAoiIiIgMmJG2K0BERESkbQyIiIiIyOAxICIiIiKDx4CIiIiIDB4DIiIiIjJ4DIiIiIjI4DEgIiIiIoPHgIiIiIgMHgMiIiIiMngMiKhGHTt2DLNnz8bjx4/LvNepUyd06tSpxutUE65du4bJkyejdevWqFOnDhwdHfHaa6/hp59+Kjd/dnY2hg8fDmdnZ1hZWSE4OBiHDh1SyJObm4v58+ejU6dOqFevHmxsbBAYGIhFixahoKCgTJkzZszAm2++CQ8PD0gkEgwfPlx0O6qjXpX58ssvERAQAHNzc/j6+mLOnDkoLi5WyPPnn39i4sSJCAsLQ506dSCRSLB582aFPLNnz4ZEIqnyePHn79atW+jfvz/q1KkDGxsbvPHGGzh79myZOj558gTjx4+Hh4cHzM3N0ahRI8THx0MqlSrVxorqZmFhoZAvJSWl0rqPHTtWqesp267c3FxER0ejUaNGsLKygoeHB9555x1cunRJqesQ6RyBqAYtXrxYACDcvn27zHuXLl0SLl26VPOVqgFffvmlEBAQIMyfP19ISkoS9u3bJwwbNkwAIMyZM0chb0FBgdCsWTOhfv36wrZt24SkpCShT58+gomJiZCSkiLPd/HiRcHZ2VmYNGmS8PPPPwuHDh0SZs+eLVhYWAidO3cWZDKZQrlWVlZC+/bthbFjxwpmZmbCsGHDRLWhuupVkdjYWEEikQjTp08XkpOThfj4eMHMzEz44IMPFPIlJycLzs7OQpcuXYRBgwYJAIRNmzYp5MnIyBCOHz8uP3bu3CkAED755BOF9NKfv+zsbMHd3V1o2rSpkJCQIOzdu1cICQkRbG1thStXrsjLLS4uFtq1ayc4ODgIX331lZCUlCRERkYKEolE+OSTT5RqZ0xMjABASExMVKjLyZMnFfLl5OQovF96DB06VH5+VZRtlyAIQmhoqGBlZSXEx8cL//3vf4UtW7YIDRs2FGxtbYU7d+4o1TYiXcKAiGpUZQGRPrt//365gUDPnj0FKysroaCgQJ62cuVKAYBw7NgxeVpxcbHQpEkToW3btvK0vLw8IS8vr0yZpZ/xr7/+qpAulUrl/7a2thYdEFVXvcrz4MEDwcLCQhgzZoxC+vz58wWJRKIQOL/YrtOnT5cbEL3s9u3bAgBh8eLF5b4/ZcoUwdTUVOEPf05OjuDs7Cy8++678rTvvvtOACAkJCQonD9mzBjByMioTJBRntKA6P79+1XmfZlMJhMaNGggeHt7K3wOFVG2XdevXxcACDNmzFA4/9ixYwIAYenSpaLrSlTbcciMaszs2bMxZcoUAICvr6+8qz8lJQVA2SGzO3fuQCKRYPHixVi0aBF8fHxgaWmJTp064dq1ayguLsa0adPg7u4Oe3t79OvXD9nZ2WWu+/333yM4OBjW1tawsbFBREQEzp07VxNNlnN2doZEIimT3rZtWzx9+hSPHj2Sp+3atQv+/v4IDg6Wp5mYmOD999/HqVOnkJmZCQCwtraGtbV1uWUCQEZGhkK6kZF6/92rq17lSUxMREFBAUaMGKGQPmLECAiCgN27d8vT1G1XeXbt2oXXX38d3t7e8jQ7Ozv0798fe/bsQUlJCQDgt99+g0QiQffu3RXOf/PNNyGTybBr1y6N1+1FycnJuHXrFkaMGKHU56Bsu0xNTQEA9vb2CufXqVMHAMoM5xHpAwZEVGNGjx6NTz75BACwc+dOHD9+HMePH8err75a6XkrV67Eb7/9hpUrV2L9+vW4cuUKevXqhVGjRuH+/fvYuHEj4uPjcfDgQYwePVrh3AULFmDQoEFo0qQJfvjhB2zduhVPnjxBx44dcfny5SrrXFJSotQhCIJKn0lycjLq1q0LFxcXedoff/yB5s2bl8lbmlbVHI7//ve/AICmTZuqVKeK1GS9/vjjDwBAYGCgQrqbmxucnZ3l71eHZ8+e4ebNmxW29dmzZ7h16xYAoKioCEZGRvIAopS5uTkA4MKFCwrpL89TelFgYCCMjY3h6uqKoUOHIj09vcq6btiwAUZGRmUCx/KuJaZd3t7e6NOnD5YtW4bk5GTk5eXhypUrGD9+PLy8vDBw4MAq60aka0y0XQEyHPXr14eXlxcAoFWrVvDx8VHqvDp16mD37t3yb8APHjzAxIkTERAQgJ9//lme78qVK1i+fDlyc3NhZ2eHjIwMxMTE4OOPP8aKFSvk+d544w288sormDNnDr7//vsKr3vnzh34+voqVcfk5GTRE8LXr1+PlJQUfPHFFzA2NpanP3z4EI6OjmXyl6Y9fPiwwjIvXLiA+Ph49OvXr9w/fOqoyXo9fPgQ5ubm5fY0OTo6Vnotdf3zzz8QBEGptjZp0gRSqRQnTpxASEiIPN/Ro0cV8pUyNjZWuNcA4Ofnh/nz56NVq1awsLDAqVOnEB8fj6SkJKSmpsLDw6Pcej5+/Bg7d+7EG2+8If9/Vdm1xLQLAH788UeMGzcOr7/+ujytefPmOHz4MBwcHMqtE5EuY0BEtV6PHj0UhgMaN24MAOjZs6dCvtL09PR0NGvWDPv370dJSQmGDh0qHwoAnnf3h4WFITk5udLruru74/Tp00rV0d/fX6l8pX755ReMGzcOb7/9trzX7EXlDa9V9d6dO3fw5ptvwtPTE+vXrxdVn1KCIJR5OsrE5H+/JjRdrxfvC/D8j3hpOapcS5OUuf7gwYMxd+5cjBkzBps2bYK/vz9++eUXeQD+8jDWy+0FgCFDhii8Dg8PR3h4OIKDgxEfH48vvvii3Dps374dBQUFZXpFK7uWsu0CgA8//BC7du3CsmXL8Oqrr+LevXtYvHgxXn/9dSQnJysMuxHpAwZEVOu9/I3WzMys0vTSR7v//vtvAECbNm3KLbeqORdmZmZo2bKlUnV8+Vt/Zfbv34/+/fvjjTfewPbt28v8gXJyciq3B6R0nlF53/Dv3r2L8PBwmJiY4NChQ+XmUcY333xTZvildDiwOur18lDTpk2bMHz4cDg5OaGgoABPnz6FlZVVmeu1bt1afOOU5ODgAIlEolRbnZ2dkZiYiGHDhqF9+/YAnn9OS5cuxahRoyrs3alK27Zt0ahRI5w4caLCPBs2bEDdunXRp08fpcoU067ExERs2LABP/74I95++215vq5du8LHxwezZ8/Gpk2bxDSJqNZjQER6y9nZGQDw008/qfRttjqGzPbv34++ffsiLCwMCQkJ8iDuRYGBgbh48WKZ9NK0Zs2aKaTfvXsXnTp1giAISElJQf369ZWqc3l69epVYa9YddTr5WuVft6lc4cuXryIdu3ayd+/d+8eHjx4UOZammRpaYmGDRtW2FZLS0s0aNBAntamTRtcvnwZd+7cQX5+Pl555RWkpqYCAEJDQ1WuhyAIFQbt586dw7lz5/Dpp5+WCSorIqZd58+fB1D2y0SdOnXQsGHDap3DRaQtDIioRpVONn327Fm1XysiIgImJia4efMm3nrrLdHna3rILCkpCX379kVISAh2794t/yxe1q9fP3z00Uc4efKkPBgoKSnBtm3b0K5dO7i7u8vzpqeno1OnTpBKpUhJSVF7GMPJyQlOTk41Vq+goKBy07t16wYLCwts3rxZISDavHkzJBIJ+vbtq2ILldOvXz8sX74cGRkZ8PT0BPB8AcadO3eid+/eCsOIpUrnxAmCgM8//xzu7u545513VLr+iRMncP36dYwfP77c9zds2AAAGDVqlKhylW1X6b08ceKEwr17+PAhrl27hs6dO4tuE1Ftx4CIalTpN/8vvvgCw4YNg6mpKfz9/WFra6vxa/n4+GDu3LmIjo7GrVu30K1bNzg4OODvv//GqVOnYG1tjTlz5lR4vpmZWYV/sMU6evQo+vbti3r16uGzzz6TfwMv1aRJE9jZ2QEARo4ciZUrV+Kdd97BwoUL4eLiglWrVuHq1as4ePCg/Jzs7GyEh4cjKysLGzZsQHZ2tsKyA/Xr11folTl8+DDu378PAJBKpbh79658peywsDDUrVu30jZUV73K4+joiBkzZmDmzJlwdHRE165dcfr0acyePRujR49GkyZNFPKXtqP0KakzZ87AxsYGABSGfJQ1efJkbN26FT179sTcuXNhbm6OhQsXoqCgALNnz1bIGx0djcDAQLi5uSE9PR0bN27EyZMnsXfvXlhaWirkNTExQVhYmMLq3i1atMD777+Pxo0byydVL168GPXq1UNUVFSZuhUUFODbb79Fhw4d5PPmylPetZRtV//+/TFr1ix8+OGH+PPPP/Hqq68iKysLixcvxtOnTzFhwgSRnyiRDtDWAkhkuKZPny64u7sLRkZGAgAhOTlZEARBCAsLE8LCwuT5Klo8Lzk5WQAg/PjjjwrpmzZtEgAIp0+fVkjfvXu3EB4eLtjZ2Qnm5uaCt7e38PbbbwsHDx6slvaVp3TxvYqO0s+g1L1794ShQ4cKjo6OgoWFhdC+fXvhwIEDCnlKP4eKjpiYGIX8YWFhSl+/ItVRr8p88cUXQqNGjQQzMzPBy8tLiImJEYqKisrkq+x65alqYUZBEIQbN24Iffv2Fezs7AQrKyuhc+fOQmpqapl8H374oeDl5SWYmZkJzs7OwltvvSVcuHCh3DIBKPyMC4IgDBw4UGjYsKFgbW0tmJqaCt7e3sLYsWOFv/76q9wytm/fLgAQNm7cWGHdK7qWmHZlZWUJH3/8sdCwYUPBwsJCcHd3F3r27CkcP3680usS6SqJIKi4gAoRERGRnuDCjERERGTwGBARERGRwWNARERERAaPAREREREZvFoTEMXFxUEikWDixIkK6Wlpaejduzfs7e1ha2uL9u3bV7rpYXFxMebOnQs/Pz9YWFigRYsWSExMVMgze/Zs+U7rpUe9evWqo1lERESkA2rFOkSnT5/G2rVry2z6ePPmTYSEhGDUqFGYM2cO7O3tkZaWBgsLiwrLmjFjBrZt24Z169YhICAA+/fvR79+/XDs2DG0atVKnq9p06YKa6eI2XqBiIiI9IvWH7vPy8vDq6++ilWrViE2NhYtW7bE8uXLAQADBw6Eqakptm7dqnR57u7uiI6Oxrhx4+Rpffv2hY2NDbZt2wbgeQ/R7t27yyyOJ4ZMJsNff/0FW1vbGtlokoiIdJcgCHjy5Anc3d2r3EdRHQUFBSgqKlK7HDMzs0o7H/SR1nuIxo0bh549e6JLly6IjY2Vp8tkMuzduxdRUVGIiIjAuXPn4Ovri+nTp1e6bH9hYWGZm2hpaYmjR48qpF2/fh3u7u4wNzdHu3btsGDBAoX9icort7CwUP46MzOzzGq5RERElcnIyFBrv8HKFBQUwNfbBveypWqXVa9ePdy+fduggiKtBkQ7duzA2bNny90vKjs7G3l5eVi4cCFiY2OxaNEiJCYmon///khOTkZYWFi5ZUZERGDp0qUIDQ2Fn58fDh06hJ9//hlS6f9+QNq1a4ctW7agUaNG+PvvvxEbG4sOHTrg0qVLFe7jFBcXV+42D6FWb8NEotzmikSkmyQV7DtHpKwSoQiH//m2WrYpKlVUVIR72VLcTvWGna3qvVC5T2TwbX0XRUVFBhUQaW3ILCMjA0FBQUhKSkKLFi0AAJ06dZIPmf3111/w8PDAoEGD8O2338rP6927N6ytrfHdd9+VW+79+/fxwQcfYM+ePZBIJPDz80OXLl2wadMmPH36tNxz8vPz4efnh6ioKERGRpab5+UeotzcXHh6euJ160EwkZTdsZyI9IfEggERqadEVoRDjzYjJydHvm+hpuXm5sLe3h4Pr/mqHRA5NbpdrXWtjbT2lFlqaiqys7PRunVrmJiYwMTEBIcPH8aKFStgYmICJycnmJiYlBmWaty4caVPmdWtWxe7d+9Gfn4+7t69iytXrsDGxga+vr4VnmNtbY3AwEBcv369wjzm5uaws7NTOIiIiGobqSBT+zBEWhsy69y5My5evKiQNmLECAQEBGDq1KkwNzdHmzZtcPXqVYU8165dg7e3d5XlW1hYwMPDA8XFxUhISMC7775bYd7CwkKkpaWhY8eOqjWGiIiolpBBgAyqD/6oc64u01pAZGtri2bNmimkWVtbw8nJSZ4+ZcoUDBgwAKGhoQgPD0diYiL27NmDlJQU+TlDhw6Fh4cH4uLiAAAnT55EZmYmWrZsiczMTMyePRsymQxRUVHycyZPnoxevXrBy8sL2dnZiI2NRW5uLoYNG1b9DSciIqJaR+tPmVWmX79+WLNmDeLi4jB+/Hj4+/sjISEBISEh8jzp6ekKjzAWFBRgxowZuHXrFmxsbNCjRw9s3boVderUkef5888/MWjQIDx48AB169ZF+/btceLECaV6noiIiGozGWRQZ9BLvbN1l9bXIdJVpZPXOKmaSP9xUjWpqyYnVWdc8VB7UrVnQCYnVRMREREZmlo9ZEZERETicFK1ahgQERER6REZBEgZEInGITMiIiIyeOwhIiIi0iMcMlMNAyIiIiI9IhUESNV4gFydc3UZAyIiIiI9Ivv/Q53zDRHnEBEREZHBYw8RERGRHpGq+ZSZOufqMgZEREREekQqPD/UOd8QcciMiIiIDB57iIiIiPQIJ1WrhgERERGRHpFBAikkap1viDhkRkRERAaPPUREZJAkFubargJRtZAJzw91zjdEDIiIiIj0iFTNITN1ztVlHDIjIiIig8ceIiIiIj3CHiLVMCAiIiLSIzJBApmgxlNmapyryxgQERER6RH2EKmGc4iIiIjI4DEgIiIi0iNSGKl9iBEXF4c2bdrA1tYWLi4u6Nu3L65evVrpOSkpKZBIJGWOK1euqNN0tXDIjIiISI8Ias4hEkSee/jwYYwbNw5t2rRBSUkJoqOj0bVrV1y+fBnW1taVnnv16lXY2dnJX9etW1elOmsCAyIiIiJSWWJiosLrTZs2wcXFBampqQgNDa30XBcXF9SpU6caa6c8DpkRERHpkdJJ1eocAJCbm6twFBYWKnX9nJwcAICjo2OVeVu1agU3Nzd07twZycnJqjdaAxgQERER6RGpYKT2AQCenp6wt7eXH3FxcVVeWxAEREZGIiQkBM2aNaswn5ubG9auXYuEhATs3LkT/v7+6Ny5M44cOaKxz0EsDpkRERFRGRkZGQrze8zNq97/7+OPP8aFCxdw9OjRSvP5+/vD399f/jo4OBgZGRlYsmRJlcNs1YUBERERkR6RQQKZGgNAMjzf3dXOzk4hIKrKJ598gn//+984cuQI6tevL/q67du3x7Zt20SfpykMiIiIiPRITS/MKAgCPvnkE+zatQspKSnw9fVV6brnzp2Dm5ubSudqAgMiIiIiUtm4cePw7bff4ueff4atrS3u3bsHALC3t4elpSUAYPr06cjMzMSWLVsAAMuXL4ePjw+aNm2KoqIibNu2DQkJCUhISNBaOxgQERER6ZEXJ0ardr4gKv/q1asBAJ06dVJI37RpE4YPHw4AyMrKQnp6uvy9oqIiTJ48GZmZmbC0tETTpk2xd+9e9OjRQ+V6q4sBERERkR55PodIjc1dVRgyq8rmzZsVXkdFRSEqKkrUdaobAyIiIiI9IlNh+w3F88X1EOkLrkNEREREBo89RERERHqkpucQ6QsGRERERHpEBiONrENkaDhkRkRERAaPPURqMnJ2hJFR1cuZa5rs/sMavyaRLpBY1Pz/R6LaRCpIIBXUWJhRjXN1GQMiIiIiPSJV8ykzKYfMiIiIiAwTe4iIiIj0iEwwgkyNp8xkfMqMiIiIdB2HzFTDITMiIiIyeOwhIiIi0iMyqPekmExzVdEpDIiIiIj0iPoLMxrm4BEDIiIiIj2i/tYdhhkQGWariYiIiF7AHiIiIiI9IoMEMqgzh4grVZMKpE62kBhbaKw84we5SuUzquuksWtWJ24xQkRUszhkphrDbDURERHRC9hDREREpEfUX5jRMPtKak2r4+LiIJFIMHHiRIX0tLQ09O7dG/b29rC1tUX79u2Rnp5eYTnFxcWYO3cu/Pz8YGFhgRYtWiAxMbFMvlWrVsHX1xcWFhZo3bo1fv31V003iYiIqMbJBInahyGqFQHR6dOnsXbtWjRv3lwh/ebNmwgJCUFAQABSUlLw+++/Y+bMmbCwqHjOzowZM/D111/jyy+/xOXLlzF27Fj069cP586dk+f5/vvvMXHiRERHR+PcuXPo2LEjunfvXmmgRURERPpL6wFRXl4eBg8ejHXr1sHBwUHhvejoaPTo0QPx8fFo1aoVGjRogJ49e8LFxaXC8rZu3YrPPvsMPXr0QIMGDfDhhx8iIiICn3/+uTzP0qVLMWrUKIwePRqNGzfG8uXL4enpidWrV1dbO4mIiGqC7P+HzFQ9DHVhRq23ety4cejZsye6dOmikC6TybB37140atQIERERcHFxQbt27bB79+5KyyssLCzTg2RpaYmjR48CAIqKipCamoquXbsq5OnatSuOHTtWabm5ubkKBxERUW1Tutu9Ooch0mqrd+zYgbNnzyIuLq7Me9nZ2cjLy8PChQvRrVs3JCUloV+/fujfvz8OHz5cYZkRERFYunQprl+/DplMhgMHDuDnn39GVlYWAODBgweQSqVwdXVVOM/V1RX37t2rsNy4uDjY29vLD09PTxVbTURERLWN1gKijIwMTJgwAdu2bSt3TpBM9nx7uT59+mDSpElo2bIlpk2bhjfffBNr1qypsNwvvvgCr7zyCgICAmBmZoaPP/4YI0aMgLGxsUI+iURx0pggCGXSXjR9+nTk5OTIj4yMDDHNJSIiqhFSSNQ+DJHWAqLU1FRkZ2ejdevWMDExgYmJCQ4fPowVK1bAxMQETk5OMDExQZMmTRTOa9y4caWTn+vWrYvdu3cjPz8fd+/exZUrV2BjYwNfX18AgLOzM4yNjcv0BmVnZ5fpNXqRubk57OzsFA4iIqLahkNmqtFaqzt37oyLFy/i/Pnz8iMoKAiDBw/G+fPnYW5ujjZt2uDq1asK5127dg3e3t5Vlm9hYQEPDw+UlJQgISEBffr0AQCYmZmhdevWOHDggEL+AwcOoEOHDpprIBERkRZIoW4vkWHS2sKMtra2aNasmUKatbU1nJyc5OlTpkzBgAEDEBoaivDwcCQmJmLPnj1ISUmRnzN06FB4eHjI5yGdPHkSmZmZaNmyJTIzMzF79mzIZDJERUXJz4mMjMSQIUMQFBSE4OBgrF27Funp6Rg7dqzodhQ5WEBmormtO8w0VlL14hYjVJMkFubargIR6blavVJ1v379sGbNGsTFxWH8+PHw9/dHQkICQkJC5HnS09NhZPS/jq6CggLMmDEDt27dgo2NDXr06IGtW7eiTp068jwDBgzAw4cPMXfuXGRlZaFZs2bYt2+fUj1PREREtZm6w16GOmQmEQRB0HYldFFubi7s7e3xWufZMNFkD9GjAo2VVZ2U7SHSFewhqt3YQ0S6rkRWhEOPNiMnJ6fa5qCW/l2afrwbLGxMVS6nIK8YccGJ1VrX2sgww0AiIiKiF9TqITMiIiISR4AEMjUenRcM9LF7BkRERER6RCoYQarGPCB1ztVlhtlqIiIiohewh4iIiEiPyAQJZILqw17qnKvLGBARERHpkdJd69U53xAZZquJiIiIXsAeIiIiIj3CITPVMCBSU0EdE5iYavJj1Nwij9VJF7YYEbN4JLcYqeUk1fALmmvSkp6SwQgyNQaA1DlXlzEgIiIi0iNSQQKpGr086pyrywwzDCQiIiJ6AXuIiIiI9AjnEKmGAREREZEeEdTc7V7gStVEREREhok9RERERHpECgmkamzQqs65uowBERERkR6RCerNA5IZ6IoUHDIjIiIig8ceIiIiIj0iU3NStTrn6jIGRERERHpEBglkaswDUudcXcaAiIiISI9wpWrVMCBSU5GdBFIzTf7w6Motqf17runCfmtiGWu7AkoQs9+axFKLP0fVsT9adeCea0Q1Qlf++hIREZESOIdINQyIiIiI9IgMam7dwTlEFVuxYoXogkeMGAFbW1vR5xERERHVNKUCookTJ6J+/fowNlZuBkNGRgbefPNNBkREREQ1TFDzKTOBPUSVO3PmDFxcXJTKy0CIiIhIO7jbvWqUmjkVExMDGxsbpQv97LPP4OjoqHKliIiIiGqSUj1EMTExogqdPn26SpUhIiIi9fApM9WIfsrs2bNnEAQBVlZWAIC7d+9i165daNKkCbp27arxChIREZHyOGSmGtFhYJ8+fbBlyxYAwOPHj9GuXTt8/vnn6NOnD1avXq3xChIRERFVN9EB0dmzZ9GxY0cAwE8//QRXV1fcvXsXW7ZsUenxfCIiItKc0r3M1DkMkeghs6dPn8qfIktKSkL//v1hZGSE9u3b4+7duxqvYG1XZC+BsXnlPzxmj5Vfer/QXld+EHVhTc/av70IAJg9KlA6r9TZrhprohmithcpLqmualRJKCzU2rVF0ZUtRpTFrUiqXU0PmcXFxWHnzp24cuUKLC0t0aFDByxatAj+/v6Vnnf48GFERkbi0qVLcHd3R1RUFMaOHatyvdUluoeoYcOG2L17NzIyMrB//375vKHs7GzY2dX+X9ZERET6rDQgUucQ4/Dhwxg3bhxOnDiBAwcOoKSkBF27dkV+fn6F59y+fRs9evRAx44dce7cOXz22WcYP348EhIS1G2+ykR/zZ81axbee+89TJo0Ca+//jqCg4MBPO8tatWqlcYrSERERLVXYmKiwutNmzbBxcUFqampCA0NLfecNWvWwMvLC8uXLwcANG7cGGfOnMGSJUvw1ltvVXeVyyU6IHr77bcREhKCrKwstGjRQp7euXNn9OvXT6OVIyIiInG0/ZRZTk4OAFS6HuHx48fLPJkeERGBDRs2oLi4GKampmrVQRUqTQSpV68e8vLycODAAYSGhsLS0hJt2rSBRN/GuomIiHSMpgKi3NxchXRzc3OYm5tXeq4gCIiMjERISAiaNWtWYb579+7B1dVVIc3V1RUlJSV48OAB3NzcVKy96kTPIXr48CE6d+6MRo0aoUePHsjKygIAjB49Gp9++qnGK0hEREQ1z9PTE/b29vIjLi6uynM+/vhjXLhwAd99912VeV/uRBH+f8K9tjpXRAdEkyZNgqmpKdLT0+WLMwLAgAEDyowjEhERUc0SoN6j96XPAWZkZCAnJ0d+VLULxSeffIJ///vfSE5ORv369SvNW69ePdy7d08hLTs7GyYmJnByclKj9aoTPWSWlJSE/fv3l2nsK6+8YpCP3RMREdUmmhoys7OzU+rpcUEQ8Mknn2DXrl1ISUmBr69vlecEBwdjz549CmlJSUkICgrSyvwhQIUeovz8fIWeoVIPHjyocmyRiIiI9Mu4ceOwbds2fPvtt7C1tcW9e/dw7949PHv2TJ5n+vTpGDp0qPz12LFjcffuXURGRiItLQ0bN27Ehg0bMHnyZG00AYAKAVFoaKh86w7g+VifTCbD4sWLER4ertHKERERkTg1vQ7R6tWrkZOTg06dOsHNzU1+fP/99/I8WVlZSE9Pl7/29fXFvn37kJKSgpYtW2LevHlYsWKF1h65B1QYMlu8eDE6deqEM2fOoKioCFFRUbh06RIePXqE3377rTrqSEREREqq6cfuBSVWH9+8eXOZtLCwMJw9e1bUtaqT6ICoSZMmuHDhAlatWgVjY2Pk5+ejf//+GDdunFYek9O2YlsBUouqfhh0YzkC/dtiRBe2FwH0bosRMU+ImGlnrgCgK/8rdWiLEWXpyvIs3GLE4Ki8DtHcuXM1XRciIiJSk7YXZtRVoucQAcCvv/6K999/Hx06dEBmZiYAYOvWrTh69KhGK0dERETiCIJE7cMQiQ6IEhISEBERAUtLS5w9exaF/9+d++TJEyxYsEDjFSQiIiLlqbMGUelhiEQHRLGxsVizZg3WrVunsFZAhw4datXkKCIiIiJliZ5DdPXq1XJ3r7Wzs8Pjx481USciIiJSEecQqUZ0D5Gbmxtu3LhRJv3o0aNo0KCBRipFREREquEcItWIDoj+9a9/YcKECTh58iQkEgn++usvbN++HZMnT8ZHH31UHXUkIiIiqlaih8yioqKQk5OD8PBwFBQUIDQ0FObm5pg8eTI+/vjj6qgjERERKYlDZqoR1UMklUpx+PBhfPrpp3jw4AFOnTqFEydO4P79+5g3b55aFYmLi4NEIsHEiRMV0tPS0tC7d2/Y29vD1tYW7du3V1j+uzzLly+Hv78/LC0t4enpiUmTJqGg4H+Lys2ePRsSiUThqFevnlr1JyIiqg04ZKYaUT1ExsbGiIiIQFpaGhwdHREUFKSRSpw+fRpr165F8+bNFdJv3ryJkJAQjBo1CnPmzIG9vT3S0tJgYVHxyr7bt2/HtGnTsHHjRnTo0AHXrl3D8OHDAQDLli2T52vatCkOHjyo0DYiIiIyTKKHzAIDA3Hr1i34+vpqpAJ5eXkYPHgw1q1bh9jYWIX3oqOj0aNHD8THx8vTqpq4ffz4cbz22mt47733AAA+Pj4YNGgQTp06pZDPxMREI71CxXYyGFnKqsil0vqXWqAb3wqU3WJEN7YXAXRlixGLu8pt3SFocTsOAJAUFSuXUcv1VJau/BRzi5EaLq8SgppDZobaQyT6L/X8+fMxefJk/Oc//0FWVhZyc3MVDrHGjRuHnj17okuXLgrpMpkMe/fuRaNGjRAREQEXFxe0a9cOu3fvrrS8kJAQpKamygOgW7duYd++fejZs6dCvuvXr8Pd3R2+vr4YOHAgbt26VWm5hYWFareViIiougl4vhWbyoe2G6Alor+aduvWDQDQu3dvSF6IeAVBgEQigVQqVbqsHTt24OzZszh9+nSZ97Kzs5GXl4eFCxciNjYWixYtQmJiIvr374/k5GSEhYWVW+bAgQNx//59hISEQBAElJSU4MMPP8S0adPkedq1a4ctW7agUaNG+PvvvxEbG4sOHTrg0qVLcHJyKrfcuLg4zJkzR+m2ERERke4QHRAlJydr5MIZGRmYMGECkpKSyp0TJJM9H4bq06cPJk2aBABo2bIljh07hjVr1lQYEKWkpGD+/PlYtWoV2rVrhxs3bmDChAlwc3PDzJkzAQDdu3eX5w8MDERwcDD8/PzwzTffIDIystxyp0+frvBebm4uPD09VWs8ERFRNZFBAokag62GunWH6ICookBErNTUVGRnZ6N169byNKlUiiNHjuCrr75Cfn4+TExM0KRJE4XzGjduXOkmsjNnzsSQIUMwevRoAM8Dnvz8fIwZMwbR0dEwMio7SmhtbY3AwEBcv369wnLNzc1hbm4utplEREQ1St0nxQx1DpHogOjChQvlpkskElhYWMDLy0upwKFz5864ePGiQtqIESMQEBCAqVOnwtzcHG3atMHVq1cV8ly7dg3e3t4Vlvv06dMyQY+xsTEEQYAglD8yWlhYiLS0NHTs2LHKehMREdVmMkECCdchEk10QNSyZUuFuUMvMzU1xYABA/D1119X+ni8ra0tmjVrppBmbW0NJycnefqUKVMwYMAAhIaGIjw8HImJidizZw9SUlLk5wwdOhQeHh6Ii4sDAPTq1QtLly5Fq1at5ENmM2fORO/eveWP1k+ePBm9evWCl5cXsrOzERsbi9zcXAwbNkzsx0FERER6QHRAtGvXLkydOhVTpkxB27ZtIQgCTp8+jc8//xwxMTEoKSnBtGnTMGPGDCxZskStyvXr1w9r1qxBXFwcxo8fD39/fyQkJCAkJESeJz09XaFHaMaMGZBIJJgxYwYyMzNRt25d9OrVC/Pnz5fn+fPPPzFo0CA8ePAAdevWRfv27XHixIlKe56IiIh0QenTYuqcb4gkQkXjSBVo27Yt5s2bh4iICIX0/fv3Y+bMmTh16hR2796NTz/9FDdv3tRoZWuT3Nxc2Nvbw3PxPBhZVtwTBgCmObqxDpFZrm50kyq7DpGuMM/RjfbUOf9A21VQitLrEOkKHWmP3q1DpGElsiIcergJOTk5sLOzq5ZrlP5darIjCsZWqs95lT4txOWB8dVa19pI9F/qixcvltuT4u3tLZ8T1LJlS2RlZalfOyIiIqIaIDogCggIwMKFC1FUVCRPKy4uxsKFCxEQEAAAyMzMhKurq+ZqSURERErhXmaqET2HaOXKlejduzfq16+P5s2bQyKR4MKFC5BKpfjPf/4D4Pnq0B999JHGK0tERESV41NmqhEdEHXo0AF37tzBtm3bcO3aNQiCgLfffhvvvfcebG1tAQBDhgzReEV1WbF9VXud1Ra6MddJV3Z30rc91wRz3dhzTVdwzzXt4FwnqohKv+FsbGwwduxYTdeFiIiI1MSnzFSjUpfA1q1bERISAnd3d9y9excAsGzZMvz8888arRwRERGJ8zwgUmcOkbZboB2iA6LVq1cjMjIS3bt3xz///CPfzNXBwQHLly/XdP2IiIiIqp3oIbMvv/wS69atQ9++fbFw4UJ5elBQECZPnqzRyhEREZE4+r6X2YoVK5TKN378eFHlig6Ibt++jVatWpVJNzc3R35+vtjiiIiISIOE/z/UOb82W7ZsmcLrjIwMuLm5wcTkfyGNRCKp/oDI19cX58+fL7M44y+//FJmZ3oiIiKqWfreQ3T79m2F17a2tjh8+DAaNGigVrmiA6IpU6Zg3LhxKCgogCAIOHXqFL777jvExcVh/fr1alWGiIiISBtEB0QjRoxASUkJoqKi8PTpU7z33nvw8PDAF198gYEDB1ZHHYmIiEhZ+j5mVk1UWofogw8+wAcffIAHDx5AJpPBxcVF0/UiIiIiVai7/UYtHzKrLmotPevs7KypehARERFVKTc3V+G1RCJBXl5emXQ7OztR5SoVELVq1QoSiXIR49mzZ0VVQOfZFQOWxtquReVylVv6n1uMaJpufMvy+G9u1ZkACGbcusPQKL29CMAtRqq6bg3+etX3larr1KmjEJMIgqDw9LsgCJBIJPJ1EpWl1G+4vn37yv9dUFCAVatWoUmTJggODgYAnDhxApcuXeKGrkRERFqm70+ZJScnV0u5SgVEMTEx8n+PHj0a48ePx7x588rkycjI0GztiIiIiF5w9+5dDBgwAObm5hotV/TYw48//oihQ4eWSX///feRkJCgkUoRERGRigSJ+kctNmLECOTk5Gi8XNEBkaWlJY4ePVom/ejRo7CwsNBIpYiIiEg1pXOI1DlqM6GaKih6luTEiRPx4YcfIjU1Fe3btwfwfA7Rxo0bMWvWLI1XkIiIiOhFyj7oJYbogGjatGlo0KABvvjiC3z77bcAgMaNG2Pz5s149913NV5BIiIiEsEAFmYcPnx4lXOIdu7cKapMlZ6jfffdd6sMfr777jv07t0b1tbWqlyCiIiIVKDvT5kBz/cvs7S01GiZ1bawyL/+9S+0a9dO7c3WiIiISCQd6OVRx4oVKzS+S0a1rXBXXZOeiIiIyHBVx/whoBp7iIiIiKjm6fuQWa15yowUWdsVwNiqdveG5Wm7AsriFiNaITOr5VvPADAqUn4Jfm4xYnh0YosRWU3u3QG9nlSdnJwMBwcHXL9+HcXFxWjUqBFMTNT/f68bv7GJiIiIAHh7eyMoKAgBAQEIDAxEw4YNNbKPKgMiIiIivSLRwFF7TZ06FQUFBdi6dSt+/PFHuLm5YezYsWqXW219y97e3jA11Y3dj4mIiPSGng+Z/frrr/juu+8QFhYGAGjbti28vb3x7NkztR7Fr7Yeoj/++AOenp7VVTwREREZoHv37iEgIED+un79+rC0tMTff/+tVrlK9RA5ODgo/Zjbo0eP1KoQERERqUHPe4gkEgmMjBT7c4yMjNR++kypgGj58uVqXYSIiIhqiLo71uvAY/eNGjVS6KjJy8tDq1atFAIlsR00SgVEw4YNE1UoERERUXXYtGlTtZSr1qTqZ8+eobhYcf0HOzs7tSpEREREqhOE54c659dm1dVJI3pSdX5+Pj7++GO4uLjAxsYGDg4OCgcRERFpkaCBoxY7deoUpNL/Ldb68tyhwsJC/PDDD6LLFR0QRUVF4b///S9WrVoFc3NzrF+/HnPmzIG7uzu2bNkiugJERESkQaVziNQ5arHg4GA8fPhQ/tre3h63bt2Sv378+DEGDRokulzRQ2Z79uzBli1b0KlTJ4wcORIdO3ZEw4YN4e3tje3bt2Pw4MGiK6HLXGzyYGItYtl4qpDObDGipGJobx0unz3Kb3WhC1t36ApuMUIVEaS6suVQ7fdyj1B5T5ep8sSZ6B6iR48ewdfXF8Dz+UKls7hDQkJw5MgR0RUgIiIizZEI6h+6Ttmlgl4kOiBq0KAB7ty5AwBo0qSJfJxuz549qFOnjugKEBERkQbp+Ryi6iK6z3bEiBH4/fffERYWhunTp6Nnz5748ssvUVJSgqVLl1ZHHYmIiIjkLl++jHv37gF4Pjx25coV5OU9n3jx4MEDlcoUHRBNmjRJ/u/w8HBcuXIFZ86cgZ+fH1q0aKFSJYiIiEhD9HxhRgDo3LmzwjyhN998E8DzoTJBEFQaMlN7Vp+Xlxe8vLzULYaIiIg0Qc+37rh9+3a1lKtSQHTq1CmkpKQgOzsbMpnizHkOmxERERmWI0eOYPHixUhNTUVWVhZ27dqFvn37Vpg/JSUF4eHhZdLT0tIUNm4tj7e3t7rVLZfogGjBggWYMWMG/P394erqqtAtpUoXFREREWmQFnqI8vPz0aJFC4wYMQJvvfWW0uddvXpVYYeLunXrKn3u9evX8fPPP+POnTuQSCTw9fVF37590aBBA1F1LyU6IPriiy+wceNGDB8+XKULEhERUTXSQkDUvXt3dO/eXfR5Li4uKj2hHhcXh1mzZkEmk8HFxQWCIOD+/fuYNm0aFixYgMmTJ4suU/Rj90ZGRnjttddEX4iIiIh0R25ursJRWFio8Wu0atUKbm5u6Ny5M5KTk5U6Jzk5GTNmzEB0dDQePHiArKws3Lt3Tx4QTZs2TaV1EUUHRJMmTcLKlStFX4iIiIhqgIa27vD09IS9vb38iIuL01gV3dzcsHbtWiQkJGDnzp3w9/dH586dlQpk1qxZg9GjR2P27NkKe6g6Ojpi7ty5GDlyJFavXi26TqKHzCZPnoyePXvCz88PTZo0gamp4vYEO3fuFF0JXeZl/Q/MbMy0XQ2qIXk5lspnttPeli4yUzHbcYj+XkQ6TtktRri9iOYIUuW3dVGXuqtNl56bkZGhML/H3NxczZr9j7+/P/z9/eWvg4ODkZGRgSVLliA0NLTSc0+dOoWtW7dW+P6QIUMwdOhQ0XUS/dP+ySefIDk5GeHh4XBycuJEaiIiotpEQ3OI7OzsFAKi6ta+fXts27atynx///03fHx8Knzf19dXvmijGKIDoi1btiAhIQE9e/YUfTEiIiKi8pw7dw5ubm5V5isoKICZWcUjM6ampigqKhJ9fdEBkaOjI/z8/ERfiIiIiPRTXl4ebty4IX99+/ZtnD9/Ho6OjvDy8sL06dORmZmJLVu2AACWL18OHx8fNG3aFEVFRdi2bRsSEhKQkJCg1PXWr18PGxubct978uSJSm0QHRDNnj0bMTEx2LRpE6ysrFS6aHni4uLw2WefYcKECVi+fLk8PS0tDVOnTsXhw4chk8nQtGlT/PDDD5Wujr18+XKsXr0a6enpcHZ2xttvv424uDhYWFjI86xatQqLFy9GVlYWmjZtiuXLl6Njx44aaw8REZE2SKDmHCIVzjlz5ozCQouRkZEAgGHDhmHz5s3IyspCenq6/P2ioiJMnjwZmZmZsLS0RNOmTbF371706NGjymt5eXlh3bp1VeYRS3RAtGLFCty8eROurq7w8fEpM6n67Nmzoitx+vRprF27Fs2bN1dIv3nzJkJCQjBq1CjMmTMH9vb2SEtLUwhsXrZ9+3ZMmzYNGzduRIcOHXDt2jX5mknLli0DAHz//feYOHEiVq1ahddeew1ff/01unfvjsuXL3MbEiIiIpE6deqksLfYyzZv3qzwOioqClFRUSpd686dOyqdVxXRAVFlS3GrIi8vD4MHD8a6desQGxur8F50dDR69OiB+Ph4eVpVK1AeP34cr732Gt577z0AgI+PDwYNGoRTp07J8yxduhSjRo3C6NGjATzvUdq/fz9Wr16t0ccKiYiIapwBbO4qRmBgIPbt2wdPT89K84kOiGJiYlSuVHnGjRuHnj17okuXLgoBkUwmw969exEVFYWIiAicO3cOvr6+mD59eqVBWUhICLZt24ZTp06hbdu2uHXrFvbt24dhw4YBeN5Nl5qaimnTpimc17VrVxw7dqzCcgsLCxUWpcrNzVWxxURERNVIzzd3FevOnTsoLq56GRStLkCyY8cOnD17ttxemezsbOTl5WHhwoXo1q0bkpKS0K9fP/Tv3x+HDx+usMyBAwdi3rx5CAkJgampKfz8/BAeHi4PgB48eACpVApXV1eF81xdXSt9TC8uLk5hgaqqIk0iIiLSHUr1EDk6OuLatWtwdnaGg4NDpWsPPXr0SKkLZ2RkYMKECUhKSip3TpBMJgMA9OnTB5MmTQIAtGzZEseOHcOaNWsQFhZWbrkpKSmYP38+Vq1ahXbt2uHGjRuYMGEC3NzcMHPmTHm+l9sgCEKl7Zo+fbp8khjwvIeIQREREdU67CFSiVIB0bJly2Brayv/tyYWY0xNTUV2djZat24tT5NKpThy5Ai++uor5Ofnw8TEBE2aNFE4r3Hjxjh69GiF5c6cORNDhgyRzw8KDAxEfn4+xowZg+joaDg7O8PY2LhMb1B2dnaZXqMXmZuba3SVTiIiouqgqZWqDY1SAVHp/BsAGtvlvnPnzrh48aJC2ogRIxAQEICpU6fC3Nwcbdq0wdWrVxXyXLt2Dd7e3hWW+/TpUxgZKY4EGhsbQxAECIIAMzMztG7dGgcOHEC/fv3keQ4cOIA+ffpooGVERESka0RPqt63bx+MjY0RERGhkJ6UlASpVIru3bsrVY6trS2aNWumkGZtbQ0nJyd5+pQpUzBgwACEhoYiPDwciYmJ2LNnD1JSUuTnDB06FB4eHvJ5SL169cLSpUvRqlUr+ZDZzJkz0bt3bxgbP9/fKTIyEkOGDEFQUBCCg4Oxdu1apKenY+zYsWI/DjSwug8LK9OqM2rYjacuSuf1sVFuGJNqP/tvlF1GX6Z0mTJTXXiihPutUcV04adDkJbU4MXAITMViA6Ipk2bhoULF5ZJl8lkmDZtmtIBkTL69euHNWvWIC4uDuPHj4e/vz8SEhIQEhIiz5Oenq7QIzRjxgxIJBLMmDEDmZmZqFu3Lnr16oX58+fL8wwYMAAPHz7E3LlzkZWVhWbNmmHfvn2V9jwRERHpBD0PiG7cuIGGDRsqnf/rr7+udEpMKYlQ2UpK5bC0tERaWlqZjdXu3LmDpk2bIj8/X0xxOis3Nxf29vaYdaILLGxqdw+RrriT56jtKlTp7yflLxVfU5TtITIuUr6HSBcYFdfy39D/z0hHPndld7vXFbrQnhJpAZLPLkROTk61bZha+nfJd+58GFWygHFVZAUFuD0rulrrqg4jIyN4eHggPDxcflS22avS5Yo9wd7eHrdu3SqTfuPGDVhbW6tdISIiIqKKHD58GP/617/w119/4eOPP4afnx98fX0xatQobNu2DZmZmSqVKzog6t27NyZOnIibN2/K027cuIFPP/0UvXv3VqkSREREpCGlK1Wrc9RiHTt2xIwZM3Dw4EE8fvwYycnJGDFiBG7fvo0xY8bAy8sL/v7+ossVPYdo8eLF6NatGwICAlC/fn0AwJ9//omOHTtiyZIloitAREREGqTnc4heZGpqitDQULRp0wbBwcHYv38/1q1bhxs3boguS3RAZG9vj2PHjuHAgQP4/fffYWlpiebNmyM0NFT0xYmIiIjEKigowLFjx5CcnIyUlBScPn0avr6+CAsLw+rVqytcvLkyogMi4Pkqz127dkVoaCjMzc01slAjERERqU/fF2YMCwvD6dOn4efnh9DQUHzyyScICwtT6kmyyoieQySTyTBv3jx4eHjAxsYGt2/fBvB8hegNGzaoVRkiIiJSk6CBoxY7duwYnJ2dER4ejs6dO+P1119XOxgCVAiIYmNjsXnzZsTHx8PMzEyeHhgYiPXr16tdISIiIqKKPH78GGvXroWVlRUWLVoEDw8PBAYG4uOPP8ZPP/2E+/fvq1Su6IBoy5YtWLt2LQYPHixf+RkAmjdvjitXrqhUCSIiItIQ4X/DZqoctb2HyNraGt26dcPChQtx8uRJPHjwAPHx8bCyskJ8fDzq169fZicMZYieQ5SZmVnuCpEymQzFxcWiK6Dr/M2zYGVhXHVGA8UtRjTrqam9kjl1YTMD5ReQ1I3tRQBd+dx1hbILLsrMav/vYFlJDdbRgJ4yA54HSI6OjnB0dISDgwNMTEyQlpYmuhzRAVHTpk3x66+/ltnm4scff0SrVq1EV4CIiIhIWTKZDGfOnEFKSgqSk5Px22+/IT8/X7569cqVKxEeHi66XNEBUUxMDIYMGYLMzEzIZDLs3LkTV69exZYtW/Cf//xHdAWIiIhIg/S8h6hOnTrIz8+Hm5sbOnXqhKVLlyI8PBx+fn5qlSs6IOrVqxe+//57LFiwABKJBLNmzcKrr76KPXv24I033lCrMkRERKQefX/sfvHixQgPD0ejRo00Wq5K6xBFREQgIiJCoxUhIiIiqsq//vUv+b8fP36MGzduQCKRwM/PD3Xq1FG5XM4AJCIiIp1y584d9OzZE87OzmjXrh3atm0LZ2dnvPnmm7hz545KZSrVQ+Tg4KD0atSPHvFJISIiIq3R8zlEGRkZaN++PUxNTTFv3jw0btwYgiAgLS0Nq1evRnBwME6fPi3fb1VZSgVEy5cvl//74cOHiI2NRUREBIKDgwEAx48fx/79+zFz5kxRFyciIiLN0vc5RDExMfD398f+/fthYWEhT+/Xrx8mTZqEbt26ISYmRvTuGUoFRMOGDZP/+6233sLcuXPx8ccfy9PGjx+Pr776CgcPHsSkSZNEVYCIiIhIWYmJifjhhx8UgqFSlpaWmDdvHgYOHCi6XNFziPbv349u3bqVSY+IiMDBgwdFV4CIiIg0TE/3MQOej1T5+PhU+H6DBg3w8OFD0eWKDoicnJywa9euMum7d++Gk5OT6AoQERGRBun55q7u7u64dOlShe//8ccfcHNzE12u6Mfu58yZg1GjRiElJUU+h+jEiRNITEw0yM1dG5k9gI0ZH9bTdcpuMVId24tcXBGofGZTZTNyqwtN4hYjVBlltxghzejTpw+mTJmCV199FXXr1lV4Lzs7G1OnTkXfvn1Flys6IBo+fDgaN26MFStWYOfOnRAEAU2aNMFvv/2Gdu3aia4AERERaY4hTKret28f/Pz88P777yMgIAAAcPnyZXz77beoV68eZs2aJbpclRZmbNeuHbZv367KqURERFSd9PyxewcHB5w8eRKfffYZduzYgcePHwN4vqXHe++9h/nz58PR0VF0uUoFRLm5ubCzs1O60CdPnsDW1lZ0ZYiIiIiq4uDggNWrV2PVqlW4f/8+AKBu3bpKr5lYHqUGkh0cHJCdna10oR4eHrh165bKlSIiIiLVlA6ZqXPoColEAhcXF7i4uKgVDAFK9hAJgoD169fDxsZGqUKLi4vVqhQRERGpSM+HzMLDw6sMfiQSCQ4dOiSqXKUCIi8vL6xbt07pQuvVqwdTU6UfhyEiIiJN0fOAqGXLlhW+l5ubi++++w6FhYWiy1UqIFJ1ozQiIiIiTVq2bFmZtJKSEqxcuRLz58+Hh4cH5s2bJ7pclZ4yIyIiotpJ3x+7f9n27dsxa9YsPHv2DLNnz8aYMWNgYiI+vGFAREREpE/0fMisVGJiIqZNm4bbt29j8uTJiIyMhLW1tcrlMSAiIiIinXHq1ClMnToVJ06cwNixY3Hw4EE4OzurXS4DIjU1NLWGnanmlsG/VpyvVL4As/sauyZp1+8itnswKlbuq5tUZ55p4FYXmsQtRmovmZFxzV1Mz3uI2rdvD0tLS3z44Yfw8fHBt99+W26+8ePHiyqXAREREZEe0fc5RF5eXpBIJOVuNF9KIpHUTED066+/4uuvv8bNmzfx008/wcPDA1u3boWvry9CQkJUKZKIiIioStX15Lvo/siEhARERETA0tIS586dkz/r/+TJEyxYsEDjFSQiIiIRBA0ctdjJkyfxyy+/KKRt2bIFvr6+cHFxwZgxY1Rah0h0QBQbG4s1a9Zg3bp1CosvdujQAWfPnhVdASIiItIcfd+6IyYmBhcuXJC/vnjxIkaNGoUuXbpg2rRp2LNnD+Li4kSXKzogunr1KkJDQ8uk29nZyXecJSIiIqoOv//+Ozp37ix/vWPHDrRr1w7r1q1DZGQkVqxYgR9++EF0uaIDIjc3N9y4caNM+tGjR9GgQQPRFSAiIiIN0vMhs3/++Qeurq7y14cPH0a3bt3kr9u0aYOMjAzR5YoOiP71r39hwoQJOHnyJCQSCf766y9s374dkydPxkcffSS6AkRERKRBeh4Qubq64vbt2wCAoqIinD17FsHBwfL3nzx5otJ+qqKfMouKikJOTg7Cw8NRUFCA0NBQmJubY/Lkyfj4449FV4CIiIg0RwL1Vviq7atUdevWDdOmTcOiRYuwe/duWFlZoWPHjvL3L1y4AD8/P9HlqvTY/fz58xEdHY3Lly9DJpOhSZMmsLGxUaUoIiIiIqXFxsaif//+CAsLg42NDb755huYmZnJ39+4cSO6du0qulyVF2a0srJCUFCQqqcTERFRddDzlarr1q2LX3/9FTk5ObCxsYGxseIq4D/++KNKnTRKBUT9+/dXusCdO3eKroQuy5E9gyDT3PLyjUxV35iuJnGLkarNjR+mXEZRQ921vTNb+e1FAG4xonm1f6sLZbcXAfRrixGZUc3dG31fqbqUvb19uemOjo4qlafUHbK3t5cfdnZ2OHToEM6cOSN/PzU1FYcOHaqwckRERES1mVI9RJs2bZL/e+rUqXj33XexZs0aeTeVVCrFRx99BDs7u+qpJRERESlHz4fMqovoPryNGzdi8uTJCmN2xsbGiIyMxMaNGzVaOSIiIlKBnj5yX51EB0QlJSVIS0srk56WlgaZTPmxYSIiIqLaQvRTZiNGjMDIkSNx48YNtG/fHgBw4sQJLFy4ECNGjNB4BYmIiEh5hjKpWtNEB0RLlixBvXr1sGzZMmRlZQF4vp1HVFQUPv30U41XkIiIiETgHCKViA6IjIyMEBUVhaioKOTm5gIAJ1MTERGRTlN5YUaAgRAREVFtwyEz1YgOiHx9fSGRVLxY1q1bt9SqEBEREamBQ2YqEf2U2cSJEzFhwgT58dFHHyE4OBg5OTkYM2aMyhWJi4uDRCLBxIkTFdLT0tLQu3dv2Nvbw9bWFu3bt0d6enqF5XTq1AkSiaTM0bNnT3me2bNnl3m/Xr16KtediIiotijtIVLnMESie4gmTJhQbvrKlSsVVq8W4/Tp01i7di2aN2+ukH7z5k2EhIRg1KhRmDNnDuzt7ZGWlgYLC4sKy9q5cyeKiorkrx8+fIgWLVrgnXfeUcjXtGlTHDx4UP765b1QiIiIyHCoNYfoRd27d8f06dMVVrVWRl5eHgYPHox169YhNjZW4b3o6Gj06NED8fHx8rQGDRpUWt7Le5js2LEDVlZWZQIiExMTjfQK/SOVokSqyXD6mQbLqj66suea8jS/55q0WvZh0oWvbrqx/xT3XNOW2r/fGiBuzzWLE9eqzFMiFFWZR2O0MGR25MgRLF68GKmpqcjKysKuXbvQt2/fSs85fPgwIiMjcenSJbi7uyMqKgpjx45Vrc4aoLGfzJ9++kmlDdXGjRuHnj17okuXLgrpMpkMe/fuRaNGjRAREQEXFxe0a9cOu3fvFlX+hg0bMHDgQFhbK/4Bv379Otzd3eHr64uBAwdy7hMREekHdVapVjGYys/PR4sWLfDVV18plf/27dvo0aMHOnbsiHPnzuGzzz7D+PHjkZCQIP7iGiK6h6hVq1YKk6oFQcC9e/dw//59rFq1SlRZO3bswNmzZ3H69Oky72VnZyMvLw8LFy5EbGwsFi1ahMTERPTv3x/JyckICwursvxTp07hjz/+wIYNGxTS27Vrhy1btqBRo0b4+++/ERsbiw4dOuDSpUtwcnIqt6zCwkIUFhbKX5cuOUBERGTounfvju7duyudf82aNfDy8sLy5csBAI0bN8aZM2ewZMkSvPXWW9VUy8qJDoj69OmjEBAZGRmhbt266NSpEwICApQuJyMjAxMmTEBSUlK5c4JKtwHp06cPJk2aBABo2bIljh07hjVr1igVEG3YsAHNmjVD27ZtFdJfvGmBgYEIDg6Gn58fvvnmG0RGRpZbVlxcHObMmaN0+4iIiLRBU4/dv/zF39zcHObm5mrU7H+OHz+Orl27KqRFRERgw4YNKC4uhqlpzY9Tiw6IZs+erZELp6amIjs7G61bt5anSaVSHDlyBF999RXy8/NhYmKCJk2aKJzXuHFjHD16tMrynz59ih07dmDu3LlV5rW2tkZgYCCuX79eYZ7p06crBEu5ubnw9PSssmwiIqIapaE5RC//jYuJidFYDHDv3j24uroqpLm6uqKkpAQPHjyAm5ubRq4jhuiAyNjYGFlZWXBxcVFIf/jwIVxcXCCVSpUqp3Pnzrh48aJC2ogRIxAQEICpU6fC3Nwcbdq0wdWrVxXyXLt2Dd7e3lWW/8MPP6CwsBDvv/9+lXkLCwuRlpaGjh07VphHk5ExERFRbZeRkaGwALOm/wa+vKahIAjlptcU0QFRaYVfVlhYCDMzM6XLsbW1RbNmzRTSrK2t4eTkJE+fMmUKBgwYgNDQUISHhyMxMRF79uxBSkqK/JyhQ4fCw8MDcXFxCmVt2LABffv2LXdO0OTJk9GrVy94eXkhOzsbsbGxyM3NxbBhw5SuPxERUW0kEQRIKvhbrez5wPPdKKprR4p69erh3r17CmnZ2dkwMTGpcC5vdVM6IFqxYgWA55Hb+vXrYWNjI3+vdKhLzBwiZfTr1w9r1qxBXFwcxo8fD39/fyQkJCAkJESeJz09HUZGig/LXbt2DUePHkVSUlK55f75558YNGgQHjx4gLp166J9+/Y4ceKEUj1PREREtZoOrFQdHByMPXv2KKQlJSUhKChIK/OHABEB0bJlywA87yFas2aNwkKGZmZm8PHxwZo1a9SqzIs9P6VGjhyJkSNHijqnUaNGFfZkAc+fbiMiIiLNyMvLw40bN+Svb9++jfPnz8PR0RFeXl6YPn06MjMzsWXLFgDA2LFj8dVXXyEyMhIffPABjh8/jg0bNuC7777TVhOUD4hu374NAAgPD8fOnTvh4OBQbZUiIiIi1Whjc9czZ84gPDxc/rr0IaRhw4Zh8+bNyMrKUth2y9fXF/v27cOkSZOwcuVKuLu7Y8WKFVp75B5QYQ5RcnJyddSDiIiINEELQ2adOnWqdGRm8+bNZdLCwsJw9uxZ8RerJkoFRJGRkZg3bx6sra0rXKen1NKlSzVSMV3xj8wMxTJNLkVfg8u7q6X2bzFib2SpdF5ltyJpsegj5StQLcPgurA1gy5sLwLoxmepj1uM6MbnLmYjh8oCATF5NEUbPUT6QKmA6Ny5cyguLgYAnD17VmuPxBERERFVB6UCoheHycqbxExERES1hA48ZVYbiR7rGTlyJJ48eVImPT8/v9KnwYiIiKj6lQ6ZqXMYItEB0TfffINnz8rOH3n27Jn8cToiIiIiXaL0U2a5ubkQBAGCIODJkycKG7JKpVLs27evzHYeREREVMM4ZKYSpQOiOnXqQCKRQCKRoFGjRmXel0gk3A2eiIioFjDUYS91KB0QJScnQxAEvP7660hISICjo6P8PTMzM3h7e8Pd3b1aKklERERUnZQOiMLCwgA8X7Ha09OzzP5hREREVAsIwvNDnfMNkOiVqks3QH369CnS09NRVKS4kGDz5s01UzMiIiISjQszqkZ0QHT//n2MGDECv/zyS7nvS6VStStFREREVJNEB0QTJ07EP//8gxMnTiA8PBy7du3C33//jdjYWHz++efVUcda7ZHUCoVS40rzOBnnK1+ezEzdKtUQXdhiRPPbixgVa7xIyERstyAmr/boykr2uvI1WDc+T2W3GNGN7UUAu71/aLZAQabZ8iq9FviUmQpEB0T//e9/8fPPP6NNmzYwMjKCt7c33njjDdjZ2SEuLg49e/asjnoSERGREiSy54c65xsi0TOj8/Pz5esNOTo64v79+wCAwMDAWrVrLRERkUESNHAYINEBkb+/P65evQoAaNmyJb7++mtkZmZizZo1cHNz03gFiYiIiKqbSnOIsrKyAAAxMTGIiIjA9u3bYWZmhs2bN2u6fkRERCQCnzJTjeiAaPDgwfJ/t2rVCnfu3MGVK1fg5eUFZ2dnjVaOiIiIROI6RCoRHRC9zMrKCq+++qom6kJERESkFUoFRJGRkUoXuHTpUpUrQ0REROrhkJlqlAqIzp07p1RhEolurJdBRESkt7gOkUqUCoiSk5Orux5EREREWqP2HCIiIiKqPThkphoGRGr6R2ZT5dYdukL/thhRfnuRd2KnKJXPuFr6knVjqFnZbUN0Y3sRQFc+d90Zv9CNz1PZLUY0/qRVTT65xafMVCJ6YUYiIiIifcMeIiIiIj3CITPVMCAiIiLSJ3zKTCUMiIiIiPQIe4hUwzlEREREZPDYQ0RERKRPZMLzQ53zDRADIiIiIn3COUQq4ZAZERERGTz2EBEREekRCdScVK2xmugWBkRERET6hCtVq4QBkZpypJYokvJjrEnKbjEiZnsRo2JVa6MJuvLLRze+N3KLEW3RjZ9jpx8uaLsKVEvxLzkREZEe4TpEqmFAREREpE/4lJlK+JQZERERGTz2EBEREekRiSBAosbEaHXO1WUMiIiIiPSJ7P8Pdc43QAyIiIiI9Ah7iFTDOURERERk8NhDREREpE/4lJlKGBARERHpE65UrRIOmREREZHBYw8RERGRHuFK1aphQFQDHkuttF0FgzQrZpTSeY2qYdBcZqrcHlTa3UdNDF35Lakbe39xzzUtkWnpmXKhBq/LITOVcMiMiIiIDB57iIiIiPSIRPb8UOd8Q8SAiIiISJ9wyEwlHDIjIiIig1drAqK4uDhIJBJMnDhRIT0tLQ29e/eGvb09bG1t0b59e6Snp1dYTqdOnSCRSMocPXv2VMi3atUq+Pr6wsLCAq1bt8avv/5aHc0iIiKqWYIGDgNUKwKi06dPY+3atWjevLlC+s2bNxESEoKAgACkpKTg999/x8yZM2FhYVFhWTt37kRWVpb8+OOPP2BsbIx33nlHnuf777/HxIkTER0djXPnzqFjx47o3r17pYEWERGRLijdy0ydwxBpPSDKy8vD4MGDsW7dOjg4OCi8Fx0djR49eiA+Ph6tWrVCgwYN0LNnT7i4uFRYnqOjI+rVqyc/Dhw4ACsrK4WAaOnSpRg1ahRGjx6Nxo0bY/ny5fD09MTq1aurrZ1EREQ1onQOkTqHAdJ6QDRu3Dj07NkTXbp0UUiXyWTYu3cvGjVqhIiICLi4uKBdu3bYvXu3qPI3bNiAgQMHwtraGgBQVFSE1NRUdO3aVSFf165dcezYsQrLKSwsRG5ursJBRERE+kGrAdGOHTtw9uxZxMXFlXkvOzsbeXl5WLhwIbp164akpCT069cP/fv3x+HDh5Uq/9SpU/jjjz8wevRoedqDBw8glUrh6uqqkNfV1RX37t2rsKy4uDjY29vLD09PTyVbSUREVIMEADI1DsPsINLeY/cZGRmYMGECkpKSyp0TJPv/1UT79OmDSZMmAQBatmyJY8eOYc2aNQgLC6vyGhs2bECzZs3Qtm3bMu9JJIqrqgqCUCbtRdOnT0dkZKT8dW5uLoMiIiKqddSdB2Soc4i0FhClpqYiOzsbrVu3lqdJpVIcOXIEX331FfLz82FiYoImTZoonNe4cWMcPXq0yvKfPn2KHTt2YO7cuQrpzs7OMDY2LtMblJ2dXabX6EXm5uYwNzcvk/5PiTWeldTutfUdTfKUyqdvW4wYa31LDN34pcItRrSl9m91IWbbEG1uMeK26ozSeQUj7XzuBhpj6BStDZl17twZFy9exPnz5+VHUFAQBg8ejPPnz8Pc3Bxt2rTB1atXFc67du0avL29qyz/hx9+QGFhId5//32FdDMzM7Ru3RoHDhxQSD9w4AA6dOigfsOIiIi0SYCak6q13QDt0FoPka2tLZo1a6aQZm1tDScnJ3n6lClTMGDAAISGhiI8PByJiYnYs2cPUlJS5OcMHToUHh4eZeYhbdiwAX379oWTk1OZa0dGRmLIkCEICgpCcHAw1q5di/T0dIwdO1bzDSUiIqpJXKlaJbV6645+/fphzZo1iIuLw/jx4+Hv74+EhASEhITI86Snp8PISLGj69q1azh69CiSkpLKLXfAgAF4+PAh5s6di6ysLDRr1gz79u1TqueJiIiI9E+tCohe7PkpNXLkSIwcOVLUOY0aNYJQRYT70Ucf4aOPPhJbRSIiotpNBvWmqBno5q5aX4eIiIiINEdbK1WL2RIrJSWl3G22rly5omqz1VareoiIiIhITVqYQ1S6JdaqVavw2muv4euvv0b37t1x+fJleHl5VXje1atXYWdnJ39dt25dlaqsCewhIiIiIrWouiWWi4uLwnZbxsbGNVTjshgQERER6RMN7WX28nZVhYWF5V5O1S2xAKBVq1Zwc3ND586dkZycrJn2q4gBERERkT7RUEDk6empsGVVedtsAaptieXm5oa1a9ciISEBO3fuhL+/Pzp37owjR45o9rMQgXOIiIiIqIyMjAyF+T3l7dbwIjFbYvn7+8Pf31/+Ojg4GBkZGViyZAlCQ0PVqLXqGBCp6XGJFcxr+dYd+mZ79JtK5TPS+nKrtX9rhue0/TlVTdntRQBuMaJZuvIzLIJMS597TS52qKHH7u3s7BQCooqouiXWy9q3b49t27aJqqomcciMiIhIj9T0Y/ea2hLr3LlzcHNzE3VtTWIPEREREamlqi2xpk+fjszMTGzZsgUAsHz5cvj4+KBp06YoKirCtm3bkJCQgISEBK21gQERERGRPtHCOkRVbYmVlZWF9PR0ef6ioiJMnjwZmZmZsLS0RNOmTbF371706NFD9XqriQERERGRPpEJgESNgEjFeVaVbYm1efNmhddRUVGIiopS6TrVhXOIiIiIyOCxh4iIiEifaGHITB8wICIiItIragZEOrEkhOYxICIiItIn7CFSCecQERERkcFjDxEREZE+kQlQa9hLW6t5axkDIjXlFFvCrNhM29XQC6dnBimVz7h0XflaT1c6YHVhewbd+AWtf1uMaPdzd9pwSrmMRjrwMyzU4O8tQabe9WqyrrWIrvzGJiIiIqo27CEiIiLSJ5xUrRIGRERERPqEc4hUwiEzIiIiMnjsISIiItInHDJTCQMiIiIifSJAzYBIYzXRKRwyIyIiIoPHHiIiIiJ9wiEzlTAgIiIi0icyGaDOArYyw1yYkQERERGRPmEPkUo4h4iIiIgMHnuI1JRbYgFT7mWmEUbFtf9biZi9qoyLdKXbWRe+F+nAXlUAdOXxHGV/jrW+35qSe2oJstr/MyzUZK8Le4hUwoCIiIhIn3ClapXU/rCaiIiIqJqxh4iIiEiPCIIMgpLDjRWdb4gYEBEREekTQVBv2MtA5xBxyIyIiIgMHnuIiIiI9Img5qRqA+0hYkBERESkT2QyQKLGPCADnUPEITMiIiIyeOwhIiIi0iccMlMJAyIiIiI9IshkENQYMuNj96SS/GIzmBSb1/h1bUwLlc6bU2xRjTWp3OOo+krnNTLThf+EujHKrH9bjOjG584tRqpmv/2E8pklSn6euvAHvCbryB4ilejKbxkiIiKiasMeIiIiIn0iEwAJe4jEYkBERESkTwQBgDqP3RtmQMQhMyIiIjJ47CEiIiLSI4JMgKDGkJlgoD1EDIiIiIj0iSCDekNmOvDUXjXgkBkREREZPPYQERER6REOmamGAREREZE+4ZCZShgQqag0gi55WqSV6xebaue6YpWUFCidV2ZkXI010QyZkW6MMst0ZsVk5Ugl/Nw1SabFDoASoVhEbt34PJVR2u6a6H0pQbFaC1WXQMw90h8MiFT05MkTAMDhdzZpuSZERHpKD0dunjx5Ant7+2op28zMDPXq1cPRe/vULqtevXowMzPTQK10h0Qw1MFCNclkMvz111+wtbWFRNn9dqpBbm4uPD09kZGRATs7O63Vo7qxnfqF7dQvbGfVBEHAkydP4O7uDqNq7GkuKChAUZH6IwhmZmawsNDePpjawB4iFRkZGaF+feU3Lq1udnZ2ev2LqBTbqV/YTv3CdlauunqGXmRhYWFwgYym6MbAPBEREVE1YkBEREREBo8BkY4zNzdHTEwMzM3NtV2VasV26he2U7+wnaQPOKmaiIiIDB57iIiIiMjgMSAiIiIig8eAiIiIiAweAyIiIiIyeAyItOjIkSPo1asX3N3dIZFIsHv3boX3d+7ciYiICDg7O0MikeD8+fNKlZuQkIAmTZrA3NwcTZo0wa5duxTenz17NiQSicJRr149DbWqrOpo56VLl/DWW2/Bx8cHEokEy5cvLzffqlWr4OvrCwsLC7Ru3Rq//vqr+g2qgLbaqQ/3c926dejYsSMcHBzg4OCALl264NSpU2Xy6fr9VKad+nA/d+7ciaCgINSpUwfW1tZo2bIltm7dWiafrt9PZdpZ0/eTVMeASIvy8/PRokULfPXVVxW+/9prr2HhwoVKl3n8+HEMGDAAQ4YMwe+//44hQ4bg3XffxcmTJxXyNW3aFFlZWfLj4sWLarWlMtXRzqdPn6JBgwZYuHBhhb9cvv/+e0ycOBHR0dE4d+4cOnbsiO7duyM9PV2ldlRFW+0EdP9+pqSkYNCgQUhOTsbx48fh5eWFrl27IjMzU55HH+6nMu0EdP9+Ojo6Ijo6GsePH8eFCxcwYsQIjBgxAvv375fn0Yf7qUw7gZq9n6QGgWoFAMKuXbvKfe/27dsCAOHcuXNVlvPuu+8K3bp1U0iLiIgQBg4cKH8dExMjtGjRQo3aqk5T7XyRt7e3sGzZsjLpbdu2FcaOHauQFhAQIEybNk1U+aqoyXbq2/0UBEEoKSkRbG1thW+++Uaepm/3UxDKb6c+3k9BEIRWrVoJM2bMkL/Wx/spCGXbqc37SeKwh0jPHD9+HF27dlVIi4iIwLFjxxTSrl+/Dnd3d/j6+mLgwIG4detWTVaz2hUVFSE1NbXMZ9G1a9cyn4U+0Lf7+fTpUxQXF8PR0RGA/t7Pl9tZSp/upyAIOHToEK5evYrQ0FAA+nk/y2tnKX26n/qMAZGeuXfvHlxdXRXSXF1dce/ePfnrdu3aYcuWLdi/fz/WrVuHe/fuoUOHDnj48GFNV7faPHjwAFKptMrPQh/o4/2cNm0aPDw80KVLFwD6ez9fbiegP/czJycHNjY2MDMzQ8+ePfHll1/ijTfeAKBf97OydgL6cz8NAXe710MSiUThtSAICmndu3eX/zswMBDBwcHw8/PDN998g8jIyBqrZ02o6rPQB/p2P+Pj4/Hdd98hJSWlzK7d+nQ/K2qnvtxPW1tbnD9/Hnl5eTh06BAiIyPRoEEDdOrUSZ5HH+5nVe3Ul/tpCBgQ6Zl69eqV+YaVnZ1d5pvYi6ytrREYGIjr169Xd/VqjLOzM4yNjUV/FvpAl+/nkiVLsGDBAhw8eBDNmzeXp+vb/ayoneXR1ftpZGSEhg0bAgBatmyJtLQ0xMXFoVOnTnp1PytrZ3l09X4aAg6Z6Zng4GAcOHBAIS0pKQkdOnSo8JzCwkKkpaXBzc2tuqtXY8zMzNC6desyn8WBAwcq/Sz0ga7ez8WLF2PevHlITExEUFCQwnv6dD8ra2d5dPV+vkwQBBQWFgLQr/v5shfbWR59uZ/6iD1EWpSXl4cbN27IX9++fRvnz5+Ho6MjvLy88OjRI6Snp+Ovv/4CAFy9ehXA816g0kewhw4dCg8PD8TFxQEAJkyYgNDQUCxatAh9+vTBzz//jIMHD+Lo0aPy60yePBm9evWCl5cXsrOzERsbi9zcXAwbNkxn2llUVITLly/L/52ZmYnz58/DxsZG/m0tMjISQ4YMQVBQEIKDg7F27Vqkp6dj7NixetVOfbif8fHxmDlzJr799lv4+PjIew5sbGxgY2MDQD/upzLt1If7GRcXh6CgIPj5+aGoqAj79u3Dli1bsHr1avl19OF+KtPOmr6fpAbtPeBGycnJAoAyx7BhwwRBEIRNmzaV+35MTIy8jLCwMHn+Uj/++KPg7+8vmJqaCgEBAUJCQoLC+wMGDBDc3NwEU1NTwd3dXejfv79w6dIlnWpn6aOxLx9hYWEK1165cqXg7e0tmJmZCa+++qpw+PBhvWunPtxPb2/vKs8RBN2/n8q0Ux/uZ3R0tNCwYUPBwsJCcHBwEIKDg4UdO3aUubau309l2lnT95NUJxEEQVA2eCIiIiLSR5xDRERERAaPAREREREZPAZEREREZPAYEBEREZHBY0BEREREBo8BERERERk8BkRERERk8BgQkd7o1KkTJk6cqFfXHT58OPr27atWGT4+PpBIJJBIJHj8+HGF+TZv3ow6deqoda3qLK+6rjN79my0bNlSY/XRptmzZ8vv9fLly7VdHSKdwoCISE07d+7EvHnz5K99fHxq3R+juXPnIisrC/b29jV2zQEDBuDatWs1dj16vk1EVlYW6tevr+2qEOkc7mVGpCZHR0dtV6FKtra28v2YaoqlpSUsLS1r9Jq1lSAIkEqlMDGp3l+5pXuiGRsbV+t1iPQRe4hIb/3zzz8YOnQoHBwcYGVlhe7du+P69evy90uHWvbv34/GjRvDxsYG3bp1Q1ZWljxPSUkJxo8fjzp16sDJyQlTp07FsGHDFIaxXhwy69SpE+7evYtJkybJhy6A8odlli9fDh8fH/lrqVSKyMhI+bWioqLw8s46giAgPj4eDRo0gKWlJVq0aIGffvpJpc9n8+bN8PLygpWVFfr164eHDx+WybNnzx60bt0aFhYWaNCgAebMmYOSkhL5+48fP8aYMWPg6uoKCwsLNGvWDP/5z3/k5b84lFX6GWzcuBFeXl6wsbHBhx9+CKlUivj4eNSrVw8uLi6YP3++Qh2WLl2KwMBAWFtbw9PTEx999BHy8vJUajMALFy4EK6urrC1tcWoUaNQUFBQJs+mTZvQuHFjWFhYICAgAKtWrVJ4/9ixY2jZsiUsLCwQFBSE3bt3QyKR4Pz58wCAlJQUSCQS7N+/H0FBQTA3N8evv/6q1P27fPkyevToARsbG7i6umLIkCF48OCB/P2ffvoJgYGBsLS0hJOTE7p06YL8/HyVPw8ieo4BEemt4cOH48yZM/j3v/+N48ePQxAE9OjRA8XFxfI8T58+xZIlS7B161YcOXIE6enpmDx5svz9RYsWYfv27di0aRN+++035ObmYvfu3RVec+fOnahfv758iOrF4Koqn3/+OTZu3IgNGzbg6NGjePToEXbt2qWQZ8aMGdi0aRNWr16NS5cuYdKkSXj//fdx+PBh5T8YACdPnsTIkSPx0Ucf4fz58wgPD0dsbKxCnv379+P999/H+PHjcfnyZXz99dfYvHmzPGCRyWTo3r07jh07hm3btuHy5ctYuHBhpb0TN2/exC+//ILExER899132LhxI3r27Ik///wThw8fxqJFizBjxgycOHFCfo6RkRFWrFiBP/74A9988w3++9//IioqSlR7S/3www+IiYnB/PnzcebMGbi5uZUJdtatW4fo6GjMnz8faWlpWLBgAWbOnIlvvvkGAPDkyRP06tULgYGBOHv2LObNm4epU6eWe72oqCjExcUhLS0NzZs3r/L+ZWVlISwsDC1btsSZM2eQmJiIv//+G++++678/UGDBmHkyJFIS0tDSkoK+vfvXyZwJiIVaG9fWSLNCgsLEyZMmCAIgiBcu3ZNACD89ttv8vcfPHggWFpaCj/88IMgCP/b3frGjRvyPCtXrhRcXV3lr11dXYXFixfLX5eUlAheXl5Cnz59yr2uIDzf0XzZsmUKdYuJiRFatGihkLZs2TLB29tb/trNzU1YuHCh/HVxcbFQv359+bXy8vIECwsL4dixYwrljBo1Shg0aFCFn0t59Rk0aJDQrVs3hbQBAwYI9vb28tcdO3YUFixYoJBn69atgpubmyAIgrB//37ByMhIuHr1arnX3bRpk0J5MTExgpWVlZCbmytPi4iIEHx8fASpVCpP8/f3F+Li4ipszw8//CA4OTlVeJ3KBAcHC2PHjlVIa9euncK98fT0FL799luFPPPmzROCg4MFQRCE1atXC05OTsKzZ8/k769bt04AIJw7d04QhP/trL579255HmXu38yZM4WuXbsqvJ+RkSEAEK5evSqkpqYKAIQ7d+5U2s7y7jkRVY5ziEgvpaWlwcTEBO3atZOnOTk5wd/fH2lpafI0Kysr+Pn5yV+7ubkhOzsbAJCTk4O///4bbdu2lb9vbGyM1q1bQyaTabS+OTk5yMrKQnBwsDzNxMQEQUFB8m//ly9fRkFBAd544w2Fc4uKitCqVStR10tLS0O/fv0U0oKDg5GYmCh/nZqaitOnTysMYUmlUhQUFODp06c4f/486tevj0aNGil9XR8fH9ja2spfu7q6wtjYGEZGRgpppfcAAJKTk7FgwQJcvnwZubm5KCkpQUFBAfLz82FtbS263WPHji3T7uTkZADA/fv3kZGRgVGjRuGDDz6Q5ykpKZFPSL969SqaN28OCwsL+fsv/oy8KCgoSP5vZe5famoqkpOTYWNjU6asmzdvomvXrujcuTMCAwMRERGBrl274u2334aDg4OYj4GIysGAiPSSUMEQgiAI8nk9AGBqaqrwvkQiKXPui/krK7syRkZGZc57cehOGaVB2N69e+Hh4aHwnrm5uaiylGmDTCbDnDlz0L9//zLvWVhYqDRhurzPu7y00rbevXsXPXr0wNixYzFv3jw4Ojri6NGjGDVqlOjPTxml1123bp1CMA1APhT48s9QaVp5XgzYlLl/MpkMvXr1wqJFi8qU5ebmBmNjYxw4cADHjh1DUlISvvzyS0RHR+PkyZPw9fUV01QiegnnEJFeatKkCUpKSnDy5El52sOHD3Ht2jU0btxYqTLs7e3h6uqKU6dOydOkUinOnTtX6XlmZmaQSqUKaXXr1sW9e/cU/nCWTsAtvZabm5vC3JmSkhKkpqYqtMnc3Bzp6elo2LChwuHp6alUm14s68VrASjz+tVXX8XVq1fLXKthw4YwMjJC8+bN8eeff1bro/VnzpxBSUkJPv/8c7Rv3x6NGjXCX3/9pXJ5jRs3rrTdrq6u8PDwwK1bt8q0uTTgCAgIwIULF1BYWKhQz6ooc/9effVVXLp0CT4+PmXylAZXEokEr732GubMmYNz587BzMyszFwzIhKPPUSkl1555RX06dMHH3zwAb7++mvY2tpi2rRp8PDwQJ8+fZQu55NPPkFcXBwaNmyIgIAAfPnll/jnn3/K9BC8yMfHB0eOHMHAgQNhbm4OZ2dndOrUCffv30d8fDzefvttJCYm4pdffoGdnZ38vAkTJmDhwoV45ZVX0LhxYyxdulRhIUVbW1tMnjwZkyZNgkwmQ0hICHJzc3Hs2DHY2Nhg2LBhSrdr/Pjx6NChA+Lj49G3b18kJSUpDJcBwKxZs/Dmm2/C09MT77zzDoyMjHDhwgVcvHgRsbGxCAsLQ2hoKN566y0sXboUDRs2xJUrVyCRSNCtWzel61IZPz8/lJSU4Msvv0SvXr3w22+/Yc2aNSqXN2HCBAwbNgxBQUEICQnB9u3bcenSJTRo0ECeZ/bs2Rg/fjzs7OzQvXt3FBYW4syZM/jnn38QGRmJ9957D9HR0RgzZgymTZuG9PR0LFmyBEDZ3sQXKXP/xo0bh3Xr1mHQoEGYMmUKnJ2dcePGDezYsQPr1q3DmTNncOjQIXTt2hUuLi44efIk7t+/r3SQT0QVYw8R6a1NmzahdevWePPNNxEcHAxBELBv374yQzSVmTp1KgYNGoShQ4ciODgYNjY2iIiIUJg/8rK5c+fizp078PPzQ926dQE875lYtWoVVq5ciRYtWuDUqVMKT7MBwKeffoqhQ4di+PDhCA4Ohq2tbZl5PvPmzcOsWbMQFxeHxo0bIyIiAnv27BE9XNK+fXusX78eX375JVq2bImkpCTMmDFDIU9ERAT+85//4MCBA2jTpg3at2+PpUuXwtvbW54nISEBbdq0waBBg9CkSRNERUWV6R1TR8uWLbF06VIsWrQIzZo1w/bt2xEXF6dyeQMGDMCsWbMwdepUtG7dGnfv3sWHH36okGf06NFYv349Nm/ejMDAQISFhWHz5s3yz9jOzg579uzB+fPn0bJlS0RHR2PWrFkAUOnPBVD1/XN3d8dvv/0GqVSKiIgINGvWDBMmTIC9vT2MjIxgZ2eHI0eOoEePHmjUqBFmzJiBzz//HN27d1f5MyGi5ySCKhMiiAyUTCZD48aN8e677yqsTl2b+fj4YOLEiVrZ1sRQbN++HSNGjEBOTk6tWIyS95xIPPYQEVXi7t27WLduHa5du4aLFy/iww8/xO3bt/Hee+9pu2qiTJ06FTY2NsjJydF2VfTCli1bcPToUdy+fRu7d+/G1KlT8e6772o9GFqwYAFsbGyQnp6u1XoQ6SL2EBFVIiMjAwMHDsQff/wBQRDQrFkzLFy4EKGhodqumtLu3r0rfyKrQYMGCo+465umTZvi7t275b739ddfY/DgwRq5Tnx8PFatWoV79+7Bzc0Nffv2xfz582FlZaWR8lX16NEjPHr0CMDzifw1uXcdka5jQEREeuPF4O9lpdt1EBGVhwERERERGTz97TsnIiIiUhIDIiIiIjJ4DIiIiIjI4DEgIiIiIoPHgIiIiIgMHgMiIiIiMngMiIiIiMjgMSAiIiIig/d/GjYykHh1SZIAAAAASUVORK5CYII=\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "cube.SNOW_DEPTH.sel(time='2018-04-02T10:24:35.000000000', method='nearest').plot.imshow()" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "d5bdbc88-dc6d-447a-bbbb-994612374425", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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ISMjA25ubirpN27cwPPPP4/CwkJt1q/eys/Ph7W1Na5nNIelZe0/hKiPPU0NgWEdr5Wri56mhsDMsPq/AOsDc6OS6jPVA5aGxdVnakAsGkB7igvKENctFQ8ePICVlZVOrlH+veQ+dz4MqlgEujqK4mJcnxWn07rWN5aWlvjjjz+qXQtS8re9tbU1rl27ViH9ypUrMDc3l1ocERERUYMgOWgaOHAgYmNjcfXqVWXalStX8MEHH2DgwIFarRwRERFJVL4iuCYHqSU5aFq8eDHMzc3h6ekJd3d3uLu7w8vLC3Z2dvj44491UUciIiISi+s06YzkieDW1tY4dOgQkpOT8ccff8DMzAwdO3ZEUFCQLupHREREJMmVK1fQunVr0fm/+OKLKtdqLCc5aAIer6bdp08fBAUFwcTERCuLXRIREZHmuLgl0KZNGzg7OyMkJER5PP0A25Nef/11UeVKHp5TKBSYN28enJ2dYWFhgevXrwN4vBL3unXrpBZHRERE2sThORw4cABjxozB33//jffeew8eHh5wd3dHVFQUtmzZguzs7BqVKzloSkhIwMaNG7Fo0SIYGxsr0zt06IAvv/yyRpUgIiIi0pYePXpgxowZ+PXXX3H//n2kpKQgMjIS169fxzvvvIOWLVuibdu2ksuVPDy3adMmrFmzBr169VJZQbtjx474888/JVeAiIiItEjD4Tl96Gl6UqNGjRAUFISuXbvC398fe/fuxdq1a3HlyhXJZUkOmrKzs9VOrlIoFKKWICftqIutW2pC3xbhrOutXorKjKvP1ICIXYSTW708m8Quwlkgr/lCjrWlWF6L349cERwAUFxcjEOHDiElJQWpqak4fvw43N3dERwcjFWrViE4OFhymZKDpueffx4HDx6ssOXId999h86dO0uuABEREZE2BQcH4/jx4/Dw8EBQUBDef/99BAcHi3pCriqSg6b4+HgMHz4c2dnZUCgU2LlzJy5evIhNmzbhp59+0qgyREREpCH2NOHQoUNwdHRESEgIevbsiaCgINjb22tcruSJ4AMGDMD27duxZ88eyGQyzJo1CxkZGdi9ezdeeukljStERERENVe+5IAmR0N3//59rFmzBo0bN8bChQvh7OyMDh064L333sP333+PO3fu1KjcGq3TFBoaitDQ0BpdkIiIiEiXzM3N0bdvX/Tt2xcA8PDhQ6Sl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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "cube.SNOW_ALBEDO.sel(time='2018-04-02T10:24:35.000000000', method='nearest').plot.imshow()" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "321488c9-943e-4801-8105-cb06db8c4b68", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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pKSkYN68eQp5wsLC8N133yE1NRVdu3ZF9+7dsXz5cri4uMjz7Nq1C127dsXIkSPRsWNHzJ49W6l3TBM+Pj5Yvnw5PvjgA3h5eWH79u1ISEgQXd7w4cPx/vvv47333oOvry/y8vLw9ttvK+SZNGkS1q9fj82bN8Pb2xvBwcHYvHmz/Du2srLCvn37kJ2dDR8fH8TExOD9998HgBp/LoBnPz9HR0f88ssvkEqlCAsLg5eXF6ZPnw5ra2sYGBjAysoKP//8MwYMGAB3d3fMmzcPH330Efr37y/6OyGixySCmAkRRHpKJpPB09MTw4YNU1iduiFr27YtIiMj62VbE32xfft2jB8/HiUlJQ1iMUo+cyL1sYeIqAZ5eXlYt24dcnNzcfbsWbz99tu4evUqXn/99fqumlree+89WFhYoKSkpL6rohO2bt2KjIwMXL16FXv37sV7772HYcOG1XswtGTJElhYWCA/P79e60HUGLGHiKgGBQUFGDFiBH777TcIggAvLy8sXboUQUFB9V01leXl5cnfyHJzc1N4xV3XPP/888jLy6vy3Oeff45Ro0Zp5T6JiYlYvXo1bty4AQcHBwwZMgSLFy9G06ZNtVK+WLdv38bt27cBPJ7IX5d71xE1dgyIiEhnPBn8Pa1yuw4ioqowICIiIiK9p7t950REREQqYkBEREREeo8BEREREek9BkRERESk9xgQERERkd5jQERERER6jwERERER6T0GRERERKT3/g9tCAXccv6iiwAAAABJRU5ErkJggg==\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "cube.S2.sel(time='2018-05-09', method='nearest').plot.imshow()" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "id": "8be74615-8fd0-4ddd-839f-75c8b2d06f89", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 20, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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wbhx4wbee+89vTJvvfUWvvjiC6xfvx5BQUEICwvD+vXrddfY2dkZu3fvxunTp9GkSRNERETgo48+AoBiPxdAyffP29sbv/zyCzQaDcLDwxEYGIixY8fCxcUFarUazs7OOHToELp27Yp69eph2rRp+OSTT9ClS5dSXxMiKppKKs0EC6LnlFarRYMGDdC3b1+9VbYrspo1a2LcuHHlkrLlebF582YMHToUDx48qBALaPKeEymDPUlExbhx4wZWr16Nixcv4syZM3jvvfdw7do1vP766+XdNFmmTJkCR0dHPHjwoLybYhY2btyIw4cP49q1a9i1axemTJmCvn37lnuANG/ePDg6OiIpKalc20FkLtiTRFSM5ORk9O/fH2fPnoUkSQgMDMT8+fPRpk2b8m6asBs3buieBKtVq5be4/bmpmHDhrhx44bB9z7//HO88cYbihwnOjoay5cvR2pqKry8vNCrVy/MnTsX9vb2itRfWnfv3sXdu3cBPH5YoCxz9RGZIwZJRGQ2ngwIn1aQioSISBSDJCIiIiIDzLffnYiIiMgIDJKIiIiIDGCQRERERGQAgyQiIiIiAxgkERERERnAIImIiIjIAAZJRERERAYwSCIiIiIy4P8A274/mNLaAH0AAAAASUVORK5CYII=\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "cube.F1.sel(time='2018-04-02T10:24:35.000000000', method='nearest').plot.imshow()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "5cfbed8b-9eb6-4c3e-943f-9dd1d63ea5d5", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "master-asi-conae-edc-2022.10-14", + "language": "python", + "name": "conda-env-master-asi-conae-edc-2022.10-14-py" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.16" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/_sources/9.9_master_asi_conae/test/test_s1_s3.ipynb b/_sources/9.9_master_asi_conae/test/test_s1_s3.ipynb new file mode 100644 index 0000000..9f97d8e --- /dev/null +++ b/_sources/9.9_master_asi_conae/test/test_s1_s3.ipynb @@ -0,0 +1,2060 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "id": "592fc4b5-8557-44f7-ba9e-0ea652f6656f", + "metadata": {}, + "outputs": [], + "source": [ + "# xcube_sh imports\n", + "from xcube_sh.cube import open_cube\n", + "from xcube_sh.config import CubeConfig\n", + "from xcube_sh.sentinelhub import SentinelHub" + ] + }, + { + "cell_type": "markdown", + "id": "e36f2d65-6816-4819-a9bb-36afb92a7f41", + "metadata": {}, + "source": [ + "## Sentinel-1" + ] + }, + { + "cell_type": "markdown", + "id": "0c216641-be03-4045-bd55-7060899157af", + "metadata": {}, + "source": [ + "Issues:\n", + "- How to query by track number\n", + "- bands 'localIncidenceAngle' and 'shadowMask' return an error\n", + "- how to set the value for 'orthorectify' in the Processing Options (https://docs.sentinel-hub.com/api/latest/data/sentinel-1-grd/#processing-options)?" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "3b5125d6-1ea8-4685-9302-2f56eb2515ce", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "['VV', 'HH', 'VH', 'localIncidenceAngle', 'scatteringArea', 'shadowMask', 'HV']" + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + " SentinelHub().band_names('S1GRD') " + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "a404ed63-2486-406b-82aa-87832930fba8", + "metadata": {}, + "outputs": [], + "source": [ + "cube_config_s1 = CubeConfig(\n", + " dataset_name='S1GRD',\n", + " band_names=['VV', 'VH', 'localIncidenceAngle', 'shadowMask'],\n", + " bbox=[11.02, 46.65, 11.36, 46.95],\n", + " spatial_res=0.0018, # = 100 meters in degree>\n", + " time_range=['2018-02-01', '2018-06-30'],\n", + " time_period='6D'\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "0e69b7cf-878e-4405-bc88-2e86886d8646", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "
<xarray.Dataset>\n",
+       "Dimensions:              (time: 25, lat: 167, lon: 189, bnds: 2)\n",
+       "Coordinates:\n",
+       "  * lat                  (lat) float64 46.95 46.95 46.95 ... 46.65 46.65 46.65\n",
+       "  * lon                  (lon) float64 11.02 11.02 11.02 ... 11.36 11.36 11.36\n",
+       "  * time                 (time) datetime64[ns] 2018-02-04 ... 2018-06-28\n",
+       "    time_bnds            (time, bnds) datetime64[ns] dask.array<chunksize=(25, 2), meta=np.ndarray>\n",
+       "Dimensions without coordinates: bnds\n",
+       "Data variables:\n",
+       "    VH                   (time, lat, lon) float32 dask.array<chunksize=(1, 167, 189), meta=np.ndarray>\n",
+       "    VV                   (time, lat, lon) float32 dask.array<chunksize=(1, 167, 189), meta=np.ndarray>\n",
+       "    localIncidenceAngle  (time, lat, lon) float32 dask.array<chunksize=(1, 167, 189), meta=np.ndarray>\n",
+       "    shadowMask           (time, lat, lon) float32 dask.array<chunksize=(1, 167, 189), meta=np.ndarray>\n",
+       "Attributes: (12/13)\n",
+       "    Conventions:               CF-1.7\n",
+       "    title:                     S1GRD Data Cube Subset\n",
+       "    history:                   [{'program': 'xcube_sh.chunkstore.SentinelHubC...\n",
+       "    date_created:              2023-03-07T06:54:16.049322\n",
+       "    time_coverage_start:       2018-02-01T00:00:00+00:00\n",
+       "    time_coverage_end:         2018-07-01T00:00:00+00:00\n",
+       "    ...                        ...\n",
+       "    time_coverage_resolution:  P6DT0H0M0S\n",
+       "    geospatial_lon_min:        11.02\n",
+       "    geospatial_lat_min:        46.65\n",
+       "    geospatial_lon_max:        11.360199999999999\n",
+       "    geospatial_lat_max:        46.9506\n",
+       "    processing_level:          L1B
" + ], + "text/plain": [ + "\n", + "Dimensions: (time: 25, lat: 167, lon: 189, bnds: 2)\n", + "Coordinates:\n", + " * lat (lat) float64 46.95 46.95 46.95 ... 46.65 46.65 46.65\n", + " * lon (lon) float64 11.02 11.02 11.02 ... 11.36 11.36 11.36\n", + " * time (time) datetime64[ns] 2018-02-04 ... 2018-06-28\n", + " time_bnds (time, bnds) datetime64[ns] dask.array\n", + "Dimensions without coordinates: bnds\n", + "Data variables:\n", + " VH (time, lat, lon) float32 dask.array\n", + " VV (time, lat, lon) float32 dask.array\n", + " localIncidenceAngle (time, lat, lon) float32 dask.array\n", + " shadowMask (time, lat, lon) float32 dask.array\n", + "Attributes: (12/13)\n", + " Conventions: CF-1.7\n", + " title: S1GRD Data Cube Subset\n", + " history: [{'program': 'xcube_sh.chunkstore.SentinelHubC...\n", + " date_created: 2023-03-07T06:54:16.049322\n", + " time_coverage_start: 2018-02-01T00:00:00+00:00\n", + " time_coverage_end: 2018-07-01T00:00:00+00:00\n", + " ... ...\n", + " time_coverage_resolution: P6DT0H0M0S\n", + " geospatial_lon_min: 11.02\n", + " geospatial_lat_min: 46.65\n", + " geospatial_lon_max: 11.360199999999999\n", + " geospatial_lat_max: 46.9506\n", + " processing_level: L1B" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "cube_s1 = open_cube(cube_config_s1)\n", + "cube_s1" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "066f5821-f615-47e4-b52b-20454b3108a2", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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Rx99NF599dWIF4jWrVtHZaFEZxWNJdoZHnjgASxZsgQbN25E+/btAQAjR45Enz59cMQRR+DVV1/FueeeixdffBHnn3++71hZzmxpvf70pz9h8uTJ+Oabb9QLlWi7BM8//zzOO++8ZrfPwMDg9wnzQmVg8CtAZmYmAOCtt95C586dm338L7Hk99FHH2HChAkYPXo03n77bfUS6MXAgQPx008/RWyXbd4lu13FkiVLkJOTo16mBPKy+fPPPwMAjj/++CZZuT1VL++LrH6uXe1vAwODPwbMC5WBQROIi4sDgL0iTh4zZgxCoRDWrl2Lk08+udnH7+klvzlz5mDChAkYMWIE3nvvPdUXOiZOnIjLLrsM3377LYYNGwaAlsZeeeUVDBs2DNnZ2bveCEZ2djbmzp2LvLw85OTkqO1ff/01ANK3AcRCtW7d+hep14svvggAOPjgg9W2oUOHNrstBgYGfxyYFyoDgyYwcOBAAMCjjz6Kc889FzExMejduzdSUlL2+Lm6dOmCu+++G7fccgvWrVuHY489Fq1atcLWrVvx3XffISkpCXfddVeTx8fGxu6xP/hffPEFJkyYgHbt2uHmm2/GkiVLfL/369cPqampAIALLrgAjz/+OE499VTcf//9aNu2LZ544gmsXLkSn3zyie+4jRs3qpe+tWvXAoByX+/SpYuq/+WXX45XX30VRx99NG688UaloZo6dSqysrJw9tln77QNu1qvzz//HPfeey8mTpyIbt26oba2Fh9++CGefvppHHHEETj++ON3qc++//57bNiwAQBQXl4Ox3FU2w488EAf6yjb161bp45NTk4GAJxyyim7dD4DA4NfIfatDZaBwa8bN910k5Odne0EAgEHgDNv3jzHccgM0mveuH79egeA89BDD/mOnzdvngPAefPNN33bn3/+eQeAs2DBAt/29957zzn88MOd1NRUJy4uzuncubNzyimnRJhc/pK44447HABN/pM+EBQUFDiTJk1yMjIynPj4eOfggw92Pv7444hypc3R/p177rm+fRctWuRMnDjR6dChgxMXF+d069bNueiii5zc3Nxdbseu1Gv16tXOuHHjnJycHCcuLs6Jj493Bg4c6Nx7770+A9Od4dxzz22ybbpx54761sDA4LcLy3F205TGwMDAwMDAwMAAgDH2NDAwMDAwMDBoMcwLlYGBgYGB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ubBmzRoAwNKlS+FyubBw4UKMGDECPp8PH3744QGN37p16zBx4kQkJCQgOzsbl1xyCcrLy9Xvr7zyCgYPHoxAIID09HScdtppaGhoOOT+0NDQODzQL1QanRaXXXYZVq5ciTfeeAMrVqyAYRiYOHEiWltb1T6NjY34y1/+gueeew7Lli1DcXExbrrpJvX7vffei+effx5PPfUUPv74Y9TW1uL111/f5zlfe+01dO3aVS2xWV/Ovgv3338/nnzySTzxxBP46KOPUFlZif/85z+2fW677TY89dRTeOSRR7B27VrccMMN+OUvf4kPPvjgwDsGwKeffoorrrgC11xzDdasWYOf/OQnmD17tm2fhQsX4pe//CWuu+46rFu3Do899hiefvpp9cITiUQwYcIELF++HP/85z+xbt06zJ07d7/syObNm/G///0PCxYswIsvvognn3wSZ555Jnbu3IkPPvgA9957L2677TZ88skn6hi3242//e1v+Oabb/DMM8/g/fffx80333xQ7RW8/PLLmDVrFv70pz9h5cqVyM3NjXpZmj9/PmbOnIk//elPKCoqwj333IM//vGPeOaZZwAAdXV1OPvsszF48GB88cUXuPvuuzFjxow2z3fzzTdjzpw5KCoqwpAhQ75z/EpKSjB27FgMGzYMK1euxIIFC7Bnzx5MmjRJ/T5lyhRcccUVKCoqwtKlS3H++edHvXhraGh0ADouL7OGxuHF2LFjjenTpxuGYRgbNmwwABgff/yx+r28vNwIBALGyy+/bBiGmVF+06ZNap+HH37YyM7OVt+zs7ONP//5z+p7KBQy8vPzjXPOOafN8xqGYXTv3t3461//aqvbrFmzjKFDh9q2/fWvfzW6d++uvufm5hpz585V31tbW42uXbuqc9XX1xt+v99Yvny5rZxp06YZU6ZM2We/tFWfKVOmGGeccYZt2+TJk43k5GT1/aSTTjLuuece2z7PPfeckZubaxiGYSxcuNBwu93G+vXr2zzvU089ZStv1qxZRlxcnFFbW6u2jR8/3igoKDDC4bDa1q9fP2POnDn7bM/LL79spKen7/M8+8Po0aONq6++2rZt5MiRtrHp1q2b8cILL9j2ufvuu43Ro0cbhmEYjzzyiJGenm40NTWp3+fPn28AMFavXm0YhmEsWbLEAGC8/vrrap8DGb8//vGPxrhx42y/79ix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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + " cube_s1.VV.sel(time='2018-05-10', method='nearest').plot.imshow(vmin=0, vmax=1)" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "71678677-d694-4ea1-bcf2-1f15e978fd8b", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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rbadDQ+HSlttO8OhlMKuXbvQrl27A1anrKwsrFmzBvvDMmtUEUqpwP9tYewUALRs2RLxeDzARm3atCnAQhHatm0benxaWlrkStHBjnr7oDrttNPwxRdfGNtGjx6NI444AhMnTkRmZiaOO+44LF++3DhmxYoVoSJzwoknnoh//OMfcF0XMb0GvmLFCuTn54d+TAHect6yZctw8sknR5YbRnXm5eWlamKdo2nTpg36BebHodJW286Gh0OlrbadQeTm5h7g2ngfVaki4Q8EMjIy0K9fP7zxxhs477zzePsbb7yB4cOHh54zcOBAvPLKK8a2uXPnon///j9I/RQA1NuSXxj8S35KKTV79myVnp6uHnnkEbVy5Ur1wAMPqHg8rt59910+5tJLL1XXX389/y4qKlJNmjRRv/3tb9Xy5cvVv//9b9W6dWs1efJkPub3v/+9euutt9Tq1avVBx98oM4++2yVk5OjvvnmmzppZ21j586dCoDauXNnfVflgONQaattZ8PDodJW285DE7NmzVLp6elq5syZaunSperaa69VjRs35v9Xr7/+enXppZfy8atXr1aNGjVS48aNU0uXLlUzZ85U6enp6vnnn6+vJtQY9R7llwrnnXcepk+fjsLCQlxzzTXo0aMHXnjhBZx00kl8TFFRETNRANCxY0fMnTsX48aNQ58+fdC+fXuMHTsWEydO5GO+++47jBw5Elu2bEGrVq0wYMAAfPDBBymZLwsLCwsLC4twjBgxAlu3bsXtt9+O9evXo1evXnjttdf4/9X169cbptxdunTBa6+9hnHjxuFvf/sb2rVrh7/85S8/WMsEAAcXQ2VRPezbt0/dcsstat++ffVdlQOOQ6Wttp0ND4dKW207LQ5VOErZpD0WFhYWFhYWFjXBQZPLz8LCwsLCwsLihwr7QWVhYWFhYWFhUUPYDyoLCwsLCwsLixrCflBZWFhYWFhYWNQQ9oOqnvHOO+/gnHPOQbt27eA4Dl566SVj/+zZszF06FC0bNkSjuNg8eLFlSr3hRdewJFHHonMzEwceeSRePHFF439t956KxzHMf60bdu2lloVxIFo55IlS/DTn/4UBQUFcByHs5ZLPPjgg+jSpQuysrLQr18/vPvuuzVvUArUV1sbQp/OmDEDJ598Mpo1a4ZmzZrh9NNPx0cffRQ4ri77tL7aWdf9CRyYts6e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ceN46QUIX1aaNm0aCgoK+HcikcD48eP5WhMmTIDMDKWUwtSpU9G1a1dkZ2fj6KOPxvPPP1+t+/PEE0+gU6dOaNSoEc477zxs3bo1cMwrr7yCfv36ISsrC127dsVtt92G8vJy3r9jxw786le/Qps2bZCVlYVevXrh3//+N5fvX4qje/DYY4+hU6dOaNKkCX7zm98gkUhg6tSpaNu2LVq3bo0777zTqMN9992H3r17o3HjxujYsSOuuuoqlJSUVKvNADBlyhS0adMGOTk5uPzyy7Fv377AMY8//jh69uyJrKwsHHHEEXjwwQeN/QsWLEDfvn2RlZWF/v3746WXXoLjOFi8eDEA4K233oLjOHj99dfRv39/ZGZm4t13361U/y1duhTDhg1DkyZN0KZNG1x66aXYsmUL73/++efRu3dvZGdno0WLFjj99NOxe/fuat8PCwuL2oH9oLJosPjFL36BTz75BP/617/w/vvvQymFYcOGoaysjI/Zs2cP7rnnHvz973/HO++8g6KiIlx33XW8/+6778bTTz+Nxx9/HO+99x6Ki4vx0ksvRV5z9uzZ6NChAy+x+T/OKsK9996Lxx57DDNnzsT8+fOxbds2vPjii8YxN954Ix5//HE89NBDWLJkCcaNG4dLLrkEb7/9duVvDIAPP/wQY8aMwVVXXYXFixfj1FNPxeTJk41jXn/9dVxyySW45pprsHTpUjz88MN44okn+IPHdV2ceeaZWLBgAf7v//4PS5cuxZQpU1KyI6tWrcJ//vMfzJkzB8888wwee+wxnHXWWfjuu+/w9ttv4+6778aNN96IDz74gM+JxWL4y1/+gi+//BJPPvkk/ve//2HChAlVai/hueeewy233II777wTn3zyCfLz8wMfSzNmzMCkSZNw5513YtmyZbjrrrtw00034cknnwQA7Nq1C+eccw569+6NTz/9FHfccQcmTpwYer0JEyagsLAQy5YtQ58+fSrsv/Xr12PQoEHo27cvPvnkE8yZMwcbN27EBRdcwPtHjhyJMWPGYNmyZXjrrbdw/vnnBz68LSws6gH1l5fZwqJ2MWjQIDV27FillFIrVqxQANR7773H+7ds2aKys7PVc889p5RKZpT/+uuv+Zi//e1vqk2bNvy7TZs26k9/+hP/Li8vV506dVLDhw8Pva5SSnXu3Fndf//9Rt1uueUWdfTRRxvb7r//ftW5c2f+nZ+fr6ZMmcK/y8rKVIcOHfhaJSUlKisrSy1YsMAo5/LLL1cjR46MvC9h9Rk5cqT68Y9/bGwbMWKEys3N5d8nn3yyuuuuu4xj/v73v6v8/HyllFKvv/66isViavny5aHXffzxx43ybrnlFtWoUSNVXFzM24YOHaoKCgpUIpHgbT169FCFhYWR7XnuuedUixYtIq+TCgMHDlRXXnmlse344483+qZjx47qH//4h3HMHXfcoQYOHKiUUuqhhx5SLVq0UHv37uX9M2bMUADUokWLlFJKzZs3TwFQL730Eh9Tmf676aab1JAhQ4z9a9euVQDU8uXL1cKFCxUA9c0336RsZ1ifW1hYHFhYDZVFg8SyZcuQlpaG448/nre1aNECPXr0wLJly3hbo0aNcNhhh/Hv/Px8bNq0CQCwc+dObNy4ET/60Y94fzweR79+/eC6bq3Wd+fOnVi/fj0GDhzI29LS0tC/f39mH5YuXYp9+/bhjDPOMM7dv38/jjnmmCpdb9myZTjvvPOMbQMHDsScOXP498KFC/Hxxx8bS3CJRAL79u3Dnj17sHjxYnTo0AHdu3ev9HULCgqQk5PDv9u0aYN4PI5YLGZsoz4AgHnz5uGuu+7C0qVLUVxcjPLycuzbtw+7d+9G48aNq9zuK6+8MtDuefPmAQA2b96MtWvX4vLLL8cvf/lLPqa8vJwF/cuXL0efPn2QlZXF+/1jxI/+/fvzvyvTfwsXLsS8efPQpEmTQFmrVq3CkCFDcNppp6F3794YOnQohgwZgp/97Gdo1qxZVW6DhYXFAYD9oLJokFARSyBKKdY1AUB6erqx33GcwLn+41OVnQqxWCxwnn/psTKgj7hXX30V7du3N/ZlZmZWqazKtMF1Xdx22204//zzA/uysrKqJTgPu99h26it3377LYYNG4Yrr7wSd9xxB5o3b4758+fj8ssvr/L9qwzoujNmzDA+xgHwUqYcQ7QtDP4Pvsr0n+u6OOecc3D33XcHysrPz0c8Hscbb7yBBQsWYO7cuXjggQcwadIkfPjhh+jSpUtVmmphYVHLsBoqiwaJI488EuXl5fjwww9529atW7FixQr07NmzUmXk5uaiTZs2+Oijj3hbIpHAokWLUp6XkZGBRCJhbGvVqhU2bNhg/MdLAma6Vn5+vqEdKi8vx8KFC402ZWZmoqioCN26dTP+dOzYsVJt8pflvxaAwO9jjz0Wy5cvD1yrW7duiMVi6NOnD7777rsDao3wySefoLy8HPfeey8GDBiA7t274/vvv692eT179kzZ7jZt2qB9+/ZYvXp1oM30wXLEEUfg888/R2lpqVHPilCZ/jv22GOxZMkSFBQUBI6hjzPHcXDiiSfitttuw6JFi5CRkRHQ2llYWNQ9LENl0SBx+OGHY/jw4fjlL3+Jhx9+GDk5Obj++uvRvn17DB8+vNLl/O53v0NhYSG6deuGI444Ag888AC2b98eYCj8KCgowDvvvIMLL7wQmZmZaNmyJQYPHozNmzdj6tSp+NnPfoY5c+bgP//5D5o2bcrnjR07FlOmTMHhhx+Onj174r777jOMOHNycnDddddh3LhxcF0XJ510EoqLi7FgwQI0adIEl112WaXbdc011+CEE07A1KlTce6552Lu3LnGch8A3HzzzTj77LPRsWNH/PznP0csFsPnn3+OL774ApMnT8agQYNwyimn4Kc//Snuu+8+dOvWDV999RUcx8GPf/zjStclFQ477DCUl5fjgQcewDnnnIP33nsP06dPr3Z5Y8eOxWWXXYb+/fvjpJNOwtNPP40lS5aga9eufMytt96Ka665Bk2bNsWZZ56J0tJSfPLJJ9i+fTvGjx+Piy66CJMmTcKvfvUrXH/99SgqKsI999wDIMhm+lGZ/rv66qsxY8YMjBw5En/4wx/QsmVLfP3115g1axZmzJiBTz75BG+++SaGDBmC1q1b48MPP8TmzZsrPUmwsLA4cLAMlUWDxeOPP45+/frh7LPPxsCBA6GUwmuvvRZYYkqFiRMnYuTIkRg1ahQGDhyIJk2aYOjQoYZ+RuL222/HN998g8MOOwytWrUC4DEjDz74IP72t7/h6KOPxkcffWREEwLA73//e4waNQq/+MUvMHDgQOTk5AR0TnfccQduvvlmFBYWomfPnhg6dCheeeWVKi/3DBgwAI8++igeeOAB9O3bF3PnzsWNN95oHDN06FD8+9//xhtvvIHjjjsOAwYMwH333YfOnTvzMS+88AKOO+44jBw5EkceeSQmTJgQYOdqgr59++K+++7D3XffjV69euHpp59GYWFhtcsbMWIEbr75ZkycOBH9+vXDt99+i9/85jfGMVdccQUeffRRPPHEE+jduzcGDRqEJ554gu9x06ZN8corr2Dx4sXo27cvJk2ahJtvvhkAUo4LoOL+a9euHd577z0kEgkMHToUvXr1wtixY5Gbm4tYLIamTZvinXfewbBhw9C9e3fceOONuPfee3HmmWdW+55YWFjUDhxVHUGIhcUhCtd10bNnT1xwwQWGO/rBjIKCAlx77bX1kpbnUMHTTz+N0aNHY+fOnQeFmantcwuLuodlqCwsUuDbb7/FjBkzsGLFCnzxxRf4zW9+gzVr1uCiiy6q76pVCRMnTkSTJk2wc+fO+q5Kg8BTTz2F+fPnY82aNXjppZcwceJEXHDBBfX+MXXXXXehSZMmKCoqqtd6WFgcirAMlYVFCqxduxYXXnghvvzySyil0KtXL0yZMgWnnHJKfVet0vj22285Iq5r166GRUFDw1FHHYVvv/02dN/DDz+Miy++uFauM3XqVDz44IPYsGED8vPzce655+LOO+9Eo0aNaqX86mLbtm3Ytm0bAC8Qoi5zN1pYHOqwH1QWFhYNBv6PRwlKN2NhYWFxIGA/qCwsLCwsLCwsaoiGy/1bWFhYWFhYWNQR7AeVhYWFhYWFhUUNYT+oLCwsLCwsLCxqCPtBZWFhYWFhYWFRQ9gPKgsLCwsLCwuLGsJ+UFlYWFhYWFhY1BD2g8rCwsLCwsLCooawH1QWFhYWFhYWFjXE/weCTuJUDSZHNAAAAABJRU5ErkJggg==\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + " cube_s1.VH.sel(time='2018-05-10', method='nearest').plot.imshow(vmin=0, vmax=1)" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "35902905-85db-49d6-a28b-625f37023be0", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Failed to fetch data from Sentinel Hub after 44.90783905982971 seconds and 200 retries\n", + "HTTP status code was 400\n" + ] + }, + { + "ename": "SentinelHubError", + "evalue": "400 Client Error: Bad Request for url: https://services.sentinel-hub.com/api/v1/process", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mKeyError\u001b[0m Traceback (most recent call last)", + "File \u001b[0;32m/opt/conda/envs/edc-default-2022.10-14/lib/python3.9/site-packages/zarr/storage.py:2434\u001b[0m, in \u001b[0;36mLRUStoreCache.__getitem__\u001b[0;34m(self, key)\u001b[0m\n\u001b[1;32m 2433\u001b[0m \u001b[38;5;28;01mwith\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_mutex:\n\u001b[0;32m-> 2434\u001b[0m value \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_values_cache\u001b[49m\u001b[43m[\u001b[49m\u001b[43mkey\u001b[49m\u001b[43m]\u001b[49m\n\u001b[1;32m 2435\u001b[0m \u001b[38;5;66;03m# cache hit if no KeyError is raised\u001b[39;00m\n", + "\u001b[0;31mKeyError\u001b[0m: 'localIncidenceAngle/16.0.0'", + "\nDuring handling of the above exception, another exception occurred:\n", + "\u001b[0;31mHTTPError\u001b[0m Traceback (most recent call last)", + "File \u001b[0;32m/opt/conda/envs/edc-default-2022.10-14/lib/python3.9/site-packages/xcube_sh/sentinelhub.py:645\u001b[0m, in \u001b[0;36mSentinelHubError.maybe_raise_for_response\u001b[0;34m(cls, response)\u001b[0m\n\u001b[1;32m 644\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[0;32m--> 645\u001b[0m \u001b[43mresponse\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mraise_for_status\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 646\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m requests\u001b[38;5;241m.\u001b[39mHTTPError \u001b[38;5;28;01mas\u001b[39;00m e:\n", + "File \u001b[0;32m/opt/conda/envs/edc-default-2022.10-14/lib/python3.9/site-packages/requests/models.py:1021\u001b[0m, in \u001b[0;36mResponse.raise_for_status\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 1020\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m http_error_msg:\n\u001b[0;32m-> 1021\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m HTTPError(http_error_msg, response\u001b[38;5;241m=\u001b[39m\u001b[38;5;28mself\u001b[39m)\n", + "\u001b[0;31mHTTPError\u001b[0m: 400 Client Error: Bad Request for url: https://services.sentinel-hub.com/api/v1/process", + "\nThe above exception was the direct cause of the following exception:\n", + "\u001b[0;31mSentinelHubError\u001b[0m Traceback (most recent call last)", + "Cell \u001b[0;32mIn [7], line 1\u001b[0m\n\u001b[0;32m----> 1\u001b[0m \u001b[43mcube_s1\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mlocalIncidenceAngle\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43msel\u001b[49m\u001b[43m(\u001b[49m\u001b[43mtime\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[38;5;124;43m2018-05-10\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mmethod\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[38;5;124;43mnearest\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[43m)\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mplot\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mimshow\u001b[49m\u001b[43m(\u001b[49m\u001b[43mvmin\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;241;43m0\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mvmax\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;241;43m1\u001b[39;49m\u001b[43m)\u001b[49m\n", + "File \u001b[0;32m/opt/conda/envs/edc-default-2022.10-14/lib/python3.9/site-packages/xarray/plot/plot.py:1311\u001b[0m, in \u001b[0;36m_plot2d..plotmethod\u001b[0;34m(_PlotMethods_obj, x, y, figsize, size, aspect, ax, row, col, col_wrap, xincrease, yincrease, add_colorbar, add_labels, vmin, vmax, cmap, colors, center, robust, extend, levels, infer_intervals, subplot_kws, cbar_ax, cbar_kwargs, xscale, yscale, xticks, yticks, xlim, ylim, norm, **kwargs)\u001b[0m\n\u001b[1;32m 1309\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m arg \u001b[38;5;129;01min\u001b[39;00m [\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m_PlotMethods_obj\u001b[39m\u001b[38;5;124m\"\u001b[39m, \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mnewplotfunc\u001b[39m\u001b[38;5;124m\"\u001b[39m, \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mkwargs\u001b[39m\u001b[38;5;124m\"\u001b[39m]:\n\u001b[1;32m 1310\u001b[0m \u001b[38;5;28;01mdel\u001b[39;00m allargs[arg]\n\u001b[0;32m-> 1311\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mnewplotfunc\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mallargs\u001b[49m\u001b[43m)\u001b[49m\n", + "File \u001b[0;32m/opt/conda/envs/edc-default-2022.10-14/lib/python3.9/site-packages/xarray/plot/plot.py:1175\u001b[0m, in \u001b[0;36m_plot2d..newplotfunc\u001b[0;34m(darray, x, y, figsize, size, aspect, ax, row, col, col_wrap, xincrease, yincrease, add_colorbar, add_labels, vmin, vmax, cmap, center, robust, extend, levels, infer_intervals, colors, subplot_kws, cbar_ax, cbar_kwargs, xscale, yscale, xticks, yticks, xlim, ylim, norm, **kwargs)\u001b[0m\n\u001b[1;32m 1172\u001b[0m yval \u001b[38;5;241m=\u001b[39m yval\u001b[38;5;241m.\u001b[39mto_numpy()\n\u001b[1;32m 1174\u001b[0m \u001b[38;5;66;03m# Pass the data as a masked ndarray too\u001b[39;00m\n\u001b[0;32m-> 1175\u001b[0m zval \u001b[38;5;241m=\u001b[39m \u001b[43mdarray\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mto_masked_array\u001b[49m\u001b[43m(\u001b[49m\u001b[43mcopy\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43;01mFalse\u001b[39;49;00m\u001b[43m)\u001b[49m\n\u001b[1;32m 1177\u001b[0m \u001b[38;5;66;03m# Replace pd.Intervals if contained in xval or yval.\u001b[39;00m\n\u001b[1;32m 1178\u001b[0m xplt, xlab_extra \u001b[38;5;241m=\u001b[39m _resolve_intervals_2dplot(xval, plotfunc\u001b[38;5;241m.\u001b[39m\u001b[38;5;18m__name__\u001b[39m)\n", + "File \u001b[0;32m/opt/conda/envs/edc-default-2022.10-14/lib/python3.9/site-packages/xarray/core/dataarray.py:3574\u001b[0m, in \u001b[0;36mDataArray.to_masked_array\u001b[0;34m(self, copy)\u001b[0m\n\u001b[1;32m 3560\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mto_masked_array\u001b[39m(\u001b[38;5;28mself\u001b[39m, copy: \u001b[38;5;28mbool\u001b[39m \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mTrue\u001b[39;00m) \u001b[38;5;241m-\u001b[39m\u001b[38;5;241m>\u001b[39m np\u001b[38;5;241m.\u001b[39mma\u001b[38;5;241m.\u001b[39mMaskedArray:\n\u001b[1;32m 3561\u001b[0m \u001b[38;5;124;03m\"\"\"Convert this array into a numpy.ma.MaskedArray\u001b[39;00m\n\u001b[1;32m 3562\u001b[0m \n\u001b[1;32m 3563\u001b[0m \u001b[38;5;124;03m Parameters\u001b[39;00m\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 3572\u001b[0m \u001b[38;5;124;03m Masked where invalid values (nan or inf) occur.\u001b[39;00m\n\u001b[1;32m 3573\u001b[0m \u001b[38;5;124;03m \"\"\"\u001b[39;00m\n\u001b[0;32m-> 3574\u001b[0m values \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mto_numpy\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m \u001b[38;5;66;03m# only compute lazy arrays once\u001b[39;00m\n\u001b[1;32m 3575\u001b[0m isnull \u001b[38;5;241m=\u001b[39m pd\u001b[38;5;241m.\u001b[39misnull(values)\n\u001b[1;32m 3576\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m np\u001b[38;5;241m.\u001b[39mma\u001b[38;5;241m.\u001b[39mMaskedArray(data\u001b[38;5;241m=\u001b[39mvalues, mask\u001b[38;5;241m=\u001b[39misnull, copy\u001b[38;5;241m=\u001b[39mcopy)\n", + "File \u001b[0;32m/opt/conda/envs/edc-default-2022.10-14/lib/python3.9/site-packages/xarray/core/dataarray.py:740\u001b[0m, in \u001b[0;36mDataArray.to_numpy\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 729\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mto_numpy\u001b[39m(\u001b[38;5;28mself\u001b[39m) \u001b[38;5;241m-\u001b[39m\u001b[38;5;241m>\u001b[39m np\u001b[38;5;241m.\u001b[39mndarray:\n\u001b[1;32m 730\u001b[0m \u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[1;32m 731\u001b[0m \u001b[38;5;124;03m Coerces wrapped data to numpy and returns a numpy.ndarray.\u001b[39;00m\n\u001b[1;32m 732\u001b[0m \n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 738\u001b[0m \u001b[38;5;124;03m DataArray.data\u001b[39;00m\n\u001b[1;32m 739\u001b[0m \u001b[38;5;124;03m \"\"\"\u001b[39;00m\n\u001b[0;32m--> 740\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mvariable\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mto_numpy\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n", + "File \u001b[0;32m/opt/conda/envs/edc-default-2022.10-14/lib/python3.9/site-packages/xarray/core/variable.py:1178\u001b[0m, in \u001b[0;36mVariable.to_numpy\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 1176\u001b[0m \u001b[38;5;66;03m# TODO first attempt to call .to_numpy() once some libraries implement it\u001b[39;00m\n\u001b[1;32m 1177\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mhasattr\u001b[39m(data, \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mchunks\u001b[39m\u001b[38;5;124m\"\u001b[39m):\n\u001b[0;32m-> 1178\u001b[0m data \u001b[38;5;241m=\u001b[39m \u001b[43mdata\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mcompute\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 1179\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28misinstance\u001b[39m(data, cupy_array_type):\n\u001b[1;32m 1180\u001b[0m data \u001b[38;5;241m=\u001b[39m data\u001b[38;5;241m.\u001b[39mget()\n", + "File \u001b[0;32m/opt/conda/envs/edc-default-2022.10-14/lib/python3.9/site-packages/dask/base.py:315\u001b[0m, in \u001b[0;36mDaskMethodsMixin.compute\u001b[0;34m(self, **kwargs)\u001b[0m\n\u001b[1;32m 291\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mcompute\u001b[39m(\u001b[38;5;28mself\u001b[39m, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs):\n\u001b[1;32m 292\u001b[0m \u001b[38;5;124;03m\"\"\"Compute this dask collection\u001b[39;00m\n\u001b[1;32m 293\u001b[0m \n\u001b[1;32m 294\u001b[0m \u001b[38;5;124;03m This turns a lazy Dask collection into its in-memory equivalent.\u001b[39;00m\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 313\u001b[0m \u001b[38;5;124;03m dask.base.compute\u001b[39;00m\n\u001b[1;32m 314\u001b[0m \u001b[38;5;124;03m \"\"\"\u001b[39;00m\n\u001b[0;32m--> 315\u001b[0m (result,) \u001b[38;5;241m=\u001b[39m \u001b[43mcompute\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mtraverse\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43;01mFalse\u001b[39;49;00m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 316\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m result\n", + "File \u001b[0;32m/opt/conda/envs/edc-default-2022.10-14/lib/python3.9/site-packages/dask/base.py:600\u001b[0m, in \u001b[0;36mcompute\u001b[0;34m(traverse, optimize_graph, scheduler, get, *args, **kwargs)\u001b[0m\n\u001b[1;32m 597\u001b[0m keys\u001b[38;5;241m.\u001b[39mappend(x\u001b[38;5;241m.\u001b[39m__dask_keys__())\n\u001b[1;32m 598\u001b[0m postcomputes\u001b[38;5;241m.\u001b[39mappend(x\u001b[38;5;241m.\u001b[39m__dask_postcompute__())\n\u001b[0;32m--> 600\u001b[0m results \u001b[38;5;241m=\u001b[39m \u001b[43mschedule\u001b[49m\u001b[43m(\u001b[49m\u001b[43mdsk\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mkeys\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 601\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m repack([f(r, \u001b[38;5;241m*\u001b[39ma) \u001b[38;5;28;01mfor\u001b[39;00m r, (f, a) \u001b[38;5;129;01min\u001b[39;00m \u001b[38;5;28mzip\u001b[39m(results, postcomputes)])\n", + "File \u001b[0;32m/opt/conda/envs/edc-default-2022.10-14/lib/python3.9/site-packages/dask/threaded.py:89\u001b[0m, in \u001b[0;36mget\u001b[0;34m(dsk, keys, cache, num_workers, pool, **kwargs)\u001b[0m\n\u001b[1;32m 86\u001b[0m \u001b[38;5;28;01melif\u001b[39;00m \u001b[38;5;28misinstance\u001b[39m(pool, multiprocessing\u001b[38;5;241m.\u001b[39mpool\u001b[38;5;241m.\u001b[39mPool):\n\u001b[1;32m 87\u001b[0m pool \u001b[38;5;241m=\u001b[39m MultiprocessingPoolExecutor(pool)\n\u001b[0;32m---> 89\u001b[0m results \u001b[38;5;241m=\u001b[39m \u001b[43mget_async\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 90\u001b[0m \u001b[43m \u001b[49m\u001b[43mpool\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43msubmit\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 91\u001b[0m \u001b[43m \u001b[49m\u001b[43mpool\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_max_workers\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 92\u001b[0m \u001b[43m \u001b[49m\u001b[43mdsk\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 93\u001b[0m \u001b[43m \u001b[49m\u001b[43mkeys\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 94\u001b[0m \u001b[43m \u001b[49m\u001b[43mcache\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mcache\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 95\u001b[0m \u001b[43m \u001b[49m\u001b[43mget_id\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43m_thread_get_id\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 96\u001b[0m \u001b[43m \u001b[49m\u001b[43mpack_exception\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mpack_exception\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 97\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 98\u001b[0m \u001b[43m\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 100\u001b[0m \u001b[38;5;66;03m# Cleanup pools associated to dead threads\u001b[39;00m\n\u001b[1;32m 101\u001b[0m \u001b[38;5;28;01mwith\u001b[39;00m pools_lock:\n", + "File \u001b[0;32m/opt/conda/envs/edc-default-2022.10-14/lib/python3.9/site-packages/dask/local.py:511\u001b[0m, in \u001b[0;36mget_async\u001b[0;34m(submit, num_workers, dsk, result, cache, get_id, rerun_exceptions_locally, pack_exception, raise_exception, callbacks, dumps, loads, chunksize, **kwargs)\u001b[0m\n\u001b[1;32m 509\u001b[0m _execute_task(task, data) \u001b[38;5;66;03m# Re-execute locally\u001b[39;00m\n\u001b[1;32m 510\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[0;32m--> 511\u001b[0m \u001b[43mraise_exception\u001b[49m\u001b[43m(\u001b[49m\u001b[43mexc\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mtb\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 512\u001b[0m res, worker_id \u001b[38;5;241m=\u001b[39m loads(res_info)\n\u001b[1;32m 513\u001b[0m state[\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mcache\u001b[39m\u001b[38;5;124m\"\u001b[39m][key] \u001b[38;5;241m=\u001b[39m res\n", + "File \u001b[0;32m/opt/conda/envs/edc-default-2022.10-14/lib/python3.9/site-packages/dask/local.py:319\u001b[0m, in \u001b[0;36mreraise\u001b[0;34m(exc, tb)\u001b[0m\n\u001b[1;32m 317\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m exc\u001b[38;5;241m.\u001b[39m__traceback__ \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m tb:\n\u001b[1;32m 318\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m exc\u001b[38;5;241m.\u001b[39mwith_traceback(tb)\n\u001b[0;32m--> 319\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m exc\n", + "File \u001b[0;32m/opt/conda/envs/edc-default-2022.10-14/lib/python3.9/site-packages/dask/local.py:224\u001b[0m, in \u001b[0;36mexecute_task\u001b[0;34m(key, task_info, dumps, loads, get_id, pack_exception)\u001b[0m\n\u001b[1;32m 222\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[1;32m 223\u001b[0m task, data \u001b[38;5;241m=\u001b[39m loads(task_info)\n\u001b[0;32m--> 224\u001b[0m result \u001b[38;5;241m=\u001b[39m \u001b[43m_execute_task\u001b[49m\u001b[43m(\u001b[49m\u001b[43mtask\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mdata\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 225\u001b[0m \u001b[38;5;28mid\u001b[39m \u001b[38;5;241m=\u001b[39m get_id()\n\u001b[1;32m 226\u001b[0m result \u001b[38;5;241m=\u001b[39m dumps((result, \u001b[38;5;28mid\u001b[39m))\n", + "File \u001b[0;32m/opt/conda/envs/edc-default-2022.10-14/lib/python3.9/site-packages/dask/core.py:119\u001b[0m, in \u001b[0;36m_execute_task\u001b[0;34m(arg, cache, dsk)\u001b[0m\n\u001b[1;32m 115\u001b[0m func, args \u001b[38;5;241m=\u001b[39m arg[\u001b[38;5;241m0\u001b[39m], arg[\u001b[38;5;241m1\u001b[39m:]\n\u001b[1;32m 116\u001b[0m \u001b[38;5;66;03m# Note: Don't assign the subtask results to a variable. numpy detects\u001b[39;00m\n\u001b[1;32m 117\u001b[0m \u001b[38;5;66;03m# temporaries by their reference count and can execute certain\u001b[39;00m\n\u001b[1;32m 118\u001b[0m \u001b[38;5;66;03m# operations in-place.\u001b[39;00m\n\u001b[0;32m--> 119\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mfunc\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43m(\u001b[49m\u001b[43m_execute_task\u001b[49m\u001b[43m(\u001b[49m\u001b[43ma\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mcache\u001b[49m\u001b[43m)\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;28;43;01mfor\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[43ma\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;129;43;01min\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[43margs\u001b[49m\u001b[43m)\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 120\u001b[0m \u001b[38;5;28;01melif\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m ishashable(arg):\n\u001b[1;32m 121\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m arg\n", + "File \u001b[0;32m/opt/conda/envs/edc-default-2022.10-14/lib/python3.9/site-packages/dask/array/core.py:127\u001b[0m, in \u001b[0;36mgetter\u001b[0;34m(a, b, asarray, lock)\u001b[0m\n\u001b[1;32m 122\u001b[0m \u001b[38;5;66;03m# Below we special-case `np.matrix` to force a conversion to\u001b[39;00m\n\u001b[1;32m 123\u001b[0m \u001b[38;5;66;03m# `np.ndarray` and preserve original Dask behavior for `getter`,\u001b[39;00m\n\u001b[1;32m 124\u001b[0m \u001b[38;5;66;03m# as for all purposes `np.matrix` is array-like and thus\u001b[39;00m\n\u001b[1;32m 125\u001b[0m \u001b[38;5;66;03m# `is_arraylike` evaluates to `True` in that case.\u001b[39;00m\n\u001b[1;32m 126\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m asarray \u001b[38;5;129;01mand\u001b[39;00m (\u001b[38;5;129;01mnot\u001b[39;00m is_arraylike(c) \u001b[38;5;129;01mor\u001b[39;00m \u001b[38;5;28misinstance\u001b[39m(c, np\u001b[38;5;241m.\u001b[39mmatrix)):\n\u001b[0;32m--> 127\u001b[0m c \u001b[38;5;241m=\u001b[39m \u001b[43mnp\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43masarray\u001b[49m\u001b[43m(\u001b[49m\u001b[43mc\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 128\u001b[0m \u001b[38;5;28;01mfinally\u001b[39;00m:\n\u001b[1;32m 129\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m lock:\n", + "File \u001b[0;32m/opt/conda/envs/edc-default-2022.10-14/lib/python3.9/site-packages/xarray/core/indexing.py:459\u001b[0m, in \u001b[0;36mImplicitToExplicitIndexingAdapter.__array__\u001b[0;34m(self, dtype)\u001b[0m\n\u001b[1;32m 458\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21m__array__\u001b[39m(\u001b[38;5;28mself\u001b[39m, dtype\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mNone\u001b[39;00m):\n\u001b[0;32m--> 459\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mnp\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43masarray\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43marray\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mdtype\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mdtype\u001b[49m\u001b[43m)\u001b[49m\n", + "File \u001b[0;32m/opt/conda/envs/edc-default-2022.10-14/lib/python3.9/site-packages/xarray/core/indexing.py:623\u001b[0m, in \u001b[0;36mCopyOnWriteArray.__array__\u001b[0;34m(self, dtype)\u001b[0m\n\u001b[1;32m 622\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21m__array__\u001b[39m(\u001b[38;5;28mself\u001b[39m, dtype\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mNone\u001b[39;00m):\n\u001b[0;32m--> 623\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mnp\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43masarray\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43marray\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mdtype\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mdtype\u001b[49m\u001b[43m)\u001b[49m\n", + "File \u001b[0;32m/opt/conda/envs/edc-default-2022.10-14/lib/python3.9/site-packages/xarray/core/indexing.py:524\u001b[0m, in \u001b[0;36mLazilyIndexedArray.__array__\u001b[0;34m(self, dtype)\u001b[0m\n\u001b[1;32m 522\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21m__array__\u001b[39m(\u001b[38;5;28mself\u001b[39m, dtype\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mNone\u001b[39;00m):\n\u001b[1;32m 523\u001b[0m array \u001b[38;5;241m=\u001b[39m as_indexable(\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39marray)\n\u001b[0;32m--> 524\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m np\u001b[38;5;241m.\u001b[39masarray(\u001b[43marray\u001b[49m\u001b[43m[\u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mkey\u001b[49m\u001b[43m]\u001b[49m, dtype\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mNone\u001b[39;00m)\n", + "File \u001b[0;32m/opt/conda/envs/edc-default-2022.10-14/lib/python3.9/site-packages/xarray/backends/zarr.py:76\u001b[0m, in \u001b[0;36mZarrArrayWrapper.__getitem__\u001b[0;34m(self, key)\u001b[0m\n\u001b[1;32m 74\u001b[0m array \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mget_array()\n\u001b[1;32m 75\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28misinstance\u001b[39m(key, indexing\u001b[38;5;241m.\u001b[39mBasicIndexer):\n\u001b[0;32m---> 76\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43marray\u001b[49m\u001b[43m[\u001b[49m\u001b[43mkey\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mtuple\u001b[49m\u001b[43m]\u001b[49m\n\u001b[1;32m 77\u001b[0m \u001b[38;5;28;01melif\u001b[39;00m \u001b[38;5;28misinstance\u001b[39m(key, indexing\u001b[38;5;241m.\u001b[39mVectorizedIndexer):\n\u001b[1;32m 78\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m array\u001b[38;5;241m.\u001b[39mvindex[\n\u001b[1;32m 79\u001b[0m indexing\u001b[38;5;241m.\u001b[39m_arrayize_vectorized_indexer(key, \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mshape)\u001b[38;5;241m.\u001b[39mtuple\n\u001b[1;32m 80\u001b[0m ]\n", + "File \u001b[0;32m/opt/conda/envs/edc-default-2022.10-14/lib/python3.9/site-packages/zarr/core.py:807\u001b[0m, in \u001b[0;36mArray.__getitem__\u001b[0;34m(self, selection)\u001b[0m\n\u001b[1;32m 805\u001b[0m result \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mvindex[selection]\n\u001b[1;32m 806\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[0;32m--> 807\u001b[0m result \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mget_basic_selection\u001b[49m\u001b[43m(\u001b[49m\u001b[43mpure_selection\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mfields\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mfields\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 808\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m result\n", + "File \u001b[0;32m/opt/conda/envs/edc-default-2022.10-14/lib/python3.9/site-packages/zarr/core.py:933\u001b[0m, in \u001b[0;36mArray.get_basic_selection\u001b[0;34m(self, selection, out, fields)\u001b[0m\n\u001b[1;32m 930\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_get_basic_selection_zd(selection\u001b[38;5;241m=\u001b[39mselection, out\u001b[38;5;241m=\u001b[39mout,\n\u001b[1;32m 931\u001b[0m fields\u001b[38;5;241m=\u001b[39mfields)\n\u001b[1;32m 932\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[0;32m--> 933\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_get_basic_selection_nd\u001b[49m\u001b[43m(\u001b[49m\u001b[43mselection\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mselection\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mout\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mout\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 934\u001b[0m \u001b[43m \u001b[49m\u001b[43mfields\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mfields\u001b[49m\u001b[43m)\u001b[49m\n", + "File \u001b[0;32m/opt/conda/envs/edc-default-2022.10-14/lib/python3.9/site-packages/zarr/core.py:976\u001b[0m, in \u001b[0;36mArray._get_basic_selection_nd\u001b[0;34m(self, selection, out, fields)\u001b[0m\n\u001b[1;32m 970\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21m_get_basic_selection_nd\u001b[39m(\u001b[38;5;28mself\u001b[39m, selection, out\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mNone\u001b[39;00m, fields\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mNone\u001b[39;00m):\n\u001b[1;32m 971\u001b[0m \u001b[38;5;66;03m# implementation of basic selection for array with at least one dimension\u001b[39;00m\n\u001b[1;32m 972\u001b[0m \n\u001b[1;32m 973\u001b[0m \u001b[38;5;66;03m# setup indexer\u001b[39;00m\n\u001b[1;32m 974\u001b[0m indexer \u001b[38;5;241m=\u001b[39m BasicIndexer(selection, \u001b[38;5;28mself\u001b[39m)\n\u001b[0;32m--> 976\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_get_selection\u001b[49m\u001b[43m(\u001b[49m\u001b[43mindexer\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mindexer\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mout\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mout\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mfields\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mfields\u001b[49m\u001b[43m)\u001b[49m\n", + "File \u001b[0;32m/opt/conda/envs/edc-default-2022.10-14/lib/python3.9/site-packages/zarr/core.py:1267\u001b[0m, in \u001b[0;36mArray._get_selection\u001b[0;34m(self, indexer, out, fields)\u001b[0m\n\u001b[1;32m 1261\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28mhasattr\u001b[39m(\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mchunk_store, \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mgetitems\u001b[39m\u001b[38;5;124m\"\u001b[39m) \u001b[38;5;129;01mor\u001b[39;00m \\\n\u001b[1;32m 1262\u001b[0m \u001b[38;5;28many\u001b[39m(\u001b[38;5;28mmap\u001b[39m(\u001b[38;5;28;01mlambda\u001b[39;00m x: x \u001b[38;5;241m==\u001b[39m \u001b[38;5;241m0\u001b[39m, \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mshape)):\n\u001b[1;32m 1263\u001b[0m \u001b[38;5;66;03m# sequentially get one key at a time from storage\u001b[39;00m\n\u001b[1;32m 1264\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m chunk_coords, chunk_selection, out_selection \u001b[38;5;129;01min\u001b[39;00m indexer:\n\u001b[1;32m 1265\u001b[0m \n\u001b[1;32m 1266\u001b[0m \u001b[38;5;66;03m# load chunk selection into output array\u001b[39;00m\n\u001b[0;32m-> 1267\u001b[0m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_chunk_getitem\u001b[49m\u001b[43m(\u001b[49m\u001b[43mchunk_coords\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mchunk_selection\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mout\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mout_selection\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 1268\u001b[0m \u001b[43m \u001b[49m\u001b[43mdrop_axes\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mindexer\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mdrop_axes\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mfields\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mfields\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 1269\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[1;32m 1270\u001b[0m \u001b[38;5;66;03m# allow storage to get multiple items at once\u001b[39;00m\n\u001b[1;32m 1271\u001b[0m lchunk_coords, lchunk_selection, lout_selection \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mzip\u001b[39m(\u001b[38;5;241m*\u001b[39mindexer)\n", + "File \u001b[0;32m/opt/conda/envs/edc-default-2022.10-14/lib/python3.9/site-packages/zarr/core.py:1966\u001b[0m, in \u001b[0;36mArray._chunk_getitem\u001b[0;34m(self, chunk_coords, chunk_selection, out, out_selection, drop_axes, fields)\u001b[0m\n\u001b[1;32m 1962\u001b[0m ckey \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_chunk_key(chunk_coords)\n\u001b[1;32m 1964\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[1;32m 1965\u001b[0m \u001b[38;5;66;03m# obtain compressed data for chunk\u001b[39;00m\n\u001b[0;32m-> 1966\u001b[0m cdata \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mchunk_store\u001b[49m\u001b[43m[\u001b[49m\u001b[43mckey\u001b[49m\u001b[43m]\u001b[49m\n\u001b[1;32m 1968\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m \u001b[38;5;167;01mKeyError\u001b[39;00m:\n\u001b[1;32m 1969\u001b[0m \u001b[38;5;66;03m# chunk not initialized\u001b[39;00m\n\u001b[1;32m 1970\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_fill_value \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n", + "File \u001b[0;32m/opt/conda/envs/edc-default-2022.10-14/lib/python3.9/site-packages/zarr/storage.py:2442\u001b[0m, in \u001b[0;36mLRUStoreCache.__getitem__\u001b[0;34m(self, key)\u001b[0m\n\u001b[1;32m 2438\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_values_cache\u001b[38;5;241m.\u001b[39mmove_to_end(key)\n\u001b[1;32m 2440\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m \u001b[38;5;167;01mKeyError\u001b[39;00m:\n\u001b[1;32m 2441\u001b[0m \u001b[38;5;66;03m# cache miss, retrieve value from the store\u001b[39;00m\n\u001b[0;32m-> 2442\u001b[0m value \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_store\u001b[49m\u001b[43m[\u001b[49m\u001b[43mkey\u001b[49m\u001b[43m]\u001b[49m\n\u001b[1;32m 2443\u001b[0m \u001b[38;5;28;01mwith\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_mutex:\n\u001b[1;32m 2444\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mmisses \u001b[38;5;241m+\u001b[39m\u001b[38;5;241m=\u001b[39m \u001b[38;5;241m1\u001b[39m\n", + "File \u001b[0;32m/opt/conda/envs/edc-default-2022.10-14/lib/python3.9/site-packages/zarr/storage.py:724\u001b[0m, in \u001b[0;36mKVStore.__getitem__\u001b[0;34m(self, key)\u001b[0m\n\u001b[1;32m 723\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21m__getitem__\u001b[39m(\u001b[38;5;28mself\u001b[39m, key):\n\u001b[0;32m--> 724\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_mutable_mapping\u001b[49m\u001b[43m[\u001b[49m\u001b[43mkey\u001b[49m\u001b[43m]\u001b[49m\n", + "File \u001b[0;32m/opt/conda/envs/edc-default-2022.10-14/lib/python3.9/site-packages/xcube_sh/chunkstore.py:508\u001b[0m, in \u001b[0;36mRemoteStore.__getitem__\u001b[0;34m(self, key)\u001b[0m\n\u001b[1;32m 506\u001b[0m value \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_vfs[key]\n\u001b[1;32m 507\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28misinstance\u001b[39m(value, \u001b[38;5;28mtuple\u001b[39m):\n\u001b[0;32m--> 508\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_fetch_chunk\u001b[49m\u001b[43m(\u001b[49m\u001b[43mkey\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mvalue\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 509\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m value\n", + "File \u001b[0;32m/opt/conda/envs/edc-default-2022.10-14/lib/python3.9/site-packages/xcube_sh/chunkstore.py:419\u001b[0m, in \u001b[0;36mRemoteStore._fetch_chunk\u001b[0;34m(self, key, band_name, chunk_index)\u001b[0m\n\u001b[1;32m 411\u001b[0m observer(band_name\u001b[38;5;241m=\u001b[39mband_name,\n\u001b[1;32m 412\u001b[0m chunk_index\u001b[38;5;241m=\u001b[39mchunk_index,\n\u001b[1;32m 413\u001b[0m bbox\u001b[38;5;241m=\u001b[39mrequest_bbox,\n\u001b[1;32m 414\u001b[0m time_range\u001b[38;5;241m=\u001b[39mrequest_time_range,\n\u001b[1;32m 415\u001b[0m duration\u001b[38;5;241m=\u001b[39mduration,\n\u001b[1;32m 416\u001b[0m exception\u001b[38;5;241m=\u001b[39mexception)\n\u001b[1;32m 418\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m exception:\n\u001b[0;32m--> 419\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m exception\n\u001b[1;32m 421\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m chunk_data\n", + "File \u001b[0;32m/opt/conda/envs/edc-default-2022.10-14/lib/python3.9/site-packages/xcube_sh/chunkstore.py:400\u001b[0m, in \u001b[0;36mRemoteStore._fetch_chunk\u001b[0;34m(self, key, band_name, chunk_index)\u001b[0m\n\u001b[1;32m 398\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[1;32m 399\u001b[0m exception \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mNone\u001b[39;00m\n\u001b[0;32m--> 400\u001b[0m chunk_data \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mfetch_chunk\u001b[49m\u001b[43m(\u001b[49m\u001b[43mkey\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 401\u001b[0m \u001b[43m \u001b[49m\u001b[43mband_name\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 402\u001b[0m \u001b[43m \u001b[49m\u001b[43mchunk_index\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 403\u001b[0m \u001b[43m \u001b[49m\u001b[43mbbox\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mrequest_bbox\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 404\u001b[0m \u001b[43m \u001b[49m\u001b[43mtime_range\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mrequest_time_range\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 405\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m \u001b[38;5;167;01mException\u001b[39;00m \u001b[38;5;28;01mas\u001b[39;00m e:\n\u001b[1;32m 406\u001b[0m exception \u001b[38;5;241m=\u001b[39m e\n", + "File \u001b[0;32m/opt/conda/envs/edc-default-2022.10-14/lib/python3.9/site-packages/xcube_sh/chunkstore.py:729\u001b[0m, in \u001b[0;36mSentinelHubChunkStore.fetch_chunk\u001b[0;34m(self, key, band_name, chunk_index, bbox, time_range)\u001b[0m\n\u001b[1;32m 712\u001b[0m band_sample_types \u001b[38;5;241m=\u001b[39m band_sample_types[index]\n\u001b[1;32m 714\u001b[0m request \u001b[38;5;241m=\u001b[39m SentinelHub\u001b[38;5;241m.\u001b[39mnew_data_request(\n\u001b[1;32m 715\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mcube_config\u001b[38;5;241m.\u001b[39mdataset_name,\n\u001b[1;32m 716\u001b[0m band_names,\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 726\u001b[0m band_units\u001b[38;5;241m=\u001b[39m\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mcube_config\u001b[38;5;241m.\u001b[39mband_units\n\u001b[1;32m 727\u001b[0m )\n\u001b[0;32m--> 729\u001b[0m response \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_sentinel_hub\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mget_data\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 730\u001b[0m \u001b[43m \u001b[49m\u001b[43mrequest\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 731\u001b[0m \u001b[43m \u001b[49m\u001b[43mmime_type\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[38;5;124;43mapplication/octet-stream\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\n\u001b[1;32m 732\u001b[0m \u001b[43m\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 734\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m response \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m \u001b[38;5;129;01mor\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m response\u001b[38;5;241m.\u001b[39mok:\n\u001b[1;32m 735\u001b[0m message \u001b[38;5;241m=\u001b[39m (\u001b[38;5;124mf\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;132;01m{\u001b[39;00mkey\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m: cannot fetch chunk for variable\u001b[39m\u001b[38;5;124m'\u001b[39m\n\u001b[1;32m 736\u001b[0m \u001b[38;5;124mf\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124m \u001b[39m\u001b[38;5;132;01m{\u001b[39;00mband_name\u001b[38;5;132;01m!r}\u001b[39;00m\u001b[38;5;124m, bbox \u001b[39m\u001b[38;5;132;01m{\u001b[39;00mbbox\u001b[38;5;132;01m!r}\u001b[39;00m\u001b[38;5;124m, and\u001b[39m\u001b[38;5;124m'\u001b[39m\n\u001b[1;32m 737\u001b[0m \u001b[38;5;124mf\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124m time_range \u001b[39m\u001b[38;5;132;01m{\u001b[39;00mtime_range\u001b[38;5;132;01m!r}\u001b[39;00m\u001b[38;5;124m'\u001b[39m)\n", + "File \u001b[0;32m/opt/conda/envs/edc-default-2022.10-14/lib/python3.9/site-packages/xcube_sh/sentinelhub.py:432\u001b[0m, in \u001b[0;36mSentinelHub.get_data\u001b[0;34m(self, request, mime_type)\u001b[0m\n\u001b[1;32m 430\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m response_error\n\u001b[1;32m 431\u001b[0m \u001b[38;5;28;01melif\u001b[39;00m response \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n\u001b[0;32m--> 432\u001b[0m \u001b[43mSentinelHubError\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mmaybe_raise_for_response\u001b[49m\u001b[43m(\u001b[49m\u001b[43mresponse\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 433\u001b[0m \u001b[38;5;28;01melif\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39merror_policy \u001b[38;5;241m==\u001b[39m \u001b[38;5;124m'\u001b[39m\u001b[38;5;124mwarn\u001b[39m\u001b[38;5;124m'\u001b[39m \u001b[38;5;129;01mand\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39menable_warnings:\n\u001b[1;32m 434\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m response_error:\n", + "File \u001b[0;32m/opt/conda/envs/edc-default-2022.10-14/lib/python3.9/site-packages/xcube_sh/sentinelhub.py:655\u001b[0m, in \u001b[0;36mSentinelHubError.maybe_raise_for_response\u001b[0;34m(cls, response)\u001b[0m\n\u001b[1;32m 653\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m \u001b[38;5;167;01mException\u001b[39;00m:\n\u001b[1;32m 654\u001b[0m \u001b[38;5;28;01mpass\u001b[39;00m\n\u001b[0;32m--> 655\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m SentinelHubError(\u001b[38;5;124mf\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;132;01m{\u001b[39;00me\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m: \u001b[39m\u001b[38;5;132;01m{\u001b[39;00mdetail\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m'\u001b[39m \u001b[38;5;28;01mif\u001b[39;00m detail \u001b[38;5;28;01melse\u001b[39;00m \u001b[38;5;124mf\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;132;01m{\u001b[39;00me\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m'\u001b[39m,\n\u001b[1;32m 656\u001b[0m response\u001b[38;5;241m=\u001b[39mresponse) \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01me\u001b[39;00m\n", + "\u001b[0;31mSentinelHubError\u001b[0m: 400 Client Error: Bad Request for url: https://services.sentinel-hub.com/api/v1/process" + ] + } + ], + "source": [ + " cube_s1.localIncidenceAngle.sel(time='2018-05-10', method='nearest').plot.imshow(vmin=0, vmax=1)" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "400ecf6d-6b70-43e2-81e9-6298f0d17cf8", + "metadata": { + "collapsed": true, + "jupyter": { + "outputs_hidden": true + }, + "tags": [] + }, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Failed to fetch data from Sentinel Hub after 39.48806810379028 seconds and 200 retries\n", + "HTTP status code was 400\n" + ] + }, + { + "ename": "SentinelHubError", + "evalue": "400 Client Error: Bad Request for url: https://services.sentinel-hub.com/api/v1/process", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mKeyError\u001b[0m Traceback (most recent call last)", + "File \u001b[0;32m/opt/conda/envs/edc-default-2022.10-14/lib/python3.9/site-packages/zarr/storage.py:2434\u001b[0m, in \u001b[0;36mLRUStoreCache.__getitem__\u001b[0;34m(self, key)\u001b[0m\n\u001b[1;32m 2433\u001b[0m \u001b[38;5;28;01mwith\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_mutex:\n\u001b[0;32m-> 2434\u001b[0m value \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_values_cache\u001b[49m\u001b[43m[\u001b[49m\u001b[43mkey\u001b[49m\u001b[43m]\u001b[49m\n\u001b[1;32m 2435\u001b[0m \u001b[38;5;66;03m# cache hit if no KeyError is raised\u001b[39;00m\n", + "\u001b[0;31mKeyError\u001b[0m: 'shadowMask/16.0.0'", + "\nDuring handling of the above exception, another exception occurred:\n", + "\u001b[0;31mHTTPError\u001b[0m Traceback (most recent call last)", + "File \u001b[0;32m/opt/conda/envs/edc-default-2022.10-14/lib/python3.9/site-packages/xcube_sh/sentinelhub.py:645\u001b[0m, in \u001b[0;36mSentinelHubError.maybe_raise_for_response\u001b[0;34m(cls, response)\u001b[0m\n\u001b[1;32m 644\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[0;32m--> 645\u001b[0m \u001b[43mresponse\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mraise_for_status\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 646\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m requests\u001b[38;5;241m.\u001b[39mHTTPError \u001b[38;5;28;01mas\u001b[39;00m e:\n", + "File \u001b[0;32m/opt/conda/envs/edc-default-2022.10-14/lib/python3.9/site-packages/requests/models.py:1021\u001b[0m, in \u001b[0;36mResponse.raise_for_status\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 1020\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m http_error_msg:\n\u001b[0;32m-> 1021\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m HTTPError(http_error_msg, response\u001b[38;5;241m=\u001b[39m\u001b[38;5;28mself\u001b[39m)\n", + "\u001b[0;31mHTTPError\u001b[0m: 400 Client Error: Bad Request for url: https://services.sentinel-hub.com/api/v1/process", + "\nThe above exception was the direct cause of the following exception:\n", + "\u001b[0;31mSentinelHubError\u001b[0m Traceback (most recent call last)", + "Cell \u001b[0;32mIn [8], line 1\u001b[0m\n\u001b[0;32m----> 1\u001b[0m \u001b[43mcube_s1\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mshadowMask\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43msel\u001b[49m\u001b[43m(\u001b[49m\u001b[43mtime\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[38;5;124;43m2018-05-10\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mmethod\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[38;5;124;43mnearest\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[43m)\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mplot\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mimshow\u001b[49m\u001b[43m(\u001b[49m\u001b[43mvmin\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;241;43m0\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mvmax\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;241;43m1\u001b[39;49m\u001b[43m)\u001b[49m\n", + "File \u001b[0;32m/opt/conda/envs/edc-default-2022.10-14/lib/python3.9/site-packages/xarray/plot/plot.py:1311\u001b[0m, in \u001b[0;36m_plot2d..plotmethod\u001b[0;34m(_PlotMethods_obj, x, y, figsize, size, aspect, ax, row, col, col_wrap, xincrease, yincrease, add_colorbar, add_labels, vmin, vmax, cmap, colors, center, robust, extend, levels, infer_intervals, subplot_kws, cbar_ax, cbar_kwargs, xscale, yscale, xticks, yticks, xlim, ylim, norm, **kwargs)\u001b[0m\n\u001b[1;32m 1309\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m arg \u001b[38;5;129;01min\u001b[39;00m [\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m_PlotMethods_obj\u001b[39m\u001b[38;5;124m\"\u001b[39m, \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mnewplotfunc\u001b[39m\u001b[38;5;124m\"\u001b[39m, \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mkwargs\u001b[39m\u001b[38;5;124m\"\u001b[39m]:\n\u001b[1;32m 1310\u001b[0m \u001b[38;5;28;01mdel\u001b[39;00m allargs[arg]\n\u001b[0;32m-> 1311\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mnewplotfunc\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mallargs\u001b[49m\u001b[43m)\u001b[49m\n", + "File \u001b[0;32m/opt/conda/envs/edc-default-2022.10-14/lib/python3.9/site-packages/xarray/plot/plot.py:1175\u001b[0m, in \u001b[0;36m_plot2d..newplotfunc\u001b[0;34m(darray, x, y, figsize, size, aspect, ax, row, col, col_wrap, xincrease, yincrease, add_colorbar, add_labels, vmin, vmax, cmap, center, robust, extend, levels, infer_intervals, colors, subplot_kws, cbar_ax, cbar_kwargs, xscale, yscale, xticks, yticks, xlim, ylim, norm, **kwargs)\u001b[0m\n\u001b[1;32m 1172\u001b[0m yval \u001b[38;5;241m=\u001b[39m yval\u001b[38;5;241m.\u001b[39mto_numpy()\n\u001b[1;32m 1174\u001b[0m \u001b[38;5;66;03m# Pass the data as a masked ndarray too\u001b[39;00m\n\u001b[0;32m-> 1175\u001b[0m zval \u001b[38;5;241m=\u001b[39m \u001b[43mdarray\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mto_masked_array\u001b[49m\u001b[43m(\u001b[49m\u001b[43mcopy\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43;01mFalse\u001b[39;49;00m\u001b[43m)\u001b[49m\n\u001b[1;32m 1177\u001b[0m \u001b[38;5;66;03m# Replace pd.Intervals if contained in xval or yval.\u001b[39;00m\n\u001b[1;32m 1178\u001b[0m xplt, xlab_extra \u001b[38;5;241m=\u001b[39m _resolve_intervals_2dplot(xval, plotfunc\u001b[38;5;241m.\u001b[39m\u001b[38;5;18m__name__\u001b[39m)\n", + "File \u001b[0;32m/opt/conda/envs/edc-default-2022.10-14/lib/python3.9/site-packages/xarray/core/dataarray.py:3574\u001b[0m, in \u001b[0;36mDataArray.to_masked_array\u001b[0;34m(self, copy)\u001b[0m\n\u001b[1;32m 3560\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mto_masked_array\u001b[39m(\u001b[38;5;28mself\u001b[39m, copy: \u001b[38;5;28mbool\u001b[39m \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mTrue\u001b[39;00m) \u001b[38;5;241m-\u001b[39m\u001b[38;5;241m>\u001b[39m np\u001b[38;5;241m.\u001b[39mma\u001b[38;5;241m.\u001b[39mMaskedArray:\n\u001b[1;32m 3561\u001b[0m \u001b[38;5;124;03m\"\"\"Convert this array into a numpy.ma.MaskedArray\u001b[39;00m\n\u001b[1;32m 3562\u001b[0m \n\u001b[1;32m 3563\u001b[0m \u001b[38;5;124;03m Parameters\u001b[39;00m\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 3572\u001b[0m \u001b[38;5;124;03m Masked where invalid values (nan or inf) occur.\u001b[39;00m\n\u001b[1;32m 3573\u001b[0m \u001b[38;5;124;03m \"\"\"\u001b[39;00m\n\u001b[0;32m-> 3574\u001b[0m values \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mto_numpy\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m \u001b[38;5;66;03m# only compute lazy arrays once\u001b[39;00m\n\u001b[1;32m 3575\u001b[0m isnull \u001b[38;5;241m=\u001b[39m pd\u001b[38;5;241m.\u001b[39misnull(values)\n\u001b[1;32m 3576\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m np\u001b[38;5;241m.\u001b[39mma\u001b[38;5;241m.\u001b[39mMaskedArray(data\u001b[38;5;241m=\u001b[39mvalues, mask\u001b[38;5;241m=\u001b[39misnull, copy\u001b[38;5;241m=\u001b[39mcopy)\n", + "File \u001b[0;32m/opt/conda/envs/edc-default-2022.10-14/lib/python3.9/site-packages/xarray/core/dataarray.py:740\u001b[0m, in \u001b[0;36mDataArray.to_numpy\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 729\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mto_numpy\u001b[39m(\u001b[38;5;28mself\u001b[39m) \u001b[38;5;241m-\u001b[39m\u001b[38;5;241m>\u001b[39m np\u001b[38;5;241m.\u001b[39mndarray:\n\u001b[1;32m 730\u001b[0m \u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[1;32m 731\u001b[0m \u001b[38;5;124;03m Coerces wrapped data to numpy and returns a numpy.ndarray.\u001b[39;00m\n\u001b[1;32m 732\u001b[0m \n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 738\u001b[0m \u001b[38;5;124;03m DataArray.data\u001b[39;00m\n\u001b[1;32m 739\u001b[0m \u001b[38;5;124;03m \"\"\"\u001b[39;00m\n\u001b[0;32m--> 740\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mvariable\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mto_numpy\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n", + "File \u001b[0;32m/opt/conda/envs/edc-default-2022.10-14/lib/python3.9/site-packages/xarray/core/variable.py:1178\u001b[0m, in \u001b[0;36mVariable.to_numpy\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 1176\u001b[0m \u001b[38;5;66;03m# TODO first attempt to call .to_numpy() once some libraries implement it\u001b[39;00m\n\u001b[1;32m 1177\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mhasattr\u001b[39m(data, \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mchunks\u001b[39m\u001b[38;5;124m\"\u001b[39m):\n\u001b[0;32m-> 1178\u001b[0m data \u001b[38;5;241m=\u001b[39m \u001b[43mdata\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mcompute\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 1179\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28misinstance\u001b[39m(data, cupy_array_type):\n\u001b[1;32m 1180\u001b[0m data \u001b[38;5;241m=\u001b[39m data\u001b[38;5;241m.\u001b[39mget()\n", + "File \u001b[0;32m/opt/conda/envs/edc-default-2022.10-14/lib/python3.9/site-packages/dask/base.py:315\u001b[0m, in \u001b[0;36mDaskMethodsMixin.compute\u001b[0;34m(self, **kwargs)\u001b[0m\n\u001b[1;32m 291\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mcompute\u001b[39m(\u001b[38;5;28mself\u001b[39m, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs):\n\u001b[1;32m 292\u001b[0m \u001b[38;5;124;03m\"\"\"Compute this dask collection\u001b[39;00m\n\u001b[1;32m 293\u001b[0m \n\u001b[1;32m 294\u001b[0m \u001b[38;5;124;03m This turns a lazy Dask collection into its in-memory equivalent.\u001b[39;00m\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 313\u001b[0m \u001b[38;5;124;03m dask.base.compute\u001b[39;00m\n\u001b[1;32m 314\u001b[0m \u001b[38;5;124;03m \"\"\"\u001b[39;00m\n\u001b[0;32m--> 315\u001b[0m (result,) \u001b[38;5;241m=\u001b[39m \u001b[43mcompute\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mtraverse\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43;01mFalse\u001b[39;49;00m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 316\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m result\n", + "File \u001b[0;32m/opt/conda/envs/edc-default-2022.10-14/lib/python3.9/site-packages/dask/base.py:600\u001b[0m, in \u001b[0;36mcompute\u001b[0;34m(traverse, optimize_graph, scheduler, get, *args, **kwargs)\u001b[0m\n\u001b[1;32m 597\u001b[0m keys\u001b[38;5;241m.\u001b[39mappend(x\u001b[38;5;241m.\u001b[39m__dask_keys__())\n\u001b[1;32m 598\u001b[0m postcomputes\u001b[38;5;241m.\u001b[39mappend(x\u001b[38;5;241m.\u001b[39m__dask_postcompute__())\n\u001b[0;32m--> 600\u001b[0m results \u001b[38;5;241m=\u001b[39m \u001b[43mschedule\u001b[49m\u001b[43m(\u001b[49m\u001b[43mdsk\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mkeys\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 601\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m repack([f(r, \u001b[38;5;241m*\u001b[39ma) \u001b[38;5;28;01mfor\u001b[39;00m r, (f, a) \u001b[38;5;129;01min\u001b[39;00m \u001b[38;5;28mzip\u001b[39m(results, postcomputes)])\n", + "File \u001b[0;32m/opt/conda/envs/edc-default-2022.10-14/lib/python3.9/site-packages/dask/threaded.py:89\u001b[0m, in \u001b[0;36mget\u001b[0;34m(dsk, keys, cache, num_workers, pool, **kwargs)\u001b[0m\n\u001b[1;32m 86\u001b[0m \u001b[38;5;28;01melif\u001b[39;00m \u001b[38;5;28misinstance\u001b[39m(pool, multiprocessing\u001b[38;5;241m.\u001b[39mpool\u001b[38;5;241m.\u001b[39mPool):\n\u001b[1;32m 87\u001b[0m pool \u001b[38;5;241m=\u001b[39m MultiprocessingPoolExecutor(pool)\n\u001b[0;32m---> 89\u001b[0m results \u001b[38;5;241m=\u001b[39m \u001b[43mget_async\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 90\u001b[0m \u001b[43m \u001b[49m\u001b[43mpool\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43msubmit\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 91\u001b[0m \u001b[43m \u001b[49m\u001b[43mpool\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_max_workers\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 92\u001b[0m \u001b[43m \u001b[49m\u001b[43mdsk\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 93\u001b[0m \u001b[43m \u001b[49m\u001b[43mkeys\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 94\u001b[0m \u001b[43m \u001b[49m\u001b[43mcache\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mcache\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 95\u001b[0m \u001b[43m \u001b[49m\u001b[43mget_id\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43m_thread_get_id\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 96\u001b[0m \u001b[43m \u001b[49m\u001b[43mpack_exception\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mpack_exception\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 97\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 98\u001b[0m \u001b[43m\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 100\u001b[0m \u001b[38;5;66;03m# Cleanup pools associated to dead threads\u001b[39;00m\n\u001b[1;32m 101\u001b[0m \u001b[38;5;28;01mwith\u001b[39;00m pools_lock:\n", + "File \u001b[0;32m/opt/conda/envs/edc-default-2022.10-14/lib/python3.9/site-packages/dask/local.py:511\u001b[0m, in \u001b[0;36mget_async\u001b[0;34m(submit, num_workers, dsk, result, cache, get_id, rerun_exceptions_locally, pack_exception, raise_exception, callbacks, dumps, loads, chunksize, **kwargs)\u001b[0m\n\u001b[1;32m 509\u001b[0m _execute_task(task, data) \u001b[38;5;66;03m# Re-execute locally\u001b[39;00m\n\u001b[1;32m 510\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[0;32m--> 511\u001b[0m \u001b[43mraise_exception\u001b[49m\u001b[43m(\u001b[49m\u001b[43mexc\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mtb\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 512\u001b[0m res, worker_id \u001b[38;5;241m=\u001b[39m loads(res_info)\n\u001b[1;32m 513\u001b[0m state[\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mcache\u001b[39m\u001b[38;5;124m\"\u001b[39m][key] \u001b[38;5;241m=\u001b[39m res\n", + "File \u001b[0;32m/opt/conda/envs/edc-default-2022.10-14/lib/python3.9/site-packages/dask/local.py:319\u001b[0m, in \u001b[0;36mreraise\u001b[0;34m(exc, tb)\u001b[0m\n\u001b[1;32m 317\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m exc\u001b[38;5;241m.\u001b[39m__traceback__ \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m tb:\n\u001b[1;32m 318\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m exc\u001b[38;5;241m.\u001b[39mwith_traceback(tb)\n\u001b[0;32m--> 319\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m exc\n", + "File \u001b[0;32m/opt/conda/envs/edc-default-2022.10-14/lib/python3.9/site-packages/dask/local.py:224\u001b[0m, in \u001b[0;36mexecute_task\u001b[0;34m(key, task_info, dumps, loads, get_id, pack_exception)\u001b[0m\n\u001b[1;32m 222\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[1;32m 223\u001b[0m task, data \u001b[38;5;241m=\u001b[39m loads(task_info)\n\u001b[0;32m--> 224\u001b[0m result \u001b[38;5;241m=\u001b[39m \u001b[43m_execute_task\u001b[49m\u001b[43m(\u001b[49m\u001b[43mtask\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mdata\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 225\u001b[0m \u001b[38;5;28mid\u001b[39m \u001b[38;5;241m=\u001b[39m get_id()\n\u001b[1;32m 226\u001b[0m result \u001b[38;5;241m=\u001b[39m dumps((result, \u001b[38;5;28mid\u001b[39m))\n", + "File \u001b[0;32m/opt/conda/envs/edc-default-2022.10-14/lib/python3.9/site-packages/dask/core.py:119\u001b[0m, in \u001b[0;36m_execute_task\u001b[0;34m(arg, cache, dsk)\u001b[0m\n\u001b[1;32m 115\u001b[0m func, args \u001b[38;5;241m=\u001b[39m arg[\u001b[38;5;241m0\u001b[39m], arg[\u001b[38;5;241m1\u001b[39m:]\n\u001b[1;32m 116\u001b[0m \u001b[38;5;66;03m# Note: Don't assign the subtask results to a variable. numpy detects\u001b[39;00m\n\u001b[1;32m 117\u001b[0m \u001b[38;5;66;03m# temporaries by their reference count and can execute certain\u001b[39;00m\n\u001b[1;32m 118\u001b[0m \u001b[38;5;66;03m# operations in-place.\u001b[39;00m\n\u001b[0;32m--> 119\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mfunc\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43m(\u001b[49m\u001b[43m_execute_task\u001b[49m\u001b[43m(\u001b[49m\u001b[43ma\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mcache\u001b[49m\u001b[43m)\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;28;43;01mfor\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[43ma\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;129;43;01min\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[43margs\u001b[49m\u001b[43m)\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 120\u001b[0m \u001b[38;5;28;01melif\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m ishashable(arg):\n\u001b[1;32m 121\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m arg\n", + "File \u001b[0;32m/opt/conda/envs/edc-default-2022.10-14/lib/python3.9/site-packages/dask/array/core.py:127\u001b[0m, in \u001b[0;36mgetter\u001b[0;34m(a, b, asarray, lock)\u001b[0m\n\u001b[1;32m 122\u001b[0m \u001b[38;5;66;03m# Below we special-case `np.matrix` to force a conversion to\u001b[39;00m\n\u001b[1;32m 123\u001b[0m \u001b[38;5;66;03m# `np.ndarray` and preserve original Dask behavior for `getter`,\u001b[39;00m\n\u001b[1;32m 124\u001b[0m \u001b[38;5;66;03m# as for all purposes `np.matrix` is array-like and thus\u001b[39;00m\n\u001b[1;32m 125\u001b[0m \u001b[38;5;66;03m# `is_arraylike` evaluates to `True` in that case.\u001b[39;00m\n\u001b[1;32m 126\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m asarray \u001b[38;5;129;01mand\u001b[39;00m (\u001b[38;5;129;01mnot\u001b[39;00m is_arraylike(c) \u001b[38;5;129;01mor\u001b[39;00m \u001b[38;5;28misinstance\u001b[39m(c, np\u001b[38;5;241m.\u001b[39mmatrix)):\n\u001b[0;32m--> 127\u001b[0m c \u001b[38;5;241m=\u001b[39m \u001b[43mnp\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43masarray\u001b[49m\u001b[43m(\u001b[49m\u001b[43mc\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 128\u001b[0m \u001b[38;5;28;01mfinally\u001b[39;00m:\n\u001b[1;32m 129\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m lock:\n", + "File \u001b[0;32m/opt/conda/envs/edc-default-2022.10-14/lib/python3.9/site-packages/xarray/core/indexing.py:459\u001b[0m, in \u001b[0;36mImplicitToExplicitIndexingAdapter.__array__\u001b[0;34m(self, dtype)\u001b[0m\n\u001b[1;32m 458\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21m__array__\u001b[39m(\u001b[38;5;28mself\u001b[39m, dtype\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mNone\u001b[39;00m):\n\u001b[0;32m--> 459\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mnp\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43masarray\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43marray\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mdtype\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mdtype\u001b[49m\u001b[43m)\u001b[49m\n", + "File \u001b[0;32m/opt/conda/envs/edc-default-2022.10-14/lib/python3.9/site-packages/xarray/core/indexing.py:623\u001b[0m, in \u001b[0;36mCopyOnWriteArray.__array__\u001b[0;34m(self, dtype)\u001b[0m\n\u001b[1;32m 622\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21m__array__\u001b[39m(\u001b[38;5;28mself\u001b[39m, dtype\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mNone\u001b[39;00m):\n\u001b[0;32m--> 623\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mnp\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43masarray\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43marray\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mdtype\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mdtype\u001b[49m\u001b[43m)\u001b[49m\n", + "File \u001b[0;32m/opt/conda/envs/edc-default-2022.10-14/lib/python3.9/site-packages/xarray/core/indexing.py:524\u001b[0m, in \u001b[0;36mLazilyIndexedArray.__array__\u001b[0;34m(self, dtype)\u001b[0m\n\u001b[1;32m 522\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21m__array__\u001b[39m(\u001b[38;5;28mself\u001b[39m, dtype\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mNone\u001b[39;00m):\n\u001b[1;32m 523\u001b[0m array \u001b[38;5;241m=\u001b[39m as_indexable(\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39marray)\n\u001b[0;32m--> 524\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m np\u001b[38;5;241m.\u001b[39masarray(\u001b[43marray\u001b[49m\u001b[43m[\u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mkey\u001b[49m\u001b[43m]\u001b[49m, dtype\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mNone\u001b[39;00m)\n", + "File \u001b[0;32m/opt/conda/envs/edc-default-2022.10-14/lib/python3.9/site-packages/xarray/backends/zarr.py:76\u001b[0m, in \u001b[0;36mZarrArrayWrapper.__getitem__\u001b[0;34m(self, key)\u001b[0m\n\u001b[1;32m 74\u001b[0m array \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mget_array()\n\u001b[1;32m 75\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28misinstance\u001b[39m(key, indexing\u001b[38;5;241m.\u001b[39mBasicIndexer):\n\u001b[0;32m---> 76\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43marray\u001b[49m\u001b[43m[\u001b[49m\u001b[43mkey\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mtuple\u001b[49m\u001b[43m]\u001b[49m\n\u001b[1;32m 77\u001b[0m \u001b[38;5;28;01melif\u001b[39;00m \u001b[38;5;28misinstance\u001b[39m(key, indexing\u001b[38;5;241m.\u001b[39mVectorizedIndexer):\n\u001b[1;32m 78\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m array\u001b[38;5;241m.\u001b[39mvindex[\n\u001b[1;32m 79\u001b[0m indexing\u001b[38;5;241m.\u001b[39m_arrayize_vectorized_indexer(key, \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mshape)\u001b[38;5;241m.\u001b[39mtuple\n\u001b[1;32m 80\u001b[0m ]\n", + "File \u001b[0;32m/opt/conda/envs/edc-default-2022.10-14/lib/python3.9/site-packages/zarr/core.py:807\u001b[0m, in \u001b[0;36mArray.__getitem__\u001b[0;34m(self, selection)\u001b[0m\n\u001b[1;32m 805\u001b[0m result \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mvindex[selection]\n\u001b[1;32m 806\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[0;32m--> 807\u001b[0m result \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mget_basic_selection\u001b[49m\u001b[43m(\u001b[49m\u001b[43mpure_selection\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mfields\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mfields\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 808\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m result\n", + "File \u001b[0;32m/opt/conda/envs/edc-default-2022.10-14/lib/python3.9/site-packages/zarr/core.py:933\u001b[0m, in \u001b[0;36mArray.get_basic_selection\u001b[0;34m(self, selection, out, fields)\u001b[0m\n\u001b[1;32m 930\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_get_basic_selection_zd(selection\u001b[38;5;241m=\u001b[39mselection, out\u001b[38;5;241m=\u001b[39mout,\n\u001b[1;32m 931\u001b[0m fields\u001b[38;5;241m=\u001b[39mfields)\n\u001b[1;32m 932\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[0;32m--> 933\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_get_basic_selection_nd\u001b[49m\u001b[43m(\u001b[49m\u001b[43mselection\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mselection\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mout\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mout\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 934\u001b[0m \u001b[43m \u001b[49m\u001b[43mfields\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mfields\u001b[49m\u001b[43m)\u001b[49m\n", + "File \u001b[0;32m/opt/conda/envs/edc-default-2022.10-14/lib/python3.9/site-packages/zarr/core.py:976\u001b[0m, in \u001b[0;36mArray._get_basic_selection_nd\u001b[0;34m(self, selection, out, fields)\u001b[0m\n\u001b[1;32m 970\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21m_get_basic_selection_nd\u001b[39m(\u001b[38;5;28mself\u001b[39m, selection, out\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mNone\u001b[39;00m, fields\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mNone\u001b[39;00m):\n\u001b[1;32m 971\u001b[0m \u001b[38;5;66;03m# implementation of basic selection for array with at least one dimension\u001b[39;00m\n\u001b[1;32m 972\u001b[0m \n\u001b[1;32m 973\u001b[0m \u001b[38;5;66;03m# setup indexer\u001b[39;00m\n\u001b[1;32m 974\u001b[0m indexer \u001b[38;5;241m=\u001b[39m BasicIndexer(selection, \u001b[38;5;28mself\u001b[39m)\n\u001b[0;32m--> 976\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_get_selection\u001b[49m\u001b[43m(\u001b[49m\u001b[43mindexer\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mindexer\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mout\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mout\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mfields\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mfields\u001b[49m\u001b[43m)\u001b[49m\n", + "File \u001b[0;32m/opt/conda/envs/edc-default-2022.10-14/lib/python3.9/site-packages/zarr/core.py:1267\u001b[0m, in \u001b[0;36mArray._get_selection\u001b[0;34m(self, indexer, out, fields)\u001b[0m\n\u001b[1;32m 1261\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28mhasattr\u001b[39m(\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mchunk_store, \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mgetitems\u001b[39m\u001b[38;5;124m\"\u001b[39m) \u001b[38;5;129;01mor\u001b[39;00m \\\n\u001b[1;32m 1262\u001b[0m \u001b[38;5;28many\u001b[39m(\u001b[38;5;28mmap\u001b[39m(\u001b[38;5;28;01mlambda\u001b[39;00m x: x \u001b[38;5;241m==\u001b[39m \u001b[38;5;241m0\u001b[39m, \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mshape)):\n\u001b[1;32m 1263\u001b[0m \u001b[38;5;66;03m# sequentially get one key at a time from storage\u001b[39;00m\n\u001b[1;32m 1264\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m chunk_coords, chunk_selection, out_selection \u001b[38;5;129;01min\u001b[39;00m indexer:\n\u001b[1;32m 1265\u001b[0m \n\u001b[1;32m 1266\u001b[0m \u001b[38;5;66;03m# load chunk selection into output array\u001b[39;00m\n\u001b[0;32m-> 1267\u001b[0m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_chunk_getitem\u001b[49m\u001b[43m(\u001b[49m\u001b[43mchunk_coords\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mchunk_selection\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mout\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mout_selection\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 1268\u001b[0m \u001b[43m \u001b[49m\u001b[43mdrop_axes\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mindexer\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mdrop_axes\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mfields\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mfields\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 1269\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[1;32m 1270\u001b[0m \u001b[38;5;66;03m# allow storage to get multiple items at once\u001b[39;00m\n\u001b[1;32m 1271\u001b[0m lchunk_coords, lchunk_selection, lout_selection \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mzip\u001b[39m(\u001b[38;5;241m*\u001b[39mindexer)\n", + "File \u001b[0;32m/opt/conda/envs/edc-default-2022.10-14/lib/python3.9/site-packages/zarr/core.py:1966\u001b[0m, in \u001b[0;36mArray._chunk_getitem\u001b[0;34m(self, chunk_coords, chunk_selection, out, out_selection, drop_axes, fields)\u001b[0m\n\u001b[1;32m 1962\u001b[0m ckey \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_chunk_key(chunk_coords)\n\u001b[1;32m 1964\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[1;32m 1965\u001b[0m \u001b[38;5;66;03m# obtain compressed data for chunk\u001b[39;00m\n\u001b[0;32m-> 1966\u001b[0m cdata \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mchunk_store\u001b[49m\u001b[43m[\u001b[49m\u001b[43mckey\u001b[49m\u001b[43m]\u001b[49m\n\u001b[1;32m 1968\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m \u001b[38;5;167;01mKeyError\u001b[39;00m:\n\u001b[1;32m 1969\u001b[0m \u001b[38;5;66;03m# chunk not initialized\u001b[39;00m\n\u001b[1;32m 1970\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_fill_value \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n", + "File \u001b[0;32m/opt/conda/envs/edc-default-2022.10-14/lib/python3.9/site-packages/zarr/storage.py:2442\u001b[0m, in \u001b[0;36mLRUStoreCache.__getitem__\u001b[0;34m(self, key)\u001b[0m\n\u001b[1;32m 2438\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_values_cache\u001b[38;5;241m.\u001b[39mmove_to_end(key)\n\u001b[1;32m 2440\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m \u001b[38;5;167;01mKeyError\u001b[39;00m:\n\u001b[1;32m 2441\u001b[0m \u001b[38;5;66;03m# cache miss, retrieve value from the store\u001b[39;00m\n\u001b[0;32m-> 2442\u001b[0m value \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_store\u001b[49m\u001b[43m[\u001b[49m\u001b[43mkey\u001b[49m\u001b[43m]\u001b[49m\n\u001b[1;32m 2443\u001b[0m \u001b[38;5;28;01mwith\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_mutex:\n\u001b[1;32m 2444\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mmisses \u001b[38;5;241m+\u001b[39m\u001b[38;5;241m=\u001b[39m \u001b[38;5;241m1\u001b[39m\n", + "File \u001b[0;32m/opt/conda/envs/edc-default-2022.10-14/lib/python3.9/site-packages/zarr/storage.py:724\u001b[0m, in \u001b[0;36mKVStore.__getitem__\u001b[0;34m(self, key)\u001b[0m\n\u001b[1;32m 723\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21m__getitem__\u001b[39m(\u001b[38;5;28mself\u001b[39m, key):\n\u001b[0;32m--> 724\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_mutable_mapping\u001b[49m\u001b[43m[\u001b[49m\u001b[43mkey\u001b[49m\u001b[43m]\u001b[49m\n", + "File \u001b[0;32m/opt/conda/envs/edc-default-2022.10-14/lib/python3.9/site-packages/xcube_sh/chunkstore.py:508\u001b[0m, in \u001b[0;36mRemoteStore.__getitem__\u001b[0;34m(self, key)\u001b[0m\n\u001b[1;32m 506\u001b[0m value \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_vfs[key]\n\u001b[1;32m 507\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28misinstance\u001b[39m(value, \u001b[38;5;28mtuple\u001b[39m):\n\u001b[0;32m--> 508\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_fetch_chunk\u001b[49m\u001b[43m(\u001b[49m\u001b[43mkey\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mvalue\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 509\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m value\n", + "File \u001b[0;32m/opt/conda/envs/edc-default-2022.10-14/lib/python3.9/site-packages/xcube_sh/chunkstore.py:419\u001b[0m, in \u001b[0;36mRemoteStore._fetch_chunk\u001b[0;34m(self, key, band_name, chunk_index)\u001b[0m\n\u001b[1;32m 411\u001b[0m observer(band_name\u001b[38;5;241m=\u001b[39mband_name,\n\u001b[1;32m 412\u001b[0m chunk_index\u001b[38;5;241m=\u001b[39mchunk_index,\n\u001b[1;32m 413\u001b[0m bbox\u001b[38;5;241m=\u001b[39mrequest_bbox,\n\u001b[1;32m 414\u001b[0m time_range\u001b[38;5;241m=\u001b[39mrequest_time_range,\n\u001b[1;32m 415\u001b[0m duration\u001b[38;5;241m=\u001b[39mduration,\n\u001b[1;32m 416\u001b[0m exception\u001b[38;5;241m=\u001b[39mexception)\n\u001b[1;32m 418\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m exception:\n\u001b[0;32m--> 419\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m exception\n\u001b[1;32m 421\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m chunk_data\n", + "File \u001b[0;32m/opt/conda/envs/edc-default-2022.10-14/lib/python3.9/site-packages/xcube_sh/chunkstore.py:400\u001b[0m, in \u001b[0;36mRemoteStore._fetch_chunk\u001b[0;34m(self, key, band_name, chunk_index)\u001b[0m\n\u001b[1;32m 398\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[1;32m 399\u001b[0m exception \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mNone\u001b[39;00m\n\u001b[0;32m--> 400\u001b[0m chunk_data \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mfetch_chunk\u001b[49m\u001b[43m(\u001b[49m\u001b[43mkey\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 401\u001b[0m \u001b[43m \u001b[49m\u001b[43mband_name\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 402\u001b[0m \u001b[43m \u001b[49m\u001b[43mchunk_index\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 403\u001b[0m \u001b[43m \u001b[49m\u001b[43mbbox\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mrequest_bbox\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 404\u001b[0m \u001b[43m \u001b[49m\u001b[43mtime_range\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mrequest_time_range\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 405\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m \u001b[38;5;167;01mException\u001b[39;00m \u001b[38;5;28;01mas\u001b[39;00m e:\n\u001b[1;32m 406\u001b[0m exception \u001b[38;5;241m=\u001b[39m e\n", + "File \u001b[0;32m/opt/conda/envs/edc-default-2022.10-14/lib/python3.9/site-packages/xcube_sh/chunkstore.py:729\u001b[0m, in \u001b[0;36mSentinelHubChunkStore.fetch_chunk\u001b[0;34m(self, key, band_name, chunk_index, bbox, time_range)\u001b[0m\n\u001b[1;32m 712\u001b[0m band_sample_types \u001b[38;5;241m=\u001b[39m band_sample_types[index]\n\u001b[1;32m 714\u001b[0m request \u001b[38;5;241m=\u001b[39m SentinelHub\u001b[38;5;241m.\u001b[39mnew_data_request(\n\u001b[1;32m 715\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mcube_config\u001b[38;5;241m.\u001b[39mdataset_name,\n\u001b[1;32m 716\u001b[0m band_names,\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 726\u001b[0m band_units\u001b[38;5;241m=\u001b[39m\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mcube_config\u001b[38;5;241m.\u001b[39mband_units\n\u001b[1;32m 727\u001b[0m )\n\u001b[0;32m--> 729\u001b[0m response \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_sentinel_hub\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mget_data\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 730\u001b[0m \u001b[43m \u001b[49m\u001b[43mrequest\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 731\u001b[0m \u001b[43m \u001b[49m\u001b[43mmime_type\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[38;5;124;43mapplication/octet-stream\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\n\u001b[1;32m 732\u001b[0m \u001b[43m\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 734\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m response \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m \u001b[38;5;129;01mor\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m response\u001b[38;5;241m.\u001b[39mok:\n\u001b[1;32m 735\u001b[0m message \u001b[38;5;241m=\u001b[39m (\u001b[38;5;124mf\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;132;01m{\u001b[39;00mkey\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m: cannot fetch chunk for variable\u001b[39m\u001b[38;5;124m'\u001b[39m\n\u001b[1;32m 736\u001b[0m \u001b[38;5;124mf\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124m \u001b[39m\u001b[38;5;132;01m{\u001b[39;00mband_name\u001b[38;5;132;01m!r}\u001b[39;00m\u001b[38;5;124m, bbox \u001b[39m\u001b[38;5;132;01m{\u001b[39;00mbbox\u001b[38;5;132;01m!r}\u001b[39;00m\u001b[38;5;124m, and\u001b[39m\u001b[38;5;124m'\u001b[39m\n\u001b[1;32m 737\u001b[0m \u001b[38;5;124mf\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124m time_range \u001b[39m\u001b[38;5;132;01m{\u001b[39;00mtime_range\u001b[38;5;132;01m!r}\u001b[39;00m\u001b[38;5;124m'\u001b[39m)\n", + "File \u001b[0;32m/opt/conda/envs/edc-default-2022.10-14/lib/python3.9/site-packages/xcube_sh/sentinelhub.py:432\u001b[0m, in \u001b[0;36mSentinelHub.get_data\u001b[0;34m(self, request, mime_type)\u001b[0m\n\u001b[1;32m 430\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m response_error\n\u001b[1;32m 431\u001b[0m \u001b[38;5;28;01melif\u001b[39;00m response \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n\u001b[0;32m--> 432\u001b[0m \u001b[43mSentinelHubError\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mmaybe_raise_for_response\u001b[49m\u001b[43m(\u001b[49m\u001b[43mresponse\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 433\u001b[0m \u001b[38;5;28;01melif\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39merror_policy \u001b[38;5;241m==\u001b[39m \u001b[38;5;124m'\u001b[39m\u001b[38;5;124mwarn\u001b[39m\u001b[38;5;124m'\u001b[39m \u001b[38;5;129;01mand\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39menable_warnings:\n\u001b[1;32m 434\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m response_error:\n", + "File \u001b[0;32m/opt/conda/envs/edc-default-2022.10-14/lib/python3.9/site-packages/xcube_sh/sentinelhub.py:655\u001b[0m, in \u001b[0;36mSentinelHubError.maybe_raise_for_response\u001b[0;34m(cls, response)\u001b[0m\n\u001b[1;32m 653\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m \u001b[38;5;167;01mException\u001b[39;00m:\n\u001b[1;32m 654\u001b[0m \u001b[38;5;28;01mpass\u001b[39;00m\n\u001b[0;32m--> 655\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m SentinelHubError(\u001b[38;5;124mf\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;132;01m{\u001b[39;00me\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m: \u001b[39m\u001b[38;5;132;01m{\u001b[39;00mdetail\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m'\u001b[39m \u001b[38;5;28;01mif\u001b[39;00m detail \u001b[38;5;28;01melse\u001b[39;00m \u001b[38;5;124mf\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;132;01m{\u001b[39;00me\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m'\u001b[39m,\n\u001b[1;32m 656\u001b[0m response\u001b[38;5;241m=\u001b[39mresponse) \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01me\u001b[39;00m\n", + "\u001b[0;31mSentinelHubError\u001b[0m: 400 Client Error: Bad Request for url: https://services.sentinel-hub.com/api/v1/process" + ] + } + ], + "source": [ + " cube_s1.shadowMask.sel(time='2018-05-10', method='nearest').plot.imshow(vmin=0, vmax=1)" + ] + }, + { + "cell_type": "markdown", + "id": "2591fedd-570d-4d08-8838-1367e79f2f61", + "metadata": {}, + "source": [ + "## Sentinel-3 SLSTR" + ] + }, + { + "cell_type": "markdown", + "id": "23fb2162-81fc-400c-b514-afc70d8f3638", + "metadata": {}, + "source": [ + "Issues:\n", + "- S1 band have only values of 0 and 1" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "1a17aadb-87d9-488d-ae55-83c7e5cbaa38", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "['S1',\n", + " 'S2',\n", + " 'S3',\n", + " 'S4',\n", + " 'S4_A',\n", + " 'S4_B',\n", + " 'S5',\n", + " 'S5_A',\n", + " 'S5_B',\n", + " 'S6',\n", + " 'S6_A',\n", + " 'S6_B',\n", + " 'S7',\n", + " 'S8',\n", + " 'S9',\n", + " 'F1',\n", + " 'F2',\n", + " 'CLOUD_FRACTION',\n", + " 'SEA_ICE_FRACTION',\n", + " 'SEA_SURFACE_TEMPERATURE',\n", + " 'DEW_POINT',\n", + " 'SKIN_TEMPERATURE',\n", + " 'SNOW_ALBEDO',\n", + " 'SNOW_DEPTH',\n", + " 'SOIL_WETNESS',\n", + " 'TEMPERATURE',\n", + " 'TOTAL_COLUMN_OZONE',\n", + " 'TOTAL_COLUMN_WATER_VAPOR']" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "SentinelHub().band_names('S3SLSTR')" + ] + }, + { + "cell_type": "code", + "execution_count": 36, + "id": "d41ab428-5aa0-404f-835c-c35d508e2232", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/opt/conda/envs/edc-default-2022.10-14/lib/python3.9/site-packages/xcube_sh/config.py:248: FutureWarning: Units 'M', 'Y' and 'y' do not represent unambiguous timedelta values and will be removed in a future version.\n", + " time_tolerance = pd.to_timedelta(time_tolerance)\n" + ] + } + ], + "source": [ + "cube_config_s3 = CubeConfig(\n", + " dataset_name='S3SLSTR',\n", + " band_names=['S1'],\n", + " bbox=[11.02, 46.65, 11.36, 46.95],\n", + " spatial_res=0.009, # = 500 meters in degree>\n", + " upsampling='BILINEAR',\n", + " downsampling='BILINEAR',\n", + " time_range=['2018-02-01', '2018-06-30']\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 37, + "id": "011bf2c2-16a1-4e5f-9bbe-e7da146473dc", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "
<xarray.Dataset>\n",
+       "Dimensions:    (time: 230, lat: 33, lon: 38, bnds: 2)\n",
+       "Coordinates:\n",
+       "  * lat        (lat) float64 46.94 46.93 46.92 46.92 ... 46.68 46.67 46.66 46.65\n",
+       "  * lon        (lon) float64 11.02 11.03 11.04 11.05 ... 11.33 11.34 11.35 11.36\n",
+       "  * time       (time) datetime64[ns] 2018-02-01T20:13:30 ... 2018-06-29T21:16:59\n",
+       "    time_bnds  (time, bnds) datetime64[ns] dask.array<chunksize=(230, 2), meta=np.ndarray>\n",
+       "Dimensions without coordinates: bnds\n",
+       "Data variables:\n",
+       "    S1         (time, lat, lon) float32 dask.array<chunksize=(1, 33, 38), meta=np.ndarray>\n",
+       "Attributes:\n",
+       "    Conventions:             CF-1.7\n",
+       "    title:                   S3SLSTR Data Cube Subset\n",
+       "    history:                 [{'program': 'xcube_sh.chunkstore.SentinelHubChu...\n",
+       "    date_created:            2023-03-07T06:52:28.574972\n",
+       "    time_coverage_start:     2018-02-01T20:13:30.178000+00:00\n",
+       "    time_coverage_end:       2018-06-29T21:17:14.559000+00:00\n",
+       "    time_coverage_duration:  P148DT1H3M44.381S\n",
+       "    geospatial_lon_min:      11.02\n",
+       "    geospatial_lat_min:      46.65\n",
+       "    geospatial_lon_max:      11.362\n",
+       "    geospatial_lat_max:      46.946999999999996\n",
+       "    processing_level:        L1B
" + ], + "text/plain": [ + "\n", + "Dimensions: (time: 230, lat: 33, lon: 38, bnds: 2)\n", + "Coordinates:\n", + " * lat (lat) float64 46.94 46.93 46.92 46.92 ... 46.68 46.67 46.66 46.65\n", + " * lon (lon) float64 11.02 11.03 11.04 11.05 ... 11.33 11.34 11.35 11.36\n", + " * time (time) datetime64[ns] 2018-02-01T20:13:30 ... 2018-06-29T21:16:59\n", + " time_bnds (time, bnds) datetime64[ns] dask.array\n", + "Dimensions without coordinates: bnds\n", + "Data variables:\n", + " S1 (time, lat, lon) float32 dask.array\n", + "Attributes:\n", + " Conventions: CF-1.7\n", + " title: S3SLSTR Data Cube Subset\n", + " history: [{'program': 'xcube_sh.chunkstore.SentinelHubChu...\n", + " date_created: 2023-03-07T06:52:28.574972\n", + " time_coverage_start: 2018-02-01T20:13:30.178000+00:00\n", + " time_coverage_end: 2018-06-29T21:17:14.559000+00:00\n", + " time_coverage_duration: P148DT1H3M44.381S\n", + " geospatial_lon_min: 11.02\n", + " geospatial_lat_min: 46.65\n", + " geospatial_lon_max: 11.362\n", + " geospatial_lat_max: 46.946999999999996\n", + " processing_level: L1B" + ] + }, + "execution_count": 37, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "cube_s3 = open_cube(cube_config_s3, api_url=\"https://creodias.sentinel-hub.com\")\n", + "cube_s3" + ] + }, + { + "cell_type": "code", + "execution_count": 38, + "id": "83f26262-a518-4e03-bc59-a52f174e2bfc", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 38, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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fYS2bduK3mSNiIiIRKqE7TfGjRuntC5QsU2bNimltWjRAomJiaLudeLECQwaNAg3btyA8MqEKYlEAqlUqnaZ5RYQvVpBIiIiIm0YO3YsfHx8sHfvXtjb26u8eHRZyi0gIiIioopXGUNmFe3y5cv46aef0KRJE62VyYCIRKnMJf0rczl/biVQOfi9V47q8r1zi5FX6MFu923btsWVK1cYEBEREZH++vTTTzF58mTcvn0bnp6eMDY2Vjjv5eWldpkMiIiIiHSK5P8PTa6v2t59910AwKhRo+RpEolEvjp2lZpU7eTkpBSxERERUTnTgyGz69eva73McguI/vzzz/IqmoiIiPRY8fpG2qRSQFS7dm2VX2m7f/++RhUiIiIiDehBD1GxixcvIjMzE4WFhQrpvXr1UrsslQKiFStWqF0wERERVQIt7XZflV27dg2hoaE4f/68fO4QAHnnTbnNIRo+fLjaBRMRERGVh7CwMLi4uODAgQNwdXXFqVOncO/ePUyePBmff/65qDI1mkP09OlTPH/+XCHNyspKkyKJiIhIA4Lw4tDk+qru+PHj+P3331GvXj0YGBjAwMAA/v7+iI6OxoQJE5Camqp2mQbqXpCfn49PPvkEtra2sLCwQO3atRUOIiIiqkSCFo4qTiqVwsLCAgBQt25d3Lp1C8CLydaXLl0SVabaAdG0adPw+++/IyYmBqampli3bh3mzZsHBwcHxMXFiaoEERERaUnxHCJNjirOw8MD586dA/Bi1eolS5bg2LFjmD9/vuhN5dUeMtuzZw/i4uLQsWNHjBo1Ch06dECTJk3g5OSELVu2YPDgwaIqossqe1l5IiJdps7WGfz3WDfMmjUL+fn5AICoqCi888476NChA2xsbLB161ZRZaodEN2/fx8uLi4AXswXKn7N3t/fHx9//LGoShAREZF2SIQXhybXV3UhISHyP7u6uuLixYu4f/++WssEvUrtITNXV1f8/fffAAB3d3ds374dwIueo1q1aomqBBEREWmJHswhGjVqFB4/fqyQVqdOHTx58kRhOw91qB0QjRw5En/88QcAYObMmfK5RJMmTcLUqVNFVYKIiIhIVd9++y2ePn2qlP706VPR85nVHjKbNGmS/M9BQUH466+/cObMGTRu3BgtW7YUVQkiIiLSEh1emDE3NxeCIEAQBDx+/BhmZmbyc1KpFPHx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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "cube_s3.S1.sel(time='2018-06-25', method='nearest').plot.imshow()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "6950a9fe-8d03-466f-99a1-faca119ba887", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "5b7bf7a3-e5c8-4a89-a9dc-2cd8712a09ec", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "6d08ff9f-8ce1-460a-aff8-a7e436cb2d0a", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "default *", + "language": "python", + "name": "conda-env-default-py" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.8" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/_sources/README.md b/_sources/README.md new file mode 100644 index 0000000..f2af476 --- /dev/null +++ b/_sources/README.md @@ -0,0 +1,8 @@ +# Lectures +This is the place where the content of the lectures is stored. Every lecture has its own folder. + +## Structure +In the lectures folder there is +- Markdown File: The main markdown file compiling all the information that will be displayed in the course. +- Assets: A folder called `assests`. It holds all media used in the lecture, e.g. images, videos, interactive graphics, code snippets, etc. +- Exercises: If there are coding exercises in a lesson, the according notebooks and data are stored here. diff --git a/_sphinx_design_static/design-tabs.js b/_sphinx_design_static/design-tabs.js new file mode 100644 index 0000000..b25bd6a --- /dev/null +++ b/_sphinx_design_static/design-tabs.js @@ -0,0 +1,101 @@ +// @ts-check + +// Extra JS capability for selected tabs to be synced +// The selection is stored in local storage so that it persists across page loads. + +/** + * @type {Record} + */ +let sd_id_to_elements = {}; +const storageKeyPrefix = "sphinx-design-tab-id-"; + +/** + * Create a key for a tab element. + * @param {HTMLElement} el - The tab element. + * @returns {[string, string, string] | null} - The key. + * + */ +function create_key(el) { + let syncId = el.getAttribute("data-sync-id"); + let syncGroup = el.getAttribute("data-sync-group"); + if (!syncId || !syncGroup) return null; + return [syncGroup, syncId, syncGroup + "--" + syncId]; +} + +/** + * Initialize the tab selection. + * + */ +function ready() { + // Find all tabs with sync data + + /** @type {string[]} */ + let groups = []; + + document.querySelectorAll(".sd-tab-label").forEach((label) => { + if (label instanceof HTMLElement) { + let data = create_key(label); + if (data) { + let [group, id, key] = data; + + // add click event listener + // @ts-ignore + label.onclick = onSDLabelClick; + + // store map of key to elements + if (!sd_id_to_elements[key]) { + sd_id_to_elements[key] = []; + } + sd_id_to_elements[key].push(label); + + if (groups.indexOf(group) === -1) { + groups.push(group); + // Check if a specific tab has been selected via URL parameter + const tabParam = new URLSearchParams(window.location.search).get( + group + ); + if (tabParam) { + console.log( + "sphinx-design: Selecting tab id for group '" + + group + + "' from URL parameter: " + + tabParam + ); + window.sessionStorage.setItem(storageKeyPrefix + group, tabParam); + } + } + + // Check is a specific tab has been selected previously + let previousId = window.sessionStorage.getItem( + storageKeyPrefix + group + ); + if (previousId === id) { + // console.log( + // "sphinx-design: Selecting tab from session storage: " + id + // ); + // @ts-ignore + label.previousElementSibling.checked = true; + } + } + } + }); +} + +/** + * Activate other tabs with the same sync id. + * + * @this {HTMLElement} - The element that was clicked. + */ +function onSDLabelClick() { + let data = create_key(this); + if (!data) return; + let [group, id, key] = data; + for (const label of sd_id_to_elements[key]) { + if (label === this) continue; + // @ts-ignore + label.previousElementSibling.checked = true; + } + window.sessionStorage.setItem(storageKeyPrefix + group, id); +} + +document.addEventListener("DOMContentLoaded", ready, false); diff --git a/_sphinx_design_static/sphinx-design.min.css b/_sphinx_design_static/sphinx-design.min.css new file mode 100644 index 0000000..860c36d --- /dev/null +++ b/_sphinx_design_static/sphinx-design.min.css @@ -0,0 +1 @@ +.sd-bg-primary{background-color:var(--sd-color-primary) !important}.sd-bg-text-primary{color:var(--sd-color-primary-text) !important}button.sd-bg-primary:focus,button.sd-bg-primary:hover{background-color:var(--sd-color-primary-highlight) !important}a.sd-bg-primary:focus,a.sd-bg-primary:hover{background-color:var(--sd-color-primary-highlight) !important}.sd-bg-secondary{background-color:var(--sd-color-secondary) !important}.sd-bg-text-secondary{color:var(--sd-color-secondary-text) !important}button.sd-bg-secondary:focus,button.sd-bg-secondary:hover{background-color:var(--sd-color-secondary-highlight) !important}a.sd-bg-secondary:focus,a.sd-bg-secondary:hover{background-color:var(--sd-color-secondary-highlight) !important}.sd-bg-success{background-color:var(--sd-color-success) !important}.sd-bg-text-success{color:var(--sd-color-success-text) !important}button.sd-bg-success:focus,button.sd-bg-success:hover{background-color:var(--sd-color-success-highlight) !important}a.sd-bg-success:focus,a.sd-bg-success:hover{background-color:var(--sd-color-success-highlight) !important}.sd-bg-info{background-color:var(--sd-color-info) !important}.sd-bg-text-info{color:var(--sd-color-info-text) !important}button.sd-bg-info:focus,button.sd-bg-info:hover{background-color:var(--sd-color-info-highlight) !important}a.sd-bg-info:focus,a.sd-bg-info:hover{background-color:var(--sd-color-info-highlight) !important}.sd-bg-warning{background-color:var(--sd-color-warning) !important}.sd-bg-text-warning{color:var(--sd-color-warning-text) !important}button.sd-bg-warning:focus,button.sd-bg-warning:hover{background-color:var(--sd-color-warning-highlight) !important}a.sd-bg-warning:focus,a.sd-bg-warning:hover{background-color:var(--sd-color-warning-highlight) !important}.sd-bg-danger{background-color:var(--sd-color-danger) !important}.sd-bg-text-danger{color:var(--sd-color-danger-text) !important}button.sd-bg-danger:focus,button.sd-bg-danger:hover{background-color:var(--sd-color-danger-highlight) !important}a.sd-bg-danger:focus,a.sd-bg-danger:hover{background-color:var(--sd-color-danger-highlight) !important}.sd-bg-light{background-color:var(--sd-color-light) !important}.sd-bg-text-light{color:var(--sd-color-light-text) !important}button.sd-bg-light:focus,button.sd-bg-light:hover{background-color:var(--sd-color-light-highlight) !important}a.sd-bg-light:focus,a.sd-bg-light:hover{background-color:var(--sd-color-light-highlight) !important}.sd-bg-muted{background-color:var(--sd-color-muted) !important}.sd-bg-text-muted{color:var(--sd-color-muted-text) !important}button.sd-bg-muted:focus,button.sd-bg-muted:hover{background-color:var(--sd-color-muted-highlight) !important}a.sd-bg-muted:focus,a.sd-bg-muted:hover{background-color:var(--sd-color-muted-highlight) !important}.sd-bg-dark{background-color:var(--sd-color-dark) !important}.sd-bg-text-dark{color:var(--sd-color-dark-text) !important}button.sd-bg-dark:focus,button.sd-bg-dark:hover{background-color:var(--sd-color-dark-highlight) !important}a.sd-bg-dark:focus,a.sd-bg-dark:hover{background-color:var(--sd-color-dark-highlight) !important}.sd-bg-black{background-color:var(--sd-color-black) !important}.sd-bg-text-black{color:var(--sd-color-black-text) !important}button.sd-bg-black:focus,button.sd-bg-black:hover{background-color:var(--sd-color-black-highlight) !important}a.sd-bg-black:focus,a.sd-bg-black:hover{background-color:var(--sd-color-black-highlight) !important}.sd-bg-white{background-color:var(--sd-color-white) !important}.sd-bg-text-white{color:var(--sd-color-white-text) !important}button.sd-bg-white:focus,button.sd-bg-white:hover{background-color:var(--sd-color-white-highlight) !important}a.sd-bg-white:focus,a.sd-bg-white:hover{background-color:var(--sd-color-white-highlight) !important}.sd-text-primary,.sd-text-primary>p{color:var(--sd-color-primary) !important}a.sd-text-primary:focus,a.sd-text-primary:hover{color:var(--sd-color-primary-highlight) !important}.sd-text-secondary,.sd-text-secondary>p{color:var(--sd-color-secondary) !important}a.sd-text-secondary:focus,a.sd-text-secondary:hover{color:var(--sd-color-secondary-highlight) !important}.sd-text-success,.sd-text-success>p{color:var(--sd-color-success) !important}a.sd-text-success:focus,a.sd-text-success:hover{color:var(--sd-color-success-highlight) !important}.sd-text-info,.sd-text-info>p{color:var(--sd-color-info) !important}a.sd-text-info:focus,a.sd-text-info:hover{color:var(--sd-color-info-highlight) !important}.sd-text-warning,.sd-text-warning>p{color:var(--sd-color-warning) !important}a.sd-text-warning:focus,a.sd-text-warning:hover{color:var(--sd-color-warning-highlight) !important}.sd-text-danger,.sd-text-danger>p{color:var(--sd-color-danger) !important}a.sd-text-danger:focus,a.sd-text-danger:hover{color:var(--sd-color-danger-highlight) !important}.sd-text-light,.sd-text-light>p{color:var(--sd-color-light) !important}a.sd-text-light:focus,a.sd-text-light:hover{color:var(--sd-color-light-highlight) !important}.sd-text-muted,.sd-text-muted>p{color:var(--sd-color-muted) !important}a.sd-text-muted:focus,a.sd-text-muted:hover{color:var(--sd-color-muted-highlight) !important}.sd-text-dark,.sd-text-dark>p{color:var(--sd-color-dark) !important}a.sd-text-dark:focus,a.sd-text-dark:hover{color:var(--sd-color-dark-highlight) !important}.sd-text-black,.sd-text-black>p{color:var(--sd-color-black) !important}a.sd-text-black:focus,a.sd-text-black:hover{color:var(--sd-color-black-highlight) !important}.sd-text-white,.sd-text-white>p{color:var(--sd-color-white) !important}a.sd-text-white:focus,a.sd-text-white:hover{color:var(--sd-color-white-highlight) !important}.sd-outline-primary{border-color:var(--sd-color-primary) !important;border-style:solid !important;border-width:1px !important}a.sd-outline-primary:focus,a.sd-outline-primary:hover{border-color:var(--sd-color-primary-highlight) !important}.sd-outline-secondary{border-color:var(--sd-color-secondary) !important;border-style:solid !important;border-width:1px !important}a.sd-outline-secondary:focus,a.sd-outline-secondary:hover{border-color:var(--sd-color-secondary-highlight) !important}.sd-outline-success{border-color:var(--sd-color-success) !important;border-style:solid !important;border-width:1px !important}a.sd-outline-success:focus,a.sd-outline-success:hover{border-color:var(--sd-color-success-highlight) !important}.sd-outline-info{border-color:var(--sd-color-info) !important;border-style:solid !important;border-width:1px !important}a.sd-outline-info:focus,a.sd-outline-info:hover{border-color:var(--sd-color-info-highlight) !important}.sd-outline-warning{border-color:var(--sd-color-warning) !important;border-style:solid !important;border-width:1px !important}a.sd-outline-warning:focus,a.sd-outline-warning:hover{border-color:var(--sd-color-warning-highlight) !important}.sd-outline-danger{border-color:var(--sd-color-danger) !important;border-style:solid !important;border-width:1px !important}a.sd-outline-danger:focus,a.sd-outline-danger:hover{border-color:var(--sd-color-danger-highlight) !important}.sd-outline-light{border-color:var(--sd-color-light) !important;border-style:solid !important;border-width:1px !important}a.sd-outline-light:focus,a.sd-outline-light:hover{border-color:var(--sd-color-light-highlight) !important}.sd-outline-muted{border-color:var(--sd-color-muted) !important;border-style:solid !important;border-width:1px !important}a.sd-outline-muted:focus,a.sd-outline-muted:hover{border-color:var(--sd-color-muted-highlight) !important}.sd-outline-dark{border-color:var(--sd-color-dark) !important;border-style:solid !important;border-width:1px !important}a.sd-outline-dark:focus,a.sd-outline-dark:hover{border-color:var(--sd-color-dark-highlight) !important}.sd-outline-black{border-color:var(--sd-color-black) !important;border-style:solid !important;border-width:1px !important}a.sd-outline-black:focus,a.sd-outline-black:hover{border-color:var(--sd-color-black-highlight) !important}.sd-outline-white{border-color:var(--sd-color-white) !important;border-style:solid !important;border-width:1px !important}a.sd-outline-white:focus,a.sd-outline-white:hover{border-color:var(--sd-color-white-highlight) !important}.sd-bg-transparent{background-color:transparent !important}.sd-outline-transparent{border-color:transparent !important}.sd-text-transparent{color:transparent !important}.sd-p-0{padding:0 !important}.sd-pt-0,.sd-py-0{padding-top:0 !important}.sd-pr-0,.sd-px-0{padding-right:0 !important}.sd-pb-0,.sd-py-0{padding-bottom:0 !important}.sd-pl-0,.sd-px-0{padding-left:0 !important}.sd-p-1{padding:.25rem !important}.sd-pt-1,.sd-py-1{padding-top:.25rem !important}.sd-pr-1,.sd-px-1{padding-right:.25rem !important}.sd-pb-1,.sd-py-1{padding-bottom:.25rem !important}.sd-pl-1,.sd-px-1{padding-left:.25rem !important}.sd-p-2{padding:.5rem !important}.sd-pt-2,.sd-py-2{padding-top:.5rem !important}.sd-pr-2,.sd-px-2{padding-right:.5rem !important}.sd-pb-2,.sd-py-2{padding-bottom:.5rem !important}.sd-pl-2,.sd-px-2{padding-left:.5rem !important}.sd-p-3{padding:1rem !important}.sd-pt-3,.sd-py-3{padding-top:1rem !important}.sd-pr-3,.sd-px-3{padding-right:1rem !important}.sd-pb-3,.sd-py-3{padding-bottom:1rem !important}.sd-pl-3,.sd-px-3{padding-left:1rem !important}.sd-p-4{padding:1.5rem !important}.sd-pt-4,.sd-py-4{padding-top:1.5rem !important}.sd-pr-4,.sd-px-4{padding-right:1.5rem !important}.sd-pb-4,.sd-py-4{padding-bottom:1.5rem !important}.sd-pl-4,.sd-px-4{padding-left:1.5rem !important}.sd-p-5{padding:3rem !important}.sd-pt-5,.sd-py-5{padding-top:3rem !important}.sd-pr-5,.sd-px-5{padding-right:3rem !important}.sd-pb-5,.sd-py-5{padding-bottom:3rem !important}.sd-pl-5,.sd-px-5{padding-left:3rem !important}.sd-m-auto{margin:auto !important}.sd-mt-auto,.sd-my-auto{margin-top:auto !important}.sd-mr-auto,.sd-mx-auto{margin-right:auto !important}.sd-mb-auto,.sd-my-auto{margin-bottom:auto !important}.sd-ml-auto,.sd-mx-auto{margin-left:auto !important}.sd-m-0{margin:0 !important}.sd-mt-0,.sd-my-0{margin-top:0 !important}.sd-mr-0,.sd-mx-0{margin-right:0 !important}.sd-mb-0,.sd-my-0{margin-bottom:0 !important}.sd-ml-0,.sd-mx-0{margin-left:0 !important}.sd-m-1{margin:.25rem !important}.sd-mt-1,.sd-my-1{margin-top:.25rem !important}.sd-mr-1,.sd-mx-1{margin-right:.25rem !important}.sd-mb-1,.sd-my-1{margin-bottom:.25rem !important}.sd-ml-1,.sd-mx-1{margin-left:.25rem !important}.sd-m-2{margin:.5rem !important}.sd-mt-2,.sd-my-2{margin-top:.5rem !important}.sd-mr-2,.sd-mx-2{margin-right:.5rem !important}.sd-mb-2,.sd-my-2{margin-bottom:.5rem !important}.sd-ml-2,.sd-mx-2{margin-left:.5rem !important}.sd-m-3{margin:1rem !important}.sd-mt-3,.sd-my-3{margin-top:1rem !important}.sd-mr-3,.sd-mx-3{margin-right:1rem !important}.sd-mb-3,.sd-my-3{margin-bottom:1rem !important}.sd-ml-3,.sd-mx-3{margin-left:1rem !important}.sd-m-4{margin:1.5rem !important}.sd-mt-4,.sd-my-4{margin-top:1.5rem !important}.sd-mr-4,.sd-mx-4{margin-right:1.5rem !important}.sd-mb-4,.sd-my-4{margin-bottom:1.5rem !important}.sd-ml-4,.sd-mx-4{margin-left:1.5rem !important}.sd-m-5{margin:3rem !important}.sd-mt-5,.sd-my-5{margin-top:3rem !important}.sd-mr-5,.sd-mx-5{margin-right:3rem !important}.sd-mb-5,.sd-my-5{margin-bottom:3rem !important}.sd-ml-5,.sd-mx-5{margin-left:3rem !important}.sd-w-25{width:25% !important}.sd-w-50{width:50% !important}.sd-w-75{width:75% !important}.sd-w-100{width:100% !important}.sd-w-auto{width:auto !important}.sd-h-25{height:25% !important}.sd-h-50{height:50% !important}.sd-h-75{height:75% !important}.sd-h-100{height:100% !important}.sd-h-auto{height:auto !important}.sd-d-none{display:none !important}.sd-d-inline{display:inline !important}.sd-d-inline-block{display:inline-block !important}.sd-d-block{display:block !important}.sd-d-grid{display:grid !important}.sd-d-flex-row{display:-ms-flexbox !important;display:flex !important;flex-direction:row !important}.sd-d-flex-column{display:-ms-flexbox !important;display:flex !important;flex-direction:column !important}.sd-d-inline-flex{display:-ms-inline-flexbox !important;display:inline-flex !important}@media(min-width: 576px){.sd-d-sm-none{display:none !important}.sd-d-sm-inline{display:inline !important}.sd-d-sm-inline-block{display:inline-block !important}.sd-d-sm-block{display:block !important}.sd-d-sm-grid{display:grid !important}.sd-d-sm-flex{display:-ms-flexbox !important;display:flex !important}.sd-d-sm-inline-flex{display:-ms-inline-flexbox !important;display:inline-flex !important}}@media(min-width: 768px){.sd-d-md-none{display:none !important}.sd-d-md-inline{display:inline !important}.sd-d-md-inline-block{display:inline-block !important}.sd-d-md-block{display:block !important}.sd-d-md-grid{display:grid !important}.sd-d-md-flex{display:-ms-flexbox !important;display:flex !important}.sd-d-md-inline-flex{display:-ms-inline-flexbox !important;display:inline-flex !important}}@media(min-width: 992px){.sd-d-lg-none{display:none !important}.sd-d-lg-inline{display:inline !important}.sd-d-lg-inline-block{display:inline-block !important}.sd-d-lg-block{display:block !important}.sd-d-lg-grid{display:grid !important}.sd-d-lg-flex{display:-ms-flexbox !important;display:flex !important}.sd-d-lg-inline-flex{display:-ms-inline-flexbox !important;display:inline-flex !important}}@media(min-width: 1200px){.sd-d-xl-none{display:none !important}.sd-d-xl-inline{display:inline !important}.sd-d-xl-inline-block{display:inline-block !important}.sd-d-xl-block{display:block !important}.sd-d-xl-grid{display:grid !important}.sd-d-xl-flex{display:-ms-flexbox !important;display:flex !important}.sd-d-xl-inline-flex{display:-ms-inline-flexbox !important;display:inline-flex !important}}.sd-align-major-start{justify-content:flex-start !important}.sd-align-major-end{justify-content:flex-end !important}.sd-align-major-center{justify-content:center !important}.sd-align-major-justify{justify-content:space-between !important}.sd-align-major-spaced{justify-content:space-evenly !important}.sd-align-minor-start{align-items:flex-start !important}.sd-align-minor-end{align-items:flex-end !important}.sd-align-minor-center{align-items:center !important}.sd-align-minor-stretch{align-items:stretch !important}.sd-text-justify{text-align:justify !important}.sd-text-left{text-align:left !important}.sd-text-right{text-align:right !important}.sd-text-center{text-align:center !important}.sd-font-weight-light{font-weight:300 !important}.sd-font-weight-lighter{font-weight:lighter !important}.sd-font-weight-normal{font-weight:400 !important}.sd-font-weight-bold{font-weight:700 !important}.sd-font-weight-bolder{font-weight:bolder !important}.sd-font-italic{font-style:italic !important}.sd-text-decoration-none{text-decoration:none !important}.sd-text-lowercase{text-transform:lowercase !important}.sd-text-uppercase{text-transform:uppercase !important}.sd-text-capitalize{text-transform:capitalize !important}.sd-text-wrap{white-space:normal !important}.sd-text-nowrap{white-space:nowrap !important}.sd-text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sd-fs-1,.sd-fs-1>p{font-size:calc(1.375rem + 1.5vw) !important;line-height:unset !important}.sd-fs-2,.sd-fs-2>p{font-size:calc(1.325rem + 0.9vw) !important;line-height:unset !important}.sd-fs-3,.sd-fs-3>p{font-size:calc(1.3rem + 0.6vw) !important;line-height:unset !important}.sd-fs-4,.sd-fs-4>p{font-size:calc(1.275rem + 0.3vw) !important;line-height:unset !important}.sd-fs-5,.sd-fs-5>p{font-size:1.25rem !important;line-height:unset !important}.sd-fs-6,.sd-fs-6>p{font-size:1rem !important;line-height:unset !important}.sd-border-0{border:0 solid !important}.sd-border-top-0{border-top:0 solid !important}.sd-border-bottom-0{border-bottom:0 solid !important}.sd-border-right-0{border-right:0 solid !important}.sd-border-left-0{border-left:0 solid !important}.sd-border-1{border:1px solid !important}.sd-border-top-1{border-top:1px solid !important}.sd-border-bottom-1{border-bottom:1px solid !important}.sd-border-right-1{border-right:1px solid !important}.sd-border-left-1{border-left:1px solid !important}.sd-border-2{border:2px solid !important}.sd-border-top-2{border-top:2px solid !important}.sd-border-bottom-2{border-bottom:2px solid !important}.sd-border-right-2{border-right:2px solid !important}.sd-border-left-2{border-left:2px solid !important}.sd-border-3{border:3px solid !important}.sd-border-top-3{border-top:3px solid !important}.sd-border-bottom-3{border-bottom:3px solid !important}.sd-border-right-3{border-right:3px solid !important}.sd-border-left-3{border-left:3px solid !important}.sd-border-4{border:4px solid !important}.sd-border-top-4{border-top:4px solid !important}.sd-border-bottom-4{border-bottom:4px solid !important}.sd-border-right-4{border-right:4px solid !important}.sd-border-left-4{border-left:4px solid !important}.sd-border-5{border:5px solid !important}.sd-border-top-5{border-top:5px solid !important}.sd-border-bottom-5{border-bottom:5px solid !important}.sd-border-right-5{border-right:5px solid !important}.sd-border-left-5{border-left:5px solid !important}.sd-rounded-0{border-radius:0 !important}.sd-rounded-1{border-radius:.2rem !important}.sd-rounded-2{border-radius:.3rem !important}.sd-rounded-3{border-radius:.5rem !important}.sd-rounded-pill{border-radius:50rem !important}.sd-rounded-circle{border-radius:50% !important}.shadow-none{box-shadow:none !important}.sd-shadow-sm{box-shadow:0 .125rem .25rem var(--sd-color-shadow) !important}.sd-shadow-md{box-shadow:0 .5rem 1rem var(--sd-color-shadow) !important}.sd-shadow-lg{box-shadow:0 1rem 3rem var(--sd-color-shadow) !important}@keyframes sd-slide-from-left{0%{transform:translateX(-100%)}100%{transform:translateX(0)}}@keyframes sd-slide-from-right{0%{transform:translateX(200%)}100%{transform:translateX(0)}}@keyframes sd-grow100{0%{transform:scale(0);opacity:.5}100%{transform:scale(1);opacity:1}}@keyframes sd-grow50{0%{transform:scale(0.5);opacity:.5}100%{transform:scale(1);opacity:1}}@keyframes sd-grow50-rot20{0%{transform:scale(0.5) rotateZ(-20deg);opacity:.5}75%{transform:scale(1) rotateZ(5deg);opacity:1}95%{transform:scale(1) rotateZ(-1deg);opacity:1}100%{transform:scale(1) rotateZ(0);opacity:1}}.sd-animate-slide-from-left{animation:1s ease-out 0s 1 normal none running sd-slide-from-left}.sd-animate-slide-from-right{animation:1s ease-out 0s 1 normal none running sd-slide-from-right}.sd-animate-grow100{animation:1s ease-out 0s 1 normal none running sd-grow100}.sd-animate-grow50{animation:1s ease-out 0s 1 normal none running sd-grow50}.sd-animate-grow50-rot20{animation:1s ease-out 0s 1 normal none running sd-grow50-rot20}.sd-badge{display:inline-block;padding:.35em .65em;font-size:.75em;font-weight:700;line-height:1;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25rem}.sd-badge:empty{display:none}a.sd-badge{text-decoration:none}.sd-btn .sd-badge{position:relative;top:-1px}.sd-btn{background-color:transparent;border:1px solid transparent;border-radius:.25rem;cursor:pointer;display:inline-block;font-weight:400;font-size:1rem;line-height:1.5;padding:.375rem .75rem;text-align:center;text-decoration:none;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;vertical-align:middle;user-select:none;-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none}.sd-btn:hover{text-decoration:none}@media(prefers-reduced-motion: reduce){.sd-btn{transition:none}}.sd-btn-primary,.sd-btn-outline-primary:hover,.sd-btn-outline-primary:focus{color:var(--sd-color-primary-text) !important;background-color:var(--sd-color-primary) !important;border-color:var(--sd-color-primary) !important;border-width:1px !important;border-style:solid !important}.sd-btn-primary:hover,.sd-btn-primary:focus{color:var(--sd-color-primary-text) !important;background-color:var(--sd-color-primary-highlight) !important;border-color:var(--sd-color-primary-highlight) !important;border-width:1px !important;border-style:solid !important}.sd-btn-outline-primary{color:var(--sd-color-primary) !important;border-color:var(--sd-color-primary) !important;border-width:1px !important;border-style:solid !important}.sd-btn-secondary,.sd-btn-outline-secondary:hover,.sd-btn-outline-secondary:focus{color:var(--sd-color-secondary-text) !important;background-color:var(--sd-color-secondary) !important;border-color:var(--sd-color-secondary) !important;border-width:1px !important;border-style:solid !important}.sd-btn-secondary:hover,.sd-btn-secondary:focus{color:var(--sd-color-secondary-text) !important;background-color:var(--sd-color-secondary-highlight) !important;border-color:var(--sd-color-secondary-highlight) !important;border-width:1px !important;border-style:solid !important}.sd-btn-outline-secondary{color:var(--sd-color-secondary) !important;border-color:var(--sd-color-secondary) !important;border-width:1px !important;border-style:solid !important}.sd-btn-success,.sd-btn-outline-success:hover,.sd-btn-outline-success:focus{color:var(--sd-color-success-text) !important;background-color:var(--sd-color-success) !important;border-color:var(--sd-color-success) !important;border-width:1px !important;border-style:solid !important}.sd-btn-success:hover,.sd-btn-success:focus{color:var(--sd-color-success-text) !important;background-color:var(--sd-color-success-highlight) !important;border-color:var(--sd-color-success-highlight) !important;border-width:1px !important;border-style:solid !important}.sd-btn-outline-success{color:var(--sd-color-success) !important;border-color:var(--sd-color-success) !important;border-width:1px !important;border-style:solid !important}.sd-btn-info,.sd-btn-outline-info:hover,.sd-btn-outline-info:focus{color:var(--sd-color-info-text) !important;background-color:var(--sd-color-info) !important;border-color:var(--sd-color-info) !important;border-width:1px !important;border-style:solid !important}.sd-btn-info:hover,.sd-btn-info:focus{color:var(--sd-color-info-text) !important;background-color:var(--sd-color-info-highlight) !important;border-color:var(--sd-color-info-highlight) !important;border-width:1px !important;border-style:solid !important}.sd-btn-outline-info{color:var(--sd-color-info) !important;border-color:var(--sd-color-info) !important;border-width:1px !important;border-style:solid !important}.sd-btn-warning,.sd-btn-outline-warning:hover,.sd-btn-outline-warning:focus{color:var(--sd-color-warning-text) !important;background-color:var(--sd-color-warning) !important;border-color:var(--sd-color-warning) !important;border-width:1px !important;border-style:solid !important}.sd-btn-warning:hover,.sd-btn-warning:focus{color:var(--sd-color-warning-text) !important;background-color:var(--sd-color-warning-highlight) !important;border-color:var(--sd-color-warning-highlight) !important;border-width:1px !important;border-style:solid !important}.sd-btn-outline-warning{color:var(--sd-color-warning) !important;border-color:var(--sd-color-warning) !important;border-width:1px !important;border-style:solid !important}.sd-btn-danger,.sd-btn-outline-danger:hover,.sd-btn-outline-danger:focus{color:var(--sd-color-danger-text) !important;background-color:var(--sd-color-danger) !important;border-color:var(--sd-color-danger) !important;border-width:1px !important;border-style:solid !important}.sd-btn-danger:hover,.sd-btn-danger:focus{color:var(--sd-color-danger-text) !important;background-color:var(--sd-color-danger-highlight) !important;border-color:var(--sd-color-danger-highlight) !important;border-width:1px !important;border-style:solid !important}.sd-btn-outline-danger{color:var(--sd-color-danger) !important;border-color:var(--sd-color-danger) !important;border-width:1px !important;border-style:solid !important}.sd-btn-light,.sd-btn-outline-light:hover,.sd-btn-outline-light:focus{color:var(--sd-color-light-text) !important;background-color:var(--sd-color-light) !important;border-color:var(--sd-color-light) !important;border-width:1px !important;border-style:solid !important}.sd-btn-light:hover,.sd-btn-light:focus{color:var(--sd-color-light-text) !important;background-color:var(--sd-color-light-highlight) !important;border-color:var(--sd-color-light-highlight) !important;border-width:1px !important;border-style:solid !important}.sd-btn-outline-light{color:var(--sd-color-light) !important;border-color:var(--sd-color-light) !important;border-width:1px !important;border-style:solid !important}.sd-btn-muted,.sd-btn-outline-muted:hover,.sd-btn-outline-muted:focus{color:var(--sd-color-muted-text) !important;background-color:var(--sd-color-muted) !important;border-color:var(--sd-color-muted) !important;border-width:1px !important;border-style:solid !important}.sd-btn-muted:hover,.sd-btn-muted:focus{color:var(--sd-color-muted-text) !important;background-color:var(--sd-color-muted-highlight) !important;border-color:var(--sd-color-muted-highlight) !important;border-width:1px !important;border-style:solid !important}.sd-btn-outline-muted{color:var(--sd-color-muted) !important;border-color:var(--sd-color-muted) !important;border-width:1px !important;border-style:solid !important}.sd-btn-dark,.sd-btn-outline-dark:hover,.sd-btn-outline-dark:focus{color:var(--sd-color-dark-text) !important;background-color:var(--sd-color-dark) !important;border-color:var(--sd-color-dark) !important;border-width:1px !important;border-style:solid !important}.sd-btn-dark:hover,.sd-btn-dark:focus{color:var(--sd-color-dark-text) !important;background-color:var(--sd-color-dark-highlight) !important;border-color:var(--sd-color-dark-highlight) !important;border-width:1px !important;border-style:solid !important}.sd-btn-outline-dark{color:var(--sd-color-dark) !important;border-color:var(--sd-color-dark) !important;border-width:1px !important;border-style:solid !important}.sd-btn-black,.sd-btn-outline-black:hover,.sd-btn-outline-black:focus{color:var(--sd-color-black-text) !important;background-color:var(--sd-color-black) !important;border-color:var(--sd-color-black) !important;border-width:1px !important;border-style:solid !important}.sd-btn-black:hover,.sd-btn-black:focus{color:var(--sd-color-black-text) !important;background-color:var(--sd-color-black-highlight) !important;border-color:var(--sd-color-black-highlight) !important;border-width:1px !important;border-style:solid !important}.sd-btn-outline-black{color:var(--sd-color-black) !important;border-color:var(--sd-color-black) !important;border-width:1px !important;border-style:solid !important}.sd-btn-white,.sd-btn-outline-white:hover,.sd-btn-outline-white:focus{color:var(--sd-color-white-text) !important;background-color:var(--sd-color-white) !important;border-color:var(--sd-color-white) !important;border-width:1px !important;border-style:solid !important}.sd-btn-white:hover,.sd-btn-white:focus{color:var(--sd-color-white-text) !important;background-color:var(--sd-color-white-highlight) !important;border-color:var(--sd-color-white-highlight) !important;border-width:1px !important;border-style:solid !important}.sd-btn-outline-white{color:var(--sd-color-white) !important;border-color:var(--sd-color-white) !important;border-width:1px !important;border-style:solid !important}.sd-stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;content:""}.sd-hide-link-text{font-size:0}.sd-octicon,.sd-material-icon{display:inline-block;fill:currentColor;vertical-align:middle}.sd-avatar-xs{border-radius:50%;object-fit:cover;object-position:center;width:1rem;height:1rem}.sd-avatar-sm{border-radius:50%;object-fit:cover;object-position:center;width:3rem;height:3rem}.sd-avatar-md{border-radius:50%;object-fit:cover;object-position:center;width:5rem;height:5rem}.sd-avatar-lg{border-radius:50%;object-fit:cover;object-position:center;width:7rem;height:7rem}.sd-avatar-xl{border-radius:50%;object-fit:cover;object-position:center;width:10rem;height:10rem}.sd-avatar-inherit{border-radius:50%;object-fit:cover;object-position:center;width:inherit;height:inherit}.sd-avatar-initial{border-radius:50%;object-fit:cover;object-position:center;width:initial;height:initial}.sd-card{background-clip:border-box;background-color:var(--sd-color-card-background);border:1px solid var(--sd-color-card-border);border-radius:.25rem;color:var(--sd-color-card-text);display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;min-width:0;position:relative;word-wrap:break-word}.sd-card>hr{margin-left:0;margin-right:0}.sd-card-hover:hover{border-color:var(--sd-color-card-border-hover);transform:scale(1.01)}.sd-card-body{-ms-flex:1 1 auto;flex:1 1 auto;padding:1rem 1rem}.sd-card-title{margin-bottom:.5rem}.sd-card-subtitle{margin-top:-0.25rem;margin-bottom:0}.sd-card-text:last-child{margin-bottom:0}.sd-card-link:hover{text-decoration:none}.sd-card-link+.card-link{margin-left:1rem}.sd-card-header{padding:.5rem 1rem;margin-bottom:0;background-color:var(--sd-color-card-header);border-bottom:1px solid var(--sd-color-card-border)}.sd-card-header:first-child{border-radius:calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0}.sd-card-footer{padding:.5rem 1rem;background-color:var(--sd-color-card-footer);border-top:1px solid var(--sd-color-card-border)}.sd-card-footer:last-child{border-radius:0 0 calc(0.25rem - 1px) calc(0.25rem - 1px)}.sd-card-header-tabs{margin-right:-0.5rem;margin-bottom:-0.5rem;margin-left:-0.5rem;border-bottom:0}.sd-card-header-pills{margin-right:-0.5rem;margin-left:-0.5rem}.sd-card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1rem;border-radius:calc(0.25rem - 1px)}.sd-card-img,.sd-card-img-bottom,.sd-card-img-top{width:100%}.sd-card-img,.sd-card-img-top{border-top-left-radius:calc(0.25rem - 1px);border-top-right-radius:calc(0.25rem - 1px)}.sd-card-img,.sd-card-img-bottom{border-bottom-left-radius:calc(0.25rem - 1px);border-bottom-right-radius:calc(0.25rem - 1px)}.sd-cards-carousel{width:100%;display:flex;flex-wrap:nowrap;-ms-flex-direction:row;flex-direction:row;overflow-x:hidden;scroll-snap-type:x mandatory}.sd-cards-carousel.sd-show-scrollbar{overflow-x:auto}.sd-cards-carousel:hover,.sd-cards-carousel:focus{overflow-x:auto}.sd-cards-carousel>.sd-card{flex-shrink:0;scroll-snap-align:start}.sd-cards-carousel>.sd-card:not(:last-child){margin-right:3px}.sd-card-cols-1>.sd-card{width:90%}.sd-card-cols-2>.sd-card{width:45%}.sd-card-cols-3>.sd-card{width:30%}.sd-card-cols-4>.sd-card{width:22.5%}.sd-card-cols-5>.sd-card{width:18%}.sd-card-cols-6>.sd-card{width:15%}.sd-card-cols-7>.sd-card{width:12.8571428571%}.sd-card-cols-8>.sd-card{width:11.25%}.sd-card-cols-9>.sd-card{width:10%}.sd-card-cols-10>.sd-card{width:9%}.sd-card-cols-11>.sd-card{width:8.1818181818%}.sd-card-cols-12>.sd-card{width:7.5%}.sd-container,.sd-container-fluid,.sd-container-lg,.sd-container-md,.sd-container-sm,.sd-container-xl{margin-left:auto;margin-right:auto;padding-left:var(--sd-gutter-x, 0.75rem);padding-right:var(--sd-gutter-x, 0.75rem);width:100%}@media(min-width: 576px){.sd-container-sm,.sd-container{max-width:540px}}@media(min-width: 768px){.sd-container-md,.sd-container-sm,.sd-container{max-width:720px}}@media(min-width: 992px){.sd-container-lg,.sd-container-md,.sd-container-sm,.sd-container{max-width:960px}}@media(min-width: 1200px){.sd-container-xl,.sd-container-lg,.sd-container-md,.sd-container-sm,.sd-container{max-width:1140px}}.sd-row{--sd-gutter-x: 1.5rem;--sd-gutter-y: 0;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-top:calc(var(--sd-gutter-y) * -1);margin-right:calc(var(--sd-gutter-x) * -0.5);margin-left:calc(var(--sd-gutter-x) * -0.5)}.sd-row>*{box-sizing:border-box;flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--sd-gutter-x) * 0.5);padding-left:calc(var(--sd-gutter-x) * 0.5);margin-top:var(--sd-gutter-y)}.sd-col{flex:1 0 0%;-ms-flex:1 0 0%}.sd-row-cols-auto>*{flex:0 0 auto;width:auto}.sd-row-cols-1>*{flex:0 0 auto;-ms-flex:0 0 auto;width:100%}.sd-row-cols-2>*{flex:0 0 auto;-ms-flex:0 0 auto;width:50%}.sd-row-cols-3>*{flex:0 0 auto;-ms-flex:0 0 auto;width:33.3333333333%}.sd-row-cols-4>*{flex:0 0 auto;-ms-flex:0 0 auto;width:25%}.sd-row-cols-5>*{flex:0 0 auto;-ms-flex:0 0 auto;width:20%}.sd-row-cols-6>*{flex:0 0 auto;-ms-flex:0 0 auto;width:16.6666666667%}.sd-row-cols-7>*{flex:0 0 auto;-ms-flex:0 0 auto;width:14.2857142857%}.sd-row-cols-8>*{flex:0 0 auto;-ms-flex:0 0 auto;width:12.5%}.sd-row-cols-9>*{flex:0 0 auto;-ms-flex:0 0 auto;width:11.1111111111%}.sd-row-cols-10>*{flex:0 0 auto;-ms-flex:0 0 auto;width:10%}.sd-row-cols-11>*{flex:0 0 auto;-ms-flex:0 0 auto;width:9.0909090909%}.sd-row-cols-12>*{flex:0 0 auto;-ms-flex:0 0 auto;width:8.3333333333%}@media(min-width: 576px){.sd-col-sm{flex:1 0 0%;-ms-flex:1 0 0%}.sd-row-cols-sm-auto{flex:1 0 auto;-ms-flex:1 0 auto;width:100%}.sd-row-cols-sm-1>*{flex:0 0 auto;-ms-flex:0 0 auto;width:100%}.sd-row-cols-sm-2>*{flex:0 0 auto;-ms-flex:0 0 auto;width:50%}.sd-row-cols-sm-3>*{flex:0 0 auto;-ms-flex:0 0 auto;width:33.3333333333%}.sd-row-cols-sm-4>*{flex:0 0 auto;-ms-flex:0 0 auto;width:25%}.sd-row-cols-sm-5>*{flex:0 0 auto;-ms-flex:0 0 auto;width:20%}.sd-row-cols-sm-6>*{flex:0 0 auto;-ms-flex:0 0 auto;width:16.6666666667%}.sd-row-cols-sm-7>*{flex:0 0 auto;-ms-flex:0 0 auto;width:14.2857142857%}.sd-row-cols-sm-8>*{flex:0 0 auto;-ms-flex:0 0 auto;width:12.5%}.sd-row-cols-sm-9>*{flex:0 0 auto;-ms-flex:0 0 auto;width:11.1111111111%}.sd-row-cols-sm-10>*{flex:0 0 auto;-ms-flex:0 0 auto;width:10%}.sd-row-cols-sm-11>*{flex:0 0 auto;-ms-flex:0 0 auto;width:9.0909090909%}.sd-row-cols-sm-12>*{flex:0 0 auto;-ms-flex:0 0 auto;width:8.3333333333%}}@media(min-width: 768px){.sd-col-md{flex:1 0 0%;-ms-flex:1 0 0%}.sd-row-cols-md-auto{flex:1 0 auto;-ms-flex:1 0 auto;width:100%}.sd-row-cols-md-1>*{flex:0 0 auto;-ms-flex:0 0 auto;width:100%}.sd-row-cols-md-2>*{flex:0 0 auto;-ms-flex:0 0 auto;width:50%}.sd-row-cols-md-3>*{flex:0 0 auto;-ms-flex:0 0 auto;width:33.3333333333%}.sd-row-cols-md-4>*{flex:0 0 auto;-ms-flex:0 0 auto;width:25%}.sd-row-cols-md-5>*{flex:0 0 auto;-ms-flex:0 0 auto;width:20%}.sd-row-cols-md-6>*{flex:0 0 auto;-ms-flex:0 0 auto;width:16.6666666667%}.sd-row-cols-md-7>*{flex:0 0 auto;-ms-flex:0 0 auto;width:14.2857142857%}.sd-row-cols-md-8>*{flex:0 0 auto;-ms-flex:0 0 auto;width:12.5%}.sd-row-cols-md-9>*{flex:0 0 auto;-ms-flex:0 0 auto;width:11.1111111111%}.sd-row-cols-md-10>*{flex:0 0 auto;-ms-flex:0 0 auto;width:10%}.sd-row-cols-md-11>*{flex:0 0 auto;-ms-flex:0 0 auto;width:9.0909090909%}.sd-row-cols-md-12>*{flex:0 0 auto;-ms-flex:0 0 auto;width:8.3333333333%}}@media(min-width: 992px){.sd-col-lg{flex:1 0 0%;-ms-flex:1 0 0%}.sd-row-cols-lg-auto{flex:1 0 auto;-ms-flex:1 0 auto;width:100%}.sd-row-cols-lg-1>*{flex:0 0 auto;-ms-flex:0 0 auto;width:100%}.sd-row-cols-lg-2>*{flex:0 0 auto;-ms-flex:0 0 auto;width:50%}.sd-row-cols-lg-3>*{flex:0 0 auto;-ms-flex:0 0 auto;width:33.3333333333%}.sd-row-cols-lg-4>*{flex:0 0 auto;-ms-flex:0 0 auto;width:25%}.sd-row-cols-lg-5>*{flex:0 0 auto;-ms-flex:0 0 auto;width:20%}.sd-row-cols-lg-6>*{flex:0 0 auto;-ms-flex:0 0 auto;width:16.6666666667%}.sd-row-cols-lg-7>*{flex:0 0 auto;-ms-flex:0 0 auto;width:14.2857142857%}.sd-row-cols-lg-8>*{flex:0 0 auto;-ms-flex:0 0 auto;width:12.5%}.sd-row-cols-lg-9>*{flex:0 0 auto;-ms-flex:0 0 auto;width:11.1111111111%}.sd-row-cols-lg-10>*{flex:0 0 auto;-ms-flex:0 0 auto;width:10%}.sd-row-cols-lg-11>*{flex:0 0 auto;-ms-flex:0 0 auto;width:9.0909090909%}.sd-row-cols-lg-12>*{flex:0 0 auto;-ms-flex:0 0 auto;width:8.3333333333%}}@media(min-width: 1200px){.sd-col-xl{flex:1 0 0%;-ms-flex:1 0 0%}.sd-row-cols-xl-auto{flex:1 0 auto;-ms-flex:1 0 auto;width:100%}.sd-row-cols-xl-1>*{flex:0 0 auto;-ms-flex:0 0 auto;width:100%}.sd-row-cols-xl-2>*{flex:0 0 auto;-ms-flex:0 0 auto;width:50%}.sd-row-cols-xl-3>*{flex:0 0 auto;-ms-flex:0 0 auto;width:33.3333333333%}.sd-row-cols-xl-4>*{flex:0 0 auto;-ms-flex:0 0 auto;width:25%}.sd-row-cols-xl-5>*{flex:0 0 auto;-ms-flex:0 0 auto;width:20%}.sd-row-cols-xl-6>*{flex:0 0 auto;-ms-flex:0 0 auto;width:16.6666666667%}.sd-row-cols-xl-7>*{flex:0 0 auto;-ms-flex:0 0 auto;width:14.2857142857%}.sd-row-cols-xl-8>*{flex:0 0 auto;-ms-flex:0 0 auto;width:12.5%}.sd-row-cols-xl-9>*{flex:0 0 auto;-ms-flex:0 0 auto;width:11.1111111111%}.sd-row-cols-xl-10>*{flex:0 0 auto;-ms-flex:0 0 auto;width:10%}.sd-row-cols-xl-11>*{flex:0 0 auto;-ms-flex:0 0 auto;width:9.0909090909%}.sd-row-cols-xl-12>*{flex:0 0 auto;-ms-flex:0 0 auto;width:8.3333333333%}}.sd-col-auto{flex:0 0 auto;-ms-flex:0 0 auto;width:auto}.sd-col-1{flex:0 0 auto;-ms-flex:0 0 auto;width:8.3333333333%}.sd-col-2{flex:0 0 auto;-ms-flex:0 0 auto;width:16.6666666667%}.sd-col-3{flex:0 0 auto;-ms-flex:0 0 auto;width:25%}.sd-col-4{flex:0 0 auto;-ms-flex:0 0 auto;width:33.3333333333%}.sd-col-5{flex:0 0 auto;-ms-flex:0 0 auto;width:41.6666666667%}.sd-col-6{flex:0 0 auto;-ms-flex:0 0 auto;width:50%}.sd-col-7{flex:0 0 auto;-ms-flex:0 0 auto;width:58.3333333333%}.sd-col-8{flex:0 0 auto;-ms-flex:0 0 auto;width:66.6666666667%}.sd-col-9{flex:0 0 auto;-ms-flex:0 0 auto;width:75%}.sd-col-10{flex:0 0 auto;-ms-flex:0 0 auto;width:83.3333333333%}.sd-col-11{flex:0 0 auto;-ms-flex:0 0 auto;width:91.6666666667%}.sd-col-12{flex:0 0 auto;-ms-flex:0 0 auto;width:100%}.sd-g-0,.sd-gy-0{--sd-gutter-y: 0}.sd-g-0,.sd-gx-0{--sd-gutter-x: 0}.sd-g-1,.sd-gy-1{--sd-gutter-y: 0.25rem}.sd-g-1,.sd-gx-1{--sd-gutter-x: 0.25rem}.sd-g-2,.sd-gy-2{--sd-gutter-y: 0.5rem}.sd-g-2,.sd-gx-2{--sd-gutter-x: 0.5rem}.sd-g-3,.sd-gy-3{--sd-gutter-y: 1rem}.sd-g-3,.sd-gx-3{--sd-gutter-x: 1rem}.sd-g-4,.sd-gy-4{--sd-gutter-y: 1.5rem}.sd-g-4,.sd-gx-4{--sd-gutter-x: 1.5rem}.sd-g-5,.sd-gy-5{--sd-gutter-y: 3rem}.sd-g-5,.sd-gx-5{--sd-gutter-x: 3rem}@media(min-width: 576px){.sd-col-sm-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.sd-col-sm-1{-ms-flex:0 0 auto;flex:0 0 auto;width:8.3333333333%}.sd-col-sm-2{-ms-flex:0 0 auto;flex:0 0 auto;width:16.6666666667%}.sd-col-sm-3{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.sd-col-sm-4{-ms-flex:0 0 auto;flex:0 0 auto;width:33.3333333333%}.sd-col-sm-5{-ms-flex:0 0 auto;flex:0 0 auto;width:41.6666666667%}.sd-col-sm-6{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.sd-col-sm-7{-ms-flex:0 0 auto;flex:0 0 auto;width:58.3333333333%}.sd-col-sm-8{-ms-flex:0 0 auto;flex:0 0 auto;width:66.6666666667%}.sd-col-sm-9{-ms-flex:0 0 auto;flex:0 0 auto;width:75%}.sd-col-sm-10{-ms-flex:0 0 auto;flex:0 0 auto;width:83.3333333333%}.sd-col-sm-11{-ms-flex:0 0 auto;flex:0 0 auto;width:91.6666666667%}.sd-col-sm-12{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.sd-g-sm-0,.sd-gy-sm-0{--sd-gutter-y: 0}.sd-g-sm-0,.sd-gx-sm-0{--sd-gutter-x: 0}.sd-g-sm-1,.sd-gy-sm-1{--sd-gutter-y: 0.25rem}.sd-g-sm-1,.sd-gx-sm-1{--sd-gutter-x: 0.25rem}.sd-g-sm-2,.sd-gy-sm-2{--sd-gutter-y: 0.5rem}.sd-g-sm-2,.sd-gx-sm-2{--sd-gutter-x: 0.5rem}.sd-g-sm-3,.sd-gy-sm-3{--sd-gutter-y: 1rem}.sd-g-sm-3,.sd-gx-sm-3{--sd-gutter-x: 1rem}.sd-g-sm-4,.sd-gy-sm-4{--sd-gutter-y: 1.5rem}.sd-g-sm-4,.sd-gx-sm-4{--sd-gutter-x: 1.5rem}.sd-g-sm-5,.sd-gy-sm-5{--sd-gutter-y: 3rem}.sd-g-sm-5,.sd-gx-sm-5{--sd-gutter-x: 3rem}}@media(min-width: 768px){.sd-col-md-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.sd-col-md-1{-ms-flex:0 0 auto;flex:0 0 auto;width:8.3333333333%}.sd-col-md-2{-ms-flex:0 0 auto;flex:0 0 auto;width:16.6666666667%}.sd-col-md-3{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.sd-col-md-4{-ms-flex:0 0 auto;flex:0 0 auto;width:33.3333333333%}.sd-col-md-5{-ms-flex:0 0 auto;flex:0 0 auto;width:41.6666666667%}.sd-col-md-6{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.sd-col-md-7{-ms-flex:0 0 auto;flex:0 0 auto;width:58.3333333333%}.sd-col-md-8{-ms-flex:0 0 auto;flex:0 0 auto;width:66.6666666667%}.sd-col-md-9{-ms-flex:0 0 auto;flex:0 0 auto;width:75%}.sd-col-md-10{-ms-flex:0 0 auto;flex:0 0 auto;width:83.3333333333%}.sd-col-md-11{-ms-flex:0 0 auto;flex:0 0 auto;width:91.6666666667%}.sd-col-md-12{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.sd-g-md-0,.sd-gy-md-0{--sd-gutter-y: 0}.sd-g-md-0,.sd-gx-md-0{--sd-gutter-x: 0}.sd-g-md-1,.sd-gy-md-1{--sd-gutter-y: 0.25rem}.sd-g-md-1,.sd-gx-md-1{--sd-gutter-x: 0.25rem}.sd-g-md-2,.sd-gy-md-2{--sd-gutter-y: 0.5rem}.sd-g-md-2,.sd-gx-md-2{--sd-gutter-x: 0.5rem}.sd-g-md-3,.sd-gy-md-3{--sd-gutter-y: 1rem}.sd-g-md-3,.sd-gx-md-3{--sd-gutter-x: 1rem}.sd-g-md-4,.sd-gy-md-4{--sd-gutter-y: 1.5rem}.sd-g-md-4,.sd-gx-md-4{--sd-gutter-x: 1.5rem}.sd-g-md-5,.sd-gy-md-5{--sd-gutter-y: 3rem}.sd-g-md-5,.sd-gx-md-5{--sd-gutter-x: 3rem}}@media(min-width: 992px){.sd-col-lg-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.sd-col-lg-1{-ms-flex:0 0 auto;flex:0 0 auto;width:8.3333333333%}.sd-col-lg-2{-ms-flex:0 0 auto;flex:0 0 auto;width:16.6666666667%}.sd-col-lg-3{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.sd-col-lg-4{-ms-flex:0 0 auto;flex:0 0 auto;width:33.3333333333%}.sd-col-lg-5{-ms-flex:0 0 auto;flex:0 0 auto;width:41.6666666667%}.sd-col-lg-6{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.sd-col-lg-7{-ms-flex:0 0 auto;flex:0 0 auto;width:58.3333333333%}.sd-col-lg-8{-ms-flex:0 0 auto;flex:0 0 auto;width:66.6666666667%}.sd-col-lg-9{-ms-flex:0 0 auto;flex:0 0 auto;width:75%}.sd-col-lg-10{-ms-flex:0 0 auto;flex:0 0 auto;width:83.3333333333%}.sd-col-lg-11{-ms-flex:0 0 auto;flex:0 0 auto;width:91.6666666667%}.sd-col-lg-12{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.sd-g-lg-0,.sd-gy-lg-0{--sd-gutter-y: 0}.sd-g-lg-0,.sd-gx-lg-0{--sd-gutter-x: 0}.sd-g-lg-1,.sd-gy-lg-1{--sd-gutter-y: 0.25rem}.sd-g-lg-1,.sd-gx-lg-1{--sd-gutter-x: 0.25rem}.sd-g-lg-2,.sd-gy-lg-2{--sd-gutter-y: 0.5rem}.sd-g-lg-2,.sd-gx-lg-2{--sd-gutter-x: 0.5rem}.sd-g-lg-3,.sd-gy-lg-3{--sd-gutter-y: 1rem}.sd-g-lg-3,.sd-gx-lg-3{--sd-gutter-x: 1rem}.sd-g-lg-4,.sd-gy-lg-4{--sd-gutter-y: 1.5rem}.sd-g-lg-4,.sd-gx-lg-4{--sd-gutter-x: 1.5rem}.sd-g-lg-5,.sd-gy-lg-5{--sd-gutter-y: 3rem}.sd-g-lg-5,.sd-gx-lg-5{--sd-gutter-x: 3rem}}@media(min-width: 1200px){.sd-col-xl-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.sd-col-xl-1{-ms-flex:0 0 auto;flex:0 0 auto;width:8.3333333333%}.sd-col-xl-2{-ms-flex:0 0 auto;flex:0 0 auto;width:16.6666666667%}.sd-col-xl-3{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.sd-col-xl-4{-ms-flex:0 0 auto;flex:0 0 auto;width:33.3333333333%}.sd-col-xl-5{-ms-flex:0 0 auto;flex:0 0 auto;width:41.6666666667%}.sd-col-xl-6{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.sd-col-xl-7{-ms-flex:0 0 auto;flex:0 0 auto;width:58.3333333333%}.sd-col-xl-8{-ms-flex:0 0 auto;flex:0 0 auto;width:66.6666666667%}.sd-col-xl-9{-ms-flex:0 0 auto;flex:0 0 auto;width:75%}.sd-col-xl-10{-ms-flex:0 0 auto;flex:0 0 auto;width:83.3333333333%}.sd-col-xl-11{-ms-flex:0 0 auto;flex:0 0 auto;width:91.6666666667%}.sd-col-xl-12{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.sd-g-xl-0,.sd-gy-xl-0{--sd-gutter-y: 0}.sd-g-xl-0,.sd-gx-xl-0{--sd-gutter-x: 0}.sd-g-xl-1,.sd-gy-xl-1{--sd-gutter-y: 0.25rem}.sd-g-xl-1,.sd-gx-xl-1{--sd-gutter-x: 0.25rem}.sd-g-xl-2,.sd-gy-xl-2{--sd-gutter-y: 0.5rem}.sd-g-xl-2,.sd-gx-xl-2{--sd-gutter-x: 0.5rem}.sd-g-xl-3,.sd-gy-xl-3{--sd-gutter-y: 1rem}.sd-g-xl-3,.sd-gx-xl-3{--sd-gutter-x: 1rem}.sd-g-xl-4,.sd-gy-xl-4{--sd-gutter-y: 1.5rem}.sd-g-xl-4,.sd-gx-xl-4{--sd-gutter-x: 1.5rem}.sd-g-xl-5,.sd-gy-xl-5{--sd-gutter-y: 3rem}.sd-g-xl-5,.sd-gx-xl-5{--sd-gutter-x: 3rem}}.sd-flex-row-reverse{flex-direction:row-reverse !important}details.sd-dropdown{position:relative;font-size:var(--sd-fontsize-dropdown)}details.sd-dropdown:hover{cursor:pointer}details.sd-dropdown .sd-summary-content{cursor:default}details.sd-dropdown summary.sd-summary-title{padding:.5em .6em .5em 1em;font-size:var(--sd-fontsize-dropdown-title);font-weight:var(--sd-fontweight-dropdown-title);user-select:none;-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;list-style:none;display:inline-flex;justify-content:space-between}details.sd-dropdown summary.sd-summary-title::-webkit-details-marker{display:none}details.sd-dropdown summary.sd-summary-title:focus{outline:none}details.sd-dropdown summary.sd-summary-title .sd-summary-icon{margin-right:.6em;display:inline-flex;align-items:center}details.sd-dropdown summary.sd-summary-title .sd-summary-icon svg{opacity:.8}details.sd-dropdown summary.sd-summary-title .sd-summary-text{flex-grow:1;line-height:1.5;padding-right:.5rem}details.sd-dropdown summary.sd-summary-title .sd-summary-state-marker{pointer-events:none;display:inline-flex;align-items:center}details.sd-dropdown summary.sd-summary-title .sd-summary-state-marker svg{opacity:.6}details.sd-dropdown summary.sd-summary-title:hover .sd-summary-state-marker svg{opacity:1;transform:scale(1.1)}details.sd-dropdown[open] summary .sd-octicon.no-title{visibility:hidden}details.sd-dropdown .sd-summary-chevron-right{transition:.25s}details.sd-dropdown[open]>.sd-summary-title .sd-summary-chevron-right{transform:rotate(90deg)}details.sd-dropdown[open]>.sd-summary-title .sd-summary-chevron-down{transform:rotate(180deg)}details.sd-dropdown:not([open]).sd-card{border:none}details.sd-dropdown:not([open])>.sd-card-header{border:1px solid var(--sd-color-card-border);border-radius:.25rem}details.sd-dropdown.sd-fade-in[open] summary~*{-moz-animation:sd-fade-in .5s ease-in-out;-webkit-animation:sd-fade-in .5s ease-in-out;animation:sd-fade-in .5s ease-in-out}details.sd-dropdown.sd-fade-in-slide-down[open] summary~*{-moz-animation:sd-fade-in .5s ease-in-out,sd-slide-down .5s ease-in-out;-webkit-animation:sd-fade-in .5s ease-in-out,sd-slide-down .5s ease-in-out;animation:sd-fade-in .5s ease-in-out,sd-slide-down .5s ease-in-out}.sd-col>.sd-dropdown{width:100%}.sd-summary-content>.sd-tab-set:first-child{margin-top:0}@keyframes sd-fade-in{0%{opacity:0}100%{opacity:1}}@keyframes sd-slide-down{0%{transform:translate(0, -10px)}100%{transform:translate(0, 0)}}.sd-tab-set{border-radius:.125rem;display:flex;flex-wrap:wrap;margin:1em 0;position:relative}.sd-tab-set>input{opacity:0;position:absolute}.sd-tab-set>input:checked+label{border-color:var(--sd-color-tabs-underline-active);color:var(--sd-color-tabs-label-active)}.sd-tab-set>input:checked+label+.sd-tab-content{display:block}.sd-tab-set>input:not(:checked)+label:hover{color:var(--sd-color-tabs-label-hover);border-color:var(--sd-color-tabs-underline-hover)}.sd-tab-set>input:focus+label{outline-style:auto}.sd-tab-set>input:not(.focus-visible)+label{outline:none;-webkit-tap-highlight-color:transparent}.sd-tab-set>label{border-bottom:.125rem solid transparent;margin-bottom:0;color:var(--sd-color-tabs-label-inactive);border-color:var(--sd-color-tabs-underline-inactive);cursor:pointer;font-size:var(--sd-fontsize-tabs-label);font-weight:700;padding:1em 1.25em .5em;transition:color 250ms;width:auto;z-index:1}html .sd-tab-set>label:hover{color:var(--sd-color-tabs-label-active)}.sd-col>.sd-tab-set{width:100%}.sd-tab-content{box-shadow:0 -0.0625rem var(--sd-color-tabs-overline),0 .0625rem var(--sd-color-tabs-underline);display:none;order:99;padding-bottom:.75rem;padding-top:.75rem;width:100%}.sd-tab-content>:first-child{margin-top:0 !important}.sd-tab-content>:last-child{margin-bottom:0 !important}.sd-tab-content>.sd-tab-set{margin:0}.sd-sphinx-override,.sd-sphinx-override *{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.sd-sphinx-override p{margin-top:0}:root{--sd-color-primary: #0071bc;--sd-color-secondary: #6c757d;--sd-color-success: #28a745;--sd-color-info: #17a2b8;--sd-color-warning: #f0b37e;--sd-color-danger: #dc3545;--sd-color-light: #f8f9fa;--sd-color-muted: #6c757d;--sd-color-dark: #212529;--sd-color-black: black;--sd-color-white: white;--sd-color-primary-highlight: #0060a0;--sd-color-secondary-highlight: #5c636a;--sd-color-success-highlight: #228e3b;--sd-color-info-highlight: #148a9c;--sd-color-warning-highlight: #cc986b;--sd-color-danger-highlight: #bb2d3b;--sd-color-light-highlight: #d3d4d5;--sd-color-muted-highlight: #5c636a;--sd-color-dark-highlight: #1c1f23;--sd-color-black-highlight: black;--sd-color-white-highlight: #d9d9d9;--sd-color-primary-bg: rgba(0, 113, 188, 0.2);--sd-color-secondary-bg: rgba(108, 117, 125, 0.2);--sd-color-success-bg: rgba(40, 167, 69, 0.2);--sd-color-info-bg: rgba(23, 162, 184, 0.2);--sd-color-warning-bg: rgba(240, 179, 126, 0.2);--sd-color-danger-bg: rgba(220, 53, 69, 0.2);--sd-color-light-bg: rgba(248, 249, 250, 0.2);--sd-color-muted-bg: rgba(108, 117, 125, 0.2);--sd-color-dark-bg: rgba(33, 37, 41, 0.2);--sd-color-black-bg: rgba(0, 0, 0, 0.2);--sd-color-white-bg: rgba(255, 255, 255, 0.2);--sd-color-primary-text: #fff;--sd-color-secondary-text: #fff;--sd-color-success-text: #fff;--sd-color-info-text: #fff;--sd-color-warning-text: #212529;--sd-color-danger-text: #fff;--sd-color-light-text: #212529;--sd-color-muted-text: #fff;--sd-color-dark-text: #fff;--sd-color-black-text: #fff;--sd-color-white-text: #212529;--sd-color-shadow: rgba(0, 0, 0, 0.15);--sd-color-card-border: rgba(0, 0, 0, 0.125);--sd-color-card-border-hover: hsla(231, 99%, 66%, 1);--sd-color-card-background: transparent;--sd-color-card-text: inherit;--sd-color-card-header: transparent;--sd-color-card-footer: transparent;--sd-color-tabs-label-active: hsla(231, 99%, 66%, 1);--sd-color-tabs-label-hover: hsla(231, 99%, 66%, 1);--sd-color-tabs-label-inactive: hsl(0, 0%, 66%);--sd-color-tabs-underline-active: hsla(231, 99%, 66%, 1);--sd-color-tabs-underline-hover: rgba(178, 206, 245, 0.62);--sd-color-tabs-underline-inactive: transparent;--sd-color-tabs-overline: rgb(222, 222, 222);--sd-color-tabs-underline: rgb(222, 222, 222);--sd-fontsize-tabs-label: 1rem;--sd-fontsize-dropdown: inherit;--sd-fontsize-dropdown-title: 1rem;--sd-fontweight-dropdown-title: 700} diff --git a/_static/basic.css b/_static/basic.css new file mode 100644 index 0000000..2af6139 --- /dev/null +++ b/_static/basic.css @@ -0,0 +1,925 @@ +/* + * basic.css + * ~~~~~~~~~ + * + * Sphinx stylesheet -- basic theme. + * + * :copyright: Copyright 2007-2024 by the Sphinx team, see AUTHORS. + * :license: BSD, see LICENSE for details. + * + */ + +/* -- main layout ----------------------------------------------------------- */ + +div.clearer { + clear: both; +} + +div.section::after { + display: block; + content: ''; + clear: left; +} + +/* -- relbar ---------------------------------------------------------------- */ + +div.related { + width: 100%; + font-size: 90%; +} + +div.related h3 { + display: none; +} + +div.related ul { + margin: 0; + padding: 0 0 0 10px; + list-style: none; +} + +div.related li { + display: inline; +} + +div.related li.right { + float: right; + margin-right: 5px; +} + +/* -- sidebar --------------------------------------------------------------- */ + +div.sphinxsidebarwrapper { + padding: 10px 5px 0 10px; +} + +div.sphinxsidebar { + float: left; + width: 270px; + margin-left: -100%; + font-size: 90%; + word-wrap: break-word; + overflow-wrap : break-word; +} + +div.sphinxsidebar ul { + list-style: none; +} + +div.sphinxsidebar ul ul, +div.sphinxsidebar ul.want-points { + margin-left: 20px; + list-style: square; +} + +div.sphinxsidebar ul ul { + margin-top: 0; + margin-bottom: 0; +} + +div.sphinxsidebar form { + margin-top: 10px; +} + +div.sphinxsidebar input { + border: 1px solid #98dbcc; + font-family: sans-serif; + font-size: 1em; +} + +div.sphinxsidebar #searchbox form.search { + overflow: hidden; +} + +div.sphinxsidebar #searchbox input[type="text"] { + float: left; + width: 80%; + padding: 0.25em; + box-sizing: border-box; +} + +div.sphinxsidebar #searchbox input[type="submit"] { + float: left; + width: 20%; + border-left: none; + padding: 0.25em; + box-sizing: border-box; +} + + +img { + border: 0; + max-width: 100%; +} + +/* -- search page ----------------------------------------------------------- */ + +ul.search { + margin: 10px 0 0 20px; + padding: 0; +} + +ul.search li { + padding: 5px 0 5px 20px; + background-image: url(file.png); + background-repeat: no-repeat; + background-position: 0 7px; +} + +ul.search li a { + font-weight: bold; +} + +ul.search li p.context { + color: #888; + margin: 2px 0 0 30px; + text-align: left; +} + +ul.keywordmatches li.goodmatch a { + font-weight: bold; +} + +/* -- index page ------------------------------------------------------------ */ + +table.contentstable { + width: 90%; + margin-left: auto; + margin-right: auto; +} + +table.contentstable p.biglink { + line-height: 150%; +} + +a.biglink { + font-size: 1.3em; +} + +span.linkdescr { + font-style: italic; + padding-top: 5px; + font-size: 90%; +} + +/* -- general index --------------------------------------------------------- */ + +table.indextable { + width: 100%; +} + +table.indextable td { + text-align: left; + vertical-align: top; +} + +table.indextable ul { + margin-top: 0; + margin-bottom: 0; + list-style-type: none; +} + +table.indextable > tbody > tr > td > ul { + padding-left: 0em; +} + +table.indextable tr.pcap { + height: 10px; +} + +table.indextable tr.cap { + margin-top: 10px; + background-color: #f2f2f2; +} + +img.toggler { + margin-right: 3px; + margin-top: 3px; + cursor: pointer; +} + +div.modindex-jumpbox { + border-top: 1px solid #ddd; + border-bottom: 1px solid #ddd; + margin: 1em 0 1em 0; + padding: 0.4em; +} + +div.genindex-jumpbox { + border-top: 1px solid #ddd; + border-bottom: 1px solid #ddd; + margin: 1em 0 1em 0; + padding: 0.4em; +} + +/* -- domain module index --------------------------------------------------- */ + +table.modindextable td { + padding: 2px; + border-collapse: collapse; +} + +/* -- general body styles --------------------------------------------------- */ + +div.body { + min-width: 360px; + max-width: 800px; +} + +div.body p, div.body dd, div.body li, div.body blockquote { + -moz-hyphens: auto; + -ms-hyphens: auto; + -webkit-hyphens: auto; + hyphens: auto; +} + +a.headerlink { + visibility: hidden; +} + +a:visited { + color: #551A8B; +} + +h1:hover > a.headerlink, +h2:hover > a.headerlink, +h3:hover > a.headerlink, +h4:hover > a.headerlink, +h5:hover > a.headerlink, +h6:hover > a.headerlink, +dt:hover > a.headerlink, +caption:hover > a.headerlink, +p.caption:hover > a.headerlink, +div.code-block-caption:hover > a.headerlink { + visibility: visible; +} + +div.body p.caption { + text-align: inherit; +} + +div.body td { + text-align: left; +} + +.first { + margin-top: 0 !important; +} + +p.rubric { + margin-top: 30px; + font-weight: bold; +} + +img.align-left, figure.align-left, .figure.align-left, object.align-left { + clear: left; + float: left; + margin-right: 1em; +} + +img.align-right, figure.align-right, .figure.align-right, object.align-right { + clear: right; + float: right; + margin-left: 1em; +} + +img.align-center, figure.align-center, .figure.align-center, object.align-center { + display: block; + margin-left: auto; + margin-right: auto; +} + +img.align-default, figure.align-default, .figure.align-default { + display: block; + margin-left: auto; + margin-right: auto; +} + +.align-left { + text-align: left; +} + +.align-center { + text-align: center; +} + +.align-default { + text-align: center; +} + +.align-right { + text-align: right; +} + +/* -- sidebars -------------------------------------------------------------- */ + +div.sidebar, +aside.sidebar { + margin: 0 0 0.5em 1em; + border: 1px solid #ddb; + padding: 7px; + background-color: #ffe; + width: 40%; + float: right; + clear: right; + overflow-x: auto; +} + +p.sidebar-title { + font-weight: bold; +} + +nav.contents, +aside.topic, +div.admonition, div.topic, blockquote { + clear: left; +} + +/* -- topics ---------------------------------------------------------------- */ + +nav.contents, +aside.topic, +div.topic { + border: 1px solid #ccc; + padding: 7px; + margin: 10px 0 10px 0; +} + +p.topic-title { + font-size: 1.1em; + font-weight: bold; + margin-top: 10px; +} + +/* -- admonitions ----------------------------------------------------------- */ + +div.admonition { + margin-top: 10px; + margin-bottom: 10px; + padding: 7px; +} + +div.admonition dt { + font-weight: bold; +} + +p.admonition-title { + margin: 0px 10px 5px 0px; + font-weight: bold; +} + +div.body p.centered { + text-align: center; + margin-top: 25px; +} + +/* -- content of sidebars/topics/admonitions -------------------------------- */ + +div.sidebar > :last-child, +aside.sidebar > :last-child, +nav.contents > :last-child, +aside.topic > :last-child, +div.topic > :last-child, +div.admonition > :last-child { + margin-bottom: 0; +} + +div.sidebar::after, +aside.sidebar::after, +nav.contents::after, +aside.topic::after, +div.topic::after, +div.admonition::after, +blockquote::after { + display: block; + content: ''; + clear: both; +} + +/* -- tables ---------------------------------------------------------------- */ + +table.docutils { + margin-top: 10px; + margin-bottom: 10px; + border: 0; + border-collapse: collapse; +} + +table.align-center { + margin-left: auto; + margin-right: auto; +} + +table.align-default { + margin-left: auto; + margin-right: auto; +} + +table caption span.caption-number { + font-style: italic; +} + +table caption span.caption-text { +} + +table.docutils td, table.docutils th { + padding: 1px 8px 1px 5px; + border-top: 0; + border-left: 0; + border-right: 0; + border-bottom: 1px solid #aaa; +} + +th { + text-align: left; + padding-right: 5px; +} + +table.citation { + border-left: solid 1px gray; + margin-left: 1px; +} + +table.citation td { + border-bottom: none; +} + +th > :first-child, +td > :first-child { + margin-top: 0px; +} + +th > :last-child, +td > :last-child { + margin-bottom: 0px; +} + +/* -- figures --------------------------------------------------------------- */ + +div.figure, figure { + margin: 0.5em; + padding: 0.5em; +} + +div.figure p.caption, figcaption { + padding: 0.3em; +} + +div.figure p.caption span.caption-number, +figcaption span.caption-number { + font-style: italic; +} + +div.figure p.caption span.caption-text, +figcaption span.caption-text { +} + +/* -- field list styles ----------------------------------------------------- */ + +table.field-list td, table.field-list th { + border: 0 !important; +} + +.field-list ul { + margin: 0; + padding-left: 1em; +} + +.field-list p { + margin: 0; +} + +.field-name { + -moz-hyphens: manual; + -ms-hyphens: manual; + -webkit-hyphens: manual; + hyphens: manual; +} + +/* -- hlist styles ---------------------------------------------------------- */ + +table.hlist { + margin: 1em 0; +} + +table.hlist td { + vertical-align: top; +} + +/* -- object description styles --------------------------------------------- */ + +.sig { + font-family: 'Consolas', 'Menlo', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', monospace; +} + +.sig-name, code.descname { + background-color: transparent; + font-weight: bold; +} + +.sig-name { + font-size: 1.1em; +} + +code.descname { + font-size: 1.2em; +} + +.sig-prename, code.descclassname { + background-color: transparent; +} + +.optional { + font-size: 1.3em; +} + +.sig-paren { + font-size: larger; +} + +.sig-param.n { + font-style: italic; +} + +/* C++ specific styling */ + +.sig-inline.c-texpr, +.sig-inline.cpp-texpr { + font-family: unset; +} + +.sig.c .k, .sig.c .kt, +.sig.cpp .k, .sig.cpp .kt { + color: #0033B3; +} + +.sig.c .m, +.sig.cpp .m { + color: #1750EB; +} + +.sig.c .s, .sig.c .sc, +.sig.cpp .s, .sig.cpp .sc { + color: #067D17; +} + + +/* -- other body styles ----------------------------------------------------- */ + +ol.arabic { + list-style: decimal; +} + +ol.loweralpha { + list-style: lower-alpha; +} + +ol.upperalpha { + list-style: upper-alpha; +} + +ol.lowerroman { + list-style: lower-roman; +} + +ol.upperroman { + list-style: upper-roman; +} + +:not(li) > ol > li:first-child > :first-child, +:not(li) > ul > li:first-child > :first-child { + margin-top: 0px; +} + +:not(li) > ol > li:last-child > :last-child, +:not(li) > ul > li:last-child > :last-child { + margin-bottom: 0px; +} + +ol.simple ol p, +ol.simple ul p, +ul.simple ol p, +ul.simple ul p { + margin-top: 0; +} + +ol.simple > li:not(:first-child) > p, +ul.simple > li:not(:first-child) > p { + margin-top: 0; +} + +ol.simple p, +ul.simple p { + margin-bottom: 0; +} + +aside.footnote > span, +div.citation > span { + float: left; +} +aside.footnote > span:last-of-type, +div.citation > span:last-of-type { + padding-right: 0.5em; +} +aside.footnote > p { + margin-left: 2em; +} +div.citation > p { + margin-left: 4em; +} +aside.footnote > p:last-of-type, +div.citation > p:last-of-type { + margin-bottom: 0em; +} +aside.footnote > p:last-of-type:after, +div.citation > p:last-of-type:after { + content: ""; + clear: both; +} + +dl.field-list { + display: grid; + grid-template-columns: fit-content(30%) auto; +} + +dl.field-list > dt { + font-weight: bold; + word-break: break-word; + padding-left: 0.5em; + padding-right: 5px; +} + +dl.field-list > dd { + padding-left: 0.5em; + margin-top: 0em; + margin-left: 0em; + margin-bottom: 0em; +} + +dl { + margin-bottom: 15px; +} + +dd > :first-child { + margin-top: 0px; +} + +dd ul, dd table { + margin-bottom: 10px; +} + +dd { + margin-top: 3px; + margin-bottom: 10px; + margin-left: 30px; +} + +.sig dd { + margin-top: 0px; + margin-bottom: 0px; +} + +.sig dl { + margin-top: 0px; + margin-bottom: 0px; +} + +dl > dd:last-child, +dl > dd:last-child > :last-child { + margin-bottom: 0; +} + +dt:target, span.highlighted { + background-color: #fbe54e; +} + +rect.highlighted { + fill: #fbe54e; +} + +dl.glossary dt { + font-weight: bold; + font-size: 1.1em; +} + +.versionmodified { + font-style: italic; +} + +.system-message { + background-color: #fda; + padding: 5px; + border: 3px solid red; +} + +.footnote:target { + background-color: #ffa; +} + +.line-block { + display: block; + margin-top: 1em; + margin-bottom: 1em; +} + +.line-block .line-block { + margin-top: 0; + margin-bottom: 0; + margin-left: 1.5em; +} + +.guilabel, .menuselection { + font-family: sans-serif; +} + +.accelerator { + text-decoration: underline; +} + +.classifier { + font-style: oblique; +} + +.classifier:before { + font-style: normal; + margin: 0 0.5em; + content: ":"; + display: inline-block; +} + +abbr, acronym { + border-bottom: dotted 1px; + cursor: help; +} + +.translated { + background-color: rgba(207, 255, 207, 0.2) +} + +.untranslated { + background-color: rgba(255, 207, 207, 0.2) +} + +/* -- code displays --------------------------------------------------------- */ + +pre { + overflow: auto; + overflow-y: hidden; /* fixes display issues on Chrome browsers */ +} + +pre, div[class*="highlight-"] { + clear: both; +} + +span.pre { + -moz-hyphens: none; + -ms-hyphens: none; + -webkit-hyphens: none; + hyphens: none; + white-space: nowrap; +} + +div[class*="highlight-"] { + margin: 1em 0; +} + +td.linenos pre { + border: 0; + background-color: transparent; + color: #aaa; +} + +table.highlighttable { + display: block; +} + +table.highlighttable tbody { + display: block; +} + +table.highlighttable tr { + display: flex; +} + +table.highlighttable td { + margin: 0; + padding: 0; +} + +table.highlighttable td.linenos { + padding-right: 0.5em; +} + +table.highlighttable td.code { + flex: 1; + overflow: hidden; +} + +.highlight .hll { + display: block; +} + +div.highlight pre, +table.highlighttable pre { + margin: 0; +} + +div.code-block-caption + div { + margin-top: 0; +} + +div.code-block-caption { + margin-top: 1em; + padding: 2px 5px; + font-size: small; +} + +div.code-block-caption code { + background-color: transparent; +} + +table.highlighttable td.linenos, +span.linenos, +div.highlight span.gp { /* gp: Generic.Prompt */ + user-select: none; + -webkit-user-select: text; /* Safari fallback only */ + -webkit-user-select: none; /* Chrome/Safari */ + -moz-user-select: none; /* Firefox */ + -ms-user-select: none; /* IE10+ */ +} + +div.code-block-caption span.caption-number { + padding: 0.1em 0.3em; + font-style: italic; +} + +div.code-block-caption span.caption-text { +} + +div.literal-block-wrapper { + margin: 1em 0; +} + +code.xref, a code { + background-color: transparent; + font-weight: bold; +} + +h1 code, h2 code, h3 code, h4 code, h5 code, h6 code { + background-color: transparent; +} + +.viewcode-link { + float: right; +} + +.viewcode-back { + float: right; + font-family: sans-serif; +} + +div.viewcode-block:target { + margin: -1px -10px; + padding: 0 10px; +} + +/* -- math display ---------------------------------------------------------- */ + +img.math { + vertical-align: middle; +} + +div.body div.math p { + text-align: center; +} + +span.eqno { + float: right; +} + +span.eqno a.headerlink { + position: absolute; + z-index: 1; +} + +div.math:hover a.headerlink { + visibility: visible; +} + +/* -- printout stylesheet --------------------------------------------------- */ + +@media print { + div.document, + div.documentwrapper, + div.bodywrapper { + margin: 0 !important; + width: 100%; + } + + div.sphinxsidebar, + div.related, + div.footer, + #top-link { + display: none; + } +} \ No newline at end of file diff --git a/_static/check-solid.svg b/_static/check-solid.svg new file mode 100644 index 0000000..92fad4b --- /dev/null +++ b/_static/check-solid.svg @@ -0,0 +1,4 @@ + + + + diff --git a/_static/clipboard.min.js b/_static/clipboard.min.js new file mode 100644 index 0000000..54b3c46 --- /dev/null +++ b/_static/clipboard.min.js @@ -0,0 +1,7 @@ +/*! + * clipboard.js v2.0.8 + * https://clipboardjs.com/ + * + * Licensed MIT © Zeno Rocha + */ +!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.ClipboardJS=e():t.ClipboardJS=e()}(this,function(){return n={686:function(t,e,n){"use strict";n.d(e,{default:function(){return o}});var e=n(279),i=n.n(e),e=n(370),u=n.n(e),e=n(817),c=n.n(e);function a(t){try{return document.execCommand(t)}catch(t){return}}var f=function(t){t=c()(t);return a("cut"),t};var l=function(t){var e,n,o,r=1 + + + + diff --git a/_static/copybutton.css b/_static/copybutton.css new file mode 100644 index 0000000..f1916ec --- /dev/null +++ b/_static/copybutton.css @@ -0,0 +1,94 @@ +/* Copy buttons */ +button.copybtn { + position: absolute; + display: flex; + top: .3em; + right: .3em; + width: 1.7em; + height: 1.7em; + opacity: 0; + transition: opacity 0.3s, border .3s, background-color .3s; + user-select: none; + padding: 0; + border: none; + outline: none; + border-radius: 0.4em; + /* The colors that GitHub uses */ + border: #1b1f2426 1px solid; + background-color: #f6f8fa; + color: #57606a; +} + +button.copybtn.success { + border-color: #22863a; + color: #22863a; +} + +button.copybtn svg { + stroke: currentColor; + width: 1.5em; + height: 1.5em; + padding: 0.1em; +} + +div.highlight { + position: relative; +} + +/* Show the copybutton */ +.highlight:hover button.copybtn, button.copybtn.success { + opacity: 1; +} + +.highlight button.copybtn:hover { + background-color: rgb(235, 235, 235); +} + +.highlight button.copybtn:active { + background-color: rgb(187, 187, 187); +} + +/** + * A minimal CSS-only tooltip copied from: + * https://codepen.io/mildrenben/pen/rVBrpK + * + * To use, write HTML like the following: + * + *

Short

+ */ + .o-tooltip--left { + position: relative; + } + + .o-tooltip--left:after { + opacity: 0; + visibility: hidden; + position: absolute; + content: attr(data-tooltip); + padding: .2em; + font-size: .8em; + left: -.2em; + background: grey; + color: white; + white-space: nowrap; + z-index: 2; + border-radius: 2px; + transform: translateX(-102%) translateY(0); + transition: opacity 0.2s cubic-bezier(0.64, 0.09, 0.08, 1), transform 0.2s cubic-bezier(0.64, 0.09, 0.08, 1); +} + +.o-tooltip--left:hover:after { + display: block; + opacity: 1; + visibility: visible; + transform: translateX(-100%) translateY(0); + transition: opacity 0.2s cubic-bezier(0.64, 0.09, 0.08, 1), transform 0.2s cubic-bezier(0.64, 0.09, 0.08, 1); + transition-delay: .5s; +} + +/* By default the copy button shouldn't show up when printing a page */ +@media print { + button.copybtn { + display: none; + } +} diff --git a/_static/copybutton.js b/_static/copybutton.js new file mode 100644 index 0000000..2ea7ff3 --- /dev/null +++ b/_static/copybutton.js @@ -0,0 +1,248 @@ +// Localization support +const messages = { + 'en': { + 'copy': 'Copy', + 'copy_to_clipboard': 'Copy to clipboard', + 'copy_success': 'Copied!', + 'copy_failure': 'Failed to copy', + }, + 'es' : { + 'copy': 'Copiar', + 'copy_to_clipboard': 'Copiar al portapapeles', + 'copy_success': '¡Copiado!', + 'copy_failure': 'Error al copiar', + }, + 'de' : { + 'copy': 'Kopieren', + 'copy_to_clipboard': 'In die Zwischenablage kopieren', + 'copy_success': 'Kopiert!', + 'copy_failure': 'Fehler beim Kopieren', + }, + 'fr' : { + 'copy': 'Copier', + 'copy_to_clipboard': 'Copier dans le presse-papier', + 'copy_success': 'Copié !', + 'copy_failure': 'Échec de la copie', + }, + 'ru': { + 'copy': 'Скопировать', + 'copy_to_clipboard': 'Скопировать в буфер', + 'copy_success': 'Скопировано!', + 'copy_failure': 'Не удалось скопировать', + }, + 'zh-CN': { + 'copy': '复制', + 'copy_to_clipboard': '复制到剪贴板', + 'copy_success': '复制成功!', + 'copy_failure': '复制失败', + }, + 'it' : { + 'copy': 'Copiare', + 'copy_to_clipboard': 'Copiato negli appunti', + 'copy_success': 'Copiato!', + 'copy_failure': 'Errore durante la copia', + } +} + +let locale = 'en' +if( document.documentElement.lang !== undefined + && messages[document.documentElement.lang] !== undefined ) { + locale = document.documentElement.lang +} + +let doc_url_root = DOCUMENTATION_OPTIONS.URL_ROOT; +if (doc_url_root == '#') { + doc_url_root = ''; +} + +/** + * SVG files for our copy buttons + */ +let iconCheck = ` + ${messages[locale]['copy_success']} + + +` + +// If the user specified their own SVG use that, otherwise use the default +let iconCopy = ``; +if (!iconCopy) { + iconCopy = ` + ${messages[locale]['copy_to_clipboard']} + + + +` +} + +/** + * Set up copy/paste for code blocks + */ + +const runWhenDOMLoaded = cb => { + if (document.readyState != 'loading') { + cb() + } else if (document.addEventListener) { + document.addEventListener('DOMContentLoaded', cb) + } else { + document.attachEvent('onreadystatechange', function() { + if (document.readyState == 'complete') cb() + }) + } +} + +const codeCellId = index => `codecell${index}` + +// Clears selected text since ClipboardJS will select the text when copying +const clearSelection = () => { + if (window.getSelection) { + window.getSelection().removeAllRanges() + } else if (document.selection) { + document.selection.empty() + } +} + +// Changes tooltip text for a moment, then changes it back +// We want the timeout of our `success` class to be a bit shorter than the +// tooltip and icon change, so that we can hide the icon before changing back. +var timeoutIcon = 2000; +var timeoutSuccessClass = 1500; + +const temporarilyChangeTooltip = (el, oldText, newText) => { + el.setAttribute('data-tooltip', newText) + el.classList.add('success') + // Remove success a little bit sooner than we change the tooltip + // So that we can use CSS to hide the copybutton first + setTimeout(() => el.classList.remove('success'), timeoutSuccessClass) + setTimeout(() => el.setAttribute('data-tooltip', oldText), timeoutIcon) +} + +// Changes the copy button icon for two seconds, then changes it back +const temporarilyChangeIcon = (el) => { + el.innerHTML = iconCheck; + setTimeout(() => {el.innerHTML = iconCopy}, timeoutIcon) +} + +const addCopyButtonToCodeCells = () => { + // If ClipboardJS hasn't loaded, wait a bit and try again. This + // happens because we load ClipboardJS asynchronously. + if (window.ClipboardJS === undefined) { + setTimeout(addCopyButtonToCodeCells, 250) + return + } + + // Add copybuttons to all of our code cells + const COPYBUTTON_SELECTOR = 'div.highlight pre'; + const codeCells = document.querySelectorAll(COPYBUTTON_SELECTOR) + codeCells.forEach((codeCell, index) => { + const id = codeCellId(index) + codeCell.setAttribute('id', id) + + const clipboardButton = id => + `` + codeCell.insertAdjacentHTML('afterend', clipboardButton(id)) + }) + +function escapeRegExp(string) { + return string.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'); // $& means the whole matched string +} + +/** + * Removes excluded text from a Node. + * + * @param {Node} target Node to filter. + * @param {string} exclude CSS selector of nodes to exclude. + * @returns {DOMString} Text from `target` with text removed. + */ +function filterText(target, exclude) { + const clone = target.cloneNode(true); // clone as to not modify the live DOM + if (exclude) { + // remove excluded nodes + clone.querySelectorAll(exclude).forEach(node => node.remove()); + } + return clone.innerText; +} + +// Callback when a copy button is clicked. Will be passed the node that was clicked +// should then grab the text and replace pieces of text that shouldn't be used in output +function formatCopyText(textContent, copybuttonPromptText, isRegexp = false, onlyCopyPromptLines = true, removePrompts = true, copyEmptyLines = true, lineContinuationChar = "", hereDocDelim = "") { + var regexp; + var match; + + // Do we check for line continuation characters and "HERE-documents"? + var useLineCont = !!lineContinuationChar + var useHereDoc = !!hereDocDelim + + // create regexp to capture prompt and remaining line + if (isRegexp) { + regexp = new RegExp('^(' + copybuttonPromptText + ')(.*)') + } else { + regexp = new RegExp('^(' + escapeRegExp(copybuttonPromptText) + ')(.*)') + } + + const outputLines = []; + var promptFound = false; + var gotLineCont = false; + var gotHereDoc = false; + const lineGotPrompt = []; + for (const line of textContent.split('\n')) { + match = line.match(regexp) + if (match || gotLineCont || gotHereDoc) { + promptFound = regexp.test(line) + lineGotPrompt.push(promptFound) + if (removePrompts && promptFound) { + outputLines.push(match[2]) + } else { + outputLines.push(line) + } + gotLineCont = line.endsWith(lineContinuationChar) & useLineCont + if (line.includes(hereDocDelim) & useHereDoc) + gotHereDoc = !gotHereDoc + } else if (!onlyCopyPromptLines) { + outputLines.push(line) + } else if (copyEmptyLines && line.trim() === '') { + outputLines.push(line) + } + } + + // If no lines with the prompt were found then just use original lines + if (lineGotPrompt.some(v => v === true)) { + textContent = outputLines.join('\n'); + } + + // Remove a trailing newline to avoid auto-running when pasting + if (textContent.endsWith("\n")) { + textContent = textContent.slice(0, -1) + } + return textContent +} + + +var copyTargetText = (trigger) => { + var target = document.querySelector(trigger.attributes['data-clipboard-target'].value); + + // get filtered text + let exclude = '.linenos'; + + let text = filterText(target, exclude); + return formatCopyText(text, '', false, true, true, true, '', '') +} + + // Initialize with a callback so we can modify the text before copy + const clipboard = new ClipboardJS('.copybtn', {text: copyTargetText}) + + // Update UI with error/success messages + clipboard.on('success', event => { + clearSelection() + temporarilyChangeTooltip(event.trigger, messages[locale]['copy'], messages[locale]['copy_success']) + temporarilyChangeIcon(event.trigger) + }) + + clipboard.on('error', event => { + temporarilyChangeTooltip(event.trigger, messages[locale]['copy'], messages[locale]['copy_failure']) + }) +} + +runWhenDOMLoaded(addCopyButtonToCodeCells) \ No newline at end of file diff --git a/_static/copybutton_funcs.js b/_static/copybutton_funcs.js new file mode 100644 index 0000000..dbe1aaa --- /dev/null +++ b/_static/copybutton_funcs.js @@ -0,0 +1,73 @@ +function escapeRegExp(string) { + return string.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'); // $& means the whole matched string +} + +/** + * Removes excluded text from a Node. + * + * @param {Node} target Node to filter. + * @param {string} exclude CSS selector of nodes to exclude. + * @returns {DOMString} Text from `target` with text removed. + */ +export function filterText(target, exclude) { + const clone = target.cloneNode(true); // clone as to not modify the live DOM + if (exclude) { + // remove excluded nodes + clone.querySelectorAll(exclude).forEach(node => node.remove()); + } + return clone.innerText; +} + +// Callback when a copy button is clicked. Will be passed the node that was clicked +// should then grab the text and replace pieces of text that shouldn't be used in output +export function formatCopyText(textContent, copybuttonPromptText, isRegexp = false, onlyCopyPromptLines = true, removePrompts = true, copyEmptyLines = true, lineContinuationChar = "", hereDocDelim = "") { + var regexp; + var match; + + // Do we check for line continuation characters and "HERE-documents"? + var useLineCont = !!lineContinuationChar + var useHereDoc = !!hereDocDelim + + // create regexp to capture prompt and remaining line + if (isRegexp) { + regexp = new RegExp('^(' + copybuttonPromptText + ')(.*)') + } else { + regexp = new RegExp('^(' + escapeRegExp(copybuttonPromptText) + ')(.*)') + } + + const outputLines = []; + var promptFound = false; + var gotLineCont = false; + var gotHereDoc = false; + const lineGotPrompt = []; + for (const line of textContent.split('\n')) { + match = line.match(regexp) + if (match || gotLineCont || gotHereDoc) { + promptFound = regexp.test(line) + lineGotPrompt.push(promptFound) + if (removePrompts && promptFound) { + outputLines.push(match[2]) + } else { + outputLines.push(line) + } + gotLineCont = line.endsWith(lineContinuationChar) & useLineCont + if (line.includes(hereDocDelim) & useHereDoc) + gotHereDoc = !gotHereDoc + } else if (!onlyCopyPromptLines) { + outputLines.push(line) + } else if (copyEmptyLines && line.trim() === '') { + outputLines.push(line) + } + } + + // If no lines with the prompt were found then just use original lines + if (lineGotPrompt.some(v => v === true)) { + textContent = outputLines.join('\n'); + } + + // Remove a trailing newline to avoid auto-running when pasting + if (textContent.endsWith("\n")) { + textContent = textContent.slice(0, -1) + } + return textContent +} diff --git a/_static/design-tabs.js b/_static/design-tabs.js new file mode 100644 index 0000000..b25bd6a --- /dev/null +++ b/_static/design-tabs.js @@ -0,0 +1,101 @@ +// @ts-check + +// Extra JS capability for selected tabs to be synced +// The selection is stored in local storage so that it persists across page loads. + +/** + * @type {Record} + */ +let sd_id_to_elements = {}; +const storageKeyPrefix = "sphinx-design-tab-id-"; + +/** + * Create a key for a tab element. + * @param {HTMLElement} el - The tab element. + * @returns {[string, string, string] | null} - The key. + * + */ +function create_key(el) { + let syncId = el.getAttribute("data-sync-id"); + let syncGroup = el.getAttribute("data-sync-group"); + if (!syncId || !syncGroup) return null; + return [syncGroup, syncId, syncGroup + "--" + syncId]; +} + +/** + * Initialize the tab selection. + * + */ +function ready() { + // Find all tabs with sync data + + /** @type {string[]} */ + let groups = []; + + document.querySelectorAll(".sd-tab-label").forEach((label) => { + if (label instanceof HTMLElement) { + let data = create_key(label); + if (data) { + let [group, id, key] = data; + + // add click event listener + // @ts-ignore + label.onclick = onSDLabelClick; + + // store map of key to elements + if (!sd_id_to_elements[key]) { + sd_id_to_elements[key] = []; + } + sd_id_to_elements[key].push(label); + + if (groups.indexOf(group) === -1) { + groups.push(group); + // Check if a specific tab has been selected via URL parameter + const tabParam = new URLSearchParams(window.location.search).get( + group + ); + if (tabParam) { + console.log( + "sphinx-design: Selecting tab id for group '" + + group + + "' from URL parameter: " + + tabParam + ); + window.sessionStorage.setItem(storageKeyPrefix + group, tabParam); + } + } + + // Check is a specific tab has been selected previously + let previousId = window.sessionStorage.getItem( + storageKeyPrefix + group + ); + if (previousId === id) { + // console.log( + // "sphinx-design: Selecting tab from session storage: " + id + // ); + // @ts-ignore + label.previousElementSibling.checked = true; + } + } + } + }); +} + +/** + * Activate other tabs with the same sync id. + * + * @this {HTMLElement} - The element that was clicked. + */ +function onSDLabelClick() { + let data = create_key(this); + if (!data) return; + let [group, id, key] = data; + for (const label of sd_id_to_elements[key]) { + if (label === this) continue; + // @ts-ignore + label.previousElementSibling.checked = true; + } + window.sessionStorage.setItem(storageKeyPrefix + group, id); +} + +document.addEventListener("DOMContentLoaded", ready, false); diff --git a/_static/doctools.js b/_static/doctools.js new file mode 100644 index 0000000..4d67807 --- /dev/null +++ b/_static/doctools.js @@ -0,0 +1,156 @@ +/* + * doctools.js + * ~~~~~~~~~~~ + * + * Base JavaScript utilities for all Sphinx HTML documentation. + * + * :copyright: Copyright 2007-2024 by the Sphinx team, see AUTHORS. + * :license: BSD, see LICENSE for details. + * + */ +"use strict"; + +const BLACKLISTED_KEY_CONTROL_ELEMENTS = new Set([ + "TEXTAREA", + "INPUT", + "SELECT", + "BUTTON", +]); + +const _ready = (callback) => { + if (document.readyState !== "loading") { + callback(); + } else { + document.addEventListener("DOMContentLoaded", callback); + } +}; + +/** + * Small JavaScript module for the documentation. + */ +const Documentation = { + init: () => { + Documentation.initDomainIndexTable(); + Documentation.initOnKeyListeners(); + }, + + /** + * i18n support + */ + TRANSLATIONS: {}, + PLURAL_EXPR: (n) => (n === 1 ? 0 : 1), + LOCALE: "unknown", + + // gettext and ngettext don't access this so that the functions + // can safely bound to a different name (_ = Documentation.gettext) + gettext: (string) => { + const translated = Documentation.TRANSLATIONS[string]; + switch (typeof translated) { + case "undefined": + return string; // no translation + case "string": + return translated; // translation exists + default: + return translated[0]; // (singular, plural) translation tuple exists + } + }, + + ngettext: (singular, plural, n) => { + const translated = Documentation.TRANSLATIONS[singular]; + if (typeof translated !== "undefined") + return translated[Documentation.PLURAL_EXPR(n)]; + return n === 1 ? singular : plural; + }, + + addTranslations: (catalog) => { + Object.assign(Documentation.TRANSLATIONS, catalog.messages); + Documentation.PLURAL_EXPR = new Function( + "n", + `return (${catalog.plural_expr})` + ); + Documentation.LOCALE = catalog.locale; + }, + + /** + * helper function to focus on search bar + */ + focusSearchBar: () => { + document.querySelectorAll("input[name=q]")[0]?.focus(); + }, + + /** + * Initialise the domain index toggle buttons + */ + initDomainIndexTable: () => { + const toggler = (el) => { + const idNumber = el.id.substr(7); + const toggledRows = document.querySelectorAll(`tr.cg-${idNumber}`); + if (el.src.substr(-9) === "minus.png") { + el.src = `${el.src.substr(0, el.src.length - 9)}plus.png`; + toggledRows.forEach((el) => (el.style.display = "none")); + } else { + el.src = `${el.src.substr(0, el.src.length - 8)}minus.png`; + toggledRows.forEach((el) => (el.style.display = "")); + } + }; + + const togglerElements = document.querySelectorAll("img.toggler"); + togglerElements.forEach((el) => + el.addEventListener("click", (event) => toggler(event.currentTarget)) + ); + togglerElements.forEach((el) => (el.style.display = "")); + if (DOCUMENTATION_OPTIONS.COLLAPSE_INDEX) togglerElements.forEach(toggler); + }, + + initOnKeyListeners: () => { + // only install a listener if it is really needed + if ( + !DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS && + !DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS + ) + return; + + document.addEventListener("keydown", (event) => { + // bail for input elements + if (BLACKLISTED_KEY_CONTROL_ELEMENTS.has(document.activeElement.tagName)) return; + // bail with special keys + if (event.altKey || event.ctrlKey || event.metaKey) return; + + if (!event.shiftKey) { + switch (event.key) { + case "ArrowLeft": + if (!DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS) break; + + const prevLink = document.querySelector('link[rel="prev"]'); + if (prevLink && prevLink.href) { + window.location.href = prevLink.href; + event.preventDefault(); + } + break; + case "ArrowRight": + if (!DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS) break; + + const nextLink = document.querySelector('link[rel="next"]'); + if (nextLink && nextLink.href) { + window.location.href = nextLink.href; + event.preventDefault(); + } + break; + } + } + + // some keyboard layouts may need Shift to get / + switch (event.key) { + case "/": + if (!DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS) break; + Documentation.focusSearchBar(); + event.preventDefault(); + } + }); + }, +}; + +// quick alias for translations +const _ = Documentation.gettext; + +_ready(Documentation.init); diff --git a/_static/documentation_options.js b/_static/documentation_options.js new file mode 100644 index 0000000..dab586c --- /dev/null +++ b/_static/documentation_options.js @@ -0,0 +1,13 @@ +const DOCUMENTATION_OPTIONS = { + VERSION: '', + LANGUAGE: 'en', + COLLAPSE_INDEX: false, + BUILDER: 'html', + FILE_SUFFIX: '.html', + LINK_SUFFIX: '.html', + HAS_SOURCE: true, + SOURCELINK_SUFFIX: '', + NAVIGATION_WITH_KEYS: false, + SHOW_SEARCH_SUMMARY: true, + ENABLE_SEARCH_SHORTCUTS: true, +}; \ No newline at end of file diff --git a/_static/file.png b/_static/file.png new file mode 100644 index 0000000..a858a41 Binary files /dev/null and b/_static/file.png differ diff --git a/_static/images/logo_binder.svg b/_static/images/logo_binder.svg new file mode 100644 index 0000000..45fecf7 --- /dev/null +++ b/_static/images/logo_binder.svg @@ -0,0 +1,19 @@ + + + + +logo + + + + + + + + diff --git a/_static/images/logo_colab.png b/_static/images/logo_colab.png new file mode 100644 index 0000000..b7560ec Binary files /dev/null and b/_static/images/logo_colab.png differ diff --git a/_static/images/logo_deepnote.svg b/_static/images/logo_deepnote.svg new file mode 100644 index 0000000..fa77ebf --- /dev/null +++ b/_static/images/logo_deepnote.svg @@ -0,0 +1 @@ + diff --git a/_static/images/logo_jupyterhub.svg b/_static/images/logo_jupyterhub.svg new file mode 100644 index 0000000..60cfe9f --- /dev/null +++ b/_static/images/logo_jupyterhub.svg @@ -0,0 +1 @@ +logo_jupyterhubHub diff --git a/_static/language_data.js b/_static/language_data.js new file mode 100644 index 0000000..367b8ed --- /dev/null +++ b/_static/language_data.js @@ -0,0 +1,199 @@ +/* + * language_data.js + * ~~~~~~~~~~~~~~~~ + * + * This script contains the language-specific data used by searchtools.js, + * namely the list of stopwords, stemmer, scorer and splitter. + * + * :copyright: Copyright 2007-2024 by the Sphinx team, see AUTHORS. + * :license: BSD, see LICENSE for details. + * + */ + +var stopwords = ["a", "and", "are", "as", "at", "be", "but", "by", "for", "if", "in", "into", "is", "it", "near", "no", "not", "of", "on", "or", "such", "that", "the", "their", "then", "there", "these", "they", "this", "to", "was", "will", "with"]; + + +/* Non-minified version is copied as a separate JS file, if available */ + +/** + * Porter Stemmer + */ +var Stemmer = function() { + + var step2list = { + ational: 'ate', + tional: 'tion', + enci: 'ence', + anci: 'ance', + izer: 'ize', + bli: 'ble', + alli: 'al', + entli: 'ent', + eli: 'e', + ousli: 'ous', + ization: 'ize', + ation: 'ate', + ator: 'ate', + alism: 'al', + iveness: 'ive', + fulness: 'ful', + ousness: 'ous', + aliti: 'al', + iviti: 'ive', + biliti: 'ble', + logi: 'log' + }; + + var step3list = { + icate: 'ic', + ative: '', + alize: 'al', + iciti: 'ic', + ical: 'ic', + ful: '', + ness: '' + }; + + var c = "[^aeiou]"; // consonant + var v = "[aeiouy]"; // vowel + var C = c + "[^aeiouy]*"; // consonant sequence + var V = v + "[aeiou]*"; // vowel sequence + + var mgr0 = "^(" + C + ")?" + V + C; // [C]VC... is m>0 + var meq1 = "^(" + C + ")?" + V + C + "(" + V + ")?$"; // [C]VC[V] is m=1 + var mgr1 = "^(" + C + ")?" + V + C + V + C; // [C]VCVC... is m>1 + var s_v = "^(" + C + ")?" + v; // vowel in stem + + this.stemWord = function (w) { + var stem; + var suffix; + var firstch; + var origword = w; + + if (w.length < 3) + return w; + + var re; + var re2; + var re3; + var re4; + + firstch = w.substr(0,1); + if (firstch == "y") + w = firstch.toUpperCase() + w.substr(1); + + // Step 1a + re = /^(.+?)(ss|i)es$/; + re2 = /^(.+?)([^s])s$/; + + if (re.test(w)) + w = w.replace(re,"$1$2"); + else if (re2.test(w)) + w = w.replace(re2,"$1$2"); + + // Step 1b + re = /^(.+?)eed$/; + re2 = /^(.+?)(ed|ing)$/; + if (re.test(w)) { + var fp = re.exec(w); + re = new RegExp(mgr0); + if (re.test(fp[1])) { + re = /.$/; + w = w.replace(re,""); + } + } + else if (re2.test(w)) { + var fp = re2.exec(w); + stem = fp[1]; + re2 = new RegExp(s_v); + if (re2.test(stem)) { + w = stem; + re2 = /(at|bl|iz)$/; + re3 = new RegExp("([^aeiouylsz])\\1$"); + re4 = new RegExp("^" + C + v + "[^aeiouwxy]$"); + if (re2.test(w)) + w = w + "e"; + else if (re3.test(w)) { + re = /.$/; + w = w.replace(re,""); + } + else if (re4.test(w)) + w = w + "e"; + } + } + + // Step 1c + re = /^(.+?)y$/; + if (re.test(w)) { + var fp = re.exec(w); + stem = fp[1]; + re = new RegExp(s_v); + if (re.test(stem)) + w = stem + "i"; + } + + // Step 2 + re = /^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/; + if (re.test(w)) { + var fp = re.exec(w); + stem = fp[1]; + suffix = fp[2]; + re = new RegExp(mgr0); + if (re.test(stem)) + w = stem + step2list[suffix]; + } + + // Step 3 + re = /^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/; + if (re.test(w)) { + var fp = re.exec(w); + stem = fp[1]; + suffix = fp[2]; + re = new RegExp(mgr0); + if (re.test(stem)) + w = stem + step3list[suffix]; + } + + // Step 4 + re = /^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/; + re2 = /^(.+?)(s|t)(ion)$/; + if (re.test(w)) { + var fp = re.exec(w); + stem = fp[1]; + re = new RegExp(mgr1); + if (re.test(stem)) + w = stem; + } + else if (re2.test(w)) { + var fp = re2.exec(w); + stem = fp[1] + fp[2]; + re2 = new RegExp(mgr1); + if (re2.test(stem)) + w = stem; + } + + // Step 5 + re = /^(.+?)e$/; + if (re.test(w)) { + var fp = re.exec(w); + stem = fp[1]; + re = new RegExp(mgr1); + re2 = new RegExp(meq1); + re3 = new RegExp("^" + C + v + "[^aeiouwxy]$"); + if (re.test(stem) || (re2.test(stem) && !(re3.test(stem)))) + w = stem; + } + re = /ll$/; + re2 = new RegExp(mgr1); + if (re.test(w) && re2.test(w)) { + re = /.$/; + w = w.replace(re,""); + } + + // and turn initial Y back to y + if (firstch == "y") + w = firstch.toLowerCase() + w.substr(1); + return w; + } +} + diff --git a/_static/locales/ar/LC_MESSAGES/booktheme.mo b/_static/locales/ar/LC_MESSAGES/booktheme.mo new file mode 100644 index 0000000..15541a6 Binary files /dev/null and b/_static/locales/ar/LC_MESSAGES/booktheme.mo differ diff --git a/_static/locales/ar/LC_MESSAGES/booktheme.po b/_static/locales/ar/LC_MESSAGES/booktheme.po new file mode 100644 index 0000000..34d404c --- /dev/null +++ b/_static/locales/ar/LC_MESSAGES/booktheme.po @@ -0,0 +1,75 @@ + +msgid "" +msgstr "" +"Project-Id-Version: Sphinx-Book-Theme\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ar\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Print to PDF" +msgstr "طباعة إلى PDF" + +msgid "Theme by the" +msgstr "موضوع بواسطة" + +msgid "Download source file" +msgstr "تنزيل ملف المصدر" + +msgid "open issue" +msgstr "قضية مفتوحة" + +msgid "Contents" +msgstr "محتويات" + +msgid "previous page" +msgstr "الصفحة السابقة" + +msgid "Download notebook file" +msgstr "تنزيل ملف دفتر الملاحظات" + +msgid "Copyright" +msgstr "حقوق النشر" + +msgid "Download this page" +msgstr "قم بتنزيل هذه الصفحة" + +msgid "Source repository" +msgstr "مستودع المصدر" + +msgid "By" +msgstr "بواسطة" + +msgid "repository" +msgstr "مخزن" + +msgid "Last updated on" +msgstr "آخر تحديث في" + +msgid "Toggle navigation" +msgstr "تبديل التنقل" + +msgid "Sphinx Book Theme" +msgstr "موضوع كتاب أبو الهول" + +msgid "suggest edit" +msgstr "أقترح تحرير" + +msgid "Open an issue" +msgstr "افتح قضية" + +msgid "Launch" +msgstr "إطلاق" + +msgid "Fullscreen mode" +msgstr "وضع ملء الشاشة" + +msgid "Edit this page" +msgstr "قم بتحرير هذه الصفحة" + +msgid "By the" +msgstr "بواسطة" + +msgid "next page" +msgstr "الصفحة التالية" diff --git a/_static/locales/bg/LC_MESSAGES/booktheme.mo b/_static/locales/bg/LC_MESSAGES/booktheme.mo new file mode 100644 index 0000000..da95120 Binary files /dev/null and b/_static/locales/bg/LC_MESSAGES/booktheme.mo differ diff --git a/_static/locales/bg/LC_MESSAGES/booktheme.po b/_static/locales/bg/LC_MESSAGES/booktheme.po new file mode 100644 index 0000000..7420c19 --- /dev/null +++ b/_static/locales/bg/LC_MESSAGES/booktheme.po @@ -0,0 +1,75 @@ + +msgid "" +msgstr "" +"Project-Id-Version: Sphinx-Book-Theme\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: bg\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Print to PDF" +msgstr "Печат в PDF" + +msgid "Theme by the" +msgstr "Тема от" + +msgid "Download source file" +msgstr "Изтеглете изходния файл" + +msgid "open issue" +msgstr "отворен брой" + +msgid "Contents" +msgstr "Съдържание" + +msgid "previous page" +msgstr "предишна страница" + +msgid "Download notebook file" +msgstr "Изтеглете файла на бележника" + +msgid "Copyright" +msgstr "Авторско право" + +msgid "Download this page" +msgstr "Изтеглете тази страница" + +msgid "Source repository" +msgstr "Хранилище на източника" + +msgid "By" +msgstr "От" + +msgid "repository" +msgstr "хранилище" + +msgid "Last updated on" +msgstr "Последна актуализация на" + +msgid "Toggle navigation" +msgstr "Превключване на навигацията" + +msgid "Sphinx Book Theme" +msgstr "Тема на книгата Sphinx" + +msgid "suggest edit" +msgstr "предложи редактиране" + +msgid "Open an issue" +msgstr "Отворете проблем" + +msgid "Launch" +msgstr "Стартиране" + +msgid "Fullscreen mode" +msgstr "Режим на цял екран" + +msgid "Edit this page" +msgstr "Редактирайте тази страница" + +msgid "By the" +msgstr "По" + +msgid "next page" +msgstr "Следваща страница" diff --git a/_static/locales/bn/LC_MESSAGES/booktheme.mo b/_static/locales/bn/LC_MESSAGES/booktheme.mo new file mode 100644 index 0000000..6b96639 Binary files /dev/null and b/_static/locales/bn/LC_MESSAGES/booktheme.mo differ diff --git a/_static/locales/bn/LC_MESSAGES/booktheme.po b/_static/locales/bn/LC_MESSAGES/booktheme.po new file mode 100644 index 0000000..63a07c3 --- /dev/null +++ b/_static/locales/bn/LC_MESSAGES/booktheme.po @@ -0,0 +1,63 @@ + +msgid "" +msgstr "" +"Project-Id-Version: Sphinx-Book-Theme\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: bn\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Print to PDF" +msgstr "পিডিএফ প্রিন্ট করুন" + +msgid "Theme by the" +msgstr "থিম দ্বারা" + +msgid "Download source file" +msgstr "উত্স ফাইল ডাউনলোড করুন" + +msgid "open issue" +msgstr "খোলা সমস্যা" + +msgid "previous page" +msgstr "আগের পৃষ্ঠা" + +msgid "Download notebook file" +msgstr "নোটবুক ফাইল ডাউনলোড করুন" + +msgid "Copyright" +msgstr "কপিরাইট" + +msgid "Download this page" +msgstr "এই পৃষ্ঠাটি ডাউনলোড করুন" + +msgid "Source repository" +msgstr "উত্স সংগ্রহস্থল" + +msgid "By" +msgstr "দ্বারা" + +msgid "Last updated on" +msgstr "সর্বশেষ আপডেট" + +msgid "Toggle navigation" +msgstr "নেভিগেশন টগল করুন" + +msgid "Sphinx Book Theme" +msgstr "স্পিনিক্স বুক থিম" + +msgid "Open an issue" +msgstr "একটি সমস্যা খুলুন" + +msgid "Launch" +msgstr "শুরু করা" + +msgid "Edit this page" +msgstr "এই পৃষ্ঠাটি সম্পাদনা করুন" + +msgid "By the" +msgstr "দ্বারা" + +msgid "next page" +msgstr "পরবর্তী পৃষ্ঠা" diff --git a/_static/locales/ca/LC_MESSAGES/booktheme.mo b/_static/locales/ca/LC_MESSAGES/booktheme.mo new file mode 100644 index 0000000..a4dd30e Binary files /dev/null and b/_static/locales/ca/LC_MESSAGES/booktheme.mo differ diff --git a/_static/locales/ca/LC_MESSAGES/booktheme.po b/_static/locales/ca/LC_MESSAGES/booktheme.po new file mode 100644 index 0000000..8fb358b --- /dev/null +++ b/_static/locales/ca/LC_MESSAGES/booktheme.po @@ -0,0 +1,66 @@ + +msgid "" +msgstr "" +"Project-Id-Version: Sphinx-Book-Theme\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ca\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Print to PDF" +msgstr "Imprimeix a PDF" + +msgid "Theme by the" +msgstr "Tema del" + +msgid "Download source file" +msgstr "Baixeu el fitxer font" + +msgid "open issue" +msgstr "número obert" + +msgid "previous page" +msgstr "Pàgina anterior" + +msgid "Download notebook file" +msgstr "Descarregar fitxer de quadern" + +msgid "Copyright" +msgstr "Copyright" + +msgid "Download this page" +msgstr "Descarregueu aquesta pàgina" + +msgid "Source repository" +msgstr "Dipòsit de fonts" + +msgid "By" +msgstr "Per" + +msgid "Last updated on" +msgstr "Darrera actualització el" + +msgid "Toggle navigation" +msgstr "Commuta la navegació" + +msgid "Sphinx Book Theme" +msgstr "Tema del llibre Esfinx" + +msgid "suggest edit" +msgstr "suggerir edició" + +msgid "Open an issue" +msgstr "Obriu un número" + +msgid "Launch" +msgstr "Llançament" + +msgid "Edit this page" +msgstr "Editeu aquesta pàgina" + +msgid "By the" +msgstr "Per la" + +msgid "next page" +msgstr "pàgina següent" diff --git a/_static/locales/cs/LC_MESSAGES/booktheme.mo b/_static/locales/cs/LC_MESSAGES/booktheme.mo new file mode 100644 index 0000000..c39e01a Binary files /dev/null and b/_static/locales/cs/LC_MESSAGES/booktheme.mo differ diff --git a/_static/locales/cs/LC_MESSAGES/booktheme.po b/_static/locales/cs/LC_MESSAGES/booktheme.po new file mode 100644 index 0000000..c6ef469 --- /dev/null +++ b/_static/locales/cs/LC_MESSAGES/booktheme.po @@ -0,0 +1,75 @@ + +msgid "" +msgstr "" +"Project-Id-Version: Sphinx-Book-Theme\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: cs\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Print to PDF" +msgstr "Tisk do PDF" + +msgid "Theme by the" +msgstr "Téma od" + +msgid "Download source file" +msgstr "Stáhněte si zdrojový soubor" + +msgid "open issue" +msgstr "otevřené číslo" + +msgid "Contents" +msgstr "Obsah" + +msgid "previous page" +msgstr "předchozí stránka" + +msgid "Download notebook file" +msgstr "Stáhnout soubor poznámkového bloku" + +msgid "Copyright" +msgstr "autorská práva" + +msgid "Download this page" +msgstr "Stáhněte si tuto stránku" + +msgid "Source repository" +msgstr "Zdrojové úložiště" + +msgid "By" +msgstr "Podle" + +msgid "repository" +msgstr "úložiště" + +msgid "Last updated on" +msgstr "Naposledy aktualizováno" + +msgid "Toggle navigation" +msgstr "Přepnout navigaci" + +msgid "Sphinx Book Theme" +msgstr "Téma knihy Sfinga" + +msgid "suggest edit" +msgstr "navrhnout úpravy" + +msgid "Open an issue" +msgstr "Otevřete problém" + +msgid "Launch" +msgstr "Zahájení" + +msgid "Fullscreen mode" +msgstr "Režim celé obrazovky" + +msgid "Edit this page" +msgstr "Upravit tuto stránku" + +msgid "By the" +msgstr "Podle" + +msgid "next page" +msgstr "další strana" diff --git a/_static/locales/da/LC_MESSAGES/booktheme.mo b/_static/locales/da/LC_MESSAGES/booktheme.mo new file mode 100644 index 0000000..f43157d Binary files /dev/null and b/_static/locales/da/LC_MESSAGES/booktheme.mo differ diff --git a/_static/locales/da/LC_MESSAGES/booktheme.po b/_static/locales/da/LC_MESSAGES/booktheme.po new file mode 100644 index 0000000..306a38e --- /dev/null +++ b/_static/locales/da/LC_MESSAGES/booktheme.po @@ -0,0 +1,75 @@ + +msgid "" +msgstr "" +"Project-Id-Version: Sphinx-Book-Theme\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: da\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Print to PDF" +msgstr "Udskriv til PDF" + +msgid "Theme by the" +msgstr "Tema af" + +msgid "Download source file" +msgstr "Download kildefil" + +msgid "open issue" +msgstr "åbent nummer" + +msgid "Contents" +msgstr "Indhold" + +msgid "previous page" +msgstr "forrige side" + +msgid "Download notebook file" +msgstr "Download notesbog-fil" + +msgid "Copyright" +msgstr "ophavsret" + +msgid "Download this page" +msgstr "Download denne side" + +msgid "Source repository" +msgstr "Kildelager" + +msgid "By" +msgstr "Ved" + +msgid "repository" +msgstr "lager" + +msgid "Last updated on" +msgstr "Sidst opdateret den" + +msgid "Toggle navigation" +msgstr "Skift navigation" + +msgid "Sphinx Book Theme" +msgstr "Sphinx bogtema" + +msgid "suggest edit" +msgstr "foreslå redigering" + +msgid "Open an issue" +msgstr "Åbn et problem" + +msgid "Launch" +msgstr "Start" + +msgid "Fullscreen mode" +msgstr "Fuldskærmstilstand" + +msgid "Edit this page" +msgstr "Rediger denne side" + +msgid "By the" +msgstr "Ved" + +msgid "next page" +msgstr "Næste side" diff --git a/_static/locales/de/LC_MESSAGES/booktheme.mo b/_static/locales/de/LC_MESSAGES/booktheme.mo new file mode 100644 index 0000000..648b565 Binary files /dev/null and b/_static/locales/de/LC_MESSAGES/booktheme.mo differ diff --git a/_static/locales/de/LC_MESSAGES/booktheme.po b/_static/locales/de/LC_MESSAGES/booktheme.po new file mode 100644 index 0000000..4925360 --- /dev/null +++ b/_static/locales/de/LC_MESSAGES/booktheme.po @@ -0,0 +1,75 @@ + +msgid "" +msgstr "" +"Project-Id-Version: Sphinx-Book-Theme\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: de\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Print to PDF" +msgstr "In PDF drucken" + +msgid "Theme by the" +msgstr "Thema von der" + +msgid "Download source file" +msgstr "Quelldatei herunterladen" + +msgid "open issue" +msgstr "offenes Thema" + +msgid "Contents" +msgstr "Inhalt" + +msgid "previous page" +msgstr "vorherige Seite" + +msgid "Download notebook file" +msgstr "Notebook-Datei herunterladen" + +msgid "Copyright" +msgstr "Urheberrechte ©" + +msgid "Download this page" +msgstr "Laden Sie diese Seite herunter" + +msgid "Source repository" +msgstr "Quell-Repository" + +msgid "By" +msgstr "Durch" + +msgid "repository" +msgstr "Repository" + +msgid "Last updated on" +msgstr "Zuletzt aktualisiert am" + +msgid "Toggle navigation" +msgstr "Navigation umschalten" + +msgid "Sphinx Book Theme" +msgstr "Sphinx-Buch-Thema" + +msgid "suggest edit" +msgstr "vorschlagen zu bearbeiten" + +msgid "Open an issue" +msgstr "Öffnen Sie ein Problem" + +msgid "Launch" +msgstr "Starten" + +msgid "Fullscreen mode" +msgstr "Vollbildmodus" + +msgid "Edit this page" +msgstr "Bearbeite diese Seite" + +msgid "By the" +msgstr "Bis zum" + +msgid "next page" +msgstr "Nächste Seite" diff --git a/_static/locales/el/LC_MESSAGES/booktheme.mo b/_static/locales/el/LC_MESSAGES/booktheme.mo new file mode 100644 index 0000000..fca6e93 Binary files /dev/null and b/_static/locales/el/LC_MESSAGES/booktheme.mo differ diff --git a/_static/locales/el/LC_MESSAGES/booktheme.po b/_static/locales/el/LC_MESSAGES/booktheme.po new file mode 100644 index 0000000..3e01acb --- /dev/null +++ b/_static/locales/el/LC_MESSAGES/booktheme.po @@ -0,0 +1,75 @@ + +msgid "" +msgstr "" +"Project-Id-Version: Sphinx-Book-Theme\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: el\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Print to PDF" +msgstr "Εκτύπωση σε PDF" + +msgid "Theme by the" +msgstr "Θέμα από το" + +msgid "Download source file" +msgstr "Λήψη αρχείου προέλευσης" + +msgid "open issue" +msgstr "ανοιχτό ζήτημα" + +msgid "Contents" +msgstr "Περιεχόμενα" + +msgid "previous page" +msgstr "προηγούμενη σελίδα" + +msgid "Download notebook file" +msgstr "Λήψη αρχείου σημειωματάριου" + +msgid "Copyright" +msgstr "Πνευματική ιδιοκτησία" + +msgid "Download this page" +msgstr "Λήψη αυτής της σελίδας" + +msgid "Source repository" +msgstr "Αποθήκη πηγής" + +msgid "By" +msgstr "Με" + +msgid "repository" +msgstr "αποθήκη" + +msgid "Last updated on" +msgstr "Τελευταία ενημέρωση στις" + +msgid "Toggle navigation" +msgstr "Εναλλαγή πλοήγησης" + +msgid "Sphinx Book Theme" +msgstr "Θέμα βιβλίου Sphinx" + +msgid "suggest edit" +msgstr "προτείνω επεξεργασία" + +msgid "Open an issue" +msgstr "Ανοίξτε ένα ζήτημα" + +msgid "Launch" +msgstr "Εκτόξευση" + +msgid "Fullscreen mode" +msgstr "ΛΕΙΤΟΥΡΓΙΑ ΠΛΗΡΟΥΣ ΟΘΟΝΗΣ" + +msgid "Edit this page" +msgstr "Επεξεργαστείτε αυτήν τη σελίδα" + +msgid "By the" +msgstr "Από το" + +msgid "next page" +msgstr "επόμενη σελίδα" diff --git a/_static/locales/eo/LC_MESSAGES/booktheme.mo b/_static/locales/eo/LC_MESSAGES/booktheme.mo new file mode 100644 index 0000000..d1072bb Binary files /dev/null and b/_static/locales/eo/LC_MESSAGES/booktheme.mo differ diff --git a/_static/locales/eo/LC_MESSAGES/booktheme.po b/_static/locales/eo/LC_MESSAGES/booktheme.po new file mode 100644 index 0000000..f7ed226 --- /dev/null +++ b/_static/locales/eo/LC_MESSAGES/booktheme.po @@ -0,0 +1,75 @@ + +msgid "" +msgstr "" +"Project-Id-Version: Sphinx-Book-Theme\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: eo\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Print to PDF" +msgstr "Presi al PDF" + +msgid "Theme by the" +msgstr "Temo de la" + +msgid "Download source file" +msgstr "Elŝutu fontodosieron" + +msgid "open issue" +msgstr "malferma numero" + +msgid "Contents" +msgstr "Enhavo" + +msgid "previous page" +msgstr "antaŭa paĝo" + +msgid "Download notebook file" +msgstr "Elŝutu kajeran dosieron" + +msgid "Copyright" +msgstr "Kopirajto" + +msgid "Download this page" +msgstr "Elŝutu ĉi tiun paĝon" + +msgid "Source repository" +msgstr "Fonto-deponejo" + +msgid "By" +msgstr "De" + +msgid "repository" +msgstr "deponejo" + +msgid "Last updated on" +msgstr "Laste ĝisdatigita la" + +msgid "Toggle navigation" +msgstr "Ŝalti navigadon" + +msgid "Sphinx Book Theme" +msgstr "Sfinksa Libro-Temo" + +msgid "suggest edit" +msgstr "sugesti redaktadon" + +msgid "Open an issue" +msgstr "Malfermu numeron" + +msgid "Launch" +msgstr "Lanĉo" + +msgid "Fullscreen mode" +msgstr "Plenekrana reĝimo" + +msgid "Edit this page" +msgstr "Redaktu ĉi tiun paĝon" + +msgid "By the" +msgstr "Per la" + +msgid "next page" +msgstr "sekva paĝo" diff --git a/_static/locales/es/LC_MESSAGES/booktheme.mo b/_static/locales/es/LC_MESSAGES/booktheme.mo new file mode 100644 index 0000000..ba2ee4d Binary files /dev/null and b/_static/locales/es/LC_MESSAGES/booktheme.mo differ diff --git a/_static/locales/es/LC_MESSAGES/booktheme.po b/_static/locales/es/LC_MESSAGES/booktheme.po new file mode 100644 index 0000000..5e0029e --- /dev/null +++ b/_static/locales/es/LC_MESSAGES/booktheme.po @@ -0,0 +1,75 @@ + +msgid "" +msgstr "" +"Project-Id-Version: Sphinx-Book-Theme\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: es\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Print to PDF" +msgstr "Imprimir en PDF" + +msgid "Theme by the" +msgstr "Tema por el" + +msgid "Download source file" +msgstr "Descargar archivo fuente" + +msgid "open issue" +msgstr "Tema abierto" + +msgid "Contents" +msgstr "Contenido" + +msgid "previous page" +msgstr "pagina anterior" + +msgid "Download notebook file" +msgstr "Descargar archivo de cuaderno" + +msgid "Copyright" +msgstr "Derechos de autor" + +msgid "Download this page" +msgstr "Descarga esta pagina" + +msgid "Source repository" +msgstr "Repositorio de origen" + +msgid "By" +msgstr "Por" + +msgid "repository" +msgstr "repositorio" + +msgid "Last updated on" +msgstr "Ultima actualización en" + +msgid "Toggle navigation" +msgstr "Navegación de palanca" + +msgid "Sphinx Book Theme" +msgstr "Tema del libro de la esfinge" + +msgid "suggest edit" +msgstr "sugerir editar" + +msgid "Open an issue" +msgstr "Abrir un problema" + +msgid "Launch" +msgstr "Lanzamiento" + +msgid "Fullscreen mode" +msgstr "Modo de pantalla completa" + +msgid "Edit this page" +msgstr "Edita esta página" + +msgid "By the" +msgstr "Por el" + +msgid "next page" +msgstr "siguiente página" diff --git a/_static/locales/et/LC_MESSAGES/booktheme.mo b/_static/locales/et/LC_MESSAGES/booktheme.mo new file mode 100644 index 0000000..983b823 Binary files /dev/null and b/_static/locales/et/LC_MESSAGES/booktheme.mo differ diff --git a/_static/locales/et/LC_MESSAGES/booktheme.po b/_static/locales/et/LC_MESSAGES/booktheme.po new file mode 100644 index 0000000..8680982 --- /dev/null +++ b/_static/locales/et/LC_MESSAGES/booktheme.po @@ -0,0 +1,75 @@ + +msgid "" +msgstr "" +"Project-Id-Version: Sphinx-Book-Theme\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: et\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Print to PDF" +msgstr "Prindi PDF-i" + +msgid "Theme by the" +msgstr "Teema" + +msgid "Download source file" +msgstr "Laadige alla lähtefail" + +msgid "open issue" +msgstr "avatud küsimus" + +msgid "Contents" +msgstr "Sisu" + +msgid "previous page" +msgstr "eelmine leht" + +msgid "Download notebook file" +msgstr "Laadige sülearvuti fail alla" + +msgid "Copyright" +msgstr "Autoriõigus" + +msgid "Download this page" +msgstr "Laadige see leht alla" + +msgid "Source repository" +msgstr "Allikahoidla" + +msgid "By" +msgstr "Kõrval" + +msgid "repository" +msgstr "hoidla" + +msgid "Last updated on" +msgstr "Viimati uuendatud" + +msgid "Toggle navigation" +msgstr "Lülita navigeerimine sisse" + +msgid "Sphinx Book Theme" +msgstr "Sfinksiraamatu teema" + +msgid "suggest edit" +msgstr "soovita muuta" + +msgid "Open an issue" +msgstr "Avage probleem" + +msgid "Launch" +msgstr "Käivitage" + +msgid "Fullscreen mode" +msgstr "Täisekraanirežiim" + +msgid "Edit this page" +msgstr "Muutke seda lehte" + +msgid "By the" +msgstr "Autor" + +msgid "next page" +msgstr "järgmine leht" diff --git a/_static/locales/fi/LC_MESSAGES/booktheme.mo b/_static/locales/fi/LC_MESSAGES/booktheme.mo new file mode 100644 index 0000000..d8ac054 Binary files /dev/null and b/_static/locales/fi/LC_MESSAGES/booktheme.mo differ diff --git a/_static/locales/fi/LC_MESSAGES/booktheme.po b/_static/locales/fi/LC_MESSAGES/booktheme.po new file mode 100644 index 0000000..34dac21 --- /dev/null +++ b/_static/locales/fi/LC_MESSAGES/booktheme.po @@ -0,0 +1,75 @@ + +msgid "" +msgstr "" +"Project-Id-Version: Sphinx-Book-Theme\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: fi\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Print to PDF" +msgstr "Tulosta PDF-tiedostoon" + +msgid "Theme by the" +msgstr "Teeman tekijä" + +msgid "Download source file" +msgstr "Lataa lähdetiedosto" + +msgid "open issue" +msgstr "avoin ongelma" + +msgid "Contents" +msgstr "Sisällys" + +msgid "previous page" +msgstr "Edellinen sivu" + +msgid "Download notebook file" +msgstr "Lataa muistikirjatiedosto" + +msgid "Copyright" +msgstr "Tekijänoikeus" + +msgid "Download this page" +msgstr "Lataa tämä sivu" + +msgid "Source repository" +msgstr "Lähteen arkisto" + +msgid "By" +msgstr "Tekijä" + +msgid "repository" +msgstr "arkisto" + +msgid "Last updated on" +msgstr "Viimeksi päivitetty" + +msgid "Toggle navigation" +msgstr "Vaihda navigointia" + +msgid "Sphinx Book Theme" +msgstr "Sphinx-kirjan teema" + +msgid "suggest edit" +msgstr "ehdottaa muokkausta" + +msgid "Open an issue" +msgstr "Avaa ongelma" + +msgid "Launch" +msgstr "Tuoda markkinoille" + +msgid "Fullscreen mode" +msgstr "Koko näytön tila" + +msgid "Edit this page" +msgstr "Muokkaa tätä sivua" + +msgid "By the" +msgstr "Mukaan" + +msgid "next page" +msgstr "seuraava sivu" diff --git a/_static/locales/fr/LC_MESSAGES/booktheme.mo b/_static/locales/fr/LC_MESSAGES/booktheme.mo new file mode 100644 index 0000000..f663d39 Binary files /dev/null and b/_static/locales/fr/LC_MESSAGES/booktheme.mo differ diff --git a/_static/locales/fr/LC_MESSAGES/booktheme.po b/_static/locales/fr/LC_MESSAGES/booktheme.po new file mode 100644 index 0000000..8991a1b --- /dev/null +++ b/_static/locales/fr/LC_MESSAGES/booktheme.po @@ -0,0 +1,75 @@ + +msgid "" +msgstr "" +"Project-Id-Version: Sphinx-Book-Theme\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: fr\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Print to PDF" +msgstr "Imprimer au format PDF" + +msgid "Theme by the" +msgstr "Thème par le" + +msgid "Download source file" +msgstr "Télécharger le fichier source" + +msgid "open issue" +msgstr "signaler un problème" + +msgid "Contents" +msgstr "Contenu" + +msgid "previous page" +msgstr "page précédente" + +msgid "Download notebook file" +msgstr "Télécharger le fichier notebook" + +msgid "Copyright" +msgstr "droits d'auteur" + +msgid "Download this page" +msgstr "Téléchargez cette page" + +msgid "Source repository" +msgstr "Dépôt source" + +msgid "By" +msgstr "Par" + +msgid "repository" +msgstr "dépôt" + +msgid "Last updated on" +msgstr "Dernière mise à jour le" + +msgid "Toggle navigation" +msgstr "Basculer la navigation" + +msgid "Sphinx Book Theme" +msgstr "Thème du livre Sphinx" + +msgid "suggest edit" +msgstr "suggestion de modification" + +msgid "Open an issue" +msgstr "Ouvrez un problème" + +msgid "Launch" +msgstr "lancement" + +msgid "Fullscreen mode" +msgstr "Mode plein écran" + +msgid "Edit this page" +msgstr "Modifier cette page" + +msgid "By the" +msgstr "Par le" + +msgid "next page" +msgstr "page suivante" diff --git a/_static/locales/hr/LC_MESSAGES/booktheme.mo b/_static/locales/hr/LC_MESSAGES/booktheme.mo new file mode 100644 index 0000000..eca4a1a Binary files /dev/null and b/_static/locales/hr/LC_MESSAGES/booktheme.mo differ diff --git a/_static/locales/hr/LC_MESSAGES/booktheme.po b/_static/locales/hr/LC_MESSAGES/booktheme.po new file mode 100644 index 0000000..42c4233 --- /dev/null +++ b/_static/locales/hr/LC_MESSAGES/booktheme.po @@ -0,0 +1,75 @@ + +msgid "" +msgstr "" +"Project-Id-Version: Sphinx-Book-Theme\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: hr\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Print to PDF" +msgstr "Ispis u PDF" + +msgid "Theme by the" +msgstr "Tema autora" + +msgid "Download source file" +msgstr "Preuzmi izvornu datoteku" + +msgid "open issue" +msgstr "otvoreno izdanje" + +msgid "Contents" +msgstr "Sadržaj" + +msgid "previous page" +msgstr "Prethodna stranica" + +msgid "Download notebook file" +msgstr "Preuzmi datoteku bilježnice" + +msgid "Copyright" +msgstr "Autorska prava" + +msgid "Download this page" +msgstr "Preuzmite ovu stranicu" + +msgid "Source repository" +msgstr "Izvorno spremište" + +msgid "By" +msgstr "Po" + +msgid "repository" +msgstr "spremište" + +msgid "Last updated on" +msgstr "Posljednje ažuriranje:" + +msgid "Toggle navigation" +msgstr "Uključi / isključi navigaciju" + +msgid "Sphinx Book Theme" +msgstr "Tema knjige Sphinx" + +msgid "suggest edit" +msgstr "predloži uređivanje" + +msgid "Open an issue" +msgstr "Otvorite izdanje" + +msgid "Launch" +msgstr "Pokrenite" + +msgid "Fullscreen mode" +msgstr "Način preko cijelog zaslona" + +msgid "Edit this page" +msgstr "Uredite ovu stranicu" + +msgid "By the" +msgstr "Od strane" + +msgid "next page" +msgstr "sljedeća stranica" diff --git a/_static/locales/id/LC_MESSAGES/booktheme.mo b/_static/locales/id/LC_MESSAGES/booktheme.mo new file mode 100644 index 0000000..d07a06a Binary files /dev/null and b/_static/locales/id/LC_MESSAGES/booktheme.mo differ diff --git a/_static/locales/id/LC_MESSAGES/booktheme.po b/_static/locales/id/LC_MESSAGES/booktheme.po new file mode 100644 index 0000000..b8d8d89 --- /dev/null +++ b/_static/locales/id/LC_MESSAGES/booktheme.po @@ -0,0 +1,75 @@ + +msgid "" +msgstr "" +"Project-Id-Version: Sphinx-Book-Theme\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: id\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Print to PDF" +msgstr "Cetak ke PDF" + +msgid "Theme by the" +msgstr "Tema oleh" + +msgid "Download source file" +msgstr "Unduh file sumber" + +msgid "open issue" +msgstr "masalah terbuka" + +msgid "Contents" +msgstr "Isi" + +msgid "previous page" +msgstr "halaman sebelumnya" + +msgid "Download notebook file" +msgstr "Unduh file notebook" + +msgid "Copyright" +msgstr "hak cipta" + +msgid "Download this page" +msgstr "Unduh halaman ini" + +msgid "Source repository" +msgstr "Repositori sumber" + +msgid "By" +msgstr "Oleh" + +msgid "repository" +msgstr "gudang" + +msgid "Last updated on" +msgstr "Terakhir diperbarui saat" + +msgid "Toggle navigation" +msgstr "Alihkan navigasi" + +msgid "Sphinx Book Theme" +msgstr "Tema Buku Sphinx" + +msgid "suggest edit" +msgstr "menyarankan edit" + +msgid "Open an issue" +msgstr "Buka masalah" + +msgid "Launch" +msgstr "Meluncurkan" + +msgid "Fullscreen mode" +msgstr "Mode layar penuh" + +msgid "Edit this page" +msgstr "Edit halaman ini" + +msgid "By the" +msgstr "Oleh" + +msgid "next page" +msgstr "halaman selanjutnya" diff --git a/_static/locales/it/LC_MESSAGES/booktheme.mo b/_static/locales/it/LC_MESSAGES/booktheme.mo new file mode 100644 index 0000000..53ba476 Binary files /dev/null and b/_static/locales/it/LC_MESSAGES/booktheme.mo differ diff --git a/_static/locales/it/LC_MESSAGES/booktheme.po b/_static/locales/it/LC_MESSAGES/booktheme.po new file mode 100644 index 0000000..36fca59 --- /dev/null +++ b/_static/locales/it/LC_MESSAGES/booktheme.po @@ -0,0 +1,75 @@ + +msgid "" +msgstr "" +"Project-Id-Version: Sphinx-Book-Theme\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: it\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Print to PDF" +msgstr "Stampa in PDF" + +msgid "Theme by the" +msgstr "Tema di" + +msgid "Download source file" +msgstr "Scarica il file sorgente" + +msgid "open issue" +msgstr "questione aperta" + +msgid "Contents" +msgstr "Contenuti" + +msgid "previous page" +msgstr "pagina precedente" + +msgid "Download notebook file" +msgstr "Scarica il file del taccuino" + +msgid "Copyright" +msgstr "Diritto d'autore" + +msgid "Download this page" +msgstr "Scarica questa pagina" + +msgid "Source repository" +msgstr "Repository di origine" + +msgid "By" +msgstr "Di" + +msgid "repository" +msgstr "repository" + +msgid "Last updated on" +msgstr "Ultimo aggiornamento il" + +msgid "Toggle navigation" +msgstr "Attiva / disattiva la navigazione" + +msgid "Sphinx Book Theme" +msgstr "Tema del libro della Sfinge" + +msgid "suggest edit" +msgstr "suggerisci modifica" + +msgid "Open an issue" +msgstr "Apri un problema" + +msgid "Launch" +msgstr "Lanciare" + +msgid "Fullscreen mode" +msgstr "Modalità schermo intero" + +msgid "Edit this page" +msgstr "Modifica questa pagina" + +msgid "By the" +msgstr "Dal" + +msgid "next page" +msgstr "pagina successiva" diff --git a/_static/locales/iw/LC_MESSAGES/booktheme.mo b/_static/locales/iw/LC_MESSAGES/booktheme.mo new file mode 100644 index 0000000..a45c657 Binary files /dev/null and b/_static/locales/iw/LC_MESSAGES/booktheme.mo differ diff --git a/_static/locales/iw/LC_MESSAGES/booktheme.po b/_static/locales/iw/LC_MESSAGES/booktheme.po new file mode 100644 index 0000000..dede9cb --- /dev/null +++ b/_static/locales/iw/LC_MESSAGES/booktheme.po @@ -0,0 +1,75 @@ + +msgid "" +msgstr "" +"Project-Id-Version: Sphinx-Book-Theme\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: iw\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Print to PDF" +msgstr "הדפס לקובץ PDF" + +msgid "Theme by the" +msgstr "נושא מאת" + +msgid "Download source file" +msgstr "הורד את קובץ המקור" + +msgid "open issue" +msgstr "בעיה פתוחה" + +msgid "Contents" +msgstr "תוכן" + +msgid "previous page" +msgstr "עמוד קודם" + +msgid "Download notebook file" +msgstr "הורד קובץ מחברת" + +msgid "Copyright" +msgstr "זכויות יוצרים" + +msgid "Download this page" +msgstr "הורד דף זה" + +msgid "Source repository" +msgstr "מאגר המקורות" + +msgid "By" +msgstr "על ידי" + +msgid "repository" +msgstr "מאגר" + +msgid "Last updated on" +msgstr "עודכן לאחרונה ב" + +msgid "Toggle navigation" +msgstr "החלף ניווט" + +msgid "Sphinx Book Theme" +msgstr "נושא ספר ספינקס" + +msgid "suggest edit" +msgstr "מציע לערוך" + +msgid "Open an issue" +msgstr "פתח גיליון" + +msgid "Launch" +msgstr "לְהַשִׁיק" + +msgid "Fullscreen mode" +msgstr "מצב מסך מלא" + +msgid "Edit this page" +msgstr "ערוך דף זה" + +msgid "By the" +msgstr "דרך" + +msgid "next page" +msgstr "עמוד הבא" diff --git a/_static/locales/ja/LC_MESSAGES/booktheme.mo b/_static/locales/ja/LC_MESSAGES/booktheme.mo new file mode 100644 index 0000000..1cefd29 Binary files /dev/null and b/_static/locales/ja/LC_MESSAGES/booktheme.mo differ diff --git a/_static/locales/ja/LC_MESSAGES/booktheme.po b/_static/locales/ja/LC_MESSAGES/booktheme.po new file mode 100644 index 0000000..2615f0d --- /dev/null +++ b/_static/locales/ja/LC_MESSAGES/booktheme.po @@ -0,0 +1,75 @@ + +msgid "" +msgstr "" +"Project-Id-Version: Sphinx-Book-Theme\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ja\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Print to PDF" +msgstr "PDFに印刷" + +msgid "Theme by the" +msgstr "のテーマ" + +msgid "Download source file" +msgstr "ソースファイルをダウンロード" + +msgid "open issue" +msgstr "未解決の問題" + +msgid "Contents" +msgstr "目次" + +msgid "previous page" +msgstr "前のページ" + +msgid "Download notebook file" +msgstr "ノートブックファイルをダウンロード" + +msgid "Copyright" +msgstr "Copyright" + +msgid "Download this page" +msgstr "このページをダウンロード" + +msgid "Source repository" +msgstr "ソースリポジトリ" + +msgid "By" +msgstr "著者" + +msgid "repository" +msgstr "リポジトリ" + +msgid "Last updated on" +msgstr "最終更新日" + +msgid "Toggle navigation" +msgstr "ナビゲーションを切り替え" + +msgid "Sphinx Book Theme" +msgstr "スフィンクスの本のテーマ" + +msgid "suggest edit" +msgstr "編集を提案する" + +msgid "Open an issue" +msgstr "問題を報告" + +msgid "Launch" +msgstr "起動" + +msgid "Fullscreen mode" +msgstr "全画面モード" + +msgid "Edit this page" +msgstr "このページを編集" + +msgid "By the" +msgstr "によって" + +msgid "next page" +msgstr "次のページ" diff --git a/_static/locales/ko/LC_MESSAGES/booktheme.mo b/_static/locales/ko/LC_MESSAGES/booktheme.mo new file mode 100644 index 0000000..06c7ec9 Binary files /dev/null and b/_static/locales/ko/LC_MESSAGES/booktheme.mo differ diff --git a/_static/locales/ko/LC_MESSAGES/booktheme.po b/_static/locales/ko/LC_MESSAGES/booktheme.po new file mode 100644 index 0000000..c9e13a4 --- /dev/null +++ b/_static/locales/ko/LC_MESSAGES/booktheme.po @@ -0,0 +1,75 @@ + +msgid "" +msgstr "" +"Project-Id-Version: Sphinx-Book-Theme\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ko\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Print to PDF" +msgstr "PDF로 인쇄" + +msgid "Theme by the" +msgstr "테마별" + +msgid "Download source file" +msgstr "소스 파일 다운로드" + +msgid "open issue" +msgstr "열린 문제" + +msgid "Contents" +msgstr "내용" + +msgid "previous page" +msgstr "이전 페이지" + +msgid "Download notebook file" +msgstr "노트북 파일 다운로드" + +msgid "Copyright" +msgstr "저작권" + +msgid "Download this page" +msgstr "이 페이지 다운로드" + +msgid "Source repository" +msgstr "소스 저장소" + +msgid "By" +msgstr "으로" + +msgid "repository" +msgstr "저장소" + +msgid "Last updated on" +msgstr "마지막 업데이트" + +msgid "Toggle navigation" +msgstr "탐색 전환" + +msgid "Sphinx Book Theme" +msgstr "스핑크스 도서 테마" + +msgid "suggest edit" +msgstr "편집 제안" + +msgid "Open an issue" +msgstr "이슈 열기" + +msgid "Launch" +msgstr "시작하다" + +msgid "Fullscreen mode" +msgstr "전체 화면으로보기" + +msgid "Edit this page" +msgstr "이 페이지 편집" + +msgid "By the" +msgstr "에 의해" + +msgid "next page" +msgstr "다음 페이지" diff --git a/_static/locales/lt/LC_MESSAGES/booktheme.mo b/_static/locales/lt/LC_MESSAGES/booktheme.mo new file mode 100644 index 0000000..4468ba0 Binary files /dev/null and b/_static/locales/lt/LC_MESSAGES/booktheme.mo differ diff --git a/_static/locales/lt/LC_MESSAGES/booktheme.po b/_static/locales/lt/LC_MESSAGES/booktheme.po new file mode 100644 index 0000000..35eabd9 --- /dev/null +++ b/_static/locales/lt/LC_MESSAGES/booktheme.po @@ -0,0 +1,75 @@ + +msgid "" +msgstr "" +"Project-Id-Version: Sphinx-Book-Theme\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: lt\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Print to PDF" +msgstr "Spausdinti į PDF" + +msgid "Theme by the" +msgstr "Tema" + +msgid "Download source file" +msgstr "Atsisiųsti šaltinio failą" + +msgid "open issue" +msgstr "atviras klausimas" + +msgid "Contents" +msgstr "Turinys" + +msgid "previous page" +msgstr "Ankstesnis puslapis" + +msgid "Download notebook file" +msgstr "Atsisiųsti nešiojamojo kompiuterio failą" + +msgid "Copyright" +msgstr "Autorių teisės" + +msgid "Download this page" +msgstr "Atsisiųskite šį puslapį" + +msgid "Source repository" +msgstr "Šaltinio saugykla" + +msgid "By" +msgstr "Iki" + +msgid "repository" +msgstr "saugykla" + +msgid "Last updated on" +msgstr "Paskutinį kartą atnaujinta" + +msgid "Toggle navigation" +msgstr "Perjungti naršymą" + +msgid "Sphinx Book Theme" +msgstr "Sfinkso knygos tema" + +msgid "suggest edit" +msgstr "pasiūlyti redaguoti" + +msgid "Open an issue" +msgstr "Atidarykite problemą" + +msgid "Launch" +msgstr "Paleiskite" + +msgid "Fullscreen mode" +msgstr "Pilno ekrano režimas" + +msgid "Edit this page" +msgstr "Redaguoti šį puslapį" + +msgid "By the" +msgstr "Prie" + +msgid "next page" +msgstr "Kitas puslapis" diff --git a/_static/locales/lv/LC_MESSAGES/booktheme.mo b/_static/locales/lv/LC_MESSAGES/booktheme.mo new file mode 100644 index 0000000..74aa4d8 Binary files /dev/null and b/_static/locales/lv/LC_MESSAGES/booktheme.mo differ diff --git a/_static/locales/lv/LC_MESSAGES/booktheme.po b/_static/locales/lv/LC_MESSAGES/booktheme.po new file mode 100644 index 0000000..ee1bd08 --- /dev/null +++ b/_static/locales/lv/LC_MESSAGES/booktheme.po @@ -0,0 +1,75 @@ + +msgid "" +msgstr "" +"Project-Id-Version: Sphinx-Book-Theme\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: lv\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Print to PDF" +msgstr "Drukāt PDF formātā" + +msgid "Theme by the" +msgstr "Autora tēma" + +msgid "Download source file" +msgstr "Lejupielādēt avota failu" + +msgid "open issue" +msgstr "atklāts jautājums" + +msgid "Contents" +msgstr "Saturs" + +msgid "previous page" +msgstr "iepriekšējā lapa" + +msgid "Download notebook file" +msgstr "Lejupielādēt piezīmju grāmatiņu" + +msgid "Copyright" +msgstr "Autortiesības" + +msgid "Download this page" +msgstr "Lejupielādējiet šo lapu" + +msgid "Source repository" +msgstr "Avota krātuve" + +msgid "By" +msgstr "Autors" + +msgid "repository" +msgstr "krātuve" + +msgid "Last updated on" +msgstr "Pēdējoreiz atjaunināts" + +msgid "Toggle navigation" +msgstr "Pārslēgt navigāciju" + +msgid "Sphinx Book Theme" +msgstr "Sfinksa grāmatas tēma" + +msgid "suggest edit" +msgstr "ieteikt rediģēt" + +msgid "Open an issue" +msgstr "Atveriet problēmu" + +msgid "Launch" +msgstr "Uzsākt" + +msgid "Fullscreen mode" +msgstr "Pilnekrāna režīms" + +msgid "Edit this page" +msgstr "Rediģēt šo lapu" + +msgid "By the" +msgstr "Ar" + +msgid "next page" +msgstr "nākamā lapaspuse" diff --git a/_static/locales/ml/LC_MESSAGES/booktheme.mo b/_static/locales/ml/LC_MESSAGES/booktheme.mo new file mode 100644 index 0000000..2736e8f Binary files /dev/null and b/_static/locales/ml/LC_MESSAGES/booktheme.mo differ diff --git a/_static/locales/ml/LC_MESSAGES/booktheme.po b/_static/locales/ml/LC_MESSAGES/booktheme.po new file mode 100644 index 0000000..d471277 --- /dev/null +++ b/_static/locales/ml/LC_MESSAGES/booktheme.po @@ -0,0 +1,66 @@ + +msgid "" +msgstr "" +"Project-Id-Version: Sphinx-Book-Theme\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ml\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Print to PDF" +msgstr "PDF- ലേക്ക് പ്രിന്റുചെയ്യുക" + +msgid "Theme by the" +msgstr "പ്രമേയം" + +msgid "Download source file" +msgstr "ഉറവിട ഫയൽ ഡൗൺലോഡുചെയ്യുക" + +msgid "open issue" +msgstr "തുറന്ന പ്രശ്നം" + +msgid "previous page" +msgstr "മുൻപത്തെ താൾ" + +msgid "Download notebook file" +msgstr "നോട്ട്ബുക്ക് ഫയൽ ഡൺലോഡ് ചെയ്യുക" + +msgid "Copyright" +msgstr "പകർപ്പവകാശം" + +msgid "Download this page" +msgstr "ഈ പേജ് ഡൗൺലോഡുചെയ്യുക" + +msgid "Source repository" +msgstr "ഉറവിട ശേഖരം" + +msgid "By" +msgstr "എഴുതിയത്" + +msgid "Last updated on" +msgstr "അവസാനം അപ്‌ഡേറ്റുചെയ്‌തത്" + +msgid "Toggle navigation" +msgstr "നാവിഗേഷൻ ടോഗിൾ ചെയ്യുക" + +msgid "Sphinx Book Theme" +msgstr "സ്ഫിങ്ക്സ് പുസ്തക തീം" + +msgid "suggest edit" +msgstr "എഡിറ്റുചെയ്യാൻ നിർദ്ദേശിക്കുക" + +msgid "Open an issue" +msgstr "ഒരു പ്രശ്നം തുറക്കുക" + +msgid "Launch" +msgstr "സമാരംഭിക്കുക" + +msgid "Edit this page" +msgstr "ഈ പേജ് എഡിറ്റുചെയ്യുക" + +msgid "By the" +msgstr "എഴുതിയത്" + +msgid "next page" +msgstr "അടുത്ത പേജ്" diff --git a/_static/locales/mr/LC_MESSAGES/booktheme.mo b/_static/locales/mr/LC_MESSAGES/booktheme.mo new file mode 100644 index 0000000..fe53010 Binary files /dev/null and b/_static/locales/mr/LC_MESSAGES/booktheme.mo differ diff --git a/_static/locales/mr/LC_MESSAGES/booktheme.po b/_static/locales/mr/LC_MESSAGES/booktheme.po new file mode 100644 index 0000000..f3694ac --- /dev/null +++ b/_static/locales/mr/LC_MESSAGES/booktheme.po @@ -0,0 +1,66 @@ + +msgid "" +msgstr "" +"Project-Id-Version: Sphinx-Book-Theme\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: mr\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Print to PDF" +msgstr "पीडीएफवर मुद्रित करा" + +msgid "Theme by the" +msgstr "द्वारा थीम" + +msgid "Download source file" +msgstr "स्त्रोत फाइल डाउनलोड करा" + +msgid "open issue" +msgstr "खुला मुद्दा" + +msgid "previous page" +msgstr "मागील पान" + +msgid "Download notebook file" +msgstr "नोटबुक फाईल डाउनलोड करा" + +msgid "Copyright" +msgstr "कॉपीराइट" + +msgid "Download this page" +msgstr "हे पृष्ठ डाउनलोड करा" + +msgid "Source repository" +msgstr "स्त्रोत भांडार" + +msgid "By" +msgstr "द्वारा" + +msgid "Last updated on" +msgstr "अखेरचे अद्यतनित" + +msgid "Toggle navigation" +msgstr "नेव्हिगेशन टॉगल करा" + +msgid "Sphinx Book Theme" +msgstr "स्फिंक्स बुक थीम" + +msgid "suggest edit" +msgstr "संपादन सुचवा" + +msgid "Open an issue" +msgstr "एक मुद्दा उघडा" + +msgid "Launch" +msgstr "लाँच करा" + +msgid "Edit this page" +msgstr "हे पृष्ठ संपादित करा" + +msgid "By the" +msgstr "द्वारा" + +msgid "next page" +msgstr "पुढील पृष्ठ" diff --git a/_static/locales/ms/LC_MESSAGES/booktheme.mo b/_static/locales/ms/LC_MESSAGES/booktheme.mo new file mode 100644 index 0000000..f02603f Binary files /dev/null and b/_static/locales/ms/LC_MESSAGES/booktheme.mo differ diff --git a/_static/locales/ms/LC_MESSAGES/booktheme.po b/_static/locales/ms/LC_MESSAGES/booktheme.po new file mode 100644 index 0000000..65b7c60 --- /dev/null +++ b/_static/locales/ms/LC_MESSAGES/booktheme.po @@ -0,0 +1,66 @@ + +msgid "" +msgstr "" +"Project-Id-Version: Sphinx-Book-Theme\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ms\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Print to PDF" +msgstr "Cetak ke PDF" + +msgid "Theme by the" +msgstr "Tema oleh" + +msgid "Download source file" +msgstr "Muat turun fail sumber" + +msgid "open issue" +msgstr "isu terbuka" + +msgid "previous page" +msgstr "halaman sebelumnya" + +msgid "Download notebook file" +msgstr "Muat turun fail buku nota" + +msgid "Copyright" +msgstr "hak cipta" + +msgid "Download this page" +msgstr "Muat turun halaman ini" + +msgid "Source repository" +msgstr "Repositori sumber" + +msgid "By" +msgstr "Oleh" + +msgid "Last updated on" +msgstr "Terakhir dikemas kini pada" + +msgid "Toggle navigation" +msgstr "Togol navigasi" + +msgid "Sphinx Book Theme" +msgstr "Tema Buku Sphinx" + +msgid "suggest edit" +msgstr "cadangkan edit" + +msgid "Open an issue" +msgstr "Buka masalah" + +msgid "Launch" +msgstr "Lancarkan" + +msgid "Edit this page" +msgstr "Edit halaman ini" + +msgid "By the" +msgstr "Oleh" + +msgid "next page" +msgstr "muka surat seterusnya" diff --git a/_static/locales/nl/LC_MESSAGES/booktheme.mo b/_static/locales/nl/LC_MESSAGES/booktheme.mo new file mode 100644 index 0000000..e59e7ec Binary files /dev/null and b/_static/locales/nl/LC_MESSAGES/booktheme.mo differ diff --git a/_static/locales/nl/LC_MESSAGES/booktheme.po b/_static/locales/nl/LC_MESSAGES/booktheme.po new file mode 100644 index 0000000..71bd1cd --- /dev/null +++ b/_static/locales/nl/LC_MESSAGES/booktheme.po @@ -0,0 +1,75 @@ + +msgid "" +msgstr "" +"Project-Id-Version: Sphinx-Book-Theme\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: nl\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Print to PDF" +msgstr "Afdrukken naar pdf" + +msgid "Theme by the" +msgstr "Thema door de" + +msgid "Download source file" +msgstr "Download het bronbestand" + +msgid "open issue" +msgstr "open probleem" + +msgid "Contents" +msgstr "Inhoud" + +msgid "previous page" +msgstr "vorige pagina" + +msgid "Download notebook file" +msgstr "Download notebookbestand" + +msgid "Copyright" +msgstr "auteursrechten" + +msgid "Download this page" +msgstr "Download deze pagina" + +msgid "Source repository" +msgstr "Bronopslagplaats" + +msgid "By" +msgstr "Door" + +msgid "repository" +msgstr "repository" + +msgid "Last updated on" +msgstr "Laatst geupdate op" + +msgid "Toggle navigation" +msgstr "Schakel navigatie" + +msgid "Sphinx Book Theme" +msgstr "Sphinx-boekthema" + +msgid "suggest edit" +msgstr "suggereren bewerken" + +msgid "Open an issue" +msgstr "Open een probleem" + +msgid "Launch" +msgstr "Lancering" + +msgid "Fullscreen mode" +msgstr "Volledig scherm" + +msgid "Edit this page" +msgstr "bewerk deze pagina" + +msgid "By the" +msgstr "Door de" + +msgid "next page" +msgstr "volgende bladzijde" diff --git a/_static/locales/no/LC_MESSAGES/booktheme.mo b/_static/locales/no/LC_MESSAGES/booktheme.mo new file mode 100644 index 0000000..6cd15c8 Binary files /dev/null and b/_static/locales/no/LC_MESSAGES/booktheme.mo differ diff --git a/_static/locales/no/LC_MESSAGES/booktheme.po b/_static/locales/no/LC_MESSAGES/booktheme.po new file mode 100644 index 0000000..b21346a --- /dev/null +++ b/_static/locales/no/LC_MESSAGES/booktheme.po @@ -0,0 +1,75 @@ + +msgid "" +msgstr "" +"Project-Id-Version: Sphinx-Book-Theme\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: no\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Print to PDF" +msgstr "Skriv ut til PDF" + +msgid "Theme by the" +msgstr "Tema av" + +msgid "Download source file" +msgstr "Last ned kildefilen" + +msgid "open issue" +msgstr "åpent nummer" + +msgid "Contents" +msgstr "Innhold" + +msgid "previous page" +msgstr "forrige side" + +msgid "Download notebook file" +msgstr "Last ned notatbokfilen" + +msgid "Copyright" +msgstr "opphavsrett" + +msgid "Download this page" +msgstr "Last ned denne siden" + +msgid "Source repository" +msgstr "Kildedepot" + +msgid "By" +msgstr "Av" + +msgid "repository" +msgstr "oppbevaringssted" + +msgid "Last updated on" +msgstr "Sist oppdatert den" + +msgid "Toggle navigation" +msgstr "Bytt navigasjon" + +msgid "Sphinx Book Theme" +msgstr "Sphinx boktema" + +msgid "suggest edit" +msgstr "foreslå redigering" + +msgid "Open an issue" +msgstr "Åpne et problem" + +msgid "Launch" +msgstr "Start" + +msgid "Fullscreen mode" +msgstr "Fullskjerm-modus" + +msgid "Edit this page" +msgstr "Rediger denne siden" + +msgid "By the" +msgstr "Ved" + +msgid "next page" +msgstr "neste side" diff --git a/_static/locales/pl/LC_MESSAGES/booktheme.mo b/_static/locales/pl/LC_MESSAGES/booktheme.mo new file mode 100644 index 0000000..9ebb584 Binary files /dev/null and b/_static/locales/pl/LC_MESSAGES/booktheme.mo differ diff --git a/_static/locales/pl/LC_MESSAGES/booktheme.po b/_static/locales/pl/LC_MESSAGES/booktheme.po new file mode 100644 index 0000000..1b7233f --- /dev/null +++ b/_static/locales/pl/LC_MESSAGES/booktheme.po @@ -0,0 +1,75 @@ + +msgid "" +msgstr "" +"Project-Id-Version: Sphinx-Book-Theme\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: pl\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Print to PDF" +msgstr "Drukuj do PDF" + +msgid "Theme by the" +msgstr "Motyw autorstwa" + +msgid "Download source file" +msgstr "Pobierz plik źródłowy" + +msgid "open issue" +msgstr "otwarty problem" + +msgid "Contents" +msgstr "Zawartość" + +msgid "previous page" +msgstr "Poprzednia strona" + +msgid "Download notebook file" +msgstr "Pobierz plik notatnika" + +msgid "Copyright" +msgstr "prawa autorskie" + +msgid "Download this page" +msgstr "Pobierz tę stronę" + +msgid "Source repository" +msgstr "Repozytorium źródłowe" + +msgid "By" +msgstr "Przez" + +msgid "repository" +msgstr "magazyn" + +msgid "Last updated on" +msgstr "Ostatnia aktualizacja" + +msgid "Toggle navigation" +msgstr "Przełącz nawigację" + +msgid "Sphinx Book Theme" +msgstr "Motyw książki Sphinx" + +msgid "suggest edit" +msgstr "zaproponuj edycję" + +msgid "Open an issue" +msgstr "Otwórz problem" + +msgid "Launch" +msgstr "Uruchomić" + +msgid "Fullscreen mode" +msgstr "Pełny ekran" + +msgid "Edit this page" +msgstr "Edytuj tę strone" + +msgid "By the" +msgstr "Przez" + +msgid "next page" +msgstr "Następna strona" diff --git a/_static/locales/pt/LC_MESSAGES/booktheme.mo b/_static/locales/pt/LC_MESSAGES/booktheme.mo new file mode 100644 index 0000000..d0ddb87 Binary files /dev/null and b/_static/locales/pt/LC_MESSAGES/booktheme.mo differ diff --git a/_static/locales/pt/LC_MESSAGES/booktheme.po b/_static/locales/pt/LC_MESSAGES/booktheme.po new file mode 100644 index 0000000..1b27314 --- /dev/null +++ b/_static/locales/pt/LC_MESSAGES/booktheme.po @@ -0,0 +1,75 @@ + +msgid "" +msgstr "" +"Project-Id-Version: Sphinx-Book-Theme\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: pt\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Print to PDF" +msgstr "Imprimir em PDF" + +msgid "Theme by the" +msgstr "Tema por" + +msgid "Download source file" +msgstr "Baixar arquivo fonte" + +msgid "open issue" +msgstr "questão aberta" + +msgid "Contents" +msgstr "Conteúdo" + +msgid "previous page" +msgstr "página anterior" + +msgid "Download notebook file" +msgstr "Baixar arquivo de notebook" + +msgid "Copyright" +msgstr "direito autoral" + +msgid "Download this page" +msgstr "Baixe esta página" + +msgid "Source repository" +msgstr "Repositório fonte" + +msgid "By" +msgstr "De" + +msgid "repository" +msgstr "repositório" + +msgid "Last updated on" +msgstr "Última atualização em" + +msgid "Toggle navigation" +msgstr "Alternar de navegação" + +msgid "Sphinx Book Theme" +msgstr "Tema do livro Sphinx" + +msgid "suggest edit" +msgstr "sugerir edição" + +msgid "Open an issue" +msgstr "Abra um problema" + +msgid "Launch" +msgstr "Lançamento" + +msgid "Fullscreen mode" +msgstr "Modo tela cheia" + +msgid "Edit this page" +msgstr "Edite essa página" + +msgid "By the" +msgstr "Pelo" + +msgid "next page" +msgstr "próxima página" diff --git a/_static/locales/ro/LC_MESSAGES/booktheme.mo b/_static/locales/ro/LC_MESSAGES/booktheme.mo new file mode 100644 index 0000000..3c36ab1 Binary files /dev/null and b/_static/locales/ro/LC_MESSAGES/booktheme.mo differ diff --git a/_static/locales/ro/LC_MESSAGES/booktheme.po b/_static/locales/ro/LC_MESSAGES/booktheme.po new file mode 100644 index 0000000..1783ad2 --- /dev/null +++ b/_static/locales/ro/LC_MESSAGES/booktheme.po @@ -0,0 +1,75 @@ + +msgid "" +msgstr "" +"Project-Id-Version: Sphinx-Book-Theme\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ro\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Print to PDF" +msgstr "Imprimați în PDF" + +msgid "Theme by the" +msgstr "Tema de" + +msgid "Download source file" +msgstr "Descărcați fișierul sursă" + +msgid "open issue" +msgstr "problema deschisă" + +msgid "Contents" +msgstr "Cuprins" + +msgid "previous page" +msgstr "pagina anterioară" + +msgid "Download notebook file" +msgstr "Descărcați fișierul notebook" + +msgid "Copyright" +msgstr "Drepturi de autor" + +msgid "Download this page" +msgstr "Descarcă această pagină" + +msgid "Source repository" +msgstr "Depozit sursă" + +msgid "By" +msgstr "De" + +msgid "repository" +msgstr "repertoriu" + +msgid "Last updated on" +msgstr "Ultima actualizare la" + +msgid "Toggle navigation" +msgstr "Comutare navigare" + +msgid "Sphinx Book Theme" +msgstr "Tema Sphinx Book" + +msgid "suggest edit" +msgstr "sugerează editare" + +msgid "Open an issue" +msgstr "Deschideți o problemă" + +msgid "Launch" +msgstr "Lansa" + +msgid "Fullscreen mode" +msgstr "Modul ecran întreg" + +msgid "Edit this page" +msgstr "Editați această pagină" + +msgid "By the" +msgstr "Langa" + +msgid "next page" +msgstr "pagina următoare" diff --git a/_static/locales/ru/LC_MESSAGES/booktheme.mo b/_static/locales/ru/LC_MESSAGES/booktheme.mo new file mode 100644 index 0000000..6b8ca41 Binary files /dev/null and b/_static/locales/ru/LC_MESSAGES/booktheme.mo differ diff --git a/_static/locales/ru/LC_MESSAGES/booktheme.po b/_static/locales/ru/LC_MESSAGES/booktheme.po new file mode 100644 index 0000000..b1176b7 --- /dev/null +++ b/_static/locales/ru/LC_MESSAGES/booktheme.po @@ -0,0 +1,75 @@ + +msgid "" +msgstr "" +"Project-Id-Version: Sphinx-Book-Theme\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ru\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Print to PDF" +msgstr "Распечатать в PDF" + +msgid "Theme by the" +msgstr "Тема от" + +msgid "Download source file" +msgstr "Скачать исходный файл" + +msgid "open issue" +msgstr "открытый вопрос" + +msgid "Contents" +msgstr "Содержание" + +msgid "previous page" +msgstr "Предыдущая страница" + +msgid "Download notebook file" +msgstr "Скачать файл записной книжки" + +msgid "Copyright" +msgstr "авторское право" + +msgid "Download this page" +msgstr "Загрузите эту страницу" + +msgid "Source repository" +msgstr "Исходный репозиторий" + +msgid "By" +msgstr "По" + +msgid "repository" +msgstr "хранилище" + +msgid "Last updated on" +msgstr "Последнее обновление" + +msgid "Toggle navigation" +msgstr "Переключить навигацию" + +msgid "Sphinx Book Theme" +msgstr "Тема книги Сфинкс" + +msgid "suggest edit" +msgstr "предложить редактировать" + +msgid "Open an issue" +msgstr "Открыть вопрос" + +msgid "Launch" +msgstr "Запуск" + +msgid "Fullscreen mode" +msgstr "Полноэкранный режим" + +msgid "Edit this page" +msgstr "Редактировать эту страницу" + +msgid "By the" +msgstr "Посредством" + +msgid "next page" +msgstr "Следующая страница" diff --git a/_static/locales/sk/LC_MESSAGES/booktheme.mo b/_static/locales/sk/LC_MESSAGES/booktheme.mo new file mode 100644 index 0000000..59bd0dd Binary files /dev/null and b/_static/locales/sk/LC_MESSAGES/booktheme.mo differ diff --git a/_static/locales/sk/LC_MESSAGES/booktheme.po b/_static/locales/sk/LC_MESSAGES/booktheme.po new file mode 100644 index 0000000..6501288 --- /dev/null +++ b/_static/locales/sk/LC_MESSAGES/booktheme.po @@ -0,0 +1,75 @@ + +msgid "" +msgstr "" +"Project-Id-Version: Sphinx-Book-Theme\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: sk\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Print to PDF" +msgstr "Tlač do PDF" + +msgid "Theme by the" +msgstr "Téma od" + +msgid "Download source file" +msgstr "Stiahnite si zdrojový súbor" + +msgid "open issue" +msgstr "otvorené vydanie" + +msgid "Contents" +msgstr "Obsah" + +msgid "previous page" +msgstr "predchádzajúca strana" + +msgid "Download notebook file" +msgstr "Stiahnite si zošit" + +msgid "Copyright" +msgstr "Autorské práva" + +msgid "Download this page" +msgstr "Stiahnite si túto stránku" + +msgid "Source repository" +msgstr "Zdrojové úložisko" + +msgid "By" +msgstr "Autor:" + +msgid "repository" +msgstr "Úložisko" + +msgid "Last updated on" +msgstr "Posledná aktualizácia dňa" + +msgid "Toggle navigation" +msgstr "Prepnúť navigáciu" + +msgid "Sphinx Book Theme" +msgstr "Téma knihy Sfinga" + +msgid "suggest edit" +msgstr "navrhnúť úpravu" + +msgid "Open an issue" +msgstr "Otvorte problém" + +msgid "Launch" +msgstr "Spustiť" + +msgid "Fullscreen mode" +msgstr "Režim celej obrazovky" + +msgid "Edit this page" +msgstr "Upraviť túto stránku" + +msgid "By the" +msgstr "Podľa" + +msgid "next page" +msgstr "ďalšia strana" diff --git a/_static/locales/sl/LC_MESSAGES/booktheme.mo b/_static/locales/sl/LC_MESSAGES/booktheme.mo new file mode 100644 index 0000000..87bf26d Binary files /dev/null and b/_static/locales/sl/LC_MESSAGES/booktheme.mo differ diff --git a/_static/locales/sl/LC_MESSAGES/booktheme.po b/_static/locales/sl/LC_MESSAGES/booktheme.po new file mode 100644 index 0000000..3c7e3a8 --- /dev/null +++ b/_static/locales/sl/LC_MESSAGES/booktheme.po @@ -0,0 +1,75 @@ + +msgid "" +msgstr "" +"Project-Id-Version: Sphinx-Book-Theme\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: sl\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Print to PDF" +msgstr "Natisni v PDF" + +msgid "Theme by the" +msgstr "Tema avtorja" + +msgid "Download source file" +msgstr "Prenesite izvorno datoteko" + +msgid "open issue" +msgstr "odprto vprašanje" + +msgid "Contents" +msgstr "Vsebina" + +msgid "previous page" +msgstr "Prejšnja stran" + +msgid "Download notebook file" +msgstr "Prenesite datoteko zvezka" + +msgid "Copyright" +msgstr "avtorske pravice" + +msgid "Download this page" +msgstr "Prenesite to stran" + +msgid "Source repository" +msgstr "Izvorno skladišče" + +msgid "By" +msgstr "Avtor" + +msgid "repository" +msgstr "odlagališče" + +msgid "Last updated on" +msgstr "Nazadnje posodobljeno dne" + +msgid "Toggle navigation" +msgstr "Preklopi navigacijo" + +msgid "Sphinx Book Theme" +msgstr "Tema knjige Sphinx" + +msgid "suggest edit" +msgstr "predlagajte urejanje" + +msgid "Open an issue" +msgstr "Odprite številko" + +msgid "Launch" +msgstr "Kosilo" + +msgid "Fullscreen mode" +msgstr "Celozaslonski način" + +msgid "Edit this page" +msgstr "Uredite to stran" + +msgid "By the" +msgstr "Avtor" + +msgid "next page" +msgstr "Naslednja stran" diff --git a/_static/locales/sr/LC_MESSAGES/booktheme.mo b/_static/locales/sr/LC_MESSAGES/booktheme.mo new file mode 100644 index 0000000..ec740f4 Binary files /dev/null and b/_static/locales/sr/LC_MESSAGES/booktheme.mo differ diff --git a/_static/locales/sr/LC_MESSAGES/booktheme.po b/_static/locales/sr/LC_MESSAGES/booktheme.po new file mode 100644 index 0000000..773b8ad --- /dev/null +++ b/_static/locales/sr/LC_MESSAGES/booktheme.po @@ -0,0 +1,75 @@ + +msgid "" +msgstr "" +"Project-Id-Version: Sphinx-Book-Theme\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: sr\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Print to PDF" +msgstr "Испис у ПДФ" + +msgid "Theme by the" +msgstr "Тхеме би" + +msgid "Download source file" +msgstr "Преузми изворну датотеку" + +msgid "open issue" +msgstr "отворено издање" + +msgid "Contents" +msgstr "Садржај" + +msgid "previous page" +msgstr "Претходна страница" + +msgid "Download notebook file" +msgstr "Преузмите датотеку бележнице" + +msgid "Copyright" +msgstr "Ауторско право" + +msgid "Download this page" +msgstr "Преузмите ову страницу" + +msgid "Source repository" +msgstr "Изворно спремиште" + +msgid "By" +msgstr "Од стране" + +msgid "repository" +msgstr "спремиште" + +msgid "Last updated on" +msgstr "Последње ажурирање" + +msgid "Toggle navigation" +msgstr "Укључи / искључи навигацију" + +msgid "Sphinx Book Theme" +msgstr "Тема књиге Спхинк" + +msgid "suggest edit" +msgstr "предложи уређивање" + +msgid "Open an issue" +msgstr "Отворите издање" + +msgid "Launch" +msgstr "Лансирање" + +msgid "Fullscreen mode" +msgstr "Режим целог екрана" + +msgid "Edit this page" +msgstr "Уредите ову страницу" + +msgid "By the" +msgstr "Од" + +msgid "next page" +msgstr "Следећа страна" diff --git a/_static/locales/sv/LC_MESSAGES/booktheme.mo b/_static/locales/sv/LC_MESSAGES/booktheme.mo new file mode 100644 index 0000000..b07dc76 Binary files /dev/null and b/_static/locales/sv/LC_MESSAGES/booktheme.mo differ diff --git a/_static/locales/sv/LC_MESSAGES/booktheme.po b/_static/locales/sv/LC_MESSAGES/booktheme.po new file mode 100644 index 0000000..bcac54c --- /dev/null +++ b/_static/locales/sv/LC_MESSAGES/booktheme.po @@ -0,0 +1,75 @@ + +msgid "" +msgstr "" +"Project-Id-Version: Sphinx-Book-Theme\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: sv\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Print to PDF" +msgstr "Skriv ut till PDF" + +msgid "Theme by the" +msgstr "Tema av" + +msgid "Download source file" +msgstr "Ladda ner källfil" + +msgid "open issue" +msgstr "öppna problemrapport" + +msgid "Contents" +msgstr "Innehåll" + +msgid "previous page" +msgstr "föregående sida" + +msgid "Download notebook file" +msgstr "Ladda ner notebook-fil" + +msgid "Copyright" +msgstr "Upphovsrätt" + +msgid "Download this page" +msgstr "Ladda ner den här sidan" + +msgid "Source repository" +msgstr "Källkodsrepositorium" + +msgid "By" +msgstr "Av" + +msgid "repository" +msgstr "repositorium" + +msgid "Last updated on" +msgstr "Senast uppdaterad den" + +msgid "Toggle navigation" +msgstr "Växla navigering" + +msgid "Sphinx Book Theme" +msgstr "Sphinx Boktema" + +msgid "suggest edit" +msgstr "föreslå ändring" + +msgid "Open an issue" +msgstr "Öppna en problemrapport" + +msgid "Launch" +msgstr "Öppna" + +msgid "Fullscreen mode" +msgstr "Fullskärmsläge" + +msgid "Edit this page" +msgstr "Redigera den här sidan" + +msgid "By the" +msgstr "Av den" + +msgid "next page" +msgstr "nästa sida" diff --git a/_static/locales/ta/LC_MESSAGES/booktheme.mo b/_static/locales/ta/LC_MESSAGES/booktheme.mo new file mode 100644 index 0000000..29f52e1 Binary files /dev/null and b/_static/locales/ta/LC_MESSAGES/booktheme.mo differ diff --git a/_static/locales/ta/LC_MESSAGES/booktheme.po b/_static/locales/ta/LC_MESSAGES/booktheme.po new file mode 100644 index 0000000..b48bdfa --- /dev/null +++ b/_static/locales/ta/LC_MESSAGES/booktheme.po @@ -0,0 +1,66 @@ + +msgid "" +msgstr "" +"Project-Id-Version: Sphinx-Book-Theme\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ta\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Print to PDF" +msgstr "PDF இல் அச்சிடுக" + +msgid "Theme by the" +msgstr "வழங்கிய தீம்" + +msgid "Download source file" +msgstr "மூல கோப்பைப் பதிவிறக்குக" + +msgid "open issue" +msgstr "திறந்த பிரச்சினை" + +msgid "previous page" +msgstr "முந்தைய பக்கம்" + +msgid "Download notebook file" +msgstr "நோட்புக் கோப்பைப் பதிவிறக்கவும்" + +msgid "Copyright" +msgstr "பதிப்புரிமை" + +msgid "Download this page" +msgstr "இந்தப் பக்கத்தைப் பதிவிறக்கவும்" + +msgid "Source repository" +msgstr "மூல களஞ்சியம்" + +msgid "By" +msgstr "வழங்கியவர்" + +msgid "Last updated on" +msgstr "கடைசியாக புதுப்பிக்கப்பட்டது" + +msgid "Toggle navigation" +msgstr "வழிசெலுத்தலை நிலைமாற்று" + +msgid "Sphinx Book Theme" +msgstr "ஸ்பிங்க்ஸ் புத்தக தீம்" + +msgid "suggest edit" +msgstr "திருத்த பரிந்துரைக்கவும்" + +msgid "Open an issue" +msgstr "சிக்கலைத் திறக்கவும்" + +msgid "Launch" +msgstr "தொடங்க" + +msgid "Edit this page" +msgstr "இந்தப் பக்கத்தைத் திருத்தவும்" + +msgid "By the" +msgstr "மூலம்" + +msgid "next page" +msgstr "அடுத்த பக்கம்" diff --git a/_static/locales/te/LC_MESSAGES/booktheme.mo b/_static/locales/te/LC_MESSAGES/booktheme.mo new file mode 100644 index 0000000..0a5f4b4 Binary files /dev/null and b/_static/locales/te/LC_MESSAGES/booktheme.mo differ diff --git a/_static/locales/te/LC_MESSAGES/booktheme.po b/_static/locales/te/LC_MESSAGES/booktheme.po new file mode 100644 index 0000000..952278f --- /dev/null +++ b/_static/locales/te/LC_MESSAGES/booktheme.po @@ -0,0 +1,66 @@ + +msgid "" +msgstr "" +"Project-Id-Version: Sphinx-Book-Theme\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: te\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Print to PDF" +msgstr "PDF కి ముద్రించండి" + +msgid "Theme by the" +msgstr "ద్వారా థీమ్" + +msgid "Download source file" +msgstr "మూల ఫైల్‌ను డౌన్‌లోడ్ చేయండి" + +msgid "open issue" +msgstr "ఓపెన్ ఇష్యూ" + +msgid "previous page" +msgstr "ముందు పేజి" + +msgid "Download notebook file" +msgstr "నోట్బుక్ ఫైల్ను డౌన్లోడ్ చేయండి" + +msgid "Copyright" +msgstr "కాపీరైట్" + +msgid "Download this page" +msgstr "ఈ పేజీని డౌన్‌లోడ్ చేయండి" + +msgid "Source repository" +msgstr "మూల రిపోజిటరీ" + +msgid "By" +msgstr "ద్వారా" + +msgid "Last updated on" +msgstr "చివరిగా నవీకరించబడింది" + +msgid "Toggle navigation" +msgstr "నావిగేషన్‌ను టోగుల్ చేయండి" + +msgid "Sphinx Book Theme" +msgstr "సింహిక పుస్తక థీమ్" + +msgid "suggest edit" +msgstr "సవరించమని సూచించండి" + +msgid "Open an issue" +msgstr "సమస్యను తెరవండి" + +msgid "Launch" +msgstr "ప్రారంభించండి" + +msgid "Edit this page" +msgstr "ఈ పేజీని సవరించండి" + +msgid "By the" +msgstr "ద్వారా" + +msgid "next page" +msgstr "తరువాతి పేజీ" diff --git a/_static/locales/tg/LC_MESSAGES/booktheme.mo b/_static/locales/tg/LC_MESSAGES/booktheme.mo new file mode 100644 index 0000000..b21c6c6 Binary files /dev/null and b/_static/locales/tg/LC_MESSAGES/booktheme.mo differ diff --git a/_static/locales/tg/LC_MESSAGES/booktheme.po b/_static/locales/tg/LC_MESSAGES/booktheme.po new file mode 100644 index 0000000..c33dc42 --- /dev/null +++ b/_static/locales/tg/LC_MESSAGES/booktheme.po @@ -0,0 +1,75 @@ + +msgid "" +msgstr "" +"Project-Id-Version: Sphinx-Book-Theme\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: tg\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Print to PDF" +msgstr "Чоп ба PDF" + +msgid "Theme by the" +msgstr "Мавзӯъи аз" + +msgid "Download source file" +msgstr "Файли манбаъро зеркашӣ кунед" + +msgid "open issue" +msgstr "барориши кушод" + +msgid "Contents" +msgstr "Мундариҷа" + +msgid "previous page" +msgstr "саҳифаи қаблӣ" + +msgid "Download notebook file" +msgstr "Файли дафтарро зеркашӣ кунед" + +msgid "Copyright" +msgstr "Ҳуқуқи муаллиф" + +msgid "Download this page" +msgstr "Ин саҳифаро зеркашӣ кунед" + +msgid "Source repository" +msgstr "Анбори манбаъ" + +msgid "By" +msgstr "Бо" + +msgid "repository" +msgstr "анбор" + +msgid "Last updated on" +msgstr "Last навсозӣ дар" + +msgid "Toggle navigation" +msgstr "Гузаришро иваз кунед" + +msgid "Sphinx Book Theme" +msgstr "Сфинкс Мавзӯи китоб" + +msgid "suggest edit" +msgstr "пешниҳод вироиш" + +msgid "Open an issue" +msgstr "Масъаларо кушоед" + +msgid "Launch" +msgstr "Оғоз" + +msgid "Fullscreen mode" +msgstr "Ҳолати экрани пурра" + +msgid "Edit this page" +msgstr "Ин саҳифаро таҳрир кунед" + +msgid "By the" +msgstr "Бо" + +msgid "next page" +msgstr "саҳифаи оянда" diff --git a/_static/locales/th/LC_MESSAGES/booktheme.mo b/_static/locales/th/LC_MESSAGES/booktheme.mo new file mode 100644 index 0000000..abede98 Binary files /dev/null and b/_static/locales/th/LC_MESSAGES/booktheme.mo differ diff --git a/_static/locales/th/LC_MESSAGES/booktheme.po b/_static/locales/th/LC_MESSAGES/booktheme.po new file mode 100644 index 0000000..9d24294 --- /dev/null +++ b/_static/locales/th/LC_MESSAGES/booktheme.po @@ -0,0 +1,75 @@ + +msgid "" +msgstr "" +"Project-Id-Version: Sphinx-Book-Theme\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: th\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Print to PDF" +msgstr "พิมพ์เป็น PDF" + +msgid "Theme by the" +msgstr "ธีมโดย" + +msgid "Download source file" +msgstr "ดาวน์โหลดไฟล์ต้นฉบับ" + +msgid "open issue" +msgstr "เปิดปัญหา" + +msgid "Contents" +msgstr "สารบัญ" + +msgid "previous page" +msgstr "หน้าที่แล้ว" + +msgid "Download notebook file" +msgstr "ดาวน์โหลดไฟล์สมุดบันทึก" + +msgid "Copyright" +msgstr "ลิขสิทธิ์" + +msgid "Download this page" +msgstr "ดาวน์โหลดหน้านี้" + +msgid "Source repository" +msgstr "ที่เก็บซอร์ส" + +msgid "By" +msgstr "โดย" + +msgid "repository" +msgstr "ที่เก็บ" + +msgid "Last updated on" +msgstr "ปรับปรุงล่าสุดเมื่อ" + +msgid "Toggle navigation" +msgstr "ไม่ต้องสลับช่องทาง" + +msgid "Sphinx Book Theme" +msgstr "ธีมหนังสือสฟิงซ์" + +msgid "suggest edit" +msgstr "แนะนำแก้ไข" + +msgid "Open an issue" +msgstr "เปิดปัญหา" + +msgid "Launch" +msgstr "เปิด" + +msgid "Fullscreen mode" +msgstr "โหมดเต็มหน้าจอ" + +msgid "Edit this page" +msgstr "แก้ไขหน้านี้" + +msgid "By the" +msgstr "โดย" + +msgid "next page" +msgstr "หน้าต่อไป" diff --git a/_static/locales/tl/LC_MESSAGES/booktheme.mo b/_static/locales/tl/LC_MESSAGES/booktheme.mo new file mode 100644 index 0000000..8df1b73 Binary files /dev/null and b/_static/locales/tl/LC_MESSAGES/booktheme.mo differ diff --git a/_static/locales/tl/LC_MESSAGES/booktheme.po b/_static/locales/tl/LC_MESSAGES/booktheme.po new file mode 100644 index 0000000..20e0d07 --- /dev/null +++ b/_static/locales/tl/LC_MESSAGES/booktheme.po @@ -0,0 +1,66 @@ + +msgid "" +msgstr "" +"Project-Id-Version: Sphinx-Book-Theme\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: tl\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Print to PDF" +msgstr "I-print sa PDF" + +msgid "Theme by the" +msgstr "Tema ng" + +msgid "Download source file" +msgstr "Mag-download ng file ng pinagmulan" + +msgid "open issue" +msgstr "bukas na isyu" + +msgid "previous page" +msgstr "Nakaraang pahina" + +msgid "Download notebook file" +msgstr "Mag-download ng file ng notebook" + +msgid "Copyright" +msgstr "Copyright" + +msgid "Download this page" +msgstr "I-download ang pahinang ito" + +msgid "Source repository" +msgstr "Pinagmulan ng imbakan" + +msgid "By" +msgstr "Ni" + +msgid "Last updated on" +msgstr "Huling na-update noong" + +msgid "Toggle navigation" +msgstr "I-toggle ang pag-navigate" + +msgid "Sphinx Book Theme" +msgstr "Tema ng Sphinx Book" + +msgid "suggest edit" +msgstr "iminumungkahi i-edit" + +msgid "Open an issue" +msgstr "Magbukas ng isyu" + +msgid "Launch" +msgstr "Ilunsad" + +msgid "Edit this page" +msgstr "I-edit ang pahinang ito" + +msgid "By the" +msgstr "Sa pamamagitan ng" + +msgid "next page" +msgstr "Susunod na pahina" diff --git a/_static/locales/tr/LC_MESSAGES/booktheme.mo b/_static/locales/tr/LC_MESSAGES/booktheme.mo new file mode 100644 index 0000000..029ae18 Binary files /dev/null and b/_static/locales/tr/LC_MESSAGES/booktheme.mo differ diff --git a/_static/locales/tr/LC_MESSAGES/booktheme.po b/_static/locales/tr/LC_MESSAGES/booktheme.po new file mode 100644 index 0000000..a77eb02 --- /dev/null +++ b/_static/locales/tr/LC_MESSAGES/booktheme.po @@ -0,0 +1,75 @@ + +msgid "" +msgstr "" +"Project-Id-Version: Sphinx-Book-Theme\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: tr\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Print to PDF" +msgstr "PDF olarak yazdır" + +msgid "Theme by the" +msgstr "Tarafından tema" + +msgid "Download source file" +msgstr "Kaynak dosyayı indirin" + +msgid "open issue" +msgstr "Açık konu" + +msgid "Contents" +msgstr "İçindekiler" + +msgid "previous page" +msgstr "önceki sayfa" + +msgid "Download notebook file" +msgstr "Defter dosyasını indirin" + +msgid "Copyright" +msgstr "Telif hakkı" + +msgid "Download this page" +msgstr "Bu sayfayı indirin" + +msgid "Source repository" +msgstr "Kaynak kod deposu" + +msgid "By" +msgstr "Tarafından" + +msgid "repository" +msgstr "depo" + +msgid "Last updated on" +msgstr "Son güncelleme tarihi" + +msgid "Toggle navigation" +msgstr "Gezinmeyi değiştir" + +msgid "Sphinx Book Theme" +msgstr "Sfenks Kitap Teması" + +msgid "suggest edit" +msgstr "düzenleme öner" + +msgid "Open an issue" +msgstr "Bir sorunu açın" + +msgid "Launch" +msgstr "Başlatmak" + +msgid "Fullscreen mode" +msgstr "Tam ekran modu" + +msgid "Edit this page" +msgstr "Bu sayfayı düzenle" + +msgid "By the" +msgstr "Tarafından" + +msgid "next page" +msgstr "sonraki Sayfa" diff --git a/_static/locales/uk/LC_MESSAGES/booktheme.mo b/_static/locales/uk/LC_MESSAGES/booktheme.mo new file mode 100644 index 0000000..16ab789 Binary files /dev/null and b/_static/locales/uk/LC_MESSAGES/booktheme.mo differ diff --git a/_static/locales/uk/LC_MESSAGES/booktheme.po b/_static/locales/uk/LC_MESSAGES/booktheme.po new file mode 100644 index 0000000..993dd07 --- /dev/null +++ b/_static/locales/uk/LC_MESSAGES/booktheme.po @@ -0,0 +1,75 @@ + +msgid "" +msgstr "" +"Project-Id-Version: Sphinx-Book-Theme\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Print to PDF" +msgstr "Друк у форматі PDF" + +msgid "Theme by the" +msgstr "Тема від" + +msgid "Download source file" +msgstr "Завантажити вихідний файл" + +msgid "open issue" +msgstr "відкритий випуск" + +msgid "Contents" +msgstr "Зміст" + +msgid "previous page" +msgstr "Попередня сторінка" + +msgid "Download notebook file" +msgstr "Завантажте файл блокнота" + +msgid "Copyright" +msgstr "Авторське право" + +msgid "Download this page" +msgstr "Завантажте цю сторінку" + +msgid "Source repository" +msgstr "Джерело сховища" + +msgid "By" +msgstr "Автор" + +msgid "repository" +msgstr "сховище" + +msgid "Last updated on" +msgstr "Останнє оновлення:" + +msgid "Toggle navigation" +msgstr "Переключити навігацію" + +msgid "Sphinx Book Theme" +msgstr "Тема книги \"Сфінкс\"" + +msgid "suggest edit" +msgstr "запропонувати редагувати" + +msgid "Open an issue" +msgstr "Відкрийте випуск" + +msgid "Launch" +msgstr "Запуск" + +msgid "Fullscreen mode" +msgstr "Повноекранний режим" + +msgid "Edit this page" +msgstr "Редагувати цю сторінку" + +msgid "By the" +msgstr "По" + +msgid "next page" +msgstr "Наступна сторінка" diff --git a/_static/locales/ur/LC_MESSAGES/booktheme.mo b/_static/locales/ur/LC_MESSAGES/booktheme.mo new file mode 100644 index 0000000..de8c84b Binary files /dev/null and b/_static/locales/ur/LC_MESSAGES/booktheme.mo differ diff --git a/_static/locales/ur/LC_MESSAGES/booktheme.po b/_static/locales/ur/LC_MESSAGES/booktheme.po new file mode 100644 index 0000000..2f77426 --- /dev/null +++ b/_static/locales/ur/LC_MESSAGES/booktheme.po @@ -0,0 +1,66 @@ + +msgid "" +msgstr "" +"Project-Id-Version: Sphinx-Book-Theme\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ur\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Print to PDF" +msgstr "پی ڈی ایف پرنٹ کریں" + +msgid "Theme by the" +msgstr "کے ذریعہ تھیم" + +msgid "Download source file" +msgstr "سورس فائل ڈاؤن لوڈ کریں" + +msgid "open issue" +msgstr "کھلا مسئلہ" + +msgid "previous page" +msgstr "سابقہ ​​صفحہ" + +msgid "Download notebook file" +msgstr "نوٹ بک فائل ڈاؤن لوڈ کریں" + +msgid "Copyright" +msgstr "کاپی رائٹ" + +msgid "Download this page" +msgstr "اس صفحے کو ڈاؤن لوڈ کریں" + +msgid "Source repository" +msgstr "ماخذ ذخیرہ" + +msgid "By" +msgstr "بذریعہ" + +msgid "Last updated on" +msgstr "آخری بار تازہ کاری ہوئی" + +msgid "Toggle navigation" +msgstr "نیویگیشن ٹوگل کریں" + +msgid "Sphinx Book Theme" +msgstr "سپنکس بک تھیم" + +msgid "suggest edit" +msgstr "ترمیم کی تجویز کریں" + +msgid "Open an issue" +msgstr "ایک مسئلہ کھولیں" + +msgid "Launch" +msgstr "لانچ کریں" + +msgid "Edit this page" +msgstr "اس صفحے میں ترمیم کریں" + +msgid "By the" +msgstr "کی طرف" + +msgid "next page" +msgstr "اگلا صفحہ" diff --git a/_static/locales/vi/LC_MESSAGES/booktheme.mo b/_static/locales/vi/LC_MESSAGES/booktheme.mo new file mode 100644 index 0000000..2bb3255 Binary files /dev/null and b/_static/locales/vi/LC_MESSAGES/booktheme.mo differ diff --git a/_static/locales/vi/LC_MESSAGES/booktheme.po b/_static/locales/vi/LC_MESSAGES/booktheme.po new file mode 100644 index 0000000..33159f3 --- /dev/null +++ b/_static/locales/vi/LC_MESSAGES/booktheme.po @@ -0,0 +1,75 @@ + +msgid "" +msgstr "" +"Project-Id-Version: Sphinx-Book-Theme\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: vi\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Print to PDF" +msgstr "In sang PDF" + +msgid "Theme by the" +msgstr "Chủ đề của" + +msgid "Download source file" +msgstr "Tải xuống tệp nguồn" + +msgid "open issue" +msgstr "vấn đề mở" + +msgid "Contents" +msgstr "Nội dung" + +msgid "previous page" +msgstr "trang trước" + +msgid "Download notebook file" +msgstr "Tải xuống tệp sổ tay" + +msgid "Copyright" +msgstr "Bản quyền" + +msgid "Download this page" +msgstr "Tải xuống trang này" + +msgid "Source repository" +msgstr "Kho nguồn" + +msgid "By" +msgstr "Bởi" + +msgid "repository" +msgstr "kho" + +msgid "Last updated on" +msgstr "Cập nhật lần cuối vào" + +msgid "Toggle navigation" +msgstr "Chuyển đổi điều hướng thành" + +msgid "Sphinx Book Theme" +msgstr "Chủ đề sách nhân sư" + +msgid "suggest edit" +msgstr "đề nghị chỉnh sửa" + +msgid "Open an issue" +msgstr "Mở một vấn đề" + +msgid "Launch" +msgstr "Phóng" + +msgid "Fullscreen mode" +msgstr "Chế độ toàn màn hình" + +msgid "Edit this page" +msgstr "chỉnh sửa trang này" + +msgid "By the" +msgstr "Bằng" + +msgid "next page" +msgstr "Trang tiếp theo" diff --git a/_static/locales/zh_CN/LC_MESSAGES/booktheme.mo b/_static/locales/zh_CN/LC_MESSAGES/booktheme.mo new file mode 100644 index 0000000..0e3235d Binary files /dev/null and b/_static/locales/zh_CN/LC_MESSAGES/booktheme.mo differ diff --git a/_static/locales/zh_CN/LC_MESSAGES/booktheme.po b/_static/locales/zh_CN/LC_MESSAGES/booktheme.po new file mode 100644 index 0000000..2e519ef --- /dev/null +++ b/_static/locales/zh_CN/LC_MESSAGES/booktheme.po @@ -0,0 +1,75 @@ + +msgid "" +msgstr "" +"Project-Id-Version: Sphinx-Book-Theme\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: zh_CN\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Print to PDF" +msgstr "列印成 PDF" + +msgid "Theme by the" +msgstr "主题作者:" + +msgid "Download source file" +msgstr "下载源文件" + +msgid "open issue" +msgstr "创建议题" + +msgid "Contents" +msgstr "目录" + +msgid "previous page" +msgstr "上一页" + +msgid "Download notebook file" +msgstr "下载笔记本文件" + +msgid "Copyright" +msgstr "版权" + +msgid "Download this page" +msgstr "下载此页面" + +msgid "Source repository" +msgstr "源码库" + +msgid "By" +msgstr "作者:" + +msgid "repository" +msgstr "仓库" + +msgid "Last updated on" +msgstr "上次更新时间:" + +msgid "Toggle navigation" +msgstr "显示或隐藏导航栏" + +msgid "Sphinx Book Theme" +msgstr "Sphinx Book 主题" + +msgid "suggest edit" +msgstr "提出修改建议" + +msgid "Open an issue" +msgstr "创建议题" + +msgid "Launch" +msgstr "启动" + +msgid "Fullscreen mode" +msgstr "全屏模式" + +msgid "Edit this page" +msgstr "编辑此页面" + +msgid "By the" +msgstr "作者:" + +msgid "next page" +msgstr "下一页" diff --git a/_static/locales/zh_TW/LC_MESSAGES/booktheme.mo b/_static/locales/zh_TW/LC_MESSAGES/booktheme.mo new file mode 100644 index 0000000..9116fa9 Binary files /dev/null and b/_static/locales/zh_TW/LC_MESSAGES/booktheme.mo differ diff --git a/_static/locales/zh_TW/LC_MESSAGES/booktheme.po b/_static/locales/zh_TW/LC_MESSAGES/booktheme.po new file mode 100644 index 0000000..beecb07 --- /dev/null +++ b/_static/locales/zh_TW/LC_MESSAGES/booktheme.po @@ -0,0 +1,75 @@ + +msgid "" +msgstr "" +"Project-Id-Version: Sphinx-Book-Theme\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: zh_TW\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Print to PDF" +msgstr "列印成 PDF" + +msgid "Theme by the" +msgstr "佈景主題作者:" + +msgid "Download source file" +msgstr "下載原始檔" + +msgid "open issue" +msgstr "公開的問題" + +msgid "Contents" +msgstr "目錄" + +msgid "previous page" +msgstr "上一頁" + +msgid "Download notebook file" +msgstr "下載 Notebook 檔案" + +msgid "Copyright" +msgstr "Copyright" + +msgid "Download this page" +msgstr "下載此頁面" + +msgid "Source repository" +msgstr "來源儲存庫" + +msgid "By" +msgstr "作者:" + +msgid "repository" +msgstr "儲存庫" + +msgid "Last updated on" +msgstr "最後更新時間:" + +msgid "Toggle navigation" +msgstr "顯示或隱藏導覽列" + +msgid "Sphinx Book Theme" +msgstr "Sphinx Book 佈景主題" + +msgid "suggest edit" +msgstr "提出修改建議" + +msgid "Open an issue" +msgstr "開啟議題" + +msgid "Launch" +msgstr "啟動" + +msgid "Fullscreen mode" +msgstr "全螢幕模式" + +msgid "Edit this page" +msgstr "編輯此頁面" + +msgid "By the" +msgstr "作者:" + +msgid "next page" +msgstr "下一頁" diff --git a/_static/logo.png b/_static/logo.png new file mode 100644 index 0000000..f37e9d4 Binary files /dev/null and b/_static/logo.png differ diff --git a/_static/minus.png b/_static/minus.png new file mode 100644 index 0000000..d96755f Binary files /dev/null and b/_static/minus.png differ diff --git a/_static/mystnb.4510f1fc1dee50b3e5859aac5469c37c29e427902b24a333a5f9fcb2f0b3ac41.css b/_static/mystnb.4510f1fc1dee50b3e5859aac5469c37c29e427902b24a333a5f9fcb2f0b3ac41.css new file mode 100644 index 0000000..3356631 --- /dev/null +++ b/_static/mystnb.4510f1fc1dee50b3e5859aac5469c37c29e427902b24a333a5f9fcb2f0b3ac41.css @@ -0,0 +1,2342 @@ +/* Variables */ +:root { + --mystnb-source-bg-color: #f7f7f7; + --mystnb-stdout-bg-color: #fcfcfc; + --mystnb-stderr-bg-color: #fdd; + --mystnb-traceback-bg-color: #fcfcfc; + --mystnb-source-border-color: #ccc; + --mystnb-source-margin-color: green; + --mystnb-stdout-border-color: #f7f7f7; + --mystnb-stderr-border-color: #f7f7f7; + --mystnb-traceback-border-color: #ffd6d6; + --mystnb-hide-prompt-opacity: 70%; + --mystnb-source-border-radius: .4em; + --mystnb-source-border-width: 1px; +} + +/* Whole cell */ +div.container.cell { + padding-left: 0; + margin-bottom: 1em; +} + +/* Removing all background formatting so we can control at the div level */ +.cell_input div.highlight, +.cell_output pre, +.cell_input pre, +.cell_output .output { + border: none; + box-shadow: none; +} + +.cell_output .output pre, +.cell_input pre { + margin: 0px; +} + +/* Input cells */ +div.cell div.cell_input, +div.cell details.above-input>summary { + padding-left: 0em; + padding-right: 0em; + border: var(--mystnb-source-border-width) var(--mystnb-source-border-color) solid; + background-color: var(--mystnb-source-bg-color); + border-left-color: var(--mystnb-source-margin-color); + border-left-width: medium; + border-radius: var(--mystnb-source-border-radius); +} + +div.cell_input>div, +div.cell_output div.output>div.highlight { + margin: 0em !important; + border: none !important; +} + +/* All cell outputs */ +.cell_output { + padding-left: 1em; + padding-right: 0em; + margin-top: 1em; +} + +/* Text outputs from cells */ +.cell_output .output.text_plain, +.cell_output .output.traceback, +.cell_output .output.stream, +.cell_output .output.stderr { + margin-top: 1em; + margin-bottom: 0em; + box-shadow: none; +} + +.cell_output .output.text_plain, +.cell_output .output.stream { + background: var(--mystnb-stdout-bg-color); + border: 1px solid var(--mystnb-stdout-border-color); +} + +.cell_output .output.stderr { + background: var(--mystnb-stderr-bg-color); + border: 1px solid var(--mystnb-stderr-border-color); +} + +.cell_output .output.traceback { + background: var(--mystnb-traceback-bg-color); + border: 1px solid var(--mystnb-traceback-border-color); +} + +/* Collapsible cell content */ +div.cell details.above-input div.cell_input { + border-top-left-radius: 0; + border-top-right-radius: 0; + border-top: var(--mystnb-source-border-width) var(--mystnb-source-border-color) dashed; +} + +div.cell div.cell_input.above-output-prompt { + border-bottom-left-radius: 0; + border-bottom-right-radius: 0; +} + +div.cell details.above-input>summary { + border-bottom-left-radius: 0; + border-bottom-right-radius: 0; + border-bottom: var(--mystnb-source-border-width) var(--mystnb-source-border-color) dashed; + padding-left: 1em; + margin-bottom: 0; +} + +div.cell details.above-output>summary { + background-color: var(--mystnb-source-bg-color); + padding-left: 1em; + padding-right: 0em; + border: var(--mystnb-source-border-width) var(--mystnb-source-border-color) solid; + border-radius: var(--mystnb-source-border-radius); + border-left-color: var(--mystnb-source-margin-color); + border-left-width: medium; +} + +div.cell details.below-input>summary { + background-color: var(--mystnb-source-bg-color); + padding-left: 1em; + padding-right: 0em; + border: var(--mystnb-source-border-width) var(--mystnb-source-border-color) solid; + border-top: none; + border-bottom-left-radius: var(--mystnb-source-border-radius); + border-bottom-right-radius: var(--mystnb-source-border-radius); + border-left-color: var(--mystnb-source-margin-color); + border-left-width: medium; +} + +div.cell details.hide>summary>span { + opacity: var(--mystnb-hide-prompt-opacity); +} + +div.cell details.hide[open]>summary>span.collapsed { + display: none; +} + +div.cell details.hide:not([open])>summary>span.expanded { + display: none; +} + +@keyframes collapsed-fade-in { + 0% { + opacity: 0; + } + + 100% { + opacity: 1; + } +} +div.cell details.hide[open]>summary~* { + -moz-animation: collapsed-fade-in 0.3s ease-in-out; + -webkit-animation: collapsed-fade-in 0.3s ease-in-out; + animation: collapsed-fade-in 0.3s ease-in-out; +} + +/* Math align to the left */ +.cell_output .MathJax_Display { + text-align: left !important; +} + +/* Pandas tables. Pulled from the Jupyter / nbsphinx CSS */ +div.cell_output table { + border: none; + border-collapse: collapse; + border-spacing: 0; + color: black; + font-size: 1em; + table-layout: fixed; +} + +div.cell_output thead { + border-bottom: 1px solid black; + vertical-align: bottom; +} + +div.cell_output tr, +div.cell_output th, +div.cell_output td { + text-align: right; + vertical-align: middle; + padding: 0.5em 0.5em; + line-height: normal; + white-space: normal; + max-width: none; + border: none; +} + +div.cell_output th { + font-weight: bold; +} + +div.cell_output tbody tr:nth-child(odd) { + background: #f5f5f5; +} + +div.cell_output tbody tr:hover { + background: rgba(66, 165, 245, 0.2); +} + +/** source code line numbers **/ +span.linenos { + opacity: 0.5; +} + +/* Inline text from `paste` operation */ + +span.pasted-text { + font-weight: bold; +} + +span.pasted-inline img { + max-height: 2em; +} + +tbody span.pasted-inline img { + max-height: none; +} + +/* Font colors for translated ANSI escape sequences +Color values are copied from Jupyter Notebook +https://github.com/jupyter/notebook/blob/52581f8eda9b319eb0390ac77fe5903c38f81e3e/notebook/static/notebook/less/ansicolors.less#L14-L21 +Background colors from +https://nbsphinx.readthedocs.io/en/latest/code-cells.html#ANSI-Colors +*/ +div.highlight .-Color-Bold { + font-weight: bold; +} + +div.highlight .-Color[class*=-Black] { + color: #3E424D +} + +div.highlight .-Color[class*=-Red] { + color: #E75C58 +} + +div.highlight .-Color[class*=-Green] { + color: #00A250 +} + +div.highlight .-Color[class*=-Yellow] { + color: #DDB62B +} + +div.highlight .-Color[class*=-Blue] { + color: #208FFB +} + +div.highlight .-Color[class*=-Magenta] { + color: #D160C4 +} + +div.highlight .-Color[class*=-Cyan] { + color: #60C6C8 +} + +div.highlight .-Color[class*=-White] { + color: #C5C1B4 +} + +div.highlight .-Color[class*=-BGBlack] { + background-color: #3E424D +} + +div.highlight .-Color[class*=-BGRed] { + background-color: #E75C58 +} + +div.highlight .-Color[class*=-BGGreen] { + background-color: #00A250 +} + +div.highlight .-Color[class*=-BGYellow] { + background-color: #DDB62B +} + +div.highlight .-Color[class*=-BGBlue] { + background-color: #208FFB +} + +div.highlight .-Color[class*=-BGMagenta] { + background-color: #D160C4 +} + +div.highlight .-Color[class*=-BGCyan] { + background-color: #60C6C8 +} + +div.highlight .-Color[class*=-BGWhite] { + background-color: #C5C1B4 +} + +/* Font colors for 8-bit ANSI */ + +div.highlight .-Color[class*=-C0] { + color: #000000 +} + +div.highlight .-Color[class*=-BGC0] { + background-color: #000000 +} + +div.highlight .-Color[class*=-C1] { + color: #800000 +} + +div.highlight .-Color[class*=-BGC1] { + background-color: #800000 +} + +div.highlight .-Color[class*=-C2] { + color: #008000 +} + +div.highlight .-Color[class*=-BGC2] { + background-color: #008000 +} + +div.highlight .-Color[class*=-C3] { + color: #808000 +} + +div.highlight .-Color[class*=-BGC3] { + background-color: #808000 +} + +div.highlight .-Color[class*=-C4] { + color: #000080 +} + +div.highlight .-Color[class*=-BGC4] { + background-color: #000080 +} + +div.highlight .-Color[class*=-C5] { + color: #800080 +} + +div.highlight .-Color[class*=-BGC5] { + background-color: #800080 +} + +div.highlight .-Color[class*=-C6] { + color: #008080 +} + +div.highlight .-Color[class*=-BGC6] { + background-color: #008080 +} + +div.highlight .-Color[class*=-C7] { + color: #C0C0C0 +} + +div.highlight .-Color[class*=-BGC7] { + background-color: #C0C0C0 +} + +div.highlight .-Color[class*=-C8] { + color: #808080 +} + +div.highlight .-Color[class*=-BGC8] { + background-color: #808080 +} + +div.highlight .-Color[class*=-C9] { + color: #FF0000 +} + +div.highlight .-Color[class*=-BGC9] { + background-color: #FF0000 +} + +div.highlight .-Color[class*=-C10] { + color: #00FF00 +} + +div.highlight .-Color[class*=-BGC10] { + background-color: #00FF00 +} + +div.highlight .-Color[class*=-C11] { + color: #FFFF00 +} + +div.highlight .-Color[class*=-BGC11] { + background-color: #FFFF00 +} + +div.highlight .-Color[class*=-C12] { + color: #0000FF +} + +div.highlight .-Color[class*=-BGC12] { + background-color: #0000FF +} + +div.highlight .-Color[class*=-C13] { + color: #FF00FF +} + +div.highlight .-Color[class*=-BGC13] { + background-color: #FF00FF +} + +div.highlight .-Color[class*=-C14] { + color: #00FFFF +} + +div.highlight .-Color[class*=-BGC14] { + background-color: #00FFFF +} + +div.highlight .-Color[class*=-C15] { + color: #FFFFFF +} + +div.highlight .-Color[class*=-BGC15] { + background-color: #FFFFFF +} + +div.highlight .-Color[class*=-C16] { + color: #000000 +} + +div.highlight .-Color[class*=-BGC16] { + background-color: #000000 +} + +div.highlight .-Color[class*=-C17] { + color: #00005F +} + +div.highlight .-Color[class*=-BGC17] { + background-color: #00005F +} + +div.highlight .-Color[class*=-C18] { + color: #000087 +} + +div.highlight .-Color[class*=-BGC18] { + background-color: #000087 +} + +div.highlight .-Color[class*=-C19] { + color: #0000AF +} + +div.highlight .-Color[class*=-BGC19] { + background-color: #0000AF +} + +div.highlight .-Color[class*=-C20] { + color: #0000D7 +} + +div.highlight .-Color[class*=-BGC20] { + background-color: #0000D7 +} + +div.highlight .-Color[class*=-C21] { + color: #0000FF +} + +div.highlight .-Color[class*=-BGC21] { + background-color: #0000FF +} + +div.highlight .-Color[class*=-C22] { + color: #005F00 +} + +div.highlight .-Color[class*=-BGC22] { + background-color: #005F00 +} + +div.highlight .-Color[class*=-C23] { + color: #005F5F +} + +div.highlight .-Color[class*=-BGC23] { + background-color: #005F5F +} + +div.highlight .-Color[class*=-C24] { + color: #005F87 +} + +div.highlight .-Color[class*=-BGC24] { + background-color: #005F87 +} + +div.highlight .-Color[class*=-C25] { + color: #005FAF +} + +div.highlight .-Color[class*=-BGC25] { + background-color: #005FAF +} + +div.highlight .-Color[class*=-C26] { + color: #005FD7 +} + +div.highlight .-Color[class*=-BGC26] { + background-color: #005FD7 +} + +div.highlight .-Color[class*=-C27] { + color: #005FFF +} + +div.highlight .-Color[class*=-BGC27] { + background-color: #005FFF +} + +div.highlight .-Color[class*=-C28] { + color: #008700 +} + +div.highlight .-Color[class*=-BGC28] { + background-color: #008700 +} + +div.highlight .-Color[class*=-C29] { + color: #00875F +} + +div.highlight .-Color[class*=-BGC29] { + background-color: #00875F +} + +div.highlight .-Color[class*=-C30] { + color: #008787 +} + +div.highlight .-Color[class*=-BGC30] { + background-color: #008787 +} + +div.highlight .-Color[class*=-C31] { + color: #0087AF +} + +div.highlight .-Color[class*=-BGC31] { + background-color: #0087AF +} + +div.highlight .-Color[class*=-C32] { + color: #0087D7 +} + +div.highlight .-Color[class*=-BGC32] { + background-color: #0087D7 +} + +div.highlight .-Color[class*=-C33] { + color: #0087FF +} + +div.highlight .-Color[class*=-BGC33] { + background-color: #0087FF +} + +div.highlight .-Color[class*=-C34] { + color: #00AF00 +} + +div.highlight .-Color[class*=-BGC34] { + background-color: #00AF00 +} + +div.highlight .-Color[class*=-C35] { + color: #00AF5F +} + +div.highlight .-Color[class*=-BGC35] { + background-color: #00AF5F +} + +div.highlight .-Color[class*=-C36] { + color: #00AF87 +} + +div.highlight .-Color[class*=-BGC36] { + background-color: #00AF87 +} + +div.highlight .-Color[class*=-C37] { + color: #00AFAF +} + +div.highlight .-Color[class*=-BGC37] { + background-color: #00AFAF +} + +div.highlight .-Color[class*=-C38] { + color: #00AFD7 +} + +div.highlight .-Color[class*=-BGC38] { + background-color: #00AFD7 +} + +div.highlight .-Color[class*=-C39] { + color: #00AFFF +} + +div.highlight .-Color[class*=-BGC39] { + background-color: #00AFFF +} + +div.highlight .-Color[class*=-C40] { + color: #00D700 +} + +div.highlight .-Color[class*=-BGC40] { + background-color: #00D700 +} + +div.highlight .-Color[class*=-C41] { + color: #00D75F +} + +div.highlight .-Color[class*=-BGC41] { + background-color: #00D75F +} + +div.highlight .-Color[class*=-C42] { + color: #00D787 +} + +div.highlight .-Color[class*=-BGC42] { + background-color: #00D787 +} + +div.highlight .-Color[class*=-C43] { + color: #00D7AF +} + +div.highlight .-Color[class*=-BGC43] { + background-color: #00D7AF +} + +div.highlight .-Color[class*=-C44] { + color: #00D7D7 +} + +div.highlight .-Color[class*=-BGC44] { + background-color: #00D7D7 +} + +div.highlight .-Color[class*=-C45] { + color: #00D7FF +} + +div.highlight .-Color[class*=-BGC45] { + background-color: #00D7FF +} + +div.highlight .-Color[class*=-C46] { + color: #00FF00 +} + +div.highlight .-Color[class*=-BGC46] { + background-color: #00FF00 +} + +div.highlight .-Color[class*=-C47] { + color: #00FF5F +} + +div.highlight .-Color[class*=-BGC47] { + background-color: #00FF5F +} + +div.highlight .-Color[class*=-C48] { + color: #00FF87 +} + +div.highlight .-Color[class*=-BGC48] { + background-color: #00FF87 +} + +div.highlight .-Color[class*=-C49] { + color: #00FFAF +} + +div.highlight .-Color[class*=-BGC49] { + background-color: #00FFAF +} + +div.highlight .-Color[class*=-C50] { + color: #00FFD7 +} + +div.highlight .-Color[class*=-BGC50] { + background-color: #00FFD7 +} + +div.highlight .-Color[class*=-C51] { + color: #00FFFF +} + +div.highlight .-Color[class*=-BGC51] { + background-color: #00FFFF +} + +div.highlight .-Color[class*=-C52] { + color: #5F0000 +} + +div.highlight .-Color[class*=-BGC52] { + background-color: #5F0000 +} + +div.highlight .-Color[class*=-C53] { + color: #5F005F +} + +div.highlight .-Color[class*=-BGC53] { + background-color: #5F005F +} + +div.highlight .-Color[class*=-C54] { + color: #5F0087 +} + +div.highlight .-Color[class*=-BGC54] { + background-color: #5F0087 +} + +div.highlight .-Color[class*=-C55] { + color: #5F00AF +} + +div.highlight .-Color[class*=-BGC55] { + background-color: #5F00AF +} + +div.highlight .-Color[class*=-C56] { + color: #5F00D7 +} + +div.highlight .-Color[class*=-BGC56] { + background-color: #5F00D7 +} + +div.highlight .-Color[class*=-C57] { + color: #5F00FF +} + +div.highlight .-Color[class*=-BGC57] { + background-color: #5F00FF +} + +div.highlight .-Color[class*=-C58] { + color: #5F5F00 +} + +div.highlight .-Color[class*=-BGC58] { + background-color: #5F5F00 +} + +div.highlight .-Color[class*=-C59] { + color: #5F5F5F +} + +div.highlight .-Color[class*=-BGC59] { + background-color: #5F5F5F +} + +div.highlight .-Color[class*=-C60] { + color: #5F5F87 +} + +div.highlight .-Color[class*=-BGC60] { + background-color: #5F5F87 +} + +div.highlight .-Color[class*=-C61] { + color: #5F5FAF +} + +div.highlight .-Color[class*=-BGC61] { + background-color: #5F5FAF +} + +div.highlight .-Color[class*=-C62] { + color: #5F5FD7 +} + +div.highlight .-Color[class*=-BGC62] { + background-color: #5F5FD7 +} + +div.highlight .-Color[class*=-C63] { + color: #5F5FFF +} + +div.highlight .-Color[class*=-BGC63] { + background-color: #5F5FFF +} + +div.highlight .-Color[class*=-C64] { + color: #5F8700 +} + +div.highlight .-Color[class*=-BGC64] { + background-color: #5F8700 +} + +div.highlight .-Color[class*=-C65] { + color: #5F875F +} + +div.highlight .-Color[class*=-BGC65] { + background-color: #5F875F +} + +div.highlight .-Color[class*=-C66] { + color: #5F8787 +} + +div.highlight .-Color[class*=-BGC66] { + background-color: #5F8787 +} + +div.highlight .-Color[class*=-C67] { + color: #5F87AF +} + +div.highlight .-Color[class*=-BGC67] { + background-color: #5F87AF +} + +div.highlight .-Color[class*=-C68] { + color: #5F87D7 +} + +div.highlight .-Color[class*=-BGC68] { + background-color: #5F87D7 +} + +div.highlight .-Color[class*=-C69] { + color: #5F87FF +} + +div.highlight .-Color[class*=-BGC69] { + background-color: #5F87FF +} + +div.highlight .-Color[class*=-C70] { + color: #5FAF00 +} + +div.highlight .-Color[class*=-BGC70] { + background-color: #5FAF00 +} + +div.highlight .-Color[class*=-C71] { + color: #5FAF5F +} + +div.highlight .-Color[class*=-BGC71] { + background-color: #5FAF5F +} + +div.highlight .-Color[class*=-C72] { + color: #5FAF87 +} + +div.highlight .-Color[class*=-BGC72] { + background-color: #5FAF87 +} + +div.highlight .-Color[class*=-C73] { + color: #5FAFAF +} + +div.highlight .-Color[class*=-BGC73] { + background-color: #5FAFAF +} + +div.highlight .-Color[class*=-C74] { + color: #5FAFD7 +} + +div.highlight .-Color[class*=-BGC74] { + background-color: #5FAFD7 +} + +div.highlight .-Color[class*=-C75] { + color: #5FAFFF +} + +div.highlight .-Color[class*=-BGC75] { + background-color: #5FAFFF +} + +div.highlight .-Color[class*=-C76] { + color: #5FD700 +} + +div.highlight .-Color[class*=-BGC76] { + background-color: #5FD700 +} + +div.highlight .-Color[class*=-C77] { + color: #5FD75F +} + +div.highlight .-Color[class*=-BGC77] { + background-color: #5FD75F +} + +div.highlight .-Color[class*=-C78] { + color: #5FD787 +} + +div.highlight .-Color[class*=-BGC78] { + background-color: #5FD787 +} + +div.highlight .-Color[class*=-C79] { + color: #5FD7AF +} + +div.highlight .-Color[class*=-BGC79] { + background-color: #5FD7AF +} + +div.highlight .-Color[class*=-C80] { + color: #5FD7D7 +} + +div.highlight .-Color[class*=-BGC80] { + background-color: #5FD7D7 +} + +div.highlight .-Color[class*=-C81] { + color: #5FD7FF +} + +div.highlight .-Color[class*=-BGC81] { + background-color: #5FD7FF +} + +div.highlight .-Color[class*=-C82] { + color: #5FFF00 +} + +div.highlight .-Color[class*=-BGC82] { + background-color: #5FFF00 +} + +div.highlight .-Color[class*=-C83] { + color: #5FFF5F +} + +div.highlight .-Color[class*=-BGC83] { + background-color: #5FFF5F +} + +div.highlight .-Color[class*=-C84] { + color: #5FFF87 +} + +div.highlight .-Color[class*=-BGC84] { + background-color: #5FFF87 +} + +div.highlight .-Color[class*=-C85] { + color: #5FFFAF +} + +div.highlight .-Color[class*=-BGC85] { + background-color: #5FFFAF +} + +div.highlight .-Color[class*=-C86] { + color: #5FFFD7 +} + +div.highlight .-Color[class*=-BGC86] { + background-color: #5FFFD7 +} + +div.highlight .-Color[class*=-C87] { + color: #5FFFFF +} + +div.highlight .-Color[class*=-BGC87] { + background-color: #5FFFFF +} + +div.highlight .-Color[class*=-C88] { + color: #870000 +} + +div.highlight .-Color[class*=-BGC88] { + background-color: #870000 +} + +div.highlight .-Color[class*=-C89] { + color: #87005F +} + +div.highlight .-Color[class*=-BGC89] { + background-color: #87005F +} + +div.highlight .-Color[class*=-C90] { + color: #870087 +} + +div.highlight .-Color[class*=-BGC90] { + background-color: #870087 +} + +div.highlight .-Color[class*=-C91] { + color: #8700AF +} + +div.highlight .-Color[class*=-BGC91] { + background-color: #8700AF +} + +div.highlight .-Color[class*=-C92] { + color: #8700D7 +} + +div.highlight .-Color[class*=-BGC92] { + background-color: #8700D7 +} + +div.highlight .-Color[class*=-C93] { + color: #8700FF +} + +div.highlight .-Color[class*=-BGC93] { + background-color: #8700FF +} + +div.highlight .-Color[class*=-C94] { + color: #875F00 +} + +div.highlight .-Color[class*=-BGC94] { + background-color: #875F00 +} + +div.highlight .-Color[class*=-C95] { + color: #875F5F +} + +div.highlight .-Color[class*=-BGC95] { + background-color: #875F5F +} + +div.highlight .-Color[class*=-C96] { + color: #875F87 +} + +div.highlight .-Color[class*=-BGC96] { + background-color: #875F87 +} + +div.highlight .-Color[class*=-C97] { + color: #875FAF +} + +div.highlight .-Color[class*=-BGC97] { + background-color: #875FAF +} + +div.highlight .-Color[class*=-C98] { + color: #875FD7 +} + +div.highlight .-Color[class*=-BGC98] { + background-color: #875FD7 +} + +div.highlight .-Color[class*=-C99] { + color: #875FFF +} + +div.highlight .-Color[class*=-BGC99] { + background-color: #875FFF +} + +div.highlight .-Color[class*=-C100] { + color: #878700 +} + +div.highlight .-Color[class*=-BGC100] { + background-color: #878700 +} + +div.highlight .-Color[class*=-C101] { + color: #87875F +} + +div.highlight .-Color[class*=-BGC101] { + background-color: #87875F +} + +div.highlight .-Color[class*=-C102] { + color: #878787 +} + +div.highlight .-Color[class*=-BGC102] { + background-color: #878787 +} + +div.highlight .-Color[class*=-C103] { + color: #8787AF +} + +div.highlight .-Color[class*=-BGC103] { + background-color: #8787AF +} + +div.highlight .-Color[class*=-C104] { + color: #8787D7 +} + +div.highlight .-Color[class*=-BGC104] { + background-color: #8787D7 +} + +div.highlight .-Color[class*=-C105] { + color: #8787FF +} + +div.highlight .-Color[class*=-BGC105] { + background-color: #8787FF +} + +div.highlight .-Color[class*=-C106] { + color: #87AF00 +} + +div.highlight .-Color[class*=-BGC106] { + background-color: #87AF00 +} + +div.highlight .-Color[class*=-C107] { + color: #87AF5F +} + +div.highlight .-Color[class*=-BGC107] { + background-color: #87AF5F +} + +div.highlight .-Color[class*=-C108] { + color: #87AF87 +} + +div.highlight .-Color[class*=-BGC108] { + background-color: #87AF87 +} + +div.highlight .-Color[class*=-C109] { + color: #87AFAF +} + +div.highlight .-Color[class*=-BGC109] { + background-color: #87AFAF +} + +div.highlight .-Color[class*=-C110] { + color: #87AFD7 +} + +div.highlight .-Color[class*=-BGC110] { + background-color: #87AFD7 +} + +div.highlight .-Color[class*=-C111] { + color: #87AFFF +} + +div.highlight .-Color[class*=-BGC111] { + background-color: #87AFFF +} + +div.highlight .-Color[class*=-C112] { + color: #87D700 +} + +div.highlight .-Color[class*=-BGC112] { + background-color: #87D700 +} + +div.highlight .-Color[class*=-C113] { + color: #87D75F +} + +div.highlight .-Color[class*=-BGC113] { + background-color: #87D75F +} + +div.highlight .-Color[class*=-C114] { + color: #87D787 +} + +div.highlight .-Color[class*=-BGC114] { + background-color: #87D787 +} + +div.highlight .-Color[class*=-C115] { + color: #87D7AF +} + +div.highlight .-Color[class*=-BGC115] { + background-color: #87D7AF +} + +div.highlight .-Color[class*=-C116] { + color: #87D7D7 +} + +div.highlight .-Color[class*=-BGC116] { + background-color: #87D7D7 +} + +div.highlight .-Color[class*=-C117] { + color: #87D7FF +} + +div.highlight .-Color[class*=-BGC117] { + background-color: #87D7FF +} + +div.highlight .-Color[class*=-C118] { + color: #87FF00 +} + +div.highlight .-Color[class*=-BGC118] { + background-color: #87FF00 +} + +div.highlight .-Color[class*=-C119] { + color: #87FF5F +} + +div.highlight .-Color[class*=-BGC119] { + background-color: #87FF5F +} + +div.highlight .-Color[class*=-C120] { + color: #87FF87 +} + +div.highlight .-Color[class*=-BGC120] { + background-color: #87FF87 +} + +div.highlight .-Color[class*=-C121] { + color: #87FFAF +} + +div.highlight .-Color[class*=-BGC121] { + background-color: #87FFAF +} + +div.highlight .-Color[class*=-C122] { + color: #87FFD7 +} + +div.highlight .-Color[class*=-BGC122] { + background-color: #87FFD7 +} + +div.highlight .-Color[class*=-C123] { + color: #87FFFF +} + +div.highlight .-Color[class*=-BGC123] { + background-color: #87FFFF +} + +div.highlight .-Color[class*=-C124] { + color: #AF0000 +} + +div.highlight .-Color[class*=-BGC124] { + background-color: #AF0000 +} + +div.highlight .-Color[class*=-C125] { + color: #AF005F +} + +div.highlight .-Color[class*=-BGC125] { + background-color: #AF005F +} + +div.highlight .-Color[class*=-C126] { + color: #AF0087 +} + +div.highlight .-Color[class*=-BGC126] { + background-color: #AF0087 +} + +div.highlight .-Color[class*=-C127] { + color: #AF00AF +} + +div.highlight .-Color[class*=-BGC127] { + background-color: #AF00AF +} + +div.highlight .-Color[class*=-C128] { + color: #AF00D7 +} + +div.highlight .-Color[class*=-BGC128] { + background-color: #AF00D7 +} + +div.highlight .-Color[class*=-C129] { + color: #AF00FF +} + +div.highlight .-Color[class*=-BGC129] { + background-color: #AF00FF +} + +div.highlight .-Color[class*=-C130] { + color: #AF5F00 +} + +div.highlight .-Color[class*=-BGC130] { + background-color: #AF5F00 +} + +div.highlight .-Color[class*=-C131] { + color: #AF5F5F +} + +div.highlight .-Color[class*=-BGC131] { + background-color: #AF5F5F +} + +div.highlight .-Color[class*=-C132] { + color: #AF5F87 +} + +div.highlight .-Color[class*=-BGC132] { + background-color: #AF5F87 +} + +div.highlight .-Color[class*=-C133] { + color: #AF5FAF +} + +div.highlight .-Color[class*=-BGC133] { + background-color: #AF5FAF +} + +div.highlight .-Color[class*=-C134] { + color: #AF5FD7 +} + +div.highlight .-Color[class*=-BGC134] { + background-color: #AF5FD7 +} + +div.highlight .-Color[class*=-C135] { + color: #AF5FFF +} + +div.highlight .-Color[class*=-BGC135] { + background-color: #AF5FFF +} + +div.highlight .-Color[class*=-C136] { + color: #AF8700 +} + +div.highlight .-Color[class*=-BGC136] { + background-color: #AF8700 +} + +div.highlight .-Color[class*=-C137] { + color: #AF875F +} + +div.highlight .-Color[class*=-BGC137] { + background-color: #AF875F +} + +div.highlight .-Color[class*=-C138] { + color: #AF8787 +} + +div.highlight .-Color[class*=-BGC138] { + background-color: #AF8787 +} + +div.highlight .-Color[class*=-C139] { + color: #AF87AF +} + +div.highlight .-Color[class*=-BGC139] { + background-color: #AF87AF +} + +div.highlight .-Color[class*=-C140] { + color: #AF87D7 +} + +div.highlight .-Color[class*=-BGC140] { + background-color: #AF87D7 +} + +div.highlight .-Color[class*=-C141] { + color: #AF87FF +} + +div.highlight .-Color[class*=-BGC141] { + background-color: #AF87FF +} + +div.highlight .-Color[class*=-C142] { + color: #AFAF00 +} + +div.highlight .-Color[class*=-BGC142] { + background-color: #AFAF00 +} + +div.highlight .-Color[class*=-C143] { + color: #AFAF5F +} + +div.highlight .-Color[class*=-BGC143] { + background-color: #AFAF5F +} + +div.highlight .-Color[class*=-C144] { + color: #AFAF87 +} + +div.highlight .-Color[class*=-BGC144] { + background-color: #AFAF87 +} + +div.highlight .-Color[class*=-C145] { + color: #AFAFAF +} + +div.highlight .-Color[class*=-BGC145] { + background-color: #AFAFAF +} + +div.highlight .-Color[class*=-C146] { + color: #AFAFD7 +} + +div.highlight .-Color[class*=-BGC146] { + background-color: #AFAFD7 +} + +div.highlight .-Color[class*=-C147] { + color: #AFAFFF +} + +div.highlight .-Color[class*=-BGC147] { + background-color: #AFAFFF +} + +div.highlight .-Color[class*=-C148] { + color: #AFD700 +} + +div.highlight .-Color[class*=-BGC148] { + background-color: #AFD700 +} + +div.highlight .-Color[class*=-C149] { + color: #AFD75F +} + +div.highlight .-Color[class*=-BGC149] { + background-color: #AFD75F +} + +div.highlight .-Color[class*=-C150] { + color: #AFD787 +} + +div.highlight .-Color[class*=-BGC150] { + background-color: #AFD787 +} + +div.highlight .-Color[class*=-C151] { + color: #AFD7AF +} + +div.highlight .-Color[class*=-BGC151] { + background-color: #AFD7AF +} + +div.highlight .-Color[class*=-C152] { + color: #AFD7D7 +} + +div.highlight .-Color[class*=-BGC152] { + background-color: #AFD7D7 +} + +div.highlight .-Color[class*=-C153] { + color: #AFD7FF +} + +div.highlight .-Color[class*=-BGC153] { + background-color: #AFD7FF +} + +div.highlight .-Color[class*=-C154] { + color: #AFFF00 +} + +div.highlight .-Color[class*=-BGC154] { + background-color: #AFFF00 +} + +div.highlight .-Color[class*=-C155] { + color: #AFFF5F +} + +div.highlight .-Color[class*=-BGC155] { + background-color: #AFFF5F +} + +div.highlight .-Color[class*=-C156] { + color: #AFFF87 +} + +div.highlight .-Color[class*=-BGC156] { + background-color: #AFFF87 +} + +div.highlight .-Color[class*=-C157] { + color: #AFFFAF +} + +div.highlight .-Color[class*=-BGC157] { + background-color: #AFFFAF +} + +div.highlight .-Color[class*=-C158] { + color: #AFFFD7 +} + +div.highlight .-Color[class*=-BGC158] { + background-color: #AFFFD7 +} + +div.highlight .-Color[class*=-C159] { + color: #AFFFFF +} + +div.highlight .-Color[class*=-BGC159] { + background-color: #AFFFFF +} + +div.highlight .-Color[class*=-C160] { + color: #D70000 +} + +div.highlight .-Color[class*=-BGC160] { + background-color: #D70000 +} + +div.highlight .-Color[class*=-C161] { + color: #D7005F +} + +div.highlight .-Color[class*=-BGC161] { + background-color: #D7005F +} + +div.highlight .-Color[class*=-C162] { + color: #D70087 +} + +div.highlight .-Color[class*=-BGC162] { + background-color: #D70087 +} + +div.highlight .-Color[class*=-C163] { + color: #D700AF +} + +div.highlight .-Color[class*=-BGC163] { + background-color: #D700AF +} + +div.highlight .-Color[class*=-C164] { + color: #D700D7 +} + +div.highlight .-Color[class*=-BGC164] { + background-color: #D700D7 +} + +div.highlight .-Color[class*=-C165] { + color: #D700FF +} + +div.highlight .-Color[class*=-BGC165] { + background-color: #D700FF +} + +div.highlight .-Color[class*=-C166] { + color: #D75F00 +} + +div.highlight .-Color[class*=-BGC166] { + background-color: #D75F00 +} + +div.highlight .-Color[class*=-C167] { + color: #D75F5F +} + +div.highlight .-Color[class*=-BGC167] { + background-color: #D75F5F +} + +div.highlight .-Color[class*=-C168] { + color: #D75F87 +} + +div.highlight .-Color[class*=-BGC168] { + background-color: #D75F87 +} + +div.highlight .-Color[class*=-C169] { + color: #D75FAF +} + +div.highlight .-Color[class*=-BGC169] { + background-color: #D75FAF +} + +div.highlight .-Color[class*=-C170] { + color: #D75FD7 +} + +div.highlight .-Color[class*=-BGC170] { + background-color: #D75FD7 +} + +div.highlight .-Color[class*=-C171] { + color: #D75FFF +} + +div.highlight .-Color[class*=-BGC171] { + background-color: #D75FFF +} + +div.highlight .-Color[class*=-C172] { + color: #D78700 +} + +div.highlight .-Color[class*=-BGC172] { + background-color: #D78700 +} + +div.highlight .-Color[class*=-C173] { + color: #D7875F +} + +div.highlight .-Color[class*=-BGC173] { + background-color: #D7875F +} + +div.highlight .-Color[class*=-C174] { + color: #D78787 +} + +div.highlight .-Color[class*=-BGC174] { + background-color: #D78787 +} + +div.highlight .-Color[class*=-C175] { + color: #D787AF +} + +div.highlight .-Color[class*=-BGC175] { + background-color: #D787AF +} + +div.highlight .-Color[class*=-C176] { + color: #D787D7 +} + +div.highlight .-Color[class*=-BGC176] { + background-color: #D787D7 +} + +div.highlight .-Color[class*=-C177] { + color: #D787FF +} + +div.highlight .-Color[class*=-BGC177] { + background-color: #D787FF +} + +div.highlight .-Color[class*=-C178] { + color: #D7AF00 +} + +div.highlight .-Color[class*=-BGC178] { + background-color: #D7AF00 +} + +div.highlight .-Color[class*=-C179] { + color: #D7AF5F +} + +div.highlight .-Color[class*=-BGC179] { + background-color: #D7AF5F +} + +div.highlight .-Color[class*=-C180] { + color: #D7AF87 +} + +div.highlight .-Color[class*=-BGC180] { + background-color: #D7AF87 +} + +div.highlight .-Color[class*=-C181] { + color: #D7AFAF +} + +div.highlight .-Color[class*=-BGC181] { + background-color: #D7AFAF +} + +div.highlight .-Color[class*=-C182] { + color: #D7AFD7 +} + +div.highlight .-Color[class*=-BGC182] { + background-color: #D7AFD7 +} + +div.highlight .-Color[class*=-C183] { + color: #D7AFFF +} + +div.highlight .-Color[class*=-BGC183] { + background-color: #D7AFFF +} + +div.highlight .-Color[class*=-C184] { + color: #D7D700 +} + +div.highlight .-Color[class*=-BGC184] { + background-color: #D7D700 +} + +div.highlight .-Color[class*=-C185] { + color: #D7D75F +} + +div.highlight .-Color[class*=-BGC185] { + background-color: #D7D75F +} + +div.highlight .-Color[class*=-C186] { + color: #D7D787 +} + +div.highlight .-Color[class*=-BGC186] { + background-color: #D7D787 +} + +div.highlight .-Color[class*=-C187] { + color: #D7D7AF +} + +div.highlight .-Color[class*=-BGC187] { + background-color: #D7D7AF +} + +div.highlight .-Color[class*=-C188] { + color: #D7D7D7 +} + +div.highlight .-Color[class*=-BGC188] { + background-color: #D7D7D7 +} + +div.highlight .-Color[class*=-C189] { + color: #D7D7FF +} + +div.highlight .-Color[class*=-BGC189] { + background-color: #D7D7FF +} + +div.highlight .-Color[class*=-C190] { + color: #D7FF00 +} + +div.highlight .-Color[class*=-BGC190] { + background-color: #D7FF00 +} + +div.highlight .-Color[class*=-C191] { + color: #D7FF5F +} + +div.highlight .-Color[class*=-BGC191] { + background-color: #D7FF5F +} + +div.highlight .-Color[class*=-C192] { + color: #D7FF87 +} + +div.highlight .-Color[class*=-BGC192] { + background-color: #D7FF87 +} + +div.highlight .-Color[class*=-C193] { + color: #D7FFAF +} + +div.highlight .-Color[class*=-BGC193] { + background-color: #D7FFAF +} + +div.highlight .-Color[class*=-C194] { + color: #D7FFD7 +} + +div.highlight .-Color[class*=-BGC194] { + background-color: #D7FFD7 +} + +div.highlight .-Color[class*=-C195] { + color: #D7FFFF +} + +div.highlight .-Color[class*=-BGC195] { + background-color: #D7FFFF +} + +div.highlight .-Color[class*=-C196] { + color: #FF0000 +} + +div.highlight .-Color[class*=-BGC196] { + background-color: #FF0000 +} + +div.highlight .-Color[class*=-C197] { + color: #FF005F +} + +div.highlight .-Color[class*=-BGC197] { + background-color: #FF005F +} + +div.highlight .-Color[class*=-C198] { + color: #FF0087 +} + +div.highlight .-Color[class*=-BGC198] { + background-color: #FF0087 +} + +div.highlight .-Color[class*=-C199] { + color: #FF00AF +} + +div.highlight .-Color[class*=-BGC199] { + background-color: #FF00AF +} + +div.highlight .-Color[class*=-C200] { + color: #FF00D7 +} + +div.highlight .-Color[class*=-BGC200] { + background-color: #FF00D7 +} + +div.highlight .-Color[class*=-C201] { + color: #FF00FF +} + +div.highlight .-Color[class*=-BGC201] { + background-color: #FF00FF +} + +div.highlight .-Color[class*=-C202] { + color: #FF5F00 +} + +div.highlight .-Color[class*=-BGC202] { + background-color: #FF5F00 +} + +div.highlight .-Color[class*=-C203] { + color: #FF5F5F +} + +div.highlight .-Color[class*=-BGC203] { + background-color: #FF5F5F +} + +div.highlight .-Color[class*=-C204] { + color: #FF5F87 +} + +div.highlight .-Color[class*=-BGC204] { + background-color: #FF5F87 +} + +div.highlight .-Color[class*=-C205] { + color: #FF5FAF +} + +div.highlight .-Color[class*=-BGC205] { + background-color: #FF5FAF +} + +div.highlight .-Color[class*=-C206] { + color: #FF5FD7 +} + +div.highlight .-Color[class*=-BGC206] { + background-color: #FF5FD7 +} + +div.highlight .-Color[class*=-C207] { + color: #FF5FFF +} + +div.highlight .-Color[class*=-BGC207] { + background-color: #FF5FFF +} + +div.highlight .-Color[class*=-C208] { + color: #FF8700 +} + +div.highlight .-Color[class*=-BGC208] { + background-color: #FF8700 +} + +div.highlight .-Color[class*=-C209] { + color: #FF875F +} + +div.highlight .-Color[class*=-BGC209] { + background-color: #FF875F +} + +div.highlight .-Color[class*=-C210] { + color: #FF8787 +} + +div.highlight .-Color[class*=-BGC210] { + background-color: #FF8787 +} + +div.highlight .-Color[class*=-C211] { + color: #FF87AF +} + +div.highlight .-Color[class*=-BGC211] { + background-color: #FF87AF +} + +div.highlight .-Color[class*=-C212] { + color: #FF87D7 +} + +div.highlight .-Color[class*=-BGC212] { + background-color: #FF87D7 +} + +div.highlight .-Color[class*=-C213] { + color: #FF87FF +} + +div.highlight .-Color[class*=-BGC213] { + background-color: #FF87FF +} + +div.highlight .-Color[class*=-C214] { + color: #FFAF00 +} + +div.highlight .-Color[class*=-BGC214] { + background-color: #FFAF00 +} + +div.highlight .-Color[class*=-C215] { + color: #FFAF5F +} + +div.highlight .-Color[class*=-BGC215] { + background-color: #FFAF5F +} + +div.highlight .-Color[class*=-C216] { + color: #FFAF87 +} + +div.highlight .-Color[class*=-BGC216] { + background-color: #FFAF87 +} + +div.highlight .-Color[class*=-C217] { + color: #FFAFAF +} + +div.highlight .-Color[class*=-BGC217] { + background-color: #FFAFAF +} + +div.highlight .-Color[class*=-C218] { + color: #FFAFD7 +} + +div.highlight .-Color[class*=-BGC218] { + background-color: #FFAFD7 +} + +div.highlight .-Color[class*=-C219] { + color: #FFAFFF +} + +div.highlight .-Color[class*=-BGC219] { + background-color: #FFAFFF +} + +div.highlight .-Color[class*=-C220] { + color: #FFD700 +} + +div.highlight .-Color[class*=-BGC220] { + background-color: #FFD700 +} + +div.highlight .-Color[class*=-C221] { + color: #FFD75F +} + +div.highlight .-Color[class*=-BGC221] { + background-color: #FFD75F +} + +div.highlight .-Color[class*=-C222] { + color: #FFD787 +} + +div.highlight .-Color[class*=-BGC222] { + background-color: #FFD787 +} + +div.highlight .-Color[class*=-C223] { + color: #FFD7AF +} + +div.highlight .-Color[class*=-BGC223] { + background-color: #FFD7AF +} + +div.highlight .-Color[class*=-C224] { + color: #FFD7D7 +} + +div.highlight .-Color[class*=-BGC224] { + background-color: #FFD7D7 +} + +div.highlight .-Color[class*=-C225] { + color: #FFD7FF +} + +div.highlight .-Color[class*=-BGC225] { + background-color: #FFD7FF +} + +div.highlight .-Color[class*=-C226] { + color: #FFFF00 +} + +div.highlight .-Color[class*=-BGC226] { + background-color: #FFFF00 +} + +div.highlight .-Color[class*=-C227] { + color: #FFFF5F +} + +div.highlight .-Color[class*=-BGC227] { + background-color: #FFFF5F +} + +div.highlight .-Color[class*=-C228] { + color: #FFFF87 +} + +div.highlight .-Color[class*=-BGC228] { + background-color: #FFFF87 +} + +div.highlight .-Color[class*=-C229] { + color: #FFFFAF +} + +div.highlight .-Color[class*=-BGC229] { + background-color: #FFFFAF +} + +div.highlight .-Color[class*=-C230] { + color: #FFFFD7 +} + +div.highlight .-Color[class*=-BGC230] { + background-color: #FFFFD7 +} + +div.highlight .-Color[class*=-C231] { + color: #FFFFFF +} + +div.highlight .-Color[class*=-BGC231] { + background-color: #FFFFFF +} + +div.highlight .-Color[class*=-C232] { + color: #080808 +} + +div.highlight .-Color[class*=-BGC232] { + background-color: #080808 +} + +div.highlight .-Color[class*=-C233] { + color: #121212 +} + +div.highlight .-Color[class*=-BGC233] { + background-color: #121212 +} + +div.highlight .-Color[class*=-C234] { + color: #1C1C1C +} + +div.highlight .-Color[class*=-BGC234] { + background-color: #1C1C1C +} + +div.highlight .-Color[class*=-C235] { + color: #262626 +} + +div.highlight .-Color[class*=-BGC235] { + background-color: #262626 +} + +div.highlight .-Color[class*=-C236] { + color: #303030 +} + +div.highlight .-Color[class*=-BGC236] { + background-color: #303030 +} + +div.highlight .-Color[class*=-C237] { + color: #3A3A3A +} + +div.highlight .-Color[class*=-BGC237] { + background-color: #3A3A3A +} + +div.highlight .-Color[class*=-C238] { + color: #444444 +} + +div.highlight .-Color[class*=-BGC238] { + background-color: #444444 +} + +div.highlight .-Color[class*=-C239] { + color: #4E4E4E +} + +div.highlight .-Color[class*=-BGC239] { + background-color: #4E4E4E +} + +div.highlight .-Color[class*=-C240] { + color: #585858 +} + +div.highlight .-Color[class*=-BGC240] { + background-color: #585858 +} + +div.highlight .-Color[class*=-C241] { + color: #626262 +} + +div.highlight .-Color[class*=-BGC241] { + background-color: #626262 +} + +div.highlight .-Color[class*=-C242] { + color: #6C6C6C +} + +div.highlight .-Color[class*=-BGC242] { + background-color: #6C6C6C +} + +div.highlight .-Color[class*=-C243] { + color: #767676 +} + +div.highlight .-Color[class*=-BGC243] { + background-color: #767676 +} + +div.highlight .-Color[class*=-C244] { + color: #808080 +} + +div.highlight .-Color[class*=-BGC244] { + background-color: #808080 +} + +div.highlight .-Color[class*=-C245] { + color: #8A8A8A +} + +div.highlight .-Color[class*=-BGC245] { + background-color: #8A8A8A +} + +div.highlight .-Color[class*=-C246] { + color: #949494 +} + +div.highlight .-Color[class*=-BGC246] { + background-color: #949494 +} + +div.highlight .-Color[class*=-C247] { + color: #9E9E9E +} + +div.highlight .-Color[class*=-BGC247] { + background-color: #9E9E9E +} + +div.highlight .-Color[class*=-C248] { + color: #A8A8A8 +} + +div.highlight .-Color[class*=-BGC248] { + background-color: #A8A8A8 +} + +div.highlight .-Color[class*=-C249] { + color: #B2B2B2 +} + +div.highlight .-Color[class*=-BGC249] { + background-color: #B2B2B2 +} + +div.highlight .-Color[class*=-C250] { + color: #BCBCBC +} + +div.highlight .-Color[class*=-BGC250] { + background-color: #BCBCBC +} + +div.highlight .-Color[class*=-C251] { + color: #C6C6C6 +} + +div.highlight .-Color[class*=-BGC251] { + background-color: #C6C6C6 +} + +div.highlight .-Color[class*=-C252] { + color: #D0D0D0 +} + +div.highlight .-Color[class*=-BGC252] { + background-color: #D0D0D0 +} + +div.highlight .-Color[class*=-C253] { + color: #DADADA +} + +div.highlight .-Color[class*=-BGC253] { + background-color: #DADADA +} + +div.highlight .-Color[class*=-C254] { + color: #E4E4E4 +} + +div.highlight .-Color[class*=-BGC254] { + background-color: #E4E4E4 +} + +div.highlight .-Color[class*=-C255] { + color: #EEEEEE +} + +div.highlight .-Color[class*=-BGC255] { + background-color: #EEEEEE +} diff --git a/_static/play-solid.svg b/_static/play-solid.svg new file mode 100644 index 0000000..bcd81f7 --- /dev/null +++ b/_static/play-solid.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/_static/plus.png b/_static/plus.png new file mode 100644 index 0000000..7107cec Binary files /dev/null and b/_static/plus.png differ diff --git a/_static/pygments.css b/_static/pygments.css new file mode 100644 index 0000000..012e6a0 --- /dev/null +++ b/_static/pygments.css @@ -0,0 +1,152 @@ +html[data-theme="light"] .highlight pre { line-height: 125%; } +html[data-theme="light"] .highlight td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +html[data-theme="light"] .highlight span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +html[data-theme="light"] .highlight td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +html[data-theme="light"] .highlight span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +html[data-theme="light"] .highlight .hll { background-color: #fae4c2 } +html[data-theme="light"] .highlight { background: #fefefe; color: #080808 } +html[data-theme="light"] .highlight .c { color: #515151 } /* Comment */ +html[data-theme="light"] .highlight .err { color: #a12236 } /* Error */ +html[data-theme="light"] .highlight .k { color: #6730c5 } /* Keyword */ +html[data-theme="light"] .highlight .l { color: #7f4707 } /* Literal */ +html[data-theme="light"] .highlight .n { color: #080808 } /* Name */ +html[data-theme="light"] .highlight .o { color: #00622f } /* Operator */ +html[data-theme="light"] .highlight .p { color: #080808 } /* Punctuation */ +html[data-theme="light"] .highlight .ch { color: #515151 } /* Comment.Hashbang */ +html[data-theme="light"] .highlight .cm { color: #515151 } /* Comment.Multiline */ +html[data-theme="light"] .highlight .cp { color: #515151 } /* Comment.Preproc */ +html[data-theme="light"] .highlight .cpf { color: #515151 } /* Comment.PreprocFile */ +html[data-theme="light"] .highlight .c1 { color: #515151 } /* Comment.Single */ +html[data-theme="light"] .highlight .cs { color: #515151 } /* Comment.Special */ +html[data-theme="light"] .highlight .gd { color: #005b82 } /* Generic.Deleted */ +html[data-theme="light"] .highlight .ge { font-style: italic } /* Generic.Emph */ +html[data-theme="light"] .highlight .gh { color: #005b82 } /* Generic.Heading */ +html[data-theme="light"] .highlight .gs { font-weight: bold } /* Generic.Strong */ +html[data-theme="light"] .highlight .gu { color: #005b82 } /* Generic.Subheading */ +html[data-theme="light"] .highlight .kc { color: #6730c5 } /* Keyword.Constant */ +html[data-theme="light"] .highlight .kd { color: #6730c5 } /* Keyword.Declaration */ +html[data-theme="light"] .highlight .kn { color: #6730c5 } /* Keyword.Namespace */ +html[data-theme="light"] .highlight .kp { color: #6730c5 } /* Keyword.Pseudo */ +html[data-theme="light"] .highlight .kr { color: #6730c5 } /* Keyword.Reserved */ +html[data-theme="light"] .highlight .kt { color: #7f4707 } /* Keyword.Type */ +html[data-theme="light"] .highlight .ld { color: #7f4707 } /* Literal.Date */ +html[data-theme="light"] .highlight .m { color: #7f4707 } /* Literal.Number */ +html[data-theme="light"] .highlight .s { color: #00622f } /* Literal.String */ +html[data-theme="light"] .highlight .na { color: #912583 } /* Name.Attribute */ +html[data-theme="light"] .highlight .nb { color: #7f4707 } /* Name.Builtin */ +html[data-theme="light"] .highlight .nc { color: #005b82 } /* Name.Class */ +html[data-theme="light"] .highlight .no { color: #005b82 } /* Name.Constant */ +html[data-theme="light"] .highlight .nd { color: #7f4707 } /* Name.Decorator */ +html[data-theme="light"] .highlight .ni { color: #00622f } /* Name.Entity */ +html[data-theme="light"] .highlight .ne { color: #6730c5 } /* Name.Exception */ +html[data-theme="light"] .highlight .nf { color: #005b82 } /* Name.Function */ +html[data-theme="light"] .highlight .nl { color: #7f4707 } /* Name.Label */ +html[data-theme="light"] .highlight .nn { color: #080808 } /* Name.Namespace */ +html[data-theme="light"] .highlight .nx { color: #080808 } /* Name.Other */ +html[data-theme="light"] .highlight .py { color: #005b82 } /* Name.Property */ +html[data-theme="light"] .highlight .nt { color: #005b82 } /* Name.Tag */ +html[data-theme="light"] .highlight .nv { color: #a12236 } /* Name.Variable */ +html[data-theme="light"] .highlight .ow { color: #6730c5 } /* Operator.Word */ +html[data-theme="light"] .highlight .pm { color: #080808 } /* Punctuation.Marker */ +html[data-theme="light"] .highlight .w { color: #080808 } /* Text.Whitespace */ +html[data-theme="light"] .highlight .mb { color: #7f4707 } /* Literal.Number.Bin */ +html[data-theme="light"] .highlight .mf { color: #7f4707 } /* Literal.Number.Float */ +html[data-theme="light"] .highlight .mh { color: #7f4707 } /* Literal.Number.Hex */ +html[data-theme="light"] .highlight .mi { color: #7f4707 } /* Literal.Number.Integer */ +html[data-theme="light"] .highlight .mo { color: #7f4707 } /* Literal.Number.Oct */ +html[data-theme="light"] .highlight .sa { color: #00622f } /* Literal.String.Affix */ +html[data-theme="light"] .highlight .sb { color: #00622f } /* Literal.String.Backtick */ +html[data-theme="light"] .highlight .sc { color: #00622f } /* Literal.String.Char */ +html[data-theme="light"] .highlight .dl { color: #00622f } /* Literal.String.Delimiter */ +html[data-theme="light"] .highlight .sd { color: #00622f } /* Literal.String.Doc */ +html[data-theme="light"] .highlight .s2 { color: #00622f } /* Literal.String.Double */ +html[data-theme="light"] .highlight .se { color: #00622f } /* Literal.String.Escape */ +html[data-theme="light"] .highlight .sh { color: #00622f } /* Literal.String.Heredoc */ +html[data-theme="light"] .highlight .si { color: #00622f } /* Literal.String.Interpol */ +html[data-theme="light"] .highlight .sx { color: #00622f } /* Literal.String.Other */ +html[data-theme="light"] .highlight .sr { color: #a12236 } /* Literal.String.Regex */ +html[data-theme="light"] .highlight .s1 { color: #00622f } /* Literal.String.Single */ +html[data-theme="light"] .highlight .ss { color: #005b82 } /* Literal.String.Symbol */ +html[data-theme="light"] .highlight .bp { color: #7f4707 } /* Name.Builtin.Pseudo */ +html[data-theme="light"] .highlight .fm { color: #005b82 } /* Name.Function.Magic */ +html[data-theme="light"] .highlight .vc { color: #a12236 } /* Name.Variable.Class */ +html[data-theme="light"] .highlight .vg { color: #a12236 } /* Name.Variable.Global */ +html[data-theme="light"] .highlight .vi { color: #a12236 } /* Name.Variable.Instance */ +html[data-theme="light"] .highlight .vm { color: #7f4707 } /* Name.Variable.Magic */ +html[data-theme="light"] .highlight .il { color: #7f4707 } /* Literal.Number.Integer.Long */ +html[data-theme="dark"] .highlight pre { line-height: 125%; } +html[data-theme="dark"] .highlight td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +html[data-theme="dark"] .highlight span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +html[data-theme="dark"] .highlight td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +html[data-theme="dark"] .highlight span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +html[data-theme="dark"] .highlight .hll { background-color: #ffd9002e } +html[data-theme="dark"] .highlight { background: #2b2b2b; color: #f8f8f2 } +html[data-theme="dark"] .highlight .c { color: #ffd900 } /* Comment */ +html[data-theme="dark"] .highlight .err { color: #ffa07a } /* Error */ +html[data-theme="dark"] .highlight .k { color: #dcc6e0 } /* Keyword */ +html[data-theme="dark"] .highlight .l { color: #ffd900 } /* Literal */ +html[data-theme="dark"] .highlight .n { color: #f8f8f2 } /* Name */ +html[data-theme="dark"] .highlight .o { color: #abe338 } /* Operator */ +html[data-theme="dark"] .highlight .p { color: #f8f8f2 } /* Punctuation */ +html[data-theme="dark"] .highlight .ch { color: #ffd900 } /* Comment.Hashbang */ +html[data-theme="dark"] .highlight .cm { color: #ffd900 } /* Comment.Multiline */ +html[data-theme="dark"] .highlight .cp { color: #ffd900 } /* Comment.Preproc */ +html[data-theme="dark"] .highlight .cpf { color: #ffd900 } /* Comment.PreprocFile */ +html[data-theme="dark"] .highlight .c1 { color: #ffd900 } /* Comment.Single */ +html[data-theme="dark"] .highlight .cs { color: #ffd900 } /* Comment.Special */ +html[data-theme="dark"] .highlight .gd { color: #00e0e0 } /* Generic.Deleted */ +html[data-theme="dark"] .highlight .ge { font-style: italic } /* Generic.Emph */ +html[data-theme="dark"] .highlight .gh { color: #00e0e0 } /* Generic.Heading */ +html[data-theme="dark"] .highlight .gs { font-weight: bold } /* Generic.Strong */ +html[data-theme="dark"] .highlight .gu { color: #00e0e0 } /* Generic.Subheading */ +html[data-theme="dark"] .highlight .kc { color: #dcc6e0 } /* Keyword.Constant */ +html[data-theme="dark"] .highlight .kd { color: #dcc6e0 } /* Keyword.Declaration */ +html[data-theme="dark"] .highlight .kn { color: #dcc6e0 } /* Keyword.Namespace */ +html[data-theme="dark"] .highlight .kp { color: #dcc6e0 } /* Keyword.Pseudo */ +html[data-theme="dark"] .highlight .kr { color: #dcc6e0 } /* Keyword.Reserved */ +html[data-theme="dark"] .highlight .kt { color: #ffd900 } /* Keyword.Type */ +html[data-theme="dark"] .highlight .ld { color: #ffd900 } /* Literal.Date */ +html[data-theme="dark"] .highlight .m { color: #ffd900 } /* Literal.Number */ +html[data-theme="dark"] .highlight .s { color: #abe338 } /* Literal.String */ +html[data-theme="dark"] .highlight .na { color: #ffd900 } /* Name.Attribute */ +html[data-theme="dark"] .highlight .nb { color: #ffd900 } /* Name.Builtin */ +html[data-theme="dark"] .highlight .nc { color: #00e0e0 } /* Name.Class */ +html[data-theme="dark"] .highlight .no { color: #00e0e0 } /* Name.Constant */ +html[data-theme="dark"] .highlight .nd { color: #ffd900 } /* Name.Decorator */ +html[data-theme="dark"] .highlight .ni { color: #abe338 } /* Name.Entity */ +html[data-theme="dark"] .highlight .ne { color: #dcc6e0 } /* Name.Exception */ +html[data-theme="dark"] .highlight .nf { color: #00e0e0 } /* Name.Function */ +html[data-theme="dark"] .highlight .nl { color: #ffd900 } /* Name.Label */ +html[data-theme="dark"] .highlight .nn { color: #f8f8f2 } /* Name.Namespace */ +html[data-theme="dark"] .highlight .nx { color: #f8f8f2 } /* Name.Other */ +html[data-theme="dark"] .highlight .py { color: #00e0e0 } /* Name.Property */ +html[data-theme="dark"] .highlight .nt { color: #00e0e0 } /* Name.Tag */ +html[data-theme="dark"] .highlight .nv { color: #ffa07a } /* Name.Variable */ +html[data-theme="dark"] .highlight .ow { color: #dcc6e0 } /* Operator.Word */ +html[data-theme="dark"] .highlight .pm { color: #f8f8f2 } /* Punctuation.Marker */ +html[data-theme="dark"] .highlight .w { color: #f8f8f2 } /* Text.Whitespace */ +html[data-theme="dark"] .highlight .mb { color: #ffd900 } /* Literal.Number.Bin */ +html[data-theme="dark"] .highlight .mf { color: #ffd900 } /* Literal.Number.Float */ +html[data-theme="dark"] .highlight .mh { color: #ffd900 } /* Literal.Number.Hex */ +html[data-theme="dark"] .highlight .mi { color: #ffd900 } /* Literal.Number.Integer */ +html[data-theme="dark"] .highlight .mo { color: #ffd900 } /* Literal.Number.Oct */ +html[data-theme="dark"] .highlight .sa { color: #abe338 } /* Literal.String.Affix */ +html[data-theme="dark"] .highlight .sb { color: #abe338 } /* Literal.String.Backtick */ +html[data-theme="dark"] .highlight .sc { color: #abe338 } /* Literal.String.Char */ +html[data-theme="dark"] .highlight .dl { color: #abe338 } /* Literal.String.Delimiter */ +html[data-theme="dark"] .highlight .sd { color: #abe338 } /* Literal.String.Doc */ +html[data-theme="dark"] .highlight .s2 { color: #abe338 } /* Literal.String.Double */ +html[data-theme="dark"] .highlight .se { color: #abe338 } /* Literal.String.Escape */ +html[data-theme="dark"] .highlight .sh { color: #abe338 } /* Literal.String.Heredoc */ +html[data-theme="dark"] .highlight .si { color: #abe338 } /* Literal.String.Interpol */ +html[data-theme="dark"] .highlight .sx { color: #abe338 } /* Literal.String.Other */ +html[data-theme="dark"] .highlight .sr { color: #ffa07a } /* Literal.String.Regex */ +html[data-theme="dark"] .highlight .s1 { color: #abe338 } /* Literal.String.Single */ +html[data-theme="dark"] .highlight .ss { color: #00e0e0 } /* Literal.String.Symbol */ +html[data-theme="dark"] .highlight .bp { color: #ffd900 } /* Name.Builtin.Pseudo */ +html[data-theme="dark"] .highlight .fm { color: #00e0e0 } /* Name.Function.Magic */ +html[data-theme="dark"] .highlight .vc { color: #ffa07a } /* Name.Variable.Class */ +html[data-theme="dark"] .highlight .vg { color: #ffa07a } /* Name.Variable.Global */ +html[data-theme="dark"] .highlight .vi { color: #ffa07a } /* Name.Variable.Instance */ +html[data-theme="dark"] .highlight .vm { color: #ffd900 } /* Name.Variable.Magic */ +html[data-theme="dark"] .highlight .il { color: #ffd900 } /* Literal.Number.Integer.Long */ \ No newline at end of file diff --git a/_static/sbt-webpack-macros.html b/_static/sbt-webpack-macros.html new file mode 100644 index 0000000..6cbf559 --- /dev/null +++ b/_static/sbt-webpack-macros.html @@ -0,0 +1,11 @@ + +{% macro head_pre_bootstrap() %} + +{% endmacro %} + +{% macro body_post() %} + +{% endmacro %} diff --git a/_static/scripts/bootstrap.js b/_static/scripts/bootstrap.js new file mode 100644 index 0000000..c8178de --- /dev/null +++ b/_static/scripts/bootstrap.js @@ -0,0 +1,3 @@ +/*! For license information please see bootstrap.js.LICENSE.txt */ +(()=>{"use strict";var t={d:(e,i)=>{for(var n in i)t.o(i,n)&&!t.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:i[n]})},o:(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r:t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})}},e={};t.r(e),t.d(e,{afterMain:()=>E,afterRead:()=>v,afterWrite:()=>C,applyStyles:()=>$,arrow:()=>J,auto:()=>a,basePlacements:()=>l,beforeMain:()=>y,beforeRead:()=>_,beforeWrite:()=>A,bottom:()=>s,clippingParents:()=>d,computeStyles:()=>it,createPopper:()=>Dt,createPopperBase:()=>St,createPopperLite:()=>$t,detectOverflow:()=>_t,end:()=>h,eventListeners:()=>st,flip:()=>bt,hide:()=>wt,left:()=>r,main:()=>w,modifierPhases:()=>O,offset:()=>Et,placements:()=>g,popper:()=>f,popperGenerator:()=>Lt,popperOffsets:()=>At,preventOverflow:()=>Tt,read:()=>b,reference:()=>p,right:()=>o,start:()=>c,top:()=>n,variationPlacements:()=>m,viewport:()=>u,write:()=>T});var i={};t.r(i),t.d(i,{Alert:()=>Oe,Button:()=>ke,Carousel:()=>li,Collapse:()=>Ei,Dropdown:()=>Ki,Modal:()=>Ln,Offcanvas:()=>Kn,Popover:()=>bs,ScrollSpy:()=>Ls,Tab:()=>Js,Toast:()=>po,Tooltip:()=>fs});var n="top",s="bottom",o="right",r="left",a="auto",l=[n,s,o,r],c="start",h="end",d="clippingParents",u="viewport",f="popper",p="reference",m=l.reduce((function(t,e){return t.concat([e+"-"+c,e+"-"+h])}),[]),g=[].concat(l,[a]).reduce((function(t,e){return t.concat([e,e+"-"+c,e+"-"+h])}),[]),_="beforeRead",b="read",v="afterRead",y="beforeMain",w="main",E="afterMain",A="beforeWrite",T="write",C="afterWrite",O=[_,b,v,y,w,E,A,T,C];function x(t){return t?(t.nodeName||"").toLowerCase():null}function k(t){if(null==t)return window;if("[object Window]"!==t.toString()){var e=t.ownerDocument;return e&&e.defaultView||window}return t}function L(t){return t instanceof k(t).Element||t instanceof Element}function S(t){return t instanceof k(t).HTMLElement||t instanceof HTMLElement}function D(t){return"undefined"!=typeof ShadowRoot&&(t instanceof k(t).ShadowRoot||t instanceof ShadowRoot)}const $={name:"applyStyles",enabled:!0,phase:"write",fn:function(t){var e=t.state;Object.keys(e.elements).forEach((function(t){var i=e.styles[t]||{},n=e.attributes[t]||{},s=e.elements[t];S(s)&&x(s)&&(Object.assign(s.style,i),Object.keys(n).forEach((function(t){var e=n[t];!1===e?s.removeAttribute(t):s.setAttribute(t,!0===e?"":e)})))}))},effect:function(t){var e=t.state,i={popper:{position:e.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(e.elements.popper.style,i.popper),e.styles=i,e.elements.arrow&&Object.assign(e.elements.arrow.style,i.arrow),function(){Object.keys(e.elements).forEach((function(t){var n=e.elements[t],s=e.attributes[t]||{},o=Object.keys(e.styles.hasOwnProperty(t)?e.styles[t]:i[t]).reduce((function(t,e){return t[e]="",t}),{});S(n)&&x(n)&&(Object.assign(n.style,o),Object.keys(s).forEach((function(t){n.removeAttribute(t)})))}))}},requires:["computeStyles"]};function I(t){return t.split("-")[0]}var N=Math.max,P=Math.min,M=Math.round;function j(){var t=navigator.userAgentData;return null!=t&&t.brands&&Array.isArray(t.brands)?t.brands.map((function(t){return t.brand+"/"+t.version})).join(" "):navigator.userAgent}function F(){return!/^((?!chrome|android).)*safari/i.test(j())}function H(t,e,i){void 0===e&&(e=!1),void 0===i&&(i=!1);var n=t.getBoundingClientRect(),s=1,o=1;e&&S(t)&&(s=t.offsetWidth>0&&M(n.width)/t.offsetWidth||1,o=t.offsetHeight>0&&M(n.height)/t.offsetHeight||1);var r=(L(t)?k(t):window).visualViewport,a=!F()&&i,l=(n.left+(a&&r?r.offsetLeft:0))/s,c=(n.top+(a&&r?r.offsetTop:0))/o,h=n.width/s,d=n.height/o;return{width:h,height:d,top:c,right:l+h,bottom:c+d,left:l,x:l,y:c}}function B(t){var e=H(t),i=t.offsetWidth,n=t.offsetHeight;return Math.abs(e.width-i)<=1&&(i=e.width),Math.abs(e.height-n)<=1&&(n=e.height),{x:t.offsetLeft,y:t.offsetTop,width:i,height:n}}function W(t,e){var i=e.getRootNode&&e.getRootNode();if(t.contains(e))return!0;if(i&&D(i)){var n=e;do{if(n&&t.isSameNode(n))return!0;n=n.parentNode||n.host}while(n)}return!1}function z(t){return k(t).getComputedStyle(t)}function R(t){return["table","td","th"].indexOf(x(t))>=0}function q(t){return((L(t)?t.ownerDocument:t.document)||window.document).documentElement}function V(t){return"html"===x(t)?t:t.assignedSlot||t.parentNode||(D(t)?t.host:null)||q(t)}function Y(t){return S(t)&&"fixed"!==z(t).position?t.offsetParent:null}function K(t){for(var e=k(t),i=Y(t);i&&R(i)&&"static"===z(i).position;)i=Y(i);return i&&("html"===x(i)||"body"===x(i)&&"static"===z(i).position)?e:i||function(t){var e=/firefox/i.test(j());if(/Trident/i.test(j())&&S(t)&&"fixed"===z(t).position)return null;var i=V(t);for(D(i)&&(i=i.host);S(i)&&["html","body"].indexOf(x(i))<0;){var n=z(i);if("none"!==n.transform||"none"!==n.perspective||"paint"===n.contain||-1!==["transform","perspective"].indexOf(n.willChange)||e&&"filter"===n.willChange||e&&n.filter&&"none"!==n.filter)return i;i=i.parentNode}return null}(t)||e}function Q(t){return["top","bottom"].indexOf(t)>=0?"x":"y"}function X(t,e,i){return N(t,P(e,i))}function U(t){return Object.assign({},{top:0,right:0,bottom:0,left:0},t)}function G(t,e){return e.reduce((function(e,i){return e[i]=t,e}),{})}const J={name:"arrow",enabled:!0,phase:"main",fn:function(t){var e,i=t.state,a=t.name,c=t.options,h=i.elements.arrow,d=i.modifiersData.popperOffsets,u=I(i.placement),f=Q(u),p=[r,o].indexOf(u)>=0?"height":"width";if(h&&d){var m=function(t,e){return U("number"!=typeof(t="function"==typeof t?t(Object.assign({},e.rects,{placement:e.placement})):t)?t:G(t,l))}(c.padding,i),g=B(h),_="y"===f?n:r,b="y"===f?s:o,v=i.rects.reference[p]+i.rects.reference[f]-d[f]-i.rects.popper[p],y=d[f]-i.rects.reference[f],w=K(h),E=w?"y"===f?w.clientHeight||0:w.clientWidth||0:0,A=v/2-y/2,T=m[_],C=E-g[p]-m[b],O=E/2-g[p]/2+A,x=X(T,O,C),k=f;i.modifiersData[a]=((e={})[k]=x,e.centerOffset=x-O,e)}},effect:function(t){var e=t.state,i=t.options.element,n=void 0===i?"[data-popper-arrow]":i;null!=n&&("string"!=typeof n||(n=e.elements.popper.querySelector(n)))&&W(e.elements.popper,n)&&(e.elements.arrow=n)},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function Z(t){return t.split("-")[1]}var tt={top:"auto",right:"auto",bottom:"auto",left:"auto"};function et(t){var e,i=t.popper,a=t.popperRect,l=t.placement,c=t.variation,d=t.offsets,u=t.position,f=t.gpuAcceleration,p=t.adaptive,m=t.roundOffsets,g=t.isFixed,_=d.x,b=void 0===_?0:_,v=d.y,y=void 0===v?0:v,w="function"==typeof m?m({x:b,y}):{x:b,y};b=w.x,y=w.y;var E=d.hasOwnProperty("x"),A=d.hasOwnProperty("y"),T=r,C=n,O=window;if(p){var x=K(i),L="clientHeight",S="clientWidth";x===k(i)&&"static"!==z(x=q(i)).position&&"absolute"===u&&(L="scrollHeight",S="scrollWidth"),(l===n||(l===r||l===o)&&c===h)&&(C=s,y-=(g&&x===O&&O.visualViewport?O.visualViewport.height:x[L])-a.height,y*=f?1:-1),l!==r&&(l!==n&&l!==s||c!==h)||(T=o,b-=(g&&x===O&&O.visualViewport?O.visualViewport.width:x[S])-a.width,b*=f?1:-1)}var D,$=Object.assign({position:u},p&&tt),I=!0===m?function(t,e){var i=t.x,n=t.y,s=e.devicePixelRatio||1;return{x:M(i*s)/s||0,y:M(n*s)/s||0}}({x:b,y},k(i)):{x:b,y};return b=I.x,y=I.y,f?Object.assign({},$,((D={})[C]=A?"0":"",D[T]=E?"0":"",D.transform=(O.devicePixelRatio||1)<=1?"translate("+b+"px, "+y+"px)":"translate3d("+b+"px, "+y+"px, 0)",D)):Object.assign({},$,((e={})[C]=A?y+"px":"",e[T]=E?b+"px":"",e.transform="",e))}const it={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:function(t){var e=t.state,i=t.options,n=i.gpuAcceleration,s=void 0===n||n,o=i.adaptive,r=void 0===o||o,a=i.roundOffsets,l=void 0===a||a,c={placement:I(e.placement),variation:Z(e.placement),popper:e.elements.popper,popperRect:e.rects.popper,gpuAcceleration:s,isFixed:"fixed"===e.options.strategy};null!=e.modifiersData.popperOffsets&&(e.styles.popper=Object.assign({},e.styles.popper,et(Object.assign({},c,{offsets:e.modifiersData.popperOffsets,position:e.options.strategy,adaptive:r,roundOffsets:l})))),null!=e.modifiersData.arrow&&(e.styles.arrow=Object.assign({},e.styles.arrow,et(Object.assign({},c,{offsets:e.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:l})))),e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-placement":e.placement})},data:{}};var nt={passive:!0};const st={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:function(t){var e=t.state,i=t.instance,n=t.options,s=n.scroll,o=void 0===s||s,r=n.resize,a=void 0===r||r,l=k(e.elements.popper),c=[].concat(e.scrollParents.reference,e.scrollParents.popper);return o&&c.forEach((function(t){t.addEventListener("scroll",i.update,nt)})),a&&l.addEventListener("resize",i.update,nt),function(){o&&c.forEach((function(t){t.removeEventListener("scroll",i.update,nt)})),a&&l.removeEventListener("resize",i.update,nt)}},data:{}};var ot={left:"right",right:"left",bottom:"top",top:"bottom"};function rt(t){return t.replace(/left|right|bottom|top/g,(function(t){return ot[t]}))}var at={start:"end",end:"start"};function lt(t){return t.replace(/start|end/g,(function(t){return at[t]}))}function ct(t){var e=k(t);return{scrollLeft:e.pageXOffset,scrollTop:e.pageYOffset}}function ht(t){return H(q(t)).left+ct(t).scrollLeft}function dt(t){var e=z(t),i=e.overflow,n=e.overflowX,s=e.overflowY;return/auto|scroll|overlay|hidden/.test(i+s+n)}function ut(t){return["html","body","#document"].indexOf(x(t))>=0?t.ownerDocument.body:S(t)&&dt(t)?t:ut(V(t))}function ft(t,e){var i;void 0===e&&(e=[]);var n=ut(t),s=n===(null==(i=t.ownerDocument)?void 0:i.body),o=k(n),r=s?[o].concat(o.visualViewport||[],dt(n)?n:[]):n,a=e.concat(r);return s?a:a.concat(ft(V(r)))}function pt(t){return Object.assign({},t,{left:t.x,top:t.y,right:t.x+t.width,bottom:t.y+t.height})}function mt(t,e,i){return e===u?pt(function(t,e){var i=k(t),n=q(t),s=i.visualViewport,o=n.clientWidth,r=n.clientHeight,a=0,l=0;if(s){o=s.width,r=s.height;var c=F();(c||!c&&"fixed"===e)&&(a=s.offsetLeft,l=s.offsetTop)}return{width:o,height:r,x:a+ht(t),y:l}}(t,i)):L(e)?function(t,e){var i=H(t,!1,"fixed"===e);return i.top=i.top+t.clientTop,i.left=i.left+t.clientLeft,i.bottom=i.top+t.clientHeight,i.right=i.left+t.clientWidth,i.width=t.clientWidth,i.height=t.clientHeight,i.x=i.left,i.y=i.top,i}(e,i):pt(function(t){var e,i=q(t),n=ct(t),s=null==(e=t.ownerDocument)?void 0:e.body,o=N(i.scrollWidth,i.clientWidth,s?s.scrollWidth:0,s?s.clientWidth:0),r=N(i.scrollHeight,i.clientHeight,s?s.scrollHeight:0,s?s.clientHeight:0),a=-n.scrollLeft+ht(t),l=-n.scrollTop;return"rtl"===z(s||i).direction&&(a+=N(i.clientWidth,s?s.clientWidth:0)-o),{width:o,height:r,x:a,y:l}}(q(t)))}function gt(t){var e,i=t.reference,a=t.element,l=t.placement,d=l?I(l):null,u=l?Z(l):null,f=i.x+i.width/2-a.width/2,p=i.y+i.height/2-a.height/2;switch(d){case n:e={x:f,y:i.y-a.height};break;case s:e={x:f,y:i.y+i.height};break;case o:e={x:i.x+i.width,y:p};break;case r:e={x:i.x-a.width,y:p};break;default:e={x:i.x,y:i.y}}var m=d?Q(d):null;if(null!=m){var g="y"===m?"height":"width";switch(u){case c:e[m]=e[m]-(i[g]/2-a[g]/2);break;case h:e[m]=e[m]+(i[g]/2-a[g]/2)}}return e}function _t(t,e){void 0===e&&(e={});var i=e,r=i.placement,a=void 0===r?t.placement:r,c=i.strategy,h=void 0===c?t.strategy:c,m=i.boundary,g=void 0===m?d:m,_=i.rootBoundary,b=void 0===_?u:_,v=i.elementContext,y=void 0===v?f:v,w=i.altBoundary,E=void 0!==w&&w,A=i.padding,T=void 0===A?0:A,C=U("number"!=typeof T?T:G(T,l)),O=y===f?p:f,k=t.rects.popper,D=t.elements[E?O:y],$=function(t,e,i,n){var s="clippingParents"===e?function(t){var e=ft(V(t)),i=["absolute","fixed"].indexOf(z(t).position)>=0&&S(t)?K(t):t;return L(i)?e.filter((function(t){return L(t)&&W(t,i)&&"body"!==x(t)})):[]}(t):[].concat(e),o=[].concat(s,[i]),r=o[0],a=o.reduce((function(e,i){var s=mt(t,i,n);return e.top=N(s.top,e.top),e.right=P(s.right,e.right),e.bottom=P(s.bottom,e.bottom),e.left=N(s.left,e.left),e}),mt(t,r,n));return a.width=a.right-a.left,a.height=a.bottom-a.top,a.x=a.left,a.y=a.top,a}(L(D)?D:D.contextElement||q(t.elements.popper),g,b,h),I=H(t.elements.reference),M=gt({reference:I,element:k,strategy:"absolute",placement:a}),j=pt(Object.assign({},k,M)),F=y===f?j:I,B={top:$.top-F.top+C.top,bottom:F.bottom-$.bottom+C.bottom,left:$.left-F.left+C.left,right:F.right-$.right+C.right},R=t.modifiersData.offset;if(y===f&&R){var Y=R[a];Object.keys(B).forEach((function(t){var e=[o,s].indexOf(t)>=0?1:-1,i=[n,s].indexOf(t)>=0?"y":"x";B[t]+=Y[i]*e}))}return B}const bt={name:"flip",enabled:!0,phase:"main",fn:function(t){var e=t.state,i=t.options,h=t.name;if(!e.modifiersData[h]._skip){for(var d=i.mainAxis,u=void 0===d||d,f=i.altAxis,p=void 0===f||f,_=i.fallbackPlacements,b=i.padding,v=i.boundary,y=i.rootBoundary,w=i.altBoundary,E=i.flipVariations,A=void 0===E||E,T=i.allowedAutoPlacements,C=e.options.placement,O=I(C),x=_||(O!==C&&A?function(t){if(I(t)===a)return[];var e=rt(t);return[lt(t),e,lt(e)]}(C):[rt(C)]),k=[C].concat(x).reduce((function(t,i){return t.concat(I(i)===a?function(t,e){void 0===e&&(e={});var i=e,n=i.placement,s=i.boundary,o=i.rootBoundary,r=i.padding,a=i.flipVariations,c=i.allowedAutoPlacements,h=void 0===c?g:c,d=Z(n),u=d?a?m:m.filter((function(t){return Z(t)===d})):l,f=u.filter((function(t){return h.indexOf(t)>=0}));0===f.length&&(f=u);var p=f.reduce((function(e,i){return e[i]=_t(t,{placement:i,boundary:s,rootBoundary:o,padding:r})[I(i)],e}),{});return Object.keys(p).sort((function(t,e){return p[t]-p[e]}))}(e,{placement:i,boundary:v,rootBoundary:y,padding:b,flipVariations:A,allowedAutoPlacements:T}):i)}),[]),L=e.rects.reference,S=e.rects.popper,D=new Map,$=!0,N=k[0],P=0;P=0,B=H?"width":"height",W=_t(e,{placement:M,boundary:v,rootBoundary:y,altBoundary:w,padding:b}),z=H?F?o:r:F?s:n;L[B]>S[B]&&(z=rt(z));var R=rt(z),q=[];if(u&&q.push(W[j]<=0),p&&q.push(W[z]<=0,W[R]<=0),q.every((function(t){return t}))){N=M,$=!1;break}D.set(M,q)}if($)for(var V=function(t){var e=k.find((function(e){var i=D.get(e);if(i)return i.slice(0,t).every((function(t){return t}))}));if(e)return N=e,"break"},Y=A?3:1;Y>0&&"break"!==V(Y);Y--);e.placement!==N&&(e.modifiersData[h]._skip=!0,e.placement=N,e.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}};function vt(t,e,i){return void 0===i&&(i={x:0,y:0}),{top:t.top-e.height-i.y,right:t.right-e.width+i.x,bottom:t.bottom-e.height+i.y,left:t.left-e.width-i.x}}function yt(t){return[n,o,s,r].some((function(e){return t[e]>=0}))}const wt={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:function(t){var e=t.state,i=t.name,n=e.rects.reference,s=e.rects.popper,o=e.modifiersData.preventOverflow,r=_t(e,{elementContext:"reference"}),a=_t(e,{altBoundary:!0}),l=vt(r,n),c=vt(a,s,o),h=yt(l),d=yt(c);e.modifiersData[i]={referenceClippingOffsets:l,popperEscapeOffsets:c,isReferenceHidden:h,hasPopperEscaped:d},e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-reference-hidden":h,"data-popper-escaped":d})}},Et={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:function(t){var e=t.state,i=t.options,s=t.name,a=i.offset,l=void 0===a?[0,0]:a,c=g.reduce((function(t,i){return t[i]=function(t,e,i){var s=I(t),a=[r,n].indexOf(s)>=0?-1:1,l="function"==typeof i?i(Object.assign({},e,{placement:t})):i,c=l[0],h=l[1];return c=c||0,h=(h||0)*a,[r,o].indexOf(s)>=0?{x:h,y:c}:{x:c,y:h}}(i,e.rects,l),t}),{}),h=c[e.placement],d=h.x,u=h.y;null!=e.modifiersData.popperOffsets&&(e.modifiersData.popperOffsets.x+=d,e.modifiersData.popperOffsets.y+=u),e.modifiersData[s]=c}},At={name:"popperOffsets",enabled:!0,phase:"read",fn:function(t){var e=t.state,i=t.name;e.modifiersData[i]=gt({reference:e.rects.reference,element:e.rects.popper,strategy:"absolute",placement:e.placement})},data:{}},Tt={name:"preventOverflow",enabled:!0,phase:"main",fn:function(t){var e=t.state,i=t.options,a=t.name,l=i.mainAxis,h=void 0===l||l,d=i.altAxis,u=void 0!==d&&d,f=i.boundary,p=i.rootBoundary,m=i.altBoundary,g=i.padding,_=i.tether,b=void 0===_||_,v=i.tetherOffset,y=void 0===v?0:v,w=_t(e,{boundary:f,rootBoundary:p,padding:g,altBoundary:m}),E=I(e.placement),A=Z(e.placement),T=!A,C=Q(E),O="x"===C?"y":"x",x=e.modifiersData.popperOffsets,k=e.rects.reference,L=e.rects.popper,S="function"==typeof y?y(Object.assign({},e.rects,{placement:e.placement})):y,D="number"==typeof S?{mainAxis:S,altAxis:S}:Object.assign({mainAxis:0,altAxis:0},S),$=e.modifiersData.offset?e.modifiersData.offset[e.placement]:null,M={x:0,y:0};if(x){if(h){var j,F="y"===C?n:r,H="y"===C?s:o,W="y"===C?"height":"width",z=x[C],R=z+w[F],q=z-w[H],V=b?-L[W]/2:0,Y=A===c?k[W]:L[W],U=A===c?-L[W]:-k[W],G=e.elements.arrow,J=b&&G?B(G):{width:0,height:0},tt=e.modifiersData["arrow#persistent"]?e.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},et=tt[F],it=tt[H],nt=X(0,k[W],J[W]),st=T?k[W]/2-V-nt-et-D.mainAxis:Y-nt-et-D.mainAxis,ot=T?-k[W]/2+V+nt+it+D.mainAxis:U+nt+it+D.mainAxis,rt=e.elements.arrow&&K(e.elements.arrow),at=rt?"y"===C?rt.clientTop||0:rt.clientLeft||0:0,lt=null!=(j=null==$?void 0:$[C])?j:0,ct=z+ot-lt,ht=X(b?P(R,z+st-lt-at):R,z,b?N(q,ct):q);x[C]=ht,M[C]=ht-z}if(u){var dt,ut="x"===C?n:r,ft="x"===C?s:o,pt=x[O],mt="y"===O?"height":"width",gt=pt+w[ut],bt=pt-w[ft],vt=-1!==[n,r].indexOf(E),yt=null!=(dt=null==$?void 0:$[O])?dt:0,wt=vt?gt:pt-k[mt]-L[mt]-yt+D.altAxis,Et=vt?pt+k[mt]+L[mt]-yt-D.altAxis:bt,At=b&&vt?function(t,e,i){var n=X(t,e,i);return n>i?i:n}(wt,pt,Et):X(b?wt:gt,pt,b?Et:bt);x[O]=At,M[O]=At-pt}e.modifiersData[a]=M}},requiresIfExists:["offset"]};function Ct(t,e,i){void 0===i&&(i=!1);var n,s,o=S(e),r=S(e)&&function(t){var e=t.getBoundingClientRect(),i=M(e.width)/t.offsetWidth||1,n=M(e.height)/t.offsetHeight||1;return 1!==i||1!==n}(e),a=q(e),l=H(t,r,i),c={scrollLeft:0,scrollTop:0},h={x:0,y:0};return(o||!o&&!i)&&(("body"!==x(e)||dt(a))&&(c=(n=e)!==k(n)&&S(n)?{scrollLeft:(s=n).scrollLeft,scrollTop:s.scrollTop}:ct(n)),S(e)?((h=H(e,!0)).x+=e.clientLeft,h.y+=e.clientTop):a&&(h.x=ht(a))),{x:l.left+c.scrollLeft-h.x,y:l.top+c.scrollTop-h.y,width:l.width,height:l.height}}function Ot(t){var e=new Map,i=new Set,n=[];function s(t){i.add(t.name),[].concat(t.requires||[],t.requiresIfExists||[]).forEach((function(t){if(!i.has(t)){var n=e.get(t);n&&s(n)}})),n.push(t)}return t.forEach((function(t){e.set(t.name,t)})),t.forEach((function(t){i.has(t.name)||s(t)})),n}var xt={placement:"bottom",modifiers:[],strategy:"absolute"};function kt(){for(var t=arguments.length,e=new Array(t),i=0;iIt.has(t)&&It.get(t).get(e)||null,remove(t,e){if(!It.has(t))return;const i=It.get(t);i.delete(e),0===i.size&&It.delete(t)}},Pt="transitionend",Mt=t=>(t&&window.CSS&&window.CSS.escape&&(t=t.replace(/#([^\s"#']+)/g,((t,e)=>`#${CSS.escape(e)}`))),t),jt=t=>{t.dispatchEvent(new Event(Pt))},Ft=t=>!(!t||"object"!=typeof t)&&(void 0!==t.jquery&&(t=t[0]),void 0!==t.nodeType),Ht=t=>Ft(t)?t.jquery?t[0]:t:"string"==typeof t&&t.length>0?document.querySelector(Mt(t)):null,Bt=t=>{if(!Ft(t)||0===t.getClientRects().length)return!1;const e="visible"===getComputedStyle(t).getPropertyValue("visibility"),i=t.closest("details:not([open])");if(!i)return e;if(i!==t){const e=t.closest("summary");if(e&&e.parentNode!==i)return!1;if(null===e)return!1}return e},Wt=t=>!t||t.nodeType!==Node.ELEMENT_NODE||!!t.classList.contains("disabled")||(void 0!==t.disabled?t.disabled:t.hasAttribute("disabled")&&"false"!==t.getAttribute("disabled")),zt=t=>{if(!document.documentElement.attachShadow)return null;if("function"==typeof t.getRootNode){const e=t.getRootNode();return e instanceof ShadowRoot?e:null}return t instanceof ShadowRoot?t:t.parentNode?zt(t.parentNode):null},Rt=()=>{},qt=t=>{t.offsetHeight},Vt=()=>window.jQuery&&!document.body.hasAttribute("data-bs-no-jquery")?window.jQuery:null,Yt=[],Kt=()=>"rtl"===document.documentElement.dir,Qt=t=>{var e;e=()=>{const e=Vt();if(e){const i=t.NAME,n=e.fn[i];e.fn[i]=t.jQueryInterface,e.fn[i].Constructor=t,e.fn[i].noConflict=()=>(e.fn[i]=n,t.jQueryInterface)}},"loading"===document.readyState?(Yt.length||document.addEventListener("DOMContentLoaded",(()=>{for(const t of Yt)t()})),Yt.push(e)):e()},Xt=(t,e=[],i=t)=>"function"==typeof t?t(...e):i,Ut=(t,e,i=!0)=>{if(!i)return void Xt(t);const n=(t=>{if(!t)return 0;let{transitionDuration:e,transitionDelay:i}=window.getComputedStyle(t);const n=Number.parseFloat(e),s=Number.parseFloat(i);return n||s?(e=e.split(",")[0],i=i.split(",")[0],1e3*(Number.parseFloat(e)+Number.parseFloat(i))):0})(e)+5;let s=!1;const o=({target:i})=>{i===e&&(s=!0,e.removeEventListener(Pt,o),Xt(t))};e.addEventListener(Pt,o),setTimeout((()=>{s||jt(e)}),n)},Gt=(t,e,i,n)=>{const s=t.length;let o=t.indexOf(e);return-1===o?!i&&n?t[s-1]:t[0]:(o+=i?1:-1,n&&(o=(o+s)%s),t[Math.max(0,Math.min(o,s-1))])},Jt=/[^.]*(?=\..*)\.|.*/,Zt=/\..*/,te=/::\d+$/,ee={};let ie=1;const ne={mouseenter:"mouseover",mouseleave:"mouseout"},se=new Set(["click","dblclick","mouseup","mousedown","contextmenu","mousewheel","DOMMouseScroll","mouseover","mouseout","mousemove","selectstart","selectend","keydown","keypress","keyup","orientationchange","touchstart","touchmove","touchend","touchcancel","pointerdown","pointermove","pointerup","pointerleave","pointercancel","gesturestart","gesturechange","gestureend","focus","blur","change","reset","select","submit","focusin","focusout","load","unload","beforeunload","resize","move","DOMContentLoaded","readystatechange","error","abort","scroll"]);function oe(t,e){return e&&`${e}::${ie++}`||t.uidEvent||ie++}function re(t){const e=oe(t);return t.uidEvent=e,ee[e]=ee[e]||{},ee[e]}function ae(t,e,i=null){return Object.values(t).find((t=>t.callable===e&&t.delegationSelector===i))}function le(t,e,i){const n="string"==typeof e,s=n?i:e||i;let o=ue(t);return se.has(o)||(o=t),[n,s,o]}function ce(t,e,i,n,s){if("string"!=typeof e||!t)return;let[o,r,a]=le(e,i,n);if(e in ne){const t=t=>function(e){if(!e.relatedTarget||e.relatedTarget!==e.delegateTarget&&!e.delegateTarget.contains(e.relatedTarget))return t.call(this,e)};r=t(r)}const l=re(t),c=l[a]||(l[a]={}),h=ae(c,r,o?i:null);if(h)return void(h.oneOff=h.oneOff&&s);const d=oe(r,e.replace(Jt,"")),u=o?function(t,e,i){return function n(s){const o=t.querySelectorAll(e);for(let{target:r}=s;r&&r!==this;r=r.parentNode)for(const a of o)if(a===r)return pe(s,{delegateTarget:r}),n.oneOff&&fe.off(t,s.type,e,i),i.apply(r,[s])}}(t,i,r):function(t,e){return function i(n){return pe(n,{delegateTarget:t}),i.oneOff&&fe.off(t,n.type,e),e.apply(t,[n])}}(t,r);u.delegationSelector=o?i:null,u.callable=r,u.oneOff=s,u.uidEvent=d,c[d]=u,t.addEventListener(a,u,o)}function he(t,e,i,n,s){const o=ae(e[i],n,s);o&&(t.removeEventListener(i,o,Boolean(s)),delete e[i][o.uidEvent])}function de(t,e,i,n){const s=e[i]||{};for(const[o,r]of Object.entries(s))o.includes(n)&&he(t,e,i,r.callable,r.delegationSelector)}function ue(t){return t=t.replace(Zt,""),ne[t]||t}const fe={on(t,e,i,n){ce(t,e,i,n,!1)},one(t,e,i,n){ce(t,e,i,n,!0)},off(t,e,i,n){if("string"!=typeof e||!t)return;const[s,o,r]=le(e,i,n),a=r!==e,l=re(t),c=l[r]||{},h=e.startsWith(".");if(void 0===o){if(h)for(const i of Object.keys(l))de(t,l,i,e.slice(1));for(const[i,n]of Object.entries(c)){const s=i.replace(te,"");a&&!e.includes(s)||he(t,l,r,n.callable,n.delegationSelector)}}else{if(!Object.keys(c).length)return;he(t,l,r,o,s?i:null)}},trigger(t,e,i){if("string"!=typeof e||!t)return null;const n=Vt();let s=null,o=!0,r=!0,a=!1;e!==ue(e)&&n&&(s=n.Event(e,i),n(t).trigger(s),o=!s.isPropagationStopped(),r=!s.isImmediatePropagationStopped(),a=s.isDefaultPrevented());const l=pe(new Event(e,{bubbles:o,cancelable:!0}),i);return a&&l.preventDefault(),r&&t.dispatchEvent(l),l.defaultPrevented&&s&&s.preventDefault(),l}};function pe(t,e={}){for(const[i,n]of Object.entries(e))try{t[i]=n}catch(e){Object.defineProperty(t,i,{configurable:!0,get:()=>n})}return t}function me(t){if("true"===t)return!0;if("false"===t)return!1;if(t===Number(t).toString())return Number(t);if(""===t||"null"===t)return null;if("string"!=typeof t)return t;try{return JSON.parse(decodeURIComponent(t))}catch(e){return t}}function ge(t){return t.replace(/[A-Z]/g,(t=>`-${t.toLowerCase()}`))}const _e={setDataAttribute(t,e,i){t.setAttribute(`data-bs-${ge(e)}`,i)},removeDataAttribute(t,e){t.removeAttribute(`data-bs-${ge(e)}`)},getDataAttributes(t){if(!t)return{};const e={},i=Object.keys(t.dataset).filter((t=>t.startsWith("bs")&&!t.startsWith("bsConfig")));for(const n of i){let i=n.replace(/^bs/,"");i=i.charAt(0).toLowerCase()+i.slice(1,i.length),e[i]=me(t.dataset[n])}return e},getDataAttribute:(t,e)=>me(t.getAttribute(`data-bs-${ge(e)}`))};class be{static get Default(){return{}}static get DefaultType(){return{}}static get NAME(){throw new Error('You have to implement the static method "NAME", for each component!')}_getConfig(t){return t=this._mergeConfigObj(t),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}_configAfterMerge(t){return t}_mergeConfigObj(t,e){const i=Ft(e)?_e.getDataAttribute(e,"config"):{};return{...this.constructor.Default,..."object"==typeof i?i:{},...Ft(e)?_e.getDataAttributes(e):{},..."object"==typeof t?t:{}}}_typeCheckConfig(t,e=this.constructor.DefaultType){for(const[n,s]of Object.entries(e)){const e=t[n],o=Ft(e)?"element":null==(i=e)?`${i}`:Object.prototype.toString.call(i).match(/\s([a-z]+)/i)[1].toLowerCase();if(!new RegExp(s).test(o))throw new TypeError(`${this.constructor.NAME.toUpperCase()}: Option "${n}" provided type "${o}" but expected type "${s}".`)}var i}}class ve extends be{constructor(t,e){super(),(t=Ht(t))&&(this._element=t,this._config=this._getConfig(e),Nt.set(this._element,this.constructor.DATA_KEY,this))}dispose(){Nt.remove(this._element,this.constructor.DATA_KEY),fe.off(this._element,this.constructor.EVENT_KEY);for(const t of Object.getOwnPropertyNames(this))this[t]=null}_queueCallback(t,e,i=!0){Ut(t,e,i)}_getConfig(t){return t=this._mergeConfigObj(t,this._element),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}static getInstance(t){return Nt.get(Ht(t),this.DATA_KEY)}static getOrCreateInstance(t,e={}){return this.getInstance(t)||new this(t,"object"==typeof e?e:null)}static get VERSION(){return"5.3.3"}static get DATA_KEY(){return`bs.${this.NAME}`}static get EVENT_KEY(){return`.${this.DATA_KEY}`}static eventName(t){return`${t}${this.EVENT_KEY}`}}const ye=t=>{let e=t.getAttribute("data-bs-target");if(!e||"#"===e){let i=t.getAttribute("href");if(!i||!i.includes("#")&&!i.startsWith("."))return null;i.includes("#")&&!i.startsWith("#")&&(i=`#${i.split("#")[1]}`),e=i&&"#"!==i?i.trim():null}return e?e.split(",").map((t=>Mt(t))).join(","):null},we={find:(t,e=document.documentElement)=>[].concat(...Element.prototype.querySelectorAll.call(e,t)),findOne:(t,e=document.documentElement)=>Element.prototype.querySelector.call(e,t),children:(t,e)=>[].concat(...t.children).filter((t=>t.matches(e))),parents(t,e){const i=[];let n=t.parentNode.closest(e);for(;n;)i.push(n),n=n.parentNode.closest(e);return i},prev(t,e){let i=t.previousElementSibling;for(;i;){if(i.matches(e))return[i];i=i.previousElementSibling}return[]},next(t,e){let i=t.nextElementSibling;for(;i;){if(i.matches(e))return[i];i=i.nextElementSibling}return[]},focusableChildren(t){const e=["a","button","input","textarea","select","details","[tabindex]",'[contenteditable="true"]'].map((t=>`${t}:not([tabindex^="-"])`)).join(",");return this.find(e,t).filter((t=>!Wt(t)&&Bt(t)))},getSelectorFromElement(t){const e=ye(t);return e&&we.findOne(e)?e:null},getElementFromSelector(t){const e=ye(t);return e?we.findOne(e):null},getMultipleElementsFromSelector(t){const e=ye(t);return e?we.find(e):[]}},Ee=(t,e="hide")=>{const i=`click.dismiss${t.EVENT_KEY}`,n=t.NAME;fe.on(document,i,`[data-bs-dismiss="${n}"]`,(function(i){if(["A","AREA"].includes(this.tagName)&&i.preventDefault(),Wt(this))return;const s=we.getElementFromSelector(this)||this.closest(`.${n}`);t.getOrCreateInstance(s)[e]()}))},Ae=".bs.alert",Te=`close${Ae}`,Ce=`closed${Ae}`;class Oe extends ve{static get NAME(){return"alert"}close(){if(fe.trigger(this._element,Te).defaultPrevented)return;this._element.classList.remove("show");const t=this._element.classList.contains("fade");this._queueCallback((()=>this._destroyElement()),this._element,t)}_destroyElement(){this._element.remove(),fe.trigger(this._element,Ce),this.dispose()}static jQueryInterface(t){return this.each((function(){const e=Oe.getOrCreateInstance(this);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}Ee(Oe,"close"),Qt(Oe);const xe='[data-bs-toggle="button"]';class ke extends ve{static get NAME(){return"button"}toggle(){this._element.setAttribute("aria-pressed",this._element.classList.toggle("active"))}static jQueryInterface(t){return this.each((function(){const e=ke.getOrCreateInstance(this);"toggle"===t&&e[t]()}))}}fe.on(document,"click.bs.button.data-api",xe,(t=>{t.preventDefault();const e=t.target.closest(xe);ke.getOrCreateInstance(e).toggle()})),Qt(ke);const Le=".bs.swipe",Se=`touchstart${Le}`,De=`touchmove${Le}`,$e=`touchend${Le}`,Ie=`pointerdown${Le}`,Ne=`pointerup${Le}`,Pe={endCallback:null,leftCallback:null,rightCallback:null},Me={endCallback:"(function|null)",leftCallback:"(function|null)",rightCallback:"(function|null)"};class je extends be{constructor(t,e){super(),this._element=t,t&&je.isSupported()&&(this._config=this._getConfig(e),this._deltaX=0,this._supportPointerEvents=Boolean(window.PointerEvent),this._initEvents())}static get Default(){return Pe}static get DefaultType(){return Me}static get NAME(){return"swipe"}dispose(){fe.off(this._element,Le)}_start(t){this._supportPointerEvents?this._eventIsPointerPenTouch(t)&&(this._deltaX=t.clientX):this._deltaX=t.touches[0].clientX}_end(t){this._eventIsPointerPenTouch(t)&&(this._deltaX=t.clientX-this._deltaX),this._handleSwipe(),Xt(this._config.endCallback)}_move(t){this._deltaX=t.touches&&t.touches.length>1?0:t.touches[0].clientX-this._deltaX}_handleSwipe(){const t=Math.abs(this._deltaX);if(t<=40)return;const e=t/this._deltaX;this._deltaX=0,e&&Xt(e>0?this._config.rightCallback:this._config.leftCallback)}_initEvents(){this._supportPointerEvents?(fe.on(this._element,Ie,(t=>this._start(t))),fe.on(this._element,Ne,(t=>this._end(t))),this._element.classList.add("pointer-event")):(fe.on(this._element,Se,(t=>this._start(t))),fe.on(this._element,De,(t=>this._move(t))),fe.on(this._element,$e,(t=>this._end(t))))}_eventIsPointerPenTouch(t){return this._supportPointerEvents&&("pen"===t.pointerType||"touch"===t.pointerType)}static isSupported(){return"ontouchstart"in document.documentElement||navigator.maxTouchPoints>0}}const Fe=".bs.carousel",He=".data-api",Be="ArrowLeft",We="ArrowRight",ze="next",Re="prev",qe="left",Ve="right",Ye=`slide${Fe}`,Ke=`slid${Fe}`,Qe=`keydown${Fe}`,Xe=`mouseenter${Fe}`,Ue=`mouseleave${Fe}`,Ge=`dragstart${Fe}`,Je=`load${Fe}${He}`,Ze=`click${Fe}${He}`,ti="carousel",ei="active",ii=".active",ni=".carousel-item",si=ii+ni,oi={[Be]:Ve,[We]:qe},ri={interval:5e3,keyboard:!0,pause:"hover",ride:!1,touch:!0,wrap:!0},ai={interval:"(number|boolean)",keyboard:"boolean",pause:"(string|boolean)",ride:"(boolean|string)",touch:"boolean",wrap:"boolean"};class li extends ve{constructor(t,e){super(t,e),this._interval=null,this._activeElement=null,this._isSliding=!1,this.touchTimeout=null,this._swipeHelper=null,this._indicatorsElement=we.findOne(".carousel-indicators",this._element),this._addEventListeners(),this._config.ride===ti&&this.cycle()}static get Default(){return ri}static get DefaultType(){return ai}static get NAME(){return"carousel"}next(){this._slide(ze)}nextWhenVisible(){!document.hidden&&Bt(this._element)&&this.next()}prev(){this._slide(Re)}pause(){this._isSliding&&jt(this._element),this._clearInterval()}cycle(){this._clearInterval(),this._updateInterval(),this._interval=setInterval((()=>this.nextWhenVisible()),this._config.interval)}_maybeEnableCycle(){this._config.ride&&(this._isSliding?fe.one(this._element,Ke,(()=>this.cycle())):this.cycle())}to(t){const e=this._getItems();if(t>e.length-1||t<0)return;if(this._isSliding)return void fe.one(this._element,Ke,(()=>this.to(t)));const i=this._getItemIndex(this._getActive());if(i===t)return;const n=t>i?ze:Re;this._slide(n,e[t])}dispose(){this._swipeHelper&&this._swipeHelper.dispose(),super.dispose()}_configAfterMerge(t){return t.defaultInterval=t.interval,t}_addEventListeners(){this._config.keyboard&&fe.on(this._element,Qe,(t=>this._keydown(t))),"hover"===this._config.pause&&(fe.on(this._element,Xe,(()=>this.pause())),fe.on(this._element,Ue,(()=>this._maybeEnableCycle()))),this._config.touch&&je.isSupported()&&this._addTouchEventListeners()}_addTouchEventListeners(){for(const t of we.find(".carousel-item img",this._element))fe.on(t,Ge,(t=>t.preventDefault()));const t={leftCallback:()=>this._slide(this._directionToOrder(qe)),rightCallback:()=>this._slide(this._directionToOrder(Ve)),endCallback:()=>{"hover"===this._config.pause&&(this.pause(),this.touchTimeout&&clearTimeout(this.touchTimeout),this.touchTimeout=setTimeout((()=>this._maybeEnableCycle()),500+this._config.interval))}};this._swipeHelper=new je(this._element,t)}_keydown(t){if(/input|textarea/i.test(t.target.tagName))return;const e=oi[t.key];e&&(t.preventDefault(),this._slide(this._directionToOrder(e)))}_getItemIndex(t){return this._getItems().indexOf(t)}_setActiveIndicatorElement(t){if(!this._indicatorsElement)return;const e=we.findOne(ii,this._indicatorsElement);e.classList.remove(ei),e.removeAttribute("aria-current");const i=we.findOne(`[data-bs-slide-to="${t}"]`,this._indicatorsElement);i&&(i.classList.add(ei),i.setAttribute("aria-current","true"))}_updateInterval(){const t=this._activeElement||this._getActive();if(!t)return;const e=Number.parseInt(t.getAttribute("data-bs-interval"),10);this._config.interval=e||this._config.defaultInterval}_slide(t,e=null){if(this._isSliding)return;const i=this._getActive(),n=t===ze,s=e||Gt(this._getItems(),i,n,this._config.wrap);if(s===i)return;const o=this._getItemIndex(s),r=e=>fe.trigger(this._element,e,{relatedTarget:s,direction:this._orderToDirection(t),from:this._getItemIndex(i),to:o});if(r(Ye).defaultPrevented)return;if(!i||!s)return;const a=Boolean(this._interval);this.pause(),this._isSliding=!0,this._setActiveIndicatorElement(o),this._activeElement=s;const l=n?"carousel-item-start":"carousel-item-end",c=n?"carousel-item-next":"carousel-item-prev";s.classList.add(c),qt(s),i.classList.add(l),s.classList.add(l),this._queueCallback((()=>{s.classList.remove(l,c),s.classList.add(ei),i.classList.remove(ei,c,l),this._isSliding=!1,r(Ke)}),i,this._isAnimated()),a&&this.cycle()}_isAnimated(){return this._element.classList.contains("slide")}_getActive(){return we.findOne(si,this._element)}_getItems(){return we.find(ni,this._element)}_clearInterval(){this._interval&&(clearInterval(this._interval),this._interval=null)}_directionToOrder(t){return Kt()?t===qe?Re:ze:t===qe?ze:Re}_orderToDirection(t){return Kt()?t===Re?qe:Ve:t===Re?Ve:qe}static jQueryInterface(t){return this.each((function(){const e=li.getOrCreateInstance(this,t);if("number"!=typeof t){if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t]()}}else e.to(t)}))}}fe.on(document,Ze,"[data-bs-slide], [data-bs-slide-to]",(function(t){const e=we.getElementFromSelector(this);if(!e||!e.classList.contains(ti))return;t.preventDefault();const i=li.getOrCreateInstance(e),n=this.getAttribute("data-bs-slide-to");return n?(i.to(n),void i._maybeEnableCycle()):"next"===_e.getDataAttribute(this,"slide")?(i.next(),void i._maybeEnableCycle()):(i.prev(),void i._maybeEnableCycle())})),fe.on(window,Je,(()=>{const t=we.find('[data-bs-ride="carousel"]');for(const e of t)li.getOrCreateInstance(e)})),Qt(li);const ci=".bs.collapse",hi=`show${ci}`,di=`shown${ci}`,ui=`hide${ci}`,fi=`hidden${ci}`,pi=`click${ci}.data-api`,mi="show",gi="collapse",_i="collapsing",bi=`:scope .${gi} .${gi}`,vi='[data-bs-toggle="collapse"]',yi={parent:null,toggle:!0},wi={parent:"(null|element)",toggle:"boolean"};class Ei extends ve{constructor(t,e){super(t,e),this._isTransitioning=!1,this._triggerArray=[];const i=we.find(vi);for(const t of i){const e=we.getSelectorFromElement(t),i=we.find(e).filter((t=>t===this._element));null!==e&&i.length&&this._triggerArray.push(t)}this._initializeChildren(),this._config.parent||this._addAriaAndCollapsedClass(this._triggerArray,this._isShown()),this._config.toggle&&this.toggle()}static get Default(){return yi}static get DefaultType(){return wi}static get NAME(){return"collapse"}toggle(){this._isShown()?this.hide():this.show()}show(){if(this._isTransitioning||this._isShown())return;let t=[];if(this._config.parent&&(t=this._getFirstLevelChildren(".collapse.show, .collapse.collapsing").filter((t=>t!==this._element)).map((t=>Ei.getOrCreateInstance(t,{toggle:!1})))),t.length&&t[0]._isTransitioning)return;if(fe.trigger(this._element,hi).defaultPrevented)return;for(const e of t)e.hide();const e=this._getDimension();this._element.classList.remove(gi),this._element.classList.add(_i),this._element.style[e]=0,this._addAriaAndCollapsedClass(this._triggerArray,!0),this._isTransitioning=!0;const i=`scroll${e[0].toUpperCase()+e.slice(1)}`;this._queueCallback((()=>{this._isTransitioning=!1,this._element.classList.remove(_i),this._element.classList.add(gi,mi),this._element.style[e]="",fe.trigger(this._element,di)}),this._element,!0),this._element.style[e]=`${this._element[i]}px`}hide(){if(this._isTransitioning||!this._isShown())return;if(fe.trigger(this._element,ui).defaultPrevented)return;const t=this._getDimension();this._element.style[t]=`${this._element.getBoundingClientRect()[t]}px`,qt(this._element),this._element.classList.add(_i),this._element.classList.remove(gi,mi);for(const t of this._triggerArray){const e=we.getElementFromSelector(t);e&&!this._isShown(e)&&this._addAriaAndCollapsedClass([t],!1)}this._isTransitioning=!0,this._element.style[t]="",this._queueCallback((()=>{this._isTransitioning=!1,this._element.classList.remove(_i),this._element.classList.add(gi),fe.trigger(this._element,fi)}),this._element,!0)}_isShown(t=this._element){return t.classList.contains(mi)}_configAfterMerge(t){return t.toggle=Boolean(t.toggle),t.parent=Ht(t.parent),t}_getDimension(){return this._element.classList.contains("collapse-horizontal")?"width":"height"}_initializeChildren(){if(!this._config.parent)return;const t=this._getFirstLevelChildren(vi);for(const e of t){const t=we.getElementFromSelector(e);t&&this._addAriaAndCollapsedClass([e],this._isShown(t))}}_getFirstLevelChildren(t){const e=we.find(bi,this._config.parent);return we.find(t,this._config.parent).filter((t=>!e.includes(t)))}_addAriaAndCollapsedClass(t,e){if(t.length)for(const i of t)i.classList.toggle("collapsed",!e),i.setAttribute("aria-expanded",e)}static jQueryInterface(t){const e={};return"string"==typeof t&&/show|hide/.test(t)&&(e.toggle=!1),this.each((function(){const i=Ei.getOrCreateInstance(this,e);if("string"==typeof t){if(void 0===i[t])throw new TypeError(`No method named "${t}"`);i[t]()}}))}}fe.on(document,pi,vi,(function(t){("A"===t.target.tagName||t.delegateTarget&&"A"===t.delegateTarget.tagName)&&t.preventDefault();for(const t of we.getMultipleElementsFromSelector(this))Ei.getOrCreateInstance(t,{toggle:!1}).toggle()})),Qt(Ei);const Ai="dropdown",Ti=".bs.dropdown",Ci=".data-api",Oi="ArrowUp",xi="ArrowDown",ki=`hide${Ti}`,Li=`hidden${Ti}`,Si=`show${Ti}`,Di=`shown${Ti}`,$i=`click${Ti}${Ci}`,Ii=`keydown${Ti}${Ci}`,Ni=`keyup${Ti}${Ci}`,Pi="show",Mi='[data-bs-toggle="dropdown"]:not(.disabled):not(:disabled)',ji=`${Mi}.${Pi}`,Fi=".dropdown-menu",Hi=Kt()?"top-end":"top-start",Bi=Kt()?"top-start":"top-end",Wi=Kt()?"bottom-end":"bottom-start",zi=Kt()?"bottom-start":"bottom-end",Ri=Kt()?"left-start":"right-start",qi=Kt()?"right-start":"left-start",Vi={autoClose:!0,boundary:"clippingParents",display:"dynamic",offset:[0,2],popperConfig:null,reference:"toggle"},Yi={autoClose:"(boolean|string)",boundary:"(string|element)",display:"string",offset:"(array|string|function)",popperConfig:"(null|object|function)",reference:"(string|element|object)"};class Ki extends ve{constructor(t,e){super(t,e),this._popper=null,this._parent=this._element.parentNode,this._menu=we.next(this._element,Fi)[0]||we.prev(this._element,Fi)[0]||we.findOne(Fi,this._parent),this._inNavbar=this._detectNavbar()}static get Default(){return Vi}static get DefaultType(){return Yi}static get NAME(){return Ai}toggle(){return this._isShown()?this.hide():this.show()}show(){if(Wt(this._element)||this._isShown())return;const t={relatedTarget:this._element};if(!fe.trigger(this._element,Si,t).defaultPrevented){if(this._createPopper(),"ontouchstart"in document.documentElement&&!this._parent.closest(".navbar-nav"))for(const t of[].concat(...document.body.children))fe.on(t,"mouseover",Rt);this._element.focus(),this._element.setAttribute("aria-expanded",!0),this._menu.classList.add(Pi),this._element.classList.add(Pi),fe.trigger(this._element,Di,t)}}hide(){if(Wt(this._element)||!this._isShown())return;const t={relatedTarget:this._element};this._completeHide(t)}dispose(){this._popper&&this._popper.destroy(),super.dispose()}update(){this._inNavbar=this._detectNavbar(),this._popper&&this._popper.update()}_completeHide(t){if(!fe.trigger(this._element,ki,t).defaultPrevented){if("ontouchstart"in document.documentElement)for(const t of[].concat(...document.body.children))fe.off(t,"mouseover",Rt);this._popper&&this._popper.destroy(),this._menu.classList.remove(Pi),this._element.classList.remove(Pi),this._element.setAttribute("aria-expanded","false"),_e.removeDataAttribute(this._menu,"popper"),fe.trigger(this._element,Li,t)}}_getConfig(t){if("object"==typeof(t=super._getConfig(t)).reference&&!Ft(t.reference)&&"function"!=typeof t.reference.getBoundingClientRect)throw new TypeError(`${Ai.toUpperCase()}: Option "reference" provided type "object" without a required "getBoundingClientRect" method.`);return t}_createPopper(){if(void 0===e)throw new TypeError("Bootstrap's dropdowns require Popper (https://popper.js.org)");let t=this._element;"parent"===this._config.reference?t=this._parent:Ft(this._config.reference)?t=Ht(this._config.reference):"object"==typeof this._config.reference&&(t=this._config.reference);const i=this._getPopperConfig();this._popper=Dt(t,this._menu,i)}_isShown(){return this._menu.classList.contains(Pi)}_getPlacement(){const t=this._parent;if(t.classList.contains("dropend"))return Ri;if(t.classList.contains("dropstart"))return qi;if(t.classList.contains("dropup-center"))return"top";if(t.classList.contains("dropdown-center"))return"bottom";const e="end"===getComputedStyle(this._menu).getPropertyValue("--bs-position").trim();return t.classList.contains("dropup")?e?Bi:Hi:e?zi:Wi}_detectNavbar(){return null!==this._element.closest(".navbar")}_getOffset(){const{offset:t}=this._config;return"string"==typeof t?t.split(",").map((t=>Number.parseInt(t,10))):"function"==typeof t?e=>t(e,this._element):t}_getPopperConfig(){const t={placement:this._getPlacement(),modifiers:[{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"offset",options:{offset:this._getOffset()}}]};return(this._inNavbar||"static"===this._config.display)&&(_e.setDataAttribute(this._menu,"popper","static"),t.modifiers=[{name:"applyStyles",enabled:!1}]),{...t,...Xt(this._config.popperConfig,[t])}}_selectMenuItem({key:t,target:e}){const i=we.find(".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",this._menu).filter((t=>Bt(t)));i.length&&Gt(i,e,t===xi,!i.includes(e)).focus()}static jQueryInterface(t){return this.each((function(){const e=Ki.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}static clearMenus(t){if(2===t.button||"keyup"===t.type&&"Tab"!==t.key)return;const e=we.find(ji);for(const i of e){const e=Ki.getInstance(i);if(!e||!1===e._config.autoClose)continue;const n=t.composedPath(),s=n.includes(e._menu);if(n.includes(e._element)||"inside"===e._config.autoClose&&!s||"outside"===e._config.autoClose&&s)continue;if(e._menu.contains(t.target)&&("keyup"===t.type&&"Tab"===t.key||/input|select|option|textarea|form/i.test(t.target.tagName)))continue;const o={relatedTarget:e._element};"click"===t.type&&(o.clickEvent=t),e._completeHide(o)}}static dataApiKeydownHandler(t){const e=/input|textarea/i.test(t.target.tagName),i="Escape"===t.key,n=[Oi,xi].includes(t.key);if(!n&&!i)return;if(e&&!i)return;t.preventDefault();const s=this.matches(Mi)?this:we.prev(this,Mi)[0]||we.next(this,Mi)[0]||we.findOne(Mi,t.delegateTarget.parentNode),o=Ki.getOrCreateInstance(s);if(n)return t.stopPropagation(),o.show(),void o._selectMenuItem(t);o._isShown()&&(t.stopPropagation(),o.hide(),s.focus())}}fe.on(document,Ii,Mi,Ki.dataApiKeydownHandler),fe.on(document,Ii,Fi,Ki.dataApiKeydownHandler),fe.on(document,$i,Ki.clearMenus),fe.on(document,Ni,Ki.clearMenus),fe.on(document,$i,Mi,(function(t){t.preventDefault(),Ki.getOrCreateInstance(this).toggle()})),Qt(Ki);const Qi="backdrop",Xi="show",Ui=`mousedown.bs.${Qi}`,Gi={className:"modal-backdrop",clickCallback:null,isAnimated:!1,isVisible:!0,rootElement:"body"},Ji={className:"string",clickCallback:"(function|null)",isAnimated:"boolean",isVisible:"boolean",rootElement:"(element|string)"};class Zi extends be{constructor(t){super(),this._config=this._getConfig(t),this._isAppended=!1,this._element=null}static get Default(){return Gi}static get DefaultType(){return Ji}static get NAME(){return Qi}show(t){if(!this._config.isVisible)return void Xt(t);this._append();const e=this._getElement();this._config.isAnimated&&qt(e),e.classList.add(Xi),this._emulateAnimation((()=>{Xt(t)}))}hide(t){this._config.isVisible?(this._getElement().classList.remove(Xi),this._emulateAnimation((()=>{this.dispose(),Xt(t)}))):Xt(t)}dispose(){this._isAppended&&(fe.off(this._element,Ui),this._element.remove(),this._isAppended=!1)}_getElement(){if(!this._element){const t=document.createElement("div");t.className=this._config.className,this._config.isAnimated&&t.classList.add("fade"),this._element=t}return this._element}_configAfterMerge(t){return t.rootElement=Ht(t.rootElement),t}_append(){if(this._isAppended)return;const t=this._getElement();this._config.rootElement.append(t),fe.on(t,Ui,(()=>{Xt(this._config.clickCallback)})),this._isAppended=!0}_emulateAnimation(t){Ut(t,this._getElement(),this._config.isAnimated)}}const tn=".bs.focustrap",en=`focusin${tn}`,nn=`keydown.tab${tn}`,sn="backward",on={autofocus:!0,trapElement:null},rn={autofocus:"boolean",trapElement:"element"};class an extends be{constructor(t){super(),this._config=this._getConfig(t),this._isActive=!1,this._lastTabNavDirection=null}static get Default(){return on}static get DefaultType(){return rn}static get NAME(){return"focustrap"}activate(){this._isActive||(this._config.autofocus&&this._config.trapElement.focus(),fe.off(document,tn),fe.on(document,en,(t=>this._handleFocusin(t))),fe.on(document,nn,(t=>this._handleKeydown(t))),this._isActive=!0)}deactivate(){this._isActive&&(this._isActive=!1,fe.off(document,tn))}_handleFocusin(t){const{trapElement:e}=this._config;if(t.target===document||t.target===e||e.contains(t.target))return;const i=we.focusableChildren(e);0===i.length?e.focus():this._lastTabNavDirection===sn?i[i.length-1].focus():i[0].focus()}_handleKeydown(t){"Tab"===t.key&&(this._lastTabNavDirection=t.shiftKey?sn:"forward")}}const ln=".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",cn=".sticky-top",hn="padding-right",dn="margin-right";class un{constructor(){this._element=document.body}getWidth(){const t=document.documentElement.clientWidth;return Math.abs(window.innerWidth-t)}hide(){const t=this.getWidth();this._disableOverFlow(),this._setElementAttributes(this._element,hn,(e=>e+t)),this._setElementAttributes(ln,hn,(e=>e+t)),this._setElementAttributes(cn,dn,(e=>e-t))}reset(){this._resetElementAttributes(this._element,"overflow"),this._resetElementAttributes(this._element,hn),this._resetElementAttributes(ln,hn),this._resetElementAttributes(cn,dn)}isOverflowing(){return this.getWidth()>0}_disableOverFlow(){this._saveInitialAttribute(this._element,"overflow"),this._element.style.overflow="hidden"}_setElementAttributes(t,e,i){const n=this.getWidth();this._applyManipulationCallback(t,(t=>{if(t!==this._element&&window.innerWidth>t.clientWidth+n)return;this._saveInitialAttribute(t,e);const s=window.getComputedStyle(t).getPropertyValue(e);t.style.setProperty(e,`${i(Number.parseFloat(s))}px`)}))}_saveInitialAttribute(t,e){const i=t.style.getPropertyValue(e);i&&_e.setDataAttribute(t,e,i)}_resetElementAttributes(t,e){this._applyManipulationCallback(t,(t=>{const i=_e.getDataAttribute(t,e);null!==i?(_e.removeDataAttribute(t,e),t.style.setProperty(e,i)):t.style.removeProperty(e)}))}_applyManipulationCallback(t,e){if(Ft(t))e(t);else for(const i of we.find(t,this._element))e(i)}}const fn=".bs.modal",pn=`hide${fn}`,mn=`hidePrevented${fn}`,gn=`hidden${fn}`,_n=`show${fn}`,bn=`shown${fn}`,vn=`resize${fn}`,yn=`click.dismiss${fn}`,wn=`mousedown.dismiss${fn}`,En=`keydown.dismiss${fn}`,An=`click${fn}.data-api`,Tn="modal-open",Cn="show",On="modal-static",xn={backdrop:!0,focus:!0,keyboard:!0},kn={backdrop:"(boolean|string)",focus:"boolean",keyboard:"boolean"};class Ln extends ve{constructor(t,e){super(t,e),this._dialog=we.findOne(".modal-dialog",this._element),this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._isShown=!1,this._isTransitioning=!1,this._scrollBar=new un,this._addEventListeners()}static get Default(){return xn}static get DefaultType(){return kn}static get NAME(){return"modal"}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){this._isShown||this._isTransitioning||fe.trigger(this._element,_n,{relatedTarget:t}).defaultPrevented||(this._isShown=!0,this._isTransitioning=!0,this._scrollBar.hide(),document.body.classList.add(Tn),this._adjustDialog(),this._backdrop.show((()=>this._showElement(t))))}hide(){this._isShown&&!this._isTransitioning&&(fe.trigger(this._element,pn).defaultPrevented||(this._isShown=!1,this._isTransitioning=!0,this._focustrap.deactivate(),this._element.classList.remove(Cn),this._queueCallback((()=>this._hideModal()),this._element,this._isAnimated())))}dispose(){fe.off(window,fn),fe.off(this._dialog,fn),this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}handleUpdate(){this._adjustDialog()}_initializeBackDrop(){return new Zi({isVisible:Boolean(this._config.backdrop),isAnimated:this._isAnimated()})}_initializeFocusTrap(){return new an({trapElement:this._element})}_showElement(t){document.body.contains(this._element)||document.body.append(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.scrollTop=0;const e=we.findOne(".modal-body",this._dialog);e&&(e.scrollTop=0),qt(this._element),this._element.classList.add(Cn),this._queueCallback((()=>{this._config.focus&&this._focustrap.activate(),this._isTransitioning=!1,fe.trigger(this._element,bn,{relatedTarget:t})}),this._dialog,this._isAnimated())}_addEventListeners(){fe.on(this._element,En,(t=>{"Escape"===t.key&&(this._config.keyboard?this.hide():this._triggerBackdropTransition())})),fe.on(window,vn,(()=>{this._isShown&&!this._isTransitioning&&this._adjustDialog()})),fe.on(this._element,wn,(t=>{fe.one(this._element,yn,(e=>{this._element===t.target&&this._element===e.target&&("static"!==this._config.backdrop?this._config.backdrop&&this.hide():this._triggerBackdropTransition())}))}))}_hideModal(){this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._isTransitioning=!1,this._backdrop.hide((()=>{document.body.classList.remove(Tn),this._resetAdjustments(),this._scrollBar.reset(),fe.trigger(this._element,gn)}))}_isAnimated(){return this._element.classList.contains("fade")}_triggerBackdropTransition(){if(fe.trigger(this._element,mn).defaultPrevented)return;const t=this._element.scrollHeight>document.documentElement.clientHeight,e=this._element.style.overflowY;"hidden"===e||this._element.classList.contains(On)||(t||(this._element.style.overflowY="hidden"),this._element.classList.add(On),this._queueCallback((()=>{this._element.classList.remove(On),this._queueCallback((()=>{this._element.style.overflowY=e}),this._dialog)}),this._dialog),this._element.focus())}_adjustDialog(){const t=this._element.scrollHeight>document.documentElement.clientHeight,e=this._scrollBar.getWidth(),i=e>0;if(i&&!t){const t=Kt()?"paddingLeft":"paddingRight";this._element.style[t]=`${e}px`}if(!i&&t){const t=Kt()?"paddingRight":"paddingLeft";this._element.style[t]=`${e}px`}}_resetAdjustments(){this._element.style.paddingLeft="",this._element.style.paddingRight=""}static jQueryInterface(t,e){return this.each((function(){const i=Ln.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===i[t])throw new TypeError(`No method named "${t}"`);i[t](e)}}))}}fe.on(document,An,'[data-bs-toggle="modal"]',(function(t){const e=we.getElementFromSelector(this);["A","AREA"].includes(this.tagName)&&t.preventDefault(),fe.one(e,_n,(t=>{t.defaultPrevented||fe.one(e,gn,(()=>{Bt(this)&&this.focus()}))}));const i=we.findOne(".modal.show");i&&Ln.getInstance(i).hide(),Ln.getOrCreateInstance(e).toggle(this)})),Ee(Ln),Qt(Ln);const Sn=".bs.offcanvas",Dn=".data-api",$n=`load${Sn}${Dn}`,In="show",Nn="showing",Pn="hiding",Mn=".offcanvas.show",jn=`show${Sn}`,Fn=`shown${Sn}`,Hn=`hide${Sn}`,Bn=`hidePrevented${Sn}`,Wn=`hidden${Sn}`,zn=`resize${Sn}`,Rn=`click${Sn}${Dn}`,qn=`keydown.dismiss${Sn}`,Vn={backdrop:!0,keyboard:!0,scroll:!1},Yn={backdrop:"(boolean|string)",keyboard:"boolean",scroll:"boolean"};class Kn extends ve{constructor(t,e){super(t,e),this._isShown=!1,this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._addEventListeners()}static get Default(){return Vn}static get DefaultType(){return Yn}static get NAME(){return"offcanvas"}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){this._isShown||fe.trigger(this._element,jn,{relatedTarget:t}).defaultPrevented||(this._isShown=!0,this._backdrop.show(),this._config.scroll||(new un).hide(),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.classList.add(Nn),this._queueCallback((()=>{this._config.scroll&&!this._config.backdrop||this._focustrap.activate(),this._element.classList.add(In),this._element.classList.remove(Nn),fe.trigger(this._element,Fn,{relatedTarget:t})}),this._element,!0))}hide(){this._isShown&&(fe.trigger(this._element,Hn).defaultPrevented||(this._focustrap.deactivate(),this._element.blur(),this._isShown=!1,this._element.classList.add(Pn),this._backdrop.hide(),this._queueCallback((()=>{this._element.classList.remove(In,Pn),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._config.scroll||(new un).reset(),fe.trigger(this._element,Wn)}),this._element,!0)))}dispose(){this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}_initializeBackDrop(){const t=Boolean(this._config.backdrop);return new Zi({className:"offcanvas-backdrop",isVisible:t,isAnimated:!0,rootElement:this._element.parentNode,clickCallback:t?()=>{"static"!==this._config.backdrop?this.hide():fe.trigger(this._element,Bn)}:null})}_initializeFocusTrap(){return new an({trapElement:this._element})}_addEventListeners(){fe.on(this._element,qn,(t=>{"Escape"===t.key&&(this._config.keyboard?this.hide():fe.trigger(this._element,Bn))}))}static jQueryInterface(t){return this.each((function(){const e=Kn.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}fe.on(document,Rn,'[data-bs-toggle="offcanvas"]',(function(t){const e=we.getElementFromSelector(this);if(["A","AREA"].includes(this.tagName)&&t.preventDefault(),Wt(this))return;fe.one(e,Wn,(()=>{Bt(this)&&this.focus()}));const i=we.findOne(Mn);i&&i!==e&&Kn.getInstance(i).hide(),Kn.getOrCreateInstance(e).toggle(this)})),fe.on(window,$n,(()=>{for(const t of we.find(Mn))Kn.getOrCreateInstance(t).show()})),fe.on(window,zn,(()=>{for(const t of we.find("[aria-modal][class*=show][class*=offcanvas-]"))"fixed"!==getComputedStyle(t).position&&Kn.getOrCreateInstance(t).hide()})),Ee(Kn),Qt(Kn);const Qn={"*":["class","dir","id","lang","role",/^aria-[\w-]*$/i],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],dd:[],div:[],dl:[],dt:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:["src","srcset","alt","title","width","height"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]},Xn=new Set(["background","cite","href","itemtype","longdesc","poster","src","xlink:href"]),Un=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:/?#]*(?:[/?#]|$))/i,Gn=(t,e)=>{const i=t.nodeName.toLowerCase();return e.includes(i)?!Xn.has(i)||Boolean(Un.test(t.nodeValue)):e.filter((t=>t instanceof RegExp)).some((t=>t.test(i)))},Jn={allowList:Qn,content:{},extraClass:"",html:!1,sanitize:!0,sanitizeFn:null,template:"
"},Zn={allowList:"object",content:"object",extraClass:"(string|function)",html:"boolean",sanitize:"boolean",sanitizeFn:"(null|function)",template:"string"},ts={entry:"(string|element|function|null)",selector:"(string|element)"};class es extends be{constructor(t){super(),this._config=this._getConfig(t)}static get Default(){return Jn}static get DefaultType(){return Zn}static get NAME(){return"TemplateFactory"}getContent(){return Object.values(this._config.content).map((t=>this._resolvePossibleFunction(t))).filter(Boolean)}hasContent(){return this.getContent().length>0}changeContent(t){return this._checkContent(t),this._config.content={...this._config.content,...t},this}toHtml(){const t=document.createElement("div");t.innerHTML=this._maybeSanitize(this._config.template);for(const[e,i]of Object.entries(this._config.content))this._setContent(t,i,e);const e=t.children[0],i=this._resolvePossibleFunction(this._config.extraClass);return i&&e.classList.add(...i.split(" ")),e}_typeCheckConfig(t){super._typeCheckConfig(t),this._checkContent(t.content)}_checkContent(t){for(const[e,i]of Object.entries(t))super._typeCheckConfig({selector:e,entry:i},ts)}_setContent(t,e,i){const n=we.findOne(i,t);n&&((e=this._resolvePossibleFunction(e))?Ft(e)?this._putElementInTemplate(Ht(e),n):this._config.html?n.innerHTML=this._maybeSanitize(e):n.textContent=e:n.remove())}_maybeSanitize(t){return this._config.sanitize?function(t,e,i){if(!t.length)return t;if(i&&"function"==typeof i)return i(t);const n=(new window.DOMParser).parseFromString(t,"text/html"),s=[].concat(...n.body.querySelectorAll("*"));for(const t of s){const i=t.nodeName.toLowerCase();if(!Object.keys(e).includes(i)){t.remove();continue}const n=[].concat(...t.attributes),s=[].concat(e["*"]||[],e[i]||[]);for(const e of n)Gn(e,s)||t.removeAttribute(e.nodeName)}return n.body.innerHTML}(t,this._config.allowList,this._config.sanitizeFn):t}_resolvePossibleFunction(t){return Xt(t,[this])}_putElementInTemplate(t,e){if(this._config.html)return e.innerHTML="",void e.append(t);e.textContent=t.textContent}}const is=new Set(["sanitize","allowList","sanitizeFn"]),ns="fade",ss="show",os=".tooltip-inner",rs=".modal",as="hide.bs.modal",ls="hover",cs="focus",hs={AUTO:"auto",TOP:"top",RIGHT:Kt()?"left":"right",BOTTOM:"bottom",LEFT:Kt()?"right":"left"},ds={allowList:Qn,animation:!0,boundary:"clippingParents",container:!1,customClass:"",delay:0,fallbackPlacements:["top","right","bottom","left"],html:!1,offset:[0,6],placement:"top",popperConfig:null,sanitize:!0,sanitizeFn:null,selector:!1,template:'',title:"",trigger:"hover focus"},us={allowList:"object",animation:"boolean",boundary:"(string|element)",container:"(string|element|boolean)",customClass:"(string|function)",delay:"(number|object)",fallbackPlacements:"array",html:"boolean",offset:"(array|string|function)",placement:"(string|function)",popperConfig:"(null|object|function)",sanitize:"boolean",sanitizeFn:"(null|function)",selector:"(string|boolean)",template:"string",title:"(string|element|function)",trigger:"string"};class fs extends ve{constructor(t,i){if(void 0===e)throw new TypeError("Bootstrap's tooltips require Popper (https://popper.js.org)");super(t,i),this._isEnabled=!0,this._timeout=0,this._isHovered=null,this._activeTrigger={},this._popper=null,this._templateFactory=null,this._newContent=null,this.tip=null,this._setListeners(),this._config.selector||this._fixTitle()}static get Default(){return ds}static get DefaultType(){return us}static get NAME(){return"tooltip"}enable(){this._isEnabled=!0}disable(){this._isEnabled=!1}toggleEnabled(){this._isEnabled=!this._isEnabled}toggle(){this._isEnabled&&(this._activeTrigger.click=!this._activeTrigger.click,this._isShown()?this._leave():this._enter())}dispose(){clearTimeout(this._timeout),fe.off(this._element.closest(rs),as,this._hideModalHandler),this._element.getAttribute("data-bs-original-title")&&this._element.setAttribute("title",this._element.getAttribute("data-bs-original-title")),this._disposePopper(),super.dispose()}show(){if("none"===this._element.style.display)throw new Error("Please use show on visible elements");if(!this._isWithContent()||!this._isEnabled)return;const t=fe.trigger(this._element,this.constructor.eventName("show")),e=(zt(this._element)||this._element.ownerDocument.documentElement).contains(this._element);if(t.defaultPrevented||!e)return;this._disposePopper();const i=this._getTipElement();this._element.setAttribute("aria-describedby",i.getAttribute("id"));const{container:n}=this._config;if(this._element.ownerDocument.documentElement.contains(this.tip)||(n.append(i),fe.trigger(this._element,this.constructor.eventName("inserted"))),this._popper=this._createPopper(i),i.classList.add(ss),"ontouchstart"in document.documentElement)for(const t of[].concat(...document.body.children))fe.on(t,"mouseover",Rt);this._queueCallback((()=>{fe.trigger(this._element,this.constructor.eventName("shown")),!1===this._isHovered&&this._leave(),this._isHovered=!1}),this.tip,this._isAnimated())}hide(){if(this._isShown()&&!fe.trigger(this._element,this.constructor.eventName("hide")).defaultPrevented){if(this._getTipElement().classList.remove(ss),"ontouchstart"in document.documentElement)for(const t of[].concat(...document.body.children))fe.off(t,"mouseover",Rt);this._activeTrigger.click=!1,this._activeTrigger[cs]=!1,this._activeTrigger[ls]=!1,this._isHovered=null,this._queueCallback((()=>{this._isWithActiveTrigger()||(this._isHovered||this._disposePopper(),this._element.removeAttribute("aria-describedby"),fe.trigger(this._element,this.constructor.eventName("hidden")))}),this.tip,this._isAnimated())}}update(){this._popper&&this._popper.update()}_isWithContent(){return Boolean(this._getTitle())}_getTipElement(){return this.tip||(this.tip=this._createTipElement(this._newContent||this._getContentForTemplate())),this.tip}_createTipElement(t){const e=this._getTemplateFactory(t).toHtml();if(!e)return null;e.classList.remove(ns,ss),e.classList.add(`bs-${this.constructor.NAME}-auto`);const i=(t=>{do{t+=Math.floor(1e6*Math.random())}while(document.getElementById(t));return t})(this.constructor.NAME).toString();return e.setAttribute("id",i),this._isAnimated()&&e.classList.add(ns),e}setContent(t){this._newContent=t,this._isShown()&&(this._disposePopper(),this.show())}_getTemplateFactory(t){return this._templateFactory?this._templateFactory.changeContent(t):this._templateFactory=new es({...this._config,content:t,extraClass:this._resolvePossibleFunction(this._config.customClass)}),this._templateFactory}_getContentForTemplate(){return{[os]:this._getTitle()}}_getTitle(){return this._resolvePossibleFunction(this._config.title)||this._element.getAttribute("data-bs-original-title")}_initializeOnDelegatedTarget(t){return this.constructor.getOrCreateInstance(t.delegateTarget,this._getDelegateConfig())}_isAnimated(){return this._config.animation||this.tip&&this.tip.classList.contains(ns)}_isShown(){return this.tip&&this.tip.classList.contains(ss)}_createPopper(t){const e=Xt(this._config.placement,[this,t,this._element]),i=hs[e.toUpperCase()];return Dt(this._element,t,this._getPopperConfig(i))}_getOffset(){const{offset:t}=this._config;return"string"==typeof t?t.split(",").map((t=>Number.parseInt(t,10))):"function"==typeof t?e=>t(e,this._element):t}_resolvePossibleFunction(t){return Xt(t,[this._element])}_getPopperConfig(t){const e={placement:t,modifiers:[{name:"flip",options:{fallbackPlacements:this._config.fallbackPlacements}},{name:"offset",options:{offset:this._getOffset()}},{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"arrow",options:{element:`.${this.constructor.NAME}-arrow`}},{name:"preSetPlacement",enabled:!0,phase:"beforeMain",fn:t=>{this._getTipElement().setAttribute("data-popper-placement",t.state.placement)}}]};return{...e,...Xt(this._config.popperConfig,[e])}}_setListeners(){const t=this._config.trigger.split(" ");for(const e of t)if("click"===e)fe.on(this._element,this.constructor.eventName("click"),this._config.selector,(t=>{this._initializeOnDelegatedTarget(t).toggle()}));else if("manual"!==e){const t=e===ls?this.constructor.eventName("mouseenter"):this.constructor.eventName("focusin"),i=e===ls?this.constructor.eventName("mouseleave"):this.constructor.eventName("focusout");fe.on(this._element,t,this._config.selector,(t=>{const e=this._initializeOnDelegatedTarget(t);e._activeTrigger["focusin"===t.type?cs:ls]=!0,e._enter()})),fe.on(this._element,i,this._config.selector,(t=>{const e=this._initializeOnDelegatedTarget(t);e._activeTrigger["focusout"===t.type?cs:ls]=e._element.contains(t.relatedTarget),e._leave()}))}this._hideModalHandler=()=>{this._element&&this.hide()},fe.on(this._element.closest(rs),as,this._hideModalHandler)}_fixTitle(){const t=this._element.getAttribute("title");t&&(this._element.getAttribute("aria-label")||this._element.textContent.trim()||this._element.setAttribute("aria-label",t),this._element.setAttribute("data-bs-original-title",t),this._element.removeAttribute("title"))}_enter(){this._isShown()||this._isHovered?this._isHovered=!0:(this._isHovered=!0,this._setTimeout((()=>{this._isHovered&&this.show()}),this._config.delay.show))}_leave(){this._isWithActiveTrigger()||(this._isHovered=!1,this._setTimeout((()=>{this._isHovered||this.hide()}),this._config.delay.hide))}_setTimeout(t,e){clearTimeout(this._timeout),this._timeout=setTimeout(t,e)}_isWithActiveTrigger(){return Object.values(this._activeTrigger).includes(!0)}_getConfig(t){const e=_e.getDataAttributes(this._element);for(const t of Object.keys(e))is.has(t)&&delete e[t];return t={...e,..."object"==typeof t&&t?t:{}},t=this._mergeConfigObj(t),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}_configAfterMerge(t){return t.container=!1===t.container?document.body:Ht(t.container),"number"==typeof t.delay&&(t.delay={show:t.delay,hide:t.delay}),"number"==typeof t.title&&(t.title=t.title.toString()),"number"==typeof t.content&&(t.content=t.content.toString()),t}_getDelegateConfig(){const t={};for(const[e,i]of Object.entries(this._config))this.constructor.Default[e]!==i&&(t[e]=i);return t.selector=!1,t.trigger="manual",t}_disposePopper(){this._popper&&(this._popper.destroy(),this._popper=null),this.tip&&(this.tip.remove(),this.tip=null)}static jQueryInterface(t){return this.each((function(){const e=fs.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}Qt(fs);const ps=".popover-header",ms=".popover-body",gs={...fs.Default,content:"",offset:[0,8],placement:"right",template:'',trigger:"click"},_s={...fs.DefaultType,content:"(null|string|element|function)"};class bs extends fs{static get Default(){return gs}static get DefaultType(){return _s}static get NAME(){return"popover"}_isWithContent(){return this._getTitle()||this._getContent()}_getContentForTemplate(){return{[ps]:this._getTitle(),[ms]:this._getContent()}}_getContent(){return this._resolvePossibleFunction(this._config.content)}static jQueryInterface(t){return this.each((function(){const e=bs.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}Qt(bs);const vs=".bs.scrollspy",ys=`activate${vs}`,ws=`click${vs}`,Es=`load${vs}.data-api`,As="active",Ts="[href]",Cs=".nav-link",Os=`${Cs}, .nav-item > ${Cs}, .list-group-item`,xs={offset:null,rootMargin:"0px 0px -25%",smoothScroll:!1,target:null,threshold:[.1,.5,1]},ks={offset:"(number|null)",rootMargin:"string",smoothScroll:"boolean",target:"element",threshold:"array"};class Ls extends ve{constructor(t,e){super(t,e),this._targetLinks=new Map,this._observableSections=new Map,this._rootElement="visible"===getComputedStyle(this._element).overflowY?null:this._element,this._activeTarget=null,this._observer=null,this._previousScrollData={visibleEntryTop:0,parentScrollTop:0},this.refresh()}static get Default(){return xs}static get DefaultType(){return ks}static get NAME(){return"scrollspy"}refresh(){this._initializeTargetsAndObservables(),this._maybeEnableSmoothScroll(),this._observer?this._observer.disconnect():this._observer=this._getNewObserver();for(const t of this._observableSections.values())this._observer.observe(t)}dispose(){this._observer.disconnect(),super.dispose()}_configAfterMerge(t){return t.target=Ht(t.target)||document.body,t.rootMargin=t.offset?`${t.offset}px 0px -30%`:t.rootMargin,"string"==typeof t.threshold&&(t.threshold=t.threshold.split(",").map((t=>Number.parseFloat(t)))),t}_maybeEnableSmoothScroll(){this._config.smoothScroll&&(fe.off(this._config.target,ws),fe.on(this._config.target,ws,Ts,(t=>{const e=this._observableSections.get(t.target.hash);if(e){t.preventDefault();const i=this._rootElement||window,n=e.offsetTop-this._element.offsetTop;if(i.scrollTo)return void i.scrollTo({top:n,behavior:"smooth"});i.scrollTop=n}})))}_getNewObserver(){const t={root:this._rootElement,threshold:this._config.threshold,rootMargin:this._config.rootMargin};return new IntersectionObserver((t=>this._observerCallback(t)),t)}_observerCallback(t){const e=t=>this._targetLinks.get(`#${t.target.id}`),i=t=>{this._previousScrollData.visibleEntryTop=t.target.offsetTop,this._process(e(t))},n=(this._rootElement||document.documentElement).scrollTop,s=n>=this._previousScrollData.parentScrollTop;this._previousScrollData.parentScrollTop=n;for(const o of t){if(!o.isIntersecting){this._activeTarget=null,this._clearActiveClass(e(o));continue}const t=o.target.offsetTop>=this._previousScrollData.visibleEntryTop;if(s&&t){if(i(o),!n)return}else s||t||i(o)}}_initializeTargetsAndObservables(){this._targetLinks=new Map,this._observableSections=new Map;const t=we.find(Ts,this._config.target);for(const e of t){if(!e.hash||Wt(e))continue;const t=we.findOne(decodeURI(e.hash),this._element);Bt(t)&&(this._targetLinks.set(decodeURI(e.hash),e),this._observableSections.set(e.hash,t))}}_process(t){this._activeTarget!==t&&(this._clearActiveClass(this._config.target),this._activeTarget=t,t.classList.add(As),this._activateParents(t),fe.trigger(this._element,ys,{relatedTarget:t}))}_activateParents(t){if(t.classList.contains("dropdown-item"))we.findOne(".dropdown-toggle",t.closest(".dropdown")).classList.add(As);else for(const e of we.parents(t,".nav, .list-group"))for(const t of we.prev(e,Os))t.classList.add(As)}_clearActiveClass(t){t.classList.remove(As);const e=we.find(`${Ts}.${As}`,t);for(const t of e)t.classList.remove(As)}static jQueryInterface(t){return this.each((function(){const e=Ls.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t]()}}))}}fe.on(window,Es,(()=>{for(const t of we.find('[data-bs-spy="scroll"]'))Ls.getOrCreateInstance(t)})),Qt(Ls);const Ss=".bs.tab",Ds=`hide${Ss}`,$s=`hidden${Ss}`,Is=`show${Ss}`,Ns=`shown${Ss}`,Ps=`click${Ss}`,Ms=`keydown${Ss}`,js=`load${Ss}`,Fs="ArrowLeft",Hs="ArrowRight",Bs="ArrowUp",Ws="ArrowDown",zs="Home",Rs="End",qs="active",Vs="fade",Ys="show",Ks=".dropdown-toggle",Qs=`:not(${Ks})`,Xs='[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]',Us=`.nav-link${Qs}, .list-group-item${Qs}, [role="tab"]${Qs}, ${Xs}`,Gs=`.${qs}[data-bs-toggle="tab"], .${qs}[data-bs-toggle="pill"], .${qs}[data-bs-toggle="list"]`;class Js extends ve{constructor(t){super(t),this._parent=this._element.closest('.list-group, .nav, [role="tablist"]'),this._parent&&(this._setInitialAttributes(this._parent,this._getChildren()),fe.on(this._element,Ms,(t=>this._keydown(t))))}static get NAME(){return"tab"}show(){const t=this._element;if(this._elemIsActive(t))return;const e=this._getActiveElem(),i=e?fe.trigger(e,Ds,{relatedTarget:t}):null;fe.trigger(t,Is,{relatedTarget:e}).defaultPrevented||i&&i.defaultPrevented||(this._deactivate(e,t),this._activate(t,e))}_activate(t,e){t&&(t.classList.add(qs),this._activate(we.getElementFromSelector(t)),this._queueCallback((()=>{"tab"===t.getAttribute("role")?(t.removeAttribute("tabindex"),t.setAttribute("aria-selected",!0),this._toggleDropDown(t,!0),fe.trigger(t,Ns,{relatedTarget:e})):t.classList.add(Ys)}),t,t.classList.contains(Vs)))}_deactivate(t,e){t&&(t.classList.remove(qs),t.blur(),this._deactivate(we.getElementFromSelector(t)),this._queueCallback((()=>{"tab"===t.getAttribute("role")?(t.setAttribute("aria-selected",!1),t.setAttribute("tabindex","-1"),this._toggleDropDown(t,!1),fe.trigger(t,$s,{relatedTarget:e})):t.classList.remove(Ys)}),t,t.classList.contains(Vs)))}_keydown(t){if(![Fs,Hs,Bs,Ws,zs,Rs].includes(t.key))return;t.stopPropagation(),t.preventDefault();const e=this._getChildren().filter((t=>!Wt(t)));let i;if([zs,Rs].includes(t.key))i=e[t.key===zs?0:e.length-1];else{const n=[Hs,Ws].includes(t.key);i=Gt(e,t.target,n,!0)}i&&(i.focus({preventScroll:!0}),Js.getOrCreateInstance(i).show())}_getChildren(){return we.find(Us,this._parent)}_getActiveElem(){return this._getChildren().find((t=>this._elemIsActive(t)))||null}_setInitialAttributes(t,e){this._setAttributeIfNotExists(t,"role","tablist");for(const t of e)this._setInitialAttributesOnChild(t)}_setInitialAttributesOnChild(t){t=this._getInnerElement(t);const e=this._elemIsActive(t),i=this._getOuterElement(t);t.setAttribute("aria-selected",e),i!==t&&this._setAttributeIfNotExists(i,"role","presentation"),e||t.setAttribute("tabindex","-1"),this._setAttributeIfNotExists(t,"role","tab"),this._setInitialAttributesOnTargetPanel(t)}_setInitialAttributesOnTargetPanel(t){const e=we.getElementFromSelector(t);e&&(this._setAttributeIfNotExists(e,"role","tabpanel"),t.id&&this._setAttributeIfNotExists(e,"aria-labelledby",`${t.id}`))}_toggleDropDown(t,e){const i=this._getOuterElement(t);if(!i.classList.contains("dropdown"))return;const n=(t,n)=>{const s=we.findOne(t,i);s&&s.classList.toggle(n,e)};n(Ks,qs),n(".dropdown-menu",Ys),i.setAttribute("aria-expanded",e)}_setAttributeIfNotExists(t,e,i){t.hasAttribute(e)||t.setAttribute(e,i)}_elemIsActive(t){return t.classList.contains(qs)}_getInnerElement(t){return t.matches(Us)?t:we.findOne(Us,t)}_getOuterElement(t){return t.closest(".nav-item, .list-group-item")||t}static jQueryInterface(t){return this.each((function(){const e=Js.getOrCreateInstance(this);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t]()}}))}}fe.on(document,Ps,Xs,(function(t){["A","AREA"].includes(this.tagName)&&t.preventDefault(),Wt(this)||Js.getOrCreateInstance(this).show()})),fe.on(window,js,(()=>{for(const t of we.find(Gs))Js.getOrCreateInstance(t)})),Qt(Js);const Zs=".bs.toast",to=`mouseover${Zs}`,eo=`mouseout${Zs}`,io=`focusin${Zs}`,no=`focusout${Zs}`,so=`hide${Zs}`,oo=`hidden${Zs}`,ro=`show${Zs}`,ao=`shown${Zs}`,lo="hide",co="show",ho="showing",uo={animation:"boolean",autohide:"boolean",delay:"number"},fo={animation:!0,autohide:!0,delay:5e3};class po extends ve{constructor(t,e){super(t,e),this._timeout=null,this._hasMouseInteraction=!1,this._hasKeyboardInteraction=!1,this._setListeners()}static get Default(){return fo}static get DefaultType(){return uo}static get NAME(){return"toast"}show(){fe.trigger(this._element,ro).defaultPrevented||(this._clearTimeout(),this._config.animation&&this._element.classList.add("fade"),this._element.classList.remove(lo),qt(this._element),this._element.classList.add(co,ho),this._queueCallback((()=>{this._element.classList.remove(ho),fe.trigger(this._element,ao),this._maybeScheduleHide()}),this._element,this._config.animation))}hide(){this.isShown()&&(fe.trigger(this._element,so).defaultPrevented||(this._element.classList.add(ho),this._queueCallback((()=>{this._element.classList.add(lo),this._element.classList.remove(ho,co),fe.trigger(this._element,oo)}),this._element,this._config.animation)))}dispose(){this._clearTimeout(),this.isShown()&&this._element.classList.remove(co),super.dispose()}isShown(){return this._element.classList.contains(co)}_maybeScheduleHide(){this._config.autohide&&(this._hasMouseInteraction||this._hasKeyboardInteraction||(this._timeout=setTimeout((()=>{this.hide()}),this._config.delay)))}_onInteraction(t,e){switch(t.type){case"mouseover":case"mouseout":this._hasMouseInteraction=e;break;case"focusin":case"focusout":this._hasKeyboardInteraction=e}if(e)return void this._clearTimeout();const i=t.relatedTarget;this._element===i||this._element.contains(i)||this._maybeScheduleHide()}_setListeners(){fe.on(this._element,to,(t=>this._onInteraction(t,!0))),fe.on(this._element,eo,(t=>this._onInteraction(t,!1))),fe.on(this._element,io,(t=>this._onInteraction(t,!0))),fe.on(this._element,no,(t=>this._onInteraction(t,!1)))}_clearTimeout(){clearTimeout(this._timeout),this._timeout=null}static jQueryInterface(t){return this.each((function(){const e=po.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}function mo(t){"loading"!=document.readyState?t():document.addEventListener("DOMContentLoaded",t)}Ee(po),Qt(po),mo((function(){[].slice.call(document.querySelectorAll('[data-bs-toggle="tooltip"]')).map((function(t){return new fs(t,{delay:{show:500,hide:100}})}))})),mo((function(){document.getElementById("pst-back-to-top").addEventListener("click",(function(){document.body.scrollTop=0,document.documentElement.scrollTop=0}))})),mo((function(){var t=document.getElementById("pst-back-to-top"),e=document.getElementsByClassName("bd-header")[0].getBoundingClientRect();window.addEventListener("scroll",(function(){this.oldScroll>this.scrollY&&this.scrollY>e.bottom?t.style.display="block":t.style.display="none",this.oldScroll=this.scrollY}))})),window.bootstrap=i})(); +//# sourceMappingURL=bootstrap.js.map \ No newline at end of file diff --git a/_static/scripts/bootstrap.js.LICENSE.txt b/_static/scripts/bootstrap.js.LICENSE.txt new file mode 100644 index 0000000..28755c2 --- /dev/null +++ b/_static/scripts/bootstrap.js.LICENSE.txt @@ -0,0 +1,5 @@ +/*! + * Bootstrap v5.3.3 (https://getbootstrap.com/) + * Copyright 2011-2024 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + */ diff --git a/_static/scripts/bootstrap.js.map b/_static/scripts/bootstrap.js.map new file mode 100644 index 0000000..4a3502a --- /dev/null +++ b/_static/scripts/bootstrap.js.map @@ -0,0 +1 @@ +{"version":3,"file":"scripts/bootstrap.js","mappings":"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","sources":["webpack://pydata_sphinx_theme/webpack/bootstrap","webpack://pydata_sphinx_theme/webpack/runtime/define property getters","webpack://pydata_sphinx_theme/webpack/runtime/hasOwnProperty shorthand","webpack://pydata_sphinx_theme/webpack/runtime/make namespace object","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/enums.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/getNodeName.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/getWindow.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/instanceOf.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/modifiers/applyStyles.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/utils/getBasePlacement.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/utils/math.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/utils/userAgent.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/isLayoutViewport.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/getLayoutRect.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/contains.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/isTableElement.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/getParentNode.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/utils/within.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/utils/mergePaddingObject.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/utils/getFreshSideObject.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/utils/expandToHashMap.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/modifiers/arrow.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/utils/getVariation.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/modifiers/computeStyles.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/modifiers/eventListeners.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/utils/getOppositePlacement.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/utils/getOppositeVariationPlacement.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/isScrollParent.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/getScrollParent.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/listScrollParents.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/utils/rectToClientRect.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/getClippingRect.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/getViewportRect.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/getDocumentRect.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/utils/computeOffsets.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/utils/detectOverflow.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/modifiers/flip.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/utils/computeAutoPlacement.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/modifiers/hide.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/modifiers/offset.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/modifiers/popperOffsets.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/modifiers/preventOverflow.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/utils/getAltAxis.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/getCompositeRect.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/getNodeScroll.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/getHTMLElementScroll.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/utils/orderModifiers.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/createPopper.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/utils/debounce.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/utils/mergeByName.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/popper.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/popper-lite.js","webpack://pydata_sphinx_theme/./node_modules/bootstrap/dist/js/bootstrap.esm.js","webpack://pydata_sphinx_theme/./src/pydata_sphinx_theme/assets/scripts/mixin.js","webpack://pydata_sphinx_theme/./src/pydata_sphinx_theme/assets/scripts/bootstrap.js"],"sourcesContent":["// The require scope\nvar __webpack_require__ = {};\n\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","export var top = 'top';\nexport var bottom = 'bottom';\nexport var right = 'right';\nexport var left = 'left';\nexport var auto = 'auto';\nexport var basePlacements = [top, bottom, right, left];\nexport var start = 'start';\nexport var end = 'end';\nexport var clippingParents = 'clippingParents';\nexport var viewport = 'viewport';\nexport var popper = 'popper';\nexport var reference = 'reference';\nexport var variationPlacements = /*#__PURE__*/basePlacements.reduce(function (acc, placement) {\n return acc.concat([placement + \"-\" + start, placement + \"-\" + end]);\n}, []);\nexport var placements = /*#__PURE__*/[].concat(basePlacements, [auto]).reduce(function (acc, placement) {\n return acc.concat([placement, placement + \"-\" + start, placement + \"-\" + end]);\n}, []); // modifiers that need to read the DOM\n\nexport var beforeRead = 'beforeRead';\nexport var read = 'read';\nexport var afterRead = 'afterRead'; // pure-logic modifiers\n\nexport var beforeMain = 'beforeMain';\nexport var main = 'main';\nexport var afterMain = 'afterMain'; // modifier with the purpose to write to the DOM (or write into a framework state)\n\nexport var beforeWrite = 'beforeWrite';\nexport var write = 'write';\nexport var afterWrite = 'afterWrite';\nexport var modifierPhases = [beforeRead, read, afterRead, beforeMain, main, afterMain, beforeWrite, write, afterWrite];","export default function getNodeName(element) {\n return element ? (element.nodeName || '').toLowerCase() : null;\n}","export default function getWindow(node) {\n if (node == null) {\n return window;\n }\n\n if (node.toString() !== '[object Window]') {\n var ownerDocument = node.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView || window : window;\n }\n\n return node;\n}","import getWindow from \"./getWindow.js\";\n\nfunction isElement(node) {\n var OwnElement = getWindow(node).Element;\n return node instanceof OwnElement || node instanceof Element;\n}\n\nfunction isHTMLElement(node) {\n var OwnElement = getWindow(node).HTMLElement;\n return node instanceof OwnElement || node instanceof HTMLElement;\n}\n\nfunction isShadowRoot(node) {\n // IE 11 has no ShadowRoot\n if (typeof ShadowRoot === 'undefined') {\n return false;\n }\n\n var OwnElement = getWindow(node).ShadowRoot;\n return node instanceof OwnElement || node instanceof ShadowRoot;\n}\n\nexport { isElement, isHTMLElement, isShadowRoot };","import getNodeName from \"../dom-utils/getNodeName.js\";\nimport { isHTMLElement } from \"../dom-utils/instanceOf.js\"; // This modifier takes the styles prepared by the `computeStyles` modifier\n// and applies them to the HTMLElements such as popper and arrow\n\nfunction applyStyles(_ref) {\n var state = _ref.state;\n Object.keys(state.elements).forEach(function (name) {\n var style = state.styles[name] || {};\n var attributes = state.attributes[name] || {};\n var element = state.elements[name]; // arrow is optional + virtual elements\n\n if (!isHTMLElement(element) || !getNodeName(element)) {\n return;\n } // Flow doesn't support to extend this property, but it's the most\n // effective way to apply styles to an HTMLElement\n // $FlowFixMe[cannot-write]\n\n\n Object.assign(element.style, style);\n Object.keys(attributes).forEach(function (name) {\n var value = attributes[name];\n\n if (value === false) {\n element.removeAttribute(name);\n } else {\n element.setAttribute(name, value === true ? '' : value);\n }\n });\n });\n}\n\nfunction effect(_ref2) {\n var state = _ref2.state;\n var initialStyles = {\n popper: {\n position: state.options.strategy,\n left: '0',\n top: '0',\n margin: '0'\n },\n arrow: {\n position: 'absolute'\n },\n reference: {}\n };\n Object.assign(state.elements.popper.style, initialStyles.popper);\n state.styles = initialStyles;\n\n if (state.elements.arrow) {\n Object.assign(state.elements.arrow.style, initialStyles.arrow);\n }\n\n return function () {\n Object.keys(state.elements).forEach(function (name) {\n var element = state.elements[name];\n var attributes = state.attributes[name] || {};\n var styleProperties = Object.keys(state.styles.hasOwnProperty(name) ? state.styles[name] : initialStyles[name]); // Set all values to an empty string to unset them\n\n var style = styleProperties.reduce(function (style, property) {\n style[property] = '';\n return style;\n }, {}); // arrow is optional + virtual elements\n\n if (!isHTMLElement(element) || !getNodeName(element)) {\n return;\n }\n\n Object.assign(element.style, style);\n Object.keys(attributes).forEach(function (attribute) {\n element.removeAttribute(attribute);\n });\n });\n };\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'applyStyles',\n enabled: true,\n phase: 'write',\n fn: applyStyles,\n effect: effect,\n requires: ['computeStyles']\n};","import { auto } from \"../enums.js\";\nexport default function getBasePlacement(placement) {\n return placement.split('-')[0];\n}","export var max = Math.max;\nexport var min = Math.min;\nexport var round = Math.round;","export default function getUAString() {\n var uaData = navigator.userAgentData;\n\n if (uaData != null && uaData.brands && Array.isArray(uaData.brands)) {\n return uaData.brands.map(function (item) {\n return item.brand + \"/\" + item.version;\n }).join(' ');\n }\n\n return navigator.userAgent;\n}","import getUAString from \"../utils/userAgent.js\";\nexport default function isLayoutViewport() {\n return !/^((?!chrome|android).)*safari/i.test(getUAString());\n}","import { isElement, isHTMLElement } from \"./instanceOf.js\";\nimport { round } from \"../utils/math.js\";\nimport getWindow from \"./getWindow.js\";\nimport isLayoutViewport from \"./isLayoutViewport.js\";\nexport default function getBoundingClientRect(element, includeScale, isFixedStrategy) {\n if (includeScale === void 0) {\n includeScale = false;\n }\n\n if (isFixedStrategy === void 0) {\n isFixedStrategy = false;\n }\n\n var clientRect = element.getBoundingClientRect();\n var scaleX = 1;\n var scaleY = 1;\n\n if (includeScale && isHTMLElement(element)) {\n scaleX = element.offsetWidth > 0 ? round(clientRect.width) / element.offsetWidth || 1 : 1;\n scaleY = element.offsetHeight > 0 ? round(clientRect.height) / element.offsetHeight || 1 : 1;\n }\n\n var _ref = isElement(element) ? getWindow(element) : window,\n visualViewport = _ref.visualViewport;\n\n var addVisualOffsets = !isLayoutViewport() && isFixedStrategy;\n var x = (clientRect.left + (addVisualOffsets && visualViewport ? visualViewport.offsetLeft : 0)) / scaleX;\n var y = (clientRect.top + (addVisualOffsets && visualViewport ? visualViewport.offsetTop : 0)) / scaleY;\n var width = clientRect.width / scaleX;\n var height = clientRect.height / scaleY;\n return {\n width: width,\n height: height,\n top: y,\n right: x + width,\n bottom: y + height,\n left: x,\n x: x,\n y: y\n };\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\"; // Returns the layout rect of an element relative to its offsetParent. Layout\n// means it doesn't take into account transforms.\n\nexport default function getLayoutRect(element) {\n var clientRect = getBoundingClientRect(element); // Use the clientRect sizes if it's not been transformed.\n // Fixes https://github.com/popperjs/popper-core/issues/1223\n\n var width = element.offsetWidth;\n var height = element.offsetHeight;\n\n if (Math.abs(clientRect.width - width) <= 1) {\n width = clientRect.width;\n }\n\n if (Math.abs(clientRect.height - height) <= 1) {\n height = clientRect.height;\n }\n\n return {\n x: element.offsetLeft,\n y: element.offsetTop,\n width: width,\n height: height\n };\n}","import { isShadowRoot } from \"./instanceOf.js\";\nexport default function contains(parent, child) {\n var rootNode = child.getRootNode && child.getRootNode(); // First, attempt with faster native method\n\n if (parent.contains(child)) {\n return true;\n } // then fallback to custom implementation with Shadow DOM support\n else if (rootNode && isShadowRoot(rootNode)) {\n var next = child;\n\n do {\n if (next && parent.isSameNode(next)) {\n return true;\n } // $FlowFixMe[prop-missing]: need a better way to handle this...\n\n\n next = next.parentNode || next.host;\n } while (next);\n } // Give up, the result is false\n\n\n return false;\n}","import getWindow from \"./getWindow.js\";\nexport default function getComputedStyle(element) {\n return getWindow(element).getComputedStyle(element);\n}","import getNodeName from \"./getNodeName.js\";\nexport default function isTableElement(element) {\n return ['table', 'td', 'th'].indexOf(getNodeName(element)) >= 0;\n}","import { isElement } from \"./instanceOf.js\";\nexport default function getDocumentElement(element) {\n // $FlowFixMe[incompatible-return]: assume body is always available\n return ((isElement(element) ? element.ownerDocument : // $FlowFixMe[prop-missing]\n element.document) || window.document).documentElement;\n}","import getNodeName from \"./getNodeName.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport { isShadowRoot } from \"./instanceOf.js\";\nexport default function getParentNode(element) {\n if (getNodeName(element) === 'html') {\n return element;\n }\n\n return (// this is a quicker (but less type safe) way to save quite some bytes from the bundle\n // $FlowFixMe[incompatible-return]\n // $FlowFixMe[prop-missing]\n element.assignedSlot || // step into the shadow DOM of the parent of a slotted node\n element.parentNode || ( // DOM Element detected\n isShadowRoot(element) ? element.host : null) || // ShadowRoot detected\n // $FlowFixMe[incompatible-call]: HTMLElement is a Node\n getDocumentElement(element) // fallback\n\n );\n}","import getWindow from \"./getWindow.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport { isHTMLElement, isShadowRoot } from \"./instanceOf.js\";\nimport isTableElement from \"./isTableElement.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport getUAString from \"../utils/userAgent.js\";\n\nfunction getTrueOffsetParent(element) {\n if (!isHTMLElement(element) || // https://github.com/popperjs/popper-core/issues/837\n getComputedStyle(element).position === 'fixed') {\n return null;\n }\n\n return element.offsetParent;\n} // `.offsetParent` reports `null` for fixed elements, while absolute elements\n// return the containing block\n\n\nfunction getContainingBlock(element) {\n var isFirefox = /firefox/i.test(getUAString());\n var isIE = /Trident/i.test(getUAString());\n\n if (isIE && isHTMLElement(element)) {\n // In IE 9, 10 and 11 fixed elements containing block is always established by the viewport\n var elementCss = getComputedStyle(element);\n\n if (elementCss.position === 'fixed') {\n return null;\n }\n }\n\n var currentNode = getParentNode(element);\n\n if (isShadowRoot(currentNode)) {\n currentNode = currentNode.host;\n }\n\n while (isHTMLElement(currentNode) && ['html', 'body'].indexOf(getNodeName(currentNode)) < 0) {\n var css = getComputedStyle(currentNode); // This is non-exhaustive but covers the most common CSS properties that\n // create a containing block.\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n\n if (css.transform !== 'none' || css.perspective !== 'none' || css.contain === 'paint' || ['transform', 'perspective'].indexOf(css.willChange) !== -1 || isFirefox && css.willChange === 'filter' || isFirefox && css.filter && css.filter !== 'none') {\n return currentNode;\n } else {\n currentNode = currentNode.parentNode;\n }\n }\n\n return null;\n} // Gets the closest ancestor positioned element. Handles some edge cases,\n// such as table ancestors and cross browser bugs.\n\n\nexport default function getOffsetParent(element) {\n var window = getWindow(element);\n var offsetParent = getTrueOffsetParent(element);\n\n while (offsetParent && isTableElement(offsetParent) && getComputedStyle(offsetParent).position === 'static') {\n offsetParent = getTrueOffsetParent(offsetParent);\n }\n\n if (offsetParent && (getNodeName(offsetParent) === 'html' || getNodeName(offsetParent) === 'body' && getComputedStyle(offsetParent).position === 'static')) {\n return window;\n }\n\n return offsetParent || getContainingBlock(element) || window;\n}","export default function getMainAxisFromPlacement(placement) {\n return ['top', 'bottom'].indexOf(placement) >= 0 ? 'x' : 'y';\n}","import { max as mathMax, min as mathMin } from \"./math.js\";\nexport function within(min, value, max) {\n return mathMax(min, mathMin(value, max));\n}\nexport function withinMaxClamp(min, value, max) {\n var v = within(min, value, max);\n return v > max ? max : v;\n}","import getFreshSideObject from \"./getFreshSideObject.js\";\nexport default function mergePaddingObject(paddingObject) {\n return Object.assign({}, getFreshSideObject(), paddingObject);\n}","export default function getFreshSideObject() {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0\n };\n}","export default function expandToHashMap(value, keys) {\n return keys.reduce(function (hashMap, key) {\n hashMap[key] = value;\n return hashMap;\n }, {});\n}","import getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getLayoutRect from \"../dom-utils/getLayoutRect.js\";\nimport contains from \"../dom-utils/contains.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport getMainAxisFromPlacement from \"../utils/getMainAxisFromPlacement.js\";\nimport { within } from \"../utils/within.js\";\nimport mergePaddingObject from \"../utils/mergePaddingObject.js\";\nimport expandToHashMap from \"../utils/expandToHashMap.js\";\nimport { left, right, basePlacements, top, bottom } from \"../enums.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar toPaddingObject = function toPaddingObject(padding, state) {\n padding = typeof padding === 'function' ? padding(Object.assign({}, state.rects, {\n placement: state.placement\n })) : padding;\n return mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements));\n};\n\nfunction arrow(_ref) {\n var _state$modifiersData$;\n\n var state = _ref.state,\n name = _ref.name,\n options = _ref.options;\n var arrowElement = state.elements.arrow;\n var popperOffsets = state.modifiersData.popperOffsets;\n var basePlacement = getBasePlacement(state.placement);\n var axis = getMainAxisFromPlacement(basePlacement);\n var isVertical = [left, right].indexOf(basePlacement) >= 0;\n var len = isVertical ? 'height' : 'width';\n\n if (!arrowElement || !popperOffsets) {\n return;\n }\n\n var paddingObject = toPaddingObject(options.padding, state);\n var arrowRect = getLayoutRect(arrowElement);\n var minProp = axis === 'y' ? top : left;\n var maxProp = axis === 'y' ? bottom : right;\n var endDiff = state.rects.reference[len] + state.rects.reference[axis] - popperOffsets[axis] - state.rects.popper[len];\n var startDiff = popperOffsets[axis] - state.rects.reference[axis];\n var arrowOffsetParent = getOffsetParent(arrowElement);\n var clientSize = arrowOffsetParent ? axis === 'y' ? arrowOffsetParent.clientHeight || 0 : arrowOffsetParent.clientWidth || 0 : 0;\n var centerToReference = endDiff / 2 - startDiff / 2; // Make sure the arrow doesn't overflow the popper if the center point is\n // outside of the popper bounds\n\n var min = paddingObject[minProp];\n var max = clientSize - arrowRect[len] - paddingObject[maxProp];\n var center = clientSize / 2 - arrowRect[len] / 2 + centerToReference;\n var offset = within(min, center, max); // Prevents breaking syntax highlighting...\n\n var axisProp = axis;\n state.modifiersData[name] = (_state$modifiersData$ = {}, _state$modifiersData$[axisProp] = offset, _state$modifiersData$.centerOffset = offset - center, _state$modifiersData$);\n}\n\nfunction effect(_ref2) {\n var state = _ref2.state,\n options = _ref2.options;\n var _options$element = options.element,\n arrowElement = _options$element === void 0 ? '[data-popper-arrow]' : _options$element;\n\n if (arrowElement == null) {\n return;\n } // CSS selector\n\n\n if (typeof arrowElement === 'string') {\n arrowElement = state.elements.popper.querySelector(arrowElement);\n\n if (!arrowElement) {\n return;\n }\n }\n\n if (!contains(state.elements.popper, arrowElement)) {\n return;\n }\n\n state.elements.arrow = arrowElement;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'arrow',\n enabled: true,\n phase: 'main',\n fn: arrow,\n effect: effect,\n requires: ['popperOffsets'],\n requiresIfExists: ['preventOverflow']\n};","export default function getVariation(placement) {\n return placement.split('-')[1];\n}","import { top, left, right, bottom, end } from \"../enums.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport getWindow from \"../dom-utils/getWindow.js\";\nimport getDocumentElement from \"../dom-utils/getDocumentElement.js\";\nimport getComputedStyle from \"../dom-utils/getComputedStyle.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getVariation from \"../utils/getVariation.js\";\nimport { round } from \"../utils/math.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar unsetSides = {\n top: 'auto',\n right: 'auto',\n bottom: 'auto',\n left: 'auto'\n}; // Round the offsets to the nearest suitable subpixel based on the DPR.\n// Zooming can change the DPR, but it seems to report a value that will\n// cleanly divide the values into the appropriate subpixels.\n\nfunction roundOffsetsByDPR(_ref, win) {\n var x = _ref.x,\n y = _ref.y;\n var dpr = win.devicePixelRatio || 1;\n return {\n x: round(x * dpr) / dpr || 0,\n y: round(y * dpr) / dpr || 0\n };\n}\n\nexport function mapToStyles(_ref2) {\n var _Object$assign2;\n\n var popper = _ref2.popper,\n popperRect = _ref2.popperRect,\n placement = _ref2.placement,\n variation = _ref2.variation,\n offsets = _ref2.offsets,\n position = _ref2.position,\n gpuAcceleration = _ref2.gpuAcceleration,\n adaptive = _ref2.adaptive,\n roundOffsets = _ref2.roundOffsets,\n isFixed = _ref2.isFixed;\n var _offsets$x = offsets.x,\n x = _offsets$x === void 0 ? 0 : _offsets$x,\n _offsets$y = offsets.y,\n y = _offsets$y === void 0 ? 0 : _offsets$y;\n\n var _ref3 = typeof roundOffsets === 'function' ? roundOffsets({\n x: x,\n y: y\n }) : {\n x: x,\n y: y\n };\n\n x = _ref3.x;\n y = _ref3.y;\n var hasX = offsets.hasOwnProperty('x');\n var hasY = offsets.hasOwnProperty('y');\n var sideX = left;\n var sideY = top;\n var win = window;\n\n if (adaptive) {\n var offsetParent = getOffsetParent(popper);\n var heightProp = 'clientHeight';\n var widthProp = 'clientWidth';\n\n if (offsetParent === getWindow(popper)) {\n offsetParent = getDocumentElement(popper);\n\n if (getComputedStyle(offsetParent).position !== 'static' && position === 'absolute') {\n heightProp = 'scrollHeight';\n widthProp = 'scrollWidth';\n }\n } // $FlowFixMe[incompatible-cast]: force type refinement, we compare offsetParent with window above, but Flow doesn't detect it\n\n\n offsetParent = offsetParent;\n\n if (placement === top || (placement === left || placement === right) && variation === end) {\n sideY = bottom;\n var offsetY = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.height : // $FlowFixMe[prop-missing]\n offsetParent[heightProp];\n y -= offsetY - popperRect.height;\n y *= gpuAcceleration ? 1 : -1;\n }\n\n if (placement === left || (placement === top || placement === bottom) && variation === end) {\n sideX = right;\n var offsetX = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.width : // $FlowFixMe[prop-missing]\n offsetParent[widthProp];\n x -= offsetX - popperRect.width;\n x *= gpuAcceleration ? 1 : -1;\n }\n }\n\n var commonStyles = Object.assign({\n position: position\n }, adaptive && unsetSides);\n\n var _ref4 = roundOffsets === true ? roundOffsetsByDPR({\n x: x,\n y: y\n }, getWindow(popper)) : {\n x: x,\n y: y\n };\n\n x = _ref4.x;\n y = _ref4.y;\n\n if (gpuAcceleration) {\n var _Object$assign;\n\n return Object.assign({}, commonStyles, (_Object$assign = {}, _Object$assign[sideY] = hasY ? '0' : '', _Object$assign[sideX] = hasX ? '0' : '', _Object$assign.transform = (win.devicePixelRatio || 1) <= 1 ? \"translate(\" + x + \"px, \" + y + \"px)\" : \"translate3d(\" + x + \"px, \" + y + \"px, 0)\", _Object$assign));\n }\n\n return Object.assign({}, commonStyles, (_Object$assign2 = {}, _Object$assign2[sideY] = hasY ? y + \"px\" : '', _Object$assign2[sideX] = hasX ? x + \"px\" : '', _Object$assign2.transform = '', _Object$assign2));\n}\n\nfunction computeStyles(_ref5) {\n var state = _ref5.state,\n options = _ref5.options;\n var _options$gpuAccelerat = options.gpuAcceleration,\n gpuAcceleration = _options$gpuAccelerat === void 0 ? true : _options$gpuAccelerat,\n _options$adaptive = options.adaptive,\n adaptive = _options$adaptive === void 0 ? true : _options$adaptive,\n _options$roundOffsets = options.roundOffsets,\n roundOffsets = _options$roundOffsets === void 0 ? true : _options$roundOffsets;\n var commonStyles = {\n placement: getBasePlacement(state.placement),\n variation: getVariation(state.placement),\n popper: state.elements.popper,\n popperRect: state.rects.popper,\n gpuAcceleration: gpuAcceleration,\n isFixed: state.options.strategy === 'fixed'\n };\n\n if (state.modifiersData.popperOffsets != null) {\n state.styles.popper = Object.assign({}, state.styles.popper, mapToStyles(Object.assign({}, commonStyles, {\n offsets: state.modifiersData.popperOffsets,\n position: state.options.strategy,\n adaptive: adaptive,\n roundOffsets: roundOffsets\n })));\n }\n\n if (state.modifiersData.arrow != null) {\n state.styles.arrow = Object.assign({}, state.styles.arrow, mapToStyles(Object.assign({}, commonStyles, {\n offsets: state.modifiersData.arrow,\n position: 'absolute',\n adaptive: false,\n roundOffsets: roundOffsets\n })));\n }\n\n state.attributes.popper = Object.assign({}, state.attributes.popper, {\n 'data-popper-placement': state.placement\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'computeStyles',\n enabled: true,\n phase: 'beforeWrite',\n fn: computeStyles,\n data: {}\n};","import getWindow from \"../dom-utils/getWindow.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar passive = {\n passive: true\n};\n\nfunction effect(_ref) {\n var state = _ref.state,\n instance = _ref.instance,\n options = _ref.options;\n var _options$scroll = options.scroll,\n scroll = _options$scroll === void 0 ? true : _options$scroll,\n _options$resize = options.resize,\n resize = _options$resize === void 0 ? true : _options$resize;\n var window = getWindow(state.elements.popper);\n var scrollParents = [].concat(state.scrollParents.reference, state.scrollParents.popper);\n\n if (scroll) {\n scrollParents.forEach(function (scrollParent) {\n scrollParent.addEventListener('scroll', instance.update, passive);\n });\n }\n\n if (resize) {\n window.addEventListener('resize', instance.update, passive);\n }\n\n return function () {\n if (scroll) {\n scrollParents.forEach(function (scrollParent) {\n scrollParent.removeEventListener('scroll', instance.update, passive);\n });\n }\n\n if (resize) {\n window.removeEventListener('resize', instance.update, passive);\n }\n };\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'eventListeners',\n enabled: true,\n phase: 'write',\n fn: function fn() {},\n effect: effect,\n data: {}\n};","var hash = {\n left: 'right',\n right: 'left',\n bottom: 'top',\n top: 'bottom'\n};\nexport default function getOppositePlacement(placement) {\n return placement.replace(/left|right|bottom|top/g, function (matched) {\n return hash[matched];\n });\n}","var hash = {\n start: 'end',\n end: 'start'\n};\nexport default function getOppositeVariationPlacement(placement) {\n return placement.replace(/start|end/g, function (matched) {\n return hash[matched];\n });\n}","import getWindow from \"./getWindow.js\";\nexport default function getWindowScroll(node) {\n var win = getWindow(node);\n var scrollLeft = win.pageXOffset;\n var scrollTop = win.pageYOffset;\n return {\n scrollLeft: scrollLeft,\n scrollTop: scrollTop\n };\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getWindowScroll from \"./getWindowScroll.js\";\nexport default function getWindowScrollBarX(element) {\n // If has a CSS width greater than the viewport, then this will be\n // incorrect for RTL.\n // Popper 1 is broken in this case and never had a bug report so let's assume\n // it's not an issue. I don't think anyone ever specifies width on \n // anyway.\n // Browsers where the left scrollbar doesn't cause an issue report `0` for\n // this (e.g. Edge 2019, IE11, Safari)\n return getBoundingClientRect(getDocumentElement(element)).left + getWindowScroll(element).scrollLeft;\n}","import getComputedStyle from \"./getComputedStyle.js\";\nexport default function isScrollParent(element) {\n // Firefox wants us to check `-x` and `-y` variations as well\n var _getComputedStyle = getComputedStyle(element),\n overflow = _getComputedStyle.overflow,\n overflowX = _getComputedStyle.overflowX,\n overflowY = _getComputedStyle.overflowY;\n\n return /auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX);\n}","import getParentNode from \"./getParentNode.js\";\nimport isScrollParent from \"./isScrollParent.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nexport default function getScrollParent(node) {\n if (['html', 'body', '#document'].indexOf(getNodeName(node)) >= 0) {\n // $FlowFixMe[incompatible-return]: assume body is always available\n return node.ownerDocument.body;\n }\n\n if (isHTMLElement(node) && isScrollParent(node)) {\n return node;\n }\n\n return getScrollParent(getParentNode(node));\n}","import getScrollParent from \"./getScrollParent.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport getWindow from \"./getWindow.js\";\nimport isScrollParent from \"./isScrollParent.js\";\n/*\ngiven a DOM element, return the list of all scroll parents, up the list of ancesors\nuntil we get to the top window object. This list is what we attach scroll listeners\nto, because if any of these parent elements scroll, we'll need to re-calculate the\nreference element's position.\n*/\n\nexport default function listScrollParents(element, list) {\n var _element$ownerDocumen;\n\n if (list === void 0) {\n list = [];\n }\n\n var scrollParent = getScrollParent(element);\n var isBody = scrollParent === ((_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body);\n var win = getWindow(scrollParent);\n var target = isBody ? [win].concat(win.visualViewport || [], isScrollParent(scrollParent) ? scrollParent : []) : scrollParent;\n var updatedList = list.concat(target);\n return isBody ? updatedList : // $FlowFixMe[incompatible-call]: isBody tells us target will be an HTMLElement here\n updatedList.concat(listScrollParents(getParentNode(target)));\n}","export default function rectToClientRect(rect) {\n return Object.assign({}, rect, {\n left: rect.x,\n top: rect.y,\n right: rect.x + rect.width,\n bottom: rect.y + rect.height\n });\n}","import { viewport } from \"../enums.js\";\nimport getViewportRect from \"./getViewportRect.js\";\nimport getDocumentRect from \"./getDocumentRect.js\";\nimport listScrollParents from \"./listScrollParents.js\";\nimport getOffsetParent from \"./getOffsetParent.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport { isElement, isHTMLElement } from \"./instanceOf.js\";\nimport getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport contains from \"./contains.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport rectToClientRect from \"../utils/rectToClientRect.js\";\nimport { max, min } from \"../utils/math.js\";\n\nfunction getInnerBoundingClientRect(element, strategy) {\n var rect = getBoundingClientRect(element, false, strategy === 'fixed');\n rect.top = rect.top + element.clientTop;\n rect.left = rect.left + element.clientLeft;\n rect.bottom = rect.top + element.clientHeight;\n rect.right = rect.left + element.clientWidth;\n rect.width = element.clientWidth;\n rect.height = element.clientHeight;\n rect.x = rect.left;\n rect.y = rect.top;\n return rect;\n}\n\nfunction getClientRectFromMixedType(element, clippingParent, strategy) {\n return clippingParent === viewport ? rectToClientRect(getViewportRect(element, strategy)) : isElement(clippingParent) ? getInnerBoundingClientRect(clippingParent, strategy) : rectToClientRect(getDocumentRect(getDocumentElement(element)));\n} // A \"clipping parent\" is an overflowable container with the characteristic of\n// clipping (or hiding) overflowing elements with a position different from\n// `initial`\n\n\nfunction getClippingParents(element) {\n var clippingParents = listScrollParents(getParentNode(element));\n var canEscapeClipping = ['absolute', 'fixed'].indexOf(getComputedStyle(element).position) >= 0;\n var clipperElement = canEscapeClipping && isHTMLElement(element) ? getOffsetParent(element) : element;\n\n if (!isElement(clipperElement)) {\n return [];\n } // $FlowFixMe[incompatible-return]: https://github.com/facebook/flow/issues/1414\n\n\n return clippingParents.filter(function (clippingParent) {\n return isElement(clippingParent) && contains(clippingParent, clipperElement) && getNodeName(clippingParent) !== 'body';\n });\n} // Gets the maximum area that the element is visible in due to any number of\n// clipping parents\n\n\nexport default function getClippingRect(element, boundary, rootBoundary, strategy) {\n var mainClippingParents = boundary === 'clippingParents' ? getClippingParents(element) : [].concat(boundary);\n var clippingParents = [].concat(mainClippingParents, [rootBoundary]);\n var firstClippingParent = clippingParents[0];\n var clippingRect = clippingParents.reduce(function (accRect, clippingParent) {\n var rect = getClientRectFromMixedType(element, clippingParent, strategy);\n accRect.top = max(rect.top, accRect.top);\n accRect.right = min(rect.right, accRect.right);\n accRect.bottom = min(rect.bottom, accRect.bottom);\n accRect.left = max(rect.left, accRect.left);\n return accRect;\n }, getClientRectFromMixedType(element, firstClippingParent, strategy));\n clippingRect.width = clippingRect.right - clippingRect.left;\n clippingRect.height = clippingRect.bottom - clippingRect.top;\n clippingRect.x = clippingRect.left;\n clippingRect.y = clippingRect.top;\n return clippingRect;\n}","import getWindow from \"./getWindow.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport isLayoutViewport from \"./isLayoutViewport.js\";\nexport default function getViewportRect(element, strategy) {\n var win = getWindow(element);\n var html = getDocumentElement(element);\n var visualViewport = win.visualViewport;\n var width = html.clientWidth;\n var height = html.clientHeight;\n var x = 0;\n var y = 0;\n\n if (visualViewport) {\n width = visualViewport.width;\n height = visualViewport.height;\n var layoutViewport = isLayoutViewport();\n\n if (layoutViewport || !layoutViewport && strategy === 'fixed') {\n x = visualViewport.offsetLeft;\n y = visualViewport.offsetTop;\n }\n }\n\n return {\n width: width,\n height: height,\n x: x + getWindowScrollBarX(element),\n y: y\n };\n}","import getDocumentElement from \"./getDocumentElement.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport getWindowScroll from \"./getWindowScroll.js\";\nimport { max } from \"../utils/math.js\"; // Gets the entire size of the scrollable document area, even extending outside\n// of the `` and `` rect bounds if horizontally scrollable\n\nexport default function getDocumentRect(element) {\n var _element$ownerDocumen;\n\n var html = getDocumentElement(element);\n var winScroll = getWindowScroll(element);\n var body = (_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body;\n var width = max(html.scrollWidth, html.clientWidth, body ? body.scrollWidth : 0, body ? body.clientWidth : 0);\n var height = max(html.scrollHeight, html.clientHeight, body ? body.scrollHeight : 0, body ? body.clientHeight : 0);\n var x = -winScroll.scrollLeft + getWindowScrollBarX(element);\n var y = -winScroll.scrollTop;\n\n if (getComputedStyle(body || html).direction === 'rtl') {\n x += max(html.clientWidth, body ? body.clientWidth : 0) - width;\n }\n\n return {\n width: width,\n height: height,\n x: x,\n y: y\n };\n}","import getBasePlacement from \"./getBasePlacement.js\";\nimport getVariation from \"./getVariation.js\";\nimport getMainAxisFromPlacement from \"./getMainAxisFromPlacement.js\";\nimport { top, right, bottom, left, start, end } from \"../enums.js\";\nexport default function computeOffsets(_ref) {\n var reference = _ref.reference,\n element = _ref.element,\n placement = _ref.placement;\n var basePlacement = placement ? getBasePlacement(placement) : null;\n var variation = placement ? getVariation(placement) : null;\n var commonX = reference.x + reference.width / 2 - element.width / 2;\n var commonY = reference.y + reference.height / 2 - element.height / 2;\n var offsets;\n\n switch (basePlacement) {\n case top:\n offsets = {\n x: commonX,\n y: reference.y - element.height\n };\n break;\n\n case bottom:\n offsets = {\n x: commonX,\n y: reference.y + reference.height\n };\n break;\n\n case right:\n offsets = {\n x: reference.x + reference.width,\n y: commonY\n };\n break;\n\n case left:\n offsets = {\n x: reference.x - element.width,\n y: commonY\n };\n break;\n\n default:\n offsets = {\n x: reference.x,\n y: reference.y\n };\n }\n\n var mainAxis = basePlacement ? getMainAxisFromPlacement(basePlacement) : null;\n\n if (mainAxis != null) {\n var len = mainAxis === 'y' ? 'height' : 'width';\n\n switch (variation) {\n case start:\n offsets[mainAxis] = offsets[mainAxis] - (reference[len] / 2 - element[len] / 2);\n break;\n\n case end:\n offsets[mainAxis] = offsets[mainAxis] + (reference[len] / 2 - element[len] / 2);\n break;\n\n default:\n }\n }\n\n return offsets;\n}","import getClippingRect from \"../dom-utils/getClippingRect.js\";\nimport getDocumentElement from \"../dom-utils/getDocumentElement.js\";\nimport getBoundingClientRect from \"../dom-utils/getBoundingClientRect.js\";\nimport computeOffsets from \"./computeOffsets.js\";\nimport rectToClientRect from \"./rectToClientRect.js\";\nimport { clippingParents, reference, popper, bottom, top, right, basePlacements, viewport } from \"../enums.js\";\nimport { isElement } from \"../dom-utils/instanceOf.js\";\nimport mergePaddingObject from \"./mergePaddingObject.js\";\nimport expandToHashMap from \"./expandToHashMap.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport default function detectOverflow(state, options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options = options,\n _options$placement = _options.placement,\n placement = _options$placement === void 0 ? state.placement : _options$placement,\n _options$strategy = _options.strategy,\n strategy = _options$strategy === void 0 ? state.strategy : _options$strategy,\n _options$boundary = _options.boundary,\n boundary = _options$boundary === void 0 ? clippingParents : _options$boundary,\n _options$rootBoundary = _options.rootBoundary,\n rootBoundary = _options$rootBoundary === void 0 ? viewport : _options$rootBoundary,\n _options$elementConte = _options.elementContext,\n elementContext = _options$elementConte === void 0 ? popper : _options$elementConte,\n _options$altBoundary = _options.altBoundary,\n altBoundary = _options$altBoundary === void 0 ? false : _options$altBoundary,\n _options$padding = _options.padding,\n padding = _options$padding === void 0 ? 0 : _options$padding;\n var paddingObject = mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements));\n var altContext = elementContext === popper ? reference : popper;\n var popperRect = state.rects.popper;\n var element = state.elements[altBoundary ? altContext : elementContext];\n var clippingClientRect = getClippingRect(isElement(element) ? element : element.contextElement || getDocumentElement(state.elements.popper), boundary, rootBoundary, strategy);\n var referenceClientRect = getBoundingClientRect(state.elements.reference);\n var popperOffsets = computeOffsets({\n reference: referenceClientRect,\n element: popperRect,\n strategy: 'absolute',\n placement: placement\n });\n var popperClientRect = rectToClientRect(Object.assign({}, popperRect, popperOffsets));\n var elementClientRect = elementContext === popper ? popperClientRect : referenceClientRect; // positive = overflowing the clipping rect\n // 0 or negative = within the clipping rect\n\n var overflowOffsets = {\n top: clippingClientRect.top - elementClientRect.top + paddingObject.top,\n bottom: elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom,\n left: clippingClientRect.left - elementClientRect.left + paddingObject.left,\n right: elementClientRect.right - clippingClientRect.right + paddingObject.right\n };\n var offsetData = state.modifiersData.offset; // Offsets can be applied only to the popper element\n\n if (elementContext === popper && offsetData) {\n var offset = offsetData[placement];\n Object.keys(overflowOffsets).forEach(function (key) {\n var multiply = [right, bottom].indexOf(key) >= 0 ? 1 : -1;\n var axis = [top, bottom].indexOf(key) >= 0 ? 'y' : 'x';\n overflowOffsets[key] += offset[axis] * multiply;\n });\n }\n\n return overflowOffsets;\n}","import getOppositePlacement from \"../utils/getOppositePlacement.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getOppositeVariationPlacement from \"../utils/getOppositeVariationPlacement.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\nimport computeAutoPlacement from \"../utils/computeAutoPlacement.js\";\nimport { bottom, top, start, right, left, auto } from \"../enums.js\";\nimport getVariation from \"../utils/getVariation.js\"; // eslint-disable-next-line import/no-unused-modules\n\nfunction getExpandedFallbackPlacements(placement) {\n if (getBasePlacement(placement) === auto) {\n return [];\n }\n\n var oppositePlacement = getOppositePlacement(placement);\n return [getOppositeVariationPlacement(placement), oppositePlacement, getOppositeVariationPlacement(oppositePlacement)];\n}\n\nfunction flip(_ref) {\n var state = _ref.state,\n options = _ref.options,\n name = _ref.name;\n\n if (state.modifiersData[name]._skip) {\n return;\n }\n\n var _options$mainAxis = options.mainAxis,\n checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis,\n _options$altAxis = options.altAxis,\n checkAltAxis = _options$altAxis === void 0 ? true : _options$altAxis,\n specifiedFallbackPlacements = options.fallbackPlacements,\n padding = options.padding,\n boundary = options.boundary,\n rootBoundary = options.rootBoundary,\n altBoundary = options.altBoundary,\n _options$flipVariatio = options.flipVariations,\n flipVariations = _options$flipVariatio === void 0 ? true : _options$flipVariatio,\n allowedAutoPlacements = options.allowedAutoPlacements;\n var preferredPlacement = state.options.placement;\n var basePlacement = getBasePlacement(preferredPlacement);\n var isBasePlacement = basePlacement === preferredPlacement;\n var fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipVariations ? [getOppositePlacement(preferredPlacement)] : getExpandedFallbackPlacements(preferredPlacement));\n var placements = [preferredPlacement].concat(fallbackPlacements).reduce(function (acc, placement) {\n return acc.concat(getBasePlacement(placement) === auto ? computeAutoPlacement(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding,\n flipVariations: flipVariations,\n allowedAutoPlacements: allowedAutoPlacements\n }) : placement);\n }, []);\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var checksMap = new Map();\n var makeFallbackChecks = true;\n var firstFittingPlacement = placements[0];\n\n for (var i = 0; i < placements.length; i++) {\n var placement = placements[i];\n\n var _basePlacement = getBasePlacement(placement);\n\n var isStartVariation = getVariation(placement) === start;\n var isVertical = [top, bottom].indexOf(_basePlacement) >= 0;\n var len = isVertical ? 'width' : 'height';\n var overflow = detectOverflow(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n altBoundary: altBoundary,\n padding: padding\n });\n var mainVariationSide = isVertical ? isStartVariation ? right : left : isStartVariation ? bottom : top;\n\n if (referenceRect[len] > popperRect[len]) {\n mainVariationSide = getOppositePlacement(mainVariationSide);\n }\n\n var altVariationSide = getOppositePlacement(mainVariationSide);\n var checks = [];\n\n if (checkMainAxis) {\n checks.push(overflow[_basePlacement] <= 0);\n }\n\n if (checkAltAxis) {\n checks.push(overflow[mainVariationSide] <= 0, overflow[altVariationSide] <= 0);\n }\n\n if (checks.every(function (check) {\n return check;\n })) {\n firstFittingPlacement = placement;\n makeFallbackChecks = false;\n break;\n }\n\n checksMap.set(placement, checks);\n }\n\n if (makeFallbackChecks) {\n // `2` may be desired in some cases – research later\n var numberOfChecks = flipVariations ? 3 : 1;\n\n var _loop = function _loop(_i) {\n var fittingPlacement = placements.find(function (placement) {\n var checks = checksMap.get(placement);\n\n if (checks) {\n return checks.slice(0, _i).every(function (check) {\n return check;\n });\n }\n });\n\n if (fittingPlacement) {\n firstFittingPlacement = fittingPlacement;\n return \"break\";\n }\n };\n\n for (var _i = numberOfChecks; _i > 0; _i--) {\n var _ret = _loop(_i);\n\n if (_ret === \"break\") break;\n }\n }\n\n if (state.placement !== firstFittingPlacement) {\n state.modifiersData[name]._skip = true;\n state.placement = firstFittingPlacement;\n state.reset = true;\n }\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'flip',\n enabled: true,\n phase: 'main',\n fn: flip,\n requiresIfExists: ['offset'],\n data: {\n _skip: false\n }\n};","import getVariation from \"./getVariation.js\";\nimport { variationPlacements, basePlacements, placements as allPlacements } from \"../enums.js\";\nimport detectOverflow from \"./detectOverflow.js\";\nimport getBasePlacement from \"./getBasePlacement.js\";\nexport default function computeAutoPlacement(state, options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options = options,\n placement = _options.placement,\n boundary = _options.boundary,\n rootBoundary = _options.rootBoundary,\n padding = _options.padding,\n flipVariations = _options.flipVariations,\n _options$allowedAutoP = _options.allowedAutoPlacements,\n allowedAutoPlacements = _options$allowedAutoP === void 0 ? allPlacements : _options$allowedAutoP;\n var variation = getVariation(placement);\n var placements = variation ? flipVariations ? variationPlacements : variationPlacements.filter(function (placement) {\n return getVariation(placement) === variation;\n }) : basePlacements;\n var allowedPlacements = placements.filter(function (placement) {\n return allowedAutoPlacements.indexOf(placement) >= 0;\n });\n\n if (allowedPlacements.length === 0) {\n allowedPlacements = placements;\n } // $FlowFixMe[incompatible-type]: Flow seems to have problems with two array unions...\n\n\n var overflows = allowedPlacements.reduce(function (acc, placement) {\n acc[placement] = detectOverflow(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding\n })[getBasePlacement(placement)];\n return acc;\n }, {});\n return Object.keys(overflows).sort(function (a, b) {\n return overflows[a] - overflows[b];\n });\n}","import { top, bottom, left, right } from \"../enums.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\n\nfunction getSideOffsets(overflow, rect, preventedOffsets) {\n if (preventedOffsets === void 0) {\n preventedOffsets = {\n x: 0,\n y: 0\n };\n }\n\n return {\n top: overflow.top - rect.height - preventedOffsets.y,\n right: overflow.right - rect.width + preventedOffsets.x,\n bottom: overflow.bottom - rect.height + preventedOffsets.y,\n left: overflow.left - rect.width - preventedOffsets.x\n };\n}\n\nfunction isAnySideFullyClipped(overflow) {\n return [top, right, bottom, left].some(function (side) {\n return overflow[side] >= 0;\n });\n}\n\nfunction hide(_ref) {\n var state = _ref.state,\n name = _ref.name;\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var preventedOffsets = state.modifiersData.preventOverflow;\n var referenceOverflow = detectOverflow(state, {\n elementContext: 'reference'\n });\n var popperAltOverflow = detectOverflow(state, {\n altBoundary: true\n });\n var referenceClippingOffsets = getSideOffsets(referenceOverflow, referenceRect);\n var popperEscapeOffsets = getSideOffsets(popperAltOverflow, popperRect, preventedOffsets);\n var isReferenceHidden = isAnySideFullyClipped(referenceClippingOffsets);\n var hasPopperEscaped = isAnySideFullyClipped(popperEscapeOffsets);\n state.modifiersData[name] = {\n referenceClippingOffsets: referenceClippingOffsets,\n popperEscapeOffsets: popperEscapeOffsets,\n isReferenceHidden: isReferenceHidden,\n hasPopperEscaped: hasPopperEscaped\n };\n state.attributes.popper = Object.assign({}, state.attributes.popper, {\n 'data-popper-reference-hidden': isReferenceHidden,\n 'data-popper-escaped': hasPopperEscaped\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'hide',\n enabled: true,\n phase: 'main',\n requiresIfExists: ['preventOverflow'],\n fn: hide\n};","import getBasePlacement from \"../utils/getBasePlacement.js\";\nimport { top, left, right, placements } from \"../enums.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport function distanceAndSkiddingToXY(placement, rects, offset) {\n var basePlacement = getBasePlacement(placement);\n var invertDistance = [left, top].indexOf(basePlacement) >= 0 ? -1 : 1;\n\n var _ref = typeof offset === 'function' ? offset(Object.assign({}, rects, {\n placement: placement\n })) : offset,\n skidding = _ref[0],\n distance = _ref[1];\n\n skidding = skidding || 0;\n distance = (distance || 0) * invertDistance;\n return [left, right].indexOf(basePlacement) >= 0 ? {\n x: distance,\n y: skidding\n } : {\n x: skidding,\n y: distance\n };\n}\n\nfunction offset(_ref2) {\n var state = _ref2.state,\n options = _ref2.options,\n name = _ref2.name;\n var _options$offset = options.offset,\n offset = _options$offset === void 0 ? [0, 0] : _options$offset;\n var data = placements.reduce(function (acc, placement) {\n acc[placement] = distanceAndSkiddingToXY(placement, state.rects, offset);\n return acc;\n }, {});\n var _data$state$placement = data[state.placement],\n x = _data$state$placement.x,\n y = _data$state$placement.y;\n\n if (state.modifiersData.popperOffsets != null) {\n state.modifiersData.popperOffsets.x += x;\n state.modifiersData.popperOffsets.y += y;\n }\n\n state.modifiersData[name] = data;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'offset',\n enabled: true,\n phase: 'main',\n requires: ['popperOffsets'],\n fn: offset\n};","import computeOffsets from \"../utils/computeOffsets.js\";\n\nfunction popperOffsets(_ref) {\n var state = _ref.state,\n name = _ref.name;\n // Offsets are the actual position the popper needs to have to be\n // properly positioned near its reference element\n // This is the most basic placement, and will be adjusted by\n // the modifiers in the next step\n state.modifiersData[name] = computeOffsets({\n reference: state.rects.reference,\n element: state.rects.popper,\n strategy: 'absolute',\n placement: state.placement\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'popperOffsets',\n enabled: true,\n phase: 'read',\n fn: popperOffsets,\n data: {}\n};","import { top, left, right, bottom, start } from \"../enums.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getMainAxisFromPlacement from \"../utils/getMainAxisFromPlacement.js\";\nimport getAltAxis from \"../utils/getAltAxis.js\";\nimport { within, withinMaxClamp } from \"../utils/within.js\";\nimport getLayoutRect from \"../dom-utils/getLayoutRect.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\nimport getVariation from \"../utils/getVariation.js\";\nimport getFreshSideObject from \"../utils/getFreshSideObject.js\";\nimport { min as mathMin, max as mathMax } from \"../utils/math.js\";\n\nfunction preventOverflow(_ref) {\n var state = _ref.state,\n options = _ref.options,\n name = _ref.name;\n var _options$mainAxis = options.mainAxis,\n checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis,\n _options$altAxis = options.altAxis,\n checkAltAxis = _options$altAxis === void 0 ? false : _options$altAxis,\n boundary = options.boundary,\n rootBoundary = options.rootBoundary,\n altBoundary = options.altBoundary,\n padding = options.padding,\n _options$tether = options.tether,\n tether = _options$tether === void 0 ? true : _options$tether,\n _options$tetherOffset = options.tetherOffset,\n tetherOffset = _options$tetherOffset === void 0 ? 0 : _options$tetherOffset;\n var overflow = detectOverflow(state, {\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding,\n altBoundary: altBoundary\n });\n var basePlacement = getBasePlacement(state.placement);\n var variation = getVariation(state.placement);\n var isBasePlacement = !variation;\n var mainAxis = getMainAxisFromPlacement(basePlacement);\n var altAxis = getAltAxis(mainAxis);\n var popperOffsets = state.modifiersData.popperOffsets;\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var tetherOffsetValue = typeof tetherOffset === 'function' ? tetherOffset(Object.assign({}, state.rects, {\n placement: state.placement\n })) : tetherOffset;\n var normalizedTetherOffsetValue = typeof tetherOffsetValue === 'number' ? {\n mainAxis: tetherOffsetValue,\n altAxis: tetherOffsetValue\n } : Object.assign({\n mainAxis: 0,\n altAxis: 0\n }, tetherOffsetValue);\n var offsetModifierState = state.modifiersData.offset ? state.modifiersData.offset[state.placement] : null;\n var data = {\n x: 0,\n y: 0\n };\n\n if (!popperOffsets) {\n return;\n }\n\n if (checkMainAxis) {\n var _offsetModifierState$;\n\n var mainSide = mainAxis === 'y' ? top : left;\n var altSide = mainAxis === 'y' ? bottom : right;\n var len = mainAxis === 'y' ? 'height' : 'width';\n var offset = popperOffsets[mainAxis];\n var min = offset + overflow[mainSide];\n var max = offset - overflow[altSide];\n var additive = tether ? -popperRect[len] / 2 : 0;\n var minLen = variation === start ? referenceRect[len] : popperRect[len];\n var maxLen = variation === start ? -popperRect[len] : -referenceRect[len]; // We need to include the arrow in the calculation so the arrow doesn't go\n // outside the reference bounds\n\n var arrowElement = state.elements.arrow;\n var arrowRect = tether && arrowElement ? getLayoutRect(arrowElement) : {\n width: 0,\n height: 0\n };\n var arrowPaddingObject = state.modifiersData['arrow#persistent'] ? state.modifiersData['arrow#persistent'].padding : getFreshSideObject();\n var arrowPaddingMin = arrowPaddingObject[mainSide];\n var arrowPaddingMax = arrowPaddingObject[altSide]; // If the reference length is smaller than the arrow length, we don't want\n // to include its full size in the calculation. If the reference is small\n // and near the edge of a boundary, the popper can overflow even if the\n // reference is not overflowing as well (e.g. virtual elements with no\n // width or height)\n\n var arrowLen = within(0, referenceRect[len], arrowRect[len]);\n var minOffset = isBasePlacement ? referenceRect[len] / 2 - additive - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis : minLen - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis;\n var maxOffset = isBasePlacement ? -referenceRect[len] / 2 + additive + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis : maxLen + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis;\n var arrowOffsetParent = state.elements.arrow && getOffsetParent(state.elements.arrow);\n var clientOffset = arrowOffsetParent ? mainAxis === 'y' ? arrowOffsetParent.clientTop || 0 : arrowOffsetParent.clientLeft || 0 : 0;\n var offsetModifierValue = (_offsetModifierState$ = offsetModifierState == null ? void 0 : offsetModifierState[mainAxis]) != null ? _offsetModifierState$ : 0;\n var tetherMin = offset + minOffset - offsetModifierValue - clientOffset;\n var tetherMax = offset + maxOffset - offsetModifierValue;\n var preventedOffset = within(tether ? mathMin(min, tetherMin) : min, offset, tether ? mathMax(max, tetherMax) : max);\n popperOffsets[mainAxis] = preventedOffset;\n data[mainAxis] = preventedOffset - offset;\n }\n\n if (checkAltAxis) {\n var _offsetModifierState$2;\n\n var _mainSide = mainAxis === 'x' ? top : left;\n\n var _altSide = mainAxis === 'x' ? bottom : right;\n\n var _offset = popperOffsets[altAxis];\n\n var _len = altAxis === 'y' ? 'height' : 'width';\n\n var _min = _offset + overflow[_mainSide];\n\n var _max = _offset - overflow[_altSide];\n\n var isOriginSide = [top, left].indexOf(basePlacement) !== -1;\n\n var _offsetModifierValue = (_offsetModifierState$2 = offsetModifierState == null ? void 0 : offsetModifierState[altAxis]) != null ? _offsetModifierState$2 : 0;\n\n var _tetherMin = isOriginSide ? _min : _offset - referenceRect[_len] - popperRect[_len] - _offsetModifierValue + normalizedTetherOffsetValue.altAxis;\n\n var _tetherMax = isOriginSide ? _offset + referenceRect[_len] + popperRect[_len] - _offsetModifierValue - normalizedTetherOffsetValue.altAxis : _max;\n\n var _preventedOffset = tether && isOriginSide ? withinMaxClamp(_tetherMin, _offset, _tetherMax) : within(tether ? _tetherMin : _min, _offset, tether ? _tetherMax : _max);\n\n popperOffsets[altAxis] = _preventedOffset;\n data[altAxis] = _preventedOffset - _offset;\n }\n\n state.modifiersData[name] = data;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'preventOverflow',\n enabled: true,\n phase: 'main',\n fn: preventOverflow,\n requiresIfExists: ['offset']\n};","export default function getAltAxis(axis) {\n return axis === 'x' ? 'y' : 'x';\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getNodeScroll from \"./getNodeScroll.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport isScrollParent from \"./isScrollParent.js\";\nimport { round } from \"../utils/math.js\";\n\nfunction isElementScaled(element) {\n var rect = element.getBoundingClientRect();\n var scaleX = round(rect.width) / element.offsetWidth || 1;\n var scaleY = round(rect.height) / element.offsetHeight || 1;\n return scaleX !== 1 || scaleY !== 1;\n} // Returns the composite rect of an element relative to its offsetParent.\n// Composite means it takes into account transforms as well as layout.\n\n\nexport default function getCompositeRect(elementOrVirtualElement, offsetParent, isFixed) {\n if (isFixed === void 0) {\n isFixed = false;\n }\n\n var isOffsetParentAnElement = isHTMLElement(offsetParent);\n var offsetParentIsScaled = isHTMLElement(offsetParent) && isElementScaled(offsetParent);\n var documentElement = getDocumentElement(offsetParent);\n var rect = getBoundingClientRect(elementOrVirtualElement, offsetParentIsScaled, isFixed);\n var scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n var offsets = {\n x: 0,\n y: 0\n };\n\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== 'body' || // https://github.com/popperjs/popper-core/issues/1078\n isScrollParent(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n\n if (isHTMLElement(offsetParent)) {\n offsets = getBoundingClientRect(offsetParent, true);\n offsets.x += offsetParent.clientLeft;\n offsets.y += offsetParent.clientTop;\n } else if (documentElement) {\n offsets.x = getWindowScrollBarX(documentElement);\n }\n }\n\n return {\n x: rect.left + scroll.scrollLeft - offsets.x,\n y: rect.top + scroll.scrollTop - offsets.y,\n width: rect.width,\n height: rect.height\n };\n}","import getWindowScroll from \"./getWindowScroll.js\";\nimport getWindow from \"./getWindow.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nimport getHTMLElementScroll from \"./getHTMLElementScroll.js\";\nexport default function getNodeScroll(node) {\n if (node === getWindow(node) || !isHTMLElement(node)) {\n return getWindowScroll(node);\n } else {\n return getHTMLElementScroll(node);\n }\n}","export default function getHTMLElementScroll(element) {\n return {\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop\n };\n}","import { modifierPhases } from \"../enums.js\"; // source: https://stackoverflow.com/questions/49875255\n\nfunction order(modifiers) {\n var map = new Map();\n var visited = new Set();\n var result = [];\n modifiers.forEach(function (modifier) {\n map.set(modifier.name, modifier);\n }); // On visiting object, check for its dependencies and visit them recursively\n\n function sort(modifier) {\n visited.add(modifier.name);\n var requires = [].concat(modifier.requires || [], modifier.requiresIfExists || []);\n requires.forEach(function (dep) {\n if (!visited.has(dep)) {\n var depModifier = map.get(dep);\n\n if (depModifier) {\n sort(depModifier);\n }\n }\n });\n result.push(modifier);\n }\n\n modifiers.forEach(function (modifier) {\n if (!visited.has(modifier.name)) {\n // check for visited object\n sort(modifier);\n }\n });\n return result;\n}\n\nexport default function orderModifiers(modifiers) {\n // order based on dependencies\n var orderedModifiers = order(modifiers); // order based on phase\n\n return modifierPhases.reduce(function (acc, phase) {\n return acc.concat(orderedModifiers.filter(function (modifier) {\n return modifier.phase === phase;\n }));\n }, []);\n}","import getCompositeRect from \"./dom-utils/getCompositeRect.js\";\nimport getLayoutRect from \"./dom-utils/getLayoutRect.js\";\nimport listScrollParents from \"./dom-utils/listScrollParents.js\";\nimport getOffsetParent from \"./dom-utils/getOffsetParent.js\";\nimport orderModifiers from \"./utils/orderModifiers.js\";\nimport debounce from \"./utils/debounce.js\";\nimport mergeByName from \"./utils/mergeByName.js\";\nimport detectOverflow from \"./utils/detectOverflow.js\";\nimport { isElement } from \"./dom-utils/instanceOf.js\";\nvar DEFAULT_OPTIONS = {\n placement: 'bottom',\n modifiers: [],\n strategy: 'absolute'\n};\n\nfunction areValidElements() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return !args.some(function (element) {\n return !(element && typeof element.getBoundingClientRect === 'function');\n });\n}\n\nexport function popperGenerator(generatorOptions) {\n if (generatorOptions === void 0) {\n generatorOptions = {};\n }\n\n var _generatorOptions = generatorOptions,\n _generatorOptions$def = _generatorOptions.defaultModifiers,\n defaultModifiers = _generatorOptions$def === void 0 ? [] : _generatorOptions$def,\n _generatorOptions$def2 = _generatorOptions.defaultOptions,\n defaultOptions = _generatorOptions$def2 === void 0 ? DEFAULT_OPTIONS : _generatorOptions$def2;\n return function createPopper(reference, popper, options) {\n if (options === void 0) {\n options = defaultOptions;\n }\n\n var state = {\n placement: 'bottom',\n orderedModifiers: [],\n options: Object.assign({}, DEFAULT_OPTIONS, defaultOptions),\n modifiersData: {},\n elements: {\n reference: reference,\n popper: popper\n },\n attributes: {},\n styles: {}\n };\n var effectCleanupFns = [];\n var isDestroyed = false;\n var instance = {\n state: state,\n setOptions: function setOptions(setOptionsAction) {\n var options = typeof setOptionsAction === 'function' ? setOptionsAction(state.options) : setOptionsAction;\n cleanupModifierEffects();\n state.options = Object.assign({}, defaultOptions, state.options, options);\n state.scrollParents = {\n reference: isElement(reference) ? listScrollParents(reference) : reference.contextElement ? listScrollParents(reference.contextElement) : [],\n popper: listScrollParents(popper)\n }; // Orders the modifiers based on their dependencies and `phase`\n // properties\n\n var orderedModifiers = orderModifiers(mergeByName([].concat(defaultModifiers, state.options.modifiers))); // Strip out disabled modifiers\n\n state.orderedModifiers = orderedModifiers.filter(function (m) {\n return m.enabled;\n });\n runModifierEffects();\n return instance.update();\n },\n // Sync update – it will always be executed, even if not necessary. This\n // is useful for low frequency updates where sync behavior simplifies the\n // logic.\n // For high frequency updates (e.g. `resize` and `scroll` events), always\n // prefer the async Popper#update method\n forceUpdate: function forceUpdate() {\n if (isDestroyed) {\n return;\n }\n\n var _state$elements = state.elements,\n reference = _state$elements.reference,\n popper = _state$elements.popper; // Don't proceed if `reference` or `popper` are not valid elements\n // anymore\n\n if (!areValidElements(reference, popper)) {\n return;\n } // Store the reference and popper rects to be read by modifiers\n\n\n state.rects = {\n reference: getCompositeRect(reference, getOffsetParent(popper), state.options.strategy === 'fixed'),\n popper: getLayoutRect(popper)\n }; // Modifiers have the ability to reset the current update cycle. The\n // most common use case for this is the `flip` modifier changing the\n // placement, which then needs to re-run all the modifiers, because the\n // logic was previously ran for the previous placement and is therefore\n // stale/incorrect\n\n state.reset = false;\n state.placement = state.options.placement; // On each update cycle, the `modifiersData` property for each modifier\n // is filled with the initial data specified by the modifier. This means\n // it doesn't persist and is fresh on each update.\n // To ensure persistent data, use `${name}#persistent`\n\n state.orderedModifiers.forEach(function (modifier) {\n return state.modifiersData[modifier.name] = Object.assign({}, modifier.data);\n });\n\n for (var index = 0; index < state.orderedModifiers.length; index++) {\n if (state.reset === true) {\n state.reset = false;\n index = -1;\n continue;\n }\n\n var _state$orderedModifie = state.orderedModifiers[index],\n fn = _state$orderedModifie.fn,\n _state$orderedModifie2 = _state$orderedModifie.options,\n _options = _state$orderedModifie2 === void 0 ? {} : _state$orderedModifie2,\n name = _state$orderedModifie.name;\n\n if (typeof fn === 'function') {\n state = fn({\n state: state,\n options: _options,\n name: name,\n instance: instance\n }) || state;\n }\n }\n },\n // Async and optimistically optimized update – it will not be executed if\n // not necessary (debounced to run at most once-per-tick)\n update: debounce(function () {\n return new Promise(function (resolve) {\n instance.forceUpdate();\n resolve(state);\n });\n }),\n destroy: function destroy() {\n cleanupModifierEffects();\n isDestroyed = true;\n }\n };\n\n if (!areValidElements(reference, popper)) {\n return instance;\n }\n\n instance.setOptions(options).then(function (state) {\n if (!isDestroyed && options.onFirstUpdate) {\n options.onFirstUpdate(state);\n }\n }); // Modifiers have the ability to execute arbitrary code before the first\n // update cycle runs. They will be executed in the same order as the update\n // cycle. This is useful when a modifier adds some persistent data that\n // other modifiers need to use, but the modifier is run after the dependent\n // one.\n\n function runModifierEffects() {\n state.orderedModifiers.forEach(function (_ref) {\n var name = _ref.name,\n _ref$options = _ref.options,\n options = _ref$options === void 0 ? {} : _ref$options,\n effect = _ref.effect;\n\n if (typeof effect === 'function') {\n var cleanupFn = effect({\n state: state,\n name: name,\n instance: instance,\n options: options\n });\n\n var noopFn = function noopFn() {};\n\n effectCleanupFns.push(cleanupFn || noopFn);\n }\n });\n }\n\n function cleanupModifierEffects() {\n effectCleanupFns.forEach(function (fn) {\n return fn();\n });\n effectCleanupFns = [];\n }\n\n return instance;\n };\n}\nexport var createPopper = /*#__PURE__*/popperGenerator(); // eslint-disable-next-line import/no-unused-modules\n\nexport { detectOverflow };","export default function debounce(fn) {\n var pending;\n return function () {\n if (!pending) {\n pending = new Promise(function (resolve) {\n Promise.resolve().then(function () {\n pending = undefined;\n resolve(fn());\n });\n });\n }\n\n return pending;\n };\n}","export default function mergeByName(modifiers) {\n var merged = modifiers.reduce(function (merged, current) {\n var existing = merged[current.name];\n merged[current.name] = existing ? Object.assign({}, existing, current, {\n options: Object.assign({}, existing.options, current.options),\n data: Object.assign({}, existing.data, current.data)\n }) : current;\n return merged;\n }, {}); // IE11 does not support Object.values\n\n return Object.keys(merged).map(function (key) {\n return merged[key];\n });\n}","import { popperGenerator, detectOverflow } from \"./createPopper.js\";\nimport eventListeners from \"./modifiers/eventListeners.js\";\nimport popperOffsets from \"./modifiers/popperOffsets.js\";\nimport computeStyles from \"./modifiers/computeStyles.js\";\nimport applyStyles from \"./modifiers/applyStyles.js\";\nimport offset from \"./modifiers/offset.js\";\nimport flip from \"./modifiers/flip.js\";\nimport preventOverflow from \"./modifiers/preventOverflow.js\";\nimport arrow from \"./modifiers/arrow.js\";\nimport hide from \"./modifiers/hide.js\";\nvar defaultModifiers = [eventListeners, popperOffsets, computeStyles, applyStyles, offset, flip, preventOverflow, arrow, hide];\nvar createPopper = /*#__PURE__*/popperGenerator({\n defaultModifiers: defaultModifiers\n}); // eslint-disable-next-line import/no-unused-modules\n\nexport { createPopper, popperGenerator, defaultModifiers, detectOverflow }; // eslint-disable-next-line import/no-unused-modules\n\nexport { createPopper as createPopperLite } from \"./popper-lite.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport * from \"./modifiers/index.js\";","import { popperGenerator, detectOverflow } from \"./createPopper.js\";\nimport eventListeners from \"./modifiers/eventListeners.js\";\nimport popperOffsets from \"./modifiers/popperOffsets.js\";\nimport computeStyles from \"./modifiers/computeStyles.js\";\nimport applyStyles from \"./modifiers/applyStyles.js\";\nvar defaultModifiers = [eventListeners, popperOffsets, computeStyles, applyStyles];\nvar createPopper = /*#__PURE__*/popperGenerator({\n defaultModifiers: defaultModifiers\n}); // eslint-disable-next-line import/no-unused-modules\n\nexport { createPopper, popperGenerator, defaultModifiers, detectOverflow };","/*!\n * Bootstrap v5.3.3 (https://getbootstrap.com/)\n * Copyright 2011-2024 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\nimport * as Popper from '@popperjs/core';\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/data.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * Constants\n */\n\nconst elementMap = new Map();\nconst Data = {\n set(element, key, instance) {\n if (!elementMap.has(element)) {\n elementMap.set(element, new Map());\n }\n const instanceMap = elementMap.get(element);\n\n // make it clear we only want one instance per element\n // can be removed later when multiple key/instances are fine to be used\n if (!instanceMap.has(key) && instanceMap.size !== 0) {\n // eslint-disable-next-line no-console\n console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(instanceMap.keys())[0]}.`);\n return;\n }\n instanceMap.set(key, instance);\n },\n get(element, key) {\n if (elementMap.has(element)) {\n return elementMap.get(element).get(key) || null;\n }\n return null;\n },\n remove(element, key) {\n if (!elementMap.has(element)) {\n return;\n }\n const instanceMap = elementMap.get(element);\n instanceMap.delete(key);\n\n // free up element references if there are no instances left for an element\n if (instanceMap.size === 0) {\n elementMap.delete(element);\n }\n }\n};\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap util/index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst MAX_UID = 1000000;\nconst MILLISECONDS_MULTIPLIER = 1000;\nconst TRANSITION_END = 'transitionend';\n\n/**\n * Properly escape IDs selectors to handle weird IDs\n * @param {string} selector\n * @returns {string}\n */\nconst parseSelector = selector => {\n if (selector && window.CSS && window.CSS.escape) {\n // document.querySelector needs escaping to handle IDs (html5+) containing for instance /\n selector = selector.replace(/#([^\\s\"#']+)/g, (match, id) => `#${CSS.escape(id)}`);\n }\n return selector;\n};\n\n// Shout-out Angus Croll (https://goo.gl/pxwQGp)\nconst toType = object => {\n if (object === null || object === undefined) {\n return `${object}`;\n }\n return Object.prototype.toString.call(object).match(/\\s([a-z]+)/i)[1].toLowerCase();\n};\n\n/**\n * Public Util API\n */\n\nconst getUID = prefix => {\n do {\n prefix += Math.floor(Math.random() * MAX_UID);\n } while (document.getElementById(prefix));\n return prefix;\n};\nconst getTransitionDurationFromElement = element => {\n if (!element) {\n return 0;\n }\n\n // Get transition-duration of the element\n let {\n transitionDuration,\n transitionDelay\n } = window.getComputedStyle(element);\n const floatTransitionDuration = Number.parseFloat(transitionDuration);\n const floatTransitionDelay = Number.parseFloat(transitionDelay);\n\n // Return 0 if element or transition duration is not found\n if (!floatTransitionDuration && !floatTransitionDelay) {\n return 0;\n }\n\n // If multiple durations are defined, take the first\n transitionDuration = transitionDuration.split(',')[0];\n transitionDelay = transitionDelay.split(',')[0];\n return (Number.parseFloat(transitionDuration) + Number.parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER;\n};\nconst triggerTransitionEnd = element => {\n element.dispatchEvent(new Event(TRANSITION_END));\n};\nconst isElement = object => {\n if (!object || typeof object !== 'object') {\n return false;\n }\n if (typeof object.jquery !== 'undefined') {\n object = object[0];\n }\n return typeof object.nodeType !== 'undefined';\n};\nconst getElement = object => {\n // it's a jQuery object or a node element\n if (isElement(object)) {\n return object.jquery ? object[0] : object;\n }\n if (typeof object === 'string' && object.length > 0) {\n return document.querySelector(parseSelector(object));\n }\n return null;\n};\nconst isVisible = element => {\n if (!isElement(element) || element.getClientRects().length === 0) {\n return false;\n }\n const elementIsVisible = getComputedStyle(element).getPropertyValue('visibility') === 'visible';\n // Handle `details` element as its content may falsie appear visible when it is closed\n const closedDetails = element.closest('details:not([open])');\n if (!closedDetails) {\n return elementIsVisible;\n }\n if (closedDetails !== element) {\n const summary = element.closest('summary');\n if (summary && summary.parentNode !== closedDetails) {\n return false;\n }\n if (summary === null) {\n return false;\n }\n }\n return elementIsVisible;\n};\nconst isDisabled = element => {\n if (!element || element.nodeType !== Node.ELEMENT_NODE) {\n return true;\n }\n if (element.classList.contains('disabled')) {\n return true;\n }\n if (typeof element.disabled !== 'undefined') {\n return element.disabled;\n }\n return element.hasAttribute('disabled') && element.getAttribute('disabled') !== 'false';\n};\nconst findShadowRoot = element => {\n if (!document.documentElement.attachShadow) {\n return null;\n }\n\n // Can find the shadow root otherwise it'll return the document\n if (typeof element.getRootNode === 'function') {\n const root = element.getRootNode();\n return root instanceof ShadowRoot ? root : null;\n }\n if (element instanceof ShadowRoot) {\n return element;\n }\n\n // when we don't find a shadow root\n if (!element.parentNode) {\n return null;\n }\n return findShadowRoot(element.parentNode);\n};\nconst noop = () => {};\n\n/**\n * Trick to restart an element's animation\n *\n * @param {HTMLElement} element\n * @return void\n *\n * @see https://www.charistheo.io/blog/2021/02/restart-a-css-animation-with-javascript/#restarting-a-css-animation\n */\nconst reflow = element => {\n element.offsetHeight; // eslint-disable-line no-unused-expressions\n};\nconst getjQuery = () => {\n if (window.jQuery && !document.body.hasAttribute('data-bs-no-jquery')) {\n return window.jQuery;\n }\n return null;\n};\nconst DOMContentLoadedCallbacks = [];\nconst onDOMContentLoaded = callback => {\n if (document.readyState === 'loading') {\n // add listener on the first call when the document is in loading state\n if (!DOMContentLoadedCallbacks.length) {\n document.addEventListener('DOMContentLoaded', () => {\n for (const callback of DOMContentLoadedCallbacks) {\n callback();\n }\n });\n }\n DOMContentLoadedCallbacks.push(callback);\n } else {\n callback();\n }\n};\nconst isRTL = () => document.documentElement.dir === 'rtl';\nconst defineJQueryPlugin = plugin => {\n onDOMContentLoaded(() => {\n const $ = getjQuery();\n /* istanbul ignore if */\n if ($) {\n const name = plugin.NAME;\n const JQUERY_NO_CONFLICT = $.fn[name];\n $.fn[name] = plugin.jQueryInterface;\n $.fn[name].Constructor = plugin;\n $.fn[name].noConflict = () => {\n $.fn[name] = JQUERY_NO_CONFLICT;\n return plugin.jQueryInterface;\n };\n }\n });\n};\nconst execute = (possibleCallback, args = [], defaultValue = possibleCallback) => {\n return typeof possibleCallback === 'function' ? possibleCallback(...args) : defaultValue;\n};\nconst executeAfterTransition = (callback, transitionElement, waitForTransition = true) => {\n if (!waitForTransition) {\n execute(callback);\n return;\n }\n const durationPadding = 5;\n const emulatedDuration = getTransitionDurationFromElement(transitionElement) + durationPadding;\n let called = false;\n const handler = ({\n target\n }) => {\n if (target !== transitionElement) {\n return;\n }\n called = true;\n transitionElement.removeEventListener(TRANSITION_END, handler);\n execute(callback);\n };\n transitionElement.addEventListener(TRANSITION_END, handler);\n setTimeout(() => {\n if (!called) {\n triggerTransitionEnd(transitionElement);\n }\n }, emulatedDuration);\n};\n\n/**\n * Return the previous/next element of a list.\n *\n * @param {array} list The list of elements\n * @param activeElement The active element\n * @param shouldGetNext Choose to get next or previous element\n * @param isCycleAllowed\n * @return {Element|elem} The proper element\n */\nconst getNextActiveElement = (list, activeElement, shouldGetNext, isCycleAllowed) => {\n const listLength = list.length;\n let index = list.indexOf(activeElement);\n\n // if the element does not exist in the list return an element\n // depending on the direction and if cycle is allowed\n if (index === -1) {\n return !shouldGetNext && isCycleAllowed ? list[listLength - 1] : list[0];\n }\n index += shouldGetNext ? 1 : -1;\n if (isCycleAllowed) {\n index = (index + listLength) % listLength;\n }\n return list[Math.max(0, Math.min(index, listLength - 1))];\n};\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/event-handler.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n\n/**\n * Constants\n */\n\nconst namespaceRegex = /[^.]*(?=\\..*)\\.|.*/;\nconst stripNameRegex = /\\..*/;\nconst stripUidRegex = /::\\d+$/;\nconst eventRegistry = {}; // Events storage\nlet uidEvent = 1;\nconst customEvents = {\n mouseenter: 'mouseover',\n mouseleave: 'mouseout'\n};\nconst nativeEvents = new Set(['click', 'dblclick', 'mouseup', 'mousedown', 'contextmenu', 'mousewheel', 'DOMMouseScroll', 'mouseover', 'mouseout', 'mousemove', 'selectstart', 'selectend', 'keydown', 'keypress', 'keyup', 'orientationchange', 'touchstart', 'touchmove', 'touchend', 'touchcancel', 'pointerdown', 'pointermove', 'pointerup', 'pointerleave', 'pointercancel', 'gesturestart', 'gesturechange', 'gestureend', 'focus', 'blur', 'change', 'reset', 'select', 'submit', 'focusin', 'focusout', 'load', 'unload', 'beforeunload', 'resize', 'move', 'DOMContentLoaded', 'readystatechange', 'error', 'abort', 'scroll']);\n\n/**\n * Private methods\n */\n\nfunction makeEventUid(element, uid) {\n return uid && `${uid}::${uidEvent++}` || element.uidEvent || uidEvent++;\n}\nfunction getElementEvents(element) {\n const uid = makeEventUid(element);\n element.uidEvent = uid;\n eventRegistry[uid] = eventRegistry[uid] || {};\n return eventRegistry[uid];\n}\nfunction bootstrapHandler(element, fn) {\n return function handler(event) {\n hydrateObj(event, {\n delegateTarget: element\n });\n if (handler.oneOff) {\n EventHandler.off(element, event.type, fn);\n }\n return fn.apply(element, [event]);\n };\n}\nfunction bootstrapDelegationHandler(element, selector, fn) {\n return function handler(event) {\n const domElements = element.querySelectorAll(selector);\n for (let {\n target\n } = event; target && target !== this; target = target.parentNode) {\n for (const domElement of domElements) {\n if (domElement !== target) {\n continue;\n }\n hydrateObj(event, {\n delegateTarget: target\n });\n if (handler.oneOff) {\n EventHandler.off(element, event.type, selector, fn);\n }\n return fn.apply(target, [event]);\n }\n }\n };\n}\nfunction findHandler(events, callable, delegationSelector = null) {\n return Object.values(events).find(event => event.callable === callable && event.delegationSelector === delegationSelector);\n}\nfunction normalizeParameters(originalTypeEvent, handler, delegationFunction) {\n const isDelegated = typeof handler === 'string';\n // TODO: tooltip passes `false` instead of selector, so we need to check\n const callable = isDelegated ? delegationFunction : handler || delegationFunction;\n let typeEvent = getTypeEvent(originalTypeEvent);\n if (!nativeEvents.has(typeEvent)) {\n typeEvent = originalTypeEvent;\n }\n return [isDelegated, callable, typeEvent];\n}\nfunction addHandler(element, originalTypeEvent, handler, delegationFunction, oneOff) {\n if (typeof originalTypeEvent !== 'string' || !element) {\n return;\n }\n let [isDelegated, callable, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction);\n\n // in case of mouseenter or mouseleave wrap the handler within a function that checks for its DOM position\n // this prevents the handler from being dispatched the same way as mouseover or mouseout does\n if (originalTypeEvent in customEvents) {\n const wrapFunction = fn => {\n return function (event) {\n if (!event.relatedTarget || event.relatedTarget !== event.delegateTarget && !event.delegateTarget.contains(event.relatedTarget)) {\n return fn.call(this, event);\n }\n };\n };\n callable = wrapFunction(callable);\n }\n const events = getElementEvents(element);\n const handlers = events[typeEvent] || (events[typeEvent] = {});\n const previousFunction = findHandler(handlers, callable, isDelegated ? handler : null);\n if (previousFunction) {\n previousFunction.oneOff = previousFunction.oneOff && oneOff;\n return;\n }\n const uid = makeEventUid(callable, originalTypeEvent.replace(namespaceRegex, ''));\n const fn = isDelegated ? bootstrapDelegationHandler(element, handler, callable) : bootstrapHandler(element, callable);\n fn.delegationSelector = isDelegated ? handler : null;\n fn.callable = callable;\n fn.oneOff = oneOff;\n fn.uidEvent = uid;\n handlers[uid] = fn;\n element.addEventListener(typeEvent, fn, isDelegated);\n}\nfunction removeHandler(element, events, typeEvent, handler, delegationSelector) {\n const fn = findHandler(events[typeEvent], handler, delegationSelector);\n if (!fn) {\n return;\n }\n element.removeEventListener(typeEvent, fn, Boolean(delegationSelector));\n delete events[typeEvent][fn.uidEvent];\n}\nfunction removeNamespacedHandlers(element, events, typeEvent, namespace) {\n const storeElementEvent = events[typeEvent] || {};\n for (const [handlerKey, event] of Object.entries(storeElementEvent)) {\n if (handlerKey.includes(namespace)) {\n removeHandler(element, events, typeEvent, event.callable, event.delegationSelector);\n }\n }\n}\nfunction getTypeEvent(event) {\n // allow to get the native events from namespaced events ('click.bs.button' --> 'click')\n event = event.replace(stripNameRegex, '');\n return customEvents[event] || event;\n}\nconst EventHandler = {\n on(element, event, handler, delegationFunction) {\n addHandler(element, event, handler, delegationFunction, false);\n },\n one(element, event, handler, delegationFunction) {\n addHandler(element, event, handler, delegationFunction, true);\n },\n off(element, originalTypeEvent, handler, delegationFunction) {\n if (typeof originalTypeEvent !== 'string' || !element) {\n return;\n }\n const [isDelegated, callable, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction);\n const inNamespace = typeEvent !== originalTypeEvent;\n const events = getElementEvents(element);\n const storeElementEvent = events[typeEvent] || {};\n const isNamespace = originalTypeEvent.startsWith('.');\n if (typeof callable !== 'undefined') {\n // Simplest case: handler is passed, remove that listener ONLY.\n if (!Object.keys(storeElementEvent).length) {\n return;\n }\n removeHandler(element, events, typeEvent, callable, isDelegated ? handler : null);\n return;\n }\n if (isNamespace) {\n for (const elementEvent of Object.keys(events)) {\n removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.slice(1));\n }\n }\n for (const [keyHandlers, event] of Object.entries(storeElementEvent)) {\n const handlerKey = keyHandlers.replace(stripUidRegex, '');\n if (!inNamespace || originalTypeEvent.includes(handlerKey)) {\n removeHandler(element, events, typeEvent, event.callable, event.delegationSelector);\n }\n }\n },\n trigger(element, event, args) {\n if (typeof event !== 'string' || !element) {\n return null;\n }\n const $ = getjQuery();\n const typeEvent = getTypeEvent(event);\n const inNamespace = event !== typeEvent;\n let jQueryEvent = null;\n let bubbles = true;\n let nativeDispatch = true;\n let defaultPrevented = false;\n if (inNamespace && $) {\n jQueryEvent = $.Event(event, args);\n $(element).trigger(jQueryEvent);\n bubbles = !jQueryEvent.isPropagationStopped();\n nativeDispatch = !jQueryEvent.isImmediatePropagationStopped();\n defaultPrevented = jQueryEvent.isDefaultPrevented();\n }\n const evt = hydrateObj(new Event(event, {\n bubbles,\n cancelable: true\n }), args);\n if (defaultPrevented) {\n evt.preventDefault();\n }\n if (nativeDispatch) {\n element.dispatchEvent(evt);\n }\n if (evt.defaultPrevented && jQueryEvent) {\n jQueryEvent.preventDefault();\n }\n return evt;\n }\n};\nfunction hydrateObj(obj, meta = {}) {\n for (const [key, value] of Object.entries(meta)) {\n try {\n obj[key] = value;\n } catch (_unused) {\n Object.defineProperty(obj, key, {\n configurable: true,\n get() {\n return value;\n }\n });\n }\n }\n return obj;\n}\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/manipulator.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nfunction normalizeData(value) {\n if (value === 'true') {\n return true;\n }\n if (value === 'false') {\n return false;\n }\n if (value === Number(value).toString()) {\n return Number(value);\n }\n if (value === '' || value === 'null') {\n return null;\n }\n if (typeof value !== 'string') {\n return value;\n }\n try {\n return JSON.parse(decodeURIComponent(value));\n } catch (_unused) {\n return value;\n }\n}\nfunction normalizeDataKey(key) {\n return key.replace(/[A-Z]/g, chr => `-${chr.toLowerCase()}`);\n}\nconst Manipulator = {\n setDataAttribute(element, key, value) {\n element.setAttribute(`data-bs-${normalizeDataKey(key)}`, value);\n },\n removeDataAttribute(element, key) {\n element.removeAttribute(`data-bs-${normalizeDataKey(key)}`);\n },\n getDataAttributes(element) {\n if (!element) {\n return {};\n }\n const attributes = {};\n const bsKeys = Object.keys(element.dataset).filter(key => key.startsWith('bs') && !key.startsWith('bsConfig'));\n for (const key of bsKeys) {\n let pureKey = key.replace(/^bs/, '');\n pureKey = pureKey.charAt(0).toLowerCase() + pureKey.slice(1, pureKey.length);\n attributes[pureKey] = normalizeData(element.dataset[key]);\n }\n return attributes;\n },\n getDataAttribute(element, key) {\n return normalizeData(element.getAttribute(`data-bs-${normalizeDataKey(key)}`));\n }\n};\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap util/config.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n\n/**\n * Class definition\n */\n\nclass Config {\n // Getters\n static get Default() {\n return {};\n }\n static get DefaultType() {\n return {};\n }\n static get NAME() {\n throw new Error('You have to implement the static method \"NAME\", for each component!');\n }\n _getConfig(config) {\n config = this._mergeConfigObj(config);\n config = this._configAfterMerge(config);\n this._typeCheckConfig(config);\n return config;\n }\n _configAfterMerge(config) {\n return config;\n }\n _mergeConfigObj(config, element) {\n const jsonConfig = isElement(element) ? Manipulator.getDataAttribute(element, 'config') : {}; // try to parse\n\n return {\n ...this.constructor.Default,\n ...(typeof jsonConfig === 'object' ? jsonConfig : {}),\n ...(isElement(element) ? Manipulator.getDataAttributes(element) : {}),\n ...(typeof config === 'object' ? config : {})\n };\n }\n _typeCheckConfig(config, configTypes = this.constructor.DefaultType) {\n for (const [property, expectedTypes] of Object.entries(configTypes)) {\n const value = config[property];\n const valueType = isElement(value) ? 'element' : toType(value);\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new TypeError(`${this.constructor.NAME.toUpperCase()}: Option \"${property}\" provided type \"${valueType}\" but expected type \"${expectedTypes}\".`);\n }\n }\n }\n}\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap base-component.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n\n/**\n * Constants\n */\n\nconst VERSION = '5.3.3';\n\n/**\n * Class definition\n */\n\nclass BaseComponent extends Config {\n constructor(element, config) {\n super();\n element = getElement(element);\n if (!element) {\n return;\n }\n this._element = element;\n this._config = this._getConfig(config);\n Data.set(this._element, this.constructor.DATA_KEY, this);\n }\n\n // Public\n dispose() {\n Data.remove(this._element, this.constructor.DATA_KEY);\n EventHandler.off(this._element, this.constructor.EVENT_KEY);\n for (const propertyName of Object.getOwnPropertyNames(this)) {\n this[propertyName] = null;\n }\n }\n _queueCallback(callback, element, isAnimated = true) {\n executeAfterTransition(callback, element, isAnimated);\n }\n _getConfig(config) {\n config = this._mergeConfigObj(config, this._element);\n config = this._configAfterMerge(config);\n this._typeCheckConfig(config);\n return config;\n }\n\n // Static\n static getInstance(element) {\n return Data.get(getElement(element), this.DATA_KEY);\n }\n static getOrCreateInstance(element, config = {}) {\n return this.getInstance(element) || new this(element, typeof config === 'object' ? config : null);\n }\n static get VERSION() {\n return VERSION;\n }\n static get DATA_KEY() {\n return `bs.${this.NAME}`;\n }\n static get EVENT_KEY() {\n return `.${this.DATA_KEY}`;\n }\n static eventName(name) {\n return `${name}${this.EVENT_KEY}`;\n }\n}\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/selector-engine.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst getSelector = element => {\n let selector = element.getAttribute('data-bs-target');\n if (!selector || selector === '#') {\n let hrefAttribute = element.getAttribute('href');\n\n // The only valid content that could double as a selector are IDs or classes,\n // so everything starting with `#` or `.`. If a \"real\" URL is used as the selector,\n // `document.querySelector` will rightfully complain it is invalid.\n // See https://github.com/twbs/bootstrap/issues/32273\n if (!hrefAttribute || !hrefAttribute.includes('#') && !hrefAttribute.startsWith('.')) {\n return null;\n }\n\n // Just in case some CMS puts out a full URL with the anchor appended\n if (hrefAttribute.includes('#') && !hrefAttribute.startsWith('#')) {\n hrefAttribute = `#${hrefAttribute.split('#')[1]}`;\n }\n selector = hrefAttribute && hrefAttribute !== '#' ? hrefAttribute.trim() : null;\n }\n return selector ? selector.split(',').map(sel => parseSelector(sel)).join(',') : null;\n};\nconst SelectorEngine = {\n find(selector, element = document.documentElement) {\n return [].concat(...Element.prototype.querySelectorAll.call(element, selector));\n },\n findOne(selector, element = document.documentElement) {\n return Element.prototype.querySelector.call(element, selector);\n },\n children(element, selector) {\n return [].concat(...element.children).filter(child => child.matches(selector));\n },\n parents(element, selector) {\n const parents = [];\n let ancestor = element.parentNode.closest(selector);\n while (ancestor) {\n parents.push(ancestor);\n ancestor = ancestor.parentNode.closest(selector);\n }\n return parents;\n },\n prev(element, selector) {\n let previous = element.previousElementSibling;\n while (previous) {\n if (previous.matches(selector)) {\n return [previous];\n }\n previous = previous.previousElementSibling;\n }\n return [];\n },\n // TODO: this is now unused; remove later along with prev()\n next(element, selector) {\n let next = element.nextElementSibling;\n while (next) {\n if (next.matches(selector)) {\n return [next];\n }\n next = next.nextElementSibling;\n }\n return [];\n },\n focusableChildren(element) {\n const focusables = ['a', 'button', 'input', 'textarea', 'select', 'details', '[tabindex]', '[contenteditable=\"true\"]'].map(selector => `${selector}:not([tabindex^=\"-\"])`).join(',');\n return this.find(focusables, element).filter(el => !isDisabled(el) && isVisible(el));\n },\n getSelectorFromElement(element) {\n const selector = getSelector(element);\n if (selector) {\n return SelectorEngine.findOne(selector) ? selector : null;\n }\n return null;\n },\n getElementFromSelector(element) {\n const selector = getSelector(element);\n return selector ? SelectorEngine.findOne(selector) : null;\n },\n getMultipleElementsFromSelector(element) {\n const selector = getSelector(element);\n return selector ? SelectorEngine.find(selector) : [];\n }\n};\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap util/component-functions.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst enableDismissTrigger = (component, method = 'hide') => {\n const clickEvent = `click.dismiss${component.EVENT_KEY}`;\n const name = component.NAME;\n EventHandler.on(document, clickEvent, `[data-bs-dismiss=\"${name}\"]`, function (event) {\n if (['A', 'AREA'].includes(this.tagName)) {\n event.preventDefault();\n }\n if (isDisabled(this)) {\n return;\n }\n const target = SelectorEngine.getElementFromSelector(this) || this.closest(`.${name}`);\n const instance = component.getOrCreateInstance(target);\n\n // Method argument is left, for Alert and only, as it doesn't implement the 'hide' method\n instance[method]();\n });\n};\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n\n/**\n * Constants\n */\n\nconst NAME$f = 'alert';\nconst DATA_KEY$a = 'bs.alert';\nconst EVENT_KEY$b = `.${DATA_KEY$a}`;\nconst EVENT_CLOSE = `close${EVENT_KEY$b}`;\nconst EVENT_CLOSED = `closed${EVENT_KEY$b}`;\nconst CLASS_NAME_FADE$5 = 'fade';\nconst CLASS_NAME_SHOW$8 = 'show';\n\n/**\n * Class definition\n */\n\nclass Alert extends BaseComponent {\n // Getters\n static get NAME() {\n return NAME$f;\n }\n\n // Public\n close() {\n const closeEvent = EventHandler.trigger(this._element, EVENT_CLOSE);\n if (closeEvent.defaultPrevented) {\n return;\n }\n this._element.classList.remove(CLASS_NAME_SHOW$8);\n const isAnimated = this._element.classList.contains(CLASS_NAME_FADE$5);\n this._queueCallback(() => this._destroyElement(), this._element, isAnimated);\n }\n\n // Private\n _destroyElement() {\n this._element.remove();\n EventHandler.trigger(this._element, EVENT_CLOSED);\n this.dispose();\n }\n\n // Static\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Alert.getOrCreateInstance(this);\n if (typeof config !== 'string') {\n return;\n }\n if (data[config] === undefined || config.startsWith('_') || config === 'constructor') {\n throw new TypeError(`No method named \"${config}\"`);\n }\n data[config](this);\n });\n }\n}\n\n/**\n * Data API implementation\n */\n\nenableDismissTrigger(Alert, 'close');\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Alert);\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n\n/**\n * Constants\n */\n\nconst NAME$e = 'button';\nconst DATA_KEY$9 = 'bs.button';\nconst EVENT_KEY$a = `.${DATA_KEY$9}`;\nconst DATA_API_KEY$6 = '.data-api';\nconst CLASS_NAME_ACTIVE$3 = 'active';\nconst SELECTOR_DATA_TOGGLE$5 = '[data-bs-toggle=\"button\"]';\nconst EVENT_CLICK_DATA_API$6 = `click${EVENT_KEY$a}${DATA_API_KEY$6}`;\n\n/**\n * Class definition\n */\n\nclass Button extends BaseComponent {\n // Getters\n static get NAME() {\n return NAME$e;\n }\n\n // Public\n toggle() {\n // Toggle class and sync the `aria-pressed` attribute with the return value of the `.toggle()` method\n this._element.setAttribute('aria-pressed', this._element.classList.toggle(CLASS_NAME_ACTIVE$3));\n }\n\n // Static\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Button.getOrCreateInstance(this);\n if (config === 'toggle') {\n data[config]();\n }\n });\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API$6, SELECTOR_DATA_TOGGLE$5, event => {\n event.preventDefault();\n const button = event.target.closest(SELECTOR_DATA_TOGGLE$5);\n const data = Button.getOrCreateInstance(button);\n data.toggle();\n});\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Button);\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap util/swipe.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n\n/**\n * Constants\n */\n\nconst NAME$d = 'swipe';\nconst EVENT_KEY$9 = '.bs.swipe';\nconst EVENT_TOUCHSTART = `touchstart${EVENT_KEY$9}`;\nconst EVENT_TOUCHMOVE = `touchmove${EVENT_KEY$9}`;\nconst EVENT_TOUCHEND = `touchend${EVENT_KEY$9}`;\nconst EVENT_POINTERDOWN = `pointerdown${EVENT_KEY$9}`;\nconst EVENT_POINTERUP = `pointerup${EVENT_KEY$9}`;\nconst POINTER_TYPE_TOUCH = 'touch';\nconst POINTER_TYPE_PEN = 'pen';\nconst CLASS_NAME_POINTER_EVENT = 'pointer-event';\nconst SWIPE_THRESHOLD = 40;\nconst Default$c = {\n endCallback: null,\n leftCallback: null,\n rightCallback: null\n};\nconst DefaultType$c = {\n endCallback: '(function|null)',\n leftCallback: '(function|null)',\n rightCallback: '(function|null)'\n};\n\n/**\n * Class definition\n */\n\nclass Swipe extends Config {\n constructor(element, config) {\n super();\n this._element = element;\n if (!element || !Swipe.isSupported()) {\n return;\n }\n this._config = this._getConfig(config);\n this._deltaX = 0;\n this._supportPointerEvents = Boolean(window.PointerEvent);\n this._initEvents();\n }\n\n // Getters\n static get Default() {\n return Default$c;\n }\n static get DefaultType() {\n return DefaultType$c;\n }\n static get NAME() {\n return NAME$d;\n }\n\n // Public\n dispose() {\n EventHandler.off(this._element, EVENT_KEY$9);\n }\n\n // Private\n _start(event) {\n if (!this._supportPointerEvents) {\n this._deltaX = event.touches[0].clientX;\n return;\n }\n if (this._eventIsPointerPenTouch(event)) {\n this._deltaX = event.clientX;\n }\n }\n _end(event) {\n if (this._eventIsPointerPenTouch(event)) {\n this._deltaX = event.clientX - this._deltaX;\n }\n this._handleSwipe();\n execute(this._config.endCallback);\n }\n _move(event) {\n this._deltaX = event.touches && event.touches.length > 1 ? 0 : event.touches[0].clientX - this._deltaX;\n }\n _handleSwipe() {\n const absDeltaX = Math.abs(this._deltaX);\n if (absDeltaX <= SWIPE_THRESHOLD) {\n return;\n }\n const direction = absDeltaX / this._deltaX;\n this._deltaX = 0;\n if (!direction) {\n return;\n }\n execute(direction > 0 ? this._config.rightCallback : this._config.leftCallback);\n }\n _initEvents() {\n if (this._supportPointerEvents) {\n EventHandler.on(this._element, EVENT_POINTERDOWN, event => this._start(event));\n EventHandler.on(this._element, EVENT_POINTERUP, event => this._end(event));\n this._element.classList.add(CLASS_NAME_POINTER_EVENT);\n } else {\n EventHandler.on(this._element, EVENT_TOUCHSTART, event => this._start(event));\n EventHandler.on(this._element, EVENT_TOUCHMOVE, event => this._move(event));\n EventHandler.on(this._element, EVENT_TOUCHEND, event => this._end(event));\n }\n }\n _eventIsPointerPenTouch(event) {\n return this._supportPointerEvents && (event.pointerType === POINTER_TYPE_PEN || event.pointerType === POINTER_TYPE_TOUCH);\n }\n\n // Static\n static isSupported() {\n return 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0;\n }\n}\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n\n/**\n * Constants\n */\n\nconst NAME$c = 'carousel';\nconst DATA_KEY$8 = 'bs.carousel';\nconst EVENT_KEY$8 = `.${DATA_KEY$8}`;\nconst DATA_API_KEY$5 = '.data-api';\nconst ARROW_LEFT_KEY$1 = 'ArrowLeft';\nconst ARROW_RIGHT_KEY$1 = 'ArrowRight';\nconst TOUCHEVENT_COMPAT_WAIT = 500; // Time for mouse compat events to fire after touch\n\nconst ORDER_NEXT = 'next';\nconst ORDER_PREV = 'prev';\nconst DIRECTION_LEFT = 'left';\nconst DIRECTION_RIGHT = 'right';\nconst EVENT_SLIDE = `slide${EVENT_KEY$8}`;\nconst EVENT_SLID = `slid${EVENT_KEY$8}`;\nconst EVENT_KEYDOWN$1 = `keydown${EVENT_KEY$8}`;\nconst EVENT_MOUSEENTER$1 = `mouseenter${EVENT_KEY$8}`;\nconst EVENT_MOUSELEAVE$1 = `mouseleave${EVENT_KEY$8}`;\nconst EVENT_DRAG_START = `dragstart${EVENT_KEY$8}`;\nconst EVENT_LOAD_DATA_API$3 = `load${EVENT_KEY$8}${DATA_API_KEY$5}`;\nconst EVENT_CLICK_DATA_API$5 = `click${EVENT_KEY$8}${DATA_API_KEY$5}`;\nconst CLASS_NAME_CAROUSEL = 'carousel';\nconst CLASS_NAME_ACTIVE$2 = 'active';\nconst CLASS_NAME_SLIDE = 'slide';\nconst CLASS_NAME_END = 'carousel-item-end';\nconst CLASS_NAME_START = 'carousel-item-start';\nconst CLASS_NAME_NEXT = 'carousel-item-next';\nconst CLASS_NAME_PREV = 'carousel-item-prev';\nconst SELECTOR_ACTIVE = '.active';\nconst SELECTOR_ITEM = '.carousel-item';\nconst SELECTOR_ACTIVE_ITEM = SELECTOR_ACTIVE + SELECTOR_ITEM;\nconst SELECTOR_ITEM_IMG = '.carousel-item img';\nconst SELECTOR_INDICATORS = '.carousel-indicators';\nconst SELECTOR_DATA_SLIDE = '[data-bs-slide], [data-bs-slide-to]';\nconst SELECTOR_DATA_RIDE = '[data-bs-ride=\"carousel\"]';\nconst KEY_TO_DIRECTION = {\n [ARROW_LEFT_KEY$1]: DIRECTION_RIGHT,\n [ARROW_RIGHT_KEY$1]: DIRECTION_LEFT\n};\nconst Default$b = {\n interval: 5000,\n keyboard: true,\n pause: 'hover',\n ride: false,\n touch: true,\n wrap: true\n};\nconst DefaultType$b = {\n interval: '(number|boolean)',\n // TODO:v6 remove boolean support\n keyboard: 'boolean',\n pause: '(string|boolean)',\n ride: '(boolean|string)',\n touch: 'boolean',\n wrap: 'boolean'\n};\n\n/**\n * Class definition\n */\n\nclass Carousel extends BaseComponent {\n constructor(element, config) {\n super(element, config);\n this._interval = null;\n this._activeElement = null;\n this._isSliding = false;\n this.touchTimeout = null;\n this._swipeHelper = null;\n this._indicatorsElement = SelectorEngine.findOne(SELECTOR_INDICATORS, this._element);\n this._addEventListeners();\n if (this._config.ride === CLASS_NAME_CAROUSEL) {\n this.cycle();\n }\n }\n\n // Getters\n static get Default() {\n return Default$b;\n }\n static get DefaultType() {\n return DefaultType$b;\n }\n static get NAME() {\n return NAME$c;\n }\n\n // Public\n next() {\n this._slide(ORDER_NEXT);\n }\n nextWhenVisible() {\n // FIXME TODO use `document.visibilityState`\n // Don't call next when the page isn't visible\n // or the carousel or its parent isn't visible\n if (!document.hidden && isVisible(this._element)) {\n this.next();\n }\n }\n prev() {\n this._slide(ORDER_PREV);\n }\n pause() {\n if (this._isSliding) {\n triggerTransitionEnd(this._element);\n }\n this._clearInterval();\n }\n cycle() {\n this._clearInterval();\n this._updateInterval();\n this._interval = setInterval(() => this.nextWhenVisible(), this._config.interval);\n }\n _maybeEnableCycle() {\n if (!this._config.ride) {\n return;\n }\n if (this._isSliding) {\n EventHandler.one(this._element, EVENT_SLID, () => this.cycle());\n return;\n }\n this.cycle();\n }\n to(index) {\n const items = this._getItems();\n if (index > items.length - 1 || index < 0) {\n return;\n }\n if (this._isSliding) {\n EventHandler.one(this._element, EVENT_SLID, () => this.to(index));\n return;\n }\n const activeIndex = this._getItemIndex(this._getActive());\n if (activeIndex === index) {\n return;\n }\n const order = index > activeIndex ? ORDER_NEXT : ORDER_PREV;\n this._slide(order, items[index]);\n }\n dispose() {\n if (this._swipeHelper) {\n this._swipeHelper.dispose();\n }\n super.dispose();\n }\n\n // Private\n _configAfterMerge(config) {\n config.defaultInterval = config.interval;\n return config;\n }\n _addEventListeners() {\n if (this._config.keyboard) {\n EventHandler.on(this._element, EVENT_KEYDOWN$1, event => this._keydown(event));\n }\n if (this._config.pause === 'hover') {\n EventHandler.on(this._element, EVENT_MOUSEENTER$1, () => this.pause());\n EventHandler.on(this._element, EVENT_MOUSELEAVE$1, () => this._maybeEnableCycle());\n }\n if (this._config.touch && Swipe.isSupported()) {\n this._addTouchEventListeners();\n }\n }\n _addTouchEventListeners() {\n for (const img of SelectorEngine.find(SELECTOR_ITEM_IMG, this._element)) {\n EventHandler.on(img, EVENT_DRAG_START, event => event.preventDefault());\n }\n const endCallBack = () => {\n if (this._config.pause !== 'hover') {\n return;\n }\n\n // If it's a touch-enabled device, mouseenter/leave are fired as\n // part of the mouse compatibility events on first tap - the carousel\n // would stop cycling until user tapped out of it;\n // here, we listen for touchend, explicitly pause the carousel\n // (as if it's the second time we tap on it, mouseenter compat event\n // is NOT fired) and after a timeout (to allow for mouse compatibility\n // events to fire) we explicitly restart cycling\n\n this.pause();\n if (this.touchTimeout) {\n clearTimeout(this.touchTimeout);\n }\n this.touchTimeout = setTimeout(() => this._maybeEnableCycle(), TOUCHEVENT_COMPAT_WAIT + this._config.interval);\n };\n const swipeConfig = {\n leftCallback: () => this._slide(this._directionToOrder(DIRECTION_LEFT)),\n rightCallback: () => this._slide(this._directionToOrder(DIRECTION_RIGHT)),\n endCallback: endCallBack\n };\n this._swipeHelper = new Swipe(this._element, swipeConfig);\n }\n _keydown(event) {\n if (/input|textarea/i.test(event.target.tagName)) {\n return;\n }\n const direction = KEY_TO_DIRECTION[event.key];\n if (direction) {\n event.preventDefault();\n this._slide(this._directionToOrder(direction));\n }\n }\n _getItemIndex(element) {\n return this._getItems().indexOf(element);\n }\n _setActiveIndicatorElement(index) {\n if (!this._indicatorsElement) {\n return;\n }\n const activeIndicator = SelectorEngine.findOne(SELECTOR_ACTIVE, this._indicatorsElement);\n activeIndicator.classList.remove(CLASS_NAME_ACTIVE$2);\n activeIndicator.removeAttribute('aria-current');\n const newActiveIndicator = SelectorEngine.findOne(`[data-bs-slide-to=\"${index}\"]`, this._indicatorsElement);\n if (newActiveIndicator) {\n newActiveIndicator.classList.add(CLASS_NAME_ACTIVE$2);\n newActiveIndicator.setAttribute('aria-current', 'true');\n }\n }\n _updateInterval() {\n const element = this._activeElement || this._getActive();\n if (!element) {\n return;\n }\n const elementInterval = Number.parseInt(element.getAttribute('data-bs-interval'), 10);\n this._config.interval = elementInterval || this._config.defaultInterval;\n }\n _slide(order, element = null) {\n if (this._isSliding) {\n return;\n }\n const activeElement = this._getActive();\n const isNext = order === ORDER_NEXT;\n const nextElement = element || getNextActiveElement(this._getItems(), activeElement, isNext, this._config.wrap);\n if (nextElement === activeElement) {\n return;\n }\n const nextElementIndex = this._getItemIndex(nextElement);\n const triggerEvent = eventName => {\n return EventHandler.trigger(this._element, eventName, {\n relatedTarget: nextElement,\n direction: this._orderToDirection(order),\n from: this._getItemIndex(activeElement),\n to: nextElementIndex\n });\n };\n const slideEvent = triggerEvent(EVENT_SLIDE);\n if (slideEvent.defaultPrevented) {\n return;\n }\n if (!activeElement || !nextElement) {\n // Some weirdness is happening, so we bail\n // TODO: change tests that use empty divs to avoid this check\n return;\n }\n const isCycling = Boolean(this._interval);\n this.pause();\n this._isSliding = true;\n this._setActiveIndicatorElement(nextElementIndex);\n this._activeElement = nextElement;\n const directionalClassName = isNext ? CLASS_NAME_START : CLASS_NAME_END;\n const orderClassName = isNext ? CLASS_NAME_NEXT : CLASS_NAME_PREV;\n nextElement.classList.add(orderClassName);\n reflow(nextElement);\n activeElement.classList.add(directionalClassName);\n nextElement.classList.add(directionalClassName);\n const completeCallBack = () => {\n nextElement.classList.remove(directionalClassName, orderClassName);\n nextElement.classList.add(CLASS_NAME_ACTIVE$2);\n activeElement.classList.remove(CLASS_NAME_ACTIVE$2, orderClassName, directionalClassName);\n this._isSliding = false;\n triggerEvent(EVENT_SLID);\n };\n this._queueCallback(completeCallBack, activeElement, this._isAnimated());\n if (isCycling) {\n this.cycle();\n }\n }\n _isAnimated() {\n return this._element.classList.contains(CLASS_NAME_SLIDE);\n }\n _getActive() {\n return SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element);\n }\n _getItems() {\n return SelectorEngine.find(SELECTOR_ITEM, this._element);\n }\n _clearInterval() {\n if (this._interval) {\n clearInterval(this._interval);\n this._interval = null;\n }\n }\n _directionToOrder(direction) {\n if (isRTL()) {\n return direction === DIRECTION_LEFT ? ORDER_PREV : ORDER_NEXT;\n }\n return direction === DIRECTION_LEFT ? ORDER_NEXT : ORDER_PREV;\n }\n _orderToDirection(order) {\n if (isRTL()) {\n return order === ORDER_PREV ? DIRECTION_LEFT : DIRECTION_RIGHT;\n }\n return order === ORDER_PREV ? DIRECTION_RIGHT : DIRECTION_LEFT;\n }\n\n // Static\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Carousel.getOrCreateInstance(this, config);\n if (typeof config === 'number') {\n data.to(config);\n return;\n }\n if (typeof config === 'string') {\n if (data[config] === undefined || config.startsWith('_') || config === 'constructor') {\n throw new TypeError(`No method named \"${config}\"`);\n }\n data[config]();\n }\n });\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API$5, SELECTOR_DATA_SLIDE, function (event) {\n const target = SelectorEngine.getElementFromSelector(this);\n if (!target || !target.classList.contains(CLASS_NAME_CAROUSEL)) {\n return;\n }\n event.preventDefault();\n const carousel = Carousel.getOrCreateInstance(target);\n const slideIndex = this.getAttribute('data-bs-slide-to');\n if (slideIndex) {\n carousel.to(slideIndex);\n carousel._maybeEnableCycle();\n return;\n }\n if (Manipulator.getDataAttribute(this, 'slide') === 'next') {\n carousel.next();\n carousel._maybeEnableCycle();\n return;\n }\n carousel.prev();\n carousel._maybeEnableCycle();\n});\nEventHandler.on(window, EVENT_LOAD_DATA_API$3, () => {\n const carousels = SelectorEngine.find(SELECTOR_DATA_RIDE);\n for (const carousel of carousels) {\n Carousel.getOrCreateInstance(carousel);\n }\n});\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Carousel);\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n\n/**\n * Constants\n */\n\nconst NAME$b = 'collapse';\nconst DATA_KEY$7 = 'bs.collapse';\nconst EVENT_KEY$7 = `.${DATA_KEY$7}`;\nconst DATA_API_KEY$4 = '.data-api';\nconst EVENT_SHOW$6 = `show${EVENT_KEY$7}`;\nconst EVENT_SHOWN$6 = `shown${EVENT_KEY$7}`;\nconst EVENT_HIDE$6 = `hide${EVENT_KEY$7}`;\nconst EVENT_HIDDEN$6 = `hidden${EVENT_KEY$7}`;\nconst EVENT_CLICK_DATA_API$4 = `click${EVENT_KEY$7}${DATA_API_KEY$4}`;\nconst CLASS_NAME_SHOW$7 = 'show';\nconst CLASS_NAME_COLLAPSE = 'collapse';\nconst CLASS_NAME_COLLAPSING = 'collapsing';\nconst CLASS_NAME_COLLAPSED = 'collapsed';\nconst CLASS_NAME_DEEPER_CHILDREN = `:scope .${CLASS_NAME_COLLAPSE} .${CLASS_NAME_COLLAPSE}`;\nconst CLASS_NAME_HORIZONTAL = 'collapse-horizontal';\nconst WIDTH = 'width';\nconst HEIGHT = 'height';\nconst SELECTOR_ACTIVES = '.collapse.show, .collapse.collapsing';\nconst SELECTOR_DATA_TOGGLE$4 = '[data-bs-toggle=\"collapse\"]';\nconst Default$a = {\n parent: null,\n toggle: true\n};\nconst DefaultType$a = {\n parent: '(null|element)',\n toggle: 'boolean'\n};\n\n/**\n * Class definition\n */\n\nclass Collapse extends BaseComponent {\n constructor(element, config) {\n super(element, config);\n this._isTransitioning = false;\n this._triggerArray = [];\n const toggleList = SelectorEngine.find(SELECTOR_DATA_TOGGLE$4);\n for (const elem of toggleList) {\n const selector = SelectorEngine.getSelectorFromElement(elem);\n const filterElement = SelectorEngine.find(selector).filter(foundElement => foundElement === this._element);\n if (selector !== null && filterElement.length) {\n this._triggerArray.push(elem);\n }\n }\n this._initializeChildren();\n if (!this._config.parent) {\n this._addAriaAndCollapsedClass(this._triggerArray, this._isShown());\n }\n if (this._config.toggle) {\n this.toggle();\n }\n }\n\n // Getters\n static get Default() {\n return Default$a;\n }\n static get DefaultType() {\n return DefaultType$a;\n }\n static get NAME() {\n return NAME$b;\n }\n\n // Public\n toggle() {\n if (this._isShown()) {\n this.hide();\n } else {\n this.show();\n }\n }\n show() {\n if (this._isTransitioning || this._isShown()) {\n return;\n }\n let activeChildren = [];\n\n // find active children\n if (this._config.parent) {\n activeChildren = this._getFirstLevelChildren(SELECTOR_ACTIVES).filter(element => element !== this._element).map(element => Collapse.getOrCreateInstance(element, {\n toggle: false\n }));\n }\n if (activeChildren.length && activeChildren[0]._isTransitioning) {\n return;\n }\n const startEvent = EventHandler.trigger(this._element, EVENT_SHOW$6);\n if (startEvent.defaultPrevented) {\n return;\n }\n for (const activeInstance of activeChildren) {\n activeInstance.hide();\n }\n const dimension = this._getDimension();\n this._element.classList.remove(CLASS_NAME_COLLAPSE);\n this._element.classList.add(CLASS_NAME_COLLAPSING);\n this._element.style[dimension] = 0;\n this._addAriaAndCollapsedClass(this._triggerArray, true);\n this._isTransitioning = true;\n const complete = () => {\n this._isTransitioning = false;\n this._element.classList.remove(CLASS_NAME_COLLAPSING);\n this._element.classList.add(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW$7);\n this._element.style[dimension] = '';\n EventHandler.trigger(this._element, EVENT_SHOWN$6);\n };\n const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1);\n const scrollSize = `scroll${capitalizedDimension}`;\n this._queueCallback(complete, this._element, true);\n this._element.style[dimension] = `${this._element[scrollSize]}px`;\n }\n hide() {\n if (this._isTransitioning || !this._isShown()) {\n return;\n }\n const startEvent = EventHandler.trigger(this._element, EVENT_HIDE$6);\n if (startEvent.defaultPrevented) {\n return;\n }\n const dimension = this._getDimension();\n this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`;\n reflow(this._element);\n this._element.classList.add(CLASS_NAME_COLLAPSING);\n this._element.classList.remove(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW$7);\n for (const trigger of this._triggerArray) {\n const element = SelectorEngine.getElementFromSelector(trigger);\n if (element && !this._isShown(element)) {\n this._addAriaAndCollapsedClass([trigger], false);\n }\n }\n this._isTransitioning = true;\n const complete = () => {\n this._isTransitioning = false;\n this._element.classList.remove(CLASS_NAME_COLLAPSING);\n this._element.classList.add(CLASS_NAME_COLLAPSE);\n EventHandler.trigger(this._element, EVENT_HIDDEN$6);\n };\n this._element.style[dimension] = '';\n this._queueCallback(complete, this._element, true);\n }\n _isShown(element = this._element) {\n return element.classList.contains(CLASS_NAME_SHOW$7);\n }\n\n // Private\n _configAfterMerge(config) {\n config.toggle = Boolean(config.toggle); // Coerce string values\n config.parent = getElement(config.parent);\n return config;\n }\n _getDimension() {\n return this._element.classList.contains(CLASS_NAME_HORIZONTAL) ? WIDTH : HEIGHT;\n }\n _initializeChildren() {\n if (!this._config.parent) {\n return;\n }\n const children = this._getFirstLevelChildren(SELECTOR_DATA_TOGGLE$4);\n for (const element of children) {\n const selected = SelectorEngine.getElementFromSelector(element);\n if (selected) {\n this._addAriaAndCollapsedClass([element], this._isShown(selected));\n }\n }\n }\n _getFirstLevelChildren(selector) {\n const children = SelectorEngine.find(CLASS_NAME_DEEPER_CHILDREN, this._config.parent);\n // remove children if greater depth\n return SelectorEngine.find(selector, this._config.parent).filter(element => !children.includes(element));\n }\n _addAriaAndCollapsedClass(triggerArray, isOpen) {\n if (!triggerArray.length) {\n return;\n }\n for (const element of triggerArray) {\n element.classList.toggle(CLASS_NAME_COLLAPSED, !isOpen);\n element.setAttribute('aria-expanded', isOpen);\n }\n }\n\n // Static\n static jQueryInterface(config) {\n const _config = {};\n if (typeof config === 'string' && /show|hide/.test(config)) {\n _config.toggle = false;\n }\n return this.each(function () {\n const data = Collapse.getOrCreateInstance(this, _config);\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`);\n }\n data[config]();\n }\n });\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API$4, SELECTOR_DATA_TOGGLE$4, function (event) {\n // preventDefault only for elements (which change the URL) not inside the collapsible element\n if (event.target.tagName === 'A' || event.delegateTarget && event.delegateTarget.tagName === 'A') {\n event.preventDefault();\n }\n for (const element of SelectorEngine.getMultipleElementsFromSelector(this)) {\n Collapse.getOrCreateInstance(element, {\n toggle: false\n }).toggle();\n }\n});\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Collapse);\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n\n/**\n * Constants\n */\n\nconst NAME$a = 'dropdown';\nconst DATA_KEY$6 = 'bs.dropdown';\nconst EVENT_KEY$6 = `.${DATA_KEY$6}`;\nconst DATA_API_KEY$3 = '.data-api';\nconst ESCAPE_KEY$2 = 'Escape';\nconst TAB_KEY$1 = 'Tab';\nconst ARROW_UP_KEY$1 = 'ArrowUp';\nconst ARROW_DOWN_KEY$1 = 'ArrowDown';\nconst RIGHT_MOUSE_BUTTON = 2; // MouseEvent.button value for the secondary button, usually the right button\n\nconst EVENT_HIDE$5 = `hide${EVENT_KEY$6}`;\nconst EVENT_HIDDEN$5 = `hidden${EVENT_KEY$6}`;\nconst EVENT_SHOW$5 = `show${EVENT_KEY$6}`;\nconst EVENT_SHOWN$5 = `shown${EVENT_KEY$6}`;\nconst EVENT_CLICK_DATA_API$3 = `click${EVENT_KEY$6}${DATA_API_KEY$3}`;\nconst EVENT_KEYDOWN_DATA_API = `keydown${EVENT_KEY$6}${DATA_API_KEY$3}`;\nconst EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY$6}${DATA_API_KEY$3}`;\nconst CLASS_NAME_SHOW$6 = 'show';\nconst CLASS_NAME_DROPUP = 'dropup';\nconst CLASS_NAME_DROPEND = 'dropend';\nconst CLASS_NAME_DROPSTART = 'dropstart';\nconst CLASS_NAME_DROPUP_CENTER = 'dropup-center';\nconst CLASS_NAME_DROPDOWN_CENTER = 'dropdown-center';\nconst SELECTOR_DATA_TOGGLE$3 = '[data-bs-toggle=\"dropdown\"]:not(.disabled):not(:disabled)';\nconst SELECTOR_DATA_TOGGLE_SHOWN = `${SELECTOR_DATA_TOGGLE$3}.${CLASS_NAME_SHOW$6}`;\nconst SELECTOR_MENU = '.dropdown-menu';\nconst SELECTOR_NAVBAR = '.navbar';\nconst SELECTOR_NAVBAR_NAV = '.navbar-nav';\nconst SELECTOR_VISIBLE_ITEMS = '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)';\nconst PLACEMENT_TOP = isRTL() ? 'top-end' : 'top-start';\nconst PLACEMENT_TOPEND = isRTL() ? 'top-start' : 'top-end';\nconst PLACEMENT_BOTTOM = isRTL() ? 'bottom-end' : 'bottom-start';\nconst PLACEMENT_BOTTOMEND = isRTL() ? 'bottom-start' : 'bottom-end';\nconst PLACEMENT_RIGHT = isRTL() ? 'left-start' : 'right-start';\nconst PLACEMENT_LEFT = isRTL() ? 'right-start' : 'left-start';\nconst PLACEMENT_TOPCENTER = 'top';\nconst PLACEMENT_BOTTOMCENTER = 'bottom';\nconst Default$9 = {\n autoClose: true,\n boundary: 'clippingParents',\n display: 'dynamic',\n offset: [0, 2],\n popperConfig: null,\n reference: 'toggle'\n};\nconst DefaultType$9 = {\n autoClose: '(boolean|string)',\n boundary: '(string|element)',\n display: 'string',\n offset: '(array|string|function)',\n popperConfig: '(null|object|function)',\n reference: '(string|element|object)'\n};\n\n/**\n * Class definition\n */\n\nclass Dropdown extends BaseComponent {\n constructor(element, config) {\n super(element, config);\n this._popper = null;\n this._parent = this._element.parentNode; // dropdown wrapper\n // TODO: v6 revert #37011 & change markup https://getbootstrap.com/docs/5.3/forms/input-group/\n this._menu = SelectorEngine.next(this._element, SELECTOR_MENU)[0] || SelectorEngine.prev(this._element, SELECTOR_MENU)[0] || SelectorEngine.findOne(SELECTOR_MENU, this._parent);\n this._inNavbar = this._detectNavbar();\n }\n\n // Getters\n static get Default() {\n return Default$9;\n }\n static get DefaultType() {\n return DefaultType$9;\n }\n static get NAME() {\n return NAME$a;\n }\n\n // Public\n toggle() {\n return this._isShown() ? this.hide() : this.show();\n }\n show() {\n if (isDisabled(this._element) || this._isShown()) {\n return;\n }\n const relatedTarget = {\n relatedTarget: this._element\n };\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW$5, relatedTarget);\n if (showEvent.defaultPrevented) {\n return;\n }\n this._createPopper();\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement && !this._parent.closest(SELECTOR_NAVBAR_NAV)) {\n for (const element of [].concat(...document.body.children)) {\n EventHandler.on(element, 'mouseover', noop);\n }\n }\n this._element.focus();\n this._element.setAttribute('aria-expanded', true);\n this._menu.classList.add(CLASS_NAME_SHOW$6);\n this._element.classList.add(CLASS_NAME_SHOW$6);\n EventHandler.trigger(this._element, EVENT_SHOWN$5, relatedTarget);\n }\n hide() {\n if (isDisabled(this._element) || !this._isShown()) {\n return;\n }\n const relatedTarget = {\n relatedTarget: this._element\n };\n this._completeHide(relatedTarget);\n }\n dispose() {\n if (this._popper) {\n this._popper.destroy();\n }\n super.dispose();\n }\n update() {\n this._inNavbar = this._detectNavbar();\n if (this._popper) {\n this._popper.update();\n }\n }\n\n // Private\n _completeHide(relatedTarget) {\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE$5, relatedTarget);\n if (hideEvent.defaultPrevented) {\n return;\n }\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n for (const element of [].concat(...document.body.children)) {\n EventHandler.off(element, 'mouseover', noop);\n }\n }\n if (this._popper) {\n this._popper.destroy();\n }\n this._menu.classList.remove(CLASS_NAME_SHOW$6);\n this._element.classList.remove(CLASS_NAME_SHOW$6);\n this._element.setAttribute('aria-expanded', 'false');\n Manipulator.removeDataAttribute(this._menu, 'popper');\n EventHandler.trigger(this._element, EVENT_HIDDEN$5, relatedTarget);\n }\n _getConfig(config) {\n config = super._getConfig(config);\n if (typeof config.reference === 'object' && !isElement(config.reference) && typeof config.reference.getBoundingClientRect !== 'function') {\n // Popper virtual elements require a getBoundingClientRect method\n throw new TypeError(`${NAME$a.toUpperCase()}: Option \"reference\" provided type \"object\" without a required \"getBoundingClientRect\" method.`);\n }\n return config;\n }\n _createPopper() {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s dropdowns require Popper (https://popper.js.org)');\n }\n let referenceElement = this._element;\n if (this._config.reference === 'parent') {\n referenceElement = this._parent;\n } else if (isElement(this._config.reference)) {\n referenceElement = getElement(this._config.reference);\n } else if (typeof this._config.reference === 'object') {\n referenceElement = this._config.reference;\n }\n const popperConfig = this._getPopperConfig();\n this._popper = Popper.createPopper(referenceElement, this._menu, popperConfig);\n }\n _isShown() {\n return this._menu.classList.contains(CLASS_NAME_SHOW$6);\n }\n _getPlacement() {\n const parentDropdown = this._parent;\n if (parentDropdown.classList.contains(CLASS_NAME_DROPEND)) {\n return PLACEMENT_RIGHT;\n }\n if (parentDropdown.classList.contains(CLASS_NAME_DROPSTART)) {\n return PLACEMENT_LEFT;\n }\n if (parentDropdown.classList.contains(CLASS_NAME_DROPUP_CENTER)) {\n return PLACEMENT_TOPCENTER;\n }\n if (parentDropdown.classList.contains(CLASS_NAME_DROPDOWN_CENTER)) {\n return PLACEMENT_BOTTOMCENTER;\n }\n\n // We need to trim the value because custom properties can also include spaces\n const isEnd = getComputedStyle(this._menu).getPropertyValue('--bs-position').trim() === 'end';\n if (parentDropdown.classList.contains(CLASS_NAME_DROPUP)) {\n return isEnd ? PLACEMENT_TOPEND : PLACEMENT_TOP;\n }\n return isEnd ? PLACEMENT_BOTTOMEND : PLACEMENT_BOTTOM;\n }\n _detectNavbar() {\n return this._element.closest(SELECTOR_NAVBAR) !== null;\n }\n _getOffset() {\n const {\n offset\n } = this._config;\n if (typeof offset === 'string') {\n return offset.split(',').map(value => Number.parseInt(value, 10));\n }\n if (typeof offset === 'function') {\n return popperData => offset(popperData, this._element);\n }\n return offset;\n }\n _getPopperConfig() {\n const defaultBsPopperConfig = {\n placement: this._getPlacement(),\n modifiers: [{\n name: 'preventOverflow',\n options: {\n boundary: this._config.boundary\n }\n }, {\n name: 'offset',\n options: {\n offset: this._getOffset()\n }\n }]\n };\n\n // Disable Popper if we have a static display or Dropdown is in Navbar\n if (this._inNavbar || this._config.display === 'static') {\n Manipulator.setDataAttribute(this._menu, 'popper', 'static'); // TODO: v6 remove\n defaultBsPopperConfig.modifiers = [{\n name: 'applyStyles',\n enabled: false\n }];\n }\n return {\n ...defaultBsPopperConfig,\n ...execute(this._config.popperConfig, [defaultBsPopperConfig])\n };\n }\n _selectMenuItem({\n key,\n target\n }) {\n const items = SelectorEngine.find(SELECTOR_VISIBLE_ITEMS, this._menu).filter(element => isVisible(element));\n if (!items.length) {\n return;\n }\n\n // if target isn't included in items (e.g. when expanding the dropdown)\n // allow cycling to get the last item in case key equals ARROW_UP_KEY\n getNextActiveElement(items, target, key === ARROW_DOWN_KEY$1, !items.includes(target)).focus();\n }\n\n // Static\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Dropdown.getOrCreateInstance(this, config);\n if (typeof config !== 'string') {\n return;\n }\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`);\n }\n data[config]();\n });\n }\n static clearMenus(event) {\n if (event.button === RIGHT_MOUSE_BUTTON || event.type === 'keyup' && event.key !== TAB_KEY$1) {\n return;\n }\n const openToggles = SelectorEngine.find(SELECTOR_DATA_TOGGLE_SHOWN);\n for (const toggle of openToggles) {\n const context = Dropdown.getInstance(toggle);\n if (!context || context._config.autoClose === false) {\n continue;\n }\n const composedPath = event.composedPath();\n const isMenuTarget = composedPath.includes(context._menu);\n if (composedPath.includes(context._element) || context._config.autoClose === 'inside' && !isMenuTarget || context._config.autoClose === 'outside' && isMenuTarget) {\n continue;\n }\n\n // Tab navigation through the dropdown menu or events from contained inputs shouldn't close the menu\n if (context._menu.contains(event.target) && (event.type === 'keyup' && event.key === TAB_KEY$1 || /input|select|option|textarea|form/i.test(event.target.tagName))) {\n continue;\n }\n const relatedTarget = {\n relatedTarget: context._element\n };\n if (event.type === 'click') {\n relatedTarget.clickEvent = event;\n }\n context._completeHide(relatedTarget);\n }\n }\n static dataApiKeydownHandler(event) {\n // If not an UP | DOWN | ESCAPE key => not a dropdown command\n // If input/textarea && if key is other than ESCAPE => not a dropdown command\n\n const isInput = /input|textarea/i.test(event.target.tagName);\n const isEscapeEvent = event.key === ESCAPE_KEY$2;\n const isUpOrDownEvent = [ARROW_UP_KEY$1, ARROW_DOWN_KEY$1].includes(event.key);\n if (!isUpOrDownEvent && !isEscapeEvent) {\n return;\n }\n if (isInput && !isEscapeEvent) {\n return;\n }\n event.preventDefault();\n\n // TODO: v6 revert #37011 & change markup https://getbootstrap.com/docs/5.3/forms/input-group/\n const getToggleButton = this.matches(SELECTOR_DATA_TOGGLE$3) ? this : SelectorEngine.prev(this, SELECTOR_DATA_TOGGLE$3)[0] || SelectorEngine.next(this, SELECTOR_DATA_TOGGLE$3)[0] || SelectorEngine.findOne(SELECTOR_DATA_TOGGLE$3, event.delegateTarget.parentNode);\n const instance = Dropdown.getOrCreateInstance(getToggleButton);\n if (isUpOrDownEvent) {\n event.stopPropagation();\n instance.show();\n instance._selectMenuItem(event);\n return;\n }\n if (instance._isShown()) {\n // else is escape and we check if it is shown\n event.stopPropagation();\n instance.hide();\n getToggleButton.focus();\n }\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_DATA_TOGGLE$3, Dropdown.dataApiKeydownHandler);\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Dropdown.dataApiKeydownHandler);\nEventHandler.on(document, EVENT_CLICK_DATA_API$3, Dropdown.clearMenus);\nEventHandler.on(document, EVENT_KEYUP_DATA_API, Dropdown.clearMenus);\nEventHandler.on(document, EVENT_CLICK_DATA_API$3, SELECTOR_DATA_TOGGLE$3, function (event) {\n event.preventDefault();\n Dropdown.getOrCreateInstance(this).toggle();\n});\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Dropdown);\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap util/backdrop.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n\n/**\n * Constants\n */\n\nconst NAME$9 = 'backdrop';\nconst CLASS_NAME_FADE$4 = 'fade';\nconst CLASS_NAME_SHOW$5 = 'show';\nconst EVENT_MOUSEDOWN = `mousedown.bs.${NAME$9}`;\nconst Default$8 = {\n className: 'modal-backdrop',\n clickCallback: null,\n isAnimated: false,\n isVisible: true,\n // if false, we use the backdrop helper without adding any element to the dom\n rootElement: 'body' // give the choice to place backdrop under different elements\n};\nconst DefaultType$8 = {\n className: 'string',\n clickCallback: '(function|null)',\n isAnimated: 'boolean',\n isVisible: 'boolean',\n rootElement: '(element|string)'\n};\n\n/**\n * Class definition\n */\n\nclass Backdrop extends Config {\n constructor(config) {\n super();\n this._config = this._getConfig(config);\n this._isAppended = false;\n this._element = null;\n }\n\n // Getters\n static get Default() {\n return Default$8;\n }\n static get DefaultType() {\n return DefaultType$8;\n }\n static get NAME() {\n return NAME$9;\n }\n\n // Public\n show(callback) {\n if (!this._config.isVisible) {\n execute(callback);\n return;\n }\n this._append();\n const element = this._getElement();\n if (this._config.isAnimated) {\n reflow(element);\n }\n element.classList.add(CLASS_NAME_SHOW$5);\n this._emulateAnimation(() => {\n execute(callback);\n });\n }\n hide(callback) {\n if (!this._config.isVisible) {\n execute(callback);\n return;\n }\n this._getElement().classList.remove(CLASS_NAME_SHOW$5);\n this._emulateAnimation(() => {\n this.dispose();\n execute(callback);\n });\n }\n dispose() {\n if (!this._isAppended) {\n return;\n }\n EventHandler.off(this._element, EVENT_MOUSEDOWN);\n this._element.remove();\n this._isAppended = false;\n }\n\n // Private\n _getElement() {\n if (!this._element) {\n const backdrop = document.createElement('div');\n backdrop.className = this._config.className;\n if (this._config.isAnimated) {\n backdrop.classList.add(CLASS_NAME_FADE$4);\n }\n this._element = backdrop;\n }\n return this._element;\n }\n _configAfterMerge(config) {\n // use getElement() with the default \"body\" to get a fresh Element on each instantiation\n config.rootElement = getElement(config.rootElement);\n return config;\n }\n _append() {\n if (this._isAppended) {\n return;\n }\n const element = this._getElement();\n this._config.rootElement.append(element);\n EventHandler.on(element, EVENT_MOUSEDOWN, () => {\n execute(this._config.clickCallback);\n });\n this._isAppended = true;\n }\n _emulateAnimation(callback) {\n executeAfterTransition(callback, this._getElement(), this._config.isAnimated);\n }\n}\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap util/focustrap.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n\n/**\n * Constants\n */\n\nconst NAME$8 = 'focustrap';\nconst DATA_KEY$5 = 'bs.focustrap';\nconst EVENT_KEY$5 = `.${DATA_KEY$5}`;\nconst EVENT_FOCUSIN$2 = `focusin${EVENT_KEY$5}`;\nconst EVENT_KEYDOWN_TAB = `keydown.tab${EVENT_KEY$5}`;\nconst TAB_KEY = 'Tab';\nconst TAB_NAV_FORWARD = 'forward';\nconst TAB_NAV_BACKWARD = 'backward';\nconst Default$7 = {\n autofocus: true,\n trapElement: null // The element to trap focus inside of\n};\nconst DefaultType$7 = {\n autofocus: 'boolean',\n trapElement: 'element'\n};\n\n/**\n * Class definition\n */\n\nclass FocusTrap extends Config {\n constructor(config) {\n super();\n this._config = this._getConfig(config);\n this._isActive = false;\n this._lastTabNavDirection = null;\n }\n\n // Getters\n static get Default() {\n return Default$7;\n }\n static get DefaultType() {\n return DefaultType$7;\n }\n static get NAME() {\n return NAME$8;\n }\n\n // Public\n activate() {\n if (this._isActive) {\n return;\n }\n if (this._config.autofocus) {\n this._config.trapElement.focus();\n }\n EventHandler.off(document, EVENT_KEY$5); // guard against infinite focus loop\n EventHandler.on(document, EVENT_FOCUSIN$2, event => this._handleFocusin(event));\n EventHandler.on(document, EVENT_KEYDOWN_TAB, event => this._handleKeydown(event));\n this._isActive = true;\n }\n deactivate() {\n if (!this._isActive) {\n return;\n }\n this._isActive = false;\n EventHandler.off(document, EVENT_KEY$5);\n }\n\n // Private\n _handleFocusin(event) {\n const {\n trapElement\n } = this._config;\n if (event.target === document || event.target === trapElement || trapElement.contains(event.target)) {\n return;\n }\n const elements = SelectorEngine.focusableChildren(trapElement);\n if (elements.length === 0) {\n trapElement.focus();\n } else if (this._lastTabNavDirection === TAB_NAV_BACKWARD) {\n elements[elements.length - 1].focus();\n } else {\n elements[0].focus();\n }\n }\n _handleKeydown(event) {\n if (event.key !== TAB_KEY) {\n return;\n }\n this._lastTabNavDirection = event.shiftKey ? TAB_NAV_BACKWARD : TAB_NAV_FORWARD;\n }\n}\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap util/scrollBar.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n\n/**\n * Constants\n */\n\nconst SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top';\nconst SELECTOR_STICKY_CONTENT = '.sticky-top';\nconst PROPERTY_PADDING = 'padding-right';\nconst PROPERTY_MARGIN = 'margin-right';\n\n/**\n * Class definition\n */\n\nclass ScrollBarHelper {\n constructor() {\n this._element = document.body;\n }\n\n // Public\n getWidth() {\n // https://developer.mozilla.org/en-US/docs/Web/API/Window/innerWidth#usage_notes\n const documentWidth = document.documentElement.clientWidth;\n return Math.abs(window.innerWidth - documentWidth);\n }\n hide() {\n const width = this.getWidth();\n this._disableOverFlow();\n // give padding to element to balance the hidden scrollbar width\n this._setElementAttributes(this._element, PROPERTY_PADDING, calculatedValue => calculatedValue + width);\n // trick: We adjust positive paddingRight and negative marginRight to sticky-top elements to keep showing fullwidth\n this._setElementAttributes(SELECTOR_FIXED_CONTENT, PROPERTY_PADDING, calculatedValue => calculatedValue + width);\n this._setElementAttributes(SELECTOR_STICKY_CONTENT, PROPERTY_MARGIN, calculatedValue => calculatedValue - width);\n }\n reset() {\n this._resetElementAttributes(this._element, 'overflow');\n this._resetElementAttributes(this._element, PROPERTY_PADDING);\n this._resetElementAttributes(SELECTOR_FIXED_CONTENT, PROPERTY_PADDING);\n this._resetElementAttributes(SELECTOR_STICKY_CONTENT, PROPERTY_MARGIN);\n }\n isOverflowing() {\n return this.getWidth() > 0;\n }\n\n // Private\n _disableOverFlow() {\n this._saveInitialAttribute(this._element, 'overflow');\n this._element.style.overflow = 'hidden';\n }\n _setElementAttributes(selector, styleProperty, callback) {\n const scrollbarWidth = this.getWidth();\n const manipulationCallBack = element => {\n if (element !== this._element && window.innerWidth > element.clientWidth + scrollbarWidth) {\n return;\n }\n this._saveInitialAttribute(element, styleProperty);\n const calculatedValue = window.getComputedStyle(element).getPropertyValue(styleProperty);\n element.style.setProperty(styleProperty, `${callback(Number.parseFloat(calculatedValue))}px`);\n };\n this._applyManipulationCallback(selector, manipulationCallBack);\n }\n _saveInitialAttribute(element, styleProperty) {\n const actualValue = element.style.getPropertyValue(styleProperty);\n if (actualValue) {\n Manipulator.setDataAttribute(element, styleProperty, actualValue);\n }\n }\n _resetElementAttributes(selector, styleProperty) {\n const manipulationCallBack = element => {\n const value = Manipulator.getDataAttribute(element, styleProperty);\n // We only want to remove the property if the value is `null`; the value can also be zero\n if (value === null) {\n element.style.removeProperty(styleProperty);\n return;\n }\n Manipulator.removeDataAttribute(element, styleProperty);\n element.style.setProperty(styleProperty, value);\n };\n this._applyManipulationCallback(selector, manipulationCallBack);\n }\n _applyManipulationCallback(selector, callBack) {\n if (isElement(selector)) {\n callBack(selector);\n return;\n }\n for (const sel of SelectorEngine.find(selector, this._element)) {\n callBack(sel);\n }\n }\n}\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap modal.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n\n/**\n * Constants\n */\n\nconst NAME$7 = 'modal';\nconst DATA_KEY$4 = 'bs.modal';\nconst EVENT_KEY$4 = `.${DATA_KEY$4}`;\nconst DATA_API_KEY$2 = '.data-api';\nconst ESCAPE_KEY$1 = 'Escape';\nconst EVENT_HIDE$4 = `hide${EVENT_KEY$4}`;\nconst EVENT_HIDE_PREVENTED$1 = `hidePrevented${EVENT_KEY$4}`;\nconst EVENT_HIDDEN$4 = `hidden${EVENT_KEY$4}`;\nconst EVENT_SHOW$4 = `show${EVENT_KEY$4}`;\nconst EVENT_SHOWN$4 = `shown${EVENT_KEY$4}`;\nconst EVENT_RESIZE$1 = `resize${EVENT_KEY$4}`;\nconst EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY$4}`;\nconst EVENT_MOUSEDOWN_DISMISS = `mousedown.dismiss${EVENT_KEY$4}`;\nconst EVENT_KEYDOWN_DISMISS$1 = `keydown.dismiss${EVENT_KEY$4}`;\nconst EVENT_CLICK_DATA_API$2 = `click${EVENT_KEY$4}${DATA_API_KEY$2}`;\nconst CLASS_NAME_OPEN = 'modal-open';\nconst CLASS_NAME_FADE$3 = 'fade';\nconst CLASS_NAME_SHOW$4 = 'show';\nconst CLASS_NAME_STATIC = 'modal-static';\nconst OPEN_SELECTOR$1 = '.modal.show';\nconst SELECTOR_DIALOG = '.modal-dialog';\nconst SELECTOR_MODAL_BODY = '.modal-body';\nconst SELECTOR_DATA_TOGGLE$2 = '[data-bs-toggle=\"modal\"]';\nconst Default$6 = {\n backdrop: true,\n focus: true,\n keyboard: true\n};\nconst DefaultType$6 = {\n backdrop: '(boolean|string)',\n focus: 'boolean',\n keyboard: 'boolean'\n};\n\n/**\n * Class definition\n */\n\nclass Modal extends BaseComponent {\n constructor(element, config) {\n super(element, config);\n this._dialog = SelectorEngine.findOne(SELECTOR_DIALOG, this._element);\n this._backdrop = this._initializeBackDrop();\n this._focustrap = this._initializeFocusTrap();\n this._isShown = false;\n this._isTransitioning = false;\n this._scrollBar = new ScrollBarHelper();\n this._addEventListeners();\n }\n\n // Getters\n static get Default() {\n return Default$6;\n }\n static get DefaultType() {\n return DefaultType$6;\n }\n static get NAME() {\n return NAME$7;\n }\n\n // Public\n toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget);\n }\n show(relatedTarget) {\n if (this._isShown || this._isTransitioning) {\n return;\n }\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW$4, {\n relatedTarget\n });\n if (showEvent.defaultPrevented) {\n return;\n }\n this._isShown = true;\n this._isTransitioning = true;\n this._scrollBar.hide();\n document.body.classList.add(CLASS_NAME_OPEN);\n this._adjustDialog();\n this._backdrop.show(() => this._showElement(relatedTarget));\n }\n hide() {\n if (!this._isShown || this._isTransitioning) {\n return;\n }\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE$4);\n if (hideEvent.defaultPrevented) {\n return;\n }\n this._isShown = false;\n this._isTransitioning = true;\n this._focustrap.deactivate();\n this._element.classList.remove(CLASS_NAME_SHOW$4);\n this._queueCallback(() => this._hideModal(), this._element, this._isAnimated());\n }\n dispose() {\n EventHandler.off(window, EVENT_KEY$4);\n EventHandler.off(this._dialog, EVENT_KEY$4);\n this._backdrop.dispose();\n this._focustrap.deactivate();\n super.dispose();\n }\n handleUpdate() {\n this._adjustDialog();\n }\n\n // Private\n _initializeBackDrop() {\n return new Backdrop({\n isVisible: Boolean(this._config.backdrop),\n // 'static' option will be translated to true, and booleans will keep their value,\n isAnimated: this._isAnimated()\n });\n }\n _initializeFocusTrap() {\n return new FocusTrap({\n trapElement: this._element\n });\n }\n _showElement(relatedTarget) {\n // try to append dynamic modal\n if (!document.body.contains(this._element)) {\n document.body.append(this._element);\n }\n this._element.style.display = 'block';\n this._element.removeAttribute('aria-hidden');\n this._element.setAttribute('aria-modal', true);\n this._element.setAttribute('role', 'dialog');\n this._element.scrollTop = 0;\n const modalBody = SelectorEngine.findOne(SELECTOR_MODAL_BODY, this._dialog);\n if (modalBody) {\n modalBody.scrollTop = 0;\n }\n reflow(this._element);\n this._element.classList.add(CLASS_NAME_SHOW$4);\n const transitionComplete = () => {\n if (this._config.focus) {\n this._focustrap.activate();\n }\n this._isTransitioning = false;\n EventHandler.trigger(this._element, EVENT_SHOWN$4, {\n relatedTarget\n });\n };\n this._queueCallback(transitionComplete, this._dialog, this._isAnimated());\n }\n _addEventListeners() {\n EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS$1, event => {\n if (event.key !== ESCAPE_KEY$1) {\n return;\n }\n if (this._config.keyboard) {\n this.hide();\n return;\n }\n this._triggerBackdropTransition();\n });\n EventHandler.on(window, EVENT_RESIZE$1, () => {\n if (this._isShown && !this._isTransitioning) {\n this._adjustDialog();\n }\n });\n EventHandler.on(this._element, EVENT_MOUSEDOWN_DISMISS, event => {\n // a bad trick to segregate clicks that may start inside dialog but end outside, and avoid listen to scrollbar clicks\n EventHandler.one(this._element, EVENT_CLICK_DISMISS, event2 => {\n if (this._element !== event.target || this._element !== event2.target) {\n return;\n }\n if (this._config.backdrop === 'static') {\n this._triggerBackdropTransition();\n return;\n }\n if (this._config.backdrop) {\n this.hide();\n }\n });\n });\n }\n _hideModal() {\n this._element.style.display = 'none';\n this._element.setAttribute('aria-hidden', true);\n this._element.removeAttribute('aria-modal');\n this._element.removeAttribute('role');\n this._isTransitioning = false;\n this._backdrop.hide(() => {\n document.body.classList.remove(CLASS_NAME_OPEN);\n this._resetAdjustments();\n this._scrollBar.reset();\n EventHandler.trigger(this._element, EVENT_HIDDEN$4);\n });\n }\n _isAnimated() {\n return this._element.classList.contains(CLASS_NAME_FADE$3);\n }\n _triggerBackdropTransition() {\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED$1);\n if (hideEvent.defaultPrevented) {\n return;\n }\n const isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight;\n const initialOverflowY = this._element.style.overflowY;\n // return if the following background transition hasn't yet completed\n if (initialOverflowY === 'hidden' || this._element.classList.contains(CLASS_NAME_STATIC)) {\n return;\n }\n if (!isModalOverflowing) {\n this._element.style.overflowY = 'hidden';\n }\n this._element.classList.add(CLASS_NAME_STATIC);\n this._queueCallback(() => {\n this._element.classList.remove(CLASS_NAME_STATIC);\n this._queueCallback(() => {\n this._element.style.overflowY = initialOverflowY;\n }, this._dialog);\n }, this._dialog);\n this._element.focus();\n }\n\n /**\n * The following methods are used to handle overflowing modals\n */\n\n _adjustDialog() {\n const isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight;\n const scrollbarWidth = this._scrollBar.getWidth();\n const isBodyOverflowing = scrollbarWidth > 0;\n if (isBodyOverflowing && !isModalOverflowing) {\n const property = isRTL() ? 'paddingLeft' : 'paddingRight';\n this._element.style[property] = `${scrollbarWidth}px`;\n }\n if (!isBodyOverflowing && isModalOverflowing) {\n const property = isRTL() ? 'paddingRight' : 'paddingLeft';\n this._element.style[property] = `${scrollbarWidth}px`;\n }\n }\n _resetAdjustments() {\n this._element.style.paddingLeft = '';\n this._element.style.paddingRight = '';\n }\n\n // Static\n static jQueryInterface(config, relatedTarget) {\n return this.each(function () {\n const data = Modal.getOrCreateInstance(this, config);\n if (typeof config !== 'string') {\n return;\n }\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`);\n }\n data[config](relatedTarget);\n });\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API$2, SELECTOR_DATA_TOGGLE$2, function (event) {\n const target = SelectorEngine.getElementFromSelector(this);\n if (['A', 'AREA'].includes(this.tagName)) {\n event.preventDefault();\n }\n EventHandler.one(target, EVENT_SHOW$4, showEvent => {\n if (showEvent.defaultPrevented) {\n // only register focus restorer if modal will actually get shown\n return;\n }\n EventHandler.one(target, EVENT_HIDDEN$4, () => {\n if (isVisible(this)) {\n this.focus();\n }\n });\n });\n\n // avoid conflict when clicking modal toggler while another one is open\n const alreadyOpen = SelectorEngine.findOne(OPEN_SELECTOR$1);\n if (alreadyOpen) {\n Modal.getInstance(alreadyOpen).hide();\n }\n const data = Modal.getOrCreateInstance(target);\n data.toggle(this);\n});\nenableDismissTrigger(Modal);\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Modal);\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap offcanvas.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n\n/**\n * Constants\n */\n\nconst NAME$6 = 'offcanvas';\nconst DATA_KEY$3 = 'bs.offcanvas';\nconst EVENT_KEY$3 = `.${DATA_KEY$3}`;\nconst DATA_API_KEY$1 = '.data-api';\nconst EVENT_LOAD_DATA_API$2 = `load${EVENT_KEY$3}${DATA_API_KEY$1}`;\nconst ESCAPE_KEY = 'Escape';\nconst CLASS_NAME_SHOW$3 = 'show';\nconst CLASS_NAME_SHOWING$1 = 'showing';\nconst CLASS_NAME_HIDING = 'hiding';\nconst CLASS_NAME_BACKDROP = 'offcanvas-backdrop';\nconst OPEN_SELECTOR = '.offcanvas.show';\nconst EVENT_SHOW$3 = `show${EVENT_KEY$3}`;\nconst EVENT_SHOWN$3 = `shown${EVENT_KEY$3}`;\nconst EVENT_HIDE$3 = `hide${EVENT_KEY$3}`;\nconst EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY$3}`;\nconst EVENT_HIDDEN$3 = `hidden${EVENT_KEY$3}`;\nconst EVENT_RESIZE = `resize${EVENT_KEY$3}`;\nconst EVENT_CLICK_DATA_API$1 = `click${EVENT_KEY$3}${DATA_API_KEY$1}`;\nconst EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY$3}`;\nconst SELECTOR_DATA_TOGGLE$1 = '[data-bs-toggle=\"offcanvas\"]';\nconst Default$5 = {\n backdrop: true,\n keyboard: true,\n scroll: false\n};\nconst DefaultType$5 = {\n backdrop: '(boolean|string)',\n keyboard: 'boolean',\n scroll: 'boolean'\n};\n\n/**\n * Class definition\n */\n\nclass Offcanvas extends BaseComponent {\n constructor(element, config) {\n super(element, config);\n this._isShown = false;\n this._backdrop = this._initializeBackDrop();\n this._focustrap = this._initializeFocusTrap();\n this._addEventListeners();\n }\n\n // Getters\n static get Default() {\n return Default$5;\n }\n static get DefaultType() {\n return DefaultType$5;\n }\n static get NAME() {\n return NAME$6;\n }\n\n // Public\n toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget);\n }\n show(relatedTarget) {\n if (this._isShown) {\n return;\n }\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW$3, {\n relatedTarget\n });\n if (showEvent.defaultPrevented) {\n return;\n }\n this._isShown = true;\n this._backdrop.show();\n if (!this._config.scroll) {\n new ScrollBarHelper().hide();\n }\n this._element.setAttribute('aria-modal', true);\n this._element.setAttribute('role', 'dialog');\n this._element.classList.add(CLASS_NAME_SHOWING$1);\n const completeCallBack = () => {\n if (!this._config.scroll || this._config.backdrop) {\n this._focustrap.activate();\n }\n this._element.classList.add(CLASS_NAME_SHOW$3);\n this._element.classList.remove(CLASS_NAME_SHOWING$1);\n EventHandler.trigger(this._element, EVENT_SHOWN$3, {\n relatedTarget\n });\n };\n this._queueCallback(completeCallBack, this._element, true);\n }\n hide() {\n if (!this._isShown) {\n return;\n }\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE$3);\n if (hideEvent.defaultPrevented) {\n return;\n }\n this._focustrap.deactivate();\n this._element.blur();\n this._isShown = false;\n this._element.classList.add(CLASS_NAME_HIDING);\n this._backdrop.hide();\n const completeCallback = () => {\n this._element.classList.remove(CLASS_NAME_SHOW$3, CLASS_NAME_HIDING);\n this._element.removeAttribute('aria-modal');\n this._element.removeAttribute('role');\n if (!this._config.scroll) {\n new ScrollBarHelper().reset();\n }\n EventHandler.trigger(this._element, EVENT_HIDDEN$3);\n };\n this._queueCallback(completeCallback, this._element, true);\n }\n dispose() {\n this._backdrop.dispose();\n this._focustrap.deactivate();\n super.dispose();\n }\n\n // Private\n _initializeBackDrop() {\n const clickCallback = () => {\n if (this._config.backdrop === 'static') {\n EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED);\n return;\n }\n this.hide();\n };\n\n // 'static' option will be translated to true, and booleans will keep their value\n const isVisible = Boolean(this._config.backdrop);\n return new Backdrop({\n className: CLASS_NAME_BACKDROP,\n isVisible,\n isAnimated: true,\n rootElement: this._element.parentNode,\n clickCallback: isVisible ? clickCallback : null\n });\n }\n _initializeFocusTrap() {\n return new FocusTrap({\n trapElement: this._element\n });\n }\n _addEventListeners() {\n EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS, event => {\n if (event.key !== ESCAPE_KEY) {\n return;\n }\n if (this._config.keyboard) {\n this.hide();\n return;\n }\n EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED);\n });\n }\n\n // Static\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Offcanvas.getOrCreateInstance(this, config);\n if (typeof config !== 'string') {\n return;\n }\n if (data[config] === undefined || config.startsWith('_') || config === 'constructor') {\n throw new TypeError(`No method named \"${config}\"`);\n }\n data[config](this);\n });\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API$1, SELECTOR_DATA_TOGGLE$1, function (event) {\n const target = SelectorEngine.getElementFromSelector(this);\n if (['A', 'AREA'].includes(this.tagName)) {\n event.preventDefault();\n }\n if (isDisabled(this)) {\n return;\n }\n EventHandler.one(target, EVENT_HIDDEN$3, () => {\n // focus on trigger when it is closed\n if (isVisible(this)) {\n this.focus();\n }\n });\n\n // avoid conflict when clicking a toggler of an offcanvas, while another is open\n const alreadyOpen = SelectorEngine.findOne(OPEN_SELECTOR);\n if (alreadyOpen && alreadyOpen !== target) {\n Offcanvas.getInstance(alreadyOpen).hide();\n }\n const data = Offcanvas.getOrCreateInstance(target);\n data.toggle(this);\n});\nEventHandler.on(window, EVENT_LOAD_DATA_API$2, () => {\n for (const selector of SelectorEngine.find(OPEN_SELECTOR)) {\n Offcanvas.getOrCreateInstance(selector).show();\n }\n});\nEventHandler.on(window, EVENT_RESIZE, () => {\n for (const element of SelectorEngine.find('[aria-modal][class*=show][class*=offcanvas-]')) {\n if (getComputedStyle(element).position !== 'fixed') {\n Offcanvas.getOrCreateInstance(element).hide();\n }\n }\n});\nenableDismissTrigger(Offcanvas);\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Offcanvas);\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap util/sanitizer.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n// js-docs-start allow-list\nconst ARIA_ATTRIBUTE_PATTERN = /^aria-[\\w-]*$/i;\nconst DefaultAllowlist = {\n // Global attributes allowed on any supplied element below.\n '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN],\n a: ['target', 'href', 'title', 'rel'],\n area: [],\n b: [],\n br: [],\n col: [],\n code: [],\n dd: [],\n div: [],\n dl: [],\n dt: [],\n em: [],\n hr: [],\n h1: [],\n h2: [],\n h3: [],\n h4: [],\n h5: [],\n h6: [],\n i: [],\n img: ['src', 'srcset', 'alt', 'title', 'width', 'height'],\n li: [],\n ol: [],\n p: [],\n pre: [],\n s: [],\n small: [],\n span: [],\n sub: [],\n sup: [],\n strong: [],\n u: [],\n ul: []\n};\n// js-docs-end allow-list\n\nconst uriAttributes = new Set(['background', 'cite', 'href', 'itemtype', 'longdesc', 'poster', 'src', 'xlink:href']);\n\n/**\n * A pattern that recognizes URLs that are safe wrt. XSS in URL navigation\n * contexts.\n *\n * Shout-out to Angular https://github.com/angular/angular/blob/15.2.8/packages/core/src/sanitization/url_sanitizer.ts#L38\n */\n// eslint-disable-next-line unicorn/better-regex\nconst SAFE_URL_PATTERN = /^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:/?#]*(?:[/?#]|$))/i;\nconst allowedAttribute = (attribute, allowedAttributeList) => {\n const attributeName = attribute.nodeName.toLowerCase();\n if (allowedAttributeList.includes(attributeName)) {\n if (uriAttributes.has(attributeName)) {\n return Boolean(SAFE_URL_PATTERN.test(attribute.nodeValue));\n }\n return true;\n }\n\n // Check if a regular expression validates the attribute.\n return allowedAttributeList.filter(attributeRegex => attributeRegex instanceof RegExp).some(regex => regex.test(attributeName));\n};\nfunction sanitizeHtml(unsafeHtml, allowList, sanitizeFunction) {\n if (!unsafeHtml.length) {\n return unsafeHtml;\n }\n if (sanitizeFunction && typeof sanitizeFunction === 'function') {\n return sanitizeFunction(unsafeHtml);\n }\n const domParser = new window.DOMParser();\n const createdDocument = domParser.parseFromString(unsafeHtml, 'text/html');\n const elements = [].concat(...createdDocument.body.querySelectorAll('*'));\n for (const element of elements) {\n const elementName = element.nodeName.toLowerCase();\n if (!Object.keys(allowList).includes(elementName)) {\n element.remove();\n continue;\n }\n const attributeList = [].concat(...element.attributes);\n const allowedAttributes = [].concat(allowList['*'] || [], allowList[elementName] || []);\n for (const attribute of attributeList) {\n if (!allowedAttribute(attribute, allowedAttributes)) {\n element.removeAttribute(attribute.nodeName);\n }\n }\n }\n return createdDocument.body.innerHTML;\n}\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap util/template-factory.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n\n/**\n * Constants\n */\n\nconst NAME$5 = 'TemplateFactory';\nconst Default$4 = {\n allowList: DefaultAllowlist,\n content: {},\n // { selector : text , selector2 : text2 , }\n extraClass: '',\n html: false,\n sanitize: true,\n sanitizeFn: null,\n template: '
'\n};\nconst DefaultType$4 = {\n allowList: 'object',\n content: 'object',\n extraClass: '(string|function)',\n html: 'boolean',\n sanitize: 'boolean',\n sanitizeFn: '(null|function)',\n template: 'string'\n};\nconst DefaultContentType = {\n entry: '(string|element|function|null)',\n selector: '(string|element)'\n};\n\n/**\n * Class definition\n */\n\nclass TemplateFactory extends Config {\n constructor(config) {\n super();\n this._config = this._getConfig(config);\n }\n\n // Getters\n static get Default() {\n return Default$4;\n }\n static get DefaultType() {\n return DefaultType$4;\n }\n static get NAME() {\n return NAME$5;\n }\n\n // Public\n getContent() {\n return Object.values(this._config.content).map(config => this._resolvePossibleFunction(config)).filter(Boolean);\n }\n hasContent() {\n return this.getContent().length > 0;\n }\n changeContent(content) {\n this._checkContent(content);\n this._config.content = {\n ...this._config.content,\n ...content\n };\n return this;\n }\n toHtml() {\n const templateWrapper = document.createElement('div');\n templateWrapper.innerHTML = this._maybeSanitize(this._config.template);\n for (const [selector, text] of Object.entries(this._config.content)) {\n this._setContent(templateWrapper, text, selector);\n }\n const template = templateWrapper.children[0];\n const extraClass = this._resolvePossibleFunction(this._config.extraClass);\n if (extraClass) {\n template.classList.add(...extraClass.split(' '));\n }\n return template;\n }\n\n // Private\n _typeCheckConfig(config) {\n super._typeCheckConfig(config);\n this._checkContent(config.content);\n }\n _checkContent(arg) {\n for (const [selector, content] of Object.entries(arg)) {\n super._typeCheckConfig({\n selector,\n entry: content\n }, DefaultContentType);\n }\n }\n _setContent(template, content, selector) {\n const templateElement = SelectorEngine.findOne(selector, template);\n if (!templateElement) {\n return;\n }\n content = this._resolvePossibleFunction(content);\n if (!content) {\n templateElement.remove();\n return;\n }\n if (isElement(content)) {\n this._putElementInTemplate(getElement(content), templateElement);\n return;\n }\n if (this._config.html) {\n templateElement.innerHTML = this._maybeSanitize(content);\n return;\n }\n templateElement.textContent = content;\n }\n _maybeSanitize(arg) {\n return this._config.sanitize ? sanitizeHtml(arg, this._config.allowList, this._config.sanitizeFn) : arg;\n }\n _resolvePossibleFunction(arg) {\n return execute(arg, [this]);\n }\n _putElementInTemplate(element, templateElement) {\n if (this._config.html) {\n templateElement.innerHTML = '';\n templateElement.append(element);\n return;\n }\n templateElement.textContent = element.textContent;\n }\n}\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n\n/**\n * Constants\n */\n\nconst NAME$4 = 'tooltip';\nconst DISALLOWED_ATTRIBUTES = new Set(['sanitize', 'allowList', 'sanitizeFn']);\nconst CLASS_NAME_FADE$2 = 'fade';\nconst CLASS_NAME_MODAL = 'modal';\nconst CLASS_NAME_SHOW$2 = 'show';\nconst SELECTOR_TOOLTIP_INNER = '.tooltip-inner';\nconst SELECTOR_MODAL = `.${CLASS_NAME_MODAL}`;\nconst EVENT_MODAL_HIDE = 'hide.bs.modal';\nconst TRIGGER_HOVER = 'hover';\nconst TRIGGER_FOCUS = 'focus';\nconst TRIGGER_CLICK = 'click';\nconst TRIGGER_MANUAL = 'manual';\nconst EVENT_HIDE$2 = 'hide';\nconst EVENT_HIDDEN$2 = 'hidden';\nconst EVENT_SHOW$2 = 'show';\nconst EVENT_SHOWN$2 = 'shown';\nconst EVENT_INSERTED = 'inserted';\nconst EVENT_CLICK$1 = 'click';\nconst EVENT_FOCUSIN$1 = 'focusin';\nconst EVENT_FOCUSOUT$1 = 'focusout';\nconst EVENT_MOUSEENTER = 'mouseenter';\nconst EVENT_MOUSELEAVE = 'mouseleave';\nconst AttachmentMap = {\n AUTO: 'auto',\n TOP: 'top',\n RIGHT: isRTL() ? 'left' : 'right',\n BOTTOM: 'bottom',\n LEFT: isRTL() ? 'right' : 'left'\n};\nconst Default$3 = {\n allowList: DefaultAllowlist,\n animation: true,\n boundary: 'clippingParents',\n container: false,\n customClass: '',\n delay: 0,\n fallbackPlacements: ['top', 'right', 'bottom', 'left'],\n html: false,\n offset: [0, 6],\n placement: 'top',\n popperConfig: null,\n sanitize: true,\n sanitizeFn: null,\n selector: false,\n template: '
' + '
' + '
' + '
',\n title: '',\n trigger: 'hover focus'\n};\nconst DefaultType$3 = {\n allowList: 'object',\n animation: 'boolean',\n boundary: '(string|element)',\n container: '(string|element|boolean)',\n customClass: '(string|function)',\n delay: '(number|object)',\n fallbackPlacements: 'array',\n html: 'boolean',\n offset: '(array|string|function)',\n placement: '(string|function)',\n popperConfig: '(null|object|function)',\n sanitize: 'boolean',\n sanitizeFn: '(null|function)',\n selector: '(string|boolean)',\n template: 'string',\n title: '(string|element|function)',\n trigger: 'string'\n};\n\n/**\n * Class definition\n */\n\nclass Tooltip extends BaseComponent {\n constructor(element, config) {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s tooltips require Popper (https://popper.js.org)');\n }\n super(element, config);\n\n // Private\n this._isEnabled = true;\n this._timeout = 0;\n this._isHovered = null;\n this._activeTrigger = {};\n this._popper = null;\n this._templateFactory = null;\n this._newContent = null;\n\n // Protected\n this.tip = null;\n this._setListeners();\n if (!this._config.selector) {\n this._fixTitle();\n }\n }\n\n // Getters\n static get Default() {\n return Default$3;\n }\n static get DefaultType() {\n return DefaultType$3;\n }\n static get NAME() {\n return NAME$4;\n }\n\n // Public\n enable() {\n this._isEnabled = true;\n }\n disable() {\n this._isEnabled = false;\n }\n toggleEnabled() {\n this._isEnabled = !this._isEnabled;\n }\n toggle() {\n if (!this._isEnabled) {\n return;\n }\n this._activeTrigger.click = !this._activeTrigger.click;\n if (this._isShown()) {\n this._leave();\n return;\n }\n this._enter();\n }\n dispose() {\n clearTimeout(this._timeout);\n EventHandler.off(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler);\n if (this._element.getAttribute('data-bs-original-title')) {\n this._element.setAttribute('title', this._element.getAttribute('data-bs-original-title'));\n }\n this._disposePopper();\n super.dispose();\n }\n show() {\n if (this._element.style.display === 'none') {\n throw new Error('Please use show on visible elements');\n }\n if (!(this._isWithContent() && this._isEnabled)) {\n return;\n }\n const showEvent = EventHandler.trigger(this._element, this.constructor.eventName(EVENT_SHOW$2));\n const shadowRoot = findShadowRoot(this._element);\n const isInTheDom = (shadowRoot || this._element.ownerDocument.documentElement).contains(this._element);\n if (showEvent.defaultPrevented || !isInTheDom) {\n return;\n }\n\n // TODO: v6 remove this or make it optional\n this._disposePopper();\n const tip = this._getTipElement();\n this._element.setAttribute('aria-describedby', tip.getAttribute('id'));\n const {\n container\n } = this._config;\n if (!this._element.ownerDocument.documentElement.contains(this.tip)) {\n container.append(tip);\n EventHandler.trigger(this._element, this.constructor.eventName(EVENT_INSERTED));\n }\n this._popper = this._createPopper(tip);\n tip.classList.add(CLASS_NAME_SHOW$2);\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement) {\n for (const element of [].concat(...document.body.children)) {\n EventHandler.on(element, 'mouseover', noop);\n }\n }\n const complete = () => {\n EventHandler.trigger(this._element, this.constructor.eventName(EVENT_SHOWN$2));\n if (this._isHovered === false) {\n this._leave();\n }\n this._isHovered = false;\n };\n this._queueCallback(complete, this.tip, this._isAnimated());\n }\n hide() {\n if (!this._isShown()) {\n return;\n }\n const hideEvent = EventHandler.trigger(this._element, this.constructor.eventName(EVENT_HIDE$2));\n if (hideEvent.defaultPrevented) {\n return;\n }\n const tip = this._getTipElement();\n tip.classList.remove(CLASS_NAME_SHOW$2);\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n for (const element of [].concat(...document.body.children)) {\n EventHandler.off(element, 'mouseover', noop);\n }\n }\n this._activeTrigger[TRIGGER_CLICK] = false;\n this._activeTrigger[TRIGGER_FOCUS] = false;\n this._activeTrigger[TRIGGER_HOVER] = false;\n this._isHovered = null; // it is a trick to support manual triggering\n\n const complete = () => {\n if (this._isWithActiveTrigger()) {\n return;\n }\n if (!this._isHovered) {\n this._disposePopper();\n }\n this._element.removeAttribute('aria-describedby');\n EventHandler.trigger(this._element, this.constructor.eventName(EVENT_HIDDEN$2));\n };\n this._queueCallback(complete, this.tip, this._isAnimated());\n }\n update() {\n if (this._popper) {\n this._popper.update();\n }\n }\n\n // Protected\n _isWithContent() {\n return Boolean(this._getTitle());\n }\n _getTipElement() {\n if (!this.tip) {\n this.tip = this._createTipElement(this._newContent || this._getContentForTemplate());\n }\n return this.tip;\n }\n _createTipElement(content) {\n const tip = this._getTemplateFactory(content).toHtml();\n\n // TODO: remove this check in v6\n if (!tip) {\n return null;\n }\n tip.classList.remove(CLASS_NAME_FADE$2, CLASS_NAME_SHOW$2);\n // TODO: v6 the following can be achieved with CSS only\n tip.classList.add(`bs-${this.constructor.NAME}-auto`);\n const tipId = getUID(this.constructor.NAME).toString();\n tip.setAttribute('id', tipId);\n if (this._isAnimated()) {\n tip.classList.add(CLASS_NAME_FADE$2);\n }\n return tip;\n }\n setContent(content) {\n this._newContent = content;\n if (this._isShown()) {\n this._disposePopper();\n this.show();\n }\n }\n _getTemplateFactory(content) {\n if (this._templateFactory) {\n this._templateFactory.changeContent(content);\n } else {\n this._templateFactory = new TemplateFactory({\n ...this._config,\n // the `content` var has to be after `this._config`\n // to override config.content in case of popover\n content,\n extraClass: this._resolvePossibleFunction(this._config.customClass)\n });\n }\n return this._templateFactory;\n }\n _getContentForTemplate() {\n return {\n [SELECTOR_TOOLTIP_INNER]: this._getTitle()\n };\n }\n _getTitle() {\n return this._resolvePossibleFunction(this._config.title) || this._element.getAttribute('data-bs-original-title');\n }\n\n // Private\n _initializeOnDelegatedTarget(event) {\n return this.constructor.getOrCreateInstance(event.delegateTarget, this._getDelegateConfig());\n }\n _isAnimated() {\n return this._config.animation || this.tip && this.tip.classList.contains(CLASS_NAME_FADE$2);\n }\n _isShown() {\n return this.tip && this.tip.classList.contains(CLASS_NAME_SHOW$2);\n }\n _createPopper(tip) {\n const placement = execute(this._config.placement, [this, tip, this._element]);\n const attachment = AttachmentMap[placement.toUpperCase()];\n return Popper.createPopper(this._element, tip, this._getPopperConfig(attachment));\n }\n _getOffset() {\n const {\n offset\n } = this._config;\n if (typeof offset === 'string') {\n return offset.split(',').map(value => Number.parseInt(value, 10));\n }\n if (typeof offset === 'function') {\n return popperData => offset(popperData, this._element);\n }\n return offset;\n }\n _resolvePossibleFunction(arg) {\n return execute(arg, [this._element]);\n }\n _getPopperConfig(attachment) {\n const defaultBsPopperConfig = {\n placement: attachment,\n modifiers: [{\n name: 'flip',\n options: {\n fallbackPlacements: this._config.fallbackPlacements\n }\n }, {\n name: 'offset',\n options: {\n offset: this._getOffset()\n }\n }, {\n name: 'preventOverflow',\n options: {\n boundary: this._config.boundary\n }\n }, {\n name: 'arrow',\n options: {\n element: `.${this.constructor.NAME}-arrow`\n }\n }, {\n name: 'preSetPlacement',\n enabled: true,\n phase: 'beforeMain',\n fn: data => {\n // Pre-set Popper's placement attribute in order to read the arrow sizes properly.\n // Otherwise, Popper mixes up the width and height dimensions since the initial arrow style is for top placement\n this._getTipElement().setAttribute('data-popper-placement', data.state.placement);\n }\n }]\n };\n return {\n ...defaultBsPopperConfig,\n ...execute(this._config.popperConfig, [defaultBsPopperConfig])\n };\n }\n _setListeners() {\n const triggers = this._config.trigger.split(' ');\n for (const trigger of triggers) {\n if (trigger === 'click') {\n EventHandler.on(this._element, this.constructor.eventName(EVENT_CLICK$1), this._config.selector, event => {\n const context = this._initializeOnDelegatedTarget(event);\n context.toggle();\n });\n } else if (trigger !== TRIGGER_MANUAL) {\n const eventIn = trigger === TRIGGER_HOVER ? this.constructor.eventName(EVENT_MOUSEENTER) : this.constructor.eventName(EVENT_FOCUSIN$1);\n const eventOut = trigger === TRIGGER_HOVER ? this.constructor.eventName(EVENT_MOUSELEAVE) : this.constructor.eventName(EVENT_FOCUSOUT$1);\n EventHandler.on(this._element, eventIn, this._config.selector, event => {\n const context = this._initializeOnDelegatedTarget(event);\n context._activeTrigger[event.type === 'focusin' ? TRIGGER_FOCUS : TRIGGER_HOVER] = true;\n context._enter();\n });\n EventHandler.on(this._element, eventOut, this._config.selector, event => {\n const context = this._initializeOnDelegatedTarget(event);\n context._activeTrigger[event.type === 'focusout' ? TRIGGER_FOCUS : TRIGGER_HOVER] = context._element.contains(event.relatedTarget);\n context._leave();\n });\n }\n }\n this._hideModalHandler = () => {\n if (this._element) {\n this.hide();\n }\n };\n EventHandler.on(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler);\n }\n _fixTitle() {\n const title = this._element.getAttribute('title');\n if (!title) {\n return;\n }\n if (!this._element.getAttribute('aria-label') && !this._element.textContent.trim()) {\n this._element.setAttribute('aria-label', title);\n }\n this._element.setAttribute('data-bs-original-title', title); // DO NOT USE IT. Is only for backwards compatibility\n this._element.removeAttribute('title');\n }\n _enter() {\n if (this._isShown() || this._isHovered) {\n this._isHovered = true;\n return;\n }\n this._isHovered = true;\n this._setTimeout(() => {\n if (this._isHovered) {\n this.show();\n }\n }, this._config.delay.show);\n }\n _leave() {\n if (this._isWithActiveTrigger()) {\n return;\n }\n this._isHovered = false;\n this._setTimeout(() => {\n if (!this._isHovered) {\n this.hide();\n }\n }, this._config.delay.hide);\n }\n _setTimeout(handler, timeout) {\n clearTimeout(this._timeout);\n this._timeout = setTimeout(handler, timeout);\n }\n _isWithActiveTrigger() {\n return Object.values(this._activeTrigger).includes(true);\n }\n _getConfig(config) {\n const dataAttributes = Manipulator.getDataAttributes(this._element);\n for (const dataAttribute of Object.keys(dataAttributes)) {\n if (DISALLOWED_ATTRIBUTES.has(dataAttribute)) {\n delete dataAttributes[dataAttribute];\n }\n }\n config = {\n ...dataAttributes,\n ...(typeof config === 'object' && config ? config : {})\n };\n config = this._mergeConfigObj(config);\n config = this._configAfterMerge(config);\n this._typeCheckConfig(config);\n return config;\n }\n _configAfterMerge(config) {\n config.container = config.container === false ? document.body : getElement(config.container);\n if (typeof config.delay === 'number') {\n config.delay = {\n show: config.delay,\n hide: config.delay\n };\n }\n if (typeof config.title === 'number') {\n config.title = config.title.toString();\n }\n if (typeof config.content === 'number') {\n config.content = config.content.toString();\n }\n return config;\n }\n _getDelegateConfig() {\n const config = {};\n for (const [key, value] of Object.entries(this._config)) {\n if (this.constructor.Default[key] !== value) {\n config[key] = value;\n }\n }\n config.selector = false;\n config.trigger = 'manual';\n\n // In the future can be replaced with:\n // const keysWithDifferentValues = Object.entries(this._config).filter(entry => this.constructor.Default[entry[0]] !== this._config[entry[0]])\n // `Object.fromEntries(keysWithDifferentValues)`\n return config;\n }\n _disposePopper() {\n if (this._popper) {\n this._popper.destroy();\n this._popper = null;\n }\n if (this.tip) {\n this.tip.remove();\n this.tip = null;\n }\n }\n\n // Static\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Tooltip.getOrCreateInstance(this, config);\n if (typeof config !== 'string') {\n return;\n }\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`);\n }\n data[config]();\n });\n }\n}\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Tooltip);\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n\n/**\n * Constants\n */\n\nconst NAME$3 = 'popover';\nconst SELECTOR_TITLE = '.popover-header';\nconst SELECTOR_CONTENT = '.popover-body';\nconst Default$2 = {\n ...Tooltip.Default,\n content: '',\n offset: [0, 8],\n placement: 'right',\n template: '
' + '
' + '

' + '
' + '
',\n trigger: 'click'\n};\nconst DefaultType$2 = {\n ...Tooltip.DefaultType,\n content: '(null|string|element|function)'\n};\n\n/**\n * Class definition\n */\n\nclass Popover extends Tooltip {\n // Getters\n static get Default() {\n return Default$2;\n }\n static get DefaultType() {\n return DefaultType$2;\n }\n static get NAME() {\n return NAME$3;\n }\n\n // Overrides\n _isWithContent() {\n return this._getTitle() || this._getContent();\n }\n\n // Private\n _getContentForTemplate() {\n return {\n [SELECTOR_TITLE]: this._getTitle(),\n [SELECTOR_CONTENT]: this._getContent()\n };\n }\n _getContent() {\n return this._resolvePossibleFunction(this._config.content);\n }\n\n // Static\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Popover.getOrCreateInstance(this, config);\n if (typeof config !== 'string') {\n return;\n }\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`);\n }\n data[config]();\n });\n }\n}\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Popover);\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n\n/**\n * Constants\n */\n\nconst NAME$2 = 'scrollspy';\nconst DATA_KEY$2 = 'bs.scrollspy';\nconst EVENT_KEY$2 = `.${DATA_KEY$2}`;\nconst DATA_API_KEY = '.data-api';\nconst EVENT_ACTIVATE = `activate${EVENT_KEY$2}`;\nconst EVENT_CLICK = `click${EVENT_KEY$2}`;\nconst EVENT_LOAD_DATA_API$1 = `load${EVENT_KEY$2}${DATA_API_KEY}`;\nconst CLASS_NAME_DROPDOWN_ITEM = 'dropdown-item';\nconst CLASS_NAME_ACTIVE$1 = 'active';\nconst SELECTOR_DATA_SPY = '[data-bs-spy=\"scroll\"]';\nconst SELECTOR_TARGET_LINKS = '[href]';\nconst SELECTOR_NAV_LIST_GROUP = '.nav, .list-group';\nconst SELECTOR_NAV_LINKS = '.nav-link';\nconst SELECTOR_NAV_ITEMS = '.nav-item';\nconst SELECTOR_LIST_ITEMS = '.list-group-item';\nconst SELECTOR_LINK_ITEMS = `${SELECTOR_NAV_LINKS}, ${SELECTOR_NAV_ITEMS} > ${SELECTOR_NAV_LINKS}, ${SELECTOR_LIST_ITEMS}`;\nconst SELECTOR_DROPDOWN = '.dropdown';\nconst SELECTOR_DROPDOWN_TOGGLE$1 = '.dropdown-toggle';\nconst Default$1 = {\n offset: null,\n // TODO: v6 @deprecated, keep it for backwards compatibility reasons\n rootMargin: '0px 0px -25%',\n smoothScroll: false,\n target: null,\n threshold: [0.1, 0.5, 1]\n};\nconst DefaultType$1 = {\n offset: '(number|null)',\n // TODO v6 @deprecated, keep it for backwards compatibility reasons\n rootMargin: 'string',\n smoothScroll: 'boolean',\n target: 'element',\n threshold: 'array'\n};\n\n/**\n * Class definition\n */\n\nclass ScrollSpy extends BaseComponent {\n constructor(element, config) {\n super(element, config);\n\n // this._element is the observablesContainer and config.target the menu links wrapper\n this._targetLinks = new Map();\n this._observableSections = new Map();\n this._rootElement = getComputedStyle(this._element).overflowY === 'visible' ? null : this._element;\n this._activeTarget = null;\n this._observer = null;\n this._previousScrollData = {\n visibleEntryTop: 0,\n parentScrollTop: 0\n };\n this.refresh(); // initialize\n }\n\n // Getters\n static get Default() {\n return Default$1;\n }\n static get DefaultType() {\n return DefaultType$1;\n }\n static get NAME() {\n return NAME$2;\n }\n\n // Public\n refresh() {\n this._initializeTargetsAndObservables();\n this._maybeEnableSmoothScroll();\n if (this._observer) {\n this._observer.disconnect();\n } else {\n this._observer = this._getNewObserver();\n }\n for (const section of this._observableSections.values()) {\n this._observer.observe(section);\n }\n }\n dispose() {\n this._observer.disconnect();\n super.dispose();\n }\n\n // Private\n _configAfterMerge(config) {\n // TODO: on v6 target should be given explicitly & remove the {target: 'ss-target'} case\n config.target = getElement(config.target) || document.body;\n\n // TODO: v6 Only for backwards compatibility reasons. Use rootMargin only\n config.rootMargin = config.offset ? `${config.offset}px 0px -30%` : config.rootMargin;\n if (typeof config.threshold === 'string') {\n config.threshold = config.threshold.split(',').map(value => Number.parseFloat(value));\n }\n return config;\n }\n _maybeEnableSmoothScroll() {\n if (!this._config.smoothScroll) {\n return;\n }\n\n // unregister any previous listeners\n EventHandler.off(this._config.target, EVENT_CLICK);\n EventHandler.on(this._config.target, EVENT_CLICK, SELECTOR_TARGET_LINKS, event => {\n const observableSection = this._observableSections.get(event.target.hash);\n if (observableSection) {\n event.preventDefault();\n const root = this._rootElement || window;\n const height = observableSection.offsetTop - this._element.offsetTop;\n if (root.scrollTo) {\n root.scrollTo({\n top: height,\n behavior: 'smooth'\n });\n return;\n }\n\n // Chrome 60 doesn't support `scrollTo`\n root.scrollTop = height;\n }\n });\n }\n _getNewObserver() {\n const options = {\n root: this._rootElement,\n threshold: this._config.threshold,\n rootMargin: this._config.rootMargin\n };\n return new IntersectionObserver(entries => this._observerCallback(entries), options);\n }\n\n // The logic of selection\n _observerCallback(entries) {\n const targetElement = entry => this._targetLinks.get(`#${entry.target.id}`);\n const activate = entry => {\n this._previousScrollData.visibleEntryTop = entry.target.offsetTop;\n this._process(targetElement(entry));\n };\n const parentScrollTop = (this._rootElement || document.documentElement).scrollTop;\n const userScrollsDown = parentScrollTop >= this._previousScrollData.parentScrollTop;\n this._previousScrollData.parentScrollTop = parentScrollTop;\n for (const entry of entries) {\n if (!entry.isIntersecting) {\n this._activeTarget = null;\n this._clearActiveClass(targetElement(entry));\n continue;\n }\n const entryIsLowerThanPrevious = entry.target.offsetTop >= this._previousScrollData.visibleEntryTop;\n // if we are scrolling down, pick the bigger offsetTop\n if (userScrollsDown && entryIsLowerThanPrevious) {\n activate(entry);\n // if parent isn't scrolled, let's keep the first visible item, breaking the iteration\n if (!parentScrollTop) {\n return;\n }\n continue;\n }\n\n // if we are scrolling up, pick the smallest offsetTop\n if (!userScrollsDown && !entryIsLowerThanPrevious) {\n activate(entry);\n }\n }\n }\n _initializeTargetsAndObservables() {\n this._targetLinks = new Map();\n this._observableSections = new Map();\n const targetLinks = SelectorEngine.find(SELECTOR_TARGET_LINKS, this._config.target);\n for (const anchor of targetLinks) {\n // ensure that the anchor has an id and is not disabled\n if (!anchor.hash || isDisabled(anchor)) {\n continue;\n }\n const observableSection = SelectorEngine.findOne(decodeURI(anchor.hash), this._element);\n\n // ensure that the observableSection exists & is visible\n if (isVisible(observableSection)) {\n this._targetLinks.set(decodeURI(anchor.hash), anchor);\n this._observableSections.set(anchor.hash, observableSection);\n }\n }\n }\n _process(target) {\n if (this._activeTarget === target) {\n return;\n }\n this._clearActiveClass(this._config.target);\n this._activeTarget = target;\n target.classList.add(CLASS_NAME_ACTIVE$1);\n this._activateParents(target);\n EventHandler.trigger(this._element, EVENT_ACTIVATE, {\n relatedTarget: target\n });\n }\n _activateParents(target) {\n // Activate dropdown parents\n if (target.classList.contains(CLASS_NAME_DROPDOWN_ITEM)) {\n SelectorEngine.findOne(SELECTOR_DROPDOWN_TOGGLE$1, target.closest(SELECTOR_DROPDOWN)).classList.add(CLASS_NAME_ACTIVE$1);\n return;\n }\n for (const listGroup of SelectorEngine.parents(target, SELECTOR_NAV_LIST_GROUP)) {\n // Set triggered links parents as active\n // With both