From d344c6bffaf01a51ba081f15a5ab69b8f3227c40 Mon Sep 17 00:00:00 2001 From: Quarto GHA Workflow Runner Date: Fri, 9 Aug 2024 06:26:37 +0000 Subject: [PATCH] Built site for gh-pages --- .nojekyll | 1 + admins/cluster-config.html | 984 ++++++++ admins/credentials.html | 864 +++++++ admins/deployments/datahub.html | 862 +++++++ admins/deployments/index.html | 837 +++++++ admins/deployments/stat159.html | 918 +++++++ admins/howto/calendar-scaler.html | 971 ++++++++ admins/howto/clusterswitch.html | 993 ++++++++ admins/howto/core-pool.html | 908 +++++++ admins/howto/course-config.html | 999 ++++++++ admins/howto/delete-hub.html | 924 +++++++ admins/howto/dns.html | 892 +++++++ admins/howto/github-token.html | 860 +++++++ admins/howto/google-sheets.html | 929 +++++++ admins/howto/index.html | 837 +++++++ admins/howto/new-hub.html | 1133 +++++++++ admins/howto/new-image.html | 950 ++++++++ admins/howto/new-packages.html | 934 +++++++ admins/howto/preview-local.html | 860 +++++++ admins/howto/prometheus-grafana.html | 905 +++++++ admins/howto/rebuild-hub-image.html | 882 +++++++ admins/howto/remove-users-orm.html | 861 +++++++ admins/index.html | 827 +++++++ admins/pre-reqs.html | 881 +++++++ admins/storage.html | 887 +++++++ admins/structure.html | 892 +++++++ datahub.svg | 19 + ...datahub-db-outage-pvc-recreate-script.html | 1570 ++++++++++++ incidents/2017-02-09-datahub-db-outage.html | 1006 ++++++++ incidents/2017-02-24-autoscaler-incident.html | 880 +++++++ .../2017-02-24-proxy-death-incident.html | 913 +++++++ ...2017-03-06-helm-config-image-mismatch.html | 935 +++++++ incidents/2017-03-20-too-many-volumes.html | 912 +++++++ .../2017-03-23-kernel-deaths-incident.html | 947 ++++++++ .../2017-04-03-cluster-full-incident.html | 931 +++++++ incidents/2017-05-09-gce-billing.html | 902 +++++++ incidents/2017-10-10-hung-nodes.html | 927 +++++++ ...17-10-19-course-subscription-canceled.html | 923 +++++++ incidents/2018-01-25-helm-chart-upgrade.html | 883 +++++++ incidents/2018-01-26-hub-slow-startup.html | 894 +++++++ incidents/2018-02-06-hub-db-dir.html | 885 +++++++ incidents/2018-02-28-hung-node.html | 880 +++++++ ...18-06-11-course-subscription-canceled.html | 904 +++++++ incidents/2019-02-25-k8s-api-server-down.html | 928 +++++++ .../2019-05-01-service-account-leak.html | 883 +++++++ ...0-package-dependency-upgrade-incident.html | 962 ++++++++ incidents/2024-core-node-incidents.html | 1010 ++++++++ incidents/index.html | 1100 +++++++++ index.html | 848 +++++++ listings.json | 26 + policy/create_policy.html | 843 +++++++ policy/index.html | 838 +++++++ policy/policy_create_hubs.html | 860 +++++++ policy/policy_deploy_mainhubs.html | 843 +++++++ policy/principles.html | 859 +++++++ policy/storage-retention.html | 868 +++++++ robots.txt | 1 + search.json | 2143 +++++++++++++++++ site_libs/bootstrap/bootstrap-icons.css | 2078 ++++++++++++++++ site_libs/bootstrap/bootstrap-icons.woff | Bin 0 -> 176200 bytes site_libs/bootstrap/bootstrap.min.css | 12 + site_libs/bootstrap/bootstrap.min.js | 7 + site_libs/clipboard/clipboard.min.js | 7 + site_libs/quarto-html/anchor.min.js | 9 + site_libs/quarto-html/popper.min.js | 6 + .../quarto-syntax-highlighting.css | 205 ++ site_libs/quarto-html/quarto.js | 908 +++++++ site_libs/quarto-html/tippy.css | 1 + site_libs/quarto-html/tippy.umd.min.js | 2 + site_libs/quarto-listing/list.min.js | 2 + site_libs/quarto-listing/quarto-listing.js | 243 ++ site_libs/quarto-nav/headroom.min.js | 7 + site_libs/quarto-nav/quarto-nav.js | 325 +++ site_libs/quarto-search/autocomplete.umd.js | 3 + site_libs/quarto-search/fuse.min.js | 9 + site_libs/quarto-search/quarto-search.js | 1290 ++++++++++ sitemap.xml | 223 ++ users/authentication.html | 866 +++++++ users/hubs.html | 885 +++++++ users/images/desktop.png | Bin 0 -> 638552 bytes users/images/jupyterlab.png | Bin 0 -> 71284 bytes users/images/rstudio.png | Bin 0 -> 438782 bytes users/images/vscode.png | Bin 0 -> 215811 bytes users/index.html | 837 +++++++ users/private-repo.html | 871 +++++++ users/services.html | 927 +++++++ 86 files changed, 60837 insertions(+) create mode 100644 .nojekyll create mode 100644 admins/cluster-config.html create mode 100644 admins/credentials.html create mode 100644 admins/deployments/datahub.html create mode 100644 admins/deployments/index.html create mode 100644 admins/deployments/stat159.html create mode 100644 admins/howto/calendar-scaler.html create mode 100644 admins/howto/clusterswitch.html create mode 100644 admins/howto/core-pool.html create mode 100644 admins/howto/course-config.html create mode 100644 admins/howto/delete-hub.html create mode 100644 admins/howto/dns.html create mode 100644 admins/howto/github-token.html create mode 100644 admins/howto/google-sheets.html create mode 100644 admins/howto/index.html create mode 100644 admins/howto/new-hub.html create mode 100644 admins/howto/new-image.html create mode 100644 admins/howto/new-packages.html create mode 100644 admins/howto/preview-local.html create mode 100644 admins/howto/prometheus-grafana.html create mode 100644 admins/howto/rebuild-hub-image.html create mode 100644 admins/howto/remove-users-orm.html create mode 100644 admins/index.html create mode 100644 admins/pre-reqs.html create mode 100644 admins/storage.html create mode 100644 admins/structure.html create mode 100644 datahub.svg create mode 100644 incidents/2017-02-09-datahub-db-outage-pvc-recreate-script.html create mode 100644 incidents/2017-02-09-datahub-db-outage.html create mode 100644 incidents/2017-02-24-autoscaler-incident.html create mode 100644 incidents/2017-02-24-proxy-death-incident.html create mode 100644 incidents/2017-03-06-helm-config-image-mismatch.html create mode 100644 incidents/2017-03-20-too-many-volumes.html create mode 100644 incidents/2017-03-23-kernel-deaths-incident.html create mode 100644 incidents/2017-04-03-cluster-full-incident.html create mode 100644 incidents/2017-05-09-gce-billing.html create mode 100644 incidents/2017-10-10-hung-nodes.html create mode 100644 incidents/2017-10-19-course-subscription-canceled.html create mode 100644 incidents/2018-01-25-helm-chart-upgrade.html create mode 100644 incidents/2018-01-26-hub-slow-startup.html create mode 100644 incidents/2018-02-06-hub-db-dir.html create mode 100644 incidents/2018-02-28-hung-node.html create mode 100644 incidents/2018-06-11-course-subscription-canceled.html create mode 100644 incidents/2019-02-25-k8s-api-server-down.html create mode 100644 incidents/2019-05-01-service-account-leak.html create mode 100644 incidents/2022-01-20-package-dependency-upgrade-incident.html create mode 100644 incidents/2024-core-node-incidents.html create mode 100644 incidents/index.html create mode 100644 index.html create mode 100644 listings.json create mode 100644 policy/create_policy.html create mode 100644 policy/index.html create mode 100644 policy/policy_create_hubs.html create mode 100644 policy/policy_deploy_mainhubs.html create mode 100644 policy/principles.html create mode 100644 policy/storage-retention.html create mode 100644 robots.txt create mode 100644 search.json create mode 100644 site_libs/bootstrap/bootstrap-icons.css create mode 100644 site_libs/bootstrap/bootstrap-icons.woff create mode 100644 site_libs/bootstrap/bootstrap.min.css create mode 100644 site_libs/bootstrap/bootstrap.min.js create mode 100644 site_libs/clipboard/clipboard.min.js create mode 100644 site_libs/quarto-html/anchor.min.js create mode 100644 site_libs/quarto-html/popper.min.js create mode 100644 site_libs/quarto-html/quarto-syntax-highlighting.css create mode 100644 site_libs/quarto-html/quarto.js create mode 100644 site_libs/quarto-html/tippy.css create mode 100644 site_libs/quarto-html/tippy.umd.min.js create mode 100644 site_libs/quarto-listing/list.min.js create mode 100644 site_libs/quarto-listing/quarto-listing.js create mode 100644 site_libs/quarto-nav/headroom.min.js create mode 100644 site_libs/quarto-nav/quarto-nav.js create mode 100644 site_libs/quarto-search/autocomplete.umd.js create mode 100644 site_libs/quarto-search/fuse.min.js create mode 100644 site_libs/quarto-search/quarto-search.js create mode 100644 sitemap.xml create mode 100644 users/authentication.html create mode 100644 users/hubs.html create mode 100644 users/images/desktop.png create mode 100644 users/images/jupyterlab.png create mode 100644 users/images/rstudio.png create mode 100644 users/images/vscode.png create mode 100644 users/index.html create mode 100644 users/private-repo.html create mode 100644 users/services.html diff --git a/.nojekyll b/.nojekyll new file mode 100644 index 000000000..601cbb78a --- /dev/null +++ b/.nojekyll @@ -0,0 +1 @@ +39ca6f3f \ No newline at end of file diff --git a/admins/cluster-config.html b/admins/cluster-config.html new file mode 100644 index 000000000..f4418dabc --- /dev/null +++ b/admins/cluster-config.html @@ -0,0 +1,984 @@ + + + + + + + + + +Kubernetes Cluster Configuration + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ +
+ + +
+ + + +
+ +
+
+

Kubernetes Cluster Configuration

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

We use kubernetes to run our JupyterHubs. It has a healthy open source community, managed offerings from multiple vendors & a fast pace of development. We can run easily on many different cloud providers with similar config by running on top of Kubernetes, so it is also our cloud agnostic abstraction layer.

+

We prefer using a managed Kubernetes service (such as Google Kubernetes Engine). This document lays out our preferred cluster configuration on various cloud providers.

+
+

Google Kubernetes Engine

+

In our experience, Google Kubernetes Engine (GKE) has been the most stable, performant, and reliable managed kubernetes service. We prefer running on this when possible.

+

A gcloud container clusters create command can succintly express the configuration of our kubernetes cluster. The following command represents the currently favored configuration.

+

This creates the GKE cluster. It may host one or more node pools:

+
gcloud container clusters create \
+     --enable-ip-alias \
+     --enable-autoscaling \
+     --max-nodes=20 --min-nodes=1 \
+     --region=us-central1 --node-locations=us-central1-b \
+     --image-type=cos_containerd \
+     --disk-size=100 --disk-type=pd-balanced \
+     --machine-type=n2-highmem-8 \
+     --cluster-version latest \
+     --no-enable-autoupgrade \
+     --enable-network-policy \
+     --create-subnetwork="" \
+     --tags=hub-cluster \
+     <cluster-name>
+

Here's how we add a node pool to the cluster, beyond the default pool:

+
gcloud container node-pools create  \
+    --machine-type n2-highmem-8 \
+    --num-nodes 1 \
+    --enable-autoscaling \
+    --min-nodes 1 --max-nodes 20 \
+    --node-labels hub.jupyter.org/pool-name=<pool-name>-pool \
+    --node-taints hub.jupyter.org_dedicated=user:NoSchedule \
+    --region=us-central1 \
+    --image-type=cos_containerd \
+    --disk-size=200 --disk-type=pd-balanced \
+    --no-enable-autoupgrade \
+    --tags=hub-cluster \
+    --cluster=<cluster-name> \
+    user-<pool-name>-<yyyy>-<mm>-<dd>
+
+

IP Aliasing

+

--enable-ip-alias creates VPC Native Clusters.

+

This becomes the default soon, and can be removed once it is the default.

+
+
+

Autoscaling

+

We use the kubernetes cluster autoscaler to scale our node count up and down based on demand. It waits until the cluster is completely full before triggering creation of a new node - but that's ok, since new node creation time on GKE is pretty quick.

+

--enable-autoscaling turns the cluster autoscaler on.

+

--min-nodes sets the minimum number of nodes that will be maintained regardless of demand. This should ideally be 2, to give us some headroom for quick starts without requiring scale ups when the cluster is completely empty.

+

--max-nodes sets the maximum number of nodes that the cluster autoscaler will use - this sets the maximum number of concurrent users we can support. This should be set to a reasonably high number, but not too high - to protect against runaway creation of hundreds of VMs that might drain all our credits due to accident or security breach.

+
+
+

Highly available master

+

The kubernetes cluster's master nodes are managed by Google Cloud automatically. By default, it is deployed in a non-highly-available configuration - only one node. This means that upgrades and master configuration changes cause a few minutes of downtime for the kubernetes API, causing new user server starts / stops to fail.

+

We request our cluster masters to have highly available masters with --region parameter. This specifies the region where our 3 master nodes will be spread across in different zones. It costs us extra, but it is totally worth it.

+

By default, asking for highly available masters also asks for 3x the node count, spread across multiple zones. We don't want that, since all our user pods have in-memory state & can't be relocated. Specifying --node-locations explicitly lets us control how many and which zones the nodes are located in.

+
+
+

Region / Zone selection

+

We generally use the us-central1 region and a zone in it for our clusters -simply because that is where we have asked for quota.

+

There are regions closer to us, but latency hasn't really mattered so we are currently still in us-central1. There are also unsubstantiated rumors that us-central1 is their biggest data center and hence less likely to run out of quota.

+
+
+

Disk Size

+

--disk-size sets the size of the root disk on all the kubernetes nodes. This isn't used for any persistent storage such as user home directories. It is only used ephemerally for the operations of the cluster - primarily storing docker images and other temporary storage. We can make this larger if we use a large number of big images, or if we want our image pulls to be faster (since disk performance increases with disk size ).

+

--disk-type=pd-standard gives us standard spinning disks, which are cheaper. We can also request SSDs instead with --disk-type=pd-ssd - it is much faster, but also much more expensive. We compromise with --disk-type=pd-balanced, faster than spinning disks but not as fast as ssds all the time.

+
+
+

Node size

+

--machine-type lets us select how much RAM and CPU each of our nodes have. For non-trivial hubs, we generally pick n2-highmem-8, with 64G of RAM and 8 cores. This is based on the following heuristics:

+
    +
  1. Students generally are memory limited than CPU limited. In fact, while we have a hard limit on memory use per-user pod, we do not have a CPU limit -it hasn't proven necessary.
  2. +
  3. We try overprovision clusters by about 2x - so we try to fit about 100G of total RAM use in a node with about 50G of RAM. This is accomplished by setting the memory request to be about half of the memory limit on user pods. This leads to massive cost savings, and works out ok.
  4. +
  5. There is a kubernetes limit on 100 pods per node.
  6. +
+

Based on these heuristics, n2-highmem-8 seems to be most bang for the buck currently. We should revisit this for every cluster creation.

+
+
+

Cluster version

+

GKE automatically upgrades cluster masters, so there is generally no harm in being on the latest version available.

+
+
+

Node autoupgrades

+

When node autoupgrades are enabled, GKE will automatically try to upgrade our nodes whenever needed (our GKE version falling off the support window, security issues, etc). However, since we run stateful workloads, we disable this right now so we can do the upgrades manually.

+
+
+

Network Policy

+

Kubernetes Network Policy lets you firewall internal access inside a kubernetes cluster, whitelisting only the flows you want. The JupyterHub chart we use supports setting up appropriate NetworkPolicy objects it needs, so we should turn it on for additional security depth. Note that any extra in-cluster services we run must have a NetworkPolicy set up for them to work reliabliy.

+
+
+

Subnetwork

+

We put each cluster in its own subnetwork, since seems to be a limit on how many clusters you can create in the same network with IP aliasing on - you just run out of addresses. This also gives us some isolation - subnetworks are isolated by default and can't reach other resources. You must add firewall rules to provide access, including access to any manually run NFS servers. We add tags for this.

+
+
+

Tags

+

To help with firewalling, we add network tags to all our cluster nodes. This lets us add firewall rules to control traffic between subnetworks.

+
+
+

Cluster name

+

We try use a descriptive name as much as possible.

+ + +
+
+ +
+ + +
+ + + + + \ No newline at end of file diff --git a/admins/credentials.html b/admins/credentials.html new file mode 100644 index 000000000..0116406fb --- /dev/null +++ b/admins/credentials.html @@ -0,0 +1,864 @@ + + + + + + + + + +Cloud Credentials + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ +
+ + +
+ + + +
+ +
+
+

Cloud Credentials

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

Google Cloud

+
+

Service Accounts

+

Service accounts are identified by a service key, and help us grant specific access to an automated process. Our CI process needs two service accounts to operate:

+
    +
  1. A gcr-readwrite key. This is used to build and push the user images. Based on the docs, this is assigned the role roles/storage.admin.
  2. +
  3. A gke key. This is used to interact with the Google Kubernetes cluster. Roles roles/container.clusterViewer and roles/container.developer are granted to it.
  4. +
+

These are currently copied into the secrets/ dir of every deployment, and explicitly referenced from hubploy.yaml in each deployment. They should be rotated every few months.

+

You can create service accounts through the web console or the commandline. Remember to not leave around copies of the private key elsewhere on your local computer!

+ + +
+
+ +
+ + +
+ + + + + \ No newline at end of file diff --git a/admins/deployments/datahub.html b/admins/deployments/datahub.html new file mode 100644 index 000000000..be181ca73 --- /dev/null +++ b/admins/deployments/datahub.html @@ -0,0 +1,862 @@ + + + + + + + + + +DataHub + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ +
+ + +
+ + + +
+ +
+
+

DataHub

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

datahub.berkeley.edu provides standard computing environment to many foundational courses across diverse disciplines.

+
+

Image

+

The datahub image contains both Python and R environments. A user can create jupyter notebooks utilizing either Python or R, or can run RStudio using R or Python.

+

The image is currently not based on repo2docker.

+
+
+

Resources

+

A handful of courses have been granted elevated memory limits within the hub configuration.

+

CDSS staff and a small number of instructors have been given administrative privileges.

+ + +
+ +
+ + +
+ + + + + \ No newline at end of file diff --git a/admins/deployments/index.html b/admins/deployments/index.html new file mode 100644 index 000000000..e4bcad7a3 --- /dev/null +++ b/admins/deployments/index.html @@ -0,0 +1,837 @@ + + + + + + + + + +Hub Deployments + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ +
+ + +
+ + + +
+ +
+
+

Hub Deployments

+
+ + + +
+ + + + +
+ + + +
+ + + + + +
+ +
+ + + + + \ No newline at end of file diff --git a/admins/deployments/stat159.html b/admins/deployments/stat159.html new file mode 100644 index 000000000..853f63b56 --- /dev/null +++ b/admins/deployments/stat159.html @@ -0,0 +1,918 @@ + + + + + + + + + +Stat 159 + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ +
+ + +
+ + + +
+ +
+
+

Stat 159

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

stat159.datahub.berkeley.edu is a course-specific hub for Stat 159 as taught by Fernando Perez. It tends to include a lot of applications so that students can shift their local development workflows to the cloud.

+
+

Image

+

Notably the image contains support for RTC. As of March 2023, this requires:

+
- altair==4.2.2
+- boken==2.4.3
+- dask==2023.1.1
+- jupyter_server==2.2.1
+- jupyterlab==3.6.1
+- jupyterlab_server==2.19.0
+- tornado==6.2.0
+- git+https://<github.com/berkeley-dsep-infra/tmpystore.git@84765e1>
+

Some of these are hard requirements and others were necessary to make conda happy.

+
+
+

Configuration

+

Along with the dependencies, the singleuser server is modified to launch as

+
singleuser:
+     cmd:
+       - jupyterhub-singleuser
+       - --LabApp.collaborative=true
+       # https://jupyterlab-realtime-collaboration.readthedocs.io/en/latest/configuration.html#configuration
+       - --YDocExtension.ystore_class=tmpystore.TmpYStore
+

This turns on collaboration and moves some sqlite storage from home directories to /tmp/.

+

In addition to RTC, the hub also has configuration to enable shared accounts with impersonation. There are a handful of fabricated user accounts, e.g. collab-shared-1, collab-shared-2, etc. not affiliated with any real person in bCourses. There are also corresponding JupyterHub groups, shared-1, shared-2, etc. The instructors add real students to the hub groups, and some roles and scopes logic in the hub configuration gives students access to launch jupyter servers for the collaborative user accounts. The logic is in config/common.yaml while the current group affiliations are kept private in secrets.

+

This configuration is to encourage use of RTC, and to prevent one student from having too much access to another student's home directory. The fabricated (essentially service) accounts have initally empty home directories and exist solely to provide workspaces for the group. There is currently no archive or restore procedure in mind for these shared accounts.

+

For now, groups are defined in either the hub configuration or in the administrative /hub/admin user interface. In order to enable group assignment in this manner, we must set Authenticator.managed_groups to False. Ordinarily groups are provided by CanvasAuthenticator where this setting is True.

+

Eventually instructors will be able to define groups in bCourses so that CanvasAuthenticator can remain in charge of managing groups. This will be important for the extremely large courses. It will also be beneficial in that resource allocation can be performed more easily through group affiliations and group properties.

+
+
+

Historical Information

+

The image has been periodically shared with data100 for when Fernando has taught both. Going forward, it is probably best to keep them separate and optionally kept in sync. We don't want changes in one course to come as a surprise to the other.

+ + +
+ +
+ + +
+ + + + + \ No newline at end of file diff --git a/admins/howto/calendar-scaler.html b/admins/howto/calendar-scaler.html new file mode 100644 index 000000000..03f57a96c --- /dev/null +++ b/admins/howto/calendar-scaler.html @@ -0,0 +1,971 @@ + + + + + + + + + +Calendar Node Pool Autoscaler + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ +
+ + +
+ + + +
+ +
+
+

Calendar Node Pool Autoscaler

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

Why scale node pools with Google Calendar?

+

The scheduler isn’t perfect for us, especially when large classes have assignments due and a hub is flooded with students. This “hack” was introduced to improve cluster scaling prior to known events.

+

These ‘placeholder’ nodes are used to minimize the delay that occurs when GCP creates new node pools during mass user logins. This common, especially for larger classes.

+
+
+

Structure

+

There is a Google Calendar calendar, DataHub Scaling Events shared with all infrastructure staff. The event descriptions should contain a YAML fragment, and are of the form pool_name: count, where the name is the corresponding hub name (data100, stat20) and the count is the number of extra nodes you want. There can be several pools defined, one per line.

+

By default, we usually have one spare node ready to go, so if the count in the calendar event is set to 0 or 1, there will be no change to the cluster. If the value is set to >=2, additional hot spares will be created. If a value is set more than once, the entry with the greater value will be used.

+

You can determine how many placeholder nodes to have up based on how many people you expect to log in at once. Some of the bigger courses may require 2 or more placeholder nodes, but during “regular” hours, 1 is usually sufficient.

+

The scaling mechanism is implemented as the node-placeholder-node-placeholder-scaler deployment within the node-placeholder namespace. The source code is within https://github.com/berkeley-dsep-infra/datahub/tree/staging/images/node-placeholder-scaler.

+
+
+

Calendar Autoscaler

+

The code for the calendar autoscaler is a python 3.11 script, located here: https://github.com/berkeley-dsep-infra/datahub/tree/staging/images/node-placeholder-scaler/scaler

+
+

How the scaler works

+

There is a k8s pod running in the node-placeholder namespace, which simply runs python3 -m scaler. This script runs in an infinite loop, and every 60 seconds checks the scaler config and calendar for entries. It then uses the highest value provided as the number of placeholder replicas for any given hub. This means that if there’s a daily evening event to ‘cool down’ the number of replicas for all hubs to 0, and a simultaneous event to set one or more hubs to a higher number, the scaler will see this and keep however many node placeholders specified up and ready to go.

+

After determining the number of replicas needed for each hub, the scaler will create a k8s template and run kubectl in the pod.

+
+
+

Updating the scaler config

+

The scaler config sets the default number of node-placeholders that are running at any given time. These values can be overridden by creating events in the DataHub Scaling Events calendar.

+

When classes are in session, these defaults are all typically set to 1, and during breaks (or when a hub is not expected to be in use) they can be set to 0.

+

After making changes to values.yaml, create a PR normally and our CI will push the new config out to the node-placeholder pod. There is no need to manually restart the node-placeholder pod as the changes will be picked up automatically.

+
+
+

Working on, testing and deploying the calendar scaler

+

All file locations in this section will assume that you are in the datahub/images/node-placeholder-scaler/ directory.

+

It is strongly recommended that you create a new python 3.11 environment before doing any dev work on the scaler. With conda, you can run the following commands to create one:

+
conda create -ny scalertest python=3.11
+pip install -r requirements.txt
+

Any changes to the scaler code will require you to run chartpress to redeploy the scaler to GCP.

+

Here is an example of how you can test any changes to scaler/calendar.py locally in the python interpreter:

+
# these tests will use somes dates culled from the calendar with varying numbers of events.
+import scaler.calendar
+import datetime
+import zoneinfo
+
+tz = zoneinfo.ZoneInfo(key='America/Los_Angeles')
+zero_events_noon_june = datetime.datetime(2023, 6, 14, 12, 0, 0, tzinfo=tz)
+one_event_five_pm_april = datetime.datetime(2023, 4, 27, 17, 0, 0, tzinfo=tz)
+three_events_eight_thirty_pm_march = datetime.datetime(2023, 3, 6, 20, 30, 0, tzinfo=tz)
+calendar = scaler.calendar.get_calendar('https://calendar.google.com/calendar/ical/c_s47m3m1nuj3s81187k3b2b5s5o%40group.calendar.google.com/public/basic.ics')
+zero_events = scaler.calendar.get_events(calendar, time=zero_events_noon_june)
+one_event = scaler.calendar.get_events(calendar, time=one_event_five_pm_april)
+three_events = scaler.calendar.get_events(calendar, time=three_events_eight_thirty_pm_march)
+
+assert len(zero_events) == 0
+assert len(one_event) == 1
+assert len(three_events) == 3
+

get_events returns a list of ical ical.event.Event class objects.

+

The method for testing scaler/scaler.py is similar to above, but the only things you’ll be able test locally are the make_deployment() and get_replica_counts() functions.

+

When you’re ready, create a PR. The deployment workflow is as follows:

+
    +
  1. Get all authed-up for chartpress by performing the steps listed here.
  2. +
  3. Run chartpress --push from the root datahub/ directory. If this succeeds, check your git status and add datahub/node-placeholder/Chart.yaml and datahub/node-placeholder/values.yml to your PR.
  4. +
  5. Merge to staging and then prod.
  6. +
+
+
+

Changing python imports

+

The python requirements file is generated using requirements.in and pip-compile. If you need to change/add/update any packages, you’ll need to do the following:

+
    +
  1. Ensure you have the correct python environment activated (see above).
  2. +
  3. Pip install pip-tools
  4. +
  5. Edit requirements.in and save your changes.
  6. +
  7. Execute pip-compile requirements.in, which will update the requirements.txt.
  8. +
  9. Check your git status and diffs, and create a pull request if necessary.
  10. +
  11. Get all authed-up for chartpress by performing the steps listed here.
  12. +
  13. Run chartpress --push from the root datahub/ directory. If this succeeds, check your git status and add datahub/node-placeholder/Chart.yaml and datahub/node-placeholder/values.yml to your PR.
  14. +
  15. Merge to staging and then prod.
  16. +
+
+
+
+

Monitoring

+

You can monitor the scaling by watching for events:

+
kubectl -n node-placeholder get events -w
+

And by tailing the logs of the pod with the scalar process:

+
kubectl -n node-placeholder logs -l app.kubernetes.io/name=node-placeholder-scaler -f
+

For example if you set epsilon: 2, you might see in the pod logs:

+
2022-10-17 21:36:45,440 Found event Stat20/Epsilon test 2 2022-10-17 14:21 PDT to 15:00 PDT
+2022-10-17 21:36:45,441 Overrides: {'epsilon': 2}
+2022-10-17 21:36:46,475 Setting epsilon to have 2 replicas
+ + +
+ +
+ + +
+ + + + + \ No newline at end of file diff --git a/admins/howto/clusterswitch.html b/admins/howto/clusterswitch.html new file mode 100644 index 000000000..6497c8e56 --- /dev/null +++ b/admins/howto/clusterswitch.html @@ -0,0 +1,993 @@ + + + + + + + + + +Switching over a hub to a new cluster + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ +
+ + +
+ + + +
+ +
+
+

Switching over a hub to a new cluster

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

This document describes how to switch an existing hub to a new cluster. The example used here refers to moving all UC Berkeley Datahubs.

+

You might find it easier to switch to a new cluster if you’re running a very old k8s version, or in lieu of performing a cluster credential rotation. Sometimes starting from scratch is easier than an iterative and potentially destructive series of operations.

+
+

Create a new cluster

+
    +
  1. Create a new cluster using the specifications here:
    +https://docs.datahub.berkeley.edu/en/latest/admins/cluster-config.html
  2. +
  3. Set up helm on the cluster according to the instructions here:
    +http://z2jh.jupyter.org/en/latest/setup-helm.html +
      +
    • Make sure the version of helm you’re working with matches the version CircleCI is using.
      +For example: https://github.com/berkeley-dsep-infra/datahub/blob/staging/.circleci/config.yml#L169
    • +
  4. +
  5. Re-create all existing node pools for hubs, support and prometheus deployments in the new cluster. If the old cluster is still up and running, you will probably run out of CPU quota, as the new node pools will immediately default to three nodes. Wait ~15m for the new pools to wind down to zero, and then continue.
  6. +
+
+
+

Setting the ‘context’ for kubectl and work on the new cluster.

+
    +
  1. Ensure you’re logged in to GCP: gcloud auth login
  2. +
  3. Pull down the credentials from the new cluster: gcloud container clusters get-credentials <CLUSTER_NAME> --region us-central1
  4. +
  5. Switch the kubectl context to this cluster: kubectl config use-context gke_ucb-datahub-2018_us-central1_<CLUSTER_NAME>
  6. +
+
+
+

Recreate node pools

+

Re-create all existing node pools for hubs, support and prometheus deployments in the new cluster.

+

If the old cluster is still up and running, you will probably run out of CPU quota, as the new node pools will immediately default to three nodes. Wait ~15m for the new pools to wind down to zero, and then continue.

+
+
+

Install and configure the certificate manager

+

Before you can deploy any of the hubs or support tooling, the certificate manager must be installed and configured on the new cluster. Until this is done, hubploy and helm will fail with the following error: ensure CRDs are installed first.

+
    +
  1. Create a new feature branch and update your helm dependencies: helm dep up

  2. +
  3. At this point, it’s usually wise to upgrade cert-manager to the latest version found in the chart repo. You can find this by running the following command:

    +
    cert-manager-version=$(helm show all -n cert-manager jetstack/cert-manager | grep ^appVersion |  awk '{print $2}')
  4. +
  5. Then, you can install the latest version of cert-manager:

    +
    kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/${cert-manager-version}/cert-manager.yaml
  6. +
  7. Change the corresponding entry in support/requirements.yaml to $cert-manager-version and commit the changes (do not push).

  8. +
+
+
+

Create the node-placeholder k8s namespace

+

The calendar autoscaler requires the node-placeholder namespace. Run the following command to create it:

+
kubectl create namespace node-placeholder
+
+
+

Create a new static IP and switch DNS to point our new deployment at it.

+
    +
  1. Create a new static IP in the GCP console.
  2. +
  3. Open infoblox and change the wildcard and empty entries for datahub.berkeley.edu to point to the IP from the previous step.
  4. +
  5. Update support/values.yaml, under ingress-nginx with the newly created IP from infoblox: loadBalancerIP: xx.xx.xx.xx.
  6. +
  7. Add and commit this change to your feature branch (still do not push).
  8. +
+

You will re-deploy the support chart in the next step.

+
+
+

Manually deploy the support and prometheus pools

+

First, update any node pools in the configs to point to the new cluster. Typically, this is just for the ingress-nginx controllers in support/values.yaml.

+

Now we will manually deploy the support helm chart:

+
sops -d support/secrets.yaml > /tmp/secrets.yaml
+helm install -f support/values.yaml -f /tmp/secrets.yaml \
+    -n support support support/ \
+    --set installCRDs=true --debug --create-namespace
+

Before continuing, confirm via the GCP console that the IP that was defined in step 1 is now bound to a forwarding rule. You can further confirm by listing the services in the support chart and making sure the ingress-controller is using the newly defined IP.

+

One special thing to note: our prometheus instance uses a persistent volume that contains historical monitoring data. This is specified in support/values.yaml, under the prometheus: block:

+
persistentVolume:
+  size: 1000Gi
+  storageClass: ssd
+  existingClaim: prometheus-data-2024-05-15
+
+
+

Manually deploy a hub to staging

+

Finally, we can attempt to deploy a hub to the new cluster! Any hub will do, but we should start with a low-traffic hub (eg: https://dev.datahub.berkeley.edu).

+

First, check the hub’s configs for any node pools that need updating. Typically, this is just the core pool.

+

Second, update hubploy.yaml for this hub and point it to the new cluster you’ve created.

+

After this is done, add the changes to your feature branch (but don’t push). After that, deploy a hub manually:

+
hubploy deploy dev hub staging
+

When the deploy is done, visit that hub and confirm that things are working.

+
+
+

Manually deploy remaining hubs to staging and prod

+

Now, update the remaining hubs’ configs to point to the new node pools and hubploy.yaml to the cluster.

+

Then use hubploy to deploy them to staging as with the previous step. The easiest way to do this is to have a list of hubs in a text file, and iterate over it with a for loop:

+
for x in $(cat hubs.txt); do hubploy deploy ${x} hub staging; done
+for x in $(cat hubs.txt); do hubploy deploy ${x} hub prod; done
+

When done, add the modified configs to your feature branch (and again, don’t push yet).

+
+
+

Update CircleCI

+

Once you’ve successfully deployed the clusters manually via hubploy, it’s time to update CircleCI to point to the new cluster.

+

All you need to do is grep for the old cluster name in .circleci/config.yaml and change this to the name of the new cluster. There should just be four entries: two for the gcloud get credentials <cluster-name>, and two in comments. Make these changes and add them to your existing feature branch, but don’t commit yet.

+
+
+

Create and merge your PR!

+

Now you can finally push your changes to github. Create a PR, merge to staging and immediately kill off the deploy jobs for node-placeholder, support and deploy.

+

Create another PR to merge to prod and that deploy should work just fine.

+
+
+

Update log and billing sinks, BigQuery queries, etc.

+

I would recommend searching GCP console for all occurrences of the old cluster name, and fixing any bits that might be left over. This should only take a few minutes, but should definitely be done.

+

FIN!

+
+
+

Deleting the old cluster

+

After waiting a reasonable period of time (a day or two just to be cautious) and after fetching the usage logs, you may delete the old cluster:

+
gcloud container clusters delete ${OLDCLUSTER} --region=us-central1
+ + +
+ +
+ + +
+ + + + + \ No newline at end of file diff --git a/admins/howto/core-pool.html b/admins/howto/core-pool.html new file mode 100644 index 000000000..cd3a7d71e --- /dev/null +++ b/admins/howto/core-pool.html @@ -0,0 +1,908 @@ + + + + + + + + + +Creating and managing the core node pool + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ +
+ + +
+ + + +
+ +
+
+

Creating and managing the core node pool

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

What is the core node pool?

+

The core node pool is the primary entrypoint for all hubs we host. It manages all incoming traffic, and redirects said traffic (via the nginx ingress controller) to the proper hub.

+

It also does other stuff.

+
+
+

Deploying a new core node pool

+

Run the following command from the root directory of your local datahub repo to create the node pool:

+
gcloud container node-pools create "core-<YYYY-MM-DD>"  \
+  --labels=hub=core,nodepool-deployment=core \
+  --node-labels hub.jupyter.org/pool-name=core-pool-<YYYY-MM-DD> \
+  --machine-type "n2-standard-8"  \
+  --num-nodes "1" \
+  --enable-autoscaling --min-nodes "1" --max-nodes "3" \
+  --project "ucb-datahub-2018" --cluster "spring-2024" --region "us-central1" --node-locations "us-central1-b" \
+  --tags hub-cluster \
+  --image-type "COS_CONTAINERD" --disk-type "pd-balanced" --disk-size "100"  \
+  --metadata disable-legacy-endpoints=true \
+  --scopes "https://www.googleapis.com/auth/devstorage.read_only","https://www.googleapis.com/auth/logging.write","https://www.googleapis.com/auth/monitoring","https://www.googleapis.com/auth/servicecontrol","https://www.googleapis.com/auth/service.management.readonly","https://www.googleapis.com/auth/trace.append" \
+  --no-enable-autoupgrade --enable-autorepair --max-surge-upgrade 1 --max-unavailable-upgrade 0 --max-pods-per-node "110" \
+  --system-config-from-file=vendor/google/gke/node-pool/config/core-pool-sysctl.yaml
+

The system-config-from-file argument is important, as we need to tune the kernel TCP settings to handle large numbers of concurrent users and keep nginx from using up all of the TCP ram.

+ + +
+ +
+ + +
+ + + + + \ No newline at end of file diff --git a/admins/howto/course-config.html b/admins/howto/course-config.html new file mode 100644 index 000000000..b7a54c18b --- /dev/null +++ b/admins/howto/course-config.html @@ -0,0 +1,999 @@ + + + + + + + + + +Course Configuration + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ +
+ + +
+ + + +
+ +
+
+

Course Configuration

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

Allocating Resources

+

It is possible to alter administrative priviliges or resources allocations (such as memory or extra volumes) of user servers from within the deployment configuration. This is mostly useful for when resources need to be increased based on users' class enrollments. The hub must be configured to use the CanvasOAuthenticator which is our default. Hubs that use dummy, Google, Generic OAuth, or other authenticators are not configured to allocate additional resources in this way.

+

Additionally, it is also possible to allocate resources based on the students membership of Canvas groups. This is useful if the instructor wants to dynamically grant additional resources without CI round-trips. Group management can be performed by the course staff directly from bCourses.

+
+
+

Implementation

+

The authenticator reads users Canvas enrollments when they login, and then assigns them to JupyterHub groups based on those affiliations. Groups are named with the format "course::{canvas_id}::enrollment_type::{canvas_role}", e.g. "course::123456::enrollment_type::teacher" or "course::234567::enrollment_type::student". Our custom kubespawner, which we define in hub/values.yaml, reads users' group memberships prior to spawning. It then overrides various KubeSpawner paramters based on configuration we define, using the canvas ID as the key. (see below)

+

Note that if a user is assigned to a new Canvas group (e.g. by the instructor manually, or by an automated Canvas/SIS system) while their server is already running, they will need to logout and then log back in in order for the authenticator to see the new affiliations. Restarting the user server is not sufficient.

+

The canvas ID is somewhat opaque to infrastructure staff -- we cannot look it up ourselves nor predict what it would be based on the name of the course. This is why we must request it from the instructor.

+

There are a number of other Canvas course attributes we could have substituted for the ID, but all had various drawbacks. An SIS ID attribute uses a consistent format that is relatively easy to predict, however it is only exposed to instructor accounts on hub login. In testing, when the Canvas admin configured student accounts to be able to read the SIS ID, we discovered that other protected SIS attributes would have been visible to all members of the course in the Canvas UI. Various friendly name attributes (e.g. "Statistics 123, Spring '24") were inconsistent in structure or were modifiable by the instructor. So while the Canvas ID is not predictable or easily discoverable by hub staff, it is immutable and the instructor can find it in the URL for their course.

+
+
+

Assigning Scopes to Roles

+

When JupyterHub only had two roles, admin and user, we would grant admin rights to course staff. This enabled course staff to start, access, and stop user servers, but it wasn't scoped to just the students in their own course. It would give them access to the accounts of everyone on the hub. They even had access to stop the hub process itself. JupyterHub now lets us create our own roles and assign scopes to them. As a result, we can grant course staff the ability to do what they need for members of their own course, and nothing more.

+

Add the following configuration for course staff who need elevated access:

+
jupyterhub:
+  hub:
+    loadRoles:
+      # Data 123, Summer 2024, #9876
+      course-staff-1234567:
+        description: Enable course staff to view and access servers.
+        # this role provides permissions to...
+        scopes:
+          - admin-ui
+          - list:users!group=course::1234567
+          - admin:servers!group=course::1234567
+          - access:servers!group=course::1234567
+        # this role will be assigned to...
+        groups:
+          - course::1234567::enrollment_type::teacher
+          - course::1234567::enrollment_type::ta
+

This configuration is headed by a comment which describes the course and term and links to the github issue where the staff made the request. It defines a new role, course-staff-1234567, for a course with bCourse ID 1234567. It assigns scopes for accessing and administering the servers for users in group course::1234567. Members of that group include all students and course staff. It also assigns scopes for viewing lists of users at /hub/admin. It assignes these scopes to members of the affiliated course staff groups.

+

This stanza is more verbose than inserting lists of users under admin_users, but it the privileges are more granular. We don't need to know who the individual course staff and they won't have more permissions than they need.

+

The configuration causes JupyterHub to update information in its jupyterhub.sqlite database file. When this configuraition is removed, the hub does not automatically flush out the roles and scopes from the database. So after the semester is over, it is advisable to remove this configuration and also to flush out the information in the database. There is no formal process for this, although we should develop one. We can delete the database, or we can manually remove entries from the sqlite file.

+
+
+

Defining group profiles

+
    +
  1. Require course staff to request additional resources through a github issue.

  2. +
  3. Obtain the bCourses course ID from the github issue. This ID is found in the course’s URL, e.g. https://bcourses.berkeley.edu/courses/123456. It should be a large integer. If the instructor requested resources for a specific group within the course, obtain the group name.

  4. +
  5. Edit deployments/{deployment}/config/common.yaml.

  6. +
  7. Duplicate an existing stanza, or create a new one under jupyterhub.custom.group_profiles by inserting yaml of the form:

    +
    jupyterhub:
    +  custom:
    +    group_profiles:
    +
    +      # Example: increase memory for everyone affiliated with a course.
    +      # Name of Class 100, Fall '22; requested in #98765
    +
    +      course::123456:
    +        mem_limit: 4096M
    +        mem_guarantee: 2048M
    +
    +
    +      # Example: increase memory just for course staff.
    +      # Enrollment types returned by the Canvas API are `teacher`,
    +      # `student`, `ta`, `observer`, and `designer`. (non-plural)
    +      # https://canvas.instructure.com/doc/api/enrollments.html
    +
    +      # Some other class 200, Spring '23; requested in #98776
    +      course::234567::enrollment_type::teacher:
    +        mem_limit: 2096M
    +        mem_guarantee: 2048M
    +      course::234567::enrollment_type::ta:
    +        mem_limit: 2096M
    +        mem_guarantee: 2048M
    +
    +
    +      # Example: a fully specified CanvasOAuthenticator group name where
    +      # the resource request happens to be an additional mount path.
    +      # Creating groups for temporary resource bumps could be useful
    +      # where the instructor could add people to groups in the bCourses
    +      # UI. This would benefit from the ability to read resource bumps
    +      # from jupyterhub's properties. (attributes in the ORM)
    +
    +      # Name of Class 100, Fall '22; requested in #98770
    +      course::123456::group::lab4-bigdata:
    +        - mountPath: /home/rstudio/.ssh
    +          name: home
    +          subPath: _some_directory/_ssh
    +          readOnly: true
    +

    Our custom KubeSpawner knows to look for these values under jupyterhub.custom.

    +

    123456 and 234567 are bCourse course identifiers from the first step. Memory limits and extra volume mounts are specified as in the examples above.

  8. +
  9. Add a comment associating the profile identifier with a friendly name of the course. Also link to the github issue where the instructor requested the resources. This helps us to cull old configuration during maintenance windows.

  10. +
  11. Commit the change, then ask course staff to verify the increased allocation on staging. It is recommended that they simulate completing a notebook or run through the assignment which requires extra resources.

  12. +
+
+
+

Defining user profiles

+

It may be necessary to assign additional resources to specific users, if it is too difficult to assign them to a bCourses group.

+
    +
  1. Edit deployments/{deployment}/config/common.yaml.

  2. +
  3. Duplicate an existing stanza, or create a new one under jupyterhub.custom.profiles by inserting yaml of the form:

    +
    jupyterhub:
    +  custom:
    +    profiles:
    +
    +      # Example: increase memory for these specific users.
    +      special_people:
    +        # Requested in #87654. Remove after YYYY-MM-DD.
    +        mem_limit: 2048M
    +        mem_guarantee: 2048M
    +        users:
    +          - user1
    +          - user2
  4. +
  5. Add a comment which links to the github issue where the resources were requested. This helps us to cull old configuration during maintenance windows.

  6. +
+
+
+

Housekeeping

+

Group profiles should be removed at the end of every term because course affiliations are not necessarily removed from each person's Canvas account. So even if a user's class ended, the hub will grant additional resources for as long as the config persisted in both Canvas and the hub.

+

User profiles should also be evaluated at the end of every term.

+ + +
+ +
+ + +
+ + + + + \ No newline at end of file diff --git a/admins/howto/delete-hub.html b/admins/howto/delete-hub.html new file mode 100644 index 000000000..5b2227adf --- /dev/null +++ b/admins/howto/delete-hub.html @@ -0,0 +1,924 @@ + + + + + + + + + +Delete or spin down a Hub + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ +
+ + +
+ + + +
+ +
+
+

Delete or spin down a Hub

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

Why delete or spin down a hub?

+

Sometimes we want to spin down or delete a hub:

+
    +
  1. A course or department won’t be needing their hub for a while
  2. +
  3. The hub will be re-deployed in to a new or shared node pool.
  4. +
+
+
+

Steps to spin down a hub

+

If the hub is using a shared filestore, skip all filestore steps.

+

If the hub is using a shared node pool, skip all namespace and node pool steps.

+
    +
  1. Scale the node pool to zero: kubectl -n <hubname-prod|staging> scale --replicas=0 deployment/hub
  2. +
  3. Kill any remaining users’ servers. Find any running servers with kubectl -n <hubname-prod|staging> get pods | grep jupyter and then kubectl -n <hubname-prod|staging> delete pod <pod name> to stop them.
  4. +
  5. Create filestore backup:
  6. +
+
gcloud filestore backups create <hubname>-backup-YYYY-MM-DD --file-share=shares --instance=<hubname-YYYY-MM-DD> --region "us-central1" --labels=filestore-backup=<hub name>,hub=<hub name>
+
    +
  1. Log in to nfsserver-01 and unmount filestore from nfsserver: sudo umount /export/<hubname>-filestore
  2. +
  3. Comment out the hub build steps out in .circleci/config.yaml (deploy and build steps)
  4. +
  5. Comment out GitHub label action for this hub in .github/labeler.yml
  6. +
  7. Comment hub entries out of datahub/node-placeholder/values.yaml
  8. +
  9. Delete k8s namespace:
  10. +
+
kubectl delete namespace <hubname>-staging <hubname>-prod
+
    +
  1. Delete k8s node pool:
  2. +
+
gcloud container node-pools delete <hubname> --project "ucb-datahub-2018" --cluster "spring-2024" --region "us-central1"
+
    +
  1. Delete filestore
  2. +
+
gcloud filestore instances delete <hubname>-filestore --zone "us-central1-b"
+
    +
  1. Delete PV: kubectl get pv --all-namespaces|grep <hubname> to get the PV names, and then kubectl delete pv <pv names>
  2. +
  3. All done.
  4. +
+ + +
+ +
+ + +
+ + + + + \ No newline at end of file diff --git a/admins/howto/dns.html b/admins/howto/dns.html new file mode 100644 index 000000000..37273b760 --- /dev/null +++ b/admins/howto/dns.html @@ -0,0 +1,892 @@ + + + + + + + + + +Update DNS + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ +
+ + +
+ + + +
+ +
+
+

Update DNS

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

Some staff have access to make and update DNS entries in the .datahub.berkeley.edu and .data8x.berkeley.edu subdomains.

+
+

Authorization

+

Request access to make changes by creating an issue in this repository.

+

Authorization is granted via membership in the edu:berkeley:org:nos:DDI:datahub CalGroup. @yuvipanda and @ryanlovett are group admins and can update membership.

+
+
+

Making Changes

+
    +
  1. Log into Infoblox from a campus network or through the campus VPN. Use your CalNet credentials.
  2. +
  3. Navigate to Data Management > DNS > Zones and click berkeley.edu.
  4. +
  5. Navigate to Subzones and choose either data8x or datahub, then click Records.
  6. +
+
+

For quicker access, click the star next to the zone name to make a bookmark in the Finder pane on the left side.

+
+
+

Create a new record

+
    +
  1. Click the down arrow next to + Add in the right-side Toolbar. Then choose Record > A Record.
  2. +
  3. Enter the name and IP of the A record, and uncheck Create associated PTR record.
  4. +
  5. Consider adding a comment with a timestamp, your ID, and the nature of the change.
  6. +
  7. Click Save & Close.
  8. +
+
+
+

Edit an existing record

+
    +
  1. Click the gear icon to the left of the record's name and choose Edit.
  2. +
  3. Make a change.
  4. +
  5. Consider adding a comment with a timestamp, your ID, and the nature of the change.
  6. +
  7. Click Save & Close.
  8. +
+
+
+

Delete a record

+
    +
  1. Click the gear icon to the left of the record's name and choose Delete.
  2. +
+ + +
+
+ +
+ + +
+ + + + + \ No newline at end of file diff --git a/admins/howto/github-token.html b/admins/howto/github-token.html new file mode 100644 index 000000000..af78711a9 --- /dev/null +++ b/admins/howto/github-token.html @@ -0,0 +1,860 @@ + + + + + + + + + +Create Finely Grained Access Token + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ +
+ + +
+ + + +
+ +
+
+

Create Finely Grained Access Token

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

At https://github.com/settings/personal-access-tokens/new:

+
    +
  1. Token name: set something descriptive.
  2. +
  3. Expiration: set the token to expire no earlier or later than necessary.
  4. +
  5. Description: elaborate on the function of the token.
  6. +
  7. Resource owner: berkeley-dsep-infra
  8. +
  9. Repository access: Only selected repositories > datahub
  10. +
  11. Permissions: Contents > Access: Read and write
  12. +
+ + + +
+ + +
+ + + + + \ No newline at end of file diff --git a/admins/howto/google-sheets.html b/admins/howto/google-sheets.html new file mode 100644 index 000000000..614cae288 --- /dev/null +++ b/admins/howto/google-sheets.html @@ -0,0 +1,929 @@ + + + + + + + + + +Reading Google Sheets from DataHub + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ +
+ + +
+ + + +
+ +
+
+

Reading Google Sheets from DataHub

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

Available in: DataHub

+

We provision and make available credentials for a service account that can be used to provide readonly access to Google Sheets. This is useful in pedagogical situations where data is read from Google Sheets, particularly with the gspread library.

+

The entire contents of the JSON formatted service account key is available as an environment variable GOOGLE_SHEETS_READONLY_KEY. You can use this to read publicly available Google Sheet documents.

+

The service account has no implicit permissions, and can be found under singleuser.extraEnv.GOOGLE_SHEETS_READONLY_KEY in datahub/secrets/staging.yaml and datahub/secrets/prod.yaml.

+
+

gspread sample code

+

The following sample code reads a sheet from a URL given to it, and prints the contents.

+
import gspread
+import os
+import json
+from oauth2client.service_account import ServiceAccountCredentials
+
+# Authenticate to Google
+scope = ['https://spreadsheets.google.com/feeds', 'https://www.googleapis.com/auth/drive']
+creds = ServiceAccountCredentials.from_json_keyfile_dict(json.loads(os.environ['GOOGLE_SHEETS_READONLY_KEY']), scope)
+gc = gspread.authorize(creds)
+
+# Pick URL of Google Sheet to open
+url = 'https://docs.google.com/spreadsheets/d/1SVRsQZWlzw9lV0MT3pWlha_VCVxWovqvu-7cb3feb4k/edit#gid=0'
+
+# Open the Google Sheet, and print contents of sheet 1
+sheet = gc.open_by_url(url)
+print(sheet.sheet1.get_all_records())
+
+
+

gspread-pandas sample code

+

The gspread-pandas library helps get data from Google Sheets into a pandas dataframe.

+
from gspread_pandas.client import Spread
+import os
+import json
+from oauth2client.service_account import ServiceAccountCredentials
+
+# Authenticate to Google
+scope = ['https://spreadsheets.google.com/feeds', 'https://www.googleapis.com/auth/drive']
+creds = ServiceAccountCredentials.from_json_keyfile_dict(json.loads(os.environ['GOOGLE_SHEETS_READONLY_KEY']), scope)
+
+# Pick URL of Google Sheet to open
+url = 'https://docs.google.com/spreadsheets/d/1SVRsQZWlzw9lV0MT3pWlha_VCVxWovqvu-7cb3feb4k/edit#gid=0'
+
+# Open the Google Sheet, and print contents of sheet 1 as a dataframe
+spread = Spread(url, creds=creds)
+sheet_df = spread.sheet_to_df(sheet='sheet1')
+print(sheet_df)
+ + +
+ +
+ + +
+ + + + + \ No newline at end of file diff --git a/admins/howto/index.html b/admins/howto/index.html new file mode 100644 index 000000000..d99a5e0de --- /dev/null +++ b/admins/howto/index.html @@ -0,0 +1,837 @@ + + + + + + + + + +Common Administrator Tasks + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ +
+ + +
+ + + +
+ +
+
+

Common Administrator Tasks

+
+ + + +
+ + + + +
+ + + +
+ + + + + +
+ +
+ + + + + \ No newline at end of file diff --git a/admins/howto/new-hub.html b/admins/howto/new-hub.html new file mode 100644 index 000000000..c20026338 --- /dev/null +++ b/admins/howto/new-hub.html @@ -0,0 +1,1133 @@ + + + + + + + + + +Create a new Hub + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ +
+ + +
+ + + +
+ +
+
+

Create a new Hub

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

Why create a new hub?

+

The major reasons for making a new hub are:

+
    +
  1. A new course wants to join the Berkeley Datahub community!
  2. +
  3. Some of your students are admins on another hub, so they can see other students' work there.
  4. +
  5. You want to use a different kind of authenticator.
  6. +
  7. You are running in a different cloud, or using a different billing account.
  8. +
  9. Your environment is different enough and specialized enough that a different hub is a good idea. By default, everyone uses the same image as datahub.berkeley.edu.
  10. +
  11. You want a different URL (X.datahub.berkeley.edu vs just datahub.berkeley.edu)
  12. +
+

If your reason is something else, it probably needs some justification :)

+
+
+

Prereqs

+

Working installs of the following utilities:

+ +

Proper access to the following systems:

+
    +
  • Google Cloud IAM: owner
  • +
  • Write access to the datahub repo
  • +
  • CircleCI account linked to our org
  • +
+
+
+

Setting up a new hub

+
+

Name the hub

+

Choose the <hubname> (typically the course or department). This is permanent.

+
+
+

Determine deployment needs

+

Before creating a new hub, have a discussion with the instructor about the system requirements, frequency of assignments and how much storage will be required for the course. Typically, there are three general "types" of hub: Heavy usage, general and small courses.

+

Small courses will usually have one or two assignments per semester, and may only have 20 or fewer users.

+

General courses have up to ~500 users, but don't have large amount of data or require upgraded compute resources.

+

Heavy usage courses can potentially have thousands of users, require upgraded node specs and/or have Terabytes of data each semester.

+

Both general and heavy usage courses typically have weekly assignments.

+

Small courses (and some general usage courses) can use either or both of a shared node pool and filestore to save money (Basic HDD filestore instances start at 1T).

+

This is also a good time to determine if there are any specific software packages/libraries that need to be installed, as well as what language(s) the course will be using. This will determine which image to use, and if we will need to add additional packages to the image build.

+

If you're going to use an existing node pool and/or filestore instance, you can skip either or both of the following steps and pick back up at the cookiecutter.

+

When creating a new hub, we also make sure to label the filestore and GKE/node pool resouces with both hub and <nodepool|filestore>-deployment. 99.999% of the time, the values for all three of these labels will be <hubname>.

+
+
+

Creating a new node pool

+

Create the node pool:

+
gcloud container node-pools create "user-<hubname>-<YYYY-MM-DD>"  \
+  --labels=hub=<hubname>,nodepool-deployment=<hubname> \
+  --node-labels hub.jupyter.org/pool-name=<hubname>-pool \
+  --machine-type "n2-highmem-8"  \
+  --enable-autoscaling --min-nodes "0" --max-nodes "20" \
+  --project "ucb-datahub-2018" --cluster "spring-2024" \
+  --region "us-central1" --node-locations "us-central1-b" \
+  --node-taints hub.jupyter.org_dedicated=user:NoSchedule --tags hub-cluster \
+  --image-type "COS_CONTAINERD" --disk-type "pd-balanced" --disk-size "200"  \
+  --metadata disable-legacy-endpoints=true \
+  --scopes "https://www.googleapis.com/auth/devstorage.read_only","https://www.googleapis.com/auth/logging.write","https://www.googleapis.com/auth/monitoring","https://www.googleapis.com/auth/servicecontrol","https://www.googleapis.com/auth/service.management.readonly","https://www.googleapis.com/auth/trace.append" \
+  --no-enable-autoupgrade --enable-autorepair \
+  --max-surge-upgrade 1 --max-unavailable-upgrade 0 --max-pods-per-node "110"
+
+
+

Creating a new filestore instance

+

Before you create a new filestore instance, be sure you know the capacity required. The smallest amount you can allocate is 1T, but larger hubs may require more. Confer with the admins and people instructing the course and determine how much they think they will need.

+

We can easily scale capacity up, but not down.

+

From the command line, first fill in the instance name (<hubname>-<YYYY-MM-DD>) and <capacity>, and then execute the following command:

+
gcloud filestore instances create <hubname>-<YYYY-MM-DD> \
+  --zone "us-central1-b" --tier="BASIC_HDD" \
+  --file-share=capacity=1TiB,name=shares \
+  --network=name=default,connect-mode=DIRECT_PEERING
+

Or, from the web console, click on the horizontal bar icon at the top left corner.

+
    +
  1. Access "Filestore" -> "Instances" and click on "Create Instance".
  2. +
  3. Name the instance <hubname>-<YYYY-MM-DD>
  4. +
  5. Instance Type is Basic, Storage Type is HDD.
  6. +
  7. Allocate capacity.
  8. +
  9. Set the region to us-central1 and Zone to us-central1-b.
  10. +
  11. Set the VPC network to default.
  12. +
  13. Set the File share name to shares.
  14. +
  15. Click "Create" and wait for it to be deployed.
  16. +
  17. Once it's deployed, select the instance and copy the "NFS mount point".
  18. +
+

Your new (but empty) NFS filestore must be seeded with a pair of directories. We run a utility VM for NFS filestore management; follow the steps below to connect to this utility VM, mount your new filestore, and create & configure the required directories.

+

You can run the following command in gcloud terminal to log in to the NFS utility VM:

+

gcloud compute ssh nfsserver-01 --zone=us-central1-b

+

Alternatively, launch console.cloud.google.com -> Select "ucb-datahub-2018" as the project name.

+
    +
  1. Click on the three horizontal bar icon at the top left corner.
  2. +
  3. Access "Compute Engine" -> "VM instances" -> and search for "nfs-server-01".
  4. +
  5. Select "Open in browser window" option to access NFS server via GUI.
  6. +
+

Back in the NFS utility VM shell, mount the new share:

+
mkdir /export/<hubname>-filestore
+mount <filestore share IP>:/shares /export/<hubname>-filestore
+

Create staging and prod directories owned by 1000:1000 under /export/<hubname>-filestore/<hubname>. The path might differ if your hub has special home directory storage needs. Consult admins if that's the case. Here is the command to create the directory with appropriate permissions:

+
install -d -o 1000 -g 1000 \
+  /export/<hubname>-filestore/<hubname>/staging \
+  /export/<hubname>-filestore/<hubname>/prod
+

Check whether the directories have permissions similar to the below directories:

+
drwxr-xr-x 4 ubuntu ubuntu     45 Nov  3 20:33 a11y-filestore
+drwxr-xr-x 4 ubuntu ubuntu     33 Jan  4  2022 astro-filestore
+drwxr-xr-x 4 ubuntu ubuntu  16384 Aug 16 18:45 biology-filestore
+
+
+

Create the hub deployment locally

+

In the datahub/deployments directory, run cookiecutter. This sets up the hub's configuration directory:

+
cookiecutter template/
+
+
The cookiecutter template will prompt you to provide the following information:
+
+
    +
  • <hub_name>: Enter the chosen name of the hub.
  • +
  • <project_name>: Default is ucb-datahub-2018, do not change.
  • +
  • <cluster_name>: Default is spring-2024, do not change.
  • +
  • <pool_name>: Name of the node pool (shared or individual) to deploy on.
  • +
  • hub_filestore_share: Default is shares, do not change.
  • +
  • hub_filestore_ip: Enter the IP address of the filestore instance. This is available from the web console.
  • +
  • hub_filestore_capacity: Enter the allocated storage capacity. This is available from the web console.
  • +
+
+
+

This will generate a directory with the name of the hub you provided with a skeleton configuration and all the necessary secrets.

+
+
+

Configure filestore security settings and GCP billing labels

+

If you have created a new filestore instance, you will now need to apply the ROOT_SQUASH settings. Please ensure that you've already created the hub's root directory and both staging and prod directories, otherwise you will lose write access to the share. We also attach labels to a new filestore instance for tracking individual and full hub costs.

+

Skip this step if you are using an existing/shared filestore.

+
gcloud filestore instances update <filestore-instance-name> --zone=us-central1-b  \
+       --update-labels=hub=<hubname>,filestore-deployment=<hubname> \
+       --flags-file=<hubname>/config/filestore/squash-flags.json
+
+
+

Authentication

+

Set up authentication via bcourses. We have two canvas OAuth2 clients setup in bcourses for us - one for all production hubs and one for all staging hubs. The configuration and secrets for these are provided by the cookiecutter template, however the new hubs need to be added to the authorized callback list maintained in bcourses.

+
    +
  1. Use sops to edit secrets/dev.yaml and secrets/prod.yaml, replacing the cookiecutter hub_name. cookiecutter can’t do this for you since the values are encrypted.

  2. +
  3. Add <hub_name>-staging.datahub.berkeley.edu/hub/oauth_callback to the staging hub client (id 10720000000000594)

  4. +
  5. Add <hub_name>.datahub.berkeley.edu/hub/oauth_callback to the production hub client (id 10720000000000472)

  6. +
+

Please reach out to Jonathan Felder to set this up, or if he is not available.

+
+
+

CircleCI

+

The CircleCI configuration file .circleci/config.yml will need to include directives for building and deploying your new hub at several phases of the CircleCI process. Generally speaking, an adequate manual strategy for this is to pick the name of an existing hub, find each occurrence of that name, and add analogous entries for your new hub alongside your example existing hub. Please order new entries for your new hub in alphabetical order amongst the entries for existing hubs.

+

Here is a partial (but incomplete) sampling of some of the relevant sections of the CircleCI configuration file:

+
- run:
+    name: Deploy <hubname>
+      command: |
+        hubploy deploy <hubname> hub ${CIRCLE_BRANCH}
+
+- hubploy/build-image:
+    deployment: <hubname>
+    name: <hubname> image build
+    filters:
+      branches:
+        ignore:
+          - staging
+          - prod  
+
+
+  - hubploy/build-image:
+      deployment:  <hubname>
+      name:  <hubname> image build
+      push: true
+      filters:
+        branches:
+          only:
+            - staging
+
+
+    -  <hubname> image build
+

Review hubploy.yaml file inside your project directory and update the image name to the latest image. Something like this,

+
image_name: us-central1-docker.pkg.dev/ucb-datahub-2018/user-images/a11y-user-image
+
+
+

Add hub to the github labeler workflow

+

The new hub will now need to be added to the github labeler workflow.

+

Edit the file .github/labeler.yml and add an entry for this hub (alphabetically) in the # add hub-specific labels for deployment changes block:

+
"hub: <hubname>":
+  - "deployments/<hubname>/**"
+
+
+

Create placeholder node pool

+

Node pools have a configured minimum size, but our cluster has the ability to set aside additional placeholder nodes. These are nodes that get spun up in anticipation of the pool needing to suddenly grow in size, for example when large classes begin.

+

If you are deploying to a shared node pool, there is no need to perform this step.

+

Otherwise, you'll need to add the placeholder settings in node-placeholder/values.yaml.

+

The node placeholder pod should have enough RAM allocated to it that it needs to be kicked out to get even a single user pod on the node - but not so big that it can't run on a node where other system pods are running! To do this, we'll find out how much memory is allocatable to pods on that node, then subtract the sum of all non-user pod memory requests and an additional 256Mi of "wiggle room". This final number will be used to allocate RAM for the node placeholder.

+
    +
  1. Launch a server on https://<hubname>.datahub.berkeley.edu
  2. +
  3. Get the node name (it will look something like gke-spring-2024-user-datahub-2023-01-04-fc70ea5b-67zs): kubectl get nodes | grep <hubname> | awk '{print$1}'
  4. +
  5. Get the total amount of memory allocatable to pods on this node and convert to bytes: kubectl get node <nodename> -o jsonpath='{.status.allocatable.memory}'
  6. +
  7. Get the total memory used by non-user pods/containers on this node. We explicitly ignore notebook and pause. Convert to bytes and get the sum:
  8. +
+
kubectl get -A pod -l 'component!=user-placeholder' \
+       --field-selector spec.nodeName=<nodename> \
+       -o jsonpath='{range .items[*].spec.containers[*]}{.name}{"\t"}{.resources.requests.memory}{"\n"}{end}' \
+       | egrep -v 'pause|notebook'
+
    +
  1. Subract the second number from the first, and then subtract another 277872640 bytes (256Mi) for "wiggle room".
  2. +
  3. Add an entry for the new placeholder node config in values.yaml:
  4. +
+
data102:
+  nodeSelector:
+    hub.jupyter.org/pool-name: data102-pool
+  resources:
+    requests:
+      # Some value slightly lower than allocatable RAM on the node pool
+      memory: 60929654784
+  replicas: 1
+

For reference, here's example output from collecting and calculating the values for data102:

+
(gcpdev)   ~ kubectl get nodes | grep data102 | awk '{print$1}'
+gke-spring-2024-user-data102-2023-01-05-e02d4850-t478
+(gcpdev)   ~ kubectl get node gke-spring-2024-user-data102-2023-01-05-e02d4850-t478 -o jsonpath='{.status.allocatable.memory}' # convert to bytes
+60055600Ki%
+(gcpdev)   ~ kubectl get -A pod -l 'component!=user-placeholder' \
+--field-selector spec.nodeName=gke-spring-2024-user-data102-2023-01-05-e02d4850-t478 \
+-o jsonpath='{range .items[*].spec.containers[*]}{.name}{"\t"}{.resources.requests.memory}{"\n"}{end}' \
+| egrep -v 'pause|notebook' # convert all values to bytes, sum them
+calico-node
+fluentbit       100Mi
+fluentbit-gke   100Mi
+gke-metrics-agent       60Mi
+ip-masq-agent   16Mi
+kube-proxy
+prometheus-node-exporter
+(gcpdev)   ~ # subtract the sum of the second command's values from the first value, then subtract another 277872640 bytes for wiggle room
+(gcpdev)   ~ # in this case:  (60055600Ki - (100Mi + 100Mi + 60Mi + 16Mi)) - 256Mi
+(gcpdev)   ~ # (61496934400 - (104857600 + 104857600 + 16777216 + 62914560)) - 277872640 == 60929654784
+

Besides setting defaults, we can dynamically change the placeholder counts by either adding new, or editing existing, calendar events. This is useful for large courses which can have placeholder nodes set aside for predicatable periods of heavy ramp up.

+
+
+

Commit and deploy staging

+

Commit the hub directory, and make a PR to the the staging branch in the GitHub repo. Once tests pass, merge the PR to get a working staging hub! It might take a few minutes for HTTPS to work, but after that you can log into it at https://<hub_name>-staging.datahub.berkeley.edu. Test it out and make sure things work as you think they should.

+
    +
  1. Make a PR from the staging branch to the prod branch. When this PR is merged, it'll deploy the production hub. It might take a few minutes for HTTPS to work, but after that you can log into it at https://<hub_name>.datahub.berkeley.edu. Test it out and make sure things work as you think they should.
  2. +
  3. You may want to customize the docker image for the hub based on your unique requirements. Navigate to deployments/'Project Name'/image and review environment.yml file and identify packages that you want to add from the conda repository <https://anaconda.org/>. You can copy the image manifest files from another deployment. It is recommended to use a repo2docker-style image build, without a Dockerfile, if possible. That format will probably serve as the ' basis for self-service user-created images in the future.
  4. +
  5. All done.
  6. +
+ + +
+
+ +
+ + +
+ + + + + \ No newline at end of file diff --git a/admins/howto/new-image.html b/admins/howto/new-image.html new file mode 100644 index 000000000..6188f17d9 --- /dev/null +++ b/admins/howto/new-image.html @@ -0,0 +1,950 @@ + + + + + + + + + +Creating a new single user image + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ +
+ + +
+ + + +
+ +
+
+

Creating a new single user image

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

When deploying a new hub, or moving from a shared single user server image, you might need to create a new image for users. We use repo2docker to do this.

+

There are two approaches to creating a repo2docker image: 1. Use a repo2docker-style image template (environment.yaml, etc) 2. Use a Dockerfile (useful for larger/more complex images)

+

Generally, we prefer to use the former approach, unless we need to install specific packages or utilities outside of python/apt as root. If that is the case, only a Dockerfile format will work.

+

Of course, as always create a feature branch for your changes, and submit a PR when done.

+
+

Find a hub to use as a template

+

Browse through our deployments/ directory to find a hub that is similar to the one you are trying to create. This will give you a good starting point.

+
+
+

Create the image/ directory for your new hub

+

Create a new directory under deployments/ with the name of your hub. This directory will contain the files that will be used to create the image.

+

Then, copy the contents (and any subdirectories) of the source image/ directory in to the new directory.

+
+
+

Modify hubploy.yaml for the hub

+

In the deployment's hubploy.yaml file, add or modify the name, path and base_image fields to configure the image build and where it's stored in the Google Artifcat Registry.

+

name should contain the path to the image in the Google Artifact Registry and the name of the image. path points to the directory containing the image configuration (typically :file::image/. base_image is the base Docker image to use for the image build.

+

For example, hubploy.yaml for the data100 image looks like this:

+
images:
+   images:
+      - name: us-central1-docker.pkg.dev/ucb-datahub-2018/user-images/data100-user-image
+         path: image/
+         repo2docker:
+            base_image: docker.io/library/buildpack-deps:jammy
+   registry:
+      provider: gcloud
+      gcloud:
+         project: ucb-datahub-2018
+         service_key: gcr-key.json
+
+cluster:
+provider: gcloud
+gcloud:
+   project: ucb-datahub-2018
+   service_key: gke-key.json
+   cluster: spring-2024
+   zone: us-central1
+
+
+

Modify the image configuration as necessary

+

This step is straightforward: edit/modify/delete/add any files in the image/ directory to configure the image as needed.

+
+
+

Update CI/CD configuration

+

Next, ensure that this image will be built and deployed by updating the .circleci/config.yml file in the root of the repository. Add new steps under the jobs/deploy:, workflows/test-build-images: and workflows/deploy: stanzas.

+
+
+

Submitting a pull request

+

Familiarize yourself with pull requests and repo2docker , and create a fork of the datahub staging branch.

+
    +
  1. Set up your git/dev environment by following the instructions here.

  2. +
  3. Create a new branch for this PR.

  4. +
  5. +
    Test the changes locally using repo2docker, then submit a PR to staging.
    +
    +
      +
    • To use repo2docker, you have to point it at the correct image directory. For example, to build the data100 image, you would run repo2docker deployments/data100/image from the base datahub directory.
    • +
    +
    +
  6. +
  7. Commit and push your changes to your fork of the datahub repo, and create a new pull request at https://github.com/berkeley-dsep-infra/datahub/.

  8. +
  9. Once the PR is merged to staging and the new image is built and pushed to Artifact Registry, you can test it out on <hub>-staging.datahub.berkeley.edu.

  10. +
  11. Changes are only deployed to prod once the relevant CI job is completed. See https://circleci.com/gh/berkeley-dsep-infra/datahub to view CircleCI job statuses.

  12. +
+ + +
+ +
+ + +
+ + + + + \ No newline at end of file diff --git a/admins/howto/new-packages.html b/admins/howto/new-packages.html new file mode 100644 index 000000000..7fa95b560 --- /dev/null +++ b/admins/howto/new-packages.html @@ -0,0 +1,934 @@ + + + + + + + + + +Testing and Upgrading New Packages + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ +
+ + +
+ + + +
+ +
+
+

Testing and Upgrading New Packages

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

It is helpful to test package additions and upgrades for yourself before they are installed for all users. You can make sure the change behaves as you think it should, and does not break anything else. Once tested, request that the change by installed for all users by by creating a new issue in github,contacting cirriculum support staff, or creating a new pull request. Ultimately, thouroughly testing changes locally and submitting a pull request will result in the software being rolled out to everyone much faster.

+
+

Install a python package in your notebook

+

When testing a notebook with new version of the package, add the following line to a cell at the beginning of your notebook.

+
!pip install --upgrade packagename==version
+

You can then execute this cell every time you run the notebook. This will ensure you have the version you think you have when running your code.

+

To avoid complicated errors, make sure you always specify a version. You can find the latest version by searching on pypi.org.

+

Find current version of a python package ===============================

+

To find the current version of a particular installed package, you can run the following in a notebook.

+
!pip list | grep <name-of-package>
+

This should show you the particular package you are interested in and its current version.

+
+
+

Install/Update a R package in your RStudio

+

When the required version of package is missing in the R Studio, Try the following command to check whether the default installation repo contains the package (and the version) required.

+
install.packages("packagename")
+

This should install the particular package you are interested in and its latest version. You can find the latest version of a R package by searching on CRAN.

+

Find current version of a R package ===============================

+

To find the current version of a particular installed package, you can run the following in RStudio.

+
packageVersion("<name-of-package>") 
+

This should show you the particular package you are interested in and its current version.

+
+

Submitting a pull request

+

Familiarize yourself with pull requests and repo2docker , and create a fork of the datahub staging branch.

+
    +
  1. Set up your git/dev environment by following the instructions here.

  2. +
  3. Create a new branch for this PR.

  4. +
  5. Find the correct environment.yml file for your class. This should be under datahub/deployments/<class or hub name>/image

  6. +
  7. In environment.yml, packages listed under dependencies are installed using conda, while packages under pip are installed using pip. Any packages that need to be installed via apt must be added to either datahub/deployments/<class or hub name>/image/apt.txt or datahub/deployments/<class or hub name>/image/Dockerfile.

  8. +
  9. Add any packages necessary. We typically prefer using conda packages, and pip only if necessary. Please pin to a specific version (no wildards, etc).

    +
      +
    • Note that package versions for conda are specified using =, while in pip they are specified using ==
    • +
  10. +
  11. Test the changes locally using repo2docker, then submit a PR to staging.

    +
      +
    • To use repo2docker, you have to point it at the right Dockerfile for your class. For example, to test the data100 datahub, you would run repo2docker deployments/data100/image from the base datahub directory.
    • +
  12. +
  13. Commit and push your changes to your fork of the datahub repo, and create a new pull request at https://github.com/berkeley-dsep-infra/datahub/.

  14. +
  15. Once the PR is merged to staging, you can test it out on class-staging.datahub.berkeley.edu.

  16. +
  17. Changes are only deployed to datahub once the relevant Travis CI job is completed. See https://circleci.com/gh/berkeley-dsep-infra/datahub to view Travis CI job statuses.

  18. +
+
+
+

Tips for Upgrading Package

+
    +
  • Conda can take an extremely long time to resolve version dependency conflicts, if they are resolvable at all. When upgrading Python versions or a core package that is used by many other packages, such as requests, clean out or upgrade old packages to minimize the number of dependency conflicts.
  • +
+ + +
+
+ +
+ + +
+ + + + + \ No newline at end of file diff --git a/admins/howto/preview-local.html b/admins/howto/preview-local.html new file mode 100644 index 000000000..24420f471 --- /dev/null +++ b/admins/howto/preview-local.html @@ -0,0 +1,860 @@ + + + + + + + + + +Develop Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ +
+ + +
+ + + +
+ +
+
+

Develop Documentation

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

Live Preview

+

Navigate to the docs directory and run quarto preview. You can view the documentation in a browser while you make changes.

+
+
+

Render Static HTML

+

Navigate to the docs directory and run quarto render. This will build the endire website into the *_site* directory. You can then open files in your web browser.

+

You can also render individual files, which saves time if you do not want to render the whole site. Run quarto render ./path/to/filename.qmd, and then open the corresponding HTML file in the *_site* directory.

+ + +
+ +
+ + +
+ + + + + \ No newline at end of file diff --git a/admins/howto/prometheus-grafana.html b/admins/howto/prometheus-grafana.html new file mode 100644 index 000000000..d103d71e4 --- /dev/null +++ b/admins/howto/prometheus-grafana.html @@ -0,0 +1,905 @@ + + + + + + + + + +Prometheus and Grafana + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ +
+ + +
+ + + +
+ +
+
+

Prometheus and Grafana

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

Accessing the Prometheus Server

+

It can be useful to interact with the cluster’s prometheus server while developing dashboards in grafana. You will need to forward a local port to the prometheus server’s pod.

+
+

Using the standard port

+

Listen on port 9090 locally, forwarding to the prometheus server’s port 9090.

+
kubectl -n support port-forward deployment/support-prometheus-server 9090
+

then visit http://localhost:9090.

+
+
+

Using an alternative port

+

Listen on port 8000 locally, forwarding to the prometheus server’s port 9090.

+
kubectl -n support port-forward deployment/support-prometheus-server 8000:9090
+

then visit http://localhost:8000.

+
+
+
+

Grafana

+

Our Grafana dashboards are at https://grafana.datahub.berkeley.edu. Upstream documentation is at https://jupyterhub-grafana.readthedocs.io/en/latest/index.html.

+ + +
+ +
+ + +
+ + + + + \ No newline at end of file diff --git a/admins/howto/rebuild-hub-image.html b/admins/howto/rebuild-hub-image.html new file mode 100644 index 000000000..2f109163d --- /dev/null +++ b/admins/howto/rebuild-hub-image.html @@ -0,0 +1,882 @@ + + + + + + + + + +Rebuild a custom hub image + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ +
+ + +
+ + + +
+ +
+
+

Rebuild a custom hub image

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

We use a customized JupyterHub image so we can use versions of hub packages (such as authenticators) and install additional software required by custom config we might have.

+

The image is located in images/hub. It must inherit from the JupyterHub image used in the Zero to JupyterHub.

+

chartpress is used to build the image and update hub/values.yaml with the new image version. chartpress may be installed locally with pip install chartpress.

+
    +
  1. Run gcloud auth configure-docker us-central1-docker.pkg.dev once per machine to setup docker for authentication with the gcloud credential helper.
  2. +
  3. Modify the image in images/hub and make a git commit.
  4. +
  5. Run chartpress --push. This will build and push the hub image, and modify hub/values.yaml appropriately.
  6. +
  7. Make a commit with the hub/values.yaml file, so the new hub image name and tag are comitted.
  8. +
  9. Proceed to deployment as normal.
  10. +
+

Some of the following commands may be required to configure your environment to run the above chartpress workflow successfully:

+
    +
  • gcloud auth login
  • +
  • gcloud auth configure-docker us-central1-docker.pkg.dev
  • +
  • gcloud auth application-default login
  • +
  • sometimes running gcloud auth login additional time(s) may fix issues
  • +
  • sudo usermod -a -G docker ${USER}
  • +
  • gcloud auth configure-docker
  • +
+
+

Rebuild the custom postgres image

+

For data100, we provide a postgresql server per user. We want the python extension installed. So we inherit from the upstream postgresql docker image, and add the appropriate package.

+

This image is in images/postgres. If you update it, you need to rebuild and push it.

+
    +
  1. Modify the image in images/postgres and make a git commit.
  2. +
  3. Run chartpress --push. This will build and push the image, but not put anything in YAML. There is no place we can put thi in values.yaml, since this is only used for data100.
  4. +
  5. Notice the image name + tag from the chartpress --push command, and put it in the appropriate place (under extraContainers) in data100/config/common.yaml.
  6. +
  7. Make a commit with the new tag in data100/config/common.yaml.
  8. +
  9. Proceed to deploy as normal.
  10. +
+ + +
+ +
+ + +
+ + + + + \ No newline at end of file diff --git a/admins/howto/remove-users-orm.html b/admins/howto/remove-users-orm.html new file mode 100644 index 000000000..85850c14a --- /dev/null +++ b/admins/howto/remove-users-orm.html @@ -0,0 +1,861 @@ + + + + + + + + + +Remove inactive users from hub ORM + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ +
+ + +
+ + + +
+ +
+
+

Remove inactive users from hub ORM

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

JupyterHub performance sometimes scales with the total number of users in its ORM database, rather than the number of running users. Reducing the user count enables the hub to restart much faster. While this issue should be addressed, we can work around it by deleting inactive users from the hub database once in a while. Note that this does not delete the user’s storage. The script scripts/delete-unused-users.py will delete anyone who hasn’t registered any activity in a given period of time, double checking to make sure they aren’t active right now. This will require users to log in again the next time they use the hub, but that is probably fine. This should be done before the start of each semester, particularly on hubs with a lot of users.

+
+

Run the script

+

You can run the script on your own device. The script depends on the jhub_client python library. This can be installed with pip install jhub_client.

+
    +
  1. You will need to acquire a JupyterHub API token with administrative rights. A hub admin can go to {hub_url}/hub/token to create a new one.
  2. +
  3. Set the environment variable JUPYTERHUB_API_TOKEN to the token.
  4. +
  5. Run python scripts/delete-unused-users.py --hub_url {hub_url}
  6. +
+ + +
+ +
+ + +
+ + + + + \ No newline at end of file diff --git a/admins/index.html b/admins/index.html new file mode 100644 index 000000000..115e36b37 --- /dev/null +++ b/admins/index.html @@ -0,0 +1,827 @@ + + + + + + + + + +index + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ +
+ + +
+ + + +
+ + + + +

======================= Contributing to DataHub =======================

+

.. toctree:: :titlesonly: :maxdepth: 2

+

pre-reqs structure storage cluster-config credentials incidents/index

+

.. toctree:: :titlesonly: :maxdepth: 2

+

howto/index

+

deployments/index

+ + + +
+ +
+ + + + + \ No newline at end of file diff --git a/admins/pre-reqs.html b/admins/pre-reqs.html new file mode 100644 index 000000000..2c6c0f81a --- /dev/null +++ b/admins/pre-reqs.html @@ -0,0 +1,881 @@ + + + + + + + + + +Pre-requisites + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ +
+ + +
+ + + +
+ +
+
+

Pre-requisites

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

Smoothly working with the JupyterHubs maintained in this repository has a number of pre-requisite skills you must possess. The rest of the documentation assumes you have at least a basic level of these skills, and know how to get help related to these technologies when necessary.

+
+

Basic

+

These skills let you interact with the repository in a basic manner. This lets you do most 'self-service' tasks - such as adding admin users, libraries, making changes to resource allocation, etc. This doesn't give you any skills to debug things when they break, however.

+
    +
  1. Basic git & GitHub skills.

    +

    The Git Book & GitHub Help are good resources for this.

  2. +
  3. Familiarity with YAML syntax.

  4. +
  5. Understanding of how packages are installed in the languages we support.

  6. +
  7. Rights to merge changes into this repository on GitHub.

  8. +
+
+
+

Full

+

In addition to the basic skills, you'll need the following skills to 'fully' work with this repository. Primarily, you need this to debug issues when things break -since we strive to never have things break in the same way more than twice.

+
    +
  1. Knowledge of our tech stack: +
      +
    1. Kubernetes
    2. +
    3. Google Cloud
    4. +
    5. Helm
    6. +
    7. Docker
    8. +
    9. repo2docker
    10. +
    11. Jupyter
    12. +
    13. Languages we support: Python & R
    14. +
  2. +
  3. Understanding of our JupyterHub distribution, Zero to JupyterHub.
  4. +
  5. Full access to the various cloud providers we use.
  6. +
+ + +
+ +
+ + +
+ + + + + \ No newline at end of file diff --git a/admins/storage.html b/admins/storage.html new file mode 100644 index 000000000..674ba7106 --- /dev/null +++ b/admins/storage.html @@ -0,0 +1,887 @@ + + + + + + + + + +User home directory storage + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ +
+ + +
+ + + +
+ +
+
+

User home directory storage

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

All users on all the hubs get a home directory with persistent storage.

+
+

Why NFS?

+

NFS isn't a particularly cloud-native technology. It isn't highly available nor fault tolerant by default, and is a single point of failure. However, it is currently the best of the alternatives available for user home directories, and so we use it.

+
    +
  1. Home directories need to be fully POSIX compliant file systems that work with minimal edge cases, since this is what most instructional code assumes. This rules out object-store backed filesystems such as s3fs.

  2. +
  3. Users don't usually need guaranteed space or IOPS, so providing them each a persistent cloud disk gets unnecessarily expensive - since we are paying for it whether it is used or not.

    +

    When we did use one persistent disk per user, the storage cost dwarfed everything else by an order of magnitude for no apparent benefit.

    +

    Attaching cloud disks to user pods also takes on average about 30s on Google Cloud, and much longer on Azure. NFS mounts pretty quickly, getting this down to a second or less.

  4. +
+
+
+

NFS Server

+

We currently have two approaches to running NFS Servers.

+
    +
  1. Run a hand-maintained NFS Server with ZFS SSD disks.

    +

    This gives us control over performance, size and most importantly, server options. We use anonuid=1000, so all reads / writes from the cluster are treated as if they have uid 1000, which is the uid all user processes run as. This prevents us from having to muck about permissions & chowns - particularly since Kubernetes creates new directories on volumes as root with strict permissions (see issue).

  2. +
  3. Use a hosted NFS service like Google Cloud Filestore.

    +

    We do not have to perform any maintenance if we use this - but we have no control over the host machine either.

  4. +
+

After running our own NFS server from 2020 through the end of 2022, we decided to move wholesale to Google Cloud Filestore. This was mostly due to NFS daemon stability issues, which caused many outages and impacted thousands of our users and courses.

+

Currently each hub has it's own filestore instance, except for a few small courses that share one. This has proven to be much more stable and able to handle the load.

+
+
+

Home directory paths

+

Each user on each hub gets their own directory on the server that gets treated as their home directory. The staging & prod servers share home directory paths, so users get the same home directories on both.

+

For most hubs, the user's home directory path relative to the exported filestore share is <hub-name>-filestore/<hub-name>/<prod|staging>/home/<user-name>.

+
+
+

NFS Client

+

We currently have two approaches for mounting the user's home directory into each user's pod.

+
    +
  1. Mount the NFS Share once per node to a well known location, and use hostpath volumes with a subpath on the user pod to mount the correct directory on the user pod.

    +

    This lets us get away with one NFS mount per node, rather than one per pod.

  2. +
+ + +
+ +
+ + +
+ + + + + \ No newline at end of file diff --git a/admins/structure.html b/admins/structure.html new file mode 100644 index 000000000..8d6febf44 --- /dev/null +++ b/admins/structure.html @@ -0,0 +1,892 @@ + + + + + + + + + +Repository Structure + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ +
+ + +
+ + + +
+ +
+
+

Repository Structure

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

Hub Configuration

+

Each hub has a directory under deployments/ where all configuration for that particular hub is stored in a standard format. For example, all the configuration for the primary hub used on campus (datahub) is stored under deployments/datahub/.

+
+

User Image (image/)

+

The contents of the image/ directory determine the environment provided to the user. For example, it controls:

+
    +
  1. Versions of Python / R / Julia available
  2. +
  3. Libraries installed, and which versions of those are installed
  4. +
  5. Specific config for Jupyter Notebook or IPython
  6. +
+

repo2docker is used to build the actual user image, so you can use any of the supported config files to customize the image as you wish.

+
+
+

Hub Config (config/ and secrets/)

+

All our JupyterHubs are based on Zero to JupyterHub (z2jh). z2jh uses configuration files in YAML format to specify exactly how the hub is configured. For example, it controls:

+
    +
  1. RAM available per user
  2. +
  3. Admin user lists
  4. +
  5. User storage information
  6. +
  7. Per-class & Per-user RAM overrides (when classes or individuals need more RAM)
  8. +
  9. Authentication secret keys
  10. +
+

These files are split between files that are visible to everyone (config/) and files that are visible only to a select few illuminati (secrets/). To get access to the secret files, please consult the illuminati.

+

Files are further split into:

+
    +
  1. common.yaml - Configuration common to staging and production instances of this hub. Most config should be here.
  2. +
  3. staging.yaml - Configuration specific to the staging instance of the hub.
  4. +
  5. prod.yaml - Configuration specific to the production instance of the hub.
  6. +
+
+
+

hubploy.yaml

+

We use hubploy to deploy our hubs in a repeatable fashion. hubploy.yaml contains information required for hubploy to work - such as cluster name, region, provider, etc.

+

Various secret keys used to authenticate to cloud providers are kept under secrets/ and referred to from hubploy.yaml.

+
+
+
+

Documentation

+

Documentation is under the docs/ folder, and is generated with the sphinx project. It is written with the reStructuredText (rst) format. Documentation is automatically published to https://uc-berkeley-jupyterhubs.readthedocs.io/ and https://docs.datahub.berkeley.edu/. This is performed via a webhook in the github repo.

+ + +
+ +
+ + +
+ + + + + \ No newline at end of file diff --git a/datahub.svg b/datahub.svg new file mode 100644 index 000000000..58439789f --- /dev/null +++ b/datahub.svg @@ -0,0 +1,19 @@ + + + DATAHUB + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/incidents/2017-02-09-datahub-db-outage-pvc-recreate-script.html b/incidents/2017-02-09-datahub-db-outage-pvc-recreate-script.html new file mode 100644 index 000000000..a9fc56101 --- /dev/null +++ b/incidents/2017-02-09-datahub-db-outage-pvc-recreate-script.html @@ -0,0 +1,1570 @@ + + + + + + + + + +datahub-db-outage-pvc-recreate-script + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ +
+ + +
+ + + +
+ + + + +
+
import pandas as pd
+import numpy as np
+
+
+
!head pvcs.csv
+
+
NAME,STATUS,VOLUME,CAPACITY,ACCESSMODES,AGE
+claim-redacted-205,Bound,pvc-5643aadf-ddb3-11e6-98ef-42010af000c3,10Gi,RWO,21d
+claim-redacted-1088,Bound,pvc-bc68d752-ecba-11e6-98ef-42010af000c3,10Gi,RWO,2d
+claim-redacted-389,Bound,pvc-5d67d43e-ddcb-11e6-98ef-42010af000c3,10Gi,RWO,21d
+claim-redacted-119,Bound,pvc-73c5d644-ddb1-11e6-98ef-42010af000c3,10Gi,RWO,21d
+claim-redacted-64,Bound,pvc-3c2345e4-dd9f-11e6-98ef-42010af000c3,10Gi,RWO,21d
+claim-redacted-192,Bound,pvc-51b672a8-ddb3-11e6-98ef-42010af000c3,10Gi,RWO,21d
+claim-redacted-814,Bound,pvc-2b83ae02-dee0-11e6-98ef-42010af000c3,10Gi,RWO,20d
+claim-redacted-775,Bound,pvc-ec1d47be-deb0-11e6-98ef-42010af000c3,10Gi,RWO,20d
+claim-redacted-954,Bound,pvc-5a0acdc5-e3ee-11e6-98ef-42010af000c3,10Gi,RWO,13d
+
+
+
+
df = pd.DataFrame.from_csv('pvcs.csv')
+df.head()
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
STATUSVOLUMECAPACITYACCESSMODESAGE
NAME
claim-redacted-205Boundpvc-5643aadf-ddb3-11e6-98ef-42010af000c310GiRWO21d
claim-redacted-1088Boundpvc-bc68d752-ecba-11e6-98ef-42010af000c310GiRWO2d
claim-redacted-389Boundpvc-5d67d43e-ddcb-11e6-98ef-42010af000c310GiRWO21d
claim-redacted-119Boundpvc-73c5d644-ddb1-11e6-98ef-42010af000c310GiRWO21d
claim-redacted-64Boundpvc-3c2345e4-dd9f-11e6-98ef-42010af000c310GiRWO21d
+ +
+
+
+
+
df['username'] = np.array(df.index.str.extract('\w+-([\w-]+)-\d+$'))
+df['id'] = np.array(df.index.str.extract('\w+-\w+-(\d+)$'))
+df.head()
+
+
/Users/redacted/anaconda3/lib/python3.5/site-packages/ipykernel/__main__.py:1: FutureWarning: currently extract(expand=None) means expand=False (return Index/Series/DataFrame) but in a future version of pandas this will be changed to expand=True (return DataFrame)
+  if __name__ == '__main__':
+/Users/redacted/anaconda3/lib/python3.5/site-packages/ipykernel/__main__.py:2: FutureWarning: currently extract(expand=None) means expand=False (return Index/Series/DataFrame) but in a future version of pandas this will be changed to expand=True (return DataFrame)
+  from ipykernel import kernelapp as app
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
STATUSVOLUMECAPACITYACCESSMODESAGEusernameid
NAME
claim-redacted-205Boundpvc-5643aadf-ddb3-11e6-98ef-42010af000c310GiRWO21dredacted205
claim-redacted-1088Boundpvc-bc68d752-ecba-11e6-98ef-42010af000c310GiRWO2dredacted1088
claim-redacted-389Boundpvc-5d67d43e-ddcb-11e6-98ef-42010af000c310GiRWO21dredacted389
claim-redacted-119Boundpvc-73c5d644-ddb1-11e6-98ef-42010af000c310GiRWO21dredacted119
claim-redacted-64Boundpvc-3c2345e4-dd9f-11e6-98ef-42010af000c310GiRWO21dredacted64
+ +
+
+
+
+
df.tail()
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
STATUSVOLUMECAPACITYACCESSMODESAGEusernameid
NAME
claim-redacted-562Boundpvc-4418d1d6-de0a-11e6-98ef-42010af000c310GiRWO21dredacted562
claim-redacted-400Boundpvc-2399fe54-ddcf-11e6-98ef-42010af000c310GiRWO21dredacted400
claim-redacted-946Boundpvc-294cb2c7-e35e-11e6-98ef-42010af000c310GiRWO14dredacted946
claim-redacted-900Boundpvc-f6859607-e1c0-11e6-98ef-42010af000c310GiRWO16dredacted900
hub-db-dirBoundpvc-ea8a0bef-dd44-11e6-98ef-42010af000c310GiRWO22dNaNNaN
+ +
+
+
+
+
valids = df[~df['AGE'].str.contains('m')].dropna()
+valids = valids[valids['id'] != '14']
+valids.head()
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
STATUSVOLUMECAPACITYACCESSMODESAGEusernameid
NAME
claim-redacted-205Boundpvc-5643aadf-ddb3-11e6-98ef-42010af000c310GiRWO21dredacted205
claim-redacted-1088Boundpvc-bc68d752-ecba-11e6-98ef-42010af000c310GiRWO2dredacted1088
claim-redacted-389Boundpvc-5d67d43e-ddcb-11e6-98ef-42010af000c310GiRWO21dredacted389
claim-redacted-119Boundpvc-73c5d644-ddb1-11e6-98ef-42010af000c310GiRWO21dredacted119
claim-redacted-64Boundpvc-3c2345e4-dd9f-11e6-98ef-42010af000c310GiRWO21dredacted64
+ +
+
+
+
+
valids['username'].head().value_counts()
+
+
redacted              1
+redacted    1
+redacted              1
+redacted            1
+redacted         1
+Name: username, dtype: int64
+
+
+
+
valids['id'].value_counts().head()
+
+
400     1
+90      1
+756     1
+488     1
+1029    1
+Name: id, dtype: int64
+
+
+
+
len(valids['id'])
+
+
1105
+
+
+
+
import sqlite3
+conn = sqlite3.connect('jupyterhub.sqlite')
+c = conn.cursor()
+
+
+
c.execute('PRAGMA TABLE_INFO({})'.format('users'))
+
+c.fetchall()
+
+
[(0, 'id', 'INTEGER', 1, None, 1),
+ (1, 'name', 'VARCHAR(1023)', 0, None, 0),
+ (2, '_server_id', 'INTEGER', 0, None, 0),
+ (3, 'admin', 'BOOLEAN', 0, None, 0),
+ (4, 'last_activity', 'DATETIME', 0, None, 0),
+ (5, 'cookie_id', 'VARCHAR(1023)', 0, None, 0),
+ (6, 'state', 'TEXT', 0, None, 0),
+ (7, 'auth_state', 'TEXT', 0, None, 0)]
+
+
+
+
c.execute('SELECT * FROM users LIMIT 20')
+current_users = c.fetchall()
+current_users[:2]
+
+
[(1,
+  'redacted',
+  None,
+  1,
+  '2017-02-09 09:07:03.936620',
+  '8ec09f8def774b668e838d1e70e00329',
+  None,
+  None),
+ (2,
+  'redacted',
+  None,
+  1,
+  '2017-02-09 09:07:03.938610',
+  'c98f59afc1fe4a70b18b451ac1190d45',
+  None,
+  None)]
+
+
+
+
admins = {user[1] for user in current_users if user[3] == 1}
+admins
+
+
{'redacted',
+ 'redacted',
+ 'redacted',
+ 'redacted',
+ 'redacted',
+ 'redacted',
+ 'redacted',
+ 'redacted',
+ 'redacted',
+ 'redacted',
+ 'redacted',
+ 'redacted',
+ 'redacted',
+ 'redacted',
+ 'redacted',
+ 'redacted',
+ 'redacted',
+ 'redacted',
+ 'redacted',
+ 'redacted'}
+
+
+
+
# I just did this manually in the sqlite3 CLI
+# c.execute('DROP FROM users where id > -1')
+# c.fetchall()
+
+
+
---------------------------------------------------------------------------
+OperationalError                          Traceback (most recent call last)
+<ipython-input-73-a8eb9e4f2c5d> in <module>()
+----> 1 c.execute('DROP FROM users where id > -1')
+      2 c.fetchall()
+
+OperationalError: near "FROM": syntax error
+
+
+
+
+
import datetime
+import itertools
+
+records = list(zip(
+    valids['id'].astype(int),
+    valids['username'],
+    itertools.repeat('NULL'),
+    [1 if name in admins else 0 for name in valids['username']],
+#     itertools.repeat('NULL'), # Pick a random valid value
+    itertools.repeat('2017-02-09 09:07:03.936620'), # Pick a random valid value
+    itertools.repeat('thisisadummycookiehopefullyitworks'),
+    itertools.repeat('NULL'),
+    itertools.repeat('NULL')
+))
+records[:3]
+
+
[(205,
+  'redacted',
+  'NULL',
+  0,
+  '2017-02-09 09:07:03.936620',
+  'thisisadummycookiehopefullyitworks',
+  'NULL',
+  'NULL'),
+ (1088,
+  'redacted',
+  'NULL',
+  0,
+  '2017-02-09 09:07:03.936620',
+  'thisisadummycookiehopefullyitworks',
+  'NULL',
+  'NULL'),
+ (389,
+  'redacted',
+  'NULL',
+  0,
+  '2017-02-09 09:07:03.936620',
+  'thisisadummycookiehopefullyitworks',
+  'NULL',
+  'NULL')]
+
+
+
+
# I hate everything
+def record_to_sql(record):
+    return "INSERT INTO users VALUES({}, '{}', {}, '{}', '{}', '{}', {}, {})".format(
+        *record
+    )
+
+sql_statements = [record_to_sql(record) for record in records]
+record_to_sql(records[0])
+
+
"INSERT INTO users VALUES(205, 'redacted', NULL, '0', '2017-02-09 09:07:03.936620', 'thisisadummycookiehopefullyitworks', NULL, NULL)"
+
+
+
[(0, 'id', 'INTEGER', 1, None, 1),
+ (1, 'name', 'VARCHAR(1023)', 0, None, 0),
+ (2, '_server_id', 'INTEGER', 0, None, 0),
+ (3, 'admin', 'BOOLEAN', 0, None, 0),
+ (4, 'last_activity', 'DATETIME', 0, None, 0),
+ (5, 'cookie_id', 'VARCHAR(1023)', 0, None, 0),
+ (6, 'state', 'TEXT', 0, None, 0),
+ (7, 'auth_state', 'TEXT', 0, None, 0)]
+
+
with conn:
+    c = conn.cursor()
+    for statement in sql_statements:
+        c.execute(statement)
+
+
+
c.execute('SELECT * FROM users LIMIT 20')
+c.fetchall()
+
+
[(2,
+  'redacted',
+  None,
+  0,
+  '2017-02-09 09:07:03.936620',
+  'thisisadummycookiehopefullyitworks',
+  None,
+  None),
+ (3,
+  'redacted',
+  None,
+  0,
+  '2017-02-09 09:07:03.936620',
+  'thisisadummycookiehopefullyitworks',
+  None,
+  None),
+ (4,
+  'redacted',
+  None,
+  0,
+  '2017-02-09 09:07:03.936620',
+  'thisisadummycookiehopefullyitworks',
+  None,
+  None),
+ (5,
+  'redacted',
+  None,
+  0,
+  '2017-02-09 09:07:03.936620',
+  'thisisadummycookiehopefullyitworks',
+  None,
+  None),
+ (6,
+  'redacted',
+  None,
+  1,
+  '2017-02-09 09:07:03.936620',
+  'thisisadummycookiehopefullyitworks',
+  None,
+  None),
+ (7,
+  'redacted',
+  None,
+  0,
+  '2017-02-09 09:07:03.936620',
+  'thisisadummycookiehopefullyitworks',
+  None,
+  None),
+ (8,
+  'redacted',
+  None,
+  0,
+  '2017-02-09 09:07:03.936620',
+  'thisisadummycookiehopefullyitworks',
+  None,
+  None),
+ (9,
+  'redacted',
+  None,
+  0,
+  '2017-02-09 09:07:03.936620',
+  'thisisadummycookiehopefullyitworks',
+  None,
+  None),
+ (10,
+  'redacted',
+  None,
+  0,
+  '2017-02-09 09:07:03.936620',
+  'thisisadummycookiehopefullyitworks',
+  None,
+  None),
+ (11,
+  'redacted',
+  None,
+  0,
+  '2017-02-09 09:07:03.936620',
+  'thisisadummycookiehopefullyitworks',
+  None,
+  None),
+ (12,
+  'redacted',
+  None,
+  0,
+  '2017-02-09 09:07:03.936620',
+  'thisisadummycookiehopefullyitworks',
+  None,
+  None),
+ (13,
+  'redacted',
+  None,
+  0,
+  '2017-02-09 09:07:03.936620',
+  'thisisadummycookiehopefullyitworks',
+  None,
+  None),
+ (15,
+  'redacted',
+  None,
+  0,
+  '2017-02-09 09:07:03.936620',
+  'thisisadummycookiehopefullyitworks',
+  None,
+  None),
+ (17,
+  'redacted',
+  None,
+  0,
+  '2017-02-09 09:07:03.936620',
+  'thisisadummycookiehopefullyitworks',
+  None,
+  None),
+ (18,
+  'redacted',
+  None,
+  0,
+  '2017-02-09 09:07:03.936620',
+  'thisisadummycookiehopefullyitworks',
+  None,
+  None),
+ (19,
+  'redacted',
+  None,
+  1,
+  '2017-02-09 09:07:03.936620',
+  'thisisadummycookiehopefullyitworks',
+  None,
+  None),
+ (20,
+  'redacted',
+  None,
+  1,
+  '2017-02-09 09:07:03.936620',
+  'thisisadummycookiehopefullyitworks',
+  None,
+  None),
+ (21,
+  'redacted',
+  None,
+  1,
+  '2017-02-09 09:07:03.936620',
+  'thisisadummycookiehopefullyitworks',
+  None,
+  None),
+ (22,
+  'redacted',
+  None,
+  0,
+  '2017-02-09 09:07:03.936620',
+  'thisisadummycookiehopefullyitworks',
+  None,
+  None),
+ (24,
+  'redacted',
+  None,
+  0,
+  '2017-02-09 09:07:03.936620',
+  'thisisadummycookiehopefullyitworks',
+  None,
+  None)]
+
+
+ + + +
+ +
+ + + + + \ No newline at end of file diff --git a/incidents/2017-02-09-datahub-db-outage.html b/incidents/2017-02-09-datahub-db-outage.html new file mode 100644 index 000000000..4094a2a56 --- /dev/null +++ b/incidents/2017-02-09-datahub-db-outage.html @@ -0,0 +1,1006 @@ + + + + + + + + + + +JupyterHub db manual overwrite + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ +
+ + +
+ + + +
+ +
+
+

JupyterHub db manual overwrite

+
+ + + +
+ + +
+
Published
+
+

February 9, 2017

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

Summary

+

Datahub was reportedly down at 1am. Users attempting to log in to datahub were greeted with a proxy error. The hub pod was up but the log was full of sqlite errors. After the hub pod was deleted and a new one came up, students logging in to datahub found their notebooks were missing and their home directories were empty. Once this was fixed, some students still were being logged in as a different particular user. Finally, students with a ‘.’ in their username were still having issues after everyone else was fine. This was all fixed and an all-clear signalled at about 2017-02-09 11:35 AM.

+
+
+

Timeline

+
+

2017-02-09 00:25 - 00:29 AM

+

Attempting to debug some earlier 400 errors, Trying to set base_url and ip to something incorrect to see if it will cause a problem.

+
kubectl exec hub-deployment-something --namespace=datahub -it bash
+apt-get install sqlite3
+sqlite3
+
ATTACH 'jupyterhub.sqlite AS my_db;
+SELECT name FROM my_db.sqlite_master WHERE type='table';
+SELECT * FROM servers;
+SELECT * FROM servers WHERE base_url LIKE '%<USER>%';
+UPDATE servers SET ip='' WHERE base_url LIKE '%<USER>%';
+UPDATE servers SET base_url='/<something-wrong> WHERE base_url LIKE '%<USER>%';
+

Ctrl+D (exit back into bash shell)

+

checked datahub.berkeley.edu, and nothing happened to the account saw that the sql db was not updated, attempt to run .save

+
```bash
+sqlite3
+
.save jupyterhub.sqlite
+

This replaced the db with an empty one, since ATTACH was not run beforehand.

+
+
+

0:25:59 AM

+

Following exception shows up in hub logs:

+
sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) no such table: proxies [SQL: 'SELECT proxies.id AS proxies_id, proxies._public_server_id AS proxies__public_server_id, proxies._api_server_id AS proxies__api_server_id \nFROM proxies \nWHERE proxies.id = ?'] [parameters: (1,)]
+

This continues for hub table as well, since those two seem to be most frequently used.

+
+
+

1:12 AM

+

Sam’s roommate notices that he can log in to datahub but all his notebooks are gone. We notice that there are only ~50 users on the JHub admin panel when there used to be ~1000, so we believe that this is because the JHub sqlite user database got wiped/corrupted, then created an account for his roommate when he logged in, then created a new persistent disk since it lost track of his old one.

+

This is confirmed soon after:

+
$ kubectl --namespace=datahub get pvc | grep  <username>
+claim-<username>-257     Bound     pvc-3b405e13-ddb4-11e6-98ef-42010af000c3   10Gi       RWO           21d
+claim-<username>-51      Bound     pvc-643dd900-eea7-11e6-a291-42010af000c3   10Gi       RWO           5m
+
+
+

1:28 AM

+

We shut down the hub pod by scaling the replicas to 0.

+

We then begin recreating the JHub sqlite database by taking the Kubernetes PVCs and matching them back with the user ids. We could do this because the name of the PVC contains a sanitized form of the username and the userid.

+

Here’s the notebook that was used to recreate the db from PVCs: pvc-sqlite.ipynb 2017-02-09-datahub-db-outage-pvc-recreate-script.ipynb

+
+
+

2:34 AM

+

We recreate the sqlite3 database. Initially each user’s cookie_id was set to a dummy cookie value.

+
+
+

2:42 AM

+

User cookie_id values are changed to null rather than dummy value. The sqlite file is then attached back to datahub. The number of users shown on admin page is back to ~1000. The hub was up, and a spot check of starting other user’s servers seem to work. Some users get redirected to one particular user, but deleting and recreating the affected user seems to fix this.

+
+
+

10:11 AM

+

Attempt to log everyone out by changing cookie secret in hub pod at /srv/jupyterhub/jupyterhub_cookie_secret. Just one character near the end was changed, and pod restarted. No effect. One character at the beginning of secret was changed next, and restarted - this caused actual change, and logged all users out.

+

People are still being redirected to one particular user’s account when they log in. More looking around required.

+
+
+

10:17 AM

+

John Denero advises students to use ds8.berkeley.edu right now. ds8.berkeley.edu promptly starts crashing because it does not have resources for a data8 level class.

+
+
+

10:29 AM

+

All user pods are deleted, which finally properly logs everyone out. However, people logging in are still all getting the same user’s pods.

+
+
+

10:36 AM

+

Notice that cookie_id column in the user database table is empty for many users, and the user that everyone is being logged in as has an empty cookie_id too and is the ‘first’ on the table when sorted in ascending by id. Looking at the JupyterHub code, cookie_id is always supposed to be set to a uuid, and never supposed to be empty. Setting cookie_id for users fixes their issues, and seems to spawn them into their own notebook.

+
+
+

10:45 AM

+

A script is run that populates cookie_id for all users, and restarts the hub to make sure there’s no stale cache in RAM. All user pods are deleted again. Most users are back online now! More users start testing and confirming things are working for them.

+
+
+

10:53 AM

+

User with a ‘.’ in their name reports that they’re getting an empty home directory. More investigation shows two users - one with a ‘.’ in their name that is newer, and one with a ‘-’ in their name instead of ‘.’ that is older. Hypothesis is that one of them is the ‘original’, but they’re all attaching to a new one that is empty. Looking at pvcs confirms this - there are two PVCs for users with a . in their name who have tried to log in, and they differ only by ids.

+

There is some confusion about users ending up on prob140, because the data8.org homework link is changed to use that temporarily.

+
+
+

11:05 AM

+

Directly modifying the user table to rename the user with the ‘-’ in the name to have a ‘.’ seems to work for people.

+
+
+

11:15 AM

+

A script is run that modifies the database user table for all users with a ‘-’ in their name, and the ‘-’ is replaced with a ‘.’. The new users created with the ‘.’ in their name are dropped before this.

+
+
+

11:17 AM

+

All clear given for datahub.berkeley.edu

+
+
+

11:19 AM

+

Locally verified that running .save on sqlite3 will overwrite the db file without any confirmation, and is most likely cause of the issue. Conclusion Accidental overwriting of the sqlite file during routine debugging operation led all tables being deleted. Users were getting new user ids when they were logging in now, causing them to get new disks provisioned - and these disks were empty. During reconstruction of the db, cookie_id was missing for several users, causing them all to log in to one particular user’s notebook. Users with ‘.’ in their name were also set up slightly incorrectly - their pods have ‘-’ in them but the user name should have a ‘.’.

+
+
+
+

Action items

+
+

Upstream bug reports for JupyterHub

+
    +
  1. JupyterHub only uses a certain length of the cookie secret, and discards the rest. This causes confusion when trying to change it to log people out. Issue
  2. +
  3. The cookie_id column in the users table should have UNIQUE and NOT NULL constraints. Issue
  4. +
+
+
+

Upstream bug reports for KubeSpawner

+
    +
  1. Support using username hashes in PVC and Pod Names rather than user ids, so that pod and PVC names remain constant even when DB is deleted. Issue
  2. +
+
+
+

Upstream bug reports for OAuthenticator

+
    +
  1. Support setting id of user in user table to be same as ‘id’ provided by Google authenticator, thus providing a stable userid regardless of when the user first logged in. Issue
  2. +
+
+
+

DataHub deployment changes

+
    +
  1. Switch to using Google Cloud SQL, which provides hosted and managed MySQL database
  2. +
  3. Perform regular and tested backups of the database
  4. +
  5. Start writing an operational FAQ for things to do and not do
  6. +
  7. Setup better monitoring and paging systems
  8. +
  9. Document escalation procedures explicitly
  10. +
+ + +
+
+ +
+ +
+ + + + + \ No newline at end of file diff --git a/incidents/2017-02-24-autoscaler-incident.html b/incidents/2017-02-24-autoscaler-incident.html new file mode 100644 index 000000000..abe9074f6 --- /dev/null +++ b/incidents/2017-02-24-autoscaler-incident.html @@ -0,0 +1,880 @@ + + + + + + + + + + +Custom Autoscaler gonee haywire + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ +
+ + +
+ + + +
+ +
+
+

Custom Autoscaler gonee haywire

+
+ + + +
+ + +
+
Published
+
+

February 24, 2017

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

Summary

+

On the evening of February 24, 2017, a premature version of the Autoscaler script for the Datahub deployment was mistakenly run on the prod cluster, resulting in a large amount of nodes (roughly 30-40) being set as unschedulable for about 20 minutes. Though no information was lost nor service critically disturbed, it was necessary to manually re-enable these nodes to be scheduled.

+
+
+

Timeline

+

As of this commit in the Autoscaler branch history, there exists a scale.py file that would based on the utilization of the cluster, mark a certain number of nodes unschedulable before attempting to shut down nodes with no pods in them. Unfortunately, this script was executed prematurely, and without configuration, looked to execute in whatever context currently specified in .kube/config, which ended up being the production cluster rather than the dev cluster.

+
+

2017-02-24 11:14 PM

+

Script is mistakenly executed. A bug in the calculations for the utilization of the cluster leads to about 40 nodes being marked as unschedulable. The mistake is noted immediately.

+
+
+

2017-02-24 11:26 PM

+

The unschedulability of these nodes is reverted. All nodes in the cluster were first all set to be schedulable to ensure that no students current and future would be disturbed. Immediately after, 10 of the most idle nodes on the cluster were manually set to be unschedulable (to facilitate them later being manually descaled - to deal with https://github.com/data-8/infrastructure/issues/6) using kubectl cordon <node_name>.

+
+
+
+

Conclusion

+

A cluster autoscaler script was accidentally run against the production cluster instead of the dev cluster, reducing capacity for new user logins for about 12 minutes. There was still enough capacity so we had no adverse effects.

+
+
+

Action Items

+
+

Datahub Deployment Changes

+
    +
  1. The Autoscaler should not be run unless the context is explicitly set via environment variables or command line arguments. This is noted in the comments of the pull request for the Autoscaler.
  2. +
  3. The idea of the ‘current context’ should be abolished in all the tools we build / read.
  4. +
+
+
+

Future organizational change

+
    +
  1. Use a separate billing account for production vs development clusters. This makes it harder to accidentally run things on the wrong cluster
  2. +
+ + +
+
+ +
+ +
+ + + + + \ No newline at end of file diff --git a/incidents/2017-02-24-proxy-death-incident.html b/incidents/2017-02-24-proxy-death-incident.html new file mode 100644 index 000000000..8ae1bfc29 --- /dev/null +++ b/incidents/2017-02-24-proxy-death-incident.html @@ -0,0 +1,913 @@ + + + + + + + + + + +Proxy eviction strands user + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ +
+ + +
+ + + +
+ +
+
+

Proxy eviction strands user

+
+ + + +
+ + +
+
Published
+
+

February 24, 2017

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

Summary

+

On the evening of Feb 23, several students started experiencing 500 errors in trying to access datahub. The proxy had died because of a known issue, and it took a while for the hub to re-add all the user routes to the proxy. Some students’ needed their servers to be manually restarted, due to a JupyterHub spawner bug that is showing up at scale. Everything was fixed in about 40 minutes.

+
+
+

Timeline

+

All times in PST

+
+

21:10:57

+

The proxy pod is evicted, due to a known issue that is currently being worked on. Users start running into issue now, with connection failures.

+
+
+

21:11:04

+

New proxy pod is started by kubernetes, and starts accepting connections. However, the JupyterHub model currently has the proxy starting with no state about user routes, and so the users’ requests aren’t being routed to their notebook pods. This manifests as errors for users.

+

The hub process is supposed to poll the proxy every 300s, and repopulate the route table when it notices it is empty. The hub does this at some point in the next 300s (we do not know when), and starts repopulating the route table. As routes get added for currently users, their notebook starts working again.

+
+
+

21:11:52

+

The repopulate process starts running into issues - it is making far too many http requests (to the kubernetes and proxy APIs) that it starts running into client side limits on tornado http client (which is what we use to make these requests). This causes them to time out on the request queue. We were running into https://github.com/tornadoweb/tornado/issues/1400. Not all requests fail - for those that succeed, the students are able to access their notebooks.

+

The repopulate process takes a while to process, and errors for a lot of students who are left with notebook in inconsistent state - JupyterHub thinks their notebook is running but it isn’t, or vice versa. Lots of 500s for users.

+
+
+

21:14

+

Reports of errors start reaching the Slack channel + Piazza.

+

The repopulate process keeps being retried, and notebooks for users slowly come back. Some users are ‘stuck’ in a bad state, however - their notebook isn’t running, but JupyterHub thinks it is (or vice versa).

+
+
+

21:34

+

Most users are fine by now. For those still with problems, a forced delete from the admin interface + a start works, since this forces JupyterHub to really check if they’re there or not.

+
+
+

22:03

+

Last reported user with 500 error is fixed, and datahub is fully operational again.

+
+
+
+

Conclusion

+

This is almost a ‘perfect storm’ event. Three things colluded to make this outage happen:

+
    +
  1. The inodes issue, which causes containers to fail randomly
  2. +
  3. The fact that the proxy is a single point of failure with a longish recovery time in current JupyterHub architecture.
  4. +
  5. KubeSpawner’s current design is inefficient at very high user volumes, and its request timeouts & other performance characteristics had not been tuned (because we have not needed to before).
  6. +
+

We have both long term (~1-2 months) architectural fixes as well as short term tuning in place for all three of these issues.

+
+
+

Action items

+
+

Upstream JupyterHub

+
    +
  1. Work on abstracting the proxy interface, so the proxy is no longer a single point of failure. Issue
  2. +
+
+
+

Upstream KubeSpawner

+
    +
  1. Re-architect the spawner to make a much smaller number of HTTP requests. DataHub has become big enough that this is a problem. Issue
  2. +
  3. Tune the HTTP client kubespawner uses. This would be an interim solution until (1) gets fixed. Issue
  4. +
+
+
+

DataHub configuration

+
    +
  1. Set resource requests explicitly for hub and proxy, so they have less chance of getting evicted. Issue
  2. +
  3. Reduce the interval at which the hub checks to see if the proxy is running. PR
  4. +
  5. Speed up the fix for the inodes issue which is what triggered this whole issue.
  6. +
+ + +
+
+ +
+ +
+ + + + + \ No newline at end of file diff --git a/incidents/2017-03-06-helm-config-image-mismatch.html b/incidents/2017-03-06-helm-config-image-mismatch.html new file mode 100644 index 000000000..ce9d5b0f5 --- /dev/null +++ b/incidents/2017-03-06-helm-config-image-mismatch.html @@ -0,0 +1,935 @@ + + + + + + + + + + +Non-matching hub image tags cause downtime + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ +
+ + +
+ + + +
+ +
+
+

Non-matching hub image tags cause downtime

+
+ + + +
+ + +
+
Published
+
+

March 6, 2017

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

Summary

+

On the evening of Mar 6, the hub on prod would not come up after an upgrade. The upgrade was to accommodate a new disk for cogneuro that had been tested on dev. After some investigation it was determined that the helm’s config did not match the hub’s image. After the hub image was rebuilt and pushed out, then tested on dev, it was pushed out to prod. The problem was fixed in about 40 minutes.

+

A few days later (March 12), similar almost outage is avoided when -dev breaks and deployment is put on hold. More debugging shows the underlying cause is that git submodules are hard to use. More documentation is provided, and downtime is averted!

+
+
+

Timeline

+

All times in PST

+
+

March 6 2017 22:59

+

dev changes are deployed but hub does not start correctly. The describe output for the hub shows repeated instances of:

+

Error syncing pod, skipping: failed to “StartContainer” for “hub-container” with CrashLoopBackOff: “Back-off 10s restarting failed container=hub-container pod=hub-deployment-3498421336-91gp3_datahub-dev(bfe7d8bd-0303-11e7-ade6-42010a80001a)

+

helm chart for -dev is deleted and reinstalled.

+
+
+

23:11

+

dev changes are deployed successfully and tested. cogneuro’s latest data is available.

+
+
+

23:21

+

Changes are deployed to prod. The hub does not start properly. get pod -o=yaml on the hub pod shows that the hub container has terminated. The hub log shows that it failed due to a bad configuration parameter.

+
+
+

21:31

+

While the helm chart had been updated from git recently, the latest tag for the hub did not correspond with the one in either prod.yaml or dev.yaml.

+
+
+

21:41

+

The hub image is rebuilt and pushed out.

+
+
+

21:45

+

The hub is deployed on -dev.

+
+
+

21:46

+

The hub is tested on -dev then deployed on -prod.

+
+
+

21:50

+

The hub is tested on -prod. Students are reporting that the hub had been down.

+
+
+

March 12 19:57

+

A new deploy is attempted on -dev, but runs into same error. Deployments are halted for more debugging this time, and more people are called on.

+
+
+

23:21

+

More debugging reveals that the commit update looked like this:

+
diff --git a/chart b/chart
+index e38aba2..c590340 160000
+--- a/chart
++++ b/chart
+@@ -1 +1 @@
+-Subproject commit e38aba2c5601de30c01c6f3c5cad61a4bf0a1778
++Subproject commit c59034032f8870d16daba7599407db7e6eb53e04
+diff --git a/data8/dev.yaml b/data8/dev.yaml
+index 2bda156..ee5987b 100644
+--- a/data8/dev.yaml
++++ b/data8/dev.yaml
+@@ -13,7 +13,7 @@ publicIP: "104.197.166.226"
+
+ singleuser:
+   image:
+-    tag: "e4af695"
++    tag: "1a6c6d8"
+   mounts:
+     shared:
+       cogneuro88: "cogneuro88-20170307-063643"
+

Only the tag should’ve been the only thing updated. The chart submodule is updated to c59034032f8870d16daba7599407db7e6eb53e04, which is from February 25 (almost two weeks old). This is the cause of the hub failing, since it is using a really old chart commit with a new hub image.

+
+
+
+

23:27

+

It is determined that incomplete documentation about deployment processes caused git submodule update to be not run after a git pull, and so the chart was being accidentally moved back to older commits. Looking at the commit that caused the outage on March 6 showed the exact same root cause.

+
+
+

Conclusion

+

Git submodules are hard to use, and break most people’s mental model of how git works. Since our deployment requires that the submodule by in sync with the images used, this caused an outage.

+
+
+

Action items

+
+

Process

+
    +
  1. Make sure we treat any errors in -dev exactly like we would in prod. Any deployment error in prod should immediately halt future deployments & require a rollback or resolution before proceeding.
  2. +
  3. Write down actual deployment documentation & a checklist.
  4. +
  5. Move away from git submodules to a separate versioned chart repository.
  6. +
+ + +
+
+ +
+ +
+ + + + + \ No newline at end of file diff --git a/incidents/2017-03-20-too-many-volumes.html b/incidents/2017-03-20-too-many-volumes.html new file mode 100644 index 000000000..97b9a7170 --- /dev/null +++ b/incidents/2017-03-20-too-many-volumes.html @@ -0,0 +1,912 @@ + + + + + + + + + + +Too many volumes per disk leave students stuck + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ +
+ + +
+ + + +
+ +
+
+

Too many volumes per disk leave students stuck

+
+ + + +
+ + +
+
Published
+
+

March 20, 2017

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

Summary

+

From sometime early March 20 2017 till about 1300, some new student servers were stuck in Pending forever, giving them 500 errors. This was an unintended side-effect of reducing student memory limit to 1G while keeping the size of our nodes constant, causing us to hit a Google Cloud limit on number of disks per node. This was fixed by spawning more nodes that were smaller.

+
+
+

Timeline

+
+

March 18, 16:30

+

RAM per student is reduced from 2G to 1G, as a resource optimization measure. The size of our nodes remains the same (26G RAM), and many are cordonned off and slowly decomissioned over the coming few days.

+

Life seems fine, given the circumstances.

+
+
+

March 20, 12:44

+

New student servers report a 500 error preventing them from logging on. This is deemed widespread & not an isolated incident.

+
+
+

12:53

+

A kubectl describe pod on an affected student’s pod shows it’s stuck in Pending state, with an error message:

+
pod failed to fit in any node fit failure on node (XX): MaxVolumeCount
+

This seems to be common problem for all the new student servers, which are all stuck in Pending state.

+

Googling leads to https://github.com/kubernetes/kubernetes/issues/24317 - even though Google Compute Engine can handle more than 16 disks per node (we had checked this before deploying), Kubernetes itself still can not. This wasn’t foreseen, and seemed to be the direct cause of the incident.

+
+
+

13:03

+

A copy of the instance template that is used by Google Container Engine is made and then modified to spawn smaller nodes (n1-highmem-2 rather than n1-highmem-4). The managed instance group used by Google Container Engine is then modified to use the new template. This was the easiest way to not distrupt students for whom things are working, while also allowing new students to be able to log in.

+

This new instance group was then set to expand for 30 new nodes, which will provide capacity for about 12 students each. populate.bash was also run to make sure that students pods start up on time in the newnodes.

+
+
+

13:04

+

The simple autoscaler is stopped, on fear that it’ll be confused by the unusal mixed state of the nodes and do something wonky.

+
+
+

13:11

+

All the new nodes are online, and populate.bash has completed. Pods start leaving the Pending state.

+

However, since it’s been more than the specified timeout that JupyterHub will wait before giving up on Pod (5 minutes), JupyterHub doesn’t know the pods exist. This causes state of cluster + state in JupyterHub to go out of sync, causing the dreaded ‘redirected too many times’ error. Admins need to manually stop and start user pods in the control panel as users report this to fix this issue.

+
+
+

14:23

+

The hub and proxy pods are restarted since there were plenty of ‘redirected too many times’ errors. This seems to catch most users state, although some requests still failed with a 599 timeout (similar to an earlier incident, but much less frequent). A long tail of manual user restarts are performed by admins over the next few days.

+
+
+
+

Action Items

+
+

Upstream: Kubernetes

+
    +
  1. Keep an eye on the status of the bug we ran into
  2. +
+
+
+

Upstream: JupyterHub

+
    +
  1. Track down and fix the ‘too many redirects’ issue at source. Issue
  2. +
+
+
+

Cleanup

+
    +
  1. Delete all the older larger nodes that are no longer in use. (Done!)
  2. +
+
+
+

Monitoring

+
    +
  1. Have alerting for when there are any number of pods in Pending state for a non-negligible amount of time. There is always something wrong when this happens.
  2. +
+ + +
+
+ +
+ +
+ + + + + \ No newline at end of file diff --git a/incidents/2017-03-23-kernel-deaths-incident.html b/incidents/2017-03-23-kernel-deaths-incident.html new file mode 100644 index 000000000..76e0e67ac --- /dev/null +++ b/incidents/2017-03-23-kernel-deaths-incident.html @@ -0,0 +1,947 @@ + + + + + + + + + + +Weird upstream ipython bug kills kernels + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ +
+ + +
+ + + +
+ +
+
+

Weird upstream ipython bug kills kernels

+
+ + + +
+ + +
+
Published
+
+

March 23, 2017

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

Summary

+

A seemingly unrelated change caused user kernels to die on start (making notebook execution impossible) for newly started user servers from about Mar 22 19:30 to Mar 23 09:45. Most users didn’t see any errors until start of class at about 9AM, since they were running servers that were previously started.

+
+
+

Timeline

+
+

March 22, around 19:30

+

A deployment is performed, finally deploying https://github.com/data-8/jupyterhub-k8s/pull/146 to production. It seemed to work fine on -dev, and on prod as well. However, the testing regimen was only to see if a notebook server would show up - not if a kernel would spawn.

+
+
+

Mar 23, 09:08

+

Students report that their kernels keep dying. This is confirmed to be a problem for all newly launched notebooks, in both prod and dev.

+
+
+

09:16

+

The last change to the repo (an update of the single-user image) is reverted, to check if that was causing the problem. This does not improve the situation. Debugging continues, but with no obvious angles of attack.

+
+
+

09:41

+

After debugging produces no obvious culprits, the state of the entire infrastructure for prod is reverted to a known good state from a few days ago. This was done with:

+
./deploy.py prod data8 25abea764121953538713134e8a08e0291813834
+

25abea764121953538713134e8a08e0291813834 is the commit hash of a known good commit from March 19. Our disciplined adherence to immutable & reproducible deployment paid off, and we were able to restore new servers to working order with this!

+

Students are now able to resume working after a server restart. A mass restart is also performed to aid this.

+

Dev is left in a broken state in an attempt to debug.

+
+
+

09:48

+

A core Jupyter Notebook dev at BIDS attempts to debug the problem, since it seems to be with the notebook itself and not with JupyterHub.

+
+
+

11:08

+

Core Jupyter Notebook dev confirms that this makes no sense.

+
+
+

14:55

+

Attempts to isolate the bug start again, mostly by using git bisect to deploy different versions of our infrastructure to dev until we find what broke.

+
+
+

15:30

+

https://github.com/data-8/jupyterhub-k8s/pull/146 is identified as the culprit. It continues to not make sense.

+
+
+

17:25

+

A very involved and laborious revert of the offending part of the patch is done in https://github.com/jupyterhub/kubespawner/pull/37. Core Jupyter Notebook dev continues to confirm this makes no sense.

+

https://github.com/data-8/jupyterhub-k8s/pull/152 is also merged, and deployed shortly after verifiying that everything (including starting kernels & executing code) works fine on dev. Deployed to prod and everything is fine.

+
+
+
+

Conclusion

+

Insufficient testing procedures caused a new kind of outage (kernel dying) that we had not seen before. However, since our infrastructure was immutable & reproducible, our outage really only lasted about 40 minutes (from start of lab when students were starting containers until the revert). Deeper debugging produced a fix, but attempts to understand why the fix works are ongoing.

+

Update: We have found and fixed the underlying issue

+
+
+

Action items

+
+

Process

+
    +
  1. Document and formalize the testing process for post-deployment checks.
  2. +
  3. Set a short timeout (maybe ten minutes?) after which investigation temporarily stops and we revert our deployment to a known good state.
  4. +
+
+
+

Upstream KubeSpawner

+
    +
  1. Continue investigating https://github.com/jupyterhub/kubespawner/issues/31, which was the core issue that prompted the changes that eventually led to the outage.
  2. +
+ + +
+
+ +
+ +
+ + + + + \ No newline at end of file diff --git a/incidents/2017-04-03-cluster-full-incident.html b/incidents/2017-04-03-cluster-full-incident.html new file mode 100644 index 000000000..e2f3d9e93 --- /dev/null +++ b/incidents/2017-04-03-cluster-full-incident.html @@ -0,0 +1,931 @@ + + + + + + + + + + +Custom autoscaler does not scale up when it should + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ +
+ + +
+ + + +
+ +
+
+

Custom autoscaler does not scale up when it should

+
+ + + +
+ + +
+
Published
+
+

April 3, 2017

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

Summary

+

On April 3, 2017, as students were returning from spring break, the cluster wasn’t big enough in time and several students had errors spawning. This was because the simple-autoscaler was ‘stuck’ on a populate call. More capacity was manually added, the pending pods were deleted & this seemed to fix the outage.

+
+
+

Timeline

+
+

Over spring break week

+

The cluster is scaled down to a much smaller size (7 machines), and the simple scaler is left running.

+
+
+

2017-04-03 11:32

+

Students report datahub isn’t working on Piazza, and lots of Pods in PENDING state.

+

Doing a kubectl --namespace=datahub describe pod <pod-name> said the pod was unschedulable because there wasn’t enough RAM in the cluster. This clearly implied the cluster wasn’t big enough.

+

Looking at the simple scaler shows it was ‘stuck’ at a populate.bash call, and wasn’t scaling up fast enough.

+
+
+

11:35

+

The cluster is manually scaled up to 30 nodes:

+
gcloud compute instance-groups managed resize gke-prod-highmem-pool-0df1a536-grp --size=30
+

At the same time, pods stuck in Pending state are deleted so they don’t become ghost pods, with:

+
kubectl --namespace=datahub get pod | grep -v Running | grep -P 'm$' | awk '{print $1;}' | xargs -L1 kubectl --namespace=datahub delete pod
+
+
+

11:40

+

The nodes have come up, so a populate.bash call is performed to pre-populate all user container images on the new nodes.

+

Users in Pending state are deleted again.

+
+
+

11:46

+

The populate.bash call is complete, and everything is back online!

+
+
+
+

Conclusion

+

Our simple scaler didn’t scale up fast enough when a large number of students came back online quickly after a time of quiet (spring break). Took a while for this to get noticed, and manual scaling fixed everything.

+
+
+

Action items

+
+

Process

+
    +
  1. When coming back from breaks, pre-scale the cluster back up.
  2. +
  3. Consider cancelling spring break.
  4. +
+
+
+

Monitoring

+
    +
  1. Have monitoring for pods stuck in non-Running states
  2. +
+ + +
+
+ +
+ +
+ + + + + \ No newline at end of file diff --git a/incidents/2017-05-09-gce-billing.html b/incidents/2017-05-09-gce-billing.html new file mode 100644 index 000000000..3151ccfae --- /dev/null +++ b/incidents/2017-05-09-gce-billing.html @@ -0,0 +1,902 @@ + + + + + + + + + + +Oops we forgot to pay the bill + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ +
+ + +
+ + + +
+ +
+
+

Oops we forgot to pay the bill

+
+ + + +
+ + +
+
Published
+
+

May 9, 2017

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

Summary

+

On May 9, 2017, the compute resources associated with the data-8 project at GCE were suspended. All hubs including datahub, stat28, and prob140 were not reachable. This happened because the grant that backed the project’s billing account ran out of funds. The project was moved to a different funding source and the resources gradually came back online.

+
+
+

Timeline

+
+

2017-05-09 16:51

+

A report in the Data 8 Spring 2017 Staff slack, #jupyter channel, says that datahub is down. This is confirmed. Attempting to access the provisioner via gcloud compute ssh provisioner-01 fails with:

+

ERROR: (gcloud.compute.ssh) Instance [provisioner-01] in zone [us-central1-a] has not been allocated an external IP address yet. Try rerunning this command later.

+
+
+

17:01

+

The Google Cloud console shows that the billing account has run out of the grant that supported the data-8 project. The project account is moved to another billing account which has resources left.

+

The billing state is confirmed by gcloud messages:

+
Google Compute Engine: Project data-8 cannot accept requests to setMetadata while in an inactive billing state.  Billing state may take several minutes to update.
+
+
+

17:09

+

provisioner-01 is manually started. All pods in the datahub namespace are deleted.

+
+
+

17:15

+

datahub is back online. stat28 and prob140 hub pods are manually killed. After a few moments the hubs are back online. The autoscaler is started.

+
+
+

17:19

+

The slack duplicator is started.

+
+
+

2017-05-10 10:48

+

A report in uc-jupyter #jupyterhub says that try.datahub is down. This is confirmed and the hub in the tmp namespace is killed. The hub comes online a couple of minutes later.

+
+
+
+

Conclusion

+

There was insufficient monitoring of the billing status.

+
+
+

Action items

+
+

Process

+
    +
  1. Identify channels for billing alerts.
  2. +
  3. Identify billing threshold functions that predict when funds will run out.
  4. +
  5. Establish off-cloud backups. The plan is to do this via nbgdrive.
  6. +
  7. Start autoscaler automatically. It is manually started at the moment.
  8. +
+
+
+

Monitoring

+
    +
  1. Setup scheduled billing reports and threshold alarms.
  2. +
  3. Setup hub monitoring!
  4. +
  5. The slack duplicator runs in one of the GCP clusters. When the clusters go down, slack messages aren’t forwarded from the data8-sp17-staff slack to uc-jupyter.
  6. +
+ + +
+
+ +
+ +
+ + + + + \ No newline at end of file diff --git a/incidents/2017-10-10-hung-nodes.html b/incidents/2017-10-10-hung-nodes.html new file mode 100644 index 000000000..479fb2709 --- /dev/null +++ b/incidents/2017-10-10-hung-nodes.html @@ -0,0 +1,927 @@ + + + + + + + + + + +Docker dies on a few Azure nodes + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ +
+ + +
+ + + +
+ +
+
+

Docker dies on a few Azure nodes

+
+ + + +
+ + +
+
Published
+
+

October 10, 2017

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

Summary

+

On Oct 10, 2017, some user pods were not starting or terminating correctly. After checking node status, it was found that all affected pods were running on two specific nodes. The docker daemon wasn’t responsive on these nodes so they were cordoned off. User pods were then able to start correctly.

+
+
+

Timeline

+
+

2017-05-09 10:45a

+

A report in the course Piazza said that two students couldn’t start their servers. The /hub/admin interface was not able to start them either. It was reported that the students may have run out of memory.

+
+
+

12:29p

+

The user pods were stuck in Terminating state and would not respond to explicit delete. The pods were forcefully deleted with kubectl --namespace=prod delete pod jupyter-<name> --grace-period=0 --force. The user pods started correctly via /hub/admin.

+
+
+

13:27

+

It was reported in the course slack that another student’s server wasn’t starting correctly. After checking one of the pod logs, it was observed that the node hosting the pods, k8s-pool1-19522833-13, was also hosting many more pods stuck in a Terminating state. docker ps was hanging on that node. The node was cordoned.

+
+
+

13:42

+

It was reported in slack that the student’s server was able to start.

+

By this time, the cluster was checked for all pods to see if any other nodes were hosting an unusual number of pods in Terminating. It was found that k8s-pool2-19522833-9 was in a similar state. All stuck pods on that node were forcefully deleted and the node was also cordoned. docker ps was hung on that node too. pool2-…-9 had a load of 530 while pool1-…-13 had a load of 476. On the latter, hypercube was at 766% cpu utilization while it was nominal on the former. Node pool1-…-13 was rebooted from the shell however it did not come back online. The node was manually restarted from the Azure portal but it still didn’t come back.

+

A node previously cordoned on another day, pool1-…-14, was rebooted. It came back online and was uncordoned.

+
+
+

13:51

+

Some relevant systemctl status docker logs were captured from pool2-…-9:

+
Oct 10 20:55:30 k8s-pool2-19522833-9 docker[1237]: time="2017-10-10T20:55:30.790401257Z" level=error msg="containerd: start container" error="containerd: container did not start before the specified timeout" id=abd267ef08b4a4184e19307be784d62470f9a713b59e406249c6cdf0bb333260
+Oct 10 20:55:30 k8s-pool2-19522833-9 docker[1237]: time="2017-10-10T20:55:30.790923460Z" level=error msg="Create container failed with error: containerd: container did not start before the specified timeout"
+Oct 10 20:55:30 k8s-pool2-19522833-9 docker[1237]: time="2017-10-10T20:55:30.810309575Z" level=error msg="Handler for POST /v1.24/containers/abd267ef08b4a4184e19307be784d62470f9a713b59e406249c6cdf0bb333260/start returned error: containerd: container did not start before the specified timeout"
+Oct 10 20:55:36 k8s-pool2-19522833-9 docker[1237]: time="2017-10-10T20:55:36.146453953Z" level=error msg="containerd: start container" error="containerd: container did not start before the specified timeout" id=2ba6787503ab6123b509811fa44c7e42986de0b800cc4226e2ab9484f54e8741
+Oct 10 20:55:36 k8s-pool2-19522833-9 docker[1237]: time="2017-10-10T20:55:36.147565759Z" level=error msg="Create container failed with error: containerd: container did not start before the specified timeout"
+Oct 10 20:55:36 k8s-pool2-19522833-9 docker[1237]: time="2017-10-10T20:55:36.166295370Z" level=error msg="Handler for POST /v1.24/containers/2ba6787503ab6123b509811fa44c7e42986de0b800cc4226e2ab9484f54e8741/start returned error: containerd: container did not start before the specified timeout"
+Oct 10 20:55:36 k8s-pool2-19522833-9 docker[1237]: time="2017-10-10T20:55:36.169360588Z" level=error msg="Handler for GET /v1.24/containers/json returned error: write unix /var/run/docker.sock->@: write: broken pipe"
+Oct 10 20:55:36 k8s-pool2-19522833-9 dockerd[1237]: http: multiple response.WriteHeader calls
+Oct 10 20:55:36 k8s-pool2-19522833-9 docker[1237]: time="2017-10-10T20:55:36.280209444Z" level=error msg="Handler for GET /v1.24/containers/610451d9d86a58117830ea7c0189f6157ba9a9602739ee23723e923de8c7e23e/json returned error: No such container: 610451d9d86a58117830ea7c0189f6157ba9a9602739ee23723e923de8c7e23e"
+Oct 10 20:55:39 k8s-pool2-19522833-9 docker[1237]: time="2017-10-10T20:55:39.095888009Z" level=error msg="Handler for GET /v1.24/containers/54b64ca3c1e7ef4a04192ccdaf1cb9309d73acebd7a08e13301f3263de3d376a/json returned error: No such container: 54b64ca3c1e7ef4a04192ccdaf1cb9309d73acebd7a08e13301f3263de3d376a"
+
+
+

14:00

+
datahub@k8s-pool2-19522833-9:~$ ps aux | grep exe | wc -l
+520
+datahub@k8s-pool2-19522833-9:~$ ps aux | grep exe | head -5
+root        329  0.0  0.0 126772  9812 ?        Dsl  00:36   0:00 /proc/self/exe init
+root        405  0.0  0.0  61492  8036 ?        Dsl  00:36   0:00 /proc/self/exe init
+root        530  0.0  0.0 127028  8120 ?        Dsl  00:36   0:00 /proc/self/exe init
+root        647  0.0  0.0 127028  8124 ?        Dsl  13:07   0:00 /proc/self/exe init
+root        973  0.0  0.0  77884  8036 ?        Dsl  13:10   0:00 /proc/self/exe init
+
+
+

14:30

+

pool1-…-13 was manually stopped in the Azure portal, then manually started. It came back online afterwards and docker was responsive. It was uncordoned.

+

pool2-…-9 was manually stopped in the Azure portal.

+
+
+

14:45

+

pool2-…-9 completed stopping and was manually started in the Azure portal.

+
+
+

17:25

+

It was observed that /var/lib/docker on pool1-19522833-13/10.240.0.7 was on / (sda) and not on /mnt (sdb).

+
+
+
+

Conclusion

+

Docker was hung on two nodes, preventing pods from starting or stopping correctly.

+
+
+

Action items

+
+

Process

+
    +
  1. When there are multiple reports of student servers not starting or stopping correctly, check to see if the user pods were run on the same node(s).
  2. +
  3. Determine how many nodes are not mounting /var/lib/docker on sdb1.
  4. +
+
+
+

Monitoring

+
    +
  1. Look for elevated counts of pods stuck in Terminating state. For example, kubectl --namespace=prod get pod -o wide| grep Terminating
  2. +
+ + +
+
+ +
+ +
+ + + + + \ No newline at end of file diff --git a/incidents/2017-10-19-course-subscription-canceled.html b/incidents/2017-10-19-course-subscription-canceled.html new file mode 100644 index 000000000..40ac7788a --- /dev/null +++ b/incidents/2017-10-19-course-subscription-canceled.html @@ -0,0 +1,923 @@ + + + + + + + + + + +Billing confusion with Azure portal causes summer hub to be lost + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ +
+ + +
+ + + +
+ +
+
+

Billing confusion with Azure portal causes summer hub to be lost

+
+ + + +
+ + +
+
Published
+
+

October 19, 2017

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

Summary

+

On October 10, 2017, the cloud vendor notified ds-instr that the data8r-17s subscription was canceled due to its end date, and we had 90 days to reactivate it using the educator portal. A support ticket was created to reverse the cancellation since the educator portal did not permit reactivation. On October 18 we were notified that the subscription’s resources were deleted.

+

Coincidentally, a script was written on Oct. 9 to backup data to ds-instr’s Google Drive and it was performed for the instructor as a test. Unfortunately it wasn’t run for all users before the resources were taken offline.

+
+
+

Timeline

+
+

2017-10-10 9:06a

+

ds-instr received an email from the cloud vendor:

+
+

The following subscriptions under your [cloud vendor] sponsorships for ds-instr@berkeley.edu have recently become canceled. Because these subscription(s) are canceled, all services have been suspended but no data has been lost. You have 90 days from the date of cancellation before [the cloud vendor] will delete the subscription and all attached data. Please use the Educator Portal to reactivate the subscription(s).

+
+ + + + + + + + + + + + + + + +
Subscription NameSubscription IdCanceled Reason
data8r-17somitted hereSubscription End Date
+
+
+

9:30

+

The instructor was notified. The educator portal did not provide a way to view or alter the subscription end date of a canceled subscription so a support request was filed at the cloud vendor.

+
+
+

11:14

+

The cloud vendor asks that a payment instrument be added to the ds-instr account. We respond that the account is funded by a sponsorship.

+
+
+

17:22

+

The cloud vendor contacts their sponsorship team.

+
+
+

2017-10-11 15:00

+

The cloud vendor calls to discuss the situation. Screenshots of the educator and cloud portal were sent to the cloud vendor.

+
+
+

2017-10-12 16:19

+

The cloud vendor offers to enable the subscription for a 60 minute period from the backend so that the End Date may be extended from the portal. Though the subscription is re-enabled for an hour, the portal still does not permit the subscription parameters to be changed.

+
+
+

2017-10-18 15:29

+

The cloud vendor says that the subscription was actually disabled because it had exhausted the allocated funds, and the data was deleted within 24 hours despite the stated 90 day grace period. Later the following was provided by the cloud vendor:

+
+

I worked with our backend engineering team last night and I am afraid to say that we could not retrieve the storage account after all our sincere efforts. I understand how frustrating it would be for you and I do not have the words to express the same, I just wish if I could be of some help to you.

+

Having said that we did dig into the reasons behind this situation, the subscription was initially suspended by an internal engineering job occurred that auto-suspended all Academic Account Sponsorship subscriptions with an end date that was part of the previous fiscal year. Usually this suspension does not delete the subscription. There are a few [cloud vendor] accounts which are on legacy commerce platform which are affected and these accounts are in the process of modern platform. Your account was in the transition mode when the subscription got suspended and your account was partially converted to the modern platform. The billing & subscription part was converted to the modern platform but the not at the service level. Hence you got the message that your data would be retained for 90 days, at the same stated at the service level it was not converted to the modern hence the data got deleted.

+

I had a detailed discussion with our product group team on this and how we can avoid this in future. First of all, your account is now completely migrated/transitioned completely to the modern platform. Also, to ensure that our other Academic Account Sponsorships customers do not face the same issue they have agreed to complete the migration manually on those accounts.

+
+
+
+

2017-10-19 10:53

+

The cloud vendor compensates ds-instr with an additional $10k for the experience.

+
+
+
+

Conclusion

+

There were insufficient funds on the subscription to persist its resources. The resources were deleted by the cloud vendor before the grace period ran out.

+
+
+

Action items

+
+

Process

+
    +
  1. Until there is a per-user backup implemented hub-side, set a schedule for backing up user data for every course.
  2. +
  3. Always set a billing alert at some conservative amount less than the subscription alotment
  4. +
  5. If a subscription is ever canceled, backup user data within 24 hours, regardless of the stated grace period.
  6. +
+ + +
+
+ +
+ +
+ + + + + \ No newline at end of file diff --git a/incidents/2018-01-25-helm-chart-upgrade.html b/incidents/2018-01-25-helm-chart-upgrade.html new file mode 100644 index 000000000..14a9cf822 --- /dev/null +++ b/incidents/2018-01-25-helm-chart-upgrade.html @@ -0,0 +1,883 @@ + + + + + + + + + + +Accidental merge to prod brings things down + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ +
+ + +
+ + + +
+ +
+
+

Accidental merge to prod brings things down

+
+ + + +
+ + +
+
Published
+
+

January 25, 2018

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

Summary

+

On January 25, 2018, a new version of the helm chart was installed on the staging hub. It was not immediately merged to production because there were active labs throughout the day. While preparing another course’s hub via Travis CI, the Data 8 change was accidentally merged from staging to production. This production hub went down because the new helm chart’s jupyterhub image was broken.

+
+
+

Timeline

+
+

2018-01-25 14:30

+

The helm chart for datahub was upgraded to a beta of v0.6 to make use of a new image puller. This was merged into the staging branch. After some initial debugging, the helm chart was installed successfully and the image puller worked correctly. However, the staging hub was not tested.

+

Since labs were scheduled throughout the day until 7p, it was decided to delay the upgrade of the production hub until after 7p.

+
+
+

15:30

+

While a different hub was being managed in Travis CI, the production hub for Data 8 was accidentally upgraded. This upgrade brought with it the faulty hub image from staging which wasn’t working.

+
+
+

16:11

+

GSIs report in slack that the hub is down for lab users. It is confirmed that the hub process has crashed due to a shared C library included from a python library. It is decided that the quickest way to bring the hub back up is to downgrade the helm-chart back to v0.5.0.

+
+
+

16:35

+

The chart is installed into the staging repo, merged to staging, and checked on the staging hub. It is then merged into production and brought online there.

+
+
+
+

Conclusion

+

A relatively large change was made to the hub configuration with insufficient testing on the staging server. This was compounded when the change was accidentally merged to production.

+
+
+

Action items

+
+

Process

+
    +
  1. Admins should refamiliarize themselves with the deployment policy to check the staging hub before changes are merged to production.
  2. +
  3. Determine if there is a way to block merges to production if the staging hub is not online.
  4. +
  5. Determine if there is a way to contextualize the Travis CI interface so that it is obvious which deployment is being managed.
  6. +
+ + +
+
+ +
+ +
+ + + + + \ No newline at end of file diff --git a/incidents/2018-01-26-hub-slow-startup.html b/incidents/2018-01-26-hub-slow-startup.html new file mode 100644 index 000000000..e710e329a --- /dev/null +++ b/incidents/2018-01-26-hub-slow-startup.html @@ -0,0 +1,894 @@ + + + + + + + + + + +Hub starts up very slow, causing outage for users + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ +
+ + +
+ + + +
+ +
+
+

Hub starts up very slow, causing outage for users

+
+ + + +
+ + +
+
Published
+
+

January 26, 2018

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

Summary

+

On January 26, 2018, a new version of the helm chart was being installed on the production hub. Though the pod prepuller worked fine on the staging cluster, the prepuller never successfully finished on prod. This caused the CI to error because helm ran for too long. Additionally, the hub was taking a very long time to check user routes. After users were deleted in the hub’s orm and the hub was restarted, it came back up fairly quickly.

+
+
+

Timeline

+
+

2018-01-26 15:00

+

The helm chart for datahub was upgraded to a beta of v0.6 to make use of a new image puller. This was merged into the staging branch, successfully tested on the staging, and passed CI checks on prod. It was then merged to prod.

+
+
+

15:15

+

helm times out because the prepuller never completes. It is determined that the master node on staging is cordoned while the master node on prod is not and has:

+
taints:
+  - effect: NoSchedule
+    key: node-role.kubernetes.io/master
+    timeAdded: null
+    value: "true"
+

The master is cordoned on prod and a new build is started in CI.

+
+
+

15:33

+

After CI times out again due to the prepuller, it is discovered that the master node has been uncordoned. Though the hub and proxy pods restart, the hub is taking a very long time to check user routes. It is slower than the most recent hub restart which was itself slow enough to warrant a new issue on jupyterhub, https://github.com/jupyterhub/jupyterhub/issues/1633.

+
+
+

13:40

+

It is decided that the most expedient way to get the hub up is to delete users from the orm.

+
+
+

13:50

+

The following command is run after the database is backed up:

+

delete from users where users.id in (select users.id from users join spawners on spawners.user_id = users.id where server_id is null);

+

deleting 4902 records. The hub pod is deleted and the hub comes up shortly after.

+
+
+
+

Conclusion

+

At 5000, the hub takes long enough to restart to inconvenience the number of active users at any one time.

+
+
+

Action items

+
+

Process

+
    +
  1. The prepuller should be fixed so that helm does not time out.
  2. +
  3. The hub route checking should be parallelized so that startup is not slow.
  4. +
  5. The staging hub should be seeded with users so that scaling issues can be exposed prior to reaching production.
  6. +
+ + +
+
+ +
+ +
+ + + + + \ No newline at end of file diff --git a/incidents/2018-02-06-hub-db-dir.html b/incidents/2018-02-06-hub-db-dir.html new file mode 100644 index 000000000..d88b591d2 --- /dev/null +++ b/incidents/2018-02-06-hub-db-dir.html @@ -0,0 +1,885 @@ + + + + + + + + + + +Azure PD refuses to detach, causing downtime for data100 + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ +
+ + +
+ + + +
+ +
+
+

Azure PD refuses to detach, causing downtime for data100

+
+ + + +
+ + +
+
Published
+
+

February 6, 2018

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

Summary

+

On February 5, 2018, a PR was merged into the production cluster for Data 100. The CI got as far as running helm upgrade but the hub’s persistent volume would not detach from the old hub. The new hub pod had to wait on the hub-db-dir volume and so would not start. The persistent volume claim was ultimately deleted. The subsequent helm upgrade created a new volume and a new hub pod was able to start.

+
+
+

Timeline

+
+

2018-02-05 20:57

+

A PR for data100 is merged.

+
+
+

21:20

+

Towards the end of the build, the upgrade fails because the new hub pod does not start up. The hub-db-dir volume remains bound to the old hub pod which is stuck in a Terminating state. The hub pod only completes termination when delete is passed a grace period of 0. The hub volume remains bound however.

+
+
+

21:30

+

CI is restarted but by the time helm is run, the hub-db-dir volume remains bound and cannot be attached to the new hub pod. Additionally, helm errors because the jupyterhub-internal ingress object cannot be found even though it does exist.

+
+
+

21:45

+

Since it cannot be determined what node the volume is bound to, the volume is deleted. The jupyterhub-internal ingress object is also deleted prior to restarting the CI build.

+
+
+

22:05

+

The hub comes up with a new hub-db-dir volume. CI fails due to the same jupyterhub-internal object error.

+
+
+
+

Conclusion

+

Azure was not able to detach the hub-db-dir azure disk from the hub pod. The pvc is deleted and the hub comes up on the next CI run.

+
+
+

Action items

+
+

Process

+
    +
  1. Store the hub db in a cloud database to eliminate reliance on hub volume.
  2. +
  3. Downgrade helm to 2.6.x to see if this fixes the helm upgrades.
  4. +
+ + +
+
+ +
+ +
+ + + + + \ No newline at end of file diff --git a/incidents/2018-02-28-hung-node.html b/incidents/2018-02-28-hung-node.html new file mode 100644 index 000000000..2d55ef8da --- /dev/null +++ b/incidents/2018-02-28-hung-node.html @@ -0,0 +1,880 @@ + + + + + + + + + + +A node hangs, causing a subset of users to report issues + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ +
+ + +
+ + + +
+ +
+
+

A node hangs, causing a subset of users to report issues

+
+ + + +
+ + +
+
Published
+
+

February 28, 2018

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

Summary

+

On February 28, 2018, a handful of users reported on piazza that there servers wouldn’t start. It was determined that all problematic servers were running on the same node. After the node was cordoned and rebooted, the student servers were able to start properly.

+
+
+

Timeline

+
+

2018-02-28 21:21

+

Three students report problems starting their server on piazza and a GSI links to the reports on slack. More reports come in by 21:27.

+
+
+

21:30

+

The infrastructure team is alerted to the problem. The command kubectl --namespace=prod get pod -o wide | egrep -v -e prepull -e Running shows that all non-running pods were scheduled on the same node. Most of the pods have an “Unknown” status while the rest are in “Terminating”. The oldest problematic pod is 29m.

+
+
+

21:34

+

The node k8s-pool1-19522833-9 is cordoned. It has a load of about 90 with no processes consuming much CPU. The node is rebooted via sysrq trigger. The hung pods remain stuck.

+
+
+

21:39

+

When the node comes back online, kubectl reports no more hung pods. Students are able to start their servers.

+
+
+
+

Conclusion

+

A problematic VM prevented nodes from launching pods. Once the VM was cordoned and rebooted, pods launch without trouble.

+
+
+

Action items

+
+

Process

+
    +
  1. Monitor the cluster for non-running pods and send an alert if the count exceeds a threshold or if the non-running pods are clustered on the same node(s).
  2. +
+ + +
+
+ +
+ +
+ + + + + \ No newline at end of file diff --git a/incidents/2018-06-11-course-subscription-canceled.html b/incidents/2018-06-11-course-subscription-canceled.html new file mode 100644 index 000000000..72a08a4b7 --- /dev/null +++ b/incidents/2018-06-11-course-subscription-canceled.html @@ -0,0 +1,904 @@ + + + + + + + + + + +Azure billing issue causes downtime + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ +
+ + +
+ + + +
+ +
+
+

Azure billing issue causes downtime

+
+ + + +
+ + +
+
Published
+
+

June 11, 2018

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

Summary

+

On June 11, 2018, the cloud vendor notified ds-instr that the data8-17f-prod subscription was canceled due to its usage cap. The educator portal confirmed that the spend had surpassed the budget. After additional funds were allocated to the subscription, a portion of the VMs were manually started. The hub came back online after pods were forcibly deleted and nodes were cordoned.

+
+
+

Timeline

+
+

2018-06-11 9:02a

+

ds-instr received an email from the cloud vendor:

+
+

The following subscriptions under your Microsoft Azure sponsorships for ds-instr@berkeley.edu have recently become canceled. Because these subscription(s) are canceled, all services have been suspended but no data has been lost. You have 90 days from the date of cancellation before Microsoft will delete the subscription and all attached data. Please use the Educator Portal to reactivate the subscription(s).

+
+ + + + + + + + + + + + + + + +
Subscription NameSubscription IdCanceled Reason
data8-17f-prodomitted hereSubscription Cap
+
+
+

9:29

+

The subscription status was confirmed at https://www.microsoftazuresponsorships.com/Manage. In order to allocate additional budget to data8-17f-prod, budget for other subscriptions had to be reduced.

+
+
+

9:40

+

VMs were turned on at https://portal.azure.com: 3 nodes in each node pool, the nfs server, the kubernetes master, and the database server.

+
+
+

9:45

+

The hub was unreachable even though the VMs were online. The hub and proxy pods were shown as Running and all nodes were shown as online even though some nodes had not been started. The offline cluster nodes were manually cordoned. All pods had to be forcibly deleted before they would start.

+
+
+

10:14

+

The Billing Alert Service was checked at https://account.azure.com/Subscriptions/alert?subscriptionId=06f94ac5-b029-411f-8896-411f3c6778b4 and it was discovered that alerts were no longer registered.

+
+
+
+

Conclusion

+

There were insufficient funds on the subscription to persist its resources. The subscription budget was increased and the hub was brought back online. The billing alert service that was configured to prevent such incidents did not function properly.

+
+
+

Action items

+
+

Process

+
    +
  1. Do not use subscription portal billing alerts.
  2. +
  3. Manually check subscription usage via an unattended process.
  4. +
+ + +
+
+ +
+ +
+ + + + + \ No newline at end of file diff --git a/incidents/2019-02-25-k8s-api-server-down.html b/incidents/2019-02-25-k8s-api-server-down.html new file mode 100644 index 000000000..b82cc1815 --- /dev/null +++ b/incidents/2019-02-25-k8s-api-server-down.html @@ -0,0 +1,928 @@ + + + + + + + + + + +Azure Kubernetes API Server outage causes downtime + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ +
+ + +
+ + + +
+ +
+
+

Azure Kubernetes API Server outage causes downtime

+
+ + + +
+ + +
+
Published
+
+

February 25, 2019

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

Summary

+

On February 25, 2019, the kubernetes API server for data100 became unreachable, causing new resource creation requests to fail. When the hub pod was stopped, a new one did not get created leading users to see a proxy error message. The hub came back online after a new cluster was created, storage was migrated to the new cluster, and then DNS was updated.

+
+
+

Timeline

+
+

2019-02-25 11:21a

+

The kubernetes API server became unavailable. The time of this event was determine post mortem via the cloud provider’s monitoring metrics.

+
+
+

11:34

+

Infrastructure staff is notified in slack. It is determined that the hub proxy is up, but kubectl fails for all operations. The API server is unreachable.

+
+
+

11:57

+

A C ticket is created via the cloud provider’s portal. There are no other reports on the cloud provider’s status page. Infrastructure staff consider creating a new cluster and attaching storage to it.

+
+
+

12:28p

+

An email is sent to contacts with the cloud provider asking for the ability to escalate the issue. C tickets have 8 hour response times.

+
+
+

12:40

+

It is decided that rather than moving the nfs server from one cluster to another, the ZFS pool should be migrated to a new nfs server in the new cluster. The new cluster is requested.

+
+
+

12:43 - 12:49

+

Cloud provider responds and calls infrastructure staff.

+
+
+

13:00

+

The cluster is created and a new nfs server is requested in the cluster’s resource group.

+
+
+

13:10

+

Data volumes are detached from the old server and moved from the old cluster’s resource group to the new one.

+
+
+
+

13:20

+

The ZFS pool is imported into the new nfs server. helm is run to create the staging hub.

+
+
+

13:34

+

helm completes and the staging hub is up. DNS is updated. helm is run to create the prod hub.

+
+
+

13:41

+

prod hub is up and DNS is updated.

+
+

13:46

+

Cloud provider asks their upstream why the API server went down.

+
+
+

14:48

+

letsencrypt on prod can successfully retrieve an SSL certificate enabling students to connect.

+
+
+
+

Conclusion

+

The managed kubernetes service went down for as yet unknown reasons. A new cluster was created and existing storage was attached to it.

+
+
+

Action items

+
+

Monitoring

+
    +
  1. Remotely monitor the API server endpoint and send an alert when it is down.
  2. +
+
+
+
+

Update

+

Cloud provider’s response on 3/15/2019:

+
+

After reviewing all the logs we have, our backend advised below.

+
+

We’ve identified that there were problems with the infrastructure hosting your cluster which caused the kubelet on the master stopped responding. There were alerts regarding this issue which were addressed by our teams. We’re working to reduce the impact of these events as much as possible.

+
+

Please be advised this is not related with region stability

+

Feel free to let me know if any further questions and thanks for your patience.

+
+ + +
+ +
+ +
+ + + + + \ No newline at end of file diff --git a/incidents/2019-05-01-service-account-leak.html b/incidents/2019-05-01-service-account-leak.html new file mode 100644 index 000000000..9700b1854 --- /dev/null +++ b/incidents/2019-05-01-service-account-leak.html @@ -0,0 +1,883 @@ + + + + + + + + + + +Service Account key leak incident + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ +
+ + +
+ + + +
+ +
+
+

Service Account key leak incident

+
+ + + +
+ + +
+
Published
+
+

May 1, 2019

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

Summary

+

Service account keys that granted restricted access to some of our cloud services were inadvertently leaked on GitHub. Google immediately notified us in seconds, and the credentials were revoked within the next few minutes.

+
+
+

Impact

+

Deployments are paused until this was fixed.

+
+
+

Timeline

+
+

May 1 2019, 3:18 PM

+

A template + documentation for creating new hubs easily is pushed to GitHub as a pull request. This inadvertantly contained live credentials for pushing & pulling our (already public) docker images, and for access to our kubernetes clusters.

+

Google immediately notified us via email within seconds that this might be a breach.

+
+
+

3:19 PM

+

Discussion and notification starts in slack about dealing with the issue.

+
+
+

3:27 PM

+

Both keys are revoked so they are no longer valid credentials.

+
+
+

3:36 PM

+

All in-use resources are checked, and verified to not be compromised by automated bots looking for leaked accounts.

+
+
+

3:40 PM

+

An email is sent out to all owners of the compromised project (ucb-datahub-2018) giving an all-clear.

+
+
+
+

Action items

+
    +
  1. Don’t duplicate service key credentials across multiple hubs. Issue

  2. +
  3. Switch to a different secret management strategy than what we have now. Issue

  4. +
+ + +
+ +
+ +
+ + + + + \ No newline at end of file diff --git a/incidents/2022-01-20-package-dependency-upgrade-incident.html b/incidents/2022-01-20-package-dependency-upgrade-incident.html new file mode 100644 index 000000000..2d99d40e9 --- /dev/null +++ b/incidents/2022-01-20-package-dependency-upgrade-incident.html @@ -0,0 +1,962 @@ + + + + + + + + + + +Hubs throwing 505 errors + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ +
+ + +
+ + + +
+ +
+
+

Hubs throwing 505 errors

+
+ + + +
+ + +
+
Published
+
+

January 20, 2022

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

Summary

+

PR 1 and PR 2 were merged to prod between 2 AM and 2.30 AM PST on 1/20. Difference due to the commits can be viewed here

+

Due to these changes, image rebuild happened which broke multiple hubs which used that image including Datahub, ISchool, R, Data 100 and Data 140 hubs.

+

One of the dependenices highlighted as part of the image build had an upgrade which resulted in R hub throwing 505 error and Data 100/140 hub throwing “Error starting Kernel”. [Yuvi to fill in the right technical information]

+

User Impact:

+ +
    +
  • R Hub was not accessible for about 6 hours. Issue affected 10+ Stat 20 GSIs planning for their first class of the semester (catering to the needs of 600+ students). Hub went down for few minutes during the instruction.
  • +
  • Prob 140 hub was not available till 12.15 AM PST
  • +
  • Data 100 hub was not available till 12.33 AM. Thankfully, assignments were not due till friday (1/21)
  • +
  • Few users in Ischool were affected as they could not access R Studio
  • +
+
+
+

Hub information

+
    +
  • Hub URL: https://r.datahub.berkeley.edu/ and most other hubs highlighted above
  • +
+
+
+

Timeline (if relevant)

+
+

{{ 2022-01-20 Between 02:00 and 02.30 PM }}

+

PR 1 and PR 2 were merged to prod. Notably, PR 1 had multiple commits related to creation of Stat 20 hub, Stat 259 hub etc..

+
+
+

{{ 06:10 }}

+

Andrew Bray (Stat 20 instructor) raised a github issue around 5.45 AM PST.

+
+
+

{{ 07:45 }}

+

Yuvi quickly jumped in to make a fix to get the R hub working. However this fix resulted in breaking Stat 20 hub.

+
+
+

{{ 07:53 }}

+

ISchool folks reported issues with using RStudio in Datahub

+
+
+

{{ 08:45 }}

+

Yuvi fixed issue with Stat 20 and other hubs

+
+
+

{{ 12:10 }}

+

GSIs from Data 100 and 140 reported “Unhandled error” in their hubs

+
+
+

{{ 12:15 }}

+

GSIs for Data 140 hub reported that the error was fixed

+
+
+

{{ 12:33 }}

+

GSIs Data 100 hub reported that the error was fixed

+
+
+
+
+

After-action report

+

These sections should be filled out once we’ve resolved the incident and know what happened. They should focus on the knowledge we’ve gained and any improvements we should take.

+
+

What went wrong

+
    +
  • R, Stat 20, Datahub, ISchool, Data 100 and 140 hubs went down around 2.30 AM PST. However, the team was aware of these issues only when users reported errors at different time intervals (as listed above)
  • +
  • Multiple commits went through a single PR. Dependency package’s version upgrade broke the image build (Yuvi to fill in the required details)
  • +
+

Things that could have gone better. Ideally these should result in concrete action items that have GitHub issues created for them and linked to under Action items.

+
+
+

Where we got lucky

+

These are good things that happened to us but not because we had planned for them.

+
    +
  • Yuvi was awake at the time when issue was reported and was able to fix the issues immediately.
  • +
  • Classes using hubs were not completely affected due to this outage (Data 100 did not have assignments due till 1/21 and Stat 20 had few mins of outage during instruction)
  • +
+
+
+

Action items

+

These are only sample subheadings. Every action item should have a GitHub issue (even a small skeleton of one) attached to it, so these do not get forgotten. These issues don’t have to be in infrastructure/, they can be in other repositories.

+
+

Process/Policy improvements

+
    +
  1. {{Develop manual testing process whenever a PR gets merged to staging of the major hubs (till automated test suites are written)}} link to github issue]
  2. +
  3. Develop a policy around when to create a new hub and what type of changes get deployed to Datahub!
  4. +
+
+
+

Documentation improvements

+
    +
  1. {{ Start writing after action reports for future outages }} [link to github issue]
  2. +
  3. {{ summary }} [link to github issue]
  4. +
+
+
+

Technical improvements

+
    +
  1. {{ Enabling logging mechanism across all hubs to track future outages }}
  2. +
  3. {{ Adapt 2I2C testing suite to develop automated test cases that check the sanity of the different services whenever a PR gets merged in staging}} [link to github issue]
  4. +
  5. {{ Investigate the reason why pager duty did not throw an alert for 5xx errors when the hubs went down. Fix the alerting mechanism so that they notify all kind of errors }} [link to github issue]
  6. +
  7. {{ Adding R Studio as part of Repo2Docker}} [link to github issue]
  8. +
+
+
+
+

Actions

+
    +
  • +
  • +
  • +
  • +
+ + +
+
+ +
+ +
+ + + + + \ No newline at end of file diff --git a/incidents/2024-core-node-incidents.html b/incidents/2024-core-node-incidents.html new file mode 100644 index 000000000..079a7a784 --- /dev/null +++ b/incidents/2024-core-node-incidents.html @@ -0,0 +1,1010 @@ + + + + + + + + + + +Core nodes being autoscaled, configurable HTTP proxy crashes + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ +
+ + +
+ + + +
+ +
+
+

Core nodes being autoscaled, configurable HTTP proxy crashes

+
+ + + +
+ + +
+
Published
+
+

February 1, 2024

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

Summary

+

Over the past couple of years, all of our production hubs have been having persistent issues with our core nodes having major load spikes during ‘peak’ usage and the impacted node (which hosts all of our hub and proxy pods – not user pods) crashing. This would then impact every hub, causing all users to see 503 http errors until a new node finishing spinning up. We also suspect that the ‘white screen’ issue some users see after logging in is related to this.

+

These outages would usually last anywhere from 45 to 90+ minutes. The first chunk of time would be the core node getting wedged and eventually dying, and the last 15-20 minutes would be spent on the new node spinning up and services restarting.

+

Many of these incidents are tracked here.

+

We have spent much time working to debug and track this, including with our friends at 2i2c. After much deep-diving and debugging, we were able to narrow this down to a memory (socket?) leak in the configurable http proxy.

+

After some back and forth w/the upstream maintainers, we received a forked version of the proxy to test.

+

During this testing, we triggered some user-facing downtime, as well as the proxy itself crashing and causing small outages.

+

Another (unrelated) issue that impacted users was that GKE was autoscaling our core pool (where the hub and proxy pods run) node to zero. Since it takes about 10-15m for a new node to spin up, all hubs were inaccessible until the new node was deployed.

+

User Impact:

+ +
    +
  • On the afternoon of Feb 7th, I was testing the fork of the proxy + some revised timeouts on the Data 8 hub. This caused the proxy to crash every ~20m over the course of a few hours. I then reverted the fork and timeout changes.
  • +
  • During the latter half of February, our core pool was being autoscaled from 1 to 0 nodes. This caused multiple short outages.
  • +
  • The proxy pods for Data 8 and Data 100 (our largest classes) crashed continually under load (~250+ simultaneous users), causing users to receive 500 HTTP errors until the pod automatically restarted.
  • +
+
+
+

Hub information

+ +
+
+

Timeline

+
+

2024-03-05 Data8 outage

+

between ~4pm and ~5:15pm, data8’s configurable-http-proxy (chp) was oomkilled and caused many 503 errors to be issued to the users. here’s a rough timeline of what happened (culled from grafana, gcp logs and kernel logs on the core node):

+
+
+

15:12:00

+

~280 concurrent users

+
+
+

15:12:42

+

chp “uncaught exception: write EPIPE”

+
+
+

16:00:00

+

proxy ram 800Mi (steady)

+
+
+

16:05:00

+

~300 concurrent users

+
+
+

~16:05:00

+

spike on proxy — cpu 181%, mem 1.06Gi –> 1.86Gi

+
+
+

16:05:53

+

chp healthz readiness probe failure

+
+
+

16:05:56

+

chp/javascript runs out of heap “Ineffective mark-compass near heap limit Allocation Failed”

+
+
+

16:05:57-58

+

chp restarts

+
+
+

16:05:57

+

node dmesg: “TCP: request_sock_TCP: Possible SYN flooding on port 8000. Sending cookies. Check SNMP counters.”

+
+
+

~16:06:00

+

2.5K 503 errors

+
+
+

~16:06:00 - 16:16:00

+

many many chp routes added and deleted causing 503 errors for some users

+
+
+

16:16:00 - 16:49:00

+

everything back to normal

+
+
+

16:49:00

+

~300 users (slowly decreasing)

+
+
+

~16:49:00

+

spike on proxy — cpu 107%, mem 814Mi –> 2.45Gi

+
+
+

16:49:40

+

core node dmesg: node invoked oom-killer: gfp_mask=0xcc0(GFP_KERNEL), order=0, oom_score_adj=999

+
+
+

16:50:25

+

chp restarts (no heap error)

+
+
+

~16:50:00

+

5.7K 503 errors

+
+
+

16:54:15 - 17:15:31

+

300 users (slowly descreasing), 3x chp “uncaught exception: write EPIPE”, intermittent 503 errors in spikes of 30, 60, 150, hub latency 2.5sec

+
+
+

18:47:19 - 18:58:10

+

~120 users (constant), 3x chp “uncaught exception: write EPIPE”, intermittent 503 errors in spikes of 30, 60, hub latency 3sec

+
+
+

~19:00

+

things return to normal

+
+
+
+

After-action report

+
+

What went wrong

+
    +
  • Only being able to test things like the forked chp in prod is dangerous and has a huge potential impact on users.
  • +
  • The configurable http proxy (chp) is written in javascript (nodejs), and under load (~250+ concurrent users) it leaks ports and eventually fills up the heap (~728M) and gets oomkilled.
  • +
  • The CPU allocation on the core node was also spiking, potentially causing login latency across all hubs.
  • +
  • Upon chp restart, it can take up to 10-15m for the routing table to be repopulated. During this time most, if not all, users that were already connected to the hub will get 503 errors. Any new logins during this time will not.
  • +
+
+
+

Where we got lucky

+
    +
  • Since we bumped the RAM allocated to the core node from 8G to 32G instances like are isolated to whatever hub’s chp begins failing, and does not impact all hubs.
  • +
+
+
+

Action items

+
+

Process/Policy improvements

+
    +
  1. Work with instructors to identify and immediately troubleshoot directly with users impacted by the white screen issue.
  2. +
  3. Spin up a dev hub and figure out how to use hubtraf to simulate a large number of users doing work.
  4. +
+
+
+

Documentation improvements

+

None.

+
+
+

Technical improvements

+
    +
  1. Continue to track the port leak issue upstream.
  2. +
  3. Deploy a new core pool with the same RAM and more CPU (Jira DH-259).
  4. +
  5. Spin up a dev hub and figure out how to use hubtraf to simulate a large number of users doing work.
  6. +
+
+
+
+

Actions

+
    +
  • +
  • +
  • +
  • +
+ + +
+
+ +
+ +
+ + + + + \ No newline at end of file diff --git a/incidents/index.html b/incidents/index.html new file mode 100644 index 000000000..b27f25266 --- /dev/null +++ b/incidents/index.html @@ -0,0 +1,1100 @@ + + + + + + + + + +Incident Reports + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ +
+ + +
+ + + +
+ +
+
+

Incident Reports

+
+ + + +
+ + + + +
+ + + +
+ + + + + + +
+
+
+ + +
+
+ + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Date + +Title +
+Feb 9, 2017 + +JupyterHub db manual overwrite +
+Feb 24, 2017 + +Custom Autoscaler gonee haywire +
+Feb 24, 2017 + +Proxy eviction strands user +
+Mar 6, 2017 + +Non-matching hub image tags cause downtime +
+Mar 20, 2017 + +Too many volumes per disk leave students stuck +
+Mar 23, 2017 + +Weird upstream ipython bug kills kernels +
+Apr 3, 2017 + +Custom autoscaler does not scale up when it should +
+May 9, 2017 + +Oops we forgot to pay the bill +
+Oct 10, 2017 + +Docker dies on a few Azure nodes +
+Oct 19, 2017 + +Billing confusion with Azure portal causes summer hub to be lost +
+Jan 25, 2018 + +Accidental merge to prod brings things down +
+Jan 26, 2018 + +Hub starts up very slow, causing outage for users +
+Feb 6, 2018 + +Azure PD refuses to detach, causing downtime for data100 +
+Feb 28, 2018 + +A node hangs, causing a subset of users to report issues +
+Jun 11, 2018 + +Azure billing issue causes downtime +
+Feb 25, 2019 + +Azure Kubernetes API Server outage causes downtime +
+May 1, 2019 + +Service Account key leak incident +
+Jan 20, 2022 + +Hubs throwing 505 errors +
+Feb 1, 2024 + +Core nodes being autoscaled, configurable HTTP proxy crashes +
+
+No matching items +
+
+ + +
+ + + + + \ No newline at end of file diff --git a/index.html b/index.html new file mode 100644 index 000000000..abdf82bdb --- /dev/null +++ b/index.html @@ -0,0 +1,848 @@ + + + + + + + + + +UC Berkeley DataHub Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ +
+ + +
+ + + +
+ +
+
+

UC Berkeley DataHub Documentation

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

This repository contains configuration and documentation (including policies) for the many JupyterHubs used by various organizations in UC Berkeley.

+ + + +
+ + +
+ + + + + \ No newline at end of file diff --git a/listings.json b/listings.json new file mode 100644 index 000000000..f69255b6b --- /dev/null +++ b/listings.json @@ -0,0 +1,26 @@ +[ + { + "listing": "/incidents/index.html", + "items": [ + "/incidents/2017-02-09-datahub-db-outage.html", + "/incidents/2017-02-24-autoscaler-incident.html", + "/incidents/2017-02-24-proxy-death-incident.html", + "/incidents/2017-03-06-helm-config-image-mismatch.html", + "/incidents/2017-03-20-too-many-volumes.html", + "/incidents/2017-03-23-kernel-deaths-incident.html", + "/incidents/2017-04-03-cluster-full-incident.html", + "/incidents/2017-05-09-gce-billing.html", + "/incidents/2017-10-10-hung-nodes.html", + "/incidents/2017-10-19-course-subscription-canceled.html", + "/incidents/2018-01-25-helm-chart-upgrade.html", + "/incidents/2018-01-26-hub-slow-startup.html", + "/incidents/2018-02-06-hub-db-dir.html", + "/incidents/2018-02-28-hung-node.html", + "/incidents/2018-06-11-course-subscription-canceled.html", + "/incidents/2019-02-25-k8s-api-server-down.html", + "/incidents/2019-05-01-service-account-leak.html", + "/incidents/2022-01-20-package-dependency-upgrade-incident.html", + "/incidents/2024-core-node-incidents.html" + ] + } +] \ No newline at end of file diff --git a/policy/create_policy.html b/policy/create_policy.html new file mode 100644 index 000000000..304e1d069 --- /dev/null +++ b/policy/create_policy.html @@ -0,0 +1,843 @@ + + + + + + + + + +create_policy + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ +
+ + +
+ + + +
+ + + + +
+

Process to publish policy proposals

+
    +
  • The policy subfolder inside the docs folder in the datahub repository acts as a single source of truth for all our policy-related proposals.
  • +
  • Every PR related to a specific policy will go through multiple reviews from the team before getting finalized and merged. Reviewers should be explicitly assigned in order to seek the required approval prior to merging the PR.
  • +
  • Each policy issue area will get mapped to a specific policy document. Eg: The policy to create a new hub is currently mapped to the policy_create_hubs.rst file.
  • +
+ + +
+ +
+ + +
+ + + + + \ No newline at end of file diff --git a/policy/index.html b/policy/index.html new file mode 100644 index 000000000..ad91a0dd5 --- /dev/null +++ b/policy/index.html @@ -0,0 +1,838 @@ + + + + + + + + + +Datahub Policy Documents + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ +
+ + +
+ + + +
+ +
+
+

Datahub Policy Documents

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

The primary objective of this documentation is to codify varied policies of the infrastructure team to operate the many Jupyterhubs deployed in UC Berkeley.

+ + + +
+ +
+ + + + + \ No newline at end of file diff --git a/policy/policy_create_hubs.html b/policy/policy_create_hubs.html new file mode 100644 index 000000000..fdf221eb8 --- /dev/null +++ b/policy/policy_create_hubs.html @@ -0,0 +1,860 @@ + + + + + + + + + +Policy considerations for creating a new hub + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ +
+ + +
+ + + +
+ +
+
+

Policy considerations for creating a new hub

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

We have lots of prior experience creating 10+ new hubs catering to the diverse instructional needs of the campus audience. Our decisions to create a new hub were made with a lot of intuition about solving instructors’ immediate needs effectively. The objective of this policy document is to codify these heuristics used while creating a new hub. Our policy should guide our decisions with regard to creating new hubs in the future.

+

Below are 5 key criteria (listed in the order of importance) to be considered while making a decision to create a new hub. Satisfying any one of the below-mentioned criteria creates the opportunity for a new hub.

+
    +
  • Image Customization: Course needs image customization beyond what we currently have in the main datahub image. (Eg: Astro hub, Stat 159 hub)
  • +
  • Testbed: Testbed for deploying new features which post maturity can be enabled across other major hubs (Eg: Stat 159 hub)
  • +
  • Large Computation: Course is computationally intensive requiring a large amount of CPU/Memory because of the nature of the use case (Eg: biology hub) or larger user base with 300+ students (Eg: Data 8 and Data 100 hubs). These courses may require additional compute through calendar-based scheduling.
  • +
  • Admin Access: Course has undergrad students acting as GSIs while simultaneously requiring admin access (Eg: Data8 hub)
  • +
  • Organizational Reasons: Hub is created for organizational/strategic reasons to build institutional buy-in from specific departments (Eg: Public Health and ISchool Hubs) and/or evangelize a specific service (Eg: Julia or R hub)
  • +
+ + + +
+ + +
+ + + + + \ No newline at end of file diff --git a/policy/policy_deploy_mainhubs.html b/policy/policy_deploy_mainhubs.html new file mode 100644 index 000000000..a4aa46c47 --- /dev/null +++ b/policy/policy_deploy_mainhubs.html @@ -0,0 +1,843 @@ + + + + + + + + + +policy_deploy_mainhubs + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ +
+ + +
+ + + +
+ + + + +
+

Policy considerations for deploying to the main Datahub

+

Our goal is to provide a reliable infrastructure that instructors can completely trust while facilitating their coursework. Developing a robust protocol around deploying changes to the main datahub is important to achieve this goal. The objective of this policy document is to outline the criteria to deploy a change to an image in the main Datahub.

+
    +
  • Regular requests during the semester like package addition/change, RAM increase, CPU allocation, and providing admin access to users should be done with a robust testing protocol (either automated or manual) in place across staging and production.
  • +
  • Introduce new features in the main Datahub only after it gets successfully tested with one or many instructors across other course specific hub (eg: Data8 Hub) or use-case specific hub (Eg: Stat159 Hub).
  • +
+ + +
+ +
+ + +
+ + + + + \ No newline at end of file diff --git a/policy/principles.html b/policy/principles.html new file mode 100644 index 000000000..c2c81b36f --- /dev/null +++ b/policy/principles.html @@ -0,0 +1,859 @@ + + + + + + + + + +principles + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ +
+ + +
+ + + +
+ + + + +
+

Principles to be considered while creating new policies

+

Kickstarting the iterative process of defining the core values for the product and the team to ensure that our decision-making is aligned to the values we commonly agree upon.

+
+

Balance long term orientation with bias towards action in the short term

+

Whenever we see a problem, we always think “How can we solve this problem for the next 1000/10000 users?” not just for the user we are solving the problem currently. Thus, we balance long-term orientation with a strong bias towards solving the user’s immediate needs.

+
+
+

User Centricity

+

We want to be mindful that the most users we serve are novice audiences who are not experts in programming/data science. It can be a challenging experience to learn the language, tools, and content together, and handling outages/product issues can be an added cognitive overload that can affect students’ morale. As a result, it is essential to focus on the user experience for the entire teaching team, and the students so that they are spending the time on what they actually want to do with Datahub. This means we will go out of our way to support the needs of the teaching team and the students to ensure that they have the best experience possible while having additional discomfort at our end in the short term. The product gained traction because of the exceptional user centricity which led to solving complex problems, reducing friction for users, and easing their user experience. Now that we have scaled to 10,000+ users, it is equally important to keep the ethos that took us from 0 to 10k users in mind and not operate with the mentality of a standardized service. We are an early-stage innovation with 10,000+ users and not a mature stage product that is poised for stability.

+
+
+

Equity

+

We want to offer an equitable experience to all students irrespective of their class size, compute requirements or affiliation to STEM-based courses etc. In addition, we want non STEM users to have the same or in some cases better user experience than their STEM counterparts. This means we may prioritize R-related use cases over Jupyter stuff as most of our audience in humanities and social science prefer using R for their data science workflow.

+
+
+

Frugality

+

We want to be the best stewards of CDSS money. We value being thoughtful and frugal about spending the limited resources we have on the right things. However, when it comes to a trade-off between frugality and user-centricity, we always take the extra effort to think about how we can solve the user problems first.

+
+
+

Resourcefulness

+

We are not a big team, and we don’t have a lot of experts related to Marketing, Design, Data Science, etc. However, we want to be resourceful with the limited resources we have and engage with the open-source ecosystem, our partners across Berkeley, and the instructors/students to work towards our mission.

+ + +
+
+ +
+ + +
+ + + + + \ No newline at end of file diff --git a/policy/storage-retention.html b/policy/storage-retention.html new file mode 100644 index 000000000..d7a739bce --- /dev/null +++ b/policy/storage-retention.html @@ -0,0 +1,868 @@ + + + + + + + + + +Storage Retention Policy + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ +
+ + +
+ + + +
+ +
+
+

Storage Retention Policy

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

Policy

+
+

Criteria

+

No non-hidden files in the user's home directory that have been modified in the last 6 months.

+
+
+

Archival

+
    +
  1. Zip the whole home directory
  2. +
  3. Upload it to Google drive of a SPA created for this purpose
  4. +
  5. Share the ZIP file in the Google Drive with the user.
  6. +
+
+
+
+

Rationale

+

Today (6 Feb 2020), we have 18,623 home directories in datahub. Most of these users used datahub in previous semesters, have not logged in for a long time, and will probably never log in again. This costs us a lot of money in disk space - we will have to forever expand disk space.

+

By cleaning it up after 6 months of non-usage, we will not affect any current users - just folks who haven't logged in for a long time. Archiving the contents would make sure people still have access to their old work, without leaving the burden of maintaining it forever on us.

+
+
+

Why Google Drive?

+

We can also perform access control easily with Google Drive.

+
+
+

Alternatives

+
    +
  1. Email it to our users. This will most likely be rejected by most mail servers as the home directory will be too big an attachment
  2. +
  3. Put it in Google Cloud Nearline storage, build a token based access control mechanism on top, and email this link to the users. We will need to probably clean this up every 18 months or so for cost reasons. This is the viable alternative, if we decide to not use Google Drive
  4. +
+ + +
+ +
+ +
+ + + + + \ No newline at end of file diff --git a/robots.txt b/robots.txt new file mode 100644 index 000000000..83d1aca50 --- /dev/null +++ b/robots.txt @@ -0,0 +1 @@ +Sitemap: https://berkeley-dsep-infra.github.io/datahub/sitemap.xml diff --git a/search.json b/search.json new file mode 100644 index 000000000..8f66ca57d --- /dev/null +++ b/search.json @@ -0,0 +1,2143 @@ +[ + { + "objectID": "admins/deployments/datahub.html", + "href": "admins/deployments/datahub.html", + "title": "DataHub", + "section": "", + "text": "datahub.berkeley.edu provides standard computing environment to many foundational courses across diverse disciplines.", + "crumbs": [ + "Using DataHub", + "Contributing to DataHub", + "Hub Deployments", + "DataHub" + ] + }, + { + "objectID": "admins/deployments/datahub.html#image", + "href": "admins/deployments/datahub.html#image", + "title": "DataHub", + "section": "Image", + "text": "Image\nThe datahub image contains both Python and R environments. A user can create jupyter notebooks utilizing either Python or R, or can run RStudio using R or Python.\nThe image is currently not based on repo2docker.", + "crumbs": [ + "Using DataHub", + "Contributing to DataHub", + "Hub Deployments", + "DataHub" + ] + }, + { + "objectID": "admins/deployments/datahub.html#resources", + "href": "admins/deployments/datahub.html#resources", + "title": "DataHub", + "section": "Resources", + "text": "Resources\nA handful of courses have been granted elevated memory limits within the hub configuration.\nCDSS staff and a small number of instructors have been given administrative privileges.", + "crumbs": [ + "Using DataHub", + "Contributing to DataHub", + "Hub Deployments", + "DataHub" + ] + }, + { + "objectID": "admins/deployments/stat159.html", + "href": "admins/deployments/stat159.html", + "title": "Stat 159", + "section": "", + "text": "stat159.datahub.berkeley.edu is a course-specific hub for Stat 159 as taught by Fernando Perez. It tends to include a lot of applications so that students can shift their local development workflows to the cloud.", + "crumbs": [ + "Using DataHub", + "Contributing to DataHub", + "Hub Deployments", + "Stat 159" + ] + }, + { + "objectID": "admins/deployments/stat159.html#image", + "href": "admins/deployments/stat159.html#image", + "title": "Stat 159", + "section": "Image", + "text": "Image\nNotably the image contains support for RTC. As of March 2023, this requires:\n- altair==4.2.2\n- boken==2.4.3\n- dask==2023.1.1\n- jupyter_server==2.2.1\n- jupyterlab==3.6.1\n- jupyterlab_server==2.19.0\n- tornado==6.2.0\n- git+https://<github.com/berkeley-dsep-infra/tmpystore.git@84765e1>\nSome of these are hard requirements and others were necessary to make conda happy.", + "crumbs": [ + "Using DataHub", + "Contributing to DataHub", + "Hub Deployments", + "Stat 159" + ] + }, + { + "objectID": "admins/deployments/stat159.html#configuration", + "href": "admins/deployments/stat159.html#configuration", + "title": "Stat 159", + "section": "Configuration", + "text": "Configuration\nAlong with the dependencies, the singleuser server is modified to launch as\nsingleuser:\n cmd:\n - jupyterhub-singleuser\n - --LabApp.collaborative=true\n # https://jupyterlab-realtime-collaboration.readthedocs.io/en/latest/configuration.html#configuration\n - --YDocExtension.ystore_class=tmpystore.TmpYStore\nThis turns on collaboration and moves some sqlite storage from home directories to /tmp/.\nIn addition to RTC, the hub also has configuration to enable shared accounts with impersonation. There are a handful of fabricated user accounts, e.g. collab-shared-1, collab-shared-2, etc. not affiliated with any real person in bCourses. There are also corresponding JupyterHub groups, shared-1, shared-2, etc. The instructors add real students to the hub groups, and some roles and scopes logic in the hub configuration gives students access to launch jupyter servers for the collaborative user accounts. The logic is in config/common.yaml while the current group affiliations are kept private in secrets.\nThis configuration is to encourage use of RTC, and to prevent one student from having too much access to another student's home directory. The fabricated (essentially service) accounts have initally empty home directories and exist solely to provide workspaces for the group. There is currently no archive or restore procedure in mind for these shared accounts.\nFor now, groups are defined in either the hub configuration or in the administrative /hub/admin user interface. In order to enable group assignment in this manner, we must set Authenticator.managed_groups to False. Ordinarily groups are provided by CanvasAuthenticator where this setting is True.\nEventually instructors will be able to define groups in bCourses so that CanvasAuthenticator can remain in charge of managing groups. This will be important for the extremely large courses. It will also be beneficial in that resource allocation can be performed more easily through group affiliations and group properties.", + "crumbs": [ + "Using DataHub", + "Contributing to DataHub", + "Hub Deployments", + "Stat 159" + ] + }, + { + "objectID": "admins/deployments/stat159.html#historical-information", + "href": "admins/deployments/stat159.html#historical-information", + "title": "Stat 159", + "section": "Historical Information", + "text": "Historical Information\nThe image has been periodically shared with data100 for when Fernando has taught both. Going forward, it is probably best to keep them separate and optionally kept in sync. We don't want changes in one course to come as a surprise to the other.", + "crumbs": [ + "Using DataHub", + "Contributing to DataHub", + "Hub Deployments", + "Stat 159" + ] + }, + { + "objectID": "admins/storage.html", + "href": "admins/storage.html", + "title": "User home directory storage", + "section": "", + "text": "All users on all the hubs get a home directory with persistent storage.", + "crumbs": [ + "Using DataHub", + "Contributing to DataHub", + "User home directory storage" + ] + }, + { + "objectID": "admins/storage.html#why-nfs", + "href": "admins/storage.html#why-nfs", + "title": "User home directory storage", + "section": "Why NFS?", + "text": "Why NFS?\nNFS isn't a particularly cloud-native technology. It isn't highly available nor fault tolerant by default, and is a single point of failure. However, it is currently the best of the alternatives available for user home directories, and so we use it.\n\nHome directories need to be fully POSIX compliant file systems that work with minimal edge cases, since this is what most instructional code assumes. This rules out object-store backed filesystems such as s3fs.\nUsers don't usually need guaranteed space or IOPS, so providing them each a persistent cloud disk gets unnecessarily expensive - since we are paying for it whether it is used or not.\nWhen we did use one persistent disk per user, the storage cost dwarfed everything else by an order of magnitude for no apparent benefit.\nAttaching cloud disks to user pods also takes on average about 30s on Google Cloud, and much longer on Azure. NFS mounts pretty quickly, getting this down to a second or less.", + "crumbs": [ + "Using DataHub", + "Contributing to DataHub", + "User home directory storage" + ] + }, + { + "objectID": "admins/storage.html#nfs-server", + "href": "admins/storage.html#nfs-server", + "title": "User home directory storage", + "section": "NFS Server", + "text": "NFS Server\nWe currently have two approaches to running NFS Servers.\n\nRun a hand-maintained NFS Server with ZFS SSD disks.\nThis gives us control over performance, size and most importantly, server options. We use anonuid=1000, so all reads / writes from the cluster are treated as if they have uid 1000, which is the uid all user processes run as. This prevents us from having to muck about permissions & chowns - particularly since Kubernetes creates new directories on volumes as root with strict permissions (see issue).\nUse a hosted NFS service like Google Cloud Filestore.\nWe do not have to perform any maintenance if we use this - but we have no control over the host machine either.\n\nAfter running our own NFS server from 2020 through the end of 2022, we decided to move wholesale to Google Cloud Filestore. This was mostly due to NFS daemon stability issues, which caused many outages and impacted thousands of our users and courses.\nCurrently each hub has it's own filestore instance, except for a few small courses that share one. This has proven to be much more stable and able to handle the load.", + "crumbs": [ + "Using DataHub", + "Contributing to DataHub", + "User home directory storage" + ] + }, + { + "objectID": "admins/storage.html#home-directory-paths", + "href": "admins/storage.html#home-directory-paths", + "title": "User home directory storage", + "section": "Home directory paths", + "text": "Home directory paths\nEach user on each hub gets their own directory on the server that gets treated as their home directory. The staging & prod servers share home directory paths, so users get the same home directories on both.\nFor most hubs, the user's home directory path relative to the exported filestore share is <hub-name>-filestore/<hub-name>/<prod|staging>/home/<user-name>.", + "crumbs": [ + "Using DataHub", + "Contributing to DataHub", + "User home directory storage" + ] + }, + { + "objectID": "admins/storage.html#nfs-client", + "href": "admins/storage.html#nfs-client", + "title": "User home directory storage", + "section": "NFS Client", + "text": "NFS Client\nWe currently have two approaches for mounting the user's home directory into each user's pod.\n\nMount the NFS Share once per node to a well known location, and use hostpath volumes with a subpath on the user pod to mount the correct directory on the user pod.\nThis lets us get away with one NFS mount per node, rather than one per pod.", + "crumbs": [ + "Using DataHub", + "Contributing to DataHub", + "User home directory storage" + ] + }, + { + "objectID": "admins/cluster-config.html", + "href": "admins/cluster-config.html", + "title": "Kubernetes Cluster Configuration", + "section": "", + "text": "We use kubernetes to run our JupyterHubs. It has a healthy open source community, managed offerings from multiple vendors & a fast pace of development. We can run easily on many different cloud providers with similar config by running on top of Kubernetes, so it is also our cloud agnostic abstraction layer.\nWe prefer using a managed Kubernetes service (such as Google Kubernetes Engine). This document lays out our preferred cluster configuration on various cloud providers.", + "crumbs": [ + "Using DataHub", + "Contributing to DataHub", + "Kubernetes Cluster Configuration" + ] + }, + { + "objectID": "admins/cluster-config.html#google-kubernetes-engine", + "href": "admins/cluster-config.html#google-kubernetes-engine", + "title": "Kubernetes Cluster Configuration", + "section": "Google Kubernetes Engine", + "text": "Google Kubernetes Engine\nIn our experience, Google Kubernetes Engine (GKE) has been the most stable, performant, and reliable managed kubernetes service. We prefer running on this when possible.\nA gcloud container clusters create command can succintly express the configuration of our kubernetes cluster. The following command represents the currently favored configuration.\nThis creates the GKE cluster. It may host one or more node pools:\ngcloud container clusters create \\\n --enable-ip-alias \\\n --enable-autoscaling \\\n --max-nodes=20 --min-nodes=1 \\\n --region=us-central1 --node-locations=us-central1-b \\\n --image-type=cos_containerd \\\n --disk-size=100 --disk-type=pd-balanced \\\n --machine-type=n2-highmem-8 \\\n --cluster-version latest \\\n --no-enable-autoupgrade \\\n --enable-network-policy \\\n --create-subnetwork=\"\" \\\n --tags=hub-cluster \\\n <cluster-name>\nHere's how we add a node pool to the cluster, beyond the default pool:\ngcloud container node-pools create \\\n --machine-type n2-highmem-8 \\\n --num-nodes 1 \\\n --enable-autoscaling \\\n --min-nodes 1 --max-nodes 20 \\\n --node-labels hub.jupyter.org/pool-name=<pool-name>-pool \\\n --node-taints hub.jupyter.org_dedicated=user:NoSchedule \\\n --region=us-central1 \\\n --image-type=cos_containerd \\\n --disk-size=200 --disk-type=pd-balanced \\\n --no-enable-autoupgrade \\\n --tags=hub-cluster \\\n --cluster=<cluster-name> \\\n user-<pool-name>-<yyyy>-<mm>-<dd>\n\nIP Aliasing\n--enable-ip-alias creates VPC Native Clusters.\nThis becomes the default soon, and can be removed once it is the default.\n\n\nAutoscaling\nWe use the kubernetes cluster autoscaler to scale our node count up and down based on demand. It waits until the cluster is completely full before triggering creation of a new node - but that's ok, since new node creation time on GKE is pretty quick.\n--enable-autoscaling turns the cluster autoscaler on.\n--min-nodes sets the minimum number of nodes that will be maintained regardless of demand. This should ideally be 2, to give us some headroom for quick starts without requiring scale ups when the cluster is completely empty.\n--max-nodes sets the maximum number of nodes that the cluster autoscaler will use - this sets the maximum number of concurrent users we can support. This should be set to a reasonably high number, but not too high - to protect against runaway creation of hundreds of VMs that might drain all our credits due to accident or security breach.\n\n\nHighly available master\nThe kubernetes cluster's master nodes are managed by Google Cloud automatically. By default, it is deployed in a non-highly-available configuration - only one node. This means that upgrades and master configuration changes cause a few minutes of downtime for the kubernetes API, causing new user server starts / stops to fail.\nWe request our cluster masters to have highly available masters with --region parameter. This specifies the region where our 3 master nodes will be spread across in different zones. It costs us extra, but it is totally worth it.\nBy default, asking for highly available masters also asks for 3x the node count, spread across multiple zones. We don't want that, since all our user pods have in-memory state & can't be relocated. Specifying --node-locations explicitly lets us control how many and which zones the nodes are located in.\n\n\nRegion / Zone selection\nWe generally use the us-central1 region and a zone in it for our clusters -simply because that is where we have asked for quota.\nThere are regions closer to us, but latency hasn't really mattered so we are currently still in us-central1. There are also unsubstantiated rumors that us-central1 is their biggest data center and hence less likely to run out of quota.\n\n\nDisk Size\n--disk-size sets the size of the root disk on all the kubernetes nodes. This isn't used for any persistent storage such as user home directories. It is only used ephemerally for the operations of the cluster - primarily storing docker images and other temporary storage. We can make this larger if we use a large number of big images, or if we want our image pulls to be faster (since disk performance increases with disk size ).\n--disk-type=pd-standard gives us standard spinning disks, which are cheaper. We can also request SSDs instead with --disk-type=pd-ssd - it is much faster, but also much more expensive. We compromise with --disk-type=pd-balanced, faster than spinning disks but not as fast as ssds all the time.\n\n\nNode size\n--machine-type lets us select how much RAM and CPU each of our nodes have. For non-trivial hubs, we generally pick n2-highmem-8, with 64G of RAM and 8 cores. This is based on the following heuristics:\n\nStudents generally are memory limited than CPU limited. In fact, while we have a hard limit on memory use per-user pod, we do not have a CPU limit -it hasn't proven necessary.\nWe try overprovision clusters by about 2x - so we try to fit about 100G of total RAM use in a node with about 50G of RAM. This is accomplished by setting the memory request to be about half of the memory limit on user pods. This leads to massive cost savings, and works out ok.\nThere is a kubernetes limit on 100 pods per node.\n\nBased on these heuristics, n2-highmem-8 seems to be most bang for the buck currently. We should revisit this for every cluster creation.\n\n\nCluster version\nGKE automatically upgrades cluster masters, so there is generally no harm in being on the latest version available.\n\n\nNode autoupgrades\nWhen node autoupgrades are enabled, GKE will automatically try to upgrade our nodes whenever needed (our GKE version falling off the support window, security issues, etc). However, since we run stateful workloads, we disable this right now so we can do the upgrades manually.\n\n\nNetwork Policy\nKubernetes Network Policy lets you firewall internal access inside a kubernetes cluster, whitelisting only the flows you want. The JupyterHub chart we use supports setting up appropriate NetworkPolicy objects it needs, so we should turn it on for additional security depth. Note that any extra in-cluster services we run must have a NetworkPolicy set up for them to work reliabliy.\n\n\nSubnetwork\nWe put each cluster in its own subnetwork, since seems to be a limit on how many clusters you can create in the same network with IP aliasing on - you just run out of addresses. This also gives us some isolation - subnetworks are isolated by default and can't reach other resources. You must add firewall rules to provide access, including access to any manually run NFS servers. We add tags for this.\n\n\nTags\nTo help with firewalling, we add network tags to all our cluster nodes. This lets us add firewall rules to control traffic between subnetworks.\n\n\nCluster name\nWe try use a descriptive name as much as possible.", + "crumbs": [ + "Using DataHub", + "Contributing to DataHub", + "Kubernetes Cluster Configuration" + ] + }, + { + "objectID": "admins/howto/dns.html", + "href": "admins/howto/dns.html", + "title": "Update DNS", + "section": "", + "text": "Some staff have access to make and update DNS entries in the .datahub.berkeley.edu and .data8x.berkeley.edu subdomains.", + "crumbs": [ + "Using DataHub", + "Contributing to DataHub", + "Common Administrator Tasks", + "Update DNS" + ] + }, + { + "objectID": "admins/howto/dns.html#authorization", + "href": "admins/howto/dns.html#authorization", + "title": "Update DNS", + "section": "Authorization", + "text": "Authorization\nRequest access to make changes by creating an issue in this repository.\nAuthorization is granted via membership in the edu:berkeley:org:nos:DDI:datahub CalGroup. @yuvipanda and @ryanlovett are group admins and can update membership.", + "crumbs": [ + "Using DataHub", + "Contributing to DataHub", + "Common Administrator Tasks", + "Update DNS" + ] + }, + { + "objectID": "admins/howto/dns.html#making-changes", + "href": "admins/howto/dns.html#making-changes", + "title": "Update DNS", + "section": "Making Changes", + "text": "Making Changes\n\nLog into Infoblox from a campus network or through the campus VPN. Use your CalNet credentials.\nNavigate to Data Management > DNS > Zones and click berkeley.edu.\nNavigate to Subzones and choose either data8x or datahub, then click Records.\n\n\nFor quicker access, click the star next to the zone name to make a bookmark in the Finder pane on the left side.\n\n\nCreate a new record\n\nClick the down arrow next to + Add in the right-side Toolbar. Then choose Record > A Record.\nEnter the name and IP of the A record, and uncheck Create associated PTR record.\nConsider adding a comment with a timestamp, your ID, and the nature of the change.\nClick Save & Close.\n\n\n\nEdit an existing record\n\nClick the gear icon to the left of the record's name and choose Edit.\nMake a change.\nConsider adding a comment with a timestamp, your ID, and the nature of the change.\nClick Save & Close.\n\n\n\nDelete a record\n\nClick the gear icon to the left of the record's name and choose Delete.", + "crumbs": [ + "Using DataHub", + "Contributing to DataHub", + "Common Administrator Tasks", + "Update DNS" + ] + }, + { + "objectID": "admins/howto/remove-users-orm.html", + "href": "admins/howto/remove-users-orm.html", + "title": "Remove inactive users from hub ORM", + "section": "", + "text": "JupyterHub performance sometimes scales with the total number of users in its ORM database, rather than the number of running users. Reducing the user count enables the hub to restart much faster. While this issue should be addressed, we can work around it by deleting inactive users from the hub database once in a while. Note that this does not delete the user’s storage. The script scripts/delete-unused-users.py will delete anyone who hasn’t registered any activity in a given period of time, double checking to make sure they aren’t active right now. This will require users to log in again the next time they use the hub, but that is probably fine. This should be done before the start of each semester, particularly on hubs with a lot of users.", + "crumbs": [ + "Using DataHub", + "Contributing to DataHub", + "Common Administrator Tasks", + "Remove inactive users from hub ORM" + ] + }, + { + "objectID": "admins/howto/remove-users-orm.html#run-the-script", + "href": "admins/howto/remove-users-orm.html#run-the-script", + "title": "Remove inactive users from hub ORM", + "section": "Run the script", + "text": "Run the script\nYou can run the script on your own device. The script depends on the jhub_client python library. This can be installed with pip install jhub_client.\n\nYou will need to acquire a JupyterHub API token with administrative rights. A hub admin can go to {hub_url}/hub/token to create a new one.\nSet the environment variable JUPYTERHUB_API_TOKEN to the token.\nRun python scripts/delete-unused-users.py --hub_url {hub_url}", + "crumbs": [ + "Using DataHub", + "Contributing to DataHub", + "Common Administrator Tasks", + "Remove inactive users from hub ORM" + ] + }, + { + "objectID": "admins/howto/clusterswitch.html", + "href": "admins/howto/clusterswitch.html", + "title": "Switching over a hub to a new cluster", + "section": "", + "text": "This document describes how to switch an existing hub to a new cluster. The example used here refers to moving all UC Berkeley Datahubs.\nYou might find it easier to switch to a new cluster if you’re running a very old k8s version, or in lieu of performing a cluster credential rotation. Sometimes starting from scratch is easier than an iterative and potentially destructive series of operations.", + "crumbs": [ + "Using DataHub", + "Contributing to DataHub", + "Common Administrator Tasks", + "Switching over a hub to a new cluster" + ] + }, + { + "objectID": "admins/howto/clusterswitch.html#create-a-new-cluster", + "href": "admins/howto/clusterswitch.html#create-a-new-cluster", + "title": "Switching over a hub to a new cluster", + "section": "Create a new cluster", + "text": "Create a new cluster\n\nCreate a new cluster using the specifications here:\nhttps://docs.datahub.berkeley.edu/en/latest/admins/cluster-config.html\nSet up helm on the cluster according to the instructions here:\nhttp://z2jh.jupyter.org/en/latest/setup-helm.html\n\nMake sure the version of helm you’re working with matches the version CircleCI is using.\nFor example: https://github.com/berkeley-dsep-infra/datahub/blob/staging/.circleci/config.yml#L169\n\nRe-create all existing node pools for hubs, support and prometheus deployments in the new cluster. If the old cluster is still up and running, you will probably run out of CPU quota, as the new node pools will immediately default to three nodes. Wait ~15m for the new pools to wind down to zero, and then continue.", + "crumbs": [ + "Using DataHub", + "Contributing to DataHub", + "Common Administrator Tasks", + "Switching over a hub to a new cluster" + ] + }, + { + "objectID": "admins/howto/clusterswitch.html#setting-the-context-for-kubectl-and-work-on-the-new-cluster.", + "href": "admins/howto/clusterswitch.html#setting-the-context-for-kubectl-and-work-on-the-new-cluster.", + "title": "Switching over a hub to a new cluster", + "section": "Setting the ‘context’ for kubectl and work on the new cluster.", + "text": "Setting the ‘context’ for kubectl and work on the new cluster.\n\nEnsure you’re logged in to GCP: gcloud auth login\nPull down the credentials from the new cluster: gcloud container clusters get-credentials <CLUSTER_NAME> --region us-central1\nSwitch the kubectl context to this cluster: kubectl config use-context gke_ucb-datahub-2018_us-central1_<CLUSTER_NAME>", + "crumbs": [ + "Using DataHub", + "Contributing to DataHub", + "Common Administrator Tasks", + "Switching over a hub to a new cluster" + ] + }, + { + "objectID": "admins/howto/clusterswitch.html#recreate-node-pools", + "href": "admins/howto/clusterswitch.html#recreate-node-pools", + "title": "Switching over a hub to a new cluster", + "section": "Recreate node pools", + "text": "Recreate node pools\nRe-create all existing node pools for hubs, support and prometheus deployments in the new cluster.\nIf the old cluster is still up and running, you will probably run out of CPU quota, as the new node pools will immediately default to three nodes. Wait ~15m for the new pools to wind down to zero, and then continue.", + "crumbs": [ + "Using DataHub", + "Contributing to DataHub", + "Common Administrator Tasks", + "Switching over a hub to a new cluster" + ] + }, + { + "objectID": "admins/howto/clusterswitch.html#install-and-configure-the-certificate-manager", + "href": "admins/howto/clusterswitch.html#install-and-configure-the-certificate-manager", + "title": "Switching over a hub to a new cluster", + "section": "Install and configure the certificate manager", + "text": "Install and configure the certificate manager\nBefore you can deploy any of the hubs or support tooling, the certificate manager must be installed and configured on the new cluster. Until this is done, hubploy and helm will fail with the following error: ensure CRDs are installed first.\n\nCreate a new feature branch and update your helm dependencies: helm dep up\nAt this point, it’s usually wise to upgrade cert-manager to the latest version found in the chart repo. You can find this by running the following command:\ncert-manager-version=$(helm show all -n cert-manager jetstack/cert-manager | grep ^appVersion | awk '{print $2}')\nThen, you can install the latest version of cert-manager:\nkubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/${cert-manager-version}/cert-manager.yaml\nChange the corresponding entry in support/requirements.yaml to $cert-manager-version and commit the changes (do not push).", + "crumbs": [ + "Using DataHub", + "Contributing to DataHub", + "Common Administrator Tasks", + "Switching over a hub to a new cluster" + ] + }, + { + "objectID": "admins/howto/clusterswitch.html#create-the-node-placeholder-k8s-namespace", + "href": "admins/howto/clusterswitch.html#create-the-node-placeholder-k8s-namespace", + "title": "Switching over a hub to a new cluster", + "section": "Create the node-placeholder k8s namespace", + "text": "Create the node-placeholder k8s namespace\nThe calendar autoscaler requires the node-placeholder namespace. Run the following command to create it:\nkubectl create namespace node-placeholder", + "crumbs": [ + "Using DataHub", + "Contributing to DataHub", + "Common Administrator Tasks", + "Switching over a hub to a new cluster" + ] + }, + { + "objectID": "admins/howto/clusterswitch.html#create-a-new-static-ip-and-switch-dns-to-point-our-new-deployment-at-it.", + "href": "admins/howto/clusterswitch.html#create-a-new-static-ip-and-switch-dns-to-point-our-new-deployment-at-it.", + "title": "Switching over a hub to a new cluster", + "section": "Create a new static IP and switch DNS to point our new deployment at it.", + "text": "Create a new static IP and switch DNS to point our new deployment at it.\n\nCreate a new static IP in the GCP console.\nOpen infoblox and change the wildcard and empty entries for datahub.berkeley.edu to point to the IP from the previous step.\nUpdate support/values.yaml, under ingress-nginx with the newly created IP from infoblox: loadBalancerIP: xx.xx.xx.xx.\nAdd and commit this change to your feature branch (still do not push).\n\nYou will re-deploy the support chart in the next step.", + "crumbs": [ + "Using DataHub", + "Contributing to DataHub", + "Common Administrator Tasks", + "Switching over a hub to a new cluster" + ] + }, + { + "objectID": "admins/howto/clusterswitch.html#manually-deploy-the-support-and-prometheus-pools", + "href": "admins/howto/clusterswitch.html#manually-deploy-the-support-and-prometheus-pools", + "title": "Switching over a hub to a new cluster", + "section": "Manually deploy the support and prometheus pools", + "text": "Manually deploy the support and prometheus pools\nFirst, update any node pools in the configs to point to the new cluster. Typically, this is just for the ingress-nginx controllers in support/values.yaml.\nNow we will manually deploy the support helm chart:\nsops -d support/secrets.yaml > /tmp/secrets.yaml\nhelm install -f support/values.yaml -f /tmp/secrets.yaml \\\n -n support support support/ \\\n --set installCRDs=true --debug --create-namespace\nBefore continuing, confirm via the GCP console that the IP that was defined in step 1 is now bound to a forwarding rule. You can further confirm by listing the services in the support chart and making sure the ingress-controller is using the newly defined IP.\nOne special thing to note: our prometheus instance uses a persistent volume that contains historical monitoring data. This is specified in support/values.yaml, under the prometheus: block:\npersistentVolume:\n size: 1000Gi\n storageClass: ssd\n existingClaim: prometheus-data-2024-05-15", + "crumbs": [ + "Using DataHub", + "Contributing to DataHub", + "Common Administrator Tasks", + "Switching over a hub to a new cluster" + ] + }, + { + "objectID": "admins/howto/clusterswitch.html#manually-deploy-a-hub-to-staging", + "href": "admins/howto/clusterswitch.html#manually-deploy-a-hub-to-staging", + "title": "Switching over a hub to a new cluster", + "section": "Manually deploy a hub to staging", + "text": "Manually deploy a hub to staging\nFinally, we can attempt to deploy a hub to the new cluster! Any hub will do, but we should start with a low-traffic hub (eg: https://dev.datahub.berkeley.edu).\nFirst, check the hub’s configs for any node pools that need updating. Typically, this is just the core pool.\nSecond, update hubploy.yaml for this hub and point it to the new cluster you’ve created.\nAfter this is done, add the changes to your feature branch (but don’t push). After that, deploy a hub manually:\nhubploy deploy dev hub staging\nWhen the deploy is done, visit that hub and confirm that things are working.", + "crumbs": [ + "Using DataHub", + "Contributing to DataHub", + "Common Administrator Tasks", + "Switching over a hub to a new cluster" + ] + }, + { + "objectID": "admins/howto/clusterswitch.html#manually-deploy-remaining-hubs-to-staging-and-prod", + "href": "admins/howto/clusterswitch.html#manually-deploy-remaining-hubs-to-staging-and-prod", + "title": "Switching over a hub to a new cluster", + "section": "Manually deploy remaining hubs to staging and prod", + "text": "Manually deploy remaining hubs to staging and prod\nNow, update the remaining hubs’ configs to point to the new node pools and hubploy.yaml to the cluster.\nThen use hubploy to deploy them to staging as with the previous step. The easiest way to do this is to have a list of hubs in a text file, and iterate over it with a for loop:\nfor x in $(cat hubs.txt); do hubploy deploy ${x} hub staging; done\nfor x in $(cat hubs.txt); do hubploy deploy ${x} hub prod; done\nWhen done, add the modified configs to your feature branch (and again, don’t push yet).", + "crumbs": [ + "Using DataHub", + "Contributing to DataHub", + "Common Administrator Tasks", + "Switching over a hub to a new cluster" + ] + }, + { + "objectID": "admins/howto/clusterswitch.html#update-circleci", + "href": "admins/howto/clusterswitch.html#update-circleci", + "title": "Switching over a hub to a new cluster", + "section": "Update CircleCI", + "text": "Update CircleCI\nOnce you’ve successfully deployed the clusters manually via hubploy, it’s time to update CircleCI to point to the new cluster.\nAll you need to do is grep for the old cluster name in .circleci/config.yaml and change this to the name of the new cluster. There should just be four entries: two for the gcloud get credentials <cluster-name>, and two in comments. Make these changes and add them to your existing feature branch, but don’t commit yet.", + "crumbs": [ + "Using DataHub", + "Contributing to DataHub", + "Common Administrator Tasks", + "Switching over a hub to a new cluster" + ] + }, + { + "objectID": "admins/howto/clusterswitch.html#create-and-merge-your-pr", + "href": "admins/howto/clusterswitch.html#create-and-merge-your-pr", + "title": "Switching over a hub to a new cluster", + "section": "Create and merge your PR!", + "text": "Create and merge your PR!\nNow you can finally push your changes to github. Create a PR, merge to staging and immediately kill off the deploy jobs for node-placeholder, support and deploy.\nCreate another PR to merge to prod and that deploy should work just fine.", + "crumbs": [ + "Using DataHub", + "Contributing to DataHub", + "Common Administrator Tasks", + "Switching over a hub to a new cluster" + ] + }, + { + "objectID": "admins/howto/clusterswitch.html#update-log-and-billing-sinks-bigquery-queries-etc.", + "href": "admins/howto/clusterswitch.html#update-log-and-billing-sinks-bigquery-queries-etc.", + "title": "Switching over a hub to a new cluster", + "section": "Update log and billing sinks, BigQuery queries, etc.", + "text": "Update log and billing sinks, BigQuery queries, etc.\nI would recommend searching GCP console for all occurrences of the old cluster name, and fixing any bits that might be left over. This should only take a few minutes, but should definitely be done.\nFIN!", + "crumbs": [ + "Using DataHub", + "Contributing to DataHub", + "Common Administrator Tasks", + "Switching over a hub to a new cluster" + ] + }, + { + "objectID": "admins/howto/clusterswitch.html#deleting-the-old-cluster", + "href": "admins/howto/clusterswitch.html#deleting-the-old-cluster", + "title": "Switching over a hub to a new cluster", + "section": "Deleting the old cluster", + "text": "Deleting the old cluster\nAfter waiting a reasonable period of time (a day or two just to be cautious) and after fetching the usage logs, you may delete the old cluster:\ngcloud container clusters delete ${OLDCLUSTER} --region=us-central1", + "crumbs": [ + "Using DataHub", + "Contributing to DataHub", + "Common Administrator Tasks", + "Switching over a hub to a new cluster" + ] + }, + { + "objectID": "admins/howto/rebuild-hub-image.html", + "href": "admins/howto/rebuild-hub-image.html", + "title": "Rebuild a custom hub image", + "section": "", + "text": "We use a customized JupyterHub image so we can use versions of hub packages (such as authenticators) and install additional software required by custom config we might have.\nThe image is located in images/hub. It must inherit from the JupyterHub image used in the Zero to JupyterHub.\nchartpress is used to build the image and update hub/values.yaml with the new image version. chartpress may be installed locally with pip install chartpress.\n\nRun gcloud auth configure-docker us-central1-docker.pkg.dev once per machine to setup docker for authentication with the gcloud credential helper.\nModify the image in images/hub and make a git commit.\nRun chartpress --push. This will build and push the hub image, and modify hub/values.yaml appropriately.\nMake a commit with the hub/values.yaml file, so the new hub image name and tag are comitted.\nProceed to deployment as normal.\n\nSome of the following commands may be required to configure your environment to run the above chartpress workflow successfully:\n\ngcloud auth login\ngcloud auth configure-docker us-central1-docker.pkg.dev\ngcloud auth application-default login\nsometimes running gcloud auth login additional time(s) may fix issues\nsudo usermod -a -G docker ${USER}\ngcloud auth configure-docker\n\n\nRebuild the custom postgres image\nFor data100, we provide a postgresql server per user. We want the python extension installed. So we inherit from the upstream postgresql docker image, and add the appropriate package.\nThis image is in images/postgres. If you update it, you need to rebuild and push it.\n\nModify the image in images/postgres and make a git commit.\nRun chartpress --push. This will build and push the image, but not put anything in YAML. There is no place we can put thi in values.yaml, since this is only used for data100.\nNotice the image name + tag from the chartpress --push command, and put it in the appropriate place (under extraContainers) in data100/config/common.yaml.\nMake a commit with the new tag in data100/config/common.yaml.\nProceed to deploy as normal.", + "crumbs": [ + "Using DataHub", + "Contributing to DataHub", + "Common Administrator Tasks", + "Rebuild a custom hub image" + ] + }, + { + "objectID": "admins/howto/google-sheets.html", + "href": "admins/howto/google-sheets.html", + "title": "Reading Google Sheets from DataHub", + "section": "", + "text": "Available in: DataHub\nWe provision and make available credentials for a service account that can be used to provide readonly access to Google Sheets. This is useful in pedagogical situations where data is read from Google Sheets, particularly with the gspread library.\nThe entire contents of the JSON formatted service account key is available as an environment variable GOOGLE_SHEETS_READONLY_KEY. You can use this to read publicly available Google Sheet documents.\nThe service account has no implicit permissions, and can be found under singleuser.extraEnv.GOOGLE_SHEETS_READONLY_KEY in datahub/secrets/staging.yaml and datahub/secrets/prod.yaml.", + "crumbs": [ + "Using DataHub", + "Contributing to DataHub", + "Common Administrator Tasks", + "Reading Google Sheets from DataHub" + ] + }, + { + "objectID": "admins/howto/google-sheets.html#gspread-sample-code", + "href": "admins/howto/google-sheets.html#gspread-sample-code", + "title": "Reading Google Sheets from DataHub", + "section": "gspread sample code", + "text": "gspread sample code\nThe following sample code reads a sheet from a URL given to it, and prints the contents.\nimport gspread\nimport os\nimport json\nfrom oauth2client.service_account import ServiceAccountCredentials\n\n# Authenticate to Google\nscope = ['https://spreadsheets.google.com/feeds', 'https://www.googleapis.com/auth/drive']\ncreds = ServiceAccountCredentials.from_json_keyfile_dict(json.loads(os.environ['GOOGLE_SHEETS_READONLY_KEY']), scope)\ngc = gspread.authorize(creds)\n\n# Pick URL of Google Sheet to open\nurl = 'https://docs.google.com/spreadsheets/d/1SVRsQZWlzw9lV0MT3pWlha_VCVxWovqvu-7cb3feb4k/edit#gid=0'\n\n# Open the Google Sheet, and print contents of sheet 1\nsheet = gc.open_by_url(url)\nprint(sheet.sheet1.get_all_records())", + "crumbs": [ + "Using DataHub", + "Contributing to DataHub", + "Common Administrator Tasks", + "Reading Google Sheets from DataHub" + ] + }, + { + "objectID": "admins/howto/google-sheets.html#gspread-pandas-sample-code", + "href": "admins/howto/google-sheets.html#gspread-pandas-sample-code", + "title": "Reading Google Sheets from DataHub", + "section": "gspread-pandas sample code", + "text": "gspread-pandas sample code\nThe gspread-pandas library helps get data from Google Sheets into a pandas dataframe.\nfrom gspread_pandas.client import Spread\nimport os\nimport json\nfrom oauth2client.service_account import ServiceAccountCredentials\n\n# Authenticate to Google\nscope = ['https://spreadsheets.google.com/feeds', 'https://www.googleapis.com/auth/drive']\ncreds = ServiceAccountCredentials.from_json_keyfile_dict(json.loads(os.environ['GOOGLE_SHEETS_READONLY_KEY']), scope)\n\n# Pick URL of Google Sheet to open\nurl = 'https://docs.google.com/spreadsheets/d/1SVRsQZWlzw9lV0MT3pWlha_VCVxWovqvu-7cb3feb4k/edit#gid=0'\n\n# Open the Google Sheet, and print contents of sheet 1 as a dataframe\nspread = Spread(url, creds=creds)\nsheet_df = spread.sheet_to_df(sheet='sheet1')\nprint(sheet_df)", + "crumbs": [ + "Using DataHub", + "Contributing to DataHub", + "Common Administrator Tasks", + "Reading Google Sheets from DataHub" + ] + }, + { + "objectID": "admins/howto/new-image.html", + "href": "admins/howto/new-image.html", + "title": "Creating a new single user image", + "section": "", + "text": "When deploying a new hub, or moving from a shared single user server image, you might need to create a new image for users. We use repo2docker to do this.\nThere are two approaches to creating a repo2docker image: 1. Use a repo2docker-style image template (environment.yaml, etc) 2. Use a Dockerfile (useful for larger/more complex images)\nGenerally, we prefer to use the former approach, unless we need to install specific packages or utilities outside of python/apt as root. If that is the case, only a Dockerfile format will work.\nOf course, as always create a feature branch for your changes, and submit a PR when done.", + "crumbs": [ + "Using DataHub", + "Contributing to DataHub", + "Common Administrator Tasks", + "Creating a new single user image" + ] + }, + { + "objectID": "admins/howto/new-image.html#find-a-hub-to-use-as-a-template", + "href": "admins/howto/new-image.html#find-a-hub-to-use-as-a-template", + "title": "Creating a new single user image", + "section": "Find a hub to use as a template", + "text": "Find a hub to use as a template\nBrowse through our deployments/ directory to find a hub that is similar to the one you are trying to create. This will give you a good starting point.", + "crumbs": [ + "Using DataHub", + "Contributing to DataHub", + "Common Administrator Tasks", + "Creating a new single user image" + ] + }, + { + "objectID": "admins/howto/new-image.html#create-the-image-directory-for-your-new-hub", + "href": "admins/howto/new-image.html#create-the-image-directory-for-your-new-hub", + "title": "Creating a new single user image", + "section": "Create the image/ directory for your new hub", + "text": "Create the image/ directory for your new hub\nCreate a new directory under deployments/ with the name of your hub. This directory will contain the files that will be used to create the image.\nThen, copy the contents (and any subdirectories) of the source image/ directory in to the new directory.", + "crumbs": [ + "Using DataHub", + "Contributing to DataHub", + "Common Administrator Tasks", + "Creating a new single user image" + ] + }, + { + "objectID": "admins/howto/new-image.html#modify-hubploy.yaml-for-the-hub", + "href": "admins/howto/new-image.html#modify-hubploy.yaml-for-the-hub", + "title": "Creating a new single user image", + "section": "Modify hubploy.yaml for the hub", + "text": "Modify hubploy.yaml for the hub\nIn the deployment's hubploy.yaml file, add or modify the name, path and base_image fields to configure the image build and where it's stored in the Google Artifcat Registry.\nname should contain the path to the image in the Google Artifact Registry and the name of the image. path points to the directory containing the image configuration (typically :file::image/. base_image is the base Docker image to use for the image build.\nFor example, hubploy.yaml for the data100 image looks like this:\nimages:\n images:\n - name: us-central1-docker.pkg.dev/ucb-datahub-2018/user-images/data100-user-image\n path: image/\n repo2docker:\n base_image: docker.io/library/buildpack-deps:jammy\n registry:\n provider: gcloud\n gcloud:\n project: ucb-datahub-2018\n service_key: gcr-key.json\n\ncluster:\nprovider: gcloud\ngcloud:\n project: ucb-datahub-2018\n service_key: gke-key.json\n cluster: spring-2024\n zone: us-central1", + "crumbs": [ + "Using DataHub", + "Contributing to DataHub", + "Common Administrator Tasks", + "Creating a new single user image" + ] + }, + { + "objectID": "admins/howto/new-image.html#modify-the-image-configuration-as-necessary", + "href": "admins/howto/new-image.html#modify-the-image-configuration-as-necessary", + "title": "Creating a new single user image", + "section": "Modify the image configuration as necessary", + "text": "Modify the image configuration as necessary\nThis step is straightforward: edit/modify/delete/add any files in the image/ directory to configure the image as needed.", + "crumbs": [ + "Using DataHub", + "Contributing to DataHub", + "Common Administrator Tasks", + "Creating a new single user image" + ] + }, + { + "objectID": "admins/howto/new-image.html#update-cicd-configuration", + "href": "admins/howto/new-image.html#update-cicd-configuration", + "title": "Creating a new single user image", + "section": "Update CI/CD configuration", + "text": "Update CI/CD configuration\nNext, ensure that this image will be built and deployed by updating the .circleci/config.yml file in the root of the repository. Add new steps under the jobs/deploy:, workflows/test-build-images: and workflows/deploy: stanzas.", + "crumbs": [ + "Using DataHub", + "Contributing to DataHub", + "Common Administrator Tasks", + "Creating a new single user image" + ] + }, + { + "objectID": "admins/howto/new-image.html#submitting-a-pull-request", + "href": "admins/howto/new-image.html#submitting-a-pull-request", + "title": "Creating a new single user image", + "section": "Submitting a pull request", + "text": "Submitting a pull request\nFamiliarize yourself with pull requests and repo2docker , and create a fork of the datahub staging branch.\n\nSet up your git/dev environment by following the instructions here.\nCreate a new branch for this PR.\n\nTest the changes locally using repo2docker, then submit a PR to staging.\n\n\nTo use repo2docker, you have to point it at the correct image directory. For example, to build the data100 image, you would run repo2docker deployments/data100/image from the base datahub directory.\n\n\n\nCommit and push your changes to your fork of the datahub repo, and create a new pull request at https://github.com/berkeley-dsep-infra/datahub/.\nOnce the PR is merged to staging and the new image is built and pushed to Artifact Registry, you can test it out on <hub>-staging.datahub.berkeley.edu.\nChanges are only deployed to prod once the relevant CI job is completed. See https://circleci.com/gh/berkeley-dsep-infra/datahub to view CircleCI job statuses.", + "crumbs": [ + "Using DataHub", + "Contributing to DataHub", + "Common Administrator Tasks", + "Creating a new single user image" + ] + }, + { + "objectID": "admins/howto/preview-local.html", + "href": "admins/howto/preview-local.html", + "title": "Develop Documentation", + "section": "", + "text": "Navigate to the docs directory and run quarto preview. You can view the documentation in a browser while you make changes.", + "crumbs": [ + "Using DataHub", + "Contributing to DataHub", + "Common Administrator Tasks", + "Develop Documentation" + ] + }, + { + "objectID": "admins/howto/preview-local.html#live-preview", + "href": "admins/howto/preview-local.html#live-preview", + "title": "Develop Documentation", + "section": "", + "text": "Navigate to the docs directory and run quarto preview. You can view the documentation in a browser while you make changes.", + "crumbs": [ + "Using DataHub", + "Contributing to DataHub", + "Common Administrator Tasks", + "Develop Documentation" + ] + }, + { + "objectID": "admins/howto/preview-local.html#render-static-html", + "href": "admins/howto/preview-local.html#render-static-html", + "title": "Develop Documentation", + "section": "Render Static HTML", + "text": "Render Static HTML\nNavigate to the docs directory and run quarto render. This will build the endire website into the *_site* directory. You can then open files in your web browser.\nYou can also render individual files, which saves time if you do not want to render the whole site. Run quarto render ./path/to/filename.qmd, and then open the corresponding HTML file in the *_site* directory.", + "crumbs": [ + "Using DataHub", + "Contributing to DataHub", + "Common Administrator Tasks", + "Develop Documentation" + ] + }, + { + "objectID": "admins/pre-reqs.html", + "href": "admins/pre-reqs.html", + "title": "Pre-requisites", + "section": "", + "text": "Smoothly working with the JupyterHubs maintained in this repository has a number of pre-requisite skills you must possess. The rest of the documentation assumes you have at least a basic level of these skills, and know how to get help related to these technologies when necessary.", + "crumbs": [ + "Using DataHub", + "Contributing to DataHub", + "Pre-requisites" + ] + }, + { + "objectID": "admins/pre-reqs.html#basic", + "href": "admins/pre-reqs.html#basic", + "title": "Pre-requisites", + "section": "Basic", + "text": "Basic\nThese skills let you interact with the repository in a basic manner. This lets you do most 'self-service' tasks - such as adding admin users, libraries, making changes to resource allocation, etc. This doesn't give you any skills to debug things when they break, however.\n\nBasic git & GitHub skills.\nThe Git Book & GitHub Help are good resources for this.\nFamiliarity with YAML syntax.\nUnderstanding of how packages are installed in the languages we support.\nRights to merge changes into this repository on GitHub.", + "crumbs": [ + "Using DataHub", + "Contributing to DataHub", + "Pre-requisites" + ] + }, + { + "objectID": "admins/pre-reqs.html#full", + "href": "admins/pre-reqs.html#full", + "title": "Pre-requisites", + "section": "Full", + "text": "Full\nIn addition to the basic skills, you'll need the following skills to 'fully' work with this repository. Primarily, you need this to debug issues when things break -since we strive to never have things break in the same way more than twice.\n\nKnowledge of our tech stack:\n\nKubernetes\nGoogle Cloud\nHelm\nDocker\nrepo2docker\nJupyter\nLanguages we support: Python & R\n\nUnderstanding of our JupyterHub distribution, Zero to JupyterHub.\nFull access to the various cloud providers we use.", + "crumbs": [ + "Using DataHub", + "Contributing to DataHub", + "Pre-requisites" + ] + }, + { + "objectID": "policy/create_policy.html", + "href": "policy/create_policy.html", + "title": "Process to publish policy proposals", + "section": "", + "text": "Process to publish policy proposals\n\nThe policy subfolder inside the docs folder in the datahub repository acts as a single source of truth for all our policy-related proposals.\nEvery PR related to a specific policy will go through multiple reviews from the team before getting finalized and merged. Reviewers should be explicitly assigned in order to seek the required approval prior to merging the PR.\nEach policy issue area will get mapped to a specific policy document. Eg: The policy to create a new hub is currently mapped to the policy_create_hubs.rst file.", + "crumbs": [ + "Using DataHub", + "Policy", + "Process to publish policy proposals" + ] + }, + { + "objectID": "policy/storage-retention.html", + "href": "policy/storage-retention.html", + "title": "Storage Retention Policy", + "section": "", + "text": "No non-hidden files in the user's home directory that have been modified in the last 6 months.\n\n\n\n\nZip the whole home directory\nUpload it to Google drive of a SPA created for this purpose\nShare the ZIP file in the Google Drive with the user." + }, + { + "objectID": "policy/storage-retention.html#policy", + "href": "policy/storage-retention.html#policy", + "title": "Storage Retention Policy", + "section": "", + "text": "No non-hidden files in the user's home directory that have been modified in the last 6 months.\n\n\n\n\nZip the whole home directory\nUpload it to Google drive of a SPA created for this purpose\nShare the ZIP file in the Google Drive with the user." + }, + { + "objectID": "policy/storage-retention.html#rationale", + "href": "policy/storage-retention.html#rationale", + "title": "Storage Retention Policy", + "section": "Rationale", + "text": "Rationale\nToday (6 Feb 2020), we have 18,623 home directories in datahub. Most of these users used datahub in previous semesters, have not logged in for a long time, and will probably never log in again. This costs us a lot of money in disk space - we will have to forever expand disk space.\nBy cleaning it up after 6 months of non-usage, we will not affect any current users - just folks who haven't logged in for a long time. Archiving the contents would make sure people still have access to their old work, without leaving the burden of maintaining it forever on us." + }, + { + "objectID": "policy/storage-retention.html#why-google-drive", + "href": "policy/storage-retention.html#why-google-drive", + "title": "Storage Retention Policy", + "section": "Why Google Drive?", + "text": "Why Google Drive?\nWe can also perform access control easily with Google Drive." + }, + { + "objectID": "policy/storage-retention.html#alternatives", + "href": "policy/storage-retention.html#alternatives", + "title": "Storage Retention Policy", + "section": "Alternatives", + "text": "Alternatives\n\nEmail it to our users. This will most likely be rejected by most mail servers as the home directory will be too big an attachment\nPut it in Google Cloud Nearline storage, build a token based access control mechanism on top, and email this link to the users. We will need to probably clean this up every 18 months or so for cost reasons. This is the viable alternative, if we decide to not use Google Drive" + }, + { + "objectID": "policy/principles.html", + "href": "policy/principles.html", + "title": "Principles to be considered while creating new policies", + "section": "", + "text": "Kickstarting the iterative process of defining the core values for the product and the team to ensure that our decision-making is aligned to the values we commonly agree upon.\n\n\nWhenever we see a problem, we always think “How can we solve this problem for the next 1000/10000 users?” not just for the user we are solving the problem currently. Thus, we balance long-term orientation with a strong bias towards solving the user’s immediate needs.\n\n\n\nWe want to be mindful that the most users we serve are novice audiences who are not experts in programming/data science. It can be a challenging experience to learn the language, tools, and content together, and handling outages/product issues can be an added cognitive overload that can affect students’ morale. As a result, it is essential to focus on the user experience for the entire teaching team, and the students so that they are spending the time on what they actually want to do with Datahub. This means we will go out of our way to support the needs of the teaching team and the students to ensure that they have the best experience possible while having additional discomfort at our end in the short term. The product gained traction because of the exceptional user centricity which led to solving complex problems, reducing friction for users, and easing their user experience. Now that we have scaled to 10,000+ users, it is equally important to keep the ethos that took us from 0 to 10k users in mind and not operate with the mentality of a standardized service. We are an early-stage innovation with 10,000+ users and not a mature stage product that is poised for stability.\n\n\n\nWe want to offer an equitable experience to all students irrespective of their class size, compute requirements or affiliation to STEM-based courses etc. In addition, we want non STEM users to have the same or in some cases better user experience than their STEM counterparts. This means we may prioritize R-related use cases over Jupyter stuff as most of our audience in humanities and social science prefer using R for their data science workflow.\n\n\n\nWe want to be the best stewards of CDSS money. We value being thoughtful and frugal about spending the limited resources we have on the right things. However, when it comes to a trade-off between frugality and user-centricity, we always take the extra effort to think about how we can solve the user problems first.\n\n\n\nWe are not a big team, and we don’t have a lot of experts related to Marketing, Design, Data Science, etc. However, we want to be resourceful with the limited resources we have and engage with the open-source ecosystem, our partners across Berkeley, and the instructors/students to work towards our mission.", + "crumbs": [ + "Using DataHub", + "Policy", + "Principles to be considered while creating new policies" + ] + }, + { + "objectID": "policy/principles.html#balance-long-term-orientation-with-bias-towards-action-in-the-short-term", + "href": "policy/principles.html#balance-long-term-orientation-with-bias-towards-action-in-the-short-term", + "title": "Principles to be considered while creating new policies", + "section": "", + "text": "Whenever we see a problem, we always think “How can we solve this problem for the next 1000/10000 users?” not just for the user we are solving the problem currently. Thus, we balance long-term orientation with a strong bias towards solving the user’s immediate needs.", + "crumbs": [ + "Using DataHub", + "Policy", + "Principles to be considered while creating new policies" + ] + }, + { + "objectID": "policy/principles.html#user-centricity", + "href": "policy/principles.html#user-centricity", + "title": "Principles to be considered while creating new policies", + "section": "", + "text": "We want to be mindful that the most users we serve are novice audiences who are not experts in programming/data science. It can be a challenging experience to learn the language, tools, and content together, and handling outages/product issues can be an added cognitive overload that can affect students’ morale. As a result, it is essential to focus on the user experience for the entire teaching team, and the students so that they are spending the time on what they actually want to do with Datahub. This means we will go out of our way to support the needs of the teaching team and the students to ensure that they have the best experience possible while having additional discomfort at our end in the short term. The product gained traction because of the exceptional user centricity which led to solving complex problems, reducing friction for users, and easing their user experience. Now that we have scaled to 10,000+ users, it is equally important to keep the ethos that took us from 0 to 10k users in mind and not operate with the mentality of a standardized service. We are an early-stage innovation with 10,000+ users and not a mature stage product that is poised for stability.", + "crumbs": [ + "Using DataHub", + "Policy", + "Principles to be considered while creating new policies" + ] + }, + { + "objectID": "policy/principles.html#equity", + "href": "policy/principles.html#equity", + "title": "Principles to be considered while creating new policies", + "section": "", + "text": "We want to offer an equitable experience to all students irrespective of their class size, compute requirements or affiliation to STEM-based courses etc. In addition, we want non STEM users to have the same or in some cases better user experience than their STEM counterparts. This means we may prioritize R-related use cases over Jupyter stuff as most of our audience in humanities and social science prefer using R for their data science workflow.", + "crumbs": [ + "Using DataHub", + "Policy", + "Principles to be considered while creating new policies" + ] + }, + { + "objectID": "policy/principles.html#frugality", + "href": "policy/principles.html#frugality", + "title": "Principles to be considered while creating new policies", + "section": "", + "text": "We want to be the best stewards of CDSS money. We value being thoughtful and frugal about spending the limited resources we have on the right things. However, when it comes to a trade-off between frugality and user-centricity, we always take the extra effort to think about how we can solve the user problems first.", + "crumbs": [ + "Using DataHub", + "Policy", + "Principles to be considered while creating new policies" + ] + }, + { + "objectID": "policy/principles.html#resourcefulness", + "href": "policy/principles.html#resourcefulness", + "title": "Principles to be considered while creating new policies", + "section": "", + "text": "We are not a big team, and we don’t have a lot of experts related to Marketing, Design, Data Science, etc. However, we want to be resourceful with the limited resources we have and engage with the open-source ecosystem, our partners across Berkeley, and the instructors/students to work towards our mission.", + "crumbs": [ + "Using DataHub", + "Policy", + "Principles to be considered while creating new policies" + ] + }, + { + "objectID": "incidents/2019-02-25-k8s-api-server-down.html", + "href": "incidents/2019-02-25-k8s-api-server-down.html", + "title": "Azure Kubernetes API Server outage causes downtime", + "section": "", + "text": "On February 25, 2019, the kubernetes API server for data100 became unreachable, causing new resource creation requests to fail. When the hub pod was stopped, a new one did not get created leading users to see a proxy error message. The hub came back online after a new cluster was created, storage was migrated to the new cluster, and then DNS was updated." + }, + { + "objectID": "incidents/2019-02-25-k8s-api-server-down.html#summary", + "href": "incidents/2019-02-25-k8s-api-server-down.html#summary", + "title": "Azure Kubernetes API Server outage causes downtime", + "section": "", + "text": "On February 25, 2019, the kubernetes API server for data100 became unreachable, causing new resource creation requests to fail. When the hub pod was stopped, a new one did not get created leading users to see a proxy error message. The hub came back online after a new cluster was created, storage was migrated to the new cluster, and then DNS was updated." + }, + { + "objectID": "incidents/2019-02-25-k8s-api-server-down.html#timeline", + "href": "incidents/2019-02-25-k8s-api-server-down.html#timeline", + "title": "Azure Kubernetes API Server outage causes downtime", + "section": "Timeline", + "text": "Timeline\n\n2019-02-25 11:21a\nThe kubernetes API server became unavailable. The time of this event was determine post mortem via the cloud provider’s monitoring metrics.\n\n\n11:34\nInfrastructure staff is notified in slack. It is determined that the hub proxy is up, but kubectl fails for all operations. The API server is unreachable.\n\n\n11:57\nA C ticket is created via the cloud provider’s portal. There are no other reports on the cloud provider’s status page. Infrastructure staff consider creating a new cluster and attaching storage to it.\n\n\n12:28p\nAn email is sent to contacts with the cloud provider asking for the ability to escalate the issue. C tickets have 8 hour response times.\n\n\n12:40\nIt is decided that rather than moving the nfs server from one cluster to another, the ZFS pool should be migrated to a new nfs server in the new cluster. The new cluster is requested.\n\n\n12:43 - 12:49\nCloud provider responds and calls infrastructure staff.\n\n\n13:00\nThe cluster is created and a new nfs server is requested in the cluster’s resource group.\n\n\n13:10\nData volumes are detached from the old server and moved from the old cluster’s resource group to the new one." + }, + { + "objectID": "incidents/2019-02-25-k8s-api-server-down.html#section-6", + "href": "incidents/2019-02-25-k8s-api-server-down.html#section-6", + "title": "Azure Kubernetes API Server outage causes downtime", + "section": "13:20", + "text": "13:20\nThe ZFS pool is imported into the new nfs server. helm is run to create the staging hub." + }, + { + "objectID": "incidents/2019-02-25-k8s-api-server-down.html#section-7", + "href": "incidents/2019-02-25-k8s-api-server-down.html#section-7", + "title": "Azure Kubernetes API Server outage causes downtime", + "section": "13:34", + "text": "13:34\nhelm completes and the staging hub is up. DNS is updated. helm is run to create the prod hub." + }, + { + "objectID": "incidents/2019-02-25-k8s-api-server-down.html#section-8", + "href": "incidents/2019-02-25-k8s-api-server-down.html#section-8", + "title": "Azure Kubernetes API Server outage causes downtime", + "section": "13:41", + "text": "13:41\nprod hub is up and DNS is updated.\n\n13:46\nCloud provider asks their upstream why the API server went down.\n\n\n14:48\nletsencrypt on prod can successfully retrieve an SSL certificate enabling students to connect." + }, + { + "objectID": "incidents/2019-02-25-k8s-api-server-down.html#conclusion", + "href": "incidents/2019-02-25-k8s-api-server-down.html#conclusion", + "title": "Azure Kubernetes API Server outage causes downtime", + "section": "Conclusion", + "text": "Conclusion\nThe managed kubernetes service went down for as yet unknown reasons. A new cluster was created and existing storage was attached to it." + }, + { + "objectID": "incidents/2019-02-25-k8s-api-server-down.html#action-items", + "href": "incidents/2019-02-25-k8s-api-server-down.html#action-items", + "title": "Azure Kubernetes API Server outage causes downtime", + "section": "Action items", + "text": "Action items\n\nMonitoring\n\nRemotely monitor the API server endpoint and send an alert when it is down." + }, + { + "objectID": "incidents/2019-02-25-k8s-api-server-down.html#update", + "href": "incidents/2019-02-25-k8s-api-server-down.html#update", + "title": "Azure Kubernetes API Server outage causes downtime", + "section": "Update", + "text": "Update\nCloud provider’s response on 3/15/2019:\n\nAfter reviewing all the logs we have, our backend advised below.\n\nWe’ve identified that there were problems with the infrastructure hosting your cluster which caused the kubelet on the master stopped responding. There were alerts regarding this issue which were addressed by our teams. We’re working to reduce the impact of these events as much as possible.\n\nPlease be advised this is not related with region stability\nFeel free to let me know if any further questions and thanks for your patience." + }, + { + "objectID": "incidents/2018-02-06-hub-db-dir.html", + "href": "incidents/2018-02-06-hub-db-dir.html", + "title": "Azure PD refuses to detach, causing downtime for data100", + "section": "", + "text": "On February 5, 2018, a PR was merged into the production cluster for Data 100. The CI got as far as running helm upgrade but the hub’s persistent volume would not detach from the old hub. The new hub pod had to wait on the hub-db-dir volume and so would not start. The persistent volume claim was ultimately deleted. The subsequent helm upgrade created a new volume and a new hub pod was able to start." + }, + { + "objectID": "incidents/2018-02-06-hub-db-dir.html#summary", + "href": "incidents/2018-02-06-hub-db-dir.html#summary", + "title": "Azure PD refuses to detach, causing downtime for data100", + "section": "", + "text": "On February 5, 2018, a PR was merged into the production cluster for Data 100. The CI got as far as running helm upgrade but the hub’s persistent volume would not detach from the old hub. The new hub pod had to wait on the hub-db-dir volume and so would not start. The persistent volume claim was ultimately deleted. The subsequent helm upgrade created a new volume and a new hub pod was able to start." + }, + { + "objectID": "incidents/2018-02-06-hub-db-dir.html#timeline", + "href": "incidents/2018-02-06-hub-db-dir.html#timeline", + "title": "Azure PD refuses to detach, causing downtime for data100", + "section": "Timeline", + "text": "Timeline\n\n2018-02-05 20:57\nA PR for data100 is merged.\n\n\n21:20\nTowards the end of the build, the upgrade fails because the new hub pod does not start up. The hub-db-dir volume remains bound to the old hub pod which is stuck in a Terminating state. The hub pod only completes termination when delete is passed a grace period of 0. The hub volume remains bound however.\n\n\n21:30\nCI is restarted but by the time helm is run, the hub-db-dir volume remains bound and cannot be attached to the new hub pod. Additionally, helm errors because the jupyterhub-internal ingress object cannot be found even though it does exist.\n\n\n21:45\nSince it cannot be determined what node the volume is bound to, the volume is deleted. The jupyterhub-internal ingress object is also deleted prior to restarting the CI build.\n\n\n22:05\nThe hub comes up with a new hub-db-dir volume. CI fails due to the same jupyterhub-internal object error." + }, + { + "objectID": "incidents/2018-02-06-hub-db-dir.html#conclusion", + "href": "incidents/2018-02-06-hub-db-dir.html#conclusion", + "title": "Azure PD refuses to detach, causing downtime for data100", + "section": "Conclusion", + "text": "Conclusion\nAzure was not able to detach the hub-db-dir azure disk from the hub pod. The pvc is deleted and the hub comes up on the next CI run." + }, + { + "objectID": "incidents/2018-02-06-hub-db-dir.html#action-items", + "href": "incidents/2018-02-06-hub-db-dir.html#action-items", + "title": "Azure PD refuses to detach, causing downtime for data100", + "section": "Action items", + "text": "Action items\n\nProcess\n\nStore the hub db in a cloud database to eliminate reliance on hub volume.\nDowngrade helm to 2.6.x to see if this fixes the helm upgrades." + }, + { + "objectID": "incidents/2024-core-node-incidents.html", + "href": "incidents/2024-core-node-incidents.html", + "title": "Core nodes being autoscaled, configurable HTTP proxy crashes", + "section": "", + "text": "Over the past couple of years, all of our production hubs have been having persistent issues with our core nodes having major load spikes during ‘peak’ usage and the impacted node (which hosts all of our hub and proxy pods – not user pods) crashing. This would then impact every hub, causing all users to see 503 http errors until a new node finishing spinning up. We also suspect that the ‘white screen’ issue some users see after logging in is related to this.\nThese outages would usually last anywhere from 45 to 90+ minutes. The first chunk of time would be the core node getting wedged and eventually dying, and the last 15-20 minutes would be spent on the new node spinning up and services restarting.\nMany of these incidents are tracked here.\nWe have spent much time working to debug and track this, including with our friends at 2i2c. After much deep-diving and debugging, we were able to narrow this down to a memory (socket?) leak in the configurable http proxy.\nAfter some back and forth w/the upstream maintainers, we received a forked version of the proxy to test.\nDuring this testing, we triggered some user-facing downtime, as well as the proxy itself crashing and causing small outages.\nAnother (unrelated) issue that impacted users was that GKE was autoscaling our core pool (where the hub and proxy pods run) node to zero. Since it takes about 10-15m for a new node to spin up, all hubs were inaccessible until the new node was deployed.\nUser Impact:\n\n\nOn the afternoon of Feb 7th, I was testing the fork of the proxy + some revised timeouts on the Data 8 hub. This caused the proxy to crash every ~20m over the course of a few hours. I then reverted the fork and timeout changes.\nDuring the latter half of February, our core pool was being autoscaled from 1 to 0 nodes. This caused multiple short outages.\nThe proxy pods for Data 8 and Data 100 (our largest classes) crashed continually under load (~250+ simultaneous users), causing users to receive 500 HTTP errors until the pod automatically restarted." + }, + { + "objectID": "incidents/2024-core-node-incidents.html#summary", + "href": "incidents/2024-core-node-incidents.html#summary", + "title": "Core nodes being autoscaled, configurable HTTP proxy crashes", + "section": "", + "text": "Over the past couple of years, all of our production hubs have been having persistent issues with our core nodes having major load spikes during ‘peak’ usage and the impacted node (which hosts all of our hub and proxy pods – not user pods) crashing. This would then impact every hub, causing all users to see 503 http errors until a new node finishing spinning up. We also suspect that the ‘white screen’ issue some users see after logging in is related to this.\nThese outages would usually last anywhere from 45 to 90+ minutes. The first chunk of time would be the core node getting wedged and eventually dying, and the last 15-20 minutes would be spent on the new node spinning up and services restarting.\nMany of these incidents are tracked here.\nWe have spent much time working to debug and track this, including with our friends at 2i2c. After much deep-diving and debugging, we were able to narrow this down to a memory (socket?) leak in the configurable http proxy.\nAfter some back and forth w/the upstream maintainers, we received a forked version of the proxy to test.\nDuring this testing, we triggered some user-facing downtime, as well as the proxy itself crashing and causing small outages.\nAnother (unrelated) issue that impacted users was that GKE was autoscaling our core pool (where the hub and proxy pods run) node to zero. Since it takes about 10-15m for a new node to spin up, all hubs were inaccessible until the new node was deployed.\nUser Impact:\n\n\nOn the afternoon of Feb 7th, I was testing the fork of the proxy + some revised timeouts on the Data 8 hub. This caused the proxy to crash every ~20m over the course of a few hours. I then reverted the fork and timeout changes.\nDuring the latter half of February, our core pool was being autoscaled from 1 to 0 nodes. This caused multiple short outages.\nThe proxy pods for Data 8 and Data 100 (our largest classes) crashed continually under load (~250+ simultaneous users), causing users to receive 500 HTTP errors until the pod automatically restarted." + }, + { + "objectID": "incidents/2024-core-node-incidents.html#hub-information", + "href": "incidents/2024-core-node-incidents.html#hub-information", + "title": "Core nodes being autoscaled, configurable HTTP proxy crashes", + "section": "Hub information", + "text": "Hub information\n\nData 8\nData 100" + }, + { + "objectID": "incidents/2024-core-node-incidents.html#timeline", + "href": "incidents/2024-core-node-incidents.html#timeline", + "title": "Core nodes being autoscaled, configurable HTTP proxy crashes", + "section": "Timeline", + "text": "Timeline\n\n2024-03-05 Data8 outage\nbetween ~4pm and ~5:15pm, data8’s configurable-http-proxy (chp) was oomkilled and caused many 503 errors to be issued to the users. here’s a rough timeline of what happened (culled from grafana, gcp logs and kernel logs on the core node):\n\n\n15:12:00\n~280 concurrent users\n\n\n15:12:42\nchp “uncaught exception: write EPIPE”\n\n\n16:00:00\nproxy ram 800Mi (steady)\n\n\n16:05:00\n~300 concurrent users\n\n\n~16:05:00\nspike on proxy — cpu 181%, mem 1.06Gi –> 1.86Gi\n\n\n16:05:53\nchp healthz readiness probe failure\n\n\n16:05:56\nchp/javascript runs out of heap “Ineffective mark-compass near heap limit Allocation Failed”\n\n\n16:05:57-58\nchp restarts\n\n\n16:05:57\nnode dmesg: “TCP: request_sock_TCP: Possible SYN flooding on port 8000. Sending cookies. Check SNMP counters.”\n\n\n~16:06:00\n2.5K 503 errors\n\n\n~16:06:00 - 16:16:00\nmany many chp routes added and deleted causing 503 errors for some users\n\n\n16:16:00 - 16:49:00\neverything back to normal\n\n\n16:49:00\n~300 users (slowly decreasing)\n\n\n~16:49:00\nspike on proxy — cpu 107%, mem 814Mi –> 2.45Gi\n\n\n16:49:40\ncore node dmesg: node invoked oom-killer: gfp_mask=0xcc0(GFP_KERNEL), order=0, oom_score_adj=999\n\n\n16:50:25\nchp restarts (no heap error)\n\n\n~16:50:00\n5.7K 503 errors\n\n\n16:54:15 - 17:15:31\n300 users (slowly descreasing), 3x chp “uncaught exception: write EPIPE”, intermittent 503 errors in spikes of 30, 60, 150, hub latency 2.5sec\n\n\n18:47:19 - 18:58:10\n~120 users (constant), 3x chp “uncaught exception: write EPIPE”, intermittent 503 errors in spikes of 30, 60, hub latency 3sec\n\n\n~19:00\nthings return to normal" + }, + { + "objectID": "incidents/2024-core-node-incidents.html#what-went-wrong", + "href": "incidents/2024-core-node-incidents.html#what-went-wrong", + "title": "Core nodes being autoscaled, configurable HTTP proxy crashes", + "section": "What went wrong", + "text": "What went wrong\n\nOnly being able to test things like the forked chp in prod is dangerous and has a huge potential impact on users.\nThe configurable http proxy (chp) is written in javascript (nodejs), and under load (~250+ concurrent users) it leaks ports and eventually fills up the heap (~728M) and gets oomkilled.\nThe CPU allocation on the core node was also spiking, potentially causing login latency across all hubs.\nUpon chp restart, it can take up to 10-15m for the routing table to be repopulated. During this time most, if not all, users that were already connected to the hub will get 503 errors. Any new logins during this time will not." + }, + { + "objectID": "incidents/2024-core-node-incidents.html#where-we-got-lucky", + "href": "incidents/2024-core-node-incidents.html#where-we-got-lucky", + "title": "Core nodes being autoscaled, configurable HTTP proxy crashes", + "section": "Where we got lucky", + "text": "Where we got lucky\n\nSince we bumped the RAM allocated to the core node from 8G to 32G instances like are isolated to whatever hub’s chp begins failing, and does not impact all hubs." + }, + { + "objectID": "incidents/2024-core-node-incidents.html#action-items", + "href": "incidents/2024-core-node-incidents.html#action-items", + "title": "Core nodes being autoscaled, configurable HTTP proxy crashes", + "section": "Action items", + "text": "Action items\n\nProcess/Policy improvements\n\nWork with instructors to identify and immediately troubleshoot directly with users impacted by the white screen issue.\nSpin up a dev hub and figure out how to use hubtraf to simulate a large number of users doing work.\n\n\n\nDocumentation improvements\nNone.\n\n\nTechnical improvements\n\nContinue to track the port leak issue upstream.\nDeploy a new core pool with the same RAM and more CPU (Jira DH-259).\nSpin up a dev hub and figure out how to use hubtraf to simulate a large number of users doing work." + }, + { + "objectID": "incidents/2024-core-node-incidents.html#actions", + "href": "incidents/2024-core-node-incidents.html#actions", + "title": "Core nodes being autoscaled, configurable HTTP proxy crashes", + "section": "Actions", + "text": "Actions\n\nIncident has been dealt with or is over\nSections above are filled out\nIncident title and after-action report is cleaned up\nAll actionable items above have linked GitHub Issues" + }, + { + "objectID": "incidents/2017-02-09-datahub-db-outage-pvc-recreate-script.html", + "href": "incidents/2017-02-09-datahub-db-outage-pvc-recreate-script.html", + "title": "", + "section": "", + "text": "import pandas as pd\nimport numpy as np\n\n\n!head pvcs.csv\n\nNAME,STATUS,VOLUME,CAPACITY,ACCESSMODES,AGE\nclaim-redacted-205,Bound,pvc-5643aadf-ddb3-11e6-98ef-42010af000c3,10Gi,RWO,21d\nclaim-redacted-1088,Bound,pvc-bc68d752-ecba-11e6-98ef-42010af000c3,10Gi,RWO,2d\nclaim-redacted-389,Bound,pvc-5d67d43e-ddcb-11e6-98ef-42010af000c3,10Gi,RWO,21d\nclaim-redacted-119,Bound,pvc-73c5d644-ddb1-11e6-98ef-42010af000c3,10Gi,RWO,21d\nclaim-redacted-64,Bound,pvc-3c2345e4-dd9f-11e6-98ef-42010af000c3,10Gi,RWO,21d\nclaim-redacted-192,Bound,pvc-51b672a8-ddb3-11e6-98ef-42010af000c3,10Gi,RWO,21d\nclaim-redacted-814,Bound,pvc-2b83ae02-dee0-11e6-98ef-42010af000c3,10Gi,RWO,20d\nclaim-redacted-775,Bound,pvc-ec1d47be-deb0-11e6-98ef-42010af000c3,10Gi,RWO,20d\nclaim-redacted-954,Bound,pvc-5a0acdc5-e3ee-11e6-98ef-42010af000c3,10Gi,RWO,13d\n\n\n\ndf = pd.DataFrame.from_csv('pvcs.csv')\ndf.head()\n\n\n\n\n\n\n\nSTATUS\nVOLUME\nCAPACITY\nACCESSMODES\nAGE\n\n\nNAME\n\n\n\n\n\n\n\n\n\nclaim-redacted-205\nBound\npvc-5643aadf-ddb3-11e6-98ef-42010af000c3\n10Gi\nRWO\n21d\n\n\nclaim-redacted-1088\nBound\npvc-bc68d752-ecba-11e6-98ef-42010af000c3\n10Gi\nRWO\n2d\n\n\nclaim-redacted-389\nBound\npvc-5d67d43e-ddcb-11e6-98ef-42010af000c3\n10Gi\nRWO\n21d\n\n\nclaim-redacted-119\nBound\npvc-73c5d644-ddb1-11e6-98ef-42010af000c3\n10Gi\nRWO\n21d\n\n\nclaim-redacted-64\nBound\npvc-3c2345e4-dd9f-11e6-98ef-42010af000c3\n10Gi\nRWO\n21d\n\n\n\n\n\n\n\n\ndf['username'] = np.array(df.index.str.extract('\\w+-([\\w-]+)-\\d+$'))\ndf['id'] = np.array(df.index.str.extract('\\w+-\\w+-(\\d+)$'))\ndf.head()\n\n/Users/redacted/anaconda3/lib/python3.5/site-packages/ipykernel/__main__.py:1: FutureWarning: currently extract(expand=None) means expand=False (return Index/Series/DataFrame) but in a future version of pandas this will be changed to expand=True (return DataFrame)\n if __name__ == '__main__':\n/Users/redacted/anaconda3/lib/python3.5/site-packages/ipykernel/__main__.py:2: FutureWarning: currently extract(expand=None) means expand=False (return Index/Series/DataFrame) but in a future version of pandas this will be changed to expand=True (return DataFrame)\n from ipykernel import kernelapp as app\n\n\n\n\n\n\n\n\nSTATUS\nVOLUME\nCAPACITY\nACCESSMODES\nAGE\nusername\nid\n\n\n\nNAME\n\n\n\n\n\n\n\n\n\n\n\n\nclaim-redacted-205\nBound\npvc-5643aadf-ddb3-11e6-98ef-42010af000c3\n10Gi\nRWO\n21d\nredacted\n\n205\n\n\nclaim-redacted-1088\nBound\npvc-bc68d752-ecba-11e6-98ef-42010af000c3\n10Gi\nRWO\n2d\nredacted\n1088\n\n\n\nclaim-redacted-389\nBound\npvc-5d67d43e-ddcb-11e6-98ef-42010af000c3\n10Gi\nRWO\n21d\nredacted\n389\n\n\n\nclaim-redacted-119\nBound\npvc-73c5d644-ddb1-11e6-98ef-42010af000c3\n10Gi\nRWO\n21d\nredacted\n119\n\n\n\nclaim-redacted-64\nBound\npvc-3c2345e4-dd9f-11e6-98ef-42010af000c3\n10Gi\nRWO\n21d\nredacted\n64\n\n\n\n\n\n\n\n\n\ndf.tail()\n\n\n\n\n\n\n\nSTATUS\nVOLUME\nCAPACITY\nACCESSMODES\nAGE\nusername\nid\n\n\nNAME\n\n\n\n\n\n\n\n\n\n\n\nclaim-redacted-562\nBound\npvc-4418d1d6-de0a-11e6-98ef-42010af000c3\n10Gi\nRWO\n21d\nredacted\n562\n\n\nclaim-redacted-400\nBound\npvc-2399fe54-ddcf-11e6-98ef-42010af000c3\n10Gi\nRWO\n21d\nredacted\n400\n\n\nclaim-redacted-946\nBound\npvc-294cb2c7-e35e-11e6-98ef-42010af000c3\n10Gi\nRWO\n14d\nredacted\n946\n\n\nclaim-redacted-900\nBound\npvc-f6859607-e1c0-11e6-98ef-42010af000c3\n10Gi\nRWO\n16d\nredacted\n900\n\n\nhub-db-dir\nBound\npvc-ea8a0bef-dd44-11e6-98ef-42010af000c3\n10Gi\nRWO\n22d\nNaN\nNaN\n\n\n\n\n\n\n\n\nvalids = df[~df['AGE'].str.contains('m')].dropna()\nvalids = valids[valids['id'] != '14']\nvalids.head()\n\n\n\n\n\n\n\nSTATUS\nVOLUME\nCAPACITY\nACCESSMODES\nAGE\nusername\nid\n\n\nNAME\n\n\n\n\n\n\n\n\n\n\n\nclaim-redacted-205\nBound\npvc-5643aadf-ddb3-11e6-98ef-42010af000c3\n10Gi\nRWO\n21d\nredacted\n205\n\n\nclaim-redacted-1088\nBound\npvc-bc68d752-ecba-11e6-98ef-42010af000c3\n10Gi\nRWO\n2d\nredacted\n1088\n\n\nclaim-redacted-389\nBound\npvc-5d67d43e-ddcb-11e6-98ef-42010af000c3\n10Gi\nRWO\n21d\nredacted\n389\n\n\nclaim-redacted-119\nBound\npvc-73c5d644-ddb1-11e6-98ef-42010af000c3\n10Gi\nRWO\n21d\nredacted\n119\n\n\nclaim-redacted-64\nBound\npvc-3c2345e4-dd9f-11e6-98ef-42010af000c3\n10Gi\nRWO\n21d\nredacted\n64\n\n\n\n\n\n\n\n\nvalids['username'].head().value_counts()\n\nredacted 1\nredacted 1\nredacted 1\nredacted 1\nredacted 1\nName: username, dtype: int64\n\n\n\nvalids['id'].value_counts().head()\n\n400 1\n90 1\n756 1\n488 1\n1029 1\nName: id, dtype: int64\n\n\n\nlen(valids['id'])\n\n1105\n\n\n\nimport sqlite3\nconn = sqlite3.connect('jupyterhub.sqlite')\nc = conn.cursor()\n\n\nc.execute('PRAGMA TABLE_INFO({})'.format('users'))\n\nc.fetchall()\n\n[(0, 'id', 'INTEGER', 1, None, 1),\n (1, 'name', 'VARCHAR(1023)', 0, None, 0),\n (2, '_server_id', 'INTEGER', 0, None, 0),\n (3, 'admin', 'BOOLEAN', 0, None, 0),\n (4, 'last_activity', 'DATETIME', 0, None, 0),\n (5, 'cookie_id', 'VARCHAR(1023)', 0, None, 0),\n (6, 'state', 'TEXT', 0, None, 0),\n (7, 'auth_state', 'TEXT', 0, None, 0)]\n\n\n\nc.execute('SELECT * FROM users LIMIT 20')\ncurrent_users = c.fetchall()\ncurrent_users[:2]\n\n[(1,\n 'redacted',\n None,\n 1,\n '2017-02-09 09:07:03.936620',\n '8ec09f8def774b668e838d1e70e00329',\n None,\n None),\n (2,\n 'redacted',\n None,\n 1,\n '2017-02-09 09:07:03.938610',\n 'c98f59afc1fe4a70b18b451ac1190d45',\n None,\n None)]\n\n\n\nadmins = {user[1] for user in current_users if user[3] == 1}\nadmins\n\n{'redacted',\n 'redacted',\n 'redacted',\n 'redacted',\n 'redacted',\n 'redacted',\n 'redacted',\n 'redacted',\n 'redacted',\n 'redacted',\n 'redacted',\n 'redacted',\n 'redacted',\n 'redacted',\n 'redacted',\n 'redacted',\n 'redacted',\n 'redacted',\n 'redacted',\n 'redacted'}\n\n\n\n# I just did this manually in the sqlite3 CLI\n# c.execute('DROP FROM users where id > -1')\n# c.fetchall()\n\n\n---------------------------------------------------------------------------\nOperationalError Traceback (most recent call last)\n<ipython-input-73-a8eb9e4f2c5d> in <module>()\n----> 1 c.execute('DROP FROM users where id > -1')\n 2 c.fetchall()\n\nOperationalError: near \"FROM\": syntax error\n\n\n\n\nimport datetime\nimport itertools\n\nrecords = list(zip(\n valids['id'].astype(int),\n valids['username'],\n itertools.repeat('NULL'),\n [1 if name in admins else 0 for name in valids['username']],\n# itertools.repeat('NULL'), # Pick a random valid value\n itertools.repeat('2017-02-09 09:07:03.936620'), # Pick a random valid value\n itertools.repeat('thisisadummycookiehopefullyitworks'),\n itertools.repeat('NULL'),\n itertools.repeat('NULL')\n))\nrecords[:3]\n\n[(205,\n 'redacted',\n 'NULL',\n 0,\n '2017-02-09 09:07:03.936620',\n 'thisisadummycookiehopefullyitworks',\n 'NULL',\n 'NULL'),\n (1088,\n 'redacted',\n 'NULL',\n 0,\n '2017-02-09 09:07:03.936620',\n 'thisisadummycookiehopefullyitworks',\n 'NULL',\n 'NULL'),\n (389,\n 'redacted',\n 'NULL',\n 0,\n '2017-02-09 09:07:03.936620',\n 'thisisadummycookiehopefullyitworks',\n 'NULL',\n 'NULL')]\n\n\n\n# I hate everything\ndef record_to_sql(record):\n return \"INSERT INTO users VALUES({}, '{}', {}, '{}', '{}', '{}', {}, {})\".format(\n *record\n )\n\nsql_statements = [record_to_sql(record) for record in records]\nrecord_to_sql(records[0])\n\n\"INSERT INTO users VALUES(205, 'redacted', NULL, '0', '2017-02-09 09:07:03.936620', 'thisisadummycookiehopefullyitworks', NULL, NULL)\"\n\n\n[(0, 'id', 'INTEGER', 1, None, 1),\n (1, 'name', 'VARCHAR(1023)', 0, None, 0),\n (2, '_server_id', 'INTEGER', 0, None, 0),\n (3, 'admin', 'BOOLEAN', 0, None, 0),\n (4, 'last_activity', 'DATETIME', 0, None, 0),\n (5, 'cookie_id', 'VARCHAR(1023)', 0, None, 0),\n (6, 'state', 'TEXT', 0, None, 0),\n (7, 'auth_state', 'TEXT', 0, None, 0)]\n\nwith conn:\n c = conn.cursor()\n for statement in sql_statements:\n c.execute(statement)\n\n\nc.execute('SELECT * FROM users LIMIT 20')\nc.fetchall()\n\n[(2,\n 'redacted',\n None,\n 0,\n '2017-02-09 09:07:03.936620',\n 'thisisadummycookiehopefullyitworks',\n None,\n None),\n (3,\n 'redacted',\n None,\n 0,\n '2017-02-09 09:07:03.936620',\n 'thisisadummycookiehopefullyitworks',\n None,\n None),\n (4,\n 'redacted',\n None,\n 0,\n '2017-02-09 09:07:03.936620',\n 'thisisadummycookiehopefullyitworks',\n None,\n None),\n (5,\n 'redacted',\n None,\n 0,\n '2017-02-09 09:07:03.936620',\n 'thisisadummycookiehopefullyitworks',\n None,\n None),\n (6,\n 'redacted',\n None,\n 1,\n '2017-02-09 09:07:03.936620',\n 'thisisadummycookiehopefullyitworks',\n None,\n None),\n (7,\n 'redacted',\n None,\n 0,\n '2017-02-09 09:07:03.936620',\n 'thisisadummycookiehopefullyitworks',\n None,\n None),\n (8,\n 'redacted',\n None,\n 0,\n '2017-02-09 09:07:03.936620',\n 'thisisadummycookiehopefullyitworks',\n None,\n None),\n (9,\n 'redacted',\n None,\n 0,\n '2017-02-09 09:07:03.936620',\n 'thisisadummycookiehopefullyitworks',\n None,\n None),\n (10,\n 'redacted',\n None,\n 0,\n '2017-02-09 09:07:03.936620',\n 'thisisadummycookiehopefullyitworks',\n None,\n None),\n (11,\n 'redacted',\n None,\n 0,\n '2017-02-09 09:07:03.936620',\n 'thisisadummycookiehopefullyitworks',\n None,\n None),\n (12,\n 'redacted',\n None,\n 0,\n '2017-02-09 09:07:03.936620',\n 'thisisadummycookiehopefullyitworks',\n None,\n None),\n (13,\n 'redacted',\n None,\n 0,\n '2017-02-09 09:07:03.936620',\n 'thisisadummycookiehopefullyitworks',\n None,\n None),\n (15,\n 'redacted',\n None,\n 0,\n '2017-02-09 09:07:03.936620',\n 'thisisadummycookiehopefullyitworks',\n None,\n None),\n (17,\n 'redacted',\n None,\n 0,\n '2017-02-09 09:07:03.936620',\n 'thisisadummycookiehopefullyitworks',\n None,\n None),\n (18,\n 'redacted',\n None,\n 0,\n '2017-02-09 09:07:03.936620',\n 'thisisadummycookiehopefullyitworks',\n None,\n None),\n (19,\n 'redacted',\n None,\n 1,\n '2017-02-09 09:07:03.936620',\n 'thisisadummycookiehopefullyitworks',\n None,\n None),\n (20,\n 'redacted',\n None,\n 1,\n '2017-02-09 09:07:03.936620',\n 'thisisadummycookiehopefullyitworks',\n None,\n None),\n (21,\n 'redacted',\n None,\n 1,\n '2017-02-09 09:07:03.936620',\n 'thisisadummycookiehopefullyitworks',\n None,\n None),\n (22,\n 'redacted',\n None,\n 0,\n '2017-02-09 09:07:03.936620',\n 'thisisadummycookiehopefullyitworks',\n None,\n None),\n (24,\n 'redacted',\n None,\n 0,\n '2017-02-09 09:07:03.936620',\n 'thisisadummycookiehopefullyitworks',\n None,\n None)]" + }, + { + "objectID": "incidents/2018-01-26-hub-slow-startup.html", + "href": "incidents/2018-01-26-hub-slow-startup.html", + "title": "Hub starts up very slow, causing outage for users", + "section": "", + "text": "On January 26, 2018, a new version of the helm chart was being installed on the production hub. Though the pod prepuller worked fine on the staging cluster, the prepuller never successfully finished on prod. This caused the CI to error because helm ran for too long. Additionally, the hub was taking a very long time to check user routes. After users were deleted in the hub’s orm and the hub was restarted, it came back up fairly quickly." + }, + { + "objectID": "incidents/2018-01-26-hub-slow-startup.html#summary", + "href": "incidents/2018-01-26-hub-slow-startup.html#summary", + "title": "Hub starts up very slow, causing outage for users", + "section": "", + "text": "On January 26, 2018, a new version of the helm chart was being installed on the production hub. Though the pod prepuller worked fine on the staging cluster, the prepuller never successfully finished on prod. This caused the CI to error because helm ran for too long. Additionally, the hub was taking a very long time to check user routes. After users were deleted in the hub’s orm and the hub was restarted, it came back up fairly quickly." + }, + { + "objectID": "incidents/2018-01-26-hub-slow-startup.html#timeline", + "href": "incidents/2018-01-26-hub-slow-startup.html#timeline", + "title": "Hub starts up very slow, causing outage for users", + "section": "Timeline", + "text": "Timeline\n\n2018-01-26 15:00\nThe helm chart for datahub was upgraded to a beta of v0.6 to make use of a new image puller. This was merged into the staging branch, successfully tested on the staging, and passed CI checks on prod. It was then merged to prod.\n\n\n15:15\nhelm times out because the prepuller never completes. It is determined that the master node on staging is cordoned while the master node on prod is not and has:\ntaints:\n - effect: NoSchedule\n key: node-role.kubernetes.io/master\n timeAdded: null\n value: \"true\"\nThe master is cordoned on prod and a new build is started in CI.\n\n\n15:33\nAfter CI times out again due to the prepuller, it is discovered that the master node has been uncordoned. Though the hub and proxy pods restart, the hub is taking a very long time to check user routes. It is slower than the most recent hub restart which was itself slow enough to warrant a new issue on jupyterhub, https://github.com/jupyterhub/jupyterhub/issues/1633.\n\n\n13:40\nIt is decided that the most expedient way to get the hub up is to delete users from the orm.\n\n\n13:50\nThe following command is run after the database is backed up:\ndelete from users where users.id in (select users.id from users join spawners on spawners.user_id = users.id where server_id is null);\ndeleting 4902 records. The hub pod is deleted and the hub comes up shortly after." + }, + { + "objectID": "incidents/2018-01-26-hub-slow-startup.html#conclusion", + "href": "incidents/2018-01-26-hub-slow-startup.html#conclusion", + "title": "Hub starts up very slow, causing outage for users", + "section": "Conclusion", + "text": "Conclusion\nAt 5000, the hub takes long enough to restart to inconvenience the number of active users at any one time." + }, + { + "objectID": "incidents/2018-01-26-hub-slow-startup.html#action-items", + "href": "incidents/2018-01-26-hub-slow-startup.html#action-items", + "title": "Hub starts up very slow, causing outage for users", + "section": "Action items", + "text": "Action items\n\nProcess\n\nThe prepuller should be fixed so that helm does not time out.\nThe hub route checking should be parallelized so that startup is not slow.\nThe staging hub should be seeded with users so that scaling issues can be exposed prior to reaching production." + }, + { + "objectID": "incidents/2017-02-24-proxy-death-incident.html", + "href": "incidents/2017-02-24-proxy-death-incident.html", + "title": "Proxy eviction strands user", + "section": "", + "text": "On the evening of Feb 23, several students started experiencing 500 errors in trying to access datahub. The proxy had died because of a known issue, and it took a while for the hub to re-add all the user routes to the proxy. Some students’ needed their servers to be manually restarted, due to a JupyterHub spawner bug that is showing up at scale. Everything was fixed in about 40 minutes." + }, + { + "objectID": "incidents/2017-02-24-proxy-death-incident.html#summary", + "href": "incidents/2017-02-24-proxy-death-incident.html#summary", + "title": "Proxy eviction strands user", + "section": "", + "text": "On the evening of Feb 23, several students started experiencing 500 errors in trying to access datahub. The proxy had died because of a known issue, and it took a while for the hub to re-add all the user routes to the proxy. Some students’ needed their servers to be manually restarted, due to a JupyterHub spawner bug that is showing up at scale. Everything was fixed in about 40 minutes." + }, + { + "objectID": "incidents/2017-02-24-proxy-death-incident.html#timeline", + "href": "incidents/2017-02-24-proxy-death-incident.html#timeline", + "title": "Proxy eviction strands user", + "section": "Timeline", + "text": "Timeline\nAll times in PST\n\n21:10:57\nThe proxy pod is evicted, due to a known issue that is currently being worked on. Users start running into issue now, with connection failures.\n\n\n21:11:04\nNew proxy pod is started by kubernetes, and starts accepting connections. However, the JupyterHub model currently has the proxy starting with no state about user routes, and so the users’ requests aren’t being routed to their notebook pods. This manifests as errors for users.\nThe hub process is supposed to poll the proxy every 300s, and repopulate the route table when it notices it is empty. The hub does this at some point in the next 300s (we do not know when), and starts repopulating the route table. As routes get added for currently users, their notebook starts working again.\n\n\n21:11:52\nThe repopulate process starts running into issues - it is making far too many http requests (to the kubernetes and proxy APIs) that it starts running into client side limits on tornado http client (which is what we use to make these requests). This causes them to time out on the request queue. We were running into https://github.com/tornadoweb/tornado/issues/1400. Not all requests fail - for those that succeed, the students are able to access their notebooks.\nThe repopulate process takes a while to process, and errors for a lot of students who are left with notebook in inconsistent state - JupyterHub thinks their notebook is running but it isn’t, or vice versa. Lots of 500s for users.\n\n\n21:14\nReports of errors start reaching the Slack channel + Piazza.\nThe repopulate process keeps being retried, and notebooks for users slowly come back. Some users are ‘stuck’ in a bad state, however - their notebook isn’t running, but JupyterHub thinks it is (or vice versa).\n\n\n21:34\nMost users are fine by now. For those still with problems, a forced delete from the admin interface + a start works, since this forces JupyterHub to really check if they’re there or not.\n\n\n22:03\nLast reported user with 500 error is fixed, and datahub is fully operational again." + }, + { + "objectID": "incidents/2017-02-24-proxy-death-incident.html#conclusion", + "href": "incidents/2017-02-24-proxy-death-incident.html#conclusion", + "title": "Proxy eviction strands user", + "section": "Conclusion", + "text": "Conclusion\nThis is almost a ‘perfect storm’ event. Three things colluded to make this outage happen:\n\nThe inodes issue, which causes containers to fail randomly\nThe fact that the proxy is a single point of failure with a longish recovery time in current JupyterHub architecture.\nKubeSpawner’s current design is inefficient at very high user volumes, and its request timeouts & other performance characteristics had not been tuned (because we have not needed to before).\n\nWe have both long term (~1-2 months) architectural fixes as well as short term tuning in place for all three of these issues." + }, + { + "objectID": "incidents/2017-02-24-proxy-death-incident.html#action-items", + "href": "incidents/2017-02-24-proxy-death-incident.html#action-items", + "title": "Proxy eviction strands user", + "section": "Action items", + "text": "Action items\n\nUpstream JupyterHub\n\nWork on abstracting the proxy interface, so the proxy is no longer a single point of failure. Issue\n\n\n\nUpstream KubeSpawner\n\nRe-architect the spawner to make a much smaller number of HTTP requests. DataHub has become big enough that this is a problem. Issue\nTune the HTTP client kubespawner uses. This would be an interim solution until (1) gets fixed. Issue\n\n\n\nDataHub configuration\n\nSet resource requests explicitly for hub and proxy, so they have less chance of getting evicted. Issue\nReduce the interval at which the hub checks to see if the proxy is running. PR\nSpeed up the fix for the inodes issue which is what triggered this whole issue." + }, + { + "objectID": "incidents/2022-01-20-package-dependency-upgrade-incident.html", + "href": "incidents/2022-01-20-package-dependency-upgrade-incident.html", + "title": "Hubs throwing 505 errors", + "section": "", + "text": "PR 1 and PR 2 were merged to prod between 2 AM and 2.30 AM PST on 1/20. Difference due to the commits can be viewed here\nDue to these changes, image rebuild happened which broke multiple hubs which used that image including Datahub, ISchool, R, Data 100 and Data 140 hubs.\nOne of the dependenices highlighted as part of the image build had an upgrade which resulted in R hub throwing 505 error and Data 100/140 hub throwing “Error starting Kernel”. [Yuvi to fill in the right technical information]\nUser Impact:\n\n\nR Hub was not accessible for about 6 hours. Issue affected 10+ Stat 20 GSIs planning for their first class of the semester (catering to the needs of 600+ students). Hub went down for few minutes during the instruction.\nProb 140 hub was not available till 12.15 AM PST\nData 100 hub was not available till 12.33 AM. Thankfully, assignments were not due till friday (1/21)\nFew users in Ischool were affected as they could not access R Studio" + }, + { + "objectID": "incidents/2022-01-20-package-dependency-upgrade-incident.html#summary", + "href": "incidents/2022-01-20-package-dependency-upgrade-incident.html#summary", + "title": "Hubs throwing 505 errors", + "section": "", + "text": "PR 1 and PR 2 were merged to prod between 2 AM and 2.30 AM PST on 1/20. Difference due to the commits can be viewed here\nDue to these changes, image rebuild happened which broke multiple hubs which used that image including Datahub, ISchool, R, Data 100 and Data 140 hubs.\nOne of the dependenices highlighted as part of the image build had an upgrade which resulted in R hub throwing 505 error and Data 100/140 hub throwing “Error starting Kernel”. [Yuvi to fill in the right technical information]\nUser Impact:\n\n\nR Hub was not accessible for about 6 hours. Issue affected 10+ Stat 20 GSIs planning for their first class of the semester (catering to the needs of 600+ students). Hub went down for few minutes during the instruction.\nProb 140 hub was not available till 12.15 AM PST\nData 100 hub was not available till 12.33 AM. Thankfully, assignments were not due till friday (1/21)\nFew users in Ischool were affected as they could not access R Studio" + }, + { + "objectID": "incidents/2022-01-20-package-dependency-upgrade-incident.html#hub-information", + "href": "incidents/2022-01-20-package-dependency-upgrade-incident.html#hub-information", + "title": "Hubs throwing 505 errors", + "section": "Hub information", + "text": "Hub information\n\nHub URL: https://r.datahub.berkeley.edu/ and most other hubs highlighted above" + }, + { + "objectID": "incidents/2022-01-20-package-dependency-upgrade-incident.html#timeline-if-relevant", + "href": "incidents/2022-01-20-package-dependency-upgrade-incident.html#timeline-if-relevant", + "title": "Hubs throwing 505 errors", + "section": "Timeline (if relevant)", + "text": "Timeline (if relevant)\n\n{{ 2022-01-20 Between 02:00 and 02.30 PM }}\nPR 1 and PR 2 were merged to prod. Notably, PR 1 had multiple commits related to creation of Stat 20 hub, Stat 259 hub etc..\n\n\n{{ 06:10 }}\nAndrew Bray (Stat 20 instructor) raised a github issue around 5.45 AM PST.\n\n\n{{ 07:45 }}\nYuvi quickly jumped in to make a fix to get the R hub working. However this fix resulted in breaking Stat 20 hub.\n\n\n{{ 07:53 }}\nISchool folks reported issues with using RStudio in Datahub\n\n\n{{ 08:45 }}\nYuvi fixed issue with Stat 20 and other hubs\n\n\n{{ 12:10 }}\nGSIs from Data 100 and 140 reported “Unhandled error” in their hubs\n\n\n{{ 12:15 }}\nGSIs for Data 140 hub reported that the error was fixed\n\n\n{{ 12:33 }}\nGSIs Data 100 hub reported that the error was fixed" + }, + { + "objectID": "incidents/2022-01-20-package-dependency-upgrade-incident.html#what-went-wrong", + "href": "incidents/2022-01-20-package-dependency-upgrade-incident.html#what-went-wrong", + "title": "Hubs throwing 505 errors", + "section": "What went wrong", + "text": "What went wrong\n\nR, Stat 20, Datahub, ISchool, Data 100 and 140 hubs went down around 2.30 AM PST. However, the team was aware of these issues only when users reported errors at different time intervals (as listed above)\nMultiple commits went through a single PR. Dependency package’s version upgrade broke the image build (Yuvi to fill in the required details)\n\nThings that could have gone better. Ideally these should result in concrete action items that have GitHub issues created for them and linked to under Action items." + }, + { + "objectID": "incidents/2022-01-20-package-dependency-upgrade-incident.html#where-we-got-lucky", + "href": "incidents/2022-01-20-package-dependency-upgrade-incident.html#where-we-got-lucky", + "title": "Hubs throwing 505 errors", + "section": "Where we got lucky", + "text": "Where we got lucky\nThese are good things that happened to us but not because we had planned for them.\n\nYuvi was awake at the time when issue was reported and was able to fix the issues immediately.\nClasses using hubs were not completely affected due to this outage (Data 100 did not have assignments due till 1/21 and Stat 20 had few mins of outage during instruction)" + }, + { + "objectID": "incidents/2022-01-20-package-dependency-upgrade-incident.html#action-items", + "href": "incidents/2022-01-20-package-dependency-upgrade-incident.html#action-items", + "title": "Hubs throwing 505 errors", + "section": "Action items", + "text": "Action items\nThese are only sample subheadings. Every action item should have a GitHub issue (even a small skeleton of one) attached to it, so these do not get forgotten. These issues don’t have to be in infrastructure/, they can be in other repositories.\n\nProcess/Policy improvements\n\n{{Develop manual testing process whenever a PR gets merged to staging of the major hubs (till automated test suites are written)}} link to github issue]\nDevelop a policy around when to create a new hub and what type of changes get deployed to Datahub!\n\n\n\nDocumentation improvements\n\n{{ Start writing after action reports for future outages }} [link to github issue]\n{{ summary }} [link to github issue]\n\n\n\nTechnical improvements\n\n{{ Enabling logging mechanism across all hubs to track future outages }}\n{{ Adapt 2I2C testing suite to develop automated test cases that check the sanity of the different services whenever a PR gets merged in staging}} [link to github issue]\n{{ Investigate the reason why pager duty did not throw an alert for 5xx errors when the hubs went down. Fix the alerting mechanism so that they notify all kind of errors }} [link to github issue]\n{{ Adding R Studio as part of Repo2Docker}} [link to github issue]" + }, + { + "objectID": "incidents/2022-01-20-package-dependency-upgrade-incident.html#actions", + "href": "incidents/2022-01-20-package-dependency-upgrade-incident.html#actions", + "title": "Hubs throwing 505 errors", + "section": "Actions", + "text": "Actions\n\nIncident has been dealt with or is over\nSections above are filled out\nIncident title and after-action report is cleaned up\nAll actionable items above have linked GitHub Issues" + }, + { + "objectID": "incidents/2017-10-19-course-subscription-canceled.html", + "href": "incidents/2017-10-19-course-subscription-canceled.html", + "title": "Billing confusion with Azure portal causes summer hub to be lost", + "section": "", + "text": "On October 10, 2017, the cloud vendor notified ds-instr that the data8r-17s subscription was canceled due to its end date, and we had 90 days to reactivate it using the educator portal. A support ticket was created to reverse the cancellation since the educator portal did not permit reactivation. On October 18 we were notified that the subscription’s resources were deleted.\nCoincidentally, a script was written on Oct. 9 to backup data to ds-instr’s Google Drive and it was performed for the instructor as a test. Unfortunately it wasn’t run for all users before the resources were taken offline." + }, + { + "objectID": "incidents/2017-10-19-course-subscription-canceled.html#summary", + "href": "incidents/2017-10-19-course-subscription-canceled.html#summary", + "title": "Billing confusion with Azure portal causes summer hub to be lost", + "section": "", + "text": "On October 10, 2017, the cloud vendor notified ds-instr that the data8r-17s subscription was canceled due to its end date, and we had 90 days to reactivate it using the educator portal. A support ticket was created to reverse the cancellation since the educator portal did not permit reactivation. On October 18 we were notified that the subscription’s resources were deleted.\nCoincidentally, a script was written on Oct. 9 to backup data to ds-instr’s Google Drive and it was performed for the instructor as a test. Unfortunately it wasn’t run for all users before the resources were taken offline." + }, + { + "objectID": "incidents/2017-10-19-course-subscription-canceled.html#timeline", + "href": "incidents/2017-10-19-course-subscription-canceled.html#timeline", + "title": "Billing confusion with Azure portal causes summer hub to be lost", + "section": "Timeline", + "text": "Timeline\n\n2017-10-10 9:06a\nds-instr received an email from the cloud vendor:\n\nThe following subscriptions under your [cloud vendor] sponsorships for ds-instr@berkeley.edu have recently become canceled. Because these subscription(s) are canceled, all services have been suspended but no data has been lost. You have 90 days from the date of cancellation before [the cloud vendor] will delete the subscription and all attached data. Please use the Educator Portal to reactivate the subscription(s).\n\n\n\n\nSubscription Name\nSubscription Id\nCanceled Reason\n\n\n\n\ndata8r-17s\nomitted here\nSubscription End Date\n\n\n\n\n\n9:30\nThe instructor was notified. The educator portal did not provide a way to view or alter the subscription end date of a canceled subscription so a support request was filed at the cloud vendor.\n\n\n11:14\nThe cloud vendor asks that a payment instrument be added to the ds-instr account. We respond that the account is funded by a sponsorship.\n\n\n17:22\nThe cloud vendor contacts their sponsorship team.\n\n\n2017-10-11 15:00\nThe cloud vendor calls to discuss the situation. Screenshots of the educator and cloud portal were sent to the cloud vendor.\n\n\n2017-10-12 16:19\nThe cloud vendor offers to enable the subscription for a 60 minute period from the backend so that the End Date may be extended from the portal. Though the subscription is re-enabled for an hour, the portal still does not permit the subscription parameters to be changed.\n\n\n2017-10-18 15:29\nThe cloud vendor says that the subscription was actually disabled because it had exhausted the allocated funds, and the data was deleted within 24 hours despite the stated 90 day grace period. Later the following was provided by the cloud vendor:\n\nI worked with our backend engineering team last night and I am afraid to say that we could not retrieve the storage account after all our sincere efforts. I understand how frustrating it would be for you and I do not have the words to express the same, I just wish if I could be of some help to you.\nHaving said that we did dig into the reasons behind this situation, the subscription was initially suspended by an internal engineering job occurred that auto-suspended all Academic Account Sponsorship subscriptions with an end date that was part of the previous fiscal year. Usually this suspension does not delete the subscription. There are a few [cloud vendor] accounts which are on legacy commerce platform which are affected and these accounts are in the process of modern platform. Your account was in the transition mode when the subscription got suspended and your account was partially converted to the modern platform. The billing & subscription part was converted to the modern platform but the not at the service level. Hence you got the message that your data would be retained for 90 days, at the same stated at the service level it was not converted to the modern hence the data got deleted.\nI had a detailed discussion with our product group team on this and how we can avoid this in future. First of all, your account is now completely migrated/transitioned completely to the modern platform. Also, to ensure that our other Academic Account Sponsorships customers do not face the same issue they have agreed to complete the migration manually on those accounts.\n\n\n\n2017-10-19 10:53\nThe cloud vendor compensates ds-instr with an additional $10k for the experience." + }, + { + "objectID": "incidents/2017-10-19-course-subscription-canceled.html#conclusion", + "href": "incidents/2017-10-19-course-subscription-canceled.html#conclusion", + "title": "Billing confusion with Azure portal causes summer hub to be lost", + "section": "Conclusion", + "text": "Conclusion\nThere were insufficient funds on the subscription to persist its resources. The resources were deleted by the cloud vendor before the grace period ran out." + }, + { + "objectID": "incidents/2017-10-19-course-subscription-canceled.html#action-items", + "href": "incidents/2017-10-19-course-subscription-canceled.html#action-items", + "title": "Billing confusion with Azure portal causes summer hub to be lost", + "section": "Action items", + "text": "Action items\n\nProcess\n\nUntil there is a per-user backup implemented hub-side, set a schedule for backing up user data for every course.\nAlways set a billing alert at some conservative amount less than the subscription alotment\nIf a subscription is ever canceled, backup user data within 24 hours, regardless of the stated grace period." + }, + { + "objectID": "incidents/2018-06-11-course-subscription-canceled.html", + "href": "incidents/2018-06-11-course-subscription-canceled.html", + "title": "Azure billing issue causes downtime", + "section": "", + "text": "On June 11, 2018, the cloud vendor notified ds-instr that the data8-17f-prod subscription was canceled due to its usage cap. The educator portal confirmed that the spend had surpassed the budget. After additional funds were allocated to the subscription, a portion of the VMs were manually started. The hub came back online after pods were forcibly deleted and nodes were cordoned." + }, + { + "objectID": "incidents/2018-06-11-course-subscription-canceled.html#summary", + "href": "incidents/2018-06-11-course-subscription-canceled.html#summary", + "title": "Azure billing issue causes downtime", + "section": "", + "text": "On June 11, 2018, the cloud vendor notified ds-instr that the data8-17f-prod subscription was canceled due to its usage cap. The educator portal confirmed that the spend had surpassed the budget. After additional funds were allocated to the subscription, a portion of the VMs were manually started. The hub came back online after pods were forcibly deleted and nodes were cordoned." + }, + { + "objectID": "incidents/2018-06-11-course-subscription-canceled.html#timeline", + "href": "incidents/2018-06-11-course-subscription-canceled.html#timeline", + "title": "Azure billing issue causes downtime", + "section": "Timeline", + "text": "Timeline\n\n2018-06-11 9:02a\nds-instr received an email from the cloud vendor:\n\nThe following subscriptions under your Microsoft Azure sponsorships for ds-instr@berkeley.edu have recently become canceled. Because these subscription(s) are canceled, all services have been suspended but no data has been lost. You have 90 days from the date of cancellation before Microsoft will delete the subscription and all attached data. Please use the Educator Portal to reactivate the subscription(s).\n\n\n\n\nSubscription Name\nSubscription Id\nCanceled Reason\n\n\n\n\ndata8-17f-prod\nomitted here\nSubscription Cap\n\n\n\n\n\n9:29\nThe subscription status was confirmed at https://www.microsoftazuresponsorships.com/Manage. In order to allocate additional budget to data8-17f-prod, budget for other subscriptions had to be reduced.\n\n\n9:40\nVMs were turned on at https://portal.azure.com: 3 nodes in each node pool, the nfs server, the kubernetes master, and the database server.\n\n\n9:45\nThe hub was unreachable even though the VMs were online. The hub and proxy pods were shown as Running and all nodes were shown as online even though some nodes had not been started. The offline cluster nodes were manually cordoned. All pods had to be forcibly deleted before they would start.\n\n\n10:14\nThe Billing Alert Service was checked at https://account.azure.com/Subscriptions/alert?subscriptionId=06f94ac5-b029-411f-8896-411f3c6778b4 and it was discovered that alerts were no longer registered." + }, + { + "objectID": "incidents/2018-06-11-course-subscription-canceled.html#conclusion", + "href": "incidents/2018-06-11-course-subscription-canceled.html#conclusion", + "title": "Azure billing issue causes downtime", + "section": "Conclusion", + "text": "Conclusion\nThere were insufficient funds on the subscription to persist its resources. The subscription budget was increased and the hub was brought back online. The billing alert service that was configured to prevent such incidents did not function properly." + }, + { + "objectID": "incidents/2018-06-11-course-subscription-canceled.html#action-items", + "href": "incidents/2018-06-11-course-subscription-canceled.html#action-items", + "title": "Azure billing issue causes downtime", + "section": "Action items", + "text": "Action items\n\nProcess\n\nDo not use subscription portal billing alerts.\nManually check subscription usage via an unattended process." + }, + { + "objectID": "incidents/2018-01-25-helm-chart-upgrade.html", + "href": "incidents/2018-01-25-helm-chart-upgrade.html", + "title": "Accidental merge to prod brings things down", + "section": "", + "text": "On January 25, 2018, a new version of the helm chart was installed on the staging hub. It was not immediately merged to production because there were active labs throughout the day. While preparing another course’s hub via Travis CI, the Data 8 change was accidentally merged from staging to production. This production hub went down because the new helm chart’s jupyterhub image was broken." + }, + { + "objectID": "incidents/2018-01-25-helm-chart-upgrade.html#summary", + "href": "incidents/2018-01-25-helm-chart-upgrade.html#summary", + "title": "Accidental merge to prod brings things down", + "section": "", + "text": "On January 25, 2018, a new version of the helm chart was installed on the staging hub. It was not immediately merged to production because there were active labs throughout the day. While preparing another course’s hub via Travis CI, the Data 8 change was accidentally merged from staging to production. This production hub went down because the new helm chart’s jupyterhub image was broken." + }, + { + "objectID": "incidents/2018-01-25-helm-chart-upgrade.html#timeline", + "href": "incidents/2018-01-25-helm-chart-upgrade.html#timeline", + "title": "Accidental merge to prod brings things down", + "section": "Timeline", + "text": "Timeline\n\n2018-01-25 14:30\nThe helm chart for datahub was upgraded to a beta of v0.6 to make use of a new image puller. This was merged into the staging branch. After some initial debugging, the helm chart was installed successfully and the image puller worked correctly. However, the staging hub was not tested.\nSince labs were scheduled throughout the day until 7p, it was decided to delay the upgrade of the production hub until after 7p.\n\n\n15:30\nWhile a different hub was being managed in Travis CI, the production hub for Data 8 was accidentally upgraded. This upgrade brought with it the faulty hub image from staging which wasn’t working.\n\n\n16:11\nGSIs report in slack that the hub is down for lab users. It is confirmed that the hub process has crashed due to a shared C library included from a python library. It is decided that the quickest way to bring the hub back up is to downgrade the helm-chart back to v0.5.0.\n\n\n16:35\nThe chart is installed into the staging repo, merged to staging, and checked on the staging hub. It is then merged into production and brought online there." + }, + { + "objectID": "incidents/2018-01-25-helm-chart-upgrade.html#conclusion", + "href": "incidents/2018-01-25-helm-chart-upgrade.html#conclusion", + "title": "Accidental merge to prod brings things down", + "section": "Conclusion", + "text": "Conclusion\nA relatively large change was made to the hub configuration with insufficient testing on the staging server. This was compounded when the change was accidentally merged to production." + }, + { + "objectID": "incidents/2018-01-25-helm-chart-upgrade.html#action-items", + "href": "incidents/2018-01-25-helm-chart-upgrade.html#action-items", + "title": "Accidental merge to prod brings things down", + "section": "Action items", + "text": "Action items\n\nProcess\n\nAdmins should refamiliarize themselves with the deployment policy to check the staging hub before changes are merged to production.\nDetermine if there is a way to block merges to production if the staging hub is not online.\nDetermine if there is a way to contextualize the Travis CI interface so that it is obvious which deployment is being managed." + }, + { + "objectID": "incidents/2017-02-24-autoscaler-incident.html", + "href": "incidents/2017-02-24-autoscaler-incident.html", + "title": "Custom Autoscaler gonee haywire", + "section": "", + "text": "On the evening of February 24, 2017, a premature version of the Autoscaler script for the Datahub deployment was mistakenly run on the prod cluster, resulting in a large amount of nodes (roughly 30-40) being set as unschedulable for about 20 minutes. Though no information was lost nor service critically disturbed, it was necessary to manually re-enable these nodes to be scheduled." + }, + { + "objectID": "incidents/2017-02-24-autoscaler-incident.html#summary", + "href": "incidents/2017-02-24-autoscaler-incident.html#summary", + "title": "Custom Autoscaler gonee haywire", + "section": "", + "text": "On the evening of February 24, 2017, a premature version of the Autoscaler script for the Datahub deployment was mistakenly run on the prod cluster, resulting in a large amount of nodes (roughly 30-40) being set as unschedulable for about 20 minutes. Though no information was lost nor service critically disturbed, it was necessary to manually re-enable these nodes to be scheduled." + }, + { + "objectID": "incidents/2017-02-24-autoscaler-incident.html#timeline", + "href": "incidents/2017-02-24-autoscaler-incident.html#timeline", + "title": "Custom Autoscaler gonee haywire", + "section": "Timeline", + "text": "Timeline\nAs of this commit in the Autoscaler branch history, there exists a scale.py file that would based on the utilization of the cluster, mark a certain number of nodes unschedulable before attempting to shut down nodes with no pods in them. Unfortunately, this script was executed prematurely, and without configuration, looked to execute in whatever context currently specified in .kube/config, which ended up being the production cluster rather than the dev cluster.\n\n2017-02-24 11:14 PM\nScript is mistakenly executed. A bug in the calculations for the utilization of the cluster leads to about 40 nodes being marked as unschedulable. The mistake is noted immediately.\n\n\n2017-02-24 11:26 PM\nThe unschedulability of these nodes is reverted. All nodes in the cluster were first all set to be schedulable to ensure that no students current and future would be disturbed. Immediately after, 10 of the most idle nodes on the cluster were manually set to be unschedulable (to facilitate them later being manually descaled - to deal with https://github.com/data-8/infrastructure/issues/6) using kubectl cordon <node_name>." + }, + { + "objectID": "incidents/2017-02-24-autoscaler-incident.html#conclusion", + "href": "incidents/2017-02-24-autoscaler-incident.html#conclusion", + "title": "Custom Autoscaler gonee haywire", + "section": "Conclusion", + "text": "Conclusion\nA cluster autoscaler script was accidentally run against the production cluster instead of the dev cluster, reducing capacity for new user logins for about 12 minutes. There was still enough capacity so we had no adverse effects." + }, + { + "objectID": "incidents/2017-02-24-autoscaler-incident.html#action-items", + "href": "incidents/2017-02-24-autoscaler-incident.html#action-items", + "title": "Custom Autoscaler gonee haywire", + "section": "Action Items", + "text": "Action Items\n\nDatahub Deployment Changes\n\nThe Autoscaler should not be run unless the context is explicitly set via environment variables or command line arguments. This is noted in the comments of the pull request for the Autoscaler.\nThe idea of the ‘current context’ should be abolished in all the tools we build / read.\n\n\n\nFuture organizational change\n\nUse a separate billing account for production vs development clusters. This makes it harder to accidentally run things on the wrong cluster" + }, + { + "objectID": "users/private-repo.html", + "href": "users/private-repo.html", + "title": "Accessing private GitHub repos", + "section": "", + "text": "GitHub is used to store class materials (lab notebooks, lecture notebooks, etc), and nbgitpuller is used to distribute it to students. By default, nbgitpuller only supports public GitHub repositories. However, Berkeley’s JupyterHubs are set up to allow pulling from private repositories as well.\nPublic repositories are still preferred, but if you want to distribute a private repository to your students, you can do so.\n\nGo to the GitHub app for the hub you are interested in.\n\nR Hub\nDataHub\nPublicHealth Hub\nBiology Hub\nEECS Hub\nOpen an issue if you want more hubs supported.\n\nClick the ‘Install’ button.\nSelect the organization / user containing the private repository you want to distribute on the JupyterHub. If you are not the owner or administrator of this organization, you might need extra permissions to do this action.\nSelect ‘Only select repositories’, and below that select the private repositories you want to distribute to this JupyterHub.\nClick the ‘Install’ button. The JupyterHub you picked now has access to this private repository. You can revoke this anytime by coming back to this page, and removing the repo from the list of allowed repos. You can also totally uninstall the GitHub app.\nYou can now make a link for your repo at nbgitpuller.link. If you had just created your repo, you might have to specify main instead of master for the branch name, since GitHub changed the name of the default branch recently.\n\nThat’s it! You’re all set. You can distribute these links to your students, and they’ll be able to access your materials! You can also use more traditional methods (like the git commandline tool, or RStudio’s git interface) to access this repo as well.\nNote: Everyone on the selected JupyterHub can clone your private repo if you do this. They won’t be able to see that this repo exists, but if they get their hands on your nbgitpuller link they can fetch that too. More fine-grained permissions coming soon.", + "crumbs": [ + "Using DataHub", + "Accessing private GitHub repos" + ] + }, + { + "objectID": "users/hubs.html", + "href": "users/hubs.html", + "title": "JupyterHubs in this repository", + "section": "", + "text": "datahub.berkeley.edu is the 'main' JupyterHub for use on UC Berkeley campus. It's the largest and most active hub. It has many Python & R packages installed.\nIt runs on Google Cloud Platform in the ucb-datahub-2018 project. You can see all config for it under deployments/datahub.\n\n\n\nThe big data8 class.\nActive connector courses\nData Science Modules\nAstro 128/256\n\nThis hub is also the 'default' when folks wanna use a hub for a short period of time for any reason without super specific requirements.", + "crumbs": [ + "Using DataHub", + "JupyterHubs in this repository" + ] + }, + { + "objectID": "users/hubs.html#datahub", + "href": "users/hubs.html#datahub", + "title": "JupyterHubs in this repository", + "section": "", + "text": "datahub.berkeley.edu is the 'main' JupyterHub for use on UC Berkeley campus. It's the largest and most active hub. It has many Python & R packages installed.\nIt runs on Google Cloud Platform in the ucb-datahub-2018 project. You can see all config for it under deployments/datahub.\n\n\n\nThe big data8 class.\nActive connector courses\nData Science Modules\nAstro 128/256\n\nThis hub is also the 'default' when folks wanna use a hub for a short period of time for any reason without super specific requirements.", + "crumbs": [ + "Using DataHub", + "JupyterHubs in this repository" + ] + }, + { + "objectID": "users/hubs.html#prob140-hub", + "href": "users/hubs.html#prob140-hub", + "title": "JupyterHubs in this repository", + "section": "Prob140 Hub", + "text": "Prob140 Hub\nA hub specifically for prob140. Some of the admin users on hubs/datahub are students in prob140 - this would allow them to see the work of other prob140 students. Hence, this hub is separate until JupyterHub gains features around restricting admin use.\nIt runs on Google Cloud Platform in the ucb-datahub-2018 project. You can see all config for it under deployments/prob140.", + "crumbs": [ + "Using DataHub", + "JupyterHubs in this repository" + ] + }, + { + "objectID": "users/hubs.html#data-100", + "href": "users/hubs.html#data-100", + "title": "JupyterHubs in this repository", + "section": "Data 100", + "text": "Data 100\nThis hub is for Data 100 which has a unique user and grading environment. It runs on Google Cloud Platform in the ucb-datahub-2018 account. You can see all config for it under deployments/data100.\nData100 also has shared folders between staff (professors and GSIs) and students. Staff, assuming they have been added as admins in config/common.yaml, can see a shared and a shared-readwrite folder. Students can only see the shared folder, which is read-only. Anything that gets put in shared-readwrite is automatically viewable in shared, but as read-only files. The purpose of this is to be able to share large data files instead of having one per student.", + "crumbs": [ + "Using DataHub", + "JupyterHubs in this repository" + ] + }, + { + "objectID": "users/hubs.html#data-102", + "href": "users/hubs.html#data-102", + "title": "JupyterHubs in this repository", + "section": "Data 102", + "text": "Data 102\nData 102 runs on Google Cloud Platform in the ucb-datahub-2018 project. You can see all config for it under deployments/data102.", + "crumbs": [ + "Using DataHub", + "JupyterHubs in this repository" + ] + }, + { + "objectID": "users/hubs.html#data8x-hub", + "href": "users/hubs.html#data8x-hub", + "title": "JupyterHubs in this repository", + "section": "Data8X Hub", + "text": "Data8X Hub\nA hub for the data8x course on EdX. This hub is open to use by anyone in the world, using LTI Authentication to provide login capability from inside EdX.\nIt runs on Google Cloud Platform in the data8x-scratch project. You can see all config for it under deployments/data8x.", + "crumbs": [ + "Using DataHub", + "JupyterHubs in this repository" + ] + }, + { + "objectID": "users/services.html", + "href": "users/services.html", + "title": "Services Offered", + "section": "", + "text": "This page lists the various services we offer as part of DataHub. Not all these will be available on all hubs, but we can easily enable them as you wish.", + "crumbs": [ + "Using DataHub", + "Services Offered" + ] + }, + { + "objectID": "users/services.html#user-interfaces", + "href": "users/services.html#user-interfaces", + "title": "Services Offered", + "section": "User Interfaces", + "text": "User Interfaces\nOur diverse user population has diverse needs, so we offer many different user interfaces for instructors to choose from.\n\nJupyter Notebook (Classic)\nWhat many people mean when they say ‘Jupyter’, this familiar interface is used by default for most of our introductory classes. Document oriented, no-frills, and well known by a lot of people.\n\n\nRStudio\n\n\n\nRStudio Screenshot\n\n\nWe want to provide first class support for teaching with R, which means providing strong support for RStudio. This includes Shiny support.\nTry without berkeley.edu account: \nTry with berkeley.edu account: R DataHub\n\n\nJupyterLab\n\n\n\nDo complex layouts with JupyterLab\n\n\nJupyterLab is a more modern version of the classic Jupyter notebook from the Jupyter project. It is more customizable and better supports some advanced use cases. Many of our more advanced classes use this, and we might help all classes move to this once there is a simpler document oriented mode available\n\n\nLinux Desktop (Experimental)\n\n\n\nDo image processing with qt\n\n\nSometimes, you just need to use something that requires a full desktop environment to run. Instead of trying to get students to install things locally, we offer a full fledged Linux Desktop environment they can access from inside their browser! This is just a different ‘UI’ on the same infrastructure as the notebook environment, so they all use the same libraries and home directories.\nTry without Berkeley.edu account: \nTry with Berkeley.edu account: EECS DataHub\n\n\nVisual Studio Code (Experimental)\n\n\n\nCompile C with vscode\n\n\nSometimes you just want an IDE, not a notebook environment. We are experimenting with a hosted, web version of the popular Visual Studio Code editor, to see if it would be useful for teaching more traditional CS classes.\nTry without Berkeley.edu account: \nTry with Berkeley.edu account: EECS DataHub\n\n\nMore?\nIf you have a web based environment, we can almost certainly make it run under a hub. Contact us and we’ll see what we can do :)", + "crumbs": [ + "Using DataHub", + "Services Offered" + ] + }, + { + "objectID": "users/services.html#services", + "href": "users/services.html#services", + "title": "Services Offered", + "section": "Services", + "text": "Services\nSometimes you need something custom to get your class going. Very very interesting things can happen here, so we’re always looking for new services to add.\n\nPostgresql\nSome of our classes require using real databases to teach. We now experimentally offer a postgresql server for each user on the data100 hub.\nThe data does not persist right now, but we can turn that on whenever needed.", + "crumbs": [ + "Using DataHub", + "Services Offered" + ] + }, + { + "objectID": "users/services.html#programming-languages", + "href": "users/services.html#programming-languages", + "title": "Services Offered", + "section": "Programming languages", + "text": "Programming languages\nWe support the usual suspects - Python, R & Julia. However, there are no limits to what languages we can actually support, so if you are planning on using a different (open source) programming language, contact us and we’ll set you up.", + "crumbs": [ + "Using DataHub", + "Services Offered" + ] + }, + { + "objectID": "users/services.html#more-1", + "href": "users/services.html#more-1", + "title": "Services Offered", + "section": "More?", + "text": "More?\nWe want to find solution to your interesting problems, so please bring us your interesting problems 😁", + "crumbs": [ + "Using DataHub", + "Services Offered" + ] + }, + { + "objectID": "users/authentication.html", + "href": "users/authentication.html", + "title": "User Authentication", + "section": "", + "text": "UC Berkeley uses a Canvas instance, called bcourses.berkeley.edu. Almost all our hubs use this for authentication, although not all yet.", + "crumbs": [ + "Using DataHub", + "User Authentication" + ] + }, + { + "objectID": "users/authentication.html#who-has-access", + "href": "users/authentication.html#who-has-access", + "title": "User Authentication", + "section": "Who has access?", + "text": "Who has access?\nAnyone who can log in to bcourses can log into our JupyterHubs. This includes all berkeley affiliates. If you have a working berkeley.edu email account, you can most likely log in to bcourses, and hence to our JupyterHubs.\nStudents have access for 9 months after they graduate. If they have an incomplete, they have 13 months of access instead.", + "crumbs": [ + "Using DataHub", + "User Authentication" + ] + }, + { + "objectID": "users/authentication.html#non-berkeley-affiliates", + "href": "users/authentication.html#non-berkeley-affiliates", + "title": "User Authentication", + "section": "Non-berkeley affiliates", + "text": "Non-berkeley affiliates\nIf someone who doesn’t have a berkeley.edu account wants to use the JupyterHubs, they need to get a CalNet Sponsored Guest account This gives people access to bcourses, and hence to all the JupyterHubs.", + "crumbs": [ + "Using DataHub", + "User Authentication" + ] + }, + { + "objectID": "users/authentication.html#troubleshooting", + "href": "users/authentication.html#troubleshooting", + "title": "User Authentication", + "section": "Troubleshooting", + "text": "Troubleshooting\nIf you can log in to bcourses but not to any of the JupyterHubs, please contact us.\nIf you can not log in to bcourses, please contact bcourses support", + "crumbs": [ + "Using DataHub", + "User Authentication" + ] + }, + { + "objectID": "incidents/2019-05-01-service-account-leak.html", + "href": "incidents/2019-05-01-service-account-leak.html", + "title": "Service Account key leak incident", + "section": "", + "text": "Service account keys that granted restricted access to some of our cloud services were inadvertently leaked on GitHub. Google immediately notified us in seconds, and the credentials were revoked within the next few minutes." + }, + { + "objectID": "incidents/2019-05-01-service-account-leak.html#summary", + "href": "incidents/2019-05-01-service-account-leak.html#summary", + "title": "Service Account key leak incident", + "section": "", + "text": "Service account keys that granted restricted access to some of our cloud services were inadvertently leaked on GitHub. Google immediately notified us in seconds, and the credentials were revoked within the next few minutes." + }, + { + "objectID": "incidents/2019-05-01-service-account-leak.html#impact", + "href": "incidents/2019-05-01-service-account-leak.html#impact", + "title": "Service Account key leak incident", + "section": "Impact", + "text": "Impact\nDeployments are paused until this was fixed." + }, + { + "objectID": "incidents/2019-05-01-service-account-leak.html#timeline", + "href": "incidents/2019-05-01-service-account-leak.html#timeline", + "title": "Service Account key leak incident", + "section": "Timeline", + "text": "Timeline\n\nMay 1 2019, 3:18 PM\nA template + documentation for creating new hubs easily is pushed to GitHub as a pull request. This inadvertantly contained live credentials for pushing & pulling our (already public) docker images, and for access to our kubernetes clusters.\nGoogle immediately notified us via email within seconds that this might be a breach.\n\n\n3:19 PM\nDiscussion and notification starts in slack about dealing with the issue.\n\n\n3:27 PM\nBoth keys are revoked so they are no longer valid credentials.\n\n\n3:36 PM\nAll in-use resources are checked, and verified to not be compromised by automated bots looking for leaked accounts.\n\n\n3:40 PM\nAn email is sent out to all owners of the compromised project (ucb-datahub-2018) giving an all-clear." + }, + { + "objectID": "incidents/2019-05-01-service-account-leak.html#action-items", + "href": "incidents/2019-05-01-service-account-leak.html#action-items", + "title": "Service Account key leak incident", + "section": "Action items", + "text": "Action items\n\nDon’t duplicate service key credentials across multiple hubs. Issue\nSwitch to a different secret management strategy than what we have now. Issue" + }, + { + "objectID": "incidents/2018-02-28-hung-node.html", + "href": "incidents/2018-02-28-hung-node.html", + "title": "A node hangs, causing a subset of users to report issues", + "section": "", + "text": "On February 28, 2018, a handful of users reported on piazza that there servers wouldn’t start. It was determined that all problematic servers were running on the same node. After the node was cordoned and rebooted, the student servers were able to start properly." + }, + { + "objectID": "incidents/2018-02-28-hung-node.html#summary", + "href": "incidents/2018-02-28-hung-node.html#summary", + "title": "A node hangs, causing a subset of users to report issues", + "section": "", + "text": "On February 28, 2018, a handful of users reported on piazza that there servers wouldn’t start. It was determined that all problematic servers were running on the same node. After the node was cordoned and rebooted, the student servers were able to start properly." + }, + { + "objectID": "incidents/2018-02-28-hung-node.html#timeline", + "href": "incidents/2018-02-28-hung-node.html#timeline", + "title": "A node hangs, causing a subset of users to report issues", + "section": "Timeline", + "text": "Timeline\n\n2018-02-28 21:21\nThree students report problems starting their server on piazza and a GSI links to the reports on slack. More reports come in by 21:27.\n\n\n21:30\nThe infrastructure team is alerted to the problem. The command kubectl --namespace=prod get pod -o wide | egrep -v -e prepull -e Running shows that all non-running pods were scheduled on the same node. Most of the pods have an “Unknown” status while the rest are in “Terminating”. The oldest problematic pod is 29m.\n\n\n21:34\nThe node k8s-pool1-19522833-9 is cordoned. It has a load of about 90 with no processes consuming much CPU. The node is rebooted via sysrq trigger. The hung pods remain stuck.\n\n\n21:39\nWhen the node comes back online, kubectl reports no more hung pods. Students are able to start their servers." + }, + { + "objectID": "incidents/2018-02-28-hung-node.html#conclusion", + "href": "incidents/2018-02-28-hung-node.html#conclusion", + "title": "A node hangs, causing a subset of users to report issues", + "section": "Conclusion", + "text": "Conclusion\nA problematic VM prevented nodes from launching pods. Once the VM was cordoned and rebooted, pods launch without trouble." + }, + { + "objectID": "incidents/2018-02-28-hung-node.html#action-items", + "href": "incidents/2018-02-28-hung-node.html#action-items", + "title": "A node hangs, causing a subset of users to report issues", + "section": "Action items", + "text": "Action items\n\nProcess\n\nMonitor the cluster for non-running pods and send an alert if the count exceeds a threshold or if the non-running pods are clustered on the same node(s)." + }, + { + "objectID": "incidents/2017-04-03-cluster-full-incident.html", + "href": "incidents/2017-04-03-cluster-full-incident.html", + "title": "Custom autoscaler does not scale up when it should", + "section": "", + "text": "On April 3, 2017, as students were returning from spring break, the cluster wasn’t big enough in time and several students had errors spawning. This was because the simple-autoscaler was ‘stuck’ on a populate call. More capacity was manually added, the pending pods were deleted & this seemed to fix the outage." + }, + { + "objectID": "incidents/2017-04-03-cluster-full-incident.html#summary", + "href": "incidents/2017-04-03-cluster-full-incident.html#summary", + "title": "Custom autoscaler does not scale up when it should", + "section": "", + "text": "On April 3, 2017, as students were returning from spring break, the cluster wasn’t big enough in time and several students had errors spawning. This was because the simple-autoscaler was ‘stuck’ on a populate call. More capacity was manually added, the pending pods were deleted & this seemed to fix the outage." + }, + { + "objectID": "incidents/2017-04-03-cluster-full-incident.html#timeline", + "href": "incidents/2017-04-03-cluster-full-incident.html#timeline", + "title": "Custom autoscaler does not scale up when it should", + "section": "Timeline", + "text": "Timeline\n\nOver spring break week\nThe cluster is scaled down to a much smaller size (7 machines), and the simple scaler is left running.\n\n\n2017-04-03 11:32\nStudents report datahub isn’t working on Piazza, and lots of Pods in PENDING state.\nDoing a kubectl --namespace=datahub describe pod <pod-name> said the pod was unschedulable because there wasn’t enough RAM in the cluster. This clearly implied the cluster wasn’t big enough.\nLooking at the simple scaler shows it was ‘stuck’ at a populate.bash call, and wasn’t scaling up fast enough.\n\n\n11:35\nThe cluster is manually scaled up to 30 nodes:\ngcloud compute instance-groups managed resize gke-prod-highmem-pool-0df1a536-grp --size=30\nAt the same time, pods stuck in Pending state are deleted so they don’t become ghost pods, with:\nkubectl --namespace=datahub get pod | grep -v Running | grep -P 'm$' | awk '{print $1;}' | xargs -L1 kubectl --namespace=datahub delete pod\n\n\n11:40\nThe nodes have come up, so a populate.bash call is performed to pre-populate all user container images on the new nodes.\nUsers in Pending state are deleted again.\n\n\n11:46\nThe populate.bash call is complete, and everything is back online!" + }, + { + "objectID": "incidents/2017-04-03-cluster-full-incident.html#conclusion", + "href": "incidents/2017-04-03-cluster-full-incident.html#conclusion", + "title": "Custom autoscaler does not scale up when it should", + "section": "Conclusion", + "text": "Conclusion\nOur simple scaler didn’t scale up fast enough when a large number of students came back online quickly after a time of quiet (spring break). Took a while for this to get noticed, and manual scaling fixed everything." + }, + { + "objectID": "incidents/2017-04-03-cluster-full-incident.html#action-items", + "href": "incidents/2017-04-03-cluster-full-incident.html#action-items", + "title": "Custom autoscaler does not scale up when it should", + "section": "Action items", + "text": "Action items\n\nProcess\n\nWhen coming back from breaks, pre-scale the cluster back up.\nConsider cancelling spring break.\n\n\n\nMonitoring\n\nHave monitoring for pods stuck in non-Running states" + }, + { + "objectID": "incidents/2017-03-20-too-many-volumes.html", + "href": "incidents/2017-03-20-too-many-volumes.html", + "title": "Too many volumes per disk leave students stuck", + "section": "", + "text": "From sometime early March 20 2017 till about 1300, some new student servers were stuck in Pending forever, giving them 500 errors. This was an unintended side-effect of reducing student memory limit to 1G while keeping the size of our nodes constant, causing us to hit a Google Cloud limit on number of disks per node. This was fixed by spawning more nodes that were smaller." + }, + { + "objectID": "incidents/2017-03-20-too-many-volumes.html#summary", + "href": "incidents/2017-03-20-too-many-volumes.html#summary", + "title": "Too many volumes per disk leave students stuck", + "section": "", + "text": "From sometime early March 20 2017 till about 1300, some new student servers were stuck in Pending forever, giving them 500 errors. This was an unintended side-effect of reducing student memory limit to 1G while keeping the size of our nodes constant, causing us to hit a Google Cloud limit on number of disks per node. This was fixed by spawning more nodes that were smaller." + }, + { + "objectID": "incidents/2017-03-20-too-many-volumes.html#timeline", + "href": "incidents/2017-03-20-too-many-volumes.html#timeline", + "title": "Too many volumes per disk leave students stuck", + "section": "Timeline", + "text": "Timeline\n\nMarch 18, 16:30\nRAM per student is reduced from 2G to 1G, as a resource optimization measure. The size of our nodes remains the same (26G RAM), and many are cordonned off and slowly decomissioned over the coming few days.\nLife seems fine, given the circumstances.\n\n\nMarch 20, 12:44\nNew student servers report a 500 error preventing them from logging on. This is deemed widespread & not an isolated incident.\n\n\n12:53\nA kubectl describe pod on an affected student’s pod shows it’s stuck in Pending state, with an error message:\npod failed to fit in any node fit failure on node (XX): MaxVolumeCount\nThis seems to be common problem for all the new student servers, which are all stuck in Pending state.\nGoogling leads to https://github.com/kubernetes/kubernetes/issues/24317 - even though Google Compute Engine can handle more than 16 disks per node (we had checked this before deploying), Kubernetes itself still can not. This wasn’t foreseen, and seemed to be the direct cause of the incident.\n\n\n13:03\nA copy of the instance template that is used by Google Container Engine is made and then modified to spawn smaller nodes (n1-highmem-2 rather than n1-highmem-4). The managed instance group used by Google Container Engine is then modified to use the new template. This was the easiest way to not distrupt students for whom things are working, while also allowing new students to be able to log in.\nThis new instance group was then set to expand for 30 new nodes, which will provide capacity for about 12 students each. populate.bash was also run to make sure that students pods start up on time in the newnodes.\n\n\n13:04\nThe simple autoscaler is stopped, on fear that it’ll be confused by the unusal mixed state of the nodes and do something wonky.\n\n\n13:11\nAll the new nodes are online, and populate.bash has completed. Pods start leaving the Pending state.\nHowever, since it’s been more than the specified timeout that JupyterHub will wait before giving up on Pod (5 minutes), JupyterHub doesn’t know the pods exist. This causes state of cluster + state in JupyterHub to go out of sync, causing the dreaded ‘redirected too many times’ error. Admins need to manually stop and start user pods in the control panel as users report this to fix this issue.\n\n\n14:23\nThe hub and proxy pods are restarted since there were plenty of ‘redirected too many times’ errors. This seems to catch most users state, although some requests still failed with a 599 timeout (similar to an earlier incident, but much less frequent). A long tail of manual user restarts are performed by admins over the next few days." + }, + { + "objectID": "incidents/2017-03-20-too-many-volumes.html#action-items", + "href": "incidents/2017-03-20-too-many-volumes.html#action-items", + "title": "Too many volumes per disk leave students stuck", + "section": "Action Items", + "text": "Action Items\n\nUpstream: Kubernetes\n\nKeep an eye on the status of the bug we ran into\n\n\n\nUpstream: JupyterHub\n\nTrack down and fix the ‘too many redirects’ issue at source. Issue\n\n\n\nCleanup\n\nDelete all the older larger nodes that are no longer in use. (Done!)\n\n\n\nMonitoring\n\nHave alerting for when there are any number of pods in Pending state for a non-negligible amount of time. There is always something wrong when this happens." + }, + { + "objectID": "incidents/2017-02-09-datahub-db-outage.html", + "href": "incidents/2017-02-09-datahub-db-outage.html", + "title": "JupyterHub db manual overwrite", + "section": "", + "text": "Datahub was reportedly down at 1am. Users attempting to log in to datahub were greeted with a proxy error. The hub pod was up but the log was full of sqlite errors. After the hub pod was deleted and a new one came up, students logging in to datahub found their notebooks were missing and their home directories were empty. Once this was fixed, some students still were being logged in as a different particular user. Finally, students with a ‘.’ in their username were still having issues after everyone else was fine. This was all fixed and an all-clear signalled at about 2017-02-09 11:35 AM." + }, + { + "objectID": "incidents/2017-02-09-datahub-db-outage.html#summary", + "href": "incidents/2017-02-09-datahub-db-outage.html#summary", + "title": "JupyterHub db manual overwrite", + "section": "", + "text": "Datahub was reportedly down at 1am. Users attempting to log in to datahub were greeted with a proxy error. The hub pod was up but the log was full of sqlite errors. After the hub pod was deleted and a new one came up, students logging in to datahub found their notebooks were missing and their home directories were empty. Once this was fixed, some students still were being logged in as a different particular user. Finally, students with a ‘.’ in their username were still having issues after everyone else was fine. This was all fixed and an all-clear signalled at about 2017-02-09 11:35 AM." + }, + { + "objectID": "incidents/2017-02-09-datahub-db-outage.html#timeline", + "href": "incidents/2017-02-09-datahub-db-outage.html#timeline", + "title": "JupyterHub db manual overwrite", + "section": "Timeline", + "text": "Timeline\n\n2017-02-09 00:25 - 00:29 AM\nAttempting to debug some earlier 400 errors, Trying to set base_url and ip to something incorrect to see if it will cause a problem.\nkubectl exec hub-deployment-something --namespace=datahub -it bash\napt-get install sqlite3\nsqlite3\nATTACH 'jupyterhub.sqlite AS my_db;\nSELECT name FROM my_db.sqlite_master WHERE type='table';\nSELECT * FROM servers;\nSELECT * FROM servers WHERE base_url LIKE '%<USER>%';\nUPDATE servers SET ip='' WHERE base_url LIKE '%<USER>%';\nUPDATE servers SET base_url='/<something-wrong> WHERE base_url LIKE '%<USER>%';\nCtrl+D (exit back into bash shell)\nchecked datahub.berkeley.edu, and nothing happened to the account saw that the sql db was not updated, attempt to run .save\n```bash\nsqlite3\n.save jupyterhub.sqlite\nThis replaced the db with an empty one, since ATTACH was not run beforehand.\n\n\n0:25:59 AM\nFollowing exception shows up in hub logs:\nsqlalchemy.exc.OperationalError: (sqlite3.OperationalError) no such table: proxies [SQL: 'SELECT proxies.id AS proxies_id, proxies._public_server_id AS proxies__public_server_id, proxies._api_server_id AS proxies__api_server_id \\nFROM proxies \\nWHERE proxies.id = ?'] [parameters: (1,)]\nThis continues for hub table as well, since those two seem to be most frequently used.\n\n\n1:12 AM\nSam’s roommate notices that he can log in to datahub but all his notebooks are gone. We notice that there are only ~50 users on the JHub admin panel when there used to be ~1000, so we believe that this is because the JHub sqlite user database got wiped/corrupted, then created an account for his roommate when he logged in, then created a new persistent disk since it lost track of his old one.\nThis is confirmed soon after:\n$ kubectl --namespace=datahub get pvc | grep <username>\nclaim-<username>-257 Bound pvc-3b405e13-ddb4-11e6-98ef-42010af000c3 10Gi RWO 21d\nclaim-<username>-51 Bound pvc-643dd900-eea7-11e6-a291-42010af000c3 10Gi RWO 5m\n\n\n1:28 AM\nWe shut down the hub pod by scaling the replicas to 0.\nWe then begin recreating the JHub sqlite database by taking the Kubernetes PVCs and matching them back with the user ids. We could do this because the name of the PVC contains a sanitized form of the username and the userid.\nHere’s the notebook that was used to recreate the db from PVCs: pvc-sqlite.ipynb 2017-02-09-datahub-db-outage-pvc-recreate-script.ipynb\n\n\n2:34 AM\nWe recreate the sqlite3 database. Initially each user’s cookie_id was set to a dummy cookie value.\n\n\n2:42 AM\nUser cookie_id values are changed to null rather than dummy value. The sqlite file is then attached back to datahub. The number of users shown on admin page is back to ~1000. The hub was up, and a spot check of starting other user’s servers seem to work. Some users get redirected to one particular user, but deleting and recreating the affected user seems to fix this.\n\n\n10:11 AM\nAttempt to log everyone out by changing cookie secret in hub pod at /srv/jupyterhub/jupyterhub_cookie_secret. Just one character near the end was changed, and pod restarted. No effect. One character at the beginning of secret was changed next, and restarted - this caused actual change, and logged all users out.\nPeople are still being redirected to one particular user’s account when they log in. More looking around required.\n\n\n10:17 AM\nJohn Denero advises students to use ds8.berkeley.edu right now. ds8.berkeley.edu promptly starts crashing because it does not have resources for a data8 level class.\n\n\n10:29 AM\nAll user pods are deleted, which finally properly logs everyone out. However, people logging in are still all getting the same user’s pods.\n\n\n10:36 AM\nNotice that cookie_id column in the user database table is empty for many users, and the user that everyone is being logged in as has an empty cookie_id too and is the ‘first’ on the table when sorted in ascending by id. Looking at the JupyterHub code, cookie_id is always supposed to be set to a uuid, and never supposed to be empty. Setting cookie_id for users fixes their issues, and seems to spawn them into their own notebook.\n\n\n10:45 AM\nA script is run that populates cookie_id for all users, and restarts the hub to make sure there’s no stale cache in RAM. All user pods are deleted again. Most users are back online now! More users start testing and confirming things are working for them.\n\n\n10:53 AM\nUser with a ‘.’ in their name reports that they’re getting an empty home directory. More investigation shows two users - one with a ‘.’ in their name that is newer, and one with a ‘-’ in their name instead of ‘.’ that is older. Hypothesis is that one of them is the ‘original’, but they’re all attaching to a new one that is empty. Looking at pvcs confirms this - there are two PVCs for users with a . in their name who have tried to log in, and they differ only by ids.\nThere is some confusion about users ending up on prob140, because the data8.org homework link is changed to use that temporarily.\n\n\n11:05 AM\nDirectly modifying the user table to rename the user with the ‘-’ in the name to have a ‘.’ seems to work for people.\n\n\n11:15 AM\nA script is run that modifies the database user table for all users with a ‘-’ in their name, and the ‘-’ is replaced with a ‘.’. The new users created with the ‘.’ in their name are dropped before this.\n\n\n11:17 AM\nAll clear given for datahub.berkeley.edu\n\n\n11:19 AM\nLocally verified that running .save on sqlite3 will overwrite the db file without any confirmation, and is most likely cause of the issue. Conclusion Accidental overwriting of the sqlite file during routine debugging operation led all tables being deleted. Users were getting new user ids when they were logging in now, causing them to get new disks provisioned - and these disks were empty. During reconstruction of the db, cookie_id was missing for several users, causing them all to log in to one particular user’s notebook. Users with ‘.’ in their name were also set up slightly incorrectly - their pods have ‘-’ in them but the user name should have a ‘.’." + }, + { + "objectID": "incidents/2017-02-09-datahub-db-outage.html#action-items", + "href": "incidents/2017-02-09-datahub-db-outage.html#action-items", + "title": "JupyterHub db manual overwrite", + "section": "Action items", + "text": "Action items\n\nUpstream bug reports for JupyterHub\n\nJupyterHub only uses a certain length of the cookie secret, and discards the rest. This causes confusion when trying to change it to log people out. Issue\nThe cookie_id column in the users table should have UNIQUE and NOT NULL constraints. Issue\n\n\n\nUpstream bug reports for KubeSpawner\n\nSupport using username hashes in PVC and Pod Names rather than user ids, so that pod and PVC names remain constant even when DB is deleted. Issue\n\n\n\nUpstream bug reports for OAuthenticator\n\nSupport setting id of user in user table to be same as ‘id’ provided by Google authenticator, thus providing a stable userid regardless of when the user first logged in. Issue\n\n\n\nDataHub deployment changes\n\nSwitch to using Google Cloud SQL, which provides hosted and managed MySQL database\nPerform regular and tested backups of the database\nStart writing an operational FAQ for things to do and not do\nSetup better monitoring and paging systems\nDocument escalation procedures explicitly" + }, + { + "objectID": "incidents/2017-10-10-hung-nodes.html", + "href": "incidents/2017-10-10-hung-nodes.html", + "title": "Docker dies on a few Azure nodes", + "section": "", + "text": "On Oct 10, 2017, some user pods were not starting or terminating correctly. After checking node status, it was found that all affected pods were running on two specific nodes. The docker daemon wasn’t responsive on these nodes so they were cordoned off. User pods were then able to start correctly." + }, + { + "objectID": "incidents/2017-10-10-hung-nodes.html#summary", + "href": "incidents/2017-10-10-hung-nodes.html#summary", + "title": "Docker dies on a few Azure nodes", + "section": "", + "text": "On Oct 10, 2017, some user pods were not starting or terminating correctly. After checking node status, it was found that all affected pods were running on two specific nodes. The docker daemon wasn’t responsive on these nodes so they were cordoned off. User pods were then able to start correctly." + }, + { + "objectID": "incidents/2017-10-10-hung-nodes.html#timeline", + "href": "incidents/2017-10-10-hung-nodes.html#timeline", + "title": "Docker dies on a few Azure nodes", + "section": "Timeline", + "text": "Timeline\n\n2017-05-09 10:45a\nA report in the course Piazza said that two students couldn’t start their servers. The /hub/admin interface was not able to start them either. It was reported that the students may have run out of memory.\n\n\n12:29p\nThe user pods were stuck in Terminating state and would not respond to explicit delete. The pods were forcefully deleted with kubectl --namespace=prod delete pod jupyter-<name> --grace-period=0 --force. The user pods started correctly via /hub/admin.\n\n\n13:27\nIt was reported in the course slack that another student’s server wasn’t starting correctly. After checking one of the pod logs, it was observed that the node hosting the pods, k8s-pool1-19522833-13, was also hosting many more pods stuck in a Terminating state. docker ps was hanging on that node. The node was cordoned.\n\n\n13:42\nIt was reported in slack that the student’s server was able to start.\nBy this time, the cluster was checked for all pods to see if any other nodes were hosting an unusual number of pods in Terminating. It was found that k8s-pool2-19522833-9 was in a similar state. All stuck pods on that node were forcefully deleted and the node was also cordoned. docker ps was hung on that node too. pool2-…-9 had a load of 530 while pool1-…-13 had a load of 476. On the latter, hypercube was at 766% cpu utilization while it was nominal on the former. Node pool1-…-13 was rebooted from the shell however it did not come back online. The node was manually restarted from the Azure portal but it still didn’t come back.\nA node previously cordoned on another day, pool1-…-14, was rebooted. It came back online and was uncordoned.\n\n\n13:51\nSome relevant systemctl status docker logs were captured from pool2-…-9:\nOct 10 20:55:30 k8s-pool2-19522833-9 docker[1237]: time=\"2017-10-10T20:55:30.790401257Z\" level=error msg=\"containerd: start container\" error=\"containerd: container did not start before the specified timeout\" id=abd267ef08b4a4184e19307be784d62470f9a713b59e406249c6cdf0bb333260\nOct 10 20:55:30 k8s-pool2-19522833-9 docker[1237]: time=\"2017-10-10T20:55:30.790923460Z\" level=error msg=\"Create container failed with error: containerd: container did not start before the specified timeout\"\nOct 10 20:55:30 k8s-pool2-19522833-9 docker[1237]: time=\"2017-10-10T20:55:30.810309575Z\" level=error msg=\"Handler for POST /v1.24/containers/abd267ef08b4a4184e19307be784d62470f9a713b59e406249c6cdf0bb333260/start returned error: containerd: container did not start before the specified timeout\"\nOct 10 20:55:36 k8s-pool2-19522833-9 docker[1237]: time=\"2017-10-10T20:55:36.146453953Z\" level=error msg=\"containerd: start container\" error=\"containerd: container did not start before the specified timeout\" id=2ba6787503ab6123b509811fa44c7e42986de0b800cc4226e2ab9484f54e8741\nOct 10 20:55:36 k8s-pool2-19522833-9 docker[1237]: time=\"2017-10-10T20:55:36.147565759Z\" level=error msg=\"Create container failed with error: containerd: container did not start before the specified timeout\"\nOct 10 20:55:36 k8s-pool2-19522833-9 docker[1237]: time=\"2017-10-10T20:55:36.166295370Z\" level=error msg=\"Handler for POST /v1.24/containers/2ba6787503ab6123b509811fa44c7e42986de0b800cc4226e2ab9484f54e8741/start returned error: containerd: container did not start before the specified timeout\"\nOct 10 20:55:36 k8s-pool2-19522833-9 docker[1237]: time=\"2017-10-10T20:55:36.169360588Z\" level=error msg=\"Handler for GET /v1.24/containers/json returned error: write unix /var/run/docker.sock->@: write: broken pipe\"\nOct 10 20:55:36 k8s-pool2-19522833-9 dockerd[1237]: http: multiple response.WriteHeader calls\nOct 10 20:55:36 k8s-pool2-19522833-9 docker[1237]: time=\"2017-10-10T20:55:36.280209444Z\" level=error msg=\"Handler for GET /v1.24/containers/610451d9d86a58117830ea7c0189f6157ba9a9602739ee23723e923de8c7e23e/json returned error: No such container: 610451d9d86a58117830ea7c0189f6157ba9a9602739ee23723e923de8c7e23e\"\nOct 10 20:55:39 k8s-pool2-19522833-9 docker[1237]: time=\"2017-10-10T20:55:39.095888009Z\" level=error msg=\"Handler for GET /v1.24/containers/54b64ca3c1e7ef4a04192ccdaf1cb9309d73acebd7a08e13301f3263de3d376a/json returned error: No such container: 54b64ca3c1e7ef4a04192ccdaf1cb9309d73acebd7a08e13301f3263de3d376a\"\n\n\n14:00\ndatahub@k8s-pool2-19522833-9:~$ ps aux | grep exe | wc -l\n520\ndatahub@k8s-pool2-19522833-9:~$ ps aux | grep exe | head -5\nroot 329 0.0 0.0 126772 9812 ? Dsl 00:36 0:00 /proc/self/exe init\nroot 405 0.0 0.0 61492 8036 ? Dsl 00:36 0:00 /proc/self/exe init\nroot 530 0.0 0.0 127028 8120 ? Dsl 00:36 0:00 /proc/self/exe init\nroot 647 0.0 0.0 127028 8124 ? Dsl 13:07 0:00 /proc/self/exe init\nroot 973 0.0 0.0 77884 8036 ? Dsl 13:10 0:00 /proc/self/exe init\n\n\n14:30\npool1-…-13 was manually stopped in the Azure portal, then manually started. It came back online afterwards and docker was responsive. It was uncordoned.\npool2-…-9 was manually stopped in the Azure portal.\n\n\n14:45\npool2-…-9 completed stopping and was manually started in the Azure portal.\n\n\n17:25\nIt was observed that /var/lib/docker on pool1-19522833-13/10.240.0.7 was on / (sda) and not on /mnt (sdb)." + }, + { + "objectID": "incidents/2017-10-10-hung-nodes.html#conclusion", + "href": "incidents/2017-10-10-hung-nodes.html#conclusion", + "title": "Docker dies on a few Azure nodes", + "section": "Conclusion", + "text": "Conclusion\nDocker was hung on two nodes, preventing pods from starting or stopping correctly." + }, + { + "objectID": "incidents/2017-10-10-hung-nodes.html#action-items", + "href": "incidents/2017-10-10-hung-nodes.html#action-items", + "title": "Docker dies on a few Azure nodes", + "section": "Action items", + "text": "Action items\n\nProcess\n\nWhen there are multiple reports of student servers not starting or stopping correctly, check to see if the user pods were run on the same node(s).\nDetermine how many nodes are not mounting /var/lib/docker on sdb1.\n\n\n\nMonitoring\n\nLook for elevated counts of pods stuck in Terminating state. For example, kubectl --namespace=prod get pod -o wide| grep Terminating" + }, + { + "objectID": "incidents/2017-05-09-gce-billing.html", + "href": "incidents/2017-05-09-gce-billing.html", + "title": "Oops we forgot to pay the bill", + "section": "", + "text": "On May 9, 2017, the compute resources associated with the data-8 project at GCE were suspended. All hubs including datahub, stat28, and prob140 were not reachable. This happened because the grant that backed the project’s billing account ran out of funds. The project was moved to a different funding source and the resources gradually came back online." + }, + { + "objectID": "incidents/2017-05-09-gce-billing.html#summary", + "href": "incidents/2017-05-09-gce-billing.html#summary", + "title": "Oops we forgot to pay the bill", + "section": "", + "text": "On May 9, 2017, the compute resources associated with the data-8 project at GCE were suspended. All hubs including datahub, stat28, and prob140 were not reachable. This happened because the grant that backed the project’s billing account ran out of funds. The project was moved to a different funding source and the resources gradually came back online." + }, + { + "objectID": "incidents/2017-05-09-gce-billing.html#timeline", + "href": "incidents/2017-05-09-gce-billing.html#timeline", + "title": "Oops we forgot to pay the bill", + "section": "Timeline", + "text": "Timeline\n\n2017-05-09 16:51\nA report in the Data 8 Spring 2017 Staff slack, #jupyter channel, says that datahub is down. This is confirmed. Attempting to access the provisioner via gcloud compute ssh provisioner-01 fails with:\nERROR: (gcloud.compute.ssh) Instance [provisioner-01] in zone [us-central1-a] has not been allocated an external IP address yet. Try rerunning this command later.\n\n\n17:01\nThe Google Cloud console shows that the billing account has run out of the grant that supported the data-8 project. The project account is moved to another billing account which has resources left.\nThe billing state is confirmed by gcloud messages:\nGoogle Compute Engine: Project data-8 cannot accept requests to setMetadata while in an inactive billing state. Billing state may take several minutes to update.\n\n\n17:09\nprovisioner-01 is manually started. All pods in the datahub namespace are deleted.\n\n\n17:15\ndatahub is back online. stat28 and prob140 hub pods are manually killed. After a few moments the hubs are back online. The autoscaler is started.\n\n\n17:19\nThe slack duplicator is started.\n\n\n2017-05-10 10:48\nA report in uc-jupyter #jupyterhub says that try.datahub is down. This is confirmed and the hub in the tmp namespace is killed. The hub comes online a couple of minutes later." + }, + { + "objectID": "incidents/2017-05-09-gce-billing.html#conclusion", + "href": "incidents/2017-05-09-gce-billing.html#conclusion", + "title": "Oops we forgot to pay the bill", + "section": "Conclusion", + "text": "Conclusion\nThere was insufficient monitoring of the billing status." + }, + { + "objectID": "incidents/2017-05-09-gce-billing.html#action-items", + "href": "incidents/2017-05-09-gce-billing.html#action-items", + "title": "Oops we forgot to pay the bill", + "section": "Action items", + "text": "Action items\n\nProcess\n\nIdentify channels for billing alerts.\nIdentify billing threshold functions that predict when funds will run out.\nEstablish off-cloud backups. The plan is to do this via nbgdrive.\nStart autoscaler automatically. It is manually started at the moment.\n\n\n\nMonitoring\n\nSetup scheduled billing reports and threshold alarms.\nSetup hub monitoring!\nThe slack duplicator runs in one of the GCP clusters. When the clusters go down, slack messages aren’t forwarded from the data8-sp17-staff slack to uc-jupyter." + }, + { + "objectID": "incidents/2017-03-06-helm-config-image-mismatch.html", + "href": "incidents/2017-03-06-helm-config-image-mismatch.html", + "title": "Non-matching hub image tags cause downtime", + "section": "", + "text": "On the evening of Mar 6, the hub on prod would not come up after an upgrade. The upgrade was to accommodate a new disk for cogneuro that had been tested on dev. After some investigation it was determined that the helm’s config did not match the hub’s image. After the hub image was rebuilt and pushed out, then tested on dev, it was pushed out to prod. The problem was fixed in about 40 minutes.\nA few days later (March 12), similar almost outage is avoided when -dev breaks and deployment is put on hold. More debugging shows the underlying cause is that git submodules are hard to use. More documentation is provided, and downtime is averted!" + }, + { + "objectID": "incidents/2017-03-06-helm-config-image-mismatch.html#summary", + "href": "incidents/2017-03-06-helm-config-image-mismatch.html#summary", + "title": "Non-matching hub image tags cause downtime", + "section": "", + "text": "On the evening of Mar 6, the hub on prod would not come up after an upgrade. The upgrade was to accommodate a new disk for cogneuro that had been tested on dev. After some investigation it was determined that the helm’s config did not match the hub’s image. After the hub image was rebuilt and pushed out, then tested on dev, it was pushed out to prod. The problem was fixed in about 40 minutes.\nA few days later (March 12), similar almost outage is avoided when -dev breaks and deployment is put on hold. More debugging shows the underlying cause is that git submodules are hard to use. More documentation is provided, and downtime is averted!" + }, + { + "objectID": "incidents/2017-03-06-helm-config-image-mismatch.html#timeline", + "href": "incidents/2017-03-06-helm-config-image-mismatch.html#timeline", + "title": "Non-matching hub image tags cause downtime", + "section": "Timeline", + "text": "Timeline\nAll times in PST\n\nMarch 6 2017 22:59\ndev changes are deployed but hub does not start correctly. The describe output for the hub shows repeated instances of:\nError syncing pod, skipping: failed to “StartContainer” for “hub-container” with CrashLoopBackOff: “Back-off 10s restarting failed container=hub-container pod=hub-deployment-3498421336-91gp3_datahub-dev(bfe7d8bd-0303-11e7-ade6-42010a80001a)\nhelm chart for -dev is deleted and reinstalled.\n\n\n23:11\ndev changes are deployed successfully and tested. cogneuro’s latest data is available.\n\n\n23:21\nChanges are deployed to prod. The hub does not start properly. get pod -o=yaml on the hub pod shows that the hub container has terminated. The hub log shows that it failed due to a bad configuration parameter.\n\n\n21:31\nWhile the helm chart had been updated from git recently, the latest tag for the hub did not correspond with the one in either prod.yaml or dev.yaml.\n\n\n21:41\nThe hub image is rebuilt and pushed out.\n\n\n21:45\nThe hub is deployed on -dev.\n\n\n21:46\nThe hub is tested on -dev then deployed on -prod.\n\n\n21:50\nThe hub is tested on -prod. Students are reporting that the hub had been down.\n\n\nMarch 12 19:57\nA new deploy is attempted on -dev, but runs into same error. Deployments are halted for more debugging this time, and more people are called on.\n\n\n23:21\nMore debugging reveals that the commit update looked like this:\ndiff --git a/chart b/chart\nindex e38aba2..c590340 160000\n--- a/chart\n+++ b/chart\n@@ -1 +1 @@\n-Subproject commit e38aba2c5601de30c01c6f3c5cad61a4bf0a1778\n+Subproject commit c59034032f8870d16daba7599407db7e6eb53e04\ndiff --git a/data8/dev.yaml b/data8/dev.yaml\nindex 2bda156..ee5987b 100644\n--- a/data8/dev.yaml\n+++ b/data8/dev.yaml\n@@ -13,7 +13,7 @@ publicIP: \"104.197.166.226\"\n\n singleuser:\n image:\n- tag: \"e4af695\"\n+ tag: \"1a6c6d8\"\n mounts:\n shared:\n cogneuro88: \"cogneuro88-20170307-063643\"\nOnly the tag should’ve been the only thing updated. The chart submodule is updated to c59034032f8870d16daba7599407db7e6eb53e04, which is from February 25 (almost two weeks old). This is the cause of the hub failing, since it is using a really old chart commit with a new hub image." + }, + { + "objectID": "incidents/2017-03-06-helm-config-image-mismatch.html#section-8", + "href": "incidents/2017-03-06-helm-config-image-mismatch.html#section-8", + "title": "Non-matching hub image tags cause downtime", + "section": "23:27", + "text": "23:27\nIt is determined that incomplete documentation about deployment processes caused git submodule update to be not run after a git pull, and so the chart was being accidentally moved back to older commits. Looking at the commit that caused the outage on March 6 showed the exact same root cause." + }, + { + "objectID": "incidents/2017-03-06-helm-config-image-mismatch.html#conclusion", + "href": "incidents/2017-03-06-helm-config-image-mismatch.html#conclusion", + "title": "Non-matching hub image tags cause downtime", + "section": "Conclusion", + "text": "Conclusion\nGit submodules are hard to use, and break most people’s mental model of how git works. Since our deployment requires that the submodule by in sync with the images used, this caused an outage." + }, + { + "objectID": "incidents/2017-03-06-helm-config-image-mismatch.html#action-items", + "href": "incidents/2017-03-06-helm-config-image-mismatch.html#action-items", + "title": "Non-matching hub image tags cause downtime", + "section": "Action items", + "text": "Action items\n\nProcess\n\nMake sure we treat any errors in -dev exactly like we would in prod. Any deployment error in prod should immediately halt future deployments & require a rollback or resolution before proceeding.\nWrite down actual deployment documentation & a checklist.\nMove away from git submodules to a separate versioned chart repository." + }, + { + "objectID": "incidents/index.html", + "href": "incidents/index.html", + "title": "Incident Reports", + "section": "", + "text": "Order By\n Default\n \n Date - Oldest\n \n \n Date - Newest\n \n \n Title\n \n \n \n \n \n \n \n\n\n\n\n\nDate\n\n\nTitle\n\n\n\n\n\n\nFeb 9, 2017\n\n\nJupyterHub db manual overwrite\n\n\n\n\nFeb 24, 2017\n\n\nCustom Autoscaler gonee haywire\n\n\n\n\nFeb 24, 2017\n\n\nProxy eviction strands user\n\n\n\n\nMar 6, 2017\n\n\nNon-matching hub image tags cause downtime\n\n\n\n\nMar 20, 2017\n\n\nToo many volumes per disk leave students stuck\n\n\n\n\nMar 23, 2017\n\n\nWeird upstream ipython bug kills kernels\n\n\n\n\nApr 3, 2017\n\n\nCustom autoscaler does not scale up when it should\n\n\n\n\nMay 9, 2017\n\n\nOops we forgot to pay the bill\n\n\n\n\nOct 10, 2017\n\n\nDocker dies on a few Azure nodes\n\n\n\n\nOct 19, 2017\n\n\nBilling confusion with Azure portal causes summer hub to be lost\n\n\n\n\nJan 25, 2018\n\n\nAccidental merge to prod brings things down\n\n\n\n\nJan 26, 2018\n\n\nHub starts up very slow, causing outage for users\n\n\n\n\nFeb 6, 2018\n\n\nAzure PD refuses to detach, causing downtime for data100\n\n\n\n\nFeb 28, 2018\n\n\nA node hangs, causing a subset of users to report issues\n\n\n\n\nJun 11, 2018\n\n\nAzure billing issue causes downtime\n\n\n\n\nFeb 25, 2019\n\n\nAzure Kubernetes API Server outage causes downtime\n\n\n\n\nMay 1, 2019\n\n\nService Account key leak incident\n\n\n\n\nJan 20, 2022\n\n\nHubs throwing 505 errors\n\n\n\n\nFeb 1, 2024\n\n\nCore nodes being autoscaled, configurable HTTP proxy crashes\n\n\n\n\n\nNo matching items", + "crumbs": [ + "Using DataHub", + "Incident Reports" + ] + }, + { + "objectID": "incidents/2017-03-23-kernel-deaths-incident.html", + "href": "incidents/2017-03-23-kernel-deaths-incident.html", + "title": "Weird upstream ipython bug kills kernels", + "section": "", + "text": "A seemingly unrelated change caused user kernels to die on start (making notebook execution impossible) for newly started user servers from about Mar 22 19:30 to Mar 23 09:45. Most users didn’t see any errors until start of class at about 9AM, since they were running servers that were previously started." + }, + { + "objectID": "incidents/2017-03-23-kernel-deaths-incident.html#summary", + "href": "incidents/2017-03-23-kernel-deaths-incident.html#summary", + "title": "Weird upstream ipython bug kills kernels", + "section": "", + "text": "A seemingly unrelated change caused user kernels to die on start (making notebook execution impossible) for newly started user servers from about Mar 22 19:30 to Mar 23 09:45. Most users didn’t see any errors until start of class at about 9AM, since they were running servers that were previously started." + }, + { + "objectID": "incidents/2017-03-23-kernel-deaths-incident.html#timeline", + "href": "incidents/2017-03-23-kernel-deaths-incident.html#timeline", + "title": "Weird upstream ipython bug kills kernels", + "section": "Timeline", + "text": "Timeline\n\nMarch 22, around 19:30\nA deployment is performed, finally deploying https://github.com/data-8/jupyterhub-k8s/pull/146 to production. It seemed to work fine on -dev, and on prod as well. However, the testing regimen was only to see if a notebook server would show up - not if a kernel would spawn.\n\n\nMar 23, 09:08\nStudents report that their kernels keep dying. This is confirmed to be a problem for all newly launched notebooks, in both prod and dev.\n\n\n09:16\nThe last change to the repo (an update of the single-user image) is reverted, to check if that was causing the problem. This does not improve the situation. Debugging continues, but with no obvious angles of attack.\n\n\n09:41\nAfter debugging produces no obvious culprits, the state of the entire infrastructure for prod is reverted to a known good state from a few days ago. This was done with:\n./deploy.py prod data8 25abea764121953538713134e8a08e0291813834\n25abea764121953538713134e8a08e0291813834 is the commit hash of a known good commit from March 19. Our disciplined adherence to immutable & reproducible deployment paid off, and we were able to restore new servers to working order with this!\nStudents are now able to resume working after a server restart. A mass restart is also performed to aid this.\nDev is left in a broken state in an attempt to debug.\n\n\n09:48\nA core Jupyter Notebook dev at BIDS attempts to debug the problem, since it seems to be with the notebook itself and not with JupyterHub.\n\n\n11:08\nCore Jupyter Notebook dev confirms that this makes no sense.\n\n\n14:55\nAttempts to isolate the bug start again, mostly by using git bisect to deploy different versions of our infrastructure to dev until we find what broke.\n\n\n15:30\nhttps://github.com/data-8/jupyterhub-k8s/pull/146 is identified as the culprit. It continues to not make sense.\n\n\n17:25\nA very involved and laborious revert of the offending part of the patch is done in https://github.com/jupyterhub/kubespawner/pull/37. Core Jupyter Notebook dev continues to confirm this makes no sense.\nhttps://github.com/data-8/jupyterhub-k8s/pull/152 is also merged, and deployed shortly after verifiying that everything (including starting kernels & executing code) works fine on dev. Deployed to prod and everything is fine." + }, + { + "objectID": "incidents/2017-03-23-kernel-deaths-incident.html#conclusion", + "href": "incidents/2017-03-23-kernel-deaths-incident.html#conclusion", + "title": "Weird upstream ipython bug kills kernels", + "section": "Conclusion", + "text": "Conclusion\nInsufficient testing procedures caused a new kind of outage (kernel dying) that we had not seen before. However, since our infrastructure was immutable & reproducible, our outage really only lasted about 40 minutes (from start of lab when students were starting containers until the revert). Deeper debugging produced a fix, but attempts to understand why the fix works are ongoing.\nUpdate: We have found and fixed the underlying issue" + }, + { + "objectID": "incidents/2017-03-23-kernel-deaths-incident.html#action-items", + "href": "incidents/2017-03-23-kernel-deaths-incident.html#action-items", + "title": "Weird upstream ipython bug kills kernels", + "section": "Action items", + "text": "Action items\n\nProcess\n\nDocument and formalize the testing process for post-deployment checks.\nSet a short timeout (maybe ten minutes?) after which investigation temporarily stops and we revert our deployment to a known good state.\n\n\n\nUpstream KubeSpawner\n\nContinue investigating https://github.com/jupyterhub/kubespawner/issues/31, which was the core issue that prompted the changes that eventually led to the outage." + }, + { + "objectID": "policy/policy_create_hubs.html", + "href": "policy/policy_create_hubs.html", + "title": "Policy considerations for creating a new hub", + "section": "", + "text": "We have lots of prior experience creating 10+ new hubs catering to the diverse instructional needs of the campus audience. Our decisions to create a new hub were made with a lot of intuition about solving instructors’ immediate needs effectively. The objective of this policy document is to codify these heuristics used while creating a new hub. Our policy should guide our decisions with regard to creating new hubs in the future.\nBelow are 5 key criteria (listed in the order of importance) to be considered while making a decision to create a new hub. Satisfying any one of the below-mentioned criteria creates the opportunity for a new hub.\n\nImage Customization: Course needs image customization beyond what we currently have in the main datahub image. (Eg: Astro hub, Stat 159 hub)\nTestbed: Testbed for deploying new features which post maturity can be enabled across other major hubs (Eg: Stat 159 hub)\nLarge Computation: Course is computationally intensive requiring a large amount of CPU/Memory because of the nature of the use case (Eg: biology hub) or larger user base with 300+ students (Eg: Data 8 and Data 100 hubs). These courses may require additional compute through calendar-based scheduling.\nAdmin Access: Course has undergrad students acting as GSIs while simultaneously requiring admin access (Eg: Data8 hub)\nOrganizational Reasons: Hub is created for organizational/strategic reasons to build institutional buy-in from specific departments (Eg: Public Health and ISchool Hubs) and/or evangelize a specific service (Eg: Julia or R hub)", + "crumbs": [ + "Using DataHub", + "Policy", + "Policy considerations for creating a new hub" + ] + }, + { + "objectID": "policy/policy_deploy_mainhubs.html", + "href": "policy/policy_deploy_mainhubs.html", + "title": "Policy considerations for deploying to the main Datahub", + "section": "", + "text": "Policy considerations for deploying to the main Datahub\nOur goal is to provide a reliable infrastructure that instructors can completely trust while facilitating their coursework. Developing a robust protocol around deploying changes to the main datahub is important to achieve this goal. The objective of this policy document is to outline the criteria to deploy a change to an image in the main Datahub.\n\nRegular requests during the semester like package addition/change, RAM increase, CPU allocation, and providing admin access to users should be done with a robust testing protocol (either automated or manual) in place across staging and production.\nIntroduce new features in the main Datahub only after it gets successfully tested with one or many instructors across other course specific hub (eg: Data8 Hub) or use-case specific hub (Eg: Stat159 Hub).", + "crumbs": [ + "Using DataHub", + "Policy", + "Policy considerations for deploying to the main Datahub" + ] + }, + { + "objectID": "policy/index.html", + "href": "policy/index.html", + "title": "Datahub Policy Documents", + "section": "", + "text": "The primary objective of this documentation is to codify varied policies of the infrastructure team to operate the many Jupyterhubs deployed in UC Berkeley." + }, + { + "objectID": "index.html", + "href": "index.html", + "title": "UC Berkeley DataHub Documentation", + "section": "", + "text": "This repository contains configuration and documentation (including policies) for the many JupyterHubs used by various organizations in UC Berkeley.", + "crumbs": [ + "Using DataHub", + "Home" + ] + }, + { + "objectID": "admins/credentials.html", + "href": "admins/credentials.html", + "title": "Cloud Credentials", + "section": "", + "text": "Service accounts are identified by a service key, and help us grant specific access to an automated process. Our CI process needs two service accounts to operate:\n\nA gcr-readwrite key. This is used to build and push the user images. Based on the docs, this is assigned the role roles/storage.admin.\nA gke key. This is used to interact with the Google Kubernetes cluster. Roles roles/container.clusterViewer and roles/container.developer are granted to it.\n\nThese are currently copied into the secrets/ dir of every deployment, and explicitly referenced from hubploy.yaml in each deployment. They should be rotated every few months.\nYou can create service accounts through the web console or the commandline. Remember to not leave around copies of the private key elsewhere on your local computer!", + "crumbs": [ + "Using DataHub", + "Contributing to DataHub", + "Cloud Credentials" + ] + }, + { + "objectID": "admins/credentials.html#google-cloud", + "href": "admins/credentials.html#google-cloud", + "title": "Cloud Credentials", + "section": "", + "text": "Service accounts are identified by a service key, and help us grant specific access to an automated process. Our CI process needs two service accounts to operate:\n\nA gcr-readwrite key. This is used to build and push the user images. Based on the docs, this is assigned the role roles/storage.admin.\nA gke key. This is used to interact with the Google Kubernetes cluster. Roles roles/container.clusterViewer and roles/container.developer are granted to it.\n\nThese are currently copied into the secrets/ dir of every deployment, and explicitly referenced from hubploy.yaml in each deployment. They should be rotated every few months.\nYou can create service accounts through the web console or the commandline. Remember to not leave around copies of the private key elsewhere on your local computer!", + "crumbs": [ + "Using DataHub", + "Contributing to DataHub", + "Cloud Credentials" + ] + }, + { + "objectID": "admins/howto/delete-hub.html", + "href": "admins/howto/delete-hub.html", + "title": "Delete or spin down a Hub", + "section": "", + "text": "Sometimes we want to spin down or delete a hub:\n\nA course or department won’t be needing their hub for a while\nThe hub will be re-deployed in to a new or shared node pool.", + "crumbs": [ + "Using DataHub", + "Contributing to DataHub", + "Common Administrator Tasks", + "Delete or spin down a Hub" + ] + }, + { + "objectID": "admins/howto/delete-hub.html#why-delete-or-spin-down-a-hub", + "href": "admins/howto/delete-hub.html#why-delete-or-spin-down-a-hub", + "title": "Delete or spin down a Hub", + "section": "", + "text": "Sometimes we want to spin down or delete a hub:\n\nA course or department won’t be needing their hub for a while\nThe hub will be re-deployed in to a new or shared node pool.", + "crumbs": [ + "Using DataHub", + "Contributing to DataHub", + "Common Administrator Tasks", + "Delete or spin down a Hub" + ] + }, + { + "objectID": "admins/howto/delete-hub.html#steps-to-spin-down-a-hub", + "href": "admins/howto/delete-hub.html#steps-to-spin-down-a-hub", + "title": "Delete or spin down a Hub", + "section": "Steps to spin down a hub", + "text": "Steps to spin down a hub\nIf the hub is using a shared filestore, skip all filestore steps.\nIf the hub is using a shared node pool, skip all namespace and node pool steps.\n\nScale the node pool to zero: kubectl -n <hubname-prod|staging> scale --replicas=0 deployment/hub\nKill any remaining users’ servers. Find any running servers with kubectl -n <hubname-prod|staging> get pods | grep jupyter and then kubectl -n <hubname-prod|staging> delete pod <pod name> to stop them.\nCreate filestore backup:\n\ngcloud filestore backups create <hubname>-backup-YYYY-MM-DD --file-share=shares --instance=<hubname-YYYY-MM-DD> --region \"us-central1\" --labels=filestore-backup=<hub name>,hub=<hub name>\n\nLog in to nfsserver-01 and unmount filestore from nfsserver: sudo umount /export/<hubname>-filestore\nComment out the hub build steps out in .circleci/config.yaml (deploy and build steps)\nComment out GitHub label action for this hub in .github/labeler.yml\nComment hub entries out of datahub/node-placeholder/values.yaml\nDelete k8s namespace:\n\nkubectl delete namespace <hubname>-staging <hubname>-prod\n\nDelete k8s node pool:\n\ngcloud container node-pools delete <hubname> --project \"ucb-datahub-2018\" --cluster \"spring-2024\" --region \"us-central1\"\n\nDelete filestore\n\ngcloud filestore instances delete <hubname>-filestore --zone \"us-central1-b\"\n\nDelete PV: kubectl get pv --all-namespaces|grep <hubname> to get the PV names, and then kubectl delete pv <pv names>\nAll done.", + "crumbs": [ + "Using DataHub", + "Contributing to DataHub", + "Common Administrator Tasks", + "Delete or spin down a Hub" + ] + }, + { + "objectID": "admins/howto/course-config.html", + "href": "admins/howto/course-config.html", + "title": "Course Configuration", + "section": "", + "text": "It is possible to alter administrative priviliges or resources allocations (such as memory or extra volumes) of user servers from within the deployment configuration. This is mostly useful for when resources need to be increased based on users' class enrollments. The hub must be configured to use the CanvasOAuthenticator which is our default. Hubs that use dummy, Google, Generic OAuth, or other authenticators are not configured to allocate additional resources in this way.\nAdditionally, it is also possible to allocate resources based on the students membership of Canvas groups. This is useful if the instructor wants to dynamically grant additional resources without CI round-trips. Group management can be performed by the course staff directly from bCourses.", + "crumbs": [ + "Using DataHub", + "Contributing to DataHub", + "Common Administrator Tasks", + "Course Configuration" + ] + }, + { + "objectID": "admins/howto/course-config.html#allocating-resources", + "href": "admins/howto/course-config.html#allocating-resources", + "title": "Course Configuration", + "section": "", + "text": "It is possible to alter administrative priviliges or resources allocations (such as memory or extra volumes) of user servers from within the deployment configuration. This is mostly useful for when resources need to be increased based on users' class enrollments. The hub must be configured to use the CanvasOAuthenticator which is our default. Hubs that use dummy, Google, Generic OAuth, or other authenticators are not configured to allocate additional resources in this way.\nAdditionally, it is also possible to allocate resources based on the students membership of Canvas groups. This is useful if the instructor wants to dynamically grant additional resources without CI round-trips. Group management can be performed by the course staff directly from bCourses.", + "crumbs": [ + "Using DataHub", + "Contributing to DataHub", + "Common Administrator Tasks", + "Course Configuration" + ] + }, + { + "objectID": "admins/howto/course-config.html#implementation", + "href": "admins/howto/course-config.html#implementation", + "title": "Course Configuration", + "section": "Implementation", + "text": "Implementation\nThe authenticator reads users Canvas enrollments when they login, and then assigns them to JupyterHub groups based on those affiliations. Groups are named with the format \"course::{canvas_id}::enrollment_type::{canvas_role}\", e.g. \"course::123456::enrollment_type::teacher\" or \"course::234567::enrollment_type::student\". Our custom kubespawner, which we define in hub/values.yaml, reads users' group memberships prior to spawning. It then overrides various KubeSpawner paramters based on configuration we define, using the canvas ID as the key. (see below)\nNote that if a user is assigned to a new Canvas group (e.g. by the instructor manually, or by an automated Canvas/SIS system) while their server is already running, they will need to logout and then log back in in order for the authenticator to see the new affiliations. Restarting the user server is not sufficient.\nThe canvas ID is somewhat opaque to infrastructure staff -- we cannot look it up ourselves nor predict what it would be based on the name of the course. This is why we must request it from the instructor.\nThere are a number of other Canvas course attributes we could have substituted for the ID, but all had various drawbacks. An SIS ID attribute uses a consistent format that is relatively easy to predict, however it is only exposed to instructor accounts on hub login. In testing, when the Canvas admin configured student accounts to be able to read the SIS ID, we discovered that other protected SIS attributes would have been visible to all members of the course in the Canvas UI. Various friendly name attributes (e.g. \"Statistics 123, Spring '24\") were inconsistent in structure or were modifiable by the instructor. So while the Canvas ID is not predictable or easily discoverable by hub staff, it is immutable and the instructor can find it in the URL for their course.", + "crumbs": [ + "Using DataHub", + "Contributing to DataHub", + "Common Administrator Tasks", + "Course Configuration" + ] + }, + { + "objectID": "admins/howto/course-config.html#assigning-scopes-to-roles", + "href": "admins/howto/course-config.html#assigning-scopes-to-roles", + "title": "Course Configuration", + "section": "Assigning Scopes to Roles", + "text": "Assigning Scopes to Roles\nWhen JupyterHub only had two roles, admin and user, we would grant admin rights to course staff. This enabled course staff to start, access, and stop user servers, but it wasn't scoped to just the students in their own course. It would give them access to the accounts of everyone on the hub. They even had access to stop the hub process itself. JupyterHub now lets us create our own roles and assign scopes to them. As a result, we can grant course staff the ability to do what they need for members of their own course, and nothing more.\nAdd the following configuration for course staff who need elevated access:\njupyterhub:\n hub:\n loadRoles:\n # Data 123, Summer 2024, #9876\n course-staff-1234567:\n description: Enable course staff to view and access servers.\n # this role provides permissions to...\n scopes:\n - admin-ui\n - list:users!group=course::1234567\n - admin:servers!group=course::1234567\n - access:servers!group=course::1234567\n # this role will be assigned to...\n groups:\n - course::1234567::enrollment_type::teacher\n - course::1234567::enrollment_type::ta\nThis configuration is headed by a comment which describes the course and term and links to the github issue where the staff made the request. It defines a new role, course-staff-1234567, for a course with bCourse ID 1234567. It assigns scopes for accessing and administering the servers for users in group course::1234567. Members of that group include all students and course staff. It also assigns scopes for viewing lists of users at /hub/admin. It assignes these scopes to members of the affiliated course staff groups.\nThis stanza is more verbose than inserting lists of users under admin_users, but it the privileges are more granular. We don't need to know who the individual course staff and they won't have more permissions than they need.\nThe configuration causes JupyterHub to update information in its jupyterhub.sqlite database file. When this configuraition is removed, the hub does not automatically flush out the roles and scopes from the database. So after the semester is over, it is advisable to remove this configuration and also to flush out the information in the database. There is no formal process for this, although we should develop one. We can delete the database, or we can manually remove entries from the sqlite file.", + "crumbs": [ + "Using DataHub", + "Contributing to DataHub", + "Common Administrator Tasks", + "Course Configuration" + ] + }, + { + "objectID": "admins/howto/course-config.html#defining-group-profiles", + "href": "admins/howto/course-config.html#defining-group-profiles", + "title": "Course Configuration", + "section": "Defining group profiles", + "text": "Defining group profiles\n\nRequire course staff to request additional resources through a github issue.\nObtain the bCourses course ID from the github issue. This ID is found in the course’s URL, e.g. https://bcourses.berkeley.edu/courses/123456. It should be a large integer. If the instructor requested resources for a specific group within the course, obtain the group name.\nEdit deployments/{deployment}/config/common.yaml.\nDuplicate an existing stanza, or create a new one under jupyterhub.custom.group_profiles by inserting yaml of the form:\njupyterhub:\n custom:\n group_profiles:\n\n # Example: increase memory for everyone affiliated with a course.\n # Name of Class 100, Fall '22; requested in #98765\n\n course::123456:\n mem_limit: 4096M\n mem_guarantee: 2048M\n\n\n # Example: increase memory just for course staff.\n # Enrollment types returned by the Canvas API are `teacher`,\n # `student`, `ta`, `observer`, and `designer`. (non-plural)\n # https://canvas.instructure.com/doc/api/enrollments.html\n\n # Some other class 200, Spring '23; requested in #98776\n course::234567::enrollment_type::teacher:\n mem_limit: 2096M\n mem_guarantee: 2048M\n course::234567::enrollment_type::ta:\n mem_limit: 2096M\n mem_guarantee: 2048M\n\n\n # Example: a fully specified CanvasOAuthenticator group name where\n # the resource request happens to be an additional mount path.\n # Creating groups for temporary resource bumps could be useful\n # where the instructor could add people to groups in the bCourses\n # UI. This would benefit from the ability to read resource bumps\n # from jupyterhub's properties. (attributes in the ORM)\n\n # Name of Class 100, Fall '22; requested in #98770\n course::123456::group::lab4-bigdata:\n - mountPath: /home/rstudio/.ssh\n name: home\n subPath: _some_directory/_ssh\n readOnly: true\nOur custom KubeSpawner knows to look for these values under jupyterhub.custom.\n123456 and 234567 are bCourse course identifiers from the first step. Memory limits and extra volume mounts are specified as in the examples above.\nAdd a comment associating the profile identifier with a friendly name of the course. Also link to the github issue where the instructor requested the resources. This helps us to cull old configuration during maintenance windows.\nCommit the change, then ask course staff to verify the increased allocation on staging. It is recommended that they simulate completing a notebook or run through the assignment which requires extra resources.", + "crumbs": [ + "Using DataHub", + "Contributing to DataHub", + "Common Administrator Tasks", + "Course Configuration" + ] + }, + { + "objectID": "admins/howto/course-config.html#defining-user-profiles", + "href": "admins/howto/course-config.html#defining-user-profiles", + "title": "Course Configuration", + "section": "Defining user profiles", + "text": "Defining user profiles\nIt may be necessary to assign additional resources to specific users, if it is too difficult to assign them to a bCourses group.\n\nEdit deployments/{deployment}/config/common.yaml.\nDuplicate an existing stanza, or create a new one under jupyterhub.custom.profiles by inserting yaml of the form:\njupyterhub:\n custom:\n profiles:\n\n # Example: increase memory for these specific users.\n special_people:\n # Requested in #87654. Remove after YYYY-MM-DD.\n mem_limit: 2048M\n mem_guarantee: 2048M\n users:\n - user1\n - user2\nAdd a comment which links to the github issue where the resources were requested. This helps us to cull old configuration during maintenance windows.", + "crumbs": [ + "Using DataHub", + "Contributing to DataHub", + "Common Administrator Tasks", + "Course Configuration" + ] + }, + { + "objectID": "admins/howto/course-config.html#housekeeping", + "href": "admins/howto/course-config.html#housekeeping", + "title": "Course Configuration", + "section": "Housekeeping", + "text": "Housekeeping\nGroup profiles should be removed at the end of every term because course affiliations are not necessarily removed from each person's Canvas account. So even if a user's class ended, the hub will grant additional resources for as long as the config persisted in both Canvas and the hub.\nUser profiles should also be evaluated at the end of every term.", + "crumbs": [ + "Using DataHub", + "Contributing to DataHub", + "Common Administrator Tasks", + "Course Configuration" + ] + }, + { + "objectID": "admins/howto/calendar-scaler.html", + "href": "admins/howto/calendar-scaler.html", + "title": "Calendar Node Pool Autoscaler", + "section": "", + "text": "The scheduler isn’t perfect for us, especially when large classes have assignments due and a hub is flooded with students. This “hack” was introduced to improve cluster scaling prior to known events.\nThese ‘placeholder’ nodes are used to minimize the delay that occurs when GCP creates new node pools during mass user logins. This common, especially for larger classes.", + "crumbs": [ + "Using DataHub", + "Contributing to DataHub", + "Common Administrator Tasks", + "Calendar Node Pool Autoscaler" + ] + }, + { + "objectID": "admins/howto/calendar-scaler.html#why-scale-node-pools-with-google-calendar", + "href": "admins/howto/calendar-scaler.html#why-scale-node-pools-with-google-calendar", + "title": "Calendar Node Pool Autoscaler", + "section": "", + "text": "The scheduler isn’t perfect for us, especially when large classes have assignments due and a hub is flooded with students. This “hack” was introduced to improve cluster scaling prior to known events.\nThese ‘placeholder’ nodes are used to minimize the delay that occurs when GCP creates new node pools during mass user logins. This common, especially for larger classes.", + "crumbs": [ + "Using DataHub", + "Contributing to DataHub", + "Common Administrator Tasks", + "Calendar Node Pool Autoscaler" + ] + }, + { + "objectID": "admins/howto/calendar-scaler.html#structure", + "href": "admins/howto/calendar-scaler.html#structure", + "title": "Calendar Node Pool Autoscaler", + "section": "Structure", + "text": "Structure\nThere is a Google Calendar calendar, DataHub Scaling Events shared with all infrastructure staff. The event descriptions should contain a YAML fragment, and are of the form pool_name: count, where the name is the corresponding hub name (data100, stat20) and the count is the number of extra nodes you want. There can be several pools defined, one per line.\nBy default, we usually have one spare node ready to go, so if the count in the calendar event is set to 0 or 1, there will be no change to the cluster. If the value is set to >=2, additional hot spares will be created. If a value is set more than once, the entry with the greater value will be used.\nYou can determine how many placeholder nodes to have up based on how many people you expect to log in at once. Some of the bigger courses may require 2 or more placeholder nodes, but during “regular” hours, 1 is usually sufficient.\nThe scaling mechanism is implemented as the node-placeholder-node-placeholder-scaler deployment within the node-placeholder namespace. The source code is within https://github.com/berkeley-dsep-infra/datahub/tree/staging/images/node-placeholder-scaler.", + "crumbs": [ + "Using DataHub", + "Contributing to DataHub", + "Common Administrator Tasks", + "Calendar Node Pool Autoscaler" + ] + }, + { + "objectID": "admins/howto/calendar-scaler.html#calendar-autoscaler", + "href": "admins/howto/calendar-scaler.html#calendar-autoscaler", + "title": "Calendar Node Pool Autoscaler", + "section": "Calendar Autoscaler", + "text": "Calendar Autoscaler\nThe code for the calendar autoscaler is a python 3.11 script, located here: https://github.com/berkeley-dsep-infra/datahub/tree/staging/images/node-placeholder-scaler/scaler\n\nHow the scaler works\nThere is a k8s pod running in the node-placeholder namespace, which simply runs python3 -m scaler. This script runs in an infinite loop, and every 60 seconds checks the scaler config and calendar for entries. It then uses the highest value provided as the number of placeholder replicas for any given hub. This means that if there’s a daily evening event to ‘cool down’ the number of replicas for all hubs to 0, and a simultaneous event to set one or more hubs to a higher number, the scaler will see this and keep however many node placeholders specified up and ready to go.\nAfter determining the number of replicas needed for each hub, the scaler will create a k8s template and run kubectl in the pod.\n\n\nUpdating the scaler config\nThe scaler config sets the default number of node-placeholders that are running at any given time. These values can be overridden by creating events in the DataHub Scaling Events calendar.\nWhen classes are in session, these defaults are all typically set to 1, and during breaks (or when a hub is not expected to be in use) they can be set to 0.\nAfter making changes to values.yaml, create a PR normally and our CI will push the new config out to the node-placeholder pod. There is no need to manually restart the node-placeholder pod as the changes will be picked up automatically.\n\n\nWorking on, testing and deploying the calendar scaler\nAll file locations in this section will assume that you are in the datahub/images/node-placeholder-scaler/ directory.\nIt is strongly recommended that you create a new python 3.11 environment before doing any dev work on the scaler. With conda, you can run the following commands to create one:\nconda create -ny scalertest python=3.11\npip install -r requirements.txt\nAny changes to the scaler code will require you to run chartpress to redeploy the scaler to GCP.\nHere is an example of how you can test any changes to scaler/calendar.py locally in the python interpreter:\n# these tests will use somes dates culled from the calendar with varying numbers of events.\nimport scaler.calendar\nimport datetime\nimport zoneinfo\n\ntz = zoneinfo.ZoneInfo(key='America/Los_Angeles')\nzero_events_noon_june = datetime.datetime(2023, 6, 14, 12, 0, 0, tzinfo=tz)\none_event_five_pm_april = datetime.datetime(2023, 4, 27, 17, 0, 0, tzinfo=tz)\nthree_events_eight_thirty_pm_march = datetime.datetime(2023, 3, 6, 20, 30, 0, tzinfo=tz)\ncalendar = scaler.calendar.get_calendar('https://calendar.google.com/calendar/ical/c_s47m3m1nuj3s81187k3b2b5s5o%40group.calendar.google.com/public/basic.ics')\nzero_events = scaler.calendar.get_events(calendar, time=zero_events_noon_june)\none_event = scaler.calendar.get_events(calendar, time=one_event_five_pm_april)\nthree_events = scaler.calendar.get_events(calendar, time=three_events_eight_thirty_pm_march)\n\nassert len(zero_events) == 0\nassert len(one_event) == 1\nassert len(three_events) == 3\nget_events returns a list of ical ical.event.Event class objects.\nThe method for testing scaler/scaler.py is similar to above, but the only things you’ll be able test locally are the make_deployment() and get_replica_counts() functions.\nWhen you’re ready, create a PR. The deployment workflow is as follows:\n\nGet all authed-up for chartpress by performing the steps listed here.\nRun chartpress --push from the root datahub/ directory. If this succeeds, check your git status and add datahub/node-placeholder/Chart.yaml and datahub/node-placeholder/values.yml to your PR.\nMerge to staging and then prod.\n\n\n\nChanging python imports\nThe python requirements file is generated using requirements.in and pip-compile. If you need to change/add/update any packages, you’ll need to do the following:\n\nEnsure you have the correct python environment activated (see above).\nPip install pip-tools\nEdit requirements.in and save your changes.\nExecute pip-compile requirements.in, which will update the requirements.txt.\nCheck your git status and diffs, and create a pull request if necessary.\nGet all authed-up for chartpress by performing the steps listed here.\nRun chartpress --push from the root datahub/ directory. If this succeeds, check your git status and add datahub/node-placeholder/Chart.yaml and datahub/node-placeholder/values.yml to your PR.\nMerge to staging and then prod.", + "crumbs": [ + "Using DataHub", + "Contributing to DataHub", + "Common Administrator Tasks", + "Calendar Node Pool Autoscaler" + ] + }, + { + "objectID": "admins/howto/calendar-scaler.html#monitoring", + "href": "admins/howto/calendar-scaler.html#monitoring", + "title": "Calendar Node Pool Autoscaler", + "section": "Monitoring", + "text": "Monitoring\nYou can monitor the scaling by watching for events:\nkubectl -n node-placeholder get events -w\nAnd by tailing the logs of the pod with the scalar process:\nkubectl -n node-placeholder logs -l app.kubernetes.io/name=node-placeholder-scaler -f\nFor example if you set epsilon: 2, you might see in the pod logs:\n2022-10-17 21:36:45,440 Found event Stat20/Epsilon test 2 2022-10-17 14:21 PDT to 15:00 PDT\n2022-10-17 21:36:45,441 Overrides: {'epsilon': 2}\n2022-10-17 21:36:46,475 Setting epsilon to have 2 replicas", + "crumbs": [ + "Using DataHub", + "Contributing to DataHub", + "Common Administrator Tasks", + "Calendar Node Pool Autoscaler" + ] + }, + { + "objectID": "admins/howto/new-hub.html", + "href": "admins/howto/new-hub.html", + "title": "Create a new Hub", + "section": "", + "text": "The major reasons for making a new hub are:\n\nA new course wants to join the Berkeley Datahub community!\nSome of your students are admins on another hub, so they can see other students' work there.\nYou want to use a different kind of authenticator.\nYou are running in a different cloud, or using a different billing account.\nYour environment is different enough and specialized enough that a different hub is a good idea. By default, everyone uses the same image as datahub.berkeley.edu.\nYou want a different URL (X.datahub.berkeley.edu vs just datahub.berkeley.edu)\n\nIf your reason is something else, it probably needs some justification :)", + "crumbs": [ + "Using DataHub", + "Contributing to DataHub", + "Common Administrator Tasks", + "Create a new Hub" + ] + }, + { + "objectID": "admins/howto/new-hub.html#why-create-a-new-hub", + "href": "admins/howto/new-hub.html#why-create-a-new-hub", + "title": "Create a new Hub", + "section": "", + "text": "The major reasons for making a new hub are:\n\nA new course wants to join the Berkeley Datahub community!\nSome of your students are admins on another hub, so they can see other students' work there.\nYou want to use a different kind of authenticator.\nYou are running in a different cloud, or using a different billing account.\nYour environment is different enough and specialized enough that a different hub is a good idea. By default, everyone uses the same image as datahub.berkeley.edu.\nYou want a different URL (X.datahub.berkeley.edu vs just datahub.berkeley.edu)\n\nIf your reason is something else, it probably needs some justification :)", + "crumbs": [ + "Using DataHub", + "Contributing to DataHub", + "Common Administrator Tasks", + "Create a new Hub" + ] + }, + { + "objectID": "admins/howto/new-hub.html#prereqs", + "href": "admins/howto/new-hub.html#prereqs", + "title": "Create a new Hub", + "section": "Prereqs", + "text": "Prereqs\nWorking installs of the following utilities:\n\nsops\nhubploy\n\nhubploy docs\npip install hubploy\n\ngcloud\nkubectl\ncookiecutter\n\nProper access to the following systems:\n\nGoogle Cloud IAM: owner\nWrite access to the datahub repo\nCircleCI account linked to our org", + "crumbs": [ + "Using DataHub", + "Contributing to DataHub", + "Common Administrator Tasks", + "Create a new Hub" + ] + }, + { + "objectID": "admins/howto/new-hub.html#setting-up-a-new-hub", + "href": "admins/howto/new-hub.html#setting-up-a-new-hub", + "title": "Create a new Hub", + "section": "Setting up a new hub", + "text": "Setting up a new hub\n\nName the hub\nChoose the <hubname> (typically the course or department). This is permanent.\n\n\nDetermine deployment needs\nBefore creating a new hub, have a discussion with the instructor about the system requirements, frequency of assignments and how much storage will be required for the course. Typically, there are three general \"types\" of hub: Heavy usage, general and small courses.\nSmall courses will usually have one or two assignments per semester, and may only have 20 or fewer users.\nGeneral courses have up to ~500 users, but don't have large amount of data or require upgraded compute resources.\nHeavy usage courses can potentially have thousands of users, require upgraded node specs and/or have Terabytes of data each semester.\nBoth general and heavy usage courses typically have weekly assignments.\nSmall courses (and some general usage courses) can use either or both of a shared node pool and filestore to save money (Basic HDD filestore instances start at 1T).\nThis is also a good time to determine if there are any specific software packages/libraries that need to be installed, as well as what language(s) the course will be using. This will determine which image to use, and if we will need to add additional packages to the image build.\nIf you're going to use an existing node pool and/or filestore instance, you can skip either or both of the following steps and pick back up at the cookiecutter.\nWhen creating a new hub, we also make sure to label the filestore and GKE/node pool resouces with both hub and <nodepool|filestore>-deployment. 99.999% of the time, the values for all three of these labels will be <hubname>.\n\n\nCreating a new node pool\nCreate the node pool:\ngcloud container node-pools create \"user-<hubname>-<YYYY-MM-DD>\" \\\n --labels=hub=<hubname>,nodepool-deployment=<hubname> \\\n --node-labels hub.jupyter.org/pool-name=<hubname>-pool \\\n --machine-type \"n2-highmem-8\" \\\n --enable-autoscaling --min-nodes \"0\" --max-nodes \"20\" \\\n --project \"ucb-datahub-2018\" --cluster \"spring-2024\" \\\n --region \"us-central1\" --node-locations \"us-central1-b\" \\\n --node-taints hub.jupyter.org_dedicated=user:NoSchedule --tags hub-cluster \\\n --image-type \"COS_CONTAINERD\" --disk-type \"pd-balanced\" --disk-size \"200\" \\\n --metadata disable-legacy-endpoints=true \\\n --scopes \"https://www.googleapis.com/auth/devstorage.read_only\",\"https://www.googleapis.com/auth/logging.write\",\"https://www.googleapis.com/auth/monitoring\",\"https://www.googleapis.com/auth/servicecontrol\",\"https://www.googleapis.com/auth/service.management.readonly\",\"https://www.googleapis.com/auth/trace.append\" \\\n --no-enable-autoupgrade --enable-autorepair \\\n --max-surge-upgrade 1 --max-unavailable-upgrade 0 --max-pods-per-node \"110\"\n\n\nCreating a new filestore instance\nBefore you create a new filestore instance, be sure you know the capacity required. The smallest amount you can allocate is 1T, but larger hubs may require more. Confer with the admins and people instructing the course and determine how much they think they will need.\nWe can easily scale capacity up, but not down.\nFrom the command line, first fill in the instance name (<hubname>-<YYYY-MM-DD>) and <capacity>, and then execute the following command:\ngcloud filestore instances create <hubname>-<YYYY-MM-DD> \\\n --zone \"us-central1-b\" --tier=\"BASIC_HDD\" \\\n --file-share=capacity=1TiB,name=shares \\\n --network=name=default,connect-mode=DIRECT_PEERING\nOr, from the web console, click on the horizontal bar icon at the top left corner.\n\nAccess \"Filestore\" -> \"Instances\" and click on \"Create Instance\".\nName the instance <hubname>-<YYYY-MM-DD>\nInstance Type is Basic, Storage Type is HDD.\nAllocate capacity.\nSet the region to us-central1 and Zone to us-central1-b.\nSet the VPC network to default.\nSet the File share name to shares.\nClick \"Create\" and wait for it to be deployed.\nOnce it's deployed, select the instance and copy the \"NFS mount point\".\n\nYour new (but empty) NFS filestore must be seeded with a pair of directories. We run a utility VM for NFS filestore management; follow the steps below to connect to this utility VM, mount your new filestore, and create & configure the required directories.\nYou can run the following command in gcloud terminal to log in to the NFS utility VM:\ngcloud compute ssh nfsserver-01 --zone=us-central1-b\nAlternatively, launch console.cloud.google.com -> Select \"ucb-datahub-2018\" as the project name.\n\nClick on the three horizontal bar icon at the top left corner.\nAccess \"Compute Engine\" -> \"VM instances\" -> and search for \"nfs-server-01\".\nSelect \"Open in browser window\" option to access NFS server via GUI.\n\nBack in the NFS utility VM shell, mount the new share:\nmkdir /export/<hubname>-filestore\nmount <filestore share IP>:/shares /export/<hubname>-filestore\nCreate staging and prod directories owned by 1000:1000 under /export/<hubname>-filestore/<hubname>. The path might differ if your hub has special home directory storage needs. Consult admins if that's the case. Here is the command to create the directory with appropriate permissions:\ninstall -d -o 1000 -g 1000 \\\n /export/<hubname>-filestore/<hubname>/staging \\\n /export/<hubname>-filestore/<hubname>/prod\nCheck whether the directories have permissions similar to the below directories:\ndrwxr-xr-x 4 ubuntu ubuntu 45 Nov 3 20:33 a11y-filestore\ndrwxr-xr-x 4 ubuntu ubuntu 33 Jan 4 2022 astro-filestore\ndrwxr-xr-x 4 ubuntu ubuntu 16384 Aug 16 18:45 biology-filestore\n\n\nCreate the hub deployment locally\nIn the datahub/deployments directory, run cookiecutter. This sets up the hub's configuration directory:\ncookiecutter template/\n\nThe cookiecutter template will prompt you to provide the following information:\n\n\n<hub_name>: Enter the chosen name of the hub.\n<project_name>: Default is ucb-datahub-2018, do not change.\n<cluster_name>: Default is spring-2024, do not change.\n<pool_name>: Name of the node pool (shared or individual) to deploy on.\nhub_filestore_share: Default is shares, do not change.\nhub_filestore_ip: Enter the IP address of the filestore instance. This is available from the web console.\nhub_filestore_capacity: Enter the allocated storage capacity. This is available from the web console.\n\n\n\nThis will generate a directory with the name of the hub you provided with a skeleton configuration and all the necessary secrets.\n\n\nConfigure filestore security settings and GCP billing labels\nIf you have created a new filestore instance, you will now need to apply the ROOT_SQUASH settings. Please ensure that you've already created the hub's root directory and both staging and prod directories, otherwise you will lose write access to the share. We also attach labels to a new filestore instance for tracking individual and full hub costs.\nSkip this step if you are using an existing/shared filestore.\ngcloud filestore instances update <filestore-instance-name> --zone=us-central1-b \\\n --update-labels=hub=<hubname>,filestore-deployment=<hubname> \\\n --flags-file=<hubname>/config/filestore/squash-flags.json\n\n\nAuthentication\nSet up authentication via bcourses. We have two canvas OAuth2 clients setup in bcourses for us - one for all production hubs and one for all staging hubs. The configuration and secrets for these are provided by the cookiecutter template, however the new hubs need to be added to the authorized callback list maintained in bcourses.\n\nUse sops to edit secrets/dev.yaml and secrets/prod.yaml, replacing the cookiecutter hub_name. cookiecutter can’t do this for you since the values are encrypted.\nAdd <hub_name>-staging.datahub.berkeley.edu/hub/oauth_callback to the staging hub client (id 10720000000000594)\nAdd <hub_name>.datahub.berkeley.edu/hub/oauth_callback to the production hub client (id 10720000000000472)\n\nPlease reach out to Jonathan Felder to set this up, or bcourseshelp@berkeley.edu if he is not available.\n\n\nCircleCI\nThe CircleCI configuration file .circleci/config.yml will need to include directives for building and deploying your new hub at several phases of the CircleCI process. Generally speaking, an adequate manual strategy for this is to pick the name of an existing hub, find each occurrence of that name, and add analogous entries for your new hub alongside your example existing hub. Please order new entries for your new hub in alphabetical order amongst the entries for existing hubs.\nHere is a partial (but incomplete) sampling of some of the relevant sections of the CircleCI configuration file:\n- run:\n name: Deploy <hubname>\n command: |\n hubploy deploy <hubname> hub ${CIRCLE_BRANCH}\n\n- hubploy/build-image:\n deployment: <hubname>\n name: <hubname> image build\n filters:\n branches:\n ignore:\n - staging\n - prod \n\n\n - hubploy/build-image:\n deployment: <hubname>\n name: <hubname> image build\n push: true\n filters:\n branches:\n only:\n - staging\n\n\n - <hubname> image build\nReview hubploy.yaml file inside your project directory and update the image name to the latest image. Something like this,\nimage_name: us-central1-docker.pkg.dev/ucb-datahub-2018/user-images/a11y-user-image\n\n\nAdd hub to the github labeler workflow\nThe new hub will now need to be added to the github labeler workflow.\nEdit the file .github/labeler.yml and add an entry for this hub (alphabetically) in the # add hub-specific labels for deployment changes block:\n\"hub: <hubname>\":\n - \"deployments/<hubname>/**\"\n\n\nCreate placeholder node pool\nNode pools have a configured minimum size, but our cluster has the ability to set aside additional placeholder nodes. These are nodes that get spun up in anticipation of the pool needing to suddenly grow in size, for example when large classes begin.\nIf you are deploying to a shared node pool, there is no need to perform this step.\nOtherwise, you'll need to add the placeholder settings in node-placeholder/values.yaml.\nThe node placeholder pod should have enough RAM allocated to it that it needs to be kicked out to get even a single user pod on the node - but not so big that it can't run on a node where other system pods are running! To do this, we'll find out how much memory is allocatable to pods on that node, then subtract the sum of all non-user pod memory requests and an additional 256Mi of \"wiggle room\". This final number will be used to allocate RAM for the node placeholder.\n\nLaunch a server on https://<hubname>.datahub.berkeley.edu\nGet the node name (it will look something like gke-spring-2024-user-datahub-2023-01-04-fc70ea5b-67zs): kubectl get nodes | grep <hubname> | awk '{print$1}'\nGet the total amount of memory allocatable to pods on this node and convert to bytes: kubectl get node <nodename> -o jsonpath='{.status.allocatable.memory}'\nGet the total memory used by non-user pods/containers on this node. We explicitly ignore notebook and pause. Convert to bytes and get the sum:\n\nkubectl get -A pod -l 'component!=user-placeholder' \\\n --field-selector spec.nodeName=<nodename> \\\n -o jsonpath='{range .items[*].spec.containers[*]}{.name}{\"\\t\"}{.resources.requests.memory}{\"\\n\"}{end}' \\\n | egrep -v 'pause|notebook'\n\nSubract the second number from the first, and then subtract another 277872640 bytes (256Mi) for \"wiggle room\".\nAdd an entry for the new placeholder node config in values.yaml:\n\ndata102:\n nodeSelector:\n hub.jupyter.org/pool-name: data102-pool\n resources:\n requests:\n # Some value slightly lower than allocatable RAM on the node pool\n memory: 60929654784\n replicas: 1\nFor reference, here's example output from collecting and calculating the values for data102:\n(gcpdev) ➜ ~ kubectl get nodes | grep data102 | awk '{print$1}'\ngke-spring-2024-user-data102-2023-01-05-e02d4850-t478\n(gcpdev) ➜ ~ kubectl get node gke-spring-2024-user-data102-2023-01-05-e02d4850-t478 -o jsonpath='{.status.allocatable.memory}' # convert to bytes\n60055600Ki%\n(gcpdev) ➜ ~ kubectl get -A pod -l 'component!=user-placeholder' \\\n--field-selector spec.nodeName=gke-spring-2024-user-data102-2023-01-05-e02d4850-t478 \\\n-o jsonpath='{range .items[*].spec.containers[*]}{.name}{\"\\t\"}{.resources.requests.memory}{\"\\n\"}{end}' \\\n| egrep -v 'pause|notebook' # convert all values to bytes, sum them\ncalico-node\nfluentbit 100Mi\nfluentbit-gke 100Mi\ngke-metrics-agent 60Mi\nip-masq-agent 16Mi\nkube-proxy\nprometheus-node-exporter\n(gcpdev) ➜ ~ # subtract the sum of the second command's values from the first value, then subtract another 277872640 bytes for wiggle room\n(gcpdev) ➜ ~ # in this case: (60055600Ki - (100Mi + 100Mi + 60Mi + 16Mi)) - 256Mi\n(gcpdev) ➜ ~ # (61496934400 - (104857600 + 104857600 + 16777216 + 62914560)) - 277872640 == 60929654784\nBesides setting defaults, we can dynamically change the placeholder counts by either adding new, or editing existing, calendar events. This is useful for large courses which can have placeholder nodes set aside for predicatable periods of heavy ramp up.\n\n\nCommit and deploy staging\nCommit the hub directory, and make a PR to the the staging branch in the GitHub repo. Once tests pass, merge the PR to get a working staging hub! It might take a few minutes for HTTPS to work, but after that you can log into it at https://<hub_name>-staging.datahub.berkeley.edu. Test it out and make sure things work as you think they should.\n\nMake a PR from the staging branch to the prod branch. When this PR is merged, it'll deploy the production hub. It might take a few minutes for HTTPS to work, but after that you can log into it at https://<hub_name>.datahub.berkeley.edu. Test it out and make sure things work as you think they should.\nYou may want to customize the docker image for the hub based on your unique requirements. Navigate to deployments/'Project Name'/image and review environment.yml file and identify packages that you want to add from the conda repository <https://anaconda.org/>. You can copy the image manifest files from another deployment. It is recommended to use a repo2docker-style image build, without a Dockerfile, if possible. That format will probably serve as the ' basis for self-service user-created images in the future.\nAll done.", + "crumbs": [ + "Using DataHub", + "Contributing to DataHub", + "Common Administrator Tasks", + "Create a new Hub" + ] + }, + { + "objectID": "admins/howto/prometheus-grafana.html", + "href": "admins/howto/prometheus-grafana.html", + "title": "Prometheus and Grafana", + "section": "", + "text": "It can be useful to interact with the cluster’s prometheus server while developing dashboards in grafana. You will need to forward a local port to the prometheus server’s pod.\n\n\nListen on port 9090 locally, forwarding to the prometheus server’s port 9090.\nkubectl -n support port-forward deployment/support-prometheus-server 9090\nthen visit http://localhost:9090.\n\n\n\nListen on port 8000 locally, forwarding to the prometheus server’s port 9090.\nkubectl -n support port-forward deployment/support-prometheus-server 8000:9090\nthen visit http://localhost:8000.", + "crumbs": [ + "Using DataHub", + "Contributing to DataHub", + "Common Administrator Tasks", + "Prometheus and Grafana" + ] + }, + { + "objectID": "admins/howto/prometheus-grafana.html#using-the-standard-port", + "href": "admins/howto/prometheus-grafana.html#using-the-standard-port", + "title": "Prometheus and Grafana", + "section": "", + "text": "Listen on port 9090 locally, forwarding to the prometheus server’s port 9090.\nkubectl -n support port-forward deployment/support-prometheus-server 9090\nthen visit http://localhost:9090.", + "crumbs": [ + "Using DataHub", + "Contributing to DataHub", + "Common Administrator Tasks", + "Prometheus and Grafana" + ] + }, + { + "objectID": "admins/howto/prometheus-grafana.html#using-an-alternative-port", + "href": "admins/howto/prometheus-grafana.html#using-an-alternative-port", + "title": "Prometheus and Grafana", + "section": "", + "text": "Listen on port 8000 locally, forwarding to the prometheus server’s port 9090.\nkubectl -n support port-forward deployment/support-prometheus-server 8000:9090\nthen visit http://localhost:8000.", + "crumbs": [ + "Using DataHub", + "Contributing to DataHub", + "Common Administrator Tasks", + "Prometheus and Grafana" + ] + }, + { + "objectID": "admins/howto/new-packages.html", + "href": "admins/howto/new-packages.html", + "title": "Testing and Upgrading New Packages", + "section": "", + "text": "It is helpful to test package additions and upgrades for yourself before they are installed for all users. You can make sure the change behaves as you think it should, and does not break anything else. Once tested, request that the change by installed for all users by by creating a new issue in github,contacting cirriculum support staff, or creating a new pull request. Ultimately, thouroughly testing changes locally and submitting a pull request will result in the software being rolled out to everyone much faster.", + "crumbs": [ + "Using DataHub", + "Contributing to DataHub", + "Common Administrator Tasks", + "Testing and Upgrading New Packages" + ] + }, + { + "objectID": "admins/howto/new-packages.html#submitting-a-pull-request", + "href": "admins/howto/new-packages.html#submitting-a-pull-request", + "title": "Testing and Upgrading New Packages", + "section": "Submitting a pull request", + "text": "Submitting a pull request\nFamiliarize yourself with pull requests and repo2docker , and create a fork of the datahub staging branch.\n\nSet up your git/dev environment by following the instructions here.\nCreate a new branch for this PR.\nFind the correct environment.yml file for your class. This should be under datahub/deployments/<class or hub name>/image\nIn environment.yml, packages listed under dependencies are installed using conda, while packages under pip are installed using pip. Any packages that need to be installed via apt must be added to either datahub/deployments/<class or hub name>/image/apt.txt or datahub/deployments/<class or hub name>/image/Dockerfile.\nAdd any packages necessary. We typically prefer using conda packages, and pip only if necessary. Please pin to a specific version (no wildards, etc).\n\nNote that package versions for conda are specified using =, while in pip they are specified using ==\n\nTest the changes locally using repo2docker, then submit a PR to staging.\n\nTo use repo2docker, you have to point it at the right Dockerfile for your class. For example, to test the data100 datahub, you would run repo2docker deployments/data100/image from the base datahub directory.\n\nCommit and push your changes to your fork of the datahub repo, and create a new pull request at https://github.com/berkeley-dsep-infra/datahub/.\nOnce the PR is merged to staging, you can test it out on class-staging.datahub.berkeley.edu.\nChanges are only deployed to datahub once the relevant Travis CI job is completed. See https://circleci.com/gh/berkeley-dsep-infra/datahub to view Travis CI job statuses.", + "crumbs": [ + "Using DataHub", + "Contributing to DataHub", + "Common Administrator Tasks", + "Testing and Upgrading New Packages" + ] + }, + { + "objectID": "admins/howto/new-packages.html#tips-for-upgrading-package", + "href": "admins/howto/new-packages.html#tips-for-upgrading-package", + "title": "Testing and Upgrading New Packages", + "section": "Tips for Upgrading Package", + "text": "Tips for Upgrading Package\n\nConda can take an extremely long time to resolve version dependency conflicts, if they are resolvable at all. When upgrading Python versions or a core package that is used by many other packages, such as requests, clean out or upgrade old packages to minimize the number of dependency conflicts.", + "crumbs": [ + "Using DataHub", + "Contributing to DataHub", + "Common Administrator Tasks", + "Testing and Upgrading New Packages" + ] + }, + { + "objectID": "admins/howto/core-pool.html", + "href": "admins/howto/core-pool.html", + "title": "Creating and managing the core node pool", + "section": "", + "text": "What is the core node pool?\nThe core node pool is the primary entrypoint for all hubs we host. It manages all incoming traffic, and redirects said traffic (via the nginx ingress controller) to the proper hub.\nIt also does other stuff.\n\n\nDeploying a new core node pool\nRun the following command from the root directory of your local datahub repo to create the node pool:\ngcloud container node-pools create \"core-<YYYY-MM-DD>\" \\\n --labels=hub=core,nodepool-deployment=core \\\n --node-labels hub.jupyter.org/pool-name=core-pool-<YYYY-MM-DD> \\\n --machine-type \"n2-standard-8\" \\\n --num-nodes \"1\" \\\n --enable-autoscaling --min-nodes \"1\" --max-nodes \"3\" \\\n --project \"ucb-datahub-2018\" --cluster \"spring-2024\" --region \"us-central1\" --node-locations \"us-central1-b\" \\\n --tags hub-cluster \\\n --image-type \"COS_CONTAINERD\" --disk-type \"pd-balanced\" --disk-size \"100\" \\\n --metadata disable-legacy-endpoints=true \\\n --scopes \"https://www.googleapis.com/auth/devstorage.read_only\",\"https://www.googleapis.com/auth/logging.write\",\"https://www.googleapis.com/auth/monitoring\",\"https://www.googleapis.com/auth/servicecontrol\",\"https://www.googleapis.com/auth/service.management.readonly\",\"https://www.googleapis.com/auth/trace.append\" \\\n --no-enable-autoupgrade --enable-autorepair --max-surge-upgrade 1 --max-unavailable-upgrade 0 --max-pods-per-node \"110\" \\\n --system-config-from-file=vendor/google/gke/node-pool/config/core-pool-sysctl.yaml\nThe system-config-from-file argument is important, as we need to tune the kernel TCP settings to handle large numbers of concurrent users and keep nginx from using up all of the TCP ram.", + "crumbs": [ + "Using DataHub", + "Contributing to DataHub", + "Common Administrator Tasks", + "Creating and managing the core node pool" + ] + }, + { + "objectID": "admins/howto/github-token.html", + "href": "admins/howto/github-token.html", + "title": "Create Finely Grained Access Token", + "section": "", + "text": "At https://github.com/settings/personal-access-tokens/new:\n\nToken name: set something descriptive.\nExpiration: set the token to expire no earlier or later than necessary.\nDescription: elaborate on the function of the token.\nResource owner: berkeley-dsep-infra\nRepository access: Only selected repositories > datahub\nPermissions: Contents > Access: Read and write", + "crumbs": [ + "Using DataHub", + "Contributing to DataHub", + "Common Administrator Tasks", + "Create Finely Grained Access Token" + ] + }, + { + "objectID": "admins/structure.html", + "href": "admins/structure.html", + "title": "Repository Structure", + "section": "", + "text": "Each hub has a directory under deployments/ where all configuration for that particular hub is stored in a standard format. For example, all the configuration for the primary hub used on campus (datahub) is stored under deployments/datahub/.\n\n\nThe contents of the image/ directory determine the environment provided to the user. For example, it controls:\n\nVersions of Python / R / Julia available\nLibraries installed, and which versions of those are installed\nSpecific config for Jupyter Notebook or IPython\n\nrepo2docker is used to build the actual user image, so you can use any of the supported config files to customize the image as you wish.\n\n\n\nAll our JupyterHubs are based on Zero to JupyterHub (z2jh). z2jh uses configuration files in YAML format to specify exactly how the hub is configured. For example, it controls:\n\nRAM available per user\nAdmin user lists\nUser storage information\nPer-class & Per-user RAM overrides (when classes or individuals need more RAM)\nAuthentication secret keys\n\nThese files are split between files that are visible to everyone (config/) and files that are visible only to a select few illuminati (secrets/). To get access to the secret files, please consult the illuminati.\nFiles are further split into:\n\ncommon.yaml - Configuration common to staging and production instances of this hub. Most config should be here.\nstaging.yaml - Configuration specific to the staging instance of the hub.\nprod.yaml - Configuration specific to the production instance of the hub.\n\n\n\n\nWe use hubploy to deploy our hubs in a repeatable fashion. hubploy.yaml contains information required for hubploy to work - such as cluster name, region, provider, etc.\nVarious secret keys used to authenticate to cloud providers are kept under secrets/ and referred to from hubploy.yaml.", + "crumbs": [ + "Using DataHub", + "Contributing to DataHub", + "Repository Structure" + ] + }, + { + "objectID": "admins/structure.html#hub-configuration", + "href": "admins/structure.html#hub-configuration", + "title": "Repository Structure", + "section": "", + "text": "Each hub has a directory under deployments/ where all configuration for that particular hub is stored in a standard format. For example, all the configuration for the primary hub used on campus (datahub) is stored under deployments/datahub/.\n\n\nThe contents of the image/ directory determine the environment provided to the user. For example, it controls:\n\nVersions of Python / R / Julia available\nLibraries installed, and which versions of those are installed\nSpecific config for Jupyter Notebook or IPython\n\nrepo2docker is used to build the actual user image, so you can use any of the supported config files to customize the image as you wish.\n\n\n\nAll our JupyterHubs are based on Zero to JupyterHub (z2jh). z2jh uses configuration files in YAML format to specify exactly how the hub is configured. For example, it controls:\n\nRAM available per user\nAdmin user lists\nUser storage information\nPer-class & Per-user RAM overrides (when classes or individuals need more RAM)\nAuthentication secret keys\n\nThese files are split between files that are visible to everyone (config/) and files that are visible only to a select few illuminati (secrets/). To get access to the secret files, please consult the illuminati.\nFiles are further split into:\n\ncommon.yaml - Configuration common to staging and production instances of this hub. Most config should be here.\nstaging.yaml - Configuration specific to the staging instance of the hub.\nprod.yaml - Configuration specific to the production instance of the hub.\n\n\n\n\nWe use hubploy to deploy our hubs in a repeatable fashion. hubploy.yaml contains information required for hubploy to work - such as cluster name, region, provider, etc.\nVarious secret keys used to authenticate to cloud providers are kept under secrets/ and referred to from hubploy.yaml.", + "crumbs": [ + "Using DataHub", + "Contributing to DataHub", + "Repository Structure" + ] + }, + { + "objectID": "admins/structure.html#documentation", + "href": "admins/structure.html#documentation", + "title": "Repository Structure", + "section": "Documentation", + "text": "Documentation\nDocumentation is under the docs/ folder, and is generated with the sphinx project. It is written with the reStructuredText (rst) format. Documentation is automatically published to https://uc-berkeley-jupyterhubs.readthedocs.io/ and https://docs.datahub.berkeley.edu/. This is performed via a webhook in the github repo.", + "crumbs": [ + "Using DataHub", + "Contributing to DataHub", + "Repository Structure" + ] + }, + { + "objectID": "admins/index.html", + "href": "admins/index.html", + "title": "", + "section": "", + "text": "======================= Contributing to DataHub =======================\n.. toctree:: :titlesonly: :maxdepth: 2\npre-reqs structure storage cluster-config credentials incidents/index\n.. toctree:: :titlesonly: :maxdepth: 2\nhowto/index\ndeployments/index" + } +] \ No newline at end of file diff --git a/site_libs/bootstrap/bootstrap-icons.css b/site_libs/bootstrap/bootstrap-icons.css new file mode 100644 index 000000000..285e4448f --- /dev/null +++ b/site_libs/bootstrap/bootstrap-icons.css @@ -0,0 +1,2078 @@ +/*! + * Bootstrap Icons v1.11.1 (https://icons.getbootstrap.com/) + * Copyright 2019-2023 The Bootstrap Authors + * Licensed under MIT (https://github.com/twbs/icons/blob/main/LICENSE) + */ + +@font-face { + font-display: block; + font-family: "bootstrap-icons"; + src: +url("./bootstrap-icons.woff?2820a3852bdb9a5832199cc61cec4e65") format("woff"); +} + +.bi::before, +[class^="bi-"]::before, +[class*=" bi-"]::before { + display: inline-block; + font-family: bootstrap-icons !important; + font-style: normal; + font-weight: normal !important; + font-variant: normal; + text-transform: none; + line-height: 1; + vertical-align: -.125em; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +.bi-123::before { content: "\f67f"; } +.bi-alarm-fill::before { content: "\f101"; } +.bi-alarm::before { content: "\f102"; } +.bi-align-bottom::before { content: "\f103"; } +.bi-align-center::before { content: "\f104"; } +.bi-align-end::before { content: "\f105"; } +.bi-align-middle::before { content: "\f106"; } +.bi-align-start::before { content: "\f107"; } +.bi-align-top::before { content: "\f108"; } +.bi-alt::before { content: "\f109"; } +.bi-app-indicator::before { content: "\f10a"; } +.bi-app::before { content: "\f10b"; } +.bi-archive-fill::before { content: "\f10c"; } +.bi-archive::before { content: "\f10d"; } +.bi-arrow-90deg-down::before { content: "\f10e"; } +.bi-arrow-90deg-left::before { content: "\f10f"; } +.bi-arrow-90deg-right::before { content: "\f110"; } +.bi-arrow-90deg-up::before { content: "\f111"; } +.bi-arrow-bar-down::before { content: "\f112"; } +.bi-arrow-bar-left::before { content: "\f113"; } +.bi-arrow-bar-right::before { content: "\f114"; } +.bi-arrow-bar-up::before { content: "\f115"; } +.bi-arrow-clockwise::before { content: "\f116"; } +.bi-arrow-counterclockwise::before { content: "\f117"; } +.bi-arrow-down-circle-fill::before { content: "\f118"; } +.bi-arrow-down-circle::before { content: "\f119"; } +.bi-arrow-down-left-circle-fill::before { content: "\f11a"; } +.bi-arrow-down-left-circle::before { content: "\f11b"; } +.bi-arrow-down-left-square-fill::before { content: "\f11c"; } +.bi-arrow-down-left-square::before { content: "\f11d"; } +.bi-arrow-down-left::before { content: "\f11e"; } +.bi-arrow-down-right-circle-fill::before { content: "\f11f"; } +.bi-arrow-down-right-circle::before { content: "\f120"; } +.bi-arrow-down-right-square-fill::before { content: "\f121"; } +.bi-arrow-down-right-square::before { content: "\f122"; } +.bi-arrow-down-right::before { content: "\f123"; } +.bi-arrow-down-short::before { content: "\f124"; } +.bi-arrow-down-square-fill::before { content: "\f125"; } +.bi-arrow-down-square::before { content: "\f126"; } +.bi-arrow-down-up::before { content: "\f127"; } +.bi-arrow-down::before { content: "\f128"; } +.bi-arrow-left-circle-fill::before { content: "\f129"; } +.bi-arrow-left-circle::before { content: "\f12a"; } +.bi-arrow-left-right::before { content: "\f12b"; } +.bi-arrow-left-short::before { content: "\f12c"; } +.bi-arrow-left-square-fill::before { content: "\f12d"; } +.bi-arrow-left-square::before { content: "\f12e"; } +.bi-arrow-left::before { content: "\f12f"; } +.bi-arrow-repeat::before { content: "\f130"; } +.bi-arrow-return-left::before { content: "\f131"; } +.bi-arrow-return-right::before { content: "\f132"; } +.bi-arrow-right-circle-fill::before { content: "\f133"; } +.bi-arrow-right-circle::before { content: "\f134"; } +.bi-arrow-right-short::before { content: "\f135"; } +.bi-arrow-right-square-fill::before { content: "\f136"; } +.bi-arrow-right-square::before { content: "\f137"; } +.bi-arrow-right::before { content: "\f138"; } +.bi-arrow-up-circle-fill::before { content: "\f139"; } +.bi-arrow-up-circle::before { content: "\f13a"; } +.bi-arrow-up-left-circle-fill::before { content: "\f13b"; } +.bi-arrow-up-left-circle::before { content: "\f13c"; } +.bi-arrow-up-left-square-fill::before { content: "\f13d"; } +.bi-arrow-up-left-square::before { content: "\f13e"; } +.bi-arrow-up-left::before { content: "\f13f"; } +.bi-arrow-up-right-circle-fill::before { content: "\f140"; } +.bi-arrow-up-right-circle::before { content: "\f141"; } +.bi-arrow-up-right-square-fill::before { content: "\f142"; } +.bi-arrow-up-right-square::before { content: "\f143"; } +.bi-arrow-up-right::before { content: "\f144"; } +.bi-arrow-up-short::before { content: "\f145"; } +.bi-arrow-up-square-fill::before { content: "\f146"; } +.bi-arrow-up-square::before { content: "\f147"; } +.bi-arrow-up::before { content: "\f148"; } +.bi-arrows-angle-contract::before { content: "\f149"; } +.bi-arrows-angle-expand::before { content: "\f14a"; } +.bi-arrows-collapse::before { content: "\f14b"; } +.bi-arrows-expand::before { content: "\f14c"; } +.bi-arrows-fullscreen::before { content: "\f14d"; } +.bi-arrows-move::before { content: "\f14e"; } +.bi-aspect-ratio-fill::before { content: "\f14f"; } +.bi-aspect-ratio::before { content: "\f150"; } +.bi-asterisk::before { content: "\f151"; } +.bi-at::before { content: "\f152"; } +.bi-award-fill::before { content: "\f153"; } +.bi-award::before { content: "\f154"; } +.bi-back::before { content: "\f155"; } +.bi-backspace-fill::before { content: "\f156"; } +.bi-backspace-reverse-fill::before { content: "\f157"; } +.bi-backspace-reverse::before { content: "\f158"; } +.bi-backspace::before { content: "\f159"; } +.bi-badge-3d-fill::before { content: "\f15a"; } +.bi-badge-3d::before { content: "\f15b"; } +.bi-badge-4k-fill::before { content: "\f15c"; } +.bi-badge-4k::before { content: "\f15d"; } +.bi-badge-8k-fill::before { content: "\f15e"; } +.bi-badge-8k::before { content: "\f15f"; } +.bi-badge-ad-fill::before { content: "\f160"; } +.bi-badge-ad::before { content: "\f161"; } +.bi-badge-ar-fill::before { content: "\f162"; } +.bi-badge-ar::before { content: "\f163"; } +.bi-badge-cc-fill::before { content: "\f164"; } +.bi-badge-cc::before { content: "\f165"; } +.bi-badge-hd-fill::before { content: "\f166"; } +.bi-badge-hd::before { content: "\f167"; } +.bi-badge-tm-fill::before { content: "\f168"; } +.bi-badge-tm::before { content: "\f169"; } +.bi-badge-vo-fill::before { content: "\f16a"; } +.bi-badge-vo::before { content: "\f16b"; } +.bi-badge-vr-fill::before { content: "\f16c"; } +.bi-badge-vr::before { content: "\f16d"; } +.bi-badge-wc-fill::before { content: "\f16e"; } +.bi-badge-wc::before { content: "\f16f"; } +.bi-bag-check-fill::before { content: "\f170"; } +.bi-bag-check::before { content: "\f171"; } +.bi-bag-dash-fill::before { content: "\f172"; } +.bi-bag-dash::before { content: "\f173"; } +.bi-bag-fill::before { content: "\f174"; } +.bi-bag-plus-fill::before { content: "\f175"; } +.bi-bag-plus::before { content: "\f176"; } +.bi-bag-x-fill::before { content: "\f177"; } +.bi-bag-x::before { content: "\f178"; } +.bi-bag::before { content: "\f179"; } +.bi-bar-chart-fill::before { content: "\f17a"; } +.bi-bar-chart-line-fill::before { content: "\f17b"; } +.bi-bar-chart-line::before { content: "\f17c"; } +.bi-bar-chart-steps::before { content: "\f17d"; } +.bi-bar-chart::before { content: "\f17e"; } +.bi-basket-fill::before { content: "\f17f"; } +.bi-basket::before { content: "\f180"; } +.bi-basket2-fill::before { content: "\f181"; } +.bi-basket2::before { content: "\f182"; } +.bi-basket3-fill::before { content: "\f183"; } +.bi-basket3::before { content: "\f184"; } +.bi-battery-charging::before { content: "\f185"; } +.bi-battery-full::before { content: "\f186"; } +.bi-battery-half::before { content: "\f187"; } +.bi-battery::before { content: "\f188"; } +.bi-bell-fill::before { content: "\f189"; } +.bi-bell::before { content: "\f18a"; } +.bi-bezier::before { content: "\f18b"; } +.bi-bezier2::before { content: "\f18c"; } +.bi-bicycle::before { content: "\f18d"; } +.bi-binoculars-fill::before { content: "\f18e"; } +.bi-binoculars::before { content: "\f18f"; } +.bi-blockquote-left::before { content: "\f190"; } +.bi-blockquote-right::before { content: "\f191"; } +.bi-book-fill::before { content: "\f192"; } +.bi-book-half::before { content: "\f193"; } +.bi-book::before { content: "\f194"; } +.bi-bookmark-check-fill::before { content: "\f195"; } +.bi-bookmark-check::before { content: "\f196"; } +.bi-bookmark-dash-fill::before { content: "\f197"; } +.bi-bookmark-dash::before { content: "\f198"; } +.bi-bookmark-fill::before { content: "\f199"; } +.bi-bookmark-heart-fill::before { content: "\f19a"; } +.bi-bookmark-heart::before { content: "\f19b"; } +.bi-bookmark-plus-fill::before { content: "\f19c"; } +.bi-bookmark-plus::before { content: "\f19d"; } +.bi-bookmark-star-fill::before { content: "\f19e"; } +.bi-bookmark-star::before { content: "\f19f"; } +.bi-bookmark-x-fill::before { content: "\f1a0"; } +.bi-bookmark-x::before { content: "\f1a1"; } +.bi-bookmark::before { content: "\f1a2"; } +.bi-bookmarks-fill::before { content: "\f1a3"; } +.bi-bookmarks::before { content: "\f1a4"; } +.bi-bookshelf::before { content: "\f1a5"; } +.bi-bootstrap-fill::before { content: "\f1a6"; } +.bi-bootstrap-reboot::before { content: "\f1a7"; } +.bi-bootstrap::before { content: "\f1a8"; } +.bi-border-all::before { content: "\f1a9"; } +.bi-border-bottom::before { content: "\f1aa"; } +.bi-border-center::before { content: "\f1ab"; } +.bi-border-inner::before { content: "\f1ac"; } +.bi-border-left::before { content: "\f1ad"; } +.bi-border-middle::before { content: "\f1ae"; } +.bi-border-outer::before { content: "\f1af"; } +.bi-border-right::before { content: "\f1b0"; } +.bi-border-style::before { content: "\f1b1"; } +.bi-border-top::before { content: "\f1b2"; } +.bi-border-width::before { content: "\f1b3"; } +.bi-border::before { content: "\f1b4"; } +.bi-bounding-box-circles::before { content: "\f1b5"; } +.bi-bounding-box::before { content: "\f1b6"; } +.bi-box-arrow-down-left::before { content: "\f1b7"; } +.bi-box-arrow-down-right::before { content: "\f1b8"; } +.bi-box-arrow-down::before { content: "\f1b9"; } +.bi-box-arrow-in-down-left::before { content: "\f1ba"; } +.bi-box-arrow-in-down-right::before { content: "\f1bb"; } +.bi-box-arrow-in-down::before { content: "\f1bc"; } +.bi-box-arrow-in-left::before { content: "\f1bd"; } +.bi-box-arrow-in-right::before { content: "\f1be"; } +.bi-box-arrow-in-up-left::before { content: "\f1bf"; } +.bi-box-arrow-in-up-right::before { content: "\f1c0"; } +.bi-box-arrow-in-up::before { content: "\f1c1"; } +.bi-box-arrow-left::before { content: "\f1c2"; } +.bi-box-arrow-right::before { content: "\f1c3"; } +.bi-box-arrow-up-left::before { content: "\f1c4"; } +.bi-box-arrow-up-right::before { content: "\f1c5"; } +.bi-box-arrow-up::before { content: "\f1c6"; } +.bi-box-seam::before { content: "\f1c7"; } +.bi-box::before { content: "\f1c8"; } +.bi-braces::before { content: "\f1c9"; } +.bi-bricks::before { content: "\f1ca"; } +.bi-briefcase-fill::before { content: "\f1cb"; } +.bi-briefcase::before { content: "\f1cc"; } +.bi-brightness-alt-high-fill::before { content: "\f1cd"; } +.bi-brightness-alt-high::before { content: "\f1ce"; } +.bi-brightness-alt-low-fill::before { content: "\f1cf"; } +.bi-brightness-alt-low::before { content: "\f1d0"; } +.bi-brightness-high-fill::before { content: "\f1d1"; } +.bi-brightness-high::before { content: "\f1d2"; } +.bi-brightness-low-fill::before { content: "\f1d3"; } +.bi-brightness-low::before { content: "\f1d4"; } +.bi-broadcast-pin::before { content: "\f1d5"; } +.bi-broadcast::before { content: "\f1d6"; } +.bi-brush-fill::before { content: "\f1d7"; } +.bi-brush::before { content: "\f1d8"; } +.bi-bucket-fill::before { content: "\f1d9"; } +.bi-bucket::before { content: "\f1da"; } +.bi-bug-fill::before { content: "\f1db"; } +.bi-bug::before { content: "\f1dc"; } +.bi-building::before { content: "\f1dd"; } +.bi-bullseye::before { content: "\f1de"; } +.bi-calculator-fill::before { content: "\f1df"; } +.bi-calculator::before { content: "\f1e0"; } +.bi-calendar-check-fill::before { content: "\f1e1"; } +.bi-calendar-check::before { content: "\f1e2"; } +.bi-calendar-date-fill::before { content: "\f1e3"; } +.bi-calendar-date::before { content: "\f1e4"; } +.bi-calendar-day-fill::before { content: "\f1e5"; } +.bi-calendar-day::before { content: "\f1e6"; } +.bi-calendar-event-fill::before { content: "\f1e7"; } +.bi-calendar-event::before { content: "\f1e8"; } +.bi-calendar-fill::before { content: "\f1e9"; } +.bi-calendar-minus-fill::before { content: "\f1ea"; } +.bi-calendar-minus::before { content: "\f1eb"; } +.bi-calendar-month-fill::before { content: "\f1ec"; } +.bi-calendar-month::before { content: "\f1ed"; } +.bi-calendar-plus-fill::before { content: "\f1ee"; } +.bi-calendar-plus::before { content: "\f1ef"; } +.bi-calendar-range-fill::before { content: "\f1f0"; } +.bi-calendar-range::before { content: "\f1f1"; } +.bi-calendar-week-fill::before { content: "\f1f2"; } +.bi-calendar-week::before { content: "\f1f3"; } +.bi-calendar-x-fill::before { content: "\f1f4"; } +.bi-calendar-x::before { content: "\f1f5"; } +.bi-calendar::before { content: "\f1f6"; } +.bi-calendar2-check-fill::before { content: "\f1f7"; } +.bi-calendar2-check::before { content: "\f1f8"; } +.bi-calendar2-date-fill::before { content: "\f1f9"; } +.bi-calendar2-date::before { content: "\f1fa"; } +.bi-calendar2-day-fill::before { content: "\f1fb"; } +.bi-calendar2-day::before { content: "\f1fc"; } +.bi-calendar2-event-fill::before { content: "\f1fd"; } +.bi-calendar2-event::before { content: "\f1fe"; } +.bi-calendar2-fill::before { content: "\f1ff"; } +.bi-calendar2-minus-fill::before { content: "\f200"; } +.bi-calendar2-minus::before { content: "\f201"; } +.bi-calendar2-month-fill::before { content: "\f202"; } +.bi-calendar2-month::before { content: "\f203"; } +.bi-calendar2-plus-fill::before { content: "\f204"; } +.bi-calendar2-plus::before { content: "\f205"; } +.bi-calendar2-range-fill::before { content: "\f206"; } +.bi-calendar2-range::before { content: "\f207"; } +.bi-calendar2-week-fill::before { content: "\f208"; } +.bi-calendar2-week::before { content: "\f209"; } +.bi-calendar2-x-fill::before { content: "\f20a"; } +.bi-calendar2-x::before { content: "\f20b"; } +.bi-calendar2::before { content: "\f20c"; } +.bi-calendar3-event-fill::before { content: "\f20d"; } +.bi-calendar3-event::before { content: "\f20e"; } +.bi-calendar3-fill::before { content: "\f20f"; } +.bi-calendar3-range-fill::before { content: "\f210"; } +.bi-calendar3-range::before { content: "\f211"; } +.bi-calendar3-week-fill::before { content: "\f212"; } +.bi-calendar3-week::before { content: "\f213"; } +.bi-calendar3::before { content: "\f214"; } +.bi-calendar4-event::before { content: "\f215"; } +.bi-calendar4-range::before { content: "\f216"; } +.bi-calendar4-week::before { content: "\f217"; } +.bi-calendar4::before { content: "\f218"; } +.bi-camera-fill::before { content: "\f219"; } +.bi-camera-reels-fill::before { content: "\f21a"; } +.bi-camera-reels::before { content: "\f21b"; } +.bi-camera-video-fill::before { content: "\f21c"; } +.bi-camera-video-off-fill::before { content: "\f21d"; } +.bi-camera-video-off::before { content: "\f21e"; } +.bi-camera-video::before { content: "\f21f"; } +.bi-camera::before { content: "\f220"; } +.bi-camera2::before { content: "\f221"; } +.bi-capslock-fill::before { content: "\f222"; } +.bi-capslock::before { content: "\f223"; } +.bi-card-checklist::before { content: "\f224"; } +.bi-card-heading::before { content: "\f225"; } +.bi-card-image::before { content: "\f226"; } +.bi-card-list::before { content: "\f227"; } +.bi-card-text::before { content: "\f228"; } +.bi-caret-down-fill::before { content: "\f229"; } +.bi-caret-down-square-fill::before { content: "\f22a"; } +.bi-caret-down-square::before { content: "\f22b"; } +.bi-caret-down::before { content: "\f22c"; } +.bi-caret-left-fill::before { content: "\f22d"; } +.bi-caret-left-square-fill::before { content: "\f22e"; } +.bi-caret-left-square::before { content: "\f22f"; } +.bi-caret-left::before { content: "\f230"; } +.bi-caret-right-fill::before { content: "\f231"; } +.bi-caret-right-square-fill::before { content: "\f232"; } +.bi-caret-right-square::before { content: "\f233"; } +.bi-caret-right::before { content: "\f234"; } +.bi-caret-up-fill::before { content: "\f235"; } +.bi-caret-up-square-fill::before { content: "\f236"; } +.bi-caret-up-square::before { content: "\f237"; } +.bi-caret-up::before { content: "\f238"; } +.bi-cart-check-fill::before { content: "\f239"; } +.bi-cart-check::before { content: "\f23a"; } +.bi-cart-dash-fill::before { content: "\f23b"; } +.bi-cart-dash::before { content: "\f23c"; } +.bi-cart-fill::before { content: "\f23d"; } +.bi-cart-plus-fill::before { content: "\f23e"; } +.bi-cart-plus::before { content: "\f23f"; } +.bi-cart-x-fill::before { content: "\f240"; } +.bi-cart-x::before { content: "\f241"; } +.bi-cart::before { content: "\f242"; } +.bi-cart2::before { content: "\f243"; } +.bi-cart3::before { content: "\f244"; } +.bi-cart4::before { content: "\f245"; } +.bi-cash-stack::before { content: "\f246"; } +.bi-cash::before { content: "\f247"; } +.bi-cast::before { content: "\f248"; } +.bi-chat-dots-fill::before { content: "\f249"; } +.bi-chat-dots::before { content: "\f24a"; } +.bi-chat-fill::before { content: "\f24b"; } +.bi-chat-left-dots-fill::before { content: "\f24c"; } +.bi-chat-left-dots::before { content: "\f24d"; } +.bi-chat-left-fill::before { content: "\f24e"; } +.bi-chat-left-quote-fill::before { content: "\f24f"; } +.bi-chat-left-quote::before { content: "\f250"; } +.bi-chat-left-text-fill::before { content: "\f251"; } +.bi-chat-left-text::before { content: "\f252"; } +.bi-chat-left::before { content: "\f253"; } +.bi-chat-quote-fill::before { content: "\f254"; } +.bi-chat-quote::before { content: "\f255"; } +.bi-chat-right-dots-fill::before { content: "\f256"; } +.bi-chat-right-dots::before { content: "\f257"; } +.bi-chat-right-fill::before { content: "\f258"; } +.bi-chat-right-quote-fill::before { content: "\f259"; } +.bi-chat-right-quote::before { content: "\f25a"; } +.bi-chat-right-text-fill::before { content: "\f25b"; } +.bi-chat-right-text::before { content: "\f25c"; } +.bi-chat-right::before { content: "\f25d"; } +.bi-chat-square-dots-fill::before { content: "\f25e"; } +.bi-chat-square-dots::before { content: "\f25f"; } +.bi-chat-square-fill::before { content: "\f260"; } +.bi-chat-square-quote-fill::before { content: "\f261"; } +.bi-chat-square-quote::before { content: "\f262"; } +.bi-chat-square-text-fill::before { content: "\f263"; } +.bi-chat-square-text::before { content: "\f264"; } +.bi-chat-square::before { content: "\f265"; } +.bi-chat-text-fill::before { content: "\f266"; } +.bi-chat-text::before { content: "\f267"; } +.bi-chat::before { content: "\f268"; } +.bi-check-all::before { content: "\f269"; } +.bi-check-circle-fill::before { content: "\f26a"; } +.bi-check-circle::before { content: "\f26b"; } +.bi-check-square-fill::before { content: "\f26c"; } +.bi-check-square::before { content: "\f26d"; } +.bi-check::before { content: "\f26e"; } +.bi-check2-all::before { content: "\f26f"; } +.bi-check2-circle::before { content: "\f270"; } +.bi-check2-square::before { content: "\f271"; } +.bi-check2::before { content: "\f272"; } +.bi-chevron-bar-contract::before { content: "\f273"; } +.bi-chevron-bar-down::before { content: "\f274"; } +.bi-chevron-bar-expand::before { content: "\f275"; } +.bi-chevron-bar-left::before { content: "\f276"; } +.bi-chevron-bar-right::before { content: "\f277"; } +.bi-chevron-bar-up::before { content: "\f278"; } +.bi-chevron-compact-down::before { content: "\f279"; } +.bi-chevron-compact-left::before { content: "\f27a"; } +.bi-chevron-compact-right::before { content: "\f27b"; } +.bi-chevron-compact-up::before { content: "\f27c"; } +.bi-chevron-contract::before { content: "\f27d"; } +.bi-chevron-double-down::before { content: "\f27e"; } +.bi-chevron-double-left::before { content: "\f27f"; } +.bi-chevron-double-right::before { content: "\f280"; } +.bi-chevron-double-up::before { content: "\f281"; } +.bi-chevron-down::before { content: "\f282"; } +.bi-chevron-expand::before { content: "\f283"; } +.bi-chevron-left::before { content: "\f284"; } +.bi-chevron-right::before { content: "\f285"; } +.bi-chevron-up::before { content: "\f286"; } +.bi-circle-fill::before { content: "\f287"; } +.bi-circle-half::before { content: "\f288"; } +.bi-circle-square::before { content: "\f289"; } +.bi-circle::before { content: "\f28a"; } +.bi-clipboard-check::before { content: "\f28b"; } +.bi-clipboard-data::before { content: "\f28c"; } +.bi-clipboard-minus::before { content: "\f28d"; } +.bi-clipboard-plus::before { content: "\f28e"; } +.bi-clipboard-x::before { content: "\f28f"; } +.bi-clipboard::before { content: "\f290"; } +.bi-clock-fill::before { content: "\f291"; } +.bi-clock-history::before { content: "\f292"; } +.bi-clock::before { content: "\f293"; } +.bi-cloud-arrow-down-fill::before { content: "\f294"; } +.bi-cloud-arrow-down::before { content: "\f295"; } +.bi-cloud-arrow-up-fill::before { content: "\f296"; } +.bi-cloud-arrow-up::before { content: "\f297"; } +.bi-cloud-check-fill::before { content: "\f298"; } +.bi-cloud-check::before { content: "\f299"; } +.bi-cloud-download-fill::before { content: "\f29a"; } +.bi-cloud-download::before { content: "\f29b"; } +.bi-cloud-drizzle-fill::before { content: "\f29c"; } +.bi-cloud-drizzle::before { content: "\f29d"; } +.bi-cloud-fill::before { content: "\f29e"; } +.bi-cloud-fog-fill::before { content: "\f29f"; } +.bi-cloud-fog::before { content: "\f2a0"; } +.bi-cloud-fog2-fill::before { content: "\f2a1"; } +.bi-cloud-fog2::before { content: "\f2a2"; } +.bi-cloud-hail-fill::before { content: "\f2a3"; } +.bi-cloud-hail::before { content: "\f2a4"; } +.bi-cloud-haze-fill::before { content: "\f2a6"; } +.bi-cloud-haze::before { content: "\f2a7"; } +.bi-cloud-haze2-fill::before { content: "\f2a8"; } +.bi-cloud-lightning-fill::before { content: "\f2a9"; } +.bi-cloud-lightning-rain-fill::before { content: "\f2aa"; } +.bi-cloud-lightning-rain::before { content: "\f2ab"; } +.bi-cloud-lightning::before { content: "\f2ac"; } +.bi-cloud-minus-fill::before { content: "\f2ad"; } +.bi-cloud-minus::before { content: "\f2ae"; } +.bi-cloud-moon-fill::before { content: "\f2af"; } +.bi-cloud-moon::before { content: "\f2b0"; } +.bi-cloud-plus-fill::before { content: "\f2b1"; } +.bi-cloud-plus::before { content: "\f2b2"; } +.bi-cloud-rain-fill::before { content: "\f2b3"; } +.bi-cloud-rain-heavy-fill::before { content: "\f2b4"; } +.bi-cloud-rain-heavy::before { content: "\f2b5"; } +.bi-cloud-rain::before { content: "\f2b6"; } +.bi-cloud-slash-fill::before { content: "\f2b7"; } +.bi-cloud-slash::before { content: "\f2b8"; } +.bi-cloud-sleet-fill::before { content: "\f2b9"; } +.bi-cloud-sleet::before { content: "\f2ba"; } +.bi-cloud-snow-fill::before { content: "\f2bb"; } +.bi-cloud-snow::before { content: "\f2bc"; } +.bi-cloud-sun-fill::before { content: "\f2bd"; } +.bi-cloud-sun::before { content: "\f2be"; } +.bi-cloud-upload-fill::before { content: "\f2bf"; } +.bi-cloud-upload::before { content: "\f2c0"; } +.bi-cloud::before { content: "\f2c1"; } +.bi-clouds-fill::before { content: "\f2c2"; } +.bi-clouds::before { content: "\f2c3"; } +.bi-cloudy-fill::before { content: "\f2c4"; } +.bi-cloudy::before { content: "\f2c5"; } +.bi-code-slash::before { content: "\f2c6"; } +.bi-code-square::before { content: "\f2c7"; } +.bi-code::before { content: "\f2c8"; } +.bi-collection-fill::before { content: "\f2c9"; } +.bi-collection-play-fill::before { content: "\f2ca"; } +.bi-collection-play::before { content: "\f2cb"; } +.bi-collection::before { content: "\f2cc"; } +.bi-columns-gap::before { content: "\f2cd"; } +.bi-columns::before { content: "\f2ce"; } +.bi-command::before { content: "\f2cf"; } +.bi-compass-fill::before { content: "\f2d0"; } +.bi-compass::before { content: "\f2d1"; } +.bi-cone-striped::before { content: "\f2d2"; } +.bi-cone::before { content: "\f2d3"; } +.bi-controller::before { content: "\f2d4"; } +.bi-cpu-fill::before { content: "\f2d5"; } +.bi-cpu::before { content: "\f2d6"; } +.bi-credit-card-2-back-fill::before { content: "\f2d7"; } +.bi-credit-card-2-back::before { content: "\f2d8"; } +.bi-credit-card-2-front-fill::before { content: "\f2d9"; } +.bi-credit-card-2-front::before { content: "\f2da"; } +.bi-credit-card-fill::before { content: "\f2db"; } +.bi-credit-card::before { content: "\f2dc"; } +.bi-crop::before { content: "\f2dd"; } +.bi-cup-fill::before { content: "\f2de"; } +.bi-cup-straw::before { content: "\f2df"; } +.bi-cup::before { content: "\f2e0"; } +.bi-cursor-fill::before { content: "\f2e1"; } +.bi-cursor-text::before { content: "\f2e2"; } +.bi-cursor::before { content: "\f2e3"; } +.bi-dash-circle-dotted::before { content: "\f2e4"; } +.bi-dash-circle-fill::before { content: "\f2e5"; } +.bi-dash-circle::before { content: "\f2e6"; } +.bi-dash-square-dotted::before { content: "\f2e7"; } +.bi-dash-square-fill::before { content: "\f2e8"; } +.bi-dash-square::before { content: "\f2e9"; } +.bi-dash::before { content: "\f2ea"; } +.bi-diagram-2-fill::before { content: "\f2eb"; } +.bi-diagram-2::before { content: "\f2ec"; } +.bi-diagram-3-fill::before { content: "\f2ed"; } +.bi-diagram-3::before { content: "\f2ee"; } +.bi-diamond-fill::before { content: "\f2ef"; } +.bi-diamond-half::before { content: "\f2f0"; } +.bi-diamond::before { content: "\f2f1"; } +.bi-dice-1-fill::before { content: "\f2f2"; } +.bi-dice-1::before { content: "\f2f3"; } +.bi-dice-2-fill::before { content: "\f2f4"; } +.bi-dice-2::before { content: "\f2f5"; } +.bi-dice-3-fill::before { content: "\f2f6"; } +.bi-dice-3::before { content: "\f2f7"; } +.bi-dice-4-fill::before { content: "\f2f8"; } +.bi-dice-4::before { content: "\f2f9"; } +.bi-dice-5-fill::before { content: "\f2fa"; } +.bi-dice-5::before { content: "\f2fb"; } +.bi-dice-6-fill::before { content: "\f2fc"; } +.bi-dice-6::before { content: "\f2fd"; } +.bi-disc-fill::before { content: "\f2fe"; } +.bi-disc::before { content: "\f2ff"; } +.bi-discord::before { content: "\f300"; } +.bi-display-fill::before { content: "\f301"; } +.bi-display::before { content: "\f302"; } +.bi-distribute-horizontal::before { content: "\f303"; } +.bi-distribute-vertical::before { content: "\f304"; } +.bi-door-closed-fill::before { content: "\f305"; } +.bi-door-closed::before { content: "\f306"; } +.bi-door-open-fill::before { content: "\f307"; } +.bi-door-open::before { content: "\f308"; } +.bi-dot::before { content: "\f309"; } +.bi-download::before { content: "\f30a"; } +.bi-droplet-fill::before { content: "\f30b"; } +.bi-droplet-half::before { content: "\f30c"; } +.bi-droplet::before { content: "\f30d"; } +.bi-earbuds::before { content: "\f30e"; } +.bi-easel-fill::before { content: "\f30f"; } +.bi-easel::before { content: "\f310"; } +.bi-egg-fill::before { content: "\f311"; } +.bi-egg-fried::before { content: "\f312"; } +.bi-egg::before { content: "\f313"; } +.bi-eject-fill::before { content: "\f314"; } +.bi-eject::before { content: "\f315"; } +.bi-emoji-angry-fill::before { content: "\f316"; } +.bi-emoji-angry::before { content: "\f317"; } +.bi-emoji-dizzy-fill::before { content: "\f318"; } +.bi-emoji-dizzy::before { content: "\f319"; } +.bi-emoji-expressionless-fill::before { content: "\f31a"; } +.bi-emoji-expressionless::before { content: "\f31b"; } +.bi-emoji-frown-fill::before { content: "\f31c"; } +.bi-emoji-frown::before { content: "\f31d"; } +.bi-emoji-heart-eyes-fill::before { content: "\f31e"; } +.bi-emoji-heart-eyes::before { content: "\f31f"; } +.bi-emoji-laughing-fill::before { content: "\f320"; } +.bi-emoji-laughing::before { content: "\f321"; } +.bi-emoji-neutral-fill::before { content: "\f322"; } +.bi-emoji-neutral::before { content: "\f323"; } +.bi-emoji-smile-fill::before { content: "\f324"; } +.bi-emoji-smile-upside-down-fill::before { content: "\f325"; } +.bi-emoji-smile-upside-down::before { content: "\f326"; } +.bi-emoji-smile::before { content: "\f327"; } +.bi-emoji-sunglasses-fill::before { content: "\f328"; } +.bi-emoji-sunglasses::before { content: "\f329"; } +.bi-emoji-wink-fill::before { content: "\f32a"; } +.bi-emoji-wink::before { content: "\f32b"; } +.bi-envelope-fill::before { content: "\f32c"; } +.bi-envelope-open-fill::before { content: "\f32d"; } +.bi-envelope-open::before { content: "\f32e"; } +.bi-envelope::before { content: "\f32f"; } +.bi-eraser-fill::before { content: "\f330"; } +.bi-eraser::before { content: "\f331"; } +.bi-exclamation-circle-fill::before { content: "\f332"; } +.bi-exclamation-circle::before { content: "\f333"; } +.bi-exclamation-diamond-fill::before { content: "\f334"; } +.bi-exclamation-diamond::before { content: "\f335"; } +.bi-exclamation-octagon-fill::before { content: "\f336"; } +.bi-exclamation-octagon::before { content: "\f337"; } +.bi-exclamation-square-fill::before { content: "\f338"; } +.bi-exclamation-square::before { content: "\f339"; } +.bi-exclamation-triangle-fill::before { content: "\f33a"; } +.bi-exclamation-triangle::before { content: "\f33b"; } +.bi-exclamation::before { content: "\f33c"; } +.bi-exclude::before { content: "\f33d"; } +.bi-eye-fill::before { content: "\f33e"; } +.bi-eye-slash-fill::before { content: "\f33f"; } +.bi-eye-slash::before { content: "\f340"; } +.bi-eye::before { content: "\f341"; } +.bi-eyedropper::before { content: "\f342"; } +.bi-eyeglasses::before { content: "\f343"; } +.bi-facebook::before { content: "\f344"; } +.bi-file-arrow-down-fill::before { content: "\f345"; } +.bi-file-arrow-down::before { content: "\f346"; } +.bi-file-arrow-up-fill::before { content: "\f347"; } +.bi-file-arrow-up::before { content: "\f348"; } +.bi-file-bar-graph-fill::before { content: "\f349"; } +.bi-file-bar-graph::before { content: "\f34a"; } +.bi-file-binary-fill::before { content: "\f34b"; } +.bi-file-binary::before { content: "\f34c"; } +.bi-file-break-fill::before { content: "\f34d"; } +.bi-file-break::before { content: "\f34e"; } +.bi-file-check-fill::before { content: "\f34f"; } +.bi-file-check::before { content: "\f350"; } +.bi-file-code-fill::before { content: "\f351"; } +.bi-file-code::before { content: "\f352"; } +.bi-file-diff-fill::before { content: "\f353"; } +.bi-file-diff::before { content: "\f354"; } +.bi-file-earmark-arrow-down-fill::before { content: "\f355"; } +.bi-file-earmark-arrow-down::before { content: "\f356"; } +.bi-file-earmark-arrow-up-fill::before { content: "\f357"; } +.bi-file-earmark-arrow-up::before { content: "\f358"; } +.bi-file-earmark-bar-graph-fill::before { content: "\f359"; } +.bi-file-earmark-bar-graph::before { content: "\f35a"; } +.bi-file-earmark-binary-fill::before { content: "\f35b"; } +.bi-file-earmark-binary::before { content: "\f35c"; } +.bi-file-earmark-break-fill::before { content: "\f35d"; } +.bi-file-earmark-break::before { content: "\f35e"; } +.bi-file-earmark-check-fill::before { content: "\f35f"; } +.bi-file-earmark-check::before { content: "\f360"; } +.bi-file-earmark-code-fill::before { content: "\f361"; } +.bi-file-earmark-code::before { content: "\f362"; } +.bi-file-earmark-diff-fill::before { content: "\f363"; } +.bi-file-earmark-diff::before { content: "\f364"; } +.bi-file-earmark-easel-fill::before { content: "\f365"; } +.bi-file-earmark-easel::before { content: "\f366"; } +.bi-file-earmark-excel-fill::before { content: "\f367"; } +.bi-file-earmark-excel::before { content: "\f368"; } +.bi-file-earmark-fill::before { content: "\f369"; } +.bi-file-earmark-font-fill::before { content: "\f36a"; } +.bi-file-earmark-font::before { content: "\f36b"; } +.bi-file-earmark-image-fill::before { content: "\f36c"; } +.bi-file-earmark-image::before { content: "\f36d"; } +.bi-file-earmark-lock-fill::before { content: "\f36e"; } +.bi-file-earmark-lock::before { content: "\f36f"; } +.bi-file-earmark-lock2-fill::before { content: "\f370"; } +.bi-file-earmark-lock2::before { content: "\f371"; } +.bi-file-earmark-medical-fill::before { content: "\f372"; } +.bi-file-earmark-medical::before { content: "\f373"; } +.bi-file-earmark-minus-fill::before { content: "\f374"; } +.bi-file-earmark-minus::before { content: "\f375"; } +.bi-file-earmark-music-fill::before { content: "\f376"; } +.bi-file-earmark-music::before { content: "\f377"; } +.bi-file-earmark-person-fill::before { content: "\f378"; } +.bi-file-earmark-person::before { content: "\f379"; } +.bi-file-earmark-play-fill::before { content: "\f37a"; } +.bi-file-earmark-play::before { content: "\f37b"; } +.bi-file-earmark-plus-fill::before { content: "\f37c"; } +.bi-file-earmark-plus::before { content: "\f37d"; } +.bi-file-earmark-post-fill::before { content: "\f37e"; } +.bi-file-earmark-post::before { content: "\f37f"; } +.bi-file-earmark-ppt-fill::before { content: "\f380"; } +.bi-file-earmark-ppt::before { content: "\f381"; } +.bi-file-earmark-richtext-fill::before { content: "\f382"; } +.bi-file-earmark-richtext::before { content: "\f383"; } +.bi-file-earmark-ruled-fill::before { content: "\f384"; } +.bi-file-earmark-ruled::before { content: "\f385"; } +.bi-file-earmark-slides-fill::before { content: "\f386"; } +.bi-file-earmark-slides::before { content: "\f387"; } +.bi-file-earmark-spreadsheet-fill::before { content: "\f388"; } +.bi-file-earmark-spreadsheet::before { content: "\f389"; } +.bi-file-earmark-text-fill::before { content: "\f38a"; } +.bi-file-earmark-text::before { content: "\f38b"; } +.bi-file-earmark-word-fill::before { content: "\f38c"; } +.bi-file-earmark-word::before { content: "\f38d"; } +.bi-file-earmark-x-fill::before { content: "\f38e"; } +.bi-file-earmark-x::before { content: "\f38f"; } +.bi-file-earmark-zip-fill::before { content: "\f390"; } +.bi-file-earmark-zip::before { content: "\f391"; } +.bi-file-earmark::before { content: "\f392"; } +.bi-file-easel-fill::before { content: "\f393"; } +.bi-file-easel::before { content: "\f394"; } +.bi-file-excel-fill::before { content: "\f395"; } +.bi-file-excel::before { content: "\f396"; } +.bi-file-fill::before { content: "\f397"; } +.bi-file-font-fill::before { content: "\f398"; } +.bi-file-font::before { content: "\f399"; } +.bi-file-image-fill::before { content: "\f39a"; } +.bi-file-image::before { content: "\f39b"; } +.bi-file-lock-fill::before { content: "\f39c"; } +.bi-file-lock::before { content: "\f39d"; } +.bi-file-lock2-fill::before { content: "\f39e"; } +.bi-file-lock2::before { content: "\f39f"; } +.bi-file-medical-fill::before { content: "\f3a0"; } +.bi-file-medical::before { content: "\f3a1"; } +.bi-file-minus-fill::before { content: "\f3a2"; } +.bi-file-minus::before { content: "\f3a3"; } +.bi-file-music-fill::before { content: "\f3a4"; } +.bi-file-music::before { content: "\f3a5"; } +.bi-file-person-fill::before { content: "\f3a6"; } +.bi-file-person::before { content: "\f3a7"; } +.bi-file-play-fill::before { content: "\f3a8"; } +.bi-file-play::before { content: "\f3a9"; } +.bi-file-plus-fill::before { content: "\f3aa"; } +.bi-file-plus::before { content: "\f3ab"; } +.bi-file-post-fill::before { content: "\f3ac"; } +.bi-file-post::before { content: "\f3ad"; } +.bi-file-ppt-fill::before { content: "\f3ae"; } +.bi-file-ppt::before { content: "\f3af"; } +.bi-file-richtext-fill::before { content: "\f3b0"; } +.bi-file-richtext::before { content: "\f3b1"; } +.bi-file-ruled-fill::before { content: "\f3b2"; } +.bi-file-ruled::before { content: "\f3b3"; } +.bi-file-slides-fill::before { content: "\f3b4"; } +.bi-file-slides::before { content: "\f3b5"; } +.bi-file-spreadsheet-fill::before { content: "\f3b6"; } +.bi-file-spreadsheet::before { content: "\f3b7"; } +.bi-file-text-fill::before { content: "\f3b8"; } +.bi-file-text::before { content: "\f3b9"; } +.bi-file-word-fill::before { content: "\f3ba"; } +.bi-file-word::before { content: "\f3bb"; } +.bi-file-x-fill::before { content: "\f3bc"; } +.bi-file-x::before { content: "\f3bd"; } +.bi-file-zip-fill::before { content: "\f3be"; } +.bi-file-zip::before { content: "\f3bf"; } +.bi-file::before { content: "\f3c0"; } +.bi-files-alt::before { content: "\f3c1"; } +.bi-files::before { content: "\f3c2"; } +.bi-film::before { content: "\f3c3"; } +.bi-filter-circle-fill::before { content: "\f3c4"; } +.bi-filter-circle::before { content: "\f3c5"; } +.bi-filter-left::before { content: "\f3c6"; } +.bi-filter-right::before { content: "\f3c7"; } +.bi-filter-square-fill::before { content: "\f3c8"; } +.bi-filter-square::before { content: "\f3c9"; } +.bi-filter::before { content: "\f3ca"; } +.bi-flag-fill::before { content: "\f3cb"; } +.bi-flag::before { content: "\f3cc"; } +.bi-flower1::before { content: "\f3cd"; } +.bi-flower2::before { content: "\f3ce"; } +.bi-flower3::before { content: "\f3cf"; } +.bi-folder-check::before { content: "\f3d0"; } +.bi-folder-fill::before { content: "\f3d1"; } +.bi-folder-minus::before { content: "\f3d2"; } +.bi-folder-plus::before { content: "\f3d3"; } +.bi-folder-symlink-fill::before { content: "\f3d4"; } +.bi-folder-symlink::before { content: "\f3d5"; } +.bi-folder-x::before { content: "\f3d6"; } +.bi-folder::before { content: "\f3d7"; } +.bi-folder2-open::before { content: "\f3d8"; } +.bi-folder2::before { content: "\f3d9"; } +.bi-fonts::before { content: "\f3da"; } +.bi-forward-fill::before { content: "\f3db"; } +.bi-forward::before { content: "\f3dc"; } +.bi-front::before { content: "\f3dd"; } +.bi-fullscreen-exit::before { content: "\f3de"; } +.bi-fullscreen::before { content: "\f3df"; } +.bi-funnel-fill::before { content: "\f3e0"; } +.bi-funnel::before { content: "\f3e1"; } +.bi-gear-fill::before { content: "\f3e2"; } +.bi-gear-wide-connected::before { content: "\f3e3"; } +.bi-gear-wide::before { content: "\f3e4"; } +.bi-gear::before { content: "\f3e5"; } +.bi-gem::before { content: "\f3e6"; } +.bi-geo-alt-fill::before { content: "\f3e7"; } +.bi-geo-alt::before { content: "\f3e8"; } +.bi-geo-fill::before { content: "\f3e9"; } +.bi-geo::before { content: "\f3ea"; } +.bi-gift-fill::before { content: "\f3eb"; } +.bi-gift::before { content: "\f3ec"; } +.bi-github::before { content: "\f3ed"; } +.bi-globe::before { content: "\f3ee"; } +.bi-globe2::before { content: "\f3ef"; } +.bi-google::before { content: "\f3f0"; } +.bi-graph-down::before { content: "\f3f1"; } +.bi-graph-up::before { content: "\f3f2"; } +.bi-grid-1x2-fill::before { content: "\f3f3"; } +.bi-grid-1x2::before { content: "\f3f4"; } +.bi-grid-3x2-gap-fill::before { content: "\f3f5"; } +.bi-grid-3x2-gap::before { content: "\f3f6"; } +.bi-grid-3x2::before { content: "\f3f7"; } +.bi-grid-3x3-gap-fill::before { content: "\f3f8"; } +.bi-grid-3x3-gap::before { content: "\f3f9"; } +.bi-grid-3x3::before { content: "\f3fa"; } +.bi-grid-fill::before { content: "\f3fb"; } +.bi-grid::before { content: "\f3fc"; } +.bi-grip-horizontal::before { content: "\f3fd"; } +.bi-grip-vertical::before { content: "\f3fe"; } +.bi-hammer::before { content: "\f3ff"; } +.bi-hand-index-fill::before { content: "\f400"; } +.bi-hand-index-thumb-fill::before { content: "\f401"; } +.bi-hand-index-thumb::before { content: "\f402"; } +.bi-hand-index::before { content: "\f403"; } +.bi-hand-thumbs-down-fill::before { content: "\f404"; } +.bi-hand-thumbs-down::before { content: "\f405"; } +.bi-hand-thumbs-up-fill::before { content: "\f406"; } +.bi-hand-thumbs-up::before { content: "\f407"; } +.bi-handbag-fill::before { content: "\f408"; } +.bi-handbag::before { content: "\f409"; } +.bi-hash::before { content: "\f40a"; } +.bi-hdd-fill::before { content: "\f40b"; } +.bi-hdd-network-fill::before { content: "\f40c"; } +.bi-hdd-network::before { content: "\f40d"; } +.bi-hdd-rack-fill::before { content: "\f40e"; } +.bi-hdd-rack::before { content: "\f40f"; } +.bi-hdd-stack-fill::before { content: "\f410"; } +.bi-hdd-stack::before { content: "\f411"; } +.bi-hdd::before { content: "\f412"; } +.bi-headphones::before { content: "\f413"; } +.bi-headset::before { content: "\f414"; } +.bi-heart-fill::before { content: "\f415"; } +.bi-heart-half::before { content: "\f416"; } +.bi-heart::before { content: "\f417"; } +.bi-heptagon-fill::before { content: "\f418"; } +.bi-heptagon-half::before { content: "\f419"; } +.bi-heptagon::before { content: "\f41a"; } +.bi-hexagon-fill::before { content: "\f41b"; } +.bi-hexagon-half::before { content: "\f41c"; } +.bi-hexagon::before { content: "\f41d"; } +.bi-hourglass-bottom::before { content: "\f41e"; } +.bi-hourglass-split::before { content: "\f41f"; } +.bi-hourglass-top::before { content: "\f420"; } +.bi-hourglass::before { content: "\f421"; } +.bi-house-door-fill::before { content: "\f422"; } +.bi-house-door::before { content: "\f423"; } +.bi-house-fill::before { content: "\f424"; } +.bi-house::before { content: "\f425"; } +.bi-hr::before { content: "\f426"; } +.bi-hurricane::before { content: "\f427"; } +.bi-image-alt::before { content: "\f428"; } +.bi-image-fill::before { content: "\f429"; } +.bi-image::before { content: "\f42a"; } +.bi-images::before { content: "\f42b"; } +.bi-inbox-fill::before { content: "\f42c"; } +.bi-inbox::before { content: "\f42d"; } +.bi-inboxes-fill::before { content: "\f42e"; } +.bi-inboxes::before { content: "\f42f"; } +.bi-info-circle-fill::before { content: "\f430"; } +.bi-info-circle::before { content: "\f431"; } +.bi-info-square-fill::before { content: "\f432"; } +.bi-info-square::before { content: "\f433"; } +.bi-info::before { content: "\f434"; } +.bi-input-cursor-text::before { content: "\f435"; } +.bi-input-cursor::before { content: "\f436"; } +.bi-instagram::before { content: "\f437"; } +.bi-intersect::before { content: "\f438"; } +.bi-journal-album::before { content: "\f439"; } +.bi-journal-arrow-down::before { content: "\f43a"; } +.bi-journal-arrow-up::before { content: "\f43b"; } +.bi-journal-bookmark-fill::before { content: "\f43c"; } +.bi-journal-bookmark::before { content: "\f43d"; } +.bi-journal-check::before { content: "\f43e"; } +.bi-journal-code::before { content: "\f43f"; } +.bi-journal-medical::before { content: "\f440"; } +.bi-journal-minus::before { content: "\f441"; } +.bi-journal-plus::before { content: "\f442"; } +.bi-journal-richtext::before { content: "\f443"; } +.bi-journal-text::before { content: "\f444"; } +.bi-journal-x::before { content: "\f445"; } +.bi-journal::before { content: "\f446"; } +.bi-journals::before { content: "\f447"; } +.bi-joystick::before { content: "\f448"; } +.bi-justify-left::before { content: "\f449"; } +.bi-justify-right::before { content: "\f44a"; } +.bi-justify::before { content: "\f44b"; } +.bi-kanban-fill::before { content: "\f44c"; } +.bi-kanban::before { content: "\f44d"; } +.bi-key-fill::before { content: "\f44e"; } +.bi-key::before { content: "\f44f"; } +.bi-keyboard-fill::before { content: "\f450"; } +.bi-keyboard::before { content: "\f451"; } +.bi-ladder::before { content: "\f452"; } +.bi-lamp-fill::before { content: "\f453"; } +.bi-lamp::before { content: "\f454"; } +.bi-laptop-fill::before { content: "\f455"; } +.bi-laptop::before { content: "\f456"; } +.bi-layer-backward::before { content: "\f457"; } +.bi-layer-forward::before { content: "\f458"; } +.bi-layers-fill::before { content: "\f459"; } +.bi-layers-half::before { content: "\f45a"; } +.bi-layers::before { content: "\f45b"; } +.bi-layout-sidebar-inset-reverse::before { content: "\f45c"; } +.bi-layout-sidebar-inset::before { content: "\f45d"; } +.bi-layout-sidebar-reverse::before { content: "\f45e"; } +.bi-layout-sidebar::before { content: "\f45f"; } +.bi-layout-split::before { content: "\f460"; } +.bi-layout-text-sidebar-reverse::before { content: "\f461"; } +.bi-layout-text-sidebar::before { content: "\f462"; } +.bi-layout-text-window-reverse::before { content: "\f463"; } +.bi-layout-text-window::before { content: "\f464"; } +.bi-layout-three-columns::before { content: "\f465"; } +.bi-layout-wtf::before { content: "\f466"; } +.bi-life-preserver::before { content: "\f467"; } +.bi-lightbulb-fill::before { content: "\f468"; } +.bi-lightbulb-off-fill::before { content: "\f469"; } +.bi-lightbulb-off::before { content: "\f46a"; } +.bi-lightbulb::before { content: "\f46b"; } +.bi-lightning-charge-fill::before { content: "\f46c"; } +.bi-lightning-charge::before { content: "\f46d"; } +.bi-lightning-fill::before { content: "\f46e"; } +.bi-lightning::before { content: "\f46f"; } +.bi-link-45deg::before { content: "\f470"; } +.bi-link::before { content: "\f471"; } +.bi-linkedin::before { content: "\f472"; } +.bi-list-check::before { content: "\f473"; } +.bi-list-nested::before { content: "\f474"; } +.bi-list-ol::before { content: "\f475"; } +.bi-list-stars::before { content: "\f476"; } +.bi-list-task::before { content: "\f477"; } +.bi-list-ul::before { content: "\f478"; } +.bi-list::before { content: "\f479"; } +.bi-lock-fill::before { content: "\f47a"; } +.bi-lock::before { content: "\f47b"; } +.bi-mailbox::before { content: "\f47c"; } +.bi-mailbox2::before { content: "\f47d"; } +.bi-map-fill::before { content: "\f47e"; } +.bi-map::before { content: "\f47f"; } +.bi-markdown-fill::before { content: "\f480"; } +.bi-markdown::before { content: "\f481"; } +.bi-mask::before { content: "\f482"; } +.bi-megaphone-fill::before { content: "\f483"; } +.bi-megaphone::before { content: "\f484"; } +.bi-menu-app-fill::before { content: "\f485"; } +.bi-menu-app::before { content: "\f486"; } +.bi-menu-button-fill::before { content: "\f487"; } +.bi-menu-button-wide-fill::before { content: "\f488"; } +.bi-menu-button-wide::before { content: "\f489"; } +.bi-menu-button::before { content: "\f48a"; } +.bi-menu-down::before { content: "\f48b"; } +.bi-menu-up::before { content: "\f48c"; } +.bi-mic-fill::before { content: "\f48d"; } +.bi-mic-mute-fill::before { content: "\f48e"; } +.bi-mic-mute::before { content: "\f48f"; } +.bi-mic::before { content: "\f490"; } +.bi-minecart-loaded::before { content: "\f491"; } +.bi-minecart::before { content: "\f492"; } +.bi-moisture::before { content: "\f493"; } +.bi-moon-fill::before { content: "\f494"; } +.bi-moon-stars-fill::before { content: "\f495"; } +.bi-moon-stars::before { content: "\f496"; } +.bi-moon::before { content: "\f497"; } +.bi-mouse-fill::before { content: "\f498"; } +.bi-mouse::before { content: "\f499"; } +.bi-mouse2-fill::before { content: "\f49a"; } +.bi-mouse2::before { content: "\f49b"; } +.bi-mouse3-fill::before { content: "\f49c"; } +.bi-mouse3::before { content: "\f49d"; } +.bi-music-note-beamed::before { content: "\f49e"; } +.bi-music-note-list::before { content: "\f49f"; } +.bi-music-note::before { content: "\f4a0"; } +.bi-music-player-fill::before { content: "\f4a1"; } +.bi-music-player::before { content: "\f4a2"; } +.bi-newspaper::before { content: "\f4a3"; } +.bi-node-minus-fill::before { content: "\f4a4"; } +.bi-node-minus::before { content: "\f4a5"; } +.bi-node-plus-fill::before { content: "\f4a6"; } +.bi-node-plus::before { content: "\f4a7"; } +.bi-nut-fill::before { content: "\f4a8"; } +.bi-nut::before { content: "\f4a9"; } +.bi-octagon-fill::before { content: "\f4aa"; } +.bi-octagon-half::before { content: "\f4ab"; } +.bi-octagon::before { content: "\f4ac"; } +.bi-option::before { content: "\f4ad"; } +.bi-outlet::before { content: "\f4ae"; } +.bi-paint-bucket::before { content: "\f4af"; } +.bi-palette-fill::before { content: "\f4b0"; } +.bi-palette::before { content: "\f4b1"; } +.bi-palette2::before { content: "\f4b2"; } +.bi-paperclip::before { content: "\f4b3"; } +.bi-paragraph::before { content: "\f4b4"; } +.bi-patch-check-fill::before { content: "\f4b5"; } +.bi-patch-check::before { content: "\f4b6"; } +.bi-patch-exclamation-fill::before { content: "\f4b7"; } +.bi-patch-exclamation::before { content: "\f4b8"; } +.bi-patch-minus-fill::before { content: "\f4b9"; } +.bi-patch-minus::before { content: "\f4ba"; } +.bi-patch-plus-fill::before { content: "\f4bb"; } +.bi-patch-plus::before { content: "\f4bc"; } +.bi-patch-question-fill::before { content: "\f4bd"; } +.bi-patch-question::before { content: "\f4be"; } +.bi-pause-btn-fill::before { content: "\f4bf"; } +.bi-pause-btn::before { content: "\f4c0"; } +.bi-pause-circle-fill::before { content: "\f4c1"; } +.bi-pause-circle::before { content: "\f4c2"; } +.bi-pause-fill::before { content: "\f4c3"; } +.bi-pause::before { content: "\f4c4"; } +.bi-peace-fill::before { content: "\f4c5"; } +.bi-peace::before { content: "\f4c6"; } +.bi-pen-fill::before { content: "\f4c7"; } +.bi-pen::before { content: "\f4c8"; } +.bi-pencil-fill::before { content: "\f4c9"; } +.bi-pencil-square::before { content: "\f4ca"; } +.bi-pencil::before { content: "\f4cb"; } +.bi-pentagon-fill::before { content: "\f4cc"; } +.bi-pentagon-half::before { content: "\f4cd"; } +.bi-pentagon::before { content: "\f4ce"; } +.bi-people-fill::before { content: "\f4cf"; } +.bi-people::before { content: "\f4d0"; } +.bi-percent::before { content: "\f4d1"; } +.bi-person-badge-fill::before { content: "\f4d2"; } +.bi-person-badge::before { content: "\f4d3"; } +.bi-person-bounding-box::before { content: "\f4d4"; } +.bi-person-check-fill::before { content: "\f4d5"; } +.bi-person-check::before { content: "\f4d6"; } +.bi-person-circle::before { content: "\f4d7"; } +.bi-person-dash-fill::before { content: "\f4d8"; } +.bi-person-dash::before { content: "\f4d9"; } +.bi-person-fill::before { content: "\f4da"; } +.bi-person-lines-fill::before { content: "\f4db"; } +.bi-person-plus-fill::before { content: "\f4dc"; } +.bi-person-plus::before { content: "\f4dd"; } +.bi-person-square::before { content: "\f4de"; } +.bi-person-x-fill::before { content: "\f4df"; } +.bi-person-x::before { content: "\f4e0"; } +.bi-person::before { content: "\f4e1"; } +.bi-phone-fill::before { content: "\f4e2"; } +.bi-phone-landscape-fill::before { content: "\f4e3"; } +.bi-phone-landscape::before { content: "\f4e4"; } +.bi-phone-vibrate-fill::before { content: "\f4e5"; } +.bi-phone-vibrate::before { content: "\f4e6"; } +.bi-phone::before { content: "\f4e7"; } +.bi-pie-chart-fill::before { content: "\f4e8"; } +.bi-pie-chart::before { content: "\f4e9"; } +.bi-pin-angle-fill::before { content: "\f4ea"; } +.bi-pin-angle::before { content: "\f4eb"; } +.bi-pin-fill::before { content: "\f4ec"; } +.bi-pin::before { content: "\f4ed"; } +.bi-pip-fill::before { content: "\f4ee"; } +.bi-pip::before { content: "\f4ef"; } +.bi-play-btn-fill::before { content: "\f4f0"; } +.bi-play-btn::before { content: "\f4f1"; } +.bi-play-circle-fill::before { content: "\f4f2"; } +.bi-play-circle::before { content: "\f4f3"; } +.bi-play-fill::before { content: "\f4f4"; } +.bi-play::before { content: "\f4f5"; } +.bi-plug-fill::before { content: "\f4f6"; } +.bi-plug::before { content: "\f4f7"; } +.bi-plus-circle-dotted::before { content: "\f4f8"; } +.bi-plus-circle-fill::before { content: "\f4f9"; } +.bi-plus-circle::before { content: "\f4fa"; } +.bi-plus-square-dotted::before { content: "\f4fb"; } +.bi-plus-square-fill::before { content: "\f4fc"; } +.bi-plus-square::before { content: "\f4fd"; } +.bi-plus::before { content: "\f4fe"; } +.bi-power::before { content: "\f4ff"; } +.bi-printer-fill::before { content: "\f500"; } +.bi-printer::before { content: "\f501"; } +.bi-puzzle-fill::before { content: "\f502"; } +.bi-puzzle::before { content: "\f503"; } +.bi-question-circle-fill::before { content: "\f504"; } +.bi-question-circle::before { content: "\f505"; } +.bi-question-diamond-fill::before { content: "\f506"; } +.bi-question-diamond::before { content: "\f507"; } +.bi-question-octagon-fill::before { content: "\f508"; } +.bi-question-octagon::before { content: "\f509"; } +.bi-question-square-fill::before { content: "\f50a"; } +.bi-question-square::before { content: "\f50b"; } +.bi-question::before { content: "\f50c"; } +.bi-rainbow::before { content: "\f50d"; } +.bi-receipt-cutoff::before { content: "\f50e"; } +.bi-receipt::before { content: "\f50f"; } +.bi-reception-0::before { content: "\f510"; } +.bi-reception-1::before { content: "\f511"; } +.bi-reception-2::before { content: "\f512"; } +.bi-reception-3::before { content: "\f513"; } +.bi-reception-4::before { content: "\f514"; } +.bi-record-btn-fill::before { content: "\f515"; } +.bi-record-btn::before { content: "\f516"; } +.bi-record-circle-fill::before { content: "\f517"; } +.bi-record-circle::before { content: "\f518"; } +.bi-record-fill::before { content: "\f519"; } +.bi-record::before { content: "\f51a"; } +.bi-record2-fill::before { content: "\f51b"; } +.bi-record2::before { content: "\f51c"; } +.bi-reply-all-fill::before { content: "\f51d"; } +.bi-reply-all::before { content: "\f51e"; } +.bi-reply-fill::before { content: "\f51f"; } +.bi-reply::before { content: "\f520"; } +.bi-rss-fill::before { content: "\f521"; } +.bi-rss::before { content: "\f522"; } +.bi-rulers::before { content: "\f523"; } +.bi-save-fill::before { content: "\f524"; } +.bi-save::before { content: "\f525"; } +.bi-save2-fill::before { content: "\f526"; } +.bi-save2::before { content: "\f527"; } +.bi-scissors::before { content: "\f528"; } +.bi-screwdriver::before { content: "\f529"; } +.bi-search::before { content: "\f52a"; } +.bi-segmented-nav::before { content: "\f52b"; } +.bi-server::before { content: "\f52c"; } +.bi-share-fill::before { content: "\f52d"; } +.bi-share::before { content: "\f52e"; } +.bi-shield-check::before { content: "\f52f"; } +.bi-shield-exclamation::before { content: "\f530"; } +.bi-shield-fill-check::before { content: "\f531"; } +.bi-shield-fill-exclamation::before { content: "\f532"; } +.bi-shield-fill-minus::before { content: "\f533"; } +.bi-shield-fill-plus::before { content: "\f534"; } +.bi-shield-fill-x::before { content: "\f535"; } +.bi-shield-fill::before { content: "\f536"; } +.bi-shield-lock-fill::before { content: "\f537"; } +.bi-shield-lock::before { content: "\f538"; } +.bi-shield-minus::before { content: "\f539"; } +.bi-shield-plus::before { content: "\f53a"; } +.bi-shield-shaded::before { content: "\f53b"; } +.bi-shield-slash-fill::before { content: "\f53c"; } +.bi-shield-slash::before { content: "\f53d"; } +.bi-shield-x::before { content: "\f53e"; } +.bi-shield::before { content: "\f53f"; } +.bi-shift-fill::before { content: "\f540"; } +.bi-shift::before { content: "\f541"; } +.bi-shop-window::before { content: "\f542"; } +.bi-shop::before { content: "\f543"; } +.bi-shuffle::before { content: "\f544"; } +.bi-signpost-2-fill::before { content: "\f545"; } +.bi-signpost-2::before { content: "\f546"; } +.bi-signpost-fill::before { content: "\f547"; } +.bi-signpost-split-fill::before { content: "\f548"; } +.bi-signpost-split::before { content: "\f549"; } +.bi-signpost::before { content: "\f54a"; } +.bi-sim-fill::before { content: "\f54b"; } +.bi-sim::before { content: "\f54c"; } +.bi-skip-backward-btn-fill::before { content: "\f54d"; } +.bi-skip-backward-btn::before { content: "\f54e"; } +.bi-skip-backward-circle-fill::before { content: "\f54f"; } +.bi-skip-backward-circle::before { content: "\f550"; } +.bi-skip-backward-fill::before { content: "\f551"; } +.bi-skip-backward::before { content: "\f552"; } +.bi-skip-end-btn-fill::before { content: "\f553"; } +.bi-skip-end-btn::before { content: "\f554"; } +.bi-skip-end-circle-fill::before { content: "\f555"; } +.bi-skip-end-circle::before { content: "\f556"; } +.bi-skip-end-fill::before { content: "\f557"; } +.bi-skip-end::before { content: "\f558"; } +.bi-skip-forward-btn-fill::before { content: "\f559"; } +.bi-skip-forward-btn::before { content: "\f55a"; } +.bi-skip-forward-circle-fill::before { content: "\f55b"; } +.bi-skip-forward-circle::before { content: "\f55c"; } +.bi-skip-forward-fill::before { content: "\f55d"; } +.bi-skip-forward::before { content: "\f55e"; } +.bi-skip-start-btn-fill::before { content: "\f55f"; } +.bi-skip-start-btn::before { content: "\f560"; } +.bi-skip-start-circle-fill::before { content: "\f561"; } +.bi-skip-start-circle::before { content: "\f562"; } +.bi-skip-start-fill::before { content: "\f563"; } +.bi-skip-start::before { content: "\f564"; } +.bi-slack::before { content: "\f565"; } +.bi-slash-circle-fill::before { content: "\f566"; } +.bi-slash-circle::before { content: "\f567"; } +.bi-slash-square-fill::before { content: "\f568"; } +.bi-slash-square::before { content: "\f569"; } +.bi-slash::before { content: "\f56a"; } +.bi-sliders::before { content: "\f56b"; } +.bi-smartwatch::before { content: "\f56c"; } +.bi-snow::before { content: "\f56d"; } +.bi-snow2::before { content: "\f56e"; } +.bi-snow3::before { content: "\f56f"; } +.bi-sort-alpha-down-alt::before { content: "\f570"; } +.bi-sort-alpha-down::before { content: "\f571"; } +.bi-sort-alpha-up-alt::before { content: "\f572"; } +.bi-sort-alpha-up::before { content: "\f573"; } +.bi-sort-down-alt::before { content: "\f574"; } +.bi-sort-down::before { content: "\f575"; } +.bi-sort-numeric-down-alt::before { content: "\f576"; } +.bi-sort-numeric-down::before { content: "\f577"; } +.bi-sort-numeric-up-alt::before { content: "\f578"; } +.bi-sort-numeric-up::before { content: "\f579"; } +.bi-sort-up-alt::before { content: "\f57a"; } +.bi-sort-up::before { content: "\f57b"; } +.bi-soundwave::before { content: "\f57c"; } +.bi-speaker-fill::before { content: "\f57d"; } +.bi-speaker::before { content: "\f57e"; } +.bi-speedometer::before { content: "\f57f"; } +.bi-speedometer2::before { content: "\f580"; } +.bi-spellcheck::before { content: "\f581"; } +.bi-square-fill::before { content: "\f582"; } +.bi-square-half::before { content: "\f583"; } +.bi-square::before { content: "\f584"; } +.bi-stack::before { content: "\f585"; } +.bi-star-fill::before { content: "\f586"; } +.bi-star-half::before { content: "\f587"; } +.bi-star::before { content: "\f588"; } +.bi-stars::before { content: "\f589"; } +.bi-stickies-fill::before { content: "\f58a"; } +.bi-stickies::before { content: "\f58b"; } +.bi-sticky-fill::before { content: "\f58c"; } +.bi-sticky::before { content: "\f58d"; } +.bi-stop-btn-fill::before { content: "\f58e"; } +.bi-stop-btn::before { content: "\f58f"; } +.bi-stop-circle-fill::before { content: "\f590"; } +.bi-stop-circle::before { content: "\f591"; } +.bi-stop-fill::before { content: "\f592"; } +.bi-stop::before { content: "\f593"; } +.bi-stoplights-fill::before { content: "\f594"; } +.bi-stoplights::before { content: "\f595"; } +.bi-stopwatch-fill::before { content: "\f596"; } +.bi-stopwatch::before { content: "\f597"; } +.bi-subtract::before { content: "\f598"; } +.bi-suit-club-fill::before { content: "\f599"; } +.bi-suit-club::before { content: "\f59a"; } +.bi-suit-diamond-fill::before { content: "\f59b"; } +.bi-suit-diamond::before { content: "\f59c"; } +.bi-suit-heart-fill::before { content: "\f59d"; } +.bi-suit-heart::before { content: "\f59e"; } +.bi-suit-spade-fill::before { content: "\f59f"; } +.bi-suit-spade::before { content: "\f5a0"; } +.bi-sun-fill::before { content: "\f5a1"; } +.bi-sun::before { content: "\f5a2"; } +.bi-sunglasses::before { content: "\f5a3"; } +.bi-sunrise-fill::before { content: "\f5a4"; } +.bi-sunrise::before { content: "\f5a5"; } +.bi-sunset-fill::before { content: "\f5a6"; } +.bi-sunset::before { content: "\f5a7"; } +.bi-symmetry-horizontal::before { content: "\f5a8"; } +.bi-symmetry-vertical::before { content: "\f5a9"; } +.bi-table::before { content: "\f5aa"; } +.bi-tablet-fill::before { content: "\f5ab"; } +.bi-tablet-landscape-fill::before { content: "\f5ac"; } +.bi-tablet-landscape::before { content: "\f5ad"; } +.bi-tablet::before { content: "\f5ae"; } +.bi-tag-fill::before { content: "\f5af"; } +.bi-tag::before { content: "\f5b0"; } +.bi-tags-fill::before { content: "\f5b1"; } +.bi-tags::before { content: "\f5b2"; } +.bi-telegram::before { content: "\f5b3"; } +.bi-telephone-fill::before { content: "\f5b4"; } +.bi-telephone-forward-fill::before { content: "\f5b5"; } +.bi-telephone-forward::before { content: "\f5b6"; } +.bi-telephone-inbound-fill::before { content: "\f5b7"; } +.bi-telephone-inbound::before { content: "\f5b8"; } +.bi-telephone-minus-fill::before { content: "\f5b9"; } +.bi-telephone-minus::before { content: "\f5ba"; } +.bi-telephone-outbound-fill::before { content: "\f5bb"; } +.bi-telephone-outbound::before { content: "\f5bc"; } +.bi-telephone-plus-fill::before { content: "\f5bd"; } +.bi-telephone-plus::before { content: "\f5be"; } +.bi-telephone-x-fill::before { content: "\f5bf"; } +.bi-telephone-x::before { content: "\f5c0"; } +.bi-telephone::before { content: "\f5c1"; } +.bi-terminal-fill::before { content: "\f5c2"; } +.bi-terminal::before { content: "\f5c3"; } +.bi-text-center::before { content: "\f5c4"; } +.bi-text-indent-left::before { content: "\f5c5"; } +.bi-text-indent-right::before { content: "\f5c6"; } +.bi-text-left::before { content: "\f5c7"; } +.bi-text-paragraph::before { content: "\f5c8"; } +.bi-text-right::before { content: "\f5c9"; } +.bi-textarea-resize::before { content: "\f5ca"; } +.bi-textarea-t::before { content: "\f5cb"; } +.bi-textarea::before { content: "\f5cc"; } +.bi-thermometer-half::before { content: "\f5cd"; } +.bi-thermometer-high::before { content: "\f5ce"; } +.bi-thermometer-low::before { content: "\f5cf"; } +.bi-thermometer-snow::before { content: "\f5d0"; } +.bi-thermometer-sun::before { content: "\f5d1"; } +.bi-thermometer::before { content: "\f5d2"; } +.bi-three-dots-vertical::before { content: "\f5d3"; } +.bi-three-dots::before { content: "\f5d4"; } +.bi-toggle-off::before { content: "\f5d5"; } +.bi-toggle-on::before { content: "\f5d6"; } +.bi-toggle2-off::before { content: "\f5d7"; } +.bi-toggle2-on::before { content: "\f5d8"; } +.bi-toggles::before { content: "\f5d9"; } +.bi-toggles2::before { content: "\f5da"; } +.bi-tools::before { content: "\f5db"; } +.bi-tornado::before { content: "\f5dc"; } +.bi-trash-fill::before { content: "\f5dd"; } +.bi-trash::before { content: "\f5de"; } +.bi-trash2-fill::before { content: "\f5df"; } +.bi-trash2::before { content: "\f5e0"; } +.bi-tree-fill::before { content: "\f5e1"; } +.bi-tree::before { content: "\f5e2"; } +.bi-triangle-fill::before { content: "\f5e3"; } +.bi-triangle-half::before { content: "\f5e4"; } +.bi-triangle::before { content: "\f5e5"; } +.bi-trophy-fill::before { content: "\f5e6"; } +.bi-trophy::before { content: "\f5e7"; } +.bi-tropical-storm::before { content: "\f5e8"; } +.bi-truck-flatbed::before { content: "\f5e9"; } +.bi-truck::before { content: "\f5ea"; } +.bi-tsunami::before { content: "\f5eb"; } +.bi-tv-fill::before { content: "\f5ec"; } +.bi-tv::before { content: "\f5ed"; } +.bi-twitch::before { content: "\f5ee"; } +.bi-twitter::before { content: "\f5ef"; } +.bi-type-bold::before { content: "\f5f0"; } +.bi-type-h1::before { content: "\f5f1"; } +.bi-type-h2::before { content: "\f5f2"; } +.bi-type-h3::before { content: "\f5f3"; } +.bi-type-italic::before { content: "\f5f4"; } +.bi-type-strikethrough::before { content: "\f5f5"; } +.bi-type-underline::before { content: "\f5f6"; } +.bi-type::before { content: "\f5f7"; } +.bi-ui-checks-grid::before { content: "\f5f8"; } +.bi-ui-checks::before { content: "\f5f9"; } +.bi-ui-radios-grid::before { content: "\f5fa"; } +.bi-ui-radios::before { content: "\f5fb"; } +.bi-umbrella-fill::before { content: "\f5fc"; } +.bi-umbrella::before { content: "\f5fd"; } +.bi-union::before { content: "\f5fe"; } +.bi-unlock-fill::before { content: "\f5ff"; } +.bi-unlock::before { content: "\f600"; } +.bi-upc-scan::before { content: "\f601"; } +.bi-upc::before { content: "\f602"; } +.bi-upload::before { content: "\f603"; } +.bi-vector-pen::before { content: "\f604"; } +.bi-view-list::before { content: "\f605"; } +.bi-view-stacked::before { content: "\f606"; } +.bi-vinyl-fill::before { content: "\f607"; } +.bi-vinyl::before { content: "\f608"; } +.bi-voicemail::before { content: "\f609"; } +.bi-volume-down-fill::before { content: "\f60a"; } +.bi-volume-down::before { content: "\f60b"; } +.bi-volume-mute-fill::before { content: "\f60c"; } +.bi-volume-mute::before { content: "\f60d"; } +.bi-volume-off-fill::before { content: "\f60e"; } +.bi-volume-off::before { content: "\f60f"; } +.bi-volume-up-fill::before { content: "\f610"; } +.bi-volume-up::before { content: "\f611"; } +.bi-vr::before { content: "\f612"; } +.bi-wallet-fill::before { content: "\f613"; } +.bi-wallet::before { content: "\f614"; } +.bi-wallet2::before { content: "\f615"; } +.bi-watch::before { content: "\f616"; } +.bi-water::before { content: "\f617"; } +.bi-whatsapp::before { content: "\f618"; } +.bi-wifi-1::before { content: "\f619"; } +.bi-wifi-2::before { content: "\f61a"; } +.bi-wifi-off::before { content: "\f61b"; } +.bi-wifi::before { content: "\f61c"; } +.bi-wind::before { content: "\f61d"; } +.bi-window-dock::before { content: "\f61e"; } +.bi-window-sidebar::before { content: "\f61f"; } +.bi-window::before { content: "\f620"; } +.bi-wrench::before { content: "\f621"; } +.bi-x-circle-fill::before { content: "\f622"; } +.bi-x-circle::before { content: "\f623"; } +.bi-x-diamond-fill::before { content: "\f624"; } +.bi-x-diamond::before { content: "\f625"; } +.bi-x-octagon-fill::before { content: "\f626"; } +.bi-x-octagon::before { content: "\f627"; } +.bi-x-square-fill::before { content: "\f628"; } +.bi-x-square::before { content: "\f629"; } +.bi-x::before { content: "\f62a"; } +.bi-youtube::before { content: "\f62b"; } +.bi-zoom-in::before { content: "\f62c"; } +.bi-zoom-out::before { content: "\f62d"; } +.bi-bank::before { content: "\f62e"; } +.bi-bank2::before { content: "\f62f"; } +.bi-bell-slash-fill::before { content: "\f630"; } +.bi-bell-slash::before { content: "\f631"; } +.bi-cash-coin::before { content: "\f632"; } +.bi-check-lg::before { content: "\f633"; } +.bi-coin::before { content: "\f634"; } +.bi-currency-bitcoin::before { content: "\f635"; } +.bi-currency-dollar::before { content: "\f636"; } +.bi-currency-euro::before { content: "\f637"; } +.bi-currency-exchange::before { content: "\f638"; } +.bi-currency-pound::before { content: "\f639"; } +.bi-currency-yen::before { content: "\f63a"; } +.bi-dash-lg::before { content: "\f63b"; } +.bi-exclamation-lg::before { content: "\f63c"; } +.bi-file-earmark-pdf-fill::before { content: "\f63d"; } +.bi-file-earmark-pdf::before { content: "\f63e"; } +.bi-file-pdf-fill::before { content: "\f63f"; } +.bi-file-pdf::before { content: "\f640"; } +.bi-gender-ambiguous::before { content: "\f641"; } +.bi-gender-female::before { content: "\f642"; } +.bi-gender-male::before { content: "\f643"; } +.bi-gender-trans::before { content: "\f644"; } +.bi-headset-vr::before { content: "\f645"; } +.bi-info-lg::before { content: "\f646"; } +.bi-mastodon::before { content: "\f647"; } +.bi-messenger::before { content: "\f648"; } +.bi-piggy-bank-fill::before { content: "\f649"; } +.bi-piggy-bank::before { content: "\f64a"; } +.bi-pin-map-fill::before { content: "\f64b"; } +.bi-pin-map::before { content: "\f64c"; } +.bi-plus-lg::before { content: "\f64d"; } +.bi-question-lg::before { content: "\f64e"; } +.bi-recycle::before { content: "\f64f"; } +.bi-reddit::before { content: "\f650"; } +.bi-safe-fill::before { content: "\f651"; } +.bi-safe2-fill::before { content: "\f652"; } +.bi-safe2::before { content: "\f653"; } +.bi-sd-card-fill::before { content: "\f654"; } +.bi-sd-card::before { content: "\f655"; } +.bi-skype::before { content: "\f656"; } +.bi-slash-lg::before { content: "\f657"; } +.bi-translate::before { content: "\f658"; } +.bi-x-lg::before { content: "\f659"; } +.bi-safe::before { content: "\f65a"; } +.bi-apple::before { content: "\f65b"; } +.bi-microsoft::before { content: "\f65d"; } +.bi-windows::before { content: "\f65e"; } +.bi-behance::before { content: "\f65c"; } +.bi-dribbble::before { content: "\f65f"; } +.bi-line::before { content: "\f660"; } +.bi-medium::before { content: "\f661"; } +.bi-paypal::before { content: "\f662"; } +.bi-pinterest::before { content: "\f663"; } +.bi-signal::before { content: "\f664"; } +.bi-snapchat::before { content: "\f665"; } +.bi-spotify::before { content: "\f666"; } +.bi-stack-overflow::before { content: "\f667"; } +.bi-strava::before { content: "\f668"; } +.bi-wordpress::before { content: "\f669"; } +.bi-vimeo::before { content: "\f66a"; } +.bi-activity::before { content: "\f66b"; } +.bi-easel2-fill::before { content: "\f66c"; } +.bi-easel2::before { content: "\f66d"; } +.bi-easel3-fill::before { content: "\f66e"; } +.bi-easel3::before { content: "\f66f"; } +.bi-fan::before { content: "\f670"; } +.bi-fingerprint::before { content: "\f671"; } +.bi-graph-down-arrow::before { content: "\f672"; } +.bi-graph-up-arrow::before { content: "\f673"; } +.bi-hypnotize::before { content: "\f674"; } +.bi-magic::before { content: "\f675"; } +.bi-person-rolodex::before { content: "\f676"; } +.bi-person-video::before { content: "\f677"; } +.bi-person-video2::before { content: "\f678"; } +.bi-person-video3::before { content: "\f679"; } +.bi-person-workspace::before { content: "\f67a"; } +.bi-radioactive::before { content: "\f67b"; } +.bi-webcam-fill::before { content: "\f67c"; } +.bi-webcam::before { content: "\f67d"; } +.bi-yin-yang::before { content: "\f67e"; } +.bi-bandaid-fill::before { content: "\f680"; } +.bi-bandaid::before { content: "\f681"; } +.bi-bluetooth::before { content: "\f682"; } +.bi-body-text::before { content: "\f683"; } +.bi-boombox::before { content: "\f684"; } +.bi-boxes::before { content: "\f685"; } +.bi-dpad-fill::before { content: "\f686"; } +.bi-dpad::before { content: "\f687"; } +.bi-ear-fill::before { content: "\f688"; } +.bi-ear::before { content: "\f689"; } +.bi-envelope-check-fill::before { content: "\f68b"; } +.bi-envelope-check::before { content: "\f68c"; } +.bi-envelope-dash-fill::before { content: "\f68e"; } +.bi-envelope-dash::before { content: "\f68f"; } +.bi-envelope-exclamation-fill::before { content: "\f691"; } +.bi-envelope-exclamation::before { content: "\f692"; } +.bi-envelope-plus-fill::before { content: "\f693"; } +.bi-envelope-plus::before { content: "\f694"; } +.bi-envelope-slash-fill::before { content: "\f696"; } +.bi-envelope-slash::before { content: "\f697"; } +.bi-envelope-x-fill::before { content: "\f699"; } +.bi-envelope-x::before { content: "\f69a"; } +.bi-explicit-fill::before { content: "\f69b"; } +.bi-explicit::before { content: "\f69c"; } +.bi-git::before { content: "\f69d"; } +.bi-infinity::before { content: "\f69e"; } +.bi-list-columns-reverse::before { content: "\f69f"; } +.bi-list-columns::before { content: "\f6a0"; } +.bi-meta::before { content: "\f6a1"; } +.bi-nintendo-switch::before { content: "\f6a4"; } +.bi-pc-display-horizontal::before { content: "\f6a5"; } +.bi-pc-display::before { content: "\f6a6"; } +.bi-pc-horizontal::before { content: "\f6a7"; } +.bi-pc::before { content: "\f6a8"; } +.bi-playstation::before { content: "\f6a9"; } +.bi-plus-slash-minus::before { content: "\f6aa"; } +.bi-projector-fill::before { content: "\f6ab"; } +.bi-projector::before { content: "\f6ac"; } +.bi-qr-code-scan::before { content: "\f6ad"; } +.bi-qr-code::before { content: "\f6ae"; } +.bi-quora::before { content: "\f6af"; } +.bi-quote::before { content: "\f6b0"; } +.bi-robot::before { content: "\f6b1"; } +.bi-send-check-fill::before { content: "\f6b2"; } +.bi-send-check::before { content: "\f6b3"; } +.bi-send-dash-fill::before { content: "\f6b4"; } +.bi-send-dash::before { content: "\f6b5"; } +.bi-send-exclamation-fill::before { content: "\f6b7"; } +.bi-send-exclamation::before { content: "\f6b8"; } +.bi-send-fill::before { content: "\f6b9"; } +.bi-send-plus-fill::before { content: "\f6ba"; } +.bi-send-plus::before { content: "\f6bb"; } +.bi-send-slash-fill::before { content: "\f6bc"; } +.bi-send-slash::before { content: "\f6bd"; } +.bi-send-x-fill::before { content: "\f6be"; } +.bi-send-x::before { content: "\f6bf"; } +.bi-send::before { content: "\f6c0"; } +.bi-steam::before { content: "\f6c1"; } +.bi-terminal-dash::before { content: "\f6c3"; } +.bi-terminal-plus::before { content: "\f6c4"; } +.bi-terminal-split::before { content: "\f6c5"; } +.bi-ticket-detailed-fill::before { content: "\f6c6"; } +.bi-ticket-detailed::before { content: "\f6c7"; } +.bi-ticket-fill::before { content: "\f6c8"; } +.bi-ticket-perforated-fill::before { content: "\f6c9"; } +.bi-ticket-perforated::before { content: "\f6ca"; } +.bi-ticket::before { content: "\f6cb"; } +.bi-tiktok::before { content: "\f6cc"; } +.bi-window-dash::before { content: "\f6cd"; } +.bi-window-desktop::before { content: "\f6ce"; } +.bi-window-fullscreen::before { content: "\f6cf"; } +.bi-window-plus::before { content: "\f6d0"; } +.bi-window-split::before { content: "\f6d1"; } +.bi-window-stack::before { content: "\f6d2"; } +.bi-window-x::before { content: "\f6d3"; } +.bi-xbox::before { content: "\f6d4"; } +.bi-ethernet::before { content: "\f6d5"; } +.bi-hdmi-fill::before { content: "\f6d6"; } +.bi-hdmi::before { content: "\f6d7"; } +.bi-usb-c-fill::before { content: "\f6d8"; } +.bi-usb-c::before { content: "\f6d9"; } +.bi-usb-fill::before { content: "\f6da"; } +.bi-usb-plug-fill::before { content: "\f6db"; } +.bi-usb-plug::before { content: "\f6dc"; } +.bi-usb-symbol::before { content: "\f6dd"; } +.bi-usb::before { content: "\f6de"; } +.bi-boombox-fill::before { content: "\f6df"; } +.bi-displayport::before { content: "\f6e1"; } +.bi-gpu-card::before { content: "\f6e2"; } +.bi-memory::before { content: "\f6e3"; } +.bi-modem-fill::before { content: "\f6e4"; } +.bi-modem::before { content: "\f6e5"; } +.bi-motherboard-fill::before { content: "\f6e6"; } +.bi-motherboard::before { content: "\f6e7"; } +.bi-optical-audio-fill::before { content: "\f6e8"; } +.bi-optical-audio::before { content: "\f6e9"; } +.bi-pci-card::before { content: "\f6ea"; } +.bi-router-fill::before { content: "\f6eb"; } +.bi-router::before { content: "\f6ec"; } +.bi-thunderbolt-fill::before { content: "\f6ef"; } +.bi-thunderbolt::before { content: "\f6f0"; } +.bi-usb-drive-fill::before { content: "\f6f1"; } +.bi-usb-drive::before { content: "\f6f2"; } +.bi-usb-micro-fill::before { content: "\f6f3"; } +.bi-usb-micro::before { content: "\f6f4"; } +.bi-usb-mini-fill::before { content: "\f6f5"; } +.bi-usb-mini::before { content: "\f6f6"; } +.bi-cloud-haze2::before { content: "\f6f7"; } +.bi-device-hdd-fill::before { content: "\f6f8"; } +.bi-device-hdd::before { content: "\f6f9"; } +.bi-device-ssd-fill::before { content: "\f6fa"; } +.bi-device-ssd::before { content: "\f6fb"; } +.bi-displayport-fill::before { content: "\f6fc"; } +.bi-mortarboard-fill::before { content: "\f6fd"; } +.bi-mortarboard::before { content: "\f6fe"; } +.bi-terminal-x::before { content: "\f6ff"; } +.bi-arrow-through-heart-fill::before { content: "\f700"; } +.bi-arrow-through-heart::before { content: "\f701"; } +.bi-badge-sd-fill::before { content: "\f702"; } +.bi-badge-sd::before { content: "\f703"; } +.bi-bag-heart-fill::before { content: "\f704"; } +.bi-bag-heart::before { content: "\f705"; } +.bi-balloon-fill::before { content: "\f706"; } +.bi-balloon-heart-fill::before { content: "\f707"; } +.bi-balloon-heart::before { content: "\f708"; } +.bi-balloon::before { content: "\f709"; } +.bi-box2-fill::before { content: "\f70a"; } +.bi-box2-heart-fill::before { content: "\f70b"; } +.bi-box2-heart::before { content: "\f70c"; } +.bi-box2::before { content: "\f70d"; } +.bi-braces-asterisk::before { content: "\f70e"; } +.bi-calendar-heart-fill::before { content: "\f70f"; } +.bi-calendar-heart::before { content: "\f710"; } +.bi-calendar2-heart-fill::before { content: "\f711"; } +.bi-calendar2-heart::before { content: "\f712"; } +.bi-chat-heart-fill::before { content: "\f713"; } +.bi-chat-heart::before { content: "\f714"; } +.bi-chat-left-heart-fill::before { content: "\f715"; } +.bi-chat-left-heart::before { content: "\f716"; } +.bi-chat-right-heart-fill::before { content: "\f717"; } +.bi-chat-right-heart::before { content: "\f718"; } +.bi-chat-square-heart-fill::before { content: "\f719"; } +.bi-chat-square-heart::before { content: "\f71a"; } +.bi-clipboard-check-fill::before { content: "\f71b"; } +.bi-clipboard-data-fill::before { content: "\f71c"; } +.bi-clipboard-fill::before { content: "\f71d"; } +.bi-clipboard-heart-fill::before { content: "\f71e"; } +.bi-clipboard-heart::before { content: "\f71f"; } +.bi-clipboard-minus-fill::before { content: "\f720"; } +.bi-clipboard-plus-fill::before { content: "\f721"; } +.bi-clipboard-pulse::before { content: "\f722"; } +.bi-clipboard-x-fill::before { content: "\f723"; } +.bi-clipboard2-check-fill::before { content: "\f724"; } +.bi-clipboard2-check::before { content: "\f725"; } +.bi-clipboard2-data-fill::before { content: "\f726"; } +.bi-clipboard2-data::before { content: "\f727"; } +.bi-clipboard2-fill::before { content: "\f728"; } +.bi-clipboard2-heart-fill::before { content: "\f729"; } +.bi-clipboard2-heart::before { content: "\f72a"; } +.bi-clipboard2-minus-fill::before { content: "\f72b"; } +.bi-clipboard2-minus::before { content: "\f72c"; } +.bi-clipboard2-plus-fill::before { content: "\f72d"; } +.bi-clipboard2-plus::before { content: "\f72e"; } +.bi-clipboard2-pulse-fill::before { content: "\f72f"; } +.bi-clipboard2-pulse::before { content: "\f730"; } +.bi-clipboard2-x-fill::before { content: "\f731"; } +.bi-clipboard2-x::before { content: "\f732"; } +.bi-clipboard2::before { content: "\f733"; } +.bi-emoji-kiss-fill::before { content: "\f734"; } +.bi-emoji-kiss::before { content: "\f735"; } +.bi-envelope-heart-fill::before { content: "\f736"; } +.bi-envelope-heart::before { content: "\f737"; } +.bi-envelope-open-heart-fill::before { content: "\f738"; } +.bi-envelope-open-heart::before { content: "\f739"; } +.bi-envelope-paper-fill::before { content: "\f73a"; } +.bi-envelope-paper-heart-fill::before { content: "\f73b"; } +.bi-envelope-paper-heart::before { content: "\f73c"; } +.bi-envelope-paper::before { content: "\f73d"; } +.bi-filetype-aac::before { content: "\f73e"; } +.bi-filetype-ai::before { content: "\f73f"; } +.bi-filetype-bmp::before { content: "\f740"; } +.bi-filetype-cs::before { content: "\f741"; } +.bi-filetype-css::before { content: "\f742"; } +.bi-filetype-csv::before { content: "\f743"; } +.bi-filetype-doc::before { content: "\f744"; } +.bi-filetype-docx::before { content: "\f745"; } +.bi-filetype-exe::before { content: "\f746"; } +.bi-filetype-gif::before { content: "\f747"; } +.bi-filetype-heic::before { content: "\f748"; } +.bi-filetype-html::before { content: "\f749"; } +.bi-filetype-java::before { content: "\f74a"; } +.bi-filetype-jpg::before { content: "\f74b"; } +.bi-filetype-js::before { content: "\f74c"; } +.bi-filetype-jsx::before { content: "\f74d"; } +.bi-filetype-key::before { content: "\f74e"; } +.bi-filetype-m4p::before { content: "\f74f"; } +.bi-filetype-md::before { content: "\f750"; } +.bi-filetype-mdx::before { content: "\f751"; } +.bi-filetype-mov::before { content: "\f752"; } +.bi-filetype-mp3::before { content: "\f753"; } +.bi-filetype-mp4::before { content: "\f754"; } +.bi-filetype-otf::before { content: "\f755"; } +.bi-filetype-pdf::before { content: "\f756"; } +.bi-filetype-php::before { content: "\f757"; } +.bi-filetype-png::before { content: "\f758"; } +.bi-filetype-ppt::before { content: "\f75a"; } +.bi-filetype-psd::before { content: "\f75b"; } +.bi-filetype-py::before { content: "\f75c"; } +.bi-filetype-raw::before { content: "\f75d"; } +.bi-filetype-rb::before { content: "\f75e"; } +.bi-filetype-sass::before { content: "\f75f"; } +.bi-filetype-scss::before { content: "\f760"; } +.bi-filetype-sh::before { content: "\f761"; } +.bi-filetype-svg::before { content: "\f762"; } +.bi-filetype-tiff::before { content: "\f763"; } +.bi-filetype-tsx::before { content: "\f764"; } +.bi-filetype-ttf::before { content: "\f765"; } +.bi-filetype-txt::before { content: "\f766"; } +.bi-filetype-wav::before { content: "\f767"; } +.bi-filetype-woff::before { content: "\f768"; } +.bi-filetype-xls::before { content: "\f76a"; } +.bi-filetype-xml::before { content: "\f76b"; } +.bi-filetype-yml::before { content: "\f76c"; } +.bi-heart-arrow::before { content: "\f76d"; } +.bi-heart-pulse-fill::before { content: "\f76e"; } +.bi-heart-pulse::before { content: "\f76f"; } +.bi-heartbreak-fill::before { content: "\f770"; } +.bi-heartbreak::before { content: "\f771"; } +.bi-hearts::before { content: "\f772"; } +.bi-hospital-fill::before { content: "\f773"; } +.bi-hospital::before { content: "\f774"; } +.bi-house-heart-fill::before { content: "\f775"; } +.bi-house-heart::before { content: "\f776"; } +.bi-incognito::before { content: "\f777"; } +.bi-magnet-fill::before { content: "\f778"; } +.bi-magnet::before { content: "\f779"; } +.bi-person-heart::before { content: "\f77a"; } +.bi-person-hearts::before { content: "\f77b"; } +.bi-phone-flip::before { content: "\f77c"; } +.bi-plugin::before { content: "\f77d"; } +.bi-postage-fill::before { content: "\f77e"; } +.bi-postage-heart-fill::before { content: "\f77f"; } +.bi-postage-heart::before { content: "\f780"; } +.bi-postage::before { content: "\f781"; } +.bi-postcard-fill::before { content: "\f782"; } +.bi-postcard-heart-fill::before { content: "\f783"; } +.bi-postcard-heart::before { content: "\f784"; } +.bi-postcard::before { content: "\f785"; } +.bi-search-heart-fill::before { content: "\f786"; } +.bi-search-heart::before { content: "\f787"; } +.bi-sliders2-vertical::before { content: "\f788"; } +.bi-sliders2::before { content: "\f789"; } +.bi-trash3-fill::before { content: "\f78a"; } +.bi-trash3::before { content: "\f78b"; } +.bi-valentine::before { content: "\f78c"; } +.bi-valentine2::before { content: "\f78d"; } +.bi-wrench-adjustable-circle-fill::before { content: "\f78e"; } +.bi-wrench-adjustable-circle::before { content: "\f78f"; } +.bi-wrench-adjustable::before { content: "\f790"; } +.bi-filetype-json::before { content: "\f791"; } +.bi-filetype-pptx::before { content: "\f792"; } +.bi-filetype-xlsx::before { content: "\f793"; } +.bi-1-circle-fill::before { content: "\f796"; } +.bi-1-circle::before { content: "\f797"; } +.bi-1-square-fill::before { content: "\f798"; } +.bi-1-square::before { content: "\f799"; } +.bi-2-circle-fill::before { content: "\f79c"; } +.bi-2-circle::before { content: "\f79d"; } +.bi-2-square-fill::before { content: "\f79e"; } +.bi-2-square::before { content: "\f79f"; } +.bi-3-circle-fill::before { content: "\f7a2"; } +.bi-3-circle::before { content: "\f7a3"; } +.bi-3-square-fill::before { content: "\f7a4"; } +.bi-3-square::before { content: "\f7a5"; } +.bi-4-circle-fill::before { content: "\f7a8"; } +.bi-4-circle::before { content: "\f7a9"; } +.bi-4-square-fill::before { content: "\f7aa"; } +.bi-4-square::before { content: "\f7ab"; } +.bi-5-circle-fill::before { content: "\f7ae"; } +.bi-5-circle::before { content: "\f7af"; } +.bi-5-square-fill::before { content: "\f7b0"; } +.bi-5-square::before { content: "\f7b1"; } +.bi-6-circle-fill::before { content: "\f7b4"; } +.bi-6-circle::before { content: "\f7b5"; } +.bi-6-square-fill::before { content: "\f7b6"; } +.bi-6-square::before { content: "\f7b7"; } +.bi-7-circle-fill::before { content: "\f7ba"; } +.bi-7-circle::before { content: "\f7bb"; } +.bi-7-square-fill::before { content: "\f7bc"; } +.bi-7-square::before { content: "\f7bd"; } +.bi-8-circle-fill::before { content: "\f7c0"; } +.bi-8-circle::before { content: "\f7c1"; } +.bi-8-square-fill::before { content: "\f7c2"; } +.bi-8-square::before { content: "\f7c3"; } +.bi-9-circle-fill::before { content: "\f7c6"; } +.bi-9-circle::before { content: "\f7c7"; } +.bi-9-square-fill::before { content: "\f7c8"; } +.bi-9-square::before { content: "\f7c9"; } +.bi-airplane-engines-fill::before { content: "\f7ca"; } +.bi-airplane-engines::before { content: "\f7cb"; } +.bi-airplane-fill::before { content: "\f7cc"; } +.bi-airplane::before { content: "\f7cd"; } +.bi-alexa::before { content: "\f7ce"; } +.bi-alipay::before { content: "\f7cf"; } +.bi-android::before { content: "\f7d0"; } +.bi-android2::before { content: "\f7d1"; } +.bi-box-fill::before { content: "\f7d2"; } +.bi-box-seam-fill::before { content: "\f7d3"; } +.bi-browser-chrome::before { content: "\f7d4"; } +.bi-browser-edge::before { content: "\f7d5"; } +.bi-browser-firefox::before { content: "\f7d6"; } +.bi-browser-safari::before { content: "\f7d7"; } +.bi-c-circle-fill::before { content: "\f7da"; } +.bi-c-circle::before { content: "\f7db"; } +.bi-c-square-fill::before { content: "\f7dc"; } +.bi-c-square::before { content: "\f7dd"; } +.bi-capsule-pill::before { content: "\f7de"; } +.bi-capsule::before { content: "\f7df"; } +.bi-car-front-fill::before { content: "\f7e0"; } +.bi-car-front::before { content: "\f7e1"; } +.bi-cassette-fill::before { content: "\f7e2"; } +.bi-cassette::before { content: "\f7e3"; } +.bi-cc-circle-fill::before { content: "\f7e6"; } +.bi-cc-circle::before { content: "\f7e7"; } +.bi-cc-square-fill::before { content: "\f7e8"; } +.bi-cc-square::before { content: "\f7e9"; } +.bi-cup-hot-fill::before { content: "\f7ea"; } +.bi-cup-hot::before { content: "\f7eb"; } +.bi-currency-rupee::before { content: "\f7ec"; } +.bi-dropbox::before { content: "\f7ed"; } +.bi-escape::before { content: "\f7ee"; } +.bi-fast-forward-btn-fill::before { content: "\f7ef"; } +.bi-fast-forward-btn::before { content: "\f7f0"; } +.bi-fast-forward-circle-fill::before { content: "\f7f1"; } +.bi-fast-forward-circle::before { content: "\f7f2"; } +.bi-fast-forward-fill::before { content: "\f7f3"; } +.bi-fast-forward::before { content: "\f7f4"; } +.bi-filetype-sql::before { content: "\f7f5"; } +.bi-fire::before { content: "\f7f6"; } +.bi-google-play::before { content: "\f7f7"; } +.bi-h-circle-fill::before { content: "\f7fa"; } +.bi-h-circle::before { content: "\f7fb"; } +.bi-h-square-fill::before { content: "\f7fc"; } +.bi-h-square::before { content: "\f7fd"; } +.bi-indent::before { content: "\f7fe"; } +.bi-lungs-fill::before { content: "\f7ff"; } +.bi-lungs::before { content: "\f800"; } +.bi-microsoft-teams::before { content: "\f801"; } +.bi-p-circle-fill::before { content: "\f804"; } +.bi-p-circle::before { content: "\f805"; } +.bi-p-square-fill::before { content: "\f806"; } +.bi-p-square::before { content: "\f807"; } +.bi-pass-fill::before { content: "\f808"; } +.bi-pass::before { content: "\f809"; } +.bi-prescription::before { content: "\f80a"; } +.bi-prescription2::before { content: "\f80b"; } +.bi-r-circle-fill::before { content: "\f80e"; } +.bi-r-circle::before { content: "\f80f"; } +.bi-r-square-fill::before { content: "\f810"; } +.bi-r-square::before { content: "\f811"; } +.bi-repeat-1::before { content: "\f812"; } +.bi-repeat::before { content: "\f813"; } +.bi-rewind-btn-fill::before { content: "\f814"; } +.bi-rewind-btn::before { content: "\f815"; } +.bi-rewind-circle-fill::before { content: "\f816"; } +.bi-rewind-circle::before { content: "\f817"; } +.bi-rewind-fill::before { content: "\f818"; } +.bi-rewind::before { content: "\f819"; } +.bi-train-freight-front-fill::before { content: "\f81a"; } +.bi-train-freight-front::before { content: "\f81b"; } +.bi-train-front-fill::before { content: "\f81c"; } +.bi-train-front::before { content: "\f81d"; } +.bi-train-lightrail-front-fill::before { content: "\f81e"; } +.bi-train-lightrail-front::before { content: "\f81f"; } +.bi-truck-front-fill::before { content: "\f820"; } +.bi-truck-front::before { content: "\f821"; } +.bi-ubuntu::before { content: "\f822"; } +.bi-unindent::before { content: "\f823"; } +.bi-unity::before { content: "\f824"; } +.bi-universal-access-circle::before { content: "\f825"; } +.bi-universal-access::before { content: "\f826"; } +.bi-virus::before { content: "\f827"; } +.bi-virus2::before { content: "\f828"; } +.bi-wechat::before { content: "\f829"; } +.bi-yelp::before { content: "\f82a"; } +.bi-sign-stop-fill::before { content: "\f82b"; } +.bi-sign-stop-lights-fill::before { content: "\f82c"; } +.bi-sign-stop-lights::before { content: "\f82d"; } +.bi-sign-stop::before { content: "\f82e"; } +.bi-sign-turn-left-fill::before { content: "\f82f"; } +.bi-sign-turn-left::before { content: "\f830"; } +.bi-sign-turn-right-fill::before { content: "\f831"; } +.bi-sign-turn-right::before { content: "\f832"; } +.bi-sign-turn-slight-left-fill::before { content: "\f833"; } +.bi-sign-turn-slight-left::before { content: "\f834"; } +.bi-sign-turn-slight-right-fill::before { content: "\f835"; } +.bi-sign-turn-slight-right::before { content: "\f836"; } +.bi-sign-yield-fill::before { content: "\f837"; } +.bi-sign-yield::before { content: "\f838"; } +.bi-ev-station-fill::before { content: "\f839"; } +.bi-ev-station::before { content: "\f83a"; } +.bi-fuel-pump-diesel-fill::before { content: "\f83b"; } +.bi-fuel-pump-diesel::before { content: "\f83c"; } +.bi-fuel-pump-fill::before { content: "\f83d"; } +.bi-fuel-pump::before { content: "\f83e"; } +.bi-0-circle-fill::before { content: "\f83f"; } +.bi-0-circle::before { content: "\f840"; } +.bi-0-square-fill::before { content: "\f841"; } +.bi-0-square::before { content: "\f842"; } +.bi-rocket-fill::before { content: "\f843"; } +.bi-rocket-takeoff-fill::before { content: "\f844"; } +.bi-rocket-takeoff::before { content: "\f845"; } +.bi-rocket::before { content: "\f846"; } +.bi-stripe::before { content: "\f847"; } +.bi-subscript::before { content: "\f848"; } +.bi-superscript::before { content: "\f849"; } +.bi-trello::before { content: "\f84a"; } +.bi-envelope-at-fill::before { content: "\f84b"; } +.bi-envelope-at::before { content: "\f84c"; } +.bi-regex::before { content: "\f84d"; } +.bi-text-wrap::before { content: "\f84e"; } +.bi-sign-dead-end-fill::before { content: "\f84f"; } +.bi-sign-dead-end::before { content: "\f850"; } +.bi-sign-do-not-enter-fill::before { content: "\f851"; } +.bi-sign-do-not-enter::before { content: "\f852"; } +.bi-sign-intersection-fill::before { content: "\f853"; } +.bi-sign-intersection-side-fill::before { content: "\f854"; } +.bi-sign-intersection-side::before { content: "\f855"; } +.bi-sign-intersection-t-fill::before { content: "\f856"; } +.bi-sign-intersection-t::before { content: "\f857"; } +.bi-sign-intersection-y-fill::before { content: "\f858"; } +.bi-sign-intersection-y::before { content: "\f859"; } +.bi-sign-intersection::before { content: "\f85a"; } +.bi-sign-merge-left-fill::before { content: "\f85b"; } +.bi-sign-merge-left::before { content: "\f85c"; } +.bi-sign-merge-right-fill::before { content: "\f85d"; } +.bi-sign-merge-right::before { content: "\f85e"; } +.bi-sign-no-left-turn-fill::before { content: "\f85f"; } +.bi-sign-no-left-turn::before { content: "\f860"; } +.bi-sign-no-parking-fill::before { content: "\f861"; } +.bi-sign-no-parking::before { content: "\f862"; } +.bi-sign-no-right-turn-fill::before { content: "\f863"; } +.bi-sign-no-right-turn::before { content: "\f864"; } +.bi-sign-railroad-fill::before { content: "\f865"; } +.bi-sign-railroad::before { content: "\f866"; } +.bi-building-add::before { content: "\f867"; } +.bi-building-check::before { content: "\f868"; } +.bi-building-dash::before { content: "\f869"; } +.bi-building-down::before { content: "\f86a"; } +.bi-building-exclamation::before { content: "\f86b"; } +.bi-building-fill-add::before { content: "\f86c"; } +.bi-building-fill-check::before { content: "\f86d"; } +.bi-building-fill-dash::before { content: "\f86e"; } +.bi-building-fill-down::before { content: "\f86f"; } +.bi-building-fill-exclamation::before { content: "\f870"; } +.bi-building-fill-gear::before { content: "\f871"; } +.bi-building-fill-lock::before { content: "\f872"; } +.bi-building-fill-slash::before { content: "\f873"; } +.bi-building-fill-up::before { content: "\f874"; } +.bi-building-fill-x::before { content: "\f875"; } +.bi-building-fill::before { content: "\f876"; } +.bi-building-gear::before { content: "\f877"; } +.bi-building-lock::before { content: "\f878"; } +.bi-building-slash::before { content: "\f879"; } +.bi-building-up::before { content: "\f87a"; } +.bi-building-x::before { content: "\f87b"; } +.bi-buildings-fill::before { content: "\f87c"; } +.bi-buildings::before { content: "\f87d"; } +.bi-bus-front-fill::before { content: "\f87e"; } +.bi-bus-front::before { content: "\f87f"; } +.bi-ev-front-fill::before { content: "\f880"; } +.bi-ev-front::before { content: "\f881"; } +.bi-globe-americas::before { content: "\f882"; } +.bi-globe-asia-australia::before { content: "\f883"; } +.bi-globe-central-south-asia::before { content: "\f884"; } +.bi-globe-europe-africa::before { content: "\f885"; } +.bi-house-add-fill::before { content: "\f886"; } +.bi-house-add::before { content: "\f887"; } +.bi-house-check-fill::before { content: "\f888"; } +.bi-house-check::before { content: "\f889"; } +.bi-house-dash-fill::before { content: "\f88a"; } +.bi-house-dash::before { content: "\f88b"; } +.bi-house-down-fill::before { content: "\f88c"; } +.bi-house-down::before { content: "\f88d"; } +.bi-house-exclamation-fill::before { content: "\f88e"; } +.bi-house-exclamation::before { content: "\f88f"; } +.bi-house-gear-fill::before { content: "\f890"; } +.bi-house-gear::before { content: "\f891"; } +.bi-house-lock-fill::before { content: "\f892"; } +.bi-house-lock::before { content: "\f893"; } +.bi-house-slash-fill::before { content: "\f894"; } +.bi-house-slash::before { content: "\f895"; } +.bi-house-up-fill::before { content: "\f896"; } +.bi-house-up::before { content: "\f897"; } +.bi-house-x-fill::before { content: "\f898"; } +.bi-house-x::before { content: "\f899"; } +.bi-person-add::before { content: "\f89a"; } +.bi-person-down::before { content: "\f89b"; } +.bi-person-exclamation::before { content: "\f89c"; } +.bi-person-fill-add::before { content: "\f89d"; } +.bi-person-fill-check::before { content: "\f89e"; } +.bi-person-fill-dash::before { content: "\f89f"; } +.bi-person-fill-down::before { content: "\f8a0"; } +.bi-person-fill-exclamation::before { content: "\f8a1"; } +.bi-person-fill-gear::before { content: "\f8a2"; } +.bi-person-fill-lock::before { content: "\f8a3"; } +.bi-person-fill-slash::before { content: "\f8a4"; } +.bi-person-fill-up::before { content: "\f8a5"; } +.bi-person-fill-x::before { content: "\f8a6"; } +.bi-person-gear::before { content: "\f8a7"; } +.bi-person-lock::before { content: "\f8a8"; } +.bi-person-slash::before { content: "\f8a9"; } +.bi-person-up::before { content: "\f8aa"; } +.bi-scooter::before { content: "\f8ab"; } +.bi-taxi-front-fill::before { content: "\f8ac"; } +.bi-taxi-front::before { content: "\f8ad"; } +.bi-amd::before { content: "\f8ae"; } +.bi-database-add::before { content: "\f8af"; } +.bi-database-check::before { content: "\f8b0"; } +.bi-database-dash::before { content: "\f8b1"; } +.bi-database-down::before { content: "\f8b2"; } +.bi-database-exclamation::before { content: "\f8b3"; } +.bi-database-fill-add::before { content: "\f8b4"; } +.bi-database-fill-check::before { content: "\f8b5"; } +.bi-database-fill-dash::before { content: "\f8b6"; } +.bi-database-fill-down::before { content: "\f8b7"; } +.bi-database-fill-exclamation::before { content: "\f8b8"; } +.bi-database-fill-gear::before { content: "\f8b9"; } +.bi-database-fill-lock::before { content: "\f8ba"; } +.bi-database-fill-slash::before { content: "\f8bb"; } +.bi-database-fill-up::before { content: "\f8bc"; } +.bi-database-fill-x::before { content: "\f8bd"; } +.bi-database-fill::before { content: "\f8be"; } +.bi-database-gear::before { content: "\f8bf"; } +.bi-database-lock::before { content: "\f8c0"; } +.bi-database-slash::before { content: "\f8c1"; } +.bi-database-up::before { content: "\f8c2"; } +.bi-database-x::before { content: "\f8c3"; } +.bi-database::before { content: "\f8c4"; } +.bi-houses-fill::before { content: "\f8c5"; } +.bi-houses::before { content: "\f8c6"; } +.bi-nvidia::before { content: "\f8c7"; } +.bi-person-vcard-fill::before { content: "\f8c8"; } +.bi-person-vcard::before { content: "\f8c9"; } +.bi-sina-weibo::before { content: "\f8ca"; } +.bi-tencent-qq::before { content: "\f8cb"; } +.bi-wikipedia::before { content: "\f8cc"; } +.bi-alphabet-uppercase::before { content: "\f2a5"; } +.bi-alphabet::before { content: "\f68a"; } +.bi-amazon::before { content: "\f68d"; } +.bi-arrows-collapse-vertical::before { content: "\f690"; } +.bi-arrows-expand-vertical::before { content: "\f695"; } +.bi-arrows-vertical::before { content: "\f698"; } +.bi-arrows::before { content: "\f6a2"; } +.bi-ban-fill::before { content: "\f6a3"; } +.bi-ban::before { content: "\f6b6"; } +.bi-bing::before { content: "\f6c2"; } +.bi-cake::before { content: "\f6e0"; } +.bi-cake2::before { content: "\f6ed"; } +.bi-cookie::before { content: "\f6ee"; } +.bi-copy::before { content: "\f759"; } +.bi-crosshair::before { content: "\f769"; } +.bi-crosshair2::before { content: "\f794"; } +.bi-emoji-astonished-fill::before { content: "\f795"; } +.bi-emoji-astonished::before { content: "\f79a"; } +.bi-emoji-grimace-fill::before { content: "\f79b"; } +.bi-emoji-grimace::before { content: "\f7a0"; } +.bi-emoji-grin-fill::before { content: "\f7a1"; } +.bi-emoji-grin::before { content: "\f7a6"; } +.bi-emoji-surprise-fill::before { content: "\f7a7"; } +.bi-emoji-surprise::before { content: "\f7ac"; } +.bi-emoji-tear-fill::before { content: "\f7ad"; } +.bi-emoji-tear::before { content: "\f7b2"; } +.bi-envelope-arrow-down-fill::before { content: "\f7b3"; } +.bi-envelope-arrow-down::before { content: "\f7b8"; } +.bi-envelope-arrow-up-fill::before { content: "\f7b9"; } +.bi-envelope-arrow-up::before { content: "\f7be"; } +.bi-feather::before { content: "\f7bf"; } +.bi-feather2::before { content: "\f7c4"; } +.bi-floppy-fill::before { content: "\f7c5"; } +.bi-floppy::before { content: "\f7d8"; } +.bi-floppy2-fill::before { content: "\f7d9"; } +.bi-floppy2::before { content: "\f7e4"; } +.bi-gitlab::before { content: "\f7e5"; } +.bi-highlighter::before { content: "\f7f8"; } +.bi-marker-tip::before { content: "\f802"; } +.bi-nvme-fill::before { content: "\f803"; } +.bi-nvme::before { content: "\f80c"; } +.bi-opencollective::before { content: "\f80d"; } +.bi-pci-card-network::before { content: "\f8cd"; } +.bi-pci-card-sound::before { content: "\f8ce"; } +.bi-radar::before { content: "\f8cf"; } +.bi-send-arrow-down-fill::before { content: "\f8d0"; } +.bi-send-arrow-down::before { content: "\f8d1"; } +.bi-send-arrow-up-fill::before { content: "\f8d2"; } +.bi-send-arrow-up::before { content: "\f8d3"; } +.bi-sim-slash-fill::before { content: "\f8d4"; } +.bi-sim-slash::before { content: "\f8d5"; } +.bi-sourceforge::before { content: "\f8d6"; } +.bi-substack::before { content: "\f8d7"; } +.bi-threads-fill::before { content: "\f8d8"; } +.bi-threads::before { content: "\f8d9"; } +.bi-transparency::before { content: "\f8da"; } +.bi-twitter-x::before { content: "\f8db"; } +.bi-type-h4::before { content: "\f8dc"; } +.bi-type-h5::before { content: "\f8dd"; } +.bi-type-h6::before { content: "\f8de"; } +.bi-backpack-fill::before { content: "\f8df"; } +.bi-backpack::before { content: "\f8e0"; } +.bi-backpack2-fill::before { content: "\f8e1"; } +.bi-backpack2::before { content: "\f8e2"; } +.bi-backpack3-fill::before { content: "\f8e3"; } +.bi-backpack3::before { content: "\f8e4"; } +.bi-backpack4-fill::before { content: "\f8e5"; } +.bi-backpack4::before { content: "\f8e6"; } +.bi-brilliance::before { content: "\f8e7"; } +.bi-cake-fill::before { content: "\f8e8"; } +.bi-cake2-fill::before { content: "\f8e9"; } +.bi-duffle-fill::before { content: "\f8ea"; } +.bi-duffle::before { content: "\f8eb"; } +.bi-exposure::before { content: "\f8ec"; } +.bi-gender-neuter::before { content: "\f8ed"; } +.bi-highlights::before { content: "\f8ee"; } +.bi-luggage-fill::before { content: "\f8ef"; } +.bi-luggage::before { content: "\f8f0"; } +.bi-mailbox-flag::before { content: "\f8f1"; } +.bi-mailbox2-flag::before { content: "\f8f2"; } +.bi-noise-reduction::before { content: "\f8f3"; } +.bi-passport-fill::before { content: "\f8f4"; } +.bi-passport::before { content: "\f8f5"; } +.bi-person-arms-up::before { content: "\f8f6"; } +.bi-person-raised-hand::before { content: "\f8f7"; } +.bi-person-standing-dress::before { content: "\f8f8"; } +.bi-person-standing::before { content: "\f8f9"; } +.bi-person-walking::before { content: "\f8fa"; } +.bi-person-wheelchair::before { content: "\f8fb"; } +.bi-shadows::before { content: "\f8fc"; } +.bi-suitcase-fill::before { content: "\f8fd"; } +.bi-suitcase-lg-fill::before { content: "\f8fe"; } +.bi-suitcase-lg::before { content: "\f8ff"; } +.bi-suitcase::before { content: "\f900"; } +.bi-suitcase2-fill::before { content: "\f901"; } +.bi-suitcase2::before { content: "\f902"; } +.bi-vignette::before { content: "\f903"; } diff --git a/site_libs/bootstrap/bootstrap-icons.woff b/site_libs/bootstrap/bootstrap-icons.woff new file mode 100644 index 0000000000000000000000000000000000000000..dbeeb055674125ad78fda0f3d166b36e5cc92336 GIT binary patch literal 176200 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

2+UrCZlNAp`)&G@jg{m-!Dn; zhYym7;-O&8glg>dkFUeu$1lk8mPmg_)x|9l{&e+csF?1#Jg9$uQ2X9BKRmV8)xB#h zw(pR|(=DVs6k|HjCDA+#o^ViggRb^OQ-hAv6nm=Pz4(HDJ~&TS=uM*ZEC#$h zD~UJJdsNkC10`vw?1Pg_r`@c4Iur>!QrC^=byk}`luLEA>K$ALygicMHP3^+!f499 zF{5$E6CsP50M;x4_;!b?y>S?}pT6<@V>d1Xe7m~e@JsLmA5RQJ7Q*l`eER7;252Ss zLkb}(rIfL0AQUd|#LT3fWImejLk+w_3|taFc;hkJH1PYq0pj z6}GN&-0Kf@vI-NvNRCAu0?O%%yIk74Nw3pS`fH?z>AOJwl71(X#g8b;4a(JckgvH$ zh7Y{h-0T{go5AL$(cRqC;l${6yN`9d|7({V6vahJy}2zZx2w{kD7M?|#_fvKzFCzX zXfzt$%vFuXRWlx(`d2lM9&KE8bE7fy3;ga;p_n6l9&7;IHKUi>R6U+&LrwER#Ow~+ z_ApAdf4be~R=1bgiV=@J!$nYibP4p)0|scLn}BwrsBYN`jbl`haZDB4`m3=!Z<@7d z4j!DbXM^nIYiD#+(sM+j=NA(*?lL79QrmpDUL7Z znXU68V7ZvWj;psg?7um7=W<~$#1rlnhk~oSGOue64_KSgcXx(T;HtX&hAyy*DWvL3q+q~gQ?dqE*4`At3rkCbauQ5 z#bAgx3P{q=6I&%Q4?0H808cnn>F(({SeeaNHWeHxWA zrBW^5dt3OUG{zWr5>$yLC zbdBx9h({r(Zl}0SS~9d}+K>bmFVaPOd=O2G7s+5L9})vE&}$f%F0i!4?6AXSQXUh{ z=Le_12eQdzQlg&~@u=eU=OrrD(9cnoJ`dxVDw92t$J4UX-!rkWvqKfWcBBwoNmvt? zhbzRU0M}?UrF7I_^noiDj|r!Rmq0&uPIw27+p?6UJU)7XC3orn(~uOShgaw4lL7jr z7n!nWvHaEfaKO6@FE)YUM^DGXl_5 z2_}a_-%k2j5X5VE0~~6Uf6Q_CW!@-1#y{S}+vdmlM?v1cXXr~WE0(u2^c`uaJRy}U z%J$F9a6ST7_-Ww|o{M0jT)hbBj|)xX%BV0d8(+9WVhsE>7LISbIlF=N9YDLA(tzFW z0x1fK#Q$aU*a5a1zyY=;z=31ULPBu3@@Jd)pgHR|kEP>zTt`GOgIpUZenvP8)Mm?o z7?n`J_Zi(BGI|RR3FZSp((<%2oBWo_{V$ju1McBeE8a_eGppoCP$~u32%;p3puM#m z({!-EL_1s5)CVPgicNw&ItUG@Q7U1oXo-FIhr>o$c3mK(?R_geym>fe`_uG~^>MqL zgHEU8pqs{CXfN23q8SoD#YW7ZLE~$jInzKO(yu@0MpDqINUy^t{5q*Lkv1=R(P@+Q zpx-@BHsiS{nu}j7a^U7ib1~l&IQ1*9K`Sk@wP-BAJ?(F`JKb18iNu|GF^!O#bdcFe zvrQe6u7sK)WM$!a>wv5p4=NYGx_I4ERi(aXYOl7=o{o23a=rH>mgxq4FOKJ+(%sh8 z%gTG5h7p8|*DpOF6Pe2Ts~fe`twp-ANEBM#M!@Ex94=hndP=ySWzXWtIlAi`Cs;-- z^ZK(0qhiV=OnC&{!WsUpZqn|o12=G4Tyl85&o&muWPvO_0VXc#ZT8^N zdW`v&;x9;w5gJA~A1b0k!kbstZuOi)n+Ge3LVlUJ{?&^b6@AOm%|>JyR5NT(r^#~d zD~c+KVtLUK6$$6MYlrKx66&_->;5~TU(iHSnh!l!H^k;rf5nfI#hPL(jRW%s4#|>C zOg}hu=zu{KqA64&!OSm+A|d)*Bq>CaXtG$ArTApU) zm?W->#|e4}K?F|{q!wVS&WeB=YE8u0Wf`MzrEm-{G17F_w-TI}U!ZFu5C?NL93h+> zSVH^1QD1Rnu)?ps`FN8MQE^p=DuhTbbiuMied>VNYN`Stdln{kF=~OQ8H%o`C076| zK-9l)hKfe1B*Ji8G3-zjWxeF6CYAqIj;v-|X&srNi>F$|FpP3ZcT|xYj^Z1EFWIUl zOCZS#RAZN+2qF{LJ{THQmPFGp0j)9VpBtE%eJb&E*GrH#<$^tkGQAF?KaBExweXPe zgTniSj|xu;|3dgx;kUr*{S)Co3jay?Z^R^JasV^<6}q6Xu$A7xtl5Y=TSy&;pqy_TPdon(fs4nx_)OitN(VM1Uu?+UIo=0hB`f6~#;7R3<{PfP8PJ|F(Dm1muVSH*I` z=BJ&3lf1o|6fY1W<|^Gnc=#D*PUIM!sO^4xaE_IVTQj07s_jlP1Od;r!z{HWE3{jvT)gkr7kmA4hU>O7i)PnzHl@Bqbmoe;Y3( zMS|0V87f5ly9^T|{yqT$$c!ML6Y(hF^;=U66!}zs#=e;n@#@0)BT($?Pb2>9gDemU zsD^D3j(-bBMom%7^7^A~(}vF(OyS9Mz~FCZRRYa|x@im7*W(^HTN`8v3XE=D2rGb( zs@si*Vo*t@It=p^t3+kPp1FTnR0;e`hu?f4)OF2-K8^yWD%EA#v~@Kg#45Y3d#Yl= z*Nrf23D*fX;9l*Q1Pg6<7AVW27PBO?ENKm#;TK(Ty}y2`z&-~WkYa8?-K~-@!IP$5`Sf#j`L+Wd7XYRmk(~hV)9KiTDX3sIvax-MXx(V~?PX#T`;tz+S7` z3qi18S7Cgh1g?8)_*tpCREDqO>+p7{;+l4gC$j@OJ^k4b?z1a+2xSGn#ov|H@=|rM zf7$`z`-Stu+k|)H90&9fV3+op<^~g~%Y2?&MOSpuC5;5Zzz04E&7AE;mvqrd%_*I9 zH`&T)%(sa12T+5!$#SUyhwhXpBbJ&Ha4Nmn?oHE3hE$iORwHP%Y%97dvTRgAGEgl@ zDH)QfwBa%}ovtD9K%$TAG?wMvU3s~&6M7A!R5BWv6v#~N2pp>|g7n=bJRrPTcwG3H z@N>ei2){jIE%c*lIcoA~oQ$4LpKmS_H76u=?T%k#5Nm!-i_gIVp74Hy?Eij}rCtAK zkPaIC*;0_uLocX% zK2HIF@#|T}L3S^N)1S z#n%#G0WF4)B;(Ie4EQ5?%||`P#ugac2hFUpk?q;_5#wF6Xs~yVh4&a6ua9RJ9q%qP zv^L`2_s^GAnbp;8A$7ffz85zlZrq5taU*Dw+Bm(Zz$UzoyOnz@_W<{C?latZ?)TI5 zR#3h3GkKw=^bI!v2dBcAvZ4L|tc@LZ1DXpyeEQCHG414cuAogWS(@PjJ7*{Q<2a zKtgw_7sZ@oP+6GWPx#58YlUV2Gy%UR`g&@-`lpwNzULyB;(b#XKV`1cCss{#Urq5C z0djfhZHDw_m8I6X+d|<=mxq?8BEBwzo=21J!N>fv-+DsldNp?^==>k%exCauxUX=3v=fc1g)YLx;uIiC zUuKnQC~G(oUGWhwb>2_2h7-}*zn@@@^zWTCZ;YaFra{CN+iG1OlS-B#g!B_jo+O?y)E{IpMeO)Q$OSQG&?44Y zj((e<_Y`-Mdo6bcte1~+pN3xjdn0RHFKHrYD_obG!kJpv<)v?hI}z*AzXm;e1dZz@ zP1>}=b-9Te*San*E$6tKxDD<;?x(q*;eLhtGOh|APvd$?({-4_b$RGJn$~sc=^g3V zdt=t{C%DgYUj%FE-^VnrmmV=kR=6$?NuSwT>$>E$+*;`h&72^>sMq&`%$)7Z$rwLHbe$)}kOWB=1)djW z9$ACO$~uCm!)1dIUe|HMo*{xL3mASR$n=C>=J(PRpG9(+_-S$g0J5Wo^e{hcv1t0T z25YHRK<{7UuH|0Gy~X#veHk^ukOQ%(nD;Nra86{{(GOz0Idh1otEFL~9mY*L=zF{- z&0Yc)sztA88LBhmVy)zL)mT%FmcjVp=M2fJ7bR_%xj+kzI_Xx`unVqRu>B&d8$?%a zTcs+4L1Pt`>AD^xOADND<$15KxJP-6FyS$d;iaqq5-~qp5wx4G%r!jm4zt;)YI?OX zJE5u{zl@UOt(s7o&3CTUMX%AwXo9h6WT2mk1$ts^8^vCmdRhxz>}FSgOKa5;zma}j?@ zCM_&#qJj@wJ~+NiqxojUVYk!o@&oWh^v89))ffjnNIBr&(e*V>k*>-L5-VUT>LSuF zs#1`dN3Gw9PB1mc!1IawtG!gU%yyS8;9*Z^JTUM9prx)JVj1h#5XI+Xbc>VL4$1YN zIAz0JYn=$SSVqmNPdqN01^=GxaADbYOILniI7~i7!kvZc6=}nUs6ljaK2tY z=r{ix?jK*`Uh_+&+Fx=f`<0hOtH1QV`CV7*V|sm@|K86%%KZ}e6wL)Y2LBCo>ootR z<;K>(2f2|RCsH36Nwv@BrrOR12oNJIG6j2ZPUHT##K#Mw@@ zzvPl*Ypwor%(RX$w?3X`{}LqgOJQz(1g-uukUOGv*1Y;RU*h_~cxwG6C+YgA8vUgw z>?kU|5$f|%-sGsK|7I-P(J;OJQjfp=6hrtj160wOQm_t{|%e- z_BzYs+A5XkW(|(#=?-s`rX=y}f^>L}h$5u}OImRY%^zMWJ&V6#zou!B*YM37HhTvk zqa5O+&Na9LppUF^SHSpn6?ZLn1B_y)xYu#72M)iRdkc3j@cFyo>5!L#0_j10b*wGl zD-cXv9oA_t7D#{zf8WnI4>9Ba#g8!yF>yqiN(0by9*+38Nt@#18ylq-U0&RJ_%ub> zJl(F-*0$&tvFKlzj~xKs76d7tDRJoYQi0VmygBMA@*#BJj7!O ziNHnq8p5^otH4WGAC2qBSE?pg>L%`hs<%Y)e4WP}EL*MX#TBc~E3U=OT(qWWZ*{Rs z!@*%c-Kmr5&e0B7eVyrnrMw4N6*Aj@2W;$UJG;9AQ|2Nx|@HU56@Eqkb3+V{FW zvZUO)e-F}n&uw(K?=HhK;NK?Oog;>d*^F^>UNue_Ww{k`OiQuh5~}wT)&vi|5O#*z z5JiG9_(asTJRFKBNyYHsoT}^aZZ+7!XTS{910F&=Vor%EZUv;#d$^C&oD!*Wc+l(r~po6P>HWJ9W z-$#t0+DRNPEbNgLNoM$!_uiVsKafY0Lh{I}e(u0NJ?AH(Gxhx&h!O*=C5jpyjx36! zvxB&_MWX4Fq-#Xn7@))aAidl4Y`0p# zY-JSENr%rBVmQK@c|m5Pn1-Tk30KPkGx&R0J@xIGppZq^`fDsZ`h3CN$Oa(F2{#4b zKN4m`9P-6rV$iU99s+ET^p|jV(r9U#;Hk}n*7Volc$CKkX{VkY{ZZG!K3R_6u?>=G}0uh%j z*DknB^>M8dbUl&3O_7W#L(0>wQqZM>q}S=Tuo4}|wz6K;{Ktc>R@KQ=p&%OKUe{W4 z3+veG^@0n?*ee=ul635gx@7CJtmEIUl4KaspHfu>EjrZ%rOI*fJbQE8%V5;Jhx;(# zO_7n5vD{OBianNl3N}YcJ5-#vz@Nj^Ym{V4HYyQu&TMx8p__)tBPvUl%bdO{ z@X?{`LXY6$cc2w676tUSX_C1f{AL;*(knf*diuSY#u5haFoWQ@l_T_$eaT0x!eELfI@7OlRRe z3l1KX1yR#wUO28+49O4`ebOY7DG_s0S46l{QB5%?86My|FY!Pj9`=gr8B$L08UJ>| zzfLp?uj9$>a7Hf$`!|v|z(4=&O{@GNULZu^j~rq9L;NZ(59SFGTau#Z&gFDPHVoN6 zlv*OeyTZ)0E=mF~$~v#&P^a>`Eb@XRYSTqY5F|lE)q*GrY$RC|@EWdT^yzyQ_crd6 z-0uWE2uU$Ta~dE|_pt|I3W#ntl}oxNl(2i0 z_Pk>cJ^1J0RLvPB_)5tLpB}~;taq;P@*w48ekEXmWr5!p9Piy59PQ(UW!T+X;z?B` zO)^j5Uy~QAgfB@lC?>Lq{S*`wdA>Z9#wA-3O;cQ46GR!sfGi4!hHy$W=ZJN}XTYY5 zypcc0{c6HHvL5*+SZQ}Qn(OoU9By6_IwoS%mB<(tEPzjAKupiToPNl86b- za1;886{<_c>ux;+{q_m&xBW`$kx>m6VamTZtR9!|Kicm6BI|nrx1=3XRQ;jF!!bvW zPq|F8Wgo`ePFb5nSwEFXTuHMd6>>QsAagO&$LB+*QFL@}#Jl#IPdnHo^>xgVxr)81 z73wLoL7Gl_#p}-cjNVqF6m8VuiZSS*S)lHVYezPpzwj4SNq)m29v#`TBDerFr~}eUP8U4)rYx_WIY6 zPG1jeSR?KlG_U!MTjDPWI*uU{_^nf?F%k#!L9ubCETc0G#;jgHjo3G7IkS{AKjP!} z1NkD!5nVGt`0F{loS!dWn=^7|E(6oQVLGPi8rM*Sw=5VXTw75~b$g{c_2#=@D{DDb ziR-T_$lAT2!JfkGyG>B6VBqXCSXXJH1TPNPYR`BHg4U$&tE zFoJ11*_SJs@bBSaM0(ZTikeg9*HmgiHmaTpiRlf(@Z#KyR%&%mJ`X(VzprW zG+9i4>%5PX6fF*pNQ*@N_+gYt=8YdpjSnU=)<^JQ#+iN+p18UdK&2p5EV)(|RKCxK z0=7nEI@X@c1`H8nJsSe|btJ@xwbE3n>^NoErEs-8D&N*gu&`|yroO(8OUc%OHHKp8 zcA6TO#o|RgYtq_^Tq3R57z}$x7K1O(4`W!Iu2g0DYuj+E62r|DP_6@G_ba%!Z-t|2 z(qz$DY<*5QhO=hB<2BoKe(9j^7XwqBPW^hUn$W?7y9^Vc<51L2W0)`03;)irb-k>2 zePsXlTr)S9*XJL~35I4CawSclNAIj)D*0kDuYm1l+BJ)0km8~J`xlIS&Xml2-n@#^ zW%=&A>&rKSA(P9k9m{+OwAB-`xG5C3#(?EBtnRxX$D|W|MV~>d0oAJ_uZ!!7u993V3#|&yaIy({N=3t zx-KbpQ7$4bH2s#mDI)U3T<+(#m4C_pc5KA{=J*{hV`2EP{`c4v_5#cg%T`B8Td1t> zt&!MsGET82`(%wff|^C&r$HPPIRIr0LT!pt8oE~wBg6R!CUFW&e8CU4(PjA)rrLVGf*52A+J|EeEvqWGxnkB+(X zhI;z6YHY3}Fzd@hk%j?vb)#TByB$Ny34ZKwFXwK?+@w3vUXrHhYAfX)sadi3myMXE zO(L(x()Nm&onb=9HcyQyr;d!s5ni7LHm4(&j*?-t{&mN}Dh95LQ9O==5k0Oe3dT^< zegJ*|mapSta2xzUQU%u$bs;IQCb=uPYiLa%G_SKjS{;Kp?-UTWK{$n>g!qCWFgRTY zL*ZN(gWw#OS3kZT;-mUaGdSltTtgm!^29J;1~ui>M}^oo5725t+kMqbsjdoJ93QTV z?`Ht>AN~wIsedNPau>02&_y3f4KoQ3fiLEJx(}&+5EDehFDST?TrF}dbOm0_s}eYK zwx@C0JDTd!fwLv>`eZm;D!!k~P@eNE%)#atcr4Twx`8&c8#r&MG}8fWT4CShl70(Z zm+~s^HXM6>kIS}=8X!)Vmjl$Vw(kh({1$V>ylE?%y*lOC$dTe6>h#Fn%X~3^uq_dP zZ>qXt*GuT(&}GAVGkQLh*Cym|;HSBbyJvSjHQUg62mYH(x*xrpHL7Y@@y0GNch2ME zu|W(kGqkD#%Cu8E>764ud$#Pb%R@ar+jrgDvwc62?GX8XFxGwx?@yhK?)}+@-sAX$ zG6{V=-WppJv5|M(_$%WPI4O6p+zDkspVpGNF-kk;eR3P> zHzR%bRJ=*aK6k}V`dk#^w{?H}SsFr*cJ2uM?Oej$x6U7kue)E%$ovL1>Ye^puUS*7SWRQDh z3y%SR->^nz(r7K++8T}5NVa!vXO=5VliyXAz#hVKt6Pfns}Z!*PZC{SUss13)^Rn; zu#DEas*{!xx9b>vuwK|MP$+UIGBS-yl?M~P#PJA%{>3Tubq?AoK}6HVYqRO)bjeTZ!{br%|@9 zJ&u2JELK|1h%9Pl2PJU>vU+_dTt*A7D!4ucV`pg%RzJDpmJIa43Gu5MScC5Pw(oW=8fng&(`DMndM&i(X;e(pN6j#a8*KJ2eMeuy>Q&zrj4N! zkSNcGHq#FybLm;SLdS@&+qf1((!Zf-n)0vls|6#zW<TL9B`b*zM&tfo3 z%+QMYr?HxOhz$v_5mcNB=+<%3M2ew=PMe*jpxuvw^9(JU8!dq995&|$LMP3{1YY(4 ze~f?`mnvIMzte4QfglFL=2_flW9cS@VSa6%Vk$niG5XJg6}+|$7bsz2;jqG|Qf8%v zC(>3I8S z9QRJ}w0$#2f;^_9VZG-$Zi&Wlgi}v}EMg0M0V*uk+QhnhO(hiniR{hK)LJ$8_jo8t z91A+LwFrNPWs0mC_j$i6GHf0zPfoULwd1aJmIm?PUvSyVWEiKI({L%u)8XsL{+c6P zue>h?ttST%VT4(~M=`k^OElNHe|C8m{;gGJX5hfn@(zDkD;BlGypw+vvG@YJ^9n*A zoU!v0qM<*k8{$OXb_@4gF6H;c_m`m8o@DjFeK^7q(i;Yc2fehNPNNt|=r(Iaqvb=p z;ZD2oZ*vgZA0B_kP#;A)!UoG{FVD>6+0%YQJPS|UlY(k|YnB)SN@`PC~ zJfUwttCH}IcV4NguJyLw(}kz6(#+U<6{)BJ$G}gG3;$o-mp={g?%@_uuS$Q#W4%jh z`&{k$0f~L7-R&#sFXwJi4dIKbq1=&so8@W>(T*Q~^#B|;AW)J%A?tufXzW?tl74yW z)l=UJ;Syqa#H>9-aoGp1Xr~7MLHs^<{P|tJt)z|f-Dz`hBBWa9L}NCXiwTv=A1Ju?lsN}DAV?E2cd^@eXP*l1$d+El5(Tn z3~=CE37wuB=6UeK_CZ@WDox92lt13el}fo*?W)=hc%bMih|*l`s?W<*R6Rej(7_sp zorQ_b!bHI?H?OyI@6Tb{4&2e41!RfAc{IwM;oBXvly}=$3vz{~Ok9Y}4Xl0LPdh|D zCR_4*C8DccLj~o!3(B(ea(YNNq$0}?Nd<#_*Cd$ldQfEy4#D?RAc3s^;5_VPcK_v8XEDH<;mOp?(O zt{QKxiaWr#3!pm}Qt+AGqWxgcHpOA$gxdM~c-qfU5~Ae| zCBRF2t&DEU#8}Tf@CN}DHz9Jb)`{&BSXrIdG(xc3akD;G>Wd7lQcm)nJ>`I8Cg7yIyG!+H115$G02X01!a2ptrukRNxTIc z8`HcLiAA@^sr)5US-|ovypCaPf-7uL-4sMi@^Y+iGCW|eh_SHHXgTru?NqcwH?zgH z2zFUK8*YMY!pt5Nf(KD zn^d~}j9k!VP+8B&@tEKOS_Z|z_!^A4#az)!Gs={+E=%INpbG1vByYwR(tp|%Pl@o) zB+2;{gX!M=R?h<+j|rV^vh`erul7Il$?P0GUxM!t`o%A2Cg$NoobWJias7_c_GnvZ z`hq-hulVY1Zvliz5q_RM1K5#$1ci9zz6EbVykeTNBdB>JUdz`;h)kh4iPy;tymo1V zK@4c_MU8vLkWLB0DanYTw6z)Gn&V=AeOylfI$3IAL}xG}idkUvTSN)aqma-jI4S#| z9kR6k2Z9{IfS>0>obc%5?{^ii-J&Bl^#p-3@bsD65RG6O$$*~_&43(TqDb=b`VT%{ z6`2nDG=;fa{y#1Pub7_(XWd$|6XEqt7G7g4yd%8Q%Lp#uHWRO(*%@B{f#MbUwd*N; z+7@b_*GcdGH{TX<=OFXO<-l`3UTFr2qnP%+m6ij4K1>c|;k85cI8^@Km>7uhW(>85 z4Dl90xJ5K}gjag#e=8HO-;CpJ2yXwQ`B3Ijy_Q=-WHQ0$*5Zi-4> z5P!%f2o$#a7%n0ZbwP9v3bGRU!?BG8nhW$gy7D1denATffZaD%tJ@tk(NZn{Hm2BJ zp%cY5fd1c%*6{t+|GE0UWaEDawZwyT#u(JkU)rMSUq5$lEz$ZcnqGhLG!3e90#ogb zo(~2&W5_tPe7_t7ct$idXjK2zH0uFt6>Y&T(CTg2?uc~f8N_GDrCHQI%q6lw zbFK!`Y8w6bg}|Y=jKO4H(5|q7%8JVx)M0Mk)t)3y0kFzO`Tg0I2Zar>3QE#9Ls;XVeDy?6!;Nvw>>POQh#7+T9u7t+U*> zbPX(~#l}duF&OaQvR@__`9`#wq*;Y;K?}AYMtHLc{W^)l8Fzs<&!^!KYftQ$NuL?S z$+!%grv0rKPy1oH+mDi+k^UZsE|+uY5;#A42xaOR~ojkYloIifhqmkK&aNhYKK#KD`+HY4De@P89>U+YcKOUK(hCMCPCY zhrQ2MzThVYUSbfPXOQp5*339Rh93xGU6IZTq9}Y)S~z`rlL1>|Q)vY|c^abuW`SR# zb28VZX@EgBURYo|pv5sVCM|49_-*-Dk?TT=SifHQ!blX^5F`yH42%uRpVx6Nih|mNJrDm+XnDt|&(E*HKSwjiqUpT< z-a^N@ z^mBpvkGajezPqm9>GhlV+)A(8!KB)*hfxAbe~Hf%*Xup&G|J`1UYyK$M>Uw40@0E) z6*F(>lFplXT`_XDWb!#(mQ+)b|3@@sZs3JQw@`4Ob_<4zHH3&Y>A_Le_FuQRQC^?$ zXSya97BqvXDltns&$~p^3{4}ZR**=A*Q$a7=xp+;Bops1Xu3Xl0xUOt{|VjvfNI=9 z@?|+!nNTZ{PK>@V#m^!ctjBZ0*rhhG`z$l#Fs(5d-I#yZbvo2d*6P|cdI_WMW*p~V zvoyLaFY%h+tb+RjO&-YTf0iW@)OB^U0FYS}JT5+WtI|rh!8+wS*#d$-LV&plXIwJu zb$5wR5gGu5xK+>0)m{n}E>1JBA#%uQ18IZr7PXGQ`>TocqMO7a72B;=UAqE@rf%eN_iJ#qTJow@uT+I=nwiVR^2);n zzF3~DR@vsa&g$NY-=!<%{kx#i56wmYC(s^app~zO z7MZD5X6L6Tr9$2+8X9l;tt;}HnRPAYZ`w~|_{Yjxzjgbfoc6yua+Bhbm-mg{kZ64# z`pu5`m8L$!{VvC)vh{Z7v)9D#sD=GY`0lu??!xyYFXEd<#^u!)`+~@ys6HRMD?c+T zRj#|3AIJLP1m^-xF*1fqlxCwXE0~V2kJEvy6An~636r9t=-BJJ^#g)POrgZ;xIF92 zRzFCW30&+94lKCSb#0C{$!6C?JxA?zi?-T{r0Cb_p~TA__IRU^T9|{)$H9iutk)24Y>_ zOn^Me-tmxXN`aiH>@Rwb$xBBxxzH-tSEr{}uUM@UP$G53_Wj}5HYcwCQJ86jLf_qt zpb$&|;y~TCV=u4Ocu6h9Ylh&vn#10f%&M62Za1;mJmX8}vvMdR&(QV!LvTEtCJA`f z1`(XgBE*9UAdhCDww*zPug5`;t+gm|lVFwXPtPl0#`tc3IIsI%{41)|6U|I6VzUmP zvRrsVR6fr%BbDt!|C%Xhiii3P;{et2o{Xz4;A6ObwA^X$&#;H#yp*zFvXsv zeifm4G6AT+L*a+4-1;t^r}!sDgy&srlO=pZph;>U&u3Z+$FVqkt@u}QoQb_Pn)hJ8 zpUHefGF?LAeW~0I$+xd(w3n{MDktOR`XeV@R3e%NAW5(*c46>RLN?SvyY6LEDQ2`NLyi-4Igt@n z@uVN2B#TKp{O@cEVi`~Z|CU)uNi@e0;C-1^bsGuu13@663n_6n6!Xt+0XuAlBORL! zjoBw)OJrdwipAv#_o5S3eV@q>VFxUP)?9}(Vi$t zz>XMH-%3V@j9*)k zdAVMe6}vo-<1-A>7TgrDt{h(q>h%F8s+|!!=#8>w+lnp_8OLlGxa;NC>v$sZrso7W zfU#RLe-%2X1)bAJMA<9n2d;2&S%fPU(RZD)Lokx1+s+s#!=UxR5-NO^cGXOsH8q~6 zhQv}ZqDS$`i80-dLDQw4IX}j~6|Mc)a!jX=jjvGFFEGyk3YuRt zw1iGN*)J2}9fZqX{H#v==dg-V3PGRec|{OQ!1zQkL{&rip(vunUl$xpA};5xBz`nH$@o41zrSc>>tR{&Di)Cj_sphc*L=N2<|s7$H<$_;;P9|iLxj_pG*U)t@Folmr5lokwuY>QDn;?W@1Vo*nG z_@5ZTj9b#BIk_ayN&1rIZf(t}%ZhS9ajo@CgD%p~D%=XqT=~klW`j}FOVMh-ew^)A z#RLel2o!21WS!sOR7?681NSMH2P8Fu3KG|3!fwj#z5`w?@z->@au@6?P;bcP*T zlL7p9j%ZMd33^ff0<7@YjBl;BM_bl1vau>} z(YAF_8re?${o!k0_(Z$MZt=)X85!1)kMrEOSv{c@VH&_WQCp%dqhw~;Ffe+OwOm`+%c{J4nG5*OsqriHykDL)m9^WKKG3z z{(a4eO&i-0oZlh|SVFx>;r^DhC`K`hS+sodpG451#D4|vybAGl=zH*H@th=Hjh}iM z$0c>XfY^; zEPObf;F)0k(%*9bE5MS#8Gh$kin8dPNrnsKZ~lR<4VxQW3(#rzy^yop9#9`B@prfa z^!=sT4D&H;U^bcU<BMI3z+@h5ewEKjcB|7pP}lR#gOfDycez$uekX$deyp~MMHjdb zHj7mO?MLNl*eDgFYtIi*YNsJwGm1rHlL~h~h#r6|8m~Q<0IgOuo;HebCrDCFH%9TM zb8(O&pOOM}DuN^!T+}NHhS5l(QNJJi-hUDBPWXY3G0h{R%>!Q;#KKP7e4ij(eKlr8gs0%<&B@b+M4P$qQJCs} z%@IGy8za1XEA1eoHA;#@xQ>Q6>L$K?%)x5>hf*tY?hIH=BtXNcN> z=Pd3yy83ZjntfZqQy7YXL|84gBV}qc;Iaq5lqbbFLeYw2ZXdnARQIy!$zYD~EAK&0<{B zW}0+NiDpXkh3`kNOxOhbFycS>F=|PP)OM|8`ZKq_dStauH~)8?u2&ExU9-&d7%STl zp04{h>#GOpJxQz+p@BEy2`#2qqm8hIg^+CyWUK#Nw03Gg)uRt3J@rg;cA{3byGKb! z8K@i*q)_$Jwb&m-_}6G?HfUmNSXy2ZmocSZ;c491ljXJY>>& zuJuh+z+q$CwVM6jfjaF`TP#0IV@9R+LEr}x682LK?xqluF5&*uu?ErXPETW;y?rLu z<`565s_tiEjWSeBJ%pQD)M`7zMYygepw%_ptGPQaie7>Kj4h|@OgtygGO)&!l+lQI zKU>XpHppJK9wbE_iI`_t`Yf!_xz3VgVNQF@l?(eriVa{UQkNL`Umi}ua+R!N@oSRXf8HX2y6fa;^pF~vgK$_7` zD2`H%e;Prh@X8xLsIX}#IqUTg=Z{xK%ShuDE>@LOpL~d>#5n3 zk=XCFR-7t2w(YCp(ZF;LlAPL9JhzgosNm8W-s zeiG9@wSm9^7b-gDVUWh1l5Vq48Y1z-M&W?&rnl;m<-R7CO?n! zoTOahO`(~i*_~!}VL@Q| zGSd8h^F{IduoA`Ih~q z4AI^wp$}B_b1vRzgzGU$(KL9_22JZj2`hq?o>XN?)Ua(Dyg<|~^LYdpHo%Hzv1n@2 z`(x&VOzoba9gCbt>%U{Z^|G5pG>C~Hv28DqOY!Eg$<$s*4@n@_54J#9ky~8gPooJjYEz?&Z&y8BL=XX!FqS;q*yDVaZsuiNhn7c>{nAcG8FbS=&Yn*TDCKNZ_B1U5Qet+JY`Xq z3K;6%=Q^kO2mwx(FDUo(OQ|Le1F9*_5E1*%=kV0 z5DhKyYvYdIsUHj*m88X1ytW-J2GVpz_Rom4$ufXOBhp<_2CSI|frbAc_G<0nLlB$+Qcp)E*pG+r0~l5Y$WsY8RunkN&+V3J2(brJo3s2w;WR}3`- zN8^KsGb|?G5KQvG#xC(ddssp@Wqh)4WSNX`JQk(jooO@5La3MR=N7qZ25kMfvJk0Z zfwIsa$_^(6G=)$-^Becz0O0{$L-m8H0Wx!3GUl(Aj`{P;or66@v;D>+{;*V)bb>}i z9f{35F5t`0NWwhND+=G_IOE0t{^F16`$bOYiohXtZjM{v4uZCL1GQ-y&2GnQwfi9C zaO)`^+xaJ}uyd4N*OQgD((7Xe0@y0;21aecQJyRbNBNF|=mpV`Ct#Q&!#yEM#+;^! zhHi_ZrmMz;q~rl6o-ay5QRZ#lAvO{0f+QA2xgiJz^`5Ejd_kY>ysYQsDo0PetYwxK z4mSW*M+9C}gcFiXs&-A}OT0KO@I_fEOe(6WYIBmPYKGj>;cG@+l6b?AnyRMiT22&9 z^&czy*A5++l5BXZD>Zt@k9TToviQa(qKKatuvUE{zORP0HTx;#J45q~#YquS;!DvC z=ns-a`FMyQQ#}n z_N@KIVy!ss@{z%`m~136o~~*FTi!o zvh>L`Xo8n-*wuwe-kpX9d=VNlUEvF!ZmQ*py8FdawOZ2LIcNF}gOCbm%$&Q&6KB0* z&4PAS=VjBAw6dlVeyUxsHmX{=>2TxVnaO%z(ep)qZ^ave=R`XY>BI2+hBV|Y>T<}y za}=Wx2cm!Z@cd^Pcs{ukJntKkpSNP91O(u`c^CyJdeM zo^ouA{-Gcwz`1uceEz;bV@?D34vvIMp4#|}w7%gg9pB=349gq__!MHjv+1y&8OP`~ zzyq%cusTBll2v|hX)g|@WHD#zo+-5|_6)86C7!Wrme&vfwHLla8!ZWYjvn2^!jNLH zU4iirb{dbZNabLNQ(_49mF@u7_7Jgha~!uTAWVf$h|r2*P!!{`6LGJP_mg3xpsB1` zwwd$V6`|olYd~IC0JToDT-F>-1zhi$Lfx@6V^>;|>0S6y(9X{z0zMzKReJHo7cY<{ zQll|3Ep7$Ff_oHDDM(Q9(IaI zbfO%EJFpAx;A4iu!?Q(s|B;?qnsxZ%wEdJjBh=P;1%11)of1S6KdBSk3G|Z4q}!YPLDCUMG#%wX9`Ze>8xhWfqRyV1d$K^BY;8heqyi`1vrR?_WI*1OaKoB>4ep zM+9vc@wNo{iq@1Mxzlb$l_?|%YX|oN@Gi~(Q+0H~mp-kw@4RUB{R3dxqvY|%s_fQ; z8J9X1zNtxHLP&p`=O4xMk81OdvHZfqtk77T1~^m$WQV4qKh_Z@ro*viiTh_7aejp6 zSN&)AAq+wokC5FoD-760;xc&j*_yG$Zi-gSKANbt+K=^PZ{&+C)r?hva4Y%#}nDYm%TrHx*8fbm_w>K3BuG7wO7(%o2_H>+gZqkIL1; z#i8lHjm-bYcZ$I84DTwMNW02~3p>Rq7s`rde~eg5$%+JPd&2|=npEo%|E~EFsIUM< zK)Sz~-%3`TV!~iHAsYU2dap7)1?`=iEs<#$#{4ytaTs5{Vx%iMW{Dpe@;;wb%plw4!FbFy-NxU!N2AO=D{SdS7PV5+jE!pA4IXYf?eiMZR)r z=4uL1AxOTCT2K=gjifl}VL>iQGA|WmNu1{uNg%QX=bsp0k6Yn81w&dA2rr8hs`MLa z#+JkHvzXL_U?biZ>SwKC>e=9p_Gpl=P!)_xm9NDWwU5WtvEPX+Z66-Bt*5C_p*oj9 z@K_K9s-I28q)l)`7U9I(4m)&g3-RLt-z{^;x!bvSWMZf_1VQw;J*p5;G7;GyL>xOF zz#Fdv4->^0SyTww2p&MEe>{Lq|M*w77cPI0!Z$~2j{Eq<@$*D-)Z7W4Mjs7_wEM4j z)Q-4cVt%+^qCjHPuGub$`Dm7Ph&SR4ThAZ!K~z8kU!YMYABOl}6bH+3U<1yeJ9Io(ZxswNII;@v}?QlkM7X@Up}c zy*o_=d)~C$(1nvxN?y39#$t`p$Hup{&Tr% zNmrztTQr`~i@H(L1sF=^?isgPo4Q@e1N#COTY9Nn(nP_jt&QK-IKOtc@}q4rHJ#1B zTE&EP;+YpAaU2GX4w#P=}`)5*Zg4gUB(P&K#Ab`ysVYpm@+v#{yGF|-+uh3y+YY`~)kk$6oCT0QJ|7&eC3 z3uF8EvQ93-$H&+oPXhiAbjPhbz{oznL)5KzDCO|mqHkpT_yXCM=XBsD%=RLO61U&( z^#e&JEA77bGM-Su`q2|#nV4qssWA0??)g8HWF|)SuM~+##g8?)05`bU`)zIs?Y7wa z+f-;C6Ox~yVxGyyh8O>6>D_L9qO6jcT=?-^Ue8fkxcH$s7T_V6)M3#um6G`Up1^&Y`Em zRiY&fe$C;lCNQumhp%7J4YTa3s%AE3ZKrsXoQH8UFG|OvwGC>B5A+-L!9u)|yMucR z_pY%#NV|or5j{;8i^A<4Q5TKZC|}HCR*X^@JQv2Z#p0E^9V&nlF-m)bWPU7;CyZBW zl<0EtSdh|Pd;COxEM(`dC|v2kp1}F2IBXXmqvQ<<$-CS!N(pLu*Q^N611 zk^IU2oEgBgOf)|yR@9R)sjjz#b1e#;5yTNGAv-1~TZ)@g=2j+*y-Q8GIH?xS)j|8M z@s0g6WU@V(H!WeJWl4@B*F936tuwzc^_6O1voEolHMkTEdm(6NUHp8*|DM}M%usiw zg8mAM7C-_5*lf`_UpnjqfbdJQSTH5UFyyi!s=PBZW0)p|t2}kynXm8!JL(heEMNDu zh10VK_kzJC=p_TX^%H6ybazXUl*e0M zsDQ5V0^L5tt9TQ7&T*PPQ%Ie29G9r$G0h#sm3!M}dmRDd%nYy};rW#nJ``a4lcz%x z!eXYgm6b?B3aN80%0>4*824wxEUzqADP76ILSLfVKYq+URcj{!ibF?!} z>YeEa^ES!lczenc`8lG=xe`5{v;@9IG-Z!yDjMnYT3#n}4`e1eTlU`z8!dbkTHJ`6v5E`sXalC&<0>yl1>z!KlLm}>A`2$vxU%YqJn zlDr{BdGMRm4?WLy>3qb{_Is_MrrBy+iI)4)T)f?6`RGnIhE^qAM;L!IEEp|HVV=`C z%I+0pX+xGMv~Tu-hm8$y!PzKyRa`~{cxS{RlH8~2uaB;FXLJ}<61xC+Wl;`JP0-Q{AoO-ni7C&?1ZeJE_(1p4WILhXXy#n zkFUWISz`}fPvSpWC+uyd_4QKtD_pNu!#ed|k;Uo%7{=TETp6R5=gWD1i9ZU%0Odoa z&bJGs4=p`>^7vxT>oj;nYiR~wU!J_`bocb5b4T{bwf@PMAJnu$K~wjv?dzWI`r|m* zQ*HX*S&XIty&j}iC$s9-%x#_h7et9=mp%XquvE-({8@=Z~2!A_M%a zlI{WSt=yxrI9w$twbU8B)b2PPrwNSK>~`9%9*9M-E>}F{Qb4f_3bf~f7Ta#MVc>;L zLqSAfeKa`fALaYFa8LBGxH0~?k12RT*n^F_((f&ajpvx8srj`${Gt>!CMVxx!+)jH zBoW0qQ6Z(hwj$00?nJ?`O^h-ssD-?!sitA=vkX(!#5`PqCy8krf;3;TO6X{mG)+{r ze7?L|&gV5n)HDfaQcBi=qhDt+cQZ`TX-qE9Fx0J;@bgDN)zkq1o)>ZQP!$EiSXgx@ zELA0-?-`(RYnq%_bty-Ps#+87>VhGH25s%xzi3KC6IIO^YtHgn&U8N1kRglkt?|HigAT}FlZ=hn$<{YSEjdkk4 z@Zo!X*D2F_JD}Fc_haYwtXrU$RxC>(7M>Q#{NAP{)*JlHp_A9Fdd9vhD@H}qjrOdn z3As{Hbjr4nFBTM0b}P|EQF3few)N8E27QZVYWUWQbpp>(96aanf^+QJ6AL+~bJcY( zo4xSQvT71XES7SDrp~q}57?TnSw&fmt`!TKtl4D)L}P3%70a!4I3rVGS~HHHcbs^- z4riTKWT6#WXj;n6P&kK`TU@IY*4DwgT(qtk-d;D60de-Ab%&4-Y&O+0D`8QQE^;xxPQw%$^D)`rgnm5 zYpMN;8wN2A*@LAJ#1;+N0~ZEiM?>~79KiRKG^=jI${XU2kiQ*HNiMjEW)it%I%3TrP+yyKf+pX3dq7LW(n^G2$~(})LKD7t@mPkR3kPzs&q;G5dBXvlt3lo?6o4q>%(RQXXrb5j<72t3={Ab};{`d?}&}W;z zwpS;Q1J!4G4W8zw(fLMiX5hjDd~InGu1+r1c$OX{ec=q?cLr!o6TS?2i+|z4;cp2p zEIBjqIw!JS+1yK)JIbBpUWqe&ls3>lpFGe$pF+?+pFV&G90%c62W-I(_0aKc&{Gu$ zZed;bCcL1}kg(DN%x{AQi2`a1%Z*ZFS+Eh-Q*eS89|$fiQ!K#W;x<@-3oZNs{4o8F z;H75~r;Zc&wGVJFa4zOi3D)M|{B~Pmvpir4v5Hf?AijXJq^_s6TtS$y-d?PV)8wBD z6~)T`S5c8la(l5V8rT&ck>1G{r>e9YvUO!>8#vq)cNKRJ_p|UN%#y<<^p3HxsD7{2 zRvOJd{dTiJQ;2w=^cQ#<;l{6mS#}WTVUF=Q5utPr7KoeiOgDPQJDB~N*drQrnrX3G ze7iLv2yRQSxHuK834)a`h|ZUZC}2#vh_UI4Lcmx9(@9W+(?eiJk?_6@7!rsepvPR| zVT|a}iEDZnPx<8Cr@`iX1d(Nk)y1}40#on7>qM_s`b$|6cuf|u*tUWb>nctu@{%YS zYT`=9GXfd+AwRY#pii5-iF+6K+3hH#v^ze3^j{*h`cG4TRpTw~?RsJQUxaGa4}MTL z%?p>Ac2tI84yPHgxsP(kLFc*-uDEi6M^w_%tF)SEe!Ex~vX2Gf zmvLDK7OU;{6}f%jVCSF$wC?nX1lZfB7>ZsZns=h2l9H~N-b}d&*8h^I++Y>!jx0-x zQ@8S9?#_5>fe^cA6H8U^e;Dh+19UAwQgIG&sC~&$EK4!Iq$#2x@%u#HCc@3UOn^WV zDGD;bDUe)_2%9`V!3#v?!@0>oMzyw~(cy>#9_4iYJL4Uhu@wFk6tB%yvKN#pN z9M)mFk-G(RKlPoMVICZT_OMD*WclI7zGJ-^9fewNSjUz6-LV{vQ;rO^GXig8%nxh@ zGS&1-g<`!*=tV=|ix}%72t2Otmh*UYO^5OAGGuPWCHZ1eKfW@n1|{POhh@!nJCAPw(hR;b5rG+`N^rA zRTd`sxmtO$F;M};3iI_+VFHX7`_4)oL7AQKCKd4{Z<%f#SXG$y%2Tqi&KGmnDqha! zk2fUCv~2#QU%%*kpvz&!B^YgiXS=|&t#$_;dEF*X)_Yy7Dy=lp!M9$PItx}ISE|oR z>o?qRy*yVd`}XV?D#FZE$tz7x2^DdnRr0v7UhER+0*An6c_UUW>6Tp& zYoxa6SGpbg9fy7g-H7mqaVq^KKF>=DXYF|NcMG#b%N2MH{u3u0RZ*2(QJ9;bpA)RY z!6~V}u-t}0zqY(~U~=-n+H&pZh+Wi+NH=OD@hZ3A7T@E_{Oej5yK!j56$D$t63nX$y;85=Vys3%?XC2 z@&|dv)X0oai|2tBSOc@;BGDa04l)VSqt(WyQF63or|dP?=Y_KUsWXNy9DO+m(#d_c z?Kbx)GmqqR2HoWck)MZ^G4}e|-z&$O(|rH0Ll#WXz*Pdp?!Oq1T3rW_lH~CQ`k# zgSEs%mkb~p4n1W<63e!#mK;Y@nap8K2r+&F8uoocy)j_`i6{r~wokxaiXiG_F15b?TaIIil)lP$ss zW^yI2Li6kG;|_2=u%AzG*K)4_S&RMf4EJ{Ko!kT5L)=HWN9d{w%)RIJJQ%1H55zo- zQ?A#i+csWd*ZUp3GED}qOZ19VcKWTpwAxi%#gpjorCuMNW5*sIgUS*+j$esiU+J{v zWfJpXY{HnMX{4=dAfm6=bU{`3s+y`Qk7%l{sCyM9FUx?i+)zT}VT3my9M$LNQu^rI&!0CTzy&>RY9 zNXa6;RG{z7u}{)>P0;sB^o_9>R%0*B(HC0ug&J$5O)t6hb|v3x8=km}STyBEKgzV>5=`8fi!8Too9&t0+>$h`v zaCd4yTCMi}fDpAMou3;;r=CAj6vQTQBw3juCTN z5(Qap7K@Eyu~{lL=)nZ&HGU2vJyZ z9?kS1em!FTA+c34e)jdX4E|q_UK4vh@YPMg^Lw~^fvdSrB8q8?_1SIEJ-Ok$ zEkuu{V_uz~t=bh-kaA7^r@GA3hT?H`otrBb~)T`W#d+Bg+$ zvq}Pzh?4+CP0bg292ZoxSn^M9d&JDuUJb|o z&i_KQUfQ5@4Aj}`f9MubuIL((Uzu~%d|q{O=W~uy;1xY5<>aa?7IZBq=Oj4F6Jlxt zoX8bP%CEsb2meg?Bc_~7;C2c|(|4qCtI*7|ET1FV*q0ii2diREDqyId?&1o;y}ORh zQ+s7z%44QTV;&RW-f<~#S>av}dPx$O?O12+Ut%;GhmbFESg-Cn0@vBR$Gw*VZ*yQ* zJwVqCkZ_3i`eE`)#8X%s{!+7Ih1N1Pp{XWDX4ZJHopuM8=O`ZOXYQNA_)>F~t}0kH zF}!w)|J-h&){pT*+`gPU1^xRz&-0?Q)%k~Xk$NM*QQ7=1CD>$u;%WZvkan6tmF%L@7>bDIm;yQ$bKRy z^n}r(xYd~RyMWLMhF9F3E$FIcsd~ZGWZNYL#W{j!c|dr%WhsV5QJ;^^qp&e%39PqQ zV)V~8$Nwev0#8U5`A`sU72 z@`+(GoK$y&iCezifj*Y_AkS9KpUTbBuF})(~@~aD{OdP5Ouh05W>?{z&d*d zy>EgfijpAH6MC87TV(N)JEXdd%kFR!b{nrgI+G)6zGIQa;vm`qUB^5psemzusT2x7s1C|^+xT1FGzJ5QGb zU_Cus)u|kK@yEbU6QJ=K@lj;HmFK-auI*{Vu*ze2`YsG0M9j}t1ns6Pa}7_t!)!LH znqF#*(DoF{Bv9u8y(0I+jFo z^FCVc0EQ9?M-tR-YQmE{97yDhapa!ekdIyx+q4cvMiJfK%0-C1Ya>)krin}IOdMEY z%Lm6hlw?+f?c3>l_<{Ea{wam7qiF!2U5l$O!8GFO+&V6jz%WiQmHHUG#wOg`o)e%o zc1ez30&KUh3oRww+W~$|iW`cH_^JO~cy8q5jb6vrpFJJ;QZn)kE^?7r@mpg23jn_1)v#W?du7U0I%ZC zV2ob;TQcZiSd_u|FXv3OVV?O567#!)B}c&&8K$FRh8uj9Br)riS+|+J(gdy zd#H`!miYlcaH(YYsKfnkiRP!aANzMp+WzGT%77Hp1!h4PI7xE?B~Y~5^Drt#j<5(w zT}{vcB_&bT&LnUo#G)cwi1{_ zG5M91iJq&pgN2ywsC*_{ zj#8EpUl{)uEY)PYvfK}Dc{EQ9hG8A00e?;T^JPz(**7D*<#|Ek6@wNr-w0MExR%XU zVY2O0%=5y6@d8I$A?42sTLvHS?P41nOE4(Dmv-;=ni)J-z{>p{_m$@)< z>@7d`ul{ecSyXr}*X>T^mJYQrQLGl?1lQMMB;6u+0!G?9X+Hg+mCnG*)bN%UUBR|0 zvDRZo8f6uiKvJ|8Fynr@oOgO^_xTVJuzif-BF`?YvDV&PZj?(R!;9ybdnd}xvOTrX zR2h1WlJ}&K*UezLA#Q%mF!H~!Y1|x}d;Si)_%=oo8{Py6q&PB{S7zYUnH4AYwJ5Sn z()9iQ+6uSuy;3x(9OEloi(ljBxh1X-J?)J&V#`T0krHxBa6qw&I!U+ywVhf~!d4PC zyL2sZ>~FQVarRuqNt+CB=L1%vt@|1~`^5(_0uwjJSegh;XIMN>2f_bo@VzA-OeZwEXU~XBi^SC7A1D3`xHk@yxe;jxkiglWKe{ zznou!zx?y6d;(ttoAtG|Gl7$k?tU$~(CU1|D9=CdhbK@CZQd{fj0N#^|37W-0_8|{ z9fsAb->V<03ZFs&-Dse@(Ez4rdb+0@jYjwUXLe_Q*blio`{V8oX_4ZPT<&s)ACVl! zup>>Nq)$R&vZE zEpzXC^?3yp&^;@_@4owa_r81IAe7aWxR>P~gnf`dFx}cgU)W3&Sr{y0 zqjv|C-^Zz;V-N40w5Kn;zv??B)}wcW;dqGwy5abHMZ1if|H^jpDm$|G-{XyZOAZJk zzJWHSEPf5{8YpLx+6)W9sc17ay)mAHg{wtz$taA04nJqqjB5t`XD?(WImMT>Z^athyC{{@3RJu#R{Uk{ zzaRaT8RE;AROOm1UsF`^3*n;=!8HRuiuQWNd12#Fogvxh^s-QXnSDp}Rq`0jFC-t} z3xc2Kb9$K1Ig!^En|Zt8(o%Q}50`i?2eKBuhr?^U41<`CJ3uki1`!Cy!{7snBYNL)ViB;lYHU$=*dEjj22uf%o5K{wm?vG(MlD`GY?kst?~9`47a_xucLWIn5o53wOlliD;lRghejr zXGf=TuzAqVjHNI}#*{I7{I4}igNfl9+~IKLT)LAniw5h-3Hg-DaYqWkm)INMPZ94+ z@9|2_fafyX(YLk3G#Zw?Wt;nPbynPPaV6S;eib}M;Y7{F(nK{edk+!^+FdXp3D&4opxs>{o&N){IywxyEgRbo)$ z*o0_g<>3{g*#&Bl)n#Jte8u+t(DR>$m#XjoxvLREP4MFkxYs?rcIfDw;}nQSiCQeG zgleSVICIZE{F9}6Dfu7g^0PV`N73er3q(XMp|NHYZYai`uiXt~8Z4N`Vnr=-RddlC zzJdo=d(iQ*yt-}ZRJ&bB&h=5*^VhMP3^n5 z3)|5D*to4I$^C^Z?2Z%xe)T2U)UFtKzjhUSG{yG3^!rkYS*~2hv`BWF$D~_dHf&vO zsp_BLO2_wJXI}U%ToifTHcsfK?8&w#~<0rKvWueDGYNg-c!fAt%R>IL=O@(&O$u_fYtgWesu< zFxiRUhR+S8X12ylk{#R+tC6d4+pyCTr48G-N^RS-ZQNe-247fvgW6vsd?{7HDPVFk ztsf^oK^e5e*e}{;%WlFW$~SIY!Y6n(-{KQLDOoQ~H~w)^Y|;~BBeIX`%86o-5P zHBsno;Xy?k{OOk!?S=)k+lbcnqDA@dIlcuXEbGc&y#cIs$>QiGacQg{*pb#)4ff=_ zhaAluY7TdB(=LjipkKThJ!(y{q6H}qkEXn=`c_%{*{fIiqLUILrEww9RnKUOgSbbo|M=>Aoj4e2Gr#eb&MGCUC)(|ET zTlB`(^SHvPeQ~0`{f9Mm1KEt#x7tAC0M1sX)Ul6iz8;k}q!XY^AH&r!ZnGs72O^G7 zAQfg_my08|GQf*Vg}rW6Z6T@A%@7+>ogs!x2w;HeDzCt%>Z~A|_;!)##3QoO#7(Tp z3DF;^$#PBBw10vJI3sKMe;>bH&9@E6P79^3T~H=s$?gBcaNM6foGyPj8U&DqVW^K5OcsN2CpFz+3j zt9DkaCB3s=oZmR4>DuAtqU{%73Ra7T-&!XnvvyQg4XfS&xwIe}yBCV9RYg|RdZA?P z6+P1|*}WCjS?OA;+}yaVg06SW0&&}=QfcjdZow-q`WstTwNPp;sH&{YuZinc6ewfk zuK6JiX>ZsY2E&jJ;5CHzH%8+>-#W&B{^hY_8y||!BYA_hUP4@rLL+y`3hf|07@hQh zMdk4nsdWQOw7W)a&Z(HCpjdZ{&AwjHP1`Ekj@8_5RjP%#h2lc1R1KFJD~;xM^A8HT zQ!E=nF|G%~;!joZnXqOl4oLJbs4|aYfP=yx9rEM?xX>coQ2||wA2WD<+@K(JOIEdJ z6r%F(o!VN-uNAPKtml>dpjIlnwoxS&yLbWMqYP5AU{K4fhhA;2P_4AKn*ikMUZ-3M zT62q`rYfp#C^GPG(W#TF8$Jb~Q-(wa{v)gd@GST_a}MqZ^7`7=TK&#I-aJyTADPR6 zHtoT&0;78htN09$ox&o+tjsX{3mD*0y_;SaKL}aI980O=cWv?-IB4~P(MyM0*eayE zd`VVy%U|(9G0TT*b22exOaH!Z$p(?bXZu}2!VkF_iw6jIG&<_COv@u~H z{@++!DHH%HMOR6ouy}T{0M3r7XvY+VOcLNQQFI5$<6Hn5kWPolDz$4)`&7{|2{HaZ zaGFe`c^gWYny7Lx^(2oQnjI) zHm?Wxm&Am*Tn0~(Nk`_PV09+Uc3dZI8ZaNHNf;F(ui&&$6A;yNys5i}iQ&`v-aNecVG&EnG+wT)7-4nJv5tj%+s(^;oIQ$4L6m9gDhl+g z*pCIxdc^__!0MDEoNEAQ4|`STLb{Ev*cMCX)OkZv9_`r|ftz7B43-vjOS8JJ7W8T# z02q~p&AMLd7@BDw+Gt+3i&Ib{^=dDCxj3i!e%&h^D{UOET|{zh?}f)KXRaC=E48os z&OSIIPyQ9_wPS;vXt5gh(y$63_m0dKf3E zykyiC%4M=(g2QgB205l%^QDC@)fK~a;P?DKpMPiJkfEuM&8gs@!!18k28?O(Zc?2u zsX?Q7WcJ62-#*9eK&gzaw7j$c71i1BCAFDh>R^6tKQ?G?5>S-Heip6HrO@EqwX@Y7=L2JQoip{NgY6ZK*29<1J%^dXQFSdK-tFIyzZ#|Wz|<2MOP zQr^zC9UDs6B@it98wvpQ96q<51JE*7D|pT(+6%YI+89i{EUySt3vB1>*W()eJic>; z(Fx7-c3c+pNL+X%CRa)(wDyMm@V}59nLY&;7FbD7{T;-8$0sT5fiG+NuEc!hG zdZNPsIi59w8YD%9+stojFR^9BrJFiD&;eldOPpG)KIxnPhE?8}8wH9}ptRs9f$zNX zisRo(YwM=Z;vVUs9~E1Rzx)JY4t;>Lk`;_kDze?Y6yeXG0|;M=!T1cT!?FX9`zn7F zU>F1OzkU_({%SIZ(BATs71TkT5E&54Y=Pza{LXxR`D&!*pK7#Pji**|9T4Ou_5(Hm z^7{loa)=F^Xcv>XSkoq+Jq+SQud*!#E)KH{!i0@7mRv-k0@4O0%Z+epX?Lus}64Y!)VuQj)|s|hv*o#7#cH%_x^Bb$m5Q!7y4xrdP^kbqHXN^_{1dvbe_SJ$@qZf@(G1&o10@+82w?UZ z4c9=l3r13&R~5e7mlm|_4&;~%dIPoi(UAw13b%xCtJ2bM}= zeRl`w*2l<7c0cfG!h2Hic*77=Z`V;6f}vAoDWa@X;1CzUhrE+T#lr@Bf=9F@V}l8> z!EDdg%8H_coox5kd$yumirHLgnlgQ#0V6G|9c(kK*{S#QM+%k+G!>oVvWEe8ei^$F zhhbSWRlivD75Q=B0exk{ZJMo^MlBN?mk7CG z4`)k@HH+K<10AMB{>uIWNc;#d8lfu7U*M>D49~~G3{aHhZT>?4T{19#vE<>VZ-%l; ze<{W>!5NHP*)+rWLNh{@mss1|S7un^jir(zu7)PO?!n$u2YRflYe#N}wsG=02!`RjLFPLzltsH1xt8U+)|7mmg7OQ(sunO+b8I z;FD!V*U&;z3`%Uu8li%MrG^S8woDamI}?6-NHujZI*4wnq0qyO$8U}R&KFq^vsp2m z@reCSC{O`gf^LH42=CAfU>#QA&fX?|F4Cf%&jr;C(jP9kDOE7u( z4QXW>nV$EN7}c?Hud%L0)9XK^^|H3Xs*5Z8Z|?|WTjvGd;qW8L**lV|U@6GA#8mi^ z(6b;rK3&j2XZNj-7eg`-LCn6RR_GqYUYD3uze(gG{T*ND#rrZB8Rq2j_%1z#@~EKP$e>=^2X3;%0|?y^^x|HQ9A zvSKp+*r#k+Is`nh4L;pz>AZB0^nmoR^r-ZN^bVlhM}>VM0YHq3rRotNNRzeI zZU;joA#Q^JmoFS(QOC5rBIfA#gx~CbEs_7OXUVpU6e|>!=;fvs%GMW=Tp^O{GkDf0 zFEBDS7|D|JB_ZP@<w6;52nK^u1?4h9go0|jwyJm)?{6e$zpkjq z?>-LFNY;zpZhN(;%jCV`VNX7M-(lH1EHEM(_oj*46l{aVgiQ;>b@nPa(qLDq1xHqi zCOZZ7$w~>Wf>K3{necqyC22!C1sw7utH6)TN(uBmu!8u$Fx(}^GI(|dJYy$3ErYzE zDb~~b!2Vg~%=u%w?3l;z+A{$nZ}09sMPGe%Rj;m`Tq(3y+HXg+6(qp(Nm zsJq9Ou{Vki_=0Pq7qEEnqN2c1zuU0Agc!C+lmB_zILEpCTu&b2J<)~85yjSV7%S>x zPjOrf$EEO{C~283HRAiKFsAR-YQCaY767oy=XFE1dq;b?udiBf&IMLQvkMCqRrW(s zraWQECBGb6o)cOhgb9Gc5vBkrtPki`=y+CG_Dk}FoL>b?=iF>NCj;`ZmqAAWKUdIS z9)tcz16#UTM52DdbkKk=m>@$ip-dyP;nr>RfeHp#--@Dv&9A@(wOA>Fhh%Gp zWn82o)+e4bs1?#1?bC<7;@X)Dr&bH)uvD?Drt5%%tQjj@^}S7I>-*?FTdoF}Y2XCI z4K{^qvaTrx9NJH5mTFp-samF{Z5vv}E&6`Zt!M_L;}0S_E`Zd(!1~Luu249y<r&X+Fgor08&1{jVH9dG>yt&RU=^)V?9Gv(e|5{ z)-WnLZu{YS)27a)Aovo|eB&XCs`z1$wE-1PHvt&H_dSZ@tZl7<8Eubr7yjv9_O#yn%jXVvqYTxc7LLeVyhp zxnwx8!m_X5vU>n)`f{|T^WO2q_AI?tv9rb$dhMVCfRWCvL`}?cS7N(gv2-Oe`#&^= zeivj=^reyqOi`&;D~i!deU)s!FyGCPsmGU;F3a;$LjKuycLso>V-i6qYTGdwRRWWL z3`$LaG4ZD|mO)PhndU-zz;Qo-KSk=fEbz%m3{GUZA>z=E&davBO>MJc+D6~BL0JR^ z!>tlCFi6!k3W2gVjv1vX2ES{%wjslhVY_C{@hh&Xx)t9!l|f4(8Qw1fPuZD?2j8Y&;{r+Dt3D; zDLkc3{wSC2P@sZ=t-tF?ol<7>8@f_zf?WwzsW_^>p{XK~@|ofZHKmDHD050ZnBkN) zRZnQ73g=^UYnAO=%hjP6-^~aY^rSGUB)STx@^YRo%?aK;#}pLzab#+siJsvm4)al& z>mn{QJXJo4>wVn1rmD;rRVVe*eQ#Ya?KI`B({l2`9jm7$?rwnF7JD0arm4`C(KM5A z-%O!GY>om~WBo4di*XmLQ-caBq`hEBhv6{9Ky?Vb*a-kt+RHAVv0Pyc%tpn{Sipi3 zrBe8Ap`v{G#tZNNR2Wj%*FI*K$%@nN7U>b8%oM1cKxHkM44q;G;olaD#lkc9eE$3s zBiB`(<&x(*fA2ZZH#PRHw`O6-`r=;1q>K1lvh#%#Q%7^^C{b>J}zF_c4D0K!t$Krs$9X734+0CWkF zU({9ER>S`UW0sHFos8K8c6Tynxkyfq*|S)awG47S1Tojv1}(xcWDW3oG#r3#WI6#A zK--NIzfdvs2kB0wC<`C!m2C|JJx!zsH=YKSExx0u>%x$J8OHX_|M)`bQ)=1zG0k^r zc;f|H>@Ayc>R|0eYCE7vO+t#QLF)mj&bx(xxCZq}qrI{~8p{t>scI7n1N}^)_}_f~ zE_-A-u2))iRF^z=mtqvp_*JUwy6aeuM>T6zQ40mRRG+UYHP=>LWvQtyw3ljz>bVrl zQz!c};<10f^pRvQZQNlQ2mtJyZqD+^DLLj2I#!(n$uK}N^b$Ix8_3%0ajqW*4Ei9h z2irX1ZW)^h`J5@JC4ZoPoozh%rKec4_v;^X{pAK(SZOziPYsw?1$Vwmf;#AyBBsD1 z;V2fEbb7W*tKep_Zs5QrhJMa_DVZ-Tus(jRVw9-_ntJm!||St(d==& zF$1Rq4BCUUk;@ySy*nHuD(=EN;P715)VP_!fd-}+g^VZ1;-0_8SY#kS@GuCl-`M~Z z)3`Uyq5H0M{s5HEb}otcmkOKNgIPl$=)-w2pJ4hR2&(W>T&iC?sp_n}PqIHN9ghpr zBX=qd_r+-T&|I8?(*XwOOEZxZ))e?SRk4Q8YWuh$*+0yGiQ5J6%HJwnXYa(UGx zKS?f*$P)|xGiuqs4X`}pFIab(WOVVoIaiS#x7BhTxiZJVJ0_Q1({#)7Hj(?EU-us< zS9UFj5XaiBl2*73hw&_*zl6IBtdj6BGgK;a0B5eB0>^dtWn4 z<`vWabglMj+pIkQJORrjaK7sVZ+;uztf=Zqtz_vBxb6eGRnktKJ{dgr82B$sCr?YP zA93_N?0J2J(@J_Vdr*_%i1Z08c=$zlA*i{I$+ij0|1vxbHIWsRB1FSMMKHHuhG$5?3j4NX0V8&{A!k4zV}~v)ky%VexMXTtxpZ$B-ph9G|9%PdQC4#O zbe2H~MadVK;>eqUhD>7Hhh6vZdvU+aGd6OIRuiy%MqnKtryj!@qbqks8kymimc-e> z{p)Sc$DZ7yF+&CH>^FC$7-ullwrSRMc1&Isr3!+Rgx$+b)Gzf<1U2+Q$8(s z+n^U|cL#K#E6*COcNAFl{JABpa{sKe9z zW3+SPDZJ(>_8UYTr#|m%@SRV-`$=7Y&(sHhMAz{SPyb8`0mpHkAe{${yDHUwQ+Abg zo{|v2WQTLg875}Bq$<)^Rb5jTj?I(i)`|Y2jH9n~PF^^^EVuSfDO6Y9$+}65c-l!F z4)S9E1aRa0u?1Dr)#bgGynOt^$&{U%V+)COn`T^Xr5s0&t$hPt!G_a;NboDwsqOZse{D#ay zOWrKyUHpI2;_scfle&@A^rgIiR3t}RtnmXJ5m8=98R?@hV{eEaTMB30c5t6P)>-R% zthfx-t32^wxU->$?kC((_hgNlvQ8`jzN_eKr`Ool3ezIGY*J1Bl0x=~EQb!!KH8zCTWGXSy?+-uCub;ZCZi(tF;VAm9;q{pOn>AMV3$COI%+J@F@a5 z@53G#4y^_x7{42WPg1yB$;XE>0zjHb#|p!6$8M zS+s5I3SHC;+b4=rv<+>MD!MJDb*+cPqYJ_1R=Nr>d&1Qgc^TOa=a{H(9Z3)38TTMXyWvb(i4Y z|GsGX)|oS#n~9#8V>#{fAYu1SGbD$oq2h#!y}AOqfb1EhdZznbU1jOCMHZV}tv3e$*n<+=2*6_AL1NJD_9G%jG}|jBX02ko@{pI(*0YC`cYMRRDu7|$9n}RNcdm%S8U3}_IYYwv11{o3eS%DWjpKxyLhC%)b4f9$m77|ljX~Vkk8_Nz&GE-<7X@5 z(EZv3iFCN{4~b0R{~uZcpdknTlPVHPJul4HSEcWQWzFVmE)WyLkSih6{ttD~oKjJ! z^qDe58?9<)k%Qwf0Ef$~cA4Jxs~x|3`#LyhsKD@2hh43DUEoaHxQ?YtGd(8eb2z*Y zsuX?$_}!??&sSc@!{5Ac>C%OB=g3<09uD6OZUjdvqD;5p`>;}r@D2M}_b>79eS7kt z@A=N_s9E9gF7|+%=@U1i4}2%parj*H@V43RD_&nScbSW(mPNal*;kfmMbMBp!PVlM zlarHOZU$g^qf`z4!&K|t#*aFB`gi&zZX~=e=x`wyHDYyzVQT~{c(_rU0Unn^R+s?ipM)$)ZT|024fJLN+xcg?<)7Rx;j}?B7YwKc)JhRFkP6*u8-r`1JVg!tLWt zcDYyZZO4ou{$~jerephs9{c(s{)yZh;1_%f{!+jJ`K2$t9cxoEa;K%`!ks<`A8|s^ zDP}YRdWdNVSg^u$9Krq;T#3d77kw}Q2iSeTQZ&_={)4((sx;=RLD5wm&#E)vJr0@2 z!1NKm$25)I5LD+H<+3|QiPr)8r%Rz@BqQYNt{oHut>l^Y^jqwnpML*4RgK*cu$wdV z`7NYIqIZA~m!&=FJjUTWVwF9b9oUF9I|6?StT~Lgf@EeBSc|Yb3T1MWy2f$u`JTWc4N{+r+4#7vXRaJl!43^?2#T=MXQk&ilt_dX&2(< zynbd$4@35}{e8VmPq0!C!53s7bLjkKRsKSit+Sn=^!wLq*K1^v;!TRBR=*&t%RVN{ z`SKS6w!n9Smi1e3S0V@g7mx#6Y(8Nby=C0Jhe^S4y>;Bi675;TA~BIPW4nEqleTvw z@Hkk7{&U7sdrr1d64^?7Z2?ry!dhG57v#D2l3_Pr;_30X_>1lPv|a*fSDjZEt7sQg z7u9)iA+=JS`o7(bYTsjDqbQ!&X8S?OGB52EGCvOU_F5$1YKgXk({kj)EFE9z^_p{5 z!7dk^!?e9}eCf-p7gpha=j>tq{cB5&7LhvzyRr6u{qR{S?xPs*_wE2~&PWePkAWZg z0;@ycr5GWGc^ZTjx^o8C4}cA;0UlboS^_7_JpiLRtPXK%ZVzB|o4D3D#Nx4V+(7y! zJMP1&p3yC@;F)t~I9Dza(pt3CdPy;>hOE1O%PCff(>_c#Yxz5xZoq1Dk&KVAMF3B<}(V*)%?W&D?<>yPfcc==!B%SX#ln}?5Yj$M0 zM5}PmO4X{HG`?w`+ZI=HJuzYZ$&F?%o2H$# zz(7&YY1T>2x_u*QlDMKMN7}lkY$z7|YI^$!94_gZT#o=oaDY2&Slw%844gsD%)Pzw z(ps4;$DP5ivL{;6^Z!k{04>_Ezn4B)OX0aIS&F`qG_Fi*${}wpkMCXzbI2f8UMY)Y zuu=;DULFy&%wDPbY!AGbKL%5>=dwLeJCZk+k_ zgTnVdntdDP;cSp~X&tPlv#77w+97KI!OG0F2rCkW8mii7-6@dA!YW@w?QMg7#dKDC z8SY>jp4I>54JA;mkwdCyl*9SCX1`o4Dx@0V<_ftS7?xK&w7MY6ZcS62T3OZA|7&|t zt@c)2TmH|who~8v%`>|@>qn{Km5$BVY93iuH9|Da@zxgVTP2IittHIGR9j7z80D=6 zaQ|JED1~}xf;;m2_iTjWMv?wRvt(JJrJkAJI&#vjgyG!bf~_gBzLtI;N9T#&n9oD-Cc4!zKABi1efKl3VaeV_|{ReslSSLM2=ZuPVym z4C;q714X$SE>)CDL2t+pEkBml_(Nae5InD)Z4^n9{Q~h43NEMsCksO28C9!d$f5)I zcCg!aRTEv}OPYFbfO@nm%Ux8I!M&;`)NjU05W7)@{k$hlw1gcCH{6(f{Jlb#*F-qH zo(IRJ6wb2Hr8Y~K-XvWR#%{czn`Y_{1hTwm94aG2mQPQ>qN$RUM;CZtWTf!LE3{mI z6Mk59$sM29r_n_f=&}eh?`#gwjE5X)ejJIvcS&0y+92xe2=gy(6FExzkBSuh_ElEz z7Y`X749;RUL_apPg6u52zaX0Oa`br+nM=6vd zh3g!cHeCwN3J8Yrkw|uJ1#Bgr4#0DNpTD5g6x;hiO7$1Kc@O^I zw+9zO=hIECTG%Kwwf`vvtiu-YtC>xHV;wCoFB!5!Lf zOkv(sUz-eKsT_5R#!_rafUd{O+OlPY5j^pB5Zq=V`UbCP%Z|W?*I)Lkw>xa@rK=~k z*F>9O5%<8N-Mqv)oh&VPqeY!$f?!$Su$?@*9R+{}@pG`cEzXWIL%3XxPD+dvmwER1 zzd%rMS@2~B5bKAdm&ZPq>|dH9uSGD;bn_mdJTDmYk)qXHoZm{%S= zO$0)GRI#yKGCFo$MR^K-yXXmG0p-lX?+4Hsg!^KFn@C-_(^9f>vlY#iaVR49v=T>3 zCi=g(vukaCGYebh-EX8lx^E=}{2#`E%)b3Ve#iDKJ&$01=L9|DIA&bvJ1JhhRTYaI z3UqyR0h7xXKq>MxdpKDi;U$!YB4IB!^z~yr4Cb?Ho(U}&N{LQ6}2aT$&@Ua z=#oB8UC^K7FdhLp9l>}mkG{7txgZPewWzkqe>sJ?;@k-*c@?YE(*bUP#Et=z#?e;w z*WVq}lxP=pb+?0ZV!Gw=>xOoZcD}o7-+gZt6Nowr-l!|pdjV)E+ZSX7SLBCrMcjy^b!CE3>b+UH7lIEwjMjNik%`A2h*()brVxu+8}|m$Bxj;1 z_*fpXv<$7#lDuy^y}~hzt+$`WmP1G@vD`E=+jL9l`de3cN50sAixQsH4qoo?ywMa7 zpV=6vabN8)n;s&?xj@kAO*mrm5*>~$qXQkal@6U?epj}+IT!iX_}??ZY0GY2OkIP>7VD=d+?$0 zb}+CSU24BFX7!~uUzx=nqz(|I&2^8?pM8Ra>2v$BnI{53Xt`?_FEiur^7%4@fLnWi zn!@qz#~=5dPHgHiD44-FN(|7fjGXXXg*i`?vH(o6qUZ=X^JOi zTRtE?8(F47JKn;CwS}^Mk9Lx_M^sEpU_?2HNfsd`Q#%Kzb16Yy%^%ELIMxwrSdB9W zvqnmli}?ebmFHVCW>v`c(g`K@mwAo-Tmg3Xp+f)#Q4SxL0kq_es^*BV?PJFjjVfDx zg=z{v?{BG=EWn0Un{ltQ=)s0nma#KDn7{C%Vyo&HH0;gQeB%CwDqCt6BzFGvlzAd& z=$P0A)kMm2>wud9Bodrx3~<%|>ycPQ^*=Tyn={6wAGX)!BdlpQm;@M-!*1*}&whUF zMPkaD?P{96ZEKoqYqFUm&bqd#ypyWLvWQCGshC+Fsq>ET!#3@omKlYyzZRyM_klOU z{%{|)@_RWz?B!{ZTN7}c&(j>De5wGKv~k5UrhQcSLdUMTv2hkx(rTsLF%0>j^!1{) zvZNKX0UMW#ysX)=a}2z@kMVJOe_tnbtD+EX@H>38%DimUp>u~3KK-r*kzNMt9+|FM zh8gm(MXMpRkXZF3CJ>{-Tfdl4LJBcV0?%a7^f+hJTZd&L*LGE+ z^ezK=GJXvO9$E!!=|YrQwm@QG6-G2TL#Ekq!Pt&twjzLuXx$QajzzhG{aa7vxNC-0 zw0G^IWd@5?R@}T?!>Z*+WmT2`aGdRqR}{xMis=?d4M(YXRiWk|;t+tncT_ro9dU-a zFj3aXc^UUXFjh;79_{CtiD2$^0W%S?znw1|UY&r}E0^JuK11#(pqVcvRAEf&V2KUV z5t*h#XN#WeA~rM3`xR2KbsVyys(IfcL%h=DQP4? z8^BlKxfcAhZT4aywwOi%hi;P0m>$mOkM1|{vl$rM@X>u)WIK5SpVf!$S^9A10G^v% z08U2ciO9oEpM|+YYl*cR)uG-;zg-qA@I1A4og3Rv=j*a8o=0Z*)&Y%b)%01NTEm8EkV;k^SnoUhb)^yW$>l(dF z23|2`qL?d$R1Bk{Vh3dSX7U_`DQ6Kv=%>f6!+)r&dbJ3X$0fRDgY+SuUva5rDT->F zwL%c6o?!`eL!bXX=`rbP=|`mx;SSB&V~6!7crwd6;q3$}m=_naqMa^jW3x#{nIUU8 z8T5HpXSc_iD)YQBxMznYJi-lx<`4g~8d%j@-38A_mlc!R*oeWfojUk5AZLuSQ7)Mk zLj$6ix=dgU+NPyp6JAwUkp6`=h2SvAayN%@{#*tE8lD;iPTjOs1uRJFR(ubvN!7M= z;#sop)>XL+!(jr=O}(iQ!>~%40#+1^iF}?K02u)bbaMS+k?kdzHapWb)WpUVa$fT$ zDsQRDX`||<)PijJ8hryk->Jg@Vu+nTOZ6tZ+Iwt{x&y4V{iXV8T-U61#HeVv0b zHeW?}R2aCpji^BMUl-ue{*N5La+b{QCRuC4Jef@_?Yyd<*I+hG5Mx)k+TDR3r3rTTwOOtv51L~2{ewqz4W4AnhZOyb2Z$f_XW1sx$P9{!E$+gx*nSShE^Xk`HgL4 zo%VoHXsWgYqa7wg+W+_~VOS`apPkTL03pGhtl)SwgRAGt^X0FPYoM}iTw}>a%_B_# z7GJ7KT^?r|dsYwuw;zXH7oW}GdsiOuz9BsSB0_jMpS^?_6PMX&JKsNJRwlb>!eM5C zV26%z-wYdb!*C4v@7LS1vVy@!-Sa9@91?qpBjCHa7U-Iee`vIeZJCrs?j*tARqB>IopLur(>mCgE4-t7 zo~6WNZFJBN@Y!sgx6eA3!}G^2om-$ZuECSRq20R+%&C~~A#$8v)Ap-xEoYjJhS5%Fdnz~o; zap#9u*i$u=XdgR9NR22pLVkO4Azj66!YVJ=|^~ptYZ3z7#|01&aakBPhYoiZGk9v~VjQR&sBG-a~mxJjFwi0>EX1 z^^Fgv(>~?EmOUq$4{LjXq~V~hvp$$rY0_{l8Z z1h9YycXzMvPUX)I=TP{`uFG+~eT;Q1m`0(rD{VWIAQcK9kkgmBUjL&ApV!WHrrVUWqRb&{TEy0pF-+sKT8xyxbaU4SM&&ZmbdA6Z1wXP8 zzrmM=Y~+M$b|1cgy}T|wtg13qui*JT_u%o0P89*xmUNU!uXV!u-e9krkiYD#V|%(D z-*>&=)W1w@L(YQ5`ew&)zcR&A*Hl9nfm5lhsuAeJgT%pR#azNnUL~Cw$KM2R9MczA zDqIk-{H|(l4F43|iHQ&a%TKFf^ggJv%uZ?lIG9i~Y(J8Ib`lezv}-|CbEBdGOC|lU#+qA#dyVFLXgE% zJB95Af95D1q~B&V=qaXhXjP{2;i#|NGh;OXZ}b$R?$%@?A0Au#LErfFL8JP(iy|+k z8%&1tuL%3)#7OQf0LLiR;~+Qr7b&Dy0@*Q-+J%CB)O6$krHPcW2b#(LxOhuc$V16N zwnQ||-~b@*yA9C*Yh@iBSTh3kQB}aDo4ZvL&?r;8$Kb38kQe0$wWIP^^4U`5V@+4&Uxxnv7g$HUc?1$Sg&}NHq_{tNe-%3Nwz)Kh0b=L+ixe z<#=rVVd>IAWAmZ|DwY;Hh*^+>D8AX9L{Yt&XBvDvMK2FwcIEykB+pTOHQz!Ib=7>H zuF4&#mvXmay%Mc*iZS@cL=1jEUKV2TjXWl1OOTp2WqynJOhm1aS0^Ly0$%lvDB^DF z4I$zV&v6>~y03na=Ed4s^aJL>0?9sLxF5Q|W4h@>-;sy#zn5(@^YpV*W^1|* zYJnHrWV?FanT@nB(;XgaujYr^GbT=$gxLEB4zX+Mlo)$zE|m`yTz@}yhsWT$u|h1% zq!mTOa4~!txkOEBVsu@9DmA?RP*=3Ds40%C*_NiO#4A=@-Lhp_bkLO-|Tl%bj zHbu6GxJ_g>&EDZVdsnZB^Oejec&~u>eB?LIsPK0n)tmW#W#N-~>h;zHnD5(nf3C;J zWtIjVk9-T1`MYWU;bg=cNV6LU5>?cHco1zf)U!uf-lwQ(gF9WY7zxRb2^gI`0)3A! zdM`z=XzI83r4MEMOvOldR@qF6aHo3XJ~6!f3I>jErs97j2DLMGEA9*3!d2Jue(2L~ zLcEBL!-%oEc{KP00U^Xf-Pj8Sfh~l*=;j0+MurV=v8ci|1YFA09zmHonA{Py{T3qH z0!O`gr;%*nvbRMsY`-nbB{sO0W1q^{ky3W=XPw#2=h>R-bZFnIseC;T2QhFR;c+Ez zeEw*EWTqI!l4vKGQURZ{W`rzxwKK z;CFW62g&`w2-I1()GhB;{qAnbua4l27&r8#Ik4ZBfiI3p+nAFv$-6NW?b%=moZB_* zTP%zXKUWO7khdzuV$`L1y@CWq&rQLGO zi=%vo+>KchevmKi9KJlt`0}K5R=WF6xpNFmjCJFulbnjsvCzz3%kT&uAv zPUo-(U2epiN8*JKgdGD1VC)#mYXa;Cm9MvFA#r00gNt@#Uge#AqTmAIzj)B-H_-c; zhwsMV@!b!zRu5Ox(DGI6HJ{2htWI<;jZI7kWIv1h88wY^=fOwRLY^i5Eutz@K~?o9 z_FwbJ^S-7=yaj4r*)P%!&-@6xqGsaG_*YpUaGpiiq#>{Dl=t9$*MvW!MBh9f>CSau zep^xU08@+~o8rre>#sHN8Sg=D7RP?a&C-DCRbJQzcdJI*(uT2A>!-nB_=f(?5~0N+ zeLOW<&qNVnwS*C279%bv5nwou1-8+Yy*VDkw%-*8xXY!|L_B)~^9N_fv*rEd0O;w7 z==L=+p3R}}aO{ZSGQID7JPO8cg4Xna_9t_tLK4{?^PyY&ugc`Ep-fr!h?T_vv+%X&yWaU#hH7^6QonJ=IDc%D@4KjW_a4yFf{q=d+r)`23)o zU^qzXBf^NJ4IjY3x5#B49`gSN+aN=CwU%0o53?)rv%Gm^UC>{p@s`ztV`8toH!u{F|eksPKW)l z-)qxh*dB($Ip!Z=tRgOCQj-s(sx++s!H$2<4JyTVvje!I0M5QtsooY5uMXy=ka6YoFqP&Sg zKM!MtwgH3oh72gc{6G}0ToIA@ySfL!`MP2f^Q=1o;G5qok49y?**rQL34R6caM%W) z{UPaT={>V3u0%zO+k?|`4_Sj*B`)cqNyTjvF!jRzkclJOhU>#VuQ7}hd$_~+3C*u@ z>c7@999=b3MOTSqwY-9+D^#^y6<$pH94T5Q0!A+hyeFD)r|uY@*OMuA995r0^IMwf z7#hJHI;LgoR8xp8>xOP`t*&m3HaF2wb8T8bqNqBZQ`mfncyC_1pY3g$H45E9AD3E@ z7T7IJj+$#Azrk&oLfe!he(Z@n>dILb4Fk@iNQ}`)B*%-gOH>(*7qDn--BhVlbSNVR zCAw-;Q!@&t?$Cj(8o+QKm;({lQcE?6r|PCLNfzu5AJ2_`oZs227=b)u@v* z5lIcz))`I91AiZuC@B$E4 zlR>=&)Y5?KWt%Fh$>^7bmIR~sa`A={r?oST^gM@k+_CBspmL2=M~@r z>!eQ{`@@9yw#Rr6zB}T*VV?r~f!-Mc5B4)<%GOw~ zBX;npSN4E}6_0*y-T`8Iwrp7%mP0o`p%^F=67DM%xCx-VvskMYed7CJSn|lXuU$*o z?=LJJr=rfu>07{AF&X{A$SBr|=9w+vPu;NfnOu0d)19C1cIKtYJrL*inZs!Z!~T%z z-H`T~trH6Uk0z(&=ayQnrDMnL@qOZz!Vq5kVr>ns!1c*__OB~;#Tkv}=R4iGxlY{~ zITd?M-duoje{43abbDQnhfijmTrj1zpYp&CjJ}LDOoCwoJA%HuD}w$p7079MR5cu5 zvsJn2tJE?T7%EMb$szBEcWkLSfx};b;8#uGv}nPE@wPPGvo%hA%d&~0$%E0T*&I26 zgX=XBUS*I57kH1JJbtEn80>F{_M(j)Xc~#562jFCtI7(QW{G~(Yk6Ml$nxgq^5WtN zS7gK4wx>T@S^~UI7e-FmUIODUS&!m#w#DksotlE52swAlf=M$kVEdK?Jbr`$yXOUa z6;d)|^X*3$H#`yU?~E1~N3B-j^yxz3bZnkE&M02@E;0DJ;2UG)wJ_MRF+v>X&6#R&3349nI437i{P=pmTguEIuY&%S`@%4cw+^MAx?a zg@UTvk$v3+g|Zu+N3<5^$dl5$r59(<5>N(hHc@mz%rW+om)GTpyFgUJ9O8eEVWJ-9 zLF0ZMu6Ho=nSFmXn4J2GOgu%^fYU%IQq@~fsqGaEU^I|p#&0U1K^@oAY(;*!>3PiL z1~m#sjzj6hwEA}{m?2~X$evAl>cCavus6U;gXQyU^{8=M0j6r`zvv;ZQV6uIQB zTGtxTT-J2G-**ZMV{vYGR2ZM1lP-b>_EG7j>0JKTzSX9@IbM&p9A1&!+(HMg+jI!l>3^i~MBoEk4$WV@K2#dNRN*cxrY|H!`120RImRXa>Al48dmYE7U9$bRlkqo|rgR=nroKM)$_EcDl~W~( zWd%nE#$-Yw-II&ncQT_>PK1%ESyU-Sh>hcQisb>n1-!y2n*lfL&rovv;C7L@Y>g(H zdwhjmFBFtXEtf@Z7aTZrC6%&r4^JiRIC!_-6)^xDDrWOK8gj^E69 zI$s^9L5D0kF8toPlVfrT6S*~e{XS08yfMC)^|!rq-krkH+#^50@D9c=Y=d*YFXLu} z47%w_PMROB9UKPh>>P0JlT+3Y^7(NJn!1O9UYt|bSjRFkNT6bF=*R-)$=WS7dyZjF~860dn41YMP?)D z`0+K&t+f8t6rP{L4&1|tA_|u-WrBuH#7i9YJ+F>F(bNviYFvmVKKP z3I$^O6}ONxF&m9?dGx@70?6nqH5lTc*)+CCL--kOOJjO+mGx(Mkgr-O%M^PL`ScISYQ_gVM*PU!AsQ z((5Zp`LtpW~6@+M_R%BgZ+m3k?BkS8?#4V$0`*t^zON6 z?5TodZ)iM34c8`O)OWrFH#;++dk~#*K$gg^2k#@nrmTwQPQjrN%a{~k|L8yy2Z;A6 zW+=baHQ>9@SZ09%7Tp7LVi*D=u8hZe|>UYo)k+x)>S=q;`&>|us2}N9qTLt z?9A4L!zgewmX2d6ELN{s8e=vMgUSW3kcriQ1jM<)VyPaCv$m`nwgG6Xt|^0Gq>fta z-dnUR8ZJx$WG>UUOv^W9;}9C%1RQ%y16FegsEWc!T;E0dJt+Oy4~cphFWLkWRfG1r zvY$)xmWX#B%VsFP1RN);x@?$=34WospcsIep;8Yfd(N`Qfyft(PMj$0=dB2~56?YA zuX^8ANJJm!P?)R%&vKr>1pY<2jb0don{f(Xb7@-iJMr#WgiIm(=)jTqGvh=36Sk_(G!vmPI|%dJfP4O zixUna-!r=&y(tZN+W77C_EX?)e01>rtia4QLNW!L>8PSAT9 zUt|+oK-q)Fj}u#1MoW^|vI9S(!5}+v)l44clh|EiKh0e^m_^mgrnRuOuE}Y;CwnS0 zv~+Ezp|zJ`zR{w){+4w)awp8&`sq<($MT#7jFUVny=%%y-@yt&W+8;>>l3nYX)`n8 ztweA|+9%gTxR?o|Y=fr$86If#xEK@J;9zS3k??945;3L<^EAmWneJI>S*ayZh@{ni!xRAljQeY;<$HMyJ z;zlD2T!F!MlpK{j;HVI0RZG}|Hw2A+Mv{uWZ+lSWo!bZHXd9any;9+IIQAZ2ZLn=I z2mj6Q8}{hNjT^6b;-A~eS%=i)Tk!TPS8iM(dZ)A7DdX<8GTsUYw%cv5Blb6SSe?`@ zNs5@Avv*vC9T`8&Y#s%9Hs!Ls<-&x$rwjRk=T2Y9C1z?o3JU_)V8>_#+zMJ9j;)0MF|A zy{>APqY}3#GY`&rUI*9X+<12g-+C17RuSJ2swWR*&x#MPM^Bydz?5J3-pHM3zfHO^ zs2vw=nq---hWVQ6(gxFrX>WryqFh zI1X(FsC@Q8TnLS~vfgIq+{kBmIo@E7Cuf{zvIwNq;K+2jWB( z$8_A-h&30Hez^4&S08m`XI5mRLa`kAU}q4*_4Hnt29)oK?BcGt9`2Bg{%oD-tcoN2 z0nPjYenTa>0MiBj3a+_WWQ+X;wpZa5*Vy28d);liRn_?)b=ltx*`J7jz{8n489#iP z0=x(ud}VYI`?iSCvTqP!Lty?kkkhKOeVTPkTdLxcCm3HgmYa~z;fFOs4TaQ90^V{?;MWuVOO5lpOEAFm$96*%ETe)QcSx*Rsqd}%z~w|usqgjT*pLX5t!&kYrAPVbpmFr zMvI5%RbpDzVr5~wRa;c4Lv#(OQE?Sn^$lyWzP>m&zdUDoh9ZYMhqTZI3!&()*B968 z<@s8{Efz3>?JR_H$?_c<7HZ7*B+1^u0lcD^qrH&o?PY*>6DC6&iy3j2F7k?nL#!}X z4L7S{wT~IynjsAl4jPH;v)~OFV-A-eTF}7tP{=Qy_9?aH;$sDexVniNwJ==|^T8~A%B^wn?hmy4rFM;?uO9h{IZV1)bs=kDFZB)P8pu)1|`y`SCHRn;#yt zu6Lbt?(3X;&-tAIbjwbGxCFh7lagpD2-buhewVbDa+ns-x8q8JQ`Vvx7oeAZ<4*<6 z*MJbJFsQabIx(3dPf|uWS9KtrGq4v3eu%cSo6yf6tY2fwIov;|us>yVQceyY6wJK( zy>omg(@9o1PqPBEI24Gr*+>tBw=|@=$Eg=V!DuRg>in(bgZS}($Z;fqB;C4dB1M7+ zoAYzg)Nvkq+tSbP7V&9UIEH*5^^M?W<){id_A!xZA!@mPLjwE;L#=`FEYM{6y23kc z`=n%_R?<8!+q|K=eEuHomSfUDdZ+XO=~L2k(l1EACjGATN7A23|GV_p1mqhautAK2 zHfFY0HNFsuS}k^r?G8d5bohvjV`(2Xzdi=2#n3B8aZ?RJBpBI$O5SLrf9Dp4^mjQL zX1vx#)NdGFWdvN=?1;;F%(Z)H?pxUzHG<)LmB5aNZxblHVqe~B$9zGQpTIt%1KqNW zzwo8D+F#=|;DIn4;w?Pi#arcQi>C%mk4YzmdiyX7qJSAu#Uxe$L%V6)rpkBCN@QH` z;*xHGwGE@H4kcrKOe;kprD0UkFx4pmdq272Tklt)m}Clyp$^4pm=l`EpbH~%$+sC} zzojzG)3SRS!&etjE7eP-2}&nQrT>{Jng%K+m7(BO&1*B;FUbVToKoF1l>e47O)p%( zi+K*bB)w@~pb?Yk#@QUXNG)AUiP1G{PcRC$1~PhH2mvmk5VVC6;yOTFHK%QFn6~?e zul@*XTB&@`flR293&kIi=r4_2Zw-s|tbl1w*5sEt-Z=W=-6OqSdNR=g5??f7bcVw4 z?4b%!0hOiQ)Y=^ZSi7}>V2#4h07fn?TJLl8LV;bVR$@M+38>E~7T8yyFH~BU^zTT% zd!GwExb3@*)rRMJn&KF7qY)d9dQW;9v=UEMv-4e$t8ZDO?-9FKWvaR={3&qv=lx|L zv^jW%u4w7WSW&+p&cpDD=h-QImv0G-Dd{z^N_MzRo|Zl;eO~&q^fitXiVYG5>Ma36 zTtUoB7sqFg^ob1^6(r~axgr(u4DP6@chpehIN1m_0fIY8cw=ofv3QcURR_1Ud%g*PZfpM|I(h zWtJ-j=;7fk`YITevI&~)F{o3h0gIOT6!UN~7W7QVF+owEQazn%j^ij)(`0rxuY*hj z{gJU#xMNzLxI|Si1RWd~l0D1Bx@VZjMd9p$u01`e>lCyRv<5*(p}Iaf4a%QP6;MM> zMO-2wzowXQPNDaMiUE2zvup#E@Hq{&Zo@%DP3G+~=6axnKn-EE%F{#|CbS;MG@gOF zPl&ie8T$Z{p~rxhK&Wo%%6wA9**G>K&4KQMcs4Ol<8q9rDDNiF5~0@XZ=vGChc6hk zc!{N%odk#oiXQv=b%W@#jXuI31~tpJ^namSN?DO(f8fC~C+sHcAuazw4vKN$1?Q^-|l?W_cEvIf?^)h4u4Phx_4nOi{8yMfh;=;Dd2J}C-OS}I^*bKV z3EE#|JV|9SSL7i)d@j8ipAv~BQ-0F2#@XstN_3cV#`6xf1^vfh;FmR_XYu}oqwMw) zI5$EwLK99zeTct{B)@8 zGpzDLTv90*07yW$zt8eKHS+muq`M}qOJ{gy`vb}940Do~OPm&$sNJ1HIsGr=2>tdj zS9!5GysT_uX@3YM_efeuUl`B8y9=x$>swe{pVLfJ`@N*B3gv?JYyjM4%?>H{NUOh* zloB!)wnW?Ht#JxF`xteu1Ckt>Y4h~3*+LD=sQ>VXIcJ~dO%~ejLp)niNL5`P%3}1d zL>sR8oBf3LGB)i6Y|*m(clM=668q9{eLKQ2yGQuS`0Ydzk*bKstF5 zK;!wWq6;Q6Vv`QYNQ4coWL8CbGrGW*k)~3d+pV~_#gU`2#fllMgfz@iBaBW#RH%*6 z8u<2x9T~0zR)cN;Ws{|ElqP{v-3YF#>|7MM-Uj*yDz@yK-!OgIR+R68O+p;g^KF~? z#uMc@EU*7wR zuM$HxgFuHN{XQ7L^&l{1+-ViCFpQzZt0N zK(#;pY5Sf&b8(o{f_nlUODo2#vh;0`#~R1#6EX+|U{#XFc;h76EogAz_=-!+SxTgD z5U>oNd4?&J+(*chpqVQ?QQklS4gDG1d*)k22IFu`WdRKNeL~45y64b7@MX%|l>6zh zdzhM!p(_c_keItjdj8y=h!Yk8|@JEOJA)1_D|3yUFsC zs($Lc6;6d#wx+Sd*EA3}_lKm9k6CdUhr`h+Kwb+(;>}!&ViKYw&|%;f-U{=aR$(@y z&ha>tbd&4RnS@#3C}Ed6j%I+CYaR2Vf?#wDL}lXS1Y@C(rz}fmd>A)z?%R*NV9(Sq z!H}t`>9U)8Rj~cQDW=)F1Kiy&Ew`O%C%f%!*fs`@cEwoIoIC6W|U4__O|n? zKY!EgU$LO*&AnGL;P9sp69QHD2?6_;Yq?&9c6&uykWON3V32dqdEXLnB~emrQ9e7D zrEQ9mDxa-XZi&0pbbSeikdmG1-pZ3;C?=Y??JIx4e{kuCpL~H7?u3fEEbh{kTzSWZ z7`*3OLvQs8FM%^f-hzy`oTMz7YN5or6B6g5qfL|j3^#JooJ^-1x1eRhXMLLwACD%~ zsz{SUzQNQa0V|#*(@fk)_*IqElw1tF0u-;ZZzMa}%kwv@`5J}~x>a1n1okk2u*c^{ zJMGQ7%C1tCK1{$&RJ2DZ;XO*5(s#atDkLC^^1*jfnzVQEuGYbC>xWp&`OzV_;CuL9|-(q-w#r7uW7EB%7>OMIS~`+}j( zB6ydRJ#jByC%WQBL-F(wVr$ zCvp4mycT!VR>*OUX_Jt*(l)UwCwsWO0PUmT1@x=`85CmS?Z$F}sb?VGpez0zc< zG}*+>v0AeRfA=Xv&pffR!!<$xKH!yW5}dXsv#0M(%gPXpTE^zjYf`zOK-1S^f!X%FjXlbemo! z_~}6Hc0cAdpIA8mM4!wsHjp*?O~zi3RmxUYwzq?y`I%s4CHM^dmyF%GhP#OvH$j>x zKGk%zNZ9COCm~m5TxRTRtGvdYB;V$W26u0|T`x@sBN>Ehb9%h8RyujsS#6sW@Q>8E zGZxoRHctEVvmwPS3{$8D;A3stT3ZRt^2vt-xW8jetO$Cge-HH9JahPPyE-XP%hw}! zFJG4VP<3&AX_AIVY9fI=eva={I}xc>nhSW-LbEccE!E_BVQqOzZYP=KSr^D|%M*(Q ze~Sre2D9hwmmkJefShEM6A&u`EmuLgOL7M4>ixd%&39K@j@ei}8r=W+uo)8gelrZ4 zMB|QQTvb1Ne{giQVLGkV?!2e_4-7)Mr^0Vc=}6?#I8ZKvrUT>vpE{WLr@6IIPBL6nI`ZsKh9+tv)8Q7e0He*|c$*(e|vV*(vMf z#`SAlFkRA1HqIy74Jfk%HionFei?V5bpBml~M3tTCJ`sV#Le-we+f$djlgBeZt?4`=z*{@kesQ4~}ipATNU z`w8;Ha25RGZy`5>Io@S|jVFbJVF^!#==g;QVjbc2wG|D5#*t=3{h11u&wQ7$ip40dwwcv4 zRTJ0dD6=Xm)0NmQo4PZ3_oSnnWjAK()k?D>muEY3aZ;!0(%)v7*-*w8K&P!km(TMc zs+1t6J}BQ73=amF$hrkeI!pbH6TWn*&MlENam~Kg_PSWy6Ec7D7C0rfBun2L!Erht zw!-~1~RY>QLkq+)R9ew(FhA$xfZL zbLaUssr3D-PtNxV{9N?ybI;oT#aAkmlNJ1@FiQ_~ix6y=D!*6>{nyy&b+Hq3x7QQ8i$bSZE8a~oQC+|ljQqZ*}K@jSl&Iy z)X$w)*bqPSy7e3q{~X`l&r}@)47T?aX6!vD{QO8Z_jFW}<~z7j6NARD!3GB$((i<5 z6*SQ;XcG@LT;ajxovjVhzO4A_WK*+EN}HNz$X3Zw=!~W@$9H5+2j#cq*RUO|ZhOf;$%sk()e3!nJmW}2+R9}JHKCAk}wB090BJ|meqpcG}#VSvE zm5(Eya1-l0X6xi`8C&Zy)cs=wy?#ZTh(fIr^~J<020Ki2rxm5<>P&{(>FbOcu4&5p zj30W?6flU%a>|{uV?zB^i0noFvpKXP~m_YANoNU1|gij1hBbXBKFX$ZLNM{H;N~ngH2jjw;Mv)k=Qz z6eOgxfS3$q^5P^>HAP-9+{#6!vx^n?cgYVR;?B8qj8XRf>Y8_s(sSNgaqiT{sP5r$ zJmOxO@Ci)lDjYUrJPa$nlN37->}1pyLR+Hc5J4{^h64U0G?7Bc$j`HyJLwTcgXXU> z%VIjgd1Kve)>!P$s0xrMQzcZCvM&7OnPRJ+qZky1;jIS-U5YYIV>2H11Ji@XQpnm&9#d&v&BXn#@pTf1B zlV~AvqX-vVBkpS^rYbb3Sjj4_ii2EHUVUyhVV!StIe=Jr!Qg(ov$je$p~ZCC@Tz2u zSG+fwyF+hRG=9HT1!djREtwHx&D7vWrc{T2a>r0KT$!T^)d;;Um+UXQN?8pRPa&#o z>QhuUWM;^^Qqe#Pz_e0pTB@#_xF|&tCIUNO52M3X#g%Dwv)B2Dwrptd2pA3WCQ+bD z>eyGy=&rJ=$eIDqF^&9rF8_a8)u|dN@J-Jq%rzZmQA3p(6oZBk&hF}VT|pOHSp~h) zRH><&x(@fq#HQu>;(RvdsC;;|_EjPwA4EE7x3*Ba&`*k7JHq)S!ko&L8DYXEE9mgI zE|TiHaxq@%JqkfUI)j<8!^%^>rh}a&s{t5Xw4#_gg=Xo342WvLXi7Y4P>jna?uq;F zC|0{!hQ7c=Hoy)i)vq(zRPmiq0D-J3#HWg?7>q?ST~IVlS)g*nm~VS?E9(4kdwb6a z$GpCAdmEPo(a8x|7cSJ;rzK4gy0(h8rowNcbcyCB26rJ8o=BIQ0i+;-XQ6B?n{uxs zpe$e}LdC)u9@>$k>k6W~n9!?%7-l?6$0${q0eeslm>dFIL^CG3$8KAlM1SvGAYEIv zR0=hdsti4%2+?h5$3%7_yHr*%*)T{_a~##QND0&KP}Cm`8}wS0fy|-K1sa{+ns?p# z{_#z)Ow+k=TPjO6uyp32Wv=o_z}uy}I4a=VrFTi+FMU9gHnV9WjxYj!c(1j^(^^B{ z-cq%`D#p)^j#i2J9*m(Vp-ryCwxT|6W(dDo?S$OdtcOSZLfnbsUb_?Vo5P&x=PJI! zR&EDA)VZiilm%11Tiq^it3Rx+m)F&gGR3bfsL-poB4|@x*}O6rwcze9K39diyX2^B zE+{0{lvXr{&Bm`33hUR@DX4v}p}VtZYCQRPwcD-6r>k+d8`aKO#+2G$)eYC1?Zwqv zblRPTo7;VL%CLf{R$atr-sSkSuHH6HxEDoQlxqNENki&LD~VLkN)JH)|2Wi1%un(0 zadM3i!UFapjc2YFl5KL)@?_U2TpUn^bX5&=t!NRKal94dGfHvsL-!UO+2L={@wurkoL45N-(})$rry+bd@NbV zdhJy*NmfB)ba@^}X`auqX|dMPrsaNT6Q^6yzmixuQ`kFxytMNP*$woi4}S0yJ3poe z?hmV#iaNdBH#aVsj;yTw(R)92Y2#r6RaIg%&{P1sjUUR2X60wn$V9Byu+f$P*PmkT( zq!fP+eb02@Xa&a6QzG*~Kbw4nFLHw=S*47_%-OjPQ=3e=5Y$mYUY+br64<$PMrEr^9Spcn{GM=sJ|f=2 zCp)@4K!H!T{H1cX-mb%6H^6QE0(ZI(a9fy*SO(2u0h&~=)Ce2>e2o~_?6`K^!AUBi z4aAtrD-7bzZlw@a@QEI66DKGSJdJDaD3c;qfe5lDqvF#{<%1(wFGTd+`f3D~yWzy-;khac{9q+8z{dy84P<7#qw{ATC6 zSCMTy&;l z+i$e22lLzG=-w4lDoRZ32kpIE1I@4tT7J0Z8iSVT{Cgm+*PnRSgj z0%9M2CKwFPpGo$)D`3gqvq~lFt13G^*yUFSnCye!dm23ujBMV#SciXzM?a6|D88AR z+-VKp-)X5M_p5({HUB0Xhlq7=XEk7CZ##XdIa-zYi%4?Eb=yxllY8EN-U?dg1?l}D z{l5k6=Mzu{m!&UBUz2_dO5)JA6kVrnjk^A+QNLHbztGm;U)I)!+uaE=>UB3#nm5=E z_qE6arI@tMJ>E2v7MhjB&bX#Zw08Sy_Ko-E@B03%^nPpKW&CV@eHBw?@8YJtEn4!6 zc?Gzb6E|OM)oBiLfxQs%jNkJ~Ci)clWSoyLwC-av!m^}|9PO~Ag(F-N77$KsjT^KMk9`!**Xuev6yk zG3P|=)!6=NKfR*<#XUYB(r(53uZsxNbaRG9lFQ}{k5WxuVh*29ZvSe2HU&=^zPE5Tucs5zOWYorfSzZWuQ;O@ z*V{S51?sUITiH&0<7dENN_S$OZMAq0HZTv`i}<-+H%%Xo#Lw*_GE5gg;)s}f@_Tyd z$vuwmWo_fW2R}T1>&A{uk{@QWkX}e^vwgA%1mR$jr8^wjBRL~>v~l+wdgijAVMh?S z^E!_RMv;0L{+fssWF@3X4iKs-WNMnX4?S75Emk-Vk~A;oH^f{=Cr9k>6(_iMYbR^) zSC}bio;Uoy%>DI~i%Jh5!)R;?W5bbH}8OF4=++$>4YX@_?yKH&!yCLop1NtAaI{zv}E088%I=4 zS66Mf=hqZdCAv;Y#&h!RAna{n6bde$@IXd23*?d8+{cOs8$VAR$Ad3;2D30GO4cT* zt39K;H0~i5J=WPhC@^D9*DMD4H#xcHZ zy=NM$Oj&)9YK*QhMg4-RpXR0W?35JF_PepZ|irnUH=oL~T9h|Y~ z3$IVUk6Tc$w_)pTsnGov!xtWG*U++k>bd7?(BCOf5)MwwOy;TSdt)h$^Jv5WA% zzBRCYs#f%pT1xuP3iQ`IILqBvg;xaMoJe@!$WO<39={4sX5&A;I1Hp~YM1cepp`L{ z=wpJRn8$PRwZFKBtIqh&E>2Y;peFC-`s*N?f8az!1_rfqWctLj9aA+x-M0KQc3`6C z9Og@+gqSL|waTPnT5#{m8QZ|yG}~8HO__{zo8qFK!iep`uWXoAV3jaKRdK;kg({?K z8o?dkodE&pp#r5ku)tv{vlX()XSIZdEd~kT8V?;nlVUZ`59-Ulqm3Ip(R?r&HQ=fRe%`NP&Hmt;K#?BLMi3fKK;>QA_N2z!Nvpwe&ZAsMFJ0 zzlh|Rv7%amS+%T+fssIqP@r(OVykM&j4f3OOn%#9ebHPz1;Y-I(^C|)TfuBEj2&H~ zaE2W=2}tgj=E!zP{Dz ziLlF6grZM%@YMOSm+o*){At@4E^)qHwo8QXUm(8C!{YuYL2*OCHF79rFWN5I7#xQo zar}3O6TTxtHam(I?oUYDKJ8XMB&L$KEpw^;0V)%IrM7Q3<4+vIbaVG8&) zes(QEMy(1Iw(Ugl7m8e!b8atiaNVnk_J1)4V|`KZV2ZaXSSAN>o%!HdKbt%?sB#V+ub%Q zpnAqnYO9~+>kRK7SE9M;on5*CzJ)_%>NGhFn~D&mXr~UBZd(wUG%01QJc0x?HM8(= zZ+maJd_OPb;|PvlI6y}2yr};!pY!C$cX0XS=r zzq7w=*AF;e;~_scxH(;<)grX+L?Ekh97~!M-NuF_QTh=_L`5nv_BU8-hVq zMZ9DYstnKTV5ceiALFNBU;l0fj{KsfpHM-6h9Q#?T|KE;^LhPA=4#+u7JRGAzm`V+ zw~{*E@5SQF$>K*#X@oeb!eL6f8QS!Bkq5<9^napbi{$ITJpYyRPaOE*74gw|zRE*f zMR7sx+|jJ^j^a24pI{B@@}h`18-b8O$8<8>yKukS+Hx(aKISy~{#!|Hsx4o`OZY+4 z)OTksj_0wBUULD4XM?ZgluqKUW7ng z3hJ0f#!{GX^D6<|1Eh%(NeoqhL+_0KCQv-Rq2K<$B|#>g_DMO~^NuVwD}=cIY-?kqHS4>CRGN!NNZ?yqty7(tnwgzz zHs@w%rY5SLn!xOoUwakay9)1h_)K4z#Hn<67-ar(?nsh;bZ>QL(zOZE&4p#(*=WM2 zWUwoa9Pugjj~r)n{i~f{yPY zJ~_17GDpMV&Tqn#rO6>Np%nUjVhzKYz$8pvyF2I;TAzRP(fO`QC#Q*`Dr9DoDz|~v z*t@+-Y4!FV=)4;(er2jITeNj~8~#)8d>Y}7?_XrW;#{K>G8T3kbBm8rIQzakp>O|y4AqBJ_*GflT*Xei%jYqJ|0v$f7$cYV0P0s@w^GYXxY;U}jjsd@%a z9sdumuT&~tsS>qkry6pFv5MT7nr%mwl843cvvYHEt?ugTujhPX>afN8@%ZUGaXc8V z7d3(M#JLth0`U#i5zZ7?w6;4rvwDLShSTl`akXBboxS18BWMNF67+>>XdPOtr6lsG zS~wI_3qa$q&eiAZYt88reA%tfcUD{Vdb2w-2BVdy}qp;KC`L3bNe*G%Y^ zOTqNo`ckJ=jV%uepFX~(8>gFwQaw_ene806%$1eS+-w|rFjfO6^-$B-?tn2fR-;v9ZG%?kH|E4CQDNag)!@DX~ zkQP269Az`dI1}_m#x5~ZC-eczKE+@Q`;08f^0v%AsnDkwdx|QbWHQ!`{9UyJ-WK=z zT{8BSAGz(GiT90p@BeoGBfa5wPagDc?clfD6Zd?0{QKRHoabLC;+kW>kN%5dYB-H& z;lM=CGZS79t^ZQGLl!8#LpGGpD29ATzFWj1r%3aBsFnH$yp?E|jD0Wu=byQQsQ&nu z=kHdeDgN%x<|%UU+b>=m`~EvVbH@Q6Kwkyk)|bceNyS&l$2Vd!Yg&^g z=v`MR(Pc}Skm)v~KUewjvtMxu+%u`b-QU@migSAfea1^t1ah5~<^^r@S!R}XXgnb_ zn|`a^=|QK^3p*Qq*lgvSURYdF-MhoJ9{+%A*Xmp&+cQhHAM#l-ecX6J-Cl+7abQu_em zt~U8vDb`{QOi5POeI{=FfjGWN)P0P2!5H_$I z4){9=fAc&>4^h5Z%)a>c!VQbbRVr6=dayY1+(;#EnWJU3K(~omMK-kw|J&{o~^#ODLnH++{cVk=#=#Q zP`SK66S!Lte0K8NV@l1<54O1ra8dz;+bueewc9)8i-B+j8w}>RU)+9iY!S(Xjwykp zTn71P#+Ko~TIyiTN2!L=66mCW0&-QQ?%b8kTfRraF}^y%ch!CS5Jp7I4kO z#YLZmT3J}A!zTkp34&Rjd4|hFnGBEVv$*=5$FfgIeb8<0m)?n1>jAW1pXXKwbmSgX zH;rEmg+g{J3AmmS@9B=RG?wuz+B4b!S!7JnP1`NIwy7(iumk(S81BZfjB>aZc#h)* z9~0~{g{f2_$Bq#NbA2-|kkNAO7Z3wCvehXRLo%T)wEDCV6ER>4gH&9+T+{2Xt6b}2 ziuC{<)$;ygEf4YZ*c(w-lc#zkBDopvkg?CDJFlzeCft>W4hwa7nM5!iACd0BtR6#o z-1-NAUGN2fHutP4VD4s~ww;)Rx%0`1@0O>_<>}T;sWdYgAihNa)QTV&p!s3Y4?c;I z6rcPg0%I)mL2Uc6>Oxg^p0rEJgRSZEF0Z|OrapQ8zf=_d%qRKt%O~+#)p(4=i`|NE zKbWn#M4(^vrE`f+CJbK}Kh?O;Vi?3tS=n1NVh7%C6+Z@lAxERRT1=f(@_yW_|^eMtH2qwZVR zFO(ui6G)dCtqCcv z%km}4GcRWI_xRm;?t3uwZk|YJ389IDtyv#6=P=3*jz#^Zk3ZPF0QCPzpBA z=GJ9>aQ%vUnHMO3`Uj_YH@Lw)v^RJWPRXwv(#4PT7Z2WKe{lmsxQT9KKlg`q9R4Bf z=ea4pKGJ=U&QXb&I4TGIYoyv*hgDXk2&XM9Oq;;GvX5cb6fF;d~d zB>sDqe{WrSR=RwUEJdwv^R=v)gPf|Orr^oA^Twb#YHG6nJz4^sgMVz4p^YepWf_Y6 zUb}SZ?N(`y$fikPqfo_UlpulzSS)C2-~m4^6Jp}V68C_KtRi$JZe&^9W4Trd!?*X9 z9~W9lp_*DYWG`^3X@b};K1Qs{>-rAaNAG<+Zansdzpp5ZMd?G*58qsWlpyw}7`Rc2 zfk{%>TQvp1Bq@AMJ4L@FDY)%cKNc-ueXDa=Blwfo!|a&CS>WuK$YD*V`o@S`-4Z2j zr~Q8`=^r<)U-LWZqJC$yGc;{KwyOU1rHdkY-bG`gBHQlFjBCr4iSgAdyqL5`uP}8l z73p)NHJ)o@=)?Ve7D;DwpDB{{5&gX(N}_`0fpj`~#~~6??_Mbovs*AU((*`plG~rb zO7YBY)-SJcc^&~>;qF8FFW!+%30U}kI#F5(_Ci-nG=tI0aeNo|_Ue>um>2BQOMb-t zI|gXzMjj?vKWLPZ=VGO7&V#s>$P4m_!oZ8l=php5X71a-+u~{I-kWQS8$6><27b>k zc0?>2+VY3Btlu#8XeQzz`npMWQf98#INr(WFYvP?SmA5W3ipriCiQ$7`uUr%BHFGT z_qFJxjOmkQ1oAn|fcTegqe_hjZg-k7dzam6)(o@OY)t6-VdH*i&}zf&-EOkD*>nt} z)`Vwa+Yogt;X#osVNJ}BA?+p%3BnGdvwcYUyzd}7fBi74Vyr$rJZF;79A?lK2no9N zH=$4GI?WIAEN7rkDyUAPEnAnrdYCqStNQc}2;oiDr@wT4{>Rwj55CU%k_;)fFu>qq zHFOy_ZksE%z;+cFt^ybq_iw^df2S?*T=N&n4!&rAS-$mF%JN`tZ=yV}$LVfR$ zI(Lh&bKcyz`n5wx(xG{}gNILC=jLP14D@fu_tU}Ai_xKFTuFq(Mew6Q)DNHo6!mSB zXa;4n*;jm zq_oz-t{kMR!>DO;FMXbiwAgkJBl#4`y(T{hl-i7%%s$64pn*(m#J_SN10Ox7usuY5 zRaKjr6rOtqvz=fqpeXFe4rb-?bD{*KqMv;L`pX99>f)2P8R1+b$){j?83!Gnv2 zAFuA|Ryp+d(98V4D_i;=cR7Va9>^h5dtbBkZWp~dyItLS7Bi^gaTxmDdEp|OVe{eq z6H>A@E%Vvq4A*#C?yIYE0?|4x0)JNJJlwguwK@Uqps{^syHRc|gd@ju(JbN{|FtdG zyOT&#W4i%=VSCb49DWX@m7MELm``|!Y#ilSD$5dq{!o`p9&3C7C|v9BkZ?0x3)fn` z%^~o_Es>xeMrzVQSV;|`1Q9Y2Y+fGlwgx6*tim1#5JcZV3|vBAo;7rb+Ukc}JfLk2 z%*3B1gyhTePqyYQJM_z~kj!{2bSulgy0}xLvD@$}5wW$oiDuifD&h`bsd$y8(#Rcq zxQIi3u7IjoQmpAx+%{=_b2@6d6S_@|Qpxbz(+sT7`M_OXb?}~Y+%{N!YbtDcHN%q4 zvakE?8Is(zvLY2R7ImKeEpwOW5LsxHg`(!1AeSc*MtAZ-S(Wcvrz*Wuz#zRM;KQCE z^sx<@$d7RS?p)qSuW+1(CiYyT5h{5CGX5plX#KSQKwT1X65iD`9^!2J`g&##D7dQun+G&U*BuSoQIQUe*+#EIF~uSldPY{nL!>Vy$Ky-hm(tG- zl4$VAD-g40>ED7c!S~=}cPHe)2AbBh89B>WK-Fa#9lA6Pbet}DZ|6?iTfHH~992NS zB{M)sY(JUypW&Vv=WK2+{$AvN6J5|FUwmJ;uK1B=S^q}2)_}HfZ^cQB{f$s^&pA5LoS^4amHq`)|NHCHwTu1UQK~3(Z-hdc z<%vhR;Of*3N+uMJ6WML+#jA&ljk2ec>rXQ!J56fz?v(1gDS}Z^b_^3u9%FpA9WkGn zs-^U!-BqB!#a9uZ8qdRx$oRTE&7=qjeetH7Es*gXSH$hAczBrq^QAB>ttF*)eM#6y zaY_0pw(WFIdV<7K1ZBD@y&JPH23nYn7YXu06FVzttI;|~Gr<#Zx+hk}Q}3rd$wIsp zi%<+~<{2;`2EK}93jLuc-(ITKIjBXwR+1gPIu+}VOy!B&>Ie`!d3;iq<9Vh+TUM)t z;7EAd@<|X7-{K26vJ5>k^E?LK_4E8jUm@BF!femhb=a_zx-KhkC3Z%Y@!X zKzTvofCghK3`S!Y11ntg3s!<)ax$PqK>%9Vn=0I!%?m?I{f-o4hLpajIegNNXGuW? z3Z&7`Q4u$`wpI4&BdA7gW2$RVppJZ+soxM2)q6}?pcZ=PVOncYkrtE(IqoFiVB32I zeSM`rhrYDIV=7`z3|%pTN4ql5xC4XoNtyfp_64$L=lwG?{^IoX;<0IGes0n*CgB4?lT=su|Zr+<-nx1dD{5)KBTYR72>8{P;RWH}c(C2RoF+_*0Wldej#oAU=OlO`V zS%!&RN4TvldkSH`UQt|v*bX%T&yo-LzwwxfdGczfv7oex6s?98zFh+upnrBT7nC+c z3XhkDqUfR1xe5fOL;ZLNmD?6E_L;a!MfVv|Jh>teW(sI5L4iVOm4vd>HPmX&&x~Nm zNWTL*Ynkg8DHSp1wGx6!>G-dAWD9itK$|o}Rb~b=vN!Qby{h78s9ZL@^vDpU&h z>(FvT&y$ApJkD|i&QTp>AK&RJN*@3EtE0RUQ34_lB?n{qyF(0qFar$A%K&54j!HWi zy)fj&xG&PolMg6}u>oiAI-nei&@n*{RP)0J6oe>;E7D&|KKef&TpRYuBKh6{C7jCN zm(ECU;}{^AQxc;yg!30h7iDfXQ5+>_c_fF(u-V`0r}4C#9KXAryMcz86RNhEd#EO1 zLA_mtRRUcvhuAB4uEKaWP1v{|?u6xW*BqZIy9h0+4NwX4?;W64=iN8pV%Ml@DT;+z zqGa|EaQYBfc5pOul7UgTY3cWJ(+OS^z|Xy0O@%iX^i9+YHhA{l8)9gvcYNU>A}@)^ z$`=p%{s8PZZp2|fndb(nNyk7(d00BnSB@YEiO#Qwk+H6^uoD(chPYc13&aIX93Z@(62mFDI7MZ&m(S^X+9Rt zh2h*H#*&3j)q%foYKkn6zE12;idO~ahTr^Fekj*WY>{SInOmHzgssI^IO$X;s?OBn zRH2WkaS!O5%HrG~LRds|;5vDop#XlCPj4TR;(3ol3xc-2>qQx6Y=TjBN_s2UtDh*u z>E^z>dGz8C<-H-Q(>Vbxnd47dAA*zh;^A|=1>(68ufN`fGzFHxSLPUW&!(15VCpX* zFE8k35MhQ}gD23Hbmz^YnjIh-bi`JElTZ0 zg`MT0f^AuD^Ps}B(1G2u;0}=6)`@hUcxZC(|ATVd9VfS2uW-5COt9e7F%M_ja7b(S z-)u=;x@fY+Ma3jLwx2ck9itAeRzYP4~bka|!*@dSQPHT3#lfH(fmC zhN8>{LPp!SD5AZ~9||Z9K9maTD{q>dhC3?gx!!C!{Zm=qk#))!p`taaf8iEI^^drj zM)|r_v`#PHvZU04oDkRJonVJw<{kz`ixL!-WZ`j!h;9o}rQT%O{R-8gM}dAtS23nL z96o&X7A5(IH17rBbs8Nx{@|@wLM@XmYNw~A_evj^o|Aq#8#mL{u)+c-7xpRL&QZ^EmWoXmBb*%+)_ACmWfQ7(ecv75E z6z$LHMnANEfuDV`9Df5r-LPg9s=Jdyre3+sWouoA_U-x^C-wtJIQ-vB*Ve+Yi0b zExIUwd!PIToK!MrRh06<2XD6gcXJ7k>sa5oF7^Twz;cT$!3X0KPmUgYBW=W@buBb4 zoCMqF`SE5;_HV&}9)`@KEaG4=VaQ=(B6_PD>p!CK7Dg?Wy)k+FGq);5mdOxTiUx?9 z7re<*x>aGM_}#bEW^=x`q2dd?I;AG!$lSrM5%p}}ox>I=T( z_|a_WIiAO=QvrEFWuMT?`X`u5Kl-FB|B&bXkSss>QA#u?r0*g+jtn|^7u;KxBk!kX zRYN|>*h$$?XDR6gM+hZdP3ywXk)TJia@3@2S>HRXP2FIh+s05Ns4qM;DMKL}vzLTj z98Z6EmzMlUL-aV(L^4aojWzXh?|Q7I1Jax#Sd<-WG9Q@|MLlw*mjauh9d&(@&1VSOu1fKr1ilR z4?SNA+B^h(VKjfhXf~5qIP^f;SUDS)bK(d2?q0roz&cUNP_nt4Z8%ft^MUKDE$Pps z0Q1V>x+20`^)Txq{@-#*CtXN8Q=8W&y35v&*XuzLl!KtA&$h)1+PT@Ii*6<27vR5A z*cGcunQzBmz<9zVq%emjynib-@4HFbJhADt5TOon^QHyhcrtuvn@)=_z^7{L%v#s^ z1kOkBOa|yui5tGhOsBgxGYDtZ_(&>Ua(URXLJ8t=ts;t$0kyB)^w%`OYCPcv5 z61*k-N8-R)czAMQ&MpOtU%2E2idWhe{HJ+DrK@9dX+1CfSJLlGFG>GW`nS?+#Jiq< zlo&=v(K|+QX0vQI2VcJ~8puAhki(uIxqjI5H}QU4cIo6RwAXU{kUz>mI^rSZ4np>y zezJ)8lI)$qO`U_1`2EK?tKAU5RaFCG;9C8Ge7XLi9vbSg7Y!yC~ z?ofKj$@!ed=?l^?OTQ`of%MPd z+W$=mDUpUG%^$MHtqFT(7|`;@d%6=O9)7`QXE+U9XR~#aedp-)8#pcw9{aA3=D18O zxYY4_bL?V%d0%aWz1_TY+ey`eO^}~GPYPvKs0;IX1$;4oU3=t)>z&=szE=R@nNO?o z1)08>C$|ieYQ5`4A4y?!WVtIBs_g#F{Egn(-6xiV_GGf}GzT`S^5r{;22?Z z(h+Gn8Iwi$6J`qKb49`jtAqenJjGh}?;KMv3Kf|DxEGWENDXvjt|7nrSGjskG^V^f zAIt~say#*TdF?f#^R; !AecqWWwnu>dq_2UYMO7s#;oOKS7v(^z{gR}Q$;jJQk z8MzVsi(=&`K;??#vx(HW7g5^^DE&k34bH9VbK+;WcyJCcQ||sJ!`=25^LWQEf-V(+ zR(3bfvWV!)!t6v~ZINOz&r6)}7qkoMuu@ca;k?dGX^z3Pwb3c)J(vpt(cV{)KNWSS zu;mtmJl_ER5QOpi48l>);5^AV%T-4&rUhtFZYx3!tww!)Bn@of6@kH3#3nD#g9)j`G)qI|ANY?xt z`)!-l6;94D4KsCr_X@uI1tHl3z98M=H=chQzwzt^eBXrwzoBLRofh|OJ}TWV-HUiz z{o*uUaX&?aLj-fJaG^gc`#IeM?{<86qiXR{)J zhN@cHHK^VJ6kX!2SMyR1aOzsKw!f)cFG6GgW}#m0H8{Q} zH()TOC9=AGeSSWk^+3?=fW(0ztsOu)6&X@T_`zb`$4}9Zx+YCwoYC0)$VhW3D78xY zyunZ+WQCpC<@wHGXE^ooHOz5`SsPycUg8^@b*4gT7tEAJ9;ywZrbLb9? zYmCPPDg25#7l#wp$KpA2)0+5u@Gp$#esaRvg!3D5qp{j(<4U$G$4ljFdlkKD=#b$#Z{cKS}Et0DKj_9bfRgugVEk4?G{b-qOy_ zg(7wT4+h6vMbDpPtV22xD;N<;)etl5!Pk2{xR-C@G+!of3kLJJgx|2rwJkQMXuw_A`}~-T+-dqQCC!=5|Fl5SYKR zy*VpMBA=rK))&+&DZo``p7_+|25<|3$xo6$p)zTnQWdsGRW;uwOJHsOprt%7gCUyi zh`EI1ea!>ksPR*MessXwKf9@@a_#+mJMK%*>&ja{1phJ~{yls%&d_2?uq6I+Yo`TT_zxkmP-H2fp#t5Elo${?y_rgb94?w4#v4 z{%?KhCv@fROK>j3m|KQ^uqz!0tp+nxigcwSO(iB`*n+Af;|heoVKH4t3U>h^kS*Cm5*R+JS!4t5XY(2w9}E zOJr)v@(Ds_z&C z`)DS|eGd5`T!Zt(3d9z@r@xdGi(FPWWe z^T4UK%~qs^jzJ{Dag5hsdwwOdUE;*9YdtQ@wqaWIxKPtUHeW>Z`b||LBi? z*{Qg0#rg7m8fa|3clQI+GrD31`t7HXwA8;=OV)Z3kM^)ZL?wSn zhZYEw_k$EJNFSDdMEXhTE7I4c-@axS4C*(d-5u#H#WC zulgZ+!yB$2Y4Kmn3*=f}q{C;^A{{=P25aBQ+3{c7O(s+i|J;9)3X@m&IO^w;6UdHmEM>@KgPaPe{?vXwq{nU+*V_Qk) zNley+i&ZdQAQ_&5Yjp!CLRaL zPjVSHLAQ8!UN?b%Q8&B5|LGfVuc>=gyl>}_+O)0l;Cy}PXKcy40>@x5^dtH;p!zSz z_G<@I+|4_)ahn03-GomUf3kTX=^D=+KRqUM{BYrBS>d@CA8at^JBG<$9H4SONZb@) zldZR8?_NFh?V}Eb`@Z&>Y?ki8?*@s}1Z*TNS?`*F+J96!Aq}LrLGAy6%=%4Y&|5=M z=3y&YFi#Rs)6JGvga$y;HG%yW_BK1cY`K^Z=phee-%P!fq3&-p)v)~_nTzVybz3(~ z-!{wbwjqk)_j!_aV|SaQ0@CxoZNL*(44gaVSy|W_Je9b<28yb~fJi;#vhDBe<}<^A zfq>q&v9}k9Me?rg@A-Be{_WaaozjQoaa{U7>D|y{UzDCrR^yUI+c-@{lIMU;EhCYT z3=DPPww=PGZ}zA6WtQFI;XiRt3ww!lwNQ=t0=62)n6)a4^Y1dnw0+Y6!PI#wA`nyn zd;k;ec9O|?&-U9Wjy>GWm+W%A&HIVdM6mj~-DkPWH2Q{sur3=ORZ&bJE#aYy5u#t#J}P|jN+sB>m8;aav)qN<`0;s%X|4K_HHy9zOt1=nsg z0+$d)QE3TGPIn?OmD?4QC|#K%yH9E>PGA|XJz+Stsc6RW{gN8Fea8vq1_S$Ty6;A6 z$@iU^XsYHI6SiwufwQ7L$&_EEa6>~5r8K7n@`!UZqHr~ArF@=7OY&r>>h$B>%5Wjah%a)yn zh#<0NeBg%=#AyJ-)Sz|zUHd*sYOUjQ+uMAiYa4ESaX$&^_c8bD6i14Y`k?>k(L9|> zv$NL5`OT)lO$4=TIspuCZ6-OqlT?A2TwE2GzU5PqLV_{S>Onp9tzb~Ioy(25(yEBO zey|faE;gQfyHAsN(K`3X#XReG1lE*)=~CPX;I2!!#B~XFf<}zzq%4OB*kC$HZBAMT z8(rv@JS$mmA7L5IID%y3MVA13*wF~)21rl5SD^4NPBPor<*BV0{i&RvtAdze0u!pw zmAN`dmotV6ehVn;C61dvEa~e@_UKx)p1`WE_t&=8Qwi_x7wZhC4=F9k_QF_+KER1X z?AdJYlEa?|Z6NipaBg-0l{Bc=64`NAoUNlTymcLJvW$3V5(18X) zKot7wUuC=c%d-43A;iZGd0EE%&xvncHSsQ$2%p;ZNVC<^RPIiCimdnI{+8AW<6eK$ zBb!=C7N8qCFUyZV4xdkU-ZvPO2ZM_PvPjvhe?=AkO_dQX*`4=Z_TcZ&U-n)u_zHT! zb$^V{i%9t-)+N!MDoOmK^?-&Rs6s7m4ZD!syW-nS4Y6l!b07l@7*u|qOuCb#63@=Y zm8-miKoHE!2&sboWD!zj{=|vF#e43#DCJmF8ux8llTP9~<$<2!NrqA_nI6vPi-%CK zw9R3<$GShg6FTOZX^ePm%Lw?=6%#gJ$ho*?rBQPU*fHS<$RDPNsgQxhoJin~z*4z5 z$ob0KE9MF70#C&hJz58S2r<7qjA*z{!WSU>h;NtVJc*0xe9u*(I-P-%tUb<`TPK!JD!vCSruS8d^%c>PE-8r)~ zyEIb^s|aOT4QprFlpoHP?0V#zs_YQrpl_~Mjy7(aS+q=t1i$82efSHu2bEJt_Yj%PyIt26s34|l$hB9{x_A*ce=wnbSXSfN z50S{j+sLc|V(&`%ILh<7twWE07tf@YQ*eT`J8}BK)N?q^N)XjR_h_TXE^PcGsh|y;t6Xd z!=MkTvz-SpH83dRJAGuy%EmIxXul)fBi%1OEIlf{T{;hz=X;CuP{J*`;M=p$oGiwl zfB`kq^J*bz6bJm{af5Hu6%G0)P0>Grhp%u{HH^l5GTkHUW8w^&>|YPIgPmXyY?rs; zpXk9vnp0Ur*YF}ha8l^>34dq}TGv96_C@dJt z`S=p#j(9+6tQq;3WSrBNPVlG6+g&^HpEMpTQLtIw&8(Z zV+UoteqG$vSsG4#=5;aJ&6h4N-!#uF94Byz`~2MpHF*C&X1F>`F(v^A4aywjVZ~gNZI>c?tw3fs}O^ou~M@uQ24Nj{-XR|RSbILIngpkF2BLlZD&VX$mcreVf zclS7+weK9tGc=)An6tdIQ*Ng$x6kvil<_PlI{XT^lh;I)eTv`P;fs_|c;=xxI&a~TS-g>6364{}e zHleUe|M*=Lx`8=ao=}-y*e~RFnC4!s5~`CpV}l6MtC*?Bl@Z5_yG4Qa3pNMW!#OT5 zI^T9VxCp|>r+cQWtE=bN0}Q@I10+CVAOaAYBuMS>&l!mn$>9f- zh7v`IkVH^y?j9Wz)XI`ES}yIwvs`^JG$mOOy;=*{Bd?Z_kL;t7btEsi(y>f8#AGtjHHHB3`_B@!oy9_a3Y2PFH+1t$KC$kE)h4fAW@&GdZ!) zoow3en@_h@)w;>HqOf_i8H9#o*6)>rXeF*1VNgHPEcUH1Zen9ZUuS0wG8qRDyK+g6 zge}0ymSy~Mn|nmV2(7jbwW`o=Nw;=fxJjtW@me?0UPRm7HXa(Pf`%KkF|obI+QNj~ z;WJ7{o>-`{%;}jv?~)auZ5cF$Q_L<_)w}DQo>*TUq}q6b1nq+uJ)dEH%kuYh(?Rz| z)g$np?KE`b`Ur&vP=EJ(wE07mjr+Zcsh_@9xwhlGo^CKQw=1qUN+z$!l^=d@l;|_R zdVkBC@V*AW8m0Y|bQkk?zERrIUaDnP(D2(Es7RPhr9P{SYlglV-dK&I*T4cL_Iy?` zm&z7&zo@8Ru_uXh_-!KI^MJhtmYvJusdy+m@Y((P&&PQ>r4IMh|LXPoP=lFB*hI1+ zdfqk~Ts5JS9bvh2P$#EPZyt``OIg&l>H-1pZe6Nq9>ksg6ZZW-x%&Q2hxPpg4tyQbPQNuieL({ zpAUU=nPinso@2l!|q?@tPF*U=3zlNb%x}(Unp~LdDYDe4= zAi|Vd)5-AF|EcIONx^?RigWq$hG|)*WfDi%9aLI$RiV13SQcAv=JLJFlb6qtmr>h; z*Cdmf(sMv@v+&jsD~+C}i?HBLg4VAbK_#O+JIT#L`JKyl;Mq=y=4-mmkVZns_Aqmb z%6-k)hst-E#eO`l7oK%|+mtnyx?47Fc4I@tK=Z*Wl)9dPE7MB!ACcBshTHo}o(3@9 z&>F{hx{NS7gK-*fMt{8b$$41EjIC6$EVg)ccK_q*>#n+etI&Ext%hL$#Z@Vv!4X*T z-v(>`hglnOw}~u*d;B$MssYxJCnna5ls?d&py{W_dZ=Zz))Dk_&_n<6W%>J9nTCLc zYwWsUb^VeKN}lXE&FT7LZ?QhpbSgyGbz+!_`z|*&&pID>Ks3+AWC^N*t+l4IKi+aI z=UziYKpMAmw!b_vvD`n~@jOkd+IFK}Z`eN(O->wcLziz$gzY;_ur@|(uMQnZq^lUp^j!N)n-Z#9v@vz~j>AV^ z8$v5eLwhSt=`^!1?Dw8&rZrB9Oh2wr98rD4FoDfXs}ynTLah`q1cSY41VtHSysamc zCb|tP8@QCSOZjF(iArr(mR*~w<%@mlw$6WR5S183QQ76|c9$hC*xXR!$uj68@4O!O zdG~^;aG>$K>8rw~c(w~wZS*43TDU0^B0ZHjkPAYgflCfS9g6;fd&RWyJ6Zw8trZuVHVnt&2ZXbYc=p z&#`}Ssw;N_^T}E2Ajr<*du_eb(d{2sWryBO6gq=3O^7h1DKju}O=ADb>1o1h==i=g zbqDDfy5s?Fai;oi@;>{44}9S3V@Q0Ba+cDw%4_x_b+9rR93Mlj;noSMyHjP`3T6IW zcS`q5Zrq@2$u3vt^D&V$GHh!%foPs4uN9)!E@Z*X5p_Sgh97&z7*!!zc##oo{-wo~lKUUj9hcM>>mA_F6(Vag8XzgT>N!ae!Kxr|lTJjamR62&YI^PFY@nJ{jplt{ zPUfeQ&@t$H^R+V4gzLH`ko%~G>*%qGmWwHwQPl6EZ)HdCGxvZd>Be0i<){PIVjY70 z0lhV0Wx^irUj||=$973ZDj`7NjN;p&WuLnlvr>9%*zO%@aZ`txUL&>vwIO6FaMMLg zEh_L%q}cn>hpA?IetqUW54oMlvfey9;JiI%R1^}-M=CYdVAgXBtnfNpv&I}(CP&9F zVDkIDxQjRsNc%d}OuvXpkh_hic#`BWd@3@H9m9EggJ-5reD>j8xw3Qhs;pa}Mc76V z<@S^m-seb|;T^rii#PVmFY(C19PzIKAwW)KYR3(C`&m`tco=wieAht`_~oltL1U6_ zVw*_h5~-GfT~3TFkpe#3OP$CY37AIwEi}xYCv$HER#onsU_J|Pi7RMPw0vW}T#BrUQ zDT@A((>^*ejjpe^1jGj%q6-2g_9kut-r$yuH;cN!p_8LFy;$J&ZfsoPm5ORJSb@{r zobg<~$?%t90r`v7a&w>i2GnX*T9-~po6=e7c4k?9z4UKVq(%(S*>3e*#MZe-I2%*5X46ni1726!oJpJ_3TkO9_I-TR~_VHau<_GeO4NDEN zC5G3gLG@?2)j)f$6CMwvDEcHv8b%mm_McSFb6l0?q4uwn-omZ*%yYhpt1XwI|Mv&W zED5=WK1=JUY2$qaD4dqLZ&#OPhi?+@bYIdcB2agj6FJJa0fw3Xw`5(b&8dVCS#Krk zs{BS+m^m?~+l?JhBfn1#*&?!Hs!##TR;ocVi!zL;(>1j-qr=Her&mu@>ct2a5L7g$ zTHEHn6dq($c8CPQsnr9p?L-QK1=CF^AmaI#c8 zw7S@kJH8WPlfa=PHx^e9)!JH?AVS-zAFk7+TgL}N79mpaCKPTKF+jrh3h#HM!_YtP zKs#YM>m~sqBuilhA$n&C(rmR^_o`tDTP8W_XHHSGnad?(56>tH< z3{VJ#RXe=8I7#C}b)bs`Kps3^>n4w5qKl0G1PT>6ysi_$-l{;BlO zq<`UHS_~?E)U0mNd z>dU%D6dlxQg{p`!A5pbV^l9iKc?CN;SA`g5qk~@SLF#>UvaBp$JMV zj*KZfpc@+sCUc*heny0)^O|YtezhL`l5Z}IWpqUL;q+x*dEs>9@=`tV5)W+8*}A)*g*1z4vm zz*0o!MW!kk2Sru1Xi){<1ANrv@I)?y4}-pwGK5j|%|=6729AYMNXw)JGd_-Ov_EPO zsHS`~0!f?dCyLX#%G9LiSE@%+2gBShDprP5!A}0A?oCWh7`Aihh>)xJPE~433oI8( zs<*m>{$6kAqm5}5Iwn`(ZW(i(e|OVOpSbC!vGhD(J5Ex!11svRnk1ZVO$Whr3*^nk z3l}biy9xYZEt!Zby4jhv-r%>UL-@s1806SAIbj=R&7{-R31qK1c`9+P zlCP^lPyua7)pU5ut>Dfi47mx-Fe~n_Q_B6zJvv#bn6~9%Xq@cR$gSG?lB-Ts91Y!c zJz^-TVd>VVJH*r-(>5*Ja$()(!^|@&>n03SyVALKM+gJe)D0a03N%9=$eQBOSl1Oj zk4^eZwx2u@v#r=k7S=H_X>x5vTouzO6WV+DtrpjqnXP{@g5|`<(_9x(A`Ca;XPWYT zK6njgyDY=2WM0EpI-Sn8s<3&J!XQ&_Rv1#+io!6?;8R`U9?Hc5jgW;;G1PH|)$d`L zRo^$XYGO&m3%ZMVUhW~4ndsnKp;|CSv(JWRf49$FZ&%InUSp`1-`~ZBj;5HF>sn?+ zwHH_xm4Xpb)Gk;NZ9G3xbL0!~LslpTercFqK5{|#Xi_iqXtR;?WCf$CbKb0QpKFra zRMGZ?J3K&l4sZx{2Z7N0Hwt|{g@4NXvlFs3bjeO~ENCpNSs<*B6ga?Gqi*Zm=+Eir z*6+Dz9i8V!O8$d;-hIzd+0%QLeTL{Pl&QPB^hfT2V(uAJ{8_vYZ{T}C-y;iTL9)43 z1)&JnI$b@9bskpHTTNjJ=7I{kKIm$#7rnOYdv4czq`o*Yu~=^=?WsF&Uk$?5+wYue z*CwBssI{XbM~_rH^~pyjaPQUcq*iTk#~p*3opwCFZzp6O>VO!NBn`6sR4LbhRzZ1X zvG&;E5VRw!I*X-=6RkC*8trhy!eO4s=8~cYaU2lZk(Ey>a)-X#a0xfnr>k=dLT#4#x;3XghV{fI^CwAiOG7?qU}hXv z5m;no!h>iG~OhbSZAZWV@TmEw^K?hwa_uL;500bcK&*+t(uILp6 zbE_1mvx;n^NU~++r;F3KQx=~5I{ra7I>68uP1BE>r<#$Uoq%TK`V(stK5n=26H3|| zZL;kKmX=hU-H&*?Wejp2&z2zK#!x(47pUdXcsdu+aXEbLnc8$RQBRbL>sA`2K()D@ z{^a81-R`72D8&*x%znCvV?7%_FqG7x*JUfp)2YMr|CREr%*z4Yddq&|^M*Vg!} z=fxwfQ}ZP%fQJ5EjEGV_mtgiyS?>{V*p-JUr{R}b;Sc7Kg-?o?ejdyGLSaPQ!WR{G z3tVHGAYW#g9dlQWMj>lP@z&1|Rqe6D7rdOj>sns7A1y3>Sumtg(4vzz^If_Rb2JVx z3{Q)(yE60y4i#~RfW&1sRy+MjT3wldHB=n&~t{Zmn z!S{o@6nIo~H$iLHtV5Bd+uA$Oie-5=A(5xpha%IkwZl%uwN#l}zDJ>VyIxg+r}c+H zm-pMILf!|OzZQg!X<4v>_)igNVWwj^)%s}-w7uw%trAUTpxl6A|{Y1Foi=#Zts z?TTHkR0Gid@2OW5YST(R*5NDVVWOCAA65;Is4AgmSaAr|^r(ahicx+?rQ-}~mc=jj zbAV*@K3MA>>-1rSW8@w4Lq`9u%=p~R*4_D?f1g;sX^F155O_qELF=s;(Hk5Lee>_M zgCGrpe+&l#0?y=j-=|?H+ho>>JZ zY55`k@m@}##VcrEwM^eiBBP=j$OA9PDz~Gnn4hO&dS*qdL>T-ai&6Y6ua&4O+KAx# zqk;k3lNiXUX}}ZHH{+_|dD-GyCMwJ{=A@5Ff6!4LR)%gS9GDLxv;8iC#xyG(mX@Kt zS4(jpc|!SeuBS7Ib($#$X}_h@_&Cq(aSt`KEx_^HYDNX%n-gWn* z42Dj5>pc`6GUR)hC2=-U;Gy^M3QcTn5&zqnUMM|JT1;Y;<1EE_9#WZ~XMVxB$9O+X zrobi+LJS4N9F5itoUvbo89QR;@xn*o3Py`u!7undHZg~}ek#2P>((jenc3~Pa@!v3 z4B5;Icb@^p7L7B)clbQpbjF?KZ-1LvPnqHZWW1oLr9I1-p^RW=P?)J(#nuieCxzr) z7DmR*-T5kdc&;!r-&5SExsw40mcky%5{9K0K}g%eVZDjd z7QpygWpXsvM7dC0CPO^tnXn z=(nFO?Vmw4Px5u(@5;XQ$3S=DKWzo7SqbD-k?Qtop0hJs^BiI5w^FpsqWD{L=pmqU zZ8@&uPIfxQEH}N?P5Cr#?%;$8qEKGUqGZ-`5QDE9)daX3*j3+fbko!w!>_{S_}dz$ z1!|(5D_*6#MjD2JsmS;FMfvuRY#=7Cp~}fB)eNb$h6|)0!x?Q9f_DJ3ImWR!u|^10 z5m#NP1hZ1Fut@jQq`S;Ea{FtWP;ri^q@%wq8v-mz59?QH9x}y1esERs`#j50UL84f z56TCA+qI^wu;#^~WreX<3x_U$o9AK5>U%TH<_F~yyImPqXntAJi3dC%>C5R2I=Za$ z_@B;tnk_SLtV^si-ylQNp^x*`*bVlI72CKOWzEfoeSuiG5G&`(!M%_~`VgCQIDx`_ zC1!gB{a3e(T;>ZySurd_!CLlT(LS<`m@)8%52>aK{}>xCyuux2L~h*jGJ8sCuDh}R z@k3j3Pp2K&WDZqS#?a>9|`JA&@`>bC!Rn70M_551x-FZ{*c^@=xkxvk&uGTVBe zecl^u`vtzD7uzzRdl~8tc7pqdevHKp^@oP^ap9@A7s;<~|A1y3t>Vfn+E1PtVIRD0 z;}!2S<+hqUr8^H`Ifsxd5JmbyT$$ zxv@fts_InrOj{3OF=5_dfBGt$qKGx6Tbf%7(~7M*x)s2ej%UfBloa#MwDc3w&tmV| zw?eOO|I)Kb?+Yf`g9Wc_e|v!Q`$Nti{Q0R@w(~tHCO~NjC#)eYNYW^R&7d4R+ACia z=BE!>6-*+rVPPVP%GOSX1opX#br!xFJ{0kj9E%&#cBH-Eay^^a@VkF+yiM%cafC!U zU|GIEFotZN4AXen=D8=CW!vX(4v|zcetP@!qwuE(eq^u20N-*#u5KxMyc|hB-q7js zb7dtVdS&eC8{tMz$q*?A}bc)@or;39SCkn2LyGpxLc{mScI z95!gbPzF564q49R!@#pPt|r^-9R|I?VqH$c;7<4^I_o@q%evd?>f-8{fWhTI5FLvc zFw&#m!>Ud?M5SvAlyX!viKWPTw`Lm^YJ{5k^OQ~=o@kny;%Ry*sj$l}NiC@-osw>sUXQle9J6Lj zX4>9fuC9C$&GtC>NxxfC9fuM)Fua;`+eMDrNA72Kh0L6w{wp<4po>iLjv1!!o4`r6rrBC)Jqc=Y;e?9)pSiiF_Y7 zGg9Q%if-8|Q?^`m%WPx07K;dvosu&xr=wj&#&V;<`NFdCIAajACp4J(<~*t6uMsTM zHq4=V{bymO5m18l0J(sLZ!u0pY=4f|Rk|wby39QOhTFEK^JZhCfm@7+vuBoCGb);H zr5yZ9)c;&mLdlv+zFKM|UTc1|_-|`6w1*-~MIQ7cWjdiZB2H!=6-!qW?yT0!2ri+z zER!;w+j*YC^TIJn1nDjoWSV*JB1;*Ev1%`Uw@m5_qJFj9U{~PKRbU3W1y_u=%&pC*9x;sGFO3bt9NMBQgbH>i)xoeb^tsUxH}V)Db2%- zaE2i`{Ub>_0~OmdqE;FeO_#R~!s<%>vK@HZESkEik>u0t9 zdBdR8b?HxvAZ<-lTKOiGJx{Gr+oqL@tn1WODID9j5?8S@)mX7tfC(#9Gq+d;e?_0y z_E1y((NN2vufTUPA2W*;vLzoqHrmYTJ5IYXjN86Gg}NuG zuQAaZ?(FT04?R?0dFY{V<+V+`>dl;c-70+bQpA1r2hQm2cz-PL&LvBw^2+;!XH z|9jNX8RzA$RUhaiUylJm0P0mSYz~hI73)O=`zDDP1jeyPZh^8 zP^ufm_&r(P(sU9L@-?c_(~3=%O(QXlm^4xB8;%2yrN-|OctqE>Wch0{kv9=5b`yTB zXYs%M{YMW-0V?$}OW1xeS`@0&Z+IuZLFvJ$ie>p5C%kXS2E~~7mjq6dDa{~O4$CE< z@@QK=EBEpg1MHx$iKxT!p~W&)VjAg;MSDG##P2!jHsHI`T}Jvi*)C0pANcdSC30v?t0J@ zFhDHh@L$Qy2K;o+gWp)JEozIGIB(U{a`R3ZbJAeM8uAm((N}X0{{lRG@8Ts@aJDYr z*^~)JegRi=Kdr++qoA&YJ~H@4=xINv%4_iaSD@@QStVUrzNl!whWNa{#$4fYJIY~( zMJ`3DC}OZKQ13G*(810}RCx)?dd)A%>dy@qO{#BGFn0T&Xv)Rn4Ov_PqpvlNLUq?m zkme8Y_dEdwF9FTo?$>#;{3iB7N*_l!j-j`f*K}2>$@~gH!)akmKFcM66H<(Rc->W$ zVd$Wap=bl1zYw>e(!!hlvP@M&x1#h`Sg>MdjIG)XnO&KkJ*PxL7|w~iH&-!&Zn7gA zM#ZZ-p667(iebnXW>?tb7YwV~uBiEK?ph=jxkZrHIfjpk_=peVo_Kq;w@G+BWQnl3 zV{0sH1gk}N*t32UeIz>FxvU~5`DQqrwpi7B-CQ-#cDz6o!;;>BmH4e`Wa$XwLa1U? z@2lzx-Qod&ch0hqvrpQNuCWS7uT!deGuWVtUhUq*zMT~zbGtYYYPxNvq-NT>c9BPY zwbNO~mfF1vVULA|HB~pXiD?WDPS1(0H2$zu?Aal{QB~mFh@GNkhC!igxLt%fcXKy_ zIh^y#=se$pF{oA)^=ZZWHQe&|N#O8C`+~#v>jOK&Hkte$492HbrJ_DfZ(;XSKjO`G zQS9u8JYF)NAJKMz(SRqUbE6rn_c5b(vnI(Xn~1=?%ciO6mI)n# zSh}3Gr6jQVr2oYHH`Ypi8ydYQsA><%F2o*aF}oZqK5lS4Hbqn$lcpmuEfK z3l}H8G`PZ>WzECbbx&b7oq{f#MfR=bNI;B?JmzMXyH`fMAn#H^3xCU{Xp&Ldh`toq zpR@zrn0j=|&~aZ5X}QQLer&S(Ev(JAs*@`?_x+Koc%Gt`ah4wm2P zldfv5vY&KEgc5dmuBXB+oc&<7;5MJR8T7(fQJf8ihKRLfRl5XLWOF&whM!TiY>@&t z$&`{k25T1WZ%|GfcG7qNI=gAAsu&X(1Cjp**O}!X{T~0w-&cCs#;6>7N(_+PR*pWd z0mvfI4BNYQt<~}KP3FmzP4o@Q_nnQG{sR-kPSQBnNF1C|9>Mp`&ZhrUv4;##%1`Yz z!<6)Olt)}j-Zd(ZST-R+C87+zTp@I<4g%7{U2`jeg_pc}qY~);1x;36+!(jpR95sK zKcM_6?+M2&&s!cZHtbuB@mpe^#93arTa*KPIycRlDRBJt!12_az3FO=ar|^CO6t(9 zTT_wk63>pNwr)Knm2K3HG|Rk1hw|U;-|Wv8$mdV*)!t8XOUMTf*v>WPA$HqHJD2Tk zgO}OF_HmqN7$)P5Htv=P$2wq}mg_UmP~h&vnI&sWOdvDJbAq5VPM7C(N>*QP_pLRk zrc;cXad2EUWMk%Fb-c{#$4Yr`6C>uFHHPZ3=1>jYNS;1mm2-K^ef%+7#qBI||3)e_ z*mFA|pUs{wHD>y3 z&VvK#L{DMdqw2Y$t_M+pz5-RMc;T$WDmX$v%GHg7OV#~|-b04&N%3AHb6ulnK>w`R6sXM-szfCMlCd5{$3hKTrE1Hb8go7-@8USwFm^8)01AhhEc3WQHj@V>8Yu0x?PhQr0*SV{>Bjx>gg7LF1Yz)Kv?00f@rfch2O1yGhph%V1 zDe-2TcwW{=Z6lsZFj!*Cus005W0z}}ROc%~0NW8lW<|EaQ1iD5tj{CE;(hf8-$zJt zII}ZJ(C)Z$I?$6%8DXYbvZeim08!l88Z}>gQ)Mny-sH6A>ZVnno1HL>>9H;P4wKeq z-QG=>lFrRlOtU@*zkuWHyT%WxG4fzowx(#WSjnaaL_ERp!&g`y6hrO3%vlq}fr`=q zg>!>GvWGNKMr6S)`;Mt}xLP88n5dqpR~ILd@k8Ygidw0TgL%Uo6jpGQv-9!2|F)uX z53|SQT|dw5fV!}m?PV_$itNVdVr!ePF84Hl@xGYJAJli=&%Cy7NZWa}WYYDNqyOer z5>or>ROem=nN_S?4XFXEhLPSX4_O-rXi$R_xQ4mw3ODjyfrZM`YH8u}eIxN@%bBP< zwj3no4p{CAKWBJ#H-P`#x|h$P%Vd(-Kn{Vvk9!yE#q0C~)5U-g7!<+tYG9~Z6zQrF zEF6g1mSSs0#W8?yv8H%d#c?W@r`&UZN-Qd}<(Z~ujp*_wLn0cm?6k}_#@BsgmxV*< zXS))|r@dXV9v8(5@sZJ`W3j5VvM7^0P`rHD$&AsX!}Jft&V2zPLU4;*0C(s3a(wJA zN;jijVa(W#anqewv$vXRdUuZFC&ax2&41ZA^tV+mT^2pp)ZAv`+aS9y?l~Qbada`v zs)bN>1{+e^o|9v-j;}(SoxGmJ>+S1c8tt{1e_Y{S9Stq_-`rD1ZVWxf+(Cx)O;ZYC z?Xk|{d`ls5S(F@*yC@IUK<7}3ovao1twPqhI-HqXqeCa6ieU%w$vChLg}$)6URmc7 z`vAW_GI}aP#))>>8CO~1=S7Y%#3N~t<>*^yK$R%5`7!J9)^$rtH}W4k#Uaa!#6+Uba&CYBV`Uk%Q6#Y*h*+0*IPS0 zeEkA<@Zp#aPvNJgDkk3i<%(w9d#|e+zf7oAaaB7^&!(ZRx)qC(pX5M>UqHlGo0L)P zE#sP&`>=!(p$w7<4^fLZ&x`s4Lx-|H%r`rMae=L49N@Ssr6eP!O3y1HzaWU04qvEaI&ro)61`A>jK!j}r-WL*_3i z{XN@5IaQ8*?Q?|TZok)s)kC(Cf?Zs=6XshiO``K>#a;>xv7bjFO!*YFAInzdsyYQK z3WmVYStr zjb&o%KS{*&QRH8~q;OqA?eS=rUIuj54yFU#0yNdf_>58bpmOYxIgqP2p&w=e`<7`; zI!x6=S=xr+6Z`qd&eAoP8I#3>>)ZUb4_~KtpU=nqcUaOhTYnSb72e@>W!{!p$wgkn zMXpRKUn=En&M;9`mDhS$7q8(S(&+qAP~Tzjo_Ya7#O0KjCLYP@ON^*~cRex^6i19w zF&F$)iIV41w@M;6Epkg|{(VQ7e_vgik&a0lBKKBCQ*SIw<5nut(Ibs5BoYBunY&`Y z*N4BW5!+#phM3sd*t(+Inigx>&wA!cxbskI%6KF?3}xv~b9)us#@KWs-9FPjntcd=WH+4=EVw=SAz0XJ{9Y z__r$By9HliEGGUX?iz7P*D$#{3{%Iq9LMsVzhlg{Ou^tMbeO*3hOim^;3erLHWw|x zTy&F&FlQ96i8hqTrm>SWX-G^*XG4?onu<(tC9%;j1n`tRNHJH<`rsO;LsP94J=7Of*{G=PpcBr!)o^7__NoDgC;TCZjRaZbRy38T)C{va+0tJ>I7|3@Tg|USj33EobPj;yFt6pjoQtw zHwAz7;D)q)=i$zQ>}r|62d_W#L&;ZfIST3l7H#ABZ!bQBQC-`Fd z#uj6eRL%>D{`RB3GCZdOss$T~kMa-?7kQjm$?pY&0eqfEO%;A^OVT9hCvTQMB7F)o z(~Y{56iy^*?l#gHR?O#ELd0dlI|RqD(vcPpOW8sDUyCDMLC0|!%r(QmV#&{VzISA1 z$&&IctgSHRAl3rrYMX}!lh^b7a$CG;BPZF}-Nb;>5dN_O4Pvu# z)TRb)qvLOEsp!uiBkm+oRCp^j6`~o6YQhpd(zUl0*dfB7Q+kQF<6uN-=w^O@9kEDB z{E$cNpG`cZ5)T)6%DGJ5u(GD5L%VV1TO&zI)U208LIJ_`kC^x|3Qp%e=6U?;B62~z zF!2y)&chf$Eys`Z7{>mFbUV`l_v(*b^e{tgGY0wFS!?4Ongth3VYaw6eZ3>TUPmaj zk#DyWe+!Ab%TKmBZJ&~{t%HD};d;d2pB}&aw=!mq!n9Gc{!NTGAi7SduFFQD@J0s0 z+}j^hbcNE{yJistRB4=Ti_eC*4^xG#Ru5NI*;M`clv1iG{=Bbfa8^BB*5J*uLrIo`r2Iv&sWGf z)#knB0xh@#y!s9;cm{X>L_y97X6aw2I{Ostda+PFqmp8JmFEZeyjXVlFN}$|xHPjq_p>Z2W2F>nk-g6c9q2ac ze(4eP`$J3AoN&xWAT|-in5+&s63z8e_1y}u5s6NA+T3PB5jc`fO}{Q=8Z z;NnJp4(R>)$zv^;d2FJ}o~@V_7i4D#B&Zp7LtEB5u;%vwaX^m0{7?stP*r4j2oaTa zRc-a&0jf47RK9|6)Y0KcQJ~GkRtMBl_(!~GKB<_Kmg_ppib3gws!o8ETyfh~G-*(V zwnZ77m*T3l-c9a=JD?j|m{dm9P^8L;vW?}HbQhnk(H@X~Li%($uL@4oo7^9hp^E=Q zSf+2vB1yCk1+?%BbeToi1{N*a;V$zmy&PxmHm`IX%m<2wLtufiqw{ik`$?s_RBs-g z^gUH};8C4c7pjU*tk5By{_1uKqhOg**V}CBK%`!3PH~@IYHGG3Yym8!!I5_ zjL7pVD%}7!z4X_hGQB36Jv5h4f4YjO8SRG@mi7!3C1p#sEcH*Sb5%K<>CUI}+ffI5 zJ6&WkRXIH!X6@XMqCr$3husiqzr@w~NB5_YSYk;tj?!|zvIS`ovyU9S?XW|pF?@@9 za<9Ws72zwGs#;TIzlNPbOBe30DNiVtZfb;Bs{C$QJ5YnysP>3PRn3I|G?i-G8i+2L zoBe+9|Nh`VlVebqTiNWxGCANd>htJc78th5Avj!&GsQq9jV;#^f|*T(&^leHPO=G0 zsh#=F#Y(g?OO-&DeH)fJDs}DZWUEn~_B9ow*c3NNk4#S-u2<(1y9#=?d-&YRO8YLd zG`(^At!tHrw*?~3kDV}y?4Ua}ITua^W&{)m3eo4n+Cn`!w7OWgjCrqCsh$0y`;O+h zR6uX@*}Ofho$0M~Bv`)TaM2dH%g!C>=ay3=4uRtjLdH zKEbn!QXq0X0X<m!|&J|Nn@}sLJM&ej)%`MF&i5ELx|e3*cpFJ*=tuA z2~sZC|5Ex};HfmwHP+$qJ%9E=!}E*}8lS#RHO-$jP4zY<%xwVI;CWec;TPSQ2U&4c zhkyN^j~K=Wb>G)_&V2lCSm0(q#@x&BvK3~R!dz8STl3^TEGU>GC$7JzT35K zEQ7nvh78N4u!(B`)p8eJqg${T`TE(6|ksMbn+fV&{;Ok+Tn zRAq%lZm(#{28a*O2&{@jDwb25~ zc|+80tspe(is0!Fz6UbtDD!~BiIBQ7VlRX4E0Tu{*3l`eD?YGapx&!tUjS(hkF%}B zsJ?vS#7cwIjvPN(165@%Iu=e)T4|ycq&eACWLs&vptDYd)SEMj)i`^0ZBm|IKYO;{ zgjsWEs^4)d^Zk?SUC#=MPUk!&n1tsmQ`Dx)6qI07wOIkZG&okBHETxI370l+J-y)i zi>K!>sJ||9X7jaI2(n-b`t)JxDD>-7&?SNw2jm$6W`_3=>`TmTbZx)nMg4FTz&b1NJn4Us%yLTg#WP80`QMvK~Kji={Dkd5( zUE+zB*LQ+UzDXk?GLwJ#JvhUEGomP=HTSf0uCmA5qIeE0E^pQ zY1^Jv@;rdELMKC+VZqE9N{KW9ce~ONX-zsQodLOchqMKf;|(m^%$uaQO7D~|N*|Oy zCVdiQ$1g~qlfEGRvh<|%G|CVioyU73<<7|8Niyi9Oi;AB&{*s0Q0+EmoIZ`HjeWJ> ziq-OGuisL4-LIyD(*#bNBwa5_8IU9J?nRQqvJ{g6z;9Fd>%s3*alT)NUQrdQ8Lc3g z3xZY{&asmT!_cTQry7=`{6I2PPfs(KWXm;Rjn zn($x$jiN%4|CYV$%j^|%VZc6n`4vTE`an=qJxSW36XNr^&7{Y#V+`%9_auNo_P3ORxG{)F_4Ilfhq zi5=mEu;&gRW0uHp=*YH^#CePDMU6T3*{0H-#~$~TD({rspX0*s0F!Lr4l(tN?b!_k zLo~)68u0DNlg#mK=&xbRg?0VKV)@n{ek>}L6(aZ|yD?f=`KhRQsC^Z~*{>S5ElEWj z4Dz}uJudxMySXh~wNvi6&0MZP2C-1`p(8E}vhyBx{&B}XgZs*lu=XE1ws`5KBOTcR zD_DPa+I8gWglSGxWygKX-aH*;JXD|k?cG3)A_sEO2s_nk&f6i)b}qy-~V}>d;bgf^>nED&%S#7eS4@qK@7bbeg2E3MjY+`5zOYlG^YOpTmFkn z9OgoK2@mRp3!ixvg^rVVOe^TdsBZH1PGdUZ$?-wRb1Rv+}tT#2zNT|-0JjrE`Ba% zo{=+r_g=s!-jShGaD2DIClYOKn4|L+>E2y-#a3o^W}yJ+aK!^;WMTb7$few6lH)H8 zT@-4@1s?Np)<}F}IrRz0B0=&S9F0!RQ?FSM79$`a|aZY8ykne@tI^V}U}s(Ghxc1=f2M z?aUF({yL($gNT%I<5lMY36F>8CsJ#6Dm;Dn>3C|^jB1)cb9iaKO6r#{KT%(*_~9LQ zt&rur?udN5y>xim(I>l-RNzV-ft4C&0=KEE__p zpS9vlw}uu;b1BjVsdS#zPi^O}acbr=SGQdP3Ih+P*%C83L+~-IHe=S6t5>fI|Kvt{ z#KR7XsmVd&5yU>Y%p8jh`x!LeKLe7KEk>SUzOv<RAvYc-*OffK-;QVx;T3qh5 z+wkv^y{PQ8JDv94RAhbz+|L+MhIzln7_e46f`B?Se*2lhpE(z2-Wo8Fu7bqMd^Y}F z=Fr4EH$q={X2XIc@uJ8}b`W+J=8)sM-9ewD4d|Kp*-8Aih;+;Gaaml?5=h&7rMHwl z(1)N}bKVT$o#sQcC4gN!!y6_;fbgK z5*EVjGFArb#e?1wf5XEnve38A1`C7B(RbnYalsAT0TDR?rE4q`bdPy|3shh(BT%Ve zpCkDPSyIw0i@Qh45{5|=jJPxG3pO6HKHn0K_Nw~lA|CcH)Xe!_y~aq+G=aoB4peg4 z*<^97#CO7M*2w)cfM%0r>^g%{m+d^Eec9u0D4$cQuP2!!8~-fN6G`S4F39{=MtA9O zNpv}4=asa|GsBY^)y<(90K46AMYmYrgkqpM5cgEf13!ZMU>UU@!~9zvU>bq0=sN2O zW}?C!Qtr70y=@U5)4IIdogu=9)FW}4&lYE}3*%-f^ZJ6{o+Kwo;2cr3KqfLZCrk>T zfuZ{KNa1nxt~7v5Vn&pJe=63J8n>S zJKRA)xSirpdHEs?4aE- z)P*HQhtD)ikdF7@kA0%L!e&@RvhJ~f7}T-gS-1tWZj8$nv8%oUQsEju$CZHkJlkXA zHxTJAf9&5z(Z(Z>Y#l$|iJ~?;*@2Vo?Py~=iaKG`IUYvQ7JO`Vwm=PQWd#;K1gsSP z#?npp&`xxGdkYHMfO4;}^NsB`6pQa_hZ|8ChL1#&6z6tD%n@(1m2V0f+BD0Xy8_xf zTD$L)eyFrdCPj=Ttv<3!M|R;kW=2PLF;+1}gefE#2&wl4+qjA%{(5l=2mF1XF&RUU zke_%11Cn@IEoi)0ysy^>jb-cN_SP2Ep>r|Xx(qtXg=lMonQJ$ITiaX5!!0;{5zWKx zXbWnK72b$8;37I6ZEauKXcN7&bpd{M8Onk}wyy9?D73Tj2o%hI!~Vn5P8)c|?agqu zf%i5T8;5dwFzleA-6E7AEICY!a!W5OL?QtViw7vOqzzG@^cNdzvn(B;vO^vDQ#ub^$P1C|U zka>8#_*FpV#5Uu&V(EcpqU*D)IF{}!m|(#%izX2{;xpU+9n2<><5M#v$}?oNHaFTb zKPd>~AD^cNy(G(*_{YCENc)s)2Osare~lllgEo`!i}+t)?#Go2#xx8zWnP7%O*-o= zf!Q4Mj>yMH?|zucl=fzK*0)u~qZ;u7*QriL6ehhz!*K$~G5=6i>QiKHvK5=YLr@|r zLCrG#$=1|cpt!& zb!o9USQT14CQlsnSg6@txAR|HM#a}P!>GB5@7PXjtJP{dNf6AP4y)Dh^sVqQnd*Mk zCRM6B-ci4DwrW&lUpFixs2}e4`|n(f)w$;M)^u|YJ~}gNp###%astbB3OV>9{GT!e z^vvq8wkh}eb0WE3YwTUtXcN?^SV7I#ZDUJk*QR6nb#`qV%erk<1FPxQr-GaC@sS(S zknS=8n)ZmN3o2`Aue-^uATjd^XbmYS^_j`$wBt8wvrX6c%h|~0c21nwR1!a~SNoL- zw~$Xf_gRVYxvG|b8@C$=VXjkK<4VP zpD3FrPW&VzsE{Q(aKDY{H2f{QfVzih`2>5zhYGn-y!?-`+&7gr$g>w_witL<1$1p5 zGdi}0*ULwDezdAz9Pc1|ZK$p%3LNuHP8h`jYp`O~RK;>EMMZ?1+4WgvVwI$-+g@+t3_jJHCXHjK*5>3$ZZ57ar1HdJ=0#Pw z(noZDsVUDUc-M<**sRkkbug;Np&!GWmOQt9^NB+xY;^34m>-Pc6GdF%nkHZ`?2jb{^!_4aHH&*HgibuPxU z+HA)*@B{}KexeL>#Mqh_KG|sLyjyys^fu{&^ik=n(w~kXdhfk|!Y-!B_??xphR30E zmy9<~vUEbizX}twakDZ9HDr#nV-9jEb}9Baz%qCPQ`~4bbof#p$9&Mke@`tLQxF2L z32PvWn6iZt@fZ+K^<8JaC9`Wot~k5TEPCyEZtWf3C7Kf%+{ERt4rS33Ce}8GzRE8D zloBAO54EQ4Jbb4W7v8u2Q10bnrZ(8*Nq^%RuveG0?_YUX>EG}ldEMt6QWLttLrr=cCz zGp^Gc@`pe{zD~!W`S(s`_t}BF_|8H5HffFTEe`Kj*XZ6Iia$cHVV|q3f3EJ?zxMp< z(0+s91N(iM`=@|zo5{NjCu&Sf?|o6gNN!#4RBUA_<30*{wgq<8`fl8+-YZVh{n&~O zXJIT+8BJecYc9kn*^Q-jU>aW*S$X2gQFi6DJtyM5PFHD9p+sgk9Ow9 z=^MR%#YlV>zkQZ_(v)M?YGY#7GJ{c}APdBmB3`Y#Ypl17($DqTxqagXvS|15izHFxcss11AdfGG{~hF2 zsrVhx{_0Dsc-Ro1a475q{5SReDBP*Gs!Vr;&!V&~aSIO7P{A}W7cu6hSUf-1$A{~k znS8Etox4*MT^EcMO7(k-;zi1d(mM{qU$Gh(Ta7dP?c-~+ovHP_Jr9u49RajTR6Xzt^h>H?ggR437+y9vAaMb)Oqk(Vn`Su|dAt_4A)^JEfhu;tLMwiS z&d9Q6$TQTUM{BA<)n%#^n4v9M`}N|QD7sFxqf}EjaU5>y6+`(RwN*L;x8C7kTvtOR zH*(&AUy>@q5)Bkxk?Dr2zClB11}H{3f@Rja8qwJ`h2mv}*6wEsVU3EXZ>W}X99D#i zEz_oqaEb`Ygx{2W1sG=86wBN2Cg$P5?Mf-j%guls(8@EXF`S`1;qy?U6@5(SC zS<5j^TbJ8}+O4`4fO@2-hmIbq!IHVM!+&%u0i8)9D1?cu5S@}W%{1Y6RxvaqEg&np zW)gT_RdgcDYb4Mt&!xKG2!e*MQ%g51Y)vTk)>SEFR=J0OGq^lq7+YQJp9r(f_qo~b zH8X>)p*c+F`Iq5a?ts=s0H$f8bNn|E9l~HTRxmXR_NL=#4nz3NI89^4qW_ZeQ>tr} zef1dOm@3=QursV9%*|oG6J-_``qap77Ts@TE)A62x_i_w?SZYcqr7ey`EYPOd(#(|w+|Z`nOF5*F zD>Kg?F<6*S(5BpFH*!w&pVj0g8UAS(>W3#}o51Tp+pW%3|DZU%F!anP9c2~=NdUaK zHc2UT3zf8GN+)Xz#}WpL6Le>z+5BwunMqBB5@1LKcd&_2F4YaOXZx%+93*H{W*ggi zBr?JQVZB(EW(JtbcEzDyo%LrgpdrO1z)WJJZ6&AsPC9xgd-M+{quFl2pnZ~K3$+rd zMBa6aiiagh_O=}ypUr2&h@PkQS)ZF8+-X_s$R!Sa5sm#!i_4F1p3By#c@ zDk-iDt9klF94!1gVfhQz5YX};6U14tBY)1T&j%53A7mpXP>n}rnfP83Bo!I@z83kl z$$8CkRE}w?I+k`fNJU;x#gbL5IVI16V2EM0AS+hVt0Cls1#%^p$p)cEh@v@Oor0jJ z$7Uz}fH)efylGoldCk%uqlAiUMYSpXXoGThUhZ$m+HBtzd*1_^_JCfghtqMxbVEP# za7(VTXFKFJ`$+H{Ij+Zu^ftfPP#!{4$4i;2-Z@+Dds$=J;x#RZk&m$SF&`Sy66QujLN7$-Jz! z76mlHVoTr?tWc?}%Vw75^)as*Tu-t6lxmgUef!=x47 z6z7pa`BMLK4*l?hy+9ydKY|I7`OzMcD$!8EVIh!yQ9T;h=F9H|k; zDq1dCx)-Kwv^1SrJDC>2buC1KX^LLh%bjt>J`4`;MN)FK-9$H5P~R>REsxCDXhzG+ zQPa@d_qTQ9oGb@nfNZi3Z}yC za4IBO(yljzHS~n5g$ZV_#jLe$A_oMMSEH|^J0lZ0L|`VoLA)9HN3uvvS{DCD_Ca z-L#=*-Fw0{d5Jv(i?5;8T zL0YrS@ElgShgd07grySaIfvmN=r5acqUlMB{vT{te~|puhNHry2;{127!OV#37jRk z)M(4Fe65{;-V9%9@)1YY>_(uZ4PW^MFEne>0{jB8Q9pcUJq}^Qq%xvBtCe+Cc9vk} z0#&41+ExQgpQjp>dBhHW%u#|y3V(0+&@mC4FRGc5#4s&I-3+MPO`uV}S$Ypt~Jx_7TSKdEE-s zcB*lH(ZzpwFuiQmcEl4{-5`hNnA8I%2p{xBH zd%6nk1FHo`XQp^9@B4Oz5o^cy)EL$18ym#M9XrWs!>d1Dua&ODobBHM<1&!HMXDwqQ zNQq}yv#P28uLPPenOPX54*Zv{ADT%$>pxN)dXi)cIXwYuzd7k%=|SM%yQKF^ACrC> zxX7IyV5Nfw1r`jGBI@BPdN$9oYxo8M3o}(fr~_H7Kpq$|SZ7#?+yfHon6Fu6H8Uvigp2wf|`jp z7H1KLwDsdl++KNa7Hh|3b8TqL=p2u8`i=$vDb!Z%O2wvzS~CoU!FFNctQ}UVslLs3 zI(8szph{qO9RF>qN!535u!tr@HHGzE9k~|y8z0S#^VSgW7nwgOW`X^f^tiNhAnq6Z zSCH<$v)hI24|)%*+MW%HALRb$0mqkjV+{TsR-ky|RdjRjTJRc4M?G4i%@4hwGckD?{ z!G>+@Ri`~1#{~BO=M1}4zgrEvRKI*JiMsh3<9-|<{e6*RV(70I@BTwqAS`WrYpc`Y zf9RXd|7?RSVF*3wSW$L&YpdPne~+-h%%Tt2&;uUAc+3IMU4Tv6EyJOVewG=HgIA!} zCpgV80DGpJF${ZLWpy^0#+pU){-z#PUC>1A>Ev^c&-T@=^3ivYfzDG^Z{B70v#MoP znQ6_P_o`@A#T$xj|0*ATAAw2Qtwx5GO#PbgU;?hQD*Mwi7{dEm2{5dn$fAV&hGNmf zneMEW`dgRfpm`7T^B-O*76=|ApJTB{vZ{AcIXwWo)>4cGU1x!rk>JL)ahzh|mDlhP zaUuLgnN?{Yw$a0!Te=MjfuF-Pmbumz5(*BF6pM-mrTcS{f*#Ks)|o=599!^lg5}-{ zV4c^5HRuA%D$6y+7OESA?)o6s2K^+}JLw=vTb;BAI^envI&Xhnk2~E#0%}XQmlRXz zo_%xBi$_FQzOemBlLE1RwGyZ`-;I^9YRL^5{#jMok6mA_1(m7_cWILZ94dZ$pWb;9 z7A$FZxs#@yo#Kb&dN1*Gh6w*lzGDK%F|9QI5lb}jM%q~xO9G()B@K8^j2dl)@UL*GXIG*QJAo9k1(s1Z3(CI^7ls(Xty@w!Lt` zuKCp_fsT?^RW+DbmDruE%A6-M+>I60Z>egvGEt?#yriiA{hU+Z7jM8h6&NO%7HPcf zYl?QU_%*%WnGH|vsk3#=~xr)Q#W@^A6 zjE7YmS(&$?mpJ|t$ME)9Sw4%;9n0UzG6RpyyxamMWCRa-K)KN$M;U{aDFQRk!HhFZ zNaCH#sa(#IH(bkq@abW?K3(`odI_dpD0nl!H*Xj^IO7b^KEjudrYb8y%?erfAjZ5B zcMf^_r3l`pR1SYS*t(?ZpzQKTnwq`zO zVtladQP@qoDNCEemJ-o%Lw#4ETFMz!ozgt@3@kR)cd`Uf{|xh;Y{&+#$fE_#ly&W$ zXy87hdfJoBPp@W-Wm2L`qLXMM= z!YsTZ-OMtsmXSyfaE>17dd#ECp}y$Iw^jrT@fFtxIME#>**4olS0DUHj>Aldam4tn zrT~|ZPzEIR!mjF!Kb#jT%QtOf*??(AUZ(V$+#Lq@)I@)Y(Y`)d9UK!V7g>TlhDuz{ zwS4K&%w4K)t6R0%jk6oGvm3JyknLa4Odq*Vh+oml`XL#>&Rg$;qS7 zm)^aS5gu6X{OVwJ)~U3PT^0{+tTdRv$q&BA_;FOKBAz2!nbCIxGD4qP%z3PoG$*gi9w+9Ziggk@-YHS-#gGU1O26%^{B|6gM1ekzrn- zqkplPa&c?xDO*2&T(_^XTr6yVC)(QR==PSK?c<}JF_I=h#=(q+0Hy4AQv0 zuAf113_@XOM}^H7m>^xi4YNsACkrYagmaUgOwFl(q!5+VwJVRC$>Ta9KU&I$2{T8m zC>-8L$N7;gDB90byEYp-RC8BuqKfHxy~}dxDj#V#`~F(k*}((%B;++ z>ZQ+A`S#p=&w4S!w!Y|1WLAMQ-E${f%8ZfMz@i0t#mt~O60Co?|;t{*} z>>%I_UK^HS+Q2SrA7D5upPk*ooEc_zb@rTLkhK4QZ$xBdR#sI@Z5X8Lc;~(U|KI<< z|Nr~1l#MGYAs-qA&T1-3MKxuW&Y@bibVNkS=3B@|ELEfqM=mV$*zTtYs0h%SvNB}J z4RW!8D-H`+Y6`WK#sx-n5@^42WpUz0%VHl+Zm=+R zGjdRA?7_sSJVFWQ2-|Q6T@ZCK)FOJAox~W&xJrDABon~zUOu4Z##3ZjF|=3zZz|Jw z&l-yC)mveVl4MuPwGka1mC0oj(Rn=Ts8v}eP0dg)%C>TP)zuU`oUd5QlUR7_7323t zY`e0obS%^%m&)1_8b3_Re^{Vh1P31C5gl<^cY4;1etod*dvqmoX@vd?ScUeZ*?s$yY86=$n`@jhZ*9A#e@3rFI(pI~48 z_ah!Jh_LR^BHjWQ46d_r;Yh}7IDgqo%E^tAKULhnyC3;e<^ARTX_xc;I~zs^1*vml zxxfq3#3uHhRFWf!y&GQrf2pjd)s5S3xJ}vZ?ug%n3V(T(_XwBRIjFS0(I=QSI}%MEt4brw^%SKgaP77x!XR8 zk#0AWAxv%eDFNp2xc9Yr3}F9Od)_@`C?y`(en08|jFbJO+M2f&Th&q+h zE9AbiU(2;0xl^V5pZ6zss(?@LN$eZfckIEYU4zQIzQcT5nM6b!AFySG>L% z-9MPE19g9Yz7DDZdvm4aJUNn&u?$I>DK5!IddaZI5*)|z9MbXIwT(xeKfNCZX@YJs zJo}CN|I~SOL(1*UO6lIzDvuL_a+pcyRfCz-m-Yk^{`84B^)id@C9Yxj zdbu@YTeI`l$5i!W*21hFw&p$hF=M741oau?WAZCOO$+Ac0?j$@y2o7_x92Q(J~(DE zvoc#TnRP51@1^29`EjE{B@87#NP&n{jO3wOs4qVIX}-EXG*rq$Fi>0qjF6JI`= z?Vx6Q+5|mqNXMkRfCFJ#!wozJXkZD-J}7BTd8R)2M|fd*QH@L`p$Zd z66RRduxjXx=>}X_4kNTtU1%)z=6aP`9Rn)c^-|p^*(C$cw#SI2*FP=G+rq1XDdjaq zCoY33y}8<(s|E~h$5>FE>#c6W6p7(ZIWuKPKi*$%*GigcYNc9xxqn=DWaA!~TWzI2 z7xB8Bw_zF2w@UZl9M>a54&fcncbEq^!TKo?npakJQ&*V=72%EY{vx7ULt-DM28F*f zsuuwxS7l7?;;znQzj61?wV@%l-tjrN;ghzR_A6oPErG-tqzOL0W^pln>Qy8oi;Vksin0)^yYpe z3^QspL$_acUjBc!)|OhLx;y^zZ%}Fp0*ii{H?zVcBw(1%HgZ(DND7gib8{)FiF0XJJ{ZT2O7YmX7p%s+l?I^X}|? zZ&^t6FE|?$y8YnI>9!c%PU(;~ZbGxs9${K{rM&TxuPjgN$rQcN{|b5Bj5Kb7(eR%oa61Z_qUs)a!;8l_HHFjCws_ z4|rt{T3UY8yx5c1KEEcz8CuH|s`e7R;znJs{$Jd*iyp!_FuKOQ+B5xJW$J(i6+`1gLf4tg7;{W3sBI&$c!7qCl<@<6O8lsd^S2jnuQ~5p-6>Khwr! z`a$U#>4&BN`mal_V&i&G31jrYNxYAC+<(I&4tex~OOt}`Z*5)R?os@()#-d!gna=~ z5+9!s`Lq0~h$OL{wxfqg41K|!()nyJpSK*m&FII7D!{O{fJ@#^@U|sG5?{wg$q@@W`ea+U>l|tmZ~$AIG8of*&wdWR7;^{8g@{sHH0}~5{LLMj1#zjnaYO= zIV{uc{2djlVaf44r(}7NZMLGQW!ll`8L*i>rE_l{xnuu);Tl=aaMV^LD(RBTBR?OK zHl>r&ZPInhadcbKqI3lMkK3ekAcZHSivlNd zqb->4=cej$f5Ho!TKY96K)3*_c(z3dI^yq;lo`597lZ~J_h_Sltmxd4l5N? z5v+p_RI*q11VRFVriHW(PoaUf;xXBcqdmXa?P_(Knp)R1K^D~a6MVA8CE}wz>YYw! zu3rE7F#(PPK1+VO=8EzPxQ#PLRX)q{_nwg6FMUY*nDnF4=cF&9#WV7n3`QnZ!@_mU zPSEAw zGFrAhx4rDE&;P&-EI-ozt|scrXtGOe(_ww7WIJ zJd=V#c?oN{!_u~NJIrn$mEIw}5BinopuBz(%IkkXB#DuZ7H#-gu?(jc$>bNjcnbBP z_$%=?DZcF&%12bCU68Ef$UX%uo?D@KQ1{bPVWJ3Y#ga;&RiMEB+n`WlRVXk$^2csff>yn7cjR zmhuL4ct9KYgOFx*pXThPtB}F1`!!WJzzdhqI4@tnc&Kq`f|rHHlTYr!3+Lvb_WS}Q zxv&o}*CGAJLpRJzWeP6|Hij@89cSik(MDq?%$xEe44AXwx6bO-F_XqvN%P)Z4Cdz zv(^}D4XzO2*l?n9C5kLB$SVAkm84--iPJEdIwAj%3Q!$NF5co)iCcF~eY`BH(h^59 zk2&@*WW$FKo2d&lnzSDz6_uF{hg8kR7)7o9#s`sZ0x6{G+;S-=@ICtptthjlDKd+3 z0L^g!w>=n>-?-2|F`d>)p-m%is?7Gv^&px3>~uQzQ?1u8Gv&4a{MvseYh(>Z+Z|rt zj*ycwx`XxFIrbFHG)~GG8B&evKt;feWoW)wbMDJ%}QYt{4*DIcXic_v|DOtP9F{3wm6kf z$vN3`K&G0@32B@|{Yw2c6OK_Yz}c2b3>UMq)`P(~4j<9F>^})fRL@rCo_fG`s^zVX znVmOp#laV>TBqT-W+uxsPY>>XfF@qK?rp%MtvB!7XOV@_bu72w7m4{FlKO~pI*wp7 zK>{m~m(v2H(IW4+adLX&oNrX-D5vYNWff$4J5Bt!?)Ao{y7Ba&EJzgbMtA8`2d&=G zv8{jumZYR1)C!dADUu8btL~vt)i>*UWEB)jzA=4TDeBX>Ek;k{dYp#++#F6Ju?Hlr z6gA2Yzsnkx#b(7a)nK-ZJ`;z4+HL7gY1@?y6H#pKAvU^D?}~u^gBUu-^7;@|ZJkF) zKsTdOGUUr8={MN0_3yaDG*oJkJMQS~dS5qTLT?#{iMJK~2Mt|S75=JS(oId_@35_d z-#y|}MZZma$Z*t3N@2MEA^!Cjd|jcBiFd1p&0hgKMjk^5;|#Qbqhrz;=}zfh5la~u zC>ICTNO-SEarSUHE$|QsgbSj_Qq~2_|655n2&JZ_8>XonRQ;zTPD}&tH+Kac>K{8+ zI(Dot%Xh#L?jPhg|19J25HhEyT=AQaPDUL{Q^wr<)bukVz%P6ji+KNA=;2#XNdf8Vrh+ropVJFM}! z$rw5hD8FVKR0G*5it3xTWx#ZS>as$8(>Z(kv}Kh|KMZ|51a9os&W&QCu1JOy@=@0D z0>Vl^&aqZ9>)c(vWp{i9@T#ye(8Z}P%sa?fU-`?#(z%ObS2the;<2{Gceu#so93^N z&ln2OVR_7K99vX5vW7r$oSf6 z9JJUQ(rM|O^nmnU=>t42*6Y{8vB`I?kq0XLu%E=N-8+5*n&}ATE~g4w-$TiNO$2xP z{u|cLTCV8>2lRAd4|RWnhnyN4Z}xVLH+yUx;u53x4iGRey%DXhS_Qv15o-%Q)X|%87g{Lh+uJ{aTkm?k)W}J&{phZJ0<>L;8d(?C zfuU$4uvWjmPc*j4b%ALz8gT5G_F!Xk3@3D4Mju7O3Up422nksoqivde#&b9!P-~`l zGzAJTOvq>9Z&p4?6(X#l19p;*zq_jwI`ofajg(}0TTzH(n|7#clR*IMva%_wrmB>g zR<>7GbX#RpWVBay2gvBN-Yx>F`-tgUZ8tTaI!I21*o3`ZaS4Zl6cIX!Lj{ZNqv3eC z!JpVo=R`O`GKI7$a!RJ>c2HgWsonW|-(@+m6pI&eKM;$&#XSy=Wvkyjz!=bSgtX^d z=&sGzpOYa%cnpe5pyE2=3$S0)G;;^zddZ(u6-$5hRozn5cQVIdhOVG5x!iHiR-~E763iQ$i ze*EXQ=2EL9yQ=ES|GOTPl=3~|#)Rj#{oztcE|(v+eGuHDZ`*G8b$T?u=lR?F zW|+%lOP^VAs7YOFoGd9`5GhgkrunV;$X;)p-fk%~^;xpW)71F!WT^}kyva0`q%4~s z;^}?HG+|<|m`6BmcL5oydTSw9L4n1|6mMVs4{S!6(Jh&6sHG6{3=UIAF@Os5FXp#y zn_ag9GCMrI9Y!O2298M^2|ppRs2{hpiVD~L5pEe=rGriETaOU!N3_RrjP>|=Lknd& z)Qt08+`45K&YKvsC8XwgW?H1F=_Vh{g?dHNehOj%|}xeQ3U*Ui&DzMDPFEEmM(?gfKJ$ej5&@bb8c zHxV@-f3ZNe{#43RzK@P+FYpzc+@c_Druj^%oi^5+(6qFn${;?+Wk`OMS2xe;;ziH9 zc*%7yU3&_%GIgFWd+`FR%1FRgCkh{rqO4y>na!ZbM6qQ1)64MkF1Y~>Pc@rgBf+HP z;KQ9xcV{%$L~IESX50a^q)llJX53=D6Spxl;FyW#6G!5`n1`(A8(OnOfMJtz1;m2D!?#r0=}@&1b;B8zcDq!a`PCFE z;`eO$bSto)vjTod@gZwGwt6I$p`C0{kt*a>Ox`hnDt0y^&$lHg} zNd9F!kcD851lGH{U$y;r)!x!p+OxF?$nfp2cHd%8Kg@aQO)#^buy%}pXyAmKB={$=J9aV0k#`0HZg?=xoD(SObE+01caEZj zwb^#$+s{ToYsmS2UQryuW~ix`Rl0g+l1V3!sruyzxZEQA_rTn7o&a!vhB(M@^ktP^ zhf?ia#6taVMl7duMg}~GP`8$)b!n6HeLh1f;^?xa6s%+%0!u7!aOP4hy+mw__fZPa zv%~ax5*)mXoPr*u_$4#xeyFmbsBZ)ALMTJy;>A_aP%O@dP)a-?>=CN!?{VlBBSlyH zJyltdw~(_=L#11w+VJ}>FnJ|a(!j#86ps5=Nkb|@E$&LI(0^Z$E{Rx`Y>hh`Z61-) zFmaRR?nh+=lXgj&Wf#M>G`OpVCT=)RJSn4@U%8K15^!edLW$5I!y_Wf1tgDgR)(A1 z-;Eb%3`Pt?B~*(W9?VqlD^KMJ2?HBUL%>S1q+PJ6E-7 zY4*L0$%KL4D9kjNqN-+TH1`qllUAq1PhtaskDf0kq^RjBbovOxE@-rXRi8$h8V7+dtZJnA@CTvR{{bSkkJ0n|-pKVA zIBC=9+n$PGKkj3=G8rxR0D%=3v>)3gvcd|sdt)*av7V0Y8;eNLvo}%GV?cdBrIYkc zj{s3XuD=KMuarIHCuq&_<)nYdZMmn*WkjODcKt!!`;hK=`iDII2et2{fxk}NMh#Ygl(i!$fJ!>7KXXD?4eD#jLi~5>JMk>%y+c(Nmc()_{LnV85vQ`|~e!{^-6sznOyt6=c($ zuIbPrjYLBBQSwQdNU3g1e-3&V=V)T%d=I`ubt-fjE?&y@_(yYf%G;DQoyuM*^%BMt z^5D3D0nZ=_*Y3VHB${lI*n zX(sWokXzoizxwji&8H8@GX5Ag><72&Vt<9jg`TW98v2z!R8Imj-Zc=~)voRpt7q5H z=b+m0D_rdaEY9VF>cxnR>9t|sc6}=I#TxLTBKzZmntk}ck#;>B#*Ak^UDLmZ(gGbf z)vk}mo_Vnhc7%S3QNs(f$#amZL=SN3VwIiBGmD3>|uQH)ESY@*9jTw*Z2apiWa zr=e}mU;{B)PZIQJQey7AB{o9K!!ky#-xR?!dKl9laXL9v33@BEd2IMcs&Vsp62-)F zs&hdlZk{NYV&dwtJy)ZKRdWrmWSG>}87;-WhhUbLVcQBkGYIib<}t-!x}%wfR}aaG zqr~N?-!RNl63kT{TaA;bU$@Na@si_QHZ*22Lo-a3D$LR`R! z6A;@cM6A%%k^NLyiz27#ti{M)x*kUJuECo6l>qZh#hkY4~42{pljSEJWSNL?*8>H%>Wn6rq{Bklr*zT%JeGs zhlBnvE2G$-3;FXi4%cj0S7?+6`--0TQn9SA@r8Zwv zyImDd%0D@81wjIDj)~iUB3{DBK76}9_9UAyJ;>r|0p-^V-}f^vJWSc=&l9MP>B-g~IoQ7JiV*p*AUp zNN6eg_KjT4$NcPB(J9?cwV4&a;QPuvlE7e(G`=<>>+^I98_$zzd{DCc7o^H%N@(VV zzM96gFL<}_D49^_37sa@(Hvi_Ss#l+PK-k@Q@1GxHOQ@llpIkt48ROCpwM~53H>szN2o@6Yh(-P0S`jH#UsIef~htCIlrbdXv-bE zIm;P0(?{LHy1V?^D||iku=F13e}?v4ghA_d2RtBH4`Z<~^hd_Nm^&DvyE633+-tc> z*2^N+RSuD{KC2|<{u(+a;u0suJ6=QYM07tq1>E;H`IENBT%|3bHCh5pqjf~a?w>m| z4*DBBJQ@6u=h7SS(SryL41X-v`sjHN*+AZMoJQR&lVxbIV_T7l?CPpU;Ygv6mNhl7 z{5sJcdFJpzM(tHKgouAAgM-o4}A%V9=0_s_3+J`cxYvt*Svx4H{FTo3e4bhT9!B)NThmH29%x>XW}a-AaF_Vg%^? zmlznzh6-49(80fYuG3aju3kJ!xvfGWlfDk6FDI>~Hv7n|G z*hIliFTaUmoK~DXz5y>)J~xxprl>Th$6VAPtd?;%ghI^=5GF7=^P^a>wHnEZZU>kVxqPIY`b0>7MI3IEo^afq_F$O$E%!Z=dXBeQFI!n0;e7L{-v4`U zZS{_|^-aChO6Fr-wTb;SFj>Z6R~?u#bvP8=HRpB`IBz1)R^RcCs<*iKOE^^dN{scR z3*B9pgQQ4BdKmWuMtWFILsB4ZFM58hK*+kF?fKpG{ATr?@2q-DOTS>hiTLpEw+^I7 z$mhsj^6~NoK-6&&2?d+6y~KmzPWBd06N~sO95iN(oL%xcvZs95bb9s@&p17k;$eHy zBRZm*^l}=()NpM2 zl8yK`xD`VQrmmyw^!XHa&Wz|aM_i0^#u>$!J?hVKc%qJinye}19~V>~5)0?s>B3^l zTdFIs67(vb6R{yuyL~jMfJr8wX02m?+snNY(C~>3hI`enKlB0;5uI8VG%JQ1mRhET zQT|NNG;0w_Dxcb2*S_eQDlK`M9yTM(8Pxk`V8Y-1@3_wogCCe)@iN*`&zpkwC?$;@ z#KT^+{~6Lp_F>?oyJ;uRJMRZ7|7^rUXpUI;`KiQD%Kg;qkoz9B_Qu3MUWfM;`(t}l z=t;SsdL44#gZ3K}`#A0Ui+yoA@zdL)jHq-8E2HXfxGlmZgUQ9KtEC|wiUBV5->vUeb_y?^t3x~?NuZ0=P> zY~H8E)1MTluZWT1ze!($Y}Mm0cO}2St3cayo&!OJPcY%|)QhP<0mTz^qDNplTM)#FaJq9#xT zEj{0uWd7~i1CN}IU2WbU+&1v%HT~+`c1Jgr&>Ef_TA^aWS6queuDixx5vSC}1WqrVORG7GTV5lHFx={(ju&kNr;QxG3>BeOv zu-FnM(9k;Ss;2r{`>bNWwNi3QiNV$`d%96_EZcHjM|Yf(uGwb--*ZgH48QJ&%w{Gt zEW2ixDkWFb9rzN2YO5D0p{q1dwT1gB$?+y|53(*D=3`E=wEtSY~A&=i#T9EZFm6g!62sL2ZZ^ep1mw_pw%a#urG2K@zQz^uX z^&}~nu+}ITWUxHIYH@E9_wuA+koKtUxETAjRPJBBgxihzFC(JyhAbMTJGM{SJa{*A z>IUW>?PIFP0mnJAcznYI_hN?w;TtyW4>&+Vj|UME|NgB0AM3Rr`k@cU_r*W{WbkDF zS?eP+m+9sDeeZkUef8R(`0w*q9*Q5lZ>zHPaJ|+T+4_(pk}nYZJ0jA8=!ZGjK;}Bi z9S-T_YhuhP%8ya{V~R5OPUf=`zZ4IMHvaBupD_6j8UBF#HC6o!ae0TL+yO88{^;6Y zS5=9mzH)7D#i1btaCh^R3~ih&@Nt2R+cblCXJL5omLRFE%+5@J{*dwQ? zO`Q8R?S6;Y^wcAa$q2S2r%a4Q%b?%l@=%PZTG~*I7B@CE^U(2m-h|$F>ymQ6<#bxB z^M+rx2E+{G$dMa%#WX5*WHLQ8LVAB02TSFy9Rx63dT;Y+oj0AG)4h2{Het}#O6=G- zI#y^ax^Kp+S*e(+u7)8~bn7F~vNVmo~E*!?iHE$A;R1u^t>++io(utl3MK1vjD z1zpxo_p8y9d|>HR{c}tImhGQKYb4+PfMvW@_wDN!E&Ty#?!Q;oi2p6!BHvM|ZuxOw zU$=ezt%mghJ0Q>NmIhxaN)ZPM>DUl4CV0D<5rY%ENlIAO*b9Gl4E4&tZrFZG*bC!S znS9!F-u9nVwdbgMA6fD3oVv~!aeP4Yq;H?6D!otDGMh4P7ZC9140*er(vy+H1+$7i zHy^Nd%=Ut%e-F${P!?5RYys@^}I zUx6j0JIJzfl*bFx z?JBR2GK{7h7Z>fg8k2ThlO1zmAo4<>~eMl=pBFOL{^iXGg!~%EPgnuV*RS&!$f<^7^6X z^UgIM_vkLJ#c>-=7RHWQ251A(9u$t*Y#Fy^^VpP3+?TXVez^lJm^V7W#M3K#macS0 zhq7;oX=FN?OoLdhz;n}~9Wy&b9uDWIW15}(;FZs&mR1k*v;RSU1MTD}4m-~MYrxxE z3z$6#UO+*okUci&-o|? zwVNOALiOK4^NQ=Dq2EE1Fh2=aQ~th)wdr7igckb-B6EL(Sy^401sN=*?K8Lg!Z3)~ z2?7h)*FndQXauZ_xNCetF3t=;kBhy|XSrq1{GdS>j_jPV=R$O_gSTNw2+v7#=XD zJzm(~DA+9J%b{@@M$KX`mT#vr=&BW592gF8nXxcC!d;|o4iB%=PPPOF)Zijv9rr*P zD|tq%e{5^9#AerEM%!riXJ`8-`^{$mtN8UMF2<=>`J$XfYw%O1DK(WdUf$kbo1yWc z;qmo3)uQvw{)vs**^LwZW>#-sO|gTei1mj_e~tCp$?#*3Y%DBn)M~vmXUWPh+;-c> z#wR~HHYeHMZM(@@aVa%j;{KWKR&RjI-h+)a;t#s$t|##kGP3M^f552Y>n<}E=V$6p z(=O?BR(CX`J6Eq*jiR~dyDXTv1E0*a!+O(RV}{Kr7M5Xqjiz~2W25#nl3wO>n+}e` z`$@moW{7bvT&zkkT#PyNC|XNl9h)I1!dt`2>EzT-ZL|IZn#m}gzjdJmL*K9&o*fKc zc;R#R-uuIZGJMr?LlWyM(`}CgHYx7oD;#}8>deRUG#(}=2wafrtA9zfSO4dSHfLeT{w=R&I)Os9a~f3w$2+_f z*_}jlTZdY%7B(XiHqY8tqed-If<|bR53MvvX|YmSERmquZiZrR@K=0pfGE*Vh+&D^A?D!tNo5N6Ccdfsp$M30)bcIf`C&@S|YHcNE2MRCK1wmVS?pf#g{E z$h_q(B&58svQQ@Rd?=R}Vh@HNjew~dq*Gh!mGnSH{Vo9GGoGOUx|CFy;=g%*s}|6UUvhM&(Lpsa?v-LMC(A@12?e=sEJJ7HW^GsyKb& z8OENWHWjCQJRsIa+f#5-ah*1s$F%q)W%!R|Q+|k$hs5cFs%_iqgPQhWc0poQ{fMF| z9}%a&ix|_->Y@H@c9Hkh+_n~RBvA6{KtW554O_zakPjesO6^jqz1S{!o^jMkN{X(O z66dJld8Ia~mgYiPJH3 zI&U#P598qz*196sLXZVPn8w!7KQO>>2+6!3#jB0RY8?6V2@jnhsDinL3uG;Zu8q*z zwi_bdF3dTcY5bl z+zQ8L#af0AJ))GHQ2!UIhP(5 zXDO?oSiG_5;nUg)JxMP$KSdc|1%eW{Mk|IFG#5e_Diu4πR(XEyYV3az{Ot$Y*f93mYq^Lnu{qbYp!X!TA9&! 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 F?~0aZ)an2L literal 0 HcmV?d00001 diff --git a/site_libs/bootstrap/bootstrap.min.css b/site_libs/bootstrap/bootstrap.min.css new file mode 100644 index 000000000..740ea67f4 --- /dev/null +++ b/site_libs/bootstrap/bootstrap.min.css @@ -0,0 +1,12 @@ +/*! + * Bootstrap v5.3.1 (https://getbootstrap.com/) + * Copyright 2011-2023 The Bootstrap Authors + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + */:root,[data-bs-theme=light]{--bs-blue: #0d6efd;--bs-indigo: #6610f2;--bs-purple: #6f42c1;--bs-pink: #d63384;--bs-red: #dc3545;--bs-orange: #fd7e14;--bs-yellow: #ffc107;--bs-green: #198754;--bs-teal: #20c997;--bs-cyan: #0dcaf0;--bs-black: #000;--bs-white: #ffffff;--bs-gray: #6c757d;--bs-gray-dark: #343a40;--bs-gray-100: #f8f9fa;--bs-gray-200: #e9ecef;--bs-gray-300: #dee2e6;--bs-gray-400: #ced4da;--bs-gray-500: #adb5bd;--bs-gray-600: #6c757d;--bs-gray-700: #495057;--bs-gray-800: #343a40;--bs-gray-900: #212529;--bs-default: #dee2e6;--bs-primary: #0d6efd;--bs-secondary: #6c757d;--bs-success: #198754;--bs-info: #0dcaf0;--bs-warning: #ffc107;--bs-danger: #dc3545;--bs-light: #f8f9fa;--bs-dark: #212529;--bs-default-rgb: 222, 226, 230;--bs-primary-rgb: 13, 110, 253;--bs-secondary-rgb: 108, 117, 125;--bs-success-rgb: 25, 135, 84;--bs-info-rgb: 13, 202, 240;--bs-warning-rgb: 255, 193, 7;--bs-danger-rgb: 220, 53, 69;--bs-light-rgb: 248, 249, 250;--bs-dark-rgb: 33, 37, 41;--bs-primary-text-emphasis: #052c65;--bs-secondary-text-emphasis: #2b2f32;--bs-success-text-emphasis: #0a3622;--bs-info-text-emphasis: #055160;--bs-warning-text-emphasis: #664d03;--bs-danger-text-emphasis: #58151c;--bs-light-text-emphasis: #495057;--bs-dark-text-emphasis: #495057;--bs-primary-bg-subtle: #cfe2ff;--bs-secondary-bg-subtle: #e2e3e5;--bs-success-bg-subtle: #d1e7dd;--bs-info-bg-subtle: #cff4fc;--bs-warning-bg-subtle: #fff3cd;--bs-danger-bg-subtle: #f8d7da;--bs-light-bg-subtle: #fcfcfd;--bs-dark-bg-subtle: #ced4da;--bs-primary-border-subtle: #9ec5fe;--bs-secondary-border-subtle: #c4c8cb;--bs-success-border-subtle: #a3cfbb;--bs-info-border-subtle: #9eeaf9;--bs-warning-border-subtle: #ffe69c;--bs-danger-border-subtle: #f1aeb5;--bs-light-border-subtle: #e9ecef;--bs-dark-border-subtle: #adb5bd;--bs-white-rgb: 255, 255, 255;--bs-black-rgb: 0, 0, 0;--bs-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));--bs-root-font-size: 17px;--bs-body-font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--bs-body-font-size:1rem;--bs-body-font-weight: 400;--bs-body-line-height: 1.5;--bs-body-color: #212529;--bs-body-color-rgb: 33, 37, 41;--bs-body-bg: #ffffff;--bs-body-bg-rgb: 255, 255, 255;--bs-emphasis-color: #000;--bs-emphasis-color-rgb: 0, 0, 0;--bs-secondary-color: rgba(33, 37, 41, 0.75);--bs-secondary-color-rgb: 33, 37, 41;--bs-secondary-bg: #e9ecef;--bs-secondary-bg-rgb: 233, 236, 239;--bs-tertiary-color: rgba(33, 37, 41, 0.5);--bs-tertiary-color-rgb: 33, 37, 41;--bs-tertiary-bg: #f8f9fa;--bs-tertiary-bg-rgb: 248, 249, 250;--bs-heading-color: inherit;--bs-link-color: #0d6efd;--bs-link-color-rgb: 13, 110, 253;--bs-link-decoration: underline;--bs-link-hover-color: #0a58ca;--bs-link-hover-color-rgb: 10, 88, 202;--bs-code-color: #7d12ba;--bs-highlight-bg: #fff3cd;--bs-border-width: 1px;--bs-border-style: solid;--bs-border-color: #dee2e6;--bs-border-color-translucent: rgba(0, 0, 0, 0.175);--bs-border-radius: 0.25rem;--bs-border-radius-sm: 0.2em;--bs-border-radius-lg: 0.5rem;--bs-border-radius-xl: 1rem;--bs-border-radius-xxl: 2rem;--bs-border-radius-2xl: var(--bs-border-radius-xxl);--bs-border-radius-pill: 50rem;--bs-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);--bs-box-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);--bs-box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175);--bs-box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.075);--bs-focus-ring-width: 0.25rem;--bs-focus-ring-opacity: 0.25;--bs-focus-ring-color: rgba(13, 110, 253, 0.25);--bs-form-valid-color: #198754;--bs-form-valid-border-color: #198754;--bs-form-invalid-color: #dc3545;--bs-form-invalid-border-color: #dc3545}[data-bs-theme=dark]{color-scheme:dark;--bs-body-color: #dee2e6;--bs-body-color-rgb: 222, 226, 230;--bs-body-bg: #212529;--bs-body-bg-rgb: 33, 37, 41;--bs-emphasis-color: #ffffff;--bs-emphasis-color-rgb: 255, 255, 255;--bs-secondary-color: rgba(222, 226, 230, 0.75);--bs-secondary-color-rgb: 222, 226, 230;--bs-secondary-bg: #343a40;--bs-secondary-bg-rgb: 52, 58, 64;--bs-tertiary-color: rgba(222, 226, 230, 0.5);--bs-tertiary-color-rgb: 222, 226, 230;--bs-tertiary-bg: #2b3035;--bs-tertiary-bg-rgb: 43, 48, 53;--bs-primary-text-emphasis: #6ea8fe;--bs-secondary-text-emphasis: #a7acb1;--bs-success-text-emphasis: #75b798;--bs-info-text-emphasis: #6edff6;--bs-warning-text-emphasis: #ffda6a;--bs-danger-text-emphasis: #ea868f;--bs-light-text-emphasis: #f8f9fa;--bs-dark-text-emphasis: #dee2e6;--bs-primary-bg-subtle: #031633;--bs-secondary-bg-subtle: #161719;--bs-success-bg-subtle: #051b11;--bs-info-bg-subtle: #032830;--bs-warning-bg-subtle: #332701;--bs-danger-bg-subtle: #2c0b0e;--bs-light-bg-subtle: #343a40;--bs-dark-bg-subtle: #1a1d20;--bs-primary-border-subtle: #084298;--bs-secondary-border-subtle: #41464b;--bs-success-border-subtle: #0f5132;--bs-info-border-subtle: #087990;--bs-warning-border-subtle: #997404;--bs-danger-border-subtle: #842029;--bs-light-border-subtle: #495057;--bs-dark-border-subtle: #343a40;--bs-heading-color: inherit;--bs-link-color: #6ea8fe;--bs-link-hover-color: #8bb9fe;--bs-link-color-rgb: 110, 168, 254;--bs-link-hover-color-rgb: 139, 185, 254;--bs-code-color: white;--bs-border-color: #495057;--bs-border-color-translucent: rgba(255, 255, 255, 0.15);--bs-form-valid-color: #75b798;--bs-form-valid-border-color: #75b798;--bs-form-invalid-color: #ea868f;--bs-form-invalid-border-color: #ea868f}*,*::before,*::after{box-sizing:border-box}:root{font-size:var(--bs-root-font-size)}body{margin:0;font-family:var(--bs-body-font-family);font-size:var(--bs-body-font-size);font-weight:var(--bs-body-font-weight);line-height:var(--bs-body-line-height);color:var(--bs-body-color);text-align:var(--bs-body-text-align);background-color:var(--bs-body-bg);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0)}hr{margin:1rem 0;color:inherit;border:0;border-top:1px solid;opacity:.25}h6,.h6,h5,.h5,h4,.h4,h3,.h3,h2,.h2,h1,.h1{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2;color:var(--bs-heading-color)}h1,.h1{font-size:calc(1.325rem + 0.9vw)}@media(min-width: 1200px){h1,.h1{font-size:2rem}}h2,.h2{font-size:calc(1.29rem + 0.48vw)}@media(min-width: 1200px){h2,.h2{font-size:1.65rem}}h3,.h3{font-size:calc(1.27rem + 0.24vw)}@media(min-width: 1200px){h3,.h3{font-size:1.45rem}}h4,.h4{font-size:1.25rem}h5,.h5{font-size:1.1rem}h6,.h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[title]{text-decoration:underline dotted;-webkit-text-decoration:underline dotted;-moz-text-decoration:underline dotted;-ms-text-decoration:underline dotted;-o-text-decoration:underline dotted;cursor:help;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}ol,ul,dl{margin-top:0;margin-bottom:1rem}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem;padding:.625rem 1.25rem;border-left:.25rem solid #e9ecef}blockquote p:last-child,blockquote ul:last-child,blockquote ol:last-child{margin-bottom:0}b,strong{font-weight:bolder}small,.small{font-size:0.875em}mark,.mark{padding:.1875em;background-color:var(--bs-highlight-bg)}sub,sup{position:relative;font-size:0.75em;line-height:0;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}a{color:rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 1));text-decoration:underline;-webkit-text-decoration:underline;-moz-text-decoration:underline;-ms-text-decoration:underline;-o-text-decoration:underline}a:hover{--bs-link-color-rgb: var(--bs-link-hover-color-rgb)}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}pre,code,kbd,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:0.875em;color:#000;background-color:#f8f9fa;padding:.5rem;border:1px solid var(--bs-border-color, #dee2e6);border-radius:.25rem}pre code{background-color:rgba(0,0,0,0);font-size:inherit;color:inherit;word-break:normal}code{font-size:0.875em;color:var(--bs-code-color);background-color:#f8f9fa;border-radius:.25rem;padding:.125rem .25rem;word-wrap:break-word}a>code{color:inherit}kbd{padding:.4rem .4rem;font-size:0.875em;color:#fff;background-color:#212529;border-radius:.2em}kbd kbd{padding:0;font-size:1em}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:rgba(33,37,41,.75);text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}thead,tbody,tfoot,tr,td,th{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}input,button,select,optgroup,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator{display:none !important}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button:not(:disabled),[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + 0.3vw);line-height:inherit}@media(min-width: 1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-text,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none !important}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:calc(1.625rem + 4.5vw);font-weight:300;line-height:1.2}@media(min-width: 1200px){.display-1{font-size:5rem}}.display-2{font-size:calc(1.575rem + 3.9vw);font-weight:300;line-height:1.2}@media(min-width: 1200px){.display-2{font-size:4.5rem}}.display-3{font-size:calc(1.525rem + 3.3vw);font-weight:300;line-height:1.2}@media(min-width: 1200px){.display-3{font-size:4rem}}.display-4{font-size:calc(1.475rem + 2.7vw);font-weight:300;line-height:1.2}@media(min-width: 1200px){.display-4{font-size:3.5rem}}.display-5{font-size:calc(1.425rem + 2.1vw);font-weight:300;line-height:1.2}@media(min-width: 1200px){.display-5{font-size:3rem}}.display-6{font-size:calc(1.375rem + 1.5vw);font-weight:300;line-height:1.2}@media(min-width: 1200px){.display-6{font-size:2.5rem}}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:0.875em;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote>:last-child{margin-bottom:0}.blockquote-footer{margin-top:-1rem;margin-bottom:1rem;font-size:0.875em;color:#6c757d}.blockquote-footer::before{content:"— "}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem;max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:0.875em;color:rgba(33,37,41,.75)}.container,.container-fluid,.container-xxl,.container-xl,.container-lg,.container-md,.container-sm{--bs-gutter-x: 1.5rem;--bs-gutter-y: 0;width:100%;padding-right:calc(var(--bs-gutter-x)*.5);padding-left:calc(var(--bs-gutter-x)*.5);margin-right:auto;margin-left:auto}@media(min-width: 576px){.container-sm,.container{max-width:540px}}@media(min-width: 768px){.container-md,.container-sm,.container{max-width:720px}}@media(min-width: 992px){.container-lg,.container-md,.container-sm,.container{max-width:960px}}@media(min-width: 1200px){.container-xl,.container-lg,.container-md,.container-sm,.container{max-width:1140px}}@media(min-width: 1400px){.container-xxl,.container-xl,.container-lg,.container-md,.container-sm,.container{max-width:1320px}}:root{--bs-breakpoint-xs: 0;--bs-breakpoint-sm: 576px;--bs-breakpoint-md: 768px;--bs-breakpoint-lg: 992px;--bs-breakpoint-xl: 1200px;--bs-breakpoint-xxl: 1400px}.grid{display:grid;grid-template-rows:repeat(var(--bs-rows, 1), 1fr);grid-template-columns:repeat(var(--bs-columns, 12), 1fr);gap:var(--bs-gap, 1.5rem)}.grid .g-col-1{grid-column:auto/span 1}.grid .g-col-2{grid-column:auto/span 2}.grid .g-col-3{grid-column:auto/span 3}.grid .g-col-4{grid-column:auto/span 4}.grid .g-col-5{grid-column:auto/span 5}.grid .g-col-6{grid-column:auto/span 6}.grid .g-col-7{grid-column:auto/span 7}.grid .g-col-8{grid-column:auto/span 8}.grid .g-col-9{grid-column:auto/span 9}.grid .g-col-10{grid-column:auto/span 10}.grid .g-col-11{grid-column:auto/span 11}.grid .g-col-12{grid-column:auto/span 12}.grid .g-start-1{grid-column-start:1}.grid .g-start-2{grid-column-start:2}.grid .g-start-3{grid-column-start:3}.grid .g-start-4{grid-column-start:4}.grid .g-start-5{grid-column-start:5}.grid .g-start-6{grid-column-start:6}.grid .g-start-7{grid-column-start:7}.grid .g-start-8{grid-column-start:8}.grid .g-start-9{grid-column-start:9}.grid .g-start-10{grid-column-start:10}.grid .g-start-11{grid-column-start:11}@media(min-width: 576px){.grid .g-col-sm-1{grid-column:auto/span 1}.grid .g-col-sm-2{grid-column:auto/span 2}.grid .g-col-sm-3{grid-column:auto/span 3}.grid .g-col-sm-4{grid-column:auto/span 4}.grid .g-col-sm-5{grid-column:auto/span 5}.grid .g-col-sm-6{grid-column:auto/span 6}.grid .g-col-sm-7{grid-column:auto/span 7}.grid .g-col-sm-8{grid-column:auto/span 8}.grid .g-col-sm-9{grid-column:auto/span 9}.grid .g-col-sm-10{grid-column:auto/span 10}.grid .g-col-sm-11{grid-column:auto/span 11}.grid .g-col-sm-12{grid-column:auto/span 12}.grid .g-start-sm-1{grid-column-start:1}.grid .g-start-sm-2{grid-column-start:2}.grid .g-start-sm-3{grid-column-start:3}.grid .g-start-sm-4{grid-column-start:4}.grid .g-start-sm-5{grid-column-start:5}.grid .g-start-sm-6{grid-column-start:6}.grid .g-start-sm-7{grid-column-start:7}.grid .g-start-sm-8{grid-column-start:8}.grid .g-start-sm-9{grid-column-start:9}.grid .g-start-sm-10{grid-column-start:10}.grid .g-start-sm-11{grid-column-start:11}}@media(min-width: 768px){.grid .g-col-md-1{grid-column:auto/span 1}.grid .g-col-md-2{grid-column:auto/span 2}.grid .g-col-md-3{grid-column:auto/span 3}.grid .g-col-md-4{grid-column:auto/span 4}.grid .g-col-md-5{grid-column:auto/span 5}.grid .g-col-md-6{grid-column:auto/span 6}.grid .g-col-md-7{grid-column:auto/span 7}.grid .g-col-md-8{grid-column:auto/span 8}.grid .g-col-md-9{grid-column:auto/span 9}.grid .g-col-md-10{grid-column:auto/span 10}.grid .g-col-md-11{grid-column:auto/span 11}.grid .g-col-md-12{grid-column:auto/span 12}.grid .g-start-md-1{grid-column-start:1}.grid .g-start-md-2{grid-column-start:2}.grid .g-start-md-3{grid-column-start:3}.grid .g-start-md-4{grid-column-start:4}.grid .g-start-md-5{grid-column-start:5}.grid .g-start-md-6{grid-column-start:6}.grid .g-start-md-7{grid-column-start:7}.grid .g-start-md-8{grid-column-start:8}.grid .g-start-md-9{grid-column-start:9}.grid .g-start-md-10{grid-column-start:10}.grid .g-start-md-11{grid-column-start:11}}@media(min-width: 992px){.grid .g-col-lg-1{grid-column:auto/span 1}.grid .g-col-lg-2{grid-column:auto/span 2}.grid .g-col-lg-3{grid-column:auto/span 3}.grid .g-col-lg-4{grid-column:auto/span 4}.grid .g-col-lg-5{grid-column:auto/span 5}.grid .g-col-lg-6{grid-column:auto/span 6}.grid .g-col-lg-7{grid-column:auto/span 7}.grid .g-col-lg-8{grid-column:auto/span 8}.grid .g-col-lg-9{grid-column:auto/span 9}.grid .g-col-lg-10{grid-column:auto/span 10}.grid .g-col-lg-11{grid-column:auto/span 11}.grid .g-col-lg-12{grid-column:auto/span 12}.grid .g-start-lg-1{grid-column-start:1}.grid .g-start-lg-2{grid-column-start:2}.grid .g-start-lg-3{grid-column-start:3}.grid .g-start-lg-4{grid-column-start:4}.grid .g-start-lg-5{grid-column-start:5}.grid .g-start-lg-6{grid-column-start:6}.grid .g-start-lg-7{grid-column-start:7}.grid .g-start-lg-8{grid-column-start:8}.grid .g-start-lg-9{grid-column-start:9}.grid .g-start-lg-10{grid-column-start:10}.grid .g-start-lg-11{grid-column-start:11}}@media(min-width: 1200px){.grid .g-col-xl-1{grid-column:auto/span 1}.grid .g-col-xl-2{grid-column:auto/span 2}.grid .g-col-xl-3{grid-column:auto/span 3}.grid .g-col-xl-4{grid-column:auto/span 4}.grid .g-col-xl-5{grid-column:auto/span 5}.grid .g-col-xl-6{grid-column:auto/span 6}.grid .g-col-xl-7{grid-column:auto/span 7}.grid .g-col-xl-8{grid-column:auto/span 8}.grid .g-col-xl-9{grid-column:auto/span 9}.grid .g-col-xl-10{grid-column:auto/span 10}.grid .g-col-xl-11{grid-column:auto/span 11}.grid .g-col-xl-12{grid-column:auto/span 12}.grid .g-start-xl-1{grid-column-start:1}.grid .g-start-xl-2{grid-column-start:2}.grid .g-start-xl-3{grid-column-start:3}.grid .g-start-xl-4{grid-column-start:4}.grid .g-start-xl-5{grid-column-start:5}.grid .g-start-xl-6{grid-column-start:6}.grid .g-start-xl-7{grid-column-start:7}.grid .g-start-xl-8{grid-column-start:8}.grid .g-start-xl-9{grid-column-start:9}.grid .g-start-xl-10{grid-column-start:10}.grid .g-start-xl-11{grid-column-start:11}}@media(min-width: 1400px){.grid .g-col-xxl-1{grid-column:auto/span 1}.grid .g-col-xxl-2{grid-column:auto/span 2}.grid .g-col-xxl-3{grid-column:auto/span 3}.grid .g-col-xxl-4{grid-column:auto/span 4}.grid .g-col-xxl-5{grid-column:auto/span 5}.grid .g-col-xxl-6{grid-column:auto/span 6}.grid .g-col-xxl-7{grid-column:auto/span 7}.grid .g-col-xxl-8{grid-column:auto/span 8}.grid .g-col-xxl-9{grid-column:auto/span 9}.grid .g-col-xxl-10{grid-column:auto/span 10}.grid .g-col-xxl-11{grid-column:auto/span 11}.grid .g-col-xxl-12{grid-column:auto/span 12}.grid .g-start-xxl-1{grid-column-start:1}.grid .g-start-xxl-2{grid-column-start:2}.grid .g-start-xxl-3{grid-column-start:3}.grid .g-start-xxl-4{grid-column-start:4}.grid .g-start-xxl-5{grid-column-start:5}.grid .g-start-xxl-6{grid-column-start:6}.grid .g-start-xxl-7{grid-column-start:7}.grid .g-start-xxl-8{grid-column-start:8}.grid .g-start-xxl-9{grid-column-start:9}.grid .g-start-xxl-10{grid-column-start:10}.grid .g-start-xxl-11{grid-column-start:11}}.table{--bs-table-color-type: initial;--bs-table-bg-type: initial;--bs-table-color-state: initial;--bs-table-bg-state: initial;--bs-table-color: #212529;--bs-table-bg: #ffffff;--bs-table-border-color: #dee2e6;--bs-table-accent-bg: transparent;--bs-table-striped-color: #212529;--bs-table-striped-bg: rgba(0, 0, 0, 0.05);--bs-table-active-color: #212529;--bs-table-active-bg: rgba(0, 0, 0, 0.1);--bs-table-hover-color: #212529;--bs-table-hover-bg: rgba(0, 0, 0, 0.075);width:100%;margin-bottom:1rem;vertical-align:top;border-color:var(--bs-table-border-color)}.table>:not(caption)>*>*{padding:.5rem .5rem;color:var(--bs-table-color-state, var(--bs-table-color-type, var(--bs-table-color)));background-color:var(--bs-table-bg);border-bottom-width:1px;box-shadow:inset 0 0 0 9999px var(--bs-table-bg-state, var(--bs-table-bg-type, var(--bs-table-accent-bg)))}.table>tbody{vertical-align:inherit}.table>thead{vertical-align:bottom}.table-group-divider{border-top:calc(1px*2) solid #9ba5ae}.caption-top{caption-side:top}.table-sm>:not(caption)>*>*{padding:.25rem .25rem}.table-bordered>:not(caption)>*{border-width:1px 0}.table-bordered>:not(caption)>*>*{border-width:0 1px}.table-borderless>:not(caption)>*>*{border-bottom-width:0}.table-borderless>:not(:first-child){border-top-width:0}.table-striped>tbody>tr:nth-of-type(odd)>*{--bs-table-color-type: var(--bs-table-striped-color);--bs-table-bg-type: var(--bs-table-striped-bg)}.table-striped-columns>:not(caption)>tr>:nth-child(even){--bs-table-color-type: var(--bs-table-striped-color);--bs-table-bg-type: var(--bs-table-striped-bg)}.table-active{--bs-table-color-state: var(--bs-table-active-color);--bs-table-bg-state: var(--bs-table-active-bg)}.table-hover>tbody>tr:hover>*{--bs-table-color-state: var(--bs-table-hover-color);--bs-table-bg-state: var(--bs-table-hover-bg)}.table-primary{--bs-table-color: #000;--bs-table-bg: #cfe2ff;--bs-table-border-color: #bacbe6;--bs-table-striped-bg: #c5d7f2;--bs-table-striped-color: #000;--bs-table-active-bg: #bacbe6;--bs-table-active-color: #000;--bs-table-hover-bg: #bfd1ec;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-secondary{--bs-table-color: #000;--bs-table-bg: #e2e3e5;--bs-table-border-color: #cbccce;--bs-table-striped-bg: #d7d8da;--bs-table-striped-color: #000;--bs-table-active-bg: #cbccce;--bs-table-active-color: #000;--bs-table-hover-bg: #d1d2d4;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-success{--bs-table-color: #000;--bs-table-bg: #d1e7dd;--bs-table-border-color: #bcd0c7;--bs-table-striped-bg: #c7dbd2;--bs-table-striped-color: #000;--bs-table-active-bg: #bcd0c7;--bs-table-active-color: #000;--bs-table-hover-bg: #c1d6cc;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-info{--bs-table-color: #000;--bs-table-bg: #cff4fc;--bs-table-border-color: #badce3;--bs-table-striped-bg: #c5e8ef;--bs-table-striped-color: #000;--bs-table-active-bg: #badce3;--bs-table-active-color: #000;--bs-table-hover-bg: #bfe2e9;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-warning{--bs-table-color: #000;--bs-table-bg: #fff3cd;--bs-table-border-color: #e6dbb9;--bs-table-striped-bg: #f2e7c3;--bs-table-striped-color: #000;--bs-table-active-bg: #e6dbb9;--bs-table-active-color: #000;--bs-table-hover-bg: #ece1be;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-danger{--bs-table-color: #000;--bs-table-bg: #f8d7da;--bs-table-border-color: #dfc2c4;--bs-table-striped-bg: #eccccf;--bs-table-striped-color: #000;--bs-table-active-bg: #dfc2c4;--bs-table-active-color: #000;--bs-table-hover-bg: #e5c7ca;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-light{--bs-table-color: #000;--bs-table-bg: #f8f9fa;--bs-table-border-color: #dfe0e1;--bs-table-striped-bg: #ecedee;--bs-table-striped-color: #000;--bs-table-active-bg: #dfe0e1;--bs-table-active-color: #000;--bs-table-hover-bg: #e5e6e7;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-dark{--bs-table-color: #ffffff;--bs-table-bg: #212529;--bs-table-border-color: #373b3e;--bs-table-striped-bg: #2c3034;--bs-table-striped-color: #ffffff;--bs-table-active-bg: #373b3e;--bs-table-active-color: #ffffff;--bs-table-hover-bg: #323539;--bs-table-hover-color: #ffffff;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}@media(max-width: 575.98px){.table-responsive-sm{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media(max-width: 767.98px){.table-responsive-md{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media(max-width: 991.98px){.table-responsive-lg{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media(max-width: 1199.98px){.table-responsive-xl{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media(max-width: 1399.98px){.table-responsive-xxl{overflow-x:auto;-webkit-overflow-scrolling:touch}}.form-label,.shiny-input-container .control-label{margin-bottom:.5rem}.col-form-label{padding-top:calc(0.375rem + 1px);padding-bottom:calc(0.375rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(0.5rem + 1px);padding-bottom:calc(0.5rem + 1px);font-size:1.25rem}.col-form-label-sm{padding-top:calc(0.25rem + 1px);padding-bottom:calc(0.25rem + 1px);font-size:0.875rem}.form-text{margin-top:.25rem;font-size:0.875em;color:rgba(33,37,41,.75)}.form-control{display:block;width:100%;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#212529;appearance:none;-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;-o-appearance:none;background-color:#fff;background-clip:padding-box;border:1px solid #dee2e6;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion: reduce){.form-control{transition:none}}.form-control[type=file]{overflow:hidden}.form-control[type=file]:not(:disabled):not([readonly]){cursor:pointer}.form-control:focus{color:#212529;background-color:#fff;border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-control::-webkit-date-and-time-value{min-width:85px;height:1.5em;margin:0}.form-control::-webkit-datetime-edit{display:block;padding:0}.form-control::placeholder{color:rgba(33,37,41,.75);opacity:1}.form-control:disabled{background-color:#e9ecef;opacity:1}.form-control::file-selector-button{padding:.375rem .75rem;margin:-0.375rem -0.75rem;margin-inline-end:.75rem;color:#212529;background-color:#f8f9fa;pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:1px;border-radius:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion: reduce){.form-control::file-selector-button{transition:none}}.form-control:hover:not(:disabled):not([readonly])::file-selector-button{background-color:#e9ecef}.form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;line-height:1.5;color:#212529;background-color:rgba(0,0,0,0);border:solid rgba(0,0,0,0);border-width:1px 0}.form-control-plaintext:focus{outline:0}.form-control-plaintext.form-control-sm,.form-control-plaintext.form-control-lg{padding-right:0;padding-left:0}.form-control-sm{min-height:calc(1.5em + 0.5rem + calc(1px * 2));padding:.25rem .5rem;font-size:0.875rem;border-radius:.2em}.form-control-sm::file-selector-button{padding:.25rem .5rem;margin:-0.25rem -0.5rem;margin-inline-end:.5rem}.form-control-lg{min-height:calc(1.5em + 1rem + calc(1px * 2));padding:.5rem 1rem;font-size:1.25rem;border-radius:.5rem}.form-control-lg::file-selector-button{padding:.5rem 1rem;margin:-0.5rem -1rem;margin-inline-end:1rem}textarea.form-control{min-height:calc(1.5em + 0.75rem + calc(1px * 2))}textarea.form-control-sm{min-height:calc(1.5em + 0.5rem + calc(1px * 2))}textarea.form-control-lg{min-height:calc(1.5em + 1rem + calc(1px * 2))}.form-control-color{width:3rem;height:calc(1.5em + 0.75rem + calc(1px * 2));padding:.375rem}.form-control-color:not(:disabled):not([readonly]){cursor:pointer}.form-control-color::-moz-color-swatch{border:0 !important;border-radius:.25rem}.form-control-color::-webkit-color-swatch{border:0 !important;border-radius:.25rem}.form-control-color.form-control-sm{height:calc(1.5em + 0.5rem + calc(1px * 2))}.form-control-color.form-control-lg{height:calc(1.5em + 1rem + calc(1px * 2))}.form-select{--bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");display:block;width:100%;padding:.375rem 2.25rem .375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#212529;appearance:none;-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;-o-appearance:none;background-color:#fff;background-image:var(--bs-form-select-bg-img),var(--bs-form-select-bg-icon, none);background-repeat:no-repeat;background-position:right .75rem center;background-size:16px 12px;border:1px solid #dee2e6;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion: reduce){.form-select{transition:none}}.form-select:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-select[multiple],.form-select[size]:not([size="1"]){padding-right:.75rem;background-image:none}.form-select:disabled{background-color:#e9ecef}.form-select:-moz-focusring{color:rgba(0,0,0,0);text-shadow:0 0 0 #212529}.form-select-sm{padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:0.875rem;border-radius:.2em}.form-select-lg{padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem;border-radius:.5rem}[data-bs-theme=dark] .form-select{--bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23dee2e6' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e")}.form-check,.shiny-input-container .checkbox,.shiny-input-container .radio{display:block;min-height:1.5rem;padding-left:0;margin-bottom:.125rem}.form-check .form-check-input,.form-check .shiny-input-container .checkbox input,.form-check .shiny-input-container .radio input,.shiny-input-container .checkbox .form-check-input,.shiny-input-container .checkbox .shiny-input-container .checkbox input,.shiny-input-container .checkbox .shiny-input-container .radio input,.shiny-input-container .radio .form-check-input,.shiny-input-container .radio .shiny-input-container .checkbox input,.shiny-input-container .radio .shiny-input-container .radio input{float:left;margin-left:0}.form-check-reverse{padding-right:0;padding-left:0;text-align:right}.form-check-reverse .form-check-input{float:right;margin-right:0;margin-left:0}.form-check-input,.shiny-input-container .checkbox input,.shiny-input-container .checkbox-inline input,.shiny-input-container .radio input,.shiny-input-container .radio-inline input{--bs-form-check-bg: #ffffff;width:1em;height:1em;margin-top:.25em;vertical-align:top;appearance:none;-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;-o-appearance:none;background-color:var(--bs-form-check-bg);background-image:var(--bs-form-check-bg-image);background-repeat:no-repeat;background-position:center;background-size:contain;border:1px solid #dee2e6;print-color-adjust:exact}.form-check-input[type=checkbox],.shiny-input-container .checkbox input[type=checkbox],.shiny-input-container .checkbox-inline input[type=checkbox],.shiny-input-container .radio input[type=checkbox],.shiny-input-container .radio-inline input[type=checkbox]{border-radius:.25em}.form-check-input[type=radio],.shiny-input-container .checkbox input[type=radio],.shiny-input-container .checkbox-inline input[type=radio],.shiny-input-container .radio input[type=radio],.shiny-input-container .radio-inline input[type=radio]{border-radius:50%}.form-check-input:active,.shiny-input-container .checkbox input:active,.shiny-input-container .checkbox-inline input:active,.shiny-input-container .radio input:active,.shiny-input-container .radio-inline input:active{filter:brightness(90%)}.form-check-input:focus,.shiny-input-container .checkbox input:focus,.shiny-input-container .checkbox-inline input:focus,.shiny-input-container .radio input:focus,.shiny-input-container .radio-inline input:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-check-input:checked,.shiny-input-container .checkbox input:checked,.shiny-input-container .checkbox-inline input:checked,.shiny-input-container .radio input:checked,.shiny-input-container .radio-inline input:checked{background-color:#0d6efd;border-color:#0d6efd}.form-check-input:checked[type=checkbox],.shiny-input-container .checkbox input:checked[type=checkbox],.shiny-input-container .checkbox-inline input:checked[type=checkbox],.shiny-input-container .radio input:checked[type=checkbox],.shiny-input-container .radio-inline input:checked[type=checkbox]{--bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e")}.form-check-input:checked[type=radio],.shiny-input-container .checkbox input:checked[type=radio],.shiny-input-container .checkbox-inline input:checked[type=radio],.shiny-input-container .radio input:checked[type=radio],.shiny-input-container .radio-inline input:checked[type=radio]{--bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23ffffff'/%3e%3c/svg%3e")}.form-check-input[type=checkbox]:indeterminate,.shiny-input-container .checkbox input[type=checkbox]:indeterminate,.shiny-input-container .checkbox-inline input[type=checkbox]:indeterminate,.shiny-input-container .radio input[type=checkbox]:indeterminate,.shiny-input-container .radio-inline input[type=checkbox]:indeterminate{background-color:#0d6efd;border-color:#0d6efd;--bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e")}.form-check-input:disabled,.shiny-input-container .checkbox input:disabled,.shiny-input-container .checkbox-inline input:disabled,.shiny-input-container .radio input:disabled,.shiny-input-container .radio-inline input:disabled{pointer-events:none;filter:none;opacity:.5}.form-check-input[disabled]~.form-check-label,.form-check-input[disabled]~span,.form-check-input:disabled~.form-check-label,.form-check-input:disabled~span,.shiny-input-container .checkbox input[disabled]~.form-check-label,.shiny-input-container .checkbox input[disabled]~span,.shiny-input-container .checkbox input:disabled~.form-check-label,.shiny-input-container .checkbox input:disabled~span,.shiny-input-container .checkbox-inline input[disabled]~.form-check-label,.shiny-input-container .checkbox-inline input[disabled]~span,.shiny-input-container .checkbox-inline input:disabled~.form-check-label,.shiny-input-container .checkbox-inline input:disabled~span,.shiny-input-container .radio input[disabled]~.form-check-label,.shiny-input-container .radio input[disabled]~span,.shiny-input-container .radio input:disabled~.form-check-label,.shiny-input-container .radio input:disabled~span,.shiny-input-container .radio-inline input[disabled]~.form-check-label,.shiny-input-container .radio-inline input[disabled]~span,.shiny-input-container .radio-inline input:disabled~.form-check-label,.shiny-input-container .radio-inline input:disabled~span{cursor:default;opacity:.5}.form-check-label,.shiny-input-container .checkbox label,.shiny-input-container .checkbox-inline label,.shiny-input-container .radio label,.shiny-input-container .radio-inline label{cursor:pointer}.form-switch{padding-left:2.5em}.form-switch .form-check-input{--bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e");width:2em;margin-left:-2.5em;background-image:var(--bs-form-switch-bg);background-position:left center;border-radius:2em;transition:background-position .15s ease-in-out}@media(prefers-reduced-motion: reduce){.form-switch .form-check-input{transition:none}}.form-switch .form-check-input:focus{--bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2386b7fe'/%3e%3c/svg%3e")}.form-switch .form-check-input:checked{background-position:right center;--bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23ffffff'/%3e%3c/svg%3e")}.form-switch.form-check-reverse{padding-right:2.5em;padding-left:0}.form-switch.form-check-reverse .form-check-input{margin-right:-2.5em;margin-left:0}.form-check-inline{display:inline-block;margin-right:1rem}.btn-check{position:absolute;clip:rect(0, 0, 0, 0);pointer-events:none}.btn-check[disabled]+.btn,.btn-check:disabled+.btn{pointer-events:none;filter:none;opacity:.65}[data-bs-theme=dark] .form-switch .form-check-input:not(:checked):not(:focus){--bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%28255, 255, 255, 0.25%29'/%3e%3c/svg%3e")}.form-range{width:100%;height:1.5rem;padding:0;appearance:none;-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;-o-appearance:none;background-color:rgba(0,0,0,0)}.form-range:focus{outline:0}.form-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(13,110,253,.25)}.form-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(13,110,253,.25)}.form-range::-moz-focus-outer{border:0}.form-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-0.25rem;appearance:none;-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;-o-appearance:none;background-color:#0d6efd;border:0;border-radius:1rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion: reduce){.form-range::-webkit-slider-thumb{transition:none}}.form-range::-webkit-slider-thumb:active{background-color:#b6d4fe}.form-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:rgba(0,0,0,0);cursor:pointer;background-color:#f8f9fa;border-color:rgba(0,0,0,0);border-radius:1rem}.form-range::-moz-range-thumb{width:1rem;height:1rem;appearance:none;-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;-o-appearance:none;background-color:#0d6efd;border:0;border-radius:1rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion: reduce){.form-range::-moz-range-thumb{transition:none}}.form-range::-moz-range-thumb:active{background-color:#b6d4fe}.form-range::-moz-range-track{width:100%;height:.5rem;color:rgba(0,0,0,0);cursor:pointer;background-color:#f8f9fa;border-color:rgba(0,0,0,0);border-radius:1rem}.form-range:disabled{pointer-events:none}.form-range:disabled::-webkit-slider-thumb{background-color:rgba(33,37,41,.75)}.form-range:disabled::-moz-range-thumb{background-color:rgba(33,37,41,.75)}.form-floating{position:relative}.form-floating>.form-control,.form-floating>.form-control-plaintext,.form-floating>.form-select{height:calc(3.5rem + calc(1px * 2));min-height:calc(3.5rem + calc(1px * 2));line-height:1.25}.form-floating>label{position:absolute;top:0;left:0;z-index:2;height:100%;padding:1rem .75rem;overflow:hidden;text-align:start;text-overflow:ellipsis;white-space:nowrap;pointer-events:none;border:1px solid rgba(0,0,0,0);transform-origin:0 0;transition:opacity .1s ease-in-out,transform .1s ease-in-out}@media(prefers-reduced-motion: reduce){.form-floating>label{transition:none}}.form-floating>.form-control,.form-floating>.form-control-plaintext{padding:1rem .75rem}.form-floating>.form-control::placeholder,.form-floating>.form-control-plaintext::placeholder{color:rgba(0,0,0,0)}.form-floating>.form-control:focus,.form-floating>.form-control:not(:placeholder-shown),.form-floating>.form-control-plaintext:focus,.form-floating>.form-control-plaintext:not(:placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:-webkit-autofill,.form-floating>.form-control-plaintext:-webkit-autofill{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-select{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:focus~label,.form-floating>.form-control:not(:placeholder-shown)~label,.form-floating>.form-control-plaintext~label,.form-floating>.form-select~label{color:rgba(var(--bs-body-color-rgb), 0.65);transform:scale(0.85) translateY(-0.5rem) translateX(0.15rem)}.form-floating>.form-control:focus~label::after,.form-floating>.form-control:not(:placeholder-shown)~label::after,.form-floating>.form-control-plaintext~label::after,.form-floating>.form-select~label::after{position:absolute;inset:1rem .375rem;z-index:-1;height:1.5em;content:"";background-color:#fff;border-radius:.25rem}.form-floating>.form-control:-webkit-autofill~label{color:rgba(var(--bs-body-color-rgb), 0.65);transform:scale(0.85) translateY(-0.5rem) translateX(0.15rem)}.form-floating>.form-control-plaintext~label{border-width:1px 0}.form-floating>:disabled~label,.form-floating>.form-control:disabled~label{color:#6c757d}.form-floating>:disabled~label::after,.form-floating>.form-control:disabled~label::after{background-color:#e9ecef}.input-group{position:relative;display:flex;display:-webkit-flex;flex-wrap:wrap;-webkit-flex-wrap:wrap;align-items:stretch;-webkit-align-items:stretch;width:100%}.input-group>.form-control,.input-group>.form-select,.input-group>.form-floating{position:relative;flex:1 1 auto;-webkit-flex:1 1 auto;width:1%;min-width:0}.input-group>.form-control:focus,.input-group>.form-select:focus,.input-group>.form-floating:focus-within{z-index:5}.input-group .btn{position:relative;z-index:2}.input-group .btn:focus{z-index:5}.input-group-text{display:flex;display:-webkit-flex;align-items:center;-webkit-align-items:center;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:center;white-space:nowrap;background-color:#f8f9fa;border:1px solid #dee2e6;border-radius:.25rem}.input-group-lg>.form-control,.input-group-lg>.form-select,.input-group-lg>.input-group-text,.input-group-lg>.btn{padding:.5rem 1rem;font-size:1.25rem;border-radius:.5rem}.input-group-sm>.form-control,.input-group-sm>.form-select,.input-group-sm>.input-group-text,.input-group-sm>.btn{padding:.25rem .5rem;font-size:0.875rem;border-radius:.2em}.input-group-lg>.form-select,.input-group-sm>.form-select{padding-right:3rem}.input-group:not(.has-validation)>:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),.input-group:not(.has-validation)>.dropdown-toggle:nth-last-child(n+3),.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-control,.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-select{border-top-right-radius:0;border-bottom-right-radius:0}.input-group.has-validation>:nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),.input-group.has-validation>.dropdown-toggle:nth-last-child(n+4),.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-control,.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-select{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback){margin-left:calc(1px*-1);border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.form-floating:not(:first-child)>.form-control,.input-group>.form-floating:not(:first-child)>.form-select{border-top-left-radius:0;border-bottom-left-radius:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:0.875em;color:#198754}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:0.875rem;color:#fff;background-color:#198754;border-radius:.25rem}.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip,.is-valid~.valid-feedback,.is-valid~.valid-tooltip{display:block}.was-validated .form-control:valid,.form-control.is-valid{border-color:#198754;padding-right:calc(1.5em + 0.75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(0.375em + 0.1875rem) center;background-size:calc(0.75em + 0.375rem) calc(0.75em + 0.375rem)}.was-validated .form-control:valid:focus,.form-control.is-valid:focus{border-color:#198754;box-shadow:0 0 0 .25rem rgba(25,135,84,.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + 0.75rem);background-position:top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem)}.was-validated .form-select:valid,.form-select.is-valid{border-color:#198754}.was-validated .form-select:valid:not([multiple]):not([size]),.was-validated .form-select:valid:not([multiple])[size="1"],.form-select.is-valid:not([multiple]):not([size]),.form-select.is-valid:not([multiple])[size="1"]{--bs-form-select-bg-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");padding-right:4.125rem;background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(0.75em + 0.375rem) calc(0.75em + 0.375rem)}.was-validated .form-select:valid:focus,.form-select.is-valid:focus{border-color:#198754;box-shadow:0 0 0 .25rem rgba(25,135,84,.25)}.was-validated .form-control-color:valid,.form-control-color.is-valid{width:calc(3rem + calc(1.5em + 0.75rem))}.was-validated .form-check-input:valid,.form-check-input.is-valid{border-color:#198754}.was-validated .form-check-input:valid:checked,.form-check-input.is-valid:checked{background-color:#198754}.was-validated .form-check-input:valid:focus,.form-check-input.is-valid:focus{box-shadow:0 0 0 .25rem rgba(25,135,84,.25)}.was-validated .form-check-input:valid~.form-check-label,.form-check-input.is-valid~.form-check-label{color:#198754}.form-check-inline .form-check-input~.valid-feedback{margin-left:.5em}.was-validated .input-group>.form-control:not(:focus):valid,.input-group>.form-control:not(:focus).is-valid,.was-validated .input-group>.form-select:not(:focus):valid,.input-group>.form-select:not(:focus).is-valid,.was-validated .input-group>.form-floating:not(:focus-within):valid,.input-group>.form-floating:not(:focus-within).is-valid{z-index:3}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:0.875em;color:#dc3545}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:0.875rem;color:#fff;background-color:#dc3545;border-radius:.25rem}.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip,.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip{display:block}.was-validated .form-control:invalid,.form-control.is-invalid{border-color:#dc3545;padding-right:calc(1.5em + 0.75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(0.375em + 0.1875rem) center;background-size:calc(0.75em + 0.375rem) calc(0.75em + 0.375rem)}.was-validated .form-control:invalid:focus,.form-control.is-invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .25rem rgba(220,53,69,.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + 0.75rem);background-position:top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem)}.was-validated .form-select:invalid,.form-select.is-invalid{border-color:#dc3545}.was-validated .form-select:invalid:not([multiple]):not([size]),.was-validated .form-select:invalid:not([multiple])[size="1"],.form-select.is-invalid:not([multiple]):not([size]),.form-select.is-invalid:not([multiple])[size="1"]{--bs-form-select-bg-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");padding-right:4.125rem;background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(0.75em + 0.375rem) calc(0.75em + 0.375rem)}.was-validated .form-select:invalid:focus,.form-select.is-invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .25rem rgba(220,53,69,.25)}.was-validated .form-control-color:invalid,.form-control-color.is-invalid{width:calc(3rem + calc(1.5em + 0.75rem))}.was-validated .form-check-input:invalid,.form-check-input.is-invalid{border-color:#dc3545}.was-validated .form-check-input:invalid:checked,.form-check-input.is-invalid:checked{background-color:#dc3545}.was-validated .form-check-input:invalid:focus,.form-check-input.is-invalid:focus{box-shadow:0 0 0 .25rem rgba(220,53,69,.25)}.was-validated .form-check-input:invalid~.form-check-label,.form-check-input.is-invalid~.form-check-label{color:#dc3545}.form-check-inline .form-check-input~.invalid-feedback{margin-left:.5em}.was-validated .input-group>.form-control:not(:focus):invalid,.input-group>.form-control:not(:focus).is-invalid,.was-validated .input-group>.form-select:not(:focus):invalid,.input-group>.form-select:not(:focus).is-invalid,.was-validated .input-group>.form-floating:not(:focus-within):invalid,.input-group>.form-floating:not(:focus-within).is-invalid{z-index:4}.btn{--bs-btn-padding-x: 0.75rem;--bs-btn-padding-y: 0.375rem;--bs-btn-font-family: ;--bs-btn-font-size:1rem;--bs-btn-font-weight: 400;--bs-btn-line-height: 1.5;--bs-btn-color: #212529;--bs-btn-bg: transparent;--bs-btn-border-width: 1px;--bs-btn-border-color: transparent;--bs-btn-border-radius: 0.25rem;--bs-btn-hover-border-color: transparent;--bs-btn-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);--bs-btn-disabled-opacity: 0.65;--bs-btn-focus-box-shadow: 0 0 0 0.25rem rgba(var(--bs-btn-focus-shadow-rgb), .5);display:inline-block;padding:var(--bs-btn-padding-y) var(--bs-btn-padding-x);font-family:var(--bs-btn-font-family);font-size:var(--bs-btn-font-size);font-weight:var(--bs-btn-font-weight);line-height:var(--bs-btn-line-height);color:var(--bs-btn-color);text-align:center;text-decoration:none;-webkit-text-decoration:none;-moz-text-decoration:none;-ms-text-decoration:none;-o-text-decoration:none;vertical-align:middle;cursor:pointer;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;border:var(--bs-btn-border-width) solid var(--bs-btn-border-color);border-radius:var(--bs-btn-border-radius);background-color:var(--bs-btn-bg);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion: reduce){.btn{transition:none}}.btn:hover{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color)}.btn-check+.btn:hover{color:var(--bs-btn-color);background-color:var(--bs-btn-bg);border-color:var(--bs-btn-border-color)}.btn:focus-visible{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color);outline:0;box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:focus-visible+.btn{border-color:var(--bs-btn-hover-border-color);outline:0;box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:checked+.btn,:not(.btn-check)+.btn:active,.btn:first-child:active,.btn.active,.btn.show{color:var(--bs-btn-active-color);background-color:var(--bs-btn-active-bg);border-color:var(--bs-btn-active-border-color)}.btn-check:checked+.btn:focus-visible,:not(.btn-check)+.btn:active:focus-visible,.btn:first-child:active:focus-visible,.btn.active:focus-visible,.btn.show:focus-visible{box-shadow:var(--bs-btn-focus-box-shadow)}.btn:disabled,.btn.disabled,fieldset:disabled .btn{color:var(--bs-btn-disabled-color);pointer-events:none;background-color:var(--bs-btn-disabled-bg);border-color:var(--bs-btn-disabled-border-color);opacity:var(--bs-btn-disabled-opacity)}.btn-default{--bs-btn-color: #000;--bs-btn-bg: #dee2e6;--bs-btn-border-color: #dee2e6;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #e3e6ea;--bs-btn-hover-border-color: #e1e5e9;--bs-btn-focus-shadow-rgb: 189, 192, 196;--bs-btn-active-color: #000;--bs-btn-active-bg: #e5e8eb;--bs-btn-active-border-color: #e1e5e9;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #dee2e6;--bs-btn-disabled-border-color: #dee2e6}.btn-primary{--bs-btn-color: #ffffff;--bs-btn-bg: #0d6efd;--bs-btn-border-color: #0d6efd;--bs-btn-hover-color: #ffffff;--bs-btn-hover-bg: #0b5ed7;--bs-btn-hover-border-color: #0a58ca;--bs-btn-focus-shadow-rgb: 49, 132, 253;--bs-btn-active-color: #ffffff;--bs-btn-active-bg: #0a58ca;--bs-btn-active-border-color: #0a53be;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color: #ffffff;--bs-btn-disabled-bg: #0d6efd;--bs-btn-disabled-border-color: #0d6efd}.btn-secondary{--bs-btn-color: #ffffff;--bs-btn-bg: #6c757d;--bs-btn-border-color: #6c757d;--bs-btn-hover-color: #ffffff;--bs-btn-hover-bg: #5c636a;--bs-btn-hover-border-color: #565e64;--bs-btn-focus-shadow-rgb: 130, 138, 145;--bs-btn-active-color: #ffffff;--bs-btn-active-bg: #565e64;--bs-btn-active-border-color: #51585e;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color: #ffffff;--bs-btn-disabled-bg: #6c757d;--bs-btn-disabled-border-color: #6c757d}.btn-success{--bs-btn-color: #ffffff;--bs-btn-bg: #198754;--bs-btn-border-color: #198754;--bs-btn-hover-color: #ffffff;--bs-btn-hover-bg: #157347;--bs-btn-hover-border-color: #146c43;--bs-btn-focus-shadow-rgb: 60, 153, 110;--bs-btn-active-color: #ffffff;--bs-btn-active-bg: #146c43;--bs-btn-active-border-color: #13653f;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color: #ffffff;--bs-btn-disabled-bg: #198754;--bs-btn-disabled-border-color: #198754}.btn-info{--bs-btn-color: #000;--bs-btn-bg: #0dcaf0;--bs-btn-border-color: #0dcaf0;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #31d2f2;--bs-btn-hover-border-color: #25cff2;--bs-btn-focus-shadow-rgb: 11, 172, 204;--bs-btn-active-color: #000;--bs-btn-active-bg: #3dd5f3;--bs-btn-active-border-color: #25cff2;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #0dcaf0;--bs-btn-disabled-border-color: #0dcaf0}.btn-warning{--bs-btn-color: #000;--bs-btn-bg: #ffc107;--bs-btn-border-color: #ffc107;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #ffca2c;--bs-btn-hover-border-color: #ffc720;--bs-btn-focus-shadow-rgb: 217, 164, 6;--bs-btn-active-color: #000;--bs-btn-active-bg: #ffcd39;--bs-btn-active-border-color: #ffc720;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #ffc107;--bs-btn-disabled-border-color: #ffc107}.btn-danger{--bs-btn-color: #ffffff;--bs-btn-bg: #dc3545;--bs-btn-border-color: #dc3545;--bs-btn-hover-color: #ffffff;--bs-btn-hover-bg: #bb2d3b;--bs-btn-hover-border-color: #b02a37;--bs-btn-focus-shadow-rgb: 225, 83, 97;--bs-btn-active-color: #ffffff;--bs-btn-active-bg: #b02a37;--bs-btn-active-border-color: #a52834;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color: #ffffff;--bs-btn-disabled-bg: #dc3545;--bs-btn-disabled-border-color: #dc3545}.btn-light{--bs-btn-color: #000;--bs-btn-bg: #f8f9fa;--bs-btn-border-color: #f8f9fa;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #d3d4d5;--bs-btn-hover-border-color: #c6c7c8;--bs-btn-focus-shadow-rgb: 211, 212, 213;--bs-btn-active-color: #000;--bs-btn-active-bg: #c6c7c8;--bs-btn-active-border-color: #babbbc;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #f8f9fa;--bs-btn-disabled-border-color: #f8f9fa}.btn-dark{--bs-btn-color: #ffffff;--bs-btn-bg: #212529;--bs-btn-border-color: #212529;--bs-btn-hover-color: #ffffff;--bs-btn-hover-bg: #424649;--bs-btn-hover-border-color: #373b3e;--bs-btn-focus-shadow-rgb: 66, 70, 73;--bs-btn-active-color: #ffffff;--bs-btn-active-bg: #4d5154;--bs-btn-active-border-color: #373b3e;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color: #ffffff;--bs-btn-disabled-bg: #212529;--bs-btn-disabled-border-color: #212529}.btn-outline-default{--bs-btn-color: #dee2e6;--bs-btn-border-color: #dee2e6;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #dee2e6;--bs-btn-hover-border-color: #dee2e6;--bs-btn-focus-shadow-rgb: 222, 226, 230;--bs-btn-active-color: #000;--bs-btn-active-bg: #dee2e6;--bs-btn-active-border-color: #dee2e6;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color: #dee2e6;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #dee2e6;--bs-btn-bg: transparent;--bs-gradient: none}.btn-outline-primary{--bs-btn-color: #0d6efd;--bs-btn-border-color: #0d6efd;--bs-btn-hover-color: #ffffff;--bs-btn-hover-bg: #0d6efd;--bs-btn-hover-border-color: #0d6efd;--bs-btn-focus-shadow-rgb: 13, 110, 253;--bs-btn-active-color: #ffffff;--bs-btn-active-bg: #0d6efd;--bs-btn-active-border-color: #0d6efd;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color: #0d6efd;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #0d6efd;--bs-btn-bg: transparent;--bs-gradient: none}.btn-outline-secondary{--bs-btn-color: #6c757d;--bs-btn-border-color: #6c757d;--bs-btn-hover-color: #ffffff;--bs-btn-hover-bg: #6c757d;--bs-btn-hover-border-color: #6c757d;--bs-btn-focus-shadow-rgb: 108, 117, 125;--bs-btn-active-color: #ffffff;--bs-btn-active-bg: #6c757d;--bs-btn-active-border-color: #6c757d;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color: #6c757d;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #6c757d;--bs-btn-bg: transparent;--bs-gradient: none}.btn-outline-success{--bs-btn-color: #198754;--bs-btn-border-color: #198754;--bs-btn-hover-color: #ffffff;--bs-btn-hover-bg: #198754;--bs-btn-hover-border-color: #198754;--bs-btn-focus-shadow-rgb: 25, 135, 84;--bs-btn-active-color: #ffffff;--bs-btn-active-bg: #198754;--bs-btn-active-border-color: #198754;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color: #198754;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #198754;--bs-btn-bg: transparent;--bs-gradient: none}.btn-outline-info{--bs-btn-color: #0dcaf0;--bs-btn-border-color: #0dcaf0;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #0dcaf0;--bs-btn-hover-border-color: #0dcaf0;--bs-btn-focus-shadow-rgb: 13, 202, 240;--bs-btn-active-color: #000;--bs-btn-active-bg: #0dcaf0;--bs-btn-active-border-color: #0dcaf0;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color: #0dcaf0;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #0dcaf0;--bs-btn-bg: transparent;--bs-gradient: none}.btn-outline-warning{--bs-btn-color: #ffc107;--bs-btn-border-color: #ffc107;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #ffc107;--bs-btn-hover-border-color: #ffc107;--bs-btn-focus-shadow-rgb: 255, 193, 7;--bs-btn-active-color: #000;--bs-btn-active-bg: #ffc107;--bs-btn-active-border-color: #ffc107;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color: #ffc107;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #ffc107;--bs-btn-bg: transparent;--bs-gradient: none}.btn-outline-danger{--bs-btn-color: #dc3545;--bs-btn-border-color: #dc3545;--bs-btn-hover-color: #ffffff;--bs-btn-hover-bg: #dc3545;--bs-btn-hover-border-color: #dc3545;--bs-btn-focus-shadow-rgb: 220, 53, 69;--bs-btn-active-color: #ffffff;--bs-btn-active-bg: #dc3545;--bs-btn-active-border-color: #dc3545;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color: #dc3545;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #dc3545;--bs-btn-bg: transparent;--bs-gradient: none}.btn-outline-light{--bs-btn-color: #f8f9fa;--bs-btn-border-color: #f8f9fa;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #f8f9fa;--bs-btn-hover-border-color: #f8f9fa;--bs-btn-focus-shadow-rgb: 248, 249, 250;--bs-btn-active-color: #000;--bs-btn-active-bg: #f8f9fa;--bs-btn-active-border-color: #f8f9fa;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color: #f8f9fa;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #f8f9fa;--bs-btn-bg: transparent;--bs-gradient: none}.btn-outline-dark{--bs-btn-color: #212529;--bs-btn-border-color: #212529;--bs-btn-hover-color: #ffffff;--bs-btn-hover-bg: #212529;--bs-btn-hover-border-color: #212529;--bs-btn-focus-shadow-rgb: 33, 37, 41;--bs-btn-active-color: #ffffff;--bs-btn-active-bg: #212529;--bs-btn-active-border-color: #212529;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color: #212529;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #212529;--bs-btn-bg: transparent;--bs-gradient: none}.btn-link{--bs-btn-font-weight: 400;--bs-btn-color: #0d6efd;--bs-btn-bg: transparent;--bs-btn-border-color: transparent;--bs-btn-hover-color: #0a58ca;--bs-btn-hover-border-color: transparent;--bs-btn-active-color: #0a58ca;--bs-btn-active-border-color: transparent;--bs-btn-disabled-color: #6c757d;--bs-btn-disabled-border-color: transparent;--bs-btn-box-shadow: 0 0 0 #000;--bs-btn-focus-shadow-rgb: 49, 132, 253;text-decoration:underline;-webkit-text-decoration:underline;-moz-text-decoration:underline;-ms-text-decoration:underline;-o-text-decoration:underline}.btn-link:focus-visible{color:var(--bs-btn-color)}.btn-link:hover{color:var(--bs-btn-hover-color)}.btn-lg,.btn-group-lg>.btn{--bs-btn-padding-y: 0.5rem;--bs-btn-padding-x: 1rem;--bs-btn-font-size:1.25rem;--bs-btn-border-radius: 0.5rem}.btn-sm,.btn-group-sm>.btn{--bs-btn-padding-y: 0.25rem;--bs-btn-padding-x: 0.5rem;--bs-btn-font-size:0.875rem;--bs-btn-border-radius: 0.2em}.fade{transition:opacity .15s linear}@media(prefers-reduced-motion: reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{height:0;overflow:hidden;transition:height .2s ease}@media(prefers-reduced-motion: reduce){.collapsing{transition:none}}.collapsing.collapse-horizontal{width:0;height:auto;transition:width .35s ease}@media(prefers-reduced-motion: reduce){.collapsing.collapse-horizontal{transition:none}}.dropup,.dropend,.dropdown,.dropstart,.dropup-center,.dropdown-center{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid rgba(0,0,0,0);border-bottom:0;border-left:.3em solid rgba(0,0,0,0)}.dropdown-toggle:empty::after{margin-left:0}.dropdown-menu{--bs-dropdown-zindex: 1000;--bs-dropdown-min-width: 10rem;--bs-dropdown-padding-x: 0;--bs-dropdown-padding-y: 0.5rem;--bs-dropdown-spacer: 0.125rem;--bs-dropdown-font-size:1rem;--bs-dropdown-color: #212529;--bs-dropdown-bg: #ffffff;--bs-dropdown-border-color: rgba(0, 0, 0, 0.175);--bs-dropdown-border-radius: 0.25rem;--bs-dropdown-border-width: 1px;--bs-dropdown-inner-border-radius: calc(0.25rem - 1px);--bs-dropdown-divider-bg: rgba(0, 0, 0, 0.175);--bs-dropdown-divider-margin-y: 0.5rem;--bs-dropdown-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);--bs-dropdown-link-color: #212529;--bs-dropdown-link-hover-color: #212529;--bs-dropdown-link-hover-bg: #f8f9fa;--bs-dropdown-link-active-color: #ffffff;--bs-dropdown-link-active-bg: #0d6efd;--bs-dropdown-link-disabled-color: rgba(33, 37, 41, 0.5);--bs-dropdown-item-padding-x: 1rem;--bs-dropdown-item-padding-y: 0.25rem;--bs-dropdown-header-color: #6c757d;--bs-dropdown-header-padding-x: 1rem;--bs-dropdown-header-padding-y: 0.5rem;position:absolute;z-index:var(--bs-dropdown-zindex);display:none;min-width:var(--bs-dropdown-min-width);padding:var(--bs-dropdown-padding-y) var(--bs-dropdown-padding-x);margin:0;font-size:var(--bs-dropdown-font-size);color:var(--bs-dropdown-color);text-align:left;list-style:none;background-color:var(--bs-dropdown-bg);background-clip:padding-box;border:var(--bs-dropdown-border-width) solid var(--bs-dropdown-border-color);border-radius:var(--bs-dropdown-border-radius)}.dropdown-menu[data-bs-popper]{top:100%;left:0;margin-top:var(--bs-dropdown-spacer)}.dropdown-menu-start{--bs-position: start}.dropdown-menu-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-end{--bs-position: end}.dropdown-menu-end[data-bs-popper]{right:0;left:auto}@media(min-width: 576px){.dropdown-menu-sm-start{--bs-position: start}.dropdown-menu-sm-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-sm-end{--bs-position: end}.dropdown-menu-sm-end[data-bs-popper]{right:0;left:auto}}@media(min-width: 768px){.dropdown-menu-md-start{--bs-position: start}.dropdown-menu-md-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-md-end{--bs-position: end}.dropdown-menu-md-end[data-bs-popper]{right:0;left:auto}}@media(min-width: 992px){.dropdown-menu-lg-start{--bs-position: start}.dropdown-menu-lg-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-lg-end{--bs-position: end}.dropdown-menu-lg-end[data-bs-popper]{right:0;left:auto}}@media(min-width: 1200px){.dropdown-menu-xl-start{--bs-position: start}.dropdown-menu-xl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xl-end{--bs-position: end}.dropdown-menu-xl-end[data-bs-popper]{right:0;left:auto}}@media(min-width: 1400px){.dropdown-menu-xxl-start{--bs-position: start}.dropdown-menu-xxl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xxl-end{--bs-position: end}.dropdown-menu-xxl-end[data-bs-popper]{right:0;left:auto}}.dropup .dropdown-menu[data-bs-popper]{top:auto;bottom:100%;margin-top:0;margin-bottom:var(--bs-dropdown-spacer)}.dropup .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid rgba(0,0,0,0);border-bottom:.3em solid;border-left:.3em solid rgba(0,0,0,0)}.dropup .dropdown-toggle:empty::after{margin-left:0}.dropend .dropdown-menu[data-bs-popper]{top:0;right:auto;left:100%;margin-top:0;margin-left:var(--bs-dropdown-spacer)}.dropend .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid rgba(0,0,0,0);border-right:0;border-bottom:.3em solid rgba(0,0,0,0);border-left:.3em solid}.dropend .dropdown-toggle:empty::after{margin-left:0}.dropend .dropdown-toggle::after{vertical-align:0}.dropstart .dropdown-menu[data-bs-popper]{top:0;right:100%;left:auto;margin-top:0;margin-right:var(--bs-dropdown-spacer)}.dropstart .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:""}.dropstart .dropdown-toggle::after{display:none}.dropstart .dropdown-toggle::before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid rgba(0,0,0,0);border-right:.3em solid;border-bottom:.3em solid rgba(0,0,0,0)}.dropstart .dropdown-toggle:empty::after{margin-left:0}.dropstart .dropdown-toggle::before{vertical-align:0}.dropdown-divider{height:0;margin:var(--bs-dropdown-divider-margin-y) 0;overflow:hidden;border-top:1px solid var(--bs-dropdown-divider-bg);opacity:1}.dropdown-item{display:block;width:100%;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);clear:both;font-weight:400;color:var(--bs-dropdown-link-color);text-align:inherit;text-decoration:none;-webkit-text-decoration:none;-moz-text-decoration:none;-ms-text-decoration:none;-o-text-decoration:none;white-space:nowrap;background-color:rgba(0,0,0,0);border:0;border-radius:var(--bs-dropdown-item-border-radius, 0)}.dropdown-item:hover,.dropdown-item:focus{color:var(--bs-dropdown-link-hover-color);background-color:var(--bs-dropdown-link-hover-bg)}.dropdown-item.active,.dropdown-item:active{color:var(--bs-dropdown-link-active-color);text-decoration:none;background-color:var(--bs-dropdown-link-active-bg)}.dropdown-item.disabled,.dropdown-item:disabled{color:var(--bs-dropdown-link-disabled-color);pointer-events:none;background-color:rgba(0,0,0,0)}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:var(--bs-dropdown-header-padding-y) var(--bs-dropdown-header-padding-x);margin-bottom:0;font-size:0.875rem;color:var(--bs-dropdown-header-color);white-space:nowrap}.dropdown-item-text{display:block;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);color:var(--bs-dropdown-link-color)}.dropdown-menu-dark{--bs-dropdown-color: #dee2e6;--bs-dropdown-bg: #343a40;--bs-dropdown-border-color: rgba(0, 0, 0, 0.175);--bs-dropdown-box-shadow: ;--bs-dropdown-link-color: #dee2e6;--bs-dropdown-link-hover-color: #ffffff;--bs-dropdown-divider-bg: rgba(0, 0, 0, 0.175);--bs-dropdown-link-hover-bg: rgba(255, 255, 255, 0.15);--bs-dropdown-link-active-color: #ffffff;--bs-dropdown-link-active-bg: #0d6efd;--bs-dropdown-link-disabled-color: #adb5bd;--bs-dropdown-header-color: #adb5bd}.btn-group,.btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}.btn-group>.btn,.btn-group-vertical>.btn{position:relative;flex:1 1 auto;-webkit-flex:1 1 auto}.btn-group>.btn-check:checked+.btn,.btn-group>.btn-check:focus+.btn,.btn-group>.btn:hover,.btn-group>.btn:focus,.btn-group>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn-check:checked+.btn,.btn-group-vertical>.btn-check:focus+.btn,.btn-group-vertical>.btn:hover,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn.active{z-index:1}.btn-toolbar{display:flex;display:-webkit-flex;flex-wrap:wrap;-webkit-flex-wrap:wrap;justify-content:flex-start;-webkit-justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group{border-radius:.25rem}.btn-group>:not(.btn-check:first-child)+.btn,.btn-group>.btn-group:not(:first-child){margin-left:calc(1px*-1)}.btn-group>.btn:not(:last-child):not(.dropdown-toggle),.btn-group>.btn.dropdown-toggle-split:first-child,.btn-group>.btn-group:not(:last-child)>.btn{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:nth-child(n+3),.btn-group>:not(.btn-check)+.btn,.btn-group>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split::after,.dropup .dropdown-toggle-split::after,.dropend .dropdown-toggle-split::after{margin-left:0}.dropstart .dropdown-toggle-split::before{margin-right:0}.btn-sm+.dropdown-toggle-split,.btn-group-sm>.btn+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-lg+.dropdown-toggle-split,.btn-group-lg>.btn+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{flex-direction:column;-webkit-flex-direction:column;align-items:flex-start;-webkit-align-items:flex-start;justify-content:center;-webkit-justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn:not(:first-child),.btn-group-vertical>.btn-group:not(:first-child){margin-top:calc(1px*-1)}.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle),.btn-group-vertical>.btn-group:not(:last-child)>.btn{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn~.btn,.btn-group-vertical>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-top-right-radius:0}.nav{--bs-nav-link-padding-x: 1rem;--bs-nav-link-padding-y: 0.5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color: #0d6efd;--bs-nav-link-hover-color: #0a58ca;--bs-nav-link-disabled-color: rgba(33, 37, 41, 0.75);display:flex;display:-webkit-flex;flex-wrap:wrap;-webkit-flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);font-size:var(--bs-nav-link-font-size);font-weight:var(--bs-nav-link-font-weight);color:var(--bs-nav-link-color);text-decoration:none;-webkit-text-decoration:none;-moz-text-decoration:none;-ms-text-decoration:none;-o-text-decoration:none;background:none;border:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}@media(prefers-reduced-motion: reduce){.nav-link{transition:none}}.nav-link:hover,.nav-link:focus{color:var(--bs-nav-link-hover-color)}.nav-link:focus-visible{outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.nav-link.disabled,.nav-link:disabled{color:var(--bs-nav-link-disabled-color);pointer-events:none;cursor:default}.nav-tabs{--bs-nav-tabs-border-width: 1px;--bs-nav-tabs-border-color: #dee2e6;--bs-nav-tabs-border-radius: 0.25rem;--bs-nav-tabs-link-hover-border-color: #e9ecef #e9ecef #dee2e6;--bs-nav-tabs-link-active-color: #000;--bs-nav-tabs-link-active-bg: #ffffff;--bs-nav-tabs-link-active-border-color: #dee2e6 #dee2e6 #ffffff;border-bottom:var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color)}.nav-tabs .nav-link{margin-bottom:calc(-1*var(--bs-nav-tabs-border-width));border:var(--bs-nav-tabs-border-width) solid rgba(0,0,0,0);border-top-left-radius:var(--bs-nav-tabs-border-radius);border-top-right-radius:var(--bs-nav-tabs-border-radius)}.nav-tabs .nav-link:hover,.nav-tabs .nav-link:focus{isolation:isolate;border-color:var(--bs-nav-tabs-link-hover-border-color)}.nav-tabs .nav-link.active,.nav-tabs .nav-item.show .nav-link{color:var(--bs-nav-tabs-link-active-color);background-color:var(--bs-nav-tabs-link-active-bg);border-color:var(--bs-nav-tabs-link-active-border-color)}.nav-tabs .dropdown-menu{margin-top:calc(-1*var(--bs-nav-tabs-border-width));border-top-left-radius:0;border-top-right-radius:0}.nav-pills{--bs-nav-pills-border-radius: 0.25rem;--bs-nav-pills-link-active-color: #ffffff;--bs-nav-pills-link-active-bg: #0d6efd}.nav-pills .nav-link{border-radius:var(--bs-nav-pills-border-radius)}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:var(--bs-nav-pills-link-active-color);background-color:var(--bs-nav-pills-link-active-bg)}.nav-underline{--bs-nav-underline-gap: 1rem;--bs-nav-underline-border-width: 0.125rem;--bs-nav-underline-link-active-color: #000;gap:var(--bs-nav-underline-gap)}.nav-underline .nav-link{padding-right:0;padding-left:0;border-bottom:var(--bs-nav-underline-border-width) solid rgba(0,0,0,0)}.nav-underline .nav-link:hover,.nav-underline .nav-link:focus{border-bottom-color:currentcolor}.nav-underline .nav-link.active,.nav-underline .show>.nav-link{font-weight:700;color:var(--bs-nav-underline-link-active-color);border-bottom-color:currentcolor}.nav-fill>.nav-link,.nav-fill .nav-item{flex:1 1 auto;-webkit-flex:1 1 auto;text-align:center}.nav-justified>.nav-link,.nav-justified .nav-item{flex-basis:0;-webkit-flex-basis:0;flex-grow:1;-webkit-flex-grow:1;text-align:center}.nav-fill .nav-item .nav-link,.nav-justified .nav-item .nav-link{width:100%}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{--bs-navbar-padding-x: 0;--bs-navbar-padding-y: 0.5rem;--bs-navbar-color: #545555;--bs-navbar-hover-color: rgba(9, 79, 182, 0.8);--bs-navbar-disabled-color: rgba(84, 85, 85, 0.75);--bs-navbar-active-color: #094fb6;--bs-navbar-brand-padding-y: 0.3125rem;--bs-navbar-brand-margin-end: 1rem;--bs-navbar-brand-font-size: 1.25rem;--bs-navbar-brand-color: #545555;--bs-navbar-brand-hover-color: #094fb6;--bs-navbar-nav-link-padding-x: 0.5rem;--bs-navbar-toggler-padding-y: 0.25;--bs-navbar-toggler-padding-x: 0;--bs-navbar-toggler-font-size: 1.25rem;--bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='%23545555' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");--bs-navbar-toggler-border-color: rgba(84, 85, 85, 0);--bs-navbar-toggler-border-radius: 0.25rem;--bs-navbar-toggler-focus-width: 0.25rem;--bs-navbar-toggler-transition: box-shadow 0.15s ease-in-out;position:relative;display:flex;display:-webkit-flex;flex-wrap:wrap;-webkit-flex-wrap:wrap;align-items:center;-webkit-align-items:center;justify-content:space-between;-webkit-justify-content:space-between;padding:var(--bs-navbar-padding-y) var(--bs-navbar-padding-x)}.navbar>.container,.navbar>.container-fluid,.navbar>.container-sm,.navbar>.container-md,.navbar>.container-lg,.navbar>.container-xl,.navbar>.container-xxl{display:flex;display:-webkit-flex;flex-wrap:inherit;-webkit-flex-wrap:inherit;align-items:center;-webkit-align-items:center;justify-content:space-between;-webkit-justify-content:space-between}.navbar-brand{padding-top:var(--bs-navbar-brand-padding-y);padding-bottom:var(--bs-navbar-brand-padding-y);margin-right:var(--bs-navbar-brand-margin-end);font-size:var(--bs-navbar-brand-font-size);color:var(--bs-navbar-brand-color);text-decoration:none;-webkit-text-decoration:none;-moz-text-decoration:none;-ms-text-decoration:none;-o-text-decoration:none;white-space:nowrap}.navbar-brand:hover,.navbar-brand:focus{color:var(--bs-navbar-brand-hover-color)}.navbar-nav{--bs-nav-link-padding-x: 0;--bs-nav-link-padding-y: 0.5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color: var(--bs-navbar-color);--bs-nav-link-hover-color: var(--bs-navbar-hover-color);--bs-nav-link-disabled-color: var(--bs-navbar-disabled-color);display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link.active,.navbar-nav .nav-link.show{color:var(--bs-navbar-active-color)}.navbar-nav .dropdown-menu{position:static}.navbar-text{padding-top:.5rem;padding-bottom:.5rem;color:var(--bs-navbar-color)}.navbar-text a,.navbar-text a:hover,.navbar-text a:focus{color:var(--bs-navbar-active-color)}.navbar-collapse{flex-basis:100%;-webkit-flex-basis:100%;flex-grow:1;-webkit-flex-grow:1;align-items:center;-webkit-align-items:center}.navbar-toggler{padding:var(--bs-navbar-toggler-padding-y) var(--bs-navbar-toggler-padding-x);font-size:var(--bs-navbar-toggler-font-size);line-height:1;color:var(--bs-navbar-color);background-color:rgba(0,0,0,0);border:var(--bs-border-width) solid var(--bs-navbar-toggler-border-color);border-radius:var(--bs-navbar-toggler-border-radius);transition:var(--bs-navbar-toggler-transition)}@media(prefers-reduced-motion: reduce){.navbar-toggler{transition:none}}.navbar-toggler:hover{text-decoration:none}.navbar-toggler:focus{text-decoration:none;outline:0;box-shadow:0 0 0 var(--bs-navbar-toggler-focus-width)}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;background-image:var(--bs-navbar-toggler-icon-bg);background-repeat:no-repeat;background-position:center;background-size:100%}.navbar-nav-scroll{max-height:var(--bs-scroll-height, 75vh);overflow-y:auto}@media(min-width: 576px){.navbar-expand-sm{flex-wrap:nowrap;-webkit-flex-wrap:nowrap;justify-content:flex-start;-webkit-justify-content:flex-start}.navbar-expand-sm .navbar-nav{flex-direction:row;-webkit-flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-sm .navbar-nav-scroll{overflow:visible}.navbar-expand-sm .navbar-collapse{display:flex !important;display:-webkit-flex !important;flex-basis:auto;-webkit-flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}.navbar-expand-sm .offcanvas{position:static;z-index:auto;flex-grow:1;-webkit-flex-grow:1;width:auto !important;height:auto !important;visibility:visible !important;background-color:rgba(0,0,0,0) !important;border:0 !important;transform:none !important;transition:none}.navbar-expand-sm .offcanvas .offcanvas-header{display:none}.navbar-expand-sm .offcanvas .offcanvas-body{display:flex;display:-webkit-flex;flex-grow:0;-webkit-flex-grow:0;padding:0;overflow-y:visible}}@media(min-width: 768px){.navbar-expand-md{flex-wrap:nowrap;-webkit-flex-wrap:nowrap;justify-content:flex-start;-webkit-justify-content:flex-start}.navbar-expand-md .navbar-nav{flex-direction:row;-webkit-flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-md .navbar-nav-scroll{overflow:visible}.navbar-expand-md .navbar-collapse{display:flex !important;display:-webkit-flex !important;flex-basis:auto;-webkit-flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}.navbar-expand-md .offcanvas{position:static;z-index:auto;flex-grow:1;-webkit-flex-grow:1;width:auto !important;height:auto !important;visibility:visible !important;background-color:rgba(0,0,0,0) !important;border:0 !important;transform:none !important;transition:none}.navbar-expand-md .offcanvas .offcanvas-header{display:none}.navbar-expand-md .offcanvas .offcanvas-body{display:flex;display:-webkit-flex;flex-grow:0;-webkit-flex-grow:0;padding:0;overflow-y:visible}}@media(min-width: 992px){.navbar-expand-lg{flex-wrap:nowrap;-webkit-flex-wrap:nowrap;justify-content:flex-start;-webkit-justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row;-webkit-flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-lg .navbar-nav-scroll{overflow:visible}.navbar-expand-lg .navbar-collapse{display:flex !important;display:-webkit-flex !important;flex-basis:auto;-webkit-flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}.navbar-expand-lg .offcanvas{position:static;z-index:auto;flex-grow:1;-webkit-flex-grow:1;width:auto !important;height:auto !important;visibility:visible !important;background-color:rgba(0,0,0,0) !important;border:0 !important;transform:none !important;transition:none}.navbar-expand-lg .offcanvas .offcanvas-header{display:none}.navbar-expand-lg .offcanvas .offcanvas-body{display:flex;display:-webkit-flex;flex-grow:0;-webkit-flex-grow:0;padding:0;overflow-y:visible}}@media(min-width: 1200px){.navbar-expand-xl{flex-wrap:nowrap;-webkit-flex-wrap:nowrap;justify-content:flex-start;-webkit-justify-content:flex-start}.navbar-expand-xl .navbar-nav{flex-direction:row;-webkit-flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-xl .navbar-nav-scroll{overflow:visible}.navbar-expand-xl .navbar-collapse{display:flex !important;display:-webkit-flex !important;flex-basis:auto;-webkit-flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}.navbar-expand-xl .offcanvas{position:static;z-index:auto;flex-grow:1;-webkit-flex-grow:1;width:auto !important;height:auto !important;visibility:visible !important;background-color:rgba(0,0,0,0) !important;border:0 !important;transform:none !important;transition:none}.navbar-expand-xl .offcanvas .offcanvas-header{display:none}.navbar-expand-xl .offcanvas .offcanvas-body{display:flex;display:-webkit-flex;flex-grow:0;-webkit-flex-grow:0;padding:0;overflow-y:visible}}@media(min-width: 1400px){.navbar-expand-xxl{flex-wrap:nowrap;-webkit-flex-wrap:nowrap;justify-content:flex-start;-webkit-justify-content:flex-start}.navbar-expand-xxl .navbar-nav{flex-direction:row;-webkit-flex-direction:row}.navbar-expand-xxl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xxl .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-xxl .navbar-nav-scroll{overflow:visible}.navbar-expand-xxl .navbar-collapse{display:flex !important;display:-webkit-flex !important;flex-basis:auto;-webkit-flex-basis:auto}.navbar-expand-xxl .navbar-toggler{display:none}.navbar-expand-xxl .offcanvas{position:static;z-index:auto;flex-grow:1;-webkit-flex-grow:1;width:auto !important;height:auto !important;visibility:visible !important;background-color:rgba(0,0,0,0) !important;border:0 !important;transform:none !important;transition:none}.navbar-expand-xxl .offcanvas .offcanvas-header{display:none}.navbar-expand-xxl .offcanvas .offcanvas-body{display:flex;display:-webkit-flex;flex-grow:0;-webkit-flex-grow:0;padding:0;overflow-y:visible}}.navbar-expand{flex-wrap:nowrap;-webkit-flex-wrap:nowrap;justify-content:flex-start;-webkit-justify-content:flex-start}.navbar-expand .navbar-nav{flex-direction:row;-webkit-flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand .navbar-nav-scroll{overflow:visible}.navbar-expand .navbar-collapse{display:flex !important;display:-webkit-flex !important;flex-basis:auto;-webkit-flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-expand .offcanvas{position:static;z-index:auto;flex-grow:1;-webkit-flex-grow:1;width:auto !important;height:auto !important;visibility:visible !important;background-color:rgba(0,0,0,0) !important;border:0 !important;transform:none !important;transition:none}.navbar-expand .offcanvas .offcanvas-header{display:none}.navbar-expand .offcanvas .offcanvas-body{display:flex;display:-webkit-flex;flex-grow:0;-webkit-flex-grow:0;padding:0;overflow-y:visible}.navbar-dark,.navbar[data-bs-theme=dark]{--bs-navbar-color: #545555;--bs-navbar-hover-color: rgba(9, 79, 182, 0.8);--bs-navbar-disabled-color: rgba(84, 85, 85, 0.75);--bs-navbar-active-color: #094fb6;--bs-navbar-brand-color: #545555;--bs-navbar-brand-hover-color: #094fb6;--bs-navbar-toggler-border-color: rgba(84, 85, 85, 0);--bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='%23545555' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}[data-bs-theme=dark] .navbar-toggler-icon{--bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='%23545555' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.card{--bs-card-spacer-y: 1rem;--bs-card-spacer-x: 1rem;--bs-card-title-spacer-y: 0.5rem;--bs-card-title-color: ;--bs-card-subtitle-color: ;--bs-card-border-width: 1px;--bs-card-border-color: rgba(0, 0, 0, 0.175);--bs-card-border-radius: 0.25rem;--bs-card-box-shadow: ;--bs-card-inner-border-radius: calc(0.25rem - 1px);--bs-card-cap-padding-y: 0.5rem;--bs-card-cap-padding-x: 1rem;--bs-card-cap-bg: rgba(52, 58, 64, 0.25);--bs-card-cap-color: ;--bs-card-height: ;--bs-card-color: ;--bs-card-bg: #ffffff;--bs-card-img-overlay-padding: 1rem;--bs-card-group-margin: 0.75rem;position:relative;display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column;min-width:0;height:var(--bs-card-height);color:var(--bs-body-color);word-wrap:break-word;background-color:var(--bs-card-bg);background-clip:border-box;border:var(--bs-card-border-width) solid var(--bs-card-border-color);border-radius:var(--bs-card-border-radius)}.card>hr{margin-right:0;margin-left:0}.card>.list-group{border-top:inherit;border-bottom:inherit}.card>.list-group:first-child{border-top-width:0;border-top-left-radius:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius)}.card>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:var(--bs-card-inner-border-radius);border-bottom-left-radius:var(--bs-card-inner-border-radius)}.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}.card-body{flex:1 1 auto;-webkit-flex:1 1 auto;padding:var(--bs-card-spacer-y) var(--bs-card-spacer-x);color:var(--bs-card-color)}.card-title{margin-bottom:var(--bs-card-title-spacer-y);color:var(--bs-card-title-color)}.card-subtitle{margin-top:calc(-0.5*var(--bs-card-title-spacer-y));margin-bottom:0;color:var(--bs-card-subtitle-color)}.card-text:last-child{margin-bottom:0}.card-link+.card-link{margin-left:var(--bs-card-spacer-x)}.card-header{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);margin-bottom:0;color:var(--bs-card-cap-color);background-color:var(--bs-card-cap-bg);border-bottom:var(--bs-card-border-width) solid var(--bs-card-border-color)}.card-header:first-child{border-radius:var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius) 0 0}.card-footer{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);color:var(--bs-card-cap-color);background-color:var(--bs-card-cap-bg);border-top:var(--bs-card-border-width) solid var(--bs-card-border-color)}.card-footer:last-child{border-radius:0 0 var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius)}.card-header-tabs{margin-right:calc(-0.5*var(--bs-card-cap-padding-x));margin-bottom:calc(-1*var(--bs-card-cap-padding-y));margin-left:calc(-0.5*var(--bs-card-cap-padding-x));border-bottom:0}.card-header-tabs .nav-link.active{background-color:var(--bs-card-bg);border-bottom-color:var(--bs-card-bg)}.card-header-pills{margin-right:calc(-0.5*var(--bs-card-cap-padding-x));margin-left:calc(-0.5*var(--bs-card-cap-padding-x))}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:var(--bs-card-img-overlay-padding);border-radius:var(--bs-card-inner-border-radius)}.card-img,.card-img-top,.card-img-bottom{width:100%}.card-img,.card-img-top{border-top-left-radius:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius)}.card-img,.card-img-bottom{border-bottom-right-radius:var(--bs-card-inner-border-radius);border-bottom-left-radius:var(--bs-card-inner-border-radius)}.card-group>.card{margin-bottom:var(--bs-card-group-margin)}@media(min-width: 576px){.card-group{display:flex;display:-webkit-flex;flex-flow:row wrap;-webkit-flex-flow:row wrap}.card-group>.card{flex:1 0 0%;-webkit-flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child) .card-img-top,.card-group>.card:not(:last-child) .card-header{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-img-bottom,.card-group>.card:not(:last-child) .card-footer{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child) .card-img-top,.card-group>.card:not(:first-child) .card-header{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-img-bottom,.card-group>.card:not(:first-child) .card-footer{border-bottom-left-radius:0}}.accordion{--bs-accordion-color: #212529;--bs-accordion-bg: #ffffff;--bs-accordion-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, border-radius 0.15s ease;--bs-accordion-border-color: #dee2e6;--bs-accordion-border-width: 1px;--bs-accordion-border-radius: 0.25rem;--bs-accordion-inner-border-radius: calc(0.25rem - 1px);--bs-accordion-btn-padding-x: 1.25rem;--bs-accordion-btn-padding-y: 1rem;--bs-accordion-btn-color: #212529;--bs-accordion-btn-bg: #ffffff;--bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23212529'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");--bs-accordion-btn-icon-width: 1.25rem;--bs-accordion-btn-icon-transform: rotate(-180deg);--bs-accordion-btn-icon-transition: transform 0.2s ease-in-out;--bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23052c65'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");--bs-accordion-btn-focus-border-color: #86b7fe;--bs-accordion-btn-focus-box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);--bs-accordion-body-padding-x: 1.25rem;--bs-accordion-body-padding-y: 1rem;--bs-accordion-active-color: #052c65;--bs-accordion-active-bg: #cfe2ff}.accordion-button{position:relative;display:flex;display:-webkit-flex;align-items:center;-webkit-align-items:center;width:100%;padding:var(--bs-accordion-btn-padding-y) var(--bs-accordion-btn-padding-x);font-size:1rem;color:var(--bs-accordion-btn-color);text-align:left;background-color:var(--bs-accordion-btn-bg);border:0;border-radius:0;overflow-anchor:none;transition:var(--bs-accordion-transition)}@media(prefers-reduced-motion: reduce){.accordion-button{transition:none}}.accordion-button:not(.collapsed){color:var(--bs-accordion-active-color);background-color:var(--bs-accordion-active-bg);box-shadow:inset 0 calc(-1*var(--bs-accordion-border-width)) 0 var(--bs-accordion-border-color)}.accordion-button:not(.collapsed)::after{background-image:var(--bs-accordion-btn-active-icon);transform:var(--bs-accordion-btn-icon-transform)}.accordion-button::after{flex-shrink:0;-webkit-flex-shrink:0;width:var(--bs-accordion-btn-icon-width);height:var(--bs-accordion-btn-icon-width);margin-left:auto;content:"";background-image:var(--bs-accordion-btn-icon);background-repeat:no-repeat;background-size:var(--bs-accordion-btn-icon-width);transition:var(--bs-accordion-btn-icon-transition)}@media(prefers-reduced-motion: reduce){.accordion-button::after{transition:none}}.accordion-button:hover{z-index:2}.accordion-button:focus{z-index:3;border-color:var(--bs-accordion-btn-focus-border-color);outline:0;box-shadow:var(--bs-accordion-btn-focus-box-shadow)}.accordion-header{margin-bottom:0}.accordion-item{color:var(--bs-accordion-color);background-color:var(--bs-accordion-bg);border:var(--bs-accordion-border-width) solid var(--bs-accordion-border-color)}.accordion-item:first-of-type{border-top-left-radius:var(--bs-accordion-border-radius);border-top-right-radius:var(--bs-accordion-border-radius)}.accordion-item:first-of-type .accordion-button{border-top-left-radius:var(--bs-accordion-inner-border-radius);border-top-right-radius:var(--bs-accordion-inner-border-radius)}.accordion-item:not(:first-of-type){border-top:0}.accordion-item:last-of-type{border-bottom-right-radius:var(--bs-accordion-border-radius);border-bottom-left-radius:var(--bs-accordion-border-radius)}.accordion-item:last-of-type .accordion-button.collapsed{border-bottom-right-radius:var(--bs-accordion-inner-border-radius);border-bottom-left-radius:var(--bs-accordion-inner-border-radius)}.accordion-item:last-of-type .accordion-collapse{border-bottom-right-radius:var(--bs-accordion-border-radius);border-bottom-left-radius:var(--bs-accordion-border-radius)}.accordion-body{padding:var(--bs-accordion-body-padding-y) var(--bs-accordion-body-padding-x)}.accordion-flush .accordion-collapse{border-width:0}.accordion-flush .accordion-item{border-right:0;border-left:0;border-radius:0}.accordion-flush .accordion-item:first-child{border-top:0}.accordion-flush .accordion-item:last-child{border-bottom:0}.accordion-flush .accordion-item .accordion-button,.accordion-flush .accordion-item .accordion-button.collapsed{border-radius:0}[data-bs-theme=dark] .accordion-button::after{--bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236ea8fe'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");--bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236ea8fe'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e")}.breadcrumb{--bs-breadcrumb-padding-x: 0;--bs-breadcrumb-padding-y: 0;--bs-breadcrumb-margin-bottom: 1rem;--bs-breadcrumb-bg: ;--bs-breadcrumb-border-radius: ;--bs-breadcrumb-divider-color: rgba(33, 37, 41, 0.75);--bs-breadcrumb-item-padding-x: 0.5rem;--bs-breadcrumb-item-active-color: rgba(33, 37, 41, 0.75);display:flex;display:-webkit-flex;flex-wrap:wrap;-webkit-flex-wrap:wrap;padding:var(--bs-breadcrumb-padding-y) var(--bs-breadcrumb-padding-x);margin-bottom:var(--bs-breadcrumb-margin-bottom);font-size:var(--bs-breadcrumb-font-size);list-style:none;background-color:var(--bs-breadcrumb-bg);border-radius:var(--bs-breadcrumb-border-radius)}.breadcrumb-item+.breadcrumb-item{padding-left:var(--bs-breadcrumb-item-padding-x)}.breadcrumb-item+.breadcrumb-item::before{float:left;padding-right:var(--bs-breadcrumb-item-padding-x);color:var(--bs-breadcrumb-divider-color);content:var(--bs-breadcrumb-divider, ">") /* rtl: var(--bs-breadcrumb-divider, ">") */}.breadcrumb-item.active{color:var(--bs-breadcrumb-item-active-color)}.pagination{--bs-pagination-padding-x: 0.75rem;--bs-pagination-padding-y: 0.375rem;--bs-pagination-font-size:1rem;--bs-pagination-color: #0d6efd;--bs-pagination-bg: #ffffff;--bs-pagination-border-width: 1px;--bs-pagination-border-color: #dee2e6;--bs-pagination-border-radius: 0.25rem;--bs-pagination-hover-color: #0a58ca;--bs-pagination-hover-bg: #f8f9fa;--bs-pagination-hover-border-color: #dee2e6;--bs-pagination-focus-color: #0a58ca;--bs-pagination-focus-bg: #e9ecef;--bs-pagination-focus-box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);--bs-pagination-active-color: #ffffff;--bs-pagination-active-bg: #0d6efd;--bs-pagination-active-border-color: #0d6efd;--bs-pagination-disabled-color: rgba(33, 37, 41, 0.75);--bs-pagination-disabled-bg: #e9ecef;--bs-pagination-disabled-border-color: #dee2e6;display:flex;display:-webkit-flex;padding-left:0;list-style:none}.page-link{position:relative;display:block;padding:var(--bs-pagination-padding-y) var(--bs-pagination-padding-x);font-size:var(--bs-pagination-font-size);color:var(--bs-pagination-color);text-decoration:none;-webkit-text-decoration:none;-moz-text-decoration:none;-ms-text-decoration:none;-o-text-decoration:none;background-color:var(--bs-pagination-bg);border:var(--bs-pagination-border-width) solid var(--bs-pagination-border-color);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion: reduce){.page-link{transition:none}}.page-link:hover{z-index:2;color:var(--bs-pagination-hover-color);background-color:var(--bs-pagination-hover-bg);border-color:var(--bs-pagination-hover-border-color)}.page-link:focus{z-index:3;color:var(--bs-pagination-focus-color);background-color:var(--bs-pagination-focus-bg);outline:0;box-shadow:var(--bs-pagination-focus-box-shadow)}.page-link.active,.active>.page-link{z-index:3;color:var(--bs-pagination-active-color);background-color:var(--bs-pagination-active-bg);border-color:var(--bs-pagination-active-border-color)}.page-link.disabled,.disabled>.page-link{color:var(--bs-pagination-disabled-color);pointer-events:none;background-color:var(--bs-pagination-disabled-bg);border-color:var(--bs-pagination-disabled-border-color)}.page-item:not(:first-child) .page-link{margin-left:calc(1px*-1)}.page-item:first-child .page-link{border-top-left-radius:var(--bs-pagination-border-radius);border-bottom-left-radius:var(--bs-pagination-border-radius)}.page-item:last-child .page-link{border-top-right-radius:var(--bs-pagination-border-radius);border-bottom-right-radius:var(--bs-pagination-border-radius)}.pagination-lg{--bs-pagination-padding-x: 1.5rem;--bs-pagination-padding-y: 0.75rem;--bs-pagination-font-size:1.25rem;--bs-pagination-border-radius: 0.5rem}.pagination-sm{--bs-pagination-padding-x: 0.5rem;--bs-pagination-padding-y: 0.25rem;--bs-pagination-font-size:0.875rem;--bs-pagination-border-radius: 0.2em}.badge{--bs-badge-padding-x: 0.65em;--bs-badge-padding-y: 0.35em;--bs-badge-font-size:0.75em;--bs-badge-font-weight: 700;--bs-badge-color: #ffffff;--bs-badge-border-radius: 0.25rem;display:inline-block;padding:var(--bs-badge-padding-y) var(--bs-badge-padding-x);font-size:var(--bs-badge-font-size);font-weight:var(--bs-badge-font-weight);line-height:1;color:var(--bs-badge-color);text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:var(--bs-badge-border-radius)}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.alert{--bs-alert-bg: transparent;--bs-alert-padding-x: 1rem;--bs-alert-padding-y: 1rem;--bs-alert-margin-bottom: 1rem;--bs-alert-color: inherit;--bs-alert-border-color: transparent;--bs-alert-border: 1px solid var(--bs-alert-border-color);--bs-alert-border-radius: 0.25rem;--bs-alert-link-color: inherit;position:relative;padding:var(--bs-alert-padding-y) var(--bs-alert-padding-x);margin-bottom:var(--bs-alert-margin-bottom);color:var(--bs-alert-color);background-color:var(--bs-alert-bg);border:var(--bs-alert-border);border-radius:var(--bs-alert-border-radius)}.alert-heading{color:inherit}.alert-link{font-weight:700;color:var(--bs-alert-link-color)}.alert-dismissible{padding-right:3rem}.alert-dismissible .btn-close{position:absolute;top:0;right:0;z-index:2;padding:1.25rem 1rem}.alert-default{--bs-alert-color: var(--bs-default-text-emphasis);--bs-alert-bg: var(--bs-default-bg-subtle);--bs-alert-border-color: var(--bs-default-border-subtle);--bs-alert-link-color: var(--bs-default-text-emphasis)}.alert-primary{--bs-alert-color: var(--bs-primary-text-emphasis);--bs-alert-bg: var(--bs-primary-bg-subtle);--bs-alert-border-color: var(--bs-primary-border-subtle);--bs-alert-link-color: var(--bs-primary-text-emphasis)}.alert-secondary{--bs-alert-color: var(--bs-secondary-text-emphasis);--bs-alert-bg: var(--bs-secondary-bg-subtle);--bs-alert-border-color: var(--bs-secondary-border-subtle);--bs-alert-link-color: var(--bs-secondary-text-emphasis)}.alert-success{--bs-alert-color: var(--bs-success-text-emphasis);--bs-alert-bg: var(--bs-success-bg-subtle);--bs-alert-border-color: var(--bs-success-border-subtle);--bs-alert-link-color: var(--bs-success-text-emphasis)}.alert-info{--bs-alert-color: var(--bs-info-text-emphasis);--bs-alert-bg: var(--bs-info-bg-subtle);--bs-alert-border-color: var(--bs-info-border-subtle);--bs-alert-link-color: var(--bs-info-text-emphasis)}.alert-warning{--bs-alert-color: var(--bs-warning-text-emphasis);--bs-alert-bg: var(--bs-warning-bg-subtle);--bs-alert-border-color: var(--bs-warning-border-subtle);--bs-alert-link-color: var(--bs-warning-text-emphasis)}.alert-danger{--bs-alert-color: var(--bs-danger-text-emphasis);--bs-alert-bg: var(--bs-danger-bg-subtle);--bs-alert-border-color: var(--bs-danger-border-subtle);--bs-alert-link-color: var(--bs-danger-text-emphasis)}.alert-light{--bs-alert-color: var(--bs-light-text-emphasis);--bs-alert-bg: var(--bs-light-bg-subtle);--bs-alert-border-color: var(--bs-light-border-subtle);--bs-alert-link-color: var(--bs-light-text-emphasis)}.alert-dark{--bs-alert-color: var(--bs-dark-text-emphasis);--bs-alert-bg: var(--bs-dark-bg-subtle);--bs-alert-border-color: var(--bs-dark-border-subtle);--bs-alert-link-color: var(--bs-dark-text-emphasis)}@keyframes progress-bar-stripes{0%{background-position-x:1rem}}.progress,.progress-stacked{--bs-progress-height: 1rem;--bs-progress-font-size:0.75rem;--bs-progress-bg: #e9ecef;--bs-progress-border-radius: 0.25rem;--bs-progress-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.075);--bs-progress-bar-color: #ffffff;--bs-progress-bar-bg: #0d6efd;--bs-progress-bar-transition: width 0.6s ease;display:flex;display:-webkit-flex;height:var(--bs-progress-height);overflow:hidden;font-size:var(--bs-progress-font-size);background-color:var(--bs-progress-bg);border-radius:var(--bs-progress-border-radius)}.progress-bar{display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column;justify-content:center;-webkit-justify-content:center;overflow:hidden;color:var(--bs-progress-bar-color);text-align:center;white-space:nowrap;background-color:var(--bs-progress-bar-bg);transition:var(--bs-progress-bar-transition)}@media(prefers-reduced-motion: reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-size:var(--bs-progress-height) var(--bs-progress-height)}.progress-stacked>.progress{overflow:visible}.progress-stacked>.progress>.progress-bar{width:100%}.progress-bar-animated{animation:1s linear infinite progress-bar-stripes}@media(prefers-reduced-motion: reduce){.progress-bar-animated{animation:none}}.list-group{--bs-list-group-color: #212529;--bs-list-group-bg: #ffffff;--bs-list-group-border-color: #dee2e6;--bs-list-group-border-width: 1px;--bs-list-group-border-radius: 0.25rem;--bs-list-group-item-padding-x: 1rem;--bs-list-group-item-padding-y: 0.5rem;--bs-list-group-action-color: rgba(33, 37, 41, 0.75);--bs-list-group-action-hover-color: #000;--bs-list-group-action-hover-bg: #f8f9fa;--bs-list-group-action-active-color: #212529;--bs-list-group-action-active-bg: #e9ecef;--bs-list-group-disabled-color: rgba(33, 37, 41, 0.75);--bs-list-group-disabled-bg: #ffffff;--bs-list-group-active-color: #ffffff;--bs-list-group-active-bg: #0d6efd;--bs-list-group-active-border-color: #0d6efd;display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column;padding-left:0;margin-bottom:0;border-radius:var(--bs-list-group-border-radius)}.list-group-numbered{list-style-type:none;counter-reset:section}.list-group-numbered>.list-group-item::before{content:counters(section, ".") ". ";counter-increment:section}.list-group-item-action{width:100%;color:var(--bs-list-group-action-color);text-align:inherit}.list-group-item-action:hover,.list-group-item-action:focus{z-index:1;color:var(--bs-list-group-action-hover-color);text-decoration:none;background-color:var(--bs-list-group-action-hover-bg)}.list-group-item-action:active{color:var(--bs-list-group-action-active-color);background-color:var(--bs-list-group-action-active-bg)}.list-group-item{position:relative;display:block;padding:var(--bs-list-group-item-padding-y) var(--bs-list-group-item-padding-x);color:var(--bs-list-group-color);text-decoration:none;-webkit-text-decoration:none;-moz-text-decoration:none;-ms-text-decoration:none;-o-text-decoration:none;background-color:var(--bs-list-group-bg);border:var(--bs-list-group-border-width) solid var(--bs-list-group-border-color)}.list-group-item:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.list-group-item:last-child{border-bottom-right-radius:inherit;border-bottom-left-radius:inherit}.list-group-item.disabled,.list-group-item:disabled{color:var(--bs-list-group-disabled-color);pointer-events:none;background-color:var(--bs-list-group-disabled-bg)}.list-group-item.active{z-index:2;color:var(--bs-list-group-active-color);background-color:var(--bs-list-group-active-bg);border-color:var(--bs-list-group-active-border-color)}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:calc(-1*var(--bs-list-group-border-width));border-top-width:var(--bs-list-group-border-width)}.list-group-horizontal{flex-direction:row;-webkit-flex-direction:row}.list-group-horizontal>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal>.list-group-item.active{margin-top:0}.list-group-horizontal>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal>.list-group-item+.list-group-item.active{margin-left:calc(-1*var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}@media(min-width: 576px){.list-group-horizontal-sm{flex-direction:row;-webkit-flex-direction:row}.list-group-horizontal-sm>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-sm>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-sm>.list-group-item.active{margin-top:0}.list-group-horizontal-sm>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{margin-left:calc(-1*var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media(min-width: 768px){.list-group-horizontal-md{flex-direction:row;-webkit-flex-direction:row}.list-group-horizontal-md>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-md>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-md>.list-group-item.active{margin-top:0}.list-group-horizontal-md>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-md>.list-group-item+.list-group-item.active{margin-left:calc(-1*var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media(min-width: 992px){.list-group-horizontal-lg{flex-direction:row;-webkit-flex-direction:row}.list-group-horizontal-lg>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-lg>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-lg>.list-group-item.active{margin-top:0}.list-group-horizontal-lg>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{margin-left:calc(-1*var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media(min-width: 1200px){.list-group-horizontal-xl{flex-direction:row;-webkit-flex-direction:row}.list-group-horizontal-xl>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-xl>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-xl>.list-group-item.active{margin-top:0}.list-group-horizontal-xl>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{margin-left:calc(-1*var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media(min-width: 1400px){.list-group-horizontal-xxl{flex-direction:row;-webkit-flex-direction:row}.list-group-horizontal-xxl>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-xxl>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-xxl>.list-group-item.active{margin-top:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item.active{margin-left:calc(-1*var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}.list-group-flush{border-radius:0}.list-group-flush>.list-group-item{border-width:0 0 var(--bs-list-group-border-width)}.list-group-flush>.list-group-item:last-child{border-bottom-width:0}.list-group-item-default{--bs-list-group-color: var(--bs-default-text-emphasis);--bs-list-group-bg: var(--bs-default-bg-subtle);--bs-list-group-border-color: var(--bs-default-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-default-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-default-border-subtle);--bs-list-group-active-color: var(--bs-default-bg-subtle);--bs-list-group-active-bg: var(--bs-default-text-emphasis);--bs-list-group-active-border-color: var(--bs-default-text-emphasis)}.list-group-item-primary{--bs-list-group-color: var(--bs-primary-text-emphasis);--bs-list-group-bg: var(--bs-primary-bg-subtle);--bs-list-group-border-color: var(--bs-primary-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-primary-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-primary-border-subtle);--bs-list-group-active-color: var(--bs-primary-bg-subtle);--bs-list-group-active-bg: var(--bs-primary-text-emphasis);--bs-list-group-active-border-color: var(--bs-primary-text-emphasis)}.list-group-item-secondary{--bs-list-group-color: var(--bs-secondary-text-emphasis);--bs-list-group-bg: var(--bs-secondary-bg-subtle);--bs-list-group-border-color: var(--bs-secondary-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-secondary-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-secondary-border-subtle);--bs-list-group-active-color: var(--bs-secondary-bg-subtle);--bs-list-group-active-bg: var(--bs-secondary-text-emphasis);--bs-list-group-active-border-color: var(--bs-secondary-text-emphasis)}.list-group-item-success{--bs-list-group-color: var(--bs-success-text-emphasis);--bs-list-group-bg: var(--bs-success-bg-subtle);--bs-list-group-border-color: var(--bs-success-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-success-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-success-border-subtle);--bs-list-group-active-color: var(--bs-success-bg-subtle);--bs-list-group-active-bg: var(--bs-success-text-emphasis);--bs-list-group-active-border-color: var(--bs-success-text-emphasis)}.list-group-item-info{--bs-list-group-color: var(--bs-info-text-emphasis);--bs-list-group-bg: var(--bs-info-bg-subtle);--bs-list-group-border-color: var(--bs-info-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-info-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-info-border-subtle);--bs-list-group-active-color: var(--bs-info-bg-subtle);--bs-list-group-active-bg: var(--bs-info-text-emphasis);--bs-list-group-active-border-color: var(--bs-info-text-emphasis)}.list-group-item-warning{--bs-list-group-color: var(--bs-warning-text-emphasis);--bs-list-group-bg: var(--bs-warning-bg-subtle);--bs-list-group-border-color: var(--bs-warning-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-warning-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-warning-border-subtle);--bs-list-group-active-color: var(--bs-warning-bg-subtle);--bs-list-group-active-bg: var(--bs-warning-text-emphasis);--bs-list-group-active-border-color: var(--bs-warning-text-emphasis)}.list-group-item-danger{--bs-list-group-color: var(--bs-danger-text-emphasis);--bs-list-group-bg: var(--bs-danger-bg-subtle);--bs-list-group-border-color: var(--bs-danger-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-danger-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-danger-border-subtle);--bs-list-group-active-color: var(--bs-danger-bg-subtle);--bs-list-group-active-bg: var(--bs-danger-text-emphasis);--bs-list-group-active-border-color: var(--bs-danger-text-emphasis)}.list-group-item-light{--bs-list-group-color: var(--bs-light-text-emphasis);--bs-list-group-bg: var(--bs-light-bg-subtle);--bs-list-group-border-color: var(--bs-light-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-light-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-light-border-subtle);--bs-list-group-active-color: var(--bs-light-bg-subtle);--bs-list-group-active-bg: var(--bs-light-text-emphasis);--bs-list-group-active-border-color: var(--bs-light-text-emphasis)}.list-group-item-dark{--bs-list-group-color: var(--bs-dark-text-emphasis);--bs-list-group-bg: var(--bs-dark-bg-subtle);--bs-list-group-border-color: var(--bs-dark-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-dark-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-dark-border-subtle);--bs-list-group-active-color: var(--bs-dark-bg-subtle);--bs-list-group-active-bg: var(--bs-dark-text-emphasis);--bs-list-group-active-border-color: var(--bs-dark-text-emphasis)}.btn-close{--bs-btn-close-color: #000;--bs-btn-close-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e");--bs-btn-close-opacity: 0.5;--bs-btn-close-hover-opacity: 0.75;--bs-btn-close-focus-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);--bs-btn-close-focus-opacity: 1;--bs-btn-close-disabled-opacity: 0.25;--bs-btn-close-white-filter: invert(1) grayscale(100%) brightness(200%);box-sizing:content-box;width:1em;height:1em;padding:.25em .25em;color:var(--bs-btn-close-color);background:rgba(0,0,0,0) var(--bs-btn-close-bg) center/1em auto no-repeat;border:0;border-radius:.25rem;opacity:var(--bs-btn-close-opacity)}.btn-close:hover{color:var(--bs-btn-close-color);text-decoration:none;opacity:var(--bs-btn-close-hover-opacity)}.btn-close:focus{outline:0;box-shadow:var(--bs-btn-close-focus-shadow);opacity:var(--bs-btn-close-focus-opacity)}.btn-close:disabled,.btn-close.disabled{pointer-events:none;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;opacity:var(--bs-btn-close-disabled-opacity)}.btn-close-white{filter:var(--bs-btn-close-white-filter)}[data-bs-theme=dark] .btn-close{filter:var(--bs-btn-close-white-filter)}.toast{--bs-toast-zindex: 1090;--bs-toast-padding-x: 0.75rem;--bs-toast-padding-y: 0.5rem;--bs-toast-spacing: 1.5rem;--bs-toast-max-width: 350px;--bs-toast-font-size:0.875rem;--bs-toast-color: ;--bs-toast-bg: rgba(255, 255, 255, 0.85);--bs-toast-border-width: 1px;--bs-toast-border-color: rgba(0, 0, 0, 0.175);--bs-toast-border-radius: 0.25rem;--bs-toast-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);--bs-toast-header-color: rgba(33, 37, 41, 0.75);--bs-toast-header-bg: rgba(255, 255, 255, 0.85);--bs-toast-header-border-color: rgba(0, 0, 0, 0.175);width:var(--bs-toast-max-width);max-width:100%;font-size:var(--bs-toast-font-size);color:var(--bs-toast-color);pointer-events:auto;background-color:var(--bs-toast-bg);background-clip:padding-box;border:var(--bs-toast-border-width) solid var(--bs-toast-border-color);box-shadow:var(--bs-toast-box-shadow);border-radius:var(--bs-toast-border-radius)}.toast.showing{opacity:0}.toast:not(.show){display:none}.toast-container{--bs-toast-zindex: 1090;position:absolute;z-index:var(--bs-toast-zindex);width:max-content;width:-webkit-max-content;width:-moz-max-content;width:-ms-max-content;width:-o-max-content;max-width:100%;pointer-events:none}.toast-container>:not(:last-child){margin-bottom:var(--bs-toast-spacing)}.toast-header{display:flex;display:-webkit-flex;align-items:center;-webkit-align-items:center;padding:var(--bs-toast-padding-y) var(--bs-toast-padding-x);color:var(--bs-toast-header-color);background-color:var(--bs-toast-header-bg);background-clip:padding-box;border-bottom:var(--bs-toast-border-width) solid var(--bs-toast-header-border-color);border-top-left-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width));border-top-right-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width))}.toast-header .btn-close{margin-right:calc(-0.5*var(--bs-toast-padding-x));margin-left:var(--bs-toast-padding-x)}.toast-body{padding:var(--bs-toast-padding-x);word-wrap:break-word}.modal{--bs-modal-zindex: 1055;--bs-modal-width: 500px;--bs-modal-padding: 1rem;--bs-modal-margin: 0.5rem;--bs-modal-color: ;--bs-modal-bg: #ffffff;--bs-modal-border-color: rgba(0, 0, 0, 0.175);--bs-modal-border-width: 1px;--bs-modal-border-radius: 0.5rem;--bs-modal-box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);--bs-modal-inner-border-radius: calc(0.5rem - 1px);--bs-modal-header-padding-x: 1rem;--bs-modal-header-padding-y: 1rem;--bs-modal-header-padding: 1rem 1rem;--bs-modal-header-border-color: #dee2e6;--bs-modal-header-border-width: 1px;--bs-modal-title-line-height: 1.5;--bs-modal-footer-gap: 0.5rem;--bs-modal-footer-bg: ;--bs-modal-footer-border-color: #dee2e6;--bs-modal-footer-border-width: 1px;position:fixed;top:0;left:0;z-index:var(--bs-modal-zindex);display:none;width:100%;height:100%;overflow-x:hidden;overflow-y:auto;outline:0}.modal-dialog{position:relative;width:auto;margin:var(--bs-modal-margin);pointer-events:none}.modal.fade .modal-dialog{transition:transform .3s ease-out;transform:translate(0, -50px)}@media(prefers-reduced-motion: reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{transform:none}.modal.modal-static .modal-dialog{transform:scale(1.02)}.modal-dialog-scrollable{height:calc(100% - var(--bs-modal-margin)*2)}.modal-dialog-scrollable .modal-content{max-height:100%;overflow:hidden}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:flex;display:-webkit-flex;align-items:center;-webkit-align-items:center;min-height:calc(100% - var(--bs-modal-margin)*2)}.modal-content{position:relative;display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column;width:100%;color:var(--bs-modal-color);pointer-events:auto;background-color:var(--bs-modal-bg);background-clip:padding-box;border:var(--bs-modal-border-width) solid var(--bs-modal-border-color);border-radius:var(--bs-modal-border-radius);outline:0}.modal-backdrop{--bs-backdrop-zindex: 1050;--bs-backdrop-bg: #000;--bs-backdrop-opacity: 0.5;position:fixed;top:0;left:0;z-index:var(--bs-backdrop-zindex);width:100vw;height:100vh;background-color:var(--bs-backdrop-bg)}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:var(--bs-backdrop-opacity)}.modal-header{display:flex;display:-webkit-flex;flex-shrink:0;-webkit-flex-shrink:0;align-items:center;-webkit-align-items:center;justify-content:space-between;-webkit-justify-content:space-between;padding:var(--bs-modal-header-padding);border-bottom:var(--bs-modal-header-border-width) solid var(--bs-modal-header-border-color);border-top-left-radius:var(--bs-modal-inner-border-radius);border-top-right-radius:var(--bs-modal-inner-border-radius)}.modal-header .btn-close{padding:calc(var(--bs-modal-header-padding-y)*.5) calc(var(--bs-modal-header-padding-x)*.5);margin:calc(-0.5*var(--bs-modal-header-padding-y)) calc(-0.5*var(--bs-modal-header-padding-x)) calc(-0.5*var(--bs-modal-header-padding-y)) auto}.modal-title{margin-bottom:0;line-height:var(--bs-modal-title-line-height)}.modal-body{position:relative;flex:1 1 auto;-webkit-flex:1 1 auto;padding:var(--bs-modal-padding)}.modal-footer{display:flex;display:-webkit-flex;flex-shrink:0;-webkit-flex-shrink:0;flex-wrap:wrap;-webkit-flex-wrap:wrap;align-items:center;-webkit-align-items:center;justify-content:flex-end;-webkit-justify-content:flex-end;padding:calc(var(--bs-modal-padding) - var(--bs-modal-footer-gap)*.5);background-color:var(--bs-modal-footer-bg);border-top:var(--bs-modal-footer-border-width) solid var(--bs-modal-footer-border-color);border-bottom-right-radius:var(--bs-modal-inner-border-radius);border-bottom-left-radius:var(--bs-modal-inner-border-radius)}.modal-footer>*{margin:calc(var(--bs-modal-footer-gap)*.5)}@media(min-width: 576px){.modal{--bs-modal-margin: 1.75rem;--bs-modal-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15)}.modal-dialog{max-width:var(--bs-modal-width);margin-right:auto;margin-left:auto}.modal-sm{--bs-modal-width: 300px}}@media(min-width: 992px){.modal-lg,.modal-xl{--bs-modal-width: 800px}}@media(min-width: 1200px){.modal-xl{--bs-modal-width: 1140px}}.modal-fullscreen{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen .modal-header,.modal-fullscreen .modal-footer{border-radius:0}.modal-fullscreen .modal-body{overflow-y:auto}@media(max-width: 575.98px){.modal-fullscreen-sm-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-sm-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-sm-down .modal-header,.modal-fullscreen-sm-down .modal-footer{border-radius:0}.modal-fullscreen-sm-down .modal-body{overflow-y:auto}}@media(max-width: 767.98px){.modal-fullscreen-md-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-md-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-md-down .modal-header,.modal-fullscreen-md-down .modal-footer{border-radius:0}.modal-fullscreen-md-down .modal-body{overflow-y:auto}}@media(max-width: 991.98px){.modal-fullscreen-lg-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-lg-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-lg-down .modal-header,.modal-fullscreen-lg-down .modal-footer{border-radius:0}.modal-fullscreen-lg-down .modal-body{overflow-y:auto}}@media(max-width: 1199.98px){.modal-fullscreen-xl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xl-down .modal-header,.modal-fullscreen-xl-down .modal-footer{border-radius:0}.modal-fullscreen-xl-down .modal-body{overflow-y:auto}}@media(max-width: 1399.98px){.modal-fullscreen-xxl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xxl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xxl-down .modal-header,.modal-fullscreen-xxl-down .modal-footer{border-radius:0}.modal-fullscreen-xxl-down .modal-body{overflow-y:auto}}.tooltip{--bs-tooltip-zindex: 1080;--bs-tooltip-max-width: 200px;--bs-tooltip-padding-x: 0.5rem;--bs-tooltip-padding-y: 0.25rem;--bs-tooltip-margin: ;--bs-tooltip-font-size:0.875rem;--bs-tooltip-color: #ffffff;--bs-tooltip-bg: #000;--bs-tooltip-border-radius: 0.25rem;--bs-tooltip-opacity: 0.9;--bs-tooltip-arrow-width: 0.8rem;--bs-tooltip-arrow-height: 0.4rem;z-index:var(--bs-tooltip-zindex);display:block;margin:var(--bs-tooltip-margin);font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans","Liberation Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--bs-tooltip-font-size);word-wrap:break-word;opacity:0}.tooltip.show{opacity:var(--bs-tooltip-opacity)}.tooltip .tooltip-arrow{display:block;width:var(--bs-tooltip-arrow-width);height:var(--bs-tooltip-arrow-height)}.tooltip .tooltip-arrow::before{position:absolute;content:"";border-color:rgba(0,0,0,0);border-style:solid}.bs-tooltip-top .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow{bottom:calc(-1*var(--bs-tooltip-arrow-height))}.bs-tooltip-top .tooltip-arrow::before,.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow::before{top:-1px;border-width:var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width)*.5) 0;border-top-color:var(--bs-tooltip-bg)}.bs-tooltip-end .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow{left:calc(-1*var(--bs-tooltip-arrow-height));width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}.bs-tooltip-end .tooltip-arrow::before,.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow::before{right:-1px;border-width:calc(var(--bs-tooltip-arrow-width)*.5) var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width)*.5) 0;border-right-color:var(--bs-tooltip-bg)}.bs-tooltip-bottom .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow{top:calc(-1*var(--bs-tooltip-arrow-height))}.bs-tooltip-bottom .tooltip-arrow::before,.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow::before{bottom:-1px;border-width:0 calc(var(--bs-tooltip-arrow-width)*.5) var(--bs-tooltip-arrow-height);border-bottom-color:var(--bs-tooltip-bg)}.bs-tooltip-start .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow{right:calc(-1*var(--bs-tooltip-arrow-height));width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}.bs-tooltip-start .tooltip-arrow::before,.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow::before{left:-1px;border-width:calc(var(--bs-tooltip-arrow-width)*.5) 0 calc(var(--bs-tooltip-arrow-width)*.5) var(--bs-tooltip-arrow-height);border-left-color:var(--bs-tooltip-bg)}.tooltip-inner{max-width:var(--bs-tooltip-max-width);padding:var(--bs-tooltip-padding-y) var(--bs-tooltip-padding-x);color:var(--bs-tooltip-color);text-align:center;background-color:var(--bs-tooltip-bg);border-radius:var(--bs-tooltip-border-radius)}.popover{--bs-popover-zindex: 1070;--bs-popover-max-width: 276px;--bs-popover-font-size:0.875rem;--bs-popover-bg: #ffffff;--bs-popover-border-width: 1px;--bs-popover-border-color: rgba(0, 0, 0, 0.175);--bs-popover-border-radius: 0.5rem;--bs-popover-inner-border-radius: calc(0.5rem - 1px);--bs-popover-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);--bs-popover-header-padding-x: 1rem;--bs-popover-header-padding-y: 0.5rem;--bs-popover-header-font-size:1rem;--bs-popover-header-color: inherit;--bs-popover-header-bg: #e9ecef;--bs-popover-body-padding-x: 1rem;--bs-popover-body-padding-y: 1rem;--bs-popover-body-color: #212529;--bs-popover-arrow-width: 1rem;--bs-popover-arrow-height: 0.5rem;--bs-popover-arrow-border: var(--bs-popover-border-color);z-index:var(--bs-popover-zindex);display:block;max-width:var(--bs-popover-max-width);font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans","Liberation Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--bs-popover-font-size);word-wrap:break-word;background-color:var(--bs-popover-bg);background-clip:padding-box;border:var(--bs-popover-border-width) solid var(--bs-popover-border-color);border-radius:var(--bs-popover-border-radius)}.popover .popover-arrow{display:block;width:var(--bs-popover-arrow-width);height:var(--bs-popover-arrow-height)}.popover .popover-arrow::before,.popover .popover-arrow::after{position:absolute;display:block;content:"";border-color:rgba(0,0,0,0);border-style:solid;border-width:0}.bs-popover-top>.popover-arrow,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow{bottom:calc(-1*(var(--bs-popover-arrow-height)) - var(--bs-popover-border-width))}.bs-popover-top>.popover-arrow::before,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::before,.bs-popover-top>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::after{border-width:var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width)*.5) 0}.bs-popover-top>.popover-arrow::before,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::before{bottom:0;border-top-color:var(--bs-popover-arrow-border)}.bs-popover-top>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::after{bottom:var(--bs-popover-border-width);border-top-color:var(--bs-popover-bg)}.bs-popover-end>.popover-arrow,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow{left:calc(-1*(var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));width:var(--bs-popover-arrow-height);height:var(--bs-popover-arrow-width)}.bs-popover-end>.popover-arrow::before,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::before,.bs-popover-end>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::after{border-width:calc(var(--bs-popover-arrow-width)*.5) var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width)*.5) 0}.bs-popover-end>.popover-arrow::before,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::before{left:0;border-right-color:var(--bs-popover-arrow-border)}.bs-popover-end>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::after{left:var(--bs-popover-border-width);border-right-color:var(--bs-popover-bg)}.bs-popover-bottom>.popover-arrow,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow{top:calc(-1*(var(--bs-popover-arrow-height)) - var(--bs-popover-border-width))}.bs-popover-bottom>.popover-arrow::before,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::before,.bs-popover-bottom>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::after{border-width:0 calc(var(--bs-popover-arrow-width)*.5) var(--bs-popover-arrow-height)}.bs-popover-bottom>.popover-arrow::before,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::before{top:0;border-bottom-color:var(--bs-popover-arrow-border)}.bs-popover-bottom>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::after{top:var(--bs-popover-border-width);border-bottom-color:var(--bs-popover-bg)}.bs-popover-bottom .popover-header::before,.bs-popover-auto[data-popper-placement^=bottom] .popover-header::before{position:absolute;top:0;left:50%;display:block;width:var(--bs-popover-arrow-width);margin-left:calc(-0.5*var(--bs-popover-arrow-width));content:"";border-bottom:var(--bs-popover-border-width) solid var(--bs-popover-header-bg)}.bs-popover-start>.popover-arrow,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow{right:calc(-1*(var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));width:var(--bs-popover-arrow-height);height:var(--bs-popover-arrow-width)}.bs-popover-start>.popover-arrow::before,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::before,.bs-popover-start>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::after{border-width:calc(var(--bs-popover-arrow-width)*.5) 0 calc(var(--bs-popover-arrow-width)*.5) var(--bs-popover-arrow-height)}.bs-popover-start>.popover-arrow::before,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::before{right:0;border-left-color:var(--bs-popover-arrow-border)}.bs-popover-start>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::after{right:var(--bs-popover-border-width);border-left-color:var(--bs-popover-bg)}.popover-header{padding:var(--bs-popover-header-padding-y) var(--bs-popover-header-padding-x);margin-bottom:0;font-size:var(--bs-popover-header-font-size);color:var(--bs-popover-header-color);background-color:var(--bs-popover-header-bg);border-bottom:var(--bs-popover-border-width) solid var(--bs-popover-border-color);border-top-left-radius:var(--bs-popover-inner-border-radius);border-top-right-radius:var(--bs-popover-inner-border-radius)}.popover-header:empty{display:none}.popover-body{padding:var(--bs-popover-body-padding-y) var(--bs-popover-body-padding-x);color:var(--bs-popover-body-color)}.carousel{position:relative}.carousel.pointer-event{touch-action:pan-y;-webkit-touch-action:pan-y;-moz-touch-action:pan-y;-ms-touch-action:pan-y;-o-touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner::after{display:block;clear:both;content:""}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;backface-visibility:hidden;-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;-ms-backface-visibility:hidden;-o-backface-visibility:hidden;transition:transform .6s ease-in-out}@media(prefers-reduced-motion: reduce){.carousel-item{transition:none}}.carousel-item.active,.carousel-item-next,.carousel-item-prev{display:block}.carousel-item-next:not(.carousel-item-start),.active.carousel-item-end{transform:translateX(100%)}.carousel-item-prev:not(.carousel-item-end),.active.carousel-item-start{transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}.carousel-fade .carousel-item.active,.carousel-fade .carousel-item-next.carousel-item-start,.carousel-fade .carousel-item-prev.carousel-item-end{z-index:1;opacity:1}.carousel-fade .active.carousel-item-start,.carousel-fade .active.carousel-item-end{z-index:0;opacity:0;transition:opacity 0s .6s}@media(prefers-reduced-motion: reduce){.carousel-fade .active.carousel-item-start,.carousel-fade .active.carousel-item-end{transition:none}}.carousel-control-prev,.carousel-control-next{position:absolute;top:0;bottom:0;z-index:1;display:flex;display:-webkit-flex;align-items:center;-webkit-align-items:center;justify-content:center;-webkit-justify-content:center;width:15%;padding:0;color:#fff;text-align:center;background:none;border:0;opacity:.5;transition:opacity .15s ease}@media(prefers-reduced-motion: reduce){.carousel-control-prev,.carousel-control-next{transition:none}}.carousel-control-prev:hover,.carousel-control-prev:focus,.carousel-control-next:hover,.carousel-control-next:focus{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-prev-icon,.carousel-control-next-icon{display:inline-block;width:2rem;height:2rem;background-repeat:no-repeat;background-position:50%;background-size:100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23ffffff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e")}.carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23ffffff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:2;display:flex;display:-webkit-flex;justify-content:center;-webkit-justify-content:center;padding:0;margin-right:15%;margin-bottom:1rem;margin-left:15%}.carousel-indicators [data-bs-target]{box-sizing:content-box;flex:0 1 auto;-webkit-flex:0 1 auto;width:30px;height:3px;padding:0;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border:0;border-top:10px solid rgba(0,0,0,0);border-bottom:10px solid rgba(0,0,0,0);opacity:.5;transition:opacity .6s ease}@media(prefers-reduced-motion: reduce){.carousel-indicators [data-bs-target]{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:1.25rem;left:15%;padding-top:1.25rem;padding-bottom:1.25rem;color:#fff;text-align:center}.carousel-dark .carousel-control-prev-icon,.carousel-dark .carousel-control-next-icon{filter:invert(1) grayscale(100)}.carousel-dark .carousel-indicators [data-bs-target]{background-color:#000}.carousel-dark .carousel-caption{color:#000}[data-bs-theme=dark] .carousel .carousel-control-prev-icon,[data-bs-theme=dark] .carousel .carousel-control-next-icon,[data-bs-theme=dark].carousel .carousel-control-prev-icon,[data-bs-theme=dark].carousel .carousel-control-next-icon{filter:invert(1) grayscale(100)}[data-bs-theme=dark] .carousel .carousel-indicators [data-bs-target],[data-bs-theme=dark].carousel .carousel-indicators [data-bs-target]{background-color:#000}[data-bs-theme=dark] .carousel .carousel-caption,[data-bs-theme=dark].carousel .carousel-caption{color:#000}.spinner-grow,.spinner-border{display:inline-block;width:var(--bs-spinner-width);height:var(--bs-spinner-height);vertical-align:var(--bs-spinner-vertical-align);border-radius:50%;animation:var(--bs-spinner-animation-speed) linear infinite var(--bs-spinner-animation-name)}@keyframes spinner-border{to{transform:rotate(360deg) /* rtl:ignore */}}.spinner-border{--bs-spinner-width: 2rem;--bs-spinner-height: 2rem;--bs-spinner-vertical-align: -0.125em;--bs-spinner-border-width: 0.25em;--bs-spinner-animation-speed: 0.75s;--bs-spinner-animation-name: spinner-border;border:var(--bs-spinner-border-width) solid currentcolor;border-right-color:rgba(0,0,0,0)}.spinner-border-sm{--bs-spinner-width: 1rem;--bs-spinner-height: 1rem;--bs-spinner-border-width: 0.2em}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}.spinner-grow{--bs-spinner-width: 2rem;--bs-spinner-height: 2rem;--bs-spinner-vertical-align: -0.125em;--bs-spinner-animation-speed: 0.75s;--bs-spinner-animation-name: spinner-grow;background-color:currentcolor;opacity:0}.spinner-grow-sm{--bs-spinner-width: 1rem;--bs-spinner-height: 1rem}@media(prefers-reduced-motion: reduce){.spinner-border,.spinner-grow{--bs-spinner-animation-speed: 1.5s}}.offcanvas,.offcanvas-xxl,.offcanvas-xl,.offcanvas-lg,.offcanvas-md,.offcanvas-sm{--bs-offcanvas-zindex: 1045;--bs-offcanvas-width: 400px;--bs-offcanvas-height: 30vh;--bs-offcanvas-padding-x: 1rem;--bs-offcanvas-padding-y: 1rem;--bs-offcanvas-color: #212529;--bs-offcanvas-bg: #ffffff;--bs-offcanvas-border-width: 1px;--bs-offcanvas-border-color: rgba(0, 0, 0, 0.175);--bs-offcanvas-box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);--bs-offcanvas-transition: transform 0.3s ease-in-out;--bs-offcanvas-title-line-height: 1.5}@media(max-width: 575.98px){.offcanvas-sm{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media(max-width: 575.98px)and (prefers-reduced-motion: reduce){.offcanvas-sm{transition:none}}@media(max-width: 575.98px){.offcanvas-sm.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-sm.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-sm.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-sm.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-sm.showing,.offcanvas-sm.show:not(.hiding){transform:none}.offcanvas-sm.showing,.offcanvas-sm.hiding,.offcanvas-sm.show{visibility:visible}}@media(min-width: 576px){.offcanvas-sm{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:rgba(0,0,0,0) !important}.offcanvas-sm .offcanvas-header{display:none}.offcanvas-sm .offcanvas-body{display:flex;display:-webkit-flex;flex-grow:0;-webkit-flex-grow:0;padding:0;overflow-y:visible;background-color:rgba(0,0,0,0) !important}}@media(max-width: 767.98px){.offcanvas-md{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media(max-width: 767.98px)and (prefers-reduced-motion: reduce){.offcanvas-md{transition:none}}@media(max-width: 767.98px){.offcanvas-md.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-md.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-md.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-md.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-md.showing,.offcanvas-md.show:not(.hiding){transform:none}.offcanvas-md.showing,.offcanvas-md.hiding,.offcanvas-md.show{visibility:visible}}@media(min-width: 768px){.offcanvas-md{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:rgba(0,0,0,0) !important}.offcanvas-md .offcanvas-header{display:none}.offcanvas-md .offcanvas-body{display:flex;display:-webkit-flex;flex-grow:0;-webkit-flex-grow:0;padding:0;overflow-y:visible;background-color:rgba(0,0,0,0) !important}}@media(max-width: 991.98px){.offcanvas-lg{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media(max-width: 991.98px)and (prefers-reduced-motion: reduce){.offcanvas-lg{transition:none}}@media(max-width: 991.98px){.offcanvas-lg.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-lg.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-lg.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-lg.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-lg.showing,.offcanvas-lg.show:not(.hiding){transform:none}.offcanvas-lg.showing,.offcanvas-lg.hiding,.offcanvas-lg.show{visibility:visible}}@media(min-width: 992px){.offcanvas-lg{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:rgba(0,0,0,0) !important}.offcanvas-lg .offcanvas-header{display:none}.offcanvas-lg .offcanvas-body{display:flex;display:-webkit-flex;flex-grow:0;-webkit-flex-grow:0;padding:0;overflow-y:visible;background-color:rgba(0,0,0,0) !important}}@media(max-width: 1199.98px){.offcanvas-xl{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media(max-width: 1199.98px)and (prefers-reduced-motion: reduce){.offcanvas-xl{transition:none}}@media(max-width: 1199.98px){.offcanvas-xl.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-xl.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-xl.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-xl.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-xl.showing,.offcanvas-xl.show:not(.hiding){transform:none}.offcanvas-xl.showing,.offcanvas-xl.hiding,.offcanvas-xl.show{visibility:visible}}@media(min-width: 1200px){.offcanvas-xl{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:rgba(0,0,0,0) !important}.offcanvas-xl .offcanvas-header{display:none}.offcanvas-xl .offcanvas-body{display:flex;display:-webkit-flex;flex-grow:0;-webkit-flex-grow:0;padding:0;overflow-y:visible;background-color:rgba(0,0,0,0) !important}}@media(max-width: 1399.98px){.offcanvas-xxl{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media(max-width: 1399.98px)and (prefers-reduced-motion: reduce){.offcanvas-xxl{transition:none}}@media(max-width: 1399.98px){.offcanvas-xxl.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-xxl.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-xxl.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-xxl.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-xxl.showing,.offcanvas-xxl.show:not(.hiding){transform:none}.offcanvas-xxl.showing,.offcanvas-xxl.hiding,.offcanvas-xxl.show{visibility:visible}}@media(min-width: 1400px){.offcanvas-xxl{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:rgba(0,0,0,0) !important}.offcanvas-xxl .offcanvas-header{display:none}.offcanvas-xxl .offcanvas-body{display:flex;display:-webkit-flex;flex-grow:0;-webkit-flex-grow:0;padding:0;overflow-y:visible;background-color:rgba(0,0,0,0) !important}}.offcanvas{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}@media(prefers-reduced-motion: reduce){.offcanvas{transition:none}}.offcanvas.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas.showing,.offcanvas.show:not(.hiding){transform:none}.offcanvas.showing,.offcanvas.hiding,.offcanvas.show{visibility:visible}.offcanvas-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.offcanvas-backdrop.fade{opacity:0}.offcanvas-backdrop.show{opacity:.5}.offcanvas-header{display:flex;display:-webkit-flex;align-items:center;-webkit-align-items:center;justify-content:space-between;-webkit-justify-content:space-between;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x)}.offcanvas-header .btn-close{padding:calc(var(--bs-offcanvas-padding-y)*.5) calc(var(--bs-offcanvas-padding-x)*.5);margin-top:calc(-0.5*var(--bs-offcanvas-padding-y));margin-right:calc(-0.5*var(--bs-offcanvas-padding-x));margin-bottom:calc(-0.5*var(--bs-offcanvas-padding-y))}.offcanvas-title{margin-bottom:0;line-height:var(--bs-offcanvas-title-line-height)}.offcanvas-body{flex-grow:1;-webkit-flex-grow:1;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);overflow-y:auto}.placeholder{display:inline-block;min-height:1em;vertical-align:middle;cursor:wait;background-color:currentcolor;opacity:.5}.placeholder.btn::before{display:inline-block;content:""}.placeholder-xs{min-height:.6em}.placeholder-sm{min-height:.8em}.placeholder-lg{min-height:1.2em}.placeholder-glow .placeholder{animation:placeholder-glow 2s ease-in-out infinite}@keyframes placeholder-glow{50%{opacity:.2}}.placeholder-wave{mask-image:linear-gradient(130deg, #000 55%, rgba(0, 0, 0, 0.8) 75%, #000 95%);-webkit-mask-image:linear-gradient(130deg, #000 55%, rgba(0, 0, 0, 0.8) 75%, #000 95%);mask-size:200% 100%;-webkit-mask-size:200% 100%;animation:placeholder-wave 2s linear infinite}@keyframes placeholder-wave{100%{mask-position:-200% 0%;-webkit-mask-position:-200% 0%}}.clearfix::after{display:block;clear:both;content:""}.text-bg-default{color:#000 !important;background-color:RGBA(var(--bs-default-rgb), var(--bs-bg-opacity, 1)) !important}.text-bg-primary{color:#fff !important;background-color:RGBA(var(--bs-primary-rgb), var(--bs-bg-opacity, 1)) !important}.text-bg-secondary{color:#fff !important;background-color:RGBA(var(--bs-secondary-rgb), var(--bs-bg-opacity, 1)) !important}.text-bg-success{color:#fff !important;background-color:RGBA(var(--bs-success-rgb), var(--bs-bg-opacity, 1)) !important}.text-bg-info{color:#000 !important;background-color:RGBA(var(--bs-info-rgb), var(--bs-bg-opacity, 1)) !important}.text-bg-warning{color:#000 !important;background-color:RGBA(var(--bs-warning-rgb), var(--bs-bg-opacity, 1)) !important}.text-bg-danger{color:#fff !important;background-color:RGBA(var(--bs-danger-rgb), var(--bs-bg-opacity, 1)) !important}.text-bg-light{color:#000 !important;background-color:RGBA(var(--bs-light-rgb), var(--bs-bg-opacity, 1)) !important}.text-bg-dark{color:#fff !important;background-color:RGBA(var(--bs-dark-rgb), var(--bs-bg-opacity, 1)) !important}.link-default{color:RGBA(var(--bs-default-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-default-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-default:hover,.link-default:focus{color:RGBA(229, 232, 235, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(229, 232, 235, var(--bs-link-underline-opacity, 1)) !important}.link-primary{color:RGBA(var(--bs-primary-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-primary-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-primary:hover,.link-primary:focus{color:RGBA(10, 88, 202, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(10, 88, 202, var(--bs-link-underline-opacity, 1)) !important}.link-secondary{color:RGBA(var(--bs-secondary-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-secondary-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-secondary:hover,.link-secondary:focus{color:RGBA(86, 94, 100, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(86, 94, 100, var(--bs-link-underline-opacity, 1)) !important}.link-success{color:RGBA(var(--bs-success-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-success-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-success:hover,.link-success:focus{color:RGBA(20, 108, 67, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(20, 108, 67, var(--bs-link-underline-opacity, 1)) !important}.link-info{color:RGBA(var(--bs-info-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-info-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-info:hover,.link-info:focus{color:RGBA(61, 213, 243, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(61, 213, 243, var(--bs-link-underline-opacity, 1)) !important}.link-warning{color:RGBA(var(--bs-warning-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-warning-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-warning:hover,.link-warning:focus{color:RGBA(255, 205, 57, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(255, 205, 57, var(--bs-link-underline-opacity, 1)) !important}.link-danger{color:RGBA(var(--bs-danger-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-danger-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-danger:hover,.link-danger:focus{color:RGBA(176, 42, 55, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(176, 42, 55, var(--bs-link-underline-opacity, 1)) !important}.link-light{color:RGBA(var(--bs-light-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-light-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-light:hover,.link-light:focus{color:RGBA(249, 250, 251, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(249, 250, 251, var(--bs-link-underline-opacity, 1)) !important}.link-dark{color:RGBA(var(--bs-dark-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-dark-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-dark:hover,.link-dark:focus{color:RGBA(26, 30, 33, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(26, 30, 33, var(--bs-link-underline-opacity, 1)) !important}.link-body-emphasis{color:RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-body-emphasis:hover,.link-body-emphasis:focus{color:RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-opacity, 0.75)) !important;text-decoration-color:RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-underline-opacity, 0.75)) !important}.focus-ring:focus{outline:0;box-shadow:var(--bs-focus-ring-x, 0) var(--bs-focus-ring-y, 0) var(--bs-focus-ring-blur, 0) var(--bs-focus-ring-width) var(--bs-focus-ring-color)}.icon-link{display:inline-flex;gap:.375rem;align-items:center;-webkit-align-items:center;text-decoration-color:rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 0.5));text-underline-offset:.25em;backface-visibility:hidden;-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;-ms-backface-visibility:hidden;-o-backface-visibility:hidden}.icon-link>.bi{flex-shrink:0;-webkit-flex-shrink:0;width:1em;height:1em;fill:currentcolor;transition:.2s ease-in-out transform}@media(prefers-reduced-motion: reduce){.icon-link>.bi{transition:none}}.icon-link-hover:hover>.bi,.icon-link-hover:focus-visible>.bi{transform:var(--bs-icon-link-transform, translate3d(0.25em, 0, 0))}.ratio{position:relative;width:100%}.ratio::before{display:block;padding-top:var(--bs-aspect-ratio);content:""}.ratio>*{position:absolute;top:0;left:0;width:100%;height:100%}.ratio-1x1{--bs-aspect-ratio: 100%}.ratio-4x3{--bs-aspect-ratio: 75%}.ratio-16x9{--bs-aspect-ratio: 56.25%}.ratio-21x9{--bs-aspect-ratio: 42.8571428571%}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}.sticky-top{position:sticky;top:0;z-index:1020}.sticky-bottom{position:sticky;bottom:0;z-index:1020}@media(min-width: 576px){.sticky-sm-top{position:sticky;top:0;z-index:1020}.sticky-sm-bottom{position:sticky;bottom:0;z-index:1020}}@media(min-width: 768px){.sticky-md-top{position:sticky;top:0;z-index:1020}.sticky-md-bottom{position:sticky;bottom:0;z-index:1020}}@media(min-width: 992px){.sticky-lg-top{position:sticky;top:0;z-index:1020}.sticky-lg-bottom{position:sticky;bottom:0;z-index:1020}}@media(min-width: 1200px){.sticky-xl-top{position:sticky;top:0;z-index:1020}.sticky-xl-bottom{position:sticky;bottom:0;z-index:1020}}@media(min-width: 1400px){.sticky-xxl-top{position:sticky;top:0;z-index:1020}.sticky-xxl-bottom{position:sticky;bottom:0;z-index:1020}}.hstack{display:flex;display:-webkit-flex;flex-direction:row;-webkit-flex-direction:row;align-items:center;-webkit-align-items:center;align-self:stretch;-webkit-align-self:stretch}.vstack{display:flex;display:-webkit-flex;flex:1 1 auto;-webkit-flex:1 1 auto;flex-direction:column;-webkit-flex-direction:column;align-self:stretch;-webkit-align-self:stretch}.visually-hidden,.visually-hidden-focusable:not(:focus):not(:focus-within){width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border:0 !important}.visually-hidden:not(caption),.visually-hidden-focusable:not(:focus):not(:focus-within):not(caption){position:absolute !important}.stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;content:""}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vr{display:inline-block;align-self:stretch;-webkit-align-self:stretch;width:1px;min-height:1em;background-color:currentcolor;opacity:.25}.align-baseline{vertical-align:baseline !important}.align-top{vertical-align:top !important}.align-middle{vertical-align:middle !important}.align-bottom{vertical-align:bottom !important}.align-text-bottom{vertical-align:text-bottom !important}.align-text-top{vertical-align:text-top !important}.float-start{float:left !important}.float-end{float:right !important}.float-none{float:none !important}.object-fit-contain{object-fit:contain !important}.object-fit-cover{object-fit:cover !important}.object-fit-fill{object-fit:fill !important}.object-fit-scale{object-fit:scale-down !important}.object-fit-none{object-fit:none !important}.opacity-0{opacity:0 !important}.opacity-25{opacity:.25 !important}.opacity-50{opacity:.5 !important}.opacity-75{opacity:.75 !important}.opacity-100{opacity:1 !important}.overflow-auto{overflow:auto !important}.overflow-hidden{overflow:hidden !important}.overflow-visible{overflow:visible !important}.overflow-scroll{overflow:scroll !important}.overflow-x-auto{overflow-x:auto !important}.overflow-x-hidden{overflow-x:hidden !important}.overflow-x-visible{overflow-x:visible !important}.overflow-x-scroll{overflow-x:scroll !important}.overflow-y-auto{overflow-y:auto !important}.overflow-y-hidden{overflow-y:hidden !important}.overflow-y-visible{overflow-y:visible !important}.overflow-y-scroll{overflow-y:scroll !important}.d-inline{display:inline !important}.d-inline-block{display:inline-block !important}.d-block{display:block !important}.d-grid{display:grid !important}.d-inline-grid{display:inline-grid !important}.d-table{display:table !important}.d-table-row{display:table-row !important}.d-table-cell{display:table-cell !important}.d-flex{display:flex !important}.d-inline-flex{display:inline-flex !important}.d-none{display:none !important}.shadow{box-shadow:0 .5rem 1rem rgba(0,0,0,.15) !important}.shadow-sm{box-shadow:0 .125rem .25rem rgba(0,0,0,.075) !important}.shadow-lg{box-shadow:0 1rem 3rem rgba(0,0,0,.175) !important}.shadow-none{box-shadow:none !important}.focus-ring-default{--bs-focus-ring-color: rgba(var(--bs-default-rgb), var(--bs-focus-ring-opacity))}.focus-ring-primary{--bs-focus-ring-color: rgba(var(--bs-primary-rgb), var(--bs-focus-ring-opacity))}.focus-ring-secondary{--bs-focus-ring-color: rgba(var(--bs-secondary-rgb), var(--bs-focus-ring-opacity))}.focus-ring-success{--bs-focus-ring-color: rgba(var(--bs-success-rgb), var(--bs-focus-ring-opacity))}.focus-ring-info{--bs-focus-ring-color: rgba(var(--bs-info-rgb), var(--bs-focus-ring-opacity))}.focus-ring-warning{--bs-focus-ring-color: rgba(var(--bs-warning-rgb), var(--bs-focus-ring-opacity))}.focus-ring-danger{--bs-focus-ring-color: rgba(var(--bs-danger-rgb), var(--bs-focus-ring-opacity))}.focus-ring-light{--bs-focus-ring-color: rgba(var(--bs-light-rgb), var(--bs-focus-ring-opacity))}.focus-ring-dark{--bs-focus-ring-color: rgba(var(--bs-dark-rgb), var(--bs-focus-ring-opacity))}.position-static{position:static !important}.position-relative{position:relative !important}.position-absolute{position:absolute !important}.position-fixed{position:fixed !important}.position-sticky{position:sticky !important}.top-0{top:0 !important}.top-50{top:50% !important}.top-100{top:100% !important}.bottom-0{bottom:0 !important}.bottom-50{bottom:50% !important}.bottom-100{bottom:100% !important}.start-0{left:0 !important}.start-50{left:50% !important}.start-100{left:100% !important}.end-0{right:0 !important}.end-50{right:50% !important}.end-100{right:100% !important}.translate-middle{transform:translate(-50%, -50%) !important}.translate-middle-x{transform:translateX(-50%) !important}.translate-middle-y{transform:translateY(-50%) !important}.border{border:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important}.border-0{border:0 !important}.border-top{border-top:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important}.border-top-0{border-top:0 !important}.border-end{border-right:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important}.border-end-0{border-right:0 !important}.border-bottom{border-bottom:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important}.border-bottom-0{border-bottom:0 !important}.border-start{border-left:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important}.border-start-0{border-left:0 !important}.border-default{--bs-border-opacity: 1;border-color:rgba(var(--bs-default-rgb), var(--bs-border-opacity)) !important}.border-primary{--bs-border-opacity: 1;border-color:rgba(var(--bs-primary-rgb), var(--bs-border-opacity)) !important}.border-secondary{--bs-border-opacity: 1;border-color:rgba(var(--bs-secondary-rgb), var(--bs-border-opacity)) !important}.border-success{--bs-border-opacity: 1;border-color:rgba(var(--bs-success-rgb), var(--bs-border-opacity)) !important}.border-info{--bs-border-opacity: 1;border-color:rgba(var(--bs-info-rgb), var(--bs-border-opacity)) !important}.border-warning{--bs-border-opacity: 1;border-color:rgba(var(--bs-warning-rgb), var(--bs-border-opacity)) !important}.border-danger{--bs-border-opacity: 1;border-color:rgba(var(--bs-danger-rgb), var(--bs-border-opacity)) !important}.border-light{--bs-border-opacity: 1;border-color:rgba(var(--bs-light-rgb), var(--bs-border-opacity)) !important}.border-dark{--bs-border-opacity: 1;border-color:rgba(var(--bs-dark-rgb), var(--bs-border-opacity)) !important}.border-black{--bs-border-opacity: 1;border-color:rgba(var(--bs-black-rgb), var(--bs-border-opacity)) !important}.border-white{--bs-border-opacity: 1;border-color:rgba(var(--bs-white-rgb), var(--bs-border-opacity)) !important}.border-primary-subtle{border-color:var(--bs-primary-border-subtle) !important}.border-secondary-subtle{border-color:var(--bs-secondary-border-subtle) !important}.border-success-subtle{border-color:var(--bs-success-border-subtle) !important}.border-info-subtle{border-color:var(--bs-info-border-subtle) !important}.border-warning-subtle{border-color:var(--bs-warning-border-subtle) !important}.border-danger-subtle{border-color:var(--bs-danger-border-subtle) !important}.border-light-subtle{border-color:var(--bs-light-border-subtle) !important}.border-dark-subtle{border-color:var(--bs-dark-border-subtle) !important}.border-1{border-width:1px !important}.border-2{border-width:2px !important}.border-3{border-width:3px !important}.border-4{border-width:4px !important}.border-5{border-width:5px !important}.border-opacity-10{--bs-border-opacity: 0.1}.border-opacity-25{--bs-border-opacity: 0.25}.border-opacity-50{--bs-border-opacity: 0.5}.border-opacity-75{--bs-border-opacity: 0.75}.border-opacity-100{--bs-border-opacity: 1}.w-25{width:25% !important}.w-50{width:50% !important}.w-75{width:75% !important}.w-100{width:100% !important}.w-auto{width:auto !important}.mw-100{max-width:100% !important}.vw-100{width:100vw !important}.min-vw-100{min-width:100vw !important}.h-25{height:25% !important}.h-50{height:50% !important}.h-75{height:75% !important}.h-100{height:100% !important}.h-auto{height:auto !important}.mh-100{max-height:100% !important}.vh-100{height:100vh !important}.min-vh-100{min-height:100vh !important}.flex-fill{flex:1 1 auto !important}.flex-row{flex-direction:row !important}.flex-column{flex-direction:column !important}.flex-row-reverse{flex-direction:row-reverse !important}.flex-column-reverse{flex-direction:column-reverse !important}.flex-grow-0{flex-grow:0 !important}.flex-grow-1{flex-grow:1 !important}.flex-shrink-0{flex-shrink:0 !important}.flex-shrink-1{flex-shrink:1 !important}.flex-wrap{flex-wrap:wrap !important}.flex-nowrap{flex-wrap:nowrap !important}.flex-wrap-reverse{flex-wrap:wrap-reverse !important}.justify-content-start{justify-content:flex-start !important}.justify-content-end{justify-content:flex-end !important}.justify-content-center{justify-content:center !important}.justify-content-between{justify-content:space-between !important}.justify-content-around{justify-content:space-around !important}.justify-content-evenly{justify-content:space-evenly !important}.align-items-start{align-items:flex-start !important}.align-items-end{align-items:flex-end !important}.align-items-center{align-items:center !important}.align-items-baseline{align-items:baseline !important}.align-items-stretch{align-items:stretch !important}.align-content-start{align-content:flex-start !important}.align-content-end{align-content:flex-end !important}.align-content-center{align-content:center !important}.align-content-between{align-content:space-between !important}.align-content-around{align-content:space-around !important}.align-content-stretch{align-content:stretch !important}.align-self-auto{align-self:auto !important}.align-self-start{align-self:flex-start !important}.align-self-end{align-self:flex-end !important}.align-self-center{align-self:center !important}.align-self-baseline{align-self:baseline !important}.align-self-stretch{align-self:stretch !important}.order-first{order:-1 !important}.order-0{order:0 !important}.order-1{order:1 !important}.order-2{order:2 !important}.order-3{order:3 !important}.order-4{order:4 !important}.order-5{order:5 !important}.order-last{order:6 !important}.m-0{margin:0 !important}.m-1{margin:.25rem !important}.m-2{margin:.5rem !important}.m-3{margin:1rem !important}.m-4{margin:1.5rem !important}.m-5{margin:3rem !important}.m-auto{margin:auto !important}.mx-0{margin-right:0 !important;margin-left:0 !important}.mx-1{margin-right:.25rem !important;margin-left:.25rem !important}.mx-2{margin-right:.5rem !important;margin-left:.5rem !important}.mx-3{margin-right:1rem !important;margin-left:1rem !important}.mx-4{margin-right:1.5rem !important;margin-left:1.5rem !important}.mx-5{margin-right:3rem !important;margin-left:3rem !important}.mx-auto{margin-right:auto !important;margin-left:auto !important}.my-0{margin-top:0 !important;margin-bottom:0 !important}.my-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.my-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.my-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-5{margin-top:3rem !important;margin-bottom:3rem !important}.my-auto{margin-top:auto !important;margin-bottom:auto !important}.mt-0{margin-top:0 !important}.mt-1{margin-top:.25rem !important}.mt-2{margin-top:.5rem !important}.mt-3{margin-top:1rem !important}.mt-4{margin-top:1.5rem !important}.mt-5{margin-top:3rem !important}.mt-auto{margin-top:auto !important}.me-0{margin-right:0 !important}.me-1{margin-right:.25rem !important}.me-2{margin-right:.5rem !important}.me-3{margin-right:1rem !important}.me-4{margin-right:1.5rem !important}.me-5{margin-right:3rem !important}.me-auto{margin-right:auto !important}.mb-0{margin-bottom:0 !important}.mb-1{margin-bottom:.25rem !important}.mb-2{margin-bottom:.5rem !important}.mb-3{margin-bottom:1rem !important}.mb-4{margin-bottom:1.5rem !important}.mb-5{margin-bottom:3rem !important}.mb-auto{margin-bottom:auto !important}.ms-0{margin-left:0 !important}.ms-1{margin-left:.25rem !important}.ms-2{margin-left:.5rem !important}.ms-3{margin-left:1rem !important}.ms-4{margin-left:1.5rem !important}.ms-5{margin-left:3rem !important}.ms-auto{margin-left:auto !important}.p-0{padding:0 !important}.p-1{padding:.25rem !important}.p-2{padding:.5rem !important}.p-3{padding:1rem !important}.p-4{padding:1.5rem !important}.p-5{padding:3rem !important}.px-0{padding-right:0 !important;padding-left:0 !important}.px-1{padding-right:.25rem !important;padding-left:.25rem !important}.px-2{padding-right:.5rem !important;padding-left:.5rem !important}.px-3{padding-right:1rem !important;padding-left:1rem !important}.px-4{padding-right:1.5rem !important;padding-left:1.5rem !important}.px-5{padding-right:3rem !important;padding-left:3rem !important}.py-0{padding-top:0 !important;padding-bottom:0 !important}.py-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.py-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.py-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-5{padding-top:3rem !important;padding-bottom:3rem !important}.pt-0{padding-top:0 !important}.pt-1{padding-top:.25rem !important}.pt-2{padding-top:.5rem !important}.pt-3{padding-top:1rem !important}.pt-4{padding-top:1.5rem !important}.pt-5{padding-top:3rem !important}.pe-0{padding-right:0 !important}.pe-1{padding-right:.25rem !important}.pe-2{padding-right:.5rem !important}.pe-3{padding-right:1rem !important}.pe-4{padding-right:1.5rem !important}.pe-5{padding-right:3rem !important}.pb-0{padding-bottom:0 !important}.pb-1{padding-bottom:.25rem !important}.pb-2{padding-bottom:.5rem !important}.pb-3{padding-bottom:1rem !important}.pb-4{padding-bottom:1.5rem !important}.pb-5{padding-bottom:3rem !important}.ps-0{padding-left:0 !important}.ps-1{padding-left:.25rem !important}.ps-2{padding-left:.5rem !important}.ps-3{padding-left:1rem !important}.ps-4{padding-left:1.5rem !important}.ps-5{padding-left:3rem !important}.gap-0{gap:0 !important}.gap-1{gap:.25rem !important}.gap-2{gap:.5rem !important}.gap-3{gap:1rem !important}.gap-4{gap:1.5rem !important}.gap-5{gap:3rem !important}.row-gap-0{row-gap:0 !important}.row-gap-1{row-gap:.25rem !important}.row-gap-2{row-gap:.5rem !important}.row-gap-3{row-gap:1rem !important}.row-gap-4{row-gap:1.5rem !important}.row-gap-5{row-gap:3rem !important}.column-gap-0{column-gap:0 !important}.column-gap-1{column-gap:.25rem !important}.column-gap-2{column-gap:.5rem !important}.column-gap-3{column-gap:1rem !important}.column-gap-4{column-gap:1.5rem !important}.column-gap-5{column-gap:3rem !important}.font-monospace{font-family:var(--bs-font-monospace) !important}.fs-1{font-size:calc(1.325rem + 0.9vw) !important}.fs-2{font-size:calc(1.29rem + 0.48vw) !important}.fs-3{font-size:calc(1.27rem + 0.24vw) !important}.fs-4{font-size:1.25rem !important}.fs-5{font-size:1.1rem !important}.fs-6{font-size:1rem !important}.fst-italic{font-style:italic !important}.fst-normal{font-style:normal !important}.fw-lighter{font-weight:lighter !important}.fw-light{font-weight:300 !important}.fw-normal{font-weight:400 !important}.fw-medium{font-weight:500 !important}.fw-semibold{font-weight:600 !important}.fw-bold{font-weight:700 !important}.fw-bolder{font-weight:bolder !important}.lh-1{line-height:1 !important}.lh-sm{line-height:1.25 !important}.lh-base{line-height:1.5 !important}.lh-lg{line-height:2 !important}.text-start{text-align:left !important}.text-end{text-align:right !important}.text-center{text-align:center !important}.text-decoration-none{text-decoration:none !important}.text-decoration-underline{text-decoration:underline !important}.text-decoration-line-through{text-decoration:line-through !important}.text-lowercase{text-transform:lowercase !important}.text-uppercase{text-transform:uppercase !important}.text-capitalize{text-transform:capitalize !important}.text-wrap{white-space:normal !important}.text-nowrap{white-space:nowrap !important}.text-break{word-wrap:break-word !important;word-break:break-word !important}.text-default{--bs-text-opacity: 1;color:rgba(var(--bs-default-rgb), var(--bs-text-opacity)) !important}.text-primary{--bs-text-opacity: 1;color:rgba(var(--bs-primary-rgb), var(--bs-text-opacity)) !important}.text-secondary{--bs-text-opacity: 1;color:rgba(var(--bs-secondary-rgb), var(--bs-text-opacity)) !important}.text-success{--bs-text-opacity: 1;color:rgba(var(--bs-success-rgb), var(--bs-text-opacity)) !important}.text-info{--bs-text-opacity: 1;color:rgba(var(--bs-info-rgb), var(--bs-text-opacity)) !important}.text-warning{--bs-text-opacity: 1;color:rgba(var(--bs-warning-rgb), var(--bs-text-opacity)) !important}.text-danger{--bs-text-opacity: 1;color:rgba(var(--bs-danger-rgb), var(--bs-text-opacity)) !important}.text-light{--bs-text-opacity: 1;color:rgba(var(--bs-light-rgb), var(--bs-text-opacity)) !important}.text-dark{--bs-text-opacity: 1;color:rgba(var(--bs-dark-rgb), var(--bs-text-opacity)) !important}.text-black{--bs-text-opacity: 1;color:rgba(var(--bs-black-rgb), var(--bs-text-opacity)) !important}.text-white{--bs-text-opacity: 1;color:rgba(var(--bs-white-rgb), var(--bs-text-opacity)) !important}.text-body{--bs-text-opacity: 1;color:rgba(var(--bs-body-color-rgb), var(--bs-text-opacity)) !important}.text-muted{--bs-text-opacity: 1;color:var(--bs-secondary-color) !important}.text-black-50{--bs-text-opacity: 1;color:rgba(0,0,0,.5) !important}.text-white-50{--bs-text-opacity: 1;color:rgba(255,255,255,.5) !important}.text-body-secondary{--bs-text-opacity: 1;color:var(--bs-secondary-color) !important}.text-body-tertiary{--bs-text-opacity: 1;color:var(--bs-tertiary-color) !important}.text-body-emphasis{--bs-text-opacity: 1;color:var(--bs-emphasis-color) !important}.text-reset{--bs-text-opacity: 1;color:inherit !important}.text-opacity-25{--bs-text-opacity: 0.25}.text-opacity-50{--bs-text-opacity: 0.5}.text-opacity-75{--bs-text-opacity: 0.75}.text-opacity-100{--bs-text-opacity: 1}.text-primary-emphasis{color:var(--bs-primary-text-emphasis) !important}.text-secondary-emphasis{color:var(--bs-secondary-text-emphasis) !important}.text-success-emphasis{color:var(--bs-success-text-emphasis) !important}.text-info-emphasis{color:var(--bs-info-text-emphasis) !important}.text-warning-emphasis{color:var(--bs-warning-text-emphasis) !important}.text-danger-emphasis{color:var(--bs-danger-text-emphasis) !important}.text-light-emphasis{color:var(--bs-light-text-emphasis) !important}.text-dark-emphasis{color:var(--bs-dark-text-emphasis) !important}.link-opacity-10{--bs-link-opacity: 0.1}.link-opacity-10-hover:hover{--bs-link-opacity: 0.1}.link-opacity-25{--bs-link-opacity: 0.25}.link-opacity-25-hover:hover{--bs-link-opacity: 0.25}.link-opacity-50{--bs-link-opacity: 0.5}.link-opacity-50-hover:hover{--bs-link-opacity: 0.5}.link-opacity-75{--bs-link-opacity: 0.75}.link-opacity-75-hover:hover{--bs-link-opacity: 0.75}.link-opacity-100{--bs-link-opacity: 1}.link-opacity-100-hover:hover{--bs-link-opacity: 1}.link-offset-1{text-underline-offset:.125em !important}.link-offset-1-hover:hover{text-underline-offset:.125em !important}.link-offset-2{text-underline-offset:.25em !important}.link-offset-2-hover:hover{text-underline-offset:.25em !important}.link-offset-3{text-underline-offset:.375em !important}.link-offset-3-hover:hover{text-underline-offset:.375em !important}.link-underline-default{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-default-rgb), var(--bs-link-underline-opacity)) !important}.link-underline-primary{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-primary-rgb), var(--bs-link-underline-opacity)) !important}.link-underline-secondary{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-secondary-rgb), var(--bs-link-underline-opacity)) !important}.link-underline-success{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-success-rgb), var(--bs-link-underline-opacity)) !important}.link-underline-info{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-info-rgb), var(--bs-link-underline-opacity)) !important}.link-underline-warning{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-warning-rgb), var(--bs-link-underline-opacity)) !important}.link-underline-danger{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-danger-rgb), var(--bs-link-underline-opacity)) !important}.link-underline-light{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-light-rgb), var(--bs-link-underline-opacity)) !important}.link-underline-dark{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-dark-rgb), var(--bs-link-underline-opacity)) !important}.link-underline{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-link-color-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-underline-opacity-0{--bs-link-underline-opacity: 0}.link-underline-opacity-0-hover:hover{--bs-link-underline-opacity: 0}.link-underline-opacity-10{--bs-link-underline-opacity: 0.1}.link-underline-opacity-10-hover:hover{--bs-link-underline-opacity: 0.1}.link-underline-opacity-25{--bs-link-underline-opacity: 0.25}.link-underline-opacity-25-hover:hover{--bs-link-underline-opacity: 0.25}.link-underline-opacity-50{--bs-link-underline-opacity: 0.5}.link-underline-opacity-50-hover:hover{--bs-link-underline-opacity: 0.5}.link-underline-opacity-75{--bs-link-underline-opacity: 0.75}.link-underline-opacity-75-hover:hover{--bs-link-underline-opacity: 0.75}.link-underline-opacity-100{--bs-link-underline-opacity: 1}.link-underline-opacity-100-hover:hover{--bs-link-underline-opacity: 1}.bg-default{--bs-bg-opacity: 1;background-color:rgba(var(--bs-default-rgb), var(--bs-bg-opacity)) !important}.bg-primary{--bs-bg-opacity: 1;background-color:rgba(var(--bs-primary-rgb), var(--bs-bg-opacity)) !important}.bg-secondary{--bs-bg-opacity: 1;background-color:rgba(var(--bs-secondary-rgb), var(--bs-bg-opacity)) !important}.bg-success{--bs-bg-opacity: 1;background-color:rgba(var(--bs-success-rgb), var(--bs-bg-opacity)) !important}.bg-info{--bs-bg-opacity: 1;background-color:rgba(var(--bs-info-rgb), var(--bs-bg-opacity)) !important}.bg-warning{--bs-bg-opacity: 1;background-color:rgba(var(--bs-warning-rgb), var(--bs-bg-opacity)) !important}.bg-danger{--bs-bg-opacity: 1;background-color:rgba(var(--bs-danger-rgb), var(--bs-bg-opacity)) !important}.bg-light{--bs-bg-opacity: 1;background-color:rgba(var(--bs-light-rgb), var(--bs-bg-opacity)) !important}.bg-dark{--bs-bg-opacity: 1;background-color:rgba(var(--bs-dark-rgb), var(--bs-bg-opacity)) !important}.bg-black{--bs-bg-opacity: 1;background-color:rgba(var(--bs-black-rgb), var(--bs-bg-opacity)) !important}.bg-white{--bs-bg-opacity: 1;background-color:rgba(var(--bs-white-rgb), var(--bs-bg-opacity)) !important}.bg-body{--bs-bg-opacity: 1;background-color:rgba(var(--bs-body-bg-rgb), var(--bs-bg-opacity)) !important}.bg-transparent{--bs-bg-opacity: 1;background-color:rgba(0,0,0,0) !important}.bg-body-secondary{--bs-bg-opacity: 1;background-color:rgba(var(--bs-secondary-bg-rgb), var(--bs-bg-opacity)) !important}.bg-body-tertiary{--bs-bg-opacity: 1;background-color:rgba(var(--bs-tertiary-bg-rgb), var(--bs-bg-opacity)) !important}.bg-opacity-10{--bs-bg-opacity: 0.1}.bg-opacity-25{--bs-bg-opacity: 0.25}.bg-opacity-50{--bs-bg-opacity: 0.5}.bg-opacity-75{--bs-bg-opacity: 0.75}.bg-opacity-100{--bs-bg-opacity: 1}.bg-primary-subtle{background-color:var(--bs-primary-bg-subtle) !important}.bg-secondary-subtle{background-color:var(--bs-secondary-bg-subtle) !important}.bg-success-subtle{background-color:var(--bs-success-bg-subtle) !important}.bg-info-subtle{background-color:var(--bs-info-bg-subtle) !important}.bg-warning-subtle{background-color:var(--bs-warning-bg-subtle) !important}.bg-danger-subtle{background-color:var(--bs-danger-bg-subtle) !important}.bg-light-subtle{background-color:var(--bs-light-bg-subtle) !important}.bg-dark-subtle{background-color:var(--bs-dark-bg-subtle) !important}.bg-gradient{background-image:var(--bs-gradient) !important}.user-select-all{user-select:all !important}.user-select-auto{user-select:auto !important}.user-select-none{user-select:none !important}.pe-none{pointer-events:none !important}.pe-auto{pointer-events:auto !important}.rounded{border-radius:var(--bs-border-radius) !important}.rounded-0{border-radius:0 !important}.rounded-1{border-radius:var(--bs-border-radius-sm) !important}.rounded-2{border-radius:var(--bs-border-radius) !important}.rounded-3{border-radius:var(--bs-border-radius-lg) !important}.rounded-4{border-radius:var(--bs-border-radius-xl) !important}.rounded-5{border-radius:var(--bs-border-radius-xxl) !important}.rounded-circle{border-radius:50% !important}.rounded-pill{border-radius:var(--bs-border-radius-pill) !important}.rounded-top{border-top-left-radius:var(--bs-border-radius) !important;border-top-right-radius:var(--bs-border-radius) !important}.rounded-top-0{border-top-left-radius:0 !important;border-top-right-radius:0 !important}.rounded-top-1{border-top-left-radius:var(--bs-border-radius-sm) !important;border-top-right-radius:var(--bs-border-radius-sm) !important}.rounded-top-2{border-top-left-radius:var(--bs-border-radius) !important;border-top-right-radius:var(--bs-border-radius) !important}.rounded-top-3{border-top-left-radius:var(--bs-border-radius-lg) !important;border-top-right-radius:var(--bs-border-radius-lg) !important}.rounded-top-4{border-top-left-radius:var(--bs-border-radius-xl) !important;border-top-right-radius:var(--bs-border-radius-xl) !important}.rounded-top-5{border-top-left-radius:var(--bs-border-radius-xxl) !important;border-top-right-radius:var(--bs-border-radius-xxl) !important}.rounded-top-circle{border-top-left-radius:50% !important;border-top-right-radius:50% !important}.rounded-top-pill{border-top-left-radius:var(--bs-border-radius-pill) !important;border-top-right-radius:var(--bs-border-radius-pill) !important}.rounded-end{border-top-right-radius:var(--bs-border-radius) !important;border-bottom-right-radius:var(--bs-border-radius) !important}.rounded-end-0{border-top-right-radius:0 !important;border-bottom-right-radius:0 !important}.rounded-end-1{border-top-right-radius:var(--bs-border-radius-sm) !important;border-bottom-right-radius:var(--bs-border-radius-sm) !important}.rounded-end-2{border-top-right-radius:var(--bs-border-radius) !important;border-bottom-right-radius:var(--bs-border-radius) !important}.rounded-end-3{border-top-right-radius:var(--bs-border-radius-lg) !important;border-bottom-right-radius:var(--bs-border-radius-lg) !important}.rounded-end-4{border-top-right-radius:var(--bs-border-radius-xl) !important;border-bottom-right-radius:var(--bs-border-radius-xl) !important}.rounded-end-5{border-top-right-radius:var(--bs-border-radius-xxl) !important;border-bottom-right-radius:var(--bs-border-radius-xxl) !important}.rounded-end-circle{border-top-right-radius:50% !important;border-bottom-right-radius:50% !important}.rounded-end-pill{border-top-right-radius:var(--bs-border-radius-pill) !important;border-bottom-right-radius:var(--bs-border-radius-pill) !important}.rounded-bottom{border-bottom-right-radius:var(--bs-border-radius) !important;border-bottom-left-radius:var(--bs-border-radius) !important}.rounded-bottom-0{border-bottom-right-radius:0 !important;border-bottom-left-radius:0 !important}.rounded-bottom-1{border-bottom-right-radius:var(--bs-border-radius-sm) !important;border-bottom-left-radius:var(--bs-border-radius-sm) !important}.rounded-bottom-2{border-bottom-right-radius:var(--bs-border-radius) !important;border-bottom-left-radius:var(--bs-border-radius) !important}.rounded-bottom-3{border-bottom-right-radius:var(--bs-border-radius-lg) !important;border-bottom-left-radius:var(--bs-border-radius-lg) !important}.rounded-bottom-4{border-bottom-right-radius:var(--bs-border-radius-xl) !important;border-bottom-left-radius:var(--bs-border-radius-xl) !important}.rounded-bottom-5{border-bottom-right-radius:var(--bs-border-radius-xxl) !important;border-bottom-left-radius:var(--bs-border-radius-xxl) !important}.rounded-bottom-circle{border-bottom-right-radius:50% !important;border-bottom-left-radius:50% !important}.rounded-bottom-pill{border-bottom-right-radius:var(--bs-border-radius-pill) !important;border-bottom-left-radius:var(--bs-border-radius-pill) !important}.rounded-start{border-bottom-left-radius:var(--bs-border-radius) !important;border-top-left-radius:var(--bs-border-radius) !important}.rounded-start-0{border-bottom-left-radius:0 !important;border-top-left-radius:0 !important}.rounded-start-1{border-bottom-left-radius:var(--bs-border-radius-sm) !important;border-top-left-radius:var(--bs-border-radius-sm) !important}.rounded-start-2{border-bottom-left-radius:var(--bs-border-radius) !important;border-top-left-radius:var(--bs-border-radius) !important}.rounded-start-3{border-bottom-left-radius:var(--bs-border-radius-lg) !important;border-top-left-radius:var(--bs-border-radius-lg) !important}.rounded-start-4{border-bottom-left-radius:var(--bs-border-radius-xl) !important;border-top-left-radius:var(--bs-border-radius-xl) !important}.rounded-start-5{border-bottom-left-radius:var(--bs-border-radius-xxl) !important;border-top-left-radius:var(--bs-border-radius-xxl) !important}.rounded-start-circle{border-bottom-left-radius:50% !important;border-top-left-radius:50% !important}.rounded-start-pill{border-bottom-left-radius:var(--bs-border-radius-pill) !important;border-top-left-radius:var(--bs-border-radius-pill) !important}.visible{visibility:visible !important}.invisible{visibility:hidden !important}.z-n1{z-index:-1 !important}.z-0{z-index:0 !important}.z-1{z-index:1 !important}.z-2{z-index:2 !important}.z-3{z-index:3 !important}@media(min-width: 576px){.float-sm-start{float:left !important}.float-sm-end{float:right !important}.float-sm-none{float:none !important}.object-fit-sm-contain{object-fit:contain !important}.object-fit-sm-cover{object-fit:cover !important}.object-fit-sm-fill{object-fit:fill !important}.object-fit-sm-scale{object-fit:scale-down !important}.object-fit-sm-none{object-fit:none !important}.d-sm-inline{display:inline !important}.d-sm-inline-block{display:inline-block !important}.d-sm-block{display:block !important}.d-sm-grid{display:grid !important}.d-sm-inline-grid{display:inline-grid !important}.d-sm-table{display:table !important}.d-sm-table-row{display:table-row !important}.d-sm-table-cell{display:table-cell !important}.d-sm-flex{display:flex !important}.d-sm-inline-flex{display:inline-flex !important}.d-sm-none{display:none !important}.flex-sm-fill{flex:1 1 auto !important}.flex-sm-row{flex-direction:row !important}.flex-sm-column{flex-direction:column !important}.flex-sm-row-reverse{flex-direction:row-reverse !important}.flex-sm-column-reverse{flex-direction:column-reverse !important}.flex-sm-grow-0{flex-grow:0 !important}.flex-sm-grow-1{flex-grow:1 !important}.flex-sm-shrink-0{flex-shrink:0 !important}.flex-sm-shrink-1{flex-shrink:1 !important}.flex-sm-wrap{flex-wrap:wrap !important}.flex-sm-nowrap{flex-wrap:nowrap !important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse !important}.justify-content-sm-start{justify-content:flex-start !important}.justify-content-sm-end{justify-content:flex-end !important}.justify-content-sm-center{justify-content:center !important}.justify-content-sm-between{justify-content:space-between !important}.justify-content-sm-around{justify-content:space-around !important}.justify-content-sm-evenly{justify-content:space-evenly !important}.align-items-sm-start{align-items:flex-start !important}.align-items-sm-end{align-items:flex-end !important}.align-items-sm-center{align-items:center !important}.align-items-sm-baseline{align-items:baseline !important}.align-items-sm-stretch{align-items:stretch !important}.align-content-sm-start{align-content:flex-start !important}.align-content-sm-end{align-content:flex-end !important}.align-content-sm-center{align-content:center !important}.align-content-sm-between{align-content:space-between !important}.align-content-sm-around{align-content:space-around !important}.align-content-sm-stretch{align-content:stretch !important}.align-self-sm-auto{align-self:auto !important}.align-self-sm-start{align-self:flex-start !important}.align-self-sm-end{align-self:flex-end !important}.align-self-sm-center{align-self:center !important}.align-self-sm-baseline{align-self:baseline !important}.align-self-sm-stretch{align-self:stretch !important}.order-sm-first{order:-1 !important}.order-sm-0{order:0 !important}.order-sm-1{order:1 !important}.order-sm-2{order:2 !important}.order-sm-3{order:3 !important}.order-sm-4{order:4 !important}.order-sm-5{order:5 !important}.order-sm-last{order:6 !important}.m-sm-0{margin:0 !important}.m-sm-1{margin:.25rem !important}.m-sm-2{margin:.5rem !important}.m-sm-3{margin:1rem !important}.m-sm-4{margin:1.5rem !important}.m-sm-5{margin:3rem !important}.m-sm-auto{margin:auto !important}.mx-sm-0{margin-right:0 !important;margin-left:0 !important}.mx-sm-1{margin-right:.25rem !important;margin-left:.25rem !important}.mx-sm-2{margin-right:.5rem !important;margin-left:.5rem !important}.mx-sm-3{margin-right:1rem !important;margin-left:1rem !important}.mx-sm-4{margin-right:1.5rem !important;margin-left:1.5rem !important}.mx-sm-5{margin-right:3rem !important;margin-left:3rem !important}.mx-sm-auto{margin-right:auto !important;margin-left:auto !important}.my-sm-0{margin-top:0 !important;margin-bottom:0 !important}.my-sm-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.my-sm-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.my-sm-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-sm-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-sm-5{margin-top:3rem !important;margin-bottom:3rem !important}.my-sm-auto{margin-top:auto !important;margin-bottom:auto !important}.mt-sm-0{margin-top:0 !important}.mt-sm-1{margin-top:.25rem !important}.mt-sm-2{margin-top:.5rem !important}.mt-sm-3{margin-top:1rem !important}.mt-sm-4{margin-top:1.5rem !important}.mt-sm-5{margin-top:3rem !important}.mt-sm-auto{margin-top:auto !important}.me-sm-0{margin-right:0 !important}.me-sm-1{margin-right:.25rem !important}.me-sm-2{margin-right:.5rem !important}.me-sm-3{margin-right:1rem !important}.me-sm-4{margin-right:1.5rem !important}.me-sm-5{margin-right:3rem !important}.me-sm-auto{margin-right:auto !important}.mb-sm-0{margin-bottom:0 !important}.mb-sm-1{margin-bottom:.25rem !important}.mb-sm-2{margin-bottom:.5rem !important}.mb-sm-3{margin-bottom:1rem !important}.mb-sm-4{margin-bottom:1.5rem !important}.mb-sm-5{margin-bottom:3rem !important}.mb-sm-auto{margin-bottom:auto !important}.ms-sm-0{margin-left:0 !important}.ms-sm-1{margin-left:.25rem !important}.ms-sm-2{margin-left:.5rem !important}.ms-sm-3{margin-left:1rem !important}.ms-sm-4{margin-left:1.5rem !important}.ms-sm-5{margin-left:3rem !important}.ms-sm-auto{margin-left:auto !important}.p-sm-0{padding:0 !important}.p-sm-1{padding:.25rem !important}.p-sm-2{padding:.5rem !important}.p-sm-3{padding:1rem !important}.p-sm-4{padding:1.5rem !important}.p-sm-5{padding:3rem !important}.px-sm-0{padding-right:0 !important;padding-left:0 !important}.px-sm-1{padding-right:.25rem !important;padding-left:.25rem !important}.px-sm-2{padding-right:.5rem !important;padding-left:.5rem !important}.px-sm-3{padding-right:1rem !important;padding-left:1rem !important}.px-sm-4{padding-right:1.5rem !important;padding-left:1.5rem !important}.px-sm-5{padding-right:3rem !important;padding-left:3rem !important}.py-sm-0{padding-top:0 !important;padding-bottom:0 !important}.py-sm-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.py-sm-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.py-sm-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-sm-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-sm-5{padding-top:3rem !important;padding-bottom:3rem !important}.pt-sm-0{padding-top:0 !important}.pt-sm-1{padding-top:.25rem !important}.pt-sm-2{padding-top:.5rem !important}.pt-sm-3{padding-top:1rem !important}.pt-sm-4{padding-top:1.5rem !important}.pt-sm-5{padding-top:3rem !important}.pe-sm-0{padding-right:0 !important}.pe-sm-1{padding-right:.25rem !important}.pe-sm-2{padding-right:.5rem !important}.pe-sm-3{padding-right:1rem !important}.pe-sm-4{padding-right:1.5rem !important}.pe-sm-5{padding-right:3rem !important}.pb-sm-0{padding-bottom:0 !important}.pb-sm-1{padding-bottom:.25rem !important}.pb-sm-2{padding-bottom:.5rem !important}.pb-sm-3{padding-bottom:1rem !important}.pb-sm-4{padding-bottom:1.5rem !important}.pb-sm-5{padding-bottom:3rem !important}.ps-sm-0{padding-left:0 !important}.ps-sm-1{padding-left:.25rem !important}.ps-sm-2{padding-left:.5rem !important}.ps-sm-3{padding-left:1rem !important}.ps-sm-4{padding-left:1.5rem !important}.ps-sm-5{padding-left:3rem !important}.gap-sm-0{gap:0 !important}.gap-sm-1{gap:.25rem !important}.gap-sm-2{gap:.5rem !important}.gap-sm-3{gap:1rem !important}.gap-sm-4{gap:1.5rem !important}.gap-sm-5{gap:3rem !important}.row-gap-sm-0{row-gap:0 !important}.row-gap-sm-1{row-gap:.25rem !important}.row-gap-sm-2{row-gap:.5rem !important}.row-gap-sm-3{row-gap:1rem !important}.row-gap-sm-4{row-gap:1.5rem !important}.row-gap-sm-5{row-gap:3rem !important}.column-gap-sm-0{column-gap:0 !important}.column-gap-sm-1{column-gap:.25rem !important}.column-gap-sm-2{column-gap:.5rem !important}.column-gap-sm-3{column-gap:1rem !important}.column-gap-sm-4{column-gap:1.5rem !important}.column-gap-sm-5{column-gap:3rem !important}.text-sm-start{text-align:left !important}.text-sm-end{text-align:right !important}.text-sm-center{text-align:center !important}}@media(min-width: 768px){.float-md-start{float:left !important}.float-md-end{float:right !important}.float-md-none{float:none !important}.object-fit-md-contain{object-fit:contain !important}.object-fit-md-cover{object-fit:cover !important}.object-fit-md-fill{object-fit:fill !important}.object-fit-md-scale{object-fit:scale-down !important}.object-fit-md-none{object-fit:none !important}.d-md-inline{display:inline !important}.d-md-inline-block{display:inline-block !important}.d-md-block{display:block !important}.d-md-grid{display:grid !important}.d-md-inline-grid{display:inline-grid !important}.d-md-table{display:table !important}.d-md-table-row{display:table-row !important}.d-md-table-cell{display:table-cell !important}.d-md-flex{display:flex !important}.d-md-inline-flex{display:inline-flex !important}.d-md-none{display:none !important}.flex-md-fill{flex:1 1 auto !important}.flex-md-row{flex-direction:row !important}.flex-md-column{flex-direction:column !important}.flex-md-row-reverse{flex-direction:row-reverse !important}.flex-md-column-reverse{flex-direction:column-reverse !important}.flex-md-grow-0{flex-grow:0 !important}.flex-md-grow-1{flex-grow:1 !important}.flex-md-shrink-0{flex-shrink:0 !important}.flex-md-shrink-1{flex-shrink:1 !important}.flex-md-wrap{flex-wrap:wrap !important}.flex-md-nowrap{flex-wrap:nowrap !important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse !important}.justify-content-md-start{justify-content:flex-start !important}.justify-content-md-end{justify-content:flex-end !important}.justify-content-md-center{justify-content:center !important}.justify-content-md-between{justify-content:space-between !important}.justify-content-md-around{justify-content:space-around !important}.justify-content-md-evenly{justify-content:space-evenly !important}.align-items-md-start{align-items:flex-start !important}.align-items-md-end{align-items:flex-end !important}.align-items-md-center{align-items:center !important}.align-items-md-baseline{align-items:baseline !important}.align-items-md-stretch{align-items:stretch !important}.align-content-md-start{align-content:flex-start !important}.align-content-md-end{align-content:flex-end !important}.align-content-md-center{align-content:center !important}.align-content-md-between{align-content:space-between !important}.align-content-md-around{align-content:space-around !important}.align-content-md-stretch{align-content:stretch !important}.align-self-md-auto{align-self:auto !important}.align-self-md-start{align-self:flex-start !important}.align-self-md-end{align-self:flex-end !important}.align-self-md-center{align-self:center !important}.align-self-md-baseline{align-self:baseline !important}.align-self-md-stretch{align-self:stretch !important}.order-md-first{order:-1 !important}.order-md-0{order:0 !important}.order-md-1{order:1 !important}.order-md-2{order:2 !important}.order-md-3{order:3 !important}.order-md-4{order:4 !important}.order-md-5{order:5 !important}.order-md-last{order:6 !important}.m-md-0{margin:0 !important}.m-md-1{margin:.25rem !important}.m-md-2{margin:.5rem !important}.m-md-3{margin:1rem !important}.m-md-4{margin:1.5rem !important}.m-md-5{margin:3rem !important}.m-md-auto{margin:auto !important}.mx-md-0{margin-right:0 !important;margin-left:0 !important}.mx-md-1{margin-right:.25rem !important;margin-left:.25rem !important}.mx-md-2{margin-right:.5rem !important;margin-left:.5rem !important}.mx-md-3{margin-right:1rem !important;margin-left:1rem !important}.mx-md-4{margin-right:1.5rem !important;margin-left:1.5rem !important}.mx-md-5{margin-right:3rem !important;margin-left:3rem !important}.mx-md-auto{margin-right:auto !important;margin-left:auto !important}.my-md-0{margin-top:0 !important;margin-bottom:0 !important}.my-md-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.my-md-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.my-md-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-md-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-md-5{margin-top:3rem !important;margin-bottom:3rem !important}.my-md-auto{margin-top:auto !important;margin-bottom:auto !important}.mt-md-0{margin-top:0 !important}.mt-md-1{margin-top:.25rem !important}.mt-md-2{margin-top:.5rem !important}.mt-md-3{margin-top:1rem !important}.mt-md-4{margin-top:1.5rem !important}.mt-md-5{margin-top:3rem !important}.mt-md-auto{margin-top:auto !important}.me-md-0{margin-right:0 !important}.me-md-1{margin-right:.25rem !important}.me-md-2{margin-right:.5rem !important}.me-md-3{margin-right:1rem !important}.me-md-4{margin-right:1.5rem !important}.me-md-5{margin-right:3rem !important}.me-md-auto{margin-right:auto !important}.mb-md-0{margin-bottom:0 !important}.mb-md-1{margin-bottom:.25rem !important}.mb-md-2{margin-bottom:.5rem !important}.mb-md-3{margin-bottom:1rem !important}.mb-md-4{margin-bottom:1.5rem !important}.mb-md-5{margin-bottom:3rem !important}.mb-md-auto{margin-bottom:auto !important}.ms-md-0{margin-left:0 !important}.ms-md-1{margin-left:.25rem !important}.ms-md-2{margin-left:.5rem !important}.ms-md-3{margin-left:1rem !important}.ms-md-4{margin-left:1.5rem !important}.ms-md-5{margin-left:3rem !important}.ms-md-auto{margin-left:auto !important}.p-md-0{padding:0 !important}.p-md-1{padding:.25rem !important}.p-md-2{padding:.5rem !important}.p-md-3{padding:1rem !important}.p-md-4{padding:1.5rem !important}.p-md-5{padding:3rem !important}.px-md-0{padding-right:0 !important;padding-left:0 !important}.px-md-1{padding-right:.25rem !important;padding-left:.25rem !important}.px-md-2{padding-right:.5rem !important;padding-left:.5rem !important}.px-md-3{padding-right:1rem !important;padding-left:1rem !important}.px-md-4{padding-right:1.5rem !important;padding-left:1.5rem !important}.px-md-5{padding-right:3rem !important;padding-left:3rem !important}.py-md-0{padding-top:0 !important;padding-bottom:0 !important}.py-md-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.py-md-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.py-md-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-md-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-md-5{padding-top:3rem !important;padding-bottom:3rem !important}.pt-md-0{padding-top:0 !important}.pt-md-1{padding-top:.25rem !important}.pt-md-2{padding-top:.5rem !important}.pt-md-3{padding-top:1rem !important}.pt-md-4{padding-top:1.5rem !important}.pt-md-5{padding-top:3rem !important}.pe-md-0{padding-right:0 !important}.pe-md-1{padding-right:.25rem !important}.pe-md-2{padding-right:.5rem !important}.pe-md-3{padding-right:1rem !important}.pe-md-4{padding-right:1.5rem !important}.pe-md-5{padding-right:3rem !important}.pb-md-0{padding-bottom:0 !important}.pb-md-1{padding-bottom:.25rem !important}.pb-md-2{padding-bottom:.5rem !important}.pb-md-3{padding-bottom:1rem !important}.pb-md-4{padding-bottom:1.5rem !important}.pb-md-5{padding-bottom:3rem !important}.ps-md-0{padding-left:0 !important}.ps-md-1{padding-left:.25rem !important}.ps-md-2{padding-left:.5rem !important}.ps-md-3{padding-left:1rem !important}.ps-md-4{padding-left:1.5rem !important}.ps-md-5{padding-left:3rem !important}.gap-md-0{gap:0 !important}.gap-md-1{gap:.25rem !important}.gap-md-2{gap:.5rem !important}.gap-md-3{gap:1rem !important}.gap-md-4{gap:1.5rem !important}.gap-md-5{gap:3rem !important}.row-gap-md-0{row-gap:0 !important}.row-gap-md-1{row-gap:.25rem !important}.row-gap-md-2{row-gap:.5rem !important}.row-gap-md-3{row-gap:1rem !important}.row-gap-md-4{row-gap:1.5rem !important}.row-gap-md-5{row-gap:3rem !important}.column-gap-md-0{column-gap:0 !important}.column-gap-md-1{column-gap:.25rem !important}.column-gap-md-2{column-gap:.5rem !important}.column-gap-md-3{column-gap:1rem !important}.column-gap-md-4{column-gap:1.5rem !important}.column-gap-md-5{column-gap:3rem !important}.text-md-start{text-align:left !important}.text-md-end{text-align:right !important}.text-md-center{text-align:center !important}}@media(min-width: 992px){.float-lg-start{float:left !important}.float-lg-end{float:right !important}.float-lg-none{float:none !important}.object-fit-lg-contain{object-fit:contain !important}.object-fit-lg-cover{object-fit:cover !important}.object-fit-lg-fill{object-fit:fill !important}.object-fit-lg-scale{object-fit:scale-down !important}.object-fit-lg-none{object-fit:none !important}.d-lg-inline{display:inline !important}.d-lg-inline-block{display:inline-block !important}.d-lg-block{display:block !important}.d-lg-grid{display:grid !important}.d-lg-inline-grid{display:inline-grid !important}.d-lg-table{display:table !important}.d-lg-table-row{display:table-row !important}.d-lg-table-cell{display:table-cell !important}.d-lg-flex{display:flex !important}.d-lg-inline-flex{display:inline-flex !important}.d-lg-none{display:none !important}.flex-lg-fill{flex:1 1 auto !important}.flex-lg-row{flex-direction:row !important}.flex-lg-column{flex-direction:column !important}.flex-lg-row-reverse{flex-direction:row-reverse !important}.flex-lg-column-reverse{flex-direction:column-reverse !important}.flex-lg-grow-0{flex-grow:0 !important}.flex-lg-grow-1{flex-grow:1 !important}.flex-lg-shrink-0{flex-shrink:0 !important}.flex-lg-shrink-1{flex-shrink:1 !important}.flex-lg-wrap{flex-wrap:wrap !important}.flex-lg-nowrap{flex-wrap:nowrap !important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse !important}.justify-content-lg-start{justify-content:flex-start !important}.justify-content-lg-end{justify-content:flex-end !important}.justify-content-lg-center{justify-content:center !important}.justify-content-lg-between{justify-content:space-between !important}.justify-content-lg-around{justify-content:space-around !important}.justify-content-lg-evenly{justify-content:space-evenly !important}.align-items-lg-start{align-items:flex-start !important}.align-items-lg-end{align-items:flex-end !important}.align-items-lg-center{align-items:center !important}.align-items-lg-baseline{align-items:baseline !important}.align-items-lg-stretch{align-items:stretch !important}.align-content-lg-start{align-content:flex-start !important}.align-content-lg-end{align-content:flex-end !important}.align-content-lg-center{align-content:center !important}.align-content-lg-between{align-content:space-between !important}.align-content-lg-around{align-content:space-around !important}.align-content-lg-stretch{align-content:stretch !important}.align-self-lg-auto{align-self:auto !important}.align-self-lg-start{align-self:flex-start !important}.align-self-lg-end{align-self:flex-end !important}.align-self-lg-center{align-self:center !important}.align-self-lg-baseline{align-self:baseline !important}.align-self-lg-stretch{align-self:stretch !important}.order-lg-first{order:-1 !important}.order-lg-0{order:0 !important}.order-lg-1{order:1 !important}.order-lg-2{order:2 !important}.order-lg-3{order:3 !important}.order-lg-4{order:4 !important}.order-lg-5{order:5 !important}.order-lg-last{order:6 !important}.m-lg-0{margin:0 !important}.m-lg-1{margin:.25rem !important}.m-lg-2{margin:.5rem !important}.m-lg-3{margin:1rem !important}.m-lg-4{margin:1.5rem !important}.m-lg-5{margin:3rem !important}.m-lg-auto{margin:auto !important}.mx-lg-0{margin-right:0 !important;margin-left:0 !important}.mx-lg-1{margin-right:.25rem !important;margin-left:.25rem !important}.mx-lg-2{margin-right:.5rem !important;margin-left:.5rem !important}.mx-lg-3{margin-right:1rem !important;margin-left:1rem !important}.mx-lg-4{margin-right:1.5rem !important;margin-left:1.5rem !important}.mx-lg-5{margin-right:3rem !important;margin-left:3rem !important}.mx-lg-auto{margin-right:auto !important;margin-left:auto !important}.my-lg-0{margin-top:0 !important;margin-bottom:0 !important}.my-lg-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.my-lg-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.my-lg-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-lg-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-lg-5{margin-top:3rem !important;margin-bottom:3rem !important}.my-lg-auto{margin-top:auto !important;margin-bottom:auto !important}.mt-lg-0{margin-top:0 !important}.mt-lg-1{margin-top:.25rem !important}.mt-lg-2{margin-top:.5rem !important}.mt-lg-3{margin-top:1rem !important}.mt-lg-4{margin-top:1.5rem !important}.mt-lg-5{margin-top:3rem !important}.mt-lg-auto{margin-top:auto !important}.me-lg-0{margin-right:0 !important}.me-lg-1{margin-right:.25rem !important}.me-lg-2{margin-right:.5rem !important}.me-lg-3{margin-right:1rem !important}.me-lg-4{margin-right:1.5rem !important}.me-lg-5{margin-right:3rem !important}.me-lg-auto{margin-right:auto !important}.mb-lg-0{margin-bottom:0 !important}.mb-lg-1{margin-bottom:.25rem !important}.mb-lg-2{margin-bottom:.5rem !important}.mb-lg-3{margin-bottom:1rem !important}.mb-lg-4{margin-bottom:1.5rem !important}.mb-lg-5{margin-bottom:3rem !important}.mb-lg-auto{margin-bottom:auto !important}.ms-lg-0{margin-left:0 !important}.ms-lg-1{margin-left:.25rem !important}.ms-lg-2{margin-left:.5rem !important}.ms-lg-3{margin-left:1rem !important}.ms-lg-4{margin-left:1.5rem !important}.ms-lg-5{margin-left:3rem !important}.ms-lg-auto{margin-left:auto !important}.p-lg-0{padding:0 !important}.p-lg-1{padding:.25rem !important}.p-lg-2{padding:.5rem !important}.p-lg-3{padding:1rem !important}.p-lg-4{padding:1.5rem !important}.p-lg-5{padding:3rem !important}.px-lg-0{padding-right:0 !important;padding-left:0 !important}.px-lg-1{padding-right:.25rem !important;padding-left:.25rem !important}.px-lg-2{padding-right:.5rem !important;padding-left:.5rem !important}.px-lg-3{padding-right:1rem !important;padding-left:1rem !important}.px-lg-4{padding-right:1.5rem !important;padding-left:1.5rem !important}.px-lg-5{padding-right:3rem !important;padding-left:3rem !important}.py-lg-0{padding-top:0 !important;padding-bottom:0 !important}.py-lg-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.py-lg-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.py-lg-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-lg-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-lg-5{padding-top:3rem !important;padding-bottom:3rem !important}.pt-lg-0{padding-top:0 !important}.pt-lg-1{padding-top:.25rem !important}.pt-lg-2{padding-top:.5rem !important}.pt-lg-3{padding-top:1rem !important}.pt-lg-4{padding-top:1.5rem !important}.pt-lg-5{padding-top:3rem !important}.pe-lg-0{padding-right:0 !important}.pe-lg-1{padding-right:.25rem !important}.pe-lg-2{padding-right:.5rem !important}.pe-lg-3{padding-right:1rem !important}.pe-lg-4{padding-right:1.5rem !important}.pe-lg-5{padding-right:3rem !important}.pb-lg-0{padding-bottom:0 !important}.pb-lg-1{padding-bottom:.25rem !important}.pb-lg-2{padding-bottom:.5rem !important}.pb-lg-3{padding-bottom:1rem !important}.pb-lg-4{padding-bottom:1.5rem !important}.pb-lg-5{padding-bottom:3rem !important}.ps-lg-0{padding-left:0 !important}.ps-lg-1{padding-left:.25rem !important}.ps-lg-2{padding-left:.5rem !important}.ps-lg-3{padding-left:1rem !important}.ps-lg-4{padding-left:1.5rem !important}.ps-lg-5{padding-left:3rem !important}.gap-lg-0{gap:0 !important}.gap-lg-1{gap:.25rem !important}.gap-lg-2{gap:.5rem !important}.gap-lg-3{gap:1rem !important}.gap-lg-4{gap:1.5rem !important}.gap-lg-5{gap:3rem !important}.row-gap-lg-0{row-gap:0 !important}.row-gap-lg-1{row-gap:.25rem !important}.row-gap-lg-2{row-gap:.5rem !important}.row-gap-lg-3{row-gap:1rem !important}.row-gap-lg-4{row-gap:1.5rem !important}.row-gap-lg-5{row-gap:3rem !important}.column-gap-lg-0{column-gap:0 !important}.column-gap-lg-1{column-gap:.25rem !important}.column-gap-lg-2{column-gap:.5rem !important}.column-gap-lg-3{column-gap:1rem !important}.column-gap-lg-4{column-gap:1.5rem !important}.column-gap-lg-5{column-gap:3rem !important}.text-lg-start{text-align:left !important}.text-lg-end{text-align:right !important}.text-lg-center{text-align:center !important}}@media(min-width: 1200px){.float-xl-start{float:left !important}.float-xl-end{float:right !important}.float-xl-none{float:none !important}.object-fit-xl-contain{object-fit:contain !important}.object-fit-xl-cover{object-fit:cover !important}.object-fit-xl-fill{object-fit:fill !important}.object-fit-xl-scale{object-fit:scale-down !important}.object-fit-xl-none{object-fit:none !important}.d-xl-inline{display:inline !important}.d-xl-inline-block{display:inline-block !important}.d-xl-block{display:block !important}.d-xl-grid{display:grid !important}.d-xl-inline-grid{display:inline-grid !important}.d-xl-table{display:table !important}.d-xl-table-row{display:table-row !important}.d-xl-table-cell{display:table-cell !important}.d-xl-flex{display:flex !important}.d-xl-inline-flex{display:inline-flex !important}.d-xl-none{display:none !important}.flex-xl-fill{flex:1 1 auto !important}.flex-xl-row{flex-direction:row !important}.flex-xl-column{flex-direction:column !important}.flex-xl-row-reverse{flex-direction:row-reverse !important}.flex-xl-column-reverse{flex-direction:column-reverse !important}.flex-xl-grow-0{flex-grow:0 !important}.flex-xl-grow-1{flex-grow:1 !important}.flex-xl-shrink-0{flex-shrink:0 !important}.flex-xl-shrink-1{flex-shrink:1 !important}.flex-xl-wrap{flex-wrap:wrap !important}.flex-xl-nowrap{flex-wrap:nowrap !important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse !important}.justify-content-xl-start{justify-content:flex-start !important}.justify-content-xl-end{justify-content:flex-end !important}.justify-content-xl-center{justify-content:center !important}.justify-content-xl-between{justify-content:space-between !important}.justify-content-xl-around{justify-content:space-around !important}.justify-content-xl-evenly{justify-content:space-evenly !important}.align-items-xl-start{align-items:flex-start !important}.align-items-xl-end{align-items:flex-end !important}.align-items-xl-center{align-items:center !important}.align-items-xl-baseline{align-items:baseline !important}.align-items-xl-stretch{align-items:stretch !important}.align-content-xl-start{align-content:flex-start !important}.align-content-xl-end{align-content:flex-end !important}.align-content-xl-center{align-content:center !important}.align-content-xl-between{align-content:space-between !important}.align-content-xl-around{align-content:space-around !important}.align-content-xl-stretch{align-content:stretch !important}.align-self-xl-auto{align-self:auto !important}.align-self-xl-start{align-self:flex-start !important}.align-self-xl-end{align-self:flex-end !important}.align-self-xl-center{align-self:center !important}.align-self-xl-baseline{align-self:baseline !important}.align-self-xl-stretch{align-self:stretch !important}.order-xl-first{order:-1 !important}.order-xl-0{order:0 !important}.order-xl-1{order:1 !important}.order-xl-2{order:2 !important}.order-xl-3{order:3 !important}.order-xl-4{order:4 !important}.order-xl-5{order:5 !important}.order-xl-last{order:6 !important}.m-xl-0{margin:0 !important}.m-xl-1{margin:.25rem !important}.m-xl-2{margin:.5rem !important}.m-xl-3{margin:1rem !important}.m-xl-4{margin:1.5rem !important}.m-xl-5{margin:3rem !important}.m-xl-auto{margin:auto !important}.mx-xl-0{margin-right:0 !important;margin-left:0 !important}.mx-xl-1{margin-right:.25rem !important;margin-left:.25rem !important}.mx-xl-2{margin-right:.5rem !important;margin-left:.5rem !important}.mx-xl-3{margin-right:1rem !important;margin-left:1rem !important}.mx-xl-4{margin-right:1.5rem !important;margin-left:1.5rem !important}.mx-xl-5{margin-right:3rem !important;margin-left:3rem !important}.mx-xl-auto{margin-right:auto !important;margin-left:auto !important}.my-xl-0{margin-top:0 !important;margin-bottom:0 !important}.my-xl-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.my-xl-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.my-xl-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-xl-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-xl-5{margin-top:3rem !important;margin-bottom:3rem !important}.my-xl-auto{margin-top:auto !important;margin-bottom:auto !important}.mt-xl-0{margin-top:0 !important}.mt-xl-1{margin-top:.25rem !important}.mt-xl-2{margin-top:.5rem !important}.mt-xl-3{margin-top:1rem !important}.mt-xl-4{margin-top:1.5rem !important}.mt-xl-5{margin-top:3rem !important}.mt-xl-auto{margin-top:auto !important}.me-xl-0{margin-right:0 !important}.me-xl-1{margin-right:.25rem !important}.me-xl-2{margin-right:.5rem !important}.me-xl-3{margin-right:1rem !important}.me-xl-4{margin-right:1.5rem !important}.me-xl-5{margin-right:3rem !important}.me-xl-auto{margin-right:auto !important}.mb-xl-0{margin-bottom:0 !important}.mb-xl-1{margin-bottom:.25rem !important}.mb-xl-2{margin-bottom:.5rem !important}.mb-xl-3{margin-bottom:1rem !important}.mb-xl-4{margin-bottom:1.5rem !important}.mb-xl-5{margin-bottom:3rem !important}.mb-xl-auto{margin-bottom:auto !important}.ms-xl-0{margin-left:0 !important}.ms-xl-1{margin-left:.25rem !important}.ms-xl-2{margin-left:.5rem !important}.ms-xl-3{margin-left:1rem !important}.ms-xl-4{margin-left:1.5rem !important}.ms-xl-5{margin-left:3rem !important}.ms-xl-auto{margin-left:auto !important}.p-xl-0{padding:0 !important}.p-xl-1{padding:.25rem !important}.p-xl-2{padding:.5rem !important}.p-xl-3{padding:1rem !important}.p-xl-4{padding:1.5rem !important}.p-xl-5{padding:3rem !important}.px-xl-0{padding-right:0 !important;padding-left:0 !important}.px-xl-1{padding-right:.25rem !important;padding-left:.25rem !important}.px-xl-2{padding-right:.5rem !important;padding-left:.5rem !important}.px-xl-3{padding-right:1rem !important;padding-left:1rem !important}.px-xl-4{padding-right:1.5rem !important;padding-left:1.5rem !important}.px-xl-5{padding-right:3rem !important;padding-left:3rem !important}.py-xl-0{padding-top:0 !important;padding-bottom:0 !important}.py-xl-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.py-xl-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.py-xl-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-xl-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-xl-5{padding-top:3rem !important;padding-bottom:3rem !important}.pt-xl-0{padding-top:0 !important}.pt-xl-1{padding-top:.25rem !important}.pt-xl-2{padding-top:.5rem !important}.pt-xl-3{padding-top:1rem !important}.pt-xl-4{padding-top:1.5rem !important}.pt-xl-5{padding-top:3rem !important}.pe-xl-0{padding-right:0 !important}.pe-xl-1{padding-right:.25rem !important}.pe-xl-2{padding-right:.5rem !important}.pe-xl-3{padding-right:1rem !important}.pe-xl-4{padding-right:1.5rem !important}.pe-xl-5{padding-right:3rem !important}.pb-xl-0{padding-bottom:0 !important}.pb-xl-1{padding-bottom:.25rem !important}.pb-xl-2{padding-bottom:.5rem !important}.pb-xl-3{padding-bottom:1rem !important}.pb-xl-4{padding-bottom:1.5rem !important}.pb-xl-5{padding-bottom:3rem !important}.ps-xl-0{padding-left:0 !important}.ps-xl-1{padding-left:.25rem !important}.ps-xl-2{padding-left:.5rem !important}.ps-xl-3{padding-left:1rem !important}.ps-xl-4{padding-left:1.5rem !important}.ps-xl-5{padding-left:3rem !important}.gap-xl-0{gap:0 !important}.gap-xl-1{gap:.25rem !important}.gap-xl-2{gap:.5rem !important}.gap-xl-3{gap:1rem !important}.gap-xl-4{gap:1.5rem !important}.gap-xl-5{gap:3rem !important}.row-gap-xl-0{row-gap:0 !important}.row-gap-xl-1{row-gap:.25rem !important}.row-gap-xl-2{row-gap:.5rem !important}.row-gap-xl-3{row-gap:1rem !important}.row-gap-xl-4{row-gap:1.5rem !important}.row-gap-xl-5{row-gap:3rem !important}.column-gap-xl-0{column-gap:0 !important}.column-gap-xl-1{column-gap:.25rem !important}.column-gap-xl-2{column-gap:.5rem !important}.column-gap-xl-3{column-gap:1rem !important}.column-gap-xl-4{column-gap:1.5rem !important}.column-gap-xl-5{column-gap:3rem !important}.text-xl-start{text-align:left !important}.text-xl-end{text-align:right !important}.text-xl-center{text-align:center !important}}@media(min-width: 1400px){.float-xxl-start{float:left !important}.float-xxl-end{float:right !important}.float-xxl-none{float:none !important}.object-fit-xxl-contain{object-fit:contain !important}.object-fit-xxl-cover{object-fit:cover !important}.object-fit-xxl-fill{object-fit:fill !important}.object-fit-xxl-scale{object-fit:scale-down !important}.object-fit-xxl-none{object-fit:none !important}.d-xxl-inline{display:inline !important}.d-xxl-inline-block{display:inline-block !important}.d-xxl-block{display:block !important}.d-xxl-grid{display:grid !important}.d-xxl-inline-grid{display:inline-grid !important}.d-xxl-table{display:table !important}.d-xxl-table-row{display:table-row !important}.d-xxl-table-cell{display:table-cell !important}.d-xxl-flex{display:flex !important}.d-xxl-inline-flex{display:inline-flex !important}.d-xxl-none{display:none !important}.flex-xxl-fill{flex:1 1 auto !important}.flex-xxl-row{flex-direction:row !important}.flex-xxl-column{flex-direction:column !important}.flex-xxl-row-reverse{flex-direction:row-reverse !important}.flex-xxl-column-reverse{flex-direction:column-reverse !important}.flex-xxl-grow-0{flex-grow:0 !important}.flex-xxl-grow-1{flex-grow:1 !important}.flex-xxl-shrink-0{flex-shrink:0 !important}.flex-xxl-shrink-1{flex-shrink:1 !important}.flex-xxl-wrap{flex-wrap:wrap !important}.flex-xxl-nowrap{flex-wrap:nowrap !important}.flex-xxl-wrap-reverse{flex-wrap:wrap-reverse !important}.justify-content-xxl-start{justify-content:flex-start !important}.justify-content-xxl-end{justify-content:flex-end !important}.justify-content-xxl-center{justify-content:center !important}.justify-content-xxl-between{justify-content:space-between !important}.justify-content-xxl-around{justify-content:space-around !important}.justify-content-xxl-evenly{justify-content:space-evenly !important}.align-items-xxl-start{align-items:flex-start !important}.align-items-xxl-end{align-items:flex-end !important}.align-items-xxl-center{align-items:center !important}.align-items-xxl-baseline{align-items:baseline !important}.align-items-xxl-stretch{align-items:stretch !important}.align-content-xxl-start{align-content:flex-start !important}.align-content-xxl-end{align-content:flex-end !important}.align-content-xxl-center{align-content:center !important}.align-content-xxl-between{align-content:space-between !important}.align-content-xxl-around{align-content:space-around !important}.align-content-xxl-stretch{align-content:stretch !important}.align-self-xxl-auto{align-self:auto !important}.align-self-xxl-start{align-self:flex-start !important}.align-self-xxl-end{align-self:flex-end !important}.align-self-xxl-center{align-self:center !important}.align-self-xxl-baseline{align-self:baseline !important}.align-self-xxl-stretch{align-self:stretch !important}.order-xxl-first{order:-1 !important}.order-xxl-0{order:0 !important}.order-xxl-1{order:1 !important}.order-xxl-2{order:2 !important}.order-xxl-3{order:3 !important}.order-xxl-4{order:4 !important}.order-xxl-5{order:5 !important}.order-xxl-last{order:6 !important}.m-xxl-0{margin:0 !important}.m-xxl-1{margin:.25rem !important}.m-xxl-2{margin:.5rem !important}.m-xxl-3{margin:1rem !important}.m-xxl-4{margin:1.5rem !important}.m-xxl-5{margin:3rem !important}.m-xxl-auto{margin:auto !important}.mx-xxl-0{margin-right:0 !important;margin-left:0 !important}.mx-xxl-1{margin-right:.25rem !important;margin-left:.25rem !important}.mx-xxl-2{margin-right:.5rem !important;margin-left:.5rem !important}.mx-xxl-3{margin-right:1rem !important;margin-left:1rem !important}.mx-xxl-4{margin-right:1.5rem !important;margin-left:1.5rem !important}.mx-xxl-5{margin-right:3rem !important;margin-left:3rem !important}.mx-xxl-auto{margin-right:auto !important;margin-left:auto !important}.my-xxl-0{margin-top:0 !important;margin-bottom:0 !important}.my-xxl-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.my-xxl-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.my-xxl-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-xxl-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-xxl-5{margin-top:3rem !important;margin-bottom:3rem !important}.my-xxl-auto{margin-top:auto !important;margin-bottom:auto !important}.mt-xxl-0{margin-top:0 !important}.mt-xxl-1{margin-top:.25rem !important}.mt-xxl-2{margin-top:.5rem !important}.mt-xxl-3{margin-top:1rem !important}.mt-xxl-4{margin-top:1.5rem !important}.mt-xxl-5{margin-top:3rem !important}.mt-xxl-auto{margin-top:auto !important}.me-xxl-0{margin-right:0 !important}.me-xxl-1{margin-right:.25rem !important}.me-xxl-2{margin-right:.5rem !important}.me-xxl-3{margin-right:1rem !important}.me-xxl-4{margin-right:1.5rem !important}.me-xxl-5{margin-right:3rem !important}.me-xxl-auto{margin-right:auto !important}.mb-xxl-0{margin-bottom:0 !important}.mb-xxl-1{margin-bottom:.25rem !important}.mb-xxl-2{margin-bottom:.5rem !important}.mb-xxl-3{margin-bottom:1rem !important}.mb-xxl-4{margin-bottom:1.5rem !important}.mb-xxl-5{margin-bottom:3rem !important}.mb-xxl-auto{margin-bottom:auto !important}.ms-xxl-0{margin-left:0 !important}.ms-xxl-1{margin-left:.25rem !important}.ms-xxl-2{margin-left:.5rem !important}.ms-xxl-3{margin-left:1rem !important}.ms-xxl-4{margin-left:1.5rem !important}.ms-xxl-5{margin-left:3rem !important}.ms-xxl-auto{margin-left:auto !important}.p-xxl-0{padding:0 !important}.p-xxl-1{padding:.25rem !important}.p-xxl-2{padding:.5rem !important}.p-xxl-3{padding:1rem !important}.p-xxl-4{padding:1.5rem !important}.p-xxl-5{padding:3rem !important}.px-xxl-0{padding-right:0 !important;padding-left:0 !important}.px-xxl-1{padding-right:.25rem !important;padding-left:.25rem !important}.px-xxl-2{padding-right:.5rem !important;padding-left:.5rem !important}.px-xxl-3{padding-right:1rem !important;padding-left:1rem !important}.px-xxl-4{padding-right:1.5rem !important;padding-left:1.5rem !important}.px-xxl-5{padding-right:3rem !important;padding-left:3rem !important}.py-xxl-0{padding-top:0 !important;padding-bottom:0 !important}.py-xxl-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.py-xxl-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.py-xxl-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-xxl-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-xxl-5{padding-top:3rem !important;padding-bottom:3rem !important}.pt-xxl-0{padding-top:0 !important}.pt-xxl-1{padding-top:.25rem !important}.pt-xxl-2{padding-top:.5rem !important}.pt-xxl-3{padding-top:1rem !important}.pt-xxl-4{padding-top:1.5rem !important}.pt-xxl-5{padding-top:3rem !important}.pe-xxl-0{padding-right:0 !important}.pe-xxl-1{padding-right:.25rem !important}.pe-xxl-2{padding-right:.5rem !important}.pe-xxl-3{padding-right:1rem !important}.pe-xxl-4{padding-right:1.5rem !important}.pe-xxl-5{padding-right:3rem !important}.pb-xxl-0{padding-bottom:0 !important}.pb-xxl-1{padding-bottom:.25rem !important}.pb-xxl-2{padding-bottom:.5rem !important}.pb-xxl-3{padding-bottom:1rem !important}.pb-xxl-4{padding-bottom:1.5rem !important}.pb-xxl-5{padding-bottom:3rem !important}.ps-xxl-0{padding-left:0 !important}.ps-xxl-1{padding-left:.25rem !important}.ps-xxl-2{padding-left:.5rem !important}.ps-xxl-3{padding-left:1rem !important}.ps-xxl-4{padding-left:1.5rem !important}.ps-xxl-5{padding-left:3rem !important}.gap-xxl-0{gap:0 !important}.gap-xxl-1{gap:.25rem !important}.gap-xxl-2{gap:.5rem !important}.gap-xxl-3{gap:1rem !important}.gap-xxl-4{gap:1.5rem !important}.gap-xxl-5{gap:3rem !important}.row-gap-xxl-0{row-gap:0 !important}.row-gap-xxl-1{row-gap:.25rem !important}.row-gap-xxl-2{row-gap:.5rem !important}.row-gap-xxl-3{row-gap:1rem !important}.row-gap-xxl-4{row-gap:1.5rem !important}.row-gap-xxl-5{row-gap:3rem !important}.column-gap-xxl-0{column-gap:0 !important}.column-gap-xxl-1{column-gap:.25rem !important}.column-gap-xxl-2{column-gap:.5rem !important}.column-gap-xxl-3{column-gap:1rem !important}.column-gap-xxl-4{column-gap:1.5rem !important}.column-gap-xxl-5{column-gap:3rem !important}.text-xxl-start{text-align:left !important}.text-xxl-end{text-align:right !important}.text-xxl-center{text-align:center !important}}.bg-default{color:#000}.bg-primary{color:#fff}.bg-secondary{color:#fff}.bg-success{color:#fff}.bg-info{color:#000}.bg-warning{color:#000}.bg-danger{color:#fff}.bg-light{color:#000}.bg-dark{color:#fff}@media(min-width: 1200px){.fs-1{font-size:2rem !important}.fs-2{font-size:1.65rem !important}.fs-3{font-size:1.45rem !important}}@media print{.d-print-inline{display:inline !important}.d-print-inline-block{display:inline-block !important}.d-print-block{display:block !important}.d-print-grid{display:grid !important}.d-print-inline-grid{display:inline-grid !important}.d-print-table{display:table !important}.d-print-table-row{display:table-row !important}.d-print-table-cell{display:table-cell !important}.d-print-flex{display:flex !important}.d-print-inline-flex{display:inline-flex !important}.d-print-none{display:none !important}}.bg-blue{--bslib-color-bg: #0d6efd;--bslib-color-fg: #ffffff;background-color:var(--bslib-color-bg);color:var(--bslib-color-fg)}.text-blue{--bslib-color-fg: #0d6efd;color:var(--bslib-color-fg)}.bg-indigo{--bslib-color-bg: #6610f2;--bslib-color-fg: #ffffff;background-color:var(--bslib-color-bg);color:var(--bslib-color-fg)}.text-indigo{--bslib-color-fg: #6610f2;color:var(--bslib-color-fg)}.bg-purple{--bslib-color-bg: #6f42c1;--bslib-color-fg: #ffffff;background-color:var(--bslib-color-bg);color:var(--bslib-color-fg)}.text-purple{--bslib-color-fg: #6f42c1;color:var(--bslib-color-fg)}.bg-pink{--bslib-color-bg: #d63384;--bslib-color-fg: #ffffff;background-color:var(--bslib-color-bg);color:var(--bslib-color-fg)}.text-pink{--bslib-color-fg: #d63384;color:var(--bslib-color-fg)}.bg-red{--bslib-color-bg: #dc3545;--bslib-color-fg: #ffffff;background-color:var(--bslib-color-bg);color:var(--bslib-color-fg)}.text-red{--bslib-color-fg: #dc3545;color:var(--bslib-color-fg)}.bg-orange{--bslib-color-bg: #fd7e14;--bslib-color-fg: #000;background-color:var(--bslib-color-bg);color:var(--bslib-color-fg)}.text-orange{--bslib-color-fg: #fd7e14;color:var(--bslib-color-fg)}.bg-yellow{--bslib-color-bg: #ffc107;--bslib-color-fg: #000;background-color:var(--bslib-color-bg);color:var(--bslib-color-fg)}.text-yellow{--bslib-color-fg: #ffc107;color:var(--bslib-color-fg)}.bg-green{--bslib-color-bg: #198754;--bslib-color-fg: #ffffff;background-color:var(--bslib-color-bg);color:var(--bslib-color-fg)}.text-green{--bslib-color-fg: #198754;color:var(--bslib-color-fg)}.bg-teal{--bslib-color-bg: #20c997;--bslib-color-fg: #000;background-color:var(--bslib-color-bg);color:var(--bslib-color-fg)}.text-teal{--bslib-color-fg: #20c997;color:var(--bslib-color-fg)}.bg-cyan{--bslib-color-bg: #0dcaf0;--bslib-color-fg: #000;background-color:var(--bslib-color-bg);color:var(--bslib-color-fg)}.text-cyan{--bslib-color-fg: #0dcaf0;color:var(--bslib-color-fg)}.text-default{--bslib-color-fg: #dee2e6}.bg-default{--bslib-color-bg: #dee2e6;--bslib-color-fg: #000}.text-primary{--bslib-color-fg: #0d6efd}.bg-primary{--bslib-color-bg: #0d6efd;--bslib-color-fg: #ffffff}.text-secondary{--bslib-color-fg: #6c757d}.bg-secondary{--bslib-color-bg: #6c757d;--bslib-color-fg: #ffffff}.text-success{--bslib-color-fg: #198754}.bg-success{--bslib-color-bg: #198754;--bslib-color-fg: #ffffff}.text-info{--bslib-color-fg: #0dcaf0}.bg-info{--bslib-color-bg: #0dcaf0;--bslib-color-fg: #000}.text-warning{--bslib-color-fg: #ffc107}.bg-warning{--bslib-color-bg: #ffc107;--bslib-color-fg: #000}.text-danger{--bslib-color-fg: #dc3545}.bg-danger{--bslib-color-bg: #dc3545;--bslib-color-fg: #ffffff}.text-light{--bslib-color-fg: #f8f9fa}.bg-light{--bslib-color-bg: #f8f9fa;--bslib-color-fg: #000}.text-dark{--bslib-color-fg: #212529}.bg-dark{--bslib-color-bg: #212529;--bslib-color-fg: #ffffff}.bg-gradient-blue-indigo{--bslib-color-fg: #ffffff;--bslib-color-bg: #3148f9;background:linear-gradient(var(--bg-gradient-deg, 140deg), #0d6efd var(--bg-gradient-start, 36%), #6610f2 var(--bg-gradient-end, 180%)) #3148f9;color:#fff}.bg-gradient-blue-purple{--bslib-color-fg: #ffffff;--bslib-color-bg: #345ce5;background:linear-gradient(var(--bg-gradient-deg, 140deg), #0d6efd var(--bg-gradient-start, 36%), #6f42c1 var(--bg-gradient-end, 180%)) #345ce5;color:#fff}.bg-gradient-blue-pink{--bslib-color-fg: #ffffff;--bslib-color-bg: #5d56cd;background:linear-gradient(var(--bg-gradient-deg, 140deg), #0d6efd var(--bg-gradient-start, 36%), #d63384 var(--bg-gradient-end, 180%)) #5d56cd;color:#fff}.bg-gradient-blue-red{--bslib-color-fg: #ffffff;--bslib-color-bg: #6057b3;background:linear-gradient(var(--bg-gradient-deg, 140deg), #0d6efd var(--bg-gradient-start, 36%), #dc3545 var(--bg-gradient-end, 180%)) #6057b3;color:#fff}.bg-gradient-blue-orange{--bslib-color-fg: #ffffff;--bslib-color-bg: #6d74a0;background:linear-gradient(var(--bg-gradient-deg, 140deg), #0d6efd var(--bg-gradient-start, 36%), #fd7e14 var(--bg-gradient-end, 180%)) #6d74a0;color:#fff}.bg-gradient-blue-yellow{--bslib-color-fg: #000;--bslib-color-bg: #6e8f9b;background:linear-gradient(var(--bg-gradient-deg, 140deg), #0d6efd var(--bg-gradient-start, 36%), #ffc107 var(--bg-gradient-end, 180%)) #6e8f9b;color:#000}.bg-gradient-blue-green{--bslib-color-fg: #ffffff;--bslib-color-bg: #1278b9;background:linear-gradient(var(--bg-gradient-deg, 140deg), #0d6efd var(--bg-gradient-start, 36%), #198754 var(--bg-gradient-end, 180%)) #1278b9;color:#fff}.bg-gradient-blue-teal{--bslib-color-fg: #000;--bslib-color-bg: #1592d4;background:linear-gradient(var(--bg-gradient-deg, 140deg), #0d6efd var(--bg-gradient-start, 36%), #20c997 var(--bg-gradient-end, 180%)) #1592d4;color:#000}.bg-gradient-blue-cyan{--bslib-color-fg: #000;--bslib-color-bg: #0d93f8;background:linear-gradient(var(--bg-gradient-deg, 140deg), #0d6efd var(--bg-gradient-start, 36%), #0dcaf0 var(--bg-gradient-end, 180%)) #0d93f8;color:#000}.bg-gradient-indigo-blue{--bslib-color-fg: #ffffff;--bslib-color-bg: #4236f6;background:linear-gradient(var(--bg-gradient-deg, 140deg), #6610f2 var(--bg-gradient-start, 36%), #0d6efd var(--bg-gradient-end, 180%)) #4236f6;color:#fff}.bg-gradient-indigo-purple{--bslib-color-fg: #ffffff;--bslib-color-bg: #6a24de;background:linear-gradient(var(--bg-gradient-deg, 140deg), #6610f2 var(--bg-gradient-start, 36%), #6f42c1 var(--bg-gradient-end, 180%)) #6a24de;color:#fff}.bg-gradient-indigo-pink{--bslib-color-fg: #ffffff;--bslib-color-bg: #931ec6;background:linear-gradient(var(--bg-gradient-deg, 140deg), #6610f2 var(--bg-gradient-start, 36%), #d63384 var(--bg-gradient-end, 180%)) #931ec6;color:#fff}.bg-gradient-indigo-red{--bslib-color-fg: #ffffff;--bslib-color-bg: #951fad;background:linear-gradient(var(--bg-gradient-deg, 140deg), #6610f2 var(--bg-gradient-start, 36%), #dc3545 var(--bg-gradient-end, 180%)) #951fad;color:#fff}.bg-gradient-indigo-orange{--bslib-color-fg: #ffffff;--bslib-color-bg: #a23c99;background:linear-gradient(var(--bg-gradient-deg, 140deg), #6610f2 var(--bg-gradient-start, 36%), #fd7e14 var(--bg-gradient-end, 180%)) #a23c99;color:#fff}.bg-gradient-indigo-yellow{--bslib-color-fg: #ffffff;--bslib-color-bg: #a35794;background:linear-gradient(var(--bg-gradient-deg, 140deg), #6610f2 var(--bg-gradient-start, 36%), #ffc107 var(--bg-gradient-end, 180%)) #a35794;color:#fff}.bg-gradient-indigo-green{--bslib-color-fg: #ffffff;--bslib-color-bg: #4740b3;background:linear-gradient(var(--bg-gradient-deg, 140deg), #6610f2 var(--bg-gradient-start, 36%), #198754 var(--bg-gradient-end, 180%)) #4740b3;color:#fff}.bg-gradient-indigo-teal{--bslib-color-fg: #ffffff;--bslib-color-bg: #4a5ace;background:linear-gradient(var(--bg-gradient-deg, 140deg), #6610f2 var(--bg-gradient-start, 36%), #20c997 var(--bg-gradient-end, 180%)) #4a5ace;color:#fff}.bg-gradient-indigo-cyan{--bslib-color-fg: #ffffff;--bslib-color-bg: #425af1;background:linear-gradient(var(--bg-gradient-deg, 140deg), #6610f2 var(--bg-gradient-start, 36%), #0dcaf0 var(--bg-gradient-end, 180%)) #425af1;color:#fff}.bg-gradient-purple-blue{--bslib-color-fg: #ffffff;--bslib-color-bg: #4854d9;background:linear-gradient(var(--bg-gradient-deg, 140deg), #6f42c1 var(--bg-gradient-start, 36%), #0d6efd var(--bg-gradient-end, 180%)) #4854d9;color:#fff}.bg-gradient-purple-indigo{--bslib-color-fg: #ffffff;--bslib-color-bg: #6b2ed5;background:linear-gradient(var(--bg-gradient-deg, 140deg), #6f42c1 var(--bg-gradient-start, 36%), #6610f2 var(--bg-gradient-end, 180%)) #6b2ed5;color:#fff}.bg-gradient-purple-pink{--bslib-color-fg: #ffffff;--bslib-color-bg: #983ca9;background:linear-gradient(var(--bg-gradient-deg, 140deg), #6f42c1 var(--bg-gradient-start, 36%), #d63384 var(--bg-gradient-end, 180%)) #983ca9;color:#fff}.bg-gradient-purple-red{--bslib-color-fg: #ffffff;--bslib-color-bg: #9b3d8f;background:linear-gradient(var(--bg-gradient-deg, 140deg), #6f42c1 var(--bg-gradient-start, 36%), #dc3545 var(--bg-gradient-end, 180%)) #9b3d8f;color:#fff}.bg-gradient-purple-orange{--bslib-color-fg: #ffffff;--bslib-color-bg: #a85a7c;background:linear-gradient(var(--bg-gradient-deg, 140deg), #6f42c1 var(--bg-gradient-start, 36%), #fd7e14 var(--bg-gradient-end, 180%)) #a85a7c;color:#fff}.bg-gradient-purple-yellow{--bslib-color-fg: #000;--bslib-color-bg: #a97577;background:linear-gradient(var(--bg-gradient-deg, 140deg), #6f42c1 var(--bg-gradient-start, 36%), #ffc107 var(--bg-gradient-end, 180%)) #a97577;color:#000}.bg-gradient-purple-green{--bslib-color-fg: #ffffff;--bslib-color-bg: #4d5e95;background:linear-gradient(var(--bg-gradient-deg, 140deg), #6f42c1 var(--bg-gradient-start, 36%), #198754 var(--bg-gradient-end, 180%)) #4d5e95;color:#fff}.bg-gradient-purple-teal{--bslib-color-fg: #ffffff;--bslib-color-bg: #4f78b0;background:linear-gradient(var(--bg-gradient-deg, 140deg), #6f42c1 var(--bg-gradient-start, 36%), #20c997 var(--bg-gradient-end, 180%)) #4f78b0;color:#fff}.bg-gradient-purple-cyan{--bslib-color-fg: #000;--bslib-color-bg: #4878d4;background:linear-gradient(var(--bg-gradient-deg, 140deg), #6f42c1 var(--bg-gradient-start, 36%), #0dcaf0 var(--bg-gradient-end, 180%)) #4878d4;color:#000}.bg-gradient-pink-blue{--bslib-color-fg: #ffffff;--bslib-color-bg: #864bb4;background:linear-gradient(var(--bg-gradient-deg, 140deg), #d63384 var(--bg-gradient-start, 36%), #0d6efd var(--bg-gradient-end, 180%)) #864bb4;color:#fff}.bg-gradient-pink-indigo{--bslib-color-fg: #ffffff;--bslib-color-bg: #a925b0;background:linear-gradient(var(--bg-gradient-deg, 140deg), #d63384 var(--bg-gradient-start, 36%), #6610f2 var(--bg-gradient-end, 180%)) #a925b0;color:#fff}.bg-gradient-pink-purple{--bslib-color-fg: #ffffff;--bslib-color-bg: #ad399c;background:linear-gradient(var(--bg-gradient-deg, 140deg), #d63384 var(--bg-gradient-start, 36%), #6f42c1 var(--bg-gradient-end, 180%)) #ad399c;color:#fff}.bg-gradient-pink-red{--bslib-color-fg: #ffffff;--bslib-color-bg: #d8346b;background:linear-gradient(var(--bg-gradient-deg, 140deg), #d63384 var(--bg-gradient-start, 36%), #dc3545 var(--bg-gradient-end, 180%)) #d8346b;color:#fff}.bg-gradient-pink-orange{--bslib-color-fg: #000;--bslib-color-bg: #e65157;background:linear-gradient(var(--bg-gradient-deg, 140deg), #d63384 var(--bg-gradient-start, 36%), #fd7e14 var(--bg-gradient-end, 180%)) #e65157;color:#000}.bg-gradient-pink-yellow{--bslib-color-fg: #000;--bslib-color-bg: #e66c52;background:linear-gradient(var(--bg-gradient-deg, 140deg), #d63384 var(--bg-gradient-start, 36%), #ffc107 var(--bg-gradient-end, 180%)) #e66c52;color:#000}.bg-gradient-pink-green{--bslib-color-fg: #ffffff;--bslib-color-bg: #8a5571;background:linear-gradient(var(--bg-gradient-deg, 140deg), #d63384 var(--bg-gradient-start, 36%), #198754 var(--bg-gradient-end, 180%)) #8a5571;color:#fff}.bg-gradient-pink-teal{--bslib-color-fg: #000;--bslib-color-bg: #8d6f8c;background:linear-gradient(var(--bg-gradient-deg, 140deg), #d63384 var(--bg-gradient-start, 36%), #20c997 var(--bg-gradient-end, 180%)) #8d6f8c;color:#000}.bg-gradient-pink-cyan{--bslib-color-fg: #000;--bslib-color-bg: #866faf;background:linear-gradient(var(--bg-gradient-deg, 140deg), #d63384 var(--bg-gradient-start, 36%), #0dcaf0 var(--bg-gradient-end, 180%)) #866faf;color:#000}.bg-gradient-red-blue{--bslib-color-fg: #ffffff;--bslib-color-bg: #894c8f;background:linear-gradient(var(--bg-gradient-deg, 140deg), #dc3545 var(--bg-gradient-start, 36%), #0d6efd var(--bg-gradient-end, 180%)) #894c8f;color:#fff}.bg-gradient-red-indigo{--bslib-color-fg: #ffffff;--bslib-color-bg: #ad268a;background:linear-gradient(var(--bg-gradient-deg, 140deg), #dc3545 var(--bg-gradient-start, 36%), #6610f2 var(--bg-gradient-end, 180%)) #ad268a;color:#fff}.bg-gradient-red-purple{--bslib-color-fg: #ffffff;--bslib-color-bg: #b03a77;background:linear-gradient(var(--bg-gradient-deg, 140deg), #dc3545 var(--bg-gradient-start, 36%), #6f42c1 var(--bg-gradient-end, 180%)) #b03a77;color:#fff}.bg-gradient-red-pink{--bslib-color-fg: #ffffff;--bslib-color-bg: #da345e;background:linear-gradient(var(--bg-gradient-deg, 140deg), #dc3545 var(--bg-gradient-start, 36%), #d63384 var(--bg-gradient-end, 180%)) #da345e;color:#fff}.bg-gradient-red-orange{--bslib-color-fg: #000;--bslib-color-bg: #e95231;background:linear-gradient(var(--bg-gradient-deg, 140deg), #dc3545 var(--bg-gradient-start, 36%), #fd7e14 var(--bg-gradient-end, 180%)) #e95231;color:#000}.bg-gradient-red-yellow{--bslib-color-fg: #000;--bslib-color-bg: #ea6d2c;background:linear-gradient(var(--bg-gradient-deg, 140deg), #dc3545 var(--bg-gradient-start, 36%), #ffc107 var(--bg-gradient-end, 180%)) #ea6d2c;color:#000}.bg-gradient-red-green{--bslib-color-fg: #ffffff;--bslib-color-bg: #8e564b;background:linear-gradient(var(--bg-gradient-deg, 140deg), #dc3545 var(--bg-gradient-start, 36%), #198754 var(--bg-gradient-end, 180%)) #8e564b;color:#fff}.bg-gradient-red-teal{--bslib-color-fg: #000;--bslib-color-bg: #917066;background:linear-gradient(var(--bg-gradient-deg, 140deg), #dc3545 var(--bg-gradient-start, 36%), #20c997 var(--bg-gradient-end, 180%)) #917066;color:#000}.bg-gradient-red-cyan{--bslib-color-fg: #000;--bslib-color-bg: #897189;background:linear-gradient(var(--bg-gradient-deg, 140deg), #dc3545 var(--bg-gradient-start, 36%), #0dcaf0 var(--bg-gradient-end, 180%)) #897189;color:#000}.bg-gradient-orange-blue{--bslib-color-fg: #000;--bslib-color-bg: #9d7871;background:linear-gradient(var(--bg-gradient-deg, 140deg), #fd7e14 var(--bg-gradient-start, 36%), #0d6efd var(--bg-gradient-end, 180%)) #9d7871;color:#000}.bg-gradient-orange-indigo{--bslib-color-fg: #000;--bslib-color-bg: #c1526d;background:linear-gradient(var(--bg-gradient-deg, 140deg), #fd7e14 var(--bg-gradient-start, 36%), #6610f2 var(--bg-gradient-end, 180%)) #c1526d;color:#000}.bg-gradient-orange-purple{--bslib-color-fg: #000;--bslib-color-bg: #c46659;background:linear-gradient(var(--bg-gradient-deg, 140deg), #fd7e14 var(--bg-gradient-start, 36%), #6f42c1 var(--bg-gradient-end, 180%)) #c46659;color:#000}.bg-gradient-orange-pink{--bslib-color-fg: #000;--bslib-color-bg: #ed6041;background:linear-gradient(var(--bg-gradient-deg, 140deg), #fd7e14 var(--bg-gradient-start, 36%), #d63384 var(--bg-gradient-end, 180%)) #ed6041;color:#000}.bg-gradient-orange-red{--bslib-color-fg: #000;--bslib-color-bg: #f06128;background:linear-gradient(var(--bg-gradient-deg, 140deg), #fd7e14 var(--bg-gradient-start, 36%), #dc3545 var(--bg-gradient-end, 180%)) #f06128;color:#000}.bg-gradient-orange-yellow{--bslib-color-fg: #000;--bslib-color-bg: #fe990f;background:linear-gradient(var(--bg-gradient-deg, 140deg), #fd7e14 var(--bg-gradient-start, 36%), #ffc107 var(--bg-gradient-end, 180%)) #fe990f;color:#000}.bg-gradient-orange-green{--bslib-color-fg: #000;--bslib-color-bg: #a2822e;background:linear-gradient(var(--bg-gradient-deg, 140deg), #fd7e14 var(--bg-gradient-start, 36%), #198754 var(--bg-gradient-end, 180%)) #a2822e;color:#000}.bg-gradient-orange-teal{--bslib-color-fg: #000;--bslib-color-bg: #a59c48;background:linear-gradient(var(--bg-gradient-deg, 140deg), #fd7e14 var(--bg-gradient-start, 36%), #20c997 var(--bg-gradient-end, 180%)) #a59c48;color:#000}.bg-gradient-orange-cyan{--bslib-color-fg: #000;--bslib-color-bg: #9d9c6c;background:linear-gradient(var(--bg-gradient-deg, 140deg), #fd7e14 var(--bg-gradient-start, 36%), #0dcaf0 var(--bg-gradient-end, 180%)) #9d9c6c;color:#000}.bg-gradient-yellow-blue{--bslib-color-fg: #000;--bslib-color-bg: #9ea069;background:linear-gradient(var(--bg-gradient-deg, 140deg), #ffc107 var(--bg-gradient-start, 36%), #0d6efd var(--bg-gradient-end, 180%)) #9ea069;color:#000}.bg-gradient-yellow-indigo{--bslib-color-fg: #000;--bslib-color-bg: #c27a65;background:linear-gradient(var(--bg-gradient-deg, 140deg), #ffc107 var(--bg-gradient-start, 36%), #6610f2 var(--bg-gradient-end, 180%)) #c27a65;color:#000}.bg-gradient-yellow-purple{--bslib-color-fg: #000;--bslib-color-bg: #c58e51;background:linear-gradient(var(--bg-gradient-deg, 140deg), #ffc107 var(--bg-gradient-start, 36%), #6f42c1 var(--bg-gradient-end, 180%)) #c58e51;color:#000}.bg-gradient-yellow-pink{--bslib-color-fg: #000;--bslib-color-bg: #ef8839;background:linear-gradient(var(--bg-gradient-deg, 140deg), #ffc107 var(--bg-gradient-start, 36%), #d63384 var(--bg-gradient-end, 180%)) #ef8839;color:#000}.bg-gradient-yellow-red{--bslib-color-fg: #000;--bslib-color-bg: #f18920;background:linear-gradient(var(--bg-gradient-deg, 140deg), #ffc107 var(--bg-gradient-start, 36%), #dc3545 var(--bg-gradient-end, 180%)) #f18920;color:#000}.bg-gradient-yellow-orange{--bslib-color-fg: #000;--bslib-color-bg: #fea60c;background:linear-gradient(var(--bg-gradient-deg, 140deg), #ffc107 var(--bg-gradient-start, 36%), #fd7e14 var(--bg-gradient-end, 180%)) #fea60c;color:#000}.bg-gradient-yellow-green{--bslib-color-fg: #000;--bslib-color-bg: #a3aa26;background:linear-gradient(var(--bg-gradient-deg, 140deg), #ffc107 var(--bg-gradient-start, 36%), #198754 var(--bg-gradient-end, 180%)) #a3aa26;color:#000}.bg-gradient-yellow-teal{--bslib-color-fg: #000;--bslib-color-bg: #a6c441;background:linear-gradient(var(--bg-gradient-deg, 140deg), #ffc107 var(--bg-gradient-start, 36%), #20c997 var(--bg-gradient-end, 180%)) #a6c441;color:#000}.bg-gradient-yellow-cyan{--bslib-color-fg: #000;--bslib-color-bg: #9ec564;background:linear-gradient(var(--bg-gradient-deg, 140deg), #ffc107 var(--bg-gradient-start, 36%), #0dcaf0 var(--bg-gradient-end, 180%)) #9ec564;color:#000}.bg-gradient-green-blue{--bslib-color-fg: #ffffff;--bslib-color-bg: #147d98;background:linear-gradient(var(--bg-gradient-deg, 140deg), #198754 var(--bg-gradient-start, 36%), #0d6efd var(--bg-gradient-end, 180%)) #147d98;color:#fff}.bg-gradient-green-indigo{--bslib-color-fg: #ffffff;--bslib-color-bg: #385793;background:linear-gradient(var(--bg-gradient-deg, 140deg), #198754 var(--bg-gradient-start, 36%), #6610f2 var(--bg-gradient-end, 180%)) #385793;color:#fff}.bg-gradient-green-purple{--bslib-color-fg: #ffffff;--bslib-color-bg: #3b6b80;background:linear-gradient(var(--bg-gradient-deg, 140deg), #198754 var(--bg-gradient-start, 36%), #6f42c1 var(--bg-gradient-end, 180%)) #3b6b80;color:#fff}.bg-gradient-green-pink{--bslib-color-fg: #ffffff;--bslib-color-bg: #656567;background:linear-gradient(var(--bg-gradient-deg, 140deg), #198754 var(--bg-gradient-start, 36%), #d63384 var(--bg-gradient-end, 180%)) #656567;color:#fff}.bg-gradient-green-red{--bslib-color-fg: #ffffff;--bslib-color-bg: #67664e;background:linear-gradient(var(--bg-gradient-deg, 140deg), #198754 var(--bg-gradient-start, 36%), #dc3545 var(--bg-gradient-end, 180%)) #67664e;color:#fff}.bg-gradient-green-orange{--bslib-color-fg: #000;--bslib-color-bg: #74833a;background:linear-gradient(var(--bg-gradient-deg, 140deg), #198754 var(--bg-gradient-start, 36%), #fd7e14 var(--bg-gradient-end, 180%)) #74833a;color:#000}.bg-gradient-green-yellow{--bslib-color-fg: #000;--bslib-color-bg: #759e35;background:linear-gradient(var(--bg-gradient-deg, 140deg), #198754 var(--bg-gradient-start, 36%), #ffc107 var(--bg-gradient-end, 180%)) #759e35;color:#000}.bg-gradient-green-teal{--bslib-color-fg: #000;--bslib-color-bg: #1ca16f;background:linear-gradient(var(--bg-gradient-deg, 140deg), #198754 var(--bg-gradient-start, 36%), #20c997 var(--bg-gradient-end, 180%)) #1ca16f;color:#000}.bg-gradient-green-cyan{--bslib-color-fg: #000;--bslib-color-bg: #14a292;background:linear-gradient(var(--bg-gradient-deg, 140deg), #198754 var(--bg-gradient-start, 36%), #0dcaf0 var(--bg-gradient-end, 180%)) #14a292;color:#000}.bg-gradient-teal-blue{--bslib-color-fg: #000;--bslib-color-bg: #18a5c0;background:linear-gradient(var(--bg-gradient-deg, 140deg), #20c997 var(--bg-gradient-start, 36%), #0d6efd var(--bg-gradient-end, 180%)) #18a5c0;color:#000}.bg-gradient-teal-indigo{--bslib-color-fg: #000;--bslib-color-bg: #3c7fbb;background:linear-gradient(var(--bg-gradient-deg, 140deg), #20c997 var(--bg-gradient-start, 36%), #6610f2 var(--bg-gradient-end, 180%)) #3c7fbb;color:#000}.bg-gradient-teal-purple{--bslib-color-fg: #000;--bslib-color-bg: #4093a8;background:linear-gradient(var(--bg-gradient-deg, 140deg), #20c997 var(--bg-gradient-start, 36%), #6f42c1 var(--bg-gradient-end, 180%)) #4093a8;color:#000}.bg-gradient-teal-pink{--bslib-color-fg: #000;--bslib-color-bg: #698d8f;background:linear-gradient(var(--bg-gradient-deg, 140deg), #20c997 var(--bg-gradient-start, 36%), #d63384 var(--bg-gradient-end, 180%)) #698d8f;color:#000}.bg-gradient-teal-red{--bslib-color-fg: #000;--bslib-color-bg: #6b8e76;background:linear-gradient(var(--bg-gradient-deg, 140deg), #20c997 var(--bg-gradient-start, 36%), #dc3545 var(--bg-gradient-end, 180%)) #6b8e76;color:#000}.bg-gradient-teal-orange{--bslib-color-fg: #000;--bslib-color-bg: #78ab63;background:linear-gradient(var(--bg-gradient-deg, 140deg), #20c997 var(--bg-gradient-start, 36%), #fd7e14 var(--bg-gradient-end, 180%)) #78ab63;color:#000}.bg-gradient-teal-yellow{--bslib-color-fg: #000;--bslib-color-bg: #79c65d;background:linear-gradient(var(--bg-gradient-deg, 140deg), #20c997 var(--bg-gradient-start, 36%), #ffc107 var(--bg-gradient-end, 180%)) #79c65d;color:#000}.bg-gradient-teal-green{--bslib-color-fg: #000;--bslib-color-bg: #1daf7c;background:linear-gradient(var(--bg-gradient-deg, 140deg), #20c997 var(--bg-gradient-start, 36%), #198754 var(--bg-gradient-end, 180%)) #1daf7c;color:#000}.bg-gradient-teal-cyan{--bslib-color-fg: #000;--bslib-color-bg: #18c9bb;background:linear-gradient(var(--bg-gradient-deg, 140deg), #20c997 var(--bg-gradient-start, 36%), #0dcaf0 var(--bg-gradient-end, 180%)) #18c9bb;color:#000}.bg-gradient-cyan-blue{--bslib-color-fg: #000;--bslib-color-bg: #0da5f5;background:linear-gradient(var(--bg-gradient-deg, 140deg), #0dcaf0 var(--bg-gradient-start, 36%), #0d6efd var(--bg-gradient-end, 180%)) #0da5f5;color:#000}.bg-gradient-cyan-indigo{--bslib-color-fg: #000;--bslib-color-bg: #3180f1;background:linear-gradient(var(--bg-gradient-deg, 140deg), #0dcaf0 var(--bg-gradient-start, 36%), #6610f2 var(--bg-gradient-end, 180%)) #3180f1;color:#000}.bg-gradient-cyan-purple{--bslib-color-fg: #000;--bslib-color-bg: #3494dd;background:linear-gradient(var(--bg-gradient-deg, 140deg), #0dcaf0 var(--bg-gradient-start, 36%), #6f42c1 var(--bg-gradient-end, 180%)) #3494dd;color:#000}.bg-gradient-cyan-pink{--bslib-color-fg: #000;--bslib-color-bg: #5d8ec5;background:linear-gradient(var(--bg-gradient-deg, 140deg), #0dcaf0 var(--bg-gradient-start, 36%), #d63384 var(--bg-gradient-end, 180%)) #5d8ec5;color:#000}.bg-gradient-cyan-red{--bslib-color-fg: #000;--bslib-color-bg: #608eac;background:linear-gradient(var(--bg-gradient-deg, 140deg), #0dcaf0 var(--bg-gradient-start, 36%), #dc3545 var(--bg-gradient-end, 180%)) #608eac;color:#000}.bg-gradient-cyan-orange{--bslib-color-fg: #000;--bslib-color-bg: #6dac98;background:linear-gradient(var(--bg-gradient-deg, 140deg), #0dcaf0 var(--bg-gradient-start, 36%), #fd7e14 var(--bg-gradient-end, 180%)) #6dac98;color:#000}.bg-gradient-cyan-yellow{--bslib-color-fg: #000;--bslib-color-bg: #6ec693;background:linear-gradient(var(--bg-gradient-deg, 140deg), #0dcaf0 var(--bg-gradient-start, 36%), #ffc107 var(--bg-gradient-end, 180%)) #6ec693;color:#000}.bg-gradient-cyan-green{--bslib-color-fg: #000;--bslib-color-bg: #12afb2;background:linear-gradient(var(--bg-gradient-deg, 140deg), #0dcaf0 var(--bg-gradient-start, 36%), #198754 var(--bg-gradient-end, 180%)) #12afb2;color:#000}.bg-gradient-cyan-teal{--bslib-color-fg: #000;--bslib-color-bg: #15cacc;background:linear-gradient(var(--bg-gradient-deg, 140deg), #0dcaf0 var(--bg-gradient-start, 36%), #20c997 var(--bg-gradient-end, 180%)) #15cacc;color:#000}:root{--bslib-spacer: 1rem;--bslib-mb-spacer: var(--bslib-spacer, 1rem)}.bslib-mb-spacing{margin-bottom:var(--bslib-mb-spacer)}.bslib-gap-spacing{gap:var(--bslib-mb-spacer)}.bslib-gap-spacing>.bslib-mb-spacing,.bslib-gap-spacing>.form-group,.bslib-gap-spacing>p,.bslib-gap-spacing>pre{margin-bottom:0}.html-fill-container>.html-fill-item.bslib-mb-spacing{margin-bottom:0}.tab-content>.tab-pane.html-fill-container{display:none}.tab-content>.active.html-fill-container{display:flex}.tab-content.html-fill-container{padding:0}:root{--bslib-spacer: 1rem;--bslib-mb-spacer: var(--bslib-spacer, 1rem)}.bslib-mb-spacing{margin-bottom:var(--bslib-mb-spacer)}.bslib-gap-spacing{gap:var(--bslib-mb-spacer)}.bslib-gap-spacing>.bslib-mb-spacing,.bslib-gap-spacing>.form-group,.bslib-gap-spacing>p,.bslib-gap-spacing>pre{margin-bottom:0}.html-fill-container>.html-fill-item.bslib-mb-spacing{margin-bottom:0}.tab-content>.tab-pane.html-fill-container{display:none}.tab-content>.active.html-fill-container{display:flex}.tab-content.html-fill-container{padding:0}.bg-blue{--bslib-color-bg: #0d6efd;--bslib-color-fg: #ffffff;background-color:var(--bslib-color-bg);color:var(--bslib-color-fg)}.text-blue{--bslib-color-fg: #0d6efd;color:var(--bslib-color-fg)}.bg-indigo{--bslib-color-bg: #6610f2;--bslib-color-fg: #ffffff;background-color:var(--bslib-color-bg);color:var(--bslib-color-fg)}.text-indigo{--bslib-color-fg: #6610f2;color:var(--bslib-color-fg)}.bg-purple{--bslib-color-bg: #6f42c1;--bslib-color-fg: #ffffff;background-color:var(--bslib-color-bg);color:var(--bslib-color-fg)}.text-purple{--bslib-color-fg: #6f42c1;color:var(--bslib-color-fg)}.bg-pink{--bslib-color-bg: #d63384;--bslib-color-fg: #ffffff;background-color:var(--bslib-color-bg);color:var(--bslib-color-fg)}.text-pink{--bslib-color-fg: #d63384;color:var(--bslib-color-fg)}.bg-red{--bslib-color-bg: #dc3545;--bslib-color-fg: #ffffff;background-color:var(--bslib-color-bg);color:var(--bslib-color-fg)}.text-red{--bslib-color-fg: #dc3545;color:var(--bslib-color-fg)}.bg-orange{--bslib-color-bg: #fd7e14;--bslib-color-fg: #000;background-color:var(--bslib-color-bg);color:var(--bslib-color-fg)}.text-orange{--bslib-color-fg: #fd7e14;color:var(--bslib-color-fg)}.bg-yellow{--bslib-color-bg: #ffc107;--bslib-color-fg: #000;background-color:var(--bslib-color-bg);color:var(--bslib-color-fg)}.text-yellow{--bslib-color-fg: #ffc107;color:var(--bslib-color-fg)}.bg-green{--bslib-color-bg: #198754;--bslib-color-fg: #ffffff;background-color:var(--bslib-color-bg);color:var(--bslib-color-fg)}.text-green{--bslib-color-fg: #198754;color:var(--bslib-color-fg)}.bg-teal{--bslib-color-bg: #20c997;--bslib-color-fg: #000;background-color:var(--bslib-color-bg);color:var(--bslib-color-fg)}.text-teal{--bslib-color-fg: #20c997;color:var(--bslib-color-fg)}.bg-cyan{--bslib-color-bg: #0dcaf0;--bslib-color-fg: #000;background-color:var(--bslib-color-bg);color:var(--bslib-color-fg)}.text-cyan{--bslib-color-fg: #0dcaf0;color:var(--bslib-color-fg)}.text-default{--bslib-color-fg: #dee2e6}.bg-default{--bslib-color-bg: #dee2e6;--bslib-color-fg: #000}.text-primary{--bslib-color-fg: #0d6efd}.bg-primary{--bslib-color-bg: #0d6efd;--bslib-color-fg: #ffffff}.text-secondary{--bslib-color-fg: #6c757d}.bg-secondary{--bslib-color-bg: #6c757d;--bslib-color-fg: #ffffff}.text-success{--bslib-color-fg: #198754}.bg-success{--bslib-color-bg: #198754;--bslib-color-fg: #ffffff}.text-info{--bslib-color-fg: #0dcaf0}.bg-info{--bslib-color-bg: #0dcaf0;--bslib-color-fg: #000}.text-warning{--bslib-color-fg: #ffc107}.bg-warning{--bslib-color-bg: #ffc107;--bslib-color-fg: #000}.text-danger{--bslib-color-fg: #dc3545}.bg-danger{--bslib-color-bg: #dc3545;--bslib-color-fg: #ffffff}.text-light{--bslib-color-fg: #f8f9fa}.bg-light{--bslib-color-bg: #f8f9fa;--bslib-color-fg: #000}.text-dark{--bslib-color-fg: #212529}.bg-dark{--bslib-color-bg: #212529;--bslib-color-fg: #ffffff}.bg-gradient-blue-indigo{--bslib-color-fg: #ffffff;--bslib-color-bg: #3148f9;background:linear-gradient(var(--bg-gradient-deg, 140deg), #0d6efd var(--bg-gradient-start, 36%), #6610f2 var(--bg-gradient-end, 180%)) #3148f9;color:#fff}.bg-gradient-blue-purple{--bslib-color-fg: #ffffff;--bslib-color-bg: #345ce5;background:linear-gradient(var(--bg-gradient-deg, 140deg), #0d6efd var(--bg-gradient-start, 36%), #6f42c1 var(--bg-gradient-end, 180%)) #345ce5;color:#fff}.bg-gradient-blue-pink{--bslib-color-fg: #ffffff;--bslib-color-bg: #5d56cd;background:linear-gradient(var(--bg-gradient-deg, 140deg), #0d6efd var(--bg-gradient-start, 36%), #d63384 var(--bg-gradient-end, 180%)) #5d56cd;color:#fff}.bg-gradient-blue-red{--bslib-color-fg: #ffffff;--bslib-color-bg: #6057b3;background:linear-gradient(var(--bg-gradient-deg, 140deg), #0d6efd var(--bg-gradient-start, 36%), #dc3545 var(--bg-gradient-end, 180%)) #6057b3;color:#fff}.bg-gradient-blue-orange{--bslib-color-fg: #ffffff;--bslib-color-bg: #6d74a0;background:linear-gradient(var(--bg-gradient-deg, 140deg), #0d6efd var(--bg-gradient-start, 36%), #fd7e14 var(--bg-gradient-end, 180%)) #6d74a0;color:#fff}.bg-gradient-blue-yellow{--bslib-color-fg: #000;--bslib-color-bg: #6e8f9b;background:linear-gradient(var(--bg-gradient-deg, 140deg), #0d6efd var(--bg-gradient-start, 36%), #ffc107 var(--bg-gradient-end, 180%)) #6e8f9b;color:#000}.bg-gradient-blue-green{--bslib-color-fg: #ffffff;--bslib-color-bg: #1278b9;background:linear-gradient(var(--bg-gradient-deg, 140deg), #0d6efd var(--bg-gradient-start, 36%), #198754 var(--bg-gradient-end, 180%)) #1278b9;color:#fff}.bg-gradient-blue-teal{--bslib-color-fg: #000;--bslib-color-bg: #1592d4;background:linear-gradient(var(--bg-gradient-deg, 140deg), #0d6efd var(--bg-gradient-start, 36%), #20c997 var(--bg-gradient-end, 180%)) #1592d4;color:#000}.bg-gradient-blue-cyan{--bslib-color-fg: #000;--bslib-color-bg: #0d93f8;background:linear-gradient(var(--bg-gradient-deg, 140deg), #0d6efd var(--bg-gradient-start, 36%), #0dcaf0 var(--bg-gradient-end, 180%)) #0d93f8;color:#000}.bg-gradient-indigo-blue{--bslib-color-fg: #ffffff;--bslib-color-bg: #4236f6;background:linear-gradient(var(--bg-gradient-deg, 140deg), #6610f2 var(--bg-gradient-start, 36%), #0d6efd var(--bg-gradient-end, 180%)) #4236f6;color:#fff}.bg-gradient-indigo-purple{--bslib-color-fg: #ffffff;--bslib-color-bg: #6a24de;background:linear-gradient(var(--bg-gradient-deg, 140deg), #6610f2 var(--bg-gradient-start, 36%), #6f42c1 var(--bg-gradient-end, 180%)) #6a24de;color:#fff}.bg-gradient-indigo-pink{--bslib-color-fg: #ffffff;--bslib-color-bg: #931ec6;background:linear-gradient(var(--bg-gradient-deg, 140deg), #6610f2 var(--bg-gradient-start, 36%), #d63384 var(--bg-gradient-end, 180%)) #931ec6;color:#fff}.bg-gradient-indigo-red{--bslib-color-fg: #ffffff;--bslib-color-bg: #951fad;background:linear-gradient(var(--bg-gradient-deg, 140deg), #6610f2 var(--bg-gradient-start, 36%), #dc3545 var(--bg-gradient-end, 180%)) #951fad;color:#fff}.bg-gradient-indigo-orange{--bslib-color-fg: #ffffff;--bslib-color-bg: #a23c99;background:linear-gradient(var(--bg-gradient-deg, 140deg), #6610f2 var(--bg-gradient-start, 36%), #fd7e14 var(--bg-gradient-end, 180%)) #a23c99;color:#fff}.bg-gradient-indigo-yellow{--bslib-color-fg: #ffffff;--bslib-color-bg: #a35794;background:linear-gradient(var(--bg-gradient-deg, 140deg), #6610f2 var(--bg-gradient-start, 36%), #ffc107 var(--bg-gradient-end, 180%)) #a35794;color:#fff}.bg-gradient-indigo-green{--bslib-color-fg: #ffffff;--bslib-color-bg: #4740b3;background:linear-gradient(var(--bg-gradient-deg, 140deg), #6610f2 var(--bg-gradient-start, 36%), #198754 var(--bg-gradient-end, 180%)) #4740b3;color:#fff}.bg-gradient-indigo-teal{--bslib-color-fg: #ffffff;--bslib-color-bg: #4a5ace;background:linear-gradient(var(--bg-gradient-deg, 140deg), #6610f2 var(--bg-gradient-start, 36%), #20c997 var(--bg-gradient-end, 180%)) #4a5ace;color:#fff}.bg-gradient-indigo-cyan{--bslib-color-fg: #ffffff;--bslib-color-bg: #425af1;background:linear-gradient(var(--bg-gradient-deg, 140deg), #6610f2 var(--bg-gradient-start, 36%), #0dcaf0 var(--bg-gradient-end, 180%)) #425af1;color:#fff}.bg-gradient-purple-blue{--bslib-color-fg: #ffffff;--bslib-color-bg: #4854d9;background:linear-gradient(var(--bg-gradient-deg, 140deg), #6f42c1 var(--bg-gradient-start, 36%), #0d6efd var(--bg-gradient-end, 180%)) #4854d9;color:#fff}.bg-gradient-purple-indigo{--bslib-color-fg: #ffffff;--bslib-color-bg: #6b2ed5;background:linear-gradient(var(--bg-gradient-deg, 140deg), #6f42c1 var(--bg-gradient-start, 36%), #6610f2 var(--bg-gradient-end, 180%)) #6b2ed5;color:#fff}.bg-gradient-purple-pink{--bslib-color-fg: #ffffff;--bslib-color-bg: #983ca9;background:linear-gradient(var(--bg-gradient-deg, 140deg), #6f42c1 var(--bg-gradient-start, 36%), #d63384 var(--bg-gradient-end, 180%)) #983ca9;color:#fff}.bg-gradient-purple-red{--bslib-color-fg: #ffffff;--bslib-color-bg: #9b3d8f;background:linear-gradient(var(--bg-gradient-deg, 140deg), #6f42c1 var(--bg-gradient-start, 36%), #dc3545 var(--bg-gradient-end, 180%)) #9b3d8f;color:#fff}.bg-gradient-purple-orange{--bslib-color-fg: #ffffff;--bslib-color-bg: #a85a7c;background:linear-gradient(var(--bg-gradient-deg, 140deg), #6f42c1 var(--bg-gradient-start, 36%), #fd7e14 var(--bg-gradient-end, 180%)) #a85a7c;color:#fff}.bg-gradient-purple-yellow{--bslib-color-fg: #000;--bslib-color-bg: #a97577;background:linear-gradient(var(--bg-gradient-deg, 140deg), #6f42c1 var(--bg-gradient-start, 36%), #ffc107 var(--bg-gradient-end, 180%)) #a97577;color:#000}.bg-gradient-purple-green{--bslib-color-fg: #ffffff;--bslib-color-bg: #4d5e95;background:linear-gradient(var(--bg-gradient-deg, 140deg), #6f42c1 var(--bg-gradient-start, 36%), #198754 var(--bg-gradient-end, 180%)) #4d5e95;color:#fff}.bg-gradient-purple-teal{--bslib-color-fg: #ffffff;--bslib-color-bg: #4f78b0;background:linear-gradient(var(--bg-gradient-deg, 140deg), #6f42c1 var(--bg-gradient-start, 36%), #20c997 var(--bg-gradient-end, 180%)) #4f78b0;color:#fff}.bg-gradient-purple-cyan{--bslib-color-fg: #000;--bslib-color-bg: #4878d4;background:linear-gradient(var(--bg-gradient-deg, 140deg), #6f42c1 var(--bg-gradient-start, 36%), #0dcaf0 var(--bg-gradient-end, 180%)) #4878d4;color:#000}.bg-gradient-pink-blue{--bslib-color-fg: #ffffff;--bslib-color-bg: #864bb4;background:linear-gradient(var(--bg-gradient-deg, 140deg), #d63384 var(--bg-gradient-start, 36%), #0d6efd var(--bg-gradient-end, 180%)) #864bb4;color:#fff}.bg-gradient-pink-indigo{--bslib-color-fg: #ffffff;--bslib-color-bg: #a925b0;background:linear-gradient(var(--bg-gradient-deg, 140deg), #d63384 var(--bg-gradient-start, 36%), #6610f2 var(--bg-gradient-end, 180%)) #a925b0;color:#fff}.bg-gradient-pink-purple{--bslib-color-fg: #ffffff;--bslib-color-bg: #ad399c;background:linear-gradient(var(--bg-gradient-deg, 140deg), #d63384 var(--bg-gradient-start, 36%), #6f42c1 var(--bg-gradient-end, 180%)) #ad399c;color:#fff}.bg-gradient-pink-red{--bslib-color-fg: #ffffff;--bslib-color-bg: #d8346b;background:linear-gradient(var(--bg-gradient-deg, 140deg), #d63384 var(--bg-gradient-start, 36%), #dc3545 var(--bg-gradient-end, 180%)) #d8346b;color:#fff}.bg-gradient-pink-orange{--bslib-color-fg: #000;--bslib-color-bg: #e65157;background:linear-gradient(var(--bg-gradient-deg, 140deg), #d63384 var(--bg-gradient-start, 36%), #fd7e14 var(--bg-gradient-end, 180%)) #e65157;color:#000}.bg-gradient-pink-yellow{--bslib-color-fg: #000;--bslib-color-bg: #e66c52;background:linear-gradient(var(--bg-gradient-deg, 140deg), #d63384 var(--bg-gradient-start, 36%), #ffc107 var(--bg-gradient-end, 180%)) #e66c52;color:#000}.bg-gradient-pink-green{--bslib-color-fg: #ffffff;--bslib-color-bg: #8a5571;background:linear-gradient(var(--bg-gradient-deg, 140deg), #d63384 var(--bg-gradient-start, 36%), #198754 var(--bg-gradient-end, 180%)) #8a5571;color:#fff}.bg-gradient-pink-teal{--bslib-color-fg: #000;--bslib-color-bg: #8d6f8c;background:linear-gradient(var(--bg-gradient-deg, 140deg), #d63384 var(--bg-gradient-start, 36%), #20c997 var(--bg-gradient-end, 180%)) #8d6f8c;color:#000}.bg-gradient-pink-cyan{--bslib-color-fg: #000;--bslib-color-bg: #866faf;background:linear-gradient(var(--bg-gradient-deg, 140deg), #d63384 var(--bg-gradient-start, 36%), #0dcaf0 var(--bg-gradient-end, 180%)) #866faf;color:#000}.bg-gradient-red-blue{--bslib-color-fg: #ffffff;--bslib-color-bg: #894c8f;background:linear-gradient(var(--bg-gradient-deg, 140deg), #dc3545 var(--bg-gradient-start, 36%), #0d6efd var(--bg-gradient-end, 180%)) #894c8f;color:#fff}.bg-gradient-red-indigo{--bslib-color-fg: #ffffff;--bslib-color-bg: #ad268a;background:linear-gradient(var(--bg-gradient-deg, 140deg), #dc3545 var(--bg-gradient-start, 36%), #6610f2 var(--bg-gradient-end, 180%)) #ad268a;color:#fff}.bg-gradient-red-purple{--bslib-color-fg: #ffffff;--bslib-color-bg: #b03a77;background:linear-gradient(var(--bg-gradient-deg, 140deg), #dc3545 var(--bg-gradient-start, 36%), #6f42c1 var(--bg-gradient-end, 180%)) #b03a77;color:#fff}.bg-gradient-red-pink{--bslib-color-fg: #ffffff;--bslib-color-bg: #da345e;background:linear-gradient(var(--bg-gradient-deg, 140deg), #dc3545 var(--bg-gradient-start, 36%), #d63384 var(--bg-gradient-end, 180%)) #da345e;color:#fff}.bg-gradient-red-orange{--bslib-color-fg: #000;--bslib-color-bg: #e95231;background:linear-gradient(var(--bg-gradient-deg, 140deg), #dc3545 var(--bg-gradient-start, 36%), #fd7e14 var(--bg-gradient-end, 180%)) #e95231;color:#000}.bg-gradient-red-yellow{--bslib-color-fg: #000;--bslib-color-bg: #ea6d2c;background:linear-gradient(var(--bg-gradient-deg, 140deg), #dc3545 var(--bg-gradient-start, 36%), #ffc107 var(--bg-gradient-end, 180%)) #ea6d2c;color:#000}.bg-gradient-red-green{--bslib-color-fg: #ffffff;--bslib-color-bg: #8e564b;background:linear-gradient(var(--bg-gradient-deg, 140deg), #dc3545 var(--bg-gradient-start, 36%), #198754 var(--bg-gradient-end, 180%)) #8e564b;color:#fff}.bg-gradient-red-teal{--bslib-color-fg: #000;--bslib-color-bg: #917066;background:linear-gradient(var(--bg-gradient-deg, 140deg), #dc3545 var(--bg-gradient-start, 36%), #20c997 var(--bg-gradient-end, 180%)) #917066;color:#000}.bg-gradient-red-cyan{--bslib-color-fg: #000;--bslib-color-bg: #897189;background:linear-gradient(var(--bg-gradient-deg, 140deg), #dc3545 var(--bg-gradient-start, 36%), #0dcaf0 var(--bg-gradient-end, 180%)) #897189;color:#000}.bg-gradient-orange-blue{--bslib-color-fg: #000;--bslib-color-bg: #9d7871;background:linear-gradient(var(--bg-gradient-deg, 140deg), #fd7e14 var(--bg-gradient-start, 36%), #0d6efd var(--bg-gradient-end, 180%)) #9d7871;color:#000}.bg-gradient-orange-indigo{--bslib-color-fg: #000;--bslib-color-bg: #c1526d;background:linear-gradient(var(--bg-gradient-deg, 140deg), #fd7e14 var(--bg-gradient-start, 36%), #6610f2 var(--bg-gradient-end, 180%)) #c1526d;color:#000}.bg-gradient-orange-purple{--bslib-color-fg: #000;--bslib-color-bg: #c46659;background:linear-gradient(var(--bg-gradient-deg, 140deg), #fd7e14 var(--bg-gradient-start, 36%), #6f42c1 var(--bg-gradient-end, 180%)) #c46659;color:#000}.bg-gradient-orange-pink{--bslib-color-fg: #000;--bslib-color-bg: #ed6041;background:linear-gradient(var(--bg-gradient-deg, 140deg), #fd7e14 var(--bg-gradient-start, 36%), #d63384 var(--bg-gradient-end, 180%)) #ed6041;color:#000}.bg-gradient-orange-red{--bslib-color-fg: #000;--bslib-color-bg: #f06128;background:linear-gradient(var(--bg-gradient-deg, 140deg), #fd7e14 var(--bg-gradient-start, 36%), #dc3545 var(--bg-gradient-end, 180%)) #f06128;color:#000}.bg-gradient-orange-yellow{--bslib-color-fg: #000;--bslib-color-bg: #fe990f;background:linear-gradient(var(--bg-gradient-deg, 140deg), #fd7e14 var(--bg-gradient-start, 36%), #ffc107 var(--bg-gradient-end, 180%)) #fe990f;color:#000}.bg-gradient-orange-green{--bslib-color-fg: #000;--bslib-color-bg: #a2822e;background:linear-gradient(var(--bg-gradient-deg, 140deg), #fd7e14 var(--bg-gradient-start, 36%), #198754 var(--bg-gradient-end, 180%)) #a2822e;color:#000}.bg-gradient-orange-teal{--bslib-color-fg: #000;--bslib-color-bg: #a59c48;background:linear-gradient(var(--bg-gradient-deg, 140deg), #fd7e14 var(--bg-gradient-start, 36%), #20c997 var(--bg-gradient-end, 180%)) #a59c48;color:#000}.bg-gradient-orange-cyan{--bslib-color-fg: #000;--bslib-color-bg: #9d9c6c;background:linear-gradient(var(--bg-gradient-deg, 140deg), #fd7e14 var(--bg-gradient-start, 36%), #0dcaf0 var(--bg-gradient-end, 180%)) #9d9c6c;color:#000}.bg-gradient-yellow-blue{--bslib-color-fg: #000;--bslib-color-bg: #9ea069;background:linear-gradient(var(--bg-gradient-deg, 140deg), #ffc107 var(--bg-gradient-start, 36%), #0d6efd var(--bg-gradient-end, 180%)) #9ea069;color:#000}.bg-gradient-yellow-indigo{--bslib-color-fg: #000;--bslib-color-bg: #c27a65;background:linear-gradient(var(--bg-gradient-deg, 140deg), #ffc107 var(--bg-gradient-start, 36%), #6610f2 var(--bg-gradient-end, 180%)) #c27a65;color:#000}.bg-gradient-yellow-purple{--bslib-color-fg: #000;--bslib-color-bg: #c58e51;background:linear-gradient(var(--bg-gradient-deg, 140deg), #ffc107 var(--bg-gradient-start, 36%), #6f42c1 var(--bg-gradient-end, 180%)) #c58e51;color:#000}.bg-gradient-yellow-pink{--bslib-color-fg: #000;--bslib-color-bg: #ef8839;background:linear-gradient(var(--bg-gradient-deg, 140deg), #ffc107 var(--bg-gradient-start, 36%), #d63384 var(--bg-gradient-end, 180%)) #ef8839;color:#000}.bg-gradient-yellow-red{--bslib-color-fg: #000;--bslib-color-bg: #f18920;background:linear-gradient(var(--bg-gradient-deg, 140deg), #ffc107 var(--bg-gradient-start, 36%), #dc3545 var(--bg-gradient-end, 180%)) #f18920;color:#000}.bg-gradient-yellow-orange{--bslib-color-fg: #000;--bslib-color-bg: #fea60c;background:linear-gradient(var(--bg-gradient-deg, 140deg), #ffc107 var(--bg-gradient-start, 36%), #fd7e14 var(--bg-gradient-end, 180%)) #fea60c;color:#000}.bg-gradient-yellow-green{--bslib-color-fg: #000;--bslib-color-bg: #a3aa26;background:linear-gradient(var(--bg-gradient-deg, 140deg), #ffc107 var(--bg-gradient-start, 36%), #198754 var(--bg-gradient-end, 180%)) #a3aa26;color:#000}.bg-gradient-yellow-teal{--bslib-color-fg: #000;--bslib-color-bg: #a6c441;background:linear-gradient(var(--bg-gradient-deg, 140deg), #ffc107 var(--bg-gradient-start, 36%), #20c997 var(--bg-gradient-end, 180%)) #a6c441;color:#000}.bg-gradient-yellow-cyan{--bslib-color-fg: #000;--bslib-color-bg: #9ec564;background:linear-gradient(var(--bg-gradient-deg, 140deg), #ffc107 var(--bg-gradient-start, 36%), #0dcaf0 var(--bg-gradient-end, 180%)) #9ec564;color:#000}.bg-gradient-green-blue{--bslib-color-fg: #ffffff;--bslib-color-bg: #147d98;background:linear-gradient(var(--bg-gradient-deg, 140deg), #198754 var(--bg-gradient-start, 36%), #0d6efd var(--bg-gradient-end, 180%)) #147d98;color:#fff}.bg-gradient-green-indigo{--bslib-color-fg: #ffffff;--bslib-color-bg: #385793;background:linear-gradient(var(--bg-gradient-deg, 140deg), #198754 var(--bg-gradient-start, 36%), #6610f2 var(--bg-gradient-end, 180%)) #385793;color:#fff}.bg-gradient-green-purple{--bslib-color-fg: #ffffff;--bslib-color-bg: #3b6b80;background:linear-gradient(var(--bg-gradient-deg, 140deg), #198754 var(--bg-gradient-start, 36%), #6f42c1 var(--bg-gradient-end, 180%)) #3b6b80;color:#fff}.bg-gradient-green-pink{--bslib-color-fg: #ffffff;--bslib-color-bg: #656567;background:linear-gradient(var(--bg-gradient-deg, 140deg), #198754 var(--bg-gradient-start, 36%), #d63384 var(--bg-gradient-end, 180%)) #656567;color:#fff}.bg-gradient-green-red{--bslib-color-fg: #ffffff;--bslib-color-bg: #67664e;background:linear-gradient(var(--bg-gradient-deg, 140deg), #198754 var(--bg-gradient-start, 36%), #dc3545 var(--bg-gradient-end, 180%)) #67664e;color:#fff}.bg-gradient-green-orange{--bslib-color-fg: #000;--bslib-color-bg: #74833a;background:linear-gradient(var(--bg-gradient-deg, 140deg), #198754 var(--bg-gradient-start, 36%), #fd7e14 var(--bg-gradient-end, 180%)) #74833a;color:#000}.bg-gradient-green-yellow{--bslib-color-fg: #000;--bslib-color-bg: #759e35;background:linear-gradient(var(--bg-gradient-deg, 140deg), #198754 var(--bg-gradient-start, 36%), #ffc107 var(--bg-gradient-end, 180%)) #759e35;color:#000}.bg-gradient-green-teal{--bslib-color-fg: #000;--bslib-color-bg: #1ca16f;background:linear-gradient(var(--bg-gradient-deg, 140deg), #198754 var(--bg-gradient-start, 36%), #20c997 var(--bg-gradient-end, 180%)) #1ca16f;color:#000}.bg-gradient-green-cyan{--bslib-color-fg: #000;--bslib-color-bg: #14a292;background:linear-gradient(var(--bg-gradient-deg, 140deg), #198754 var(--bg-gradient-start, 36%), #0dcaf0 var(--bg-gradient-end, 180%)) #14a292;color:#000}.bg-gradient-teal-blue{--bslib-color-fg: #000;--bslib-color-bg: #18a5c0;background:linear-gradient(var(--bg-gradient-deg, 140deg), #20c997 var(--bg-gradient-start, 36%), #0d6efd var(--bg-gradient-end, 180%)) #18a5c0;color:#000}.bg-gradient-teal-indigo{--bslib-color-fg: #000;--bslib-color-bg: #3c7fbb;background:linear-gradient(var(--bg-gradient-deg, 140deg), #20c997 var(--bg-gradient-start, 36%), #6610f2 var(--bg-gradient-end, 180%)) #3c7fbb;color:#000}.bg-gradient-teal-purple{--bslib-color-fg: #000;--bslib-color-bg: #4093a8;background:linear-gradient(var(--bg-gradient-deg, 140deg), #20c997 var(--bg-gradient-start, 36%), #6f42c1 var(--bg-gradient-end, 180%)) #4093a8;color:#000}.bg-gradient-teal-pink{--bslib-color-fg: #000;--bslib-color-bg: #698d8f;background:linear-gradient(var(--bg-gradient-deg, 140deg), #20c997 var(--bg-gradient-start, 36%), #d63384 var(--bg-gradient-end, 180%)) #698d8f;color:#000}.bg-gradient-teal-red{--bslib-color-fg: #000;--bslib-color-bg: #6b8e76;background:linear-gradient(var(--bg-gradient-deg, 140deg), #20c997 var(--bg-gradient-start, 36%), #dc3545 var(--bg-gradient-end, 180%)) #6b8e76;color:#000}.bg-gradient-teal-orange{--bslib-color-fg: #000;--bslib-color-bg: #78ab63;background:linear-gradient(var(--bg-gradient-deg, 140deg), #20c997 var(--bg-gradient-start, 36%), #fd7e14 var(--bg-gradient-end, 180%)) #78ab63;color:#000}.bg-gradient-teal-yellow{--bslib-color-fg: #000;--bslib-color-bg: #79c65d;background:linear-gradient(var(--bg-gradient-deg, 140deg), #20c997 var(--bg-gradient-start, 36%), #ffc107 var(--bg-gradient-end, 180%)) #79c65d;color:#000}.bg-gradient-teal-green{--bslib-color-fg: #000;--bslib-color-bg: #1daf7c;background:linear-gradient(var(--bg-gradient-deg, 140deg), #20c997 var(--bg-gradient-start, 36%), #198754 var(--bg-gradient-end, 180%)) #1daf7c;color:#000}.bg-gradient-teal-cyan{--bslib-color-fg: #000;--bslib-color-bg: #18c9bb;background:linear-gradient(var(--bg-gradient-deg, 140deg), #20c997 var(--bg-gradient-start, 36%), #0dcaf0 var(--bg-gradient-end, 180%)) #18c9bb;color:#000}.bg-gradient-cyan-blue{--bslib-color-fg: #000;--bslib-color-bg: #0da5f5;background:linear-gradient(var(--bg-gradient-deg, 140deg), #0dcaf0 var(--bg-gradient-start, 36%), #0d6efd var(--bg-gradient-end, 180%)) #0da5f5;color:#000}.bg-gradient-cyan-indigo{--bslib-color-fg: #000;--bslib-color-bg: #3180f1;background:linear-gradient(var(--bg-gradient-deg, 140deg), #0dcaf0 var(--bg-gradient-start, 36%), #6610f2 var(--bg-gradient-end, 180%)) #3180f1;color:#000}.bg-gradient-cyan-purple{--bslib-color-fg: #000;--bslib-color-bg: #3494dd;background:linear-gradient(var(--bg-gradient-deg, 140deg), #0dcaf0 var(--bg-gradient-start, 36%), #6f42c1 var(--bg-gradient-end, 180%)) #3494dd;color:#000}.bg-gradient-cyan-pink{--bslib-color-fg: #000;--bslib-color-bg: #5d8ec5;background:linear-gradient(var(--bg-gradient-deg, 140deg), #0dcaf0 var(--bg-gradient-start, 36%), #d63384 var(--bg-gradient-end, 180%)) #5d8ec5;color:#000}.bg-gradient-cyan-red{--bslib-color-fg: #000;--bslib-color-bg: #608eac;background:linear-gradient(var(--bg-gradient-deg, 140deg), #0dcaf0 var(--bg-gradient-start, 36%), #dc3545 var(--bg-gradient-end, 180%)) #608eac;color:#000}.bg-gradient-cyan-orange{--bslib-color-fg: #000;--bslib-color-bg: #6dac98;background:linear-gradient(var(--bg-gradient-deg, 140deg), #0dcaf0 var(--bg-gradient-start, 36%), #fd7e14 var(--bg-gradient-end, 180%)) #6dac98;color:#000}.bg-gradient-cyan-yellow{--bslib-color-fg: #000;--bslib-color-bg: #6ec693;background:linear-gradient(var(--bg-gradient-deg, 140deg), #0dcaf0 var(--bg-gradient-start, 36%), #ffc107 var(--bg-gradient-end, 180%)) #6ec693;color:#000}.bg-gradient-cyan-green{--bslib-color-fg: #000;--bslib-color-bg: #12afb2;background:linear-gradient(var(--bg-gradient-deg, 140deg), #0dcaf0 var(--bg-gradient-start, 36%), #198754 var(--bg-gradient-end, 180%)) #12afb2;color:#000}.bg-gradient-cyan-teal{--bslib-color-fg: #000;--bslib-color-bg: #15cacc;background:linear-gradient(var(--bg-gradient-deg, 140deg), #0dcaf0 var(--bg-gradient-start, 36%), #20c997 var(--bg-gradient-end, 180%)) #15cacc;color:#000}@media(min-width: 576px){.nav:not(.nav-hidden){display:flex !important;display:-webkit-flex !important}.nav:not(.nav-hidden):not(.nav-stacked):not(.flex-column){float:none !important}.nav:not(.nav-hidden):not(.nav-stacked):not(.flex-column)>.bslib-nav-spacer{margin-left:auto !important}.nav:not(.nav-hidden):not(.nav-stacked):not(.flex-column)>.form-inline{margin-top:auto;margin-bottom:auto}.nav:not(.nav-hidden).nav-stacked{flex-direction:column;-webkit-flex-direction:column;height:100%}.nav:not(.nav-hidden).nav-stacked>.bslib-nav-spacer{margin-top:auto !important}}.bslib-grid{display:grid !important;gap:var(--bslib-spacer, 1rem);height:var(--bslib-grid-height)}.bslib-grid.grid{grid-template-columns:repeat(var(--bs-columns, 12), minmax(0, 1fr));grid-template-rows:unset;grid-auto-rows:var(--bslib-grid--row-heights);--bslib-grid--row-heights--xs: unset;--bslib-grid--row-heights--sm: unset;--bslib-grid--row-heights--md: unset;--bslib-grid--row-heights--lg: unset;--bslib-grid--row-heights--xl: unset;--bslib-grid--row-heights--xxl: unset}.bslib-grid.grid.bslib-grid--row-heights--xs{--bslib-grid--row-heights: var(--bslib-grid--row-heights--xs)}@media(min-width: 576px){.bslib-grid.grid.bslib-grid--row-heights--sm{--bslib-grid--row-heights: var(--bslib-grid--row-heights--sm)}}@media(min-width: 768px){.bslib-grid.grid.bslib-grid--row-heights--md{--bslib-grid--row-heights: var(--bslib-grid--row-heights--md)}}@media(min-width: 992px){.bslib-grid.grid.bslib-grid--row-heights--lg{--bslib-grid--row-heights: var(--bslib-grid--row-heights--lg)}}@media(min-width: 1200px){.bslib-grid.grid.bslib-grid--row-heights--xl{--bslib-grid--row-heights: var(--bslib-grid--row-heights--xl)}}@media(min-width: 1400px){.bslib-grid.grid.bslib-grid--row-heights--xxl{--bslib-grid--row-heights: var(--bslib-grid--row-heights--xxl)}}.bslib-grid>*>.shiny-input-container{width:100%}.bslib-grid-item{grid-column:auto/span 1}@media(max-width: 767.98px){.bslib-grid-item{grid-column:1/-1}}@media(max-width: 575.98px){.bslib-grid{grid-template-columns:1fr !important;height:var(--bslib-grid-height-mobile)}.bslib-grid.grid{height:unset !important;grid-auto-rows:var(--bslib-grid--row-heights--xs, auto)}}.bslib-card{overflow:auto}.bslib-card .card-body+.card-body{padding-top:0}.bslib-card .card-body{overflow:auto}.bslib-card .card-body p{margin-top:0}.bslib-card .card-body p:last-child{margin-bottom:0}.bslib-card .card-body{max-height:var(--bslib-card-body-max-height, none)}.bslib-card[data-full-screen=true]>.card-body{max-height:var(--bslib-card-body-max-height-full-screen, none)}.bslib-card .card-header .form-group{margin-bottom:0}.bslib-card .card-header .selectize-control{margin-bottom:0}.bslib-card .card-header .selectize-control .item{margin-right:1.15rem}.bslib-card .card-footer{margin-top:auto}.bslib-card .bslib-navs-card-title{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center}.bslib-card .bslib-navs-card-title .nav{margin-left:auto}.bslib-card .bslib-sidebar-layout:not([data-bslib-sidebar-border=true]){border:none}.bslib-card .bslib-sidebar-layout:not([data-bslib-sidebar-border-radius=true]){border-top-left-radius:0;border-top-right-radius:0}[data-full-screen=true]{position:fixed;inset:3.5rem 1rem 1rem;height:auto !important;max-height:none !important;width:auto !important;z-index:1070}.bslib-full-screen-enter{display:none;position:absolute;bottom:var(--bslib-full-screen-enter-bottom, 0.2rem);right:var(--bslib-full-screen-enter-right, 0);top:var(--bslib-full-screen-enter-top);left:var(--bslib-full-screen-enter-left);color:var(--bslib-color-fg, var(--bs-card-color));background-color:var(--bslib-color-bg, var(--bs-card-bg, var(--bs-body-bg)));border:var(--bs-card-border-width) solid var(--bslib-color-fg, var(--bs-card-border-color));box-shadow:0 2px 4px rgba(0,0,0,.15);margin:.2rem .4rem;padding:.55rem !important;font-size:.8rem;cursor:pointer;opacity:.7;z-index:1070}.bslib-full-screen-enter:hover{opacity:1}.card[data-full-screen=false]:hover>*>.bslib-full-screen-enter{display:block}.bslib-has-full-screen .card:hover>*>.bslib-full-screen-enter{display:none}@media(max-width: 575.98px){.bslib-full-screen-enter{display:none !important}}.bslib-full-screen-exit{position:relative;top:1.35rem;font-size:.9rem;cursor:pointer;text-decoration:none;display:flex;float:right;margin-right:2.15rem;align-items:center;color:rgba(var(--bs-body-bg-rgb), 0.8)}.bslib-full-screen-exit:hover{color:rgba(var(--bs-body-bg-rgb), 1)}.bslib-full-screen-exit svg{margin-left:.5rem;font-size:1.5rem}#bslib-full-screen-overlay{position:fixed;inset:0;background-color:rgba(var(--bs-body-color-rgb), 0.6);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);z-index:1069;animation:bslib-full-screen-overlay-enter 400ms cubic-bezier(0.6, 0.02, 0.65, 1) forwards}@keyframes bslib-full-screen-overlay-enter{0%{opacity:0}100%{opacity:1}}html{height:100%}.bslib-page-fill{width:100%;height:100%;margin:0;padding:var(--bslib-spacer, 1rem);gap:var(--bslib-spacer, 1rem)}@media(max-width: 575.98px){.bslib-page-fill{height:var(--bslib-page-fill-mobile-height, auto)}}.bslib-sidebar-layout{--bslib-sidebar-transition-duration: 500ms;--bslib-sidebar-transition-easing-x: cubic-bezier(0.8, 0.78, 0.22, 1.07);--bslib-sidebar-border: var(--bs-card-border-width, 1px) solid var(--bs-card-border-color, rgba(0, 0, 0, 0.175));--bslib-sidebar-border-radius: var(--bs-border-radius);--bslib-sidebar-vert-border: var(--bs-card-border-width, 1px) solid var(--bs-card-border-color, rgba(0, 0, 0, 0.175));--bslib-sidebar-bg: rgba(var(--bs-emphasis-color-rgb, 0, 0, 0), 0.05);--bslib-sidebar-fg: var(--bs-emphasis-color, black);--bslib-sidebar-main-fg: var(--bs-card-color, var(--bs-body-color));--bslib-sidebar-main-bg: var(--bs-card-bg, var(--bs-body-bg));--bslib-sidebar-toggle-bg: rgba(var(--bs-emphasis-color-rgb, 0, 0, 0), 0.1);--bslib-sidebar-padding: calc(var(--bslib-spacer) * 1.5);--bslib-sidebar-icon-size: var(--bslib-spacer, 1rem);--bslib-sidebar-icon-button-size: calc(var(--bslib-sidebar-icon-size, 1rem) * 2);--bslib-sidebar-padding-icon: calc(var(--bslib-sidebar-icon-button-size, 2rem) * 1.5);--bslib-collapse-toggle-border-radius: var(--bs-border-radius, 0.25rem);--bslib-collapse-toggle-transform: 0deg;--bslib-sidebar-toggle-transition-easing: cubic-bezier(1, 0, 0, 1);--bslib-collapse-toggle-right-transform: 180deg;--bslib-sidebar-column-main: minmax(0, 1fr);display:grid !important;grid-template-columns:min(100% - var(--bslib-sidebar-icon-size),var(--bslib-sidebar-width, 250px)) var(--bslib-sidebar-column-main);position:relative;transition:grid-template-columns ease-in-out var(--bslib-sidebar-transition-duration);border:var(--bslib-sidebar-border);border-radius:var(--bslib-sidebar-border-radius)}@media(prefers-reduced-motion: reduce){.bslib-sidebar-layout{transition:none}}.bslib-sidebar-layout[data-bslib-sidebar-border=false]{border:none}.bslib-sidebar-layout[data-bslib-sidebar-border-radius=false]{border-radius:initial}.bslib-sidebar-layout>.main,.bslib-sidebar-layout>.sidebar{grid-row:1/2;border-radius:inherit;overflow:auto}.bslib-sidebar-layout>.main{grid-column:2/3;border-top-left-radius:0;border-bottom-left-radius:0;padding:var(--bslib-sidebar-padding);transition:padding var(--bslib-sidebar-transition-easing-x) var(--bslib-sidebar-transition-duration);color:var(--bslib-sidebar-main-fg);background-color:var(--bslib-sidebar-main-bg)}.bslib-sidebar-layout>.sidebar{grid-column:1/2;width:100%;height:100%;border-right:var(--bslib-sidebar-vert-border);border-top-right-radius:0;border-bottom-right-radius:0;color:var(--bslib-sidebar-fg);background-color:var(--bslib-sidebar-bg);backdrop-filter:blur(5px)}.bslib-sidebar-layout>.sidebar>.sidebar-content{display:flex;flex-direction:column;gap:var(--bslib-spacer, 1rem);padding:var(--bslib-sidebar-padding);padding-top:var(--bslib-sidebar-padding-icon)}.bslib-sidebar-layout>.sidebar>.sidebar-content>:last-child:not(.sidebar-title){margin-bottom:0}.bslib-sidebar-layout>.sidebar>.sidebar-content>.accordion{margin-left:calc(-1*var(--bslib-sidebar-padding));margin-right:calc(-1*var(--bslib-sidebar-padding))}.bslib-sidebar-layout>.sidebar>.sidebar-content>.accordion:last-child{margin-bottom:calc(-1*var(--bslib-sidebar-padding))}.bslib-sidebar-layout>.sidebar>.sidebar-content>.accordion:not(:last-child){margin-bottom:1rem}.bslib-sidebar-layout>.sidebar>.sidebar-content>.accordion .accordion-body{display:flex;flex-direction:column}.bslib-sidebar-layout>.sidebar>.sidebar-content>.accordion:not(:first-child) .accordion-item:first-child{border-top:var(--bs-accordion-border-width) solid var(--bs-accordion-border-color)}.bslib-sidebar-layout>.sidebar>.sidebar-content>.accordion:not(:last-child) .accordion-item:last-child{border-bottom:var(--bs-accordion-border-width) solid var(--bs-accordion-border-color)}.bslib-sidebar-layout>.sidebar>.sidebar-content.has-accordion>.sidebar-title{border-bottom:none;padding-bottom:0}.bslib-sidebar-layout>.sidebar .shiny-input-container{width:100%}.bslib-sidebar-layout[data-bslib-sidebar-open=always]>.sidebar>.sidebar-content{padding-top:var(--bslib-sidebar-padding)}.bslib-sidebar-layout>.collapse-toggle{grid-row:1/2;grid-column:1/2;display:inline-flex;align-items:center;position:absolute;right:calc(var(--bslib-sidebar-icon-size));top:calc(var(--bslib-sidebar-icon-size, 1rem)/2);border:none;border-radius:var(--bslib-collapse-toggle-border-radius);height:var(--bslib-sidebar-icon-button-size, 2rem);width:var(--bslib-sidebar-icon-button-size, 2rem);display:flex;align-items:center;justify-content:center;padding:0;color:var(--bslib-sidebar-fg);background-color:unset;transition:color var(--bslib-sidebar-transition-easing-x) var(--bslib-sidebar-transition-duration),top var(--bslib-sidebar-transition-easing-x) var(--bslib-sidebar-transition-duration),right var(--bslib-sidebar-transition-easing-x) var(--bslib-sidebar-transition-duration),left var(--bslib-sidebar-transition-easing-x) var(--bslib-sidebar-transition-duration)}.bslib-sidebar-layout>.collapse-toggle:hover{background-color:var(--bslib-sidebar-toggle-bg)}.bslib-sidebar-layout>.collapse-toggle>.collapse-icon{opacity:.8;width:var(--bslib-sidebar-icon-size);height:var(--bslib-sidebar-icon-size);transform:rotateY(var(--bslib-collapse-toggle-transform));transition:transform var(--bslib-sidebar-toggle-transition-easing) var(--bslib-sidebar-transition-duration)}.bslib-sidebar-layout>.collapse-toggle:hover>.collapse-icon{opacity:1}.bslib-sidebar-layout .sidebar-title{font-size:1.25rem;line-height:1.25;margin-top:0;margin-bottom:1rem;padding-bottom:1rem;border-bottom:var(--bslib-sidebar-border)}.bslib-sidebar-layout.sidebar-right{grid-template-columns:var(--bslib-sidebar-column-main) min(100% - var(--bslib-sidebar-icon-size),var(--bslib-sidebar-width, 250px))}.bslib-sidebar-layout.sidebar-right>.main{grid-column:1/2;border-top-right-radius:0;border-bottom-right-radius:0;border-top-left-radius:inherit;border-bottom-left-radius:inherit}.bslib-sidebar-layout.sidebar-right>.sidebar{grid-column:2/3;border-right:none;border-left:var(--bslib-sidebar-vert-border);border-top-left-radius:0;border-bottom-left-radius:0}.bslib-sidebar-layout.sidebar-right>.collapse-toggle{grid-column:2/3;left:var(--bslib-sidebar-icon-size);right:unset;border:var(--bslib-collapse-toggle-border)}.bslib-sidebar-layout.sidebar-right>.collapse-toggle>.collapse-icon{transform:rotateY(var(--bslib-collapse-toggle-right-transform))}.bslib-sidebar-layout.sidebar-collapsed{--bslib-collapse-toggle-transform: 180deg;--bslib-collapse-toggle-right-transform: 0deg;--bslib-sidebar-vert-border: none;grid-template-columns:0 minmax(0, 1fr)}.bslib-sidebar-layout.sidebar-collapsed.sidebar-right{grid-template-columns:minmax(0, 1fr) 0}.bslib-sidebar-layout.sidebar-collapsed:not(.transitioning)>.sidebar>*{display:none}.bslib-sidebar-layout.sidebar-collapsed>.main{border-radius:inherit}.bslib-sidebar-layout.sidebar-collapsed:not(.sidebar-right)>.main{padding-left:var(--bslib-sidebar-padding-icon)}.bslib-sidebar-layout.sidebar-collapsed.sidebar-right>.main{padding-right:var(--bslib-sidebar-padding-icon)}.bslib-sidebar-layout.sidebar-collapsed>.collapse-toggle{color:var(--bslib-sidebar-main-fg);top:calc(var(--bslib-sidebar-overlap-counter, 0)*(var(--bslib-sidebar-icon-size) + var(--bslib-sidebar-padding)) + var(--bslib-sidebar-icon-size, 1rem)/2);right:calc(-2.5*var(--bslib-sidebar-icon-size) - var(--bs-card-border-width, 1px))}.bslib-sidebar-layout.sidebar-collapsed.sidebar-right>.collapse-toggle{left:calc(-2.5*var(--bslib-sidebar-icon-size) - var(--bs-card-border-width, 1px));right:unset}@media(min-width: 576px){.bslib-sidebar-layout.transitioning>.sidebar>.sidebar-content{display:none}}@media(max-width: 575.98px){.bslib-sidebar-layout[data-bslib-sidebar-open=desktop]{--bslib-sidebar-js-init-collapsed: true}.bslib-sidebar-layout>.sidebar,.bslib-sidebar-layout.sidebar-right>.sidebar{border:none}.bslib-sidebar-layout>.main,.bslib-sidebar-layout.sidebar-right>.main{grid-column:1/3}.bslib-sidebar-layout[data-bslib-sidebar-open=always]{display:block !important}.bslib-sidebar-layout[data-bslib-sidebar-open=always]>.sidebar{max-height:var(--bslib-sidebar-max-height-mobile);overflow-y:auto;border-top:var(--bslib-sidebar-vert-border)}.bslib-sidebar-layout:not([data-bslib-sidebar-open=always]){grid-template-columns:100% 0}.bslib-sidebar-layout:not([data-bslib-sidebar-open=always]):not(.sidebar-collapsed)>.sidebar{z-index:1}.bslib-sidebar-layout:not([data-bslib-sidebar-open=always]):not(.sidebar-collapsed)>.collapse-toggle{z-index:1}.bslib-sidebar-layout:not([data-bslib-sidebar-open=always]).sidebar-right{grid-template-columns:0 100%}.bslib-sidebar-layout:not([data-bslib-sidebar-open=always]).sidebar-collapsed{grid-template-columns:0 100%}.bslib-sidebar-layout:not([data-bslib-sidebar-open=always]).sidebar-collapsed.sidebar-right{grid-template-columns:100% 0}.bslib-sidebar-layout:not([data-bslib-sidebar-open=always]):not(.sidebar-right)>.main{padding-left:var(--bslib-sidebar-padding-icon)}.bslib-sidebar-layout:not([data-bslib-sidebar-open=always]).sidebar-right>.main{padding-right:var(--bslib-sidebar-padding-icon)}.bslib-sidebar-layout:not([data-bslib-sidebar-open=always])>.main{opacity:0;transition:opacity var(--bslib-sidebar-transition-easing-x) var(--bslib-sidebar-transition-duration)}.bslib-sidebar-layout:not([data-bslib-sidebar-open=always]).sidebar-collapsed>.main{opacity:1}}:root{--bslib-value-box-shadow: none;--bslib-value-box-border-width-auto-yes: var(--bslib-value-box-border-width-baseline);--bslib-value-box-border-width-auto-no: 0;--bslib-value-box-border-width-baseline: 1px}.bslib-value-box{border-width:var(--bslib-value-box-border-width-auto-no, var(--bslib-value-box-border-width-baseline));container-name:bslib-value-box;container-type:inline-size}.bslib-value-box.card{box-shadow:var(--bslib-value-box-shadow)}.bslib-value-box.border-auto{border-width:var(--bslib-value-box-border-width-auto-yes, var(--bslib-value-box-border-width-baseline))}.bslib-value-box.default{--bslib-value-box-bg-default: var(--bs-card-bg, #ffffff);--bslib-value-box-border-color-default: var(--bs-card-border-color, rgba(0, 0, 0, 0.175));color:var(--bslib-value-box-color);background-color:var(--bslib-value-box-bg, var(--bslib-value-box-bg-default));border-color:var(--bslib-value-box-border-color, var(--bslib-value-box-border-color-default))}.bslib-value-box .value-box-grid{display:grid;grid-template-areas:"left right";align-items:center;overflow:hidden}.bslib-value-box .value-box-showcase{height:100%;max-height:var(---bslib-value-box-showcase-max-h, 100%)}.bslib-value-box .value-box-showcase,.bslib-value-box .value-box-showcase>.html-fill-item{width:100%}.bslib-value-box[data-full-screen=true] .value-box-showcase{max-height:var(---bslib-value-box-showcase-max-h-fs, 100%)}@media screen and (min-width: 575.98px){@container bslib-value-box (max-width: 300px){.bslib-value-box:not(.showcase-bottom) .value-box-grid{grid-template-columns:1fr !important;grid-template-rows:auto auto;grid-template-areas:"top" "bottom"}.bslib-value-box:not(.showcase-bottom) .value-box-grid .value-box-showcase{grid-area:top !important}.bslib-value-box:not(.showcase-bottom) .value-box-grid .value-box-area{grid-area:bottom !important;justify-content:end}}}.bslib-value-box .value-box-area{justify-content:center;padding:1.5rem 1rem;font-size:.9rem;font-weight:500}.bslib-value-box .value-box-area *{margin-bottom:0;margin-top:0}.bslib-value-box .value-box-title{font-size:1rem;margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}.bslib-value-box .value-box-title:empty::after{content:" "}.bslib-value-box .value-box-value{font-size:calc(1.29rem + 0.48vw);margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}@media(min-width: 1200px){.bslib-value-box .value-box-value{font-size:1.65rem}}.bslib-value-box .value-box-value:empty::after{content:" "}.bslib-value-box .value-box-showcase{align-items:center;justify-content:center;margin-top:auto;margin-bottom:auto;padding:1rem}.bslib-value-box .value-box-showcase .bi,.bslib-value-box .value-box-showcase .fa,.bslib-value-box .value-box-showcase .fab,.bslib-value-box .value-box-showcase .fas,.bslib-value-box .value-box-showcase .far{opacity:.85;min-width:50px;max-width:125%}.bslib-value-box .value-box-showcase .bi,.bslib-value-box .value-box-showcase .fa,.bslib-value-box .value-box-showcase .fab,.bslib-value-box .value-box-showcase .fas,.bslib-value-box .value-box-showcase .far{font-size:4rem}.bslib-value-box.showcase-top-right .value-box-grid{grid-template-columns:1fr var(---bslib-value-box-showcase-w, 50%)}.bslib-value-box.showcase-top-right .value-box-grid .value-box-showcase{grid-area:right;margin-left:auto;align-self:start;align-items:end;padding-left:0;padding-bottom:0}.bslib-value-box.showcase-top-right .value-box-grid .value-box-area{grid-area:left;align-self:end}.bslib-value-box.showcase-top-right[data-full-screen=true] .value-box-grid{grid-template-columns:auto var(---bslib-value-box-showcase-w-fs, 1fr)}.bslib-value-box.showcase-top-right[data-full-screen=true] .value-box-grid>div{align-self:center}.bslib-value-box.showcase-top-right:not([data-full-screen=true]) .value-box-showcase{margin-top:0}@container bslib-value-box (max-width: 300px){.bslib-value-box.showcase-top-right:not([data-full-screen=true]) .value-box-grid .value-box-showcase{padding-left:1rem}}.bslib-value-box.showcase-left-center .value-box-grid{grid-template-columns:var(---bslib-value-box-showcase-w, 30%) auto}.bslib-value-box.showcase-left-center[data-full-screen=true] .value-box-grid{grid-template-columns:var(---bslib-value-box-showcase-w-fs, 1fr) auto}.bslib-value-box.showcase-left-center:not([data-fill-screen=true]) .value-box-grid .value-box-showcase{grid-area:left}.bslib-value-box.showcase-left-center:not([data-fill-screen=true]) .value-box-grid .value-box-area{grid-area:right}.bslib-value-box.showcase-bottom .value-box-grid{grid-template-columns:1fr;grid-template-rows:1fr var(---bslib-value-box-showcase-h, auto);grid-template-areas:"top" "bottom";overflow:hidden}.bslib-value-box.showcase-bottom .value-box-grid .value-box-showcase{grid-area:bottom;padding:0;margin:0}.bslib-value-box.showcase-bottom .value-box-grid .value-box-area{grid-area:top}.bslib-value-box.showcase-bottom[data-full-screen=true] .value-box-grid{grid-template-rows:1fr var(---bslib-value-box-showcase-h-fs, 2fr)}.bslib-value-box.showcase-bottom[data-full-screen=true] .value-box-grid .value-box-showcase{padding:1rem}[data-bs-theme=dark] .bslib-value-box{--bslib-value-box-shadow: 0 0.5rem 1rem rgb(0 0 0 / 50%)}.navbar+.container-fluid:has(>.tab-content>.tab-pane.active.html-fill-container),.navbar+.container-sm:has(>.tab-content>.tab-pane.active.html-fill-container),.navbar+.container-md:has(>.tab-content>.tab-pane.active.html-fill-container),.navbar+.container-lg:has(>.tab-content>.tab-pane.active.html-fill-container),.navbar+.container-xl:has(>.tab-content>.tab-pane.active.html-fill-container),.navbar+.container-xxl:has(>.tab-content>.tab-pane.active.html-fill-container){padding-left:0;padding-right:0}.navbar+.container-fluid>.tab-content>.tab-pane.active.html-fill-container,.navbar+.container-sm>.tab-content>.tab-pane.active.html-fill-container,.navbar+.container-md>.tab-content>.tab-pane.active.html-fill-container,.navbar+.container-lg>.tab-content>.tab-pane.active.html-fill-container,.navbar+.container-xl>.tab-content>.tab-pane.active.html-fill-container,.navbar+.container-xxl>.tab-content>.tab-pane.active.html-fill-container{padding:var(--bslib-spacer, 1rem);gap:var(--bslib-spacer, 1rem)}.navbar+.container-fluid>.tab-content>.tab-pane.active.html-fill-container:has(>.bslib-sidebar-layout:only-child),.navbar+.container-sm>.tab-content>.tab-pane.active.html-fill-container:has(>.bslib-sidebar-layout:only-child),.navbar+.container-md>.tab-content>.tab-pane.active.html-fill-container:has(>.bslib-sidebar-layout:only-child),.navbar+.container-lg>.tab-content>.tab-pane.active.html-fill-container:has(>.bslib-sidebar-layout:only-child),.navbar+.container-xl>.tab-content>.tab-pane.active.html-fill-container:has(>.bslib-sidebar-layout:only-child),.navbar+.container-xxl>.tab-content>.tab-pane.active.html-fill-container:has(>.bslib-sidebar-layout:only-child){padding:0}.navbar+.container-fluid>.tab-content>.tab-pane.active.html-fill-container>.bslib-sidebar-layout:only-child:not([data-bslib-sidebar-border=true]),.navbar+.container-sm>.tab-content>.tab-pane.active.html-fill-container>.bslib-sidebar-layout:only-child:not([data-bslib-sidebar-border=true]),.navbar+.container-md>.tab-content>.tab-pane.active.html-fill-container>.bslib-sidebar-layout:only-child:not([data-bslib-sidebar-border=true]),.navbar+.container-lg>.tab-content>.tab-pane.active.html-fill-container>.bslib-sidebar-layout:only-child:not([data-bslib-sidebar-border=true]),.navbar+.container-xl>.tab-content>.tab-pane.active.html-fill-container>.bslib-sidebar-layout:only-child:not([data-bslib-sidebar-border=true]),.navbar+.container-xxl>.tab-content>.tab-pane.active.html-fill-container>.bslib-sidebar-layout:only-child:not([data-bslib-sidebar-border=true]){border-left:none;border-right:none;border-bottom:none}.navbar+.container-fluid>.tab-content>.tab-pane.active.html-fill-container>.bslib-sidebar-layout:only-child:not([data-bslib-sidebar-border-radius=true]),.navbar+.container-sm>.tab-content>.tab-pane.active.html-fill-container>.bslib-sidebar-layout:only-child:not([data-bslib-sidebar-border-radius=true]),.navbar+.container-md>.tab-content>.tab-pane.active.html-fill-container>.bslib-sidebar-layout:only-child:not([data-bslib-sidebar-border-radius=true]),.navbar+.container-lg>.tab-content>.tab-pane.active.html-fill-container>.bslib-sidebar-layout:only-child:not([data-bslib-sidebar-border-radius=true]),.navbar+.container-xl>.tab-content>.tab-pane.active.html-fill-container>.bslib-sidebar-layout:only-child:not([data-bslib-sidebar-border-radius=true]),.navbar+.container-xxl>.tab-content>.tab-pane.active.html-fill-container>.bslib-sidebar-layout:only-child:not([data-bslib-sidebar-border-radius=true]){border-radius:0}.navbar+div>.bslib-sidebar-layout{border-top:var(--bslib-sidebar-border)}.accordion .accordion-header{font-size:calc(1.29rem + 0.48vw);margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2;color:var(--bs-heading-color);margin-bottom:0}@media(min-width: 1200px){.accordion .accordion-header{font-size:1.65rem}}.accordion .accordion-icon:not(:empty){margin-right:.75rem;display:flex}.accordion .accordion-button:not(.collapsed){box-shadow:none}.accordion .accordion-button:not(.collapsed):focus{box-shadow:var(--bs-accordion-btn-focus-box-shadow)}:root{--bslib-page-sidebar-title-bg: #f8f9fa;--bslib-page-sidebar-title-color: #000}.bslib-page-title{background-color:var(--bslib-page-sidebar-title-bg);color:var(--bslib-page-sidebar-title-color);font-size:1.25rem;font-weight:300;padding:var(--bslib-spacer, 1rem);padding-left:1.5rem;margin-bottom:0;border-bottom:1px solid #dee2e6}.html-fill-container{display:flex;flex-direction:column;min-height:0;min-width:0}.html-fill-container>.html-fill-item{flex:1 1 auto;min-height:0;min-width:0}.html-fill-container>:not(.html-fill-item){flex:0 0 auto}.quarto-container{min-height:calc(100vh - 132px)}body.hypothesis-enabled #quarto-header{margin-right:16px}footer.footer .nav-footer,#quarto-header>nav{padding-left:1em;padding-right:1em}footer.footer div.nav-footer p:first-child{margin-top:0}footer.footer div.nav-footer p:last-child{margin-bottom:0}#quarto-content>*{padding-top:14px}#quarto-content>#quarto-sidebar-glass{padding-top:0px}@media(max-width: 991.98px){#quarto-content>*{padding-top:0}#quarto-content .subtitle{padding-top:14px}#quarto-content section:first-of-type h2:first-of-type,#quarto-content section:first-of-type .h2:first-of-type{margin-top:1rem}}.headroom-target,header.headroom{will-change:transform;transition:position 200ms linear;transition:all 200ms linear}header.headroom--pinned{transform:translateY(0%)}header.headroom--unpinned{transform:translateY(-100%)}.navbar-container{width:100%}.navbar-brand{overflow:hidden;text-overflow:ellipsis}.navbar-brand-container{max-width:calc(100% - 115px);min-width:0;display:flex;align-items:center}@media(min-width: 992px){.navbar-brand-container{margin-right:1em}}.navbar-brand.navbar-brand-logo{margin-right:4px;display:inline-flex}.navbar-toggler{flex-basis:content;flex-shrink:0}.navbar .navbar-brand-container{order:2}.navbar .navbar-toggler{order:1}.navbar .navbar-container>.navbar-nav{order:20}.navbar .navbar-container>.navbar-brand-container{margin-left:0 !important;margin-right:0 !important}.navbar .navbar-collapse{order:20}.navbar #quarto-search{order:4;margin-left:auto}.navbar .navbar-toggler{margin-right:.5em}.navbar-collapse .quarto-navbar-tools{margin-left:.5em}.navbar-logo{max-height:24px;width:auto;padding-right:4px}nav .nav-item:not(.compact){padding-top:1px}nav .nav-link i,nav .dropdown-item i{padding-right:1px}.navbar-expand-lg .navbar-nav .nav-link{padding-left:.6rem;padding-right:.6rem}nav .nav-item.compact .nav-link{padding-left:.5rem;padding-right:.5rem;font-size:1.1rem}.navbar .quarto-navbar-tools{order:3}.navbar .quarto-navbar-tools div.dropdown{display:inline-block}.navbar .quarto-navbar-tools .quarto-navigation-tool{color:#545555}.navbar .quarto-navbar-tools .quarto-navigation-tool:hover{color:#094fb6}.navbar-nav .dropdown-menu{min-width:220px;font-size:.9rem}.navbar .navbar-nav .nav-link.dropdown-toggle::after{opacity:.75;vertical-align:.175em}.navbar ul.dropdown-menu{padding-top:0;padding-bottom:0}.navbar .dropdown-header{text-transform:uppercase;font-size:.8rem;padding:0 .5rem}.navbar .dropdown-item{padding:.4rem .5rem}.navbar .dropdown-item>i.bi{margin-left:.1rem;margin-right:.25em}.sidebar #quarto-search{margin-top:-1px}.sidebar #quarto-search svg.aa-SubmitIcon{width:16px;height:16px}.sidebar-navigation a{color:inherit}.sidebar-title{margin-top:.25rem;padding-bottom:.5rem;font-size:1.3rem;line-height:1.6rem;visibility:visible}.sidebar-title>a{font-size:inherit;text-decoration:none}.sidebar-title .sidebar-tools-main{margin-top:-6px}@media(max-width: 991.98px){#quarto-sidebar div.sidebar-header{padding-top:.2em}}.sidebar-header-stacked .sidebar-title{margin-top:.6rem}.sidebar-logo{max-width:90%;padding-bottom:.5rem}.sidebar-logo-link{text-decoration:none}.sidebar-navigation li a{text-decoration:none}.sidebar-navigation .quarto-navigation-tool{opacity:.7;font-size:.875rem}#quarto-sidebar>nav>.sidebar-tools-main{margin-left:14px}.sidebar-tools-main{display:inline-flex;margin-left:0px;order:2}.sidebar-tools-main:not(.tools-wide){vertical-align:middle}.sidebar-navigation .quarto-navigation-tool.dropdown-toggle::after{display:none}.sidebar.sidebar-navigation>*{padding-top:1em}.sidebar-item{margin-bottom:.2em;line-height:1rem;margin-top:.4rem}.sidebar-section{padding-left:.5em;padding-bottom:.2em}.sidebar-item .sidebar-item-container{display:flex;justify-content:space-between;cursor:pointer}.sidebar-item-toggle:hover{cursor:pointer}.sidebar-item .sidebar-item-toggle .bi{font-size:.7rem;text-align:center}.sidebar-item .sidebar-item-toggle .bi-chevron-right::before{transition:transform 200ms ease}.sidebar-item .sidebar-item-toggle[aria-expanded=false] .bi-chevron-right::before{transform:none}.sidebar-item .sidebar-item-toggle[aria-expanded=true] .bi-chevron-right::before{transform:rotate(90deg)}.sidebar-item-text{width:100%}.sidebar-navigation .sidebar-divider{margin-left:0;margin-right:0;margin-top:.5rem;margin-bottom:.5rem}@media(max-width: 991.98px){.quarto-secondary-nav{display:block}.quarto-secondary-nav button.quarto-search-button{padding-right:0em;padding-left:2em}.quarto-secondary-nav button.quarto-btn-toggle{margin-left:-0.75rem;margin-right:.15rem}.quarto-secondary-nav nav.quarto-title-breadcrumbs{display:none}.quarto-secondary-nav nav.quarto-page-breadcrumbs{display:flex;align-items:center;padding-right:1em;margin-left:-0.25em}.quarto-secondary-nav nav.quarto-page-breadcrumbs a{text-decoration:none}.quarto-secondary-nav nav.quarto-page-breadcrumbs ol.breadcrumb{margin-bottom:0}}@media(min-width: 992px){.quarto-secondary-nav{display:none}}.quarto-title-breadcrumbs .breadcrumb{margin-bottom:.5em;font-size:.9rem}.quarto-title-breadcrumbs .breadcrumb li:last-of-type a{color:#6c757d}.quarto-secondary-nav .quarto-btn-toggle{color:#595959}.quarto-secondary-nav[aria-expanded=false] .quarto-btn-toggle .bi-chevron-right::before{transform:none}.quarto-secondary-nav[aria-expanded=true] .quarto-btn-toggle .bi-chevron-right::before{transform:rotate(90deg)}.quarto-secondary-nav .quarto-btn-toggle .bi-chevron-right::before{transition:transform 200ms ease}.quarto-secondary-nav{cursor:pointer}.no-decor{text-decoration:none}.quarto-secondary-nav-title{margin-top:.3em;color:#595959;padding-top:4px}.quarto-secondary-nav nav.quarto-page-breadcrumbs{color:#595959}.quarto-secondary-nav nav.quarto-page-breadcrumbs a{color:#595959}.quarto-secondary-nav nav.quarto-page-breadcrumbs a:hover{color:rgba(10,83,190,.8)}.quarto-secondary-nav nav.quarto-page-breadcrumbs .breadcrumb-item::before{color:#8c8c8c}.breadcrumb-item{line-height:1.2rem}div.sidebar-item-container{color:#595959}div.sidebar-item-container:hover,div.sidebar-item-container:focus{color:rgba(10,83,190,.8)}div.sidebar-item-container.disabled{color:rgba(89,89,89,.75)}div.sidebar-item-container .active,div.sidebar-item-container .show>.nav-link,div.sidebar-item-container .sidebar-link>code{color:#0a53be}div.sidebar.sidebar-navigation.rollup.quarto-sidebar-toggle-contents,nav.sidebar.sidebar-navigation:not(.rollup){background-color:#fff}.sidebar.sidebar-navigation:not(.rollup){border-right:1px solid #dee2e6 !important}@media(max-width: 991.98px){.sidebar-navigation .sidebar-item a,.nav-page .nav-page-text,.sidebar-navigation{font-size:1rem}.sidebar-navigation ul.sidebar-section.depth1 .sidebar-section-item{font-size:1.1rem}.sidebar-logo{display:none}.sidebar.sidebar-navigation{position:static;border-bottom:1px solid #dee2e6}.sidebar.sidebar-navigation.collapsing{position:fixed;z-index:1000}.sidebar.sidebar-navigation.show{position:fixed;z-index:1000}.sidebar.sidebar-navigation{min-height:100%}nav.quarto-secondary-nav{background-color:#fff;border-bottom:1px solid #dee2e6}.quarto-banner nav.quarto-secondary-nav{background-color:#f8f9fa;color:#545555;border-top:1px solid #dee2e6}.sidebar .sidebar-footer{visibility:visible;padding-top:1rem;position:inherit}.sidebar-tools-collapse{display:block}}#quarto-sidebar{transition:width .15s ease-in}#quarto-sidebar>*{padding-right:1em}@media(max-width: 991.98px){#quarto-sidebar .sidebar-menu-container{white-space:nowrap;min-width:225px}#quarto-sidebar.show{transition:width .15s ease-out}}@media(min-width: 992px){#quarto-sidebar{display:flex;flex-direction:column}.nav-page .nav-page-text,.sidebar-navigation .sidebar-section .sidebar-item{font-size:.875rem}.sidebar-navigation .sidebar-item{font-size:.925rem}.sidebar.sidebar-navigation{display:block;position:sticky}.sidebar-search{width:100%}.sidebar .sidebar-footer{visibility:visible}}@media(min-width: 992px){#quarto-sidebar-glass{display:none}}@media(max-width: 991.98px){#quarto-sidebar-glass{position:fixed;top:0;bottom:0;left:0;right:0;background-color:rgba(255,255,255,0);transition:background-color .15s ease-in;z-index:-1}#quarto-sidebar-glass.collapsing{z-index:1000}#quarto-sidebar-glass.show{transition:background-color .15s ease-out;background-color:rgba(102,102,102,.4);z-index:1000}}.sidebar .sidebar-footer{padding:.5rem 1rem;align-self:flex-end;color:#6c757d;width:100%}.quarto-page-breadcrumbs .breadcrumb-item+.breadcrumb-item,.quarto-page-breadcrumbs .breadcrumb-item{padding-right:.33em;padding-left:0}.quarto-page-breadcrumbs .breadcrumb-item::before{padding-right:.33em}.quarto-sidebar-footer{font-size:.875em}.sidebar-section .bi-chevron-right{vertical-align:middle}.sidebar-section .bi-chevron-right::before{font-size:.9em}.notransition{-webkit-transition:none !important;-moz-transition:none !important;-o-transition:none !important;transition:none !important}.btn:focus:not(:focus-visible){box-shadow:none}.page-navigation{display:flex;justify-content:space-between}.nav-page{padding-bottom:.75em}.nav-page .bi{font-size:1.8rem;vertical-align:middle}.nav-page .nav-page-text{padding-left:.25em;padding-right:.25em}.nav-page a{color:#6c757d;text-decoration:none;display:flex;align-items:center}.nav-page a:hover{color:#0a58ca}.nav-footer .toc-actions{padding-bottom:.5em;padding-top:.5em}.nav-footer .toc-actions a,.nav-footer .toc-actions a:hover{text-decoration:none}.nav-footer .toc-actions ul{display:flex;list-style:none}.nav-footer .toc-actions ul :first-child{margin-left:auto}.nav-footer .toc-actions ul :last-child{margin-right:auto}.nav-footer .toc-actions ul li{padding-right:1.5em}.nav-footer .toc-actions ul li i.bi{padding-right:.4em}.nav-footer .toc-actions ul li:last-of-type{padding-right:0}.nav-footer{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:space-between;align-items:baseline;text-align:center;padding-top:.5rem;padding-bottom:.5rem;background-color:#fff}body.nav-fixed{padding-top:64px}.nav-footer-contents{color:#6c757d;margin-top:.25rem}.nav-footer{min-height:3.5em;color:#757575}.nav-footer a{color:#757575}.nav-footer .nav-footer-left{font-size:.825em}.nav-footer .nav-footer-center{font-size:.825em}.nav-footer .nav-footer-right{font-size:.825em}.nav-footer-left .footer-items,.nav-footer-center .footer-items,.nav-footer-right .footer-items{display:inline-flex;padding-top:.3em;padding-bottom:.3em;margin-bottom:0em}.nav-footer-left .footer-items .nav-link,.nav-footer-center .footer-items .nav-link,.nav-footer-right .footer-items .nav-link{padding-left:.6em;padding-right:.6em}@media(min-width: 768px){.nav-footer-left{flex:1 1 0px;text-align:left}}@media(max-width: 575.98px){.nav-footer-left{margin-bottom:1em;flex:100%}}@media(min-width: 768px){.nav-footer-right{flex:1 1 0px;text-align:right}}@media(max-width: 575.98px){.nav-footer-right{margin-bottom:1em;flex:100%}}.nav-footer-center{text-align:center;min-height:3em}@media(min-width: 768px){.nav-footer-center{flex:1 1 0px}}.nav-footer-center .footer-items{justify-content:center}@media(max-width: 767.98px){.nav-footer-center{margin-bottom:1em;flex:100%}}@media(max-width: 767.98px){.nav-footer-center{margin-top:3em;order:10}}.navbar .quarto-reader-toggle.reader .quarto-reader-toggle-btn{background-color:#545555;border-radius:3px}@media(max-width: 991.98px){.quarto-reader-toggle{display:none}}.quarto-reader-toggle.reader.quarto-navigation-tool .quarto-reader-toggle-btn{background-color:#595959;border-radius:3px}.quarto-reader-toggle .quarto-reader-toggle-btn{display:inline-flex;padding-left:.2em;padding-right:.2em;margin-left:-0.2em;margin-right:-0.2em;text-align:center}.navbar .quarto-reader-toggle:not(.reader) .bi::before{background-image:url('data:image/svg+xml,')}.navbar .quarto-reader-toggle.reader .bi::before{background-image:url('data:image/svg+xml,')}.sidebar-navigation .quarto-reader-toggle:not(.reader) .bi::before{background-image:url('data:image/svg+xml,')}.sidebar-navigation .quarto-reader-toggle.reader .bi::before{background-image:url('data:image/svg+xml,')}#quarto-back-to-top{display:none;position:fixed;bottom:50px;background-color:#fff;border-radius:.25rem;box-shadow:0 .2rem .5rem #6c757d,0 0 .05rem #6c757d;color:#6c757d;text-decoration:none;font-size:.9em;text-align:center;left:50%;padding:.4rem .8rem;transform:translate(-50%, 0)}#quarto-announcement{padding:.5em;display:flex;justify-content:space-between;margin-bottom:0;font-size:.9em}#quarto-announcement .quarto-announcement-content{margin-right:auto}#quarto-announcement .quarto-announcement-content p{margin-bottom:0}#quarto-announcement .quarto-announcement-icon{margin-right:.5em;font-size:1.2em;margin-top:-0.15em}#quarto-announcement .quarto-announcement-action{cursor:pointer}.aa-DetachedSearchButtonQuery{display:none}.aa-DetachedOverlay ul.aa-List,#quarto-search-results ul.aa-List{list-style:none;padding-left:0}.aa-DetachedOverlay .aa-Panel,#quarto-search-results .aa-Panel{background-color:#fff;position:absolute;z-index:2000}#quarto-search-results .aa-Panel{max-width:400px}#quarto-search input{font-size:.925rem}@media(min-width: 992px){.navbar #quarto-search{margin-left:.25rem;order:999}}.navbar.navbar-expand-sm #quarto-search,.navbar.navbar-expand-md #quarto-search{order:999}@media(min-width: 992px){.navbar .quarto-navbar-tools{order:900}}@media(min-width: 992px){.navbar .quarto-navbar-tools.tools-end{margin-left:auto !important}}@media(max-width: 991.98px){#quarto-sidebar .sidebar-search{display:none}}#quarto-sidebar .sidebar-search .aa-Autocomplete{width:100%}.navbar .aa-Autocomplete .aa-Form{width:180px}.navbar #quarto-search.type-overlay .aa-Autocomplete{width:40px}.navbar #quarto-search.type-overlay .aa-Autocomplete .aa-Form{background-color:inherit;border:none}.navbar #quarto-search.type-overlay .aa-Autocomplete .aa-Form:focus-within{box-shadow:none;outline:none}.navbar #quarto-search.type-overlay .aa-Autocomplete .aa-Form .aa-InputWrapper{display:none}.navbar #quarto-search.type-overlay .aa-Autocomplete .aa-Form .aa-InputWrapper:focus-within{display:inherit}.navbar #quarto-search.type-overlay .aa-Autocomplete .aa-Form .aa-Label svg,.navbar #quarto-search.type-overlay .aa-Autocomplete .aa-Form .aa-LoadingIndicator svg{width:26px;height:26px;color:#545555;opacity:1}.navbar #quarto-search.type-overlay .aa-Autocomplete svg.aa-SubmitIcon{width:26px;height:26px;color:#545555;opacity:1}.aa-Autocomplete .aa-Form,.aa-DetachedFormContainer .aa-Form{align-items:center;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem;color:#212529;display:flex;line-height:1em;margin:0;position:relative;width:100%}.aa-Autocomplete .aa-Form:focus-within,.aa-DetachedFormContainer .aa-Form:focus-within{box-shadow:rgba(13,110,253,.6) 0 0 0 1px;outline:currentColor none medium}.aa-Autocomplete .aa-Form .aa-InputWrapperPrefix,.aa-DetachedFormContainer .aa-Form .aa-InputWrapperPrefix{align-items:center;display:flex;flex-shrink:0;order:1}.aa-Autocomplete .aa-Form .aa-InputWrapperPrefix .aa-Label,.aa-Autocomplete .aa-Form .aa-InputWrapperPrefix .aa-LoadingIndicator,.aa-DetachedFormContainer .aa-Form .aa-InputWrapperPrefix .aa-Label,.aa-DetachedFormContainer .aa-Form .aa-InputWrapperPrefix .aa-LoadingIndicator{cursor:initial;flex-shrink:0;padding:0;text-align:left}.aa-Autocomplete .aa-Form .aa-InputWrapperPrefix .aa-Label svg,.aa-Autocomplete .aa-Form .aa-InputWrapperPrefix .aa-LoadingIndicator svg,.aa-DetachedFormContainer .aa-Form .aa-InputWrapperPrefix .aa-Label svg,.aa-DetachedFormContainer .aa-Form .aa-InputWrapperPrefix .aa-LoadingIndicator svg{color:#212529;opacity:.5}.aa-Autocomplete .aa-Form .aa-InputWrapperPrefix .aa-SubmitButton,.aa-DetachedFormContainer .aa-Form .aa-InputWrapperPrefix .aa-SubmitButton{appearance:none;background:none;border:0;margin:0}.aa-Autocomplete .aa-Form .aa-InputWrapperPrefix .aa-LoadingIndicator,.aa-DetachedFormContainer .aa-Form .aa-InputWrapperPrefix .aa-LoadingIndicator{align-items:center;display:flex;justify-content:center}.aa-Autocomplete .aa-Form .aa-InputWrapperPrefix .aa-LoadingIndicator[hidden],.aa-DetachedFormContainer .aa-Form .aa-InputWrapperPrefix .aa-LoadingIndicator[hidden]{display:none}.aa-Autocomplete .aa-Form .aa-InputWrapper,.aa-DetachedFormContainer .aa-Form .aa-InputWrapper{order:3;position:relative;width:100%}.aa-Autocomplete .aa-Form .aa-InputWrapper .aa-Input,.aa-DetachedFormContainer .aa-Form .aa-InputWrapper .aa-Input{appearance:none;background:none;border:0;color:#212529;font:inherit;height:calc(1.5em + .1rem + 2px);padding:0;width:100%}.aa-Autocomplete .aa-Form .aa-InputWrapper .aa-Input::placeholder,.aa-DetachedFormContainer .aa-Form .aa-InputWrapper .aa-Input::placeholder{color:#212529;opacity:.8}.aa-Autocomplete .aa-Form .aa-InputWrapper .aa-Input:focus,.aa-DetachedFormContainer .aa-Form .aa-InputWrapper .aa-Input:focus{border-color:none;box-shadow:none;outline:none}.aa-Autocomplete .aa-Form .aa-InputWrapper .aa-Input::-webkit-search-decoration,.aa-Autocomplete .aa-Form .aa-InputWrapper .aa-Input::-webkit-search-cancel-button,.aa-Autocomplete .aa-Form .aa-InputWrapper .aa-Input::-webkit-search-results-button,.aa-Autocomplete .aa-Form .aa-InputWrapper .aa-Input::-webkit-search-results-decoration,.aa-DetachedFormContainer .aa-Form .aa-InputWrapper .aa-Input::-webkit-search-decoration,.aa-DetachedFormContainer .aa-Form .aa-InputWrapper .aa-Input::-webkit-search-cancel-button,.aa-DetachedFormContainer .aa-Form .aa-InputWrapper .aa-Input::-webkit-search-results-button,.aa-DetachedFormContainer .aa-Form .aa-InputWrapper .aa-Input::-webkit-search-results-decoration{display:none}.aa-Autocomplete .aa-Form .aa-InputWrapperSuffix,.aa-DetachedFormContainer .aa-Form .aa-InputWrapperSuffix{align-items:center;display:flex;order:4}.aa-Autocomplete .aa-Form .aa-InputWrapperSuffix .aa-ClearButton,.aa-DetachedFormContainer .aa-Form .aa-InputWrapperSuffix .aa-ClearButton{align-items:center;background:none;border:0;color:#212529;opacity:.8;cursor:pointer;display:flex;margin:0;width:calc(1.5em + .1rem + 2px)}.aa-Autocomplete .aa-Form .aa-InputWrapperSuffix .aa-ClearButton:hover,.aa-Autocomplete .aa-Form .aa-InputWrapperSuffix .aa-ClearButton:focus,.aa-DetachedFormContainer .aa-Form .aa-InputWrapperSuffix .aa-ClearButton:hover,.aa-DetachedFormContainer .aa-Form .aa-InputWrapperSuffix .aa-ClearButton:focus{color:#212529;opacity:.8}.aa-Autocomplete .aa-Form .aa-InputWrapperSuffix .aa-ClearButton[hidden],.aa-DetachedFormContainer .aa-Form .aa-InputWrapperSuffix .aa-ClearButton[hidden]{display:none}.aa-Autocomplete .aa-Form .aa-InputWrapperSuffix .aa-ClearButton svg,.aa-DetachedFormContainer .aa-Form .aa-InputWrapperSuffix .aa-ClearButton svg{width:calc(1.5em + 0.75rem + calc(1px * 2))}.aa-Autocomplete .aa-Form .aa-InputWrapperSuffix .aa-CopyButton,.aa-DetachedFormContainer .aa-Form .aa-InputWrapperSuffix .aa-CopyButton{border:none;align-items:center;background:none;color:#212529;opacity:.4;font-size:.7rem;cursor:pointer;display:none;margin:0;width:calc(1em + .1rem + 2px)}.aa-Autocomplete .aa-Form .aa-InputWrapperSuffix .aa-CopyButton:hover,.aa-Autocomplete .aa-Form .aa-InputWrapperSuffix .aa-CopyButton:focus,.aa-DetachedFormContainer .aa-Form .aa-InputWrapperSuffix .aa-CopyButton:hover,.aa-DetachedFormContainer .aa-Form .aa-InputWrapperSuffix .aa-CopyButton:focus{color:#212529;opacity:.8}.aa-Autocomplete .aa-Form .aa-InputWrapperSuffix .aa-CopyButton[hidden],.aa-DetachedFormContainer .aa-Form .aa-InputWrapperSuffix .aa-CopyButton[hidden]{display:none}.aa-PanelLayout:empty{display:none}.quarto-search-no-results.no-query{display:none}.aa-Source:has(.no-query){display:none}#quarto-search-results .aa-Panel{border:solid #dee2e6 1px}#quarto-search-results .aa-SourceNoResults{width:398px}.aa-DetachedOverlay .aa-Panel,#quarto-search-results .aa-Panel{max-height:65vh;overflow-y:auto;font-size:.925rem}.aa-DetachedOverlay .aa-SourceNoResults,#quarto-search-results .aa-SourceNoResults{height:60px;display:flex;justify-content:center;align-items:center}.aa-DetachedOverlay .search-error,#quarto-search-results .search-error{padding-top:10px;padding-left:20px;padding-right:20px;cursor:default}.aa-DetachedOverlay .search-error .search-error-title,#quarto-search-results .search-error .search-error-title{font-size:1.1rem;margin-bottom:.5rem}.aa-DetachedOverlay .search-error .search-error-title .search-error-icon,#quarto-search-results .search-error .search-error-title .search-error-icon{margin-right:8px}.aa-DetachedOverlay .search-error .search-error-text,#quarto-search-results .search-error .search-error-text{font-weight:300}.aa-DetachedOverlay .search-result-text,#quarto-search-results .search-result-text{font-weight:300;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.2rem;max-height:2.4rem}.aa-DetachedOverlay .aa-SourceHeader .search-result-header,#quarto-search-results .aa-SourceHeader .search-result-header{font-size:.875rem;background-color:#f2f2f2;padding-left:14px;padding-bottom:4px;padding-top:4px}.aa-DetachedOverlay .aa-SourceHeader .search-result-header-no-results,#quarto-search-results .aa-SourceHeader .search-result-header-no-results{display:none}.aa-DetachedOverlay .aa-SourceFooter .algolia-search-logo,#quarto-search-results .aa-SourceFooter .algolia-search-logo{width:110px;opacity:.85;margin:8px;float:right}.aa-DetachedOverlay .search-result-section,#quarto-search-results .search-result-section{font-size:.925em}.aa-DetachedOverlay a.search-result-link,#quarto-search-results a.search-result-link{color:inherit;text-decoration:none}.aa-DetachedOverlay li.aa-Item[aria-selected=true] .search-item,#quarto-search-results li.aa-Item[aria-selected=true] .search-item{background-color:#0d6efd}.aa-DetachedOverlay li.aa-Item[aria-selected=true] .search-item.search-result-more,.aa-DetachedOverlay li.aa-Item[aria-selected=true] .search-item .search-result-section,.aa-DetachedOverlay li.aa-Item[aria-selected=true] .search-item .search-result-text,.aa-DetachedOverlay li.aa-Item[aria-selected=true] .search-item .search-result-title-container,.aa-DetachedOverlay li.aa-Item[aria-selected=true] .search-item .search-result-text-container,#quarto-search-results li.aa-Item[aria-selected=true] .search-item.search-result-more,#quarto-search-results li.aa-Item[aria-selected=true] .search-item .search-result-section,#quarto-search-results li.aa-Item[aria-selected=true] .search-item .search-result-text,#quarto-search-results li.aa-Item[aria-selected=true] .search-item .search-result-title-container,#quarto-search-results li.aa-Item[aria-selected=true] .search-item .search-result-text-container{color:#fff;background-color:#0d6efd}.aa-DetachedOverlay li.aa-Item[aria-selected=true] .search-item mark.search-match,.aa-DetachedOverlay li.aa-Item[aria-selected=true] .search-item .search-match.mark,#quarto-search-results li.aa-Item[aria-selected=true] .search-item mark.search-match,#quarto-search-results li.aa-Item[aria-selected=true] .search-item .search-match.mark{color:#fff;background-color:#3586fd}.aa-DetachedOverlay li.aa-Item[aria-selected=false] .search-item,#quarto-search-results li.aa-Item[aria-selected=false] .search-item{background-color:#fff}.aa-DetachedOverlay li.aa-Item[aria-selected=false] .search-item.search-result-more,.aa-DetachedOverlay li.aa-Item[aria-selected=false] .search-item .search-result-section,.aa-DetachedOverlay li.aa-Item[aria-selected=false] .search-item .search-result-text,.aa-DetachedOverlay li.aa-Item[aria-selected=false] .search-item .search-result-title-container,.aa-DetachedOverlay li.aa-Item[aria-selected=false] .search-item .search-result-text-container,#quarto-search-results li.aa-Item[aria-selected=false] .search-item.search-result-more,#quarto-search-results li.aa-Item[aria-selected=false] .search-item .search-result-section,#quarto-search-results li.aa-Item[aria-selected=false] .search-item .search-result-text,#quarto-search-results li.aa-Item[aria-selected=false] .search-item .search-result-title-container,#quarto-search-results li.aa-Item[aria-selected=false] .search-item .search-result-text-container{color:#212529}.aa-DetachedOverlay li.aa-Item[aria-selected=false] .search-item mark.search-match,.aa-DetachedOverlay li.aa-Item[aria-selected=false] .search-item .search-match.mark,#quarto-search-results li.aa-Item[aria-selected=false] .search-item mark.search-match,#quarto-search-results li.aa-Item[aria-selected=false] .search-item .search-match.mark{color:inherit;background-color:#e1edff}.aa-DetachedOverlay .aa-Item .search-result-doc:not(.document-selectable) .search-result-title-container,#quarto-search-results .aa-Item .search-result-doc:not(.document-selectable) .search-result-title-container{background-color:#fff;color:#212529}.aa-DetachedOverlay .aa-Item .search-result-doc:not(.document-selectable) .search-result-text-container,#quarto-search-results .aa-Item .search-result-doc:not(.document-selectable) .search-result-text-container{padding-top:0px}.aa-DetachedOverlay li.aa-Item .search-result-doc.document-selectable .search-result-text-container,#quarto-search-results li.aa-Item .search-result-doc.document-selectable .search-result-text-container{margin-top:-4px}.aa-DetachedOverlay .aa-Item,#quarto-search-results .aa-Item{cursor:pointer}.aa-DetachedOverlay .aa-Item .search-item,#quarto-search-results .aa-Item .search-item{border-left:none;border-right:none;border-top:none;background-color:#fff;border-color:#dee2e6;color:#212529}.aa-DetachedOverlay .aa-Item .search-item p,#quarto-search-results .aa-Item .search-item p{margin-top:0;margin-bottom:0}.aa-DetachedOverlay .aa-Item .search-item i.bi,#quarto-search-results .aa-Item .search-item i.bi{padding-left:8px;padding-right:8px;font-size:1.3em}.aa-DetachedOverlay .aa-Item .search-item .search-result-title,#quarto-search-results .aa-Item .search-item .search-result-title{margin-top:.3em;margin-bottom:0em}.aa-DetachedOverlay .aa-Item .search-item .search-result-crumbs,#quarto-search-results .aa-Item .search-item .search-result-crumbs{white-space:nowrap;text-overflow:ellipsis;font-size:.8em;font-weight:300;margin-right:1em}.aa-DetachedOverlay .aa-Item .search-item .search-result-crumbs:not(.search-result-crumbs-wrap),#quarto-search-results .aa-Item .search-item .search-result-crumbs:not(.search-result-crumbs-wrap){max-width:30%;margin-left:auto;margin-top:.5em;margin-bottom:.1rem}.aa-DetachedOverlay .aa-Item .search-item .search-result-crumbs.search-result-crumbs-wrap,#quarto-search-results .aa-Item .search-item .search-result-crumbs.search-result-crumbs-wrap{flex-basis:100%;margin-top:0em;margin-bottom:.2em;margin-left:37px}.aa-DetachedOverlay .aa-Item .search-result-title-container,#quarto-search-results .aa-Item .search-result-title-container{font-size:1em;display:flex;flex-wrap:wrap;padding:6px 4px 6px 4px}.aa-DetachedOverlay .aa-Item .search-result-text-container,#quarto-search-results .aa-Item .search-result-text-container{padding-bottom:8px;padding-right:8px;margin-left:42px}.aa-DetachedOverlay .aa-Item .search-result-doc-section,.aa-DetachedOverlay .aa-Item .search-result-more,#quarto-search-results .aa-Item .search-result-doc-section,#quarto-search-results .aa-Item .search-result-more{padding-top:8px;padding-bottom:8px;padding-left:44px}.aa-DetachedOverlay .aa-Item .search-result-more,#quarto-search-results .aa-Item .search-result-more{font-size:.8em;font-weight:400}.aa-DetachedOverlay .aa-Item .search-result-doc,#quarto-search-results .aa-Item .search-result-doc{border-top:1px solid #dee2e6}.aa-DetachedSearchButton{background:none;border:none}.aa-DetachedSearchButton .aa-DetachedSearchButtonPlaceholder{display:none}.navbar .aa-DetachedSearchButton .aa-DetachedSearchButtonIcon{color:#545555}.sidebar-tools-collapse #quarto-search,.sidebar-tools-main #quarto-search{display:inline}.sidebar-tools-collapse #quarto-search .aa-Autocomplete,.sidebar-tools-main #quarto-search .aa-Autocomplete{display:inline}.sidebar-tools-collapse #quarto-search .aa-DetachedSearchButton,.sidebar-tools-main #quarto-search .aa-DetachedSearchButton{padding-left:4px;padding-right:4px}.sidebar-tools-collapse #quarto-search .aa-DetachedSearchButton .aa-DetachedSearchButtonIcon,.sidebar-tools-main #quarto-search .aa-DetachedSearchButton .aa-DetachedSearchButtonIcon{color:#595959}.sidebar-tools-collapse #quarto-search .aa-DetachedSearchButton .aa-DetachedSearchButtonIcon .aa-SubmitIcon,.sidebar-tools-main #quarto-search .aa-DetachedSearchButton .aa-DetachedSearchButtonIcon .aa-SubmitIcon{margin-top:-3px}.aa-DetachedContainer{background:rgba(255,255,255,.65);width:90%;bottom:0;box-shadow:rgba(222,226,230,.6) 0 0 0 1px;outline:currentColor none medium;display:flex;flex-direction:column;left:0;margin:0;overflow:hidden;padding:0;position:fixed;right:0;top:0;z-index:1101}.aa-DetachedContainer::after{height:32px}.aa-DetachedContainer .aa-SourceHeader{margin:var(--aa-spacing-half) 0 var(--aa-spacing-half) 2px}.aa-DetachedContainer .aa-Panel{background-color:#fff;border-radius:0;box-shadow:none;flex-grow:1;margin:0;padding:0;position:relative}.aa-DetachedContainer .aa-PanelLayout{bottom:0;box-shadow:none;left:0;margin:0;max-height:none;overflow-y:auto;position:absolute;right:0;top:0;width:100%}.aa-DetachedFormContainer{background-color:#fff;border-bottom:1px solid #dee2e6;display:flex;flex-direction:row;justify-content:space-between;margin:0;padding:.5em}.aa-DetachedCancelButton{background:none;font-size:.8em;border:0;border-radius:3px;color:#212529;cursor:pointer;margin:0 0 0 .5em;padding:0 .5em}.aa-DetachedCancelButton:hover,.aa-DetachedCancelButton:focus{box-shadow:rgba(13,110,253,.6) 0 0 0 1px;outline:currentColor none medium}.aa-DetachedContainer--modal{bottom:inherit;height:auto;margin:0 auto;position:absolute;top:100px;border-radius:6px;max-width:850px}@media(max-width: 575.98px){.aa-DetachedContainer--modal{width:100%;top:0px;border-radius:0px;border:none}}.aa-DetachedContainer--modal .aa-PanelLayout{max-height:var(--aa-detached-modal-max-height);padding-bottom:var(--aa-spacing-half);position:static}.aa-Detached{height:100vh;overflow:hidden}.aa-DetachedOverlay{background-color:rgba(33,37,41,.4);position:fixed;left:0;right:0;top:0;margin:0;padding:0;height:100vh;z-index:1100}.quarto-dashboard.nav-fixed.dashboard-sidebar #quarto-content.quarto-dashboard-content{padding:0em}.quarto-dashboard #quarto-content.quarto-dashboard-content{padding:1em}.quarto-dashboard #quarto-content.quarto-dashboard-content>*{padding-top:0}@media(min-width: 576px){.quarto-dashboard{height:100%}}.quarto-dashboard .card.valuebox.bslib-card.bg-primary{background-color:#0d6efd !important}.quarto-dashboard .card.valuebox.bslib-card.bg-secondary{background-color:#6c757d !important}.quarto-dashboard .card.valuebox.bslib-card.bg-success{background-color:#198754 !important}.quarto-dashboard .card.valuebox.bslib-card.bg-info{background-color:#0dcaf0 !important}.quarto-dashboard .card.valuebox.bslib-card.bg-warning{background-color:#ffc107 !important}.quarto-dashboard .card.valuebox.bslib-card.bg-danger{background-color:#dc3545 !important}.quarto-dashboard .card.valuebox.bslib-card.bg-light{background-color:#f8f9fa !important}.quarto-dashboard .card.valuebox.bslib-card.bg-dark{background-color:#212529 !important}.quarto-dashboard.dashboard-fill{display:flex;flex-direction:column}.quarto-dashboard #quarto-appendix{display:none}.quarto-dashboard #quarto-header #quarto-dashboard-header{border-top:solid 1px #dae0e5;border-bottom:solid 1px #dae0e5}.quarto-dashboard #quarto-header #quarto-dashboard-header>nav{padding-left:1em;padding-right:1em}.quarto-dashboard #quarto-header #quarto-dashboard-header>nav .navbar-brand-container{padding-left:0}.quarto-dashboard #quarto-header #quarto-dashboard-header .navbar-toggler{margin-right:0}.quarto-dashboard #quarto-header #quarto-dashboard-header .navbar-toggler-icon{height:1em;width:1em;background-image:url('data:image/svg+xml,')}.quarto-dashboard #quarto-header #quarto-dashboard-header .navbar-brand-container{padding-right:1em}.quarto-dashboard #quarto-header #quarto-dashboard-header .navbar-title{font-size:1.1em}.quarto-dashboard #quarto-header #quarto-dashboard-header .navbar-nav{font-size:.9em}.quarto-dashboard #quarto-dashboard-header .navbar{padding:0}.quarto-dashboard #quarto-dashboard-header .navbar .navbar-container{padding-left:1em}.quarto-dashboard #quarto-dashboard-header .navbar.slim .navbar-brand-container .nav-link,.quarto-dashboard #quarto-dashboard-header .navbar.slim .navbar-nav .nav-link{padding:.7em}.quarto-dashboard #quarto-dashboard-header .navbar .quarto-color-scheme-toggle{order:9}.quarto-dashboard #quarto-dashboard-header .navbar .navbar-toggler{margin-left:.5em;order:10}.quarto-dashboard #quarto-dashboard-header .navbar .navbar-nav .nav-link{padding:.5em;height:100%;display:flex;align-items:center}.quarto-dashboard #quarto-dashboard-header .navbar .navbar-nav .active{background-color:#e0e5e9}.quarto-dashboard #quarto-dashboard-header .navbar .navbar-brand-container{padding:.5em .5em .5em 0;display:flex;flex-direction:row;margin-right:2em;align-items:center}@media(max-width: 767.98px){.quarto-dashboard #quarto-dashboard-header .navbar .navbar-brand-container{margin-right:auto}}.quarto-dashboard #quarto-dashboard-header .navbar .navbar-collapse{align-self:stretch}@media(min-width: 768px){.quarto-dashboard #quarto-dashboard-header .navbar .navbar-collapse{order:8}}@media(max-width: 767.98px){.quarto-dashboard #quarto-dashboard-header .navbar .navbar-collapse{order:1000;padding-bottom:.5em}}.quarto-dashboard #quarto-dashboard-header .navbar .navbar-collapse .navbar-nav{align-self:stretch}.quarto-dashboard #quarto-dashboard-header .navbar .navbar-title{font-size:1.25em;line-height:1.1em;display:flex;flex-direction:row;flex-wrap:wrap;align-items:baseline}.quarto-dashboard #quarto-dashboard-header .navbar .navbar-title .navbar-title-text{margin-right:.4em}.quarto-dashboard #quarto-dashboard-header .navbar .navbar-title a{text-decoration:none;color:inherit}.quarto-dashboard #quarto-dashboard-header .navbar .navbar-subtitle,.quarto-dashboard #quarto-dashboard-header .navbar .navbar-author{font-size:.9rem;margin-right:.5em}.quarto-dashboard #quarto-dashboard-header .navbar .navbar-author{margin-left:auto}.quarto-dashboard #quarto-dashboard-header .navbar .navbar-logo{max-height:48px;min-height:30px;object-fit:cover;margin-right:1em}.quarto-dashboard #quarto-dashboard-header .navbar .quarto-dashboard-links{order:9;padding-right:1em}.quarto-dashboard #quarto-dashboard-header .navbar .quarto-dashboard-link-text{margin-left:.25em}.quarto-dashboard #quarto-dashboard-header .navbar .quarto-dashboard-link{padding-right:0em;padding-left:.7em;text-decoration:none;color:#545555}.quarto-dashboard .page-layout-custom .tab-content{padding:0;border:none}.quarto-dashboard-img-contain{height:100%;width:100%;object-fit:contain}@media(max-width: 575.98px){.quarto-dashboard .bslib-grid{grid-template-rows:minmax(1em, max-content) !important}.quarto-dashboard .sidebar-content{height:inherit}.quarto-dashboard .page-layout-custom{min-height:100vh}}.quarto-dashboard.dashboard-toolbar>.page-layout-custom,.quarto-dashboard.dashboard-sidebar>.page-layout-custom{padding:0}.quarto-dashboard .quarto-dashboard-content.quarto-dashboard-pages{padding:0}.quarto-dashboard .callout{margin-bottom:0;margin-top:0}.quarto-dashboard .html-fill-container figure{overflow:hidden}.quarto-dashboard bslib-tooltip .rounded-pill{border:solid #6c757d 1px}.quarto-dashboard bslib-tooltip .rounded-pill .svg{fill:#212529}.quarto-dashboard .tabset .dashboard-card-no-title .nav-tabs{margin-left:0;margin-right:auto}.quarto-dashboard .tabset .tab-content{border:none}.quarto-dashboard .tabset .card-header .nav-link[role=tab]{margin-top:-6px;padding-top:6px;padding-bottom:6px}.quarto-dashboard .card.valuebox,.quarto-dashboard .card.bslib-value-box{min-height:3rem}.quarto-dashboard .card.valuebox .card-body,.quarto-dashboard .card.bslib-value-box .card-body{padding:0}.quarto-dashboard .bslib-value-box .value-box-value{font-size:clamp(.1em,15cqw,5em)}.quarto-dashboard .bslib-value-box .value-box-showcase .bi{font-size:clamp(.1em,max(18cqw,5.2cqh),5em);text-align:center;height:1em}.quarto-dashboard .bslib-value-box .value-box-showcase .bi::before{vertical-align:1em}.quarto-dashboard .bslib-value-box .value-box-area{margin-top:auto;margin-bottom:auto}.quarto-dashboard .card figure.quarto-float{display:flex;flex-direction:column;align-items:center}.quarto-dashboard .dashboard-scrolling{padding:1em}.quarto-dashboard .full-height{height:100%}.quarto-dashboard .showcase-bottom .value-box-grid{display:grid;grid-template-columns:1fr;grid-template-rows:1fr auto;grid-template-areas:"top" "bottom"}.quarto-dashboard .showcase-bottom .value-box-grid .value-box-showcase{grid-area:bottom;padding:0;margin:0}.quarto-dashboard .showcase-bottom .value-box-grid .value-box-showcase i.bi{font-size:4rem}.quarto-dashboard .showcase-bottom .value-box-grid .value-box-area{grid-area:top}.quarto-dashboard .tab-content{margin-bottom:0}.quarto-dashboard .bslib-card .bslib-navs-card-title{justify-content:stretch;align-items:end}.quarto-dashboard .card-header{display:flex;flex-wrap:wrap;justify-content:space-between}.quarto-dashboard .card-header .card-title{display:flex;flex-direction:column;justify-content:center;margin-bottom:0}.quarto-dashboard .tabset .card-toolbar{margin-bottom:1em}.quarto-dashboard .bslib-grid>.bslib-sidebar-layout{border:none;gap:var(--bslib-spacer, 1rem)}.quarto-dashboard .bslib-grid>.bslib-sidebar-layout>.main{padding:0}.quarto-dashboard .bslib-grid>.bslib-sidebar-layout>.sidebar{border-radius:.25rem;border:1px solid rgba(0,0,0,.175)}.quarto-dashboard .bslib-grid>.bslib-sidebar-layout>.collapse-toggle{display:none}@media(max-width: 767.98px){.quarto-dashboard .bslib-grid>.bslib-sidebar-layout{grid-template-columns:1fr;grid-template-rows:max-content 1fr}.quarto-dashboard .bslib-grid>.bslib-sidebar-layout>.main{grid-column:1;grid-row:2}.quarto-dashboard .bslib-grid>.bslib-sidebar-layout .sidebar{grid-column:1;grid-row:1}}.quarto-dashboard .sidebar-right .sidebar{padding-left:2.5em}.quarto-dashboard .sidebar-right .collapse-toggle{left:2px}.quarto-dashboard .quarto-dashboard .sidebar-right button.collapse-toggle:not(.transitioning){left:unset}.quarto-dashboard aside.sidebar{padding-left:1em;padding-right:1em;background-color:rgba(52,58,64,.25);color:#212529}.quarto-dashboard .bslib-sidebar-layout>div.main{padding:.7em}.quarto-dashboard .bslib-sidebar-layout button.collapse-toggle{margin-top:.3em}.quarto-dashboard .bslib-sidebar-layout .collapse-toggle{top:0}.quarto-dashboard .bslib-sidebar-layout.sidebar-collapsed:not(.transitioning):not(.sidebar-right) .collapse-toggle{left:2px}.quarto-dashboard .sidebar>section>.h3:first-of-type{margin-top:0em}.quarto-dashboard .sidebar .h3,.quarto-dashboard .sidebar .h4,.quarto-dashboard .sidebar .h5,.quarto-dashboard .sidebar .h6{margin-top:.5em}.quarto-dashboard .sidebar form{flex-direction:column;align-items:start;margin-bottom:1em}.quarto-dashboard .sidebar form div[class*=oi-][class$=-input]{flex-direction:column}.quarto-dashboard .sidebar form[class*=oi-][class$=-toggle]{flex-direction:row-reverse;align-items:center;justify-content:start}.quarto-dashboard .sidebar form input[type=range]{margin-top:.5em;margin-right:.8em;margin-left:1em}.quarto-dashboard .sidebar label{width:fit-content}.quarto-dashboard .sidebar .card-body{margin-bottom:2em}.quarto-dashboard .sidebar .shiny-input-container{margin-bottom:1em}.quarto-dashboard .sidebar .shiny-options-group{margin-top:0}.quarto-dashboard .sidebar .control-label{margin-bottom:.3em}.quarto-dashboard .card .card-body .quarto-layout-row{align-items:stretch}.quarto-dashboard .toolbar{font-size:.9em;display:flex;flex-direction:row;border-top:solid 1px #c7c9cd;padding:1em;flex-wrap:wrap;background-color:rgba(52,58,64,.25)}.quarto-dashboard .toolbar .cell-output-display{display:flex}.quarto-dashboard .toolbar .shiny-input-container{padding-bottom:.5em;margin-bottom:.5em;width:inherit}.quarto-dashboard .toolbar .shiny-input-container>.checkbox:first-child{margin-top:6px}.quarto-dashboard .toolbar>*:last-child{margin-right:0}.quarto-dashboard .toolbar>*>*{margin-right:1em;align-items:baseline}.quarto-dashboard .toolbar>*>*>a{text-decoration:none;margin-top:auto;margin-bottom:auto}.quarto-dashboard .toolbar .shiny-input-container{padding-bottom:0;margin-bottom:0}.quarto-dashboard .toolbar .shiny-input-container>*{flex-shrink:0;flex-grow:0}.quarto-dashboard .toolbar .form-group.shiny-input-container:not([role=group])>label{margin-bottom:0}.quarto-dashboard .toolbar .shiny-input-container.no-baseline{align-items:start;padding-top:6px}.quarto-dashboard .toolbar .shiny-input-container{display:flex;align-items:baseline}.quarto-dashboard .toolbar .shiny-input-container label{padding-right:.4em}.quarto-dashboard .toolbar .shiny-input-container .bslib-input-switch{margin-top:6px}.quarto-dashboard .toolbar input[type=text]{line-height:1;width:inherit}.quarto-dashboard .toolbar .input-daterange{width:inherit}.quarto-dashboard .toolbar .input-daterange input[type=text]{height:2.4em;width:10em}.quarto-dashboard .toolbar .input-daterange .input-group-addon{height:auto;padding:0;margin-left:-5px !important;margin-right:-5px}.quarto-dashboard .toolbar .input-daterange .input-group-addon .input-group-text{padding-top:0;padding-bottom:0;height:100%}.quarto-dashboard .toolbar span.irs.irs--shiny{width:10em}.quarto-dashboard .toolbar span.irs.irs--shiny .irs-line{top:9px}.quarto-dashboard .toolbar span.irs.irs--shiny .irs-min,.quarto-dashboard .toolbar span.irs.irs--shiny .irs-max,.quarto-dashboard .toolbar span.irs.irs--shiny .irs-from,.quarto-dashboard .toolbar span.irs.irs--shiny .irs-to,.quarto-dashboard .toolbar span.irs.irs--shiny .irs-single{top:20px}.quarto-dashboard .toolbar span.irs.irs--shiny .irs-bar{top:8px}.quarto-dashboard .toolbar span.irs.irs--shiny .irs-handle{top:0px}.quarto-dashboard .toolbar .shiny-input-checkboxgroup>label{margin-top:6px}.quarto-dashboard .toolbar .shiny-input-checkboxgroup>.shiny-options-group{margin-top:0;align-items:baseline}.quarto-dashboard .toolbar .shiny-input-radiogroup>label{margin-top:6px}.quarto-dashboard .toolbar .shiny-input-radiogroup>.shiny-options-group{align-items:baseline;margin-top:0}.quarto-dashboard .toolbar .shiny-input-radiogroup>.shiny-options-group>.radio{margin-right:.3em}.quarto-dashboard .toolbar .form-select{padding-top:.2em;padding-bottom:.2em}.quarto-dashboard .toolbar .shiny-input-select{min-width:6em}.quarto-dashboard .toolbar div.checkbox{margin-bottom:0px}.quarto-dashboard .toolbar>.checkbox:first-child{margin-top:6px}.quarto-dashboard .toolbar form{width:fit-content}.quarto-dashboard .toolbar form label{padding-top:.2em;padding-bottom:.2em;width:fit-content}.quarto-dashboard .toolbar form input[type=date]{width:fit-content}.quarto-dashboard .toolbar form input[type=color]{width:3em}.quarto-dashboard .toolbar form button{padding:.4em}.quarto-dashboard .toolbar form select{width:fit-content}.quarto-dashboard .toolbar>*{font-size:.9em;flex-grow:0}.quarto-dashboard .toolbar .shiny-input-container label{margin-bottom:1px}.quarto-dashboard .toolbar-bottom{margin-top:1em;margin-bottom:0 !important;order:2}.quarto-dashboard .quarto-dashboard-content>.dashboard-toolbar-container>.toolbar-content>.tab-content>.tab-pane>*:not(.bslib-sidebar-layout){padding:1em}.quarto-dashboard .quarto-dashboard-content>.dashboard-toolbar-container>.toolbar-content>*:not(.tab-content){padding:1em}.quarto-dashboard .quarto-dashboard-content>.tab-content>.dashboard-page>.dashboard-toolbar-container>.toolbar-content,.quarto-dashboard .quarto-dashboard-content>.tab-content>.dashboard-page:not(.dashboard-sidebar-container)>*:not(.dashboard-toolbar-container){padding:1em}.quarto-dashboard .toolbar-content{padding:0}.quarto-dashboard .quarto-dashboard-content.quarto-dashboard-pages .tab-pane>.dashboard-toolbar-container .toolbar{border-radius:0;margin-bottom:0}.quarto-dashboard .dashboard-toolbar-container.toolbar-toplevel .toolbar{border-bottom:1px solid rgba(0,0,0,.175)}.quarto-dashboard .dashboard-toolbar-container.toolbar-toplevel .toolbar-bottom{margin-top:0}.quarto-dashboard .dashboard-toolbar-container:not(.toolbar-toplevel) .toolbar{margin-bottom:1em;border-top:none;border-radius:.25rem;border:1px solid rgba(0,0,0,.175)}.quarto-dashboard .vega-embed.has-actions details{width:1.7em;height:2em;position:absolute !important;top:0;right:0}.quarto-dashboard .dashboard-toolbar-container{padding:0}.quarto-dashboard .card .card-header p:last-child,.quarto-dashboard .card .card-footer p:last-child{margin-bottom:0}.quarto-dashboard .card .card-body>.h4:first-child{margin-top:0}.quarto-dashboard .card .card-body{z-index:4}@media(max-width: 767.98px){.quarto-dashboard .card .card-body .itables div.dataTables_wrapper div.dataTables_length,.quarto-dashboard .card .card-body .itables div.dataTables_wrapper div.dataTables_info,.quarto-dashboard .card .card-body .itables div.dataTables_wrapper div.dataTables_paginate{text-align:initial}.quarto-dashboard .card .card-body .itables div.dataTables_wrapper div.dataTables_filter{text-align:right}.quarto-dashboard .card .card-body .itables div.dataTables_wrapper div.dataTables_paginate ul.pagination{justify-content:initial}}.quarto-dashboard .card .card-body .itables .dataTables_wrapper{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;padding-top:0}.quarto-dashboard .card .card-body .itables .dataTables_wrapper table{flex-shrink:0}.quarto-dashboard .card .card-body .itables .dataTables_wrapper .dt-buttons{margin-bottom:.5em;margin-left:auto;width:fit-content;float:right}.quarto-dashboard .card .card-body .itables .dataTables_wrapper .dt-buttons.btn-group{background:#fff;border:none}.quarto-dashboard .card .card-body .itables .dataTables_wrapper .dt-buttons .btn-secondary{background-color:#fff;background-image:none;border:solid #dee2e6 1px;padding:.2em .7em}.quarto-dashboard .card .card-body .itables .dataTables_wrapper .dt-buttons .btn span{font-size:.8em;color:#212529}.quarto-dashboard .card .card-body .itables .dataTables_wrapper .dataTables_info{margin-left:.5em;margin-bottom:.5em;padding-top:0}@media(min-width: 768px){.quarto-dashboard .card .card-body .itables .dataTables_wrapper .dataTables_info{font-size:.875em}}@media(max-width: 767.98px){.quarto-dashboard .card .card-body .itables .dataTables_wrapper .dataTables_info{font-size:.8em}}.quarto-dashboard .card .card-body .itables .dataTables_wrapper .dataTables_filter{margin-bottom:.5em;font-size:.875em}.quarto-dashboard .card .card-body .itables .dataTables_wrapper .dataTables_filter input[type=search]{padding:1px 5px 1px 5px;font-size:.875em}.quarto-dashboard .card .card-body .itables .dataTables_wrapper .dataTables_length{flex-basis:1 1 50%;margin-bottom:.5em;font-size:.875em}.quarto-dashboard .card .card-body .itables .dataTables_wrapper .dataTables_length select{padding:.4em 3em .4em .5em;font-size:.875em;margin-left:.2em;margin-right:.2em}.quarto-dashboard .card .card-body .itables .dataTables_wrapper .dataTables_paginate{flex-shrink:0}@media(min-width: 768px){.quarto-dashboard .card .card-body .itables .dataTables_wrapper .dataTables_paginate{margin-left:auto}}.quarto-dashboard .card .card-body .itables .dataTables_wrapper .dataTables_paginate ul.pagination .paginate_button .page-link{font-size:.8em}.quarto-dashboard .card .card-footer{font-size:.9em}.quarto-dashboard .card .card-toolbar{display:flex;flex-grow:1;flex-direction:row;width:100%;flex-wrap:wrap}.quarto-dashboard .card .card-toolbar>*{font-size:.8em;flex-grow:0}.quarto-dashboard .card .card-toolbar>.card-title{font-size:1em;flex-grow:1;align-self:flex-start;margin-top:.1em}.quarto-dashboard .card .card-toolbar .cell-output-display{display:flex}.quarto-dashboard .card .card-toolbar .shiny-input-container{padding-bottom:.5em;margin-bottom:.5em;width:inherit}.quarto-dashboard .card .card-toolbar .shiny-input-container>.checkbox:first-child{margin-top:6px}.quarto-dashboard .card .card-toolbar>*:last-child{margin-right:0}.quarto-dashboard .card .card-toolbar>*>*{margin-right:1em;align-items:baseline}.quarto-dashboard .card .card-toolbar>*>*>a{text-decoration:none;margin-top:auto;margin-bottom:auto}.quarto-dashboard .card .card-toolbar form{width:fit-content}.quarto-dashboard .card .card-toolbar form label{padding-top:.2em;padding-bottom:.2em;width:fit-content}.quarto-dashboard .card .card-toolbar form input[type=date]{width:fit-content}.quarto-dashboard .card .card-toolbar form input[type=color]{width:3em}.quarto-dashboard .card .card-toolbar form button{padding:.4em}.quarto-dashboard .card .card-toolbar form select{width:fit-content}.quarto-dashboard .card .card-toolbar .cell-output-display{display:flex}.quarto-dashboard .card .card-toolbar .shiny-input-container{padding-bottom:.5em;margin-bottom:.5em;width:inherit}.quarto-dashboard .card .card-toolbar .shiny-input-container>.checkbox:first-child{margin-top:6px}.quarto-dashboard .card .card-toolbar>*:last-child{margin-right:0}.quarto-dashboard .card .card-toolbar>*>*{margin-right:1em;align-items:baseline}.quarto-dashboard .card .card-toolbar>*>*>a{text-decoration:none;margin-top:auto;margin-bottom:auto}.quarto-dashboard .card .card-toolbar .shiny-input-container{padding-bottom:0;margin-bottom:0}.quarto-dashboard .card .card-toolbar .shiny-input-container>*{flex-shrink:0;flex-grow:0}.quarto-dashboard .card .card-toolbar .form-group.shiny-input-container:not([role=group])>label{margin-bottom:0}.quarto-dashboard .card .card-toolbar .shiny-input-container.no-baseline{align-items:start;padding-top:6px}.quarto-dashboard .card .card-toolbar .shiny-input-container{display:flex;align-items:baseline}.quarto-dashboard .card .card-toolbar .shiny-input-container label{padding-right:.4em}.quarto-dashboard .card .card-toolbar .shiny-input-container .bslib-input-switch{margin-top:6px}.quarto-dashboard .card .card-toolbar input[type=text]{line-height:1;width:inherit}.quarto-dashboard .card .card-toolbar .input-daterange{width:inherit}.quarto-dashboard .card .card-toolbar .input-daterange input[type=text]{height:2.4em;width:10em}.quarto-dashboard .card .card-toolbar .input-daterange .input-group-addon{height:auto;padding:0;margin-left:-5px !important;margin-right:-5px}.quarto-dashboard .card .card-toolbar .input-daterange .input-group-addon .input-group-text{padding-top:0;padding-bottom:0;height:100%}.quarto-dashboard .card .card-toolbar span.irs.irs--shiny{width:10em}.quarto-dashboard .card .card-toolbar span.irs.irs--shiny .irs-line{top:9px}.quarto-dashboard .card .card-toolbar span.irs.irs--shiny .irs-min,.quarto-dashboard .card .card-toolbar span.irs.irs--shiny .irs-max,.quarto-dashboard .card .card-toolbar span.irs.irs--shiny .irs-from,.quarto-dashboard .card .card-toolbar span.irs.irs--shiny .irs-to,.quarto-dashboard .card .card-toolbar span.irs.irs--shiny .irs-single{top:20px}.quarto-dashboard .card .card-toolbar span.irs.irs--shiny .irs-bar{top:8px}.quarto-dashboard .card .card-toolbar span.irs.irs--shiny .irs-handle{top:0px}.quarto-dashboard .card .card-toolbar .shiny-input-checkboxgroup>label{margin-top:6px}.quarto-dashboard .card .card-toolbar .shiny-input-checkboxgroup>.shiny-options-group{margin-top:0;align-items:baseline}.quarto-dashboard .card .card-toolbar .shiny-input-radiogroup>label{margin-top:6px}.quarto-dashboard .card .card-toolbar .shiny-input-radiogroup>.shiny-options-group{align-items:baseline;margin-top:0}.quarto-dashboard .card .card-toolbar .shiny-input-radiogroup>.shiny-options-group>.radio{margin-right:.3em}.quarto-dashboard .card .card-toolbar .form-select{padding-top:.2em;padding-bottom:.2em}.quarto-dashboard .card .card-toolbar .shiny-input-select{min-width:6em}.quarto-dashboard .card .card-toolbar div.checkbox{margin-bottom:0px}.quarto-dashboard .card .card-toolbar>.checkbox:first-child{margin-top:6px}.quarto-dashboard .card-body>table>thead{border-top:none}.quarto-dashboard .card-body>.table>:not(caption)>*>*{background-color:#fff}.tableFloatingHeaderOriginal{background-color:#fff;position:sticky !important;top:0 !important}.dashboard-data-table{margin-top:-1px}div.value-box-area span.observablehq--number{font-size:calc(clamp(.1em,15cqw,5em)*1.25);line-height:1.2;color:inherit;font-family:var(--bs-body-font-family)}.quarto-listing{padding-bottom:1em}.listing-pagination{padding-top:.5em}ul.pagination{float:right;padding-left:8px;padding-top:.5em}ul.pagination li{padding-right:.75em}ul.pagination li.disabled a,ul.pagination li.active a{color:#fff;text-decoration:none}ul.pagination li:last-of-type{padding-right:0}.listing-actions-group{display:flex}.quarto-listing-filter{margin-bottom:1em;width:200px;margin-left:auto}.quarto-listing-sort{margin-bottom:1em;margin-right:auto;width:auto}.quarto-listing-sort .input-group-text{font-size:.8em}.input-group-text{border-right:none}.quarto-listing-sort select.form-select{font-size:.8em}.listing-no-matching{text-align:center;padding-top:2em;padding-bottom:3em;font-size:1em}#quarto-margin-sidebar .quarto-listing-category{padding-top:0;font-size:1rem}#quarto-margin-sidebar .quarto-listing-category-title{cursor:pointer;font-weight:600;font-size:1rem}.quarto-listing-category .category{cursor:pointer}.quarto-listing-category .category.active{font-weight:600}.quarto-listing-category.category-cloud{display:flex;flex-wrap:wrap;align-items:baseline}.quarto-listing-category.category-cloud .category{padding-right:5px}.quarto-listing-category.category-cloud .category-cloud-1{font-size:.75em}.quarto-listing-category.category-cloud .category-cloud-2{font-size:.95em}.quarto-listing-category.category-cloud .category-cloud-3{font-size:1.15em}.quarto-listing-category.category-cloud .category-cloud-4{font-size:1.35em}.quarto-listing-category.category-cloud .category-cloud-5{font-size:1.55em}.quarto-listing-category.category-cloud .category-cloud-6{font-size:1.75em}.quarto-listing-category.category-cloud .category-cloud-7{font-size:1.95em}.quarto-listing-category.category-cloud .category-cloud-8{font-size:2.15em}.quarto-listing-category.category-cloud .category-cloud-9{font-size:2.35em}.quarto-listing-category.category-cloud .category-cloud-10{font-size:2.55em}.quarto-listing-cols-1{grid-template-columns:repeat(1, minmax(0, 1fr));gap:1.5em}@media(max-width: 767.98px){.quarto-listing-cols-1{grid-template-columns:repeat(1, minmax(0, 1fr));gap:1.5em}}@media(max-width: 575.98px){.quarto-listing-cols-1{grid-template-columns:minmax(0, 1fr);gap:1.5em}}.quarto-listing-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr));gap:1.5em}@media(max-width: 767.98px){.quarto-listing-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr));gap:1.5em}}@media(max-width: 575.98px){.quarto-listing-cols-2{grid-template-columns:minmax(0, 1fr);gap:1.5em}}.quarto-listing-cols-3{grid-template-columns:repeat(3, minmax(0, 1fr));gap:1.5em}@media(max-width: 767.98px){.quarto-listing-cols-3{grid-template-columns:repeat(2, minmax(0, 1fr));gap:1.5em}}@media(max-width: 575.98px){.quarto-listing-cols-3{grid-template-columns:minmax(0, 1fr);gap:1.5em}}.quarto-listing-cols-4{grid-template-columns:repeat(4, minmax(0, 1fr));gap:1.5em}@media(max-width: 767.98px){.quarto-listing-cols-4{grid-template-columns:repeat(2, minmax(0, 1fr));gap:1.5em}}@media(max-width: 575.98px){.quarto-listing-cols-4{grid-template-columns:minmax(0, 1fr);gap:1.5em}}.quarto-listing-cols-5{grid-template-columns:repeat(5, minmax(0, 1fr));gap:1.5em}@media(max-width: 767.98px){.quarto-listing-cols-5{grid-template-columns:repeat(2, minmax(0, 1fr));gap:1.5em}}@media(max-width: 575.98px){.quarto-listing-cols-5{grid-template-columns:minmax(0, 1fr);gap:1.5em}}.quarto-listing-cols-6{grid-template-columns:repeat(6, minmax(0, 1fr));gap:1.5em}@media(max-width: 767.98px){.quarto-listing-cols-6{grid-template-columns:repeat(2, minmax(0, 1fr));gap:1.5em}}@media(max-width: 575.98px){.quarto-listing-cols-6{grid-template-columns:minmax(0, 1fr);gap:1.5em}}.quarto-listing-cols-7{grid-template-columns:repeat(7, minmax(0, 1fr));gap:1.5em}@media(max-width: 767.98px){.quarto-listing-cols-7{grid-template-columns:repeat(2, minmax(0, 1fr));gap:1.5em}}@media(max-width: 575.98px){.quarto-listing-cols-7{grid-template-columns:minmax(0, 1fr);gap:1.5em}}.quarto-listing-cols-8{grid-template-columns:repeat(8, minmax(0, 1fr));gap:1.5em}@media(max-width: 767.98px){.quarto-listing-cols-8{grid-template-columns:repeat(2, minmax(0, 1fr));gap:1.5em}}@media(max-width: 575.98px){.quarto-listing-cols-8{grid-template-columns:minmax(0, 1fr);gap:1.5em}}.quarto-listing-cols-9{grid-template-columns:repeat(9, minmax(0, 1fr));gap:1.5em}@media(max-width: 767.98px){.quarto-listing-cols-9{grid-template-columns:repeat(2, minmax(0, 1fr));gap:1.5em}}@media(max-width: 575.98px){.quarto-listing-cols-9{grid-template-columns:minmax(0, 1fr);gap:1.5em}}.quarto-listing-cols-10{grid-template-columns:repeat(10, minmax(0, 1fr));gap:1.5em}@media(max-width: 767.98px){.quarto-listing-cols-10{grid-template-columns:repeat(2, minmax(0, 1fr));gap:1.5em}}@media(max-width: 575.98px){.quarto-listing-cols-10{grid-template-columns:minmax(0, 1fr);gap:1.5em}}.quarto-listing-cols-11{grid-template-columns:repeat(11, minmax(0, 1fr));gap:1.5em}@media(max-width: 767.98px){.quarto-listing-cols-11{grid-template-columns:repeat(2, minmax(0, 1fr));gap:1.5em}}@media(max-width: 575.98px){.quarto-listing-cols-11{grid-template-columns:minmax(0, 1fr);gap:1.5em}}.quarto-listing-cols-12{grid-template-columns:repeat(12, minmax(0, 1fr));gap:1.5em}@media(max-width: 767.98px){.quarto-listing-cols-12{grid-template-columns:repeat(2, minmax(0, 1fr));gap:1.5em}}@media(max-width: 575.98px){.quarto-listing-cols-12{grid-template-columns:minmax(0, 1fr);gap:1.5em}}.quarto-listing-grid{gap:1.5em}.quarto-grid-item.borderless{border:none}.quarto-grid-item.borderless .listing-categories .listing-category:last-of-type,.quarto-grid-item.borderless .listing-categories .listing-category:first-of-type{padding-left:0}.quarto-grid-item.borderless .listing-categories .listing-category{border:0}.quarto-grid-link{text-decoration:none;color:inherit}.quarto-grid-link:hover{text-decoration:none;color:inherit}.quarto-grid-item h5.title,.quarto-grid-item .title.h5{margin-top:0;margin-bottom:0}.quarto-grid-item .card-footer{display:flex;justify-content:space-between;font-size:.8em}.quarto-grid-item .card-footer p{margin-bottom:0}.quarto-grid-item p.card-img-top{margin-bottom:0}.quarto-grid-item p.card-img-top>img{object-fit:cover}.quarto-grid-item .card-other-values{margin-top:.5em;font-size:.8em}.quarto-grid-item .card-other-values tr{margin-bottom:.5em}.quarto-grid-item .card-other-values tr>td:first-of-type{font-weight:600;padding-right:1em;padding-left:1em;vertical-align:top}.quarto-grid-item div.post-contents{display:flex;flex-direction:column;text-decoration:none;height:100%}.quarto-grid-item .listing-item-img-placeholder{background-color:rgba(52,58,64,.25);flex-shrink:0}.quarto-grid-item .card-attribution{padding-top:1em;display:flex;gap:1em;text-transform:uppercase;color:#6c757d;font-weight:500;flex-grow:10;align-items:flex-end}.quarto-grid-item .description{padding-bottom:1em}.quarto-grid-item .card-attribution .date{align-self:flex-end}.quarto-grid-item .card-attribution.justify{justify-content:space-between}.quarto-grid-item .card-attribution.start{justify-content:flex-start}.quarto-grid-item .card-attribution.end{justify-content:flex-end}.quarto-grid-item .card-title{margin-bottom:.1em}.quarto-grid-item .card-subtitle{padding-top:.25em}.quarto-grid-item .card-text{font-size:.9em}.quarto-grid-item .listing-reading-time{padding-bottom:.25em}.quarto-grid-item .card-text-small{font-size:.8em}.quarto-grid-item .card-subtitle.subtitle{font-size:.9em;font-weight:600;padding-bottom:.5em}.quarto-grid-item .listing-categories{display:flex;flex-wrap:wrap;padding-bottom:5px}.quarto-grid-item .listing-categories .listing-category{color:#6c757d;border:solid 1px #dee2e6;border-radius:.25rem;text-transform:uppercase;font-size:.65em;padding-left:.5em;padding-right:.5em;padding-top:.15em;padding-bottom:.15em;cursor:pointer;margin-right:4px;margin-bottom:4px}.quarto-grid-item.card-right{text-align:right}.quarto-grid-item.card-right .listing-categories{justify-content:flex-end}.quarto-grid-item.card-left{text-align:left}.quarto-grid-item.card-center{text-align:center}.quarto-grid-item.card-center .listing-description{text-align:justify}.quarto-grid-item.card-center .listing-categories{justify-content:center}table.quarto-listing-table td.image{padding:0px}table.quarto-listing-table td.image img{width:100%;max-width:50px;object-fit:contain}table.quarto-listing-table a{text-decoration:none;word-break:keep-all}table.quarto-listing-table th a{color:inherit}table.quarto-listing-table th a.asc:after{margin-bottom:-2px;margin-left:5px;display:inline-block;height:1rem;width:1rem;background-repeat:no-repeat;background-size:1rem 1rem;background-image:url('data:image/svg+xml,');content:""}table.quarto-listing-table th a.desc:after{margin-bottom:-2px;margin-left:5px;display:inline-block;height:1rem;width:1rem;background-repeat:no-repeat;background-size:1rem 1rem;background-image:url('data:image/svg+xml,');content:""}table.quarto-listing-table.table-hover td{cursor:pointer}.quarto-post.image-left{flex-direction:row}.quarto-post.image-right{flex-direction:row-reverse}@media(max-width: 767.98px){.quarto-post.image-right,.quarto-post.image-left{gap:0em;flex-direction:column}.quarto-post .metadata{padding-bottom:1em;order:2}.quarto-post .body{order:1}.quarto-post .thumbnail{order:3}}.list.quarto-listing-default div:last-of-type{border-bottom:none}@media(min-width: 992px){.quarto-listing-container-default{margin-right:2em}}div.quarto-post{display:flex;gap:2em;margin-bottom:1.5em;border-bottom:1px solid #dee2e6}@media(max-width: 767.98px){div.quarto-post{padding-bottom:1em}}div.quarto-post .metadata{flex-basis:20%;flex-grow:0;margin-top:.2em;flex-shrink:10}div.quarto-post .thumbnail{flex-basis:30%;flex-grow:0;flex-shrink:0}div.quarto-post .thumbnail img{margin-top:.4em;width:100%;object-fit:cover}div.quarto-post .body{flex-basis:45%;flex-grow:1;flex-shrink:0}div.quarto-post .body h3.listing-title,div.quarto-post .body .listing-title.h3{margin-top:0px;margin-bottom:0px;border-bottom:none}div.quarto-post .body .listing-subtitle{font-size:.875em;margin-bottom:.5em;margin-top:.2em}div.quarto-post .body .description{font-size:.9em}div.quarto-post .body pre code{white-space:pre-wrap}div.quarto-post a{color:#212529;text-decoration:none}div.quarto-post .metadata{display:flex;flex-direction:column;font-size:.8em;font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans","Liberation Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";flex-basis:33%}div.quarto-post .listing-categories{display:flex;flex-wrap:wrap;padding-bottom:5px}div.quarto-post .listing-categories .listing-category{color:#6c757d;border:solid 1px #dee2e6;border-radius:.25rem;text-transform:uppercase;font-size:.65em;padding-left:.5em;padding-right:.5em;padding-top:.15em;padding-bottom:.15em;cursor:pointer;margin-right:4px;margin-bottom:4px}div.quarto-post .listing-description{margin-bottom:.5em}div.quarto-about-jolla{display:flex !important;flex-direction:column;align-items:center;margin-top:10%;padding-bottom:1em}div.quarto-about-jolla .about-image{object-fit:cover;margin-left:auto;margin-right:auto;margin-bottom:1.5em}div.quarto-about-jolla img.round{border-radius:50%}div.quarto-about-jolla img.rounded{border-radius:10px}div.quarto-about-jolla .quarto-title h1.title,div.quarto-about-jolla .quarto-title .title.h1{text-align:center}div.quarto-about-jolla .quarto-title .description{text-align:center}div.quarto-about-jolla h2,div.quarto-about-jolla .h2{border-bottom:none}div.quarto-about-jolla .about-sep{width:60%}div.quarto-about-jolla main{text-align:center}div.quarto-about-jolla .about-links{display:flex}@media(min-width: 992px){div.quarto-about-jolla .about-links{flex-direction:row;column-gap:.8em;row-gap:15px;flex-wrap:wrap}}@media(max-width: 991.98px){div.quarto-about-jolla .about-links{flex-direction:column;row-gap:1em;width:100%;padding-bottom:1.5em}}div.quarto-about-jolla .about-link{color:#4e5862;text-decoration:none;border:solid 1px}@media(min-width: 992px){div.quarto-about-jolla .about-link{font-size:.8em;padding:.25em .5em;border-radius:4px}}@media(max-width: 991.98px){div.quarto-about-jolla .about-link{font-size:1.1em;padding:.5em .5em;text-align:center;border-radius:6px}}div.quarto-about-jolla .about-link:hover{color:#0d6efd}div.quarto-about-jolla .about-link i.bi{margin-right:.15em}div.quarto-about-solana{display:flex !important;flex-direction:column;padding-top:3em !important;padding-bottom:1em}div.quarto-about-solana .about-entity{display:flex !important;align-items:start;justify-content:space-between}@media(min-width: 992px){div.quarto-about-solana .about-entity{flex-direction:row}}@media(max-width: 991.98px){div.quarto-about-solana .about-entity{flex-direction:column-reverse;align-items:center;text-align:center}}div.quarto-about-solana .about-entity .entity-contents{display:flex;flex-direction:column}@media(max-width: 767.98px){div.quarto-about-solana .about-entity .entity-contents{width:100%}}div.quarto-about-solana .about-entity .about-image{object-fit:cover}@media(max-width: 991.98px){div.quarto-about-solana .about-entity .about-image{margin-bottom:1.5em}}div.quarto-about-solana .about-entity img.round{border-radius:50%}div.quarto-about-solana .about-entity img.rounded{border-radius:10px}div.quarto-about-solana .about-entity .about-links{display:flex;justify-content:left;padding-bottom:1.2em}@media(min-width: 992px){div.quarto-about-solana .about-entity .about-links{flex-direction:row;column-gap:.8em;row-gap:15px;flex-wrap:wrap}}@media(max-width: 991.98px){div.quarto-about-solana .about-entity .about-links{flex-direction:column;row-gap:1em;width:100%;padding-bottom:1.5em}}div.quarto-about-solana .about-entity .about-link{color:#4e5862;text-decoration:none;border:solid 1px}@media(min-width: 992px){div.quarto-about-solana .about-entity .about-link{font-size:.8em;padding:.25em .5em;border-radius:4px}}@media(max-width: 991.98px){div.quarto-about-solana .about-entity .about-link{font-size:1.1em;padding:.5em .5em;text-align:center;border-radius:6px}}div.quarto-about-solana .about-entity .about-link:hover{color:#0d6efd}div.quarto-about-solana .about-entity .about-link i.bi{margin-right:.15em}div.quarto-about-solana .about-contents{padding-right:1.5em;flex-basis:0;flex-grow:1}div.quarto-about-solana .about-contents main.content{margin-top:0}div.quarto-about-solana .about-contents h2,div.quarto-about-solana .about-contents .h2{border-bottom:none}div.quarto-about-trestles{display:flex !important;flex-direction:row;padding-top:3em !important;padding-bottom:1em}@media(max-width: 991.98px){div.quarto-about-trestles{flex-direction:column;padding-top:0em !important}}div.quarto-about-trestles .about-entity{display:flex !important;flex-direction:column;align-items:center;text-align:center;padding-right:1em}@media(min-width: 992px){div.quarto-about-trestles .about-entity{flex:0 0 42%}}div.quarto-about-trestles .about-entity .about-image{object-fit:cover;margin-bottom:1.5em}div.quarto-about-trestles .about-entity img.round{border-radius:50%}div.quarto-about-trestles .about-entity img.rounded{border-radius:10px}div.quarto-about-trestles .about-entity .about-links{display:flex;justify-content:center}@media(min-width: 992px){div.quarto-about-trestles .about-entity .about-links{flex-direction:row;column-gap:.8em;row-gap:15px;flex-wrap:wrap}}@media(max-width: 991.98px){div.quarto-about-trestles .about-entity .about-links{flex-direction:column;row-gap:1em;width:100%;padding-bottom:1.5em}}div.quarto-about-trestles .about-entity .about-link{color:#4e5862;text-decoration:none;border:solid 1px}@media(min-width: 992px){div.quarto-about-trestles .about-entity .about-link{font-size:.8em;padding:.25em .5em;border-radius:4px}}@media(max-width: 991.98px){div.quarto-about-trestles .about-entity .about-link{font-size:1.1em;padding:.5em .5em;text-align:center;border-radius:6px}}div.quarto-about-trestles .about-entity .about-link:hover{color:#0d6efd}div.quarto-about-trestles .about-entity .about-link i.bi{margin-right:.15em}div.quarto-about-trestles .about-contents{flex-basis:0;flex-grow:1}div.quarto-about-trestles .about-contents h2,div.quarto-about-trestles .about-contents .h2{border-bottom:none}@media(min-width: 992px){div.quarto-about-trestles .about-contents{border-left:solid 1px #dee2e6;padding-left:1.5em}}div.quarto-about-trestles .about-contents main.content{margin-top:0}div.quarto-about-marquee{padding-bottom:1em}div.quarto-about-marquee .about-contents{display:flex;flex-direction:column}div.quarto-about-marquee .about-image{max-height:550px;margin-bottom:1.5em;object-fit:cover}div.quarto-about-marquee img.round{border-radius:50%}div.quarto-about-marquee img.rounded{border-radius:10px}div.quarto-about-marquee h2,div.quarto-about-marquee .h2{border-bottom:none}div.quarto-about-marquee .about-links{display:flex;justify-content:center;padding-top:1.5em}@media(min-width: 992px){div.quarto-about-marquee .about-links{flex-direction:row;column-gap:.8em;row-gap:15px;flex-wrap:wrap}}@media(max-width: 991.98px){div.quarto-about-marquee .about-links{flex-direction:column;row-gap:1em;width:100%;padding-bottom:1.5em}}div.quarto-about-marquee .about-link{color:#4e5862;text-decoration:none;border:solid 1px}@media(min-width: 992px){div.quarto-about-marquee .about-link{font-size:.8em;padding:.25em .5em;border-radius:4px}}@media(max-width: 991.98px){div.quarto-about-marquee .about-link{font-size:1.1em;padding:.5em .5em;text-align:center;border-radius:6px}}div.quarto-about-marquee .about-link:hover{color:#0d6efd}div.quarto-about-marquee .about-link i.bi{margin-right:.15em}@media(min-width: 992px){div.quarto-about-marquee .about-link{border:none}}div.quarto-about-broadside{display:flex;flex-direction:column;padding-bottom:1em}div.quarto-about-broadside .about-main{display:flex !important;padding-top:0 !important}@media(min-width: 992px){div.quarto-about-broadside .about-main{flex-direction:row;align-items:flex-start}}@media(max-width: 991.98px){div.quarto-about-broadside .about-main{flex-direction:column}}@media(max-width: 991.98px){div.quarto-about-broadside .about-main .about-entity{flex-shrink:0;width:100%;height:450px;margin-bottom:1.5em;background-size:cover;background-repeat:no-repeat}}@media(min-width: 992px){div.quarto-about-broadside .about-main .about-entity{flex:0 10 50%;margin-right:1.5em;width:100%;height:100%;background-size:100%;background-repeat:no-repeat}}div.quarto-about-broadside .about-main .about-contents{padding-top:14px;flex:0 0 50%}div.quarto-about-broadside h2,div.quarto-about-broadside .h2{border-bottom:none}div.quarto-about-broadside .about-sep{margin-top:1.5em;width:60%;align-self:center}div.quarto-about-broadside .about-links{display:flex;justify-content:center;column-gap:20px;padding-top:1.5em}@media(min-width: 992px){div.quarto-about-broadside .about-links{flex-direction:row;column-gap:.8em;row-gap:15px;flex-wrap:wrap}}@media(max-width: 991.98px){div.quarto-about-broadside .about-links{flex-direction:column;row-gap:1em;width:100%;padding-bottom:1.5em}}div.quarto-about-broadside .about-link{color:#4e5862;text-decoration:none;border:solid 1px}@media(min-width: 992px){div.quarto-about-broadside .about-link{font-size:.8em;padding:.25em .5em;border-radius:4px}}@media(max-width: 991.98px){div.quarto-about-broadside .about-link{font-size:1.1em;padding:.5em .5em;text-align:center;border-radius:6px}}div.quarto-about-broadside .about-link:hover{color:#0d6efd}div.quarto-about-broadside .about-link i.bi{margin-right:.15em}@media(min-width: 992px){div.quarto-about-broadside .about-link{border:none}}.tippy-box[data-theme~=quarto]{background-color:#fff;border:solid 1px #dee2e6;border-radius:.25rem;color:#212529;font-size:.875rem}.tippy-box[data-theme~=quarto]>.tippy-backdrop{background-color:#fff}.tippy-box[data-theme~=quarto]>.tippy-arrow:after,.tippy-box[data-theme~=quarto]>.tippy-svg-arrow:after{content:"";position:absolute;z-index:-1}.tippy-box[data-theme~=quarto]>.tippy-arrow:after{border-color:rgba(0,0,0,0);border-style:solid}.tippy-box[data-placement^=top]>.tippy-arrow:before{bottom:-6px}.tippy-box[data-placement^=bottom]>.tippy-arrow:before{top:-6px}.tippy-box[data-placement^=right]>.tippy-arrow:before{left:-6px}.tippy-box[data-placement^=left]>.tippy-arrow:before{right:-6px}.tippy-box[data-theme~=quarto][data-placement^=top]>.tippy-arrow:before{border-top-color:#fff}.tippy-box[data-theme~=quarto][data-placement^=top]>.tippy-arrow:after{border-top-color:#dee2e6;border-width:7px 7px 0;top:17px;left:1px}.tippy-box[data-theme~=quarto][data-placement^=top]>.tippy-svg-arrow>svg{top:16px}.tippy-box[data-theme~=quarto][data-placement^=top]>.tippy-svg-arrow:after{top:17px}.tippy-box[data-theme~=quarto][data-placement^=bottom]>.tippy-arrow:before{border-bottom-color:#fff;bottom:16px}.tippy-box[data-theme~=quarto][data-placement^=bottom]>.tippy-arrow:after{border-bottom-color:#dee2e6;border-width:0 7px 7px;bottom:17px;left:1px}.tippy-box[data-theme~=quarto][data-placement^=bottom]>.tippy-svg-arrow>svg{bottom:15px}.tippy-box[data-theme~=quarto][data-placement^=bottom]>.tippy-svg-arrow:after{bottom:17px}.tippy-box[data-theme~=quarto][data-placement^=left]>.tippy-arrow:before{border-left-color:#fff}.tippy-box[data-theme~=quarto][data-placement^=left]>.tippy-arrow:after{border-left-color:#dee2e6;border-width:7px 0 7px 7px;left:17px;top:1px}.tippy-box[data-theme~=quarto][data-placement^=left]>.tippy-svg-arrow>svg{left:11px}.tippy-box[data-theme~=quarto][data-placement^=left]>.tippy-svg-arrow:after{left:12px}.tippy-box[data-theme~=quarto][data-placement^=right]>.tippy-arrow:before{border-right-color:#fff;right:16px}.tippy-box[data-theme~=quarto][data-placement^=right]>.tippy-arrow:after{border-width:7px 7px 7px 0;right:17px;top:1px;border-right-color:#dee2e6}.tippy-box[data-theme~=quarto][data-placement^=right]>.tippy-svg-arrow>svg{right:11px}.tippy-box[data-theme~=quarto][data-placement^=right]>.tippy-svg-arrow:after{right:12px}.tippy-box[data-theme~=quarto]>.tippy-svg-arrow{fill:#212529}.tippy-box[data-theme~=quarto]>.tippy-svg-arrow:after{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMCA2czEuNzk2LS4wMTMgNC42Ny0zLjYxNUM1Ljg1MS45IDYuOTMuMDA2IDggMGMxLjA3LS4wMDYgMi4xNDguODg3IDMuMzQzIDIuMzg1QzE0LjIzMyA2LjAwNSAxNiA2IDE2IDZIMHoiIGZpbGw9InJnYmEoMCwgOCwgMTYsIDAuMikiLz48L3N2Zz4=);background-size:16px 6px;width:16px;height:6px}.top-right{position:absolute;top:1em;right:1em}.visually-hidden{border:0;clip:rect(0 0 0 0);height:auto;margin:0;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.hidden{display:none !important}.zindex-bottom{z-index:-1 !important}figure.figure{display:block}.quarto-layout-panel{margin-bottom:1em}.quarto-layout-panel>figure{width:100%}.quarto-layout-panel>figure>figcaption,.quarto-layout-panel>.panel-caption{margin-top:10pt}.quarto-layout-panel>.table-caption{margin-top:0px}.table-caption p{margin-bottom:.5em}.quarto-layout-row{display:flex;flex-direction:row;align-items:flex-start}.quarto-layout-valign-top{align-items:flex-start}.quarto-layout-valign-bottom{align-items:flex-end}.quarto-layout-valign-center{align-items:center}.quarto-layout-cell{position:relative;margin-right:20px}.quarto-layout-cell:last-child{margin-right:0}.quarto-layout-cell figure,.quarto-layout-cell>p{margin:.2em}.quarto-layout-cell img{max-width:100%}.quarto-layout-cell .html-widget{width:100% !important}.quarto-layout-cell div figure p{margin:0}.quarto-layout-cell figure{display:block;margin-inline-start:0;margin-inline-end:0}.quarto-layout-cell table{display:inline-table}.quarto-layout-cell-subref figcaption,figure .quarto-layout-row figure figcaption{text-align:center;font-style:italic}.quarto-figure{position:relative;margin-bottom:1em}.quarto-figure>figure{width:100%;margin-bottom:0}.quarto-figure-left>figure>p,.quarto-figure-left>figure>div{text-align:left}.quarto-figure-center>figure>p,.quarto-figure-center>figure>div{text-align:center}.quarto-figure-right>figure>p,.quarto-figure-right>figure>div{text-align:right}.quarto-figure>figure>div.cell-annotation,.quarto-figure>figure>div code{text-align:left}figure>p:empty{display:none}figure>p:first-child{margin-top:0;margin-bottom:0}figure>figcaption.quarto-float-caption-bottom{margin-bottom:.5em}figure>figcaption.quarto-float-caption-top{margin-top:.5em}div[id^=tbl-]{position:relative}.quarto-figure>.anchorjs-link{position:absolute;top:.6em;right:.5em}div[id^=tbl-]>.anchorjs-link{position:absolute;top:.7em;right:.3em}.quarto-figure:hover>.anchorjs-link,div[id^=tbl-]:hover>.anchorjs-link,h2:hover>.anchorjs-link,.h2:hover>.anchorjs-link,h3:hover>.anchorjs-link,.h3:hover>.anchorjs-link,h4:hover>.anchorjs-link,.h4:hover>.anchorjs-link,h5:hover>.anchorjs-link,.h5:hover>.anchorjs-link,h6:hover>.anchorjs-link,.h6:hover>.anchorjs-link,.reveal-anchorjs-link>.anchorjs-link{opacity:1}#title-block-header{margin-block-end:1rem;position:relative;margin-top:-1px}#title-block-header .abstract{margin-block-start:1rem}#title-block-header .abstract .abstract-title{font-weight:600}#title-block-header a{text-decoration:none}#title-block-header .author,#title-block-header .date,#title-block-header .doi{margin-block-end:.2rem}#title-block-header .quarto-title-block>div{display:flex}#title-block-header .quarto-title-block>div>h1,#title-block-header .quarto-title-block>div>.h1{flex-grow:1}#title-block-header .quarto-title-block>div>button{flex-shrink:0;height:2.25rem;margin-top:0}@media(min-width: 992px){#title-block-header .quarto-title-block>div>button{margin-top:5px}}tr.header>th>p:last-of-type{margin-bottom:0px}table,table.table{margin-top:.5rem;margin-bottom:.5rem}caption,.table-caption{padding-top:.5rem;padding-bottom:.5rem;text-align:center}figure.quarto-float-tbl figcaption.quarto-float-caption-top{margin-top:.5rem;margin-bottom:.25rem;text-align:center}figure.quarto-float-tbl figcaption.quarto-float-caption-bottom{padding-top:.25rem;margin-bottom:.5rem;text-align:center}.utterances{max-width:none;margin-left:-8px}iframe{margin-bottom:1em}details{margin-bottom:1em}details[show]{margin-bottom:0}details>summary{color:#6c757d}details>summary>p:only-child{display:inline}pre.sourceCode,code.sourceCode{position:relative}dd code:not(.sourceCode),p code:not(.sourceCode){white-space:pre-wrap}code{white-space:pre}@media print{code{white-space:pre-wrap}}pre>code{display:block}pre>code.sourceCode{white-space:pre}pre>code.sourceCode>span>a:first-child::before{text-decoration:none}pre.code-overflow-wrap>code.sourceCode{white-space:pre-wrap}pre.code-overflow-scroll>code.sourceCode{white-space:pre}code a:any-link{color:inherit;text-decoration:none}code a:hover{color:inherit;text-decoration:underline}ul.task-list{padding-left:1em}[data-tippy-root]{display:inline-block}.tippy-content .footnote-back{display:none}.footnote-back{margin-left:.2em}.tippy-content{overflow-x:auto}.quarto-embedded-source-code{display:none}.quarto-unresolved-ref{font-weight:600}.quarto-cover-image{max-width:35%;float:right;margin-left:30px}.cell-output-display .widget-subarea{margin-bottom:1em}.cell-output-display:not(.no-overflow-x),.knitsql-table:not(.no-overflow-x){overflow-x:auto}.panel-input{margin-bottom:1em}.panel-input>div,.panel-input>div>div{display:inline-block;vertical-align:top;padding-right:12px}.panel-input>p:last-child{margin-bottom:0}.layout-sidebar{margin-bottom:1em}.layout-sidebar .tab-content{border:none}.tab-content>.page-columns.active{display:grid}div.sourceCode>iframe{width:100%;height:300px;margin-bottom:-0.5em}a{text-underline-offset:3px}div.ansi-escaped-output{font-family:monospace;display:block}/*! +* +* ansi colors from IPython notebook's +* +* we also add `bright-[color]-` synonyms for the `-[color]-intense` classes since +* that seems to be what ansi_up emits +* +*/.ansi-black-fg{color:#3e424d}.ansi-black-bg{background-color:#3e424d}.ansi-black-intense-black,.ansi-bright-black-fg{color:#282c36}.ansi-black-intense-black,.ansi-bright-black-bg{background-color:#282c36}.ansi-red-fg{color:#e75c58}.ansi-red-bg{background-color:#e75c58}.ansi-red-intense-red,.ansi-bright-red-fg{color:#b22b31}.ansi-red-intense-red,.ansi-bright-red-bg{background-color:#b22b31}.ansi-green-fg{color:#00a250}.ansi-green-bg{background-color:#00a250}.ansi-green-intense-green,.ansi-bright-green-fg{color:#007427}.ansi-green-intense-green,.ansi-bright-green-bg{background-color:#007427}.ansi-yellow-fg{color:#ddb62b}.ansi-yellow-bg{background-color:#ddb62b}.ansi-yellow-intense-yellow,.ansi-bright-yellow-fg{color:#b27d12}.ansi-yellow-intense-yellow,.ansi-bright-yellow-bg{background-color:#b27d12}.ansi-blue-fg{color:#208ffb}.ansi-blue-bg{background-color:#208ffb}.ansi-blue-intense-blue,.ansi-bright-blue-fg{color:#0065ca}.ansi-blue-intense-blue,.ansi-bright-blue-bg{background-color:#0065ca}.ansi-magenta-fg{color:#d160c4}.ansi-magenta-bg{background-color:#d160c4}.ansi-magenta-intense-magenta,.ansi-bright-magenta-fg{color:#a03196}.ansi-magenta-intense-magenta,.ansi-bright-magenta-bg{background-color:#a03196}.ansi-cyan-fg{color:#60c6c8}.ansi-cyan-bg{background-color:#60c6c8}.ansi-cyan-intense-cyan,.ansi-bright-cyan-fg{color:#258f8f}.ansi-cyan-intense-cyan,.ansi-bright-cyan-bg{background-color:#258f8f}.ansi-white-fg{color:#c5c1b4}.ansi-white-bg{background-color:#c5c1b4}.ansi-white-intense-white,.ansi-bright-white-fg{color:#a1a6b2}.ansi-white-intense-white,.ansi-bright-white-bg{background-color:#a1a6b2}.ansi-default-inverse-fg{color:#fff}.ansi-default-inverse-bg{background-color:#000}.ansi-bold{font-weight:bold}.ansi-underline{text-decoration:underline}:root{--quarto-body-bg: #ffffff;--quarto-body-color: #212529;--quarto-text-muted: #6c757d;--quarto-border-color: #dee2e6;--quarto-border-width: 1px;--quarto-border-radius: 0.25rem}table.gt_table{color:var(--quarto-body-color);font-size:1em;width:100%;background-color:rgba(0,0,0,0);border-top-width:inherit;border-bottom-width:inherit;border-color:var(--quarto-border-color)}table.gt_table th.gt_column_spanner_outer{color:var(--quarto-body-color);background-color:rgba(0,0,0,0);border-top-width:inherit;border-bottom-width:inherit;border-color:var(--quarto-border-color)}table.gt_table th.gt_col_heading{color:var(--quarto-body-color);font-weight:bold;background-color:rgba(0,0,0,0)}table.gt_table thead.gt_col_headings{border-bottom:1px solid currentColor;border-top-width:inherit;border-top-color:var(--quarto-border-color)}table.gt_table thead.gt_col_headings:not(:first-child){border-top-width:1px;border-top-color:var(--quarto-border-color)}table.gt_table td.gt_row{border-bottom-width:1px;border-bottom-color:var(--quarto-border-color);border-top-width:0px}table.gt_table tbody.gt_table_body{border-top-width:1px;border-bottom-width:1px;border-bottom-color:var(--quarto-border-color);border-top-color:currentColor}div.columns{display:initial;gap:initial}div.column{display:inline-block;overflow-x:initial;vertical-align:top;width:50%}.code-annotation-tip-content{word-wrap:break-word}.code-annotation-container-hidden{display:none !important}dl.code-annotation-container-grid{display:grid;grid-template-columns:min-content auto}dl.code-annotation-container-grid dt{grid-column:1}dl.code-annotation-container-grid dd{grid-column:2}pre.sourceCode.code-annotation-code{padding-right:0}code.sourceCode .code-annotation-anchor{z-index:100;position:relative;float:right;background-color:rgba(0,0,0,0)}input[type=checkbox]{margin-right:.5ch}:root{--mermaid-bg-color: #ffffff;--mermaid-edge-color: #6c757d;--mermaid-node-fg-color: #212529;--mermaid-fg-color: #212529;--mermaid-fg-color--lighter: #383f45;--mermaid-fg-color--lightest: #4e5862;--mermaid-font-family: system-ui, -apple-system, Segoe UI, Roboto, Helvetica Neue, Noto Sans, Liberation Sans, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji;--mermaid-label-bg-color: #ffffff;--mermaid-label-fg-color: #0d6efd;--mermaid-node-bg-color: rgba(13, 110, 253, 0.1);--mermaid-node-fg-color: #212529}@media print{:root{font-size:11pt}#quarto-sidebar,#TOC,.nav-page{display:none}.page-columns .content{grid-column-start:page-start}.fixed-top{position:relative}.panel-caption,.figure-caption,figcaption{color:#666}}.code-copy-button{position:absolute;top:0;right:0;border:0;margin-top:5px;margin-right:5px;background-color:rgba(0,0,0,0);z-index:3}.code-copy-button:focus{outline:none}.code-copy-button-tooltip{font-size:.75em}pre.sourceCode:hover>.code-copy-button>.bi::before{display:inline-block;height:1rem;width:1rem;content:"";vertical-align:-0.125em;background-image:url('data:image/svg+xml,');background-repeat:no-repeat;background-size:1rem 1rem}pre.sourceCode:hover>.code-copy-button-checked>.bi::before{background-image:url('data:image/svg+xml,')}pre.sourceCode:hover>.code-copy-button:hover>.bi::before{background-image:url('data:image/svg+xml,')}pre.sourceCode:hover>.code-copy-button-checked:hover>.bi::before{background-image:url('data:image/svg+xml,')}main ol ol,main ul ul,main ol ul,main ul ol{margin-bottom:1em}ul>li:not(:has(>p))>ul,ol>li:not(:has(>p))>ul,ul>li:not(:has(>p))>ol,ol>li:not(:has(>p))>ol{margin-bottom:0}ul>li:not(:has(>p))>ul>li:has(>p),ol>li:not(:has(>p))>ul>li:has(>p),ul>li:not(:has(>p))>ol>li:has(>p),ol>li:not(:has(>p))>ol>li:has(>p){margin-top:1rem}body{margin:0}main.page-columns>header>h1.title,main.page-columns>header>.title.h1{margin-bottom:0}@media(min-width: 992px){body .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset] 5fr [page-start page-start-inset] 35px [body-start-outset] 35px [body-start] 1.5em [body-content-start] minmax(500px, calc(850px - 3em)) [body-content-end] 1.5em [body-end] 35px [body-end-outset] minmax(75px, 145px) [page-end-inset] 35px [page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body.fullcontent:not(.floating):not(.docked) .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset] 5fr [page-start page-start-inset] 35px [body-start-outset] 35px [body-start] 1.5em [body-content-start] minmax(500px, calc(850px - 3em)) [body-content-end] 1.5em [body-end] 35px [body-end-outset] 35px [page-end-inset page-end] 5fr [screen-end-inset] 1.5em}body.slimcontent:not(.floating):not(.docked) .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset] 5fr [page-start page-start-inset] 35px [body-start-outset] 35px [body-start] 1.5em [body-content-start] minmax(500px, calc(850px - 3em)) [body-content-end] 1.5em [body-end] 50px [body-end-outset] minmax(0px, 200px) [page-end-inset] 35px [page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body.listing:not(.floating):not(.docked) .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset page-start] minmax(50px, 100px) [page-start-inset] 50px [body-start-outset] 50px [body-start] 1.5em [body-content-start] minmax(500px, calc(850px - 3em)) [body-content-end] 3em [body-end] 50px [body-end-outset] minmax(0px, 250px) [page-end-inset] minmax(50px, 100px) [page-end] 1fr [screen-end-inset] 1.5em [screen-end]}body:not(.floating):not(.docked) .page-columns.toc-left{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset] 5fr [page-start] 35px [page-start-inset] minmax(0px, 175px) [body-start-outset] 35px [body-start] 1.5em [body-content-start] minmax(450px, calc(800px - 3em)) [body-content-end] 1.5em [body-end] 50px [body-end-outset] minmax(0px, 200px) [page-end-inset] 50px [page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body:not(.floating):not(.docked) .page-columns.toc-left .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset] 5fr [page-start] 35px [page-start-inset] minmax(0px, 175px) [body-start-outset] 35px [body-start] 1.5em [body-content-start] minmax(450px, calc(800px - 3em)) [body-content-end] 1.5em [body-end] 50px [body-end-outset] minmax(0px, 200px) [page-end-inset] 50px [page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body.floating .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset] 5fr [page-start] minmax(25px, 50px) [page-start-inset] minmax(50px, 150px) [body-start-outset] minmax(25px, 50px) [body-start] 1.5em [body-content-start] minmax(500px, calc(800px - 3em)) [body-content-end] 1.5em [body-end] minmax(25px, 50px) [body-end-outset] minmax(50px, 150px) [page-end-inset] minmax(25px, 50px) [page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body.docked .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset page-start] minmax(50px, 100px) [page-start-inset] 50px [body-start-outset] 50px [body-start] 1.5em [body-content-start] minmax(500px, calc(1000px - 3em)) [body-content-end] 1.5em [body-end] 50px [body-end-outset] minmax(50px, 100px) [page-end-inset] 50px [page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body.docked.fullcontent .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset page-start] minmax(50px, 100px) [page-start-inset] 50px [body-start-outset] 50px [body-start] 1.5em [body-content-start] minmax(500px, calc(1000px - 3em)) [body-content-end] 1.5em [body-end body-end-outset page-end-inset page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body.floating.fullcontent .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset] 5fr [page-start] 50px [page-start-inset] minmax(50px, 150px) [body-start-outset] 50px [body-start] 1.5em [body-content-start] minmax(500px, calc(800px - 3em)) [body-content-end] 1.5em [body-end body-end-outset page-end-inset page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body.docked.slimcontent .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset page-start] minmax(50px, 100px) [page-start-inset] 50px [body-start-outset] 50px [body-start] 1.5em [body-content-start] minmax(450px, calc(750px - 3em)) [body-content-end] 1.5em [body-end] 50px [body-end-outset] minmax(0px, 200px) [page-end-inset] 50px [page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body.docked.listing .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset page-start] minmax(50px, 100px) [page-start-inset] 50px [body-start-outset] 50px [body-start] 1.5em [body-content-start] minmax(500px, calc(1000px - 3em)) [body-content-end] 1.5em [body-end] 50px [body-end-outset] minmax(0px, 200px) [page-end-inset] 50px [page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body.floating.slimcontent .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset] 5fr [page-start] 50px [page-start-inset] minmax(50px, 150px) [body-start-outset] 50px [body-start] 1.5em [body-content-start] minmax(450px, calc(750px - 3em)) [body-content-end] 1.5em [body-end] 50px [body-end-outset] minmax(50px, 150px) [page-end-inset] 50px [page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body.floating.listing .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset] 5fr [page-start] minmax(25px, 50px) [page-start-inset] minmax(50px, 150px) [body-start-outset] minmax(25px, 50px) [body-start] 1.5em [body-content-start] minmax(500px, calc(800px - 3em)) [body-content-end] 1.5em [body-end] minmax(25px, 50px) [body-end-outset] minmax(50px, 150px) [page-end-inset] minmax(25px, 50px) [page-end] 5fr [screen-end-inset] 1.5em [screen-end]}}@media(max-width: 991.98px){body .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset page-start page-start-inset body-start-outset] 5fr [body-start] 1.5em [body-content-start] minmax(500px, calc(800px - 3em)) [body-content-end] 1.5em [body-end] 35px [body-end-outset] minmax(75px, 145px) [page-end-inset] 35px [page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body.fullcontent:not(.floating):not(.docked) .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset page-start page-start-inset body-start-outset] 5fr [body-start] 1.5em [body-content-start] minmax(500px, calc(800px - 3em)) [body-content-end] 1.5em [body-end body-end-outset page-end-inset page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body.slimcontent:not(.floating):not(.docked) .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset page-start page-start-inset body-start-outset] 5fr [body-start] 1.5em [body-content-start] minmax(500px, calc(800px - 3em)) [body-content-end] 1.5em [body-end] 35px [body-end-outset] minmax(75px, 145px) [page-end-inset] 35px [page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body.listing:not(.floating):not(.docked) .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset page-start page-start-inset body-start-outset] 5fr [body-start] 1.5em [body-content-start] minmax(500px, calc(1250px - 3em)) [body-content-end body-end body-end-outset page-end-inset page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body:not(.floating):not(.docked) .page-columns.toc-left{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset] 5fr [page-start] 35px [page-start-inset] minmax(0px, 145px) [body-start-outset] 35px [body-start] 1.5em [body-content-start] minmax(450px, calc(800px - 3em)) [body-content-end] 1.5em [body-end body-end-outset page-end-inset page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body:not(.floating):not(.docked) .page-columns.toc-left .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset] 5fr [page-start] 35px [page-start-inset] minmax(0px, 145px) [body-start-outset] 35px [body-start] 1.5em [body-content-start] minmax(450px, calc(800px - 3em)) [body-content-end] 1.5em [body-end body-end-outset page-end-inset page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body.floating .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset] 5fr [page-start page-start-inset body-start-outset body-start] 1.5em [body-content-start] minmax(500px, calc(750px - 3em)) [body-content-end] 1.5em [body-end] 50px [body-end-outset] minmax(75px, 150px) [page-end-inset] 25px [page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body.docked .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset page-start page-start-inset body-start-outset body-start body-content-start] minmax(500px, calc(750px - 3em)) [body-content-end] 1.5em [body-end] 50px [body-end-outset] minmax(25px, 50px) [page-end-inset] 50px [page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body.docked.fullcontent .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset page-start page-start-inset body-start-outset body-start body-content-start] minmax(500px, calc(1000px - 3em)) [body-content-end] 1.5em [body-end body-end-outset page-end-inset page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body.floating.fullcontent .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset] 5fr [page-start page-start-inset body-start-outset body-start] 1em [body-content-start] minmax(500px, calc(800px - 3em)) [body-content-end] 1.5em [body-end body-end-outset page-end-inset page-end] 4fr [screen-end-inset] 1.5em [screen-end]}body.docked.slimcontent .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset page-start page-start-inset body-start-outset body-start body-content-start] minmax(500px, calc(750px - 3em)) [body-content-end] 1.5em [body-end] 50px [body-end-outset] minmax(25px, 50px) [page-end-inset] 50px [page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body.docked.listing .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset page-start page-start-inset body-start-outset body-start body-content-start] minmax(500px, calc(750px - 3em)) [body-content-end] 1.5em [body-end] 50px [body-end-outset] minmax(25px, 50px) [page-end-inset] 50px [page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body.floating.slimcontent .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset] 5fr [page-start page-start-inset body-start-outset body-start] 1em [body-content-start] minmax(500px, calc(750px - 3em)) [body-content-end] 1.5em [body-end] 35px [body-end-outset] minmax(75px, 145px) [page-end-inset] 35px [page-end] 4fr [screen-end-inset] 1.5em [screen-end]}body.floating.listing .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset] 5fr [page-start page-start-inset body-start-outset body-start] 1em [body-content-start] minmax(500px, calc(750px - 3em)) [body-content-end] 1.5em [body-end] 50px [body-end-outset] minmax(75px, 150px) [page-end-inset] 25px [page-end] 4fr [screen-end-inset] 1.5em [screen-end]}}@media(max-width: 767.98px){body .page-columns,body.fullcontent:not(.floating):not(.docked) .page-columns,body.slimcontent:not(.floating):not(.docked) .page-columns,body.docked .page-columns,body.docked.slimcontent .page-columns,body.docked.fullcontent .page-columns,body.floating .page-columns,body.floating.slimcontent .page-columns,body.floating.fullcontent .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset page-start page-start-inset body-start-outset body-start body-content-start] minmax(0px, 1fr) [body-content-end body-end body-end-outset page-end-inset page-end screen-end-inset] 1.5em [screen-end]}body:not(.floating):not(.docked) .page-columns.toc-left{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset page-start page-start-inset body-start-outset body-start body-content-start] minmax(0px, 1fr) [body-content-end body-end body-end-outset page-end-inset page-end screen-end-inset] 1.5em [screen-end]}body:not(.floating):not(.docked) .page-columns.toc-left .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset page-start page-start-inset body-start-outset body-start body-content-start] minmax(0px, 1fr) [body-content-end body-end body-end-outset page-end-inset page-end screen-end-inset] 1.5em [screen-end]}nav[role=doc-toc]{display:none}}body,.page-row-navigation{grid-template-rows:[page-top] max-content [contents-top] max-content [contents-bottom] max-content [page-bottom]}.page-rows-contents{grid-template-rows:[content-top] minmax(max-content, 1fr) [content-bottom] minmax(60px, max-content) [page-bottom]}.page-full{grid-column:screen-start/screen-end !important}.page-columns>*{grid-column:body-content-start/body-content-end}.page-columns.column-page>*{grid-column:page-start/page-end}.page-columns.column-page-left .page-columns.page-full>*,.page-columns.column-page-left>*{grid-column:page-start/body-content-end}.page-columns.column-page-right .page-columns.page-full>*,.page-columns.column-page-right>*{grid-column:body-content-start/page-end}.page-rows{grid-auto-rows:auto}.header{grid-column:screen-start/screen-end;grid-row:page-top/contents-top}#quarto-content{padding:0;grid-column:screen-start/screen-end;grid-row:contents-top/contents-bottom}body.floating .sidebar.sidebar-navigation{grid-column:page-start/body-start;grid-row:content-top/page-bottom}body.docked .sidebar.sidebar-navigation{grid-column:screen-start/body-start;grid-row:content-top/page-bottom}.sidebar.toc-left{grid-column:page-start/body-start;grid-row:content-top/page-bottom}.sidebar.margin-sidebar{grid-column:body-end/page-end;grid-row:content-top/page-bottom}.page-columns .content{grid-column:body-content-start/body-content-end;grid-row:content-top/content-bottom;align-content:flex-start}.page-columns .page-navigation{grid-column:body-content-start/body-content-end;grid-row:content-bottom/page-bottom}.page-columns .footer{grid-column:screen-start/screen-end;grid-row:contents-bottom/page-bottom}.page-columns .column-body{grid-column:body-content-start/body-content-end}.page-columns .column-body-fullbleed{grid-column:body-start/body-end}.page-columns .column-body-outset{grid-column:body-start-outset/body-end-outset;z-index:998;opacity:.999}.page-columns .column-body-outset table{background:#fff}.page-columns .column-body-outset-left{grid-column:body-start-outset/body-content-end;z-index:998;opacity:.999}.page-columns .column-body-outset-left table{background:#fff}.page-columns .column-body-outset-right{grid-column:body-content-start/body-end-outset;z-index:998;opacity:.999}.page-columns .column-body-outset-right table{background:#fff}.page-columns .column-page{grid-column:page-start/page-end;z-index:998;opacity:.999}.page-columns .column-page table{background:#fff}.page-columns .column-page-inset{grid-column:page-start-inset/page-end-inset;z-index:998;opacity:.999}.page-columns .column-page-inset table{background:#fff}.page-columns .column-page-inset-left{grid-column:page-start-inset/body-content-end;z-index:998;opacity:.999}.page-columns .column-page-inset-left table{background:#fff}.page-columns .column-page-inset-right{grid-column:body-content-start/page-end-inset;z-index:998;opacity:.999}.page-columns .column-page-inset-right figcaption table{background:#fff}.page-columns .column-page-left{grid-column:page-start/body-content-end;z-index:998;opacity:.999}.page-columns .column-page-left table{background:#fff}.page-columns .column-page-right{grid-column:body-content-start/page-end;z-index:998;opacity:.999}.page-columns .column-page-right figcaption table{background:#fff}#quarto-content.page-columns #quarto-margin-sidebar,#quarto-content.page-columns #quarto-sidebar{z-index:1}@media(max-width: 991.98px){#quarto-content.page-columns #quarto-margin-sidebar.collapse,#quarto-content.page-columns #quarto-sidebar.collapse,#quarto-content.page-columns #quarto-margin-sidebar.collapsing,#quarto-content.page-columns #quarto-sidebar.collapsing{z-index:1055}}#quarto-content.page-columns main.column-page,#quarto-content.page-columns main.column-page-right,#quarto-content.page-columns main.column-page-left{z-index:0}.page-columns .column-screen-inset{grid-column:screen-start-inset/screen-end-inset;z-index:998;opacity:.999}.page-columns .column-screen-inset table{background:#fff}.page-columns .column-screen-inset-left{grid-column:screen-start-inset/body-content-end;z-index:998;opacity:.999}.page-columns .column-screen-inset-left table{background:#fff}.page-columns .column-screen-inset-right{grid-column:body-content-start/screen-end-inset;z-index:998;opacity:.999}.page-columns .column-screen-inset-right table{background:#fff}.page-columns .column-screen{grid-column:screen-start/screen-end;z-index:998;opacity:.999}.page-columns .column-screen table{background:#fff}.page-columns .column-screen-left{grid-column:screen-start/body-content-end;z-index:998;opacity:.999}.page-columns .column-screen-left table{background:#fff}.page-columns .column-screen-right{grid-column:body-content-start/screen-end;z-index:998;opacity:.999}.page-columns .column-screen-right table{background:#fff}.page-columns .column-screen-inset-shaded{grid-column:screen-start/screen-end;padding:1em;background:#f8f9fa;z-index:998;opacity:.999;margin-bottom:1em}.zindex-content{z-index:998;opacity:.999}.zindex-modal{z-index:1055;opacity:.999}.zindex-over-content{z-index:999;opacity:.999}img.img-fluid.column-screen,img.img-fluid.column-screen-inset-shaded,img.img-fluid.column-screen-inset,img.img-fluid.column-screen-inset-left,img.img-fluid.column-screen-inset-right,img.img-fluid.column-screen-left,img.img-fluid.column-screen-right{width:100%}@media(min-width: 992px){.margin-caption,div.aside,aside:not(.footnotes):not(.sidebar),.column-margin{grid-column:body-end/page-end !important;z-index:998}.column-sidebar{grid-column:page-start/body-start !important;z-index:998}.column-leftmargin{grid-column:screen-start-inset/body-start !important;z-index:998}.no-row-height{height:1em;overflow:visible}}@media(max-width: 991.98px){.margin-caption,div.aside,aside:not(.footnotes):not(.sidebar),.column-margin{grid-column:body-end/page-end !important;z-index:998}.no-row-height{height:1em;overflow:visible}.page-columns.page-full{overflow:visible}.page-columns.toc-left .margin-caption,.page-columns.toc-left div.aside,.page-columns.toc-left aside:not(.footnotes):not(.sidebar),.page-columns.toc-left .column-margin{grid-column:body-content-start/body-content-end !important;z-index:998;opacity:.999}.page-columns.toc-left .no-row-height{height:initial;overflow:initial}}@media(max-width: 767.98px){.margin-caption,div.aside,aside:not(.footnotes):not(.sidebar),.column-margin{grid-column:body-content-start/body-content-end !important;z-index:998;opacity:.999}.no-row-height{height:initial;overflow:initial}#quarto-margin-sidebar{display:none}#quarto-sidebar-toc-left{display:none}.hidden-sm{display:none}}.panel-grid{display:grid;grid-template-rows:repeat(1, 1fr);grid-template-columns:repeat(24, 1fr);gap:1em}.panel-grid .g-col-1{grid-column:auto/span 1}.panel-grid .g-col-2{grid-column:auto/span 2}.panel-grid .g-col-3{grid-column:auto/span 3}.panel-grid .g-col-4{grid-column:auto/span 4}.panel-grid .g-col-5{grid-column:auto/span 5}.panel-grid .g-col-6{grid-column:auto/span 6}.panel-grid .g-col-7{grid-column:auto/span 7}.panel-grid .g-col-8{grid-column:auto/span 8}.panel-grid .g-col-9{grid-column:auto/span 9}.panel-grid .g-col-10{grid-column:auto/span 10}.panel-grid .g-col-11{grid-column:auto/span 11}.panel-grid .g-col-12{grid-column:auto/span 12}.panel-grid .g-col-13{grid-column:auto/span 13}.panel-grid .g-col-14{grid-column:auto/span 14}.panel-grid .g-col-15{grid-column:auto/span 15}.panel-grid .g-col-16{grid-column:auto/span 16}.panel-grid .g-col-17{grid-column:auto/span 17}.panel-grid .g-col-18{grid-column:auto/span 18}.panel-grid .g-col-19{grid-column:auto/span 19}.panel-grid .g-col-20{grid-column:auto/span 20}.panel-grid .g-col-21{grid-column:auto/span 21}.panel-grid .g-col-22{grid-column:auto/span 22}.panel-grid .g-col-23{grid-column:auto/span 23}.panel-grid .g-col-24{grid-column:auto/span 24}.panel-grid .g-start-1{grid-column-start:1}.panel-grid .g-start-2{grid-column-start:2}.panel-grid .g-start-3{grid-column-start:3}.panel-grid .g-start-4{grid-column-start:4}.panel-grid .g-start-5{grid-column-start:5}.panel-grid .g-start-6{grid-column-start:6}.panel-grid .g-start-7{grid-column-start:7}.panel-grid .g-start-8{grid-column-start:8}.panel-grid .g-start-9{grid-column-start:9}.panel-grid .g-start-10{grid-column-start:10}.panel-grid .g-start-11{grid-column-start:11}.panel-grid .g-start-12{grid-column-start:12}.panel-grid .g-start-13{grid-column-start:13}.panel-grid .g-start-14{grid-column-start:14}.panel-grid .g-start-15{grid-column-start:15}.panel-grid .g-start-16{grid-column-start:16}.panel-grid .g-start-17{grid-column-start:17}.panel-grid .g-start-18{grid-column-start:18}.panel-grid .g-start-19{grid-column-start:19}.panel-grid .g-start-20{grid-column-start:20}.panel-grid .g-start-21{grid-column-start:21}.panel-grid .g-start-22{grid-column-start:22}.panel-grid .g-start-23{grid-column-start:23}@media(min-width: 576px){.panel-grid .g-col-sm-1{grid-column:auto/span 1}.panel-grid .g-col-sm-2{grid-column:auto/span 2}.panel-grid .g-col-sm-3{grid-column:auto/span 3}.panel-grid .g-col-sm-4{grid-column:auto/span 4}.panel-grid .g-col-sm-5{grid-column:auto/span 5}.panel-grid .g-col-sm-6{grid-column:auto/span 6}.panel-grid .g-col-sm-7{grid-column:auto/span 7}.panel-grid .g-col-sm-8{grid-column:auto/span 8}.panel-grid .g-col-sm-9{grid-column:auto/span 9}.panel-grid .g-col-sm-10{grid-column:auto/span 10}.panel-grid .g-col-sm-11{grid-column:auto/span 11}.panel-grid .g-col-sm-12{grid-column:auto/span 12}.panel-grid .g-col-sm-13{grid-column:auto/span 13}.panel-grid .g-col-sm-14{grid-column:auto/span 14}.panel-grid .g-col-sm-15{grid-column:auto/span 15}.panel-grid .g-col-sm-16{grid-column:auto/span 16}.panel-grid .g-col-sm-17{grid-column:auto/span 17}.panel-grid .g-col-sm-18{grid-column:auto/span 18}.panel-grid .g-col-sm-19{grid-column:auto/span 19}.panel-grid .g-col-sm-20{grid-column:auto/span 20}.panel-grid .g-col-sm-21{grid-column:auto/span 21}.panel-grid .g-col-sm-22{grid-column:auto/span 22}.panel-grid .g-col-sm-23{grid-column:auto/span 23}.panel-grid .g-col-sm-24{grid-column:auto/span 24}.panel-grid .g-start-sm-1{grid-column-start:1}.panel-grid .g-start-sm-2{grid-column-start:2}.panel-grid .g-start-sm-3{grid-column-start:3}.panel-grid .g-start-sm-4{grid-column-start:4}.panel-grid .g-start-sm-5{grid-column-start:5}.panel-grid .g-start-sm-6{grid-column-start:6}.panel-grid .g-start-sm-7{grid-column-start:7}.panel-grid .g-start-sm-8{grid-column-start:8}.panel-grid .g-start-sm-9{grid-column-start:9}.panel-grid .g-start-sm-10{grid-column-start:10}.panel-grid .g-start-sm-11{grid-column-start:11}.panel-grid .g-start-sm-12{grid-column-start:12}.panel-grid .g-start-sm-13{grid-column-start:13}.panel-grid .g-start-sm-14{grid-column-start:14}.panel-grid .g-start-sm-15{grid-column-start:15}.panel-grid .g-start-sm-16{grid-column-start:16}.panel-grid .g-start-sm-17{grid-column-start:17}.panel-grid .g-start-sm-18{grid-column-start:18}.panel-grid .g-start-sm-19{grid-column-start:19}.panel-grid .g-start-sm-20{grid-column-start:20}.panel-grid .g-start-sm-21{grid-column-start:21}.panel-grid .g-start-sm-22{grid-column-start:22}.panel-grid .g-start-sm-23{grid-column-start:23}}@media(min-width: 768px){.panel-grid .g-col-md-1{grid-column:auto/span 1}.panel-grid .g-col-md-2{grid-column:auto/span 2}.panel-grid .g-col-md-3{grid-column:auto/span 3}.panel-grid .g-col-md-4{grid-column:auto/span 4}.panel-grid .g-col-md-5{grid-column:auto/span 5}.panel-grid .g-col-md-6{grid-column:auto/span 6}.panel-grid .g-col-md-7{grid-column:auto/span 7}.panel-grid .g-col-md-8{grid-column:auto/span 8}.panel-grid .g-col-md-9{grid-column:auto/span 9}.panel-grid .g-col-md-10{grid-column:auto/span 10}.panel-grid .g-col-md-11{grid-column:auto/span 11}.panel-grid .g-col-md-12{grid-column:auto/span 12}.panel-grid .g-col-md-13{grid-column:auto/span 13}.panel-grid .g-col-md-14{grid-column:auto/span 14}.panel-grid .g-col-md-15{grid-column:auto/span 15}.panel-grid .g-col-md-16{grid-column:auto/span 16}.panel-grid .g-col-md-17{grid-column:auto/span 17}.panel-grid .g-col-md-18{grid-column:auto/span 18}.panel-grid .g-col-md-19{grid-column:auto/span 19}.panel-grid .g-col-md-20{grid-column:auto/span 20}.panel-grid .g-col-md-21{grid-column:auto/span 21}.panel-grid .g-col-md-22{grid-column:auto/span 22}.panel-grid .g-col-md-23{grid-column:auto/span 23}.panel-grid .g-col-md-24{grid-column:auto/span 24}.panel-grid .g-start-md-1{grid-column-start:1}.panel-grid .g-start-md-2{grid-column-start:2}.panel-grid .g-start-md-3{grid-column-start:3}.panel-grid .g-start-md-4{grid-column-start:4}.panel-grid .g-start-md-5{grid-column-start:5}.panel-grid .g-start-md-6{grid-column-start:6}.panel-grid .g-start-md-7{grid-column-start:7}.panel-grid .g-start-md-8{grid-column-start:8}.panel-grid .g-start-md-9{grid-column-start:9}.panel-grid .g-start-md-10{grid-column-start:10}.panel-grid .g-start-md-11{grid-column-start:11}.panel-grid .g-start-md-12{grid-column-start:12}.panel-grid .g-start-md-13{grid-column-start:13}.panel-grid .g-start-md-14{grid-column-start:14}.panel-grid .g-start-md-15{grid-column-start:15}.panel-grid .g-start-md-16{grid-column-start:16}.panel-grid .g-start-md-17{grid-column-start:17}.panel-grid .g-start-md-18{grid-column-start:18}.panel-grid .g-start-md-19{grid-column-start:19}.panel-grid .g-start-md-20{grid-column-start:20}.panel-grid .g-start-md-21{grid-column-start:21}.panel-grid .g-start-md-22{grid-column-start:22}.panel-grid .g-start-md-23{grid-column-start:23}}@media(min-width: 992px){.panel-grid .g-col-lg-1{grid-column:auto/span 1}.panel-grid .g-col-lg-2{grid-column:auto/span 2}.panel-grid .g-col-lg-3{grid-column:auto/span 3}.panel-grid .g-col-lg-4{grid-column:auto/span 4}.panel-grid .g-col-lg-5{grid-column:auto/span 5}.panel-grid .g-col-lg-6{grid-column:auto/span 6}.panel-grid .g-col-lg-7{grid-column:auto/span 7}.panel-grid .g-col-lg-8{grid-column:auto/span 8}.panel-grid .g-col-lg-9{grid-column:auto/span 9}.panel-grid .g-col-lg-10{grid-column:auto/span 10}.panel-grid .g-col-lg-11{grid-column:auto/span 11}.panel-grid .g-col-lg-12{grid-column:auto/span 12}.panel-grid .g-col-lg-13{grid-column:auto/span 13}.panel-grid .g-col-lg-14{grid-column:auto/span 14}.panel-grid .g-col-lg-15{grid-column:auto/span 15}.panel-grid .g-col-lg-16{grid-column:auto/span 16}.panel-grid .g-col-lg-17{grid-column:auto/span 17}.panel-grid .g-col-lg-18{grid-column:auto/span 18}.panel-grid .g-col-lg-19{grid-column:auto/span 19}.panel-grid .g-col-lg-20{grid-column:auto/span 20}.panel-grid .g-col-lg-21{grid-column:auto/span 21}.panel-grid .g-col-lg-22{grid-column:auto/span 22}.panel-grid .g-col-lg-23{grid-column:auto/span 23}.panel-grid .g-col-lg-24{grid-column:auto/span 24}.panel-grid .g-start-lg-1{grid-column-start:1}.panel-grid .g-start-lg-2{grid-column-start:2}.panel-grid .g-start-lg-3{grid-column-start:3}.panel-grid .g-start-lg-4{grid-column-start:4}.panel-grid .g-start-lg-5{grid-column-start:5}.panel-grid .g-start-lg-6{grid-column-start:6}.panel-grid .g-start-lg-7{grid-column-start:7}.panel-grid .g-start-lg-8{grid-column-start:8}.panel-grid .g-start-lg-9{grid-column-start:9}.panel-grid .g-start-lg-10{grid-column-start:10}.panel-grid .g-start-lg-11{grid-column-start:11}.panel-grid .g-start-lg-12{grid-column-start:12}.panel-grid .g-start-lg-13{grid-column-start:13}.panel-grid .g-start-lg-14{grid-column-start:14}.panel-grid .g-start-lg-15{grid-column-start:15}.panel-grid .g-start-lg-16{grid-column-start:16}.panel-grid .g-start-lg-17{grid-column-start:17}.panel-grid .g-start-lg-18{grid-column-start:18}.panel-grid .g-start-lg-19{grid-column-start:19}.panel-grid .g-start-lg-20{grid-column-start:20}.panel-grid .g-start-lg-21{grid-column-start:21}.panel-grid .g-start-lg-22{grid-column-start:22}.panel-grid .g-start-lg-23{grid-column-start:23}}@media(min-width: 1200px){.panel-grid .g-col-xl-1{grid-column:auto/span 1}.panel-grid .g-col-xl-2{grid-column:auto/span 2}.panel-grid .g-col-xl-3{grid-column:auto/span 3}.panel-grid .g-col-xl-4{grid-column:auto/span 4}.panel-grid .g-col-xl-5{grid-column:auto/span 5}.panel-grid .g-col-xl-6{grid-column:auto/span 6}.panel-grid .g-col-xl-7{grid-column:auto/span 7}.panel-grid .g-col-xl-8{grid-column:auto/span 8}.panel-grid .g-col-xl-9{grid-column:auto/span 9}.panel-grid .g-col-xl-10{grid-column:auto/span 10}.panel-grid .g-col-xl-11{grid-column:auto/span 11}.panel-grid .g-col-xl-12{grid-column:auto/span 12}.panel-grid .g-col-xl-13{grid-column:auto/span 13}.panel-grid .g-col-xl-14{grid-column:auto/span 14}.panel-grid .g-col-xl-15{grid-column:auto/span 15}.panel-grid .g-col-xl-16{grid-column:auto/span 16}.panel-grid .g-col-xl-17{grid-column:auto/span 17}.panel-grid .g-col-xl-18{grid-column:auto/span 18}.panel-grid .g-col-xl-19{grid-column:auto/span 19}.panel-grid .g-col-xl-20{grid-column:auto/span 20}.panel-grid .g-col-xl-21{grid-column:auto/span 21}.panel-grid .g-col-xl-22{grid-column:auto/span 22}.panel-grid .g-col-xl-23{grid-column:auto/span 23}.panel-grid .g-col-xl-24{grid-column:auto/span 24}.panel-grid .g-start-xl-1{grid-column-start:1}.panel-grid .g-start-xl-2{grid-column-start:2}.panel-grid .g-start-xl-3{grid-column-start:3}.panel-grid .g-start-xl-4{grid-column-start:4}.panel-grid .g-start-xl-5{grid-column-start:5}.panel-grid .g-start-xl-6{grid-column-start:6}.panel-grid .g-start-xl-7{grid-column-start:7}.panel-grid .g-start-xl-8{grid-column-start:8}.panel-grid .g-start-xl-9{grid-column-start:9}.panel-grid .g-start-xl-10{grid-column-start:10}.panel-grid .g-start-xl-11{grid-column-start:11}.panel-grid .g-start-xl-12{grid-column-start:12}.panel-grid .g-start-xl-13{grid-column-start:13}.panel-grid .g-start-xl-14{grid-column-start:14}.panel-grid .g-start-xl-15{grid-column-start:15}.panel-grid .g-start-xl-16{grid-column-start:16}.panel-grid .g-start-xl-17{grid-column-start:17}.panel-grid .g-start-xl-18{grid-column-start:18}.panel-grid .g-start-xl-19{grid-column-start:19}.panel-grid .g-start-xl-20{grid-column-start:20}.panel-grid .g-start-xl-21{grid-column-start:21}.panel-grid .g-start-xl-22{grid-column-start:22}.panel-grid .g-start-xl-23{grid-column-start:23}}@media(min-width: 1400px){.panel-grid .g-col-xxl-1{grid-column:auto/span 1}.panel-grid .g-col-xxl-2{grid-column:auto/span 2}.panel-grid .g-col-xxl-3{grid-column:auto/span 3}.panel-grid .g-col-xxl-4{grid-column:auto/span 4}.panel-grid .g-col-xxl-5{grid-column:auto/span 5}.panel-grid .g-col-xxl-6{grid-column:auto/span 6}.panel-grid .g-col-xxl-7{grid-column:auto/span 7}.panel-grid .g-col-xxl-8{grid-column:auto/span 8}.panel-grid .g-col-xxl-9{grid-column:auto/span 9}.panel-grid .g-col-xxl-10{grid-column:auto/span 10}.panel-grid .g-col-xxl-11{grid-column:auto/span 11}.panel-grid .g-col-xxl-12{grid-column:auto/span 12}.panel-grid .g-col-xxl-13{grid-column:auto/span 13}.panel-grid .g-col-xxl-14{grid-column:auto/span 14}.panel-grid .g-col-xxl-15{grid-column:auto/span 15}.panel-grid .g-col-xxl-16{grid-column:auto/span 16}.panel-grid .g-col-xxl-17{grid-column:auto/span 17}.panel-grid .g-col-xxl-18{grid-column:auto/span 18}.panel-grid .g-col-xxl-19{grid-column:auto/span 19}.panel-grid .g-col-xxl-20{grid-column:auto/span 20}.panel-grid .g-col-xxl-21{grid-column:auto/span 21}.panel-grid .g-col-xxl-22{grid-column:auto/span 22}.panel-grid .g-col-xxl-23{grid-column:auto/span 23}.panel-grid .g-col-xxl-24{grid-column:auto/span 24}.panel-grid .g-start-xxl-1{grid-column-start:1}.panel-grid .g-start-xxl-2{grid-column-start:2}.panel-grid .g-start-xxl-3{grid-column-start:3}.panel-grid .g-start-xxl-4{grid-column-start:4}.panel-grid .g-start-xxl-5{grid-column-start:5}.panel-grid .g-start-xxl-6{grid-column-start:6}.panel-grid .g-start-xxl-7{grid-column-start:7}.panel-grid .g-start-xxl-8{grid-column-start:8}.panel-grid .g-start-xxl-9{grid-column-start:9}.panel-grid .g-start-xxl-10{grid-column-start:10}.panel-grid .g-start-xxl-11{grid-column-start:11}.panel-grid .g-start-xxl-12{grid-column-start:12}.panel-grid .g-start-xxl-13{grid-column-start:13}.panel-grid .g-start-xxl-14{grid-column-start:14}.panel-grid .g-start-xxl-15{grid-column-start:15}.panel-grid .g-start-xxl-16{grid-column-start:16}.panel-grid .g-start-xxl-17{grid-column-start:17}.panel-grid .g-start-xxl-18{grid-column-start:18}.panel-grid .g-start-xxl-19{grid-column-start:19}.panel-grid .g-start-xxl-20{grid-column-start:20}.panel-grid .g-start-xxl-21{grid-column-start:21}.panel-grid .g-start-xxl-22{grid-column-start:22}.panel-grid .g-start-xxl-23{grid-column-start:23}}main{margin-top:1em;margin-bottom:1em}h1,.h1,h2,.h2{color:inherit;margin-top:2rem;margin-bottom:1rem;font-weight:600}h1.title,.title.h1{margin-top:0}main.content>section:first-of-type>h2:first-child,main.content>section:first-of-type>.h2:first-child{margin-top:0}h2,.h2{border-bottom:1px solid #dee2e6;padding-bottom:.5rem}h3,.h3{font-weight:600}h3,.h3,h4,.h4{opacity:.9;margin-top:1.5rem}h5,.h5,h6,.h6{opacity:.9}.header-section-number{color:#5a6570}.nav-link.active .header-section-number{color:inherit}mark,.mark{padding:0em}.panel-caption,.figure-caption,.subfigure-caption,.table-caption,figcaption,caption{font-size:.9rem;color:#5a6570}.quarto-layout-cell[data-ref-parent] caption{color:#5a6570}.column-margin figcaption,.margin-caption,div.aside,aside,.column-margin{color:#5a6570;font-size:.825rem}.panel-caption.margin-caption{text-align:inherit}.column-margin.column-container p{margin-bottom:0}.column-margin.column-container>*:not(.collapse):first-child{padding-bottom:.5em;display:block}.column-margin.column-container>*:not(.collapse):not(:first-child){padding-top:.5em;padding-bottom:.5em;display:block}.column-margin.column-container>*.collapse:not(.show){display:none}@media(min-width: 768px){.column-margin.column-container .callout-margin-content:first-child{margin-top:4.5em}.column-margin.column-container .callout-margin-content-simple:first-child{margin-top:3.5em}}.margin-caption>*{padding-top:.5em;padding-bottom:.5em}@media(max-width: 767.98px){.quarto-layout-row{flex-direction:column}}.nav-tabs .nav-item{margin-top:1px;cursor:pointer}.tab-content{margin-top:0px;border-left:#dee2e6 1px solid;border-right:#dee2e6 1px solid;border-bottom:#dee2e6 1px solid;margin-left:0;padding:1em;margin-bottom:1em}@media(max-width: 767.98px){.layout-sidebar{margin-left:0;margin-right:0}}.panel-sidebar,.panel-sidebar .form-control,.panel-input,.panel-input .form-control,.selectize-dropdown{font-size:.9rem}.panel-sidebar .form-control,.panel-input .form-control{padding-top:.1rem}.tab-pane div.sourceCode{margin-top:0px}.tab-pane>p{padding-top:0}.tab-pane>p:nth-child(1){padding-top:0}.tab-pane>p:last-child{margin-bottom:0}.tab-pane>pre:last-child{margin-bottom:0}.tab-content>.tab-pane:not(.active){display:none !important}div.sourceCode{background-color:rgba(233,236,239,.65);border:1px solid rgba(233,236,239,.65);border-radius:.25rem}pre.sourceCode{background-color:rgba(0,0,0,0)}pre.sourceCode{border:none;font-size:.875em;overflow:visible !important;padding:.4em}.callout pre.sourceCode{padding-left:0}div.sourceCode{overflow-y:hidden}.callout div.sourceCode{margin-left:initial}.blockquote{font-size:inherit;padding-left:1rem;padding-right:1.5rem;color:#5a6570}.blockquote h1:first-child,.blockquote .h1:first-child,.blockquote h2:first-child,.blockquote .h2:first-child,.blockquote h3:first-child,.blockquote .h3:first-child,.blockquote h4:first-child,.blockquote .h4:first-child,.blockquote h5:first-child,.blockquote .h5:first-child{margin-top:0}pre{background-color:initial;padding:initial;border:initial}p pre code:not(.sourceCode),li pre code:not(.sourceCode),pre code:not(.sourceCode){background-color:initial}p code:not(.sourceCode),li code:not(.sourceCode),td code:not(.sourceCode){background-color:#f8f9fa;padding:.2em}nav p code:not(.sourceCode),nav li code:not(.sourceCode),nav td code:not(.sourceCode){background-color:rgba(0,0,0,0);padding:0}td code:not(.sourceCode){white-space:pre-wrap}#quarto-embedded-source-code-modal>.modal-dialog{max-width:1000px;padding-left:1.75rem;padding-right:1.75rem}#quarto-embedded-source-code-modal>.modal-dialog>.modal-content>.modal-body{padding:0}#quarto-embedded-source-code-modal>.modal-dialog>.modal-content>.modal-body div.sourceCode{margin:0;padding:.2rem .2rem;border-radius:0px;border:none}#quarto-embedded-source-code-modal>.modal-dialog>.modal-content>.modal-header{padding:.7rem}.code-tools-button{font-size:1rem;padding:.15rem .15rem;margin-left:5px;color:#6c757d;background-color:rgba(0,0,0,0);transition:initial;cursor:pointer}.code-tools-button>.bi::before{display:inline-block;height:1rem;width:1rem;content:"";vertical-align:-0.125em;background-image:url('data:image/svg+xml,');background-repeat:no-repeat;background-size:1rem 1rem}.code-tools-button:hover>.bi::before{background-image:url('data:image/svg+xml,')}#quarto-embedded-source-code-modal .code-copy-button>.bi::before{background-image:url('data:image/svg+xml,')}#quarto-embedded-source-code-modal .code-copy-button-checked>.bi::before{background-image:url('data:image/svg+xml,')}.sidebar{will-change:top;transition:top 200ms linear;position:sticky;overflow-y:auto;padding-top:1.2em;max-height:100vh}.sidebar.toc-left,.sidebar.margin-sidebar{top:0px;padding-top:1em}.sidebar.quarto-banner-title-block-sidebar>*{padding-top:1.65em}figure .quarto-notebook-link{margin-top:.5em}.quarto-notebook-link{font-size:.75em;color:#6c757d;margin-bottom:1em;text-decoration:none;display:block}.quarto-notebook-link:hover{text-decoration:underline;color:#0d6efd}.quarto-notebook-link::before{display:inline-block;height:.75rem;width:.75rem;margin-bottom:0em;margin-right:.25em;content:"";vertical-align:-0.125em;background-image:url('data:image/svg+xml,');background-repeat:no-repeat;background-size:.75rem .75rem}.toc-actions i.bi,.quarto-code-links i.bi,.quarto-other-links i.bi,.quarto-alternate-notebooks i.bi,.quarto-alternate-formats i.bi{margin-right:.4em;font-size:.8rem}.quarto-other-links-text-target .quarto-code-links i.bi,.quarto-other-links-text-target .quarto-other-links i.bi{margin-right:.2em}.quarto-other-formats-text-target .quarto-alternate-formats i.bi{margin-right:.1em}.toc-actions i.bi.empty,.quarto-code-links i.bi.empty,.quarto-other-links i.bi.empty,.quarto-alternate-notebooks i.bi.empty,.quarto-alternate-formats i.bi.empty{padding-left:1em}.quarto-notebook h2,.quarto-notebook .h2{border-bottom:none}.quarto-notebook .cell-container{display:flex}.quarto-notebook .cell-container .cell{flex-grow:4}.quarto-notebook .cell-container .cell-decorator{padding-top:1.5em;padding-right:1em;text-align:right}.quarto-notebook .cell-container.code-fold .cell-decorator{padding-top:3em}.quarto-notebook .cell-code code{white-space:pre-wrap}.quarto-notebook .cell .cell-output-stderr pre code,.quarto-notebook .cell .cell-output-stdout pre code{white-space:pre-wrap;overflow-wrap:anywhere}.toc-actions,.quarto-alternate-formats,.quarto-other-links,.quarto-code-links,.quarto-alternate-notebooks{padding-left:0em}.sidebar .toc-actions a,.sidebar .quarto-alternate-formats a,.sidebar .quarto-other-links a,.sidebar .quarto-code-links a,.sidebar .quarto-alternate-notebooks a,.sidebar nav[role=doc-toc] a{text-decoration:none}.sidebar .toc-actions a:hover,.sidebar .quarto-other-links a:hover,.sidebar .quarto-code-links a:hover,.sidebar .quarto-alternate-formats a:hover,.sidebar .quarto-alternate-notebooks a:hover{color:#0d6efd}.sidebar .toc-actions h2,.sidebar .toc-actions .h2,.sidebar .quarto-code-links h2,.sidebar .quarto-code-links .h2,.sidebar .quarto-other-links h2,.sidebar .quarto-other-links .h2,.sidebar .quarto-alternate-notebooks h2,.sidebar .quarto-alternate-notebooks .h2,.sidebar .quarto-alternate-formats h2,.sidebar .quarto-alternate-formats .h2,.sidebar nav[role=doc-toc]>h2,.sidebar nav[role=doc-toc]>.h2{font-weight:500;margin-bottom:.2rem;margin-top:.3rem;font-family:inherit;border-bottom:0;padding-bottom:0;padding-top:0px}.sidebar .toc-actions>h2,.sidebar .toc-actions>.h2,.sidebar .quarto-code-links>h2,.sidebar .quarto-code-links>.h2,.sidebar .quarto-other-links>h2,.sidebar .quarto-other-links>.h2,.sidebar .quarto-alternate-notebooks>h2,.sidebar .quarto-alternate-notebooks>.h2,.sidebar .quarto-alternate-formats>h2,.sidebar .quarto-alternate-formats>.h2{font-size:.8rem}.sidebar nav[role=doc-toc]>h2,.sidebar nav[role=doc-toc]>.h2{font-size:.875rem}.sidebar nav[role=doc-toc]>ul a{border-left:1px solid #e9ecef;padding-left:.6rem}.sidebar .toc-actions h2>ul a,.sidebar .toc-actions .h2>ul a,.sidebar .quarto-code-links h2>ul a,.sidebar .quarto-code-links .h2>ul a,.sidebar .quarto-other-links h2>ul a,.sidebar .quarto-other-links .h2>ul a,.sidebar .quarto-alternate-notebooks h2>ul a,.sidebar .quarto-alternate-notebooks .h2>ul a,.sidebar .quarto-alternate-formats h2>ul a,.sidebar .quarto-alternate-formats .h2>ul a{border-left:none;padding-left:.6rem}.sidebar .toc-actions ul a:empty,.sidebar .quarto-code-links ul a:empty,.sidebar .quarto-other-links ul a:empty,.sidebar .quarto-alternate-notebooks ul a:empty,.sidebar .quarto-alternate-formats ul a:empty,.sidebar nav[role=doc-toc]>ul a:empty{display:none}.sidebar .toc-actions ul,.sidebar .quarto-code-links ul,.sidebar .quarto-other-links ul,.sidebar .quarto-alternate-notebooks ul,.sidebar .quarto-alternate-formats ul{padding-left:0;list-style:none}.sidebar nav[role=doc-toc] ul{list-style:none;padding-left:0;list-style:none}.sidebar nav[role=doc-toc]>ul{margin-left:.45em}.quarto-margin-sidebar nav[role=doc-toc]{padding-left:.5em}.sidebar .toc-actions>ul,.sidebar .quarto-code-links>ul,.sidebar .quarto-other-links>ul,.sidebar .quarto-alternate-notebooks>ul,.sidebar .quarto-alternate-formats>ul{font-size:.8rem}.sidebar nav[role=doc-toc]>ul{font-size:.875rem}.sidebar .toc-actions ul li a,.sidebar .quarto-code-links ul li a,.sidebar .quarto-other-links ul li a,.sidebar .quarto-alternate-notebooks ul li a,.sidebar .quarto-alternate-formats ul li a,.sidebar nav[role=doc-toc]>ul li a{line-height:1.1rem;padding-bottom:.2rem;padding-top:.2rem;color:inherit}.sidebar nav[role=doc-toc] ul>li>ul>li>a{padding-left:1.2em}.sidebar nav[role=doc-toc] ul>li>ul>li>ul>li>a{padding-left:2.4em}.sidebar nav[role=doc-toc] ul>li>ul>li>ul>li>ul>li>a{padding-left:3.6em}.sidebar nav[role=doc-toc] ul>li>ul>li>ul>li>ul>li>ul>li>a{padding-left:4.8em}.sidebar nav[role=doc-toc] ul>li>ul>li>ul>li>ul>li>ul>li>ul>li>a{padding-left:6em}.sidebar nav[role=doc-toc] ul>li>a.active,.sidebar nav[role=doc-toc] ul>li>ul>li>a.active{border-left:1px solid #0d6efd;color:#0d6efd !important}.sidebar nav[role=doc-toc] ul>li>a:hover,.sidebar nav[role=doc-toc] ul>li>ul>li>a:hover{color:#0d6efd !important}kbd,.kbd{color:#212529;background-color:#f8f9fa;border:1px solid;border-radius:5px;border-color:#dee2e6}.quarto-appendix-contents div.hanging-indent{margin-left:0em}.quarto-appendix-contents div.hanging-indent div.csl-entry{margin-left:1em;text-indent:-1em}.citation a,.footnote-ref{text-decoration:none}.footnotes ol{padding-left:1em}.tippy-content>*{margin-bottom:.7em}.tippy-content>*:last-child{margin-bottom:0}.callout{margin-top:1.25rem;margin-bottom:1.25rem;border-radius:.25rem;overflow-wrap:break-word}.callout .callout-title-container{overflow-wrap:anywhere}.callout.callout-style-simple{padding:.4em .7em;border-left:5px solid;border-right:1px solid #dee2e6;border-top:1px solid #dee2e6;border-bottom:1px solid #dee2e6}.callout.callout-style-default{border-left:5px solid;border-right:1px solid #dee2e6;border-top:1px solid #dee2e6;border-bottom:1px solid #dee2e6}.callout .callout-body-container{flex-grow:1}.callout.callout-style-simple .callout-body{font-size:.9rem;font-weight:400}.callout.callout-style-default .callout-body{font-size:.9rem;font-weight:400}.callout:not(.no-icon).callout-titled.callout-style-simple .callout-body{padding-left:1.6em}.callout.callout-titled>.callout-header{padding-top:.2em;margin-bottom:-0.2em}.callout.callout-style-simple>div.callout-header{border-bottom:none;font-size:.9rem;font-weight:600;opacity:75%}.callout.callout-style-default>div.callout-header{border-bottom:none;font-weight:600;opacity:85%;font-size:.9rem;padding-left:.5em;padding-right:.5em}.callout.callout-style-default .callout-body{padding-left:.5em;padding-right:.5em}.callout.callout-style-default .callout-body>:first-child{padding-top:.5rem;margin-top:0}.callout>div.callout-header[data-bs-toggle=collapse]{cursor:pointer}.callout.callout-style-default .callout-header[aria-expanded=false],.callout.callout-style-default .callout-header[aria-expanded=true]{padding-top:0px;margin-bottom:0px;align-items:center}.callout.callout-titled .callout-body>:last-child:not(.sourceCode),.callout.callout-titled .callout-body>div>:last-child:not(.sourceCode){padding-bottom:.5rem;margin-bottom:0}.callout:not(.callout-titled) .callout-body>:first-child,.callout:not(.callout-titled) .callout-body>div>:first-child{margin-top:.25rem}.callout:not(.callout-titled) .callout-body>:last-child,.callout:not(.callout-titled) .callout-body>div>:last-child{margin-bottom:.2rem}.callout.callout-style-simple .callout-icon::before,.callout.callout-style-simple .callout-toggle::before{height:1rem;width:1rem;display:inline-block;content:"";background-repeat:no-repeat;background-size:1rem 1rem}.callout.callout-style-default .callout-icon::before,.callout.callout-style-default .callout-toggle::before{height:.9rem;width:.9rem;display:inline-block;content:"";background-repeat:no-repeat;background-size:.9rem .9rem}.callout.callout-style-default .callout-toggle::before{margin-top:5px}.callout .callout-btn-toggle .callout-toggle::before{transition:transform .2s linear}.callout .callout-header[aria-expanded=false] .callout-toggle::before{transform:rotate(-90deg)}.callout .callout-header[aria-expanded=true] .callout-toggle::before{transform:none}.callout.callout-style-simple:not(.no-icon) div.callout-icon-container{padding-top:.2em;padding-right:.55em}.callout.callout-style-default:not(.no-icon) div.callout-icon-container{padding-top:.1em;padding-right:.35em}.callout.callout-style-default:not(.no-icon) div.callout-title-container{margin-top:-1px}.callout.callout-style-default.callout-caution:not(.no-icon) div.callout-icon-container{padding-top:.3em;padding-right:.35em}.callout>.callout-body>.callout-icon-container>.no-icon,.callout>.callout-header>.callout-icon-container>.no-icon{display:none}div.callout.callout{border-left-color:#6c757d}div.callout.callout-style-default>.callout-header{background-color:#6c757d}div.callout-note.callout{border-left-color:#0d6efd}div.callout-note.callout-style-default>.callout-header{background-color:#e7f1ff}div.callout-note:not(.callout-titled) .callout-icon::before{background-image:url('data:image/svg+xml,');}div.callout-note.callout-titled .callout-icon::before{background-image:url('data:image/svg+xml,');}div.callout-note .callout-toggle::before{background-image:url('data:image/svg+xml,')}div.callout-tip.callout{border-left-color:#198754}div.callout-tip.callout-style-default>.callout-header{background-color:#e8f3ee}div.callout-tip:not(.callout-titled) .callout-icon::before{background-image:url('data:image/svg+xml,');}div.callout-tip.callout-titled .callout-icon::before{background-image:url('data:image/svg+xml,');}div.callout-tip .callout-toggle::before{background-image:url('data:image/svg+xml,')}div.callout-warning.callout{border-left-color:#ffc107}div.callout-warning.callout-style-default>.callout-header{background-color:#fff9e6}div.callout-warning:not(.callout-titled) .callout-icon::before{background-image:url('data:image/svg+xml,');}div.callout-warning.callout-titled .callout-icon::before{background-image:url('data:image/svg+xml,');}div.callout-warning .callout-toggle::before{background-image:url('data:image/svg+xml,')}div.callout-caution.callout{border-left-color:#fd7e14}div.callout-caution.callout-style-default>.callout-header{background-color:#fff2e8}div.callout-caution:not(.callout-titled) .callout-icon::before{background-image:url('data:image/svg+xml,');}div.callout-caution.callout-titled .callout-icon::before{background-image:url('data:image/svg+xml,');}div.callout-caution .callout-toggle::before{background-image:url('data:image/svg+xml,')}div.callout-important.callout{border-left-color:#dc3545}div.callout-important.callout-style-default>.callout-header{background-color:#fcebec}div.callout-important:not(.callout-titled) .callout-icon::before{background-image:url('data:image/svg+xml,');}div.callout-important.callout-titled .callout-icon::before{background-image:url('data:image/svg+xml,');}div.callout-important .callout-toggle::before{background-image:url('data:image/svg+xml,')}.quarto-toggle-container{display:flex;align-items:center}.quarto-reader-toggle .bi::before,.quarto-color-scheme-toggle .bi::before{display:inline-block;height:1rem;width:1rem;content:"";background-repeat:no-repeat;background-size:1rem 1rem}.sidebar-navigation{padding-left:20px}.navbar{background-color:#f8f9fa;color:#545555}.navbar .quarto-color-scheme-toggle:not(.alternate) .bi::before{background-image:url('data:image/svg+xml,')}.navbar .quarto-color-scheme-toggle.alternate .bi::before{background-image:url('data:image/svg+xml,')}.sidebar-navigation .quarto-color-scheme-toggle:not(.alternate) .bi::before{background-image:url('data:image/svg+xml,')}.sidebar-navigation .quarto-color-scheme-toggle.alternate .bi::before{background-image:url('data:image/svg+xml,')}.quarto-sidebar-toggle{border-color:#dee2e6;border-bottom-left-radius:.25rem;border-bottom-right-radius:.25rem;border-style:solid;border-width:1px;overflow:hidden;border-top-width:0px;padding-top:0px !important}.quarto-sidebar-toggle-title{cursor:pointer;padding-bottom:2px;margin-left:.25em;text-align:center;font-weight:400;font-size:.775em}#quarto-content .quarto-sidebar-toggle{background:#fafafa}#quarto-content .quarto-sidebar-toggle-title{color:#212529}.quarto-sidebar-toggle-icon{color:#dee2e6;margin-right:.5em;float:right;transition:transform .2s ease}.quarto-sidebar-toggle-icon::before{padding-top:5px}.quarto-sidebar-toggle.expanded .quarto-sidebar-toggle-icon{transform:rotate(-180deg)}.quarto-sidebar-toggle.expanded .quarto-sidebar-toggle-title{border-bottom:solid #dee2e6 1px}.quarto-sidebar-toggle-contents{background-color:#fff;padding-right:10px;padding-left:10px;margin-top:0px !important;transition:max-height .5s ease}.quarto-sidebar-toggle.expanded .quarto-sidebar-toggle-contents{padding-top:1em;padding-bottom:10px}@media(max-width: 767.98px){.sidebar-menu-container{padding-bottom:5em}}.quarto-sidebar-toggle:not(.expanded) .quarto-sidebar-toggle-contents{padding-top:0px !important;padding-bottom:0px}nav[role=doc-toc]{z-index:1020}#quarto-sidebar>*,nav[role=doc-toc]>*{transition:opacity .1s ease,border .1s ease}#quarto-sidebar.slow>*,nav[role=doc-toc].slow>*{transition:opacity .4s ease,border .4s ease}.quarto-color-scheme-toggle:not(.alternate).top-right .bi::before{background-image:url('data:image/svg+xml,')}.quarto-color-scheme-toggle.alternate.top-right .bi::before{background-image:url('data:image/svg+xml,')}#quarto-appendix.default{border-top:1px solid #dee2e6}#quarto-appendix.default{background-color:#fff;padding-top:1.5em;margin-top:2em;z-index:998}#quarto-appendix.default .quarto-appendix-heading{margin-top:0;line-height:1.4em;font-weight:600;opacity:.9;border-bottom:none;margin-bottom:0}#quarto-appendix.default .footnotes ol,#quarto-appendix.default .footnotes ol li>p:last-of-type,#quarto-appendix.default .quarto-appendix-contents>p:last-of-type{margin-bottom:0}#quarto-appendix.default .footnotes ol{margin-left:.5em}#quarto-appendix.default .quarto-appendix-secondary-label{margin-bottom:.4em}#quarto-appendix.default .quarto-appendix-bibtex{font-size:.7em;padding:1em;border:solid 1px #dee2e6;margin-bottom:1em}#quarto-appendix.default .quarto-appendix-bibtex code.sourceCode{white-space:pre-wrap}#quarto-appendix.default .quarto-appendix-citeas{font-size:.9em;padding:1em;border:solid 1px #dee2e6;margin-bottom:1em}#quarto-appendix.default .quarto-appendix-heading{font-size:1em !important}#quarto-appendix.default *[role=doc-endnotes]>ol,#quarto-appendix.default .quarto-appendix-contents>*:not(h2):not(.h2){font-size:.9em}#quarto-appendix.default section{padding-bottom:1.5em}#quarto-appendix.default section *[role=doc-endnotes],#quarto-appendix.default section>*:not(a){opacity:.9;word-wrap:break-word}.btn.btn-quarto,div.cell-output-display .btn-quarto{--bs-btn-color: #fefefe;--bs-btn-bg: #6c757d;--bs-btn-border-color: #6c757d;--bs-btn-hover-color: #fefefe;--bs-btn-hover-bg: #828a91;--bs-btn-hover-border-color: #7b838a;--bs-btn-focus-shadow-rgb: 130, 138, 144;--bs-btn-active-color: #000;--bs-btn-active-bg: #899197;--bs-btn-active-border-color: #7b838a;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color: #ffffff;--bs-btn-disabled-bg: #6c757d;--bs-btn-disabled-border-color: #6c757d}nav.quarto-secondary-nav.color-navbar{background-color:#f8f9fa;color:#545555}nav.quarto-secondary-nav.color-navbar h1,nav.quarto-secondary-nav.color-navbar .h1,nav.quarto-secondary-nav.color-navbar .quarto-btn-toggle{color:#545555}@media(max-width: 991.98px){body.nav-sidebar .quarto-title-banner{margin-bottom:0;padding-bottom:1em}body.nav-sidebar #title-block-header{margin-block-end:0}}p.subtitle{margin-top:.25em;margin-bottom:.5em}code a:any-link{color:inherit;text-decoration-color:#6c757d}/*! light */div.observablehq table thead tr th{background-color:var(--bs-body-bg)}input,button,select,optgroup,textarea{background-color:var(--bs-body-bg)}.code-annotated .code-copy-button{margin-right:1.25em;margin-top:0;padding-bottom:0;padding-top:3px}.code-annotation-gutter-bg{background-color:#fff}.code-annotation-gutter{background-color:rgba(233,236,239,.65)}.code-annotation-gutter,.code-annotation-gutter-bg{height:100%;width:calc(20px + .5em);position:absolute;top:0;right:0}dl.code-annotation-container-grid dt{margin-right:1em;margin-top:.25rem}dl.code-annotation-container-grid dt{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;color:#383f45;border:solid #383f45 1px;border-radius:50%;height:22px;width:22px;line-height:22px;font-size:11px;text-align:center;vertical-align:middle;text-decoration:none}dl.code-annotation-container-grid dt[data-target-cell]{cursor:pointer}dl.code-annotation-container-grid dt[data-target-cell].code-annotation-active{color:#fff;border:solid #aaa 1px;background-color:#aaa}pre.code-annotation-code{padding-top:0;padding-bottom:0}pre.code-annotation-code code{z-index:3}#code-annotation-line-highlight-gutter{width:100%;border-top:solid rgba(170,170,170,.2666666667) 1px;border-bottom:solid rgba(170,170,170,.2666666667) 1px;z-index:2;background-color:rgba(170,170,170,.1333333333)}#code-annotation-line-highlight{margin-left:-4em;width:calc(100% + 4em);border-top:solid rgba(170,170,170,.2666666667) 1px;border-bottom:solid rgba(170,170,170,.2666666667) 1px;z-index:2;background-color:rgba(170,170,170,.1333333333)}code.sourceCode .code-annotation-anchor.code-annotation-active{background-color:var(--quarto-hl-normal-color, #aaaaaa);border:solid var(--quarto-hl-normal-color, #aaaaaa) 1px;color:#e9ecef;font-weight:bolder}code.sourceCode .code-annotation-anchor{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;color:var(--quarto-hl-co-color);border:solid var(--quarto-hl-co-color) 1px;border-radius:50%;height:18px;width:18px;font-size:9px;margin-top:2px}code.sourceCode button.code-annotation-anchor{padding:2px;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none}code.sourceCode a.code-annotation-anchor{line-height:18px;text-align:center;vertical-align:middle;cursor:default;text-decoration:none}@media print{.page-columns .column-screen-inset{grid-column:page-start-inset/page-end-inset;z-index:998;opacity:.999}.page-columns .column-screen-inset table{background:#fff}.page-columns .column-screen-inset-left{grid-column:page-start-inset/body-content-end;z-index:998;opacity:.999}.page-columns .column-screen-inset-left table{background:#fff}.page-columns .column-screen-inset-right{grid-column:body-content-start/page-end-inset;z-index:998;opacity:.999}.page-columns .column-screen-inset-right table{background:#fff}.page-columns .column-screen{grid-column:page-start/page-end;z-index:998;opacity:.999}.page-columns .column-screen table{background:#fff}.page-columns .column-screen-left{grid-column:page-start/body-content-end;z-index:998;opacity:.999}.page-columns .column-screen-left table{background:#fff}.page-columns .column-screen-right{grid-column:body-content-start/page-end;z-index:998;opacity:.999}.page-columns .column-screen-right table{background:#fff}.page-columns .column-screen-inset-shaded{grid-column:page-start-inset/page-end-inset;padding:1em;background:#f8f9fa;z-index:998;opacity:.999;margin-bottom:1em}}.quarto-video{margin-bottom:1em}.table{border-top:1px solid #d3d8dc;border-bottom:1px solid #d3d8dc}.table>thead{border-top-width:0;border-bottom:1px solid #9ba5ae}.table a{word-break:break-word}.table>:not(caption)>*>*{background-color:unset;color:unset}#quarto-document-content .crosstalk-input .checkbox input[type=checkbox],#quarto-document-content .crosstalk-input .checkbox-inline input[type=checkbox]{position:unset;margin-top:unset;margin-left:unset}#quarto-document-content .row{margin-left:unset;margin-right:unset}.quarto-xref{white-space:nowrap}#quarto-draft-alert{margin-top:0px;margin-bottom:0px;padding:.3em;text-align:center;font-size:.9em}#quarto-draft-alert i{margin-right:.3em}a.external:after{content:"";background-image:url('data:image/svg+xml,');background-size:contain;background-repeat:no-repeat;background-position:center center;margin-left:.2em;padding-right:.75em}div.sourceCode code a.external:after{content:none}a.external:after:hover{cursor:pointer}.quarto-ext-icon{display:inline-block;font-size:.75em;padding-left:.3em}.code-with-filename .code-with-filename-file{margin-bottom:0;padding-bottom:2px;padding-top:2px;padding-left:.7em;border:var(--quarto-border-width) solid var(--quarto-border-color);border-radius:var(--quarto-border-radius);border-bottom:0;border-bottom-left-radius:0%;border-bottom-right-radius:0%}.code-with-filename div.sourceCode,.reveal .code-with-filename div.sourceCode{margin-top:0;border-top-left-radius:0%;border-top-right-radius:0%}.code-with-filename .code-with-filename-file pre{margin-bottom:0}.code-with-filename .code-with-filename-file{background-color:rgba(219,219,219,.8)}.quarto-dark .code-with-filename .code-with-filename-file{background-color:#555}.code-with-filename .code-with-filename-file strong{font-weight:400}.quarto-title-banner{margin-bottom:1em;color:#545555;background:#f8f9fa}.quarto-title-banner a{color:#545555}.quarto-title-banner h1,.quarto-title-banner .h1,.quarto-title-banner h2,.quarto-title-banner .h2{color:#545555}.quarto-title-banner .code-tools-button{color:#878888}.quarto-title-banner .code-tools-button:hover{color:#545555}.quarto-title-banner .code-tools-button>.bi::before{background-image:url('data:image/svg+xml,')}.quarto-title-banner .code-tools-button:hover>.bi::before{background-image:url('data:image/svg+xml,')}.quarto-title-banner .quarto-title .title{font-weight:600}.quarto-title-banner .quarto-categories{margin-top:.75em}@media(min-width: 992px){.quarto-title-banner{padding-top:2.5em;padding-bottom:2.5em}}@media(max-width: 991.98px){.quarto-title-banner{padding-top:1em;padding-bottom:1em}}@media(max-width: 767.98px){body.hypothesis-enabled #title-block-header>*{padding-right:20px}}main.quarto-banner-title-block>section:first-child>h2,main.quarto-banner-title-block>section:first-child>.h2,main.quarto-banner-title-block>section:first-child>h3,main.quarto-banner-title-block>section:first-child>.h3,main.quarto-banner-title-block>section:first-child>h4,main.quarto-banner-title-block>section:first-child>.h4{margin-top:0}.quarto-title .quarto-categories{display:flex;flex-wrap:wrap;row-gap:.5em;column-gap:.4em;padding-bottom:.5em;margin-top:.75em}.quarto-title .quarto-categories .quarto-category{padding:.25em .75em;font-size:.65em;text-transform:uppercase;border:solid 1px;border-radius:.25rem;opacity:.6}.quarto-title .quarto-categories .quarto-category a{color:inherit}.quarto-title-meta-container{display:grid;grid-template-columns:1fr auto}.quarto-title-meta-column-end{display:flex;flex-direction:column;padding-left:1em}.quarto-title-meta-column-end a .bi{margin-right:.3em}#title-block-header.quarto-title-block.default .quarto-title-meta{display:grid;grid-template-columns:repeat(2, 1fr);grid-column-gap:1em}#title-block-header.quarto-title-block.default .quarto-title .title{margin-bottom:0}#title-block-header.quarto-title-block.default .quarto-title-author-orcid img{margin-top:-0.2em;height:.8em;width:.8em}#title-block-header.quarto-title-block.default .quarto-title-author-email{opacity:.7}#title-block-header.quarto-title-block.default .quarto-description p:last-of-type{margin-bottom:0}#title-block-header.quarto-title-block.default .quarto-title-meta-contents p,#title-block-header.quarto-title-block.default .quarto-title-authors p,#title-block-header.quarto-title-block.default .quarto-title-affiliations p{margin-bottom:.1em}#title-block-header.quarto-title-block.default .quarto-title-meta-heading{text-transform:uppercase;margin-top:1em;font-size:.8em;opacity:.8;font-weight:400}#title-block-header.quarto-title-block.default .quarto-title-meta-contents{font-size:.9em}#title-block-header.quarto-title-block.default .quarto-title-meta-contents p.affiliation:last-of-type{margin-bottom:.1em}#title-block-header.quarto-title-block.default p.affiliation{margin-bottom:.1em}#title-block-header.quarto-title-block.default .keywords,#title-block-header.quarto-title-block.default .description,#title-block-header.quarto-title-block.default .abstract{margin-top:0}#title-block-header.quarto-title-block.default .keywords>p,#title-block-header.quarto-title-block.default .description>p,#title-block-header.quarto-title-block.default .abstract>p{font-size:.9em}#title-block-header.quarto-title-block.default .keywords>p:last-of-type,#title-block-header.quarto-title-block.default .description>p:last-of-type,#title-block-header.quarto-title-block.default .abstract>p:last-of-type{margin-bottom:0}#title-block-header.quarto-title-block.default .keywords .block-title,#title-block-header.quarto-title-block.default .description .block-title,#title-block-header.quarto-title-block.default .abstract .block-title{margin-top:1em;text-transform:uppercase;font-size:.8em;opacity:.8;font-weight:400}#title-block-header.quarto-title-block.default .quarto-title-meta-author{display:grid;grid-template-columns:minmax(max-content, 1fr) 1fr;grid-column-gap:1em}.quarto-title-tools-only{display:flex;justify-content:right} diff --git a/site_libs/bootstrap/bootstrap.min.js b/site_libs/bootstrap/bootstrap.min.js new file mode 100644 index 000000000..e8f21f703 --- /dev/null +++ b/site_libs/bootstrap/bootstrap.min.js @@ -0,0 +1,7 @@ +/*! + * Bootstrap v5.3.1 (https://getbootstrap.com/) + * Copyright 2011-2023 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + */ +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).bootstrap=e()}(this,(function(){"use strict";const t=new Map,e={set(e,i,n){t.has(e)||t.set(e,new Map);const s=t.get(e);s.has(i)||0===s.size?s.set(i,n):console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(s.keys())[0]}.`)},get:(e,i)=>t.has(e)&&t.get(e).get(i)||null,remove(e,i){if(!t.has(e))return;const n=t.get(e);n.delete(i),0===n.size&&t.delete(e)}},i="transitionend",n=t=>(t&&window.CSS&&window.CSS.escape&&(t=t.replace(/#([^\s"#']+)/g,((t,e)=>`#${CSS.escape(e)}`))),t),s=t=>{t.dispatchEvent(new Event(i))},o=t=>!(!t||"object"!=typeof t)&&(void 0!==t.jquery&&(t=t[0]),void 0!==t.nodeType),r=t=>o(t)?t.jquery?t[0]:t:"string"==typeof t&&t.length>0?document.querySelector(n(t)):null,a=t=>{if(!o(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},l=t=>!t||t.nodeType!==Node.ELEMENT_NODE||!!t.classList.contains("disabled")||(void 0!==t.disabled?t.disabled:t.hasAttribute("disabled")&&"false"!==t.getAttribute("disabled")),c=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?c(t.parentNode):null},h=()=>{},d=t=>{t.offsetHeight},u=()=>window.jQuery&&!document.body.hasAttribute("data-bs-no-jquery")?window.jQuery:null,f=[],p=()=>"rtl"===document.documentElement.dir,m=t=>{var e;e=()=>{const e=u();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?(f.length||document.addEventListener("DOMContentLoaded",(()=>{for(const t of f)t()})),f.push(e)):e()},g=(t,e=[],i=t)=>"function"==typeof t?t(...e):i,_=(t,e,n=!0)=>{if(!n)return void g(t);const o=(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 r=!1;const a=({target:n})=>{n===e&&(r=!0,e.removeEventListener(i,a),g(t))};e.addEventListener(i,a),setTimeout((()=>{r||s(e)}),o)},b=(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))])},v=/[^.]*(?=\..*)\.|.*/,y=/\..*/,w=/::\d+$/,A={};let E=1;const T={mouseenter:"mouseover",mouseleave:"mouseout"},C=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 O(t,e){return e&&`${e}::${E++}`||t.uidEvent||E++}function x(t){const e=O(t);return t.uidEvent=e,A[e]=A[e]||{},A[e]}function k(t,e,i=null){return Object.values(t).find((t=>t.callable===e&&t.delegationSelector===i))}function L(t,e,i){const n="string"==typeof e,s=n?i:e||i;let o=I(t);return C.has(o)||(o=t),[n,s,o]}function S(t,e,i,n,s){if("string"!=typeof e||!t)return;let[o,r,a]=L(e,i,n);if(e in T){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=x(t),c=l[a]||(l[a]={}),h=k(c,r,o?i:null);if(h)return void(h.oneOff=h.oneOff&&s);const d=O(r,e.replace(v,"")),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 P(s,{delegateTarget:r}),n.oneOff&&N.off(t,s.type,e,i),i.apply(r,[s])}}(t,i,r):function(t,e){return function i(n){return P(n,{delegateTarget:t}),i.oneOff&&N.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 D(t,e,i,n,s){const o=k(e[i],n,s);o&&(t.removeEventListener(i,o,Boolean(s)),delete e[i][o.uidEvent])}function $(t,e,i,n){const s=e[i]||{};for(const[o,r]of Object.entries(s))o.includes(n)&&D(t,e,i,r.callable,r.delegationSelector)}function I(t){return t=t.replace(y,""),T[t]||t}const N={on(t,e,i,n){S(t,e,i,n,!1)},one(t,e,i,n){S(t,e,i,n,!0)},off(t,e,i,n){if("string"!=typeof e||!t)return;const[s,o,r]=L(e,i,n),a=r!==e,l=x(t),c=l[r]||{},h=e.startsWith(".");if(void 0===o){if(h)for(const i of Object.keys(l))$(t,l,i,e.slice(1));for(const[i,n]of Object.entries(c)){const s=i.replace(w,"");a&&!e.includes(s)||D(t,l,r,n.callable,n.delegationSelector)}}else{if(!Object.keys(c).length)return;D(t,l,r,o,s?i:null)}},trigger(t,e,i){if("string"!=typeof e||!t)return null;const n=u();let s=null,o=!0,r=!0,a=!1;e!==I(e)&&n&&(s=n.Event(e,i),n(t).trigger(s),o=!s.isPropagationStopped(),r=!s.isImmediatePropagationStopped(),a=s.isDefaultPrevented());const l=P(new Event(e,{bubbles:o,cancelable:!0}),i);return a&&l.preventDefault(),r&&t.dispatchEvent(l),l.defaultPrevented&&s&&s.preventDefault(),l}};function P(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 M(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 j(t){return t.replace(/[A-Z]/g,(t=>`-${t.toLowerCase()}`))}const F={setDataAttribute(t,e,i){t.setAttribute(`data-bs-${j(e)}`,i)},removeDataAttribute(t,e){t.removeAttribute(`data-bs-${j(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]=M(t.dataset[n])}return e},getDataAttribute:(t,e)=>M(t.getAttribute(`data-bs-${j(e)}`))};class H{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=o(e)?F.getDataAttribute(e,"config"):{};return{...this.constructor.Default,..."object"==typeof i?i:{},...o(e)?F.getDataAttributes(e):{},..."object"==typeof t?t:{}}}_typeCheckConfig(t,e=this.constructor.DefaultType){for(const[n,s]of Object.entries(e)){const e=t[n],r=o(e)?"element":null==(i=e)?`${i}`:Object.prototype.toString.call(i).match(/\s([a-z]+)/i)[1].toLowerCase();if(!new RegExp(s).test(r))throw new TypeError(`${this.constructor.NAME.toUpperCase()}: Option "${n}" provided type "${r}" but expected type "${s}".`)}var i}}class W extends H{constructor(t,i){super(),(t=r(t))&&(this._element=t,this._config=this._getConfig(i),e.set(this._element,this.constructor.DATA_KEY,this))}dispose(){e.remove(this._element,this.constructor.DATA_KEY),N.off(this._element,this.constructor.EVENT_KEY);for(const t of Object.getOwnPropertyNames(this))this[t]=null}_queueCallback(t,e,i=!0){_(t,e,i)}_getConfig(t){return t=this._mergeConfigObj(t,this._element),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}static getInstance(t){return e.get(r(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.1"}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 B=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 n(e)},z={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=>!l(t)&&a(t)))},getSelectorFromElement(t){const e=B(t);return e&&z.findOne(e)?e:null},getElementFromSelector(t){const e=B(t);return e?z.findOne(e):null},getMultipleElementsFromSelector(t){const e=B(t);return e?z.find(e):[]}},R=(t,e="hide")=>{const i=`click.dismiss${t.EVENT_KEY}`,n=t.NAME;N.on(document,i,`[data-bs-dismiss="${n}"]`,(function(i){if(["A","AREA"].includes(this.tagName)&&i.preventDefault(),l(this))return;const s=z.getElementFromSelector(this)||this.closest(`.${n}`);t.getOrCreateInstance(s)[e]()}))},q=".bs.alert",V=`close${q}`,K=`closed${q}`;class Q extends W{static get NAME(){return"alert"}close(){if(N.trigger(this._element,V).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(),N.trigger(this._element,K),this.dispose()}static jQueryInterface(t){return this.each((function(){const e=Q.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)}}))}}R(Q,"close"),m(Q);const X='[data-bs-toggle="button"]';class Y extends W{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=Y.getOrCreateInstance(this);"toggle"===t&&e[t]()}))}}N.on(document,"click.bs.button.data-api",X,(t=>{t.preventDefault();const e=t.target.closest(X);Y.getOrCreateInstance(e).toggle()})),m(Y);const U=".bs.swipe",G=`touchstart${U}`,J=`touchmove${U}`,Z=`touchend${U}`,tt=`pointerdown${U}`,et=`pointerup${U}`,it={endCallback:null,leftCallback:null,rightCallback:null},nt={endCallback:"(function|null)",leftCallback:"(function|null)",rightCallback:"(function|null)"};class st extends H{constructor(t,e){super(),this._element=t,t&&st.isSupported()&&(this._config=this._getConfig(e),this._deltaX=0,this._supportPointerEvents=Boolean(window.PointerEvent),this._initEvents())}static get Default(){return it}static get DefaultType(){return nt}static get NAME(){return"swipe"}dispose(){N.off(this._element,U)}_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(),g(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&&g(e>0?this._config.rightCallback:this._config.leftCallback)}_initEvents(){this._supportPointerEvents?(N.on(this._element,tt,(t=>this._start(t))),N.on(this._element,et,(t=>this._end(t))),this._element.classList.add("pointer-event")):(N.on(this._element,G,(t=>this._start(t))),N.on(this._element,J,(t=>this._move(t))),N.on(this._element,Z,(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 ot=".bs.carousel",rt=".data-api",at="next",lt="prev",ct="left",ht="right",dt=`slide${ot}`,ut=`slid${ot}`,ft=`keydown${ot}`,pt=`mouseenter${ot}`,mt=`mouseleave${ot}`,gt=`dragstart${ot}`,_t=`load${ot}${rt}`,bt=`click${ot}${rt}`,vt="carousel",yt="active",wt=".active",At=".carousel-item",Et=wt+At,Tt={ArrowLeft:ht,ArrowRight:ct},Ct={interval:5e3,keyboard:!0,pause:"hover",ride:!1,touch:!0,wrap:!0},Ot={interval:"(number|boolean)",keyboard:"boolean",pause:"(string|boolean)",ride:"(boolean|string)",touch:"boolean",wrap:"boolean"};class xt extends W{constructor(t,e){super(t,e),this._interval=null,this._activeElement=null,this._isSliding=!1,this.touchTimeout=null,this._swipeHelper=null,this._indicatorsElement=z.findOne(".carousel-indicators",this._element),this._addEventListeners(),this._config.ride===vt&&this.cycle()}static get Default(){return Ct}static get DefaultType(){return Ot}static get NAME(){return"carousel"}next(){this._slide(at)}nextWhenVisible(){!document.hidden&&a(this._element)&&this.next()}prev(){this._slide(lt)}pause(){this._isSliding&&s(this._element),this._clearInterval()}cycle(){this._clearInterval(),this._updateInterval(),this._interval=setInterval((()=>this.nextWhenVisible()),this._config.interval)}_maybeEnableCycle(){this._config.ride&&(this._isSliding?N.one(this._element,ut,(()=>this.cycle())):this.cycle())}to(t){const e=this._getItems();if(t>e.length-1||t<0)return;if(this._isSliding)return void N.one(this._element,ut,(()=>this.to(t)));const i=this._getItemIndex(this._getActive());if(i===t)return;const n=t>i?at:lt;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&&N.on(this._element,ft,(t=>this._keydown(t))),"hover"===this._config.pause&&(N.on(this._element,pt,(()=>this.pause())),N.on(this._element,mt,(()=>this._maybeEnableCycle()))),this._config.touch&&st.isSupported()&&this._addTouchEventListeners()}_addTouchEventListeners(){for(const t of z.find(".carousel-item img",this._element))N.on(t,gt,(t=>t.preventDefault()));const t={leftCallback:()=>this._slide(this._directionToOrder(ct)),rightCallback:()=>this._slide(this._directionToOrder(ht)),endCallback:()=>{"hover"===this._config.pause&&(this.pause(),this.touchTimeout&&clearTimeout(this.touchTimeout),this.touchTimeout=setTimeout((()=>this._maybeEnableCycle()),500+this._config.interval))}};this._swipeHelper=new st(this._element,t)}_keydown(t){if(/input|textarea/i.test(t.target.tagName))return;const e=Tt[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=z.findOne(wt,this._indicatorsElement);e.classList.remove(yt),e.removeAttribute("aria-current");const i=z.findOne(`[data-bs-slide-to="${t}"]`,this._indicatorsElement);i&&(i.classList.add(yt),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===at,s=e||b(this._getItems(),i,n,this._config.wrap);if(s===i)return;const o=this._getItemIndex(s),r=e=>N.trigger(this._element,e,{relatedTarget:s,direction:this._orderToDirection(t),from:this._getItemIndex(i),to:o});if(r(dt).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),d(s),i.classList.add(l),s.classList.add(l),this._queueCallback((()=>{s.classList.remove(l,c),s.classList.add(yt),i.classList.remove(yt,c,l),this._isSliding=!1,r(ut)}),i,this._isAnimated()),a&&this.cycle()}_isAnimated(){return this._element.classList.contains("slide")}_getActive(){return z.findOne(Et,this._element)}_getItems(){return z.find(At,this._element)}_clearInterval(){this._interval&&(clearInterval(this._interval),this._interval=null)}_directionToOrder(t){return p()?t===ct?lt:at:t===ct?at:lt}_orderToDirection(t){return p()?t===lt?ct:ht:t===lt?ht:ct}static jQueryInterface(t){return this.each((function(){const e=xt.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)}))}}N.on(document,bt,"[data-bs-slide], [data-bs-slide-to]",(function(t){const e=z.getElementFromSelector(this);if(!e||!e.classList.contains(vt))return;t.preventDefault();const i=xt.getOrCreateInstance(e),n=this.getAttribute("data-bs-slide-to");return n?(i.to(n),void i._maybeEnableCycle()):"next"===F.getDataAttribute(this,"slide")?(i.next(),void i._maybeEnableCycle()):(i.prev(),void i._maybeEnableCycle())})),N.on(window,_t,(()=>{const t=z.find('[data-bs-ride="carousel"]');for(const e of t)xt.getOrCreateInstance(e)})),m(xt);const kt=".bs.collapse",Lt=`show${kt}`,St=`shown${kt}`,Dt=`hide${kt}`,$t=`hidden${kt}`,It=`click${kt}.data-api`,Nt="show",Pt="collapse",Mt="collapsing",jt=`:scope .${Pt} .${Pt}`,Ft='[data-bs-toggle="collapse"]',Ht={parent:null,toggle:!0},Wt={parent:"(null|element)",toggle:"boolean"};class Bt extends W{constructor(t,e){super(t,e),this._isTransitioning=!1,this._triggerArray=[];const i=z.find(Ft);for(const t of i){const e=z.getSelectorFromElement(t),i=z.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 Ht}static get DefaultType(){return Wt}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=>Bt.getOrCreateInstance(t,{toggle:!1})))),t.length&&t[0]._isTransitioning)return;if(N.trigger(this._element,Lt).defaultPrevented)return;for(const e of t)e.hide();const e=this._getDimension();this._element.classList.remove(Pt),this._element.classList.add(Mt),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(Mt),this._element.classList.add(Pt,Nt),this._element.style[e]="",N.trigger(this._element,St)}),this._element,!0),this._element.style[e]=`${this._element[i]}px`}hide(){if(this._isTransitioning||!this._isShown())return;if(N.trigger(this._element,Dt).defaultPrevented)return;const t=this._getDimension();this._element.style[t]=`${this._element.getBoundingClientRect()[t]}px`,d(this._element),this._element.classList.add(Mt),this._element.classList.remove(Pt,Nt);for(const t of this._triggerArray){const e=z.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(Mt),this._element.classList.add(Pt),N.trigger(this._element,$t)}),this._element,!0)}_isShown(t=this._element){return t.classList.contains(Nt)}_configAfterMerge(t){return t.toggle=Boolean(t.toggle),t.parent=r(t.parent),t}_getDimension(){return this._element.classList.contains("collapse-horizontal")?"width":"height"}_initializeChildren(){if(!this._config.parent)return;const t=this._getFirstLevelChildren(Ft);for(const e of t){const t=z.getElementFromSelector(e);t&&this._addAriaAndCollapsedClass([e],this._isShown(t))}}_getFirstLevelChildren(t){const e=z.find(jt,this._config.parent);return z.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=Bt.getOrCreateInstance(this,e);if("string"==typeof t){if(void 0===i[t])throw new TypeError(`No method named "${t}"`);i[t]()}}))}}N.on(document,It,Ft,(function(t){("A"===t.target.tagName||t.delegateTarget&&"A"===t.delegateTarget.tagName)&&t.preventDefault();for(const t of z.getMultipleElementsFromSelector(this))Bt.getOrCreateInstance(t,{toggle:!1}).toggle()})),m(Bt);var zt="top",Rt="bottom",qt="right",Vt="left",Kt="auto",Qt=[zt,Rt,qt,Vt],Xt="start",Yt="end",Ut="clippingParents",Gt="viewport",Jt="popper",Zt="reference",te=Qt.reduce((function(t,e){return t.concat([e+"-"+Xt,e+"-"+Yt])}),[]),ee=[].concat(Qt,[Kt]).reduce((function(t,e){return t.concat([e,e+"-"+Xt,e+"-"+Yt])}),[]),ie="beforeRead",ne="read",se="afterRead",oe="beforeMain",re="main",ae="afterMain",le="beforeWrite",ce="write",he="afterWrite",de=[ie,ne,se,oe,re,ae,le,ce,he];function ue(t){return t?(t.nodeName||"").toLowerCase():null}function fe(t){if(null==t)return window;if("[object Window]"!==t.toString()){var e=t.ownerDocument;return e&&e.defaultView||window}return t}function pe(t){return t instanceof fe(t).Element||t instanceof Element}function me(t){return t instanceof fe(t).HTMLElement||t instanceof HTMLElement}function ge(t){return"undefined"!=typeof ShadowRoot&&(t instanceof fe(t).ShadowRoot||t instanceof ShadowRoot)}const _e={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];me(s)&&ue(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}),{});me(n)&&ue(n)&&(Object.assign(n.style,o),Object.keys(s).forEach((function(t){n.removeAttribute(t)})))}))}},requires:["computeStyles"]};function be(t){return t.split("-")[0]}var ve=Math.max,ye=Math.min,we=Math.round;function Ae(){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 Ee(){return!/^((?!chrome|android).)*safari/i.test(Ae())}function Te(t,e,i){void 0===e&&(e=!1),void 0===i&&(i=!1);var n=t.getBoundingClientRect(),s=1,o=1;e&&me(t)&&(s=t.offsetWidth>0&&we(n.width)/t.offsetWidth||1,o=t.offsetHeight>0&&we(n.height)/t.offsetHeight||1);var r=(pe(t)?fe(t):window).visualViewport,a=!Ee()&&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 Ce(t){var e=Te(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 Oe(t,e){var i=e.getRootNode&&e.getRootNode();if(t.contains(e))return!0;if(i&&ge(i)){var n=e;do{if(n&&t.isSameNode(n))return!0;n=n.parentNode||n.host}while(n)}return!1}function xe(t){return fe(t).getComputedStyle(t)}function ke(t){return["table","td","th"].indexOf(ue(t))>=0}function Le(t){return((pe(t)?t.ownerDocument:t.document)||window.document).documentElement}function Se(t){return"html"===ue(t)?t:t.assignedSlot||t.parentNode||(ge(t)?t.host:null)||Le(t)}function De(t){return me(t)&&"fixed"!==xe(t).position?t.offsetParent:null}function $e(t){for(var e=fe(t),i=De(t);i&&ke(i)&&"static"===xe(i).position;)i=De(i);return i&&("html"===ue(i)||"body"===ue(i)&&"static"===xe(i).position)?e:i||function(t){var e=/firefox/i.test(Ae());if(/Trident/i.test(Ae())&&me(t)&&"fixed"===xe(t).position)return null;var i=Se(t);for(ge(i)&&(i=i.host);me(i)&&["html","body"].indexOf(ue(i))<0;){var n=xe(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 Ie(t){return["top","bottom"].indexOf(t)>=0?"x":"y"}function Ne(t,e,i){return ve(t,ye(e,i))}function Pe(t){return Object.assign({},{top:0,right:0,bottom:0,left:0},t)}function Me(t,e){return e.reduce((function(e,i){return e[i]=t,e}),{})}const je={name:"arrow",enabled:!0,phase:"main",fn:function(t){var e,i=t.state,n=t.name,s=t.options,o=i.elements.arrow,r=i.modifiersData.popperOffsets,a=be(i.placement),l=Ie(a),c=[Vt,qt].indexOf(a)>=0?"height":"width";if(o&&r){var h=function(t,e){return Pe("number"!=typeof(t="function"==typeof t?t(Object.assign({},e.rects,{placement:e.placement})):t)?t:Me(t,Qt))}(s.padding,i),d=Ce(o),u="y"===l?zt:Vt,f="y"===l?Rt:qt,p=i.rects.reference[c]+i.rects.reference[l]-r[l]-i.rects.popper[c],m=r[l]-i.rects.reference[l],g=$e(o),_=g?"y"===l?g.clientHeight||0:g.clientWidth||0:0,b=p/2-m/2,v=h[u],y=_-d[c]-h[f],w=_/2-d[c]/2+b,A=Ne(v,w,y),E=l;i.modifiersData[n]=((e={})[E]=A,e.centerOffset=A-w,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)))&&Oe(e.elements.popper,n)&&(e.elements.arrow=n)},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function Fe(t){return t.split("-")[1]}var He={top:"auto",right:"auto",bottom:"auto",left:"auto"};function We(t){var e,i=t.popper,n=t.popperRect,s=t.placement,o=t.variation,r=t.offsets,a=t.position,l=t.gpuAcceleration,c=t.adaptive,h=t.roundOffsets,d=t.isFixed,u=r.x,f=void 0===u?0:u,p=r.y,m=void 0===p?0:p,g="function"==typeof h?h({x:f,y:m}):{x:f,y:m};f=g.x,m=g.y;var _=r.hasOwnProperty("x"),b=r.hasOwnProperty("y"),v=Vt,y=zt,w=window;if(c){var A=$e(i),E="clientHeight",T="clientWidth";A===fe(i)&&"static"!==xe(A=Le(i)).position&&"absolute"===a&&(E="scrollHeight",T="scrollWidth"),(s===zt||(s===Vt||s===qt)&&o===Yt)&&(y=Rt,m-=(d&&A===w&&w.visualViewport?w.visualViewport.height:A[E])-n.height,m*=l?1:-1),s!==Vt&&(s!==zt&&s!==Rt||o!==Yt)||(v=qt,f-=(d&&A===w&&w.visualViewport?w.visualViewport.width:A[T])-n.width,f*=l?1:-1)}var C,O=Object.assign({position:a},c&&He),x=!0===h?function(t,e){var i=t.x,n=t.y,s=e.devicePixelRatio||1;return{x:we(i*s)/s||0,y:we(n*s)/s||0}}({x:f,y:m},fe(i)):{x:f,y:m};return f=x.x,m=x.y,l?Object.assign({},O,((C={})[y]=b?"0":"",C[v]=_?"0":"",C.transform=(w.devicePixelRatio||1)<=1?"translate("+f+"px, "+m+"px)":"translate3d("+f+"px, "+m+"px, 0)",C)):Object.assign({},O,((e={})[y]=b?m+"px":"",e[v]=_?f+"px":"",e.transform="",e))}const Be={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:be(e.placement),variation:Fe(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,We(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,We(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 ze={passive:!0};const Re={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=fe(e.elements.popper),c=[].concat(e.scrollParents.reference,e.scrollParents.popper);return o&&c.forEach((function(t){t.addEventListener("scroll",i.update,ze)})),a&&l.addEventListener("resize",i.update,ze),function(){o&&c.forEach((function(t){t.removeEventListener("scroll",i.update,ze)})),a&&l.removeEventListener("resize",i.update,ze)}},data:{}};var qe={left:"right",right:"left",bottom:"top",top:"bottom"};function Ve(t){return t.replace(/left|right|bottom|top/g,(function(t){return qe[t]}))}var Ke={start:"end",end:"start"};function Qe(t){return t.replace(/start|end/g,(function(t){return Ke[t]}))}function Xe(t){var e=fe(t);return{scrollLeft:e.pageXOffset,scrollTop:e.pageYOffset}}function Ye(t){return Te(Le(t)).left+Xe(t).scrollLeft}function Ue(t){var e=xe(t),i=e.overflow,n=e.overflowX,s=e.overflowY;return/auto|scroll|overlay|hidden/.test(i+s+n)}function Ge(t){return["html","body","#document"].indexOf(ue(t))>=0?t.ownerDocument.body:me(t)&&Ue(t)?t:Ge(Se(t))}function Je(t,e){var i;void 0===e&&(e=[]);var n=Ge(t),s=n===(null==(i=t.ownerDocument)?void 0:i.body),o=fe(n),r=s?[o].concat(o.visualViewport||[],Ue(n)?n:[]):n,a=e.concat(r);return s?a:a.concat(Je(Se(r)))}function Ze(t){return Object.assign({},t,{left:t.x,top:t.y,right:t.x+t.width,bottom:t.y+t.height})}function ti(t,e,i){return e===Gt?Ze(function(t,e){var i=fe(t),n=Le(t),s=i.visualViewport,o=n.clientWidth,r=n.clientHeight,a=0,l=0;if(s){o=s.width,r=s.height;var c=Ee();(c||!c&&"fixed"===e)&&(a=s.offsetLeft,l=s.offsetTop)}return{width:o,height:r,x:a+Ye(t),y:l}}(t,i)):pe(e)?function(t,e){var i=Te(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):Ze(function(t){var e,i=Le(t),n=Xe(t),s=null==(e=t.ownerDocument)?void 0:e.body,o=ve(i.scrollWidth,i.clientWidth,s?s.scrollWidth:0,s?s.clientWidth:0),r=ve(i.scrollHeight,i.clientHeight,s?s.scrollHeight:0,s?s.clientHeight:0),a=-n.scrollLeft+Ye(t),l=-n.scrollTop;return"rtl"===xe(s||i).direction&&(a+=ve(i.clientWidth,s?s.clientWidth:0)-o),{width:o,height:r,x:a,y:l}}(Le(t)))}function ei(t){var e,i=t.reference,n=t.element,s=t.placement,o=s?be(s):null,r=s?Fe(s):null,a=i.x+i.width/2-n.width/2,l=i.y+i.height/2-n.height/2;switch(o){case zt:e={x:a,y:i.y-n.height};break;case Rt:e={x:a,y:i.y+i.height};break;case qt:e={x:i.x+i.width,y:l};break;case Vt:e={x:i.x-n.width,y:l};break;default:e={x:i.x,y:i.y}}var c=o?Ie(o):null;if(null!=c){var h="y"===c?"height":"width";switch(r){case Xt:e[c]=e[c]-(i[h]/2-n[h]/2);break;case Yt:e[c]=e[c]+(i[h]/2-n[h]/2)}}return e}function ii(t,e){void 0===e&&(e={});var i=e,n=i.placement,s=void 0===n?t.placement:n,o=i.strategy,r=void 0===o?t.strategy:o,a=i.boundary,l=void 0===a?Ut:a,c=i.rootBoundary,h=void 0===c?Gt:c,d=i.elementContext,u=void 0===d?Jt:d,f=i.altBoundary,p=void 0!==f&&f,m=i.padding,g=void 0===m?0:m,_=Pe("number"!=typeof g?g:Me(g,Qt)),b=u===Jt?Zt:Jt,v=t.rects.popper,y=t.elements[p?b:u],w=function(t,e,i,n){var s="clippingParents"===e?function(t){var e=Je(Se(t)),i=["absolute","fixed"].indexOf(xe(t).position)>=0&&me(t)?$e(t):t;return pe(i)?e.filter((function(t){return pe(t)&&Oe(t,i)&&"body"!==ue(t)})):[]}(t):[].concat(e),o=[].concat(s,[i]),r=o[0],a=o.reduce((function(e,i){var s=ti(t,i,n);return e.top=ve(s.top,e.top),e.right=ye(s.right,e.right),e.bottom=ye(s.bottom,e.bottom),e.left=ve(s.left,e.left),e}),ti(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}(pe(y)?y:y.contextElement||Le(t.elements.popper),l,h,r),A=Te(t.elements.reference),E=ei({reference:A,element:v,strategy:"absolute",placement:s}),T=Ze(Object.assign({},v,E)),C=u===Jt?T:A,O={top:w.top-C.top+_.top,bottom:C.bottom-w.bottom+_.bottom,left:w.left-C.left+_.left,right:C.right-w.right+_.right},x=t.modifiersData.offset;if(u===Jt&&x){var k=x[s];Object.keys(O).forEach((function(t){var e=[qt,Rt].indexOf(t)>=0?1:-1,i=[zt,Rt].indexOf(t)>=0?"y":"x";O[t]+=k[i]*e}))}return O}function ni(t,e){void 0===e&&(e={});var i=e,n=i.placement,s=i.boundary,o=i.rootBoundary,r=i.padding,a=i.flipVariations,l=i.allowedAutoPlacements,c=void 0===l?ee:l,h=Fe(n),d=h?a?te:te.filter((function(t){return Fe(t)===h})):Qt,u=d.filter((function(t){return c.indexOf(t)>=0}));0===u.length&&(u=d);var f=u.reduce((function(e,i){return e[i]=ii(t,{placement:i,boundary:s,rootBoundary:o,padding:r})[be(i)],e}),{});return Object.keys(f).sort((function(t,e){return f[t]-f[e]}))}const si={name:"flip",enabled:!0,phase:"main",fn:function(t){var e=t.state,i=t.options,n=t.name;if(!e.modifiersData[n]._skip){for(var s=i.mainAxis,o=void 0===s||s,r=i.altAxis,a=void 0===r||r,l=i.fallbackPlacements,c=i.padding,h=i.boundary,d=i.rootBoundary,u=i.altBoundary,f=i.flipVariations,p=void 0===f||f,m=i.allowedAutoPlacements,g=e.options.placement,_=be(g),b=l||(_!==g&&p?function(t){if(be(t)===Kt)return[];var e=Ve(t);return[Qe(t),e,Qe(e)]}(g):[Ve(g)]),v=[g].concat(b).reduce((function(t,i){return t.concat(be(i)===Kt?ni(e,{placement:i,boundary:h,rootBoundary:d,padding:c,flipVariations:p,allowedAutoPlacements:m}):i)}),[]),y=e.rects.reference,w=e.rects.popper,A=new Map,E=!0,T=v[0],C=0;C=0,S=L?"width":"height",D=ii(e,{placement:O,boundary:h,rootBoundary:d,altBoundary:u,padding:c}),$=L?k?qt:Vt:k?Rt:zt;y[S]>w[S]&&($=Ve($));var I=Ve($),N=[];if(o&&N.push(D[x]<=0),a&&N.push(D[$]<=0,D[I]<=0),N.every((function(t){return t}))){T=O,E=!1;break}A.set(O,N)}if(E)for(var P=function(t){var e=v.find((function(e){var i=A.get(e);if(i)return i.slice(0,t).every((function(t){return t}))}));if(e)return T=e,"break"},M=p?3:1;M>0&&"break"!==P(M);M--);e.placement!==T&&(e.modifiersData[n]._skip=!0,e.placement=T,e.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}};function oi(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 ri(t){return[zt,qt,Rt,Vt].some((function(e){return t[e]>=0}))}const ai={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=ii(e,{elementContext:"reference"}),a=ii(e,{altBoundary:!0}),l=oi(r,n),c=oi(a,s,o),h=ri(l),d=ri(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})}},li={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:function(t){var e=t.state,i=t.options,n=t.name,s=i.offset,o=void 0===s?[0,0]:s,r=ee.reduce((function(t,i){return t[i]=function(t,e,i){var n=be(t),s=[Vt,zt].indexOf(n)>=0?-1:1,o="function"==typeof i?i(Object.assign({},e,{placement:t})):i,r=o[0],a=o[1];return r=r||0,a=(a||0)*s,[Vt,qt].indexOf(n)>=0?{x:a,y:r}:{x:r,y:a}}(i,e.rects,o),t}),{}),a=r[e.placement],l=a.x,c=a.y;null!=e.modifiersData.popperOffsets&&(e.modifiersData.popperOffsets.x+=l,e.modifiersData.popperOffsets.y+=c),e.modifiersData[n]=r}},ci={name:"popperOffsets",enabled:!0,phase:"read",fn:function(t){var e=t.state,i=t.name;e.modifiersData[i]=ei({reference:e.rects.reference,element:e.rects.popper,strategy:"absolute",placement:e.placement})},data:{}},hi={name:"preventOverflow",enabled:!0,phase:"main",fn:function(t){var e=t.state,i=t.options,n=t.name,s=i.mainAxis,o=void 0===s||s,r=i.altAxis,a=void 0!==r&&r,l=i.boundary,c=i.rootBoundary,h=i.altBoundary,d=i.padding,u=i.tether,f=void 0===u||u,p=i.tetherOffset,m=void 0===p?0:p,g=ii(e,{boundary:l,rootBoundary:c,padding:d,altBoundary:h}),_=be(e.placement),b=Fe(e.placement),v=!b,y=Ie(_),w="x"===y?"y":"x",A=e.modifiersData.popperOffsets,E=e.rects.reference,T=e.rects.popper,C="function"==typeof m?m(Object.assign({},e.rects,{placement:e.placement})):m,O="number"==typeof C?{mainAxis:C,altAxis:C}:Object.assign({mainAxis:0,altAxis:0},C),x=e.modifiersData.offset?e.modifiersData.offset[e.placement]:null,k={x:0,y:0};if(A){if(o){var L,S="y"===y?zt:Vt,D="y"===y?Rt:qt,$="y"===y?"height":"width",I=A[y],N=I+g[S],P=I-g[D],M=f?-T[$]/2:0,j=b===Xt?E[$]:T[$],F=b===Xt?-T[$]:-E[$],H=e.elements.arrow,W=f&&H?Ce(H):{width:0,height:0},B=e.modifiersData["arrow#persistent"]?e.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},z=B[S],R=B[D],q=Ne(0,E[$],W[$]),V=v?E[$]/2-M-q-z-O.mainAxis:j-q-z-O.mainAxis,K=v?-E[$]/2+M+q+R+O.mainAxis:F+q+R+O.mainAxis,Q=e.elements.arrow&&$e(e.elements.arrow),X=Q?"y"===y?Q.clientTop||0:Q.clientLeft||0:0,Y=null!=(L=null==x?void 0:x[y])?L:0,U=I+K-Y,G=Ne(f?ye(N,I+V-Y-X):N,I,f?ve(P,U):P);A[y]=G,k[y]=G-I}if(a){var J,Z="x"===y?zt:Vt,tt="x"===y?Rt:qt,et=A[w],it="y"===w?"height":"width",nt=et+g[Z],st=et-g[tt],ot=-1!==[zt,Vt].indexOf(_),rt=null!=(J=null==x?void 0:x[w])?J:0,at=ot?nt:et-E[it]-T[it]-rt+O.altAxis,lt=ot?et+E[it]+T[it]-rt-O.altAxis:st,ct=f&&ot?function(t,e,i){var n=Ne(t,e,i);return n>i?i:n}(at,et,lt):Ne(f?at:nt,et,f?lt:st);A[w]=ct,k[w]=ct-et}e.modifiersData[n]=k}},requiresIfExists:["offset"]};function di(t,e,i){void 0===i&&(i=!1);var n,s,o=me(e),r=me(e)&&function(t){var e=t.getBoundingClientRect(),i=we(e.width)/t.offsetWidth||1,n=we(e.height)/t.offsetHeight||1;return 1!==i||1!==n}(e),a=Le(e),l=Te(t,r,i),c={scrollLeft:0,scrollTop:0},h={x:0,y:0};return(o||!o&&!i)&&(("body"!==ue(e)||Ue(a))&&(c=(n=e)!==fe(n)&&me(n)?{scrollLeft:(s=n).scrollLeft,scrollTop:s.scrollTop}:Xe(n)),me(e)?((h=Te(e,!0)).x+=e.clientLeft,h.y+=e.clientTop):a&&(h.x=Ye(a))),{x:l.left+c.scrollLeft-h.x,y:l.top+c.scrollTop-h.y,width:l.width,height:l.height}}function ui(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 fi={placement:"bottom",modifiers:[],strategy:"absolute"};function pi(){for(var t=arguments.length,e=new Array(t),i=0;iNumber.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)&&(F.setDataAttribute(this._menu,"popper","static"),t.modifiers=[{name:"applyStyles",enabled:!1}]),{...t,...g(this._config.popperConfig,[t])}}_selectMenuItem({key:t,target:e}){const i=z.find(".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",this._menu).filter((t=>a(t)));i.length&&b(i,e,t===Ti,!i.includes(e)).focus()}static jQueryInterface(t){return this.each((function(){const e=qi.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=z.find(Ni);for(const i of e){const e=qi.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=[Ei,Ti].includes(t.key);if(!n&&!i)return;if(e&&!i)return;t.preventDefault();const s=this.matches(Ii)?this:z.prev(this,Ii)[0]||z.next(this,Ii)[0]||z.findOne(Ii,t.delegateTarget.parentNode),o=qi.getOrCreateInstance(s);if(n)return t.stopPropagation(),o.show(),void o._selectMenuItem(t);o._isShown()&&(t.stopPropagation(),o.hide(),s.focus())}}N.on(document,Si,Ii,qi.dataApiKeydownHandler),N.on(document,Si,Pi,qi.dataApiKeydownHandler),N.on(document,Li,qi.clearMenus),N.on(document,Di,qi.clearMenus),N.on(document,Li,Ii,(function(t){t.preventDefault(),qi.getOrCreateInstance(this).toggle()})),m(qi);const Vi="backdrop",Ki="show",Qi=`mousedown.bs.${Vi}`,Xi={className:"modal-backdrop",clickCallback:null,isAnimated:!1,isVisible:!0,rootElement:"body"},Yi={className:"string",clickCallback:"(function|null)",isAnimated:"boolean",isVisible:"boolean",rootElement:"(element|string)"};class Ui extends H{constructor(t){super(),this._config=this._getConfig(t),this._isAppended=!1,this._element=null}static get Default(){return Xi}static get DefaultType(){return Yi}static get NAME(){return Vi}show(t){if(!this._config.isVisible)return void g(t);this._append();const e=this._getElement();this._config.isAnimated&&d(e),e.classList.add(Ki),this._emulateAnimation((()=>{g(t)}))}hide(t){this._config.isVisible?(this._getElement().classList.remove(Ki),this._emulateAnimation((()=>{this.dispose(),g(t)}))):g(t)}dispose(){this._isAppended&&(N.off(this._element,Qi),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=r(t.rootElement),t}_append(){if(this._isAppended)return;const t=this._getElement();this._config.rootElement.append(t),N.on(t,Qi,(()=>{g(this._config.clickCallback)})),this._isAppended=!0}_emulateAnimation(t){_(t,this._getElement(),this._config.isAnimated)}}const Gi=".bs.focustrap",Ji=`focusin${Gi}`,Zi=`keydown.tab${Gi}`,tn="backward",en={autofocus:!0,trapElement:null},nn={autofocus:"boolean",trapElement:"element"};class sn extends H{constructor(t){super(),this._config=this._getConfig(t),this._isActive=!1,this._lastTabNavDirection=null}static get Default(){return en}static get DefaultType(){return nn}static get NAME(){return"focustrap"}activate(){this._isActive||(this._config.autofocus&&this._config.trapElement.focus(),N.off(document,Gi),N.on(document,Ji,(t=>this._handleFocusin(t))),N.on(document,Zi,(t=>this._handleKeydown(t))),this._isActive=!0)}deactivate(){this._isActive&&(this._isActive=!1,N.off(document,Gi))}_handleFocusin(t){const{trapElement:e}=this._config;if(t.target===document||t.target===e||e.contains(t.target))return;const i=z.focusableChildren(e);0===i.length?e.focus():this._lastTabNavDirection===tn?i[i.length-1].focus():i[0].focus()}_handleKeydown(t){"Tab"===t.key&&(this._lastTabNavDirection=t.shiftKey?tn:"forward")}}const on=".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",rn=".sticky-top",an="padding-right",ln="margin-right";class cn{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,an,(e=>e+t)),this._setElementAttributes(on,an,(e=>e+t)),this._setElementAttributes(rn,ln,(e=>e-t))}reset(){this._resetElementAttributes(this._element,"overflow"),this._resetElementAttributes(this._element,an),this._resetElementAttributes(on,an),this._resetElementAttributes(rn,ln)}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&&F.setDataAttribute(t,e,i)}_resetElementAttributes(t,e){this._applyManipulationCallback(t,(t=>{const i=F.getDataAttribute(t,e);null!==i?(F.removeDataAttribute(t,e),t.style.setProperty(e,i)):t.style.removeProperty(e)}))}_applyManipulationCallback(t,e){if(o(t))e(t);else for(const i of z.find(t,this._element))e(i)}}const hn=".bs.modal",dn=`hide${hn}`,un=`hidePrevented${hn}`,fn=`hidden${hn}`,pn=`show${hn}`,mn=`shown${hn}`,gn=`resize${hn}`,_n=`click.dismiss${hn}`,bn=`mousedown.dismiss${hn}`,vn=`keydown.dismiss${hn}`,yn=`click${hn}.data-api`,wn="modal-open",An="show",En="modal-static",Tn={backdrop:!0,focus:!0,keyboard:!0},Cn={backdrop:"(boolean|string)",focus:"boolean",keyboard:"boolean"};class On extends W{constructor(t,e){super(t,e),this._dialog=z.findOne(".modal-dialog",this._element),this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._isShown=!1,this._isTransitioning=!1,this._scrollBar=new cn,this._addEventListeners()}static get Default(){return Tn}static get DefaultType(){return Cn}static get NAME(){return"modal"}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){this._isShown||this._isTransitioning||N.trigger(this._element,pn,{relatedTarget:t}).defaultPrevented||(this._isShown=!0,this._isTransitioning=!0,this._scrollBar.hide(),document.body.classList.add(wn),this._adjustDialog(),this._backdrop.show((()=>this._showElement(t))))}hide(){this._isShown&&!this._isTransitioning&&(N.trigger(this._element,dn).defaultPrevented||(this._isShown=!1,this._isTransitioning=!0,this._focustrap.deactivate(),this._element.classList.remove(An),this._queueCallback((()=>this._hideModal()),this._element,this._isAnimated())))}dispose(){N.off(window,hn),N.off(this._dialog,hn),this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}handleUpdate(){this._adjustDialog()}_initializeBackDrop(){return new Ui({isVisible:Boolean(this._config.backdrop),isAnimated:this._isAnimated()})}_initializeFocusTrap(){return new sn({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=z.findOne(".modal-body",this._dialog);e&&(e.scrollTop=0),d(this._element),this._element.classList.add(An),this._queueCallback((()=>{this._config.focus&&this._focustrap.activate(),this._isTransitioning=!1,N.trigger(this._element,mn,{relatedTarget:t})}),this._dialog,this._isAnimated())}_addEventListeners(){N.on(this._element,vn,(t=>{"Escape"===t.key&&(this._config.keyboard?this.hide():this._triggerBackdropTransition())})),N.on(window,gn,(()=>{this._isShown&&!this._isTransitioning&&this._adjustDialog()})),N.on(this._element,bn,(t=>{N.one(this._element,_n,(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(wn),this._resetAdjustments(),this._scrollBar.reset(),N.trigger(this._element,fn)}))}_isAnimated(){return this._element.classList.contains("fade")}_triggerBackdropTransition(){if(N.trigger(this._element,un).defaultPrevented)return;const t=this._element.scrollHeight>document.documentElement.clientHeight,e=this._element.style.overflowY;"hidden"===e||this._element.classList.contains(En)||(t||(this._element.style.overflowY="hidden"),this._element.classList.add(En),this._queueCallback((()=>{this._element.classList.remove(En),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=p()?"paddingLeft":"paddingRight";this._element.style[t]=`${e}px`}if(!i&&t){const t=p()?"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=On.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===i[t])throw new TypeError(`No method named "${t}"`);i[t](e)}}))}}N.on(document,yn,'[data-bs-toggle="modal"]',(function(t){const e=z.getElementFromSelector(this);["A","AREA"].includes(this.tagName)&&t.preventDefault(),N.one(e,pn,(t=>{t.defaultPrevented||N.one(e,fn,(()=>{a(this)&&this.focus()}))}));const i=z.findOne(".modal.show");i&&On.getInstance(i).hide(),On.getOrCreateInstance(e).toggle(this)})),R(On),m(On);const xn=".bs.offcanvas",kn=".data-api",Ln=`load${xn}${kn}`,Sn="show",Dn="showing",$n="hiding",In=".offcanvas.show",Nn=`show${xn}`,Pn=`shown${xn}`,Mn=`hide${xn}`,jn=`hidePrevented${xn}`,Fn=`hidden${xn}`,Hn=`resize${xn}`,Wn=`click${xn}${kn}`,Bn=`keydown.dismiss${xn}`,zn={backdrop:!0,keyboard:!0,scroll:!1},Rn={backdrop:"(boolean|string)",keyboard:"boolean",scroll:"boolean"};class qn extends W{constructor(t,e){super(t,e),this._isShown=!1,this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._addEventListeners()}static get Default(){return zn}static get DefaultType(){return Rn}static get NAME(){return"offcanvas"}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){this._isShown||N.trigger(this._element,Nn,{relatedTarget:t}).defaultPrevented||(this._isShown=!0,this._backdrop.show(),this._config.scroll||(new cn).hide(),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.classList.add(Dn),this._queueCallback((()=>{this._config.scroll&&!this._config.backdrop||this._focustrap.activate(),this._element.classList.add(Sn),this._element.classList.remove(Dn),N.trigger(this._element,Pn,{relatedTarget:t})}),this._element,!0))}hide(){this._isShown&&(N.trigger(this._element,Mn).defaultPrevented||(this._focustrap.deactivate(),this._element.blur(),this._isShown=!1,this._element.classList.add($n),this._backdrop.hide(),this._queueCallback((()=>{this._element.classList.remove(Sn,$n),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._config.scroll||(new cn).reset(),N.trigger(this._element,Fn)}),this._element,!0)))}dispose(){this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}_initializeBackDrop(){const t=Boolean(this._config.backdrop);return new Ui({className:"offcanvas-backdrop",isVisible:t,isAnimated:!0,rootElement:this._element.parentNode,clickCallback:t?()=>{"static"!==this._config.backdrop?this.hide():N.trigger(this._element,jn)}:null})}_initializeFocusTrap(){return new sn({trapElement:this._element})}_addEventListeners(){N.on(this._element,Bn,(t=>{"Escape"===t.key&&(this._config.keyboard?this.hide():N.trigger(this._element,jn))}))}static jQueryInterface(t){return this.each((function(){const e=qn.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)}}))}}N.on(document,Wn,'[data-bs-toggle="offcanvas"]',(function(t){const e=z.getElementFromSelector(this);if(["A","AREA"].includes(this.tagName)&&t.preventDefault(),l(this))return;N.one(e,Fn,(()=>{a(this)&&this.focus()}));const i=z.findOne(In);i&&i!==e&&qn.getInstance(i).hide(),qn.getOrCreateInstance(e).toggle(this)})),N.on(window,Ln,(()=>{for(const t of z.find(In))qn.getOrCreateInstance(t).show()})),N.on(window,Hn,(()=>{for(const t of z.find("[aria-modal][class*=show][class*=offcanvas-]"))"fixed"!==getComputedStyle(t).position&&qn.getOrCreateInstance(t).hide()})),R(qn),m(qn);const Vn={"*":["class","dir","id","lang","role",/^aria-[\w-]*$/i],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],div:[],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:[]},Kn=new Set(["background","cite","href","itemtype","longdesc","poster","src","xlink:href"]),Qn=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:/?#]*(?:[/?#]|$))/i,Xn=(t,e)=>{const i=t.nodeName.toLowerCase();return e.includes(i)?!Kn.has(i)||Boolean(Qn.test(t.nodeValue)):e.filter((t=>t instanceof RegExp)).some((t=>t.test(i)))},Yn={allowList:Vn,content:{},extraClass:"",html:!1,sanitize:!0,sanitizeFn:null,template:"

"},Un={allowList:"object",content:"object",extraClass:"(string|function)",html:"boolean",sanitize:"boolean",sanitizeFn:"(null|function)",template:"string"},Gn={entry:"(string|element|function|null)",selector:"(string|element)"};class Jn extends H{constructor(t){super(),this._config=this._getConfig(t)}static get Default(){return Yn}static get DefaultType(){return Un}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},Gn)}_setContent(t,e,i){const n=z.findOne(i,t);n&&((e=this._resolvePossibleFunction(e))?o(e)?this._putElementInTemplate(r(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)Xn(e,s)||t.removeAttribute(e.nodeName)}return n.body.innerHTML}(t,this._config.allowList,this._config.sanitizeFn):t}_resolvePossibleFunction(t){return g(t,[this])}_putElementInTemplate(t,e){if(this._config.html)return e.innerHTML="",void e.append(t);e.textContent=t.textContent}}const Zn=new Set(["sanitize","allowList","sanitizeFn"]),ts="fade",es="show",is=".modal",ns="hide.bs.modal",ss="hover",os="focus",rs={AUTO:"auto",TOP:"top",RIGHT:p()?"left":"right",BOTTOM:"bottom",LEFT:p()?"right":"left"},as={allowList:Vn,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"},ls={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 cs extends W{constructor(t,e){if(void 0===vi)throw new TypeError("Bootstrap's tooltips require Popper (https://popper.js.org)");super(t,e),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 as}static get DefaultType(){return ls}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),N.off(this._element.closest(is),ns,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=N.trigger(this._element,this.constructor.eventName("show")),e=(c(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),N.trigger(this._element,this.constructor.eventName("inserted"))),this._popper=this._createPopper(i),i.classList.add(es),"ontouchstart"in document.documentElement)for(const t of[].concat(...document.body.children))N.on(t,"mouseover",h);this._queueCallback((()=>{N.trigger(this._element,this.constructor.eventName("shown")),!1===this._isHovered&&this._leave(),this._isHovered=!1}),this.tip,this._isAnimated())}hide(){if(this._isShown()&&!N.trigger(this._element,this.constructor.eventName("hide")).defaultPrevented){if(this._getTipElement().classList.remove(es),"ontouchstart"in document.documentElement)for(const t of[].concat(...document.body.children))N.off(t,"mouseover",h);this._activeTrigger.click=!1,this._activeTrigger[os]=!1,this._activeTrigger[ss]=!1,this._isHovered=null,this._queueCallback((()=>{this._isWithActiveTrigger()||(this._isHovered||this._disposePopper(),this._element.removeAttribute("aria-describedby"),N.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(ts,es),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(ts),e}setContent(t){this._newContent=t,this._isShown()&&(this._disposePopper(),this.show())}_getTemplateFactory(t){return this._templateFactory?this._templateFactory.changeContent(t):this._templateFactory=new Jn({...this._config,content:t,extraClass:this._resolvePossibleFunction(this._config.customClass)}),this._templateFactory}_getContentForTemplate(){return{".tooltip-inner":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(ts)}_isShown(){return this.tip&&this.tip.classList.contains(es)}_createPopper(t){const e=g(this._config.placement,[this,t,this._element]),i=rs[e.toUpperCase()];return bi(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 g(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,...g(this._config.popperConfig,[e])}}_setListeners(){const t=this._config.trigger.split(" ");for(const e of t)if("click"===e)N.on(this._element,this.constructor.eventName("click"),this._config.selector,(t=>{this._initializeOnDelegatedTarget(t).toggle()}));else if("manual"!==e){const t=e===ss?this.constructor.eventName("mouseenter"):this.constructor.eventName("focusin"),i=e===ss?this.constructor.eventName("mouseleave"):this.constructor.eventName("focusout");N.on(this._element,t,this._config.selector,(t=>{const e=this._initializeOnDelegatedTarget(t);e._activeTrigger["focusin"===t.type?os:ss]=!0,e._enter()})),N.on(this._element,i,this._config.selector,(t=>{const e=this._initializeOnDelegatedTarget(t);e._activeTrigger["focusout"===t.type?os:ss]=e._element.contains(t.relatedTarget),e._leave()}))}this._hideModalHandler=()=>{this._element&&this.hide()},N.on(this._element.closest(is),ns,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=F.getDataAttributes(this._element);for(const t of Object.keys(e))Zn.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:r(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=cs.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}m(cs);const hs={...cs.Default,content:"",offset:[0,8],placement:"right",template:'',trigger:"click"},ds={...cs.DefaultType,content:"(null|string|element|function)"};class us extends cs{static get Default(){return hs}static get DefaultType(){return ds}static get NAME(){return"popover"}_isWithContent(){return this._getTitle()||this._getContent()}_getContentForTemplate(){return{".popover-header":this._getTitle(),".popover-body":this._getContent()}}_getContent(){return this._resolvePossibleFunction(this._config.content)}static jQueryInterface(t){return this.each((function(){const e=us.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}m(us);const fs=".bs.scrollspy",ps=`activate${fs}`,ms=`click${fs}`,gs=`load${fs}.data-api`,_s="active",bs="[href]",vs=".nav-link",ys=`${vs}, .nav-item > ${vs}, .list-group-item`,ws={offset:null,rootMargin:"0px 0px -25%",smoothScroll:!1,target:null,threshold:[.1,.5,1]},As={offset:"(number|null)",rootMargin:"string",smoothScroll:"boolean",target:"element",threshold:"array"};class Es extends W{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 ws}static get DefaultType(){return As}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=r(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&&(N.off(this._config.target,ms),N.on(this._config.target,ms,bs,(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=z.find(bs,this._config.target);for(const e of t){if(!e.hash||l(e))continue;const t=z.findOne(decodeURI(e.hash),this._element);a(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(_s),this._activateParents(t),N.trigger(this._element,ps,{relatedTarget:t}))}_activateParents(t){if(t.classList.contains("dropdown-item"))z.findOne(".dropdown-toggle",t.closest(".dropdown")).classList.add(_s);else for(const e of z.parents(t,".nav, .list-group"))for(const t of z.prev(e,ys))t.classList.add(_s)}_clearActiveClass(t){t.classList.remove(_s);const e=z.find(`${bs}.${_s}`,t);for(const t of e)t.classList.remove(_s)}static jQueryInterface(t){return this.each((function(){const e=Es.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]()}}))}}N.on(window,gs,(()=>{for(const t of z.find('[data-bs-spy="scroll"]'))Es.getOrCreateInstance(t)})),m(Es);const Ts=".bs.tab",Cs=`hide${Ts}`,Os=`hidden${Ts}`,xs=`show${Ts}`,ks=`shown${Ts}`,Ls=`click${Ts}`,Ss=`keydown${Ts}`,Ds=`load${Ts}`,$s="ArrowLeft",Is="ArrowRight",Ns="ArrowUp",Ps="ArrowDown",Ms="Home",js="End",Fs="active",Hs="fade",Ws="show",Bs=":not(.dropdown-toggle)",zs='[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]',Rs=`.nav-link${Bs}, .list-group-item${Bs}, [role="tab"]${Bs}, ${zs}`,qs=`.${Fs}[data-bs-toggle="tab"], .${Fs}[data-bs-toggle="pill"], .${Fs}[data-bs-toggle="list"]`;class Vs extends W{constructor(t){super(t),this._parent=this._element.closest('.list-group, .nav, [role="tablist"]'),this._parent&&(this._setInitialAttributes(this._parent,this._getChildren()),N.on(this._element,Ss,(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?N.trigger(e,Cs,{relatedTarget:t}):null;N.trigger(t,xs,{relatedTarget:e}).defaultPrevented||i&&i.defaultPrevented||(this._deactivate(e,t),this._activate(t,e))}_activate(t,e){t&&(t.classList.add(Fs),this._activate(z.getElementFromSelector(t)),this._queueCallback((()=>{"tab"===t.getAttribute("role")?(t.removeAttribute("tabindex"),t.setAttribute("aria-selected",!0),this._toggleDropDown(t,!0),N.trigger(t,ks,{relatedTarget:e})):t.classList.add(Ws)}),t,t.classList.contains(Hs)))}_deactivate(t,e){t&&(t.classList.remove(Fs),t.blur(),this._deactivate(z.getElementFromSelector(t)),this._queueCallback((()=>{"tab"===t.getAttribute("role")?(t.setAttribute("aria-selected",!1),t.setAttribute("tabindex","-1"),this._toggleDropDown(t,!1),N.trigger(t,Os,{relatedTarget:e})):t.classList.remove(Ws)}),t,t.classList.contains(Hs)))}_keydown(t){if(![$s,Is,Ns,Ps,Ms,js].includes(t.key))return;t.stopPropagation(),t.preventDefault();const e=this._getChildren().filter((t=>!l(t)));let i;if([Ms,js].includes(t.key))i=e[t.key===Ms?0:e.length-1];else{const n=[Is,Ps].includes(t.key);i=b(e,t.target,n,!0)}i&&(i.focus({preventScroll:!0}),Vs.getOrCreateInstance(i).show())}_getChildren(){return z.find(Rs,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=z.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=z.findOne(t,i);s&&s.classList.toggle(n,e)};n(".dropdown-toggle",Fs),n(".dropdown-menu",Ws),i.setAttribute("aria-expanded",e)}_setAttributeIfNotExists(t,e,i){t.hasAttribute(e)||t.setAttribute(e,i)}_elemIsActive(t){return t.classList.contains(Fs)}_getInnerElement(t){return t.matches(Rs)?t:z.findOne(Rs,t)}_getOuterElement(t){return t.closest(".nav-item, .list-group-item")||t}static jQueryInterface(t){return this.each((function(){const e=Vs.getOrCreateInstance(this);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t]()}}))}}N.on(document,Ls,zs,(function(t){["A","AREA"].includes(this.tagName)&&t.preventDefault(),l(this)||Vs.getOrCreateInstance(this).show()})),N.on(window,Ds,(()=>{for(const t of z.find(qs))Vs.getOrCreateInstance(t)})),m(Vs);const Ks=".bs.toast",Qs=`mouseover${Ks}`,Xs=`mouseout${Ks}`,Ys=`focusin${Ks}`,Us=`focusout${Ks}`,Gs=`hide${Ks}`,Js=`hidden${Ks}`,Zs=`show${Ks}`,to=`shown${Ks}`,eo="hide",io="show",no="showing",so={animation:"boolean",autohide:"boolean",delay:"number"},oo={animation:!0,autohide:!0,delay:5e3};class ro extends W{constructor(t,e){super(t,e),this._timeout=null,this._hasMouseInteraction=!1,this._hasKeyboardInteraction=!1,this._setListeners()}static get Default(){return oo}static get DefaultType(){return so}static get NAME(){return"toast"}show(){N.trigger(this._element,Zs).defaultPrevented||(this._clearTimeout(),this._config.animation&&this._element.classList.add("fade"),this._element.classList.remove(eo),d(this._element),this._element.classList.add(io,no),this._queueCallback((()=>{this._element.classList.remove(no),N.trigger(this._element,to),this._maybeScheduleHide()}),this._element,this._config.animation))}hide(){this.isShown()&&(N.trigger(this._element,Gs).defaultPrevented||(this._element.classList.add(no),this._queueCallback((()=>{this._element.classList.add(eo),this._element.classList.remove(no,io),N.trigger(this._element,Js)}),this._element,this._config.animation)))}dispose(){this._clearTimeout(),this.isShown()&&this._element.classList.remove(io),super.dispose()}isShown(){return this._element.classList.contains(io)}_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(){N.on(this._element,Qs,(t=>this._onInteraction(t,!0))),N.on(this._element,Xs,(t=>this._onInteraction(t,!1))),N.on(this._element,Ys,(t=>this._onInteraction(t,!0))),N.on(this._element,Us,(t=>this._onInteraction(t,!1)))}_clearTimeout(){clearTimeout(this._timeout),this._timeout=null}static jQueryInterface(t){return this.each((function(){const e=ro.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}return R(ro),m(ro),{Alert:Q,Button:Y,Carousel:xt,Collapse:Bt,Dropdown:qi,Modal:On,Offcanvas:qn,Popover:us,ScrollSpy:Es,Tab:Vs,Toast:ro,Tooltip:cs}})); +//# sourceMappingURL=bootstrap.bundle.min.js.map \ No newline at end of file diff --git a/site_libs/clipboard/clipboard.min.js b/site_libs/clipboard/clipboard.min.js new file mode 100644 index 000000000..1103f811e --- /dev/null +++ b/site_libs/clipboard/clipboard.min.js @@ -0,0 +1,7 @@ +/*! + * clipboard.js v2.0.11 + * 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 b}});var e=n(279),i=n.n(e),e=n(370),u=n.n(e),e=n(817),r=n.n(e);function c(t){try{return document.execCommand(t)}catch(t){return}}var a=function(t){t=r()(t);return c("cut"),t};function o(t,e){var n,o,t=(n=t,o="rtl"===document.documentElement.getAttribute("dir"),(t=document.createElement("textarea")).style.fontSize="12pt",t.style.border="0",t.style.padding="0",t.style.margin="0",t.style.position="absolute",t.style[o?"right":"left"]="-9999px",o=window.pageYOffset||document.documentElement.scrollTop,t.style.top="".concat(o,"px"),t.setAttribute("readonly",""),t.value=n,t);return e.container.appendChild(t),e=r()(t),c("copy"),t.remove(),e}var f=function(t){var e=1.anchorjs-link,.anchorjs-link:focus{opacity:1}",A.sheet.cssRules.length),A.sheet.insertRule("[data-anchorjs-icon]::after{content:attr(data-anchorjs-icon)}",A.sheet.cssRules.length),A.sheet.insertRule('@font-face{font-family:anchorjs-icons;src:url(data:n/a;base64,AAEAAAALAIAAAwAwT1MvMg8yG2cAAAE4AAAAYGNtYXDp3gC3AAABpAAAAExnYXNwAAAAEAAAA9wAAAAIZ2x5ZlQCcfwAAAH4AAABCGhlYWQHFvHyAAAAvAAAADZoaGVhBnACFwAAAPQAAAAkaG10eASAADEAAAGYAAAADGxvY2EACACEAAAB8AAAAAhtYXhwAAYAVwAAARgAAAAgbmFtZQGOH9cAAAMAAAAAunBvc3QAAwAAAAADvAAAACAAAQAAAAEAAHzE2p9fDzz1AAkEAAAAAADRecUWAAAAANQA6R8AAAAAAoACwAAAAAgAAgAAAAAAAAABAAADwP/AAAACgAAA/9MCrQABAAAAAAAAAAAAAAAAAAAAAwABAAAAAwBVAAIAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAMCQAGQAAUAAAKZAswAAACPApkCzAAAAesAMwEJAAAAAAAAAAAAAAAAAAAAARAAAAAAAAAAAAAAAAAAAAAAQAAg//0DwP/AAEADwABAAAAAAQAAAAAAAAAAAAAAIAAAAAAAAAIAAAACgAAxAAAAAwAAAAMAAAAcAAEAAwAAABwAAwABAAAAHAAEADAAAAAIAAgAAgAAACDpy//9//8AAAAg6cv//f///+EWNwADAAEAAAAAAAAAAAAAAAAACACEAAEAAAAAAAAAAAAAAAAxAAACAAQARAKAAsAAKwBUAAABIiYnJjQ3NzY2MzIWFxYUBwcGIicmNDc3NjQnJiYjIgYHBwYUFxYUBwYGIwciJicmNDc3NjIXFhQHBwYUFxYWMzI2Nzc2NCcmNDc2MhcWFAcHBgYjARQGDAUtLXoWOR8fORYtLTgKGwoKCjgaGg0gEhIgDXoaGgkJBQwHdR85Fi0tOAobCgoKOBoaDSASEiANehoaCQkKGwotLXoWOR8BMwUFLYEuehYXFxYugC44CQkKGwo4GkoaDQ0NDXoaShoKGwoFBe8XFi6ALjgJCQobCjgaShoNDQ0NehpKGgobCgoKLYEuehYXAAAADACWAAEAAAAAAAEACAAAAAEAAAAAAAIAAwAIAAEAAAAAAAMACAAAAAEAAAAAAAQACAAAAAEAAAAAAAUAAQALAAEAAAAAAAYACAAAAAMAAQQJAAEAEAAMAAMAAQQJAAIABgAcAAMAAQQJAAMAEAAMAAMAAQQJAAQAEAAMAAMAAQQJAAUAAgAiAAMAAQQJAAYAEAAMYW5jaG9yanM0MDBAAGEAbgBjAGgAbwByAGoAcwA0ADAAMABAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAH//wAP) format("truetype")}',A.sheet.cssRules.length)),h=document.querySelectorAll("[id]"),t=[].map.call(h,function(A){return A.id}),i=0;i\]./()*\\\n\t\b\v\u00A0]/g,"-").replace(/-{2,}/g,"-").substring(0,this.options.truncate).replace(/^-+|-+$/gm,"").toLowerCase()},this.hasAnchorJSLink=function(A){var e=A.firstChild&&-1<(" "+A.firstChild.className+" ").indexOf(" anchorjs-link "),A=A.lastChild&&-1<(" "+A.lastChild.className+" ").indexOf(" anchorjs-link ");return e||A||!1}}}); +// @license-end \ No newline at end of file diff --git a/site_libs/quarto-html/popper.min.js b/site_libs/quarto-html/popper.min.js new file mode 100644 index 000000000..e3726d728 --- /dev/null +++ b/site_libs/quarto-html/popper.min.js @@ -0,0 +1,6 @@ +/** + * @popperjs/core v2.11.7 - MIT License + */ + +!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).Popper={})}(this,(function(e){"use strict";function t(e){if(null==e)return window;if("[object Window]"!==e.toString()){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function n(e){return e instanceof t(e).Element||e instanceof Element}function r(e){return e instanceof t(e).HTMLElement||e instanceof HTMLElement}function o(e){return"undefined"!=typeof ShadowRoot&&(e instanceof t(e).ShadowRoot||e instanceof ShadowRoot)}var i=Math.max,a=Math.min,s=Math.round;function f(){var e=navigator.userAgentData;return null!=e&&e.brands&&Array.isArray(e.brands)?e.brands.map((function(e){return e.brand+"/"+e.version})).join(" "):navigator.userAgent}function c(){return!/^((?!chrome|android).)*safari/i.test(f())}function p(e,o,i){void 0===o&&(o=!1),void 0===i&&(i=!1);var a=e.getBoundingClientRect(),f=1,p=1;o&&r(e)&&(f=e.offsetWidth>0&&s(a.width)/e.offsetWidth||1,p=e.offsetHeight>0&&s(a.height)/e.offsetHeight||1);var u=(n(e)?t(e):window).visualViewport,l=!c()&&i,d=(a.left+(l&&u?u.offsetLeft:0))/f,h=(a.top+(l&&u?u.offsetTop:0))/p,m=a.width/f,v=a.height/p;return{width:m,height:v,top:h,right:d+m,bottom:h+v,left:d,x:d,y:h}}function u(e){var n=t(e);return{scrollLeft:n.pageXOffset,scrollTop:n.pageYOffset}}function l(e){return e?(e.nodeName||"").toLowerCase():null}function d(e){return((n(e)?e.ownerDocument:e.document)||window.document).documentElement}function h(e){return p(d(e)).left+u(e).scrollLeft}function m(e){return t(e).getComputedStyle(e)}function v(e){var t=m(e),n=t.overflow,r=t.overflowX,o=t.overflowY;return/auto|scroll|overlay|hidden/.test(n+o+r)}function y(e,n,o){void 0===o&&(o=!1);var i,a,f=r(n),c=r(n)&&function(e){var t=e.getBoundingClientRect(),n=s(t.width)/e.offsetWidth||1,r=s(t.height)/e.offsetHeight||1;return 1!==n||1!==r}(n),m=d(n),y=p(e,c,o),g={scrollLeft:0,scrollTop:0},b={x:0,y:0};return(f||!f&&!o)&&(("body"!==l(n)||v(m))&&(g=(i=n)!==t(i)&&r(i)?{scrollLeft:(a=i).scrollLeft,scrollTop:a.scrollTop}:u(i)),r(n)?((b=p(n,!0)).x+=n.clientLeft,b.y+=n.clientTop):m&&(b.x=h(m))),{x:y.left+g.scrollLeft-b.x,y:y.top+g.scrollTop-b.y,width:y.width,height:y.height}}function g(e){var t=p(e),n=e.offsetWidth,r=e.offsetHeight;return Math.abs(t.width-n)<=1&&(n=t.width),Math.abs(t.height-r)<=1&&(r=t.height),{x:e.offsetLeft,y:e.offsetTop,width:n,height:r}}function b(e){return"html"===l(e)?e:e.assignedSlot||e.parentNode||(o(e)?e.host:null)||d(e)}function x(e){return["html","body","#document"].indexOf(l(e))>=0?e.ownerDocument.body:r(e)&&v(e)?e:x(b(e))}function w(e,n){var r;void 0===n&&(n=[]);var o=x(e),i=o===(null==(r=e.ownerDocument)?void 0:r.body),a=t(o),s=i?[a].concat(a.visualViewport||[],v(o)?o:[]):o,f=n.concat(s);return i?f:f.concat(w(b(s)))}function O(e){return["table","td","th"].indexOf(l(e))>=0}function j(e){return r(e)&&"fixed"!==m(e).position?e.offsetParent:null}function E(e){for(var n=t(e),i=j(e);i&&O(i)&&"static"===m(i).position;)i=j(i);return i&&("html"===l(i)||"body"===l(i)&&"static"===m(i).position)?n:i||function(e){var t=/firefox/i.test(f());if(/Trident/i.test(f())&&r(e)&&"fixed"===m(e).position)return null;var n=b(e);for(o(n)&&(n=n.host);r(n)&&["html","body"].indexOf(l(n))<0;){var i=m(n);if("none"!==i.transform||"none"!==i.perspective||"paint"===i.contain||-1!==["transform","perspective"].indexOf(i.willChange)||t&&"filter"===i.willChange||t&&i.filter&&"none"!==i.filter)return n;n=n.parentNode}return null}(e)||n}var D="top",A="bottom",L="right",P="left",M="auto",k=[D,A,L,P],W="start",B="end",H="viewport",T="popper",R=k.reduce((function(e,t){return e.concat([t+"-"+W,t+"-"+B])}),[]),S=[].concat(k,[M]).reduce((function(e,t){return e.concat([t,t+"-"+W,t+"-"+B])}),[]),V=["beforeRead","read","afterRead","beforeMain","main","afterMain","beforeWrite","write","afterWrite"];function q(e){var t=new Map,n=new Set,r=[];function o(e){n.add(e.name),[].concat(e.requires||[],e.requiresIfExists||[]).forEach((function(e){if(!n.has(e)){var r=t.get(e);r&&o(r)}})),r.push(e)}return e.forEach((function(e){t.set(e.name,e)})),e.forEach((function(e){n.has(e.name)||o(e)})),r}function C(e){return e.split("-")[0]}function N(e,t){var n=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(n&&o(n)){var r=t;do{if(r&&e.isSameNode(r))return!0;r=r.parentNode||r.host}while(r)}return!1}function I(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function _(e,r,o){return r===H?I(function(e,n){var r=t(e),o=d(e),i=r.visualViewport,a=o.clientWidth,s=o.clientHeight,f=0,p=0;if(i){a=i.width,s=i.height;var u=c();(u||!u&&"fixed"===n)&&(f=i.offsetLeft,p=i.offsetTop)}return{width:a,height:s,x:f+h(e),y:p}}(e,o)):n(r)?function(e,t){var n=p(e,!1,"fixed"===t);return n.top=n.top+e.clientTop,n.left=n.left+e.clientLeft,n.bottom=n.top+e.clientHeight,n.right=n.left+e.clientWidth,n.width=e.clientWidth,n.height=e.clientHeight,n.x=n.left,n.y=n.top,n}(r,o):I(function(e){var t,n=d(e),r=u(e),o=null==(t=e.ownerDocument)?void 0:t.body,a=i(n.scrollWidth,n.clientWidth,o?o.scrollWidth:0,o?o.clientWidth:0),s=i(n.scrollHeight,n.clientHeight,o?o.scrollHeight:0,o?o.clientHeight:0),f=-r.scrollLeft+h(e),c=-r.scrollTop;return"rtl"===m(o||n).direction&&(f+=i(n.clientWidth,o?o.clientWidth:0)-a),{width:a,height:s,x:f,y:c}}(d(e)))}function F(e,t,o,s){var f="clippingParents"===t?function(e){var t=w(b(e)),o=["absolute","fixed"].indexOf(m(e).position)>=0&&r(e)?E(e):e;return n(o)?t.filter((function(e){return n(e)&&N(e,o)&&"body"!==l(e)})):[]}(e):[].concat(t),c=[].concat(f,[o]),p=c[0],u=c.reduce((function(t,n){var r=_(e,n,s);return t.top=i(r.top,t.top),t.right=a(r.right,t.right),t.bottom=a(r.bottom,t.bottom),t.left=i(r.left,t.left),t}),_(e,p,s));return u.width=u.right-u.left,u.height=u.bottom-u.top,u.x=u.left,u.y=u.top,u}function U(e){return e.split("-")[1]}function z(e){return["top","bottom"].indexOf(e)>=0?"x":"y"}function X(e){var t,n=e.reference,r=e.element,o=e.placement,i=o?C(o):null,a=o?U(o):null,s=n.x+n.width/2-r.width/2,f=n.y+n.height/2-r.height/2;switch(i){case D:t={x:s,y:n.y-r.height};break;case A:t={x:s,y:n.y+n.height};break;case L:t={x:n.x+n.width,y:f};break;case P:t={x:n.x-r.width,y:f};break;default:t={x:n.x,y:n.y}}var c=i?z(i):null;if(null!=c){var p="y"===c?"height":"width";switch(a){case W:t[c]=t[c]-(n[p]/2-r[p]/2);break;case B:t[c]=t[c]+(n[p]/2-r[p]/2)}}return t}function Y(e){return Object.assign({},{top:0,right:0,bottom:0,left:0},e)}function G(e,t){return t.reduce((function(t,n){return t[n]=e,t}),{})}function J(e,t){void 0===t&&(t={});var r=t,o=r.placement,i=void 0===o?e.placement:o,a=r.strategy,s=void 0===a?e.strategy:a,f=r.boundary,c=void 0===f?"clippingParents":f,u=r.rootBoundary,l=void 0===u?H:u,h=r.elementContext,m=void 0===h?T:h,v=r.altBoundary,y=void 0!==v&&v,g=r.padding,b=void 0===g?0:g,x=Y("number"!=typeof b?b:G(b,k)),w=m===T?"reference":T,O=e.rects.popper,j=e.elements[y?w:m],E=F(n(j)?j:j.contextElement||d(e.elements.popper),c,l,s),P=p(e.elements.reference),M=X({reference:P,element:O,strategy:"absolute",placement:i}),W=I(Object.assign({},O,M)),B=m===T?W:P,R={top:E.top-B.top+x.top,bottom:B.bottom-E.bottom+x.bottom,left:E.left-B.left+x.left,right:B.right-E.right+x.right},S=e.modifiersData.offset;if(m===T&&S){var V=S[i];Object.keys(R).forEach((function(e){var t=[L,A].indexOf(e)>=0?1:-1,n=[D,A].indexOf(e)>=0?"y":"x";R[e]+=V[n]*t}))}return R}var K={placement:"bottom",modifiers:[],strategy:"absolute"};function Q(){for(var e=arguments.length,t=new Array(e),n=0;n=0?-1:1,i="function"==typeof n?n(Object.assign({},t,{placement:e})):n,a=i[0],s=i[1];return a=a||0,s=(s||0)*o,[P,L].indexOf(r)>=0?{x:s,y:a}:{x:a,y:s}}(n,t.rects,i),e}),{}),s=a[t.placement],f=s.x,c=s.y;null!=t.modifiersData.popperOffsets&&(t.modifiersData.popperOffsets.x+=f,t.modifiersData.popperOffsets.y+=c),t.modifiersData[r]=a}},se={left:"right",right:"left",bottom:"top",top:"bottom"};function fe(e){return e.replace(/left|right|bottom|top/g,(function(e){return se[e]}))}var ce={start:"end",end:"start"};function pe(e){return e.replace(/start|end/g,(function(e){return ce[e]}))}function ue(e,t){void 0===t&&(t={});var n=t,r=n.placement,o=n.boundary,i=n.rootBoundary,a=n.padding,s=n.flipVariations,f=n.allowedAutoPlacements,c=void 0===f?S:f,p=U(r),u=p?s?R:R.filter((function(e){return U(e)===p})):k,l=u.filter((function(e){return c.indexOf(e)>=0}));0===l.length&&(l=u);var d=l.reduce((function(t,n){return t[n]=J(e,{placement:n,boundary:o,rootBoundary:i,padding:a})[C(n)],t}),{});return Object.keys(d).sort((function(e,t){return d[e]-d[t]}))}var le={name:"flip",enabled:!0,phase:"main",fn:function(e){var t=e.state,n=e.options,r=e.name;if(!t.modifiersData[r]._skip){for(var o=n.mainAxis,i=void 0===o||o,a=n.altAxis,s=void 0===a||a,f=n.fallbackPlacements,c=n.padding,p=n.boundary,u=n.rootBoundary,l=n.altBoundary,d=n.flipVariations,h=void 0===d||d,m=n.allowedAutoPlacements,v=t.options.placement,y=C(v),g=f||(y===v||!h?[fe(v)]:function(e){if(C(e)===M)return[];var t=fe(e);return[pe(e),t,pe(t)]}(v)),b=[v].concat(g).reduce((function(e,n){return e.concat(C(n)===M?ue(t,{placement:n,boundary:p,rootBoundary:u,padding:c,flipVariations:h,allowedAutoPlacements:m}):n)}),[]),x=t.rects.reference,w=t.rects.popper,O=new Map,j=!0,E=b[0],k=0;k=0,S=R?"width":"height",V=J(t,{placement:B,boundary:p,rootBoundary:u,altBoundary:l,padding:c}),q=R?T?L:P:T?A:D;x[S]>w[S]&&(q=fe(q));var N=fe(q),I=[];if(i&&I.push(V[H]<=0),s&&I.push(V[q]<=0,V[N]<=0),I.every((function(e){return e}))){E=B,j=!1;break}O.set(B,I)}if(j)for(var _=function(e){var t=b.find((function(t){var n=O.get(t);if(n)return n.slice(0,e).every((function(e){return e}))}));if(t)return E=t,"break"},F=h?3:1;F>0;F--){if("break"===_(F))break}t.placement!==E&&(t.modifiersData[r]._skip=!0,t.placement=E,t.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}};function de(e,t,n){return i(e,a(t,n))}var he={name:"preventOverflow",enabled:!0,phase:"main",fn:function(e){var t=e.state,n=e.options,r=e.name,o=n.mainAxis,s=void 0===o||o,f=n.altAxis,c=void 0!==f&&f,p=n.boundary,u=n.rootBoundary,l=n.altBoundary,d=n.padding,h=n.tether,m=void 0===h||h,v=n.tetherOffset,y=void 0===v?0:v,b=J(t,{boundary:p,rootBoundary:u,padding:d,altBoundary:l}),x=C(t.placement),w=U(t.placement),O=!w,j=z(x),M="x"===j?"y":"x",k=t.modifiersData.popperOffsets,B=t.rects.reference,H=t.rects.popper,T="function"==typeof y?y(Object.assign({},t.rects,{placement:t.placement})):y,R="number"==typeof T?{mainAxis:T,altAxis:T}:Object.assign({mainAxis:0,altAxis:0},T),S=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,V={x:0,y:0};if(k){if(s){var q,N="y"===j?D:P,I="y"===j?A:L,_="y"===j?"height":"width",F=k[j],X=F+b[N],Y=F-b[I],G=m?-H[_]/2:0,K=w===W?B[_]:H[_],Q=w===W?-H[_]:-B[_],Z=t.elements.arrow,$=m&&Z?g(Z):{width:0,height:0},ee=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},te=ee[N],ne=ee[I],re=de(0,B[_],$[_]),oe=O?B[_]/2-G-re-te-R.mainAxis:K-re-te-R.mainAxis,ie=O?-B[_]/2+G+re+ne+R.mainAxis:Q+re+ne+R.mainAxis,ae=t.elements.arrow&&E(t.elements.arrow),se=ae?"y"===j?ae.clientTop||0:ae.clientLeft||0:0,fe=null!=(q=null==S?void 0:S[j])?q:0,ce=F+ie-fe,pe=de(m?a(X,F+oe-fe-se):X,F,m?i(Y,ce):Y);k[j]=pe,V[j]=pe-F}if(c){var ue,le="x"===j?D:P,he="x"===j?A:L,me=k[M],ve="y"===M?"height":"width",ye=me+b[le],ge=me-b[he],be=-1!==[D,P].indexOf(x),xe=null!=(ue=null==S?void 0:S[M])?ue:0,we=be?ye:me-B[ve]-H[ve]-xe+R.altAxis,Oe=be?me+B[ve]+H[ve]-xe-R.altAxis:ge,je=m&&be?function(e,t,n){var r=de(e,t,n);return r>n?n:r}(we,me,Oe):de(m?we:ye,me,m?Oe:ge);k[M]=je,V[M]=je-me}t.modifiersData[r]=V}},requiresIfExists:["offset"]};var me={name:"arrow",enabled:!0,phase:"main",fn:function(e){var t,n=e.state,r=e.name,o=e.options,i=n.elements.arrow,a=n.modifiersData.popperOffsets,s=C(n.placement),f=z(s),c=[P,L].indexOf(s)>=0?"height":"width";if(i&&a){var p=function(e,t){return Y("number"!=typeof(e="function"==typeof e?e(Object.assign({},t.rects,{placement:t.placement})):e)?e:G(e,k))}(o.padding,n),u=g(i),l="y"===f?D:P,d="y"===f?A:L,h=n.rects.reference[c]+n.rects.reference[f]-a[f]-n.rects.popper[c],m=a[f]-n.rects.reference[f],v=E(i),y=v?"y"===f?v.clientHeight||0:v.clientWidth||0:0,b=h/2-m/2,x=p[l],w=y-u[c]-p[d],O=y/2-u[c]/2+b,j=de(x,O,w),M=f;n.modifiersData[r]=((t={})[M]=j,t.centerOffset=j-O,t)}},effect:function(e){var t=e.state,n=e.options.element,r=void 0===n?"[data-popper-arrow]":n;null!=r&&("string"!=typeof r||(r=t.elements.popper.querySelector(r)))&&N(t.elements.popper,r)&&(t.elements.arrow=r)},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function ve(e,t,n){return void 0===n&&(n={x:0,y:0}),{top:e.top-t.height-n.y,right:e.right-t.width+n.x,bottom:e.bottom-t.height+n.y,left:e.left-t.width-n.x}}function ye(e){return[D,L,A,P].some((function(t){return e[t]>=0}))}var ge={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:function(e){var t=e.state,n=e.name,r=t.rects.reference,o=t.rects.popper,i=t.modifiersData.preventOverflow,a=J(t,{elementContext:"reference"}),s=J(t,{altBoundary:!0}),f=ve(a,r),c=ve(s,o,i),p=ye(f),u=ye(c);t.modifiersData[n]={referenceClippingOffsets:f,popperEscapeOffsets:c,isReferenceHidden:p,hasPopperEscaped:u},t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-reference-hidden":p,"data-popper-escaped":u})}},be=Z({defaultModifiers:[ee,te,oe,ie]}),xe=[ee,te,oe,ie,ae,le,he,me,ge],we=Z({defaultModifiers:xe});e.applyStyles=ie,e.arrow=me,e.computeStyles=oe,e.createPopper=we,e.createPopperLite=be,e.defaultModifiers=xe,e.detectOverflow=J,e.eventListeners=ee,e.flip=le,e.hide=ge,e.offset=ae,e.popperGenerator=Z,e.popperOffsets=te,e.preventOverflow=he,Object.defineProperty(e,"__esModule",{value:!0})})); + diff --git a/site_libs/quarto-html/quarto-syntax-highlighting.css b/site_libs/quarto-html/quarto-syntax-highlighting.css new file mode 100644 index 000000000..b30ce5766 --- /dev/null +++ b/site_libs/quarto-html/quarto-syntax-highlighting.css @@ -0,0 +1,205 @@ +/* quarto syntax highlight colors */ +:root { + --quarto-hl-ot-color: #003B4F; + --quarto-hl-at-color: #657422; + --quarto-hl-ss-color: #20794D; + --quarto-hl-an-color: #5E5E5E; + --quarto-hl-fu-color: #4758AB; + --quarto-hl-st-color: #20794D; + --quarto-hl-cf-color: #003B4F; + --quarto-hl-op-color: #5E5E5E; + --quarto-hl-er-color: #AD0000; + --quarto-hl-bn-color: #AD0000; + --quarto-hl-al-color: #AD0000; + --quarto-hl-va-color: #111111; + --quarto-hl-bu-color: inherit; + --quarto-hl-ex-color: inherit; + --quarto-hl-pp-color: #AD0000; + --quarto-hl-in-color: #5E5E5E; + --quarto-hl-vs-color: #20794D; + --quarto-hl-wa-color: #5E5E5E; + --quarto-hl-do-color: #5E5E5E; + --quarto-hl-im-color: #00769E; + --quarto-hl-ch-color: #20794D; + --quarto-hl-dt-color: #AD0000; + --quarto-hl-fl-color: #AD0000; + --quarto-hl-co-color: #5E5E5E; + --quarto-hl-cv-color: #5E5E5E; + --quarto-hl-cn-color: #8f5902; + --quarto-hl-sc-color: #5E5E5E; + --quarto-hl-dv-color: #AD0000; + --quarto-hl-kw-color: #003B4F; +} + +/* other quarto variables */ +:root { + --quarto-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; +} + +pre > code.sourceCode > span { + color: #003B4F; +} + +code span { + color: #003B4F; +} + +code.sourceCode > span { + color: #003B4F; +} + +div.sourceCode, +div.sourceCode pre.sourceCode { + color: #003B4F; +} + +code span.ot { + color: #003B4F; + font-style: inherit; +} + +code span.at { + color: #657422; + font-style: inherit; +} + +code span.ss { + color: #20794D; + font-style: inherit; +} + +code span.an { + color: #5E5E5E; + font-style: inherit; +} + +code span.fu { + color: #4758AB; + font-style: inherit; +} + +code span.st { + color: #20794D; + font-style: inherit; +} + +code span.cf { + color: #003B4F; + font-weight: bold; + font-style: inherit; +} + +code span.op { + color: #5E5E5E; + font-style: inherit; +} + +code span.er { + color: #AD0000; + font-style: inherit; +} + +code span.bn { + color: #AD0000; + font-style: inherit; +} + +code span.al { + color: #AD0000; + font-style: inherit; +} + +code span.va { + color: #111111; + font-style: inherit; +} + +code span.bu { + font-style: inherit; +} + +code span.ex { + font-style: inherit; +} + +code span.pp { + color: #AD0000; + font-style: inherit; +} + +code span.in { + color: #5E5E5E; + font-style: inherit; +} + +code span.vs { + color: #20794D; + font-style: inherit; +} + +code span.wa { + color: #5E5E5E; + font-style: italic; +} + +code span.do { + color: #5E5E5E; + font-style: italic; +} + +code span.im { + color: #00769E; + font-style: inherit; +} + +code span.ch { + color: #20794D; + font-style: inherit; +} + +code span.dt { + color: #AD0000; + font-style: inherit; +} + +code span.fl { + color: #AD0000; + font-style: inherit; +} + +code span.co { + color: #5E5E5E; + font-style: inherit; +} + +code span.cv { + color: #5E5E5E; + font-style: italic; +} + +code span.cn { + color: #8f5902; + font-style: inherit; +} + +code span.sc { + color: #5E5E5E; + font-style: inherit; +} + +code span.dv { + color: #AD0000; + font-style: inherit; +} + +code span.kw { + color: #003B4F; + font-weight: bold; + font-style: inherit; +} + +.prevent-inlining { + content: " { + // Find any conflicting margin elements and add margins to the + // top to prevent overlap + const marginChildren = window.document.querySelectorAll( + ".column-margin.column-container > *, .margin-caption, .aside" + ); + + let lastBottom = 0; + for (const marginChild of marginChildren) { + if (marginChild.offsetParent !== null) { + // clear the top margin so we recompute it + marginChild.style.marginTop = null; + const top = marginChild.getBoundingClientRect().top + window.scrollY; + if (top < lastBottom) { + const marginChildStyle = window.getComputedStyle(marginChild); + const marginBottom = parseFloat(marginChildStyle["marginBottom"]); + const margin = lastBottom - top + marginBottom; + marginChild.style.marginTop = `${margin}px`; + } + const styles = window.getComputedStyle(marginChild); + const marginTop = parseFloat(styles["marginTop"]); + lastBottom = top + marginChild.getBoundingClientRect().height + marginTop; + } + } +}; + +window.document.addEventListener("DOMContentLoaded", function (_event) { + // Recompute the position of margin elements anytime the body size changes + if (window.ResizeObserver) { + const resizeObserver = new window.ResizeObserver( + throttle(() => { + layoutMarginEls(); + if ( + window.document.body.getBoundingClientRect().width < 990 && + isReaderMode() + ) { + quartoToggleReader(); + } + }, 50) + ); + resizeObserver.observe(window.document.body); + } + + const tocEl = window.document.querySelector('nav.toc-active[role="doc-toc"]'); + const sidebarEl = window.document.getElementById("quarto-sidebar"); + const leftTocEl = window.document.getElementById("quarto-sidebar-toc-left"); + const marginSidebarEl = window.document.getElementById( + "quarto-margin-sidebar" + ); + // function to determine whether the element has a previous sibling that is active + const prevSiblingIsActiveLink = (el) => { + const sibling = el.previousElementSibling; + if (sibling && sibling.tagName === "A") { + return sibling.classList.contains("active"); + } else { + return false; + } + }; + + // fire slideEnter for bootstrap tab activations (for htmlwidget resize behavior) + function fireSlideEnter(e) { + const event = window.document.createEvent("Event"); + event.initEvent("slideenter", true, true); + window.document.dispatchEvent(event); + } + const tabs = window.document.querySelectorAll('a[data-bs-toggle="tab"]'); + tabs.forEach((tab) => { + tab.addEventListener("shown.bs.tab", fireSlideEnter); + }); + + // fire slideEnter for tabby tab activations (for htmlwidget resize behavior) + document.addEventListener("tabby", fireSlideEnter, false); + + // Track scrolling and mark TOC links as active + // get table of contents and sidebar (bail if we don't have at least one) + const tocLinks = tocEl + ? [...tocEl.querySelectorAll("a[data-scroll-target]")] + : []; + const makeActive = (link) => tocLinks[link].classList.add("active"); + const removeActive = (link) => tocLinks[link].classList.remove("active"); + const removeAllActive = () => + [...Array(tocLinks.length).keys()].forEach((link) => removeActive(link)); + + // activate the anchor for a section associated with this TOC entry + tocLinks.forEach((link) => { + link.addEventListener("click", () => { + if (link.href.indexOf("#") !== -1) { + const anchor = link.href.split("#")[1]; + const heading = window.document.querySelector( + `[data-anchor-id="${anchor}"]` + ); + if (heading) { + // Add the class + heading.classList.add("reveal-anchorjs-link"); + + // function to show the anchor + const handleMouseout = () => { + heading.classList.remove("reveal-anchorjs-link"); + heading.removeEventListener("mouseout", handleMouseout); + }; + + // add a function to clear the anchor when the user mouses out of it + heading.addEventListener("mouseout", handleMouseout); + } + } + }); + }); + + const sections = tocLinks.map((link) => { + const target = link.getAttribute("data-scroll-target"); + if (target.startsWith("#")) { + return window.document.getElementById(decodeURI(`${target.slice(1)}`)); + } else { + return window.document.querySelector(decodeURI(`${target}`)); + } + }); + + const sectionMargin = 200; + let currentActive = 0; + // track whether we've initialized state the first time + let init = false; + + const updateActiveLink = () => { + // The index from bottom to top (e.g. reversed list) + let sectionIndex = -1; + if ( + window.innerHeight + window.pageYOffset >= + window.document.body.offsetHeight + ) { + // This is the no-scroll case where last section should be the active one + sectionIndex = 0; + } else { + // This finds the last section visible on screen that should be made active + sectionIndex = [...sections].reverse().findIndex((section) => { + if (section) { + return window.pageYOffset >= section.offsetTop - sectionMargin; + } else { + return false; + } + }); + } + if (sectionIndex > -1) { + const current = sections.length - sectionIndex - 1; + if (current !== currentActive) { + removeAllActive(); + currentActive = current; + makeActive(current); + if (init) { + window.dispatchEvent(sectionChanged); + } + init = true; + } + } + }; + + const inHiddenRegion = (top, bottom, hiddenRegions) => { + for (const region of hiddenRegions) { + if (top <= region.bottom && bottom >= region.top) { + return true; + } + } + return false; + }; + + const categorySelector = "header.quarto-title-block .quarto-category"; + const activateCategories = (href) => { + // Find any categories + // Surround them with a link pointing back to: + // #category=Authoring + try { + const categoryEls = window.document.querySelectorAll(categorySelector); + for (const categoryEl of categoryEls) { + const categoryText = categoryEl.textContent; + if (categoryText) { + const link = `${href}#category=${encodeURIComponent(categoryText)}`; + const linkEl = window.document.createElement("a"); + linkEl.setAttribute("href", link); + for (const child of categoryEl.childNodes) { + linkEl.append(child); + } + categoryEl.appendChild(linkEl); + } + } + } catch { + // Ignore errors + } + }; + function hasTitleCategories() { + return window.document.querySelector(categorySelector) !== null; + } + + function offsetRelativeUrl(url) { + const offset = getMeta("quarto:offset"); + return offset ? offset + url : url; + } + + function offsetAbsoluteUrl(url) { + const offset = getMeta("quarto:offset"); + const baseUrl = new URL(offset, window.location); + + const projRelativeUrl = url.replace(baseUrl, ""); + if (projRelativeUrl.startsWith("/")) { + return projRelativeUrl; + } else { + return "/" + projRelativeUrl; + } + } + + // read a meta tag value + function getMeta(metaName) { + const metas = window.document.getElementsByTagName("meta"); + for (let i = 0; i < metas.length; i++) { + if (metas[i].getAttribute("name") === metaName) { + return metas[i].getAttribute("content"); + } + } + return ""; + } + + async function findAndActivateCategories() { + const currentPagePath = offsetAbsoluteUrl(window.location.href); + const response = await fetch(offsetRelativeUrl("listings.json")); + if (response.status == 200) { + return response.json().then(function (listingPaths) { + const listingHrefs = []; + for (const listingPath of listingPaths) { + const pathWithoutLeadingSlash = listingPath.listing.substring(1); + for (const item of listingPath.items) { + if ( + item === currentPagePath || + item === currentPagePath + "index.html" + ) { + // Resolve this path against the offset to be sure + // we already are using the correct path to the listing + // (this adjusts the listing urls to be rooted against + // whatever root the page is actually running against) + const relative = offsetRelativeUrl(pathWithoutLeadingSlash); + const baseUrl = window.location; + const resolvedPath = new URL(relative, baseUrl); + listingHrefs.push(resolvedPath.pathname); + break; + } + } + } + + // Look up the tree for a nearby linting and use that if we find one + const nearestListing = findNearestParentListing( + offsetAbsoluteUrl(window.location.pathname), + listingHrefs + ); + if (nearestListing) { + activateCategories(nearestListing); + } else { + // See if the referrer is a listing page for this item + const referredRelativePath = offsetAbsoluteUrl(document.referrer); + const referrerListing = listingHrefs.find((listingHref) => { + const isListingReferrer = + listingHref === referredRelativePath || + listingHref === referredRelativePath + "index.html"; + return isListingReferrer; + }); + + if (referrerListing) { + // Try to use the referrer if possible + activateCategories(referrerListing); + } else if (listingHrefs.length > 0) { + // Otherwise, just fall back to the first listing + activateCategories(listingHrefs[0]); + } + } + }); + } + } + if (hasTitleCategories()) { + findAndActivateCategories(); + } + + const findNearestParentListing = (href, listingHrefs) => { + if (!href || !listingHrefs) { + return undefined; + } + // Look up the tree for a nearby linting and use that if we find one + const relativeParts = href.substring(1).split("/"); + while (relativeParts.length > 0) { + const path = relativeParts.join("/"); + for (const listingHref of listingHrefs) { + if (listingHref.startsWith(path)) { + return listingHref; + } + } + relativeParts.pop(); + } + + return undefined; + }; + + const manageSidebarVisiblity = (el, placeholderDescriptor) => { + let isVisible = true; + let elRect; + + return (hiddenRegions) => { + if (el === null) { + return; + } + + // Find the last element of the TOC + const lastChildEl = el.lastElementChild; + + if (lastChildEl) { + // Converts the sidebar to a menu + const convertToMenu = () => { + for (const child of el.children) { + child.style.opacity = 0; + child.style.overflow = "hidden"; + child.style.pointerEvents = "none"; + } + + nexttick(() => { + const toggleContainer = window.document.createElement("div"); + toggleContainer.style.width = "100%"; + toggleContainer.classList.add("zindex-over-content"); + toggleContainer.classList.add("quarto-sidebar-toggle"); + toggleContainer.classList.add("headroom-target"); // Marks this to be managed by headeroom + toggleContainer.id = placeholderDescriptor.id; + toggleContainer.style.position = "fixed"; + + const toggleIcon = window.document.createElement("i"); + toggleIcon.classList.add("quarto-sidebar-toggle-icon"); + toggleIcon.classList.add("bi"); + toggleIcon.classList.add("bi-caret-down-fill"); + + const toggleTitle = window.document.createElement("div"); + const titleEl = window.document.body.querySelector( + placeholderDescriptor.titleSelector + ); + if (titleEl) { + toggleTitle.append( + titleEl.textContent || titleEl.innerText, + toggleIcon + ); + } + toggleTitle.classList.add("zindex-over-content"); + toggleTitle.classList.add("quarto-sidebar-toggle-title"); + toggleContainer.append(toggleTitle); + + const toggleContents = window.document.createElement("div"); + toggleContents.classList = el.classList; + toggleContents.classList.add("zindex-over-content"); + toggleContents.classList.add("quarto-sidebar-toggle-contents"); + for (const child of el.children) { + if (child.id === "toc-title") { + continue; + } + + const clone = child.cloneNode(true); + clone.style.opacity = 1; + clone.style.pointerEvents = null; + clone.style.display = null; + toggleContents.append(clone); + } + toggleContents.style.height = "0px"; + const positionToggle = () => { + // position the element (top left of parent, same width as parent) + if (!elRect) { + elRect = el.getBoundingClientRect(); + } + toggleContainer.style.left = `${elRect.left}px`; + toggleContainer.style.top = `${elRect.top}px`; + toggleContainer.style.width = `${elRect.width}px`; + }; + positionToggle(); + + toggleContainer.append(toggleContents); + el.parentElement.prepend(toggleContainer); + + // Process clicks + let tocShowing = false; + // Allow the caller to control whether this is dismissed + // when it is clicked (e.g. sidebar navigation supports + // opening and closing the nav tree, so don't dismiss on click) + const clickEl = placeholderDescriptor.dismissOnClick + ? toggleContainer + : toggleTitle; + + const closeToggle = () => { + if (tocShowing) { + toggleContainer.classList.remove("expanded"); + toggleContents.style.height = "0px"; + tocShowing = false; + } + }; + + // Get rid of any expanded toggle if the user scrolls + window.document.addEventListener( + "scroll", + throttle(() => { + closeToggle(); + }, 50) + ); + + // Handle positioning of the toggle + window.addEventListener( + "resize", + throttle(() => { + elRect = undefined; + positionToggle(); + }, 50) + ); + + window.addEventListener("quarto-hrChanged", () => { + elRect = undefined; + }); + + // Process the click + clickEl.onclick = () => { + if (!tocShowing) { + toggleContainer.classList.add("expanded"); + toggleContents.style.height = null; + tocShowing = true; + } else { + closeToggle(); + } + }; + }); + }; + + // Converts a sidebar from a menu back to a sidebar + const convertToSidebar = () => { + for (const child of el.children) { + child.style.opacity = 1; + child.style.overflow = null; + child.style.pointerEvents = null; + } + + const placeholderEl = window.document.getElementById( + placeholderDescriptor.id + ); + if (placeholderEl) { + placeholderEl.remove(); + } + + el.classList.remove("rollup"); + }; + + if (isReaderMode()) { + convertToMenu(); + isVisible = false; + } else { + // Find the top and bottom o the element that is being managed + const elTop = el.offsetTop; + const elBottom = + elTop + lastChildEl.offsetTop + lastChildEl.offsetHeight; + + if (!isVisible) { + // If the element is current not visible reveal if there are + // no conflicts with overlay regions + if (!inHiddenRegion(elTop, elBottom, hiddenRegions)) { + convertToSidebar(); + isVisible = true; + } + } else { + // If the element is visible, hide it if it conflicts with overlay regions + // and insert a placeholder toggle (or if we're in reader mode) + if (inHiddenRegion(elTop, elBottom, hiddenRegions)) { + convertToMenu(); + isVisible = false; + } + } + } + } + }; + }; + + const tabEls = document.querySelectorAll('a[data-bs-toggle="tab"]'); + for (const tabEl of tabEls) { + const id = tabEl.getAttribute("data-bs-target"); + if (id) { + const columnEl = document.querySelector( + `${id} .column-margin, .tabset-margin-content` + ); + if (columnEl) + tabEl.addEventListener("shown.bs.tab", function (event) { + const el = event.srcElement; + if (el) { + const visibleCls = `${el.id}-margin-content`; + // walk up until we find a parent tabset + let panelTabsetEl = el.parentElement; + while (panelTabsetEl) { + if (panelTabsetEl.classList.contains("panel-tabset")) { + break; + } + panelTabsetEl = panelTabsetEl.parentElement; + } + + if (panelTabsetEl) { + const prevSib = panelTabsetEl.previousElementSibling; + if ( + prevSib && + prevSib.classList.contains("tabset-margin-container") + ) { + const childNodes = prevSib.querySelectorAll( + ".tabset-margin-content" + ); + for (const childEl of childNodes) { + if (childEl.classList.contains(visibleCls)) { + childEl.classList.remove("collapse"); + } else { + childEl.classList.add("collapse"); + } + } + } + } + } + + layoutMarginEls(); + }); + } + } + + // Manage the visibility of the toc and the sidebar + const marginScrollVisibility = manageSidebarVisiblity(marginSidebarEl, { + id: "quarto-toc-toggle", + titleSelector: "#toc-title", + dismissOnClick: true, + }); + const sidebarScrollVisiblity = manageSidebarVisiblity(sidebarEl, { + id: "quarto-sidebarnav-toggle", + titleSelector: ".title", + dismissOnClick: false, + }); + let tocLeftScrollVisibility; + if (leftTocEl) { + tocLeftScrollVisibility = manageSidebarVisiblity(leftTocEl, { + id: "quarto-lefttoc-toggle", + titleSelector: "#toc-title", + dismissOnClick: true, + }); + } + + // Find the first element that uses formatting in special columns + const conflictingEls = window.document.body.querySelectorAll( + '[class^="column-"], [class*=" column-"], aside, [class*="margin-caption"], [class*=" margin-caption"], [class*="margin-ref"], [class*=" margin-ref"]' + ); + + // Filter all the possibly conflicting elements into ones + // the do conflict on the left or ride side + const arrConflictingEls = Array.from(conflictingEls); + const leftSideConflictEls = arrConflictingEls.filter((el) => { + if (el.tagName === "ASIDE") { + return false; + } + return Array.from(el.classList).find((className) => { + return ( + className !== "column-body" && + className.startsWith("column-") && + !className.endsWith("right") && + !className.endsWith("container") && + className !== "column-margin" + ); + }); + }); + const rightSideConflictEls = arrConflictingEls.filter((el) => { + if (el.tagName === "ASIDE") { + return true; + } + + const hasMarginCaption = Array.from(el.classList).find((className) => { + return className == "margin-caption"; + }); + if (hasMarginCaption) { + return true; + } + + return Array.from(el.classList).find((className) => { + return ( + className !== "column-body" && + !className.endsWith("container") && + className.startsWith("column-") && + !className.endsWith("left") + ); + }); + }); + + const kOverlapPaddingSize = 10; + function toRegions(els) { + return els.map((el) => { + const boundRect = el.getBoundingClientRect(); + const top = + boundRect.top + + document.documentElement.scrollTop - + kOverlapPaddingSize; + return { + top, + bottom: top + el.scrollHeight + 2 * kOverlapPaddingSize, + }; + }); + } + + let hasObserved = false; + const visibleItemObserver = (els) => { + let visibleElements = [...els]; + const intersectionObserver = new IntersectionObserver( + (entries, _observer) => { + entries.forEach((entry) => { + if (entry.isIntersecting) { + if (visibleElements.indexOf(entry.target) === -1) { + visibleElements.push(entry.target); + } + } else { + visibleElements = visibleElements.filter((visibleEntry) => { + return visibleEntry !== entry; + }); + } + }); + + if (!hasObserved) { + hideOverlappedSidebars(); + } + hasObserved = true; + }, + {} + ); + els.forEach((el) => { + intersectionObserver.observe(el); + }); + + return { + getVisibleEntries: () => { + return visibleElements; + }, + }; + }; + + const rightElementObserver = visibleItemObserver(rightSideConflictEls); + const leftElementObserver = visibleItemObserver(leftSideConflictEls); + + const hideOverlappedSidebars = () => { + marginScrollVisibility(toRegions(rightElementObserver.getVisibleEntries())); + sidebarScrollVisiblity(toRegions(leftElementObserver.getVisibleEntries())); + if (tocLeftScrollVisibility) { + tocLeftScrollVisibility( + toRegions(leftElementObserver.getVisibleEntries()) + ); + } + }; + + window.quartoToggleReader = () => { + // Applies a slow class (or removes it) + // to update the transition speed + const slowTransition = (slow) => { + const manageTransition = (id, slow) => { + const el = document.getElementById(id); + if (el) { + if (slow) { + el.classList.add("slow"); + } else { + el.classList.remove("slow"); + } + } + }; + + manageTransition("TOC", slow); + manageTransition("quarto-sidebar", slow); + }; + const readerMode = !isReaderMode(); + setReaderModeValue(readerMode); + + // If we're entering reader mode, slow the transition + if (readerMode) { + slowTransition(readerMode); + } + highlightReaderToggle(readerMode); + hideOverlappedSidebars(); + + // If we're exiting reader mode, restore the non-slow transition + if (!readerMode) { + slowTransition(!readerMode); + } + }; + + const highlightReaderToggle = (readerMode) => { + const els = document.querySelectorAll(".quarto-reader-toggle"); + if (els) { + els.forEach((el) => { + if (readerMode) { + el.classList.add("reader"); + } else { + el.classList.remove("reader"); + } + }); + } + }; + + const setReaderModeValue = (val) => { + if (window.location.protocol !== "file:") { + window.localStorage.setItem("quarto-reader-mode", val); + } else { + localReaderMode = val; + } + }; + + const isReaderMode = () => { + if (window.location.protocol !== "file:") { + return window.localStorage.getItem("quarto-reader-mode") === "true"; + } else { + return localReaderMode; + } + }; + let localReaderMode = null; + + const tocOpenDepthStr = tocEl?.getAttribute("data-toc-expanded"); + const tocOpenDepth = tocOpenDepthStr ? Number(tocOpenDepthStr) : 1; + + // Walk the TOC and collapse/expand nodes + // Nodes are expanded if: + // - they are top level + // - they have children that are 'active' links + // - they are directly below an link that is 'active' + const walk = (el, depth) => { + // Tick depth when we enter a UL + if (el.tagName === "UL") { + depth = depth + 1; + } + + // It this is active link + let isActiveNode = false; + if (el.tagName === "A" && el.classList.contains("active")) { + isActiveNode = true; + } + + // See if there is an active child to this element + let hasActiveChild = false; + for (child of el.children) { + hasActiveChild = walk(child, depth) || hasActiveChild; + } + + // Process the collapse state if this is an UL + if (el.tagName === "UL") { + if (tocOpenDepth === -1 && depth > 1) { + // toc-expand: false + el.classList.add("collapse"); + } else if ( + depth <= tocOpenDepth || + hasActiveChild || + prevSiblingIsActiveLink(el) + ) { + el.classList.remove("collapse"); + } else { + el.classList.add("collapse"); + } + + // untick depth when we leave a UL + depth = depth - 1; + } + return hasActiveChild || isActiveNode; + }; + + // walk the TOC and expand / collapse any items that should be shown + if (tocEl) { + updateActiveLink(); + walk(tocEl, 0); + } + + // Throttle the scroll event and walk peridiocally + window.document.addEventListener( + "scroll", + throttle(() => { + if (tocEl) { + updateActiveLink(); + walk(tocEl, 0); + } + if (!isReaderMode()) { + hideOverlappedSidebars(); + } + }, 5) + ); + window.addEventListener( + "resize", + throttle(() => { + if (tocEl) { + updateActiveLink(); + walk(tocEl, 0); + } + if (!isReaderMode()) { + hideOverlappedSidebars(); + } + }, 10) + ); + hideOverlappedSidebars(); + highlightReaderToggle(isReaderMode()); +}); + +// grouped tabsets +window.addEventListener("pageshow", (_event) => { + function getTabSettings() { + const data = localStorage.getItem("quarto-persistent-tabsets-data"); + if (!data) { + localStorage.setItem("quarto-persistent-tabsets-data", "{}"); + return {}; + } + if (data) { + return JSON.parse(data); + } + } + + function setTabSettings(data) { + localStorage.setItem( + "quarto-persistent-tabsets-data", + JSON.stringify(data) + ); + } + + function setTabState(groupName, groupValue) { + const data = getTabSettings(); + data[groupName] = groupValue; + setTabSettings(data); + } + + function toggleTab(tab, active) { + const tabPanelId = tab.getAttribute("aria-controls"); + const tabPanel = document.getElementById(tabPanelId); + if (active) { + tab.classList.add("active"); + tabPanel.classList.add("active"); + } else { + tab.classList.remove("active"); + tabPanel.classList.remove("active"); + } + } + + function toggleAll(selectedGroup, selectorsToSync) { + for (const [thisGroup, tabs] of Object.entries(selectorsToSync)) { + const active = selectedGroup === thisGroup; + for (const tab of tabs) { + toggleTab(tab, active); + } + } + } + + function findSelectorsToSyncByLanguage() { + const result = {}; + const tabs = Array.from( + document.querySelectorAll(`div[data-group] a[id^='tabset-']`) + ); + for (const item of tabs) { + const div = item.parentElement.parentElement.parentElement; + const group = div.getAttribute("data-group"); + if (!result[group]) { + result[group] = {}; + } + const selectorsToSync = result[group]; + const value = item.innerHTML; + if (!selectorsToSync[value]) { + selectorsToSync[value] = []; + } + selectorsToSync[value].push(item); + } + return result; + } + + function setupSelectorSync() { + const selectorsToSync = findSelectorsToSyncByLanguage(); + Object.entries(selectorsToSync).forEach(([group, tabSetsByValue]) => { + Object.entries(tabSetsByValue).forEach(([value, items]) => { + items.forEach((item) => { + item.addEventListener("click", (_event) => { + setTabState(group, value); + toggleAll(value, selectorsToSync[group]); + }); + }); + }); + }); + return selectorsToSync; + } + + const selectorsToSync = setupSelectorSync(); + for (const [group, selectedName] of Object.entries(getTabSettings())) { + const selectors = selectorsToSync[group]; + // it's possible that stale state gives us empty selections, so we explicitly check here. + if (selectors) { + toggleAll(selectedName, selectors); + } + } +}); + +function throttle(func, wait) { + let waiting = false; + return function () { + if (!waiting) { + func.apply(this, arguments); + waiting = true; + setTimeout(function () { + waiting = false; + }, wait); + } + }; +} + +function nexttick(func) { + return setTimeout(func, 0); +} diff --git a/site_libs/quarto-html/tippy.css b/site_libs/quarto-html/tippy.css new file mode 100644 index 000000000..e6ae635cb --- /dev/null +++ b/site_libs/quarto-html/tippy.css @@ -0,0 +1 @@ +.tippy-box[data-animation=fade][data-state=hidden]{opacity:0}[data-tippy-root]{max-width:calc(100vw - 10px)}.tippy-box{position:relative;background-color:#333;color:#fff;border-radius:4px;font-size:14px;line-height:1.4;white-space:normal;outline:0;transition-property:transform,visibility,opacity}.tippy-box[data-placement^=top]>.tippy-arrow{bottom:0}.tippy-box[data-placement^=top]>.tippy-arrow:before{bottom:-7px;left:0;border-width:8px 8px 0;border-top-color:initial;transform-origin:center top}.tippy-box[data-placement^=bottom]>.tippy-arrow{top:0}.tippy-box[data-placement^=bottom]>.tippy-arrow:before{top:-7px;left:0;border-width:0 8px 8px;border-bottom-color:initial;transform-origin:center bottom}.tippy-box[data-placement^=left]>.tippy-arrow{right:0}.tippy-box[data-placement^=left]>.tippy-arrow:before{border-width:8px 0 8px 8px;border-left-color:initial;right:-7px;transform-origin:center left}.tippy-box[data-placement^=right]>.tippy-arrow{left:0}.tippy-box[data-placement^=right]>.tippy-arrow:before{left:-7px;border-width:8px 8px 8px 0;border-right-color:initial;transform-origin:center right}.tippy-box[data-inertia][data-state=visible]{transition-timing-function:cubic-bezier(.54,1.5,.38,1.11)}.tippy-arrow{width:16px;height:16px;color:#333}.tippy-arrow:before{content:"";position:absolute;border-color:transparent;border-style:solid}.tippy-content{position:relative;padding:5px 9px;z-index:1} \ No newline at end of file diff --git a/site_libs/quarto-html/tippy.umd.min.js b/site_libs/quarto-html/tippy.umd.min.js new file mode 100644 index 000000000..ca292be32 --- /dev/null +++ b/site_libs/quarto-html/tippy.umd.min.js @@ -0,0 +1,2 @@ +!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("@popperjs/core")):"function"==typeof define&&define.amd?define(["@popperjs/core"],t):(e=e||self).tippy=t(e.Popper)}(this,(function(e){"use strict";var t={passive:!0,capture:!0},n=function(){return document.body};function r(e,t,n){if(Array.isArray(e)){var r=e[t];return null==r?Array.isArray(n)?n[t]:n:r}return e}function o(e,t){var n={}.toString.call(e);return 0===n.indexOf("[object")&&n.indexOf(t+"]")>-1}function i(e,t){return"function"==typeof e?e.apply(void 0,t):e}function a(e,t){return 0===t?e:function(r){clearTimeout(n),n=setTimeout((function(){e(r)}),t)};var n}function s(e,t){var n=Object.assign({},e);return t.forEach((function(e){delete n[e]})),n}function u(e){return[].concat(e)}function c(e,t){-1===e.indexOf(t)&&e.push(t)}function p(e){return e.split("-")[0]}function f(e){return[].slice.call(e)}function l(e){return Object.keys(e).reduce((function(t,n){return void 0!==e[n]&&(t[n]=e[n]),t}),{})}function d(){return document.createElement("div")}function v(e){return["Element","Fragment"].some((function(t){return o(e,t)}))}function m(e){return o(e,"MouseEvent")}function g(e){return!(!e||!e._tippy||e._tippy.reference!==e)}function h(e){return v(e)?[e]:function(e){return o(e,"NodeList")}(e)?f(e):Array.isArray(e)?e:f(document.querySelectorAll(e))}function b(e,t){e.forEach((function(e){e&&(e.style.transitionDuration=t+"ms")}))}function y(e,t){e.forEach((function(e){e&&e.setAttribute("data-state",t)}))}function w(e){var t,n=u(e)[0];return null!=n&&null!=(t=n.ownerDocument)&&t.body?n.ownerDocument:document}function E(e,t,n){var r=t+"EventListener";["transitionend","webkitTransitionEnd"].forEach((function(t){e[r](t,n)}))}function O(e,t){for(var n=t;n;){var r;if(e.contains(n))return!0;n=null==n.getRootNode||null==(r=n.getRootNode())?void 0:r.host}return!1}var x={isTouch:!1},C=0;function T(){x.isTouch||(x.isTouch=!0,window.performance&&document.addEventListener("mousemove",A))}function A(){var e=performance.now();e-C<20&&(x.isTouch=!1,document.removeEventListener("mousemove",A)),C=e}function L(){var e=document.activeElement;if(g(e)){var t=e._tippy;e.blur&&!t.state.isVisible&&e.blur()}}var D=!!("undefined"!=typeof window&&"undefined"!=typeof document)&&!!window.msCrypto,R=Object.assign({appendTo:n,aria:{content:"auto",expanded:"auto"},delay:0,duration:[300,250],getReferenceClientRect:null,hideOnClick:!0,ignoreAttributes:!1,interactive:!1,interactiveBorder:2,interactiveDebounce:0,moveTransition:"",offset:[0,10],onAfterUpdate:function(){},onBeforeUpdate:function(){},onCreate:function(){},onDestroy:function(){},onHidden:function(){},onHide:function(){},onMount:function(){},onShow:function(){},onShown:function(){},onTrigger:function(){},onUntrigger:function(){},onClickOutside:function(){},placement:"top",plugins:[],popperOptions:{},render:null,showOnCreate:!1,touch:!0,trigger:"mouseenter focus",triggerTarget:null},{animateFill:!1,followCursor:!1,inlinePositioning:!1,sticky:!1},{allowHTML:!1,animation:"fade",arrow:!0,content:"",inertia:!1,maxWidth:350,role:"tooltip",theme:"",zIndex:9999}),k=Object.keys(R);function P(e){var t=(e.plugins||[]).reduce((function(t,n){var r,o=n.name,i=n.defaultValue;o&&(t[o]=void 0!==e[o]?e[o]:null!=(r=R[o])?r:i);return t}),{});return Object.assign({},e,t)}function j(e,t){var n=Object.assign({},t,{content:i(t.content,[e])},t.ignoreAttributes?{}:function(e,t){return(t?Object.keys(P(Object.assign({},R,{plugins:t}))):k).reduce((function(t,n){var r=(e.getAttribute("data-tippy-"+n)||"").trim();if(!r)return t;if("content"===n)t[n]=r;else try{t[n]=JSON.parse(r)}catch(e){t[n]=r}return t}),{})}(e,t.plugins));return n.aria=Object.assign({},R.aria,n.aria),n.aria={expanded:"auto"===n.aria.expanded?t.interactive:n.aria.expanded,content:"auto"===n.aria.content?t.interactive?null:"describedby":n.aria.content},n}function M(e,t){e.innerHTML=t}function V(e){var t=d();return!0===e?t.className="tippy-arrow":(t.className="tippy-svg-arrow",v(e)?t.appendChild(e):M(t,e)),t}function I(e,t){v(t.content)?(M(e,""),e.appendChild(t.content)):"function"!=typeof t.content&&(t.allowHTML?M(e,t.content):e.textContent=t.content)}function S(e){var t=e.firstElementChild,n=f(t.children);return{box:t,content:n.find((function(e){return e.classList.contains("tippy-content")})),arrow:n.find((function(e){return e.classList.contains("tippy-arrow")||e.classList.contains("tippy-svg-arrow")})),backdrop:n.find((function(e){return e.classList.contains("tippy-backdrop")}))}}function N(e){var t=d(),n=d();n.className="tippy-box",n.setAttribute("data-state","hidden"),n.setAttribute("tabindex","-1");var r=d();function o(n,r){var o=S(t),i=o.box,a=o.content,s=o.arrow;r.theme?i.setAttribute("data-theme",r.theme):i.removeAttribute("data-theme"),"string"==typeof r.animation?i.setAttribute("data-animation",r.animation):i.removeAttribute("data-animation"),r.inertia?i.setAttribute("data-inertia",""):i.removeAttribute("data-inertia"),i.style.maxWidth="number"==typeof r.maxWidth?r.maxWidth+"px":r.maxWidth,r.role?i.setAttribute("role",r.role):i.removeAttribute("role"),n.content===r.content&&n.allowHTML===r.allowHTML||I(a,e.props),r.arrow?s?n.arrow!==r.arrow&&(i.removeChild(s),i.appendChild(V(r.arrow))):i.appendChild(V(r.arrow)):s&&i.removeChild(s)}return r.className="tippy-content",r.setAttribute("data-state","hidden"),I(r,e.props),t.appendChild(n),n.appendChild(r),o(e.props,e.props),{popper:t,onUpdate:o}}N.$$tippy=!0;var B=1,H=[],U=[];function _(o,s){var v,g,h,C,T,A,L,k,M=j(o,Object.assign({},R,P(l(s)))),V=!1,I=!1,N=!1,_=!1,F=[],W=a(we,M.interactiveDebounce),X=B++,Y=(k=M.plugins).filter((function(e,t){return k.indexOf(e)===t})),$={id:X,reference:o,popper:d(),popperInstance:null,props:M,state:{isEnabled:!0,isVisible:!1,isDestroyed:!1,isMounted:!1,isShown:!1},plugins:Y,clearDelayTimeouts:function(){clearTimeout(v),clearTimeout(g),cancelAnimationFrame(h)},setProps:function(e){if($.state.isDestroyed)return;ae("onBeforeUpdate",[$,e]),be();var t=$.props,n=j(o,Object.assign({},t,l(e),{ignoreAttributes:!0}));$.props=n,he(),t.interactiveDebounce!==n.interactiveDebounce&&(ce(),W=a(we,n.interactiveDebounce));t.triggerTarget&&!n.triggerTarget?u(t.triggerTarget).forEach((function(e){e.removeAttribute("aria-expanded")})):n.triggerTarget&&o.removeAttribute("aria-expanded");ue(),ie(),J&&J(t,n);$.popperInstance&&(Ce(),Ae().forEach((function(e){requestAnimationFrame(e._tippy.popperInstance.forceUpdate)})));ae("onAfterUpdate",[$,e])},setContent:function(e){$.setProps({content:e})},show:function(){var e=$.state.isVisible,t=$.state.isDestroyed,o=!$.state.isEnabled,a=x.isTouch&&!$.props.touch,s=r($.props.duration,0,R.duration);if(e||t||o||a)return;if(te().hasAttribute("disabled"))return;if(ae("onShow",[$],!1),!1===$.props.onShow($))return;$.state.isVisible=!0,ee()&&(z.style.visibility="visible");ie(),de(),$.state.isMounted||(z.style.transition="none");if(ee()){var u=re(),p=u.box,f=u.content;b([p,f],0)}A=function(){var e;if($.state.isVisible&&!_){if(_=!0,z.offsetHeight,z.style.transition=$.props.moveTransition,ee()&&$.props.animation){var t=re(),n=t.box,r=t.content;b([n,r],s),y([n,r],"visible")}se(),ue(),c(U,$),null==(e=$.popperInstance)||e.forceUpdate(),ae("onMount",[$]),$.props.animation&&ee()&&function(e,t){me(e,t)}(s,(function(){$.state.isShown=!0,ae("onShown",[$])}))}},function(){var e,t=$.props.appendTo,r=te();e=$.props.interactive&&t===n||"parent"===t?r.parentNode:i(t,[r]);e.contains(z)||e.appendChild(z);$.state.isMounted=!0,Ce()}()},hide:function(){var e=!$.state.isVisible,t=$.state.isDestroyed,n=!$.state.isEnabled,o=r($.props.duration,1,R.duration);if(e||t||n)return;if(ae("onHide",[$],!1),!1===$.props.onHide($))return;$.state.isVisible=!1,$.state.isShown=!1,_=!1,V=!1,ee()&&(z.style.visibility="hidden");if(ce(),ve(),ie(!0),ee()){var i=re(),a=i.box,s=i.content;$.props.animation&&(b([a,s],o),y([a,s],"hidden"))}se(),ue(),$.props.animation?ee()&&function(e,t){me(e,(function(){!$.state.isVisible&&z.parentNode&&z.parentNode.contains(z)&&t()}))}(o,$.unmount):$.unmount()},hideWithInteractivity:function(e){ne().addEventListener("mousemove",W),c(H,W),W(e)},enable:function(){$.state.isEnabled=!0},disable:function(){$.hide(),$.state.isEnabled=!1},unmount:function(){$.state.isVisible&&$.hide();if(!$.state.isMounted)return;Te(),Ae().forEach((function(e){e._tippy.unmount()})),z.parentNode&&z.parentNode.removeChild(z);U=U.filter((function(e){return e!==$})),$.state.isMounted=!1,ae("onHidden",[$])},destroy:function(){if($.state.isDestroyed)return;$.clearDelayTimeouts(),$.unmount(),be(),delete o._tippy,$.state.isDestroyed=!0,ae("onDestroy",[$])}};if(!M.render)return $;var q=M.render($),z=q.popper,J=q.onUpdate;z.setAttribute("data-tippy-root",""),z.id="tippy-"+$.id,$.popper=z,o._tippy=$,z._tippy=$;var G=Y.map((function(e){return e.fn($)})),K=o.hasAttribute("aria-expanded");return he(),ue(),ie(),ae("onCreate",[$]),M.showOnCreate&&Le(),z.addEventListener("mouseenter",(function(){$.props.interactive&&$.state.isVisible&&$.clearDelayTimeouts()})),z.addEventListener("mouseleave",(function(){$.props.interactive&&$.props.trigger.indexOf("mouseenter")>=0&&ne().addEventListener("mousemove",W)})),$;function Q(){var e=$.props.touch;return Array.isArray(e)?e:[e,0]}function Z(){return"hold"===Q()[0]}function ee(){var e;return!(null==(e=$.props.render)||!e.$$tippy)}function te(){return L||o}function ne(){var e=te().parentNode;return e?w(e):document}function re(){return S(z)}function oe(e){return $.state.isMounted&&!$.state.isVisible||x.isTouch||C&&"focus"===C.type?0:r($.props.delay,e?0:1,R.delay)}function ie(e){void 0===e&&(e=!1),z.style.pointerEvents=$.props.interactive&&!e?"":"none",z.style.zIndex=""+$.props.zIndex}function ae(e,t,n){var r;(void 0===n&&(n=!0),G.forEach((function(n){n[e]&&n[e].apply(n,t)})),n)&&(r=$.props)[e].apply(r,t)}function se(){var e=$.props.aria;if(e.content){var t="aria-"+e.content,n=z.id;u($.props.triggerTarget||o).forEach((function(e){var r=e.getAttribute(t);if($.state.isVisible)e.setAttribute(t,r?r+" "+n:n);else{var o=r&&r.replace(n,"").trim();o?e.setAttribute(t,o):e.removeAttribute(t)}}))}}function ue(){!K&&$.props.aria.expanded&&u($.props.triggerTarget||o).forEach((function(e){$.props.interactive?e.setAttribute("aria-expanded",$.state.isVisible&&e===te()?"true":"false"):e.removeAttribute("aria-expanded")}))}function ce(){ne().removeEventListener("mousemove",W),H=H.filter((function(e){return e!==W}))}function pe(e){if(!x.isTouch||!N&&"mousedown"!==e.type){var t=e.composedPath&&e.composedPath()[0]||e.target;if(!$.props.interactive||!O(z,t)){if(u($.props.triggerTarget||o).some((function(e){return O(e,t)}))){if(x.isTouch)return;if($.state.isVisible&&$.props.trigger.indexOf("click")>=0)return}else ae("onClickOutside",[$,e]);!0===$.props.hideOnClick&&($.clearDelayTimeouts(),$.hide(),I=!0,setTimeout((function(){I=!1})),$.state.isMounted||ve())}}}function fe(){N=!0}function le(){N=!1}function de(){var e=ne();e.addEventListener("mousedown",pe,!0),e.addEventListener("touchend",pe,t),e.addEventListener("touchstart",le,t),e.addEventListener("touchmove",fe,t)}function ve(){var e=ne();e.removeEventListener("mousedown",pe,!0),e.removeEventListener("touchend",pe,t),e.removeEventListener("touchstart",le,t),e.removeEventListener("touchmove",fe,t)}function me(e,t){var n=re().box;function r(e){e.target===n&&(E(n,"remove",r),t())}if(0===e)return t();E(n,"remove",T),E(n,"add",r),T=r}function ge(e,t,n){void 0===n&&(n=!1),u($.props.triggerTarget||o).forEach((function(r){r.addEventListener(e,t,n),F.push({node:r,eventType:e,handler:t,options:n})}))}function he(){var e;Z()&&(ge("touchstart",ye,{passive:!0}),ge("touchend",Ee,{passive:!0})),(e=$.props.trigger,e.split(/\s+/).filter(Boolean)).forEach((function(e){if("manual"!==e)switch(ge(e,ye),e){case"mouseenter":ge("mouseleave",Ee);break;case"focus":ge(D?"focusout":"blur",Oe);break;case"focusin":ge("focusout",Oe)}}))}function be(){F.forEach((function(e){var t=e.node,n=e.eventType,r=e.handler,o=e.options;t.removeEventListener(n,r,o)})),F=[]}function ye(e){var t,n=!1;if($.state.isEnabled&&!xe(e)&&!I){var r="focus"===(null==(t=C)?void 0:t.type);C=e,L=e.currentTarget,ue(),!$.state.isVisible&&m(e)&&H.forEach((function(t){return t(e)})),"click"===e.type&&($.props.trigger.indexOf("mouseenter")<0||V)&&!1!==$.props.hideOnClick&&$.state.isVisible?n=!0:Le(e),"click"===e.type&&(V=!n),n&&!r&&De(e)}}function we(e){var t=e.target,n=te().contains(t)||z.contains(t);"mousemove"===e.type&&n||function(e,t){var n=t.clientX,r=t.clientY;return e.every((function(e){var t=e.popperRect,o=e.popperState,i=e.props.interactiveBorder,a=p(o.placement),s=o.modifiersData.offset;if(!s)return!0;var u="bottom"===a?s.top.y:0,c="top"===a?s.bottom.y:0,f="right"===a?s.left.x:0,l="left"===a?s.right.x:0,d=t.top-r+u>i,v=r-t.bottom-c>i,m=t.left-n+f>i,g=n-t.right-l>i;return d||v||m||g}))}(Ae().concat(z).map((function(e){var t,n=null==(t=e._tippy.popperInstance)?void 0:t.state;return n?{popperRect:e.getBoundingClientRect(),popperState:n,props:M}:null})).filter(Boolean),e)&&(ce(),De(e))}function Ee(e){xe(e)||$.props.trigger.indexOf("click")>=0&&V||($.props.interactive?$.hideWithInteractivity(e):De(e))}function Oe(e){$.props.trigger.indexOf("focusin")<0&&e.target!==te()||$.props.interactive&&e.relatedTarget&&z.contains(e.relatedTarget)||De(e)}function xe(e){return!!x.isTouch&&Z()!==e.type.indexOf("touch")>=0}function Ce(){Te();var t=$.props,n=t.popperOptions,r=t.placement,i=t.offset,a=t.getReferenceClientRect,s=t.moveTransition,u=ee()?S(z).arrow:null,c=a?{getBoundingClientRect:a,contextElement:a.contextElement||te()}:o,p=[{name:"offset",options:{offset:i}},{name:"preventOverflow",options:{padding:{top:2,bottom:2,left:5,right:5}}},{name:"flip",options:{padding:5}},{name:"computeStyles",options:{adaptive:!s}},{name:"$$tippy",enabled:!0,phase:"beforeWrite",requires:["computeStyles"],fn:function(e){var t=e.state;if(ee()){var n=re().box;["placement","reference-hidden","escaped"].forEach((function(e){"placement"===e?n.setAttribute("data-placement",t.placement):t.attributes.popper["data-popper-"+e]?n.setAttribute("data-"+e,""):n.removeAttribute("data-"+e)})),t.attributes.popper={}}}}];ee()&&u&&p.push({name:"arrow",options:{element:u,padding:3}}),p.push.apply(p,(null==n?void 0:n.modifiers)||[]),$.popperInstance=e.createPopper(c,z,Object.assign({},n,{placement:r,onFirstUpdate:A,modifiers:p}))}function Te(){$.popperInstance&&($.popperInstance.destroy(),$.popperInstance=null)}function Ae(){return f(z.querySelectorAll("[data-tippy-root]"))}function Le(e){$.clearDelayTimeouts(),e&&ae("onTrigger",[$,e]),de();var t=oe(!0),n=Q(),r=n[0],o=n[1];x.isTouch&&"hold"===r&&o&&(t=o),t?v=setTimeout((function(){$.show()}),t):$.show()}function De(e){if($.clearDelayTimeouts(),ae("onUntrigger",[$,e]),$.state.isVisible){if(!($.props.trigger.indexOf("mouseenter")>=0&&$.props.trigger.indexOf("click")>=0&&["mouseleave","mousemove"].indexOf(e.type)>=0&&V)){var t=oe(!1);t?g=setTimeout((function(){$.state.isVisible&&$.hide()}),t):h=requestAnimationFrame((function(){$.hide()}))}}else ve()}}function F(e,n){void 0===n&&(n={});var r=R.plugins.concat(n.plugins||[]);document.addEventListener("touchstart",T,t),window.addEventListener("blur",L);var o=Object.assign({},n,{plugins:r}),i=h(e).reduce((function(e,t){var n=t&&_(t,o);return n&&e.push(n),e}),[]);return v(e)?i[0]:i}F.defaultProps=R,F.setDefaultProps=function(e){Object.keys(e).forEach((function(t){R[t]=e[t]}))},F.currentInput=x;var W=Object.assign({},e.applyStyles,{effect:function(e){var t=e.state,n={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};Object.assign(t.elements.popper.style,n.popper),t.styles=n,t.elements.arrow&&Object.assign(t.elements.arrow.style,n.arrow)}}),X={mouseover:"mouseenter",focusin:"focus",click:"click"};var Y={name:"animateFill",defaultValue:!1,fn:function(e){var t;if(null==(t=e.props.render)||!t.$$tippy)return{};var n=S(e.popper),r=n.box,o=n.content,i=e.props.animateFill?function(){var e=d();return e.className="tippy-backdrop",y([e],"hidden"),e}():null;return{onCreate:function(){i&&(r.insertBefore(i,r.firstElementChild),r.setAttribute("data-animatefill",""),r.style.overflow="hidden",e.setProps({arrow:!1,animation:"shift-away"}))},onMount:function(){if(i){var e=r.style.transitionDuration,t=Number(e.replace("ms",""));o.style.transitionDelay=Math.round(t/10)+"ms",i.style.transitionDuration=e,y([i],"visible")}},onShow:function(){i&&(i.style.transitionDuration="0ms")},onHide:function(){i&&y([i],"hidden")}}}};var $={clientX:0,clientY:0},q=[];function z(e){var t=e.clientX,n=e.clientY;$={clientX:t,clientY:n}}var J={name:"followCursor",defaultValue:!1,fn:function(e){var t=e.reference,n=w(e.props.triggerTarget||t),r=!1,o=!1,i=!0,a=e.props;function s(){return"initial"===e.props.followCursor&&e.state.isVisible}function u(){n.addEventListener("mousemove",f)}function c(){n.removeEventListener("mousemove",f)}function p(){r=!0,e.setProps({getReferenceClientRect:null}),r=!1}function f(n){var r=!n.target||t.contains(n.target),o=e.props.followCursor,i=n.clientX,a=n.clientY,s=t.getBoundingClientRect(),u=i-s.left,c=a-s.top;!r&&e.props.interactive||e.setProps({getReferenceClientRect:function(){var e=t.getBoundingClientRect(),n=i,r=a;"initial"===o&&(n=e.left+u,r=e.top+c);var s="horizontal"===o?e.top:r,p="vertical"===o?e.right:n,f="horizontal"===o?e.bottom:r,l="vertical"===o?e.left:n;return{width:p-l,height:f-s,top:s,right:p,bottom:f,left:l}}})}function l(){e.props.followCursor&&(q.push({instance:e,doc:n}),function(e){e.addEventListener("mousemove",z)}(n))}function d(){0===(q=q.filter((function(t){return t.instance!==e}))).filter((function(e){return e.doc===n})).length&&function(e){e.removeEventListener("mousemove",z)}(n)}return{onCreate:l,onDestroy:d,onBeforeUpdate:function(){a=e.props},onAfterUpdate:function(t,n){var i=n.followCursor;r||void 0!==i&&a.followCursor!==i&&(d(),i?(l(),!e.state.isMounted||o||s()||u()):(c(),p()))},onMount:function(){e.props.followCursor&&!o&&(i&&(f($),i=!1),s()||u())},onTrigger:function(e,t){m(t)&&($={clientX:t.clientX,clientY:t.clientY}),o="focus"===t.type},onHidden:function(){e.props.followCursor&&(p(),c(),i=!0)}}}};var G={name:"inlinePositioning",defaultValue:!1,fn:function(e){var t,n=e.reference;var r=-1,o=!1,i=[],a={name:"tippyInlinePositioning",enabled:!0,phase:"afterWrite",fn:function(o){var a=o.state;e.props.inlinePositioning&&(-1!==i.indexOf(a.placement)&&(i=[]),t!==a.placement&&-1===i.indexOf(a.placement)&&(i.push(a.placement),e.setProps({getReferenceClientRect:function(){return function(e){return function(e,t,n,r){if(n.length<2||null===e)return t;if(2===n.length&&r>=0&&n[0].left>n[1].right)return n[r]||t;switch(e){case"top":case"bottom":var o=n[0],i=n[n.length-1],a="top"===e,s=o.top,u=i.bottom,c=a?o.left:i.left,p=a?o.right:i.right;return{top:s,bottom:u,left:c,right:p,width:p-c,height:u-s};case"left":case"right":var f=Math.min.apply(Math,n.map((function(e){return e.left}))),l=Math.max.apply(Math,n.map((function(e){return e.right}))),d=n.filter((function(t){return"left"===e?t.left===f:t.right===l})),v=d[0].top,m=d[d.length-1].bottom;return{top:v,bottom:m,left:f,right:l,width:l-f,height:m-v};default:return t}}(p(e),n.getBoundingClientRect(),f(n.getClientRects()),r)}(a.placement)}})),t=a.placement)}};function s(){var t;o||(t=function(e,t){var n;return{popperOptions:Object.assign({},e.popperOptions,{modifiers:[].concat(((null==(n=e.popperOptions)?void 0:n.modifiers)||[]).filter((function(e){return e.name!==t.name})),[t])})}}(e.props,a),o=!0,e.setProps(t),o=!1)}return{onCreate:s,onAfterUpdate:s,onTrigger:function(t,n){if(m(n)){var o=f(e.reference.getClientRects()),i=o.find((function(e){return e.left-2<=n.clientX&&e.right+2>=n.clientX&&e.top-2<=n.clientY&&e.bottom+2>=n.clientY})),a=o.indexOf(i);r=a>-1?a:r}},onHidden:function(){r=-1}}}};var K={name:"sticky",defaultValue:!1,fn:function(e){var t=e.reference,n=e.popper;function r(t){return!0===e.props.sticky||e.props.sticky===t}var o=null,i=null;function a(){var s=r("reference")?(e.popperInstance?e.popperInstance.state.elements.reference:t).getBoundingClientRect():null,u=r("popper")?n.getBoundingClientRect():null;(s&&Q(o,s)||u&&Q(i,u))&&e.popperInstance&&e.popperInstance.update(),o=s,i=u,e.state.isMounted&&requestAnimationFrame(a)}return{onMount:function(){e.props.sticky&&a()}}}};function Q(e,t){return!e||!t||(e.top!==t.top||e.right!==t.right||e.bottom!==t.bottom||e.left!==t.left)}return F.setDefaultProps({plugins:[Y,J,G,K],render:N}),F.createSingleton=function(e,t){var n;void 0===t&&(t={});var r,o=e,i=[],a=[],c=t.overrides,p=[],f=!1;function l(){a=o.map((function(e){return u(e.props.triggerTarget||e.reference)})).reduce((function(e,t){return e.concat(t)}),[])}function v(){i=o.map((function(e){return e.reference}))}function m(e){o.forEach((function(t){e?t.enable():t.disable()}))}function g(e){return o.map((function(t){var n=t.setProps;return t.setProps=function(o){n(o),t.reference===r&&e.setProps(o)},function(){t.setProps=n}}))}function h(e,t){var n=a.indexOf(t);if(t!==r){r=t;var s=(c||[]).concat("content").reduce((function(e,t){return e[t]=o[n].props[t],e}),{});e.setProps(Object.assign({},s,{getReferenceClientRect:"function"==typeof s.getReferenceClientRect?s.getReferenceClientRect:function(){var e;return null==(e=i[n])?void 0:e.getBoundingClientRect()}}))}}m(!1),v(),l();var b={fn:function(){return{onDestroy:function(){m(!0)},onHidden:function(){r=null},onClickOutside:function(e){e.props.showOnCreate&&!f&&(f=!0,r=null)},onShow:function(e){e.props.showOnCreate&&!f&&(f=!0,h(e,i[0]))},onTrigger:function(e,t){h(e,t.currentTarget)}}}},y=F(d(),Object.assign({},s(t,["overrides"]),{plugins:[b].concat(t.plugins||[]),triggerTarget:a,popperOptions:Object.assign({},t.popperOptions,{modifiers:[].concat((null==(n=t.popperOptions)?void 0:n.modifiers)||[],[W])})})),w=y.show;y.show=function(e){if(w(),!r&&null==e)return h(y,i[0]);if(!r||null!=e){if("number"==typeof e)return i[e]&&h(y,i[e]);if(o.indexOf(e)>=0){var t=e.reference;return h(y,t)}return i.indexOf(e)>=0?h(y,e):void 0}},y.showNext=function(){var e=i[0];if(!r)return y.show(0);var t=i.indexOf(r);y.show(i[t+1]||e)},y.showPrevious=function(){var e=i[i.length-1];if(!r)return y.show(e);var t=i.indexOf(r),n=i[t-1]||e;y.show(n)};var E=y.setProps;return y.setProps=function(e){c=e.overrides||c,E(e)},y.setInstances=function(e){m(!0),p.forEach((function(e){return e()})),o=e,m(!1),v(),l(),p=g(y),y.setProps({triggerTarget:a})},p=g(y),y},F.delegate=function(e,n){var r=[],o=[],i=!1,a=n.target,c=s(n,["target"]),p=Object.assign({},c,{trigger:"manual",touch:!1}),f=Object.assign({touch:R.touch},c,{showOnCreate:!0}),l=F(e,p);function d(e){if(e.target&&!i){var t=e.target.closest(a);if(t){var r=t.getAttribute("data-tippy-trigger")||n.trigger||R.trigger;if(!t._tippy&&!("touchstart"===e.type&&"boolean"==typeof f.touch||"touchstart"!==e.type&&r.indexOf(X[e.type])<0)){var s=F(t,f);s&&(o=o.concat(s))}}}}function v(e,t,n,o){void 0===o&&(o=!1),e.addEventListener(t,n,o),r.push({node:e,eventType:t,handler:n,options:o})}return u(l).forEach((function(e){var n=e.destroy,a=e.enable,s=e.disable;e.destroy=function(e){void 0===e&&(e=!0),e&&o.forEach((function(e){e.destroy()})),o=[],r.forEach((function(e){var t=e.node,n=e.eventType,r=e.handler,o=e.options;t.removeEventListener(n,r,o)})),r=[],n()},e.enable=function(){a(),o.forEach((function(e){return e.enable()})),i=!1},e.disable=function(){s(),o.forEach((function(e){return e.disable()})),i=!0},function(e){var n=e.reference;v(n,"touchstart",d,t),v(n,"mouseover",d),v(n,"focusin",d),v(n,"click",d)}(e)})),l},F.hideAll=function(e){var t=void 0===e?{}:e,n=t.exclude,r=t.duration;U.forEach((function(e){var t=!1;if(n&&(t=g(n)?e.reference===n:e.popper===n.popper),!t){var o=e.props.duration;e.setProps({duration:r}),e.hide(),e.state.isDestroyed||e.setProps({duration:o})}}))},F.roundArrow='',F})); + diff --git a/site_libs/quarto-listing/list.min.js b/site_libs/quarto-listing/list.min.js new file mode 100644 index 000000000..511346fc1 --- /dev/null +++ b/site_libs/quarto-listing/list.min.js @@ -0,0 +1,2 @@ +var List;List=function(){var t={"./src/add-async.js":function(t){t.exports=function(t){return function e(r,n,s){var i=r.splice(0,50);s=(s=s||[]).concat(t.add(i)),r.length>0?setTimeout((function(){e(r,n,s)}),1):(t.update(),n(s))}}},"./src/filter.js":function(t){t.exports=function(t){return t.handlers.filterStart=t.handlers.filterStart||[],t.handlers.filterComplete=t.handlers.filterComplete||[],function(e){if(t.trigger("filterStart"),t.i=1,t.reset.filter(),void 0===e)t.filtered=!1;else{t.filtered=!0;for(var r=t.items,n=0,s=r.length;nv.page,a=new g(t[s],void 0,n),v.items.push(a),r.push(a)}return v.update(),r}m(t.slice(0),e)}},this.show=function(t,e){return this.i=t,this.page=e,v.update(),v},this.remove=function(t,e,r){for(var n=0,s=0,i=v.items.length;s-1&&r.splice(n,1),v},this.trigger=function(t){for(var e=v.handlers[t].length;e--;)v.handlers[t][e](v);return v},this.reset={filter:function(){for(var t=v.items,e=t.length;e--;)t[e].filtered=!1;return v},search:function(){for(var t=v.items,e=t.length;e--;)t[e].found=!1;return v}},this.update=function(){var t=v.items,e=t.length;v.visibleItems=[],v.matchingItems=[],v.templater.clear();for(var r=0;r=v.i&&v.visibleItems.lengthe},innerWindow:function(t,e,r){return t>=e-r&&t<=e+r},dotted:function(t,e,r,n,s,i,a){return this.dottedLeft(t,e,r,n,s,i)||this.dottedRight(t,e,r,n,s,i,a)},dottedLeft:function(t,e,r,n,s,i){return e==r+1&&!this.innerWindow(e,s,i)&&!this.right(e,n)},dottedRight:function(t,e,r,n,s,i,a){return!t.items[a-1].values().dotted&&(e==n&&!this.innerWindow(e,s,i)&&!this.right(e,n))}};return function(e){var n=new i(t.listContainer.id,{listClass:e.paginationClass||"pagination",item:e.item||"",valueNames:["page","dotted"],searchClass:"pagination-search-that-is-not-supposed-to-exist",sortClass:"pagination-sort-that-is-not-supposed-to-exist"});s.bind(n.listContainer,"click",(function(e){var r=e.target||e.srcElement,n=t.utils.getAttribute(r,"data-page"),s=t.utils.getAttribute(r,"data-i");s&&t.show((s-1)*n+1,n)})),t.on("updated",(function(){r(n,e)})),r(n,e)}}},"./src/parse.js":function(t,e,r){t.exports=function(t){var e=r("./src/item.js")(t),n=function(r,n){for(var s=0,i=r.length;s0?setTimeout((function(){e(r,s)}),1):(t.update(),t.trigger("parseComplete"))};return t.handlers.parseComplete=t.handlers.parseComplete||[],function(){var e=function(t){for(var e=t.childNodes,r=[],n=0,s=e.length;n]/g.exec(t)){var e=document.createElement("tbody");return e.innerHTML=t,e.firstElementChild}if(-1!==t.indexOf("<")){var r=document.createElement("div");return r.innerHTML=t,r.firstElementChild}}},a=function(e,r,n){var s=void 0,i=function(e){for(var r=0,n=t.valueNames.length;r=1;)t.list.removeChild(t.list.firstChild)},function(){var r;if("function"!=typeof t.item){if(!(r="string"==typeof t.item?-1===t.item.indexOf("<")?document.getElementById(t.item):i(t.item):s()))throw new Error("The list needs to have at least one item on init otherwise you'll have to add a template.");r=n(r,t.valueNames),e=function(){return r.cloneNode(!0)}}else e=function(e){var r=t.item(e);return i(r)}}()};t.exports=function(t){return new e(t)}},"./src/utils/classes.js":function(t,e,r){var n=r("./src/utils/index-of.js"),s=/\s+/;Object.prototype.toString;function i(t){if(!t||!t.nodeType)throw new Error("A DOM element reference is required");this.el=t,this.list=t.classList}t.exports=function(t){return new i(t)},i.prototype.add=function(t){if(this.list)return this.list.add(t),this;var e=this.array();return~n(e,t)||e.push(t),this.el.className=e.join(" "),this},i.prototype.remove=function(t){if(this.list)return this.list.remove(t),this;var e=this.array(),r=n(e,t);return~r&&e.splice(r,1),this.el.className=e.join(" "),this},i.prototype.toggle=function(t,e){return this.list?(void 0!==e?e!==this.list.toggle(t,e)&&this.list.toggle(t):this.list.toggle(t),this):(void 0!==e?e?this.add(t):this.remove(t):this.has(t)?this.remove(t):this.add(t),this)},i.prototype.array=function(){var t=(this.el.getAttribute("class")||"").replace(/^\s+|\s+$/g,"").split(s);return""===t[0]&&t.shift(),t},i.prototype.has=i.prototype.contains=function(t){return this.list?this.list.contains(t):!!~n(this.array(),t)}},"./src/utils/events.js":function(t,e,r){var n=window.addEventListener?"addEventListener":"attachEvent",s=window.removeEventListener?"removeEventListener":"detachEvent",i="addEventListener"!==n?"on":"",a=r("./src/utils/to-array.js");e.bind=function(t,e,r,s){for(var o=0,l=(t=a(t)).length;o32)return!1;var a=n,o=function(){var t,r={};for(t=0;t=p;b--){var j=o[t.charAt(b-1)];if(C[b]=0===m?(C[b+1]<<1|1)&j:(C[b+1]<<1|1)&j|(v[b+1]|v[b])<<1|1|v[b+1],C[b]&d){var x=l(m,b-1);if(x<=u){if(u=x,!((c=b-1)>a))break;p=Math.max(1,2*a-c)}}}if(l(m+1,a)>u)break;v=C}return!(c<0)}},"./src/utils/get-attribute.js":function(t){t.exports=function(t,e){var r=t.getAttribute&&t.getAttribute(e)||null;if(!r)for(var n=t.attributes,s=n.length,i=0;i=48&&t<=57}function i(t,e){for(var i=(t+="").length,a=(e+="").length,o=0,l=0;o=i&&l=a?-1:l>=a&&o=i?1:i-a}i.caseInsensitive=i.i=function(t,e){return i((""+t).toLowerCase(),(""+e).toLowerCase())},Object.defineProperties(i,{alphabet:{get:function(){return e},set:function(t){r=[];var s=0;if(e=t)for(;s { + if (categoriesLoaded) { + activateCategory(category); + setCategoryHash(category); + } +}; + +window["quarto-listing-loaded"] = () => { + // Process any existing hash + const hash = getHash(); + + if (hash) { + // If there is a category, switch to that + if (hash.category) { + activateCategory(hash.category); + } + // Paginate a specific listing + const listingIds = Object.keys(window["quarto-listings"]); + for (const listingId of listingIds) { + const page = hash[getListingPageKey(listingId)]; + if (page) { + showPage(listingId, page); + } + } + } + + const listingIds = Object.keys(window["quarto-listings"]); + for (const listingId of listingIds) { + // The actual list + const list = window["quarto-listings"][listingId]; + + // Update the handlers for pagination events + refreshPaginationHandlers(listingId); + + // Render any visible items that need it + renderVisibleProgressiveImages(list); + + // Whenever the list is updated, we also need to + // attach handlers to the new pagination elements + // and refresh any newly visible items. + list.on("updated", function () { + renderVisibleProgressiveImages(list); + setTimeout(() => refreshPaginationHandlers(listingId)); + + // Show or hide the no matching message + toggleNoMatchingMessage(list); + }); + } +}; + +window.document.addEventListener("DOMContentLoaded", function (_event) { + // Attach click handlers to categories + const categoryEls = window.document.querySelectorAll( + ".quarto-listing-category .category" + ); + + for (const categoryEl of categoryEls) { + const category = categoryEl.getAttribute("data-category"); + categoryEl.onclick = () => { + activateCategory(category); + setCategoryHash(category); + }; + } + + // Attach a click handler to the category title + // (there should be only one, but since it is a class name, handle N) + const categoryTitleEls = window.document.querySelectorAll( + ".quarto-listing-category-title" + ); + for (const categoryTitleEl of categoryTitleEls) { + categoryTitleEl.onclick = () => { + activateCategory(""); + setCategoryHash(""); + }; + } + + categoriesLoaded = true; +}); + +function toggleNoMatchingMessage(list) { + const selector = `#${list.listContainer.id} .listing-no-matching`; + const noMatchingEl = window.document.querySelector(selector); + if (noMatchingEl) { + if (list.visibleItems.length === 0) { + noMatchingEl.classList.remove("d-none"); + } else { + if (!noMatchingEl.classList.contains("d-none")) { + noMatchingEl.classList.add("d-none"); + } + } + } +} + +function setCategoryHash(category) { + setHash({ category }); +} + +function setPageHash(listingId, page) { + const currentHash = getHash() || {}; + currentHash[getListingPageKey(listingId)] = page; + setHash(currentHash); +} + +function getListingPageKey(listingId) { + return `${listingId}-page`; +} + +function refreshPaginationHandlers(listingId) { + const listingEl = window.document.getElementById(listingId); + const paginationEls = listingEl.querySelectorAll( + ".pagination li.page-item:not(.disabled) .page.page-link" + ); + for (const paginationEl of paginationEls) { + paginationEl.onclick = (sender) => { + setPageHash(listingId, sender.target.getAttribute("data-i")); + showPage(listingId, sender.target.getAttribute("data-i")); + return false; + }; + } +} + +function renderVisibleProgressiveImages(list) { + // Run through the visible items and render any progressive images + for (const item of list.visibleItems) { + const itemEl = item.elm; + if (itemEl) { + const progressiveImgs = itemEl.querySelectorAll( + `img[${kProgressiveAttr}]` + ); + for (const progressiveImg of progressiveImgs) { + const srcValue = progressiveImg.getAttribute(kProgressiveAttr); + if (srcValue) { + progressiveImg.setAttribute("src", srcValue); + } + progressiveImg.removeAttribute(kProgressiveAttr); + } + } + } +} + +function getHash() { + // Hashes are of the form + // #name:value|name1:value1|name2:value2 + const currentUrl = new URL(window.location); + const hashRaw = currentUrl.hash ? currentUrl.hash.slice(1) : undefined; + return parseHash(hashRaw); +} + +const kAnd = "&"; +const kEquals = "="; + +function parseHash(hash) { + if (!hash) { + return undefined; + } + const hasValuesStrs = hash.split(kAnd); + const hashValues = hasValuesStrs + .map((hashValueStr) => { + const vals = hashValueStr.split(kEquals); + if (vals.length === 2) { + return { name: vals[0], value: vals[1] }; + } else { + return undefined; + } + }) + .filter((value) => { + return value !== undefined; + }); + + const hashObj = {}; + hashValues.forEach((hashValue) => { + hashObj[hashValue.name] = decodeURIComponent(hashValue.value); + }); + return hashObj; +} + +function makeHash(obj) { + return Object.keys(obj) + .map((key) => { + return `${key}${kEquals}${obj[key]}`; + }) + .join(kAnd); +} + +function setHash(obj) { + const hash = makeHash(obj); + window.history.pushState(null, null, `#${hash}`); +} + +function showPage(listingId, page) { + const list = window["quarto-listings"][listingId]; + if (list) { + list.show((page - 1) * list.page + 1, list.page); + } +} + +function activateCategory(category) { + // Deactivate existing categories + const activeEls = window.document.querySelectorAll( + ".quarto-listing-category .category.active" + ); + for (const activeEl of activeEls) { + activeEl.classList.remove("active"); + } + + // Activate this category + const categoryEl = window.document.querySelector( + `.quarto-listing-category .category[data-category='${category}'` + ); + if (categoryEl) { + categoryEl.classList.add("active"); + } + + // Filter the listings to this category + filterListingCategory(category); +} + +function filterListingCategory(category) { + const listingIds = Object.keys(window["quarto-listings"]); + for (const listingId of listingIds) { + const list = window["quarto-listings"][listingId]; + if (list) { + if (category === "") { + // resets the filter + list.filter(); + } else { + // filter to this category + list.filter(function (item) { + const itemValues = item.values(); + if (itemValues.categories !== null) { + const categories = itemValues.categories.split(","); + return categories.includes(category); + } else { + return false; + } + }); + } + } + } +} diff --git a/site_libs/quarto-nav/headroom.min.js b/site_libs/quarto-nav/headroom.min.js new file mode 100644 index 000000000..b08f1dffb --- /dev/null +++ b/site_libs/quarto-nav/headroom.min.js @@ -0,0 +1,7 @@ +/*! + * headroom.js v0.12.0 - Give your page some headroom. Hide your header until you need it + * Copyright (c) 2020 Nick Williams - http://wicky.nillia.ms/headroom.js + * License: MIT + */ + +!function(t,n){"object"==typeof exports&&"undefined"!=typeof module?module.exports=n():"function"==typeof define&&define.amd?define(n):(t=t||self).Headroom=n()}(this,function(){"use strict";function t(){return"undefined"!=typeof window}function d(t){return function(t){return t&&t.document&&function(t){return 9===t.nodeType}(t.document)}(t)?function(t){var n=t.document,o=n.body,s=n.documentElement;return{scrollHeight:function(){return Math.max(o.scrollHeight,s.scrollHeight,o.offsetHeight,s.offsetHeight,o.clientHeight,s.clientHeight)},height:function(){return t.innerHeight||s.clientHeight||o.clientHeight},scrollY:function(){return void 0!==t.pageYOffset?t.pageYOffset:(s||o.parentNode||o).scrollTop}}}(t):function(t){return{scrollHeight:function(){return Math.max(t.scrollHeight,t.offsetHeight,t.clientHeight)},height:function(){return Math.max(t.offsetHeight,t.clientHeight)},scrollY:function(){return t.scrollTop}}}(t)}function n(t,s,e){var n,o=function(){var n=!1;try{var t={get passive(){n=!0}};window.addEventListener("test",t,t),window.removeEventListener("test",t,t)}catch(t){n=!1}return n}(),i=!1,r=d(t),l=r.scrollY(),a={};function c(){var t=Math.round(r.scrollY()),n=r.height(),o=r.scrollHeight();a.scrollY=t,a.lastScrollY=l,a.direction=ls.tolerance[a.direction],e(a),l=t,i=!1}function h(){i||(i=!0,n=requestAnimationFrame(c))}var u=!!o&&{passive:!0,capture:!1};return t.addEventListener("scroll",h,u),c(),{destroy:function(){cancelAnimationFrame(n),t.removeEventListener("scroll",h,u)}}}function o(t){return t===Object(t)?t:{down:t,up:t}}function s(t,n){n=n||{},Object.assign(this,s.options,n),this.classes=Object.assign({},s.options.classes,n.classes),this.elem=t,this.tolerance=o(this.tolerance),this.offset=o(this.offset),this.initialised=!1,this.frozen=!1}return s.prototype={constructor:s,init:function(){return s.cutsTheMustard&&!this.initialised&&(this.addClass("initial"),this.initialised=!0,setTimeout(function(t){t.scrollTracker=n(t.scroller,{offset:t.offset,tolerance:t.tolerance},t.update.bind(t))},100,this)),this},destroy:function(){this.initialised=!1,Object.keys(this.classes).forEach(this.removeClass,this),this.scrollTracker.destroy()},unpin:function(){!this.hasClass("pinned")&&this.hasClass("unpinned")||(this.addClass("unpinned"),this.removeClass("pinned"),this.onUnpin&&this.onUnpin.call(this))},pin:function(){this.hasClass("unpinned")&&(this.addClass("pinned"),this.removeClass("unpinned"),this.onPin&&this.onPin.call(this))},freeze:function(){this.frozen=!0,this.addClass("frozen")},unfreeze:function(){this.frozen=!1,this.removeClass("frozen")},top:function(){this.hasClass("top")||(this.addClass("top"),this.removeClass("notTop"),this.onTop&&this.onTop.call(this))},notTop:function(){this.hasClass("notTop")||(this.addClass("notTop"),this.removeClass("top"),this.onNotTop&&this.onNotTop.call(this))},bottom:function(){this.hasClass("bottom")||(this.addClass("bottom"),this.removeClass("notBottom"),this.onBottom&&this.onBottom.call(this))},notBottom:function(){this.hasClass("notBottom")||(this.addClass("notBottom"),this.removeClass("bottom"),this.onNotBottom&&this.onNotBottom.call(this))},shouldUnpin:function(t){return"down"===t.direction&&!t.top&&t.toleranceExceeded},shouldPin:function(t){return"up"===t.direction&&t.toleranceExceeded||t.top},addClass:function(t){this.elem.classList.add.apply(this.elem.classList,this.classes[t].split(" "))},removeClass:function(t){this.elem.classList.remove.apply(this.elem.classList,this.classes[t].split(" "))},hasClass:function(t){return this.classes[t].split(" ").every(function(t){return this.classList.contains(t)},this.elem)},update:function(t){t.isOutOfBounds||!0!==this.frozen&&(t.top?this.top():this.notTop(),t.bottom?this.bottom():this.notBottom(),this.shouldUnpin(t)?this.unpin():this.shouldPin(t)&&this.pin())}},s.options={tolerance:{up:0,down:0},offset:0,scroller:t()?window:null,classes:{frozen:"headroom--frozen",pinned:"headroom--pinned",unpinned:"headroom--unpinned",top:"headroom--top",notTop:"headroom--not-top",bottom:"headroom--bottom",notBottom:"headroom--not-bottom",initial:"headroom"}},s.cutsTheMustard=!!(t()&&function(){}.bind&&"classList"in document.documentElement&&Object.assign&&Object.keys&&requestAnimationFrame),s}); diff --git a/site_libs/quarto-nav/quarto-nav.js b/site_libs/quarto-nav/quarto-nav.js new file mode 100644 index 000000000..38cc43057 --- /dev/null +++ b/site_libs/quarto-nav/quarto-nav.js @@ -0,0 +1,325 @@ +const headroomChanged = new CustomEvent("quarto-hrChanged", { + detail: {}, + bubbles: true, + cancelable: false, + composed: false, +}); + +const announceDismiss = () => { + const annEl = window.document.getElementById("quarto-announcement"); + if (annEl) { + annEl.remove(); + + const annId = annEl.getAttribute("data-announcement-id"); + window.localStorage.setItem(`quarto-announce-${annId}`, "true"); + } +}; + +const announceRegister = () => { + const annEl = window.document.getElementById("quarto-announcement"); + if (annEl) { + const annId = annEl.getAttribute("data-announcement-id"); + const isDismissed = + window.localStorage.getItem(`quarto-announce-${annId}`) || false; + if (isDismissed) { + announceDismiss(); + return; + } else { + annEl.classList.remove("hidden"); + } + + const actionEl = annEl.querySelector(".quarto-announcement-action"); + if (actionEl) { + actionEl.addEventListener("click", function (e) { + e.preventDefault(); + // Hide the bar immediately + announceDismiss(); + }); + } + } +}; + +window.document.addEventListener("DOMContentLoaded", function () { + let init = false; + + announceRegister(); + + // Manage the back to top button, if one is present. + let lastScrollTop = window.pageYOffset || document.documentElement.scrollTop; + const scrollDownBuffer = 5; + const scrollUpBuffer = 35; + const btn = document.getElementById("quarto-back-to-top"); + const hideBackToTop = () => { + btn.style.display = "none"; + }; + const showBackToTop = () => { + btn.style.display = "inline-block"; + }; + if (btn) { + window.document.addEventListener( + "scroll", + function () { + const currentScrollTop = + window.pageYOffset || document.documentElement.scrollTop; + + // Shows and hides the button 'intelligently' as the user scrolls + if (currentScrollTop - scrollDownBuffer > lastScrollTop) { + hideBackToTop(); + lastScrollTop = currentScrollTop <= 0 ? 0 : currentScrollTop; + } else if (currentScrollTop < lastScrollTop - scrollUpBuffer) { + showBackToTop(); + lastScrollTop = currentScrollTop <= 0 ? 0 : currentScrollTop; + } + + // Show the button at the bottom, hides it at the top + if (currentScrollTop <= 0) { + hideBackToTop(); + } else if ( + window.innerHeight + currentScrollTop >= + document.body.offsetHeight + ) { + showBackToTop(); + } + }, + false + ); + } + + function throttle(func, wait) { + var timeout; + return function () { + const context = this; + const args = arguments; + const later = function () { + clearTimeout(timeout); + timeout = null; + func.apply(context, args); + }; + + if (!timeout) { + timeout = setTimeout(later, wait); + } + }; + } + + function headerOffset() { + // Set an offset if there is are fixed top navbar + const headerEl = window.document.querySelector("header.fixed-top"); + if (headerEl) { + return headerEl.clientHeight; + } else { + return 0; + } + } + + function footerOffset() { + const footerEl = window.document.querySelector("footer.footer"); + if (footerEl) { + return footerEl.clientHeight; + } else { + return 0; + } + } + + function dashboardOffset() { + const dashboardNavEl = window.document.getElementById( + "quarto-dashboard-header" + ); + if (dashboardNavEl !== null) { + return dashboardNavEl.clientHeight; + } else { + return 0; + } + } + + function updateDocumentOffsetWithoutAnimation() { + updateDocumentOffset(false); + } + + function updateDocumentOffset(animated) { + // set body offset + const topOffset = headerOffset(); + const bodyOffset = topOffset + footerOffset() + dashboardOffset(); + const bodyEl = window.document.body; + bodyEl.setAttribute("data-bs-offset", topOffset); + bodyEl.style.paddingTop = topOffset + "px"; + + // deal with sidebar offsets + const sidebars = window.document.querySelectorAll( + ".sidebar, .headroom-target" + ); + sidebars.forEach((sidebar) => { + if (!animated) { + sidebar.classList.add("notransition"); + // Remove the no transition class after the animation has time to complete + setTimeout(function () { + sidebar.classList.remove("notransition"); + }, 201); + } + + if (window.Headroom && sidebar.classList.contains("sidebar-unpinned")) { + sidebar.style.top = "0"; + sidebar.style.maxHeight = "100vh"; + } else { + sidebar.style.top = topOffset + "px"; + sidebar.style.maxHeight = "calc(100vh - " + topOffset + "px)"; + } + }); + + // allow space for footer + const mainContainer = window.document.querySelector(".quarto-container"); + if (mainContainer) { + mainContainer.style.minHeight = "calc(100vh - " + bodyOffset + "px)"; + } + + // link offset + let linkStyle = window.document.querySelector("#quarto-target-style"); + if (!linkStyle) { + linkStyle = window.document.createElement("style"); + linkStyle.setAttribute("id", "quarto-target-style"); + window.document.head.appendChild(linkStyle); + } + while (linkStyle.firstChild) { + linkStyle.removeChild(linkStyle.firstChild); + } + if (topOffset > 0) { + linkStyle.appendChild( + window.document.createTextNode(` + section:target::before { + content: ""; + display: block; + height: ${topOffset}px; + margin: -${topOffset}px 0 0; + }`) + ); + } + if (init) { + window.dispatchEvent(headroomChanged); + } + init = true; + } + + // initialize headroom + var header = window.document.querySelector("#quarto-header"); + if (header && window.Headroom) { + const headroom = new window.Headroom(header, { + tolerance: 5, + onPin: function () { + const sidebars = window.document.querySelectorAll( + ".sidebar, .headroom-target" + ); + sidebars.forEach((sidebar) => { + sidebar.classList.remove("sidebar-unpinned"); + }); + updateDocumentOffset(); + }, + onUnpin: function () { + const sidebars = window.document.querySelectorAll( + ".sidebar, .headroom-target" + ); + sidebars.forEach((sidebar) => { + sidebar.classList.add("sidebar-unpinned"); + }); + updateDocumentOffset(); + }, + }); + headroom.init(); + + let frozen = false; + window.quartoToggleHeadroom = function () { + if (frozen) { + headroom.unfreeze(); + frozen = false; + } else { + headroom.freeze(); + frozen = true; + } + }; + } + + window.addEventListener( + "hashchange", + function (e) { + if ( + getComputedStyle(document.documentElement).scrollBehavior !== "smooth" + ) { + window.scrollTo(0, window.pageYOffset - headerOffset()); + } + }, + false + ); + + // Observe size changed for the header + const headerEl = window.document.querySelector("header.fixed-top"); + if (headerEl && window.ResizeObserver) { + const observer = new window.ResizeObserver(() => { + setTimeout(updateDocumentOffsetWithoutAnimation, 0); + }); + observer.observe(headerEl, { + attributes: true, + childList: true, + characterData: true, + }); + } else { + window.addEventListener( + "resize", + throttle(updateDocumentOffsetWithoutAnimation, 50) + ); + } + setTimeout(updateDocumentOffsetWithoutAnimation, 250); + + // fixup index.html links if we aren't on the filesystem + if (window.location.protocol !== "file:") { + const links = window.document.querySelectorAll("a"); + for (let i = 0; i < links.length; i++) { + if (links[i].href) { + links[i].dataset.originalHref = links[i].href; + links[i].href = links[i].href.replace(/\/index\.html/, "/"); + } + } + + // Fixup any sharing links that require urls + // Append url to any sharing urls + const sharingLinks = window.document.querySelectorAll( + "a.sidebar-tools-main-item, a.quarto-navigation-tool, a.quarto-navbar-tools, a.quarto-navbar-tools-item" + ); + for (let i = 0; i < sharingLinks.length; i++) { + const sharingLink = sharingLinks[i]; + const href = sharingLink.getAttribute("href"); + if (href) { + sharingLink.setAttribute( + "href", + href.replace("|url|", window.location.href) + ); + } + } + + // Scroll the active navigation item into view, if necessary + const navSidebar = window.document.querySelector("nav#quarto-sidebar"); + if (navSidebar) { + // Find the active item + const activeItem = navSidebar.querySelector("li.sidebar-item a.active"); + if (activeItem) { + // Wait for the scroll height and height to resolve by observing size changes on the + // nav element that is scrollable + const resizeObserver = new ResizeObserver((_entries) => { + // The bottom of the element + const elBottom = activeItem.offsetTop; + const viewBottom = navSidebar.scrollTop + navSidebar.clientHeight; + + // The element height and scroll height are the same, then we are still loading + if (viewBottom !== navSidebar.scrollHeight) { + // Determine if the item isn't visible and scroll to it + if (elBottom >= viewBottom) { + navSidebar.scrollTop = elBottom; + } + + // stop observing now since we've completed the scroll + resizeObserver.unobserve(navSidebar); + } + }); + resizeObserver.observe(navSidebar); + } + } + } +}); diff --git a/site_libs/quarto-search/autocomplete.umd.js b/site_libs/quarto-search/autocomplete.umd.js new file mode 100644 index 000000000..ae0063aa9 --- /dev/null +++ b/site_libs/quarto-search/autocomplete.umd.js @@ -0,0 +1,3 @@ +/*! @algolia/autocomplete-js 1.11.1 | MIT License | © Algolia, Inc. and contributors | https://github.com/algolia/autocomplete */ +!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self)["@algolia/autocomplete-js"]={})}(this,(function(e){"use strict";function t(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function n(e){for(var n=1;n=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function a(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,i,u,a=[],l=!0,c=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;l=!1}else for(;!(l=(r=i.call(n)).done)&&(a.push(r.value),a.length!==t);l=!0);}catch(e){c=!0,o=e}finally{try{if(!l&&null!=n.return&&(u=n.return(),Object(u)!==u))return}finally{if(c)throw o}}return a}}(e,t)||c(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function l(e){return function(e){if(Array.isArray(e))return s(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||c(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function c(e,t){if(e){if("string"==typeof e)return s(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?s(e,t):void 0}}function s(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);ne.length)&&(t=e.length);for(var n=0,r=new Array(t);ne.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function x(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function N(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:20,n=[],r=0;r=3||2===n&&r>=4||1===n&&r>=10);function i(t,n,r){if(o&&void 0!==r){var i=r[0].__autocomplete_algoliaCredentials,u={"X-Algolia-Application-Id":i.appId,"X-Algolia-API-Key":i.apiKey};e.apply(void 0,[t].concat(D(n),[{headers:u}]))}else e.apply(void 0,[t].concat(D(n)))}return{init:function(t,n){e("init",{appId:t,apiKey:n})},setUserToken:function(t){e("setUserToken",t)},clickedObjectIDsAfterSearch:function(){for(var e=arguments.length,t=new Array(e),n=0;n0&&i("clickedObjectIDsAfterSearch",B(t),t[0].items)},clickedObjectIDs:function(){for(var e=arguments.length,t=new Array(e),n=0;n0&&i("clickedObjectIDs",B(t),t[0].items)},clickedFilters:function(){for(var t=arguments.length,n=new Array(t),r=0;r0&&e.apply(void 0,["clickedFilters"].concat(n))},convertedObjectIDsAfterSearch:function(){for(var e=arguments.length,t=new Array(e),n=0;n0&&i("convertedObjectIDsAfterSearch",B(t),t[0].items)},convertedObjectIDs:function(){for(var e=arguments.length,t=new Array(e),n=0;n0&&i("convertedObjectIDs",B(t),t[0].items)},convertedFilters:function(){for(var t=arguments.length,n=new Array(t),r=0;r0&&e.apply(void 0,["convertedFilters"].concat(n))},viewedObjectIDs:function(){for(var e=arguments.length,t=new Array(e),n=0;n0&&t.reduce((function(e,t){var n=t.items,r=k(t,A);return[].concat(D(e),D(q(N(N({},r),{},{objectIDs:(null==n?void 0:n.map((function(e){return e.objectID})))||r.objectIDs})).map((function(e){return{items:n,payload:e}}))))}),[]).forEach((function(e){var t=e.items;return i("viewedObjectIDs",[e.payload],t)}))},viewedFilters:function(){for(var t=arguments.length,n=new Array(t),r=0;r0&&e.apply(void 0,["viewedFilters"].concat(n))}}}function F(e){var t=e.items.reduce((function(e,t){var n;return e[t.__autocomplete_indexName]=(null!==(n=e[t.__autocomplete_indexName])&&void 0!==n?n:[]).concat(t),e}),{});return Object.keys(t).map((function(e){return{index:e,items:t[e],algoliaSource:["autocomplete"]}}))}function L(e){return e.objectID&&e.__autocomplete_indexName&&e.__autocomplete_queryID}function U(e){return U="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},U(e)}function M(e){return function(e){if(Array.isArray(e))return H(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return H(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return H(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function H(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n0&&z({onItemsChange:r,items:n,insights:a,state:t}))}}),0);return{name:"aa.algoliaInsightsPlugin",subscribe:function(e){var t=e.setContext,n=e.onSelect,r=e.onActive;function l(e){t({algoliaInsightsPlugin:{__algoliaSearchParameters:W({clickAnalytics:!0},e?{userToken:e}:{}),insights:a}})}u("addAlgoliaAgent","insights-plugin"),l(),u("onUserTokenChange",l),u("getUserToken",null,(function(e,t){l(t)})),n((function(e){var t=e.item,n=e.state,r=e.event,i=e.source;L(t)&&o({state:n,event:r,insights:a,item:t,insightsEvents:[W({eventName:"Item Selected"},j({item:t,items:i.getItems().filter(L)}))]})})),r((function(e){var t=e.item,n=e.source,r=e.state,o=e.event;L(t)&&i({state:r,event:o,insights:a,item:t,insightsEvents:[W({eventName:"Item Active"},j({item:t,items:n.getItems().filter(L)}))]})}))},onStateChange:function(e){var t=e.state;c({state:t})},__autocomplete_pluginOptions:e}}function J(e,t){var n=t;return{then:function(t,r){return J(e.then(Y(t,n,e),Y(r,n,e)),n)},catch:function(t){return J(e.catch(Y(t,n,e)),n)},finally:function(t){return t&&n.onCancelList.push(t),J(e.finally(Y(t&&function(){return n.onCancelList=[],t()},n,e)),n)},cancel:function(){n.isCanceled=!0;var e=n.onCancelList;n.onCancelList=[],e.forEach((function(e){e()}))},isCanceled:function(){return!0===n.isCanceled}}}function X(e){return J(e,{isCanceled:!1,onCancelList:[]})}function Y(e,t,n){return e?function(n){return t.isCanceled?n:e(n)}:n}function Z(e,t,n,r){if(!n)return null;if(e<0&&(null===t||null!==r&&0===t))return n+e;var o=(null===t?-1:t)+e;return o<=-1||o>=n?null===r?null:0:o}function ee(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function te(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=new Array(t);n0},reshape:function(e){return e.sources}},e),{},{id:null!==(n=e.id)&&void 0!==n?n:d(),plugins:o,initialState:he({activeItemId:null,query:"",completion:null,collections:[],isOpen:!1,status:"idle",context:{}},e.initialState),onStateChange:function(t){var n;null===(n=e.onStateChange)||void 0===n||n.call(e,t),o.forEach((function(e){var n;return null===(n=e.onStateChange)||void 0===n?void 0:n.call(e,t)}))},onSubmit:function(t){var n;null===(n=e.onSubmit)||void 0===n||n.call(e,t),o.forEach((function(e){var n;return null===(n=e.onSubmit)||void 0===n?void 0:n.call(e,t)}))},onReset:function(t){var n;null===(n=e.onReset)||void 0===n||n.call(e,t),o.forEach((function(e){var n;return null===(n=e.onReset)||void 0===n?void 0:n.call(e,t)}))},getSources:function(n){return Promise.all([].concat(ye(o.map((function(e){return e.getSources}))),[e.getSources]).filter(Boolean).map((function(e){return function(e,t){var n=[];return Promise.resolve(e(t)).then((function(e){return Promise.all(e.filter((function(e){return Boolean(e)})).map((function(e){if(e.sourceId,n.includes(e.sourceId))throw new Error("[Autocomplete] The `sourceId` ".concat(JSON.stringify(e.sourceId)," is not unique."));n.push(e.sourceId);var t={getItemInputValue:function(e){return e.state.query},getItemUrl:function(){},onSelect:function(e){(0,e.setIsOpen)(!1)},onActive:O,onResolve:O};Object.keys(t).forEach((function(e){t[e].__default=!0}));var r=te(te({},t),e);return Promise.resolve(r)})))}))}(e,n)}))).then((function(e){return m(e)})).then((function(e){return e.map((function(e){return he(he({},e),{},{onSelect:function(n){e.onSelect(n),t.forEach((function(e){var t;return null===(t=e.onSelect)||void 0===t?void 0:t.call(e,n)}))},onActive:function(n){e.onActive(n),t.forEach((function(e){var t;return null===(t=e.onActive)||void 0===t?void 0:t.call(e,n)}))},onResolve:function(n){e.onResolve(n),t.forEach((function(e){var t;return null===(t=e.onResolve)||void 0===t?void 0:t.call(e,n)}))}})}))}))},navigator:he({navigate:function(e){var t=e.itemUrl;r.location.assign(t)},navigateNewTab:function(e){var t=e.itemUrl,n=r.open(t,"_blank","noopener");null==n||n.focus()},navigateNewWindow:function(e){var t=e.itemUrl;r.open(t,"_blank","noopener")}},e.navigator)})}function Se(e){return Se="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Se(e)}function je(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Pe(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var He,Ve,We,Ke=null,Qe=(He=-1,Ve=-1,We=void 0,function(e){var t=++He;return Promise.resolve(e).then((function(e){return We&&t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function et(e){return et="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},et(e)}var tt=["props","refresh","store"],nt=["inputElement","formElement","panelElement"],rt=["inputElement"],ot=["inputElement","maxLength"],it=["source"],ut=["item","source"];function at(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function lt(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function ft(e){var t=e.props,n=e.refresh,r=e.store,o=st(e,tt);return{getEnvironmentProps:function(e){var n=e.inputElement,o=e.formElement,i=e.panelElement;function u(e){!r.getState().isOpen&&r.pendingRequests.isEmpty()||e.target===n||!1===[o,i].some((function(t){return n=t,r=e.target,n===r||n.contains(r);var n,r}))&&(r.dispatch("blur",null),t.debug||r.pendingRequests.cancelAll())}return lt({onTouchStart:u,onMouseDown:u,onTouchMove:function(e){!1!==r.getState().isOpen&&n===t.environment.document.activeElement&&e.target!==n&&n.blur()}},st(e,nt))},getRootProps:function(e){return lt({role:"combobox","aria-expanded":r.getState().isOpen,"aria-haspopup":"listbox","aria-owns":r.getState().isOpen?r.getState().collections.map((function(e){var n=e.source;return ie(t.id,"list",n)})).join(" "):void 0,"aria-labelledby":ie(t.id,"label")},e)},getFormProps:function(e){return e.inputElement,lt({action:"",noValidate:!0,role:"search",onSubmit:function(i){var u;i.preventDefault(),t.onSubmit(lt({event:i,refresh:n,state:r.getState()},o)),r.dispatch("submit",null),null===(u=e.inputElement)||void 0===u||u.blur()},onReset:function(i){var u;i.preventDefault(),t.onReset(lt({event:i,refresh:n,state:r.getState()},o)),r.dispatch("reset",null),null===(u=e.inputElement)||void 0===u||u.focus()}},st(e,rt))},getLabelProps:function(e){return lt({htmlFor:ie(t.id,"input"),id:ie(t.id,"label")},e)},getInputProps:function(e){var i;function u(e){(t.openOnFocus||Boolean(r.getState().query))&&$e(lt({event:e,props:t,query:r.getState().completion||r.getState().query,refresh:n,store:r},o)),r.dispatch("focus",null)}var a=e||{};a.inputElement;var l=a.maxLength,c=void 0===l?512:l,s=st(a,ot),f=oe(r.getState()),p=function(e){return Boolean(e&&e.match(ue))}((null===(i=t.environment.navigator)||void 0===i?void 0:i.userAgent)||""),m=t.enterKeyHint||(null!=f&&f.itemUrl&&!p?"go":"search");return lt({"aria-autocomplete":"both","aria-activedescendant":r.getState().isOpen&&null!==r.getState().activeItemId?ie(t.id,"item-".concat(r.getState().activeItemId),null==f?void 0:f.source):void 0,"aria-controls":r.getState().isOpen?r.getState().collections.map((function(e){var n=e.source;return ie(t.id,"list",n)})).join(" "):void 0,"aria-labelledby":ie(t.id,"label"),value:r.getState().completion||r.getState().query,id:ie(t.id,"input"),autoComplete:"off",autoCorrect:"off",autoCapitalize:"off",enterKeyHint:m,spellCheck:"false",autoFocus:t.autoFocus,placeholder:t.placeholder,maxLength:c,type:"search",onChange:function(e){$e(lt({event:e,props:t,query:e.currentTarget.value.slice(0,c),refresh:n,store:r},o))},onKeyDown:function(e){!function(e){var t=e.event,n=e.props,r=e.refresh,o=e.store,i=Ze(e,Ge);if("ArrowUp"===t.key||"ArrowDown"===t.key){var u=function(){var e=oe(o.getState()),t=n.environment.document.getElementById(ie(n.id,"item-".concat(o.getState().activeItemId),null==e?void 0:e.source));t&&(t.scrollIntoViewIfNeeded?t.scrollIntoViewIfNeeded(!1):t.scrollIntoView(!1))},a=function(){var e=oe(o.getState());if(null!==o.getState().activeItemId&&e){var n=e.item,u=e.itemInputValue,a=e.itemUrl,l=e.source;l.onActive(Xe({event:t,item:n,itemInputValue:u,itemUrl:a,refresh:r,source:l,state:o.getState()},i))}};t.preventDefault(),!1===o.getState().isOpen&&(n.openOnFocus||Boolean(o.getState().query))?$e(Xe({event:t,props:n,query:o.getState().query,refresh:r,store:o},i)).then((function(){o.dispatch(t.key,{nextActiveItemId:n.defaultActiveItemId}),a(),setTimeout(u,0)})):(o.dispatch(t.key,{}),a(),u())}else if("Escape"===t.key)t.preventDefault(),o.dispatch(t.key,null),o.pendingRequests.cancelAll();else if("Tab"===t.key)o.dispatch("blur",null),o.pendingRequests.cancelAll();else if("Enter"===t.key){if(null===o.getState().activeItemId||o.getState().collections.every((function(e){return 0===e.items.length})))return void(n.debug||o.pendingRequests.cancelAll());t.preventDefault();var l=oe(o.getState()),c=l.item,s=l.itemInputValue,f=l.itemUrl,p=l.source;if(t.metaKey||t.ctrlKey)void 0!==f&&(p.onSelect(Xe({event:t,item:c,itemInputValue:s,itemUrl:f,refresh:r,source:p,state:o.getState()},i)),n.navigator.navigateNewTab({itemUrl:f,item:c,state:o.getState()}));else if(t.shiftKey)void 0!==f&&(p.onSelect(Xe({event:t,item:c,itemInputValue:s,itemUrl:f,refresh:r,source:p,state:o.getState()},i)),n.navigator.navigateNewWindow({itemUrl:f,item:c,state:o.getState()}));else if(t.altKey);else{if(void 0!==f)return p.onSelect(Xe({event:t,item:c,itemInputValue:s,itemUrl:f,refresh:r,source:p,state:o.getState()},i)),void n.navigator.navigate({itemUrl:f,item:c,state:o.getState()});$e(Xe({event:t,nextState:{isOpen:!1},props:n,query:s,refresh:r,store:o},i)).then((function(){p.onSelect(Xe({event:t,item:c,itemInputValue:s,itemUrl:f,refresh:r,source:p,state:o.getState()},i))}))}}}(lt({event:e,props:t,refresh:n,store:r},o))},onFocus:u,onBlur:O,onClick:function(n){e.inputElement!==t.environment.document.activeElement||r.getState().isOpen||u(n)}},s)},getPanelProps:function(e){return lt({onMouseDown:function(e){e.preventDefault()},onMouseLeave:function(){r.dispatch("mouseleave",null)}},e)},getListProps:function(e){var n=e||{},r=n.source,o=st(n,it);return lt({role:"listbox","aria-labelledby":ie(t.id,"label"),id:ie(t.id,"list",r)},o)},getItemProps:function(e){var i=e.item,u=e.source,a=st(e,ut);return lt({id:ie(t.id,"item-".concat(i.__autocomplete_id),u),role:"option","aria-selected":r.getState().activeItemId===i.__autocomplete_id,onMouseMove:function(e){if(i.__autocomplete_id!==r.getState().activeItemId){r.dispatch("mousemove",i.__autocomplete_id);var t=oe(r.getState());if(null!==r.getState().activeItemId&&t){var u=t.item,a=t.itemInputValue,l=t.itemUrl,c=t.source;c.onActive(lt({event:e,item:u,itemInputValue:a,itemUrl:l,refresh:n,source:c,state:r.getState()},o))}}},onMouseDown:function(e){e.preventDefault()},onClick:function(e){var a=u.getItemInputValue({item:i,state:r.getState()}),l=u.getItemUrl({item:i,state:r.getState()});(l?Promise.resolve():$e(lt({event:e,nextState:{isOpen:!1},props:t,query:a,refresh:n,store:r},o))).then((function(){u.onSelect(lt({event:e,item:i,itemInputValue:a,itemUrl:l,refresh:n,source:u,state:r.getState()},o))}))}},a)}}}function pt(e){return pt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},pt(e)}function mt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function vt(e){for(var t=1;t=5&&((o||!e&&5===r)&&(u.push(r,0,o,n),r=6),e&&(u.push(r,e,0,n),r=6)),o=""},l=0;l"===t?(r=1,o=""):o=t+o[0]:i?t===i?i="":o+=t:'"'===t||"'"===t?i=t:">"===t?(a(),r=1):r&&("="===t?(r=5,n=o,o=""):"/"===t&&(r<5||">"===e[l][c+1])?(a(),3===r&&(u=u[0]),r=u,(u=u[0]).push(2,0,r),r=0):" "===t||"\t"===t||"\n"===t||"\r"===t?(a(),r=2):o+=t),3===r&&"!--"===o&&(r=4,u=u[0])}return a(),u}(e)),t),arguments,[])).length>1?t:t[0]}var kt=function(e){var t=e.environment,n=t.document.createElementNS("http://www.w3.org/2000/svg","svg");n.setAttribute("class","aa-ClearIcon"),n.setAttribute("viewBox","0 0 24 24"),n.setAttribute("width","18"),n.setAttribute("height","18"),n.setAttribute("fill","currentColor");var r=t.document.createElementNS("http://www.w3.org/2000/svg","path");return r.setAttribute("d","M5.293 6.707l5.293 5.293-5.293 5.293c-0.391 0.391-0.391 1.024 0 1.414s1.024 0.391 1.414 0l5.293-5.293 5.293 5.293c0.391 0.391 1.024 0.391 1.414 0s0.391-1.024 0-1.414l-5.293-5.293 5.293-5.293c0.391-0.391 0.391-1.024 0-1.414s-1.024-0.391-1.414 0l-5.293 5.293-5.293-5.293c-0.391-0.391-1.024-0.391-1.414 0s-0.391 1.024 0 1.414z"),n.appendChild(r),n};function xt(e,t){if("string"==typeof t){var n=e.document.querySelector(t);return"The element ".concat(JSON.stringify(t)," is not in the document."),n}return t}function Nt(){for(var e=arguments.length,t=new Array(e),n=0;n2&&(u.children=arguments.length>3?Jt.call(arguments,2):n),"function"==typeof e&&null!=e.defaultProps)for(i in e.defaultProps)void 0===u[i]&&(u[i]=e.defaultProps[i]);return sn(e,u,r,o,null)}function sn(e,t,n,r,o){var i={type:e,props:t,key:n,ref:r,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,__h:null,constructor:void 0,__v:null==o?++Yt:o};return null==o&&null!=Xt.vnode&&Xt.vnode(i),i}function fn(e){return e.children}function pn(e,t){this.props=e,this.context=t}function mn(e,t){if(null==t)return e.__?mn(e.__,e.__.__k.indexOf(e)+1):null;for(var n;tt&&Zt.sort(nn));yn.__r=0}function bn(e,t,n,r,o,i,u,a,l,c){var s,f,p,m,v,d,y,b=r&&r.__k||on,g=b.length;for(n.__k=[],s=0;s0?sn(m.type,m.props,m.key,m.ref?m.ref:null,m.__v):m)){if(m.__=n,m.__b=n.__b+1,null===(p=b[s])||p&&m.key==p.key&&m.type===p.type)b[s]=void 0;else for(f=0;f=0;t--)if((n=e.__k[t])&&(r=On(n)))return r;return null}function _n(e,t,n){"-"===t[0]?e.setProperty(t,null==n?"":n):e[t]=null==n?"":"number"!=typeof n||un.test(t)?n:n+"px"}function Sn(e,t,n,r,o){var i;e:if("style"===t)if("string"==typeof n)e.style.cssText=n;else{if("string"==typeof r&&(e.style.cssText=r=""),r)for(t in r)n&&t in n||_n(e.style,t,"");if(n)for(t in n)r&&n[t]===r[t]||_n(e.style,t,n[t])}else if("o"===t[0]&&"n"===t[1])i=t!==(t=t.replace(/Capture$/,"")),t=t.toLowerCase()in e?t.toLowerCase().slice(2):t.slice(2),e.l||(e.l={}),e.l[t+i]=n,n?r||e.addEventListener(t,i?Pn:jn,i):e.removeEventListener(t,i?Pn:jn,i);else if("dangerouslySetInnerHTML"!==t){if(o)t=t.replace(/xlink(H|:h)/,"h").replace(/sName$/,"s");else if("width"!==t&&"height"!==t&&"href"!==t&&"list"!==t&&"form"!==t&&"tabIndex"!==t&&"download"!==t&&t in e)try{e[t]=null==n?"":n;break e}catch(e){}"function"==typeof n||(null==n||!1===n&&"-"!==t[4]?e.removeAttribute(t):e.setAttribute(t,n))}}function jn(e){return this.l[e.type+!1](Xt.event?Xt.event(e):e)}function Pn(e){return this.l[e.type+!0](Xt.event?Xt.event(e):e)}function wn(e,t,n,r,o,i,u,a,l){var c,s,f,p,m,v,d,y,b,g,h,O,_,S,j,P=t.type;if(void 0!==t.constructor)return null;null!=n.__h&&(l=n.__h,a=t.__e=n.__e,t.__h=null,i=[a]),(c=Xt.__b)&&c(t);try{e:if("function"==typeof P){if(y=t.props,b=(c=P.contextType)&&r[c.__c],g=c?b?b.props.value:c.__:r,n.__c?d=(s=t.__c=n.__c).__=s.__E:("prototype"in P&&P.prototype.render?t.__c=s=new P(y,g):(t.__c=s=new pn(y,g),s.constructor=P,s.render=Cn),b&&b.sub(s),s.props=y,s.state||(s.state={}),s.context=g,s.__n=r,f=s.__d=!0,s.__h=[],s._sb=[]),null==s.__s&&(s.__s=s.state),null!=P.getDerivedStateFromProps&&(s.__s==s.state&&(s.__s=an({},s.__s)),an(s.__s,P.getDerivedStateFromProps(y,s.__s))),p=s.props,m=s.state,s.__v=t,f)null==P.getDerivedStateFromProps&&null!=s.componentWillMount&&s.componentWillMount(),null!=s.componentDidMount&&s.__h.push(s.componentDidMount);else{if(null==P.getDerivedStateFromProps&&y!==p&&null!=s.componentWillReceiveProps&&s.componentWillReceiveProps(y,g),!s.__e&&null!=s.shouldComponentUpdate&&!1===s.shouldComponentUpdate(y,s.__s,g)||t.__v===n.__v){for(t.__v!==n.__v&&(s.props=y,s.state=s.__s,s.__d=!1),s.__e=!1,t.__e=n.__e,t.__k=n.__k,t.__k.forEach((function(e){e&&(e.__=t)})),h=0;h0&&void 0!==arguments[0]?arguments[0]:[];return{get:function(){return e},add:function(t){var n=e[e.length-1];(null==n?void 0:n.isHighlighted)===t.isHighlighted?e[e.length-1]={value:n.value+t.value,isHighlighted:n.isHighlighted}:e.push(t)}}}(n?[{value:n,isHighlighted:!1}]:[]);return t.forEach((function(e){var t=e.split(xn);r.add({value:t[0],isHighlighted:!0}),""!==t[1]&&r.add({value:t[1],isHighlighted:!1})})),r.get()}function Tn(e){return function(e){if(Array.isArray(e))return qn(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return qn(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return qn(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function qn(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n",""":'"',"'":"'"},Fn=new RegExp(/\w/i),Ln=/&(amp|quot|lt|gt|#39);/g,Un=RegExp(Ln.source);function Mn(e,t){var n,r,o,i=e[t],u=(null===(n=e[t+1])||void 0===n?void 0:n.isHighlighted)||!0,a=(null===(r=e[t-1])||void 0===r?void 0:r.isHighlighted)||!0;return Fn.test((o=i.value)&&Un.test(o)?o.replace(Ln,(function(e){return Rn[e]})):o)||a!==u?i.isHighlighted:a}function Hn(e){return Hn="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Hn(e)}function Vn(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Wn(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function ur(e){return function(e){if(Array.isArray(e))return ar(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return ar(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return ar(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function ar(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n0;if(!O.value.core.openOnFocus&&!t.query)return n;var r=Boolean(y.current||O.value.renderer.renderNoResults);return!n&&r||n},__autocomplete_metadata:{userAgents:br,options:e}}))})),j=f(n({collections:[],completion:null,context:{},isOpen:!1,query:"",activeItemId:null,status:"idle"},O.value.core.initialState)),P={getEnvironmentProps:O.value.renderer.getEnvironmentProps,getFormProps:O.value.renderer.getFormProps,getInputProps:O.value.renderer.getInputProps,getItemProps:O.value.renderer.getItemProps,getLabelProps:O.value.renderer.getLabelProps,getListProps:O.value.renderer.getListProps,getPanelProps:O.value.renderer.getPanelProps,getRootProps:O.value.renderer.getRootProps},w={setActiveItemId:S.value.setActiveItemId,setQuery:S.value.setQuery,setCollections:S.value.setCollections,setIsOpen:S.value.setIsOpen,setStatus:S.value.setStatus,setContext:S.value.setContext,refresh:S.value.refresh,navigator:S.value.navigator},I=m((function(){return Ct.bind(O.value.renderer.renderer.createElement)})),A=m((function(){return Gt({autocomplete:S.value,autocompleteScopeApi:w,classNames:O.value.renderer.classNames,environment:O.value.core.environment,isDetached:_.value,placeholder:O.value.core.placeholder,propGetters:P,setIsModalOpen:k,state:j.current,translations:O.value.renderer.translations})}));function E(){Ht(A.value.panel,{style:_.value?{}:yr({panelPlacement:O.value.renderer.panelPlacement,container:A.value.root,form:A.value.form,environment:O.value.core.environment})})}function D(e){j.current=e;var t={autocomplete:S.value,autocompleteScopeApi:w,classNames:O.value.renderer.classNames,components:O.value.renderer.components,container:O.value.renderer.container,html:I.value,dom:A.value,panelContainer:_.value?A.value.detachedContainer:O.value.renderer.panelContainer,propGetters:P,state:j.current,renderer:O.value.renderer.renderer},r=!b(e)&&!y.current&&O.value.renderer.renderNoResults||O.value.renderer.render;!function(e){var t=e.autocomplete,r=e.autocompleteScopeApi,o=e.dom,i=e.propGetters,u=e.state;Vt(o.root,i.getRootProps(n({state:u,props:t.getRootProps({})},r))),Vt(o.input,i.getInputProps(n({state:u,props:t.getInputProps({inputElement:o.input}),inputElement:o.input},r))),Ht(o.label,{hidden:"stalled"===u.status}),Ht(o.loadingIndicator,{hidden:"stalled"!==u.status}),Ht(o.clearButton,{hidden:!u.query}),Ht(o.detachedSearchButtonQuery,{textContent:u.query}),Ht(o.detachedSearchButtonPlaceholder,{hidden:Boolean(u.query)})}(t),function(e,t){var r=t.autocomplete,o=t.autocompleteScopeApi,u=t.classNames,a=t.html,l=t.dom,c=t.panelContainer,s=t.propGetters,f=t.state,p=t.components,m=t.renderer;if(f.isOpen){c.contains(l.panel)||"loading"===f.status||c.appendChild(l.panel),l.panel.classList.toggle("aa-Panel--stalled","stalled"===f.status);var v=f.collections.filter((function(e){var t=e.source,n=e.items;return t.templates.noResults||n.length>0})).map((function(e,t){var l=e.source,c=e.items;return m.createElement("section",{key:t,className:u.source,"data-autocomplete-source-id":l.sourceId},l.templates.header&&m.createElement("div",{className:u.sourceHeader},l.templates.header({components:p,createElement:m.createElement,Fragment:m.Fragment,items:c,source:l,state:f,html:a})),l.templates.noResults&&0===c.length?m.createElement("div",{className:u.sourceNoResults},l.templates.noResults({components:p,createElement:m.createElement,Fragment:m.Fragment,source:l,state:f,html:a})):m.createElement("ul",i({className:u.list},s.getListProps(n({state:f,props:r.getListProps({source:l})},o))),c.map((function(e){var t=r.getItemProps({item:e,source:l});return m.createElement("li",i({key:t.id,className:u.item},s.getItemProps(n({state:f,props:t},o))),l.templates.item({components:p,createElement:m.createElement,Fragment:m.Fragment,item:e,state:f,html:a}))}))),l.templates.footer&&m.createElement("div",{className:u.sourceFooter},l.templates.footer({components:p,createElement:m.createElement,Fragment:m.Fragment,items:c,source:l,state:f,html:a})))})),d=m.createElement(m.Fragment,null,m.createElement("div",{className:u.panelLayout},v),m.createElement("div",{className:"aa-GradientBottom"})),y=v.reduce((function(e,t){return e[t.props["data-autocomplete-source-id"]]=t,e}),{});e(n(n({children:d,state:f,sections:v,elements:y},m),{},{components:p,html:a},o),l.panel)}else c.contains(l.panel)&&c.removeChild(l.panel)}(r,t)}function C(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};l();var t=O.value.renderer,n=t.components,r=u(t,gr);g.current=qt(r,O.value.core,{components:Bt(n,(function(e){return!e.value.hasOwnProperty("__autocomplete_componentName")})),initialState:j.current},e),v(),c(),S.value.refresh().then((function(){D(j.current)}))}function k(e){requestAnimationFrame((function(){var t=O.value.core.environment.document.body.contains(A.value.detachedOverlay);e!==t&&(e?(O.value.core.environment.document.body.appendChild(A.value.detachedOverlay),O.value.core.environment.document.body.classList.add("aa-Detached"),A.value.input.focus()):(O.value.core.environment.document.body.removeChild(A.value.detachedOverlay),O.value.core.environment.document.body.classList.remove("aa-Detached")))}))}return a((function(){var e=S.value.getEnvironmentProps({formElement:A.value.form,panelElement:A.value.panel,inputElement:A.value.input});return Ht(O.value.core.environment,e),function(){Ht(O.value.core.environment,Object.keys(e).reduce((function(e,t){return n(n({},e),{},o({},t,void 0))}),{}))}})),a((function(){var e=_.value?O.value.core.environment.document.body:O.value.renderer.panelContainer,t=_.value?A.value.detachedOverlay:A.value.panel;return _.value&&j.current.isOpen&&k(!0),D(j.current),function(){e.contains(t)&&e.removeChild(t)}})),a((function(){var e=O.value.renderer.container;return e.appendChild(A.value.root),function(){e.removeChild(A.value.root)}})),a((function(){var e=p((function(e){D(e.state)}),0);return h.current=function(t){var n=t.state,r=t.prevState;(_.value&&r.isOpen!==n.isOpen&&k(n.isOpen),_.value||!n.isOpen||r.isOpen||E(),n.query!==r.query)&&O.value.core.environment.document.querySelectorAll(".aa-Panel--scrollable").forEach((function(e){0!==e.scrollTop&&(e.scrollTop=0)}));e({state:n})},function(){h.current=void 0}})),a((function(){var e=p((function(){var e=_.value;_.value=O.value.core.environment.matchMedia(O.value.renderer.detachedMediaQuery).matches,e!==_.value?C({}):requestAnimationFrame(E)}),20);return O.value.core.environment.addEventListener("resize",e),function(){O.value.core.environment.removeEventListener("resize",e)}})),a((function(){if(!_.value)return function(){};function e(e){A.value.detachedContainer.classList.toggle("aa-DetachedContainer--modal",e)}function t(t){e(t.matches)}var n=O.value.core.environment.matchMedia(getComputedStyle(O.value.core.environment.document.documentElement).getPropertyValue("--aa-detached-modal-media-query"));e(n.matches);var r=Boolean(n.addEventListener);return r?n.addEventListener("change",t):n.addListener(t),function(){r?n.removeEventListener("change",t):n.removeListener(t)}})),a((function(){return requestAnimationFrame(E),function(){}})),n(n({},w),{},{update:C,destroy:function(){l()}})},e.getAlgoliaFacets=function(e){var t=hr({transformResponse:function(e){return e.facetHits}}),r=e.queries.map((function(e){return n(n({},e),{},{type:"facet"})}));return t(n(n({},e),{},{queries:r}))},e.getAlgoliaResults=Or,Object.defineProperty(e,"__esModule",{value:!0})})); + diff --git a/site_libs/quarto-search/fuse.min.js b/site_libs/quarto-search/fuse.min.js new file mode 100644 index 000000000..adc28356e --- /dev/null +++ b/site_libs/quarto-search/fuse.min.js @@ -0,0 +1,9 @@ +/** + * Fuse.js v6.6.2 - Lightweight fuzzy-search (http://fusejs.io) + * + * Copyright (c) 2022 Kiro Risk (http://kiro.me) + * All Rights Reserved. Apache Software License 2.0 + * + * http://www.apache.org/licenses/LICENSE-2.0 + */ +var e,t;e=this,t=function(){"use strict";function e(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function t(t){for(var n=1;ne.length)&&(t=e.length);for(var n=0,r=new Array(t);n0&&void 0!==arguments[0]?arguments[0]:1,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:3,n=new Map,r=Math.pow(10,t);return{get:function(t){var i=t.match(C).length;if(n.has(i))return n.get(i);var o=1/Math.pow(i,.5*e),c=parseFloat(Math.round(o*r)/r);return n.set(i,c),c},clear:function(){n.clear()}}}var $=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=t.getFn,i=void 0===n?I.getFn:n,o=t.fieldNormWeight,c=void 0===o?I.fieldNormWeight:o;r(this,e),this.norm=E(c,3),this.getFn=i,this.isCreated=!1,this.setIndexRecords()}return o(e,[{key:"setSources",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];this.docs=e}},{key:"setIndexRecords",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];this.records=e}},{key:"setKeys",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];this.keys=t,this._keysMap={},t.forEach((function(t,n){e._keysMap[t.id]=n}))}},{key:"create",value:function(){var e=this;!this.isCreated&&this.docs.length&&(this.isCreated=!0,g(this.docs[0])?this.docs.forEach((function(t,n){e._addString(t,n)})):this.docs.forEach((function(t,n){e._addObject(t,n)})),this.norm.clear())}},{key:"add",value:function(e){var t=this.size();g(e)?this._addString(e,t):this._addObject(e,t)}},{key:"removeAt",value:function(e){this.records.splice(e,1);for(var t=e,n=this.size();t2&&void 0!==arguments[2]?arguments[2]:{},r=n.getFn,i=void 0===r?I.getFn:r,o=n.fieldNormWeight,c=void 0===o?I.fieldNormWeight:o,a=new $({getFn:i,fieldNormWeight:c});return a.setKeys(e.map(_)),a.setSources(t),a.create(),a}function R(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.errors,r=void 0===n?0:n,i=t.currentLocation,o=void 0===i?0:i,c=t.expectedLocation,a=void 0===c?0:c,s=t.distance,u=void 0===s?I.distance:s,h=t.ignoreLocation,l=void 0===h?I.ignoreLocation:h,f=r/e.length;if(l)return f;var d=Math.abs(a-o);return u?f+d/u:d?1:f}function N(){for(var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:I.minMatchCharLength,n=[],r=-1,i=-1,o=0,c=e.length;o=t&&n.push([r,i]),r=-1)}return e[o-1]&&o-r>=t&&n.push([r,o-1]),n}var P=32;function W(e){for(var t={},n=0,r=e.length;n1&&void 0!==arguments[1]?arguments[1]:{},o=i.location,c=void 0===o?I.location:o,a=i.threshold,s=void 0===a?I.threshold:a,u=i.distance,h=void 0===u?I.distance:u,l=i.includeMatches,f=void 0===l?I.includeMatches:l,d=i.findAllMatches,v=void 0===d?I.findAllMatches:d,g=i.minMatchCharLength,y=void 0===g?I.minMatchCharLength:g,p=i.isCaseSensitive,m=void 0===p?I.isCaseSensitive:p,k=i.ignoreLocation,M=void 0===k?I.ignoreLocation:k;if(r(this,e),this.options={location:c,threshold:s,distance:h,includeMatches:f,findAllMatches:v,minMatchCharLength:y,isCaseSensitive:m,ignoreLocation:M},this.pattern=m?t:t.toLowerCase(),this.chunks=[],this.pattern.length){var b=function(e,t){n.chunks.push({pattern:e,alphabet:W(e),startIndex:t})},x=this.pattern.length;if(x>P){for(var w=0,L=x%P,S=x-L;w3&&void 0!==arguments[3]?arguments[3]:{},i=r.location,o=void 0===i?I.location:i,c=r.distance,a=void 0===c?I.distance:c,s=r.threshold,u=void 0===s?I.threshold:s,h=r.findAllMatches,l=void 0===h?I.findAllMatches:h,f=r.minMatchCharLength,d=void 0===f?I.minMatchCharLength:f,v=r.includeMatches,g=void 0===v?I.includeMatches:v,y=r.ignoreLocation,p=void 0===y?I.ignoreLocation:y;if(t.length>P)throw new Error(w(P));for(var m,k=t.length,M=e.length,b=Math.max(0,Math.min(o,M)),x=u,L=b,S=d>1||g,_=S?Array(M):[];(m=e.indexOf(t,L))>-1;){var O=R(t,{currentLocation:m,expectedLocation:b,distance:a,ignoreLocation:p});if(x=Math.min(O,x),L=m+k,S)for(var j=0;j=z;q-=1){var B=q-1,J=n[e.charAt(B)];if(S&&(_[B]=+!!J),K[q]=(K[q+1]<<1|1)&J,F&&(K[q]|=(A[q+1]|A[q])<<1|1|A[q+1]),K[q]&$&&(C=R(t,{errors:F,currentLocation:B,expectedLocation:b,distance:a,ignoreLocation:p}))<=x){if(x=C,(L=B)<=b)break;z=Math.max(1,2*b-L)}}if(R(t,{errors:F+1,currentLocation:b,expectedLocation:b,distance:a,ignoreLocation:p})>x)break;A=K}var U={isMatch:L>=0,score:Math.max(.001,C)};if(S){var V=N(_,d);V.length?g&&(U.indices=V):U.isMatch=!1}return U}(e,n,i,{location:c+o,distance:a,threshold:s,findAllMatches:u,minMatchCharLength:h,includeMatches:r,ignoreLocation:l}),p=y.isMatch,m=y.score,k=y.indices;p&&(g=!0),v+=m,p&&k&&(d=[].concat(f(d),f(k)))}));var y={isMatch:g,score:g?v/this.chunks.length:1};return g&&r&&(y.indices=d),y}}]),e}(),z=function(){function e(t){r(this,e),this.pattern=t}return o(e,[{key:"search",value:function(){}}],[{key:"isMultiMatch",value:function(e){return D(e,this.multiRegex)}},{key:"isSingleMatch",value:function(e){return D(e,this.singleRegex)}}]),e}();function D(e,t){var n=e.match(t);return n?n[1]:null}var K=function(e){a(n,e);var t=l(n);function n(e){return r(this,n),t.call(this,e)}return o(n,[{key:"search",value:function(e){var t=e===this.pattern;return{isMatch:t,score:t?0:1,indices:[0,this.pattern.length-1]}}}],[{key:"type",get:function(){return"exact"}},{key:"multiRegex",get:function(){return/^="(.*)"$/}},{key:"singleRegex",get:function(){return/^=(.*)$/}}]),n}(z),q=function(e){a(n,e);var t=l(n);function n(e){return r(this,n),t.call(this,e)}return o(n,[{key:"search",value:function(e){var t=-1===e.indexOf(this.pattern);return{isMatch:t,score:t?0:1,indices:[0,e.length-1]}}}],[{key:"type",get:function(){return"inverse-exact"}},{key:"multiRegex",get:function(){return/^!"(.*)"$/}},{key:"singleRegex",get:function(){return/^!(.*)$/}}]),n}(z),B=function(e){a(n,e);var t=l(n);function n(e){return r(this,n),t.call(this,e)}return o(n,[{key:"search",value:function(e){var t=e.startsWith(this.pattern);return{isMatch:t,score:t?0:1,indices:[0,this.pattern.length-1]}}}],[{key:"type",get:function(){return"prefix-exact"}},{key:"multiRegex",get:function(){return/^\^"(.*)"$/}},{key:"singleRegex",get:function(){return/^\^(.*)$/}}]),n}(z),J=function(e){a(n,e);var t=l(n);function n(e){return r(this,n),t.call(this,e)}return o(n,[{key:"search",value:function(e){var t=!e.startsWith(this.pattern);return{isMatch:t,score:t?0:1,indices:[0,e.length-1]}}}],[{key:"type",get:function(){return"inverse-prefix-exact"}},{key:"multiRegex",get:function(){return/^!\^"(.*)"$/}},{key:"singleRegex",get:function(){return/^!\^(.*)$/}}]),n}(z),U=function(e){a(n,e);var t=l(n);function n(e){return r(this,n),t.call(this,e)}return o(n,[{key:"search",value:function(e){var t=e.endsWith(this.pattern);return{isMatch:t,score:t?0:1,indices:[e.length-this.pattern.length,e.length-1]}}}],[{key:"type",get:function(){return"suffix-exact"}},{key:"multiRegex",get:function(){return/^"(.*)"\$$/}},{key:"singleRegex",get:function(){return/^(.*)\$$/}}]),n}(z),V=function(e){a(n,e);var t=l(n);function n(e){return r(this,n),t.call(this,e)}return o(n,[{key:"search",value:function(e){var t=!e.endsWith(this.pattern);return{isMatch:t,score:t?0:1,indices:[0,e.length-1]}}}],[{key:"type",get:function(){return"inverse-suffix-exact"}},{key:"multiRegex",get:function(){return/^!"(.*)"\$$/}},{key:"singleRegex",get:function(){return/^!(.*)\$$/}}]),n}(z),G=function(e){a(n,e);var t=l(n);function n(e){var i,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},c=o.location,a=void 0===c?I.location:c,s=o.threshold,u=void 0===s?I.threshold:s,h=o.distance,l=void 0===h?I.distance:h,f=o.includeMatches,d=void 0===f?I.includeMatches:f,v=o.findAllMatches,g=void 0===v?I.findAllMatches:v,y=o.minMatchCharLength,p=void 0===y?I.minMatchCharLength:y,m=o.isCaseSensitive,k=void 0===m?I.isCaseSensitive:m,M=o.ignoreLocation,b=void 0===M?I.ignoreLocation:M;return r(this,n),(i=t.call(this,e))._bitapSearch=new T(e,{location:a,threshold:u,distance:l,includeMatches:d,findAllMatches:g,minMatchCharLength:p,isCaseSensitive:k,ignoreLocation:b}),i}return o(n,[{key:"search",value:function(e){return this._bitapSearch.searchIn(e)}}],[{key:"type",get:function(){return"fuzzy"}},{key:"multiRegex",get:function(){return/^"(.*)"$/}},{key:"singleRegex",get:function(){return/^(.*)$/}}]),n}(z),H=function(e){a(n,e);var t=l(n);function n(e){return r(this,n),t.call(this,e)}return o(n,[{key:"search",value:function(e){for(var t,n=0,r=[],i=this.pattern.length;(t=e.indexOf(this.pattern,n))>-1;)n=t+i,r.push([t,n-1]);var o=!!r.length;return{isMatch:o,score:o?0:1,indices:r}}}],[{key:"type",get:function(){return"include"}},{key:"multiRegex",get:function(){return/^'"(.*)"$/}},{key:"singleRegex",get:function(){return/^'(.*)$/}}]),n}(z),Q=[K,H,B,J,V,U,q,G],X=Q.length,Y=/ +(?=(?:[^\"]*\"[^\"]*\")*[^\"]*$)/;function Z(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.split("|").map((function(e){for(var n=e.trim().split(Y).filter((function(e){return e&&!!e.trim()})),r=[],i=0,o=n.length;i1&&void 0!==arguments[1]?arguments[1]:{},i=n.isCaseSensitive,o=void 0===i?I.isCaseSensitive:i,c=n.includeMatches,a=void 0===c?I.includeMatches:c,s=n.minMatchCharLength,u=void 0===s?I.minMatchCharLength:s,h=n.ignoreLocation,l=void 0===h?I.ignoreLocation:h,f=n.findAllMatches,d=void 0===f?I.findAllMatches:f,v=n.location,g=void 0===v?I.location:v,y=n.threshold,p=void 0===y?I.threshold:y,m=n.distance,k=void 0===m?I.distance:m;r(this,e),this.query=null,this.options={isCaseSensitive:o,includeMatches:a,minMatchCharLength:u,findAllMatches:d,ignoreLocation:l,location:g,threshold:p,distance:k},this.pattern=o?t:t.toLowerCase(),this.query=Z(this.pattern,this.options)}return o(e,[{key:"searchIn",value:function(e){var t=this.query;if(!t)return{isMatch:!1,score:1};var n=this.options,r=n.includeMatches;e=n.isCaseSensitive?e:e.toLowerCase();for(var i=0,o=[],c=0,a=0,s=t.length;a-1&&(n.refIndex=e.idx),t.matches.push(n)}}))}function ve(e,t){t.score=e.score}function ge(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=n.includeMatches,i=void 0===r?I.includeMatches:r,o=n.includeScore,c=void 0===o?I.includeScore:o,a=[];return i&&a.push(de),c&&a.push(ve),e.map((function(e){var n=e.idx,r={item:t[n],refIndex:n};return a.length&&a.forEach((function(t){t(e,r)})),r}))}var ye=function(){function e(n){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},o=arguments.length>2?arguments[2]:void 0;r(this,e),this.options=t(t({},I),i),this.options.useExtendedSearch,this._keyStore=new S(this.options.keys),this.setCollection(n,o)}return o(e,[{key:"setCollection",value:function(e,t){if(this._docs=e,t&&!(t instanceof $))throw new Error("Incorrect 'index' type");this._myIndex=t||F(this.options.keys,this._docs,{getFn:this.options.getFn,fieldNormWeight:this.options.fieldNormWeight})}},{key:"add",value:function(e){k(e)&&(this._docs.push(e),this._myIndex.add(e))}},{key:"remove",value:function(){for(var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:function(){return!1},t=[],n=0,r=this._docs.length;n1&&void 0!==arguments[1]?arguments[1]:{},n=t.limit,r=void 0===n?-1:n,i=this.options,o=i.includeMatches,c=i.includeScore,a=i.shouldSort,s=i.sortFn,u=i.ignoreFieldNorm,h=g(e)?g(this._docs[0])?this._searchStringList(e):this._searchObjectList(e):this._searchLogical(e);return fe(h,{ignoreFieldNorm:u}),a&&h.sort(s),y(r)&&r>-1&&(h=h.slice(0,r)),ge(h,this._docs,{includeMatches:o,includeScore:c})}},{key:"_searchStringList",value:function(e){var t=re(e,this.options),n=this._myIndex.records,r=[];return n.forEach((function(e){var n=e.v,i=e.i,o=e.n;if(k(n)){var c=t.searchIn(n),a=c.isMatch,s=c.score,u=c.indices;a&&r.push({item:n,idx:i,matches:[{score:s,value:n,norm:o,indices:u}]})}})),r}},{key:"_searchLogical",value:function(e){var t=this,n=function(e,t){var n=(arguments.length>2&&void 0!==arguments[2]?arguments[2]:{}).auto,r=void 0===n||n,i=function e(n){var i=Object.keys(n),o=ue(n);if(!o&&i.length>1&&!se(n))return e(le(n));if(he(n)){var c=o?n[ce]:i[0],a=o?n[ae]:n[c];if(!g(a))throw new Error(x(c));var s={keyId:j(c),pattern:a};return r&&(s.searcher=re(a,t)),s}var u={children:[],operator:i[0]};return i.forEach((function(t){var r=n[t];v(r)&&r.forEach((function(t){u.children.push(e(t))}))})),u};return se(e)||(e=le(e)),i(e)}(e,this.options),r=function e(n,r,i){if(!n.children){var o=n.keyId,c=n.searcher,a=t._findMatches({key:t._keyStore.get(o),value:t._myIndex.getValueForItemAtKeyId(r,o),searcher:c});return a&&a.length?[{idx:i,item:r,matches:a}]:[]}for(var s=[],u=0,h=n.children.length;u1&&void 0!==arguments[1]?arguments[1]:{},n=t.getFn,r=void 0===n?I.getFn:n,i=t.fieldNormWeight,o=void 0===i?I.fieldNormWeight:i,c=e.keys,a=e.records,s=new $({getFn:r,fieldNormWeight:o});return s.setKeys(c),s.setIndexRecords(a),s},ye.config=I,function(){ne.push.apply(ne,arguments)}(te),ye},"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).Fuse=t(); \ No newline at end of file diff --git a/site_libs/quarto-search/quarto-search.js b/site_libs/quarto-search/quarto-search.js new file mode 100644 index 000000000..d788a9581 --- /dev/null +++ b/site_libs/quarto-search/quarto-search.js @@ -0,0 +1,1290 @@ +const kQueryArg = "q"; +const kResultsArg = "show-results"; + +// If items don't provide a URL, then both the navigator and the onSelect +// function aren't called (and therefore, the default implementation is used) +// +// We're using this sentinel URL to signal to those handlers that this +// item is a more item (along with the type) and can be handled appropriately +const kItemTypeMoreHref = "0767FDFD-0422-4E5A-BC8A-3BE11E5BBA05"; + +window.document.addEventListener("DOMContentLoaded", function (_event) { + // Ensure that search is available on this page. If it isn't, + // should return early and not do anything + var searchEl = window.document.getElementById("quarto-search"); + if (!searchEl) return; + + const { autocomplete } = window["@algolia/autocomplete-js"]; + + let quartoSearchOptions = {}; + let language = {}; + const searchOptionEl = window.document.getElementById( + "quarto-search-options" + ); + if (searchOptionEl) { + const jsonStr = searchOptionEl.textContent; + quartoSearchOptions = JSON.parse(jsonStr); + language = quartoSearchOptions.language; + } + + // note the search mode + if (quartoSearchOptions.type === "overlay") { + searchEl.classList.add("type-overlay"); + } else { + searchEl.classList.add("type-textbox"); + } + + // Used to determine highlighting behavior for this page + // A `q` query param is expected when the user follows a search + // to this page + const currentUrl = new URL(window.location); + const query = currentUrl.searchParams.get(kQueryArg); + const showSearchResults = currentUrl.searchParams.get(kResultsArg); + const mainEl = window.document.querySelector("main"); + + // highlight matches on the page + if (query && mainEl) { + // perform any highlighting + highlight(escapeRegExp(query), mainEl); + + // fix up the URL to remove the q query param + const replacementUrl = new URL(window.location); + replacementUrl.searchParams.delete(kQueryArg); + window.history.replaceState({}, "", replacementUrl); + } + + // function to clear highlighting on the page when the search query changes + // (e.g. if the user edits the query or clears it) + let highlighting = true; + const resetHighlighting = (searchTerm) => { + if (mainEl && highlighting && query && searchTerm !== query) { + clearHighlight(query, mainEl); + highlighting = false; + } + }; + + // Clear search highlighting when the user scrolls sufficiently + const resetFn = () => { + resetHighlighting(""); + window.removeEventListener("quarto-hrChanged", resetFn); + window.removeEventListener("quarto-sectionChanged", resetFn); + }; + + // Register this event after the initial scrolling and settling of events + // on the page + window.addEventListener("quarto-hrChanged", resetFn); + window.addEventListener("quarto-sectionChanged", resetFn); + + // Responsively switch to overlay mode if the search is present on the navbar + // Note that switching the sidebar to overlay mode requires more coordinate (not just + // the media query since we generate different HTML for sidebar overlays than we do + // for sidebar input UI) + const detachedMediaQuery = + quartoSearchOptions.type === "overlay" ? "all" : "(max-width: 991px)"; + + // If configured, include the analytics client to send insights + const plugins = configurePlugins(quartoSearchOptions); + + let lastState = null; + const { setIsOpen, setQuery, setCollections } = autocomplete({ + container: searchEl, + detachedMediaQuery: detachedMediaQuery, + defaultActiveItemId: 0, + panelContainer: "#quarto-search-results", + panelPlacement: quartoSearchOptions["panel-placement"], + debug: false, + openOnFocus: true, + plugins, + classNames: { + form: "d-flex", + }, + placeholder: language["search-text-placeholder"], + translations: { + clearButtonTitle: language["search-clear-button-title"], + detachedCancelButtonText: language["search-detached-cancel-button-title"], + submitButtonTitle: language["search-submit-button-title"], + }, + initialState: { + query, + }, + getItemUrl({ item }) { + return item.href; + }, + onStateChange({ state }) { + // If this is a file URL, note that + + // Perhaps reset highlighting + resetHighlighting(state.query); + + // If the panel just opened, ensure the panel is positioned properly + if (state.isOpen) { + if (lastState && !lastState.isOpen) { + setTimeout(() => { + positionPanel(quartoSearchOptions["panel-placement"]); + }, 150); + } + } + + // Perhaps show the copy link + showCopyLink(state.query, quartoSearchOptions); + + lastState = state; + }, + reshape({ sources, state }) { + return sources.map((source) => { + try { + const items = source.getItems(); + + // Validate the items + validateItems(items); + + // group the items by document + const groupedItems = new Map(); + items.forEach((item) => { + const hrefParts = item.href.split("#"); + const baseHref = hrefParts[0]; + const isDocumentItem = hrefParts.length === 1; + + const items = groupedItems.get(baseHref); + if (!items) { + groupedItems.set(baseHref, [item]); + } else { + // If the href for this item matches the document + // exactly, place this item first as it is the item that represents + // the document itself + if (isDocumentItem) { + items.unshift(item); + } else { + items.push(item); + } + groupedItems.set(baseHref, items); + } + }); + + const reshapedItems = []; + let count = 1; + for (const [_key, value] of groupedItems) { + const firstItem = value[0]; + reshapedItems.push({ + ...firstItem, + type: kItemTypeDoc, + }); + + const collapseMatches = quartoSearchOptions["collapse-after"]; + const collapseCount = + typeof collapseMatches === "number" ? collapseMatches : 1; + + if (value.length > 1) { + const target = `search-more-${count}`; + const isExpanded = + state.context.expanded && + state.context.expanded.includes(target); + + const remainingCount = value.length - collapseCount; + + for (let i = 1; i < value.length; i++) { + if (collapseMatches && i === collapseCount) { + reshapedItems.push({ + target, + title: isExpanded + ? language["search-hide-matches-text"] + : remainingCount === 1 + ? `${remainingCount} ${language["search-more-match-text"]}` + : `${remainingCount} ${language["search-more-matches-text"]}`, + type: kItemTypeMore, + href: kItemTypeMoreHref, + }); + } + + if (isExpanded || !collapseMatches || i < collapseCount) { + reshapedItems.push({ + ...value[i], + type: kItemTypeItem, + target, + }); + } + } + } + count += 1; + } + + return { + ...source, + getItems() { + return reshapedItems; + }, + }; + } catch (error) { + // Some form of error occurred + return { + ...source, + getItems() { + return [ + { + title: error.name || "An Error Occurred While Searching", + text: + error.message || + "An unknown error occurred while attempting to perform the requested search.", + type: kItemTypeError, + }, + ]; + }, + }; + } + }); + }, + navigator: { + navigate({ itemUrl }) { + if (itemUrl !== offsetURL(kItemTypeMoreHref)) { + window.location.assign(itemUrl); + } + }, + navigateNewTab({ itemUrl }) { + if (itemUrl !== offsetURL(kItemTypeMoreHref)) { + const windowReference = window.open(itemUrl, "_blank", "noopener"); + if (windowReference) { + windowReference.focus(); + } + } + }, + navigateNewWindow({ itemUrl }) { + if (itemUrl !== offsetURL(kItemTypeMoreHref)) { + window.open(itemUrl, "_blank", "noopener"); + } + }, + }, + getSources({ state, setContext, setActiveItemId, refresh }) { + return [ + { + sourceId: "documents", + getItemUrl({ item }) { + if (item.href) { + return offsetURL(item.href); + } else { + return undefined; + } + }, + onSelect({ + item, + state, + setContext, + setIsOpen, + setActiveItemId, + refresh, + }) { + if (item.type === kItemTypeMore) { + toggleExpanded(item, state, setContext, setActiveItemId, refresh); + + // Toggle more + setIsOpen(true); + } + }, + getItems({ query }) { + if (query === null || query === "") { + return []; + } + + const limit = quartoSearchOptions.limit; + if (quartoSearchOptions.algolia) { + return algoliaSearch(query, limit, quartoSearchOptions.algolia); + } else { + // Fuse search options + const fuseSearchOptions = { + isCaseSensitive: false, + shouldSort: true, + minMatchCharLength: 2, + limit: limit, + }; + + return readSearchData().then(function (fuse) { + return fuseSearch(query, fuse, fuseSearchOptions); + }); + } + }, + templates: { + noResults({ createElement }) { + const hasQuery = lastState.query; + + return createElement( + "div", + { + class: `quarto-search-no-results${ + hasQuery ? "" : " no-query" + }`, + }, + language["search-no-results-text"] + ); + }, + header({ items, createElement }) { + // count the documents + const count = items.filter((item) => { + return item.type === kItemTypeDoc; + }).length; + + if (count > 0) { + return createElement( + "div", + { class: "search-result-header" }, + `${count} ${language["search-matching-documents-text"]}` + ); + } else { + return createElement( + "div", + { class: "search-result-header-no-results" }, + `` + ); + } + }, + footer({ _items, createElement }) { + if ( + quartoSearchOptions.algolia && + quartoSearchOptions.algolia["show-logo"] + ) { + const libDir = quartoSearchOptions.algolia["libDir"]; + const logo = createElement("img", { + src: offsetURL( + `${libDir}/quarto-search/search-by-algolia.svg` + ), + class: "algolia-search-logo", + }); + return createElement( + "a", + { href: "http://www.algolia.com/" }, + logo + ); + } + }, + + item({ item, createElement }) { + return renderItem( + item, + createElement, + state, + setActiveItemId, + setContext, + refresh, + quartoSearchOptions + ); + }, + }, + }, + ]; + }, + }); + + window.quartoOpenSearch = () => { + setIsOpen(false); + setIsOpen(true); + focusSearchInput(); + }; + + document.addEventListener("keyup", (event) => { + const { key } = event; + const kbds = quartoSearchOptions["keyboard-shortcut"]; + const focusedEl = document.activeElement; + + const isFormElFocused = [ + "input", + "select", + "textarea", + "button", + "option", + ].find((tag) => { + return focusedEl.tagName.toLowerCase() === tag; + }); + + if ( + kbds && + kbds.includes(key) && + !isFormElFocused && + !document.activeElement.isContentEditable + ) { + event.preventDefault(); + window.quartoOpenSearch(); + } + }); + + // Remove the labeleledby attribute since it is pointing + // to a non-existent label + if (quartoSearchOptions.type === "overlay") { + const inputEl = window.document.querySelector( + "#quarto-search .aa-Autocomplete" + ); + if (inputEl) { + inputEl.removeAttribute("aria-labelledby"); + } + } + + function throttle(func, wait) { + let waiting = false; + return function () { + if (!waiting) { + func.apply(this, arguments); + waiting = true; + setTimeout(function () { + waiting = false; + }, wait); + } + }; + } + + // If the main document scrolls dismiss the search results + // (otherwise, since they're floating in the document they can scroll with the document) + window.document.body.onscroll = throttle(() => { + // Only do this if we're not detached + // Bug #7117 + // This will happen when the keyboard is shown on ios (resulting in a scroll) + // which then closed the search UI + if (!window.matchMedia(detachedMediaQuery).matches) { + setIsOpen(false); + } + }, 50); + + if (showSearchResults) { + setIsOpen(true); + focusSearchInput(); + } +}); + +function configurePlugins(quartoSearchOptions) { + const autocompletePlugins = []; + const algoliaOptions = quartoSearchOptions.algolia; + if ( + algoliaOptions && + algoliaOptions["analytics-events"] && + algoliaOptions["search-only-api-key"] && + algoliaOptions["application-id"] + ) { + const apiKey = algoliaOptions["search-only-api-key"]; + const appId = algoliaOptions["application-id"]; + + // Aloglia insights may not be loaded because they require cookie consent + // Use deferred loading so events will start being recorded when/if consent + // is granted. + const algoliaInsightsDeferredPlugin = deferredLoadPlugin(() => { + if ( + window.aa && + window["@algolia/autocomplete-plugin-algolia-insights"] + ) { + window.aa("init", { + appId, + apiKey, + useCookie: true, + }); + + const { createAlgoliaInsightsPlugin } = + window["@algolia/autocomplete-plugin-algolia-insights"]; + // Register the insights client + const algoliaInsightsPlugin = createAlgoliaInsightsPlugin({ + insightsClient: window.aa, + onItemsChange({ insights, insightsEvents }) { + const events = insightsEvents.flatMap((event) => { + // This API limits the number of items per event to 20 + const chunkSize = 20; + const itemChunks = []; + const eventItems = event.items; + for (let i = 0; i < eventItems.length; i += chunkSize) { + itemChunks.push(eventItems.slice(i, i + chunkSize)); + } + // Split the items into multiple events that can be sent + const events = itemChunks.map((items) => { + return { + ...event, + items, + }; + }); + return events; + }); + + for (const event of events) { + insights.viewedObjectIDs(event); + } + }, + }); + return algoliaInsightsPlugin; + } + }); + + // Add the plugin + autocompletePlugins.push(algoliaInsightsDeferredPlugin); + return autocompletePlugins; + } +} + +// For plugins that may not load immediately, create a wrapper +// plugin and forward events and plugin data once the plugin +// is initialized. This is useful for cases like cookie consent +// which may prevent the analytics insights event plugin from initializing +// immediately. +function deferredLoadPlugin(createPlugin) { + let plugin = undefined; + let subscribeObj = undefined; + const wrappedPlugin = () => { + if (!plugin && subscribeObj) { + plugin = createPlugin(); + if (plugin && plugin.subscribe) { + plugin.subscribe(subscribeObj); + } + } + return plugin; + }; + + return { + subscribe: (obj) => { + subscribeObj = obj; + }, + onStateChange: (obj) => { + const plugin = wrappedPlugin(); + if (plugin && plugin.onStateChange) { + plugin.onStateChange(obj); + } + }, + onSubmit: (obj) => { + const plugin = wrappedPlugin(); + if (plugin && plugin.onSubmit) { + plugin.onSubmit(obj); + } + }, + onReset: (obj) => { + const plugin = wrappedPlugin(); + if (plugin && plugin.onReset) { + plugin.onReset(obj); + } + }, + getSources: (obj) => { + const plugin = wrappedPlugin(); + if (plugin && plugin.getSources) { + return plugin.getSources(obj); + } else { + return Promise.resolve([]); + } + }, + data: (obj) => { + const plugin = wrappedPlugin(); + if (plugin && plugin.data) { + plugin.data(obj); + } + }, + }; +} + +function validateItems(items) { + // Validate the first item + if (items.length > 0) { + const item = items[0]; + const missingFields = []; + if (item.href == undefined) { + missingFields.push("href"); + } + if (!item.title == undefined) { + missingFields.push("title"); + } + if (!item.text == undefined) { + missingFields.push("text"); + } + + if (missingFields.length === 1) { + throw { + name: `Error: Search index is missing the ${missingFields[0]} field.`, + message: `The items being returned for this search do not include all the required fields. Please ensure that your index items include the ${missingFields[0]} field or use index-fields in your _quarto.yml file to specify the field names.`, + }; + } else if (missingFields.length > 1) { + const missingFieldList = missingFields + .map((field) => { + return `${field}`; + }) + .join(", "); + + throw { + name: `Error: Search index is missing the following fields: ${missingFieldList}.`, + message: `The items being returned for this search do not include all the required fields. Please ensure that your index items includes the following fields: ${missingFieldList}, or use index-fields in your _quarto.yml file to specify the field names.`, + }; + } + } +} + +let lastQuery = null; +function showCopyLink(query, options) { + const language = options.language; + lastQuery = query; + // Insert share icon + const inputSuffixEl = window.document.body.querySelector( + ".aa-Form .aa-InputWrapperSuffix" + ); + + if (inputSuffixEl) { + let copyButtonEl = window.document.body.querySelector( + ".aa-Form .aa-InputWrapperSuffix .aa-CopyButton" + ); + + if (copyButtonEl === null) { + copyButtonEl = window.document.createElement("button"); + copyButtonEl.setAttribute("class", "aa-CopyButton"); + copyButtonEl.setAttribute("type", "button"); + copyButtonEl.setAttribute("title", language["search-copy-link-title"]); + copyButtonEl.onmousedown = (e) => { + e.preventDefault(); + e.stopPropagation(); + }; + + const linkIcon = "bi-clipboard"; + const checkIcon = "bi-check2"; + + const shareIconEl = window.document.createElement("i"); + shareIconEl.setAttribute("class", `bi ${linkIcon}`); + copyButtonEl.appendChild(shareIconEl); + inputSuffixEl.prepend(copyButtonEl); + + const clipboard = new window.ClipboardJS(".aa-CopyButton", { + text: function (_trigger) { + const copyUrl = new URL(window.location); + copyUrl.searchParams.set(kQueryArg, lastQuery); + copyUrl.searchParams.set(kResultsArg, "1"); + return copyUrl.toString(); + }, + }); + clipboard.on("success", function (e) { + // Focus the input + + // button target + const button = e.trigger; + const icon = button.querySelector("i.bi"); + + // flash "checked" + icon.classList.add(checkIcon); + icon.classList.remove(linkIcon); + setTimeout(function () { + icon.classList.remove(checkIcon); + icon.classList.add(linkIcon); + }, 1000); + }); + } + + // If there is a query, show the link icon + if (copyButtonEl) { + if (lastQuery && options["copy-button"]) { + copyButtonEl.style.display = "flex"; + } else { + copyButtonEl.style.display = "none"; + } + } + } +} + +/* Search Index Handling */ +// create the index +var fuseIndex = undefined; +var shownWarning = false; + +// fuse index options +const kFuseIndexOptions = { + keys: [ + { name: "title", weight: 20 }, + { name: "section", weight: 20 }, + { name: "text", weight: 10 }, + ], + ignoreLocation: true, + threshold: 0.1, +}; + +async function readSearchData() { + // Initialize the search index on demand + if (fuseIndex === undefined) { + if (window.location.protocol === "file:" && !shownWarning) { + window.alert( + "Search requires JavaScript features disabled when running in file://... URLs. In order to use search, please run this document in a web server." + ); + shownWarning = true; + return; + } + const fuse = new window.Fuse([], kFuseIndexOptions); + + // fetch the main search.json + const response = await fetch(offsetURL("search.json")); + if (response.status == 200) { + return response.json().then(function (searchDocs) { + searchDocs.forEach(function (searchDoc) { + fuse.add(searchDoc); + }); + fuseIndex = fuse; + return fuseIndex; + }); + } else { + return Promise.reject( + new Error( + "Unexpected status from search index request: " + response.status + ) + ); + } + } + + return fuseIndex; +} + +function inputElement() { + return window.document.body.querySelector(".aa-Form .aa-Input"); +} + +function focusSearchInput() { + setTimeout(() => { + const inputEl = inputElement(); + if (inputEl) { + inputEl.focus(); + } + }, 50); +} + +/* Panels */ +const kItemTypeDoc = "document"; +const kItemTypeMore = "document-more"; +const kItemTypeItem = "document-item"; +const kItemTypeError = "error"; + +function renderItem( + item, + createElement, + state, + setActiveItemId, + setContext, + refresh, + quartoSearchOptions +) { + switch (item.type) { + case kItemTypeDoc: + return createDocumentCard( + createElement, + "file-richtext", + item.title, + item.section, + item.text, + item.href, + item.crumbs, + quartoSearchOptions + ); + case kItemTypeMore: + return createMoreCard( + createElement, + item, + state, + setActiveItemId, + setContext, + refresh + ); + case kItemTypeItem: + return createSectionCard( + createElement, + item.section, + item.text, + item.href + ); + case kItemTypeError: + return createErrorCard(createElement, item.title, item.text); + default: + return undefined; + } +} + +function createDocumentCard( + createElement, + icon, + title, + section, + text, + href, + crumbs, + quartoSearchOptions +) { + const iconEl = createElement("i", { + class: `bi bi-${icon} search-result-icon`, + }); + const titleEl = createElement("p", { class: "search-result-title" }, title); + const titleContents = [iconEl, titleEl]; + const showParent = quartoSearchOptions["show-item-context"]; + if (crumbs && showParent) { + let crumbsOut = undefined; + const crumbClz = ["search-result-crumbs"]; + if (showParent === "root") { + crumbsOut = crumbs.length > 1 ? crumbs[0] : undefined; + } else if (showParent === "parent") { + crumbsOut = crumbs.length > 1 ? crumbs[crumbs.length - 2] : undefined; + } else { + crumbsOut = crumbs.length > 1 ? crumbs.join(" > ") : undefined; + crumbClz.push("search-result-crumbs-wrap"); + } + + const crumbEl = createElement( + "p", + { class: crumbClz.join(" ") }, + crumbsOut + ); + titleContents.push(crumbEl); + } + + const titleContainerEl = createElement( + "div", + { class: "search-result-title-container" }, + titleContents + ); + + const textEls = []; + if (section) { + const sectionEl = createElement( + "p", + { class: "search-result-section" }, + section + ); + textEls.push(sectionEl); + } + const descEl = createElement("p", { + class: "search-result-text", + dangerouslySetInnerHTML: { + __html: text, + }, + }); + textEls.push(descEl); + + const textContainerEl = createElement( + "div", + { class: "search-result-text-container" }, + textEls + ); + + const containerEl = createElement( + "div", + { + class: "search-result-container", + }, + [titleContainerEl, textContainerEl] + ); + + const linkEl = createElement( + "a", + { + href: offsetURL(href), + class: "search-result-link", + }, + containerEl + ); + + const classes = ["search-result-doc", "search-item"]; + if (!section) { + classes.push("document-selectable"); + } + + return createElement( + "div", + { + class: classes.join(" "), + }, + linkEl + ); +} + +function createMoreCard( + createElement, + item, + state, + setActiveItemId, + setContext, + refresh +) { + const moreCardEl = createElement( + "div", + { + class: "search-result-more search-item", + onClick: (e) => { + // Handle expanding the sections by adding the expanded + // section to the list of expanded sections + toggleExpanded(item, state, setContext, setActiveItemId, refresh); + e.stopPropagation(); + }, + }, + item.title + ); + + return moreCardEl; +} + +function toggleExpanded(item, state, setContext, setActiveItemId, refresh) { + const expanded = state.context.expanded || []; + if (expanded.includes(item.target)) { + setContext({ + expanded: expanded.filter((target) => target !== item.target), + }); + } else { + setContext({ expanded: [...expanded, item.target] }); + } + + refresh(); + setActiveItemId(item.__autocomplete_id); +} + +function createSectionCard(createElement, section, text, href) { + const sectionEl = createSection(createElement, section, text, href); + return createElement( + "div", + { + class: "search-result-doc-section search-item", + }, + sectionEl + ); +} + +function createSection(createElement, title, text, href) { + const descEl = createElement("p", { + class: "search-result-text", + dangerouslySetInnerHTML: { + __html: text, + }, + }); + + const titleEl = createElement("p", { class: "search-result-section" }, title); + const linkEl = createElement( + "a", + { + href: offsetURL(href), + class: "search-result-link", + }, + [titleEl, descEl] + ); + return linkEl; +} + +function createErrorCard(createElement, title, text) { + const descEl = createElement("p", { + class: "search-error-text", + dangerouslySetInnerHTML: { + __html: text, + }, + }); + + const titleEl = createElement("p", { + class: "search-error-title", + dangerouslySetInnerHTML: { + __html: ` ${title}`, + }, + }); + const errorEl = createElement("div", { class: "search-error" }, [ + titleEl, + descEl, + ]); + return errorEl; +} + +function positionPanel(pos) { + const panelEl = window.document.querySelector( + "#quarto-search-results .aa-Panel" + ); + const inputEl = window.document.querySelector( + "#quarto-search .aa-Autocomplete" + ); + + if (panelEl && inputEl) { + panelEl.style.top = `${Math.round(panelEl.offsetTop)}px`; + if (pos === "start") { + panelEl.style.left = `${Math.round(inputEl.left)}px`; + } else { + panelEl.style.right = `${Math.round(inputEl.offsetRight)}px`; + } + } +} + +/* Highlighting */ +// highlighting functions +function highlightMatch(query, text) { + if (text) { + const start = text.toLowerCase().indexOf(query.toLowerCase()); + if (start !== -1) { + const startMark = ""; + const endMark = ""; + + const end = start + query.length; + text = + text.slice(0, start) + + startMark + + text.slice(start, end) + + endMark + + text.slice(end); + const startInfo = clipStart(text, start); + const endInfo = clipEnd( + text, + startInfo.position + startMark.length + endMark.length + ); + text = + startInfo.prefix + + text.slice(startInfo.position, endInfo.position) + + endInfo.suffix; + + return text; + } else { + return text; + } + } else { + return text; + } +} + +function clipStart(text, pos) { + const clipStart = pos - 50; + if (clipStart < 0) { + // This will just return the start of the string + return { + position: 0, + prefix: "", + }; + } else { + // We're clipping before the start of the string, walk backwards to the first space. + const spacePos = findSpace(text, pos, -1); + return { + position: spacePos.position, + prefix: "", + }; + } +} + +function clipEnd(text, pos) { + const clipEnd = pos + 200; + if (clipEnd > text.length) { + return { + position: text.length, + suffix: "", + }; + } else { + const spacePos = findSpace(text, clipEnd, 1); + return { + position: spacePos.position, + suffix: spacePos.clipped ? "…" : "", + }; + } +} + +function findSpace(text, start, step) { + let stepPos = start; + while (stepPos > -1 && stepPos < text.length) { + const char = text[stepPos]; + if (char === " " || char === "," || char === ":") { + return { + position: step === 1 ? stepPos : stepPos - step, + clipped: stepPos > 1 && stepPos < text.length, + }; + } + stepPos = stepPos + step; + } + + return { + position: stepPos - step, + clipped: false, + }; +} + +// removes highlighting as implemented by the mark tag +function clearHighlight(searchterm, el) { + const childNodes = el.childNodes; + for (let i = childNodes.length - 1; i >= 0; i--) { + const node = childNodes[i]; + if (node.nodeType === Node.ELEMENT_NODE) { + if ( + node.tagName === "MARK" && + node.innerText.toLowerCase() === searchterm.toLowerCase() + ) { + el.replaceChild(document.createTextNode(node.innerText), node); + } else { + clearHighlight(searchterm, node); + } + } + } +} + +function escapeRegExp(string) { + return string.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"); // $& means the whole matched string +} + +// highlight matches +function highlight(term, el) { + const termRegex = new RegExp(term, "ig"); + const childNodes = el.childNodes; + + // walk back to front avoid mutating elements in front of us + for (let i = childNodes.length - 1; i >= 0; i--) { + const node = childNodes[i]; + + if (node.nodeType === Node.TEXT_NODE) { + // Search text nodes for text to highlight + const text = node.nodeValue; + + let startIndex = 0; + let matchIndex = text.search(termRegex); + if (matchIndex > -1) { + const markFragment = document.createDocumentFragment(); + while (matchIndex > -1) { + const prefix = text.slice(startIndex, matchIndex); + markFragment.appendChild(document.createTextNode(prefix)); + + const mark = document.createElement("mark"); + mark.appendChild( + document.createTextNode( + text.slice(matchIndex, matchIndex + term.length) + ) + ); + markFragment.appendChild(mark); + + startIndex = matchIndex + term.length; + matchIndex = text.slice(startIndex).search(new RegExp(term, "ig")); + if (matchIndex > -1) { + matchIndex = startIndex + matchIndex; + } + } + if (startIndex < text.length) { + markFragment.appendChild( + document.createTextNode(text.slice(startIndex, text.length)) + ); + } + + el.replaceChild(markFragment, node); + } + } else if (node.nodeType === Node.ELEMENT_NODE) { + // recurse through elements + highlight(term, node); + } + } +} + +/* Link Handling */ +// get the offset from this page for a given site root relative url +function offsetURL(url) { + var offset = getMeta("quarto:offset"); + return offset ? offset + url : url; +} + +// read a meta tag value +function getMeta(metaName) { + var metas = window.document.getElementsByTagName("meta"); + for (let i = 0; i < metas.length; i++) { + if (metas[i].getAttribute("name") === metaName) { + return metas[i].getAttribute("content"); + } + } + return ""; +} + +function algoliaSearch(query, limit, algoliaOptions) { + const { getAlgoliaResults } = window["@algolia/autocomplete-preset-algolia"]; + + const applicationId = algoliaOptions["application-id"]; + const searchOnlyApiKey = algoliaOptions["search-only-api-key"]; + const indexName = algoliaOptions["index-name"]; + const indexFields = algoliaOptions["index-fields"]; + const searchClient = window.algoliasearch(applicationId, searchOnlyApiKey); + const searchParams = algoliaOptions["params"]; + const searchAnalytics = !!algoliaOptions["analytics-events"]; + + return getAlgoliaResults({ + searchClient, + queries: [ + { + indexName: indexName, + query, + params: { + hitsPerPage: limit, + clickAnalytics: searchAnalytics, + ...searchParams, + }, + }, + ], + transformResponse: (response) => { + if (!indexFields) { + return response.hits.map((hit) => { + return hit.map((item) => { + return { + ...item, + text: highlightMatch(query, item.text), + }; + }); + }); + } else { + const remappedHits = response.hits.map((hit) => { + return hit.map((item) => { + const newItem = { ...item }; + ["href", "section", "title", "text", "crumbs"].forEach( + (keyName) => { + const mappedName = indexFields[keyName]; + if ( + mappedName && + item[mappedName] !== undefined && + mappedName !== keyName + ) { + newItem[keyName] = item[mappedName]; + delete newItem[mappedName]; + } + } + ); + newItem.text = highlightMatch(query, newItem.text); + return newItem; + }); + }); + return remappedHits; + } + }, + }); +} + +let subSearchTerm = undefined; +let subSearchFuse = undefined; +const kFuseMaxWait = 125; + +async function fuseSearch(query, fuse, fuseOptions) { + let index = fuse; + // Fuse.js using the Bitap algorithm for text matching which runs in + // O(nm) time (no matter the structure of the text). In our case this + // means that long search terms mixed with large index gets very slow + // + // This injects a subIndex that will be used once the terms get long enough + // Usually making this subindex is cheap since there will typically be + // a subset of results matching the existing query + if (subSearchFuse !== undefined && query.startsWith(subSearchTerm)) { + // Use the existing subSearchFuse + index = subSearchFuse; + } else if (subSearchFuse !== undefined) { + // The term changed, discard the existing fuse + subSearchFuse = undefined; + subSearchTerm = undefined; + } + + // Search using the active fuse + const then = performance.now(); + const resultsRaw = await index.search(query, fuseOptions); + const now = performance.now(); + + const results = resultsRaw.map((result) => { + const addParam = (url, name, value) => { + const anchorParts = url.split("#"); + const baseUrl = anchorParts[0]; + const sep = baseUrl.search("\\?") > 0 ? "&" : "?"; + anchorParts[0] = baseUrl + sep + name + "=" + value; + return anchorParts.join("#"); + }; + + return { + title: result.item.title, + section: result.item.section, + href: addParam(result.item.href, kQueryArg, query), + text: highlightMatch(query, result.item.text), + crumbs: result.item.crumbs, + }; + }); + + // If we don't have a subfuse and the query is long enough, go ahead + // and create a subfuse to use for subsequent queries + if ( + now - then > kFuseMaxWait && + subSearchFuse === undefined && + resultsRaw.length < fuseOptions.limit + ) { + subSearchTerm = query; + subSearchFuse = new window.Fuse([], kFuseIndexOptions); + resultsRaw.forEach((rr) => { + subSearchFuse.add(rr.item); + }); + } + return results; +} diff --git a/sitemap.xml b/sitemap.xml new file mode 100644 index 000000000..31dd706cc --- /dev/null +++ b/sitemap.xml @@ -0,0 +1,223 @@ + + + + https://berkeley-dsep-infra.github.io/datahub/admins/deployments/datahub.html + 2024-08-09T06:25:54.596Z + + + https://berkeley-dsep-infra.github.io/datahub/admins/deployments/stat159.html + 2024-08-09T06:25:54.596Z + + + https://berkeley-dsep-infra.github.io/datahub/admins/storage.html + 2024-08-09T06:25:54.600Z + + + https://berkeley-dsep-infra.github.io/datahub/admins/cluster-config.html + 2024-08-09T06:25:54.596Z + + + https://berkeley-dsep-infra.github.io/datahub/admins/howto/dns.html + 2024-08-09T06:25:54.600Z + + + https://berkeley-dsep-infra.github.io/datahub/admins/howto/remove-users-orm.html + 2024-08-09T06:25:54.600Z + + + https://berkeley-dsep-infra.github.io/datahub/admins/howto/clusterswitch.html + 2024-08-09T06:25:54.596Z + + + https://berkeley-dsep-infra.github.io/datahub/admins/howto/rebuild-hub-image.html + 2024-08-09T06:25:54.600Z + + + https://berkeley-dsep-infra.github.io/datahub/admins/howto/google-sheets.html + 2024-08-09T06:25:54.600Z + + + https://berkeley-dsep-infra.github.io/datahub/admins/howto/new-image.html + 2024-08-09T06:25:54.600Z + + + https://berkeley-dsep-infra.github.io/datahub/admins/howto/preview-local.html + 2024-08-09T06:25:54.600Z + + + https://berkeley-dsep-infra.github.io/datahub/admins/pre-reqs.html + 2024-08-09T06:25:54.600Z + + + https://berkeley-dsep-infra.github.io/datahub/policy/create_policy.html + 2024-08-09T06:25:54.600Z + + + https://berkeley-dsep-infra.github.io/datahub/policy/storage-retention.html + 2024-08-09T06:25:54.600Z + + + https://berkeley-dsep-infra.github.io/datahub/policy/principles.html + 2024-08-09T06:25:54.600Z + + + https://berkeley-dsep-infra.github.io/datahub/incidents/2019-02-25-k8s-api-server-down.html + 2024-08-09T06:25:54.600Z + + + https://berkeley-dsep-infra.github.io/datahub/incidents/2018-02-06-hub-db-dir.html + 2024-08-09T06:25:54.600Z + + + https://berkeley-dsep-infra.github.io/datahub/incidents/2024-core-node-incidents.html + 2024-08-09T06:25:54.600Z + + + https://berkeley-dsep-infra.github.io/datahub/incidents/2017-02-09-datahub-db-outage-pvc-recreate-script.html + 2024-08-09T06:25:54.600Z + + + https://berkeley-dsep-infra.github.io/datahub/incidents/2018-01-26-hub-slow-startup.html + 2024-08-09T06:25:54.600Z + + + https://berkeley-dsep-infra.github.io/datahub/incidents/2017-02-24-proxy-death-incident.html + 2024-08-09T06:25:54.600Z + + + https://berkeley-dsep-infra.github.io/datahub/incidents/2022-01-20-package-dependency-upgrade-incident.html + 2024-08-09T06:25:54.600Z + + + https://berkeley-dsep-infra.github.io/datahub/incidents/2017-10-19-course-subscription-canceled.html + 2024-08-09T06:25:54.600Z + + + https://berkeley-dsep-infra.github.io/datahub/incidents/2018-06-11-course-subscription-canceled.html + 2024-08-09T06:25:54.600Z + + + https://berkeley-dsep-infra.github.io/datahub/incidents/2018-01-25-helm-chart-upgrade.html + 2024-08-09T06:25:54.600Z + + + https://berkeley-dsep-infra.github.io/datahub/incidents/2017-02-24-autoscaler-incident.html + 2024-08-09T06:25:54.600Z + + + https://berkeley-dsep-infra.github.io/datahub/users/private-repo.html + 2024-08-09T06:25:54.608Z + + + https://berkeley-dsep-infra.github.io/datahub/users/hubs.html + 2024-08-09T06:25:54.600Z + + + https://berkeley-dsep-infra.github.io/datahub/users/services.html + 2024-08-09T06:25:54.608Z + + + https://berkeley-dsep-infra.github.io/datahub/users/authentication.html + 2024-08-09T06:25:54.600Z + + + https://berkeley-dsep-infra.github.io/datahub/incidents/2019-05-01-service-account-leak.html + 2024-08-09T06:25:54.600Z + + + https://berkeley-dsep-infra.github.io/datahub/incidents/2018-02-28-hung-node.html + 2024-08-09T06:25:54.600Z + + + https://berkeley-dsep-infra.github.io/datahub/incidents/2017-04-03-cluster-full-incident.html + 2024-08-09T06:25:54.600Z + + + https://berkeley-dsep-infra.github.io/datahub/incidents/2017-03-20-too-many-volumes.html + 2024-08-09T06:25:54.600Z + + + https://berkeley-dsep-infra.github.io/datahub/incidents/2017-02-09-datahub-db-outage.html + 2024-08-09T06:25:54.600Z + + + https://berkeley-dsep-infra.github.io/datahub/incidents/2017-10-10-hung-nodes.html + 2024-08-09T06:25:54.600Z + + + https://berkeley-dsep-infra.github.io/datahub/incidents/2017-05-09-gce-billing.html + 2024-08-09T06:25:54.600Z + + + https://berkeley-dsep-infra.github.io/datahub/incidents/2017-03-06-helm-config-image-mismatch.html + 2024-08-09T06:25:54.600Z + + + https://berkeley-dsep-infra.github.io/datahub/incidents/index.html + 2024-08-09T06:25:54.600Z + + + https://berkeley-dsep-infra.github.io/datahub/incidents/2017-03-23-kernel-deaths-incident.html + 2024-08-09T06:25:54.600Z + + + https://berkeley-dsep-infra.github.io/datahub/policy/policy_create_hubs.html + 2024-08-09T06:25:54.600Z + + + https://berkeley-dsep-infra.github.io/datahub/policy/policy_deploy_mainhubs.html + 2024-08-09T06:25:54.600Z + + + https://berkeley-dsep-infra.github.io/datahub/policy/index.html + 2024-08-09T06:25:54.600Z + + + https://berkeley-dsep-infra.github.io/datahub/index.html + 2024-08-09T06:25:54.600Z + + + https://berkeley-dsep-infra.github.io/datahub/admins/credentials.html + 2024-08-09T06:25:54.596Z + + + https://berkeley-dsep-infra.github.io/datahub/admins/howto/delete-hub.html + 2024-08-09T06:25:54.596Z + + + https://berkeley-dsep-infra.github.io/datahub/admins/howto/course-config.html + 2024-08-09T06:25:54.596Z + + + https://berkeley-dsep-infra.github.io/datahub/admins/howto/calendar-scaler.html + 2024-08-09T06:25:54.596Z + + + https://berkeley-dsep-infra.github.io/datahub/admins/howto/new-hub.html + 2024-08-09T06:25:54.600Z + + + https://berkeley-dsep-infra.github.io/datahub/admins/howto/prometheus-grafana.html + 2024-08-09T06:25:54.600Z + + + https://berkeley-dsep-infra.github.io/datahub/admins/howto/new-packages.html + 2024-08-09T06:25:54.600Z + + + https://berkeley-dsep-infra.github.io/datahub/admins/howto/core-pool.html + 2024-08-09T06:25:54.596Z + + + https://berkeley-dsep-infra.github.io/datahub/admins/howto/github-token.html + 2024-08-09T06:25:54.600Z + + + https://berkeley-dsep-infra.github.io/datahub/admins/structure.html + 2024-08-09T06:25:54.600Z + + + https://berkeley-dsep-infra.github.io/datahub/admins/index.html + 2024-08-09T06:25:54.600Z + + diff --git a/users/authentication.html b/users/authentication.html new file mode 100644 index 000000000..fcc6288ee --- /dev/null +++ b/users/authentication.html @@ -0,0 +1,866 @@ + + + + + + + + + +User Authentication + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ +
+ + +
+ + + +
+ +
+
+

User Authentication

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

UC Berkeley uses a Canvas instance, called bcourses.berkeley.edu. Almost all our hubs use this for authentication, although not all yet.

+
+

Who has access?

+

Anyone who can log in to bcourses can log into our JupyterHubs. This includes all berkeley affiliates. If you have a working berkeley.edu email account, you can most likely log in to bcourses, and hence to our JupyterHubs.

+

Students have access for 9 months after they graduate. If they have an incomplete, they have 13 months of access instead.

+
+
+

Non-berkeley affiliates

+

If someone who doesn’t have a berkeley.edu account wants to use the JupyterHubs, they need to get a CalNet Sponsored Guest account This gives people access to bcourses, and hence to all the JupyterHubs.

+
+
+

Troubleshooting

+

If you can log in to bcourses but not to any of the JupyterHubs, please contact us.

+

If you can not log in to bcourses, please contact bcourses support

+ + +
+ +
+ + +
+ + + + + \ No newline at end of file diff --git a/users/hubs.html b/users/hubs.html new file mode 100644 index 000000000..a09e26946 --- /dev/null +++ b/users/hubs.html @@ -0,0 +1,885 @@ + + + + + + + + + +JupyterHubs in this repository + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ +
+ + +
+ + + +
+ +
+
+

JupyterHubs in this repository

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

DataHub

+

datahub.berkeley.edu is the 'main' JupyterHub for use on UC Berkeley campus. It's the largest and most active hub. It has many Python & R packages installed.

+

It runs on Google Cloud Platform in the ucb-datahub-2018 project. You can see all config for it under deployments/datahub.

+
+

Classes

+ +

This hub is also the 'default' when folks wanna use a hub for a short period of time for any reason without super specific requirements.

+
+
+
+

Prob140 Hub

+

A hub specifically for prob140. Some of the admin users on hubs/datahub are students in prob140 - this would allow them to see the work of other prob140 students. Hence, this hub is separate until JupyterHub gains features around restricting admin use.

+

It runs on Google Cloud Platform in the ucb-datahub-2018 project. You can see all config for it under deployments/prob140.

+
+
+

Data 100

+

This hub is for Data 100 which has a unique user and grading environment. It runs on Google Cloud Platform in the ucb-datahub-2018 account. You can see all config for it under deployments/data100.

+

Data100 also has shared folders between staff (professors and GSIs) and students. Staff, assuming they have been added as admins in config/common.yaml, can see a shared and a shared-readwrite folder. Students can only see the shared folder, which is read-only. Anything that gets put in shared-readwrite is automatically viewable in shared, but as read-only files. The purpose of this is to be able to share large data files instead of having one per student.

+
+
+

Data 102

+

Data 102 runs on Google Cloud Platform in the ucb-datahub-2018 project. You can see all config for it under deployments/data102.

+
+
+

Data8X Hub

+

A hub for the data8x course on EdX. This hub is open to use by anyone in the world, using LTI Authentication to provide login capability from inside EdX.

+

It runs on Google Cloud Platform in the data8x-scratch project. You can see all config for it under deployments/data8x.

+ + +
+ +
+ + +
+ + + + + \ No newline at end of file diff --git a/users/images/desktop.png b/users/images/desktop.png new file mode 100644 index 0000000000000000000000000000000000000000..bae26671da502787d3a8a5cdb02964c88fceea1e GIT binary patch literal 638552 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

hW`A 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

{8qk5?VmBxes!E2 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≥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

bF1|CVEb(mQMfBA(b7fcK~8xv01? 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

ocf5B0MTV`aM|S6(L-s{GpJFB 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 z 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⪙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

KVB7s{N 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%0AFK0_s6Bn!{&|Z` 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 Kj|H zZ5)1PG~2^9h{S#CA6O`HS=5xQSSz_+r<^1nNZCW**(1hKIG-|+I}xV|SEx+AYZ<-o znl)v5`Zh6G%Q_lCa_Uj?wGK?uiBC*Be#~VpOs?aFP@Yb<>*+WpM@6GH-L1t)CX|__ zrKO|H@ZwRq0sNN!lZH&(=KjNXqU%gV!QpbQf~d!uC5DYOmWle0D&p8udKVnDy}zkW z;y?8+0ES1D#MhIj#J!T9eL?iIl6rLECAKpo`)7}nUUL`lTEADf^N_Ju@l25)ii0R< zc!8rL+nS32$*CPJegs0yH&^{|O1sG+Azd4T`qIX25#{COA3j_n3FV`CptrMjUs+x&YSbD*Y?!GNiU;1TNcg*sIe~R6wrn@zvCkgf3=| zT128^Pncnay8pG=w6cR#rQJ8B;s{eGhC2_8lpe@qp3O=!VDiRE?0# z{ew@lHQ^TrD)oC1<5@-JV?uX3r7of@BRj+>yLR?HO}$eyEAI%zt4May5ZKx!+` zYD;Q-n753H#hZp2KnHuMS#GV(Ct8mNnIbzn1%YOnKu5dnky(o(6<)D28v=F9*`uT{ z(liS6Few6G$Ta3$r7&EXUBqvl?6=mP$*t4iG%dj$jP}kV9Q7?#UuH~A$+avM@xk-f zQSMA!ow19nGJScvtJ5?pk~%RSFePsd32Qal=NdG!kA#9{<{xV|AA76& zm%#q@^>rJt)2bsMLXF#KFP6vROoU_R?k+Yk`X{5<`UnNzl%L<+-K(LABXn%U-yT@vcLVuitcVZjsrRZT-GcXcLup*kYp|EjFD zlWa=mnoH2GsOb$$OaI%fXV7Ww{fuE@{jhYoO2err^WA_pA^ggl0~c`_UCCd$ZZI*O z<|!nL{(sO)%1xnAQDF2Itdrn(T6Bqcth{bsIwDxJzbY-^RIPWn@=*^LzpQq|%Ml6{ zJ*ERpZx5$5(1`^_iX6>?0SkrQ*%Uh;uf6a)RcXS$oVDK`7Y%+?)DbKAb|LA_u`-QFqZZcxbfX`j8aZll?kQLkk&?_4OmsL$Pl$j)4+t zK*wJNgD1ryCE@@jfx1FRU;st=HwLc<_FB^|p+MHWZ5#7`fy!fx&(Ox*cwg58>UH#3 zLBVYyJ8M^bo)lK`?aICdniUEVvqF>OCoPs=8hjortD1UX1Z9~mx1)S5kzHWp^~|TH z5{~;+@TzsFP$3I%@zEQSZ$;IXKC9=vAHXnV=71y7Sp>b4iD|r7?a?`LVKsl%88spj z$f}1nKAJyU)jDmbouVk8j5gnhtWp2>amw%5YV#wwT5*q^L*(vXYFLU7#58ULgv8%( zz5@dRcca4REfuvh_o_1L-%*16`lZlT7Lt!lU9nq+>h=jX^zH8ML(Px zXf;S={2ebJdqPo{2LI@YOcB|=L}xf$W^N5_m8}Gipi_Vav~)P03lY>N7f$-i-YR57 zWEy!u2=+cA9e@hWBDV?PIX+YN0>CFR`*spFiLc;GSS1*<1)Pr_(FNRcc3v^X*wkDi85y8QGbE$0{%vr3 zTpD?mo!tm*^8s{zzXxPC6O0pPr?R#(n_C`U31u?5IB`>WHKn1`cQ}1@jY2qoo9Be( zRbb!P5}~zR#-sSy-_{{DzaOn}L~lKe1X3(Y1eS9`JDlp1Wh{En-$Dq%C1tajI5{Ww za#vmSs)P0Gw3ogRr_PQtI^5LkUChh+_C--F_GVf$-QZ58g8QXV!lWA?_qA)+?k_Rq z_upX%6*YAlO_^fzIR4Lps?D*w^IPYd_Crw9)`wG_y`7|6^XH{sTbKzI+* z&S9~!;y}yNmQtxg$8#zOI_}V`)OOENX=o#H?6A8dROv{f^{^&<=}5vh(Cx(J^m_T) z5wb@D?IT#OTKv7~2Z}Yx;c&iuIymd|MU_$opWp)h3Qt1EVU9%ZsB0l^xz@?H=Uw%UhsmHDdhyZnwtD$wMG%PHyBypom60 zf9`OB9+h?X;6+i|9~DJ5DqEa9H@ffC5z@s2@x=u5wc@Zoi=an&suI|3KjW#?Co`Kp?duULuqpt>J8Ybx_ugfZw&>M~^dtT>hG zX27$?)6IaMnPch}FcayI;&TjKrHMKcXy2LXSyfJvNv69)pDX9`^7ZKK9sBtQUHW6= zwgX|j24T9J`R`-*2u=N#1G(enD>F_tW3|%MH=iXv(*0Gc1Fa(B!}|rOALN9`*oF(A znLUeWnymmX2xt~nL9)XzrM2S8`!SL(cK7bRa?Y%%7;bKUr%nd`o0IB~W}olhDVLZl zo@g4+pTC-PF=Th4^O9q{ef@)K*D>aO*NSF|T)Ude@2dBsLpHXp&nGY;$|vWul2-vu z_P#J{LQ*a#B*Sjkd#!9XZ&`UcpVOriv)FSsz|kbEnLVrFGo8C$G7$9DV1(P1#M*~7 zMDNz!9S>A6WUzJ-=0!h2itbrbt2YL*DP=)TQK+2eyu~t8L_!)Tq^DzI+r-54rLkd} zPU459IYDJuBnGqaknoz6htKLIDLIO;f7bFqq?Lz9F4Te*;z?VXH|!Ie z6AqTQ$B8vBbxmG+7Ak}JM_Fz_OiB|B!913`<}*Dw0CMiVM3qg}JB%jmcp;8@-%g9? z3}(>LFRrtPJXV&o^Q_=LO2c)U7oiwT#}d=oQ(HQG;=?lOXf@(y4k_e#3Oi-y>_`DkSx+LTf0M?K=eEZ*p=Gj*F~*UFXJDU}I%!e5Iu8;hai@YA$h+JrPeQaM07Zdw7h zFd2uYX=f8(-pL>NLgCH5R86Y1J;xxmj7yLA>x&!M95}qsm@2AjAbY`>Hg0IW<2hR0 zm%uPs7WB{(P0o&qq@8b32-+E48&T<(>xwIj9w9k?Qj}LgvAt}=Z_kn*;bBiPhPbF{ zkzg^s*qAud_kqQda=5tgxEZIxdHnEb=&$4|XbK&8!{(TEWr!aTFX+H=fyqnky}b>X%5;^| zVeFfmoYDM(dv!l1>#su~$5~9TH5?S|2jV|J&l>>dz8-sJ!kWC+;@Y zZO$S-fgTZZDjRkl>)c04ZCCn zzWEegFk+tWl$*Apf$Xex@wc(f;9dzRiEjXtEc}d?tiRiELxrQ;#USTW4}*ytW39@~ zK~X0U{~ANT_l@u7D*3XQI5k1UkThox*HhB6XyZyK6;st&vNg6%=^X) zIIH$*0K8>saqAqEA{>Jtac*5$uL$w!_osiRR8uD8OGt{glq_FDX5;2@k2w-AQ6O`@Yw3fQ1B?6 zTVG%Q^5rJv1`iL2E${`%70boySH9+0?UM28qnrdEVT|%mIn>9ne8<%d{)zn@I&D=RB?@$Cm=7Y9% zA07R?g>F~#rx{jnbI$1Y3zZ3w!4`4uYy4V1zykV>#sT}f*I@U?h%egp;8?YZ97~T$3%kFAlB;B%){+Z9n&yPD%^^aP><(pJgRG^lp zmvHlc(ZvRoh~Q!X17iyuJvL}3S^Tmd1mZ~Ns!oB*R$>i+Q+N!v0`H8slmdF#Ioq$m z37M&B*U1L8+;D{Y5Hb?-I5>Q*m3TVZrnt68aav(ICya}R&NZ%&kVYElslBkZ&`mev z$l`rk37$YQ+s&O=UQWkM$*}Y3l-(@KaZ{qBpyYSS*>KDg6>Q$)U7Ey}%DCt)yMpgm8@tB?QHq;Ga*fZau z6m0x1=Y+N;tlrx|`~-AVz`-W1+hA_K*b_?|tjmch<#}0G^1hGVXS>J2wLb2yN70S0 z65d(q?vM}+BhPejK`$No+CK!;dEUS>KKNpati*Z-VM^v!(0!wU+0+Za zfMv&1ZsY&0;Z!3}GJWtiwYiXqc<)aD8S3h1j^l1=C|W+88$IXdyZ{b04zK( z-KHom?4!4v>FPeY|9Z{^$jsp`{MktwXNk($6LBT6UR>@cR+S1BjHWpbugw~5OagZ5gt*i=ME0Hse+>P_LEZGBsa|QT)Q8J8F@nY zkNB^+OtQ_+?Y4+quV@?H+&R3+8|p2Z_noCY@RRXlco( zO4CftKRWB!SKQZj7Lr+3-2*#%XrJ2`W&PA6{%3F?Ck?D`l@XmdfV2)myY9?%&-c*{ zr=QM`>HkU{?dIpkYvm09{}bRpyt1&fHd}LOf&8&UmPk$?CS>!sn&bJCHS}*{5-~Q_ zuB*H(QI78tx}t~pbn}lwaJhnmnnHHepb<*7avFFq9%G`uB%Euk z*u=0!c>-7kP^gNDiTU{PDjOSH@vx4%y1J^WEr0_-7&Gy<;zBsiNYw3mngUv>$$9se zi1{yLJ@14dT-($X4%-fmm@Ek$-#(MzZqnSr=)bE62(fsZ3QNHqP$LUp`wuzA2Ud%p zVF;{lJj6?WwJ1FcYhc(#=*x%P;5|O>>V?HG+%|R-2rfTpGx3CG5%7rfy%Eb)ijJC_ zzxyo!Or0G(%{gr~gcHH*kZ{prgY>Ap={#=TdRrb!!e?Y5x%E{b_fA1kW;&Uu$=C^t z*hiCz{|0^Fo=BH~hTma0V9p@WAkSXi;4|WWb(26p>W%?gLMtW$M?{{}34JEYV*7C+ zD+cJvGvb=CL~wxe_t%1A#ijSHHvb+_tP15vX3kSLI^6_eDsAl^z{i&U_5>! zytP4V*EOUKL9KYfUm8p3opa%B=gl<3Mr_x+*7kkJ{}j~xb-wRsZJcq|azLsH02q@- z4c-CHsY&7U@}l@+WML3R1#xtY&;W3b+?^HMU#p>^Du(@Y&*f2ZtL(22&K!W(qpswyhP;A7EYmQ{`8oRar| zBWCc|MwiBl{2TS1?wLH&PePqlHoh=f3CVK)DH#4^fORW@) zqzv}IRkBj`)uO!-sM9aC7xixiQuOI@1=6|VxkZ)y#P50-KoaUGS$o`j;yr8uc;o=q zbR#tEZHqEc_P7xlmbhdT-A*T(^9&N%V)OOUI2YZ)jnu0Qzi{QxGww=yjjC0UTQfZYg{Gj@MbJj$--k25I^ z*X4}V%A-g0^I!9S$_eHgpd^Ao(+t18-?|2o`ksVmHfRTgRqeXFDh)&~pv&>C31}kYfm|Y6_tx)e72pIQW9jkgR?3yF z!!hw)fGQ8fA}F2GN7c}v-GizcmB*P~{%7`EKLPA!OSP>4+iKr zF$T~7<2o0M#Ea?Gk%h?=$NZCJP-rkH1PIKZdO81sx;3HqFR{8U4Fa+bx1b<- zO7;~0^Qt?-8cLi8oeW;#x_!+mi$+(v?ndWE#RoMC3b@HYpXB_0d9S3dYZwM%lmh0< zhBDq_!ffV&H8IFh+pj6eh9dy}C%V0H7g2sEh|LQR;AL3%onqh-?6H>~qh(%b0fG2% zu91d4_HsMT3=D2t1ZmSyG2ONa{O|PD^&2Aur!bvZoSWj=H(zU^v)`G$0uwQ(?%Uwd z8SX~lZGEF~b<)RqZcla-amZ6APf7y)mt9e^=|9#V$&7k|U z|I}fD61zt{Y7l|P7Jo@iEy@)`_3kEAy9R`FI(<@0dBPoWU;e1t^VkRB*P-*Q;Z?kT z+rK*R-~Q2gFQ0>RhJ#J+vEH8C^e*v*jL6B zevALUa=PG<`cs9eEF4ZT=t=vG5h9nba};~GAS?OuzpwBQoj;XJDs1B2BK@oZG+rXs zZv{Qn1skgl^V`OLA6a>eai#nr;Z3sb!e~Bw>ReI0S#^%JD*$LxQaidZmBL^YT9ln# z0at~V2h0(m}Ih{QS60h-oT{Asi4PdWKH@eoo^g%!`%v=clNy ztl}!DLX<;Q9s>%f=i>PANn2kMt! z7kM!0dPDr~B1u+->}A>bD7uyc-4&mlef9I>fNZ5sd9_N##Dp*r`=-oDud&{jF&BS7 z=lHdbJ zSot^9q5e1T4Rqvg>`f)P2nokB#~M+WS9>+I#+l}6h5u34h}-b9MFwNVCx{v}dR6l~O;jJxpK|DE>wRp0ao9mfhc>V;y$}8ncgJ?TfMI64 z=48#Ip6yrZqgw%G%^C&r2;2YqL0!Ao9k|i)Hu=aM-TY1%Fq)`K24$Mcw^?*x=6}t2W1Bht~#c$_oZ2t7_9%Tu$|{+66mg2X^r5H% zogKxHDzlkQ{oEm)rwF7~Ni+kUWHE8sLMop#XlBV}tC~@YIyshR3PmW3e;+fmZeUI+Kd;wCvQ+q06lJKPd0 zy+inQ(U{!hPZa_+I*w#GOvy&ANy0gerKKTy?vgb>^5Py@ltf$W6@R~%xHWRi{}w;} z@1^J7Ht<*w7$d6uqw^40?%y&6lH}NX)1yLE{%QMvxINtzj~37sI{)z5!%~#Pi9FJa zL((fzOSf-=7k2{`dhFHwJ{3A7qsApZwz5m~HU(V^?iq}SmfVKw^L#EHBAy8$0O<_9W`_hID zy7Ry))OXDtn#=)u_Fw1%^EHSb4MeQ44PqDE$IN0a@O<2%E<6(#XC=*uZ8qj|? z!%S~XF$)HA(tLZVrp^cvK!y)=6Fyuwqfv;4ZVWIkT0YQ8sbw;Us=V2Y@s1W9=#!9e z@%rx$L|8-K`IXzkjQaLN1C^Ye;{9NEDU!Ke0TO?6AjWTjI*Ee3vvorELthu&w2}l2kioeEE%8pyxO^ZBb}xX`N%(TvtSEe&QDEC0d`c?PJ?y zv2-7Wd*+!av)&gMAA3p26@N0m>JEX}soJDH&LXwB=@UOafr@ps9o*2amrXfc^LuA> z72=>ft4$rMANblzD@weGc;SZlNfZVTR$HU7KbfAc-YXv(q;{=&476|L4A~SZq@sjG zV^K-zO}@m|`PJn!%)lr<`HsstOiE7TkOL5{xnPcqP>oy2|W(i;7Q5}NG9J&y9zOe*;iQ8iN762%5A6U1#~`| zYnO+SmaxY0dM-PWN;RGB7d!nP7N-m7dDa}g*2;-acP%FQo;alA2tu;VdR&_l=E{Wo z`6Y;8;GK?cTP5i+)AT&9ToEj2`~EW5#WCaI!>)$0qxFcVV{aEjBtL3(17WZddaklbUbMV(r%TrL|;a<_YVIUEsC;nf+T z$V;Wgr%vp^>uPj|*3NEs3>P5Uq;$+tq2l89xi~o0g9~g`s*L4!Zsxd#;dw%@?-U1r zG0}J7Q5y$DE!+;87gUgo>SN;@*BzgySW2x6^JmJ`@_Ss$KYnOOl5J)Z(7O#+Z!#Hi zw{<;OJe6Us`)@T4z|HBK2M+OLF!uJMPk3Sqva`0a8}-Bs-8`l0=a>AoI-+Xg$K;hj z`ny*;L83o*MU`OtR8dm(Nz>SfUXTUWdLIV=dQEnwm_K#83D4n3naSl+Z!#;3Y1h{K zTv$?q@Z^NLHfNbAD{{!E;1%>&y*55YWt9R<>WVK^eU*!NG-#f!o#GY zCXwHr>!ZXDL(GpXW+NJ^5Vtk;1j{w~&RTIchRO1dK<5RZqQx6P4Wc{i&-wWP9T0GH z%VBgvtV8KK%<-K<+!kV86p2a5|1SJ_Vtm!f_~G|kdHJhfS9ca4h`fzp$+vZ76J-`W zi@&B;=5SDbCu_i6JbLSy;HsBy{v`=b-^%(pf@3>$Img=Obe^N=Q-uD}6fWaWx$3Qv zpgcW^>Hku7mmZ~7z1>QlPUO1FN-5pwJ+gn#!8R}sdE^cU`buI9A20jb&i8O&@YR6( zjjZ0`>_L9n+9hGuLaTjR9=Gm=?DL31K9AOzn7_QBy6U$Cv%8b0aYt`NW40w#=}1IM zk0W&fJ($b$+1%rrs-mJ$sJ9;@Q-K3hYfQva2P~`JxHRm*IhF;Z_SYY8<3R-#=j_!pz)~s_5Ud{j0}QLEJL@fJ#64 z3a&~!UaJr%cuPg+3o6L97v)eYhQXO@Hm{-> zL6#;w(Zuc<>(aeJzs1x*zuQV27M}zss#8B=N0FC)PujceM;@Fq;uKj!SoMtNsmZLC zXm8+!VHaqDKvqG$1kTp{scpeG8mB)n*}s|EY{K9;^^4tfe1@;jfJOj9aFPdE*v#H# zu~>-^jTa{qPmbO^Z%Z#b-S85fzsMSL#`?c+{Lx)s9uA8D41E3@$16ngOc{-5l(b#Z zGRr!E97Gux4=cj3>KwoC4>0I%#ww;J#d{+|wP`|Ax!n_FvEsx5N8Lfki`A{sNHA{YxtJZWuYPfd?!SbL6sK40}WL!zI#O)&QNs|54H9}G5U`eSb1 zTETU#8cKE67LvV{ zjOzZHb*#EQRnXe^|Kl#UXRo{))l{vkA2C45uWlgihkztkDtAJN{R020HBvyi8Ye(? zOa=PqxEC^fM8d>-YOc@r2s&sHY2mlSZQ$sk(6GU^6C|FMF0^rIAjmb{n)pwp;g9a? z?2zTP8uDI0?@^argU1-QIX#sdvPb-kpz>PtLwi;8uU!vmuD?Dp_lvsn^J1@(*r{5> zU=z=(*NL;R^gWw=+;Ax%>7Dm>tE~6|bBMR8=BJ@5xb)5W?Zkh(&_8s9JsoDd$y8T- z@B7;B1crqbTqqvy@EJ`o0|1Ay86}wHI-n+ln#axzh}Bw)K#r{9>s!tL9`TR$KiWS| zhA7KL8V_F;ayY0Dvm3Wpd)uF&yLJ*fH5HKhLBDz#9~?GXt!nr`um7&x;D#qusiQ(K zibF2S_>Qi9+fA@0yCM)mlOaWXYl@&G>;(l>C+p#wmACNY5dPnndMtTVm$Lq8iB`YF zqii9EXw4H*Ee@*go{O<&Qv~pny`u#f7;#P7H3)0mUXUPO(%eY6? zTGleE4S$6qd8aJ}Cs&cWMzeR10kJ~yI9Nn@xH=pTS5>{%)c4Xpg|O)rXV?(#AqX&AU=4*(s#wKLKL@8ZrNHKgzUNzUI3-2J zr5%a+8Cn^wFE0*(ZZhU5!+@CQ@p5ld+S+RaZ7=I^^bg?(-22zkwyBj%iARe^5^_c@ zVeCBKVTM?W^3i1?l{M=e{RX>x>f8(w#B7F;&kACKAuaILttzqya;)4I#CJewL^qwB z!Eoi4!S-7U8jS+I{$&@`s`qfV1_UA^wU>e=dGP;!L*>5UUInFx^rxa6>u;W)s*HdW zJgo5sesG8I?JiW{$uW#Khkju44`)e9GD|HKu*99fa^@*%*8Op8Z0y=YU)T>%*U0O# z!SwWqpx|J=QVZiPB0l(ZG&yAv)F7&#Fo0-jQS%UJLLOQ6E@*{T9}~HM9p!4t?mxyY zo2ze~e+YpTDdMW+&KtECb%ctbB7a;$k1hjKImpz-p^sr_>Kdz~LO1#~^_M4VYBDo@ zkw6?agjrmOi;D}0;`E>gcq1YrXz39wH(%TX*AGI{ReO}@=a-f3eh*}luUvdq$tfi@ zp8EMSBMlARJp6aNzT(|bT^1jYR12HFRzaD*AuN_FdcJ=7SS+l}+3Jcxpga85`T7|< z|BK|7U`Ju}=s_!2vir_Vbee2Pu)qJcRDin$>@JT(AXejb=#pO6y>wSzUf$1)G$yN= zryZMIlMfCFy^P#XA9FuR2)H+bIUrOXCZLJ2{CyK2qt|?U!fu=OMa0${I$OX89a)Dt z^`YqJ9UGhk_2_nv_M%ko0Kklf=nhuYr*FYpFTR`dI-K=VQ&)d?fvJhS0373#<>l`< zEe$~@+-c@9fj5t^Zum+saxhkclf%u*j`mw)J%@2n9<#aOEmgbDbXsB6`pK}>M*(uJ zE@rDk+&wL+l?%aS-W!E`iHV8AqHT)P7Ti4iNZaeRu4Zm~lF?S1TfSvBX=HK8n>9ko7+Jy4W}qlp<&;t)td^Ib7Is;5i)Is2IEu zhHEs|T=)4sfTDB}p9Pvjj<6Ib?Yl(Ybe23zwL(+%Qok(< zNC7M^EIbNgjQsH7-Z2N9hEws&=yEcE*&sIrTb9aB*R*6WBZUOAS25!8KJb4^;uKYPG~=jVlKRQ*K{rMxDv* z;c-#vNH(|*v187cjuG>cH(0Y@i4EcJWQU~g?hY$dp(2D92iwU?MV~weTbPq2@>1-M z7WVUSgPV9gd|vFrm%PXk}_$qfUS8fjNSHw5)91D?xJjy zzSIx`bHY|W?PNJ$W;KVL9R?qe3S0N^u>sm#H3!Scca&@cw}brHQREp5sEOQ2@hwop$c^fP%KAOs^isP5WwLjSmLO5(oML4aq1QfnW1_nU1V$TLnqddK^8B7l{R) zfdpK>FQWutpr!7cYfJ#Q@nYw#>M7b}DQo5N?WbUC)sw~FI;{DGQOE27%rWxJ77I5j z78e|+SH{Hk?-PFQ4=%O>p+MS@!E-SBKnxoOQ>E22yzHCG4Vr4MEPpY0Lata!& zSfqj+N)uv_Zr@k|#sI*UPB{w|hU)%!A3X9PrRNXtmhtCCEAGG_LAPQx_VI**S#aC( znx>?_w&8JViI%QIzq)JhK%IsyE>aOD;=?gMOxj*IzlGz_TQQKioSynEwyuC@M zu$C;y1F+IO6uF1Lcg(L4TyoT=eF?^(L~^lQ<{=0_L4?MIsTha##eDFp#?f&JM7K|^ z{P1%o^O5Np85uXp6Z+4dHKt%wxvxKZzddoZ=S6w>=G7iF{jGm9OnoR=l12^xQQoWT zo2k}pF7?aP9n28O4RO6@Iu4DapUIM9a*&fg7ZvZAv)(K|;|<*a*;#pKav3yA7> zVjTCejnJ>dk3Fd!h+WE7_&<(7+TVgoH};O{7}i-jyT)f#(&_Q%kG=~dkgNAdM+Y@W zD8LEL$jSoIsa%-vMV7dT2nV2a^m8YO8hlt(TnyN8fSXa`d9WK7CkXM7NZBS>c?E5r z<_c|uTIfFPdtOxFq@1a=AsV}cup-^G9bo1re_b^Dxr`XeDXJi?F`eYBtS9D5yehvV z!+Y%8Wa0T0=Z3>@gLt{5d15p3oA3fW{HcBWbPjA%M(5A*cl%RpM?*DUM_`QZ^a6{- zBd?>0BdF`Tnf<5t8#ls#<)ZWw9nkGFyx%i_rsQBoI2Uf8I0?m)DP%R>YM+LA=YWSg z{!*FS@5=NmUarq*mt)VGeD+B#>!f-5ssYI=T-DfgG?EwAfO)=oSVkJqsdnE1_yaJ1 z0Xh;0Sy-qzxVVlAjy7uA+S^qU@6gR-76pE0s~#C;j`p__LoRtOUJ8%xsDi|$>Cu`* zV?EuKiLgj+o;AHxn(>P?ra007vGN4+;YQVy95(f`)a7P6}02zp#vw}7U8-p%}i0xxpamU5D0D>7HV#uGj6dMurgmYNFj zu$*KFO^0t>Y==`9ho4B6lT#@van z6UkXFr=pbOyTo27epEMHZ1XV6(h$tyYHDGI+L-^g53tiJ)@zrbXC@$}oDichT!DVLPqedG(Zw~^Yb;UHvOnS} zQcTa~V;?!T2~9ajL#4Xk;GYeHO-o|)8aJa%$bX|54cCsUqsTeapLCQMYn(`b9|@}w z5A75VNA~winUZw-A0 z#RR0fZw{M=R+ru^|Nlvi4YfUR^Y-RW^5gbg$|>02{qef~!orrYu(0(?Ua+HEqbb69 z1KmuiDXNp+@G^E@PJ_JSTYoC!&jO9=gD-}J+d13VNoU)3Om-o3)#H{!n(P`?=k{LZWW6vw zzpK!((YDr9{OG+@1A@Qy1x(;MDaIp0-pbG5YCpo9f3Rei{8!(0#|q5}O7U^`va8No zhAS(TZd{x$XBu-TeaGU8(u)K_20yK2PjO{ZXRuCGl_Y#}#u3*wqt^P$MR+{gmK=_H zODes)5Qroia{bZU-^=;;8+E-yFo3|{P6Js!S{aZoC_31RzkM9`t{Li0DOJ+R5c?8} zZ33QfTU~C_)c2rkI(H*L$Zom?2t)Z_kIVE~*$q|G)m>}lqI*f2FRQUF@7!z5mH+|Y zKu^<~MyB9F@e`C5V1-9YclM87W1L9r-_v);2+c8@>dx@CGrS#>vD42k_whZ*TN17? zo>%x2onp>V71A~+Sw^^L?C}E%x7T1BJ8bEhJrHb0FIZq7|2y^maY;NC6+er)%NjD2 z80LO3iuG--6#p}ty>;1XZ+7%-^R$k~gV6X_0Pq#)?=PpIfLT@G0I`yZi5^&<_sszw z$i-zRTRkg(zl{n7!V>+11+gqhJxhtOujJpMx-UwJV)Cs` zn_xCxlLcW&9t=by(*%>^itKDT+O&0SQ&Urj)b5;oz6}UAf`D)jh&u>=c*N0kxQfoT z)4?g$;c8PA3Jo(>JB^mPJiONSCnY1|R*Nns2%B#@U&NG7?FEd$$IOtWuQ3Yf|KLb> zgR{z9)a4+AR;$i(P#MdbJY0e9oK+EnXwu3|TH3Z#kP*XpbpB^x(Y)~W^@%g*FW-X! zv@9My;R)B(_3%-;4#hjD1E25VB^FpUC}My(v{% z4!@%uhc-zmNUgiAxu17MBzrE;hOzR+=;Dn)*xfQF3WyxqY z0s%6!%^IVCplS>HWyVlv5uChtMtZvzm@>iGm0-t;mcWUMOnF6Uy1}1D-~C(UjfFo? zoPN)G_l~G&l(fkCw93j|@Cj9d8o8dJ9tS8lZFm{oj!NA4Ax-H+iTlAZlD1ZAYgwHK zUGyd64!_saKQt*jOJ(HHtww~`2q`n6*z&4|sg)RN#~0v=c&RAO;Ns_Ty)hdovA^P|X$-s~CZ^B`r^uY@>e`pr zqKi{pC(33qQUmxW_Siea@_kQ+Ln)R6gOvHl6+g>&`tF`6u;P1g>Ng_uYw2sQFBRc$ z-A}Qn*1vTRMaO(6n)>^hmKy_0G<*>sueo|&zC{hHK zrgWrogo0Rn^`J54}(2}O}!r9&V=>4@}BNRZwM9YXz1X5K;H|NFl@ zj>9ldZf@>9cb~o2UTbX_kh&UFxqEx>XKH-rr-u>W;+Du3J{d*MXTKfx2R6Xoj!6Zl zown5<{rmP))k8DL#k!#5%XZhKE}#s6r#BozvMN8J{3+{xKB5V!@jyK?t~3d) z0izEds93@C+uAso;Cmg2bu+MZEM)5Pc>W4ClBtYtXf4 zUZ?{}gXuU*#9>GgI>Z#RegZ6E%?cbyFS?%5G;&3NyL|1PFfgTZN(Bi|-Mb6tD=WYc zhsnUrWNom}>`-yJV&WpeGD8#9X2=Wn+O=BOUo52)mw34%$gvj@>sT1@e0G{A;go~$ z_);=C*9!$mB*hs1Gx<0=IilnzFc`R51_jw}^ZV6NN4i85n*KWH( z{(GVr>s)Mq9qN+OKkZ*&EH^$4{0#V|sw(T=SfM4a&JM8jMK_?fLt#Vpc&7(Q;#~Rzp+?`tAleTx$`>RVj)=G{2Jh zl_Cz>u;s4G8kE0_yf|f|e`GJp;SS|%@k|-yVYSWeLz4>PW=;Y2+HLc*3wD71;UeHa)zH{@Ch<5@0!M%0q%MGZ6|u678=_eG0`EgX zw}r{23jd8H1~wKzJge8Ptx)8o4!$Zf{f^P$Qu0M+sSSYqIaDr!zgeVQGIut>@2`kh zs$7BnI?ofHH!c>aa?ui>%(+#0JVjZROLl?nL1w&d2()>}Hpz9F_p8<^Ha4|y2jyke z_d!U&g6K+GO;e7+0%Tb!{Epq=mxY2FY*|@!Rdqqlp(mm57#N;v#?n0f9tCkFgIZU>eV|cC(o!S8TW~=qoh!}tble+3TdTdIF4hGg zxtcDH1O5Fh(r$Jjkb@na%Ktftt8DnK?FI%D@3j_g05JmxC}?CtLhizDp;=R{tMadB zvomMKkj&fsJTi&T>Hhf`v@I$>;U-pj0@?cgb!a16CROVjTs@9}U9$v}_v-NQF!+)* z8o+eS%xt1LjGd&j@01C&yaE0Uz}Bw^0kYlYzb^c<>t~7@cEpf3%i=cNW%lVv z&cHiL(?O#x??VC2TV2Nv#M9pXei|^VWs|iHoc$;;I0L(gBiN$hMlIxv4=Ow$i|?Lu z3A6x8rKwbu&>wd7{$l|CZ2s}%M~BG(-UDIdT-29M(~#PzMLbtEp=H0?@6Oh3Cme=l zIKDh*PibJS9$s*p+(ma}L4`TQM$Zp87&oEWQDxSrzjCc;L;y0#d%&tIOn zQoJ7)VNd)hPBBu%4@x+^-2FR)^{t>CazrN7U(E-yoC4RqZjtXED4xYlnEJC)f^*Z&Ra0l83{}`3 zp*@5{U4x>$sTE|Js3g|j8Rw^_zVU}9D*=;Gs?ob!snvyX0XjiLfNNuy30d)U@>swS zT81LHLfcC8KmQPnsnbAuA1!yscjjn0FL$)5lc#~k{@mJRs5&XGT zAUw8ezjk^^=DPrStp~L@7=PsXiyQY>^0ad$okFEI>2@+D#^i4T2DAjQR>p|>T+Sfw z(9+D46iqW~wwZD(i}5k9BIY9X7Lu_8mYXJtlD^}Uk{6=h1`R}!n1fq9Ts9L%IFx@{ zG|jZzXL`G>qSwA)e-WlBw_6W3^|FqTb|l(A{W3q-G-XHfG*uVg%j^U9S9ZAnyQUgjQFtSo|tZoKY?aVVF;ZMSVGCLRyGE4RGTT55m?gy!~ZMCKHf^PUfq9~ zGrBR@El}0E2;kMV?pK%36LMYFM9LPe3A~Go)vJWQjjo`h_?pU!^uod}W8){l$Ol*I zJtAeN`4=^{sF?SJ;~fd6&As&)hasc>htObAh11IAx>EjNbe5pGPLe9C2K2vEW zLS*+XO1)^nkQ)+5xCQN?6sr%`?ccKgQ*m9b6hCbQrigIX-FhPW1oLpP-aNyrXW_dK zs`Za#zILH&H9p2N)Oz9Yh^$Vvh$1Z#uhk~@RriY}9@{|UVO9vAv8ZjxgeVkRQuX)T z@?)XOJ@>jr7u%Z!a##}&CqXj-3ZXd`zPbUO128=HYC zC1mVNOzBfQA^x+jIW6p57FOv^O$PiL(>!pMNQF{gh+R3^>-OIlMiWjIz)uU*cH^qN zq>tcV!F-^|AF`Vcuosj86PuYr;PZKx!uVU`(^p+dcV_wiztAaqv(%7qK7G{FW_39AC|9$9*PVtpL%fM%;(Hu$OAZzrrBm4Z+ ztCZ#Zt>8+~<20NPgRezkIi;n&fK{Vxgv(yQ+68+G=YS*Q4e4zChzJ~JJVmwjAi_bl zCqXUa^QUiFM&Im@_w>6aU&+-EC|(V_+f=#OhNsy_Mg&@KtJ}drPyU9H(S`v|;`E^nnKXRLekArcqsY6t~m%`=^Sj>dAaGFV17H~U7TR#~M z#A-MnX_}@VIJYkL@?nncY);HJKxM@<2q`{LyL&BH#aZbl2!>;ABr)!vgl90{SNmnv zZwR?Fpzyusb&5(qCyr|RPe`1MK*RS?L8)v0{&Lx*cM$dONqwdz(q5bCqYlFxwdtkm zjhE6?RHlMOOVQnzL4Sx^l?8RB{kPDMq4LAaBnlMS5ehT`pp@?sf^uriTR=Z;0sO<( zqNWL_D!lirv(29du8BL0)V@7`NAT@Rm7P0`$d$Iy-QkE*v=x6gE~mQS}a zjvcA2txZLE#_mt9s8dX*`i$# zdiA6dJLl}QR@g66-tJ%RMUp?Kdr|DRY~vSc*=U%#WOjin4~fllEC+3nl)67vxiCZa z<@l}1i1Q#9(fV-!PdC>OXf}+fEJ1-F#H61&G+s zG(An}P3v}I))eIsqLIB2!6;5d8vh8oTHfyCs--rh$j$UGKuM^j&6YMcf?Xkc_ve;kw49LUX3Bok=zga0 zdBeWPmB^m02?DC~74ZSnadq-St_``aBzS9V5tUKt(T_7|SyHY8(Zat-0V@DX@1P_i zu!uWYPd?f&INB{BH(N}JxdUKgESYvkxNZq`OK+IFp3`RyF?N9E?bY*HK;2Rr=584X zY;F}@^Ww`fePEtpkf2udbiVbwz5x(8hxPTkNOqV1&vl`Wh>d+}V#3;Zo{NJ+X0uld z6bPV;kvL>Wf0^?hRmG1tkeh)i3+S`h)3D%xOhLdqnO%H$@j1T`pFJ{4UDZQRbuZ^y zYwP!6lV71&m)e1sIuV~>3cm`}jg3)7{GeMWJlZBHrZ~j56WvhizJ>a{dbURL_~x9b z5Cgk>DF<5({i&fM{vbfVZ2|?Qh?8&~nZM&5#gl+kTxLGLZoue6G14i>)8S%{0#ckB z?9GK0Q*-sCvS(KWW0ZRn|IR(0kpd`Slw>+<$;3;2OOmV0G!a ze01~+7_9wgK}0H#0jWNib=TXXO3a8)GjQIiJT)+0gerKSMK%Oq`0;{e5#Fzp~r&oZ=q zoV5U>^|QZfqso>yUg&>nBZ3i+MV!Ao#UqXNrMB|Q@%kxeCm>pMHy{1&`WUiHOiVWc zlr0c2-PbZeKb29fA{7O+iDJ|iqY1E9nF#?+*ncww$Y z57uR03#jn|@IM9f`SO3Q1;DG@-;SGHwLgqR02>eo{;|-6f9Z$b23fmJ5DTR(_Yo+0 zgqMgFHeitPc+UaG;XhiC{njjVUK$$j^1)PPrEtyw%DNBcdeP==b+?-B#JpTWe_%L4 zVJ#H~rD+Mb(^N74z@Z!nHNQewy2+`;W~cUBoi3{oZSh*mhV6B8rz~iNV#M>4t5QbT?M!g`@X;WWWKdY5TiK)lBb%y4F_D?zX7zb zy#^3l2f$dAXc$lcsA+2mIQwf(4?sL_2?w{~Gy)U3|LMB#Y$vQJ5-Kz& zafEOOrSKn?#j(WS7A9EAIzdYumG9qd$3CG`Fdvl}5g3Olh0`ejw&P{rNw=z&@^2QC zza_lDegt|F6j~`BD1V7wP~jVP*k3sV`S}N}!s;|G;YF*rfPx0}4$F}EZyz&o@hHij z4Twp>uX+jWv7kaa_ z!mu&^ElJy~>s-T6x^IpOHVfV4W(#c5LmhpL`q4fwu45-SW+55mD+xA5!I_1eWM1p{ zlNXMc#9c=BKXB%^ow(02d~igP3H_i~1rY3(a;>!g60kK#2^$s9N^16Z>an+;ZO&`I zrl1Phz(5~;FR?>Cf~KacCq(~f8rKS+0I$4&mKIYZazT6z7Obuk9NO%2yo~PpficXl zala*EZ6bJR{Q=(lbbGmlgA6rJXRTghLk)PS2=I@9nb{bdzVEi8L^mTB5{t3RAf~Cg z&opt`nUwTDZWlm;O;GNI!@mlc+7R3{>qn|%n=l>~26sH+*d^wzX$ROEZjHt>1GEBa zYx7Q>p{&qZci2m>J?L}YEG>sD9|2p;2{bnxBcjrx29DE8d|7*tvXqL(ZoEUYLBYp47b9&uRUssllHJn z5&b^p(#s+wAjrEd@Vy-+!_{IV8qwPIxUvAqlyvf=WqDzCmMMLvZk2*kjPq30#)d2v z*5)eCTZ56AV#_n8ZDY5+*nwa5_te4`sNmjMcf8<|%+-i+5dj2Lv${`3Fr!WnSzS_5 zQhm^K{P=#v#r{)y_>4g7JwyTfW28+(f?@xFCRDpwCqB@GG7CTRU2cBtL>a&!@GojgSkU2}6{Xv0(L*2i-+xRDD3KA!` zJ=Suy`B=`Xq4m7y>q~2Vi%9DsMD{FeX5(ud7MsQEuOb}M8)x!&mU1WajelwR(BDCZ z1PHbGk&z}<>?MQLF@PpQhuB7Sn#MyIX0JE9Ou zh&R8%rm4;5+|N8(mR3>n(z4BC{N<_`8(UzqjCfk=hXoZb*@L_2ZJPGoQ&ppbh>zjn zBCH9r3p%JM|K8Nqg_-Dl9)9kWlnXUH%3?hVHM*{%^)rHc38?QgG4?pmw?sBcVwVf7 zb17Hmi`U*(cl?9zEhuTL?@!MI_Q8(zPyREl>`(lF5aX;wsn}$swl??K~xdck;KcXWb0JtjU#g0VY>a+fo||$GIkdY8CZ!v#yJqXjK6;s z`mvXU;>+El%AM<-_UHD;1xMT#!r@#N85u~(chkby&nc$-mZDrwg2j&?@Qpt;8U^Mn zC3B~*(FzKTQB3NtEFsbP3+Q}4fK(X@YIwdXTqc*?w%=ZzR#jD97$_*nBC&Os(|(N! zM`|$x&Bd5Abr#fSEss4@=I>rlz%Pys|4xF}@vV!Cy_2X4N*CA-rD(#T%})I4u%q8? zr%e8c_y1uj;x`~ur0V;cFj>x=w$nT1+)|Xw6ZiwA8F-Pl@Ga+t@6gcDc?QA7M5XfN z%=*X0IJWbM(~FOk?u@r&!0kaj&OEYFz&TbGnxIgVxRmT-8$azL#eCs{nt->^uLzu2 z*CJZ(x_(!jwEM6bHu0!EpTyo_zkaKtx%~1GH`}(G)EF7F7t5t(Jm(9@!@xEPkAQ@Q zM@5x7J`+luv&8C0@B~HixXVa$@g`Z7i|(B~`bJDJfygGU&!SHWo!0d+38Ri^@|3P; z?xQf__r_LN8d&u6;W9q89B)w9+4j$?>}at7s*1un(is4Wzwvi>LH**J(qOnTI#yuL z{52_;=boOP;&}Dcjl)z_W+UM%ZI8|LYsqiwTBA{J+rvMfCF{Cs+y-(w0z7eb~VvWFj|&5)ywxzxNKCAz*^!>oAt) z8^|5J)+l|0%_egj8)Cz}a3pB9jP!K2i8cAvO_X|HY{$|ACZP|wDuwR|t6PH-!Ko8; z;PQBZ{&Lx*C1xULV_5d4-$mx{R0IIRha_))Jw?@ABm-DVIiG(_mf;+{)>_^^Q$h1i zA4+Q7&V!m4s>F#P5PJ72#NOoc4(m%g`JmtW^V90?^J3OkRz3YBZwmX^c~+N88c0_h zc=$%%w(VO~;e+Jo*fl3^zZp8xw=AC6F=$A0n=fi~_7jr^BV86wp^U#oG3Ue4xk`17 zmZmk2{(EL#JRD!q?+y3=gJyY7hwd%n3)osT=#pRnai$)t_*ZA8s4Bh+u!j`Y|gCmfk$Y_;%X;nQtwMuZ~?qm!*h3_@$KA6VVJxolHCD@`xU_qOR^^}TS#FRoC;>}ThI;qAxna(9Q{W*SDoJzXn ztF(2dx6{G$JNk^{-S}x+7bt<-V6agG`cOvzTEH@ zH;Ezw>L{bKzdxXl`j=--I>A=6Kuf+EG;ft8V?LdDV_@c?XT6u>`36%>NqrnQ?+T5P zYirww?%xd-g3=e;Cc*xdB$vV1k?<=Iy&#Re+AGJ z9}(j$G$C1%1JfjHRk#o0@YSaUE`_U?nDcnJSPr&`YxH|hJ#AGawx+XS#Y0SuRf~2& zHwYZ2IN2tDlerE20nXXFG=D*+4e)i6;1WW{k)YYj5$ZcPp4M6@+yydaP`!=xwy z_1fGZYne`=6~53OhIs07W6lyBP*q)>YQX-#hXc%uDrh)8awy6b()eJeK^aOzt?sRi z&PRIXufFPOxqz1$0d_wi@2MC8Wjt@7Gk~sd=~xD(?g=4D%1uJjVEPt0{>=u^a(Diw zA9Hk_P~{5n_bX+rkwzZAidcB0QlzAdpNHiKyA8-x# z_is;vujm1EdCmTJ4`aWBW<*I@)K)iMD-KVAo{k?6XQ0r~Q zvC&Y*=T|%6oDo!BIcqpPT+;+jQ z%t|$lFq!ZLvbA!_52yqxMXMSbv8~yMHUawlj{!}(x9hMszb$}Hvvw0l<7#)MfeWww zIY8?_g(rA45n){2>;b4LQiyh^ZysIdx38XwGY5h;017x)HVcjF_&`4SC3i{ zUB>GJ3>+%o`lqWW6W+qB#zMei$d@E{joEzuC+=TT8asIX4A68yAJvQ^-1N4G42yzj z)d&EZc>%|9L*fs?|t#8l%NrI zq<4}HU@%JIQx$`;hxF$ahYT(60|f}6HF)}&6_U+)NW0Ws`N zE9iPt&l&u?%3tI(0p~RC$%oK8jvqI{)P{9;8K+Zb7JiG>?qTOu1jPYe28b4+r_9V! z_O?N%6bLdSo?S_R!E*x0#HN2_8-?OI+1caGzadz=QUM$}u6L0^4HK))MY#)}xuT8c zw-X`AdoeCX;woH2*NYmVNFsUxC~0FrS0sg}nlbIiX)XYD`R}YhtP%b73|8n+`jng!!GIa*~RnMJOnYZ}0>(yb>^eL8dsk&&PPyJ6yWj%d9Y>$rOt;q5*kO3O~GvxGt&dvY2ApUT9|Lu9T3?(t8B91Wg;DF`P8pyxM zF#NN4$G`T10G~ysd>ExH1@-+4nIdA|d7v_Q1Z}SR75{hXjRwF%4|%vYJ#gm2`(j^k zOa1+|?1V?!O+lO$j0Ab}Rs?i7-_RPRkQK zL0E}6!o9$h{f&%JBH^GPP;uFOgnr$RXFsdmdAS;YX4&Vsetj|f9Q6H-W;7huT)}9X z+tmNDkK)ABCJ*>Lwxn;v&Px6LFD2qB#vSvSY6z~vxb@s*Y@VshhVrV`r#<`Kj(5+nrv52 zmi9xxLXJos>AnyM|rTPc9%A)^P6x{ad2}&ZCSWV&HFDYiG^Cx1Ce|w7EzFslS4(^gwM#tqf*0lP_fJLw}tzN zaT^AJJt6(H!W14L5g9H$Q#b-;vqzrdl-q)ORu5Op!1p7EHeoP*{oVxkj303j@qmXp zjL~!7nPA2K+z!l;)t8}vF);MCy`cSW^61f&$@`*EQf%puvInIlGN$s;|#Ath^13oT?cH3GSq@YdlW- zQd!YBUW~IiptAQHHoRL)QR#v5D{jC>%Af_5!u`pFfjD+YCnG0;S=wLrO!Nt^O(uFZ zmRpM?R2i$wbHeMaN{^OLF}9@?+j%B(|B@=6EEupH{ha64*Q@p-Rg-dnV$sP2*Z+svXhmj&^UpZueuvo|g*>1IHn>h}7NFVOXFiQ4IFG;27saCv)Qeoa`R z1=+Y^6Xg2={)oa!-qo{M&e5UUmdMlgT5A5M6e(~*Av~%>@ng?Zmwg@|MTfzMb#Hg z23lKm`MZhNpAu{2XD{qfyyIaW%i~no5?FIs({>N?;RTapfI$8)@g&C#B`qz$$UEoL z{J(T+RTH}mjIS=efSH2{lJM!v#*-b$!}YBtT%9vSmq%9ifEz+;A!`#qPMCPFDm;5O z1}I+iVO6gP0U2eI>42u!R3!Q544#)%ab=a>h+xX93^K2OghvuqW1YI@R#pN}zkJNf zvIb&%QBjkPW?M0_I}!$7?YR$1Wu9;6g{rsA<)i*v9}XFydzms0-tFQ$t8_ZAuGVRTe1F)_b3N2nn7Q!r)F!|HY+PD ztb%3vIy zv9&UiE-ETwi*P9ycyckxI%tL>WVcS%Q{=xD*U7HWH?h34>YuTG>7GomDwHcCz`Ny3 z3J-|69|Qtb{hM!5g3U41BUpTH8cl0_^BT6!H7MD4cTS*u#6>rZoJddZ( zPnDL24W;WE`&#rAtQVQ(Z|Fz&Hng5Pj5h6`=gcDHR*iji*o!h|{qMV;&_{I0Zc|>l z^^u(qh(8>`f4FQPxV(vNB%3}BM_a@#s7g%GV>l;+id>DvDeEAh;<^b9=O`W;0o5g; z29lMX&Bm5QT-F&->-NFfm&=kSYj1Jk>EK5Rym2~!F`WJ*uBs~cRJmO>pe>&++RhXH_vtzLT5slB!}iiSdmT#lM8brhbC=4V-FD{ z`d<|LYj(bNE_C={VatIrUgMjfk@yz^PF|^jDJ6?@4yslI@>OISHFuKxIKhi}&>-Zy zibsr=7CL`@ak6HAN+=>CB48G{UCd=MQU>?fuylgH!h_l&amaKvY69jP=>3*EA(Rgk zrll2AZxH2_#9$q5ZKuf#x(+)l?-hcQD6K$Y-oL}MDshu5iHB#=!A$&nf0E{e{RH>$ z9~UKWCJQ`oM>hm$oD7N&Ew3o5#Dg}~iyY%MBe-QS3*G!x^2IuZ+tMko32#r%lU*Z( z$P0wey!=c=2@4CTX&+FfTf9%oOw5z|0w+=*bxOFlvx}U`qI;E|n1A4o6RfErsA7p> zdRK3D4Fx6^EZU1ERok|+f0j218#Qi#7c5?IH<_^&$A0--x~V5(rCOq}m)z`}4v9{r zzjA14Zmuq4qM=j0{n%j0W4o32=6*+s?^0g24`Sp;-;!WHejO&Vt{m`OPh;$T=R&*< z-$fa5#O4jB>$a|Au#7EsHmSY&3SOZSw>e3neW$T2Y$@s4$krCV&8qeEVFcVV|Dw0h z3_>oUs<2^O#@4k9mXS^^irIrn=Ezh2Ayax3TAXsqnC%5oweJvD5qE|C#LCr!byY}5 zWfp|m+9bL?_9&-4(Z^?T^FTYwbgz83)iKrxhB4OeTgWSv-S7lNk~+OqWE`}$$;Ur? zt=^x0j?r3CPj3jbO+Y0i?6;a676n%uaNymlFuA$8ey}3Wi)oc`GHXCdya^=hzwz?~ zZ&8!Ps9tzQI4_f?2@!yv_gvo9wT(OZ$(zay++pLG6tSZlUB}txiX(X1#}r$1xGkt_ z*I=fWzQ6lwrf)R$a%z2ml<}9KT$iixt)~d14da!Ry2~5&3P zIFHEe2YW0fWvR&m6U(E^$QwCRX}k`mhdz0U(MXeb#6PlkXv)2*S5@OzaSZytF}-3i z2sfnFYs%NUc>2u_i`VEAEyjTp6^$ypdSmUS2`&hYP(^xub7T4w*Z%+;rGhZRHgqo# z$QXec7x~ZU2f=|Gn34%FN_h`FXV1!UlEjNcR^!Po<KZ>tI%~!heM3;ZWgxL}Bzm{xAsyCWY2229_>+TwS+$F0|BK1uo zj|vnbW!R*{64Y{{LSmxJXBD#a)(30eNa2!LcO@>*2=O>fT|Nm+d7gMpVgiflR8zyQ ziSr1sn|*i$o&T5xU-ojq5iap*ci)+Z@JO-?2x_a93m z(c_PYycDwocw9G(hV-t!PSFNV3ZpSvtM{{DyF+`p^z~9AM)zLVfxmz6VV3pPvU^?7 z)QjIMgh&{S(NN~NcY~K-ds*}Ij${W?=wxrnV%3&T&A=K>i=^3o=y`Q&*>33Z z30W`Y8qSoL-}q*gl1npF`oa^+>$1=<h#Kj; zbvMOgzF*KY?gVV}ebk3t@4*AQsIyz!p>_oq6TLSe$YqY>b zSA<1twEf_hF(6k8!)BE^655>HT1m^su`Us?B9ydJv+i9sDHU=bVR?G`oP%$)x3u1036pyM_@;(y z4qs^GGG?kUBfSxHvRtlFQ^aqpGEW4*Jf#fD4z1SpnZ)d|c->@I;|ydG+05^@KRH&E zZX}_JuV&Z|lTVWrVKB#~1oR%hKBL+E2hoiXr{kLX`SS4m$6kKV0t+r_DRwBb^(!T@ zrX6Cix?G0AdL3@{7~$j+v4897-wC@GBmChJdyE_Fa8(@`#^8bS6OHIg6^Pv3U${9>rfReY4hm-ZDs-+cK-4v9E0X=*QKC;G~Vm z{VS;5oYcg<#kLp(0`183u{EWsz{6(zZc1{VaDkD5J2tVeMLj<;=JtzsM~haXM_Y{h z)~xxWpuh*IU1fGQ46_-{p`?|eW`yiq>uP;A1Na$5;%_v>Km_ zKMQESdylRjt*SGF@(iJ1@6OmFTMo6-g+CwN&-43T_V<#dwY%8 z*w(*}+4lcXwXwBci?B_8boDND!>9`7qZl%BGSTSVT_|vWNN^zz70-}sh5kH)?Zu(b z+4Dd@4|M(PV4nQ*A**iN2#2-4*cJN71d||kz*DMoI7)6#cnuc<7H)YTV1p>ddJ_BH z8Goc>Ff+%=6W3|ty)QR*IYI5;l^vW?zJJD&6He)koqyb1DV-wkm;GQgie8m2#``=o z>COflSN45DmnHRAi6e_#g7!bYVv=`j@Cl1|e7*Glb~g6elF?wIZb$?97ioJdS}Zga zxo16>FE;u_sDG*!*IQQpX~C-1_hwYmI;v3J$L5S~>>W{!nh_9TVTVJ9XT2!V2Re51DKk`qzPE)OxjJ6Z}g{4IN@fi|fCNie*aZ;gfgx!G~J z3YdXOn`=sJDM}FJY7^E2u3B~11|+z>gNv+ko1Hlxhnpqy7tG#K)EL_>YYF*k-iA!( zO5CkTJnBK_J09S6aS>Q67Kwc;+v!6~`)8T&!lzUBG}~T^b`a;ssunB8$4v>T`9{oH zfk|MF%H>gN!wX=*OQC7QU)tK+%lInS1s%Bx@Rw5fGT2hVRO9_7Lb$kplrUU*=Ny9~<_S;=^^+`k&Aa8r0>cJmxRotv3TS@`p#)^BEwrN~x* z?CTc3d`*Mt87jTUdHtT#>{q7I>EM|T9Wc7F!9y`gG_Ma?<3(V&*EHntNgeh2nW$%{ z&$b8m>%K#$*EE%*sP+Nhk+fO|Hc^KSA5*IO>Fvj*+nBHAX?;402W$0Dujpzm zdTu6t&ZvN0se2+6k`xu?3VbwTOnfCXxirF4n^?T;fC(JvW8dWGw_6$l#cOSCZ4$<5 z7OsZfMg1H;xN8$cvDAs(2b=M(LW|Nh*(Iy<$OJFUBRXlzo>#dILQHJ&k**@#c$1n+ z2Yjoa8qEdLQ2J)2_$K!}WY;fZR+keRDH<8E4BtyOSVx6NKsTC&&LbtJJyQmiAg!JU z;x8e|Li-aPH6F`-^4!+VC8`TZPc0-HdhAoOMbv(J!9j_i+(O4u<*VWERj0z2FJmO; z&dgo}7DMjSaaIy@7kBN?Aw7Yyfb9AY5g$GxR|+A{MP!*ngYK<}4VjQhCeYO3Reskp zqr^+;xD|I2@0s*GEfcNb?-mEpHy}2yIR6yru^O>oZx>01Fn>{Fjubt>b`d_v2Zty# z(ajjSqi^1N*r}#ldJU>Gkko&B{5}V#jp2g_K{n@?HeNCtu{3D++}1Y-n(Iwt*PnQ! z%uETCm~cq5*sh$^_ys#H;yS(DfUhC7Pr1MfO&`uJT2_o5wQ)Zv2w_`~j%;&$lL z@KToOGfbhZlG3xB6xI(G*r$(QszyIb)_hMMvlR(YZg2kLQDb|VxI`(XCygo3_5Fbl zpcD7Bxk$o>>5=rDpwLYVuf?*r-y)LpGy}HOj_^LLf=u#IGx~f~rM)HN<%t|g^^A4D zvM8D^xOC``@39Z*WSts+1Pd_MdzFJ!7w<*HKwW^X4U3%j4$wLtc7WQ{8O$by-T`x? z0b;@|=Pfa7=(`0Bi==`3PiN(cMEGP!TJnXqO5T2t`OakNa2AstJN&-MN@yi}6;fot zdT9NL7&ZQmjNj}fjTRIVYYjMW^Ude0FuKwtR0Hx_@k~ZxTg;X2(b^cP1|S!~>;}2E zH*s^v8YL6YqXXcu{HOaj3#2N&R$&f=;+uZJtk{Lbe9GnCf=9WDml82)&JwcQ6*_FR zK5SdS8~7^Ae)jB9-0}zHNujl65LSRW4>o27@8kcEB?N$7AXC-x6SfZjKl<~*&t#6e zr?9A5qZZr56O^q|Ngx98r$U)iS;-}Z))`xb!-5J6s6p(xItvi>2zHQbwzt)kb_6 z%yP$be&V&ASG;)sVo$t&$gE;$+~8X4Ju8S{(w?E?Zd$gLZjG+fHv83Hp{20XS!qH~ zXuDoX4jHByp*{W3X3u7pt#Gf#1NN*eptM8u%gv+0a96&CY4eOt_LTJDQ-s|}4CH7h zi>e8#W!R6`E19slwpO1k`jH}WzpcBnW^QF(D72borJRowxjWf3RA&}oO8bD8`Nr_U zd@B?xUz9F;XJhwiP(!zgw%Mryr?nBu;N6^F zLBQscXGLaB8P2hwP8iYLBrcmNiQjd1>c$tC)bxit=sbPOqtqSAtL5oISQ_n7h2GoK z-n#k!)bP7oDFf?GC`bDwxoqVF_veLMCU{o!vhA!gOZpiV#gm=NOwIg*dHU{IXFXw- zN>*d0^R&9ZWY+*cjJX!;Ich{JV&??4Y3!A}++n}qE#Ewp$Y?V6_#um8nuWHRrFmv* zx+;?qdf_boc32axLnn%4pH4lA>&8?`Osg{|Mnxw?M^6h#UyT$NwjyTuy4S%X=?s;@tr@;>aGfsxSfeXN+B|LV zp8M!PfXSLFZlgFEk_4AW{mbz?Yj~qf%8woNpGt*;|RQo$w=VuNz)~XtWC=Mc0 z3XZ6EgcuTTY!Ci9d-bKqc1_}^Hyj*z$2=OPZQ#a)cgPy%E2zE?#em9pI4s;BibTL# zs}97IC;tGH{Q5Rr^*v7DnJ?Va)*_MI(1r&dr<1tpaI)pE6uHOvF-F=8T?P`^Xl-rn zNM?7B33$~b1It!@g;luSgqJqKtjj6OmoHmAd5R+Ynp788iUchGQ(~Sye2ave$4DDz z{ana8pl}_(5U{uOV|*S{IuqbOZg;f>iU=;GrtShpvVF{znww$rUI=?Hhl%##^=dKC z$L(L+2{2ZTy#h%)!+UYtIOdps{i{lMx(FE7WKOn6KlBqHWwoXQ&kT(Qg1r&uWp}kU zpr~Y97rV91v6?pI28@s1gyQUg0a-vm8MKgkdiJWi>t-5z-L3az7a6k24iR~@_W?fg z_U+qH*{!FoQp6CM^PN7ugEzkU{V_hH*e@5w7Y>Aff`$@^<%RR#GMIMTazoEoJX@bRGF&Z3D?`m$Vk7T#sysxG#ozJXaa2QZFX5W* zxm6i^OhthqpkM|8tRe7nogW2JmPzlP(l!`N2}XmsRVA)3lbe3KEGVZrv7?KR!8m~~ z;MwFaM&%OZNh7DR;S2|!#(%9ED7CkG9UhROTbK84o*f}ZRc=dvgMS2Mdu_%_9@2y? zW=ph+5MFZ;5X$SX*xf=PpL-t6ys57JnqW7Y6uotE)7uff$Q!v>_ZZ$ zxgv*4l6Fk;&otSp&7gOt#6Ky`TUz48>7aKJ6!QW8Jgdu91{?3K^0wS+k_!s5Gi`J< zT+6`krPy;eQKw&gQK~ph|9a{(1$QPCPy>#xf8W)k??50AT2MjhYKb5V&DHbpfFn08 z{P~!7`vMz0iY-+V(X*9Do_oawq@(jT{qhiE{~kq!GxD(GGBO8K9~$OTCpx>kP=Ev} z$L{9BHh2~{r(#T&cLK;m=*dJTafB=&TU~%*;qeKNwaxZABs!V$$T_w3Qy&rF& z>V9mIn*iichC%8R9>iuWxj*rutVHS!J{m*Rb|PGg5f;uNt%POw5W1!pPxlxk+;N=F zwJXf9pm6)nD9aNclU#5ixS-wrVD`~K|zd> zVh7PbGtQ9G>2Prd#9*o2%{ALq!d{gu7{Aj?Tz*?)z4>N7*rHSwN*5!`CmrISxpjB- za+xJ@htz=?&7-$${|RH&UQ9?57cUqZsUBq>_a70P$jW^IkI!FpIFZjR&n3II!yfSf z@qB4hl8V$}Oyx0Y;xLU2bQ()QmTzT=o6sj;^w>9XI9u_czhmIYvnO2@g7i08GjCZC z;!ms!Ipsv@ET6nGGnzZNmH|1KQ#bfPzRbWj;t+tEYwgm+ePGT+T&yG;G>v-9B$A-V9%L@UMROd@Egb7LdMZj%sL#SpUU zHjZkC>5q~@MO5cA^JvP_YksVOAoeeRzBK0&)?wkldS zO7$BNGmi<@?K6%(p*#O6r416onL^#Ih*0Y{i+Fc|fLjlnd`Xhu{8tuKTEQFzJl&++)=f=NZUpDR=ZL1rW8Bv9f7_jXE z=Pqih=7OKNBbR(}jek97>KM()%}d8pPgqCO)ljP(XtwPUqZA{}I zK|vnAWkeR0CS_=2%6lO9Hy*s7|F{@%BL~tRvxHx@|Ej4;VPWp~R5}y8;cwE+lqf9q zBxd8f4d-IIyx-zb8Kp1v(O(fCN#Eu%#6GT$A_Xs)`GW^5ISF#kA5Xy-WHXjXip1hB zYZ1%R%s+2j%hOr3w}mvx+XnF+?mRq0ZSg}tV*S3cb@KqOEN{M07~C)a`0R@%VDz(j zzks^^=5&sDK0abKS?d(hW14?7hw0p^VvaoNvQ?`|($%_)Y%LS(}Ncff2XO0j*4a7nrM z=$$acNSbS7j@v}=pedD?T!bYb)MUv0Dge+YZ;s3x|){o9VHfPjEB(Fh`4q<0mN4$_5C zM3fE@0)&o&Qlu!ogHoh})DTLL-a(KeB?&b&A<|obcjLLwIrsDYp0(at{^MdYnau3j zv-kd9*XMFskuY&XO*`k@AY1X$9qqLz7(cw_vTIE@w(nPd$Zh<+wt@}Ir?35cX^BqQ zO(gGEoUpBW-Z5Ln<@EL0Cu?sEArKq!C$%Me6?=*ELby1siBPwgScSwG{CpjBeAYMX z;C`(yiPMX|*4X9XoLzHt*g|No!63HpjG6?lwd|C>2+kzZM@E6%n@Bu;{ir;D3t&;Mt7<6+V|2Pm?xQ<4im_ zrjkUORl$2g>`k=Hg;Wu)M|SotpO^G@(7!S+U?XG9LT26*HnMG3K%KKM^z5m( zm@pCS^+l)^?qdPKH%D>D!r9nv9e0GlP9J8>K4EN{&R|z#uq(MLrs1vSlzCfr?v#Ep zkO-tjpwAbNn0TsbMq`spRwqzVK^8qA*}Mh{-2iV$#H$`z3aM)m5qd}BGMnFJnTLOoV2bTyZ`gIpxI_@Uy2jlcNHa$HKpi8-EKgkBm8cs(h;c_@Mrn0LZy5EiEfW zc8DI(%|LXqPmGL+znduFlh}vjNEj&Byg@&Tjs+nQK+9?dR*}dnxr5IU;fwj-5l#S6Lx$=I7Y88|N2=nqbzJ#`$z(@`b*J-uND+wPp-$f zDT%%Wc?D2V{R#|fZWpFp`^QH7Gcj_*o^TZ7C5FDV{g3|eb$-VOpUn(K+@ph&!=KQv z2M~@~CY~!5;JN}n&S~!}fg@mwy5XStppp3wsLPVa0>V{?1NO~;3=2DC^u>M3h_1Qm zC&}=&zXlNhIp3%J^^2*rzt& zog=S6y?#r<5HMvr)w5P{>=RSl3arv%XXr-4bUda0z7`-kIZ5>EHVY1~;Xa}aneMr> zcYA(Pt~qN0g4Z<(vr&!rwHGPA*5+O%aTA9p{>6{# zRQrSwcbc^_n;Hh{UH~kD{A<&FoqtNh<`1*vgJe{XHWs||w*LaDhV*crU|ep$`jdUK zX~@RLCMSqk&B)g)G(xW8{t%A;qo%UL{VnMO9$_s&H*G5qR{W)|B%s+G65mRS6~GNvO`7ONr~dG?ZHT}HHhPK@BBL@MXO-`Lx34@ zF<+v1s}lJ_I4LPHv6=LH()k|5$k5QczD+P;CqimFw zSLC84pKB>g{uLh(Ey+PRf<_fs2%wU~J4=zSaTTICM1qq0j>R1V9*eTB#hiQ&TwP5$ zztO)yl2iNF)brgRfXp*`kinMTnDoP56BJzi*f8LLU_Y7_*H1SOf6< zk(|f=h$Xi9BgY26#b{g1>!Rz#>T@KyVW3<6&$fS6^BXWmQ#ixFsmU?H0b`+P9zZr& zUcCu!N4lSyNQwrHdrzcsRr>A0NrsYMkx@c?{PkGdRV>1fHg!D3DqR!%sU!4 z9wr?I6k4h=wNfyI#|@TC{xI-;cEC8U(phkOHBI8UK__2XE_PF??D_i;R0gYM$1i8D z;vojk9RMiNAO0x0*dSI0kK&e-s|3CMrQ?dsxfpP9CiAwz;=|*8+M*jXtzjYmak4lw zXgq_nlkQzolnW%KT&(T|;DUypzDQWMvOz2$D{xn4%uc-;jNg=(#DRQW{UWbBOe6WD zh+2@tJ-EpcMGXINJ?Z%^2xNXuL>Zbq^n2P|1sNSJL^axlGZd)*)O&zrx3H~6w4?`m z`HzzYvKZ7BRsEHZSjp>cr&fV*B+k}OT08xH^G;P&JD&Ks->1Ji4TMf7NS*W+Xg2~b zs*d)8PPI~(*t2Pb%Ho{iqi)l}c1eniTtAL?}_G$`lq-E3)X5uFA zuJ8IVVyh$!3fKvvem0%Kcd}YH_IeMKE}iKs0-Q1#&*zd6`K1N7{%S<~SFhaub3ct{ z{sY>13q`qKRz61AmxNNky0HxC0hjgy>cq~|8HjGu%(PkZJ-v4fDq4&p4p;hU03lrT zj)h?`Hvj^qH)U?`uEtu5@?8iV+yXw*wVt$W*0$eg3#T50kYDp$90ujUmVa9AB*Ql| zKqgAIg$t0jO#qDjCRj|k22VtA=W-p2e-U;k~W8MywZgnc{Rg*4o$DJdLJ65a$%Zk|LA0d@at zDb9npK>YIVa+CBAo?4f9WPEw1s`?itGTjMCx|O<;AWa{KHGAs@#Q1cbvbI>HzZ+laOIn48lVJ{0GZc+6zSJ=#-- z0f3_~hCxA0?8==rN07Nd+hpQh@9jt>{v!=F4{i~RP1pxyE0ntC=$}h=>N_3quRx|- zDI+vD6nKTFM(rU~e+L0Ur)biv-&!_;C7%Z*AalcBLmG82R7s>|LdH`0OH2@VEC(FF z%FFee3>FtRENYPr^&fI|jc17$YQ|ya>qj@lJ&$zarZZXSl)>u zO~KR+|G#F$TAV-)u3)g4y_b62w&>S82He=!x`CZwwyohcYIb}$OuagVL}V_`c=Tjd z_^<6jTE?>YNMsPv@IUE5uqPe2L@lSE2h_Oxce3<(r%(S-UZ2BJdZ~ObT3Slfkj}jb z*FYYU5lo^_!T`^lSy@NgFwJ_}nC4VF&>hdGZ#-8>EhU(Uz#@-?51q$OOrVUD@W-4rF=kdRO>^hpl53cy$buZ z`{pi zSZ`^|3z5A>$EJHkl5gM@>2{Y$XM22zJbz4od?*S$$`3?r0NT5*QSV>cT@}MC3t*Cw zd#@&E)D6-?nY`d3$m{#GhnU)LGiz?Ljvv~}p3fzMgwu=lJbz!Ut8cj@9k@*Tu_ zUt#g#b}gKJozyp73#DaG0~lzH7GJ$$0$`|rT))b|w8TF{-|_|W!8Nb6o%%kr>bczCx}mDU&?Db8`Gs#V;merr$9DAF=|{c+PlVx7k43MI`8_w zsUD|Z-)M%9N`B{g?f~RH15_n^Y<(Uf4%8;!Doz4T@1(ze==>S-j zF2bMp{Uz#uuk!+bxuxVk>5lxP;I93G zDm!5$eg7Y6alq*H%CLu{@~4;9FHH~+BBvz6hc9s`8Stb8@E$69}#5 z8<;=If$xZ()nvak|I7L%r6B0M5id*`jNu3lqF4uW$NamOG-*|({U02isWR3Ro8@fB4fTwdx7%(q)l@_(1!rEWf_>s(8y02-vuNj z%Q~?3{wqmli{*kor*t8>u+?p{k%K^asc-7byokI|2(mY_WxTz1R*~u_88V)WH~7VD zH(1IeM-2{J-}kUZpn?5yVTfwLj#igVt1vbP#4{0wNYKi|<7r;b$;!^_zLl%u_@GV9 zri0BRzm{|=w$Xv0{YO6w4GZ$}sMvl6$nEPrdJ@R`)MG;mu$Y+|mko+O4*8DtL zFzn77^J>pCnNqf5K_`JV&KLle1pW65fEfo|D16PKgsR)8q&P>>-m?>+OEEw@k?nDQ z1B`Z5xn|Q3keB#L==S3)Y4^+?fxrr20sB3N;m9{NigB<%3fZ&Z)i?J)bTd$zS}na- zr|0vCqo^ykE|=Z^zEcC9U2qjf3#;s zu+5~B+8@R|Zqt8s@EdauXu;$Dl-&VXMh?sdpxRDw5rrwHS0R)zlTXXltV)+Cg)9x*+F_U+8~-E+m1;m*5g}(>r);`(^&dV=|@5G-ZE+QQ3xi z&!Tg(n1Qa&lh?k+-^FwZ^*US9lo4C()OW5}+jdvYaNW}S^Sc$J{x7}{;AZxgA;YlGQqpPFn(bUwW4Iya!up#cY4MVxPgnz9b)z&mk z+vDba$(G|6IZ@Aeu|-_cG87%+@P+_-%}w`zNckz8Alwo%y$kJjhTreC zbc7?#u3w@AJ*5(a;}L;GyceuB_nGSJ>(iw!+YIf6_)=cAVE+&=;i;}}0Xe3<1K%#S zCZYWWCOrAZVsWsm-C4$Vo@`*zN#0H+)i@QOrjxKZn@YwA4XBlqv(_l`c6!wMEJpFR zR&Y5yTYA^LVWTIE1zC)VjC)|=Yw0Qk^e{ZOCg~MPc(xolL*s^N z;$+V+I|`Vg^h35XSG<3V?a>3d%JJ;JD$7S>A2ZLbiL_;k^(Bk#Hw^p9+}M!V*se%g zr{cDl&z3OBYkwMvNP6nKI!nTs#+zf~^R5D&Ilk8rOY}q3_0`rae>jii8*H;`EEQ|W?mNQ4rLS9uP{GP@UyBjUkOMcm7CAQ?nz*TXDUCV z$DMtS9`?V-!xdb2^UIfmD{NsZPmJYg^FZ%E`A{=ZTHvCD(>Iy4U1JeWRdL|HeEo@yv?ZBK>4smx2^OE^W zpTex_dl70%p~2{%9G-TiV*M6#+1yH_qhcMJ7B)E?9287aeW}qR!UFv^{53{&DP&tD zCVafGH4m?s`b|>x_X5pj0ks zh7BM+oo^nf`tymEyR!q@Kj`jCuqO~6w(rTcKXxJAz2QoJr-LRf2xVQ`C z*J}4pU6W}a`EkxhXBFG+h4F+}U3b&J5z8}hx0eD~(&Xe$1|9~24aX8Ml-k>&*NFF1 z++5ar?>o?QW9z>dKut<#3J^bcN#45JG}Q`KP!!k0b^K;#4{DB{R4lWVW@U*PTD)aO zEv=|jN-}R^1MyNThtf~|(FVgcX&6bqs-1@wtXG(Y2pxeqW1^S7o@>C%g+szvcR`|xwEQhouuMiDz`v{@ zBksC61D5j_g8stP9mbdnY`%70+<@M<4{2kkibxc6HSE?qo?10f@sZjamOI9Yzr>0k zy%8fjxIA+00{-U-I1%Ax^9@#dAMoBmiD8BDvMcgOm6Yw)Wr|Gbp5q*sP(@T)eB_{4 z)^2x4h(K@<;MOU484!aERA@DB*pd>}FuN1hWJ4sW#v75Qeku1Yk0w|lg~FpT38FCN z>SOvDcJ(3&G;A>-y%I(NL~>77`YE`WXdw_4t=5lv?EHmY!a*{|w%MHF!{Y72HWSY- zQ}$1ihQxa9`ZVBz7GR#7H&Ws#RWid9JxI;#5=sC%lZp@XtVc;7LdwbV0W%GtfVI7faa`D%rR%Vad@vM=94vp!Sg_J{7KIRBEOtZd|KOFIcrOr2cNHsi)Ku7$% zwab00-2r0=lEJO|FEDXO{4$c$AUX^e8xG$r$ zX%u7%wRw~(p#vA%@(k(pUFDN-J?clHm&?eHmM{jGgDpF4k-7|v5$vB9tzKOOY^15Z zv>=NeJq~TKzn&btT-}>c)m|k=y%T_G#2_$Y_u-`uJQ;&dX!S(_CXjlkCgmNAaqJ*b; zKeM}okGD9j{&QxsQYUqWV{8>UD=j5q*Tom`Z2EG>kET~;BMFVl47kmt8D4` zimKN^3lzTbXb%-^&N&E!(|l85K*TApsdVEGqM}w)%mW`HwGr31g_*8Ufr+_|onNae@@lEMteJK!#(?!?yz(e&Bh!y#CN^GsG_Q?ecMq9Xl{aPf5yhHLc0nJFNaU{oM(1n@$|iX-Fz)3WtKZ(rRx)O z1&OIq-E(X$O%hge;kUGX!unFG4}PwTu|xJc@ze3}{>-MdB#OzJJxF5PHI-7HtEPT3-< zgqcXgj@GxJ(s^6h#6&@#!wJe;rt0uP^x<@X`v$()*U_}_#{or9VS@X{BR-N-uN9T= zA;pC~b`GtH$*${%es~VewpKri+GB!}B4bBe_)5X_af`u#MW`LRanKQ~{4s9_x0X`3 zOvv8-^;6=8gNZnNiHA5j7%0)gby#v!=5E*RbYrx>2-L7OX5Q7oE|tN@dS27SS`EE4DI?vA7Y;k=-(^yKTUp+lhe!Z852$# z8f!reqQj4KE)RUJn;bj1@$LZhZJ5-lo@$LlZ(F$Pu}{N6HgWlB_3lz)*D(Y?>D{5g zYv8OgX*$pPq5xCgeEh8`9|U8LHhF2#V4$^Ub0Ih6~9x*4rmXBa}ZW<|T zst<7Plb|YUIGNEHRY=~T*ok^&0f3VrS=P1Znd%_X^hf(9U3Z44=`&eM*NQ|Oy zSWsmr(K;Y|JBswFM2S1D%8SX*!OUW>)8^j$Oa;Lc#Hep&3Pp9XcXBL-N%g2CFx z%RoMKWSTAbd&!2Dl?oXp+rg3?gYaB^a}3+|dL(g3vmSe|=h3Xq6{#lz_U=KMNqt2n zQC(Aqx8J(!?Hn2r6oHLKA<(~W{|lv;l^p$GOKG~LW!u~+A}AIq}M2r zt!=6Ax>!?32(7Ftu%vo)eLNR3icr*rhH(nDWs}!yEGHYWOgV`L1r<*^4^l?-h&=Md zFT}d<5vcl$5XV(7wAbD?Op#SUYx)G#YVs zgALTeQhPEXd(f!u=0Qza9fn7n3J?#UH5DcKkbr&f1M2&$Ug9&o*(soH89e!#U#52F zh#>VTdvBxz@a z$$WP9SIS)@I&HnPJ;POKTe(^^%YRzvhhOulqTs5qbr<`W;W(!(4sO` z*T!A?h3xxbmX-k^zMbfkkC&OIj^bHgJIRL8;OOPEnN*0KotXW!Y)x``nTFlB zK9KNj6kXbpfGl-?sP0{A-?>{WBYjx^$tH&&`>_`-PB}EJr#rMxqVQdNX1CbA*SpFM z1Xx$v0#w%}Y3beGIa}ZRk?oZp9a3-V<$ZkRv7tN!FE@O$z+?u?_NXh*2 z>ec>T)|hrC8tUCpz53#Ux%C;c4b+<~+4|4tPrWv2owHkm1wQ(9>uF8K(u7pT^Wec- z+OTZDdIJLe+zMOHPwGwBc>Xr=u>1Q-w@^j@BTc5#cHbV`(W3#(mL@K3r3V7FLRqtt z+M1d!t)C-Cx-pz*0uvHk@h^fhfRSpIgr&8$a)V94wl`z?EqPsr zy0?_XT1HXS*x?PAz7HA@h?cD2r*n&q`N-VqX!yi4m6jW@D1Y;j#2(p7?!=D|GA$|h*y6-xl2Q(bo{MSO*MivVVwW zut-j5csO3xD_R@&f20nry|Y6PtRyzc$?;Ov%P1*pXxPjZ#Lt?^Wyysxref->w*(2? zRW?ecS?r?&Z5j!MVvOW4TrG;#%|_yZ&ioPUYS&zSF1d?t;EssiAEd;09lX%@$WLtM++aKCoODwAqvc=f!)KGaVnq*%+093X8sh9v{#3E_yycA>`ALwKe59a{=Mt+58&H z4#6FJ4`oUy43wB-E$xs7HBJwE77yy(zaQH`nNiwNcGhx7rr+W7$l#~A9Ei|-oX;YAgb7s-Dl86xdxX35IMPfXoc)E zmWxpI#@G7&))x25azTX{Stj@TXQ@2s1)t+DRN~s@wVzsYv1zK7;SR=YByD5qh4kP( zs2ZPIxlF+f)3rJ(LiVjKiiJ_>K!%uDcBPi~JAW@P^@*;%K)xdaOvRzm`9 z-_yz5_dR$s<3e`&__zHO*{&0cUU<9W<7Jex8fa?Gdbgis!H`l0-VhP&h1jP48h-t5jxV*3y4 zp8e9S85qr2RYVZ`Z@a!t;PcSKXeZcyN~5Vsw7nq7qe^3Wp*PRdP&8xJd3K=GMN`HG z@sMt%Et>qZ-^vB3-;ZZ?QQvkxjCkW%Z$0oMmP)gX7^yqq2nUvDqV-KAaT_sKw(~-1 zxSAwe-j0p)iT6kBV}7t!7Ym)s4HmWKT|bBLieq*sphajQFQBuv2Pc(Gy$=6oU zSDHPfSGAU#{krDt@5cs1N@706>sCp+3m#OMI{nVNu4<9i@;Jo3edF5mP@ldYizvzA z;%AhN##&11D1rWGiOiea<4jHgitC*4ucxUY(Oj1{d;->rE_W#w_s7@E1ltME3EhVh z$y4)UZ_;FlR>xOl?B`5BS(_AjgTZSr-GQVx)i`x&2#Fa19NXN26(?UeBUmS550dK* zpmm36q(~Pil6WS`h7*!fghmkZ0b;+$yqhfp#o3-M+-~c%s-I>e2NQJC3sGy*j{^=c zNkOIhuy)P4!c>Wg680mXaQyq$UjH2%(0H0c+0zHD1dX~t5!+}|kGlF`e;*7pE#qIY zh_t!Gm$x5yC*4*DPSug+Iafy)6P5VRBVyk%5m>W>QXL@56IBg4L<^_GLx5pUS(hl> zRBHI5FLM46XL@YqxksOd*<>pISyMMTRBuxA5;6Mu$9!?Vud}7mSI9j|Xtm1=#5?1o zzT1cC_6M}&-X5o4+RnwT+^rLJvvW2okPLou5O~^qtl`m}4AXetzMHF8B7=d7M0==1 z#h!Tcj!>J3pNMUlJa3K*V*kipOw2a13i2r}rY!ykYvvc~h9B{^>Yeq8ZO!fUU39jL zeq@6!yN8R~_~GuG0$cC=@@f36t_CNQ#n7SdS}O8L85-;9IhJ!0eAu(EU6C%FnzrdG z_#DU(OJ{NAigATQte2HSly3uMwnlFIi#iH#d(p=?(as6^mBZ7vb#kaRRQE`})sbqS z=ADO3llurq^g#bBwdh;u$L8BdtPp5+6iat$!L~tiOp2t=d5O>rM%92fIcDBDSqlN3 zk+l;iTdiN@n~xXx;Ti^`dSZ7{Sdnsa4joFY7MxR@>Pb?sOq;~neUIeUV#&_p>_eC7 z`WU=cDg$iSCufKD-oPyQ%`x93#5N<$VbP|Jy|zv&A=np`fl}YT-flWtmAZO`M}~B` z{(iy^{F=UCz>O+>umpI+!U&}PpbglFgEMPZf(#Bgyd5=U`lEx;ucYPivn6+Guf?pA zG>Yn0`ya1=jIV*`MzAQS=!ZMCyDqmG6VrqqHF7;1E20KLIMmc6UtWi*D=I2JF-LnE z@+FJu9JPL_2%KGnyju(*=3@p5x!Rz8tDIshS{Lj%xUP)lsLAc;EK2toj>ib7xVt}j zCu#OFz5Rnnit$nY+eMjnGHw)mk(bF4;U0pI0hse{-0ZC$BS&4gYA@!6#+kA9SNR|e zOcIUyY-}a*o4Cx%k{$x8%eB-!C}m`%a!-eWP2q=G&GAL|!e<@DKNE%YSsfjQhu>%H zW$-E?#4&Pm{JDDxkO(-T_dPi(PKSjBR`uZ#QkFw=3EsI=oMbDQSoWT)^GATSBHMeU z-MDF$GHd5kWR0YLaHf?w{Z*!W>&6V%^Sp@mUzx`0Ju!K@`2hKVbQm(yG?_3m;OL{^ zXolrWm79CV8e9v*qZ0Ck=?KN5HkjBXq?v=_h^OhJs`Re}OGSeC%mlXqsFBt(S(x8@ z`SL}lia_XTXy|W-u&slrpk7@e&ci+Hp_lLA@>KIhocX<%ofbi-;cMpmQ>KM6xWVrI z2h(IzkMipDs#oxEvDBa|9gN#dc^|vhwc2t$ET7ht>!wC`VMzpVqmb0(1Gfo zpYw{Ul=H6zGE<=^cbFrGCOz@1u_hq?i&0;h(5|s|vY8P9x zDZHw=+iit4jKsAlH<`A@_m4IUy@bF-Vf_6;De5zn2M%AaWSHuivt8Z7tG~K21H}zH zks4u&tNG$f2L=Xwh%+OsN({@X4m+PZAk?w5b4A9{nZ&m0W#_%qFNfZ7A%&aix8xpq zH1x?#Yzm}pE{nC0AbJO>Ip8XH@JGfSA&(*HMIVM~&ylLKE|GSR;IAQv^CEBmP#L*H zN!fz_>bsMu#->2hdbj?XJUc5@iY{FmdH{Xb;SOa>Z&yzeyz=>EH zB3FFK9@mHC*{W(uvz|&iOU|ag^b*EXlWzv>q=ui*-A|L2woDRgLuAc7-}|Hrj0OI; zEn^Ln;DRZo6m=U>YT;gU2p6ci{kNs2Kt{Sai{)U&d)&QThRGtE*5p!Ip9$;Y%el#U zOj4Rl)m|l^n->fC+Uv@TzP>_hvO?m1_>|%^Z`q=PnPgcw?poT(S5fkOL#x*N4pMun}>GkfG5F*o9~j${W>$t7UKI_ z!8bwY{Mp!HRn@s=MVaC#K@na0WZ0T}oMHweefoFPo>%qL*ML8kM?Pfl?GM^62Ee34FS+Wy~uLKz_IW^!mDO%ssJRmq)21c^3ot+e4p-3(S6hS>`z${at1)h<(`xOtj+c(||;aY*;MWGjeGVUZS<)@F$7 zq3q~tV;G~z>|DLcc9IkagfFg_MKgaJ{d`1^=+W0(=nnoynAk}gh)H+KK@?j0hk-@3 zj%!&gyk4>((3AD&bGO*(yf=k zGW#7vry;a%;UMJSI2B1jze^%V#rJ9h7bsz?j(G)Ier7BIr(D}^sPp7x`$CajjXp?6)7(epIt>I`mAu(8CPm(UP$ zsbZ~{sxgx0sqKkDF>Z^vRGmSxMjByw!la|jBPH1w_ptN)_or#zdCJJTkBFr_EE+q$ zsE)I|UH{np2)yOeFW5eGpCLQ0Qx@T^{C#6$N%yUfvkRXOV)DpD+wcb$T_(pi*< zb%>l@va;sJezcXEXKFD?+49`jPFwnoV$|9Rdz@vDGqYWjcvl@MBw-7?a)g!R9k2M( zA9h7awAjMU)bT8o`Kh*7dWPo$-|Y9t0f!hU!+LNrKRRvd;_-aHBD$p*td>bO4=&g{ zwBYZHAnoAAuBN7Gk29v;SBk%6n|F%R@RpeFjNy`-U31&t-v_9dk^X*15Y-LLI2zLx zYL19iqID_xp`~vuQN(vc#N2pMePSc&`OHP%s-^0qgZ0Rz{L?Dba9@-3O=${wdSCZE~@#ntB*(DwyeHqP!N>}@ymZ8yEMa*sA$J z>_($+SnK9t?$!As!&J_t_LX0?gHKpQ9cSHGq*U=e2P$Q1%-OEAI^k-bxmJSj$}(^G(b##%bli4Pkw$pj;jb!< z`${eywkz(%^`$qJ2);Kh=eH1DI4~o@@T94HJNWA5Ik)M*_gIRObg_6g#`LF(oE%*x zL1{w&E35kG;#Jf(%Qlb3maCYgjGU0xL2wgtSwV&rR|$R892<((y;CjQce$?9 zT0)LlXNybq8mZXZlHWZdxLOcSVqP~goUZ08v=jzt77j8{`jn6Hkyn?U zBXbZHruAdecgd52di81@EB&ab=2=xoHrl!9iY}1b6=TaQ#eX{T{u*<>)jpj+G%lj6 z?d*IeA}YwkYkLGfT)oV#xtV;P!y_(Au7AjfZ8w46c(CxY?s>XAa3IwWY;?hcE^{`^ z-)ByrdPWsLVsGqlRWUL%zG`;RU_I1nyA@9=R_%zv&!wxUC4XramPjn1hQGiU@I5sj zueO|@Hn;#8V4RL3Tl1M`7ZPT&^7%;^_<68xOnLVlbN|J(*msS!K8VFj+K4ug8574V zYz%MdHm&p6D*zGFkq(1blBWKs{6lNXP%%jdRZ6*raAT-(J0;fW2!G?%jV4E|AvS{H zpob0i`s-#nGSwc&?9Qa=xjgj!LV(L|>St)NXOYQ8J_k>u-m9lhwZ0Xz-FvR`jpa6K zjNwksx|Io9(zAqsI~LRnb|GNLD%3efE+IzvZ>$0Gh$D&+n#ks7#(#$wZ>bb z#<#y#2JOF3}p=~b<*5~`d4I{wO7nI#zlLFOU}&tuT!qk+XiLg7uB}M2;hn`VGmI#C$H%a1C zwN3mQC8+Bz>Thmu`)rR|*6;Pe?me8lcgN9B`8vrGF&VjCfVsil4UR)pO(Eqxed^1# zek;MC=hrlg%iJN^M<;j4?K}OIfR%A%TT6@7(e8}VAYPGLs4=MqKU_8R7{(iC zi&E|FXU}}$b5>HY+E50)8a{xkk$#+Ya)PHG_gMP<(KTPB7^y<}Fi-iZ`_NDjq=M;xVf3#(@04U{)!8HgB}LMkngXgpImN{q8T~oT6Sc8Hg9)6# zcxv?PPI`O0qRYgr@rl6yK~8gb<9g4A%WP!|H%DHH+V-NVW|az#vsL#cn;5@b_?JBU z;eZb5q^s9QbfbCcf|=s-E){G=c?-V@HIPtV*BZA8xpS-n`YCxQ@fCG;nI29q+%rHm zbG=`jV^Ki<+(_RjF-lcAikj3ff3CSTy=h0_1ex@#;FWw5BT_8?ZIo)&Qw$E*7r_c1 zI%`h%EAt3yO1=@NY0?jqr=pe6_rcz;uU_wdTzB&-X}YvcY2V8wk5j9W@g**@i4O+1 zAL<&H!AturY^bkXs580wULY~}#@pw}Pju%W-n@TZEy|no;l(@tKAc|G@ggidJs_#8 zx&+?C%ScJDdI20VINj&UhuaJCUyqVQMvX@BFQ|Co2iw37z4{YxHqiv0aMTvG>&=}B zLZL;<$vLSyR%){|l3AyRk0t(!^5&&xHHSO;xR&~os(xow9o-uq-N?VZJxqq3Jzb>| z3H6!0;d=dQL`H6I%cqfuje+QpbM7C5=p|g|za(BEW?ieV%5g23brNH?ue8Z`Nk6Xs zR^_wC?SOL~TxFh*8ybFMZF>_!H3H@SGL_gW%W|T>zvn6%C6_$io4sKwc- zdpqT|MB3d<-z}e*)>V^t+5Xn^g=p+lHD~k;Ih#C4?S56XZ-qx(WR#tsO7mK9veWKn zCQ^;!IS|bzO67QPEo@!TF16zSevYn2-~Q|Gjw(ZSvV(U^zEFbpLISHIACSer4$kVg zlDzQ&7C=gpltYR!x-@?VIX1llrpi>5GE2+LGbA939h~GBPV=dw6bqbkO!%03>?*U- zEF0uLj0bC@6iye!3VEZrv}#pQa^t!pvHfmQyU@pQqY+n!GV!zFxg5O+My|Tsby}-hdR>Z86Xd**?fl!Y$ z)Z$v)9K)vgNQHR}Pscmd#?TtZKFkwoV1HKOt{x|*sP#RSZC&jbbWv-f=F_^Kbav(5 zj;!j)SF2i&9Sw>e-i#}BO(M*`d5%vV7~+@1RGQbg(aQ0cRXJC@$r*QDqUz~OkWmp+ z8wqP&GCn)rOSZ>5WY5c+3cETX=b>3N*~Wu4j`-q?SZ;SM7&Igx8WWNb#g*MRs8x7NSjt;mKBaeV?$QJ!Ag39@pR5sgBR6md?4f z9!KvG_oA1Zd*a?e3dKymxn$^W%85PdCMzW+rBMr>s&Wjc*4Z2b{ujx*=q$cEgkPW{ zC+IDMu2l;;I}z1U#|d_S{WMWk@MyE=XAvW`zto;Cdi?pwN}n=ch*aKby9 zJzAW;B22NjheA^Ix`KW&*t6E-Fp`xV`*NXK^>+QO%|Gx_PD8I zTs%d+=NJA8_39$NQxw+HfjK-pjF^?_VY`2V410E|OvKpE%pTKpg&Gl^w?&tmG56ej zriC0urM4DJY`o&*w))~SL0-`~b+JCM;Dx(qTSun_WV}R$x%T?A;OXlhc3NuA4H01?>I5O9SAYAiM3>QA zampG8r3h>5#V0Vk>y7Rh*}9Vl>;+vCZ)HUVrpj^VaiFY$@WPYN=*MXPR{SAok@PJ# zS&~dd5su=#b|lAEZ|?Le|>tkPdj(d~d^@+piaqH)Cqd`5}L1HnG zDbU(GEa=TBxycH}fyHa5&|n7R#;x_>`jgnd*H=X;2t3mY)74VCVr70G5^HYhuAYlw z=-MbCQ^!76kUy{g4quE_o+rPm>Ag}x)bAC{3pz66JS+$=(~MK z*e$B*`C=-r<>Ylme)zj!TPa?st^i+|v5j3RGUe;A&_U{8-n1;LgI_K>xgwdt=8XEN z%Z$!yk+M&%yRS>7l7`%uz1+d?UpbSyqA}Td3_eA`jf@RJb~#uU~k5?Mwies}sR( z!f$oW#F*fgg}tj%6+6)@eam4B5F%j&d(OY*QW@?LvNRfW1+YEe>%Tsa>-ih7OwDk(m-I0 z)-a-{r|)B9yFESyVIF0Bw6w#CZMxBkjGTn(E$lQ9cV; zKm=3-Dbl4Yy<-WzNtZ4~ItdUu1XKh=mtI0qdPk&pkX`~(L+`x`p_l}cyYTz%bNAWf z-Z9P?XZ-~kfvl`G=Unf6-lx?2U>yB_xs>ZkYeiJCeoasSx%UmbW82pH_NSZTw`2RJ z*%>&yknGH{FCH@&WEBi5foOu1b7ow!%Ih<$b1Z9v*Ua}v@@r{}^-h#bdY=Iw3rV^-?Ms-LDdn=n zq_Unw9)-$3z&7wbSFE@mdHgSsFA%e4=-Hi9_(1>`SoMuX(buz9A#t`@a#-$qak^1b z#vZ{XlBuq?_?Kr}{Tz^G_@;Yfj5#A_KE})_9-#{I(bnrSURgxb*+8MZt|hpUXFI>z z#0Q_P^b&NBBtC~yJfINyG z0BIn45BW#CxQCohgb*oj1k0f|c@mhbc?}=w3$kOQ~PGtjvAN!kl$fG6vHi)|3j7Vk4Out6w{Davz^s6==Dd zLa|bNZikir;JjG47df8|2L(<1149LEIa4KRit%yOy##uoz3imvn~!$;GbE1sHB#>F z(zu8yq?jfhZ<>-(j%>tuW)8kePH-)~S6(X|x% z(+3sA`w0aHpeH3O9rm0!M-IeAYKR z_$C-CI@i{6w?aO7sZ33f-};mD3}TvYPuT;~c?BZ5#kEq1w!t)>2d{R{#85+^;KdoJ_O zLNfx|sALro&@!{9C)hYVaj6L=mteDh^TUj^_y;LiNLqiUgY3(*3c)(G`~Eh@_!e}o zcGW1@RfMjA$unqhoxu#fzF0@K6UJSrjOOV*eCA{RzJ8kC>p@I~pslzf$M!hXquPXp z`32wGIzByex?hIwcAxxKpD~MH8Pewbx=kj}B75tCFUT4^`&_c(>seEV|C!MDg+xV+ z-`l4z%5K+7IVVZk7ni}Gq3JNeMPzPEwQ7xNHO}Q%QU7RHrqr zCcOj3uAO+%9U)Xn3cqKGX_2JJQ!Z$CsFiq60#NBaK(up452|6O!bX=v;KT}HiY!BE z`REcB*oE>4-{|#${m(gX~2+55c>pTR#wD)+B zCfHLYwk1FJ_09}bH^MuCPC9ztG1=i>tmSHSH}R3Zok>D!!Q7lyLwQf0GiRxaN*FoB z2h^g?!JOmI+QFNyf?rYsem2a5&v zhx*S#v%(A{3!}L1+$Z;^nsk!M0W&j8G;-IR>%_LNxz-s+M&=&S!Cy zaWuB2K!c5L@_7}>1v#1h*7eR&Jyw>-PEx9{us&+o-(8GOotc@ElzjyjPI~rl)%QaYQ5EJxN@q!zA8w+CWjvzp0^#|OcC20zP+;*M9v;TRm{&k(>^{L~ zJq>9y?}LGS#8*p>OC74Nr6&^3nhAy&`$c|NDz7`iebW4d18Ks^@1mh_Of#x6<)i_| zPXKF7R?3AC@yy z(y{?U^!{+IxM=T98Xf=LXr`8Wp3Qcq{9RsI`?o>QtOr+Yt)h{%LZ>D#h z$-~rarkZIgdo1xk6pp$(oNtb}Sz&T&O>;?Ae2{jFc3YK^Gd(5=0Z&(=?J& zY1mER@elLW2BD`qN^Bx;?(CsNg{o_heWdFQ)hC1{L*Oag+z_jTK}z_iKTcJjc{n1+ z$4z2L%Ya@=P$>GtC8@knFkS(cRf^E<&uWC(pj+ z4qEk?q8-Gf_1!2Ne$yh`%ds9rddca)g%x|O6fQf}z2Jl0Q#j+_CD#Sr`OE3Zh&QvJ zTKq07EZ*tGEWiqxg!b^{r7P0s1(OdqYpj;Y z7%pX3hOspI_F-!R93l!3;Y&e~>(7HTbwj7{AJ_F_NBJtznr!Awz?dKxRtL1xgeW*%^~UF_7z zL~V4Eo61aR5E6=ItLcl8{B69Q&qXsECH2$fNIWd1D{^h>@Crp|k``3ebz#S^yyST) z@wCVP5d*{BEF-l>4OzNnE2e+-&T;y+Z2>%d}c7q(_( z9>*s_%GE|LDX@D`2^3C5ua*o&WY_zIJ+0B&rLdxk*GI1Yg~2euE6!UmQg|sR-%Z2i zGHTN;e>()o>AN@~Jk#@L*O29w$@K;Ol9PUrLla9Mxmb|Tk;Opa7A1xGM1X)jcMnpV zu~QqOvJEbWX`bu_nm#Y>($i0CzxsmU{!-RIG_Din{y31zG&v4{@w1HonX`+6ZBRr! zwq>9Y(u}$#NR`|4CnG}xJHN`tsaE~u!dVS@TAxX_#wbP%d$?&UUd03{lkRzNLOm1r zz|z&En7)*9+*#>DeB8zUHz~Bb@BH!S{bsMiXi;bp&AmH`eu|#0Z$qeS#b2}aub;!{~jiC6HpPOxqpgIo|BOY{4^ zEkRnID&D3qej$W`+pTHv9j&ANS>j{0gAAF%kU)stW!m977k~OrN#Hul^ z(0t|{9_}T#G(Yru-d)}1OVO$9$I-JXpv!v6_JrrR8NQzPY7ZzIi3sCuB&qSa|BcaP zE^L9mwgok2np{(H9vH?;f2XAe!CEI_NE;@)YB(gW&;qsV;SgBCb^?|GSsn*>X~cL^ z|6)|FdL$F~GB!6Euwi_a(Mth&m)4dy)U$@2H4#@8y_kUgA+%b8pRER5G{r9Uyab|P zT<02;mm3a;JJ%Tl`Cj$)SRhO_*4ssUCQULRWmo$vn@R$ZwX!srCdtMIar5wqY;60! zUNXpKV$Ym8q)za-C_g;dO+TE)$*Ejt-l`bwSC*kaYmdmFSw9OC0A4`{zmv<_G@{^I zFw6jm0X6rV^kn-)GI7$Mm(G#DXi&+{{zvy3i>g_hu~!mycy zFJYl5Lv50CuHg*%iQd7h>jYQAtqK}*DXjha!#m#`TA`Pd0*Zn6OpU!pIWh*mvf0mH zykn-X;snVY}qzg zONvgvUmL!05-Q)AvBGqYvQ=HkxCMY$YXzB+vx9>wWG5e}6e7=t+pXpsTZCrDTX@MF2%HiMVFarZ|pg9oO2YBwnLqnHaowTqGb@|8; zHc&?i&|V$Yac!u<>SPVuDusZSl*K=PYrW^WK0w2)g;td}Iq(N}X(tN`X$*R$X2_f# zAEzGAb5tE0%xs*9UdUSygbk%iO0#1r+V(Kp{X;|aH7Ih5<x)C6F~Slge7mzdJ$aCR?q!_$Xrt_KR!SM*8NVqU0#6r|ju(IRIEHr6pHsihMyk5^ zxb_EVveIV)tr7MyGTU?`FA>t{F7D+y1Z8iZ&gn|pROo?~;lhl_x+Mky$7w++LjL+r z!(djTg7&YWBue3o99yl{9&FwJz#o~QtZ|q zd;BN%JTbpMKisVyZAj*gcl&*g@+VP?8cLPE{A#Yg+4KBmsWs>b+CFGSh56@ujEcueeioc2c_k^cWPa@!T#b@TjHT zPhzP5_BODzn3*4V;v!tb3SH^wozhJBlwA8qmzC72NQl?=f;|!)$%L6Eux?i1>a0eZ@#TaBjt-5yk$0LD-s zZ+HzwNipOWQn^nO7SM!?7#uXpn(XZ_!^@otUS)(xB?Ebmbc8?NubQUW9R(QhTQN3S zezMn-Ee$|r^R|<9L+dk17sl8O15}Re`dPy>!er8GG*NG~DfvAg>5z6_7q_@!*9`Z^Wk|Qt+nHB<)Hgp*z@>q)luJklj9IB8;FFg?r6D%DI^X20481EwH0Em+Rhe93#-a3f)2nRLKZWKHsY-Agl#68J@L! z(#1%mSuEOl#jPlV3|nX@)^wxZB;=6K@0Z(*hSd=4l81N_W%&ow2m_1UK34lb2$}oN z*{l7nfpmN(nBB#Nk8YzC(5u|jpyN@KBEc5wO4-fm4mnw#mW!El*;%$D;-VO;X#M6_ zg6WdqWdtXQGJ#x^-3C;XwDU`qCEu;&7xLY2CJ2jpqJ$-CdXQ;JKp0gu{uJQP*HW4emMkc2##Rvi&gPa9x$k|!k<~dH_HvCaHHg4$pf~`ss)W@myx|k2N&CBcdEU& zLb^=}kjq&?F+7SM{V^}D8BpB38S{LI^?sQK3v)fJ+;+&_N0|lYedfAYaDCLbXsHRU zFzAn2-TkAsQ&Bf=m=up6<=AbheFYNY-yl>!i3e|?iw@`=z_pw?*$6Y!>fc+#c-XeX zjF}GioY|aMz-rSYQRx(K71KA-(f6_+O0U#8=8Rm7M^q@xSBzJC3yx&WRQhaHXo5gW zVU%0s1a(o_Ijm<*`Y~K~uIk8+J{mU>EuAMbVc)}&)}RDB7L~;g9SzRa&_-s+9)0GQ zg)I-a7$hdANdR6i5}Y>kLH%vuDH}C1g?U0HUIpn;L^w#?K)~UfhXdn>Et4n;D>pBn zvJ3|?pDrdl#vy-nk0N^TcxCVK#PU0o=*CMbns1}Q&miArxc=B!EpWy3@12={ z8}m3^t!}cUj;1&oW=mYraxZX?L-Wpx0{kSa&8fYv6+TWJop)b%0W`6zFVI!)TZ{Zx z=ky|;l$1;Q8=#=+-Z^otO6i~4UX9IGeNn)-dIQ220R18w6#|F<_GvPlr;uIx7VD+^ z^p?!UTmWu`5kdxa*qT*~*`GB62!mz|?*2aL{pSL`yV;o0Kf@X7_X#VAS$e;XejxYe z5aMy6dwRyek(qrUtFYk&N_m)eK5vg7mt|b-B|Y%F=xU~V))^4}P;S-ZXd3E7>Fu+| zZsB=QCrKHU5_rgXaK751$;^yBHtb&8>%P-+(r)7pVwF0*H%!kwQmmB07IksHE5H`E zGAiq5j3en@s`0;@E$M4TEc|e_NX0z>6B)>8hCgX(bl=mk!5d9~Jv?i!ox4bi+zbo2 z=!YFeNO|H%p}g}8dqe)=@XU zNeQl|H9(qAaAm+EoM_W|*DfRdk*^-Gp>CRYS zVa`-Y@AnFaZ-&@VW_jzL`Qol<<+b>&Y>sQv9oM<7#GdD$b@9h3*X+8YeMRf9iq=k* z`=ey>Yo`Ig9Q+|E+OiqX7)+UYG-1>dV2AVNchcvY+dg`*@nxoV#@}c~)Y9rAS+B0b zVOr3DiO%hzSxqWFIe-N-?5SSWr++->y=Cr}e&zY*zW>Vp?G2kBs|?Ismlek4HL+g- zJ2Ed@JE59FoULDI}pv}~IU^lFiP;oTxg+Xhn+kY$lb^fc3fH3tVmk>IHqCH zm^?{<_cBJhXhVHv8_l92W9f55GdhboE^Mf&+B#nMlxaB_y~%TCj9J!jh|MFD(wC$q zNrZ)Lu9pnW#ytebgb0}IphVLG^-Y_t5))Fc+}fmB$iRtmk1{kYY~s34cl}-P6>Z#G zFRmlr{O}AHko1L^-uaPNb}-LE>vT_o=o4!uZgB2E{kBtNpFei_G@}dS_wT46>bkC9 zT37#<%m`R)*Cv$wH!>q^x%`QiKw}FYyCZu-s%-tfz`pI{by@tOmu~$o*gQr{1wKlFYPkl1=4GJINEn=-wRo zFBfneWD)U#NF=8#6|N)>BFxTR3x}Xls|l=U(gpgs)ynQyva{*ZvZ)8!T^wi9y}U|I zXHR^lVTr>EFJ4VQR=GaM@*?3%YZ7*~VkS6`;r5#4rerAuEP0i1<&q5s9E%@X=_hBu zs`X{Z0fIPznv~H!BRo6X?@ubLKohSY2jtH*Qd@b*KDpFB`q6RC`QLYXVV8^FJuW|~ zVsgKU!Y{2%%lfH;(5f2mtfWLCrd-{gH->VXWL8#0&jVY=o41~2rZ?)zdaY?keV%x< zrBT3hTjQFYc{-5T`Z^k=&)OU1Gc%7Hmu+!ZYqCq}GXpD=mXl2%pBvYW>|u6C3To!J zUa$Pf!1+&j8qYA8SwLvppcgId@zppZCwQD)G}(UKt*vx&z!lDem6Zl zx6CJ7fzuqe)LBW~t?l87Y(Y+G_|wb5Dk8CR0!xF$a|ah-bA;9 z3ifLrSHrUsCitaH51@w{!*?&{&R8KUEmbfUY1RtuQ28vyOFcs11YBN|HE(pEuF{^h z%e^y4yqA?T{oA^A&kT18CA2b}-|-e~o5{{)r*iU5bnD zXnjIdfac_@Y_=o66NQ}cQjcp28be>#A7iGo+-kn9d01=x?l^9L7 z?8uVvvT@(eSe}KRcG}E=1mTKsJdop6z_#Umo4WYV`~^(v*ZO(rrX6#r4_FP`Vk}d3 z>M4sJm1`Fczde-Ah#xLFX<_(tzPQmjrE$b^R)TdnbJrqznn@@tDMHKcpC@DN4i6Pz zENW8e&A>qRpB3@CH3ca-!Ex&)U1J6i8|aKVVu%)<9y($GklykNQ%D+XrNnQ`)AYFo1Wab65aOjm?IK7_DJ zNQ(JO9@s%Yj4goR&oM?dcrPCAIgr`;p++Sf4o~kr zUua0LKdM6)^;g%FdT-_KjWLeawx-l>er^#oll5%g+sV)0*cepvkx!RAEK1l(4B5;@ z-_EoNfj2jtmLz5XdDgQL4H|<_t+MlEA0ZFQWnt5qae6cOW8vXgP&VQan_jFU3a)Ri z#jG=SeU<#PX+%i9m>^Fdr-&A@+ae$2sppu3R34)g1{Y?_ZHXyv4)I8#`#aVXCcrfw zU1xZn!{j!a*?EN7>0m@8b7n^(lzgcE_>j8kCslCVnE0!XAQiKdUlpV9&FBFF-c>cW z1h>D(BAgL0z5b>44nw?7{lRcoe@49`+60|}gn1bLYWmcUap%|IDoAUSE%IMTt zT!(y-VEWxIdxD#Mk}L9Ecr0xsxtBLuMtnwK_H)3usPogh1&72qYREN-x%Q*OzxRuX zbTJfYSFN#w`Lv-gMLE%Gg=>)X+?Z}a`9slrF_-G~lSPc^T}&Bi@F^hLN(ID%j=&8& z-twNI-r0~+1A#RBA?oXA@MZoIjw)d^AcrHtxbT<{)@vgL)xu^kuV@ zE4C{#rveUl8(rta@Q+t)QTtI|}eSS0X{NwfVT(go5PNC0I?cbzM2YC7gEBq1_GcwEqc%Jq@B6_QpAD||ff_dyn z7GF)w%m*7u>Fa=KTdV5D(W!&k{Nf2CcIv$tJ^NgjdJD^)p*ehK#WEl=DhxYP+G!#9_D|{o$rGFXjQHha>ZYsSWh1TEg3TcK-lgD2 zSEK0!&N2-7FGhc4S_@lc;U{Ger2J09=6(OUnv-rs_8G{uI#l`PpS4L43czz@G@(<=Y8<2ZcX0*5C|f_r7<0?zn!nCY#}S6rFh59B{Jp{^d)^ zjBks?$@td`#Upq3j3;;}VEcxHKo2T%wfjS_#Lfb;bjNQSu2MoWjoW0M zi~lRFApd7!-?1tIiPpuQdivfsUfJK-(N^e#>briudFESWzyVxQG*T4Oj9IVU#ZKqR zp7-V*f3jv6)(5$D*SK;ul^>jeQo_A8U^O*~nOV*FSp&v5I5xm$9lyeuPDrwrN)cQ+ zER#Ke9VIJ(tNpz92Nyqpj@PO)10IhIAYPcA+>K5QJA>>O+^KDZc5f%r-S+Qm)3aMg z{<`ZOa5&gV`XP4O{B=lo5EG_?i@*u|-ttmsNP;GlX0JS!$}d4|pUiR9NM;b%xQJYFqx!`gO} zT^e)EL=TMOpT}PCE5-_I_!Xa}A5b_DoZEm%YFXIU_%|6$Z3BiQP(3QY`Sc}hFDQIU z0|~D`yD$CHOl$|@6S7&-{~<7-{D9H_o6HoNA^MBp!C{&2R&TyK&BeuMY7-e1ou`~o?-U^{M?(8k+FYP) z+APUZpyy(NPeEnxnS$-JOAr8K-MW|~5lh#A8u}DZMSb=LyOGFg*U-AP_K!BQJ z{*g8IGm8FTjS1yFWU?;)Oa2zB*}LX+-Gn)_n!>WSDG?GW#7c*#ZfW$;Bc)KvNHf)2 z)(^ixxZ54^PfFJS39}5ay*ybjj}B@7`PXLI>d^HP^20lKVLs>`4M=eGOZ=7^KLw2T zPuu$%{81tk!!zTJ(g=$ot-UpV1%~THPw}%cqX93zM7<3ekmL#-CB>iUzQ|}4JIEIo zFKgW26@_uu9d?-)=AE| z>Xcu|9A`dfD8`7s^~8yn;*ez@yPo+c+w@-R6X8m++DTrihT{wAp)`l)d91=#?*Yuy z6nk!ywd%Yx(J%Vv1FOckSZdk9wUTrIfMFG6EibG74uotYw#x2`z;E`AMSpxT-vcn8p<;4@obyjZZTG`1sz!L-MTJE?c4B$$ScX3R zXSUY?YOYcX=uM-&1NL{zeZX%@F>Vs{XZ8+NhQcdGB@l-Y#km;4*X(D7MDly1vgaz6 zSkit$O%SW9;5$CycUba2*r+^F)X}HVHWr!7UCCF`oHbHO82`I_e0p3p5%(KPPCQJD zMd%-m=-Ftsd+9c8fED9sigUV-q#Occ$(yq>Kkgi$^&vS>l9vk^NT$y2+pG^q2F4t3 z3p^h0>5kpUZI*T&&FKkmcl@OWpMcTWwZo$}Nv?@|&ZYw&27YGYo96!xXrku-Uk3a* zpq`pr_zweq>Bahmf#!*CBKVqmt0Jgr4mC91R7vt;6aYnoPQ(k&zv3+74Y$~tZ30hp z9t}-9^ccUR%geGUdD@?haw1bMNrtETmPDLWzxvoFC7MbvG9|8{^3*yh1Rf6fB$Y@T z8X1*KhQZ+j?EB`4bZ6ejkE&$i!OTC#4N8QUQaRtT_E+sks_0(r-6Wd`j(kmca|`|E zuO3e7lb9PKY}!5|g>VAIhh`$l=Io_zLh{#L`vrB6ZV1^Z|X%xTkWM+7+_VEc&s!uv0&k#^?7SDH>LSHXLZu z7~+af#S;(9V6C0%xrJd#^@+(>(s_&F!0t0<&#K}eG&px~_m6q~VOHEKm4bFp&1Hl4 zQu-{G0|JByPpR$zfko-H0s;at0L^a!>F!u{We{QOZDuUFaZF|9(O%QKR$ay)CG`qe zo20$~lFMpqgob8ikx}1afyqz=)i}pT{~o%?=v?qa-d-frWXy%d+a-@U=!;YbS8&Bc z_^}H+b6;u+tJ{uRGBdrp@FAPTuG$%3$5{b&%M*S6TIStjrpAVu+4V1~hgYH-cKnC_ ztSsH{7>P zPc*wb$xG`#vRdA_QuSxuJ^Xe}k>@YwnrQ=u1a?FqDRE{}Eoq9R@7K~Y4O8#{JoakC z9yM$ujTE;TlZBKC)xHf*8hZF~XV+En*)wn=bU^(-Cqp+|T#`^CUIRiNOxRa#Up>0{ z=X5T0MXeHmt$-jG)ad%-|2C-dIZ^;*&VGRn~t#|CQ|7A(~R?+5D zS_@QF11^o-P6gSO=v7<0QMRGbXW8r7TOfwfRihn-&SCd&@k^hZJe2Ct^mvnH zmg-7W{JpUtH?PZ^NA%~xkxx^q#?N6uP7)c0n(b3l77<;E-li;tD9Fp(S4}GlUkwse z_42%YGdYhhA~387yQ;hXv>GY~h;mpTs&?TX7CiVsc8KTh#2mUxPkHkWSZ%9N*Lf9Z zw20|GX3i_w&Q60L=VH)x!$u*S3{hD)n*C`fk+netuRpi8T5xOm<^Lukx>afn9TO3C zi;YouDMO|2x|c#&Yjy$?>jMQ}GdKHz>*breRAbflxkcVVkPjQDlghaqz+aH5C}Y=x ziT{`iX_(rtkUT38PnPMg5HVVHjM^W}HTPs(eV=Fu6o-nxZUg>Vu(z_PO+c)7t<=4y zDtux1LgQVnL(PAPZwrAo9ORE2n639G0W8erFkQM6AxOOUZwyrPp5Ikf#R8ZD7xw=7 zo3yH!+q0|M3loKba7Co_I_lkqN9g43g8`lo<- zV*m3dV0U68ifS9L>Y&m&f>sF)R$T^my(fXEh?Hb&&ioHfQ8aa*{~aA+!_Wt}f#ERn zzy|#?3oz$@4i#fTlyn;w*8!?6?4MMp3AzPdKp#RL#Vp?ec7U=$11iT17F0pUFT&b? zh^52f^+tT+@zLfCCO1T%`%OA{PUr{^4%Ku}Ma#@<>AbsX7ez@nkhXOP?RYs3fW30J zoKqR9Nc}}G^76a^So~2_-2ifH-mpXjSb~gd>cj?p;j0niQy{0?8M6+T&-)uMm9jkQ zeXi=&uHGu}eLK>z-Zx8zLr56E@L1Uf+d10a@qw>j1>ytU+;GUe&0A8lJuG|fa*z6C zok>#?hKF74U(K8P{(2RaJv_n0*g4U$w!I#UTJ49ri-?oR2Yb4$t=B1}CTI)qR*Am3 z-S-Ic=Rl?2r94Pue2?@f^pC4b+rG%(v-c~K1A&|)QXHm$_?_FcsiR2xS>Pu@)!Hb8 z%~u`E=C#%RgoFe@HlY*)-$X!~?H~}s9wfjQce>Zx)L5`Pm?o=s$_e~0)s%nzH*UoK z5C01hTnD`$c%o1zR*{lI96`IC!twi8te@Ne#t{+OxW+*H_ly{x5C<*+neuioU;bQ) zk{v9WwYR-FB-MLcJRZ@%-1s_g^pJ}gSSx_Nm!a^)r?9o8+)FuVv+gd^{dB!o!V3zU z%cl2rjoNoCElREo{99hN1_t4N0BY;$KDEBeSOCLJ2M?aCS5mo?b|>{9=cEkh_`7}o zEyVtwgeqwjlO!|q$GqItJShh@3Kxr;gnl_^t&yg2Z1umkJEi|E^z{ABuksKmcQt_A zd3ZoIM5$}Xfyg#f{wQF{Fl1gf;Hg{irR2Y4M*rtv5HT(U^yIZ#CGsiGqcw&k8(ZAM zv}A<-c&EBy#O+z&%K^(Ed=`9`Z34J@{MR96RqKF2)Yknj(JN81Thp5X1{xrm2afI_ zh}QOutIti&re))!|G>7Ff0jf9JaBB1R&R1#WzS!IODUX7XQba zfwkYBNR;y#`+#UQLZPs~u5RX1X;2FJU)BYs{{`+pwRdoMMVA~KD_ClCIfDUcPu+=m z#8&9M47D?EU-j=?xY{s|VFz$iX$ErH^=E(O(N)G*^i@`7|9ke^(|^Whoxr2)%3!766sLaMNdJ|mOMx2cuC<{6A({qyx9qU%`-s2OtVJMmU?;;_L9?k#R4~jI@$Qc zvZ1h}`O+gns^<0}-#g%^+t&+ru=tOnrIBq*|32`5Q+#}*>Jh@I5hkcQ76(Xyn(=sl z@Wr~82%-OC_FSi*X%66gN~G-rBvD4!u zX`rQJiP#-Y&U8*})(tP}Q+Bn0)2Zps6q5n!eWs_SMNdrlD8>17@4wmMz&T!_sqlzf z&8Z%Lu%vQ1FyD^2w1|k>Qbp6sQ_|2B0NVuN*_v}T<;9zcJypP(bJoepk$Ng!fV$pR za2!H38lqm0M>` zF#-|!8yA@wbaH8QL~s56@AdrwcEDK^NvYO8K}t_cjb{U(?L-E4z3J zsw0=!4CfP5Tt8Zzjj<|?%r$tvVl1<+Y~QS8dyYWbUyur$}$)}tx9UeYH;*Lbd z!X&g)&$(`CpRSQUj&MKtnG_Q?OWxCT4LHR=9)BU}l40B0ZwP8Y&7jVI=+gvDKgsI4 zt(iR!s7q?m{D0gXLeBaTZ93YA6EpWAP0~{~hp)E^_$~}iY(*J1!!jznya3&p>`Xyy zM6i&if|J^5uT0|2nDRO?S;?suwv$D$WUI_^gA3NIj%2nw|dVUwkX}!)3HB(IG+ja*hqOl4AV*b_c z@ZsUx`lYH%(fg+Qs1kAw#wH0+WcNq5I{s``>JtgTx5xyw5O4kDb$jFkA2s4GY%H zCzRr8>i!~Y)451QkxIqM2bJqh^KX?O@DjfSJnn!Qr{yd+18^6pL=y|dzaijQ98Nsu zQ~!dL8e7!TIhZ*H*8sREDL51Lv6|6bLw8VV_-#lo+^jFm%i91}kQEQB8opvOHopFfP3S)eg?B%3@Mv)#`Ku(9O`9uG&V}DwAwRmbw&U}t1-LAs*5kiLKzjg-``H%_91jN zUY>vq#yLPUXNZlh`Num;y6CaGx6xmc?iGO_4?+j0{$xhOd)zPjaz(F%uGV=6@zY*s zb~W{Yl&6zj3<4AUMtBg;GX)kfxtYIbwKd-+XUfcso>(qP07^$iW=eSWeq##gs`+?_T=iUb!Gi#&FX0g+92PH3hw7hk{N4Ukq|)mK($0m+s6A88LhxW#0Z zf8BgaK_jTQW@R*xE7smxd?()6muK8Q3Ui&Y0tnF z)5MXli*@QvBJQ(I_;{U2h~9fsP&I$>Nl^5_)G1loS%pns#nOHFLtD=Iz;fs~@kpJc@JwNTtyh}3 zjQpTq^uJ))OO1v*7om4P`^mlvKnbIN{xwy|Jn~EeeOz<|fVbl^pU+rYiimccwzX+h z%hPVFFALs(F}3c+hp}IxN{tQvIyZRdTXFM#pC%!{6<_Q7*?22~jyEDLxU(R5KS7&A zvU31aaQG~1f&X&dnB@>oM-acN%og&6hKUhw zYa^pXiW%)c_O&eF)-lkH?!6wY93p|tlnX8>8h>GeG9#22URO6pqj^izbI}-|nw&yvx(12}jg;nE4N#y0&18{jIT?j{`f8dCNSjS|mcZ7+=krml;z> z`@~b+MhDcfNsDaqZIr;ITXs0ssDsaMJLWhIJEAESAKP2BjfvrqpFts5fz$?fufGW&&8pfqh;ND^5v4LDCt!k%~6ATf|R8A;+oKa zI@=My2QZ|D#To(5J>W7F>KAsvoh{0`u};Fk9-dXC54_W~$zO?*))Y+E=Y9IlCEoGz=Lzna{P>UF~ zR1q#(2%hd=x>vUL_U_BM#PHwAr9+*NM=^R63XMczQ`5p>F%}{4YbyzJ+|_Z;Hzg0_ z-?;*22=(~+=qyH4+nkP|M`+iL&aDtdRfEd+>c2rzvTwu{Ud!XFi_cXZ$mNE5xhH!X zB2>)8^Uin2U)cQe#vDVUT0E;%j4^$|iEH!r7bE(5bi6lruaRs1kyJH4{b;0(WIjhZVgG?Wsq2lkbg)_WW?$mqA?CArlzH{B<9%r-No zT(dLrxqHEv(7qG*<>+Wy7#+?`anohXS0sJT-S#)xWBrX2@&(x$U@@quil646K{eWr zQEh1_@Umt^kz^+F#Hr8^PI!L4h4_ca>-`j92_XjHs@Phq(JyI9%aK}_cxk23RGO8l z8lcdk=rlUI%`ft1h+?=dmiN(7j3xZj*jlpHNy!Imw*DDObv+TPVZa_k4p79TH2DdS z>tn-H5zQP2%1%3fCTKK|QTRcAcClF{($c?F}=0!tSBH z1--_{5lVBZocm7Bp$0qFTOn||2wmf?2ZA*ZAm2Nnmc?T*AgsdietUxoUg69@##ZYE zfh}f5zFiK%gk-E?qF7~jA$DD$1)>l zW_V&`Y=kpKd(@f+=!pZS8Mb{hJLqXn8}5gziNF3|^!Q1$#WizdO~BkF+>^dx(rtKG zL@@@0O)@w%KBYfC^vN%aK47;*Us`GY?;IKF~ z@m5;u_%ltg7>0haQj{v${R+j_HSbL22C|&X@ZkQ`u%mU)%NbQQI~R)4O)zh z1i3BqP(;s6jj!Ev1J%s)dA%wft4^;1xBS2@&M5gXrzFHEQX7UmkubzGZDjor9ds71 z-msSo5w>55O!i@}f&QlPbFI%;+&A49H^mD!_%4*njfN;vr#-D#p&h?N71vU=$HiT+ z8ZlFr&N)S2RpyqH-ZM9<0vem2R$q0i`*M!h-29L6 zzbG~Vq>XQ5sY&i!(YPj$%SP|FCR8-LFYT+ArFXh+XeVg)heGRz#Jj6|XD8LYeyq>4^s=d%rkb=TJ zqtN~_^GczG1Nf*l;pISa>&)G06WaR)SuScH;^CXWmvkGrUA4(TR)&p(UbQ_8gC<&8 z9pi#-#ytEIj^wUA;XgZ-$Lq^2YEqmst118O7u>zBu5XC}7h!*<=-=lfFPo_CvfdE&7auA{hnj?;}mhbKh&=pIa|!5=RSZl?P%7MU~wimz_23SHr$Y&jTNj1~3(>Z3c z1I~A;w`c9cM9DXIb^u5pu5;G;$XU}bhL0q;qs-#<3e0vR{_K+Q=;)2%a9z-K#QwBp zX11>Z6M7RqqN?-b!3IO|Mn|u6I26VddRtBgj1iBdpZ=Juzo_ChB0l(__=7MZo42x! zLt!AkL6cihc^9Ru8FRN{fp)Fq>DlX7`+e0N7ml_Qc*`Ed=|s6LZeCXcoHVewe?;RW z6LdTeSztd$-p4e!?Yy;n+u}Vmb+#8Hg(nHwUcSyLkH0_ZeLDAeZwaW+*@@@AIAs}d z4;-0MR0+Q!sRyM2J&Yq!zd&z3euvVkLk+Gbahv^ChJ?J{01itBu^dMe&w{|3$X;X7 zr*0=lQ|Dh-EJ}Q`X&scF^G3n9-z)UPd)8)jLGzhu-T=nNr8-8NY@uKsSWp>gC$;&`t)vzMy8928Yr!y|&))m9Kks;jv#Wm2HP$WxZCYWk32o5rYg#O$ zFi@|aL;LRz95KvXL4>qi@TU1RRN;FZ=Io`+xyFX)+%3`oRmcnhbMscdOX4agTOjVq zPxUL!nP_#XQg`ZKT`^gF&q+z1014mT+_aR7#~`%cb&Byh#QMxm^l&8Z_n9;3-?cr= zXyJRD&yr?&m!gpc4l%~mo@HxqsGr;1`@m|Tt{!!x{@g)*r%z>1d=w+Os!eA>@GXT> zVc5Ws#L;XWu|@tlQtaE(!P8n_eTSJir-bgxbOhgRzP?qCTheC>hC(0}alU5w*BHIU z#lCzmx3Ptu-phI)Oiib7?HPIuB$#Uw`*Jg{`vqUf(okLheEV5LM^6`nh(Kmwr5tmI zLd*)RNo^*2Vs`%A^ME)u%}K&biN00&d6kcKZO8-9NF~H4*h0-DdM0IyfyToCd%*{E zN}#NM?CpT3@T9f)?p1AU(ZYc`W3YxzmV)y_5wN!*5@h2NZ@e;0yMW`AI_=}->*zYZ!K&UaFiD~0i z6lO)Pl<|u4k;;YF3GeQFc)3h>kWInTFy4sVB7Ttdd;xzwiZZ_BX?yW9t<*C?;m20V zT3a6SpF}mZZIXETF@oIQ1Jq5hXV@Z88~eFKK;Y}^ue9VLq$M~70+(9TD_><=of5h3~ z6TRTOqPfn4v>JCZQx(TEDcNi3N-&;lO;59d@ZPiOdXj@a|H~OO+SL8a3K?GFJaO;( z&Kl4QD$?`yYC$P6WnB92%O9HVA8k~;m;Bs!^L~j83uBpg<2Cp--_|bgFHc}3WCrOb zOMPKR<%Rtky6}E<8PCwMLb|b*omB7ib)ogh?^h11Z=cAzSluIOHT+qsp$M8_FL~Hz zZoS6lwSL+VBUYJYAt{aqUKV*w$98r&E*Jr0GFN~8OVt+&G%?YvmffJ0C5ISVTv}WV z4GX=#QRZrGSrbnEX}H|RSWVLA)95;}joM!Q%PtCm#hi=7Cc)3dbXWS8^IKc=;-aq5 z=57nE_HQVC@3M$l&MDy;o<5zHB||~7RPK^{%%IC#wK>~>k!E9z5MLz>f`8Cx;)$?3 zTylFG&I-IP#O?at!9F~gzWkM;(AgpzysxvSu9}IlJk4&7zsSjQy5OZP3%Afyor_RO zT};mDHs{>w7K7ZrxiFG9&BMHpTAYM*b!{$XLxlzK7Tn4qER5IaI2lQ3q-)`o&d{a~ zvu&L|S{uV}WJHu|ZGEvKE25jtq-)xdA2^5?x%{n0nHEZRYWTF?I#HjoT7^A*ib&^d zR0Dl%0mC;zSI1)T5Ut442eMj}y@wYk3}~{*jM7)#eaSmMr#@tT=&)g21TX0v-{fSO zI`)9~Qbi};UgJE+c+*{4b@76EQhJAL?p|}nX0(}p6|S@vXshEdw-$n2@4FuVryQ$C zkpm|s;wQDw?j-m>huYvnS&`4RG#4!WYR2LZpI*urp{nlow`c%N%m6- zkC!XTaVTwLeAL7ho;5j%W7u|{5ohD8t9;kOx3e?K zA6`GI*m#-m)f!%jy3zNHU&L0~S?(oY`xU*4T7i$R=z2u*Uh+p*#etf6*(H&X++4&a zGz0bNPT%#1aVM>nYUup@{JKZQaB?2Mb?zbdAPxu;pU3>&T6g!8AED=4`nUi@&&9?@ zKX38!icRgmjNy#8P;V}X%_r|jo5@}c#&l`oVVB^wQEP$jQmmqP6F?dWmI7 zbx^QDN1c>ZRW~2}v!}^P1RX>tqd92%tD&INhl5ZhYf?5Aac@S9ew(xUv}WDG zm#=)?fGJ|zf+v$KqOQJ+Q2^geTscnwE3=X8Yqn-aRpa zM5Q(Dsy(~&u5wI5Q%K{NmM%XEZJZkKUSR&emCVViEFz^{yZ4p@Y(fhw)E0zrPasT z?+yY@+LwedWdPPVmSJ_5_(nas#456bsVVSA6Q5#v2w}X*<*hPu3dgj&?>HrH_wn#B z7Yf}Pa*QqT*;}u?rA1B6eD+`*@wTkWM8y)H5*%#AMI=gjoB+Y@ncd!UW&!3X()g6l zPBAKTf2oUj)yR^wXxJlJ*;NwP_gz|(3L(j{i8ETAD*b4uc(2@2Bm;@JT~i8$mM{}z zT7Q(ZSH3}BLq{J80ck~K?BLD=MXRvoC>ota&NYFdB@8o;B#BQ+Kd-C3S*O*KT&*i; z)UuV2Wy;D-@lDbfuP^*3jy%kmZOh-zN)`VPoRvcP|L4w1I!*!NW4si9yp_To{LbpJ zO9Fwd1t73h40NF5%ykwE1=&U1KU{FRA|nuY(c{5;(jrRiBOOF+;>pl@bmy|;t*1+D z>_Z7`G_6ek)m-T$7U4MpMCzHyjm=F552C)ZTY%*9c2Q&i(h&JU0p!nEJArL)>mF&@ z`IP20!=VEEj(3Jn04-{JIq_%_S3Bao5v*mXNERfU@4Ffu+Q6+%NTVAXvPR0xh3*`j z>cvw$o-8M0EJ#I8&)MZ-<=DPJA{et6j&uClIk-UKH}p*s~%n($q3A`pN<{DEFkxj&9=jWVGyroK?Fb z4Q18rqTxr4FFq?TfTDu5b!2z8ffh#bdpn?nF~<}li%p#Yj1v0#V6LF#f^{38ZmLlU zqXyEVh>zZB52iNM|Fmh9O}-Q;?*;U`d)p4ZHj7-lrR;d`dhvev+xfSCOjVMdTHW14 zp*r(x{2csmiXm7${BimH6B8yAxtAv{Oa*J@ZekJd!mGlyDH&z5BNc(#{!G+z_Tf}$ z#WaaOx~}!QECB2Mcl{nu)1Uf1O)vkC>-R8Z(<(6A-SaYIP&ou7DlPH*J1&! zj&ngk(_+M3Lgr+%J?|JR{R%+s)G)s4Z=eq|mY7(HzJ%oW&fUd|R?lx>4=cB@TvHx_aZ4?Kr4I z*%U(AUT(iTa9;Pv9r-jNX(9syU-i2y^kMYo1QsH@dKx?@NnXcK$r(`9GbFr5*HtrV zktS89Y?vTqp^^)&nbsD2sU`Dp9kjbWa{M| z_eDOEup}KTTTBPMS$qSd!Y{PeHTk8ue(-ru0I2{MR~t~!c%q%8^;Hly+ePOgFNK?O z?tLtzA>@(P?YwIu71X6;^w!hTzeo7BP&mJ8Y`*SRmNzG35Qh-wa*39&s(nBYEdkeQtm z0^)ZluO<6hr{+Z`6&b$Or?L;rPaL~gmrFPOMYJy3Vf$ESY#$d|3tz)fo%zHt{i|*g zQJ9tE;8O{Dvm2{1X}4P*m0g^eop|suk=R43fGLq-Ua6^>@DjjbrtOC)o@o6)S6w6F zxykf7(X$kdP1JHQ&`T~-1L=^rK4+NB9zQ%C?b$56R&``Nq(U5UjN7#ClPR3v+7_RS zIbRMynQO!QIg`}f0Coi{X1rv-f|x_}jU27)y`x|O zwkIz|jKttQGp2sIgj>f)!OOBJN2!lR9twuv%{`xRpeE;peKX*my94hm_-yj`{lj&m zQ%aERJwLPKhfzKySx-F;I$p1l(!H#-6wy_-Z5*;DEs#F^&ObH8hUV(Mq_t*Mk`WUv zqTF+FFh1{&MC1E1?i8!ZwqdJt{&h?YcUEK~A;)J%Q<*Rcj|KEkyxXSsQRLhO)Kruw zW8ro|O5woVCG9*yt7mV?meksib0OD{TJ(W$lFL3lcKa)xz+mYiwLF${%KhvESnqk) zCK>Y@%wwhNT*p^s^tn1lC&4dX8dB^19isx)6;wZVmx z3lA51zT}=_fnem~kgmcqrL@qF4kD;B`NwSUl@GH*#A+K{EJ10xhs`}VPD@4`ZOw0J zzX%lH^;T8glto=97(E&Way@3Leyt@wRnGoFfx^mEH0u1Md^Z1qg<3SVpKZNPH9R(N z^|6iff|?1vAUsKSa_K9od%w?A#-X)f&QA{(h3J1tE_ ztE4O^hco@db1&b2{>&pTZkXQ(@Y{@P=_e6@d(bu0G_J|F6nUESv}2s4Q-^Det*S&d zUyVvGOBR)6AJz`M4QXD?qZ!l-3S7z+O^mBzm$1utpk^^{1j{c?t=qAJRSeP(3TH73d;v%hXhrUstXuS+Zm(xN=R;j42 z$G&0X2gzAlxH*+OK;Di->8XPX)H8s6l|!sKSy3 zh3(|0fJe(}Za)EJyhD0!l9g#cmS^0~@A6#>;3i?Ta57Mm^}HUN9-v^ibmfZfhXQd|9P z^q0C>yJV9JdMghj+0@eW+AeGbuq{s@bgjxnq$RxwU^X-`!*i89mLnbD*2Tc?%Crr0PhG2pc_ z3Idl{DFL#N3X?>)<=9;QjWL8^AY<-Ka%^U~5zP9V(?v-xwLqjMzi$ZC88&Uv{Q&>A zO5?jq!^XyDYirBLN3l6m4ZiO0v0~r#>|T;$8b2%}x^G{lZ^9PGK7>A#>r5Mg=MZSt*MUJT3ENf($bEM5rW?hSdCt66A6O*X>aOjz8cc1QxBgmp?xC z7Zc&<-y)^pd#*=v8~=EP{1P5C5&^Ojplc~~*PbZf0X?6HG*)I77Ky#tbnp~bR8*ks zunCjwf40Z-fY-XC)7gMtnBC>@L_q7S`?x$%E+;L)>!o*;V1YeSkJYVPw~7F3$mENC zBdTuf5lhj}N9xy|T!9S_v>gr}M70cvE<(sQLCVH2U=g>XtM)YK&6_tH;0ns0?QP&i z%QCTcGlxGR*uOrhNPv9iG{GMLcd|k04o)*A4Y!E_KKw4WoG_*B4x(j5bfZ3$c6Q+p z$n-f;I)J~vNMuQcm=DSowYI$kahk%AsG8D7OkxG!wYFptSMlQmC-}d%fAy;|pk|%i z7CIto#MDAKwsd zd*p7~G6t8sF4O1lZ*-~jOt1XsCOU6<@7g8EST>z%?Yas%8DaG0h`#y7$14OWWp}_@ zmRa|4sWF$Rr&qG9B7T1v!RUK(GP1EvkDe=bMOBGWLF^#U1=vJ9d^oplT^krD=x)Y@ zj9X0${Kq94|KbB7y}_<=q6f6wh+%oYr2R5?cIN_l&fQljAAoDw4+w|0Aj{1M5LBW^ z8Pe!@*2=owEVc6)lzUjWz=fI2dktB1ptygA-hC|PCG8uJ2Xm#BRimM~6mC!cxxVLY zwey>Z&VaVZN(hy)M1~c|lzc>bg`C{vbg><}e{ra-&0r+bQI6+Le}8`igRkhuDhQ1# zon|nHbiBrG^O@XCWO9AJ+Yg&MdLQJ*F0}dzF)42tY?0eWfwF$GxUSEJ-|_4>EUYR8 zf`E`X-+N$hgsZ@ZJ_v}v@#Svl7ZVOLx%$~4QM>W_=!X^ep^`S83hWd}`qV~Yk$e?(O{DvRIx8 z6gHp)=G+~7AD(LjSsQY@v$4%;`ib)&W*$UE9a|3}PgjZopOjN%M72DGl&4AWZjrBT zR~$)x!eG}OJ2T4RGb!eDnHOtL^0Kp2Ly>mOYF~b-vFkJ|VYX6bI@1 z20Xn>n327Ji?gJ)@G#W#b|eH34*mDxz%p&Z`L($+_KS*e}D@uY`VJ{Onq^!nXw zCq6xxBCaaiwF`OMInMKmm)7#A_Z(cfFK?Cfeuq+c5Ai9Yjt+{!DzUFy6H`?xw-w{F zmMxEGf7};1h!XkP`}=u8tLd*Da#x4-8>g>OT;d!foTOM;EOQ4TFJMH*1PV6MQm8AN z1GK3D0G&p9Q$wRZm)$VHx4R@ul%NjYz&2z}#wz<}z7v7AA{Vw|vI24Uh{^^ZiSSER zGR!T|%R>{gm8gWJ%yp(}5OO8?&78dWehwZ(H!gXk4n+ibO^x%R93$1rp3cFe<{qPl zPVis=!EF^vYl-Dado@fV=drsQ{c@<~wADbj74|4H8CI3dNKVGY~UT2%mL{5?t?K#vQ22be-A~uu_WE68Y5OQ+u?B>pf#wWJmth!JMxVF>fhRfAwqJa*qxr*rOH`mJb z8QR=?5L|>~!3eNzUt^Q0}Bamm&#^^#YzMtQ$r z^+&$w0cbW4eiM_s9#}ETnxM5qE`MVy;wFU%F^!&i|&9 zMA}19dC8?anVneY!@65CVTR8Z<@Dncx0?$DLHV(>bGd8v^!rpkGF4CKnkC{ik(*U+ zrb+i9SYd7T5oA|HSuUUKWWf3wemkscUo|#vr5S*2;~B{!#PQM5L`)6taQGNMXcPfR z+UhMCj7ty^yB1O>!HzOeHm=g4{dHkk&bj5m9{0n#?e^j_=SdrqHM#1QnSrAeZ_{Aa z8{}EsdiSTqx80^XAxLKt3Gut7q*wk~J_2T9nj#RI2%lw&{RmFC?i;}D(5V!qnHvg@ zVK(*?M$!+2%5x%a=?c#aw~x&SjyXsT!7HzV0#0t{NI?XJpdZFx;Jo5`eK+8pby8nA zjBU)$!9pwc@eeX=>7z%C?bv>gVvl{Q?I9|5X~y6b@qk&Y9~Bq#vWto=Za}52U@(R> z)&=2;{UWJyhTb;B9(n$dH+CGduG66Zvv?V3c`}jomB7#SdDQ%XhegN`*!Qf{z-}G z=ZLccs!Kqeq(_?^X+lB90tb01(m@6a{g90PnUPIevZHadUFym@!zhMsv(&-<%jwY{ z*@skYxZU!ev{(Z-rrz}<&e#Ku2y#i*KCs3a>lsaaQvwL<~IjEPG#;VIt|vOTw>4U+?m#n%iZW=QQb6)OMC zmQ}k>34{s1+s_IXwM#lkRoKAh2i-DnPtTr1HKLat1xcY%Gfraen@UEBUn>s?7e^=4 zizElaO+FoOBt7u^Uf1ifVLFpW*}>gp7KAYFbf5D6=KSaRkO7{Q(zcjsW=7n!O-d}n zsX}NGdcBU9dH4$QaKGw!A0)Qn4HO_Mazrn!9_82>ZG}fqmAQ6bm(59B^C&H1d+O z+wgT$F26{`Qr=UqmUZPf1OV&GO(meIjZ&RSd^p@8-IJ&pUK*r9gBdV^|`oDGG-{!!XH>S%%_rgb1fYY(1iDcxEN!QJQ}8n`f4rNEqdRh*omd{J5V>UGFdc~; z?gw=tHO=Wx|C>jrZg_l8L1cO`Hn~@1e7N(DK*S`fp+0t|FtSG%e;cnx*Mc z+R^W=BQ=@Hqx-5xLiIicxo`KCeq1!XynU6eww1v~ z^OEcQ#wyu_@vr9s{F}wNG&l{UYrJwbtkrbUJuWaVCxCl8Nm<4cqxOoE3?=3BOO$Cc zbf_w^|LzPvl)Y*x2Jhz5>hRz2Gn&Q_(S7DQUgl>CIw)CBuR&j1invg{DCW3~;t~5U z0D-*!Y}WJ+xs;3Y*seQMamvL(=b+%CeYvhp4r9mE@B@xi_CF|4DLgmjz(BI{3hwGubK$c4o0 zUDuiutt#_+*PCZYf3KFQe=wqbeP z{B3amqC5grJ8)iQ5bUd!3wrS4<80xa`Jz7AEu zhPEf5sU#UlQueTid00_y%^RqpnO7Lfh4{++Cvr(6uAkQrVBvFygFN6zYu6RES`>Wp zaTWK>ON9qHQ%By?1MFhCzdH1lVPQYLjOj9g=b_^SjU%m5Wm=pDW znDop!)2XOpzFFsAZ;zJ>ZP;HTk8O80e40>JyF0?cRE z^|f6f+%bWToBPT6n(2ci1QfF)6)@)gUkrMHNUM9oLrG07zQ0hYs;W9X-sV0$8EKp* z-h+pOVol}sq4HM>W4f2{VS$05QUngl$1hb09(H&6Y`Sf}d$ROp$bI&Di&&mkdsx)N z@v3!t#?oa;0W#J39^x@NAyKL18ANTYP`Q68@?GbNrP}T{Y%U>e+=!!^EebzlU(?@^f20d94zA2*(e6 z2@d^Tt&5{Oakwr8BxC{jx+K`oyv%?&ETvGwOb`*$KnU>eLm2)-GxoE3r4EHncn(KNLTh`P?djHtsWzfsWF z{KXpSW&V3A2v&XoiLR3@-Y1W1Y?$2nAs`XEz<`%W(1<<`l%UYm%Ftoff4Oq={B=-T z7(Gj#lHZA{8p<7AJJBB!MgV~ax+mkSZf>WG?*GSc|6P7^YDx$cta}wGSPxCkM<@(b zZZ6954Gp1$ygHG;^Xd~Q9Z)trEw{tgm+O8c$2k6u{DiRXeS!WRFnS7-HE1T~kzx9C z^@?%eaRCYf_4bjSC4iF^jDpBzY@Dd#I6v3Lfl^aB4d#A)Qtt1yB6uDUzC0O8_oTMy zWM(iE%$b3Cnsw-^M3fr1g$zX}Iq0>}bMgPKpcw7uT|YL#$SzOJARcg-#B#IDMF_33~8 z3f{fFJ;4}go>4Bz09b1Mf@z}L=<`dfZuhQ*>P~DWzC+N~_PBHYxeWs5*VpRvfV1}( z-L_?BMi3WYqAwS6@Gb)`)qr!b zKw&tphYOpmhVj)wlWYHMC4wjA4g(2YrRevG3}+Pen~JQDV)u*DSG{fw4!M4xH2BvN zi@y1no<^JuILo>0BUQXb5QGkWsD_CStD^r>VOH%@a66JqaYqmj9K^-$KXu6E#hq*i zXH(3<^q-Iw;CBg-=AIQJvJB8k+MzZBu(!1gW`PJ+91LBl1dWJrbVLnOi=+Gglv4>v ziMR|wQ9k8k=ftW#f@lWrBt0~-+F1DL;X~kDaQ|bySIeetn4kmD%cPts-I+8zp{xEq zL?I>hZQ&=CVO`FXmJi_Fvn1Ke3dH6M4M9ovr}tbS+itlUF!j+q!3-U#TOC+`#VZbtKZq=9h9mC#)ALDMBGVZ$+PtpeL^c zs;s{-9nTffD;E9V2=nRU!~PQt6^KeTN)U%-+UkW<(_Og-ad52x$RnatLiuzI%kr)p z!QT5uVLhrU^9&c{!}gF7!*+}>0*5EOE*uS4tQiM+BwJ;Qc*u<%X-&^IV)u?l5b1do z9)C`7Qf3T9^`{5~M!BhCs9aM?WQ-D)l8%T}3}gj@F25u7puDS+&meN8w3osgoQxW* zC3N@pRVEw00R9<4ZeJFrG_$M!=Fc9J z)k^uD)v?R~iDYL;5u&|pbv?Oc#sAE8RlqRUJ?&R~T8oK8AMq|RrP_Pa&u0&DmY7X` zX32_VI6E;gEp`$q7euisoIEsD?lbmnl~_t+oFZn@$A}*9;xdq5>AA7+?%VP!e+BaB zyFrG)l9RYzyCN(pHHl5a<3$=pZ28;!lXl0mHh`SS!r^xFfdH0uEoQIe?5_f7?q+Mx z*6dkgqrgrwbQvb;x>wm``WZCiKfCpL00E)>J^(}R^8-r1-4qBqMoWta2ii`5)y>mC zGt)L~2g)~xKsemZG|no;Z9Hfh(9IucZEkD~m$|~cE_psZjyRiX9SQh#O1Q#R(y~iM z$YBG)$Cr5Udy8Au9Lux*v@U>ku6&XXdE@Jm^ZUdjkBBRRBpQbb;KF3in1w;ZF|A_~ z?dZ6~s;Tez)48UP`KdB4lXc|jS)=wdOv=)!ZM@6w8Egz_G?#Cfv$rn~JKuO0T#;pu zD{${Ri<4$Msc)_{1!zc9S$Hc??b8Zyk_QUUWS(!Yx}0lw8LQ#5AvsRE#=q)*EqRF4 zz#zVA_j}0;gZeCviLNMNilfruWR!XQeduJTk^5%J@c?AnZe;C*e!kl=z^VDWMdj9L zFThXcP{_~XU|lo_%K2Po`xt=%K!tcJxPGMwtJmT^s!zU2!9mceAGwu&{~@eaUJejD8eKMP{fa z+5?41CXZe7!$s`2LXIhDZySDJ%-WjJDvfCiVPZV=V}Q_0ObR$m6}UUH0fbVQ)WYwZ z8y!;oC!GFUGyOlpX>rcjCiJ8dt4rODp0XS@pGXE!Qdhr%}B`bN^fDaOa3Z77Mb7=;v z&6l01FmS-V?X>=wGXM?}%UO7-=l0Ua8djdnsN;eK-x$KDuRpJb>r_2j8}c_#R68dr zoS_%sqCraE*X2CK21@@7i#V>n5KrCQydh7Qsv>?l2st@o`iK8#h0?sd#mS{;mJd-L zdY*%pk4pK;BIYBpi9XB>TXR8aoT%+4zP%6qXVL)vIR9YOefNTJJ5244HZmoz(qn63 z>7^%P1Dav9(wrbAEpzC~X&|&#*f~*0XoW%*M-H)}JQXSy#THLnPUZz*;GEbi3eYcd z?CEk!cjWZZ_oLcpnz^Vb z9o#<0_m|AFP$8;^A~c?ipjThXVX>O#5;VGyWNd5e@I5t4(4eRzsMWZtk%fL~#kra|d?S&ndoU zE;71wk-@UUIq{8nq#iRfw8b=;fkb?t_;@frmL6bt#A6zLjik;x28?01B@9d1{JkO- zLB@gaUB;ZT)%;x--r0H#Xq7-c=T~BbX96J@XsR~=`Oz}$5@2{BVH6R+M90mG#enE| z!a*wKMZO2-j|g!>J1Q*7VI4IzOCwR^sQZcoF;$=MCpS7&Cmo2n;~zS_38PIJ8L4J6 zz*GxCgovf*&{P~zWeOuNcsQ9NxX#czNO)k%VZKb?SuaB3KU@V}Mp80>BmaAla@q|| z`Plm8#1wifj11T0A(_mxesNAHKJpVg9n$hL^Yqt?p&brnOP!BO>14?hD{sP-M;i|c zk}IR_c!oW;uiSGablBWzI5D54Il2*X?v7#xdzA<;7vXPo zfZOGt$|fLL1ZbtdASYsLmWi<+*hYrGv^BMt6QZkz1Xf=;RkExXJUPFtel#Z#;Cp>< zr_6OZtjU2wv$C@L!%TygkDi*(L&~WjI)CZ2`Bhc;&=-PlzqN6HTf5cdb5s$$MlqK& z8!eHqEpm7E2;2G2XJHJha$Psu%xXRj{y zEhiIoLLK~jo&baJT1A@%jL-X3cJd?}tM`6!kFiynfL8U?Q<&icD8=2eo3G}7GCLkQ zSuV9BY^@`Az;nB;(7tiGC^jlN)-_LM5bYEse9xhy^;p8wm7YPvy_obsyyc?K`MVqx zlBX2kp1IlkN<&Wlku23`64uK6M=fd{!L~J-8=UIz@}AV7kWbh(Riku2OXQK$bknG- zG3oX~NzRjzLvCJ$`7Z)D+a2y= zO56z*3MPjNI9kdzm?Yjym))q{mYREmLwbzu(rAkD-zw5PBf9XMJs9}fiuMK~MsO5{H`ooUSIUX7Uu<0TD#u%_!L zHQ*xSC8;o?Ydaw1Pscwb)3$4yvq{zv?kmQ|<7t=>+q1VJR1%t9haEMKsX!HiR9D}$ zVXej8wGx4y)B1hN@A!;zB%ZcYt`I67(%xppJB}V!A#2$i00D%PC$o(Qua~Q!t42j$>!5Q2c<(ioR3r8;P(`Vl$LTFIORR zfnKV1@>Xq~{!;}1wn}25Z>)-XjL|}7lq_SgqQ}mF#Nu#eyHs&WMpV=eICIvO_f9u` zo=3(WClue^fAW!2JTu}uG|EW(;UpuY=K?~*7m&Ia*f55;wY~67YgCv)JeeGHYiE}> zMFkh}SXb59iTRCU5NUn)_k0Oe--)*A+hW=e@qn&UvY|m*wiYb*eMsQxbgyFYj9owe zYU0=@cS%e=F~hCj=T*rLTX33XLQ&nT29&$i&^@KFT6E8=fU@tWFer1zaXryZP7}vj zb(f| zCGnm^XU4|Ey7_`o6VapvOvcxsNEU(0xWH%DhN>%P4T3C986pyygr2U%D)mb1O_tl~tAMT5A^j z6MiS*&mnT-lzOdZA(zMv`gU(<39P5*Zgc_En1VsnMX8oxxecr#O~Iv3D=E_ z`Ydr<+taj-Hdz~3Z23_Ug|{&<&|G!XtMrI15@PqYc}G+MZ+W=!r>~ZYDcyz8#IXj~ zUPZM%rAWr=o7UdNCcRlNRP4HFqZyx=$nH_e&dwfACsbgEEsbPRdA*SA>|xO!6R<}v zEF|M-rIyjB5E1cxU|>eU>3Y*gwg^K~>4(%a<}@i)U3FtFkquH%b8{MPf^k_{rJzlZ z17#Mf>3cJodT_^p#6~F+{ik!~*)!Sbz(!B|b%Qh_fJz=$H87x>Q}}gqJYNo3GnwHu;C}O=tI{y@E_;oX?_4{J?+~tw# z^d{QI3>As`>NZ3i4%81%QT_8bo`-}W=Z95HuACzS^K~iTJt{HqQ`=Cv8r_(eUW~bh zhQ_59_eV(u;`u)2EKWaXmWu|PcoVsy05Ef#?v%fkU&=B$| zQRqEBw`R+TFxOF~oY!`HhWl4RNuN=$T$9q@HK+StXrdxi3T1pHA#2r4zyhZ~)0RHO zx67}Uv~%cl>AMgO>EgdMG@mP+u^9d}BjEUU!i5S6Aq~9`oR0yrI3F6k+B6x&z_o z$ocX*2uzSo819N2?ve5O>KTjyZeZtEXL!tm}YvKxK^QCB8Tlm^=F+>hPNWU|`Hg3#GTeb(RZMc=|0u8qxXyc_ezf|pmz4g@P<5s>rM**io3Q}PD4mscLjC4&mgO1= z7msSs{mM3?lGYjUVJJ8^O#eJE_V~|RHWUC`%byrZj1t*k&TEtUTl2{?jgp&2V(_`k3lg-xYy-Yji@)o_PdDo8w#hT=Nmgg0GP(`0Ojs9#S zu7{#8@>nmpBJBSn+I9``uv?m*CbIL1@)OZ$F8E}bz|nF$HO#dX8Y-7P<%mv8OG~Ia znrw=+Xiu>n`A9L$6`R~R=7d@s*L9qR0_)_j6hh<%uRi~oBf*a88r!AYWJLgMOM+!Q znpR?S4@J(4Qehf25D>6@#Xu*X=BAIukGFW&gUQzp0{46miQB7ImWGz^S$|ADfNp6T zYK62ftP_Uq4oy(~p2<;@TXSfkP3py4CdBe#=-qc$wx=5tfk<%=G;{Pb3ONtWOl0tm zMADHbY@Z2T-}Q=)j&3t*7YX}alpugRng}O4+1fFW#SIDL+EDH-@`m+yhjVh)W>L3W z3Xqnf%ic@#;o^vA&jNAR?mcNUN;O#Tvyk%seQXjC*oKS9scTG?l6Tz$Ck_QJ$)V*z zTFfI{Rg_k)cuY|0j|LJv~L%Ug?JH2ej3Zf-W< zZ&4&;&L`rQ**J%{_Uea;mqwMZOPHF;f4bW_y{+Y@5Hd8G^m|AA*!?G#3Q>Ye3CN7m z*@uw9>cB=|Cc^<6`Qrgi=Cj+Cuaq~@$_;e=Dc9duvqS$D67<+6?DKaofwSOE2x*#G2QQJ7p6NMquH{S9L$BqbFDx|o zLjvDAxhfYfALy9Usvqrk9Al3LwupU$8oz!0LPF<~g)J-jy0R3?2y;>NbkTWT`2KDQ zqLaZ$&7rR#l+)XC`|I}*W){Akx9koJb>Ra~Io+}{XMUd$&qMs2*X6)tMCqT1vgJ<% zujWe>Dfnr#q}1(bW{EhIn%(T*r2FR!9rZEdx2R!5pFPHgJ!z2Ih3Pl!l|A(b zgN2&%JpPe)4h%X z?A1IUj~*jU0a0wLFXiC38cu~+WE%@(T0v`1759on@iQ9^vH`lK>fp(%w+y^m_D5=s zKFv5R7cBHB6pE2bNU-rD0@dzhsr81m`F3=>Uw!d-FIWp(bR!Wq^HeM%kEH=5>g{3zo z?iCMgx2{$CX`PaDy}vXqO21TGX5wDpp$OEytYYna9lRG8+z&eyVNV<+C5a7tA`&PY zOV|1HG04OIdh>aOUCj&;tkUoAUO6$GCSI`J{^X?s zk(*+fEwzKftt}7Fz^{OyfKbUP5Qm>$kEWjP6H+h9?~bLnU}4O;0W7Zit5eCen!A}4 z>iY~A-%K8(hD?LzQgT$ew4kG#A+Eg)Sd6eXJewV(Y!*_Ts{GGIJYT*=-#a}92pl8i z9k{%loRSAIez5s2^azwsscU&VG3#Ta@hg(sBDwC{Z7`dc&F3ms4v3d450#0Hz8Njc zT1qeOi&v#KDnlu+CPq;XHM)B+F+I{O>{=SlO%d(?@mTbQ*4Hu_rpI=6PAY#w6&fOg zK6L7K7rtrHMsTVxO}^{T84p$)SAnv$;7(Hyv4*{ z=7b7*4)uZBgsM6fbv~=dRGaj_bIj)<^ela)$n`)0Elqm{BG&`FdtDV@(@7+Kj>1cTER(6q9AH6A^JS`da!JAO5xYaEc~oZ+v0_ zx)t@&bT;UdE@|mq@+7a^+O7mkhkurdV0Hm&NrZBC>IcCkOor{6a!Ky1LRbo(I-Gpj zb=CUyE>)B1_mxTSdzBO6^lpl%!FIVh?Uz6)Uh)dEda4x z)Z`iFZwBd4Tl1Xdw`=_=PA3}1OxxN#c>bqpN<(s~NII107UQMLUH)a|kMpI1A1o94 z6AHt8gUT_%u`cY=M}s8 zWMhUP3pZQaz+jqBTBF`c6CXK4R(-Rn5Ya(PftIx zaZNfx&&ewBS)1KT&GW#~&`<>}mWt0j;JO;G#@@5^KsZvE6XSk@P_`l6zuzD{@hfJcOW=Xj5F&6J9YufZ{Pr0Cfa!u_M%7ngap)a_AB zYi2I4SR8#6e@GS6@akZ58^h^kKh~|fiX6=5z{aCpoS)iRkI?+y5Be7=rNr~#L$cP9IrSJ@^a87tN;nk~GYjgd{GH{_@`_E)4uTq)bnD0swbdNL*jLu0W62|KB zyNppWBA(cZ-pKoMmL_U2Ww(moDPDy9e=|wrgYEvk?KR+CcV2i^J*4XOe|w$@0~saODGik82{LtlB@bs);>9 zW)MWt7z^+tn@VJ>i0U#w?W-JUqcm_*ri50hm!<}? zv-JP~#^Lb)FJAxM$?-JI4f#uKNg?$%wmI57F0)EO80-?kY*(8+_kW0}+SIV|&O~#z zSrj9;V8=rOd7@RxfLeI_eUDHjZEb~hOall=!Fi*tZBvuCBB0vCTUKX2P57_rhyF*L z5}yhO8(nXo$h*06)gJIHo~CBM^hVJ;#C4`;XCs>L?ld2N%SgA$!reX;(OR%u{Ov?x#?-` z$h07mj{^tXK1}We$V-G(kiio?ZNN75P?|P6k)s-LCof z7eEobyIxm}5})AdY^Dmuo7{n>Hu&49NPH_L;fki$OKINxcdnVPsKFq}Ia-;ZL*9>o zHY#vI)8;B@8>yi+0`y@L-^4%v$}T#L3tSADMDYx)cy377*aCTrS0V=-CT01D>E9>~!D&9+oLW2&U1AF)5h_oFb4mjcu#*KpJjn^@!~G%1@24zIUHzc^MsH&Xrv`lvk;t zosuYRqm@+ofe@FaLG3G?!tyEVjr^14?)B1&=4Pz-TIV84D2ru_kGMxRO^!xS9`mri zHX$}rBhBOfic;L2$*p3#r>fhE*wV}9Hg?Q)A2%6A%kW~0i76h^4!%wv{aIoCI73Hk zG<$ez(730o_9WW)G3!81;x#J_+^b?|ecps)WycgZug4-!eo^B%Trr5)J>f}LfBa^S zObiWSRG~%u!9#ZJ+oVnXGd}$@OMR|}To7N1okwnZ+!~FO4QwBq+YRey<+EL==Hf-N zZMw7Q4?NYRol~1EHzJZ-`%c9S<_hnKz6<>yX`-pXjnPV0Gx{))AadXz-hn2(c9s*Y zchu&GfQi)7wj0w<8IOa?`bh}n`i*VHjNy*cJBLErbS``!#suV(Rcz_cB}Vh2hOSjA_qf_)Z!ssw5zm#fyjz$cI|<@D8WyNpvQ`(tLFW%B3EIyy0?BL(e? z;PY>WK(xkN3e@0d?rLl2bB@NMaMjw{QRZ=qXi3&7;op-w+;gLNzcaUv8h*T&9$cAW zmDIlV#d||6d(SJ)ZH`uS%+orUSeA9gO7q^i#XbQ8u7kmGqHmd_jRptbxZ>Md!NK7? z{j%(>&ZKMGyTk4qh7Ob)2%Ah!9tC%5w3VKD)2Hz~iOjV#mdd9O_D1`D6ZyNH%;8#g zc^1yuR>W_u1pN;c;7(StOeRJw8GkiEUu|Q^{o2jWJx|vut5o2l!$#uow zy=N5TJNwnr&v$#R&%FIEHxWK{R;N#j3)Ge?RyE%oknyH0m#FbJhP~&Os-{SMmAakp zT_&d;<)vJo;<_`5);|=Ewx?T_W z<^m54RpILfT;DhJXio(8Kd3lS@h)L2r_C|?gob#*rmE*cn)HXM4>r*RcV|8$DcH(& zKiBc7vx(uJG-b2m$`%O+XXJM$?K67SDs1wt=aZT6eL*=#SOPdjc~8F?0-H5uIb2`M z!`U04h%!`Io7}C^4%#w_0tqJn1f_6HmnMGA>%lwcq;=n}@Py8!EpoT9;4WETntJ!8 z>1aPeOm5Sox6?O*U8S*earftCKfSV5bw6M8snKF@-e(WDI}1XrM{P2OolWnISTrqn z56O)dW%)Ciur z-A3P2`)J?#ep})*$;6HjAHKAb9|dg$?r8-HuQfjp>rdcb`dm{uk2MENF-wC+DKAdD zuf6lj1|R$WhGzTz`gYALr)$^uYh#jp7s=z^_&x!#&(B&TBX8{*ZFMF49&~50DNIf( zob)pCoZq<2M#I^zBu?l}Wnx<{UIvM3XzeB{YVN>ZT>}p9s$uifU*0))?sx22Jq^mU-Xx$AzTDkWk z{_|3pb$>ca-9~=Bna`fYIuPUjl$hV?{$(WfXm&q*bkGub0JvXDVLriCs8<&V&x{|S zF!unWIN40UDDo*kpOknlMfkf-Of+xUf_~$uytdZEsfS(Y%-#OR0R+P1mglXducE6e z6*DzE-PQ#mK_ds~Pt||rxU!ysltu?0YL3;4?yQ1a1xYu>Afi<)8Vx&I>(k8B+RK-R zwV!O%rLy^XUAlRMP~4ho(!{Z9IyYlX2U%Z{7bCq5-g*QJ+82hVgE*E}S6N+x`VICL z-*sWp+UG(VsTF84b>D$p%gi?^K9P5=_n-`2Uf(|u-X&zVeDK&#{g7VZx$SUQU6RE^ zL7x~|_r>0i4|{a~6p760)?`wIOpj_^Z@jaeDv6UDDQEmgc13E51=-f1J|fR7 zMdfD|_D3a`!i?C;sZJjIz@MJB3AKbNNR%GB6hJViN}I^d5`=>Zi5d-A25ivrHpFuP5f zF6mdNBA2k;IXR8PKil&WmmFn(;1snM`abTQMQ0Cx#O-)Gg(Q(!sv}zZ{Y0)2*e)-H z*yxscjCN_hG`tZ3W7poOD_dTEDYy8o_?=oX6FW_kN#g`+PEKN?l#4G~25b^cySaq6 zqs{OG{rR)QGDMIu>%==e!I*Pa1-4X3{wIc0sYe9FxlStBA3Xk_Dx^0&7^_-W z^wtSa%S!2YMY23`op^Du>Zla1rKqmoDQB|$noC!(b1S#Hz>=uAb>X9z;`za6f!AY8 z#|z(yat$r_Ebd@jm!Z%LTYlRZ<9H(X%2HKo*Ue>Uukd6v^If-GA`d%qZ?d5IlvuS) zRPEIpt8AicF}190#Jm;Tx{S>I(wqduG_gFOzlrm_M&pM<`C73#`{balpIOQ3wcHsj zv>KbA+z!-^7u1*E&cU231auL9qTW<0sEaEO?(%K8lMS^e#>7y06%~36A8+xD?pdfm zIcRU#<_Y3()5#saz!INx)pM_>p~0T@yc+aGex;?tvwdvmM)JGqq)6|{53yg*tbeLn z5SYaXdW;{iUED+6riC)dZR@CWvu_G5ZR+ZKEHy^@C%x38JHV>WZ9VQS5pLmH<4#2& zuAnh0xV4xCsMePmOjTE{((FBGY2?f~c^OY*Y#l^D6qMkvjGcjBuECwMzkGBfLzmR; z$Qj`b_{eZ!7@!4Mm5J_WJRPM{oXF1p<}GO051(L398P=(b(uX7OWImBZ0NS^{@k}m z7|cRu*epNv_}QG%VkBumTQ)4fZGw-ytXjT&Da>U@*-d_fLOs>k_z zRKKA+W;zTqlM$YHu#|3Cr|1<-o$?d*>`CS3^-fz_Q65>!GtBO$+pZjMdZq4SzDgVo z(*?r%fc#dBl6dd@<Q&3R8(-NE;^;H- zbua(mtDdUaA8V{l>cJ*F#|-Yp%l|ykJ8|w5droeyWa&X6ad(S+qGiuD<}o{A3%l3e z*ZUg_MNM5_9faezW4t|&$=m5ULCVRWchSMXjAA#d~s?*g@QKg^&y>yc5I@(^(~d&hvj{yw<9g?Ly}~$-Ys2TQFI~xILjRoF7Cn zC%NM@G(HbVr!D>Eb^7-`3JN5cgKE|%am7A{dC>1S|K?~meT{P6E0_`M^Udg2ys;mT zU@Q<_o>9;!d+)#GWCZq05G`rlfmYl<#9VxSpT@flXrHP%ZrdO%Z)t%hhTkW6Q98w)LLd^_YlC8R`KDS^d`B# z=A#JSamF>gOdqK6Bk%W!6qbP=c&#_i{17>NSGY|?DZH$_(v;ZRG_^W2o>FsE7NK~t zL`4XG6m3p$?zSjq21)0sP}>Oe?jGqwhER(-uUh_sorG zczXUEt3w3WW;7UGG!nS3^n5qhrJC6}e!?%55hY*z?NJ$Rx5bF0@dTIP5fo*GLJksC zT9vrt>JF5`t)^3aZT@+k!2cXRjqvODyAHlWoM`|>C;Oc22VeySzmCsv#E4IgfTC_j z-N#X(E5P&@m!8Jzxl`AA`NHF@patv3)7}cZ|ZY2nn@UO+> zFb~1Qo9O@=00TY9disQ}eV1K5by=yt2E!nyW;iD#BJJzdI~y6tcQ+DlI&2x|6|lIq<5*{%USSQxE6>H*TJ}JFl!%=LrjY4c6aW1wX)Y zaJFJb1#=Y{Rz(oykQXwwHOpI?~#k*V&nvOm7H zEuTR;xAx=sMgBr}6f_QV!Koko9W{c;P5<#DhgId*6>MIbx7U9I3sCtk#+niAp+bgr8ZhRCX&V3bx)-ccp~aMLbJ|7_DYCg3t*i3=#ctt@ zvz<#DTd&2h4gLJ`t~QCNZpH(VA8J1O20>Q?jry5Vvn#J`b)&(`lN~mA3RbM2I8j^F zQ2gv&NH{~&ch2EkmhMx3@?rV%L#D@JBPpIJ#85)Dts$E>PtX}-?O>zEQ8l)i(xztV zEtr{s_3TA=|920_XcA+eUflcb@zpRSD3)WEHX<2eUOuKU-G(WZf9vA+d}}jB?8$TX zQ~kLvq0CFAO%)t~P0G$JE$4bhVPH3XOV`z?fN>*snMy3RJ5k@cy*2CxsT9e<(W)5c z=BI%rt?3JNx}=3LGXsb!28Q`&H!m~gC3&<^rX|4o#%Vor(0qU`lO!?94)<-MUIp;5 zhUH{uhbv`pG6!NUubcp3+N+)DWJNK5$-)a)mwULm z%K0-dOS*M`N!WN?V34c~oxsL=EkUJe!^DNA7CVL4R(^`&!;=4mDRT+Q#%L&|fSBMaD zli|Fc;W(wZ^W@+zt0p;zR%7gb?^nK@5WoJ8%mU-p9b55oFuPHV%FuLNzhE1`i)5Ba zOiL~sIoe#}gbm;X*md9&?&hbxjT7#sON27SMJ|uTV${u|XuIr~+gM$89*~W6OFV6S znI*%gu*t$=Z3<9FE9SPGVyFHCm{KX~nP1feK}0&Nz-6b1%RZu=bRA>wn}f)Fx)WGp zKNZ>C`t}oA^-^0*jF7X@O5e$Ht>`$-8`or$5M!F$=Vdj?A}yg22Hr2zQT=`P5=XD# zi|->;wu=BWXSH;GLq*FRn8F(rJ3>-K-q+TKZTE?&g46xXYgESV3@bYB%DdNdb&|I! zOTIY=7Q`b|48?bU>^oa_vg5thQL>{q7X@Wgn~D%+?RqPZ0=5DsHhw>q?{gu*JRmx7 z0q_q_yzV7zFz!E-rR+8z%!#q^V)ylZ^o)}>-ApAtmkG%lGNQ79)ow>SX&FUVS`5H3B_KFt;Z!1C25KM2!jwj{Q!GuQ7<3&^n zx#1vE%?R&z@Drz9c8t0&uTt2JC(+xX#2)ZyXj99f5#ac7<;XH?saz*vScXI4H{BWLANH}zWpO@7};Yf z5uJA~up>a7e^WuZAXB4eOy`x7`_I)mnAo_tP{ilObH|U5n){H#^!ODO588>$7?~Ol1q8bZ;2wy#PNfSwj2;71P|%8$ zH>9&K13vwj?Uq|#W~mY8sW6tT&>wrKZx(5`1mU|z+qN!f?a^P+dG;~Rpseu;CD9>W z#jwcCdx0`BZ1=#;i(fw*v3$XPXeeCC>EFqxcy9TBVNPih{$);?OlRar zaB6&>`~6N%>ZSwQpKr@;ZH8XECA3jBesC`+C!UO-jc6H~74qJ{HT;J{GdEY0SW&jl zqumGqXv}8SJ8AgmNT$hx1bMF?fp(O^4}9d>ofpECtelOWII81}wb}NAMr6DfqkY&R z5T}rGftS`&D&CSP0_^9fqnSFd7nJ%uzS$YyxTErbP95w|=N!Si;U#SJ)l26=cv?Kj zEpCUK#Rpnl3g<`m+|JTUmhjvq+AA767dJM|8nOjdD?2AW@tvM?W;*Y-^QqpmpWT)$ zI8f!?)m$H#q@m+RavqEW9=!g&y@j7RG!>f_=x7z1GqH~H=u)iY?wb1dFQ>RG*{;F_ zwU*&QO*814Bw=Cm+(ceM^WVB^ZoNT@%hNj_2d;^soJukon8K3SrHqm0sBq3LZ@I($ zb;!W5esUPH_PD9MHL_LYU8#+CAhpK!7G<#lexqHSfq_S(cnrtZmVJU!3?eCaRAWLoDl*7UK#(l#t}N zgI>T2lKQ9%14k+6Ey^O8T-!)uW($(=M^-VXpnOAb8e&5;e|C~}plDF^Z| zqDh;cH8Pu?wCkwr34GAR?MDsUsfUHxjSm?hS*rmv8$TAO)@cWk-c6LRHHrmpq}aJP z@;qs9g*c@N8VCv0F^{%&>XkbAROfMW@a%1)b;*}6#FcmrjVU2tCJK>DLCNhD2940+Pnc5WnPV{~qO3sKhSWvA?6aYp1aLy=1w$G)L zIm+2Sz95)&GW2XN^K1suw`C2Xi-Sv*D!A(F=gQTm%<1&BgX7&gvh&~g)*0-Hv2ptM z{$ETM%aL*!LBrUkD?ywPr{T4go~ye0MP#*mWf46s8O_p?4+>g4sVw@p0?eU;kfIhr z-L;lPcvI5Y{90T&RK$1xZKMPbtwM%MmAeY*Tdt=gn$LW)U43f4gD>yHz?G|GLRl_T z^d(IHs7V+$l%2);q?wOiD}PpWq=O|omDj+c-W-6wEIQwcI)Ljc5#tQ>HO>Vfrk^!D z*l}0H-wLTX+psxhNi6$5INTQNYrOZ`e8-LLV8YnYvrNUX_A5EY-2B2YiVkQl^BW@z zkx;70@)1eMP??KsH#IffW9VT~9MN9T&+=u$3$5UDj1G$1+3c*~uO^od-h$LvLhI?0%_) z%Ar_Ik(b5+2pU*R-!VZxG0fy*)k0cpL3t^l9W;rlM!cz%{C!Hrzzm;&R1W9VbQnOX zfCRGsiTl(?c&BHmum052jYu0jdQa$@Z)N^`E zvu=)V>ivUMpg*Y`U@rBDAXSiNc@?SknnQbyi$EIUHjgWhO_0?mEMLF&NvvgrHslIN zgJ*M=AzL6ZQ#;a&dLwyDsB+~AuBnXXQ2YUeA!`=dY*e4F3KqOcP_uV5f%%SKpH;i> z+Ts~3iydekOPJry_;!~SCJw&@mu;t7@-{K|qMpp`oTV!n=oq+9s>h2>u98yx-FDcoliM4)OS`6yWAT>@}AMPGn*B?~WUT^O7xq+E<;Bn}Y z2;&fJ%7EQxoxXF6~9O7f;DImX{8cfbbsMq9BnUpK+Tr%<4TSbA{U4 zC3T8B9rwf_kRrFH&JZ@C zTUP zbx3g&DS`q2>JclDM)kXf)E=_y8&ru!&v!@+33D39zd#}N!YV%X1?rV3cZVKMwax$) z>imZh9})298%O`A2qXj;r#B4Y8&#n)-!W_WXSJZJ1&H@3Z9pm0UPU1Sm)=+N9ACSv z5fKPu@8O0NN^{XJ-%cWt6yY$iAV9jH|L{!19}{B?_<1^$qv|NYs4w1phhfoj`hvl5 z0%-9Py-g?80dVqw5NRS^l*55crqTPCe}0Q{srXxb1)`kq@!NOq;RUPJ zElc`-`@xI63tM$Z_w}6T?;-^{!wTT@LnienhO1QiUH7BFoNAQgP~s&F>NLyJuRRR} zb+oj!$cMbqmHEM9j6Uk~L_m{Lm|HTB{a|%FnMGH`uFaT-M-nNsB(U4GT~9K;FKpzi zcF#L45iy^i*2cVu?;s}*M~%3Z&qHaFD+LN(BM@W5u*`O~iTh3(nkHy3YwM~AMC;-u zY534K{+*pKS6*+@;NKG@N#|=n#-)>G;)6M<57E5ki zYjW*YmpO~g9aq0kZ+N5ay_9Xj7nje;i3z7OX$+FmH|)Ng8u4ABAJm6mm>MNhVi)W^ z6Ep7^+zrSq^T|)w9wHyJgubgC>R(YDwl|5Yb?^ANlvcL9fi}sq1b$gL|0eC>NXO#v zFX@KdPo4#T^_TLdz)FwI6#NuDCX*8%_M15N0+Fv9##1B>u?d(Bh|3`=d)`RbG1DEz zmJEuvjGKB5F1SJ76qhV}N?*g3t;=roGQ`y8K5dxIeR!;1`l`_JuND<(6>oE$ylZ>2 z2h%1YAMBnfqN(SJ7?Fl4bIngUar#M(Ymf*yRtDimsh}C z1aqw+Bo+0`#~U7`9xa;>0c9>=j}6Idqw^-8mBa36J0(*A8HXe>|I3r6cOw7Igps}j?k~q=3Lp1KQ_t65;%K1ph_#@4hG7ej< z_*zl)dj#(l*DC2(yB7j<2e+UTYHSfti<=bht!xk69B*NWc(=QyUyQ{uCjDPf(2qZG zRLsuYoaG5(D_$~9(&*eySnlVlDoh zZbcxK*rO)|j^aC)-(gp2f#~-*?glEc*d-Dx>Z5JLjm@jql7ow#Ve+>v-FbTR^wFO` ze?E2j8XsRye*WUf+!e@!*c(&%g>I>-obI|0JRg~1IFzn(^a%Uz))x`&1UMnzV%qql@6{?NNS`aQzrEv}A@wKQWRB$*ON2m%uMq{dZWU*=! z%KRNh5$e#$_j2U?)hB?f`6#G*E{RhouSY%JXqS+Ea?Tlvz%#oOq^~9+T2V31{VP)a zVy26)BgPg0hB{iify^cOCFJd15Lu{e;SLST+v|$;blBNW&q0fAs2)w*7x}+rzB9Hr za{)1QOYEGx^B>r_veq(5`g8unto~%v6d#@Mv4igWxrJx19qdjYzz%G^D2>n2hRJ^y zri+PY*E#5F-K>n}$JW}wuZR-JZ2Y{RejetPFMT8K#q3C zs507)K{0$v&dpxWb}!2DqtGP}j(5+W@+n_7PL}oQsydZ)o>|(etH<1Vsh$60{hGcq z55|#JBWvJkLjN33hB|BnGLN)!W+%r8K8e76eSLHeq262fgo#*0Q;NxYIT^s)AHZC388|Q41#wCRW zT6YVJvKVv5{Qm`lMc3V2*iBcCsXz+(R!d;ac~}@-)uD4{U#LBty*VdL5Itz>KLW;ZGnEsuT7c}W}QX3IJ`@+Gt*kHpx znekLyd^~FGkEy>3iP=t1u&>8tcG!Z@C#DLwXSDrv_f%e=b3Cbff6GnAYlEJ3AlkgZ zD1O1uc6b0d21q_*gF>}pjqm%aKfQs|(RlJWmZ;UI2YxWIyxnHblNwaNTc44W5n=h( zWm#a!i`uWS<}>Mm%zsJ5pduC)6~aHibX!^uGa=%rsbkD*WtR$FtsLzl+^6g|eQx+* z4G*BOzPIxE36b}KvqP9LzBBK7S_ft;Vo~)9MCaQ@N^@lBy?YfXdxizP!O~q9La6h? z4+Y$k-cOaEd$KW!<@P@U%LO42%k7Svanb&4|IWvs{u1S&*s55i@DiCdOiHm2scrg> zo?arItjJe3_F0R{uu5(Q|F~Z&m*vaXvfi|06N$uiY;J zEv38DsoxAGJSTgLA4;Gn_pAozQgowqqhm{k?v%`TV00N8{F5;)B?T3@6-BfEpgb9TCfaL?l zSCstXnt5wy^eqZ7>O06oWBDKsaG)CqcodF6RH~MZqh0|PhA1~=?cTBTDg^~w;8YR( zgMK3(UxjHHJS5ub+9&-!B??5*q(2N2bP}kK@8`pbCmV4S%XT&G(g3~?kN$Z?^%MdE z77tpT7spX25O8QzV?GW5vP!F%tCuD=oLyUKyW^o`v0 ztvyI|C(Mi-gWDi~IxI2&FN*WH6ENLqN#pgMJy2H$?$gZ7gHO6up<*ZjA)z9Ug5$a= z#n3rGl=@rIk}<-I1|;rSKxt{XA+ee9w1(~Z^^}oZ5Bl5AEe=wNOl8NnN+HMy%A7P2 zRikOsct$U+*$Tl274Vy(uE9~>blNh_;u0&16l$40zCQ3Q3nM)}c{0YBG&O~ui#ne9TP$N% zwva~*0e(MR4Yjqwt+tjfiUaNn$R$wyzlX!Lqa;PA_!C}<@-75Lz#u_Lq>{S&60x>+ zO(V>_pSed4IP@f*%=J6ipP89Scx?=yi~_@2a2d=SajT5s*JZtM;leESQJh0Dod#VJ z>vW&15Om8-dwL*NFj@#x`^u%%ErN-+Z-4e@m1#XJ%taW55qs8%=xYC1pH>#77dMq2J?b87I(KF1n8Wn^{2_x6 zsHm3i1Kx*D41z#+`W{$cu^Cnvw02l9&bD-R)_U20{UOf`qer8(xVTP7vS#&XoM-=x z%lhmOK1s>)x&@IfE~&f8ZQ0s6;D+$Eeg{p#m-T9P!&X*S#AK_zRGMQWe`nJ6xC-eu zeq80#-i)sgWRzlsWkw)mlIn|!n%OzkO-ytbI8;AL#xyLr^~rVLC=}e3DiOqZen#3z zFHMSiLylI!bgo1mNtFxue56lQ>AS=_5ClkNa4x1K2f2Je*P9xPjB`iZX7c4nxLlU= z-UL0$AfHLJ_CVyr*h^KJlamANP#PK?dPxV|$|_u8nyefoRKuHy_Re52fX ziXA?ot{fw1HCKg`wQQ@psZ_W=q}Y;S>7h&((h=y)U8|vIH(GOmTwlAuAGcNsuDK?4|7qM6txIhrb1-?d7;jB|P5F|Y4J-<7 zp?POWu^?jwJPd`=1>Oq^T_W#Jz>FGBjJ!-U_>%BNbHGr3h5+oe!Z;L5Z3iDcdISjx z{sT8f)_(lBPZEi!%~NuR!?#N9a5ekeb3mXsTx5Vkg4a@`#!J{*632`J0Gx~71 zDH}ZrGrB%w5tg4e)82XoE~x`VJBHUeM?kGFW2Tn5!d zx!FTA)6zJ(xdWH_+DedFpFjTu*XOwR77-FcI!W}|Fx(@v%KLhMees_v=}E9o+!lsh zL4z|X8*jPGewSY$9z1x^SQ?#j__N9O%T}-DB5t0`Xz71@Sd#9OtC7ihkHGh^Cy2wf zY=6@BcX0I-Mcdh8lo@KuT$-?75v~exHe;{d)5|xFW zdon{CMkO3ZZtYcz*ooo3r`+8tB`y)cCA_L)`Xu2i6DyPLF@lDkSKu3Ok$0^ZJ;>2m zV|EocYH_*351VzFOKcbZ$l!>$m(krk|Jcyl1eRa6ulIwzW%8_KUpJS2css4HH1~?ytDV zV7)wZ-gLU$qB^0)F`gvTs zkmT+lEhH$|w=EyTCw8T2xQ6LiWWR6==m_y7pd$pP0^~sh02Tfh$@HV_dX|~%HnYn--+?5tLev1(} zdN?tHbEF8MTID@$i5Ekuy0`(h2oMJdVLQiC?7@znU5zovxw(P1kWvB?)}h`WJ~FQBmjSh8E772%w{v6U=x7*@MIo3r(y1+?sY#Pd|CLg!#gURrN`qR5B+ z@=2RYu#dZ&+2?7h$#QcU%|D&t!)wT|=P`w~+#8q`IGwUvQi~Ha8y+aD@Kd`q!8eSy zSlC{#;XE4ba~*>Uz$$F%Goz~6I(2z!?^^i~>XjxT!5*NhbYTNs;je^8?VOPE+g+iy zr5UMOhW*s1PtUTx4GOAQAF@&4L284p1_jmYL)-9;nVw8p_RyZ0FYI4%3xJIcKHmLH z8?|Jtw16MI-OQ_S7$kMK>W=-hXMbYV;%z)n-ol#PMRoPLohCfv@zI5+#*JjE(4PwJ-8A%mXOUc|K^aZ8IR(e21n=GUJHk4!~n`o!&Xtuv{CjUuiNGs{oM>VHJfFvf9YAvgs1edjW1Qc-~>|XS*9& z8ui6TCrRwYm3%^Ogg7Ny#_`SMZ><@9=Dp%o=PckYdvu$BFthhD7K-*qAuiDi3XHOt zUEM5|8$L`!%nk*(wY;)cIfbwsu=0I2N8f;fNqGDmX^Y@tQLaGp3JQL27$tAX?X7C6 zRUos#jZa|{*J6HH#%HvQU*+W;D7NfWyzH~O)^CjNLOrh*1HXiLK3+5_nSPcbQQxDK zf5$KnbO5*Pv$gTC@BDLVU6i`$`p<8A>4or}T%Kr>hu%5^$tFVZShqUOTaoW9Pi5Jc zngog+A*D@?fE0BqY78Mtj8>pL4NOARqCh{;+^-V8yB;8!T}ufH3ewC}TV7~wZLR3E zg?gE72tdLYGm~Mj(@+S+X&r2>eb2g#{avKHRUKB_*{`sa!0Eakf09qk?z-KyB%%8? zDjHv15tgOzUHcNTTN4z>DB@G%TTqK6_p*YUm4pv|3y4cUE905Ow3@v1>S$^|XpRoV z=aj-fpkDcKnhlnP7u)PdO_jng8cg82b&P$|tu7U0WoJvdOn={An^RAcfse*`v+?UKHKNJz{`)e!}TT5b8~VUfF#I!2P00j zB}IuZ%nzchXl5d8@@e^rPXIS2{JBOD@XszH*CshTInX?xX* zrqcA;vkJEbPw?t5zt7H=^;{jnf%x|uJ!f+t%!9fdCJlrV{fu`-vs7n z0=s|um&)X&hqcv>BC0@0*UNa8=PzcuGtPhvimrqY;Y-3dnF*!Oo;?HYYko2&Ec}xQ+5{`t!kCHYIzl$t~u}a-Tk` zW^+uwC4`N7RP^XsQMg#JT7xvP^uq+j;Egld+Tf{~!eATV)QdJ}A0{~@be{JRB92N_ zVZ8FWl$<13Wr{E{PaZ!eEqj1K6?}5}Kys~?DD~s;ZFiDNJlw=R?zXebdLq(xI^u*C zL)r7lbTn^18rS-Q?0m*$$X3>W- zegm=pT(UFB&yYx@U`$S78p{sjQ4~+%a_7+f#72jT2<#;^7}$w`{0|wMM@iRQjkV87 z?ek|U(FPmxQWaUv%q*>^9`u1?;td*et0a@jd6ez#?T0OqbMh;)fu*;r+7lxq05zyf6)WJGpbJ@TX_B-D>IaRDZzm20`xF3I2HnqEUmnK-fJGlsoUJ3TP`euLY&9 zSUVcg#-XVS`hi_Gn9@xc6zbnI!zyMQd%qf_nsf3wsi|WT>T)ySp&A$%XlX^}&w;2_ z5$K*A$DpqZ0B(K-w&PtR>$UD7le8UoEcpUA`|M9t3%WecU(=Rg5pG$rCH7{7!FGf3 z2ma9K#N%X4%9jW*c%y1hWLjlv>N8@E&pQD*-(8Tow4j`aKN!a3Yf)7O|+7-fGvHtw^hsi~Dg2#w3I zS_I%p&lfRCGB^T!C4 z#i8wMefKu$SjL^o>FDS#*%}OjW(cmXqQrY~$Mw`(Q!OX)eV6F3-dFL~=TqI3IOl%o zE1Y>~%9EW9o^`@2w4}|;HZ;*!zxHby02ctfIjPEBP_^2hhdJVAeT;jh1 z-nLP2z_8M^oE6940Eea&2Z41qcug&nTwidkmZTU$P7jl|V21q{6li_8@wD|e9=X7P zMJZfFwU~sv)-oZprn*4y<|UJKy>@ry8(+ahC4js#teh;-!?4Q$RR-@sVy4K&M<9+E z_5^y@D|Z6{Ok>%fZwPi@uGF%!GL4V-kefU0*K0u+al2g$1jy*{q+^3QiZYSq5wT2M zc)%Y;@G`(0WZxt4qWr+&nVEdH;h};ctavaxCr9Dt1KhXHP98{@I}bNE-QgMZhK6k@ zU74w{1K8q$q9$0^-~$u{MM+Tq;b+XWl8IOrSeXe(8v!N+!oa>Xl<{#!N+Bgc;|iYw z4VT(%v1JNxs4_=?Q6a39mreTPYCvkm(ouP`mY9q}{4Sh+Qfkh;03DR z0gePH7q`95sH<02ggZ6pv*)!w59l~_j$%KkEA!Y6aSX8GG$QFiLYG546>`jAq8NEr zS6<3H1MF5QE4DtQ^5TtB=PEE3<49ok0RUju5a-#vzYQ!yJKKSr-gO1WJ`GTTKZto* zS?4csxn8OOUjQ&ms1}&*#KhrRKfjw}s`r2C^&@yq<|QVPlY#$FS~hNmw^dEQi_1TN z$}|YH7Xcj;e~z~lVW!B?M&AM?vkk}AuW{dFAv^MKO8$JcisM0#_LeJcLLZk0X&)HC2# zgMxjPfqGUZK(Q)O&GI$RFM>QZWx$!36&O-1i$bA4OlZI$bmIh8xN{8{?4gs?n`$^T z!Eb@$-N~N5@e`-cJRhb%0=FneQvb{-mh2~4(1n!ek%zreJf(2v!xv3Y7|7|R&OHpy zk2o)7Z}INoaZ)m}b5q(b{A&fWzv09mHXYYXSHu_ zZJ{FAK0rJ9)?bnQ^$gzAOfa$`HV6IFuT$m;Oydw%_R z3kBv(z-rZ`{(oZ<6aSWQ%2F**8+|&;qs^t!&CkhIKCaCj*~AJ zZ*jTbICAYdOj=u|D{Ivk%f@*C&JoNc@BfSA&xhL;`Si4%j=^u^{U)E$Ck=B$G}PuH91<)u$vo>_8PjZqoyWvAVsX> zD)voQ7cp%zjTqzD`X0?y+)twaA$1>`-lQWI__6V%4cvyk5s1z_f64j0Bd*w z6a%r5kI7EA;;EgS=t}pRt~zg$jchF1q^qc-zB#Eoi24ZCeSvMhaVDROcB^DS@6oC~ z`BW6^E9ZXN|@J;CRSsc-ecYJc*pXq5~cosT_>w)V*$GGNl3 zK=eS}S&90TI>Why5mU;SE3I`%2Kg^u=^DZ*4Z^RK^GcC|m5eoMk38t8HG zpbZthKf0J|V7W**LG46rR^<(lbUbj0-rN6<;MNeP9ljzv)lgemjdUF(tofvgSYV4|L1bIYGU{2sf<6%0y=@1hc1 zyoJ!^Z+&rHWhR4Mlr0vYLF2=OnKPG{@V$wEm^AKn& zByHvf({QveR2vr;--%E>8y1<~Fr@@(MzT0#%x^Wh#Ard^r(};oTiSN$8~$ss3O6zG zO~(EB%cuj8Z$E)5Bf!~uEN$fY>Q4$7H(&QZNrmcf?K$*ZY0K%Rs9B?ZioU5SM`dKW zo^wzCbR;!Qnos|y7LI+& z(_3kF(m)dzHF3Zrs?c!w1^_pY6Y={tu*tP~UaZz5^z@!JJ2S^W{EkU+#O% zZ3sAKRly(aM%8Rxm7nJcx8KPczbq!^ygHc7>1+9)slsi6r@aII{P~yA(7uTN65hDG zxZ3!pft)NMYbHC4%3a}y$$*jz>DCwVF6B#Be&z4s`n$}@@8nluGxbfsJ9#xG7Sz1I*`y9I-ZKoCpK zI6SdKJ<3n5{xmG?ptcE}w)VU$MvZeRI-m1CD|R-;Lf^;oe|OgyEdv)82a=5-tWqMx zWJzA;HCS0k4j=2k$x-^JA_D?&sD*`viA|=t^f+OS`l{4?+Z2HK*;4e^oc%EvaJ2m; zTKvUWAa}vRPfYWb@1l$JOJ*vp?DEC(5|5H)<5%;jvBwe8Hd0QdsD$rIpaN`L*6$H& zCyyPHfG3qsXck253 zq7eq5kq6UVlD$lx@3CiemDRLjTH7L8quTX^4f1}^gq;Dhxg(^`LP@@VVwY%-fPRME z&q)iy=ft%Mj{CR?QSN*G#C^JZ!g&HUr|th4W|>tFG;}5*4~ATJL>6uXdt>x%8l&Iu zhVMo!03=b_=|m4tPuaih$gLwTrGWSUM~kw9+Ug(75CO0D;$QxaI-mY(Y!v!`F&_x> zQ5o@Q3vlQBEG%?Lnf*Ng;p4E5{0bx~R}%dILyA2?-le$_Wm`5#J~SgZ|znJFtGkdzC6*zR4P3TNe8?AT~RQ*0xw(sC-eulfvsHs ze=_OeM|DZ!Mv1;CwM8XYBLGUz!?a&_^Ws{%kY2^;FZ+l8Ka|8Jfxle64^l>sfG#7D zFLZ`yV0G#28aMEJ-v~hi%KUTcf|!4=G?l5kiXs5!2DqwI&QhAyKobgJHN7!iC%6sh z&i}Gg8+uajo0$K*#XwbEXFNLHw#if~$Y^sn*J1Ms2NbAm>3g(@;06n>+ z8~$evw?7L+`gDKwxZWCqgL&e#!Q#{ZsUrfyq1K^iby5ak&owC@PXKPA=93wRs=UW1 zfL^?#7H17WF?-hHY?Ax0H4FdumwFNR7mVpS`|+!sVNZ#}tr+{rhs+sE^h%OLeVl?v z`~Z~ln4WQ?QS%}HzY!Z%Ca>G>rGG&wbtwR(mf=IBh9CfD4|8n&ohvOR zS^|T08l#6qQd%UAL+1ZIj~5SjpWOqtpnN>v3sw`llotHh_U7t1I>$zggtFfO1# z)HuremqAVSq1JAl!^G1BFwWqj{Y~0pGcAiz>HSOH-NB`h6Bg zaI?z0zSZ^05h=<%E3^0>6p*hl_AmZX#7g8Zse|iqHPjIg`)=bZc!y`MCJxFHb1|be zZ|ISRo?a#GXCHA@LzR5h(D@7l9^nfq@t0t@onV8^6z|jZ~uA zOxk6aBxU)}Hd|t&MS-|9@1B&=Es(gQTUq&Qi~n^?KVFyZ_6|OD9(UGFA+PHx_SwN4V@-75Oh*Gw>q{UCbI?$6Us1j-SQ`0wq4`8a2ND+4p z6W;#G5UKAh{2)Bes=aPjc0I&oc6XbQRwDH@5JHs{L8d1LIt=SThnls%50s7tRGn=t z>51(qos5*m=LsKOGdB;$a*c0^v5{gDh|FA+!uA*n@ae##l}|O%elX0O!4w5YbZ|K& zh3Aie1KjquO?)%x8u9}DLPI;^?o#9a!k%AAbL;9Q2&*06(QIvKR5|o`*(Q;H_G4=P zP2$S8&*-I#{AF-b%coHRe7elcei=O#Ym%E@<52__9w|(&F8Lg@oTw{GJf14#J|dQJ z9~#29tnI}ZW`HfH%uSuqpItBpV8F@o=R9~LxJSnL|&q%zyWe}2!mnfOh=_7nuGMXQxH$(KNHo*-t(3*G7Kg((jg z3R9W&e|T_r)GlA+(q7yP}90+eCX z9sbzUm2V~%Bq^dixZ5o8=T_q&qg3A9?5GH}LyB$H^zo%Ul(hq4_3`XqUsth5=w$&+ zfZXO(F|ZrN$Vg`)b&?mZqSA>GF*y$EZo!XAliwMO$uk0U(T!Q~%xW6*L#$y2(@PZ^ zE1^=7fz!w)zP>P*_N>!WI*Oh*D;_(UL2_D?GwHs0oUJDv#os7X+AwR!0m?%MG*sEu zdk7iEiTl3?pz7}n8wVF--5IMw2@zYiC^OU824uX>o9W>s|JZtmuSA9(OX>zd4i<6@ z>QpwhOtlkeO!wyLRa!JdtmzIL!7$=9_;nAftflT?PH4syp;WsW8<72$7&~z`Du2>- zPB_#jGUiQ3*dOrqwEGsgC**7zB(W)j8^bLv^9o7{E`!$Qv539A=MV_Hh2@y(TdnQ^ zcH0VeK;HNQ9|lA~%k*LoTkr&3%wd3!W9y9O{y-I*vVYSfNNa@$5s23PCKPHka zFmv24W{7lKNkCoH-CC_@Z7G1+K>Zs}?ZDT!g$|T_JrNW_{Kq8FenMSG1UFxJUX`z^ zS_Tm7NW9p7c`vuA0i6m1SZvgF^}4d>88Y+%E4-ZBq5564&ZI>za0_VHJkNQPO?l=z zqFg6>lhL6FA0$t*pfr7Wxo6huiPBQF&_m&QO-)^{>Zw?=A|=aag3e;um!t+>yx+!j zLS?=D4Ar$Et@`)T17~4_z_Yybqj|SqUoyqy7P4p z&?icDP6^kuII@7-H_Cf>y*y*IYLF>}Ib;=n9=NfmJ=QXT#n8zoOY=fAKZWhq$c|r9 z)E{qBW=3^hXNQKcE$Qt-rsxE(<-+DrpI>q6q)Ypj>?peyQozoXJTYz-{>L|YtG_G< zi@aWY_zN|W&g<9W_VNrE{q;4NG0NNa#*Pp+EiIsV)1wJFGclP?!k#Lj8wDvr+0M zA7*rtzI>USWvD7p7TY=^^G4@QtSGsWcQXN_a-O)$>zH9to~*b#q0;G~5f=$*8`=ht z+L^x{yZYGXHy@9#%qRoZ@wosa@8=Gfz zPmi^o6%4{b(pJ3bBxuo;K$wL==DEK_ezZbb zPrf#p*K88_B=_(k*NDrEjkd}oxn9g6t4e%4=Oh8_$bCTHa^OvdPe1&53O4gMboXyx zFZCFg-TnPMYZF&NL-riANIx>x4mQG9=WtEZfK0`tPZkOZomXQuqBpo6tZZJAC?I}M zz<3pcMT*mJaia$CMRhTc9@LQf*M6Zp#zRM~STRF(!=bEl>|<}5karo~lP_cFoF&xm z^22>~)c3E)eqh$l+%);TQdlT;>gY0%;+5nlwvhvW?xb|qAz&UGpmFxi-GCO+JWxiH zS!JB8cTiTQI9U&GIT`(EF^E_+C>YKYI;70)l|bMPU)!RAwFo!9-@8%984+}Mt;MHB zxJ+v9bfdMcIpuUaPvX{y)l6pomRMv;;%xQ+l7uqq@#kj4yFW)FUlxV`(ZRw3mNI)) z0Dkc#sOxSRamCOfjmn zxD$sh>@95WE>!ray1Z4!wrBk+UTfk!=89vd^k;r8&NuO12B!or`MNsYoTANYR2&pF z#T=|A?TO!jtQuew5kaZ$UfNu+v0dwsiL{*5^b)BceAmJi!~;)5q)B|*fM2rZ1t%q= zLnr?j-LPHz-=-7t{%`6MEo2zAp`oOt>}-aN!c}96Bl?UqvFMiCd>Q}BIY$0Of!0IOb)x_y>@u13ZcJzmq!sO6;f-D4@U?!JSu-Y+QB0iyQn zz5M3))Qey)=DEFil*%iNm1IFh1;y}Li5A3FlRhZ%mmVYwRfua+K08~mx4vO#(Y~uZ%$?RE#DcW^nr*; z$d{?+Cu`6o4y7gky_q=@M{TY_ZF*~M{H*!Ywy{)UwfFj|c?~DEQJ9A6F3Txq9b}f$q|qpqAzdGz9Ik4@_Xbd(FEUq^xSq za2&GCgK>Da?g~hLkuOVcTEIFyqp1Ot)5l5FGQZEet)h~{_OZdgWB?@Q-p^&to3&LI zjmQWKOC$Ls#$jQCs}I+#g*NBGPe2a}U?>OZJbKq$3A27EkNHl*2WQ7?*p$h7I=cUD6JAZ!^|Tt3ki%z=1GDTl#1!n zn>;+IYTEAXWC(@XTwud?P^o$FEaIsoMiC@3!E?hSI8s0cRLKnv^8;WL%>7K&OaXm&q;`VdKxosQnIO zRpsA(P5b?10vlTC&u=?GzA#iyM^Kd}1>$YDNE1`}tpmM%x12eje zh1{=qc0CWFxr=9zb1n;Yo_;i?(-x#LCkw^fT~eWkApGdOoxPPG$ZhX^2NE$x%hn1D zH&eOdarI);jhWJuAqx78s|c{wrbHB`Zat-#hJrP(o{1Wy--F?&&h4`t7Jq%RRT|C1 zb0x-DhW{*>o?`*rz8(~-a@b{HHwdp(mw=sZ9|OtC%Pq`NjTjQqqT!}HP=#8&h;*7v zM%~6L`Tvx+?`>uB(KTfFP)eYt2dgPb= zR)5w7vxuEvXL@4X8Lo3820dJuj4DoZ8|T!SZRRKhD9VfT!$|HEB=-3YJi>pro>7sL zKB2Hkn0^&Xe&MQ|`kcNA4=sBUjb$2sc9fLB>A%wqm4XU%U3Tz!6~49dx}dmmdnpZ4 z7Kl0yZ6@s57{p*%*`A~z)WuLoN2*AuPJHL=w*VI}!>5ms_X-)A%NlE8n=&SLI=}gm zuOpwUbR^jTxfowo)PnTrPp?r#!BPCq~4%_8IYN%o(4vm#eP+KH4p28_!J*nL-cmum{-M!EnFkh6K= z#cBdMssK^8#=A6MG>0PDr$WOt(@qa0`?^a`pqs{Cu?D6=JM|g#JQP*bR=V4K4bD&c z;M=n*v0_RSJNVW@*!ol5RYm-aKjrM$lmz-r0&Bq^HvTkw?h6_pEGMnzg{-wGnah@| zCPCnuh+ltwVT5i*6LcW8#C4KiD1p}`lz;6zZ&@PtN`VL*>T}`o>xjjP8r@Xkr z!b1`!-Prmbe@5DbM2i9IpnXSsWlvKTY77)GLSjW~X&c*gTk6PuPucMH zQyGJy*k>gTd;Fa;7j(oERuU)q z&LMthZ{yuj`&&Sf#Zas$fS8}V` zB(GSQ@K&WMs(#rnm?ONvw5h0=*=lX#y>>=wzuy`5jOVp#zdq7mc+jQvQxWk~`z+qO zt4rGP6PM7v6yh`K=<+2qO-IK^eH9+>Rpx1Txm?Hjstxy2Hb@L2K)AjmKeC1v$E^zT zM7W1LXl#KM(cf=K!(q+p+2VSX077gYyQruWmi7GgB|~?;m^N*Xo3VMllpt(u61&6G z)U*konGd3EVr;h*7c@E+bLp;leo?bbF@L?;Oz5~;MvKMok8zzH{h6DsJhl$SeL_y1 zd#W_+bq6Xf9}b*6K|r5RY-vT*EZ}ZF#fW0(qY5F&oo_qAfUpM)C#? z-9lmO5pxS;Pb_`j#;Y;vM2^Xemz5M=2ihv~&NV&Xe%@1pam>twF|uudT1o-r)+G4T5Xiq<-FtgL%iq{&WmP>ZE%bKJVo2*bluTdPJwBXBWfI}LQfK1> zq1b$1iE(((CLZc~(j&B1of@QRjefh=WLJKmYEe_XCxA_P`SRuim*4dWlIKF)JUjGs z;<;2*lR|mjLhO$SZAfkQR}R7kI7nxUlsoGsP6>9BZZakuv9HEx8hOnNOkiReM@z}t zTS1Wmrk>pg!tcV@@!w6DtW4WNnx!a_w=_S~43ZB7ma@Xb^0)JGHQ?ivR8n4P3(jo0 z$sL6F#mYGRyPOoSRG7e9)^~jJyHrKRVNEG512sRL>TfAMTR-1W6kh`U17>sYu(RMU z;IFLpfA#0Mv+#=#8yz-p(;ZRUr~|e!Do7@A;O~@{2mbn~1qu2w6cyHTPmyA$6yJ^a z7n1$@=f}gleup-apzn|P8YX9FKixsKGaz?3!9AgQW}GB44N<`Od_87PX_=vivF3_S zod5l%3crCO3$)Y8nWRmBtCp*W+}3?|gNlQYz)1BlCYmNl)vw08LYoDstg!sd7_Ky( zOVEvsk5$A;q2LT}NIzM*JJhf+igk_yH1JG?JZ<&sXX!lmlO!clvyLn=x{Q4YQr+j! zple0>sS}A0nde?|L_6D#3ENrOB2LC6SAwR{8;?p`vj**L80?|T}+DCE|P=|G=LF_`O9TLnhP8UTol`%e)pj` ztCV3EdV5{?R$5wZh>+1dcAu#2l_NF+f|zb7OAwk|ia+JrKMrV%_3y|r@YIajWZz%9 zGnm_f?P)_uX7FarFpDM#6ZD!S6+VT1;m2ndCrWlJdRV31AI@Tke3d1f)j{6s<@#k# zu}~5Vbb_r#?l#qtGKpbRVP>6lXSa=)IF!>BCQ4k+GAFnZX@m%Zd4l-Z^Xptv@?W@Q zFc)(GR`>9WuSPze3_L_T-|H#WYLW3!ww369ku7cBK^bCaw;<*&=UTG5 zX`pkDu9|kQ!2&0T+}8I)8k&z&w}QpCp5NukS>L7(eC|_r#J65uWQFGz;v6}ktGL=r zTHbt`z{2j7SIxa$l;0@F^HuOwLhAd|<$^%phna*hG`Tt4^>E_ua;Zr9FL#FAcL)iK2hRip)^lj zaWvz!c0!u#O9O)z)`qkh3=Ag@gQGEai%IoOt3^DTMWS9`_<2l&6|t#iXHSGX0(0sr zHn1tt2yddahMUYeO~9s%d=3#ANZ-}N^2x*A50~9o+LyJHs^eCw>L5&`bpvzIdu0$#13xw9 zPQh%~h_eAu@Uvyf%h*PPpIziLM3P26ymBr#wvAkT3i>DG z$55-u%UAUd-B9#Y>o4is2Pwjvl;~=Foy_q<YfC9`n*Y3p z_%nIs!tglDg)J{RbZi%l!KqVBI?YR(*dDiwGL+w-zwb1^G%H9B_8~V`zxLn8@TnXE zJDR0oz;ZXiMo;qFM5+F)# zHnpOjb{5*WNih-2GT_TIEgdZ|UR|S4ex_pm=w^RpZi5|EGGB9qv;I$?A9w0F+%_=N zzF$Ayiy6`FIvuH64DT``zF7fMMrl?b`=z~v<_^jh4H`a^dipd!Iy|^B!GIkcw8OT2 z1zzbR!)P{MhXp5wgz*mx)pRZWkkyQqqZnzI;hD0WP;a%qE!TFbt-{A9 z?mfx;E!o@09SKdn@3(^KZ*AqK+~fA0857p0Ex^rB)6B^zkZL*@tj7b!TMP(1bTYf~}c^BZUON`At$GB%}PsiM*=Uxx6V_(6`g4zX%Jy zi8*jvVO~h@)JOJDyY3S^BwL0}xha+hD=95VsXR4-T#AlbKV04V?cl$|}W8;DRn&R4d)~0GpW5ne^o{NO=MhgBo`ovG_{@z4;Mk927SuTcC zVZUmUUJF{XH>_F3Y0vs>g0{+6BvV)a7jrCcaW;7(72wiMoOjKbSzUE?a*?L?bQ$(; zr$#qTJ<>>~X`<_xp9dJuj-!j%V1Y=mi{P%(TG3(?v8=AY`InwAp^2>udhM9zH*R$z z&rd9Mn#c{MtXt1-ZMrWdp|2TEL6y58AFuD4k`JJw*k zm)21q3=_w1d{FJy?o#3a2O$R0Y_#a`cB2&zj#*GZ6O0C(fY-Ny11_coew^x)J%-XS z4P*C(ZSm%K!aU(iB&%4eEEXJzMk-;pCB`6&>uWg5gDOI0GR}wEpb(3(rUjoVN`~6u z?4ay*&a3s%vp`%=D^mTCJD@M6FE#L!X9yH^xHi{ktBE>nGiX}|&%Tdsm!{O!KOb*s zPpTukOn@j-TinnR>1Dt$A4K+5n%xFLjwH8uKta101y#ly634E6@!&r<`;j8@jqr~} zE^Q%n7(ZOtd}!wJ3PZ+~09~Y{ADXqM?m(do3R%tl?P`Jcc{U7=2Q>h(c4;{#(C~1# zJ+XNqj#ofHq57pU2`ylE-?N^)3EAcP&NU;s5pK@1EFcRY$PorEX2F_x1+I+}>(i>Ua+(r^tFxHaq8iTB!Zx(4^u= z(6OC@GWU$67i8|6bZ?lTO@C&?M{Yk!C8VO<;ZL&>WtvHjOT|%a*Ky9ushi(9aQ6cg zp}kww%u-zZawcwrw|S5iqgpHajM_avO@)!Q_`2me|qG;>SxibYqPP{}5hB?2h&hFr*51 zxmy??7F!MrKfJhYk|vXaxCQJTxt!3xpUHeX5|~p>oH2$S%Y}Q)$%`*UwsOC65Fb6#E{@~S_xOuM7IrOG!`N5Hg2(vKvcuw8fJgmVaIhWp$B@gcjW(UA zy~;d;V=xAfvKY+1a4>X=F#&oR?}qk9baf9sjJ2}K4AOKEmxifI0I|NKC+T=_Zh3m)8 z-P7GHXPJ_~WY=eRPz@@72wuP*w1Sm&#~NFE_Xc$QWl!FoG=xBr@xXxkxvFKB6w;PP z%Kgf<|Ivo!>f}xwxm?vx5F|5lM~jWyP^!M@m_KyWxyxq-b5;;(5eUT&M{ci;SJ&R( zaA}x0LvP=8?G3vckiJ-EPH=5G91`958NBrgI!n}X$l!4@BpckWhS-F0M7|+L2=icKq$)a zFQtQ5p%FAR9abvLIU26nfsBKmio4ubzI+i~Gl`*<_ol3{=i<}9?zosdNtB(;eQOnN zzrG4+v(|3>pGL^YKtOeKQd_zOSh82gW>b>tPR6+|Eu+T_=SWE=t8=HpV>dF6W>8D% zDk{t9}&3twuKf>g^ zf1CCcEbi3NGraOmN38{Ucj7Qycd`g|6v$X4_ddb1cqN z?LiQDfL2!*1Z#Nb+Y$=kSbkK+5n37>16$@_A$brN^x(R2*-X!wrOr45KS##ZD z#@kPrm8Z6Je+a9fH6(d`v@E=ZjPIC6&cS8Bji{JQoUPiXKNe0qT8`suuwWYQZYYbU z;4l|>#}pKv4M5D$xNVCuS@^60gOc80M0<==EMEG+-fI{~@NrX32&G@M)9QRNwI z!LG88=(odQ4DcsEJz*SzoaMFOKt3mL{TDtkT##t6T=)oW4aPtxq?9~m_GE|JvMhHK zgMy0R?N%IU(O*12l;+t6e&_UDQ~c50tdNci6t!tM@%5%tw`W+`;2iN_Qj2p@YkTaT z!LvzUd1{(yyzeSXmGIqV#&a{6i6?7=Jw~CXB$Fr+YIXXVQTvsT@2NzCPHjT}+|-kJ zNvlP;YexDX2{iCWi@flIEH+<)YG`jH@^rVMSJF;JjK|o`tlv{-RtbHE^ogpCk<>Pi z_bhI-QYV?Gcu(s{6HI(e5FrMHOa17yd+dz|ACA_{30y^mJV3^~goYInm45>m{L|aG z)XT60|FbW7)gE9~Q%GxThFNb>)JQ}lr9#H&=P$(j+Z5d+Ug<8EH1FwY$G`L8ltJ13 zKRUly{Q@dgnt4n}F})2;$R6m(j6vVccee$KX?6T+PBm?N$fvDpswD>lI|-qcJfRM)~(<_$+0C3F0p-+E8> zQs>wDRa6G^%eUhF6^}+$aIu!5P|5Wk%P8^`SpbE{>~*=5Gc_!T<0-W zIjDp_Z)CaWS>4<~sv;kk<5Q(nJS4;;o;akc1~w_pP>W-pSxPOj7c z7VgUnd0*9igIytDKDqN=4MlpppLCg1Vh2?SM1Y+%#K9nsoU?e|l`W;SO}med$5kK` z;yCf6m;5!Jvdcl;>!%BnuxF95wJGSHER~myq775AfPCS64mC9@9<2@d*2z1vsYO>D}OQw1IL3ekP zCEn_X-o;{=+bmrMi+v4Kajv353lEw8niUEQXZ70)>VO8^gPr%LrU73l+W@;AIQ)V@ zWL_y)XgA2VS5c%7PQy=FVi!O(?V4;|P}PSrhuIU4niIqLP3K^gT+XxA0b|~ZZVS4> zX1V94nkwHX;H;oZ->oZ!H6Cb1?xxy+EvHE7=2Im`S>9vRsO1Cc0J$YBism9y4`q69 z?|3a~c1FdHu!3zRxGBOgjm;Chguvrx&H5o|&&jfS2&rRK!pVivx3+N~MkypxLtY~1 zQE5j_M`WTb=0L!Oct{|y|SYLEAa;iByAs+2-bh1Os-cF7>q1Bfs*GUN=* zPMUKxoSGM7MUTB6L4W!iq)~V%0s?NEjFKAsJ~;p(DSs0+UIY3e(p-Ky@B;KtOaKWv zUZYvz@2jZ__MWtS-t{cM@(?M8oITjATbpJpyF-jI1QiwG{~>D}xl{)@*59kk(k!oA zuQ?m5!OZS??37oISlAi8niu9dB6k`zJ<7G4w__o2s0G?$%I)YC+%k|#PJXiFz2_x_ zqsRJh@80cVF(TfZA##tg7u}ORY7NZ`TPInua3LxP@?wlGr{(J_^vPoNL666Pz=?O~ zfIK3^b8z~#;zDDKgv3IVFQH9md}$&`=M7eC14sdRmv{miefx?|b~)|$!4DY2d#)B4 zN#g?#x-v9CA~uG*b`p!C>k_Nj=qS%q69$FT&B+CZ9k$Ba0_`$}Ir$+HgMXt59_$Qe z(gr5uii0mS*3k(>pdKc}c<&*Jcg;(am(xw}7SyDLBw8hEl*J<5wQ*5|TwWh;^H=P5 zvXWdxhWf8@Sv-SaNp_<0(+#od{_T99Up{?$`|^;1VE%_RJkG^^L(yOEq4!7j6T2mx zY<8yQ<>gI-l@JWvO7ap;Ex7)a>7IVDBCdFW(I?8sG?p}1kCeL06s~gRxu{*90rgz3 z{;R4Q0s%W5_l#G3ZFqc4ju`QZxqTaA;4`FFyrDd@r);vN00fUL;77U_9$%vwDN_pY zpzWiDh*+TWBAczXAL@HGbUC2&1?B`rrY4N%EE^tlsefd%FEP#9w*%mqkLS{xK4zb@gXN zmdWi}T(6q<=YlzkwdyC*E#H`=Jv4_xp@Ia_houT?u>XNjb}6s#tP*Hn^cJOBvKsah z%oktYu5JILLE6>++=r85L3@ZpvyD>5H0s&~2i|uJaVzovRJkfAAC3iW6p-$ngXNXx z&)Aj8)i+gVw|Nx0)HV%QboTM@GmRx zmukSjpecPrq)p`g9H1ozfbvk2l@h@A-5JRWF{4Sm7Gwiy+UQpVm-tbLeIhu$EKD<* z3?q5BG4OpL!~`&27mXfojet!YzseL6++bWa5LSfeKahXiF{UCvK?RvOdH+NnF*BQ5 z7I?NqN*}dVIsf>D-;9V@9{QkitzFg*N0uO(TVEa{cSg9^$Okt4C?r8LOtJz;5L}I< zeLkzMyU)L<7A48JudgsVD{)^e_KZ?u$xYu`qhbn9=Qw${vfq*T3^M5bVNRX;3GCfR zBO4pMkVk&yA0I*%7%j(bzGa8uKs+|2 z#0EtZVr}`Piy&M|8Iu*{;rT`->}(gRXfnKQjCg-&!Y4AS!)q54ZJfr8!w`vTT(Wbs zo+x$}c#yd0gEtW0uhd}J)GEQ+$ohh+cSkhKH(}UF(KADT<%UaD+{npf2e!@=EkLxT{q(D7mH6EZIW=1wD&uYDRwAW z6pUR14@y84JqiDGS9ylI2zg#K>WEh1iG6`F)SDz|Gnc`-a~JMM0!?mrg}suj!(0k? zKXS-lI%y{fKeL2X2bzm@{iaVvHe;!dR^t#cabb>IiJ>rFXqZdt$VOq*Z@)TI%3tG-<3_qve! zor&anzb)$M#SpsdE7&xvP$(B-)mZ1?@2|im{_>;6LJB&oH&qiuq8Z&CBoAZ1%wN58v%8GYl+wf(jYK_Ze}E zs)KzkE@&FiNit^E&5_JSqe{rZFf6(4(SC}!@jsj zwP*5iCiShETXpWV{-@Z|!*VSH9aKlFB#u9A?`*tf0jFFfu{&>~3SyB1oQX+`Yk?ieB6;q! z%+v2M_(@TI5?BAdTWDw!*J*K9t5WX!M&9I_n$YQk=kmZaLR0Ej(*mHHN?@4->wiKY z9I*umoXmmr(Gqu7OX4Ojt9er$Qf^}z;*imJpQ9@2017y-ZT;O+rU*S^KX6vsh zJx}M>68XT1m8wbFkp8Qd{p(=dzV= z%U_TAhTiYcuwTpxgrrZa;T;MXVY-m8KD($0KZ-?Hz2p*pvA2p7i{u^z>W5)hSta|_ zUPV_<>utOa1ZB%K6W}fBy=$Mhy=icZPr`Uei`-ut6uNq~&i{gB3z_)M9sA=L!0Lt% zWkvJ*$_RdY@oa6m)Bo6UH|+ggKTj`i#yq?H9;Y8z{G>S0nY?q=Lt!qLN@kp?2i1VA|BdF5h3mce7(tY)&Xb1G19Kx39`)CE17Zc!8 zD$8y?bNuuuGe!D}LOGY5EbA_r)r&W#N_j1CA#7 zSfsFhT|x3aZQvQ1=X2j&ucAQf6XudCOO#Y(U)gmDYjD~XmlYaKo51TTLj8Ipt%%g% z7aIjfA(z{7T0tK3?IZG8RKm#|3LQ>AzH>-GyDP35mMN{^t`9A6UAHA9G@Fz;TWC8( zizo*9bQSj4hF+h2bOmn?yQ8R`{qE^bq1WLo)ts=L_aMZemiLZnGY{KK(u=rqs=5JN z3EE)d%sVtwOn0{6l|i|1$yY;5UAHiCcLBBg%`YdBy|z^gj#M9tl83HyG2P0_-x1vs zKYxlw_8V1~)iM-KnV4veHCBesoHHF9v49#$-F?_T^E8B64}R{gofWSA_$SqC|99P6 zl4jvSEo!WIE}9Q$)s(BFOUjR_Gg(rXY3`xHs5iXIXQkL!v1Q#YpvTENyGj-0l;mAsL2R9V+bvS|V?@ zdi$2Qp3h_3>mNjNZgWccf_$c@oxU_Ph$l!!BC5e@w=Ppfk9|JnEBy}XA3gMHJFJ-9 z@Sc#iYlb@1=)6T)IQp!7g|Sdm-Jv!rcXi9_-!6jh&DSm3A`YSFrumg=awv~SlhQt^>i7{6CLL^4}b$x1j~GJJD%g33%+ zZ0pZxJk0%E{o|Vjbng9W)1=~dY!@~Gmga(QFe7$GpYCc!n8@0#!$XbDGRUr9dK=TO zrP99j`Mh?)aM992wOQ^*9o-Ay#y*UCZEF7MB=o+^*`=ihMkTuKPNc@Yi-NLl@80ay z-AGu)@PgN=ZG9BYO3m24$gkzaL#Wc<$PfVn9VbtN3j49)C@Z)LU zrg(xs?;S@cQfKF7Z>s!Kd*eX$mw4Rmjp@$aJHp6U#t?pK#ZvL^2Tm%6DINVHHLA}_ zppPWC>&{6yG)aO&n-yvC<46soozdG80t0{4F8EA-O0c<5HC&cl3RXV?CV|OEO&|Ou zK+$HDjJWu8KFzu+lOm-Rp&u~)x4vm;l;J~ZA>_qqMrDr$+9JzEzbHMTC2M)wnm?G^ zrpk11HAV?rwX}K65Rh3RCVL9|a_8GblSM@lZ}#u*bM?`;VD>a0tky1yTZ|8TqJ3=S zE17mQNXv;p^U83Pp(nd=@>|>5AKm|hc3J;wHByJ#S-m&+!S#kH0Pcyq`|3JEJw?H} z{|ga1gWWW)$5M_BYdJGgbMlo0|EN!QSP9PC{j8tRapDn%3vv5iP76IPC12<3C z58py?P|xZ^0bAd#%rZF(y8C|$ zYy9QG4I)h2`^ku=K-xq-S&uWE5{icVCcK|%>CL&Oe(baOZbQv?T6WwSV?XX={Bc{Q zkty!ojlBqcx+`EG^70GZ%1}JrJ#gBFnR`)oeT+ser}M1$HC2iBxid>YOCkNbunU*w zzaQ226JGr~K;9w-feyb6&mbfztM~;FT=JwMX6w`Ja_6T7;-(x1v`L%g;-eOycUztM zHR~%aznnK5^0z7#&;cQ}%Z9t7eYr8wVjtYseFW^j%GBp{yi#=gnh$fHtCZPFwF*LM zHT!3@m>t;sLauk-ZYc0h3O?U8tnp@4Wkam-MsP^0&B=*c}CkVy8<>wyH9jokNOOsY<+i+uR zeM_IRo-XIv7Uy6_cT=1HR=d_&CLH-*jIo>)$Mz4L_r#nt`P+3mWF{>r3FN#Bqc>+=#XJ( z5D-RCx&#CyB&Cstkrt5d?wA2#hWxhY-tV4s?!E8#?T3eY_UygZ`uB?8Z&0%K!$H4B z_z7{t-TR57ydv>5_Dw!xV^vN7#Whw>E*PI`n4{^e{K}}33wc0TeFE2UhSxDvwSEjv z`&{`)R!;&KZ~yqOgcO5wS|6M2eP-NS3gX1McQYa&cPTnaSxZpny;3Ro&ytaex+H9 zh`245#&v`hK;+P8UAC7$Yb{1a0bs(w5_&q2gw6@?2wO%R9euPTsmvEhd!vD;*qYv4 zY=}Nfp(#Z;8|{bCsA!Du*;Ui3{b2RFBBVG!BRrA6&*Tp^eSIn!E8Vc4wnL-VR5d49 z6y}1SVOaFC7`~v$mxiAPB)K*!rtII0EW)8t3L6;g+1*OEtenn9oF47 zhW%z*^SL}q(|#RWDLd`A?Gbvq8>qavP{4fKx9>7u{u!@uRDa;QZsV>X+3D@nQ^2W) zs9{cfgNy1)=aNnElXaP_xgBhG^&#~`MkA*ku8%sE`8n<@4Pl?cU^j!B0$sxT9Q2*` zC#&Q*#E1%t4sPcZpLlB(JoDW*q?5Es`EG;^AWL5}8*M~)*Clw2pdO1kx_y1)obQ3J zX!v1!H*PF8=DjX%?a@fpF5NtsT`&FSs(J1`TgPhW-tSlG`p|A#Kfk}c_WX#gQdz~% zyDwsL9?$)iuaP(+GICDT#2_}UXD;G+NA{ITpDH8w ze2#d)7l+o(`)s_Y3$vzns{Y1l3*ezzTR#cgte1yH^ulsRz`8;kVB3yLJPXXZD=+>sXaVUaZ2 z2e$kHuHyH;G`49;0xf~#$V@+JUvA)W5@ux9)$_pxLuXFs1!G_1ti^axP|Lg3q zoX1P}O~sD5a5ENP_mi+3>xjGg0zWe3@WLzPO;iBDeEpaL`Isl=)3uhLw)!Aw@X#z% zQThmKw&Kq1S>;!y&_)__iHV)pHx+-pW8j0noxztrct3o zlcT{t#j%Fsy?W=1y@U35D`{g=!Qi`bdOcv3K(U>ioJIE9A|z3Nca-}xl=JqOKi$dJu9KhLTmk+dT-aAprJLR z@PRxg9+!!nc7*)LX4X1vw@PSk@U3NHIcLO4Jm09M~Q;z z^jViHYoEi&Pqw}zs6J7#|4LO+?g~Hi@hk1m{eEEAeu!&FywSjj`S0crpQL!DBq&JA zF#y@w4Virgb#+-CmVAAX>LeQ8*;+?Hh~xw4JMAb{1#7u1HELjFhK|c?h2n|tw{~*( zxaJBD8kR;?xCAs~TX$bvDu+7rQTaKqPRKC_A-M@tj!ska+993&iofV~*@kpO6OMPHQ&iX8CyfXayUDiPWaQT6>xi@)gij$yN< zxmq61O{`kWTKvAOafyzlmyJ*AvvdEJ6fvo{ERKjdA`*DhKPc-!}F(?=v}WW>0>LfLHml)^R0gnqcJBp+wyV+X5*0|@cF zEmGa=UN*7-7R$v$D<`-pKA%bF5$L3$vyDa?3PXn%ZA*)lIVYl`x@aNW zCD76Oyb2~@j$geKnwbz+{(CYK5J&4fIPn-Kd?W=V&bHQF=^$=Sa%=ov1(mKAv{p*_ z<%gB_uzfzprh|vm>7!yf!vNr*)O)YL(7B{k&TM$C`*!nZ;LPCG;hp9H{f9Z05AsM! z=3lrp^;>Ha5Pz!oJZY*Y5mQm(R4R;4*ROMsO#SpUj>Emi=l8ARp8ot#9idXzoHju@ z_~1lZWcC*zAXMw;jq&?rLGENhW4g{DIFbas3_e#jKj;<$D88BcW;>D>Vb6y|V8xD! zF~j-_X_&t3=Rm+)hDn@Q#bIa|ox;p9iJrw-OB%)T=!|SXIZ(JvGJQ_>*XRGhAsP<>`BE z(anKf`;!%@eb@fTI^M?&iCw$>E)c~twdyZ(3mN~w0akgu7Ss-b=TZmf!1(;Oz%=C% z&z@0Ja;0u3$;s!Pq}Ut4P&@2wrR267bb@6^cU_3WE8wrDnjD`!3%BbxjuAMmeMbL8 zy`N^`Q*9^JEC?xuTfiL)^)<(5q8BHGfTAV3eyaePs{{nh#{PCj=*?@E2Aig5%GkZa zhNIF3cZ*A%wtWta&{t@R_PJVF$EB1U`6=BrpMa}Suj{Xl3@y9A>VS}Hch*-qzV5kA z9UaGqH%Mra69T>ueqnsG6QcMU8uT0&IK>ANy%b%k0Yw|-a}4R17_`IG&uiBC36LlQ zc_=l&Or)da^@xTD(0{i5xp~I?caTwi6%JgJIcqOI*<d(&_ZeyK%9rid<|gNr%q#0Y`F*_`hk`~AYEKpB zA*qQ}$C(XG+TV_^S0;*Yzb5WS`TC5lELL{tXSIBP<8kHp`&aSDACx#-BQ3AGiQd1jlp*##bN#EW_l(=jL8XWR5->%wfFs&0L;~Jb*5q}Ii*iCSK zO#OLa^D3DL<-`v87HxT{BYLv+p0Bi8cWfUKM!n>y=uB_i2AUpr<2tiQY^c~>5&?l3 z6Q!WdO1t)<-#mGQi3wW<8Cx_SYMYxtrTVGvqW2=w{5duV-K6Q@^WEm8Y?Yz0#Opxv zxxN93zhAw>s&lboTpE?hM=BF5yP;V_?lHDoA-kQNtGW4*Rz8jiLOjsl<>tmFk;9P0 zLTL=9+{Nx=l7lwn3w}j|TE0%+j6i@4AD5k840bQC332GceAma^Xgg>>MY2B1Hc#NV ze(|XI>Q~=`B$`2p-slQ_K;Rq4zDE4tZ*)7V`+E)&+vt`F=#6b8NzWU6`l%1ROis2e zO)B%k@B`#|E4USg%^vE^7HQYnBnx>ewiiffT>b=Kyz-Sf7W9A~Q&_B>X){D_Tk<3N zSli*X;k&&`p8~?E&60awe|;nawP{F6EQgKDs=rhlkF@)pRpP58fx)NlKi+)HCxMdL zidTt9*!M4PMUGVZhO?iy4GK&!SM8Jc>3=vBwE({aC~X~YU&)y5(H)51cY96^oG(wX zm0Tswz$|qnl;SvReXOjUS04&#yt3kp4CKmHa_5@$Qw^pw&Ywpb%%j$KPUX+~$_#s1#R$*aPEYh;$Kp2|EGDVXkA{{Jh%zab5}~?moLiqlSl=2Bgp682vAvJ@k>uVE5!`drXRuZ2dCM zR(pX&T$t_5lwXYMm+m@JB4C>m09X||^3*`nxjlZ`{4MBG=6;hHdKM|bHMA;ohG{4| zX#g6vB;`)V4k0guev|kf!=_<-Ydr%-azH5eaPvx+=h247rTgov$&v)8UHwc+CvHbg zB#DXeoQsm@B4#}nkACf>_XX;`w#nO~X)bxA??wG*OryJR9F5$9^~ENR5R*ajyJS$7 z$tUwK4jhu709n4rXJni#-`VO6CQ;)1%sl56?cobN(qoj>^(X015>-%T7c9RPhGUh- z8;5lU61^Msz0}*uq(4EJ`ibiA>@Xwys^)jmVQmxP#`4^3dG<$$H+t&LflhCliw}Cq^F7K< zUHcjybN!h!BdF<<&4qT3Z>^b>p)e|uv+SN`>IL@Z{u|$EyF&gH)Q0o79;L4)s1366 zK{qjyn@Of7(=W;@`b3+1{fa0`N;WF0_xC2Tn-OXcCJpl^#p?MMu%#nYY)~pEOUypA zMV`lajp=ycVpnnes8Q;RSrv&9-jn@YDR+mD1iVErWnDA zWrwmk_BZM=;@ z01T9t-j|(bc%;<&aGDQuIb*zc_!SRuZm2;R%D+y3C5H=#Oc~J}dw%f036fE0qs~iC zJO+C&ubI}*$^SZC6j`V9NcWd@3%ru`YGo-@j~5U;FQ1ycU8rs=J7bahy()cM!$|T5 z9DUlOI_{%MmD*2Gd@myWqWTt@Qz()Db(>gA%Yx$Kclx56dwV4%C6}GagG_^F$uF$+ zM>lD8--}7g4->F@S!>|NnzmE{;IXm$GxhA(Za!1mzjo#r%#RB`M^HpRt}0sCDxNob z(_&U40(_=ju_CB3Q;3xV?=|rqfBW;eDmNVeTQ95E;n5Q*7zM0!vZ<9#*%*qnqHz!xMIy z3a{NKJ*76Q4r#A4wf7=4UTq-V+jj{%B{(@64>auEp4&`7wz| zexU5g^5Tu$Dwk39Zx7#iIjioCJ1Max1qA1_%%mv_JVT3HE*)Q1eT}Zo&TBD_ z`e_%l05WOAg#bcxB5qUXXP&ghN6d%yYsSeqLl+++Uhj99Jh#+S->1ErkT}wxPkb&b zPQ~Q+a*Kbg2=kMD-j&_lIV@tK#K85e7=u5iIruMry3!9PM6xC^pUivZ%QsZAYDis< zrxzd}YZ_oZbr({y_0@QEsuNLqpY!sRm6a{DBvWSLO=_m29X6E_5py$`uC{xT*{aso z)&?s^Bj5J+_Uh~FufEKVPWV_4pcJfUkB-uO_kHX~bv^3UK9^?2?b&uJ3l{rc#Acdk zj$g`b#r5w^2CN)dD@;z#d=w0vpc^@H!!XOs%;n7l#0xQnfjrL zO=<7yqGBFrJ;F^!yEm^p!a6O(RHlKJ&0z@^w~YOvHV4-vUR%y7E($Wj0L;Ddk*oba z&=>Y+XKzNt2wxr66O<}I?Bs`4>He|qQG(3y7q-Q{VhR9P4KA8TAJuPdi8mC5ayU^% zTn8R{3TmTLW;xCDv`#m|1{+S5c_bc7>)mG)G@kVCv(sOlMk$R;327O-9ku=T=8>~j z-RQOK0SR2}YNlOG)%cZzI&1J+{;=@i0d%hUO!jb)Hn`WPXo68A?UQ1hw++^M%fF{- zO3!5>TY}z{l`YnZw7#wP=yE2n#3d`_wP&$Kq#R}7l zO$w674L&Zrg1gAvuOO~Py^A}z0PegjDc1d}%pSHI`i)M*Hah0TeUal52UJ}5_h)@( zwO{BUuW%RhDaXIa&GYv8xSJ23#{F5{b;susP{#u{HrVr1AF-1?<)jcg`|H6A`czoU zY*kv?9+T$R*(rsKEX-G56>tL!0YEU9N2WPZ*(nlxJaWrtk`q@jYB;VB z6Z8K4GhDoZm9fUkb>@Vt)5Li@maW1_>~c3}Y9LBd(eO3Z<~Cb@fOeq_v|tN6q$1AX z;#uQ#_aLm;MEtd^;cy-1kbhEV*$XzA^D|4oAN>N z{Bz~pbEiiayN~t9G*nO>VXwnn3U@88n2cGvsX}@g_3pJ^`8<%U9|QYC<^;XVS(ZK5 zVpF|RFl}=xna!yd$HBwKu~fYC>xj?V>x1fNye}nLp4yKZW}WO|1#gany-vT-X$QSt z?@YEwUV*bq{ypwrD!zf66%I4U_P=Y{edZXJG-hRq(eYsbeGPkTNzzo5ge3pl#A83D zeO@whT?uNZJ$1ck3~}Mh2katM9=nBAc-#xFG%(q!n8Nn?GEqS5+p+OHJvC9B<7`$| zmO&xYS4V20>FC?~Jrz4>Z{Y|gg~JzfjY%N-q$zpd{@&KsYdbsKNI^3U_SMzrd{F%{ zI7<5JiN=+nxMTllz<>TY5`U7UnGEqS5uSaEM1l*@24NwIyUJ!vdY-rA4Ti-mBvl{^$G!p~0%l)V9oGB%!r!2EV89BTC?me~@5s0cp1{G5;0 z_gl+tYV1674x`1JZ-JKxzX%TE$TnpAP{TJR#zXSA_e@I3Hq}Ooa<%0Dd|^=R^*b72 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 Ml(Zg|JTMRXKMuezLI3~& literal 0 HcmV?d00001 diff --git a/users/index.html b/users/index.html new file mode 100644 index 000000000..03a36eda5 --- /dev/null +++ b/users/index.html @@ -0,0 +1,837 @@ + + + + + + + + + +Using DataHub + + + + + + + + + + + + + + + + + + + + + + + + + + +

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

Using DataHub

+
+ + + +
+ + + + +
+ + + +
+ + + + + +
+ +
+ + + + + \ No newline at end of file diff --git a/users/private-repo.html b/users/private-repo.html new file mode 100644 index 000000000..1aa60efad --- /dev/null +++ b/users/private-repo.html @@ -0,0 +1,871 @@ + + + + + + + + + +Accessing private GitHub repos + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ +
+ + +
+ + + +
+ +
+
+

Accessing private GitHub repos

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

GitHub is used to store class materials (lab notebooks, lecture notebooks, etc), and nbgitpuller is used to distribute it to students. By default, nbgitpuller only supports public GitHub repositories. However, Berkeley’s JupyterHubs are set up to allow pulling from private repositories as well.

+

Public repositories are still preferred, but if you want to distribute a private repository to your students, you can do so.

+
    +
  1. Go to the GitHub app for the hub you are interested in.

    +
      +
    1. R Hub
    2. +
    3. DataHub
    4. +
    5. PublicHealth Hub
    6. +
    7. Biology Hub
    8. +
    9. EECS Hub
    10. +
    11. Open an issue if you want more hubs supported.
    12. +
  2. +
  3. Click the ‘Install’ button.

  4. +
  5. Select the organization / user containing the private repository you want to distribute on the JupyterHub. If you are not the owner or administrator of this organization, you might need extra permissions to do this action.

  6. +
  7. Select ‘Only select repositories’, and below that select the private repositories you want to distribute to this JupyterHub.

  8. +
  9. Click the ‘Install’ button. The JupyterHub you picked now has access to this private repository. You can revoke this anytime by coming back to this page, and removing the repo from the list of allowed repos. You can also totally uninstall the GitHub app.

  10. +
  11. You can now make a link for your repo at nbgitpuller.link. If you had just created your repo, you might have to specify main instead of master for the branch name, since GitHub changed the name of the default branch recently.

  12. +
+

That’s it! You’re all set. You can distribute these links to your students, and they’ll be able to access your materials! You can also use more traditional methods (like the git commandline tool, or RStudio’s git interface) to access this repo as well.

+

Note: Everyone on the selected JupyterHub can clone your private repo if you do this. They won’t be able to see that this repo exists, but if they get their hands on your nbgitpuller link they can fetch that too. More fine-grained permissions coming soon.

+ + + +
+ + +
+ + + + + \ No newline at end of file diff --git a/users/services.html b/users/services.html new file mode 100644 index 000000000..3ec9d686d --- /dev/null +++ b/users/services.html @@ -0,0 +1,927 @@ + + + + + + + + + +Services Offered + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ +
+ + +
+ + + +
+ +
+
+

Services Offered

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

This page lists the various services we offer as part of DataHub. Not all these will be available on all hubs, but we can easily enable them as you wish.

+
+

User Interfaces

+

Our diverse user population has diverse needs, so we offer many different user interfaces for instructors to choose from.

+
+

Jupyter Notebook (Classic)

+

What many people mean when they say ‘Jupyter’, this familiar interface is used by default for most of our introductory classes. Document oriented, no-frills, and well known by a lot of people.

+
+
+

RStudio

+
+
+

+
RStudio Screenshot
+
+
+

We want to provide first class support for teaching with R, which means providing strong support for RStudio. This includes Shiny support.

+

Try without berkeley.edu account: Launch binder

+

Try with berkeley.edu account: R DataHub

+
+
+

JupyterLab

+
+
+

+
Do complex layouts with JupyterLab
+
+
+

JupyterLab is a more modern version of the classic Jupyter notebook from the Jupyter project. It is more customizable and better supports some advanced use cases. Many of our more advanced classes use this, and we might help all classes move to this once there is a simpler document oriented mode available

+
+
+

Linux Desktop (Experimental)

+
+
+

+
Do image processing with qt
+
+
+

Sometimes, you just need to use something that requires a full desktop environment to run. Instead of trying to get students to install things locally, we offer a full fledged Linux Desktop environment they can access from inside their browser! This is just a different ‘UI’ on the same infrastructure as the notebook environment, so they all use the same libraries and home directories.

+

Try without Berkeley.edu account: Binder

+

Try with Berkeley.edu account: EECS DataHub

+
+
+

Visual Studio Code (Experimental)

+
+
+

+
Compile C with vscode
+
+
+

Sometimes you just want an IDE, not a notebook environment. We are experimenting with a hosted, web version of the popular Visual Studio Code editor, to see if it would be useful for teaching more traditional CS classes.

+

Try without Berkeley.edu account: Binder

+

Try with Berkeley.edu account: EECS DataHub

+
+
+

More?

+

If you have a web based environment, we can almost certainly make it run under a hub. Contact us and we’ll see what we can do :)

+
+
+
+

Services

+

Sometimes you need something custom to get your class going. Very very interesting things can happen here, so we’re always looking for new services to add.

+
+

Postgresql

+

Some of our classes require using real databases to teach. We now experimentally offer a postgresql server for each user on the data100 hub.

+

The data does not persist right now, but we can turn that on whenever needed.

+
+
+
+

Programming languages

+

We support the usual suspects - Python, R & Julia. However, there are no limits to what languages we can actually support, so if you are planning on using a different (open source) programming language, contact us and we’ll set you up.

+
+
+

More?

+

We want to find solution to your interesting problems, so please bring us your interesting problems 😁

+ + +
+ +
+ + +
+ + + + + \ No newline at end of file

tVW%G_PjVnk8-1f{EW!NbHb_XwZU+lg(t0%S80- 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%0Dt{ZU`n{dw9KDgl0<$bbKe@g646AQ@hYL zF*b2h>l~L{Pfkv-PNxVfxgGY8vVC2bn13sc)SXkUJ!dCD{kZSfa5lS{KNH@77ve7H zxJkLz%>O&5VD0iM)VFg!uBdyN!oJe#g(?tbl?}S$MGq8B32hV~(0yxsgc|j%4n=Es= zt;V@it$4*dURr>?v>ronz&@jhQk+Wgh(W{Ke|1$E6wA%JT-@}JfGoxroVctJ2N+|8 zIUSLX_aQf0!}*(^tAxy`Y&Mo^$rETeyJoqL zfr7XlK5h?evgH$ZM3pyq^B?Q;0P~tDAPY>@UDv5AxuEGYhkOflub+X;2tTUKpy+|4 z0o|>`Oyd{BZyK>e4V9A5b*va2c6P_f6S~#U{0)@KkDGKbsh=5jw0Kmen@V>l09EwB zyu4I7R)Z(^WyO9j$Znv-PG&I4cKdi&ocpRuB}0(FTQf>F|FkeLt_a`T*Ks<`NI4ko zN}NLj_?6;M7DF7F4bvyx4}MjF3Jp3u7sMcKh!jy(HtQ$Q=BtIe zlGk|uc!Pgf7;AJH<@E&@F?0_pQkZ>`4J1g*>@z5oio4v71p!smG@M0WgoGKPuLc2; zHf|q+drp>(MvdaLFi1oZ#f%EBg<`kV8^Ecm%i&st$ko-;(az$xX5@B}7Z+vmcosDl z9;DlL;qZAld3o^;*$1JN>c@E6VF2uXxa7*pN<>7&B%q)1)DQp@BuD%O;yqU;+*eez zU?69Y8$NIlhIO7@>yn}P3S*=H3mOE3ZgmKxPuF@lxID221&qhz5fTBlTZe$XsJ1pt zCH&u#fJ~5yK6H>__M921rVxq*Lat#?v-he%?%ENjtdZ0kNC@`0TdI5xqUD*8PY?@3 z7~B#=sA^TAR#}8YzD}WcfyjLG#z8%O4p_9Lgpqu9j*uGxwfgdfq-L{+Sqp-e-kx?Ope48|0 zcQUxuE7b9g{8Bth9$pZ$;01eyaGoF(_fV7Yv2yVcLFv`CA48N$ZZ9ajaQziW9Z@+r z_4Bety(*yq7ZGu8I^Hdm_|!6=40dq<|7@*+8$)QO^ve>A-M1*Y{22(4+tEL>7>d;E z9`gp>?-l`W5(fb{#h%B1zbqP$Z&wH;b#m|<2*U4~A(FOw?)Kz%zvStM6sIH?R)Rm8|iq##_m3}_Ha zoiHLyqwpWFrW1XygnXy7I^ib9DNv&A+IZ}%(rqu2$)rgc;bW!Y@Q3f=i7q>s-PGl& zCg3l5Wi9)cQ##LkN9pT;eobg53VVW|1`o>1&(jFz^6la$Cgx`*322-9@#^xMx}l-z zXN#Tvb`L~cTwG@Jw_Z^ybg5ti5i~7}iZjZnG+vX24I6bTbd~&XS@CxtraXNQMs89{ zLs9Gh9x_^3Y0BgzIZRpkf54B~*-SA7g(A?B=E3%J&5MvgqJWC+2I}ZkiwoS4fOK$N zSO65Pfd)<=h&DkI62o4#5Dm^i7o!+j2&8@&=BP#J*FrH3BNRJk6ck(gmEyxLrvfl1 zZTAK`!T+S`BmHeOBT&fYdP>}KQzj}ZZW@D6`BE!y_^Sj4C>ytZ|P=_loO7wK;NlgBe3pJSfFvcLRL zP(AyShPVvu4XkNQI!)UxWA3i?OC>RX zC+3$dzGyKAQ${Ka5uPk7@TH6yNrpj1aClpMg$|kc4{Fk-_p%1~ZvO#5=Um$RF705E zUi4;&IRWX+v`k$d2-+q!*gm`Shbe=GI#L zyZez2NnQ<;OI)Fx)=&lk{8`!o6IH}CdLGXpTYdu6kr~&gg57hMw95cCNwZF(32dqZ zDTaWE$p26VLnFhZRZ0`3V3;ChD3qztH?)330DE)DNt#B4br|M_#;o5WMn(l{ z>1M2dcK7yxS?O`!$OH)__iVbHYIB9k=ft3IgB4NiP*J4{$`o)Ja#k+yA~lzIxgkC~1Zs5>Hn_QGWibVk-igf)^?snD0?(mW3D zN>>vAnuk__8>$vV=!aYhi%MpEB1^DAp5ZU0U_|NpQ^;jX8zp}-dWpr=XU0`Nbmq3v zlWtmen2Sf(SJb#ThgLkDlke@L{KV0Md)Wr_tGN-2UUlXRwz!d$r&IIHpyJs>QAeoR zjLWdg2S5y6N=XO&Kkx5#2tO{mAGf2LD_?JFpOvK$ie<1S7KWm;%NYdTuGG!C{iPQj zd@~ie1@2G_%UDeHe+#2x5n_GCbvztj`O0Q0lB-6n&O`?Vvir*-Ee}$mDO4-QXLgb( zK_Zff1p+K2xi*sdq8hmW13|547B?}DK3A)bz06_3s-O)|tVO=!fBL1P0zLHmRybD- zU)}c&_xQ9u5!13-^m{P3!&~PQc473tN8y4gRfj^Wr&ys}k2QJ?SrCYgPsbDTL{=F8 zA&*L{QmuVMbNvqlJMkIAp1-04e$bT?c+)JSatI>fcMBD(NNztd=dMYo{iD$m3C+t$>cCI;11q3i@_888G)RuZp7hPc zQjp(Xi%?+vWCow-&aXi3CgsB10C9X=Wye!i5Du@I0+z|La;b_#TBHGXZ8!NZyT^={ zx(k2p2590SIn%G|e3XhPeg^vv =?!P(_W*FQAW#9)jhk#lxq6YpgHWV)_WLSu`e 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�woJOzFF$<1lm#rE=Q8 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 z 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 literal 0 HcmV?d00001 diff --git a/users/images/vscode.png b/users/images/vscode.png new file mode 100644 index 0000000000000000000000000000000000000000..4731658239e07d0147c89294877a6d604d1b451a GIT binary patch literal 215811 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