From 8ff29c52927a15d6f3d1859c256f86ab94fd4483 Mon Sep 17 00:00:00 2001 From: Mayalen Etcheverry Date: Wed, 7 Dec 2022 12:17:16 -0500 Subject: [PATCH] release v.0.2 --- .gitignore | 1 + .../imgep_evaluation_pipeline.py | 23 +- .../imgep_experiment_pipeline.py | 35 +- autodiscjax/modules/__init__.py | 3 + autodiscjax/modules/grnwrappers.py | 176 +- autodiscjax/modules/imgepwrappers.py | 62 +- autodiscjax/modules/optimizers.py | 37 +- examples/analysis.ipynb | 361 --- examples/analyze_imgep_evaluation.ipynb | 330 ++ examples/analyze_imgep_experiment.ipynb | 2705 +++++++++++++++++ examples/biomodel_29.py | 20 +- examples/create_modules.py | 221 ++ examples/evaluation_config.py | 30 + examples/experiment_config.py | 94 + examples/run_imgep_evaluation.py | 124 +- examples/run_imgep_experiment.py | 173 +- test/test_grn_modules.py | 136 + test/test_imgep_modules.py | 2 +- 18 files changed, 3875 insertions(+), 658 deletions(-) delete mode 100644 examples/analysis.ipynb create mode 100644 examples/analyze_imgep_evaluation.ipynb create mode 100644 examples/analyze_imgep_experiment.ipynb create mode 100644 examples/create_modules.py create mode 100644 examples/evaluation_config.py create mode 100644 examples/experiment_config.py create mode 100644 test/test_grn_modules.py diff --git a/.gitignore b/.gitignore index 6b7a0d4..c01d3f3 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ +*.npy .idea/ *__pycache__/ *.pyc diff --git a/autodiscjax/experiment_pipelines/imgep_evaluation_pipeline.py b/autodiscjax/experiment_pipelines/imgep_evaluation_pipeline.py index 08bddb9..aab5a8e 100644 --- a/autodiscjax/experiment_pipelines/imgep_evaluation_pipeline.py +++ b/autodiscjax/experiment_pipelines/imgep_evaluation_pipeline.py @@ -8,11 +8,10 @@ import os def run_imgep_evaluation(jax_platform_name: str, seed: int, n_perturbations: int, save_folder: str, - intervention_params_library: adx.DictTree, intervention_fn: eqx.Module, + experiment_system_output_library: adx.DictTree, experiment_intervention_params_library: adx.DictTree, intervention_fn: eqx.Module, perturbation_generator: eqx.Module, perturbation_fn: eqx.Module, system_rollout: eqx.Module, rollout_statistics_encoder: eqx.Module, - goal_embedding_encoder: eqx.Module, - out_sanity_check=True): + out_sanity_check=True, save_modules=False): # Set platform device jax.config.update("jax_platform_name", jax_platform_name) @@ -26,8 +25,6 @@ def run_imgep_evaluation(jax_platform_name: str, seed: int, n_perturbations: int perturbation_generator.out_shape, perturbation_generator.out_dtype, is_leaf=lambda node: isinstance(node, tuple)) history.system_output_library = jtu.tree_map(lambda shape, dtype: jnp.empty(shape=(shape[0], 0, ) + shape[1:], dtype=dtype), system_rollout.out_shape, system_rollout.out_dtype, is_leaf=lambda node: isinstance(node, tuple)) - history.reached_goal_embedding_library = jtu.tree_map(lambda shape, dtype: jnp.empty(shape=(shape[0], 0, ) + shape[1:], dtype=dtype), - goal_embedding_encoder.out_shape, goal_embedding_encoder.out_dtype, is_leaf=lambda node: isinstance(node, tuple)) history.system_rollout_statistics_library = jtu.tree_map(lambda shape, dtype: jnp.empty(shape=(shape[0], 0, ) + shape[1:], dtype=dtype), rollout_statistics_encoder.out_shape, rollout_statistics_encoder.out_dtype, is_leaf=lambda node: isinstance(node, tuple)) @@ -36,21 +33,16 @@ def run_imgep_evaluation(jax_platform_name: str, seed: int, n_perturbations: int # generate perturbation key, subkey = jrandom.split(key) - perturbations_params = perturbation_generator(subkey) + perturbations_params = perturbation_generator(subkey, experiment_system_output_library) if out_sanity_check: perturbation_generator.out_sanity_check(perturbations_params) # rollout system key, subkey = jrandom.split(key) - system_outputs = system_rollout(subkey, intervention_fn, intervention_params_library, perturbation_fn, perturbations_params) + system_outputs = system_rollout(subkey, intervention_fn, experiment_intervention_params_library, perturbation_fn, perturbations_params) if out_sanity_check: system_rollout.out_sanity_check(system_outputs) - # represent outputs -> goals - key, subkey = jrandom.split(key) - reached_goals_embeddings = goal_embedding_encoder(subkey, system_outputs) - if out_sanity_check: - goal_embedding_encoder.out_sanity_check(reached_goals_embeddings) # represent outputs -> other statistics key, subkey = jrandom.split(key) @@ -62,15 +54,14 @@ def run_imgep_evaluation(jax_platform_name: str, seed: int, n_perturbations: int # Append to history perturbations_params = jtu.tree_map(lambda val: val[:, jnp.newaxis], perturbations_params) system_outputs = jtu.tree_map(lambda val: val[:, jnp.newaxis], system_outputs) - reached_goals_embeddings = jtu.tree_map(lambda val: val[:, jnp.newaxis], reached_goals_embeddings) system_rollouts_statistics = jtu.tree_map(lambda val: val[:, jnp.newaxis], system_rollouts_statistics) history = history.update_node("perturbation_params_library", perturbations_params, merge_concatenate, axis=1) history = history.update_node("system_output_library", system_outputs, merge_concatenate, axis=1) - history = history.update_node("reached_goal_embedding_library", reached_goals_embeddings, merge_concatenate, axis=1) history = history.update_node("system_rollout_statistics_library", system_rollouts_statistics, merge_concatenate, axis=1) # Save history and modules history.save(os.path.join(save_folder, "evaluation_history.pickle"), overwrite=True) - eqx.tree_serialise_leaves(os.path.join(save_folder, "perturbation_generator.eqx"), perturbation_generator) - eqx.tree_serialise_leaves(os.path.join(save_folder, "perturbation_fn.eqx"), perturbation_fn) \ No newline at end of file + if save_modules: + eqx.tree_serialise_leaves(os.path.join(save_folder, "perturbation_generator.eqx"), perturbation_generator) + eqx.tree_serialise_leaves(os.path.join(save_folder, "perturbation_fn.eqx"), perturbation_fn) \ No newline at end of file diff --git a/autodiscjax/experiment_pipelines/imgep_experiment_pipeline.py b/autodiscjax/experiment_pipelines/imgep_experiment_pipeline.py index d2c918b..eb6bcb1 100644 --- a/autodiscjax/experiment_pipelines/imgep_experiment_pipeline.py +++ b/autodiscjax/experiment_pipelines/imgep_experiment_pipeline.py @@ -15,7 +15,7 @@ def run_imgep_experiment(jax_platform_name: str, seed: int, n_random_batches: in gc_intervention_optimizer: eqx.Module, goal_embedding_encoder: eqx.Module, goal_achievement_loss: eqx.Module, - out_sanity_check=True): + out_sanity_check=True, save_modules=False): # Set platform device jax.config.update("jax_platform_name", jax_platform_name) @@ -56,6 +56,7 @@ def run_imgep_experiment(jax_platform_name: str, seed: int, n_random_batches: in for iteration_idx in range(n_random_batches + n_imgep_batches): if iteration_idx < n_random_batches: + print("Generate random intervention") # generate random intervention key, subkey = jrandom.split(key) interventions_params = random_intervention_generator(subkey) @@ -70,12 +71,14 @@ def run_imgep_experiment(jax_platform_name: str, seed: int, n_random_batches: in else: # sample goal + print("Generate target goals") key, subkey = jrandom.split(key) - target_goals_embeddings = goal_generator(subkey, history.reached_goal_embedding_library, history.system_rollout_statistics_library) + target_goals_embeddings = goal_generator(subkey, history.target_goal_embedding_library, history.reached_goal_embedding_library, history.system_rollout_statistics_library) if out_sanity_check: goal_generator.out_sanity_check(target_goals_embeddings) # goal-conditioned selection of source intervention from history + print("Select closes intervention") key, subkey = jrandom.split(key) source_interventions_ids = gc_intervention_selector(subkey, target_goals_embeddings, history.reached_goal_embedding_library, history.system_rollout_statistics_library) if out_sanity_check: @@ -83,30 +86,35 @@ def run_imgep_experiment(jax_platform_name: str, seed: int, n_random_batches: in interventions_params = jtu.tree_map(lambda x: x[source_interventions_ids], history.intervention_params_library) # goal-conditioned optimization of source intervention + print("Optimize the selected intervention") key, subkey = jrandom.split(key) interventions_params = gc_intervention_optimizer(subkey, intervention_fn, interventions_params, system_rollout, goal_embedding_encoder, goal_achievement_loss, target_goals_embeddings) if out_sanity_check: gc_intervention_optimizer.out_sanity_check(interventions_params) # generate perturbation + print("Generate the perturbation") key, subkey = jrandom.split(key) perturbations_params = perturbation_generator(subkey) if out_sanity_check: perturbation_generator.out_sanity_check(perturbations_params) # rollout system + print("Rollout the system") key, subkey = jrandom.split(key) system_outputs = system_rollout(subkey, intervention_fn, interventions_params, perturbation_fn, perturbations_params) if out_sanity_check: system_rollout.out_sanity_check(system_outputs) # represent outputs -> goals + print("Encode the goal") key, subkey = jrandom.split(key) reached_goals_embeddings = goal_embedding_encoder(subkey, system_outputs) if out_sanity_check: goal_embedding_encoder.out_sanity_check(reached_goals_embeddings) # represent outputs -> other statistics + print("Encode the rollout statistics") key, subkey = jrandom.split(key) system_rollouts_statistics = rollout_statistics_encoder(subkey, system_outputs) if out_sanity_check: @@ -125,14 +133,15 @@ def run_imgep_experiment(jax_platform_name: str, seed: int, n_random_batches: in # Save history and modules history.save(os.path.join(save_folder, "experiment_history.pickle"), overwrite=True) - eqx.tree_serialise_leaves(os.path.join(save_folder, "random_intervention_generator.eqx"), random_intervention_generator) - eqx.tree_serialise_leaves(os.path.join(save_folder, "intervention_fn.eqx"), intervention_fn) - eqx.tree_serialise_leaves(os.path.join(save_folder, "perturbation_generator.eqx"), perturbation_generator) - eqx.tree_serialise_leaves(os.path.join(save_folder, "perturbation_fn.eqx"), perturbation_fn) - eqx.tree_serialise_leaves(os.path.join(save_folder, "system_rollout.eqx"), system_rollout) - eqx.tree_serialise_leaves(os.path.join(save_folder, "rollout_statistics_encoder.eqx"), rollout_statistics_encoder) - eqx.tree_serialise_leaves(os.path.join(save_folder, "goal_generator.eqx"), goal_generator) - eqx.tree_serialise_leaves(os.path.join(save_folder, "gc_intervention_selector.eqx"), gc_intervention_selector) - eqx.tree_serialise_leaves(os.path.join(save_folder, "gc_intervention_optimizer.eqx"), gc_intervention_optimizer) - eqx.tree_serialise_leaves(os.path.join(save_folder, "goal_embedding_encoder.eqx"), goal_embedding_encoder) - eqx.tree_serialise_leaves(os.path.join(save_folder, "goal_achievement_loss.eqx"), goal_achievement_loss) \ No newline at end of file + if save_modules: + eqx.tree_serialise_leaves(os.path.join(save_folder, "random_intervention_generator.eqx"), random_intervention_generator) + eqx.tree_serialise_leaves(os.path.join(save_folder, "intervention_fn.eqx"), intervention_fn) + eqx.tree_serialise_leaves(os.path.join(save_folder, "perturbation_generator.eqx"), perturbation_generator) + eqx.tree_serialise_leaves(os.path.join(save_folder, "perturbation_fn.eqx"), perturbation_fn) + eqx.tree_serialise_leaves(os.path.join(save_folder, "system_rollout.eqx"), system_rollout) + eqx.tree_serialise_leaves(os.path.join(save_folder, "rollout_statistics_encoder.eqx"), rollout_statistics_encoder) + eqx.tree_serialise_leaves(os.path.join(save_folder, "goal_generator.eqx"), goal_generator) + eqx.tree_serialise_leaves(os.path.join(save_folder, "gc_intervention_selector.eqx"), gc_intervention_selector) + eqx.tree_serialise_leaves(os.path.join(save_folder, "gc_intervention_optimizer.eqx"), gc_intervention_optimizer) + eqx.tree_serialise_leaves(os.path.join(save_folder, "goal_embedding_encoder.eqx"), goal_embedding_encoder) + eqx.tree_serialise_leaves(os.path.join(save_folder, "goal_achievement_loss.eqx"), goal_achievement_loss) \ No newline at end of file diff --git a/autodiscjax/modules/__init__.py b/autodiscjax/modules/__init__.py index e69de29..0b21d44 100644 --- a/autodiscjax/modules/__init__.py +++ b/autodiscjax/modules/__init__.py @@ -0,0 +1,3 @@ +import autodiscjax.modules.optimizers +import autodiscjax.modules.imgepwrappers +import autodiscjax.modules.grnwrappers \ No newline at end of file diff --git a/autodiscjax/modules/grnwrappers.py b/autodiscjax/modules/grnwrappers.py index cef6f8e..ce1f359 100644 --- a/autodiscjax/modules/grnwrappers.py +++ b/autodiscjax/modules/grnwrappers.py @@ -1,18 +1,86 @@ -from autodiscjax import DictTree +import autodiscjax as adx from autodiscjax.modules.imgepwrappers import BaseSystemRollout, BaseRolloutStatisticsEncoder -from autodiscjax.utils.misc import filter_update, hardplus +from autodiscjax.utils.misc import filter_update, hardplus, normal from autodiscjax.utils import timeseries import equinox as eqx +import exputils.data.logging as log from jax import jit, lax, vmap import jax.numpy as jnp import jax.random as jrandom import jax.tree_util as jtu from jaxtyping import PyTree, Array +import time from typing import Callable, Sequence + +class BasePerturbationGenerator(adx.Module): + @jit + def __call__(self, key, system_outputs_library): + raise NotImplementedError + +class NoisePerturbationGenerator(adx.Module): + """ + out_treedef: out_params.y[idx] = Array for idx in perturbed node ids + out_shape: Array of shape (batch_size, len(time_intervals)) + """ + std: float = 0.1 + normal_fn: Callable + + def __init__(self, out_treedef, out_shape, out_dtype, std): + super().__init__(out_treedef, out_shape, out_dtype) + self.std = std + zero_mean = jtu.tree_map(lambda shape, dtype: jnp.zeros(shape=shape, dtype=dtype), self.out_shape, self.out_dtype, is_leaf=lambda node: isinstance(node, tuple)) + self.normal_fn = jit(jtu.Partial(normal, mean=zero_mean, out_treedef=self.out_treedef, out_shape=self.out_shape, out_dtype=self.out_dtype)) + + + def __call__(self, key, system_outputs_library): + + std = jtu.tree_map(lambda shape, dtype: self.std*jnp.ones(shape=shape, dtype=dtype), self.out_shape, + self.out_dtype, is_leaf=lambda node: isinstance(node, tuple)) + for y_idx, out_shape in self.out_shape.y.items(): + yranges = (system_outputs_library.ys[..., y_idx, :].max(-1) - system_outputs_library.ys[..., y_idx, :].min(-1))[..., jnp.newaxis] #shape(batch_size, 1) + std.y[y_idx] = std.y[y_idx] * yranges + + return self.normal_fn(key, std=std) + +class WallPerturbationGenerator(adx.Module): + """ + out_treedef: out_params.y[idx] = Array for idx in [node1, node2] where wall is defined + out_shape: Array of shape (batch_size, n_walls, 2, len(time_intervals)) + """ + walls_target_intersection_steps: Sequence[int] + walls_length: Array + + def __init__(self, out_treedef, out_shape, out_dtype, walls_target_intersection_steps, walls_length): + super().__init__(out_treedef, out_shape, out_dtype) + assert len(self.out_shape.y.keys()) == 2 # wall is defined on two nodes + out_shape = jtu.tree_flatten(self.out_shape, is_leaf=lambda node: isinstance(node, tuple))[0][0] + assert out_shape[1] == len(walls_target_intersection_steps) == len(walls_length) # n_walls + + self.walls_target_intersection_steps = walls_target_intersection_steps + self.walls_length = walls_length + + + @jit + def __call__(self, key, system_outputs_library): + out_params = jtu.tree_map(lambda shape, dtype: jnp.empty(shape=shape, dtype=dtype), self.out_shape, + self.out_dtype, is_leaf=lambda node: isinstance(node, tuple)) + out_shape = jtu.tree_flatten(self.out_shape, is_leaf=lambda node: isinstance(node, tuple))[0][0] + + target_node_idx, other_node_idx = out_params.y.keys() + walls_target_centers = system_outputs_library.ys[..., target_node_idx, self.walls_target_intersection_steps] + walls_other_centers = system_outputs_library.ys[..., other_node_idx, self.walls_target_intersection_steps] + walls_length = self.walls_length * (system_outputs_library.ys[..., other_node_idx, :].max(-1) - system_outputs_library.ys[..., other_node_idx, :].min(-1))[..., jnp.newaxis] + out_params.y[target_node_idx] = jnp.repeat(walls_target_centers[..., jnp.newaxis, jnp.newaxis], 2, 2) + out_params.y[other_node_idx] = jnp.stack([walls_other_centers - walls_length / 2., + walls_other_centers + walls_length / 2.], axis=-1).reshape(out_shape) * \ + jnp.ones(out_shape) + + return out_params + class NullIntervention(eqx.Module): @jit - def __call__(self, key, y, w, c, t, intervention_params): + def __call__(self, key, y, y_, w, w_, c, c_, t_, intervention_params): return y, w, c class TimeToInterval(eqx.Module): @@ -37,15 +105,15 @@ def __init__(self, time_to_interval_fn): self.null_intervention = NullIntervention() @jit - def __call__(self, key, y, w, c, t, intervention_params): + def __call__(self, key, y, y_, w, w_, c, c_, t_, intervention_params): """ If time_to_interval_fn(t) returns -1, apply NullIntervention else apply intervention on corresponding interval """ - interval_idx = self.time_to_interval_fn(t) - return lax.cond(interval_idx.sum() >= 0, self.apply, self.null_intervention, key, y, w, c, interval_idx, intervention_params) + interval_idx = self.time_to_interval_fn(t_) + return lax.cond(interval_idx.sum() >= 0, self.apply, self.null_intervention, key, y, y_, w, w_, c, c_, interval_idx, intervention_params) @jit - def apply(self, key, y, w, c, interval_idx, intervention_params): + def apply(self, key, y, y_, w, w_, c, c_, interval_idx, intervention_params): raise NotImplementedError @@ -55,7 +123,7 @@ class PiecewiseSetConstantIntervention(PiecewiseIntervention): """ @jit - def apply(self, key, y, w, c, interval_idx, intervention_params): + def apply(self, key, y, y_, w, w_, c, c_, interval_idx, intervention_params): for y_idx, new_val in intervention_params.y.items(): y = y.at[..., y_idx].set(hardplus(new_val[..., interval_idx])) for w_idx, new_val in intervention_params.w.items(): @@ -67,7 +135,7 @@ def apply(self, key, y, w, c, interval_idx, intervention_params): class PiecewiseAddConstantIntervention(PiecewiseIntervention): @jit - def apply(self, key, y, w, c, interval_idx, intervention_params): + def apply(self, key, y, y_, w, w_, c, c_, interval_idx, intervention_params): for y_idx, new_val in intervention_params.y.items(): y = y.at[..., y_idx].add(new_val[..., interval_idx]) for w_idx, new_val in intervention_params.w.items(): @@ -78,6 +146,47 @@ def apply(self, key, y, w, c, interval_idx, intervention_params): y = jnp.maximum(y, 0.0) return y, w, c +class PiecewiseWallCollisionIntervention(PiecewiseIntervention): + collision_fn: Callable + + def __init__(self, time_to_interval_fn, collision_fn): + super().__init__(time_to_interval_fn) + self.collision_fn = collision_fn + + @jit + def apply(self, key, y, y_, w, w_, c, c_, interval_idx, intervention_params): + """ + The walls are described by + - a start point w_: intervention_params.y[*][:, wall_idx, 0, interval_idx] + - a end point w: intervention_params.y[*][:, wall_idx, 1, interval_idx] + The grn trajectory is described by its start point: y_[*] and its end point: y[*] + If there is an intersection between the grn trajectory and the wall, we replace y by the intersection point. + If they are several walls, the closest intersection point is selected. + """ + + wall_dim = len(intervention_params.y.keys()) + if wall_dim != 2: + raise NotImplementedError + wall_params_shape = jtu.tree_leaves(intervention_params)[0].shape #..., n_walls, 2, len(intervals) + n_walls = wall_params_shape[-3] + assert wall_params_shape[-2] == 2 #start and end point + walls = jnp.empty(wall_params_shape[:-3]+(n_walls, 2, wall_dim)) + grn_traj = jnp.empty(wall_params_shape[:-3]+(2, wall_dim)) + for rel_idx, (y_idx, wall_val) in enumerate(intervention_params.y.items()): + walls = walls.at[..., rel_idx].set(wall_val[..., interval_idx]) + grn_traj = grn_traj.at[..., 0, rel_idx].set(y_[..., y_idx]) + grn_traj = grn_traj.at[..., 1, rel_idx].set(y[..., y_idx]) + + t_collisions, p_after_collisions = self.collision_fn(grn_traj[..., 0, :], grn_traj[..., 1, :], walls[..., 0, :], walls[..., 1, :]) + closest_intersection_idx = jnp.nanargmin(t_collisions, axis=-1) + closest_intersection_idx = closest_intersection_idx.reshape(closest_intersection_idx.shape + (1, 1)) + new_y = jnp.take_along_axis(p_after_collisions, closest_intersection_idx, axis=-2).squeeze() + y = y.at[..., list(intervention_params.y.keys())].set(new_y) + + if "w" in intervention_params.keys() or "c" in intervention_params.keys(): + raise NotImplementedError + + return y, w, c class GRNRollout(BaseSystemRollout): n_steps: int = eqx.static_field() @@ -93,21 +202,23 @@ class GRNRollout(BaseSystemRollout): def __init__(self, n_steps, y0, w0, c, t0, deltaT, grn_step): self.n_steps = n_steps - self.y0 = y0 + self.y0 = jnp.maximum(y0, 0.0) self.w0 = w0 self.c = c self.t0 = t0 self.deltaT = deltaT vmap_axes = (0 if y0.ndim == 2 else None, 0 if w0.ndim == 2 else None, 0 if c.ndim == 2 else None, None, None) - self.grn_step = vmap(grn_step, in_axes=vmap_axes, out_axes=vmap_axes[:-1]) - + if 0 in vmap_axes: + self.grn_step = vmap(grn_step, in_axes=vmap_axes, out_axes=vmap_axes[:-1]) + else: + self.grn_step = grn_step - out_shape = DictTree() - out_shape.y = self.y0.shape + (n_steps, ) - out_shape.w = self.w0.shape + (n_steps, ) - out_shape.c = self.c.shape + (n_steps,) - out_shape.times = (n_steps, ) + out_shape = adx.DictTree() + out_shape.ys = self.y0.shape + (n_steps, ) + out_shape.ws = self.w0.shape + (n_steps, ) + out_shape.cs = self.c.shape + (n_steps,) + out_shape.ts = (n_steps, ) out_treedef = jtu.tree_structure(out_shape, is_leaf=lambda node: isinstance(node, tuple)) @@ -124,33 +235,38 @@ def __call__(self, key, if perturbation_fn is None: perturbation_fn = NullIntervention() + rollout_start = time.time() + @jit def f(carry, x): - (key, y, w, c, t) = carry + (key, y_, w_, c_, t_) = carry # make grn step - y, w, c, t = self.grn_step(y, w, c, t, self.deltaT) + y, w, c, t = self.grn_step(y_, w_, c_, t_, self.deltaT) # apply intervention key, subkey = jrandom.split(key) - y, w, c = intervention_fn(key, y, w, c, t, intervention_params) + y, w, c = intervention_fn(key, y, y_, w, w_, c, c_, t_, intervention_params) # apply perturbation key, subkey = jrandom.split(key) - y, w, c = perturbation_fn(key, y, w, c, t, perturbation_params) + y, w, c = perturbation_fn(key, y, y_, w, w_, c, c_, t_, perturbation_params) - return (key, y, w, c, t), (y, w, c) + return (key, y, w, c, t), (y, w, c, t) - (key, y, w, c, t), (ys, ws, cs) = lax.scan(f, (key, self.y0, self.w0, self.c, self.t0), jnp.arange(self.n_steps)) + (key, y, w, c, t), (ys, ws, cs, ts) = lax.scan(f, (key, self.y0, self.w0, self.c, self.t0), jnp.arange(self.n_steps)) ys = jnp.moveaxis(ys, 0, -1) ws = jnp.moveaxis(ws, 0, -1) cs = jnp.moveaxis(cs, 0, -1) + + rollout_end = time.time() + log.add_value('system_rollout_time', rollout_end-rollout_start) - outputs = DictTree() - outputs.y = ys - outputs.w = ws - outputs.c = cs - outputs.times = jnp.arange(0, 0 + self.n_steps * self.deltaT, self.deltaT) + outputs = adx.DictTree() + outputs.ys = ys + outputs.ws = ws + outputs.cs = cs + outputs.ts = ts return outputs @@ -161,7 +277,7 @@ class GRNRolloutStatisticsEncoder(BaseRolloutStatisticsEncoder): def __init__(self, y_shape, time_window=jnp.r_[-100:0], is_stable_std_epsilon=1e-2, is_converging_filter_size=50, is_periodic_max_frequency_threshold=40, deltaT=0.1 ): - out_shape = DictTree() + out_shape = adx.DictTree() out_shape.mean_vals = y_shape[:-1] out_shape.std_vals = y_shape[:-1] out_shape.amplitude_vals = y_shape[:-1] @@ -178,7 +294,7 @@ def __init__(self, y_shape, time_window=jnp.r_[-100:0], is_stable_std_epsilon=1e super().__init__(out_treedef=out_treedef, out_shape=out_shape, out_dtype=out_dtype) - self.filter_fn = jit(jtu.Partial(lambda system_outputs: system_outputs.y)) + self.filter_fn = jit(jtu.Partial(lambda system_outputs: system_outputs.ys)) self.update_fn = jit(jtu.Partial(self.calc_statistics, time_window=time_window, is_stable_std_epsilon=is_stable_std_epsilon, is_converging_filter_size=is_converging_filter_size, diff --git a/autodiscjax/modules/imgepwrappers.py b/autodiscjax/modules/imgepwrappers.py index 3bd91fe..a251693 100644 --- a/autodiscjax/modules/imgepwrappers.py +++ b/autodiscjax/modules/imgepwrappers.py @@ -2,34 +2,49 @@ from autodiscjax.modules.optimizers import BaseOptimizer from autodiscjax.utils.misc import filter, nearest_neighbors, normal, uniform import equinox as eqx +import exputils.data.logging as log from functools import partial -from jax import jit, vmap, value_and_grad +from jax import jit, lax, value_and_grad, vmap import jax.tree_util as jtu import jax.numpy as jnp import jax.random as jrandom +from jaxtyping import PyTree from typing import Callable class BaseGenerator(adx.Module): + low: PyTree = None + high: PyTree = None + @jit def __call__(self, key): raise NotImplementedError + @jit + def clamp(self, out_pytree, is_leaf=None): + return jtu.tree_map(lambda val, low, high: jnp.minimum(jnp.maximum(val, low), high), out_pytree, self.low, + self.high, is_leaf=is_leaf) + +class EmptyArrayGenerator(adx.Module): + @jit + def __call__(self, key): + return jtu.tree_map(lambda shape, dtype: jnp.empty(shape=shape, dtype=dtype), self.out_shape, self.out_dtype, + is_leaf=lambda node: isinstance(node, tuple)) + class UniformRandomGenerator(BaseGenerator): uniform_fn: Callable def __init__(self, out_treedef, out_shape, out_dtype, low, high): - super().__init__(out_treedef, out_shape, out_dtype) + super().__init__(out_treedef, out_shape, out_dtype, low, high) self.uniform_fn = jit(jtu.Partial(uniform, low=low, high=high, out_treedef=self.out_treedef, out_shape=self.out_shape, out_dtype=self.out_dtype)) def __call__(self, key): return self.uniform_fn(key) - class NormalRandomGenerator(BaseGenerator): normal_fn: Callable - def __init__(self, out_treedef, out_shape, out_dtype, mean, std): - super().__init__(out_treedef, out_shape, out_dtype) + def __init__(self, out_treedef, out_shape, out_dtype, mean, std, low=None, high=None): + super().__init__(out_treedef, out_shape, out_dtype, low, high) self.normal_fn = jit(jtu.Partial(normal, mean=mean, std=std, out_treedef=self.out_treedef, out_shape=self.out_shape, out_dtype=self.out_dtype)) def __call__(self, key): @@ -79,13 +94,13 @@ def __call__(self, key, target_goal_embedding_library, reached_goal_embedding_li class BaseIM(eqx.Module): @jit - def __call__(self, target_goal_embedding_library, reached_goal_embedding_library, batch_size): + def __call__(self, key, target_goal_embedding_library, reached_goal_embedding_library, batch_size): raise NotImplementedError class LearningProgressIM(BaseIM): @partial(jit, static_argnames=("batch_size", )) - def __call__(self, target_goal_embedding_library, reached_goal_embedding_library, batch_size): - target_goals = jtu.tree_map(lambda node: node[-batch_size:], target_goal_embedding_library), + def __call__(self, key, target_goal_embedding_library, reached_goal_embedding_library, batch_size): + target_goals = jtu.tree_map(lambda node: node[-batch_size:], target_goal_embedding_library) reached_goals = jtu.tree_map(lambda node: node[-batch_size:], reached_goal_embedding_library) previously_reached_goals = jtu.tree_map(lambda node: node[:-batch_size], reached_goal_embedding_library) @@ -96,13 +111,19 @@ def __call__(self, target_goal_embedding_library, reached_goal_embedding_library previously_reached_goals_flat, previously_reached_goals_treedef = jtu.tree_flatten(previously_reached_goals) previously_reached_goals_flat = jnp.concatenate(previously_reached_goals_flat, axis=-1) - closest_intervention_ids, distances = nearest_neighbors(target_goals_flat, previously_reached_goals_flat, k=1) - previously_closest_goals_flat = previously_reached_goals_flat[closest_intervention_ids.squeeze()] + if len(previously_reached_goals_flat) > 0: + closest_intervention_ids, distances = nearest_neighbors(target_goals_flat, previously_reached_goals_flat, + k=min(len(previously_reached_goals_flat), 1)) + previously_closest_goals_flat = previously_reached_goals_flat[closest_intervention_ids.squeeze()] + + def LP(goal_points, starting_points, reached_points): + return jnp.sqrt(jnp.square(goal_points - starting_points).sum(-1)) - jnp.sqrt(jnp.square(goal_points - reached_points).sum(-1)) - def LP(goal_points, starting_points, reached_points): - return jnp.square(goal_points - starting_points).sum(-1) - jnp.square(goal_points - reached_points).sum(-1) + IM_vals, IM_grads = vmap(value_and_grad(LP, 0), in_axes=(0, 0, 0))(target_goals_flat, previously_closest_goals_flat, reached_goals_flat) - IM_vals, IM_grads = vmap(value_and_grad(LP, 0), in_axes=(0, 0, 0))(target_goals_flat, previously_closest_goals_flat, reached_goals_flat) + else: + IM_vals = jnp.zeros(shape=(batch_size, ), dtype=jnp.float32) + IM_grads = jrandom.uniform(key, shape=reached_goals_flat.shape, dtype=reached_goals_flat.dtype) return IM_vals, IM_grads @@ -139,7 +160,12 @@ def __call__(self, key, target_goal_embedding_library, reached_goal_embedding_li # Select goals with highest IM, duplicate them, and flow them along IM_grad (with some flow noise) selected_popsize = int(batch_size * self.selected_popsize) - IM_vals, IM_grads = self.IM_fn(target_goal_embedding_library, reached_goal_embedding_library, batch_size) + + key, subkey = jrandom.split(key) + IM_vals, IM_grads = self.IM_fn(subkey, target_goal_embedding_library, reached_goal_embedding_library, batch_size) + log.add_value('IM_vals', IM_vals) + log.add_value('IM_grads', IM_grads) + selected_pop_ids = jnp.argsort(IM_vals)[-selected_popsize:] n_repeats = (batch_size - random_popsize) // selected_popsize n_add = (batch_size - random_popsize) - n_repeats * selected_popsize @@ -149,7 +175,7 @@ def __call__(self, key, target_goal_embedding_library, reached_goal_embedding_li grad_updates = self.IM_grad_scaling * IM_grads[flowed_pop_ids] grad_updates_flat, _ = jtu.tree_flatten(grad_updates) grad_updates = self.out_treedef.unflatten(grad_updates_flat) - grad_updates = jtu.tree_map(lambda gu, min, max: gu*(max-min), grad_updates, library_min, library_max) + #grad_updates = jtu.tree_map(lambda gu, min, max: gu*(max-min), grad_updates, library_min, library_max) key, subkey = jrandom.split(key) noise_std = jtu.tree_map(lambda min, max: self.flow_noise*(max-min), library_min, library_max) zero_mean = jtu.tree_map(lambda sig: jnp.zeros_like(sig), noise_std) @@ -189,19 +215,19 @@ def __call__(self, key, target_goals_embeddings, reached_goal_embedding_library, class BaseGoalAchievementLoss(eqx.Module): @jit - def __call(self, reached_goals_embeddings, target_goals_embeddings): + def __call__(self, reached_goals_embeddings, target_goals_embeddings): raise NotImplementedError class L2GoalAchievementLoss(BaseGoalAchievementLoss): @jit - def __call(self, reached_goals_embeddings, target_goals_embeddings): + def __call__(self, reached_goals_embeddings, target_goals_embeddings): return jnp.square(reached_goals_embeddings - target_goals_embeddings).sum() class BaseGCInterventionOptimizer(adx.Module): optimizer: BaseOptimizer - @jit def __call__(self, key, intervention_fn, interventions_params, system_rollout, goal_embedding_encoder, goal_achievement_loss, target_goals_embeddings): + @jit def loss_fn(key, params): key, subkey = jrandom.split(key) diff --git a/autodiscjax/modules/optimizers.py b/autodiscjax/modules/optimizers.py index 45c15f1..51fd84e 100644 --- a/autodiscjax/modules/optimizers.py +++ b/autodiscjax/modules/optimizers.py @@ -1,16 +1,27 @@ from autodiscjax import DictTree from autodiscjax.utils.misc import normal import equinox as eqx +import exputils.data.logging as log from jax import jit, value_and_grad, vmap import jax.numpy as jnp import jax.random as jrandom import jax.tree_util as jtu +from jaxtyping import PyTree import optax +import time class BaseOptimizer(eqx.Module): + low: PyTree + high: PyTree + def __call__(self, key, params, loss_fn): raise NotImplementedError + @eqx.filter_jit + def clamp(self, out_pytree, is_leaf=None): + return jtu.tree_map(lambda val, low, high: jnp.minimum(jnp.maximum(val, low), high), out_pytree, self.low, + self.high, is_leaf=is_leaf) + class EAOptimizer(BaseOptimizer): """ @@ -25,6 +36,7 @@ def __call__(self, key, params, loss_fn): loss_fn = vmap(jit(loss_fn)) for optim_step_idx in range(self.n_optim_steps): + step_start = time.time() # random mutations zero_mean = jtu.tree_map(lambda p: jnp.zeros_like(p), params) out_treedef = jtu.tree_structure(params) @@ -40,10 +52,18 @@ def __call__(self, key, params, loss_fn): key, subkeys = subkeys[0], subkeys[1:] losses = loss_fn(subkeys, worker_params) losses_flat, _ = jtu.tree_flatten(losses) #shape (n_workers, ) - losses_flat = jnp.concatenate(losses_flat) # Select best worker - params = worker_params[losses_flat.argmin()] + best_worker_idx = jnp.concatenate(losses_flat).argmin() + params = jtu.tree_map(lambda p: p[best_worker_idx], worker_params) + + # Clamp params + params = self.clamp(params) + + step_end = time.time() + + log.add_value('optim_step_loss', losses_flat) + log.add_value('optim_step_time', step_end-step_start) return params @@ -52,7 +72,8 @@ class SGDOptimizer(BaseOptimizer): n_optim_steps: int = eqx.static_field() optimizer: optax._src.base.GradientTransformation - def __init__(self, n_optim_steps, lr): + def __init__(self, low, high, n_optim_steps, lr): + super().__init__(low, high) self.n_optim_steps = n_optim_steps lr_flat, lr_treedef = jtu.tree_flatten(lr) leaves_ids = list(range(lr_treedef.num_leaves)) @@ -73,7 +94,6 @@ def value_and_grad(self, key, params, loss_fn): def __call__(self, key, params, loss_fn): # TODO: # remove the DictTree to dict conversion if addict issue mewwts/addict#150 gets solved - # log train loss and optim step time # scan loop if isinstance(params, DictTree): @@ -86,9 +106,13 @@ def __call__(self, key, params, loss_fn): for optim_step_idx in range(self.n_optim_steps): + step_start = time.time() + key, subkey = jrandom.split(key) if is_params_dictree: params = DictTree(params) + # Clamp params + params = self.clamp(params) loss, grads = self.value_and_grad(subkey, params, jit(loss_fn)) if is_params_dictree: @@ -97,8 +121,13 @@ def __call__(self, key, params, loss_fn): updates, opt_state = self.optimizer.update(grads, opt_state) params = optax.apply_updates(params, updates) + step_end = time.time() + log.add_value('optim_step_loss', loss) + log.add_value('optim_step_time', step_end - step_start) + if is_params_dictree: params = DictTree(params) + params = self.clamp(params) return params diff --git a/examples/analysis.ipynb b/examples/analysis.ipynb deleted file mode 100644 index bf83688..0000000 --- a/examples/analysis.ipynb +++ /dev/null @@ -1,361 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": 1, - "id": "1d7b7282-f3b3-4d09-86ac-33b2bb5c618e", - "metadata": {}, - "outputs": [], - "source": [ - "import jax.numpy as jnp\n", - "import plotly.graph_objects as go\n", - "from autodiscjax import DictTree" - ] - }, - { - "cell_type": "markdown", - "id": "15fb43c5-6c39-46ac-99f5-693d30012485", - "metadata": {}, - "source": [ - "# Utils" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "id": "9cab7ce4-6e21-4f3d-897f-157fdadfa3ce", - "metadata": {}, - "outputs": [], - "source": [ - "layout = dict(\n", - " title=\"IMGEP Discoveries\",\n", - " font=dict(\n", - " size=12,\n", - " ),\n", - " plot_bgcolor=\"white\",\n", - " margin=dict(t=30, l=30, r=30, b=30),\n", - " width=600,\n", - " height=500,\n", - " xaxis=dict(\n", - " title=\"Observed Node 0\",\n", - " # range=[0, 30],\n", - " linecolor=\"#d9d9d9\",\n", - " showgrid=False,\n", - " # mirror=True,\n", - " ),\n", - " yaxis=dict(\n", - " title=\"Observed Node 1\",\n", - " # range=[0, 30],\n", - " linecolor=\"#d9d9d9\",\n", - " showgrid=False,\n", - " # mirror=True,\n", - " ),\n", - " showlegend=True,\n", - ")" - ] - }, - { - "cell_type": "markdown", - "id": "4d2dcbe8-cfa6-4f4e-974b-83eafc66a16e", - "metadata": {}, - "source": [ - "# Load History and experiment hyperparameters" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "id": "82d8bd9d-e4f8-4b57-ab8e-d56888077f04", - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "WARNING:absl:No GPU/TPU found, falling back to CPU. (Set TF_CPP_MIN_LOG_LEVEL=0 and rerun for more info.)\n" - ] - } - ], - "source": [ - "experiment_history_filepath = \"experiment_data/experiment_history.pickle\"\n", - "experiment_history = DictTree.load(experiment_history_filepath)\n", - "evaluation_history_filepath = \"evaluation_data/evaluation_history.pickle\"\n", - "evaluation_history = DictTree.load(evaluation_history_filepath)" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "id": "8bbdf28e-31e6-4338-8af5-70c6653bfa87", - "metadata": {}, - "outputs": [], - "source": [ - "n_imgep_steps = 4\n", - "batch_size = 100\n", - "n_perturbations = 50" - ] - }, - { - "cell_type": "markdown", - "id": "0c2e5a4c-5189-49dd-a955-45bace1f1642", - "metadata": {}, - "source": [ - "# Visualize the IMGEP discoveries" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "id": "02dc5a28-50bf-4650-a5a4-cb16f0f11845", - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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" - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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" - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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" - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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" - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "for imgep_step_idx in range(1, n_imgep_steps + 1):\n", - "\n", - " starting_points = experiment_history.reached_goal_embedding_library[\n", - " : imgep_step_idx * batch_size\n", - " ]\n", - " target_goal_points = experiment_history.target_goal_embedding_library[\n", - " imgep_step_idx * batch_size : (imgep_step_idx + 1) * batch_size\n", - " ]\n", - " selected_starting_points = experiment_history.reached_goal_embedding_library[\n", - " experiment_history.source_intervention_library[\n", - " imgep_step_idx * batch_size : (imgep_step_idx + 1) * batch_size\n", - " ]\n", - " ]\n", - " reached_points = experiment_history.reached_goal_embedding_library[\n", - " imgep_step_idx * batch_size : (imgep_step_idx + 1) * batch_size\n", - " ]\n", - "\n", - " init_pool = go.Scatter(\n", - " x=starting_points[:, 0],\n", - " y=starting_points[:, 1],\n", - " text=list(range(imgep_step_idx * batch_size)),\n", - " mode=\"markers\",\n", - " marker=dict(color=\"blue\", size=8),\n", - " name=\"init pool\",\n", - " )\n", - "\n", - " target_goals = go.Scatter(\n", - " x=target_goal_points[:, 0],\n", - " y=target_goal_points[:, 1],\n", - " text=list(\n", - " range(imgep_step_idx * batch_size, (imgep_step_idx + 1) * batch_size)\n", - " ),\n", - " mode=\"markers\",\n", - " marker=dict(color=\"orange\", size=8),\n", - " name=\"target goals\",\n", - " )\n", - "\n", - " reached_goals = go.Scatter(\n", - " x=reached_points[:, 0],\n", - " y=reached_points[:, 1],\n", - " text=list(\n", - " range(imgep_step_idx * batch_size, (imgep_step_idx + 1) * batch_size)\n", - " ),\n", - " mode=\"markers\",\n", - " marker=dict(color=\"green\", size=8),\n", - " name=\"reached goals\",\n", - " )\n", - "\n", - " arrows = [\n", - " go.layout.Annotation(\n", - " dict(\n", - " x=x,\n", - " y=y,\n", - " xref=\"x\",\n", - " yref=\"y\",\n", - " text=\"\",\n", - " showarrow=True,\n", - " axref=\"x\",\n", - " ayref=\"y\",\n", - " ax=ax,\n", - " ay=ay,\n", - " arrowhead=3,\n", - " arrowwidth=0.5,\n", - " arrowcolor=\"black\",\n", - " )\n", - " )\n", - " for (x, y, ax, ay) in zip(\n", - " reached_points[:, 0],\n", - " reached_points[:, 1],\n", - " selected_starting_points[:, 0],\n", - " selected_starting_points[:, 1],\n", - " )\n", - " ]\n", - "\n", - " layout[\"title\"] = f\"IMGEP STEP {imgep_step_idx}\"\n", - " layout[\"annotations\"] = arrows\n", - " fig = go.Figure(data=[init_pool, target_goals, reached_goals], layout=layout)\n", - " fig.show(\"png\")" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "id": "2fb5665e-1566-4711-a527-578c33b24121", - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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iIAIiICTCUhgSWA5eUmpOxEQAREQAREQAQksCSx9CkRABERABERABJxMQAJLAsvJS0rdiYAIiIAIiIAISGBJYOlTIAIiIAIiIAIi4GQCElgSWE5eUupOBERABERABERAAksCS58CERABERABERABJxOQwJLAcvKSUnciIAIiIAIiIAISWEyPuUoAACAASURBVBJY+hSIgAiIgAiIgAg4mYAElgSWk5eUuhMBERABERABEZDACgaB9fTpU6xbtw4HDhzAhAkTUKFCBWTPnh1FixZFggQJtOpEQAREQAREQAQ8nIAEVjAIrBkzZuD8+fNm6VgCK378+IgUKRJat25tflcTAREQAREQARHwXAISWE4WWNeuXcOkSZNsK8ZeYPGLefPmRb58+Tx3RWlmIiACIiACIiACkMByssA6d+4cZs6c6VBgMVVYrFgxLT0REAEREAEREAEPJiCBFcwCa9CgQahSpQqSJ09ulpEiWB78adLUREAEREAEROB/BCSwnCyw7t69izFjxhi8/PO4ceOQNWtWFC9e3HyNhe45cuTQAhQBERABERABEfBgAhJYThZYXCtr167F7t27wXTh4sWLjbhKly4dYsSIgTZt2njwctLUREAEREAEREAESEACKxgEFsHu2rULx44dM4KqWbNmyJMnjylu1w5CffBEQAREQAREwPMJSGAFk8Cylk7ChAmxaNEi5MyZ0/NXk2YoAiIgAiIgAiJgCEhgSWDpoyACIiACIiACIuBkAhJYElhOXlLqTgREQAREQAREwG0E1vJ1OzBt3mqsmDHA9taePH2OboOn4MCRU7h77yE+T5YQ7ZtURo6vvzTXLF2zHSs37MS0kR0dvukTElj6FIiACIiACIiACDiZgMsLrBu37qJ264G4c+8hPokby5vAoqjymr0CZYvlQrw4MY2gmjR7BTYvHo1oUSO7vMDiLsMwYcLAOkbHye9W3YmACIiACIiACIQSAZcXWBaXLX8ewMjJi7wJLJ/MXr56hYwF62PxlD5ImzKZL4E1wmsh9hw8hukjOyJK5LfnAYZGBGvlypXmIOhXr17ZppAoUSLUqFFDuwxD6YOgx4qACIiACIiAMwl4lMA6dPQ06rYdgq2/jvEVwZq5aB2Wrt6OmWO7IEb0qDaGIS2w/v77b1Bg+dW447Bhw4bOfL/qSwREQAREQAREIBQIeIzAevT4Kao3748SBbOjUY1SBqVVg8UU4oSZyzF7XFfEjR3DG+aQFlgjR47EgwcPHL7qXr16hcIy0CNFQAREQAREQAScScAjBBbFVZNOI5EscXz061jP1DVZAmv0lMWmAL7GD4XRoWkVX+xCWmD179/fW2rw6dOn3tKCrVu3RsyYMZ35jtWXCIiACIiACIhACBNwe4F16/Y9I66ypE+JLi2r28SVJbAYuRresymadRmFTs2ronQR74afIS2w+vbtizdv3pjXzON0jh49irp169pee6dOnVSHFcIfAj1OBERABERABJxNwK0F1pVrt1CnzWCzi7BO5WI2NuHDhUPEiBG8FbnvO3wCjTuOxPiBbZAtcxrbtSEtsAYMGICXL1+a5zNd+PjxY7Rv394mqhTBcvYSV38iIAIiIAIiEPIEXF5gXb1xGxUa9MDLl6/w5OkzRI8WxUShOreoho3b96FVj7G+qFUqlQ+92tXxtYuQnlgDxszGL+O7I0WyhOa+kBZYP//8My5cuIC7d+9i4cKFuHfvHsqWLYuUKVOa8agGK+Q/BHqiCIiACIiACDibgMsLLGdP2Gd/IS2weAD0ggULwNqrtWvXGqFVrFgxJEiQABkzZjRiS00EREAEREAERMC9CUhghYKT+5YtW7Br1y5s3rzZRLOqVKlixBWFVqRIb/251ERABERABERABNyXgARWKAgsOrizwH3WrFk4c+YMOnfujDRp0iB79uzuu5I0chEQAREQAREQARsBCawQFljXrl3DpEmTzAv4888/bREs/j1v3rzIly+flqcIiIAIiIAIiICbE5DACmGBtWzZMhw8eNBPgcX0IG0a1ERABERABERABNybgARWCAusGTNm4Pz5834KLH5RPlju/YHS6EVABERABESABCSwQlFgrV+/HqdOnUKzZs1sq1ECSx9MERABERABEXB/AhJYISyw7FOEXl5exqaBRe5sH330ke3P7r+0NAMREAEREAER+HAJSGCFsMCioBozZozxwVq9ejVu3ryJMmXKGB+sokWLIkeOHB/uatTMRUAEREAERMBDCEhghbDA4rrhTkJ6YU2YMMHYNPAA6EyZMplfaiIgAiIgAiIgAu5PQAIrFASWtWw6duyIrVu3Gk8sNREQAREQAREQAc8hIIElgeU5q1kzEQEREAEREAEXISCBJYHlIktRwxABERABERABzyEggSWB5TmrWTMRAREQAREQARchIIElgeUiS1HDEAEREAEREAHPISCBJYHlOatZMxEBERABERABFyEggSWB5SJLUcMQAREQAREQAc8hIIElgeU5q1kzEQEREAEREAEXISCBJYHlIktRwxABERABERABzyEggSWB5TmrWTMRAREQAREQARchIIElgeUiS1HDEAEREAEREAHPISCBJYHlOatZMxEBERABERABFyEggSWB5SJLUcMQAREQAREQAc8hIIElgeU5q1kzEQEREAEREAEXISCBJYHlIktRwxABERABERABzyEggSWB5TmrWTMRAREQAREQARchIIElgeUiS1HDEAEREAEREAHPISCBJYHlOatZMxEBERABERABFyEggSWB5SJLUcMQAREQAREQAc8hIIElgeU5q1kzEQEREAEREAEXISCBFUwCa9GiRTh58iQGDx6MSpUqIXPmzGjevLm3196xY0ds3boVu3fvdpHloGGIgAiIgAiIgAg4g4AEVjAIrCFDhuDp06fm/QwfPtwIrKRJk5q/9+rVy/beJLCcsYTVhwiIgAiIgAi4HgEJLCcLLEat5s6da3vTXl5eKFu2LBIkSGC+Fjt2bLRs2dL8WQLL9T4QGpEIiIAIiIAIOIOABJaTBdbUqVNx+fJl27vZtWsXMmXKhEiRIpmvhQkTBj179pTAcsbqVR8iIAIiIAIi4KIEJLCcLLDGjRuH27dv21736NGj0aRJE5vA4jesNKEiWC76qdCwREAEREAERCCIBCSwnCywKKju3btnXsv169cxceJEJEqUCA0bNrS9KgmsIK5a3S4CIiACIiACLk7AbQTW8nU7MG3eaqyYMcAb0n+On0Xv4TNw6uwlJEwQF11aVkfu7BnMNUvXbMfKDTsxbWRHh6/hhJMF1ubNm7Ft2zbzvDFjxuDOnTsIGzasLS0YOXJkU3vFpgiWi386NDwREAEREAEReE8CLi+wbty6i9qtB+LOvYf4JG4sbwLrxYuXKFqtA6qWLYjKZQpg658H0HfULKybNwyxY0YPFYH1zz//YMmSJeZ1sP5q7dq1psCdaUI2RrMaNGgggfWeC1a3iYAIiIAIiIA7EHB5gWVB3PLnAYycvMibwPpr/zG07jEWO1aMR9iwYcyllRr3RpUyBVC+RB5fAmuE10LsOXgM00d2RJTIb4vOnR3BOnfuHGbOnGn6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KVKksPGiUKtTJ2AGuM56j+pHBERABERABIJCQALLyQJr7Nixxv+Jbfny5di/fz8iRIiAbt26eazAor/VuHHj0LFjR/Tt29ekA1nQfvz4cZQsWRLjx48HTUazZMliDoBmFIsHPLNZ4okCi27wFy5cAIvbrTo1XhMjRgy0adMmKOtc94qACIiACIhAiBKQwHKywOIOOooJtqlTp4Ju5lYki7/bH2TsKSlCzmv06NGoW7cu2rVrZ6JN9LVauXIlypcvD6ZNT506hQoVKmDKlCkmssXaLDYKKUb47A+L9vkJUAQrRP9N0MNEQAREQAScQEACy8kCi+mxefPmmVczd+5cky7jLrn27dubr7H2qFatWubPniSwFixYYDysBgwYYObFWqoRI0aY2inyeP36tamtYh0WC9m5O5CpQstIdNmyZcZ01K+mGiwnfNLVhQiIgAiIQIgSkMByssBimotn8lmNNViZM2dGmTJlzJfsxYInCaxt27aZyB0F1LBhw0yhP01C06ZNazzBaLbKQ565w/DatWsmdcjIVaZMmQwXXs/DonmEjn1T9CpE/z3Qw0RABERABJxEQALLyQKLBe5Ml9GlnGJrxowZxrLAKtLmjkJrl5wnCSwWqHt5eeHly5fImTMn/v33XzAqRR4scGcNFedOSweajZKLX43M+Iv3kJtVDO+k9a5uREAEREAERCBECHgTWE07jwrwQycObhvga135QmfbNHCuNNRkgTujMhRb3EHIaA39n8qWLWvD4UkCi+cJtmzZ0vhZsZidbcOGDabQnWlCHubM+VM0DR8+3Li9q4mACIiACIiApxLwJrD6j55tm+e+wyfemkJ++f/b5V+/eYNFv21GiYI5MKRbY5dhsnzdDsxevB6nz19B0kSfYPnPA8zYlq7ZjpUbdmLayI4OxxocAospsFWrVpkCd+uoHAorpsXsPZ48RWAxGmVFrGjDkCdPHsObOwKvXr3qbUdg/fr10aJFCxPdUhMBERABERABTyXgMEVYtm53tKpfHgVyvY1GWK338BmIECEcurWu6RJMZixci4UrNqNLy+r4MtVnePzkKZIk/CRUBRZTZVYtkf1ZhEx7NW7c2HZ4sScILNZX0ViUx+HQxZ0F/Tx7kY1H4dCmgilDq/Fswe+//95Et9REQAREQAREwFMJOBRYmQo3wM+jOiHzVym9zf337X+jx5Bp2LlyQqgzefjoCfL/0AaLJvfBZ0kS+BqPzwjWCK+F2HPwGKaP7Igokd8eLOzsCJZfRe7WYc98nqcVuTN6df78eSOu6FbPQ5ytRgNSOrvTkoHu7WxMEdK1vVGjRub6okWL2gSnzxfI+i32zYggdxyy4J2/q4mACIiACIiAqxNwKLCKV++EEgWzo2W98t7m8PP8NfCavQK7V00M9blt2rEfPYdOR4YvP8feg8cRIUJ4VClTwDZme4E1c9E6LF29HTPHdkGM6FFtY5fACtprtAQWdxFSSN64ccNWmL5+/XqTIuQxOUw3W7VZPJuwYMGCNjHG3YY+hRPr2BgZs3fF50gpyOxd8YM2et0tAiIgAiIgAsFDwKHAonhp3WMsShX+Dt9kSoMI4cPjn+NnMX/5JlQqlR9dW1UPnhEFotc5v27A7MUbMLxXU6RMnhinz10GC/Wb1i5jhJYlsMoWy4UJM5dj9riuiBs7hrcnhITA+uabb0z9lSdGsGit8Ndff4HRKtpR0LU9ZcqUpg6LZqN//vmncW1PlCiRiXJRHNHvin5gsWLFMkys43KsF0NRRXNSn+LK+r5fgiwQy0aXioAIiIAIiECwE/DXpuGv/ccwbvoSHD52FuHChkXihPHwQ8m8qFauEMKFCxvsg3vXA+b8+jvWbfkLs8Z2tV06avIinDp3GeMHtjECa/SUxbh77yFq/FAYHZpW8dWlswUWdw5SHLBZNg08OqZevXrma/TDsryfPKEGi5Em7pTk2YNM4VFQRYkSxaQCGZXauHGjOVeQf+fxOazZYiSLBzxbzafXlc80q8+XJuPRd30y9H0REAEREIHQJuDWPljbdx9Ct8FTsXHRKEQIH86wHDZxvhFUAzo3MAKLkavhPZuiWZdR6NS8KkoX+f+Ca17vbIHFPnlg8datW202DRRU3EXoU0h4gsDifNu2bWsE1scff2yiTrRmoKhkhIr2DTQYLVy4MMKECWPe0ezZs02qz6rLIhdaOdDzihsBWLe1c+dOHD161OzEzJYtmzc/LAms0P5nQ88XAREQARF4FwF/BRZTguu37MG1G7cxtEcTvHr1GtPnr0b2zGmRwc6+4V0PCa7vv3jxEiVqdkah3F+jVf0KOHfxKhp3HGEsJL7Nms6bTQNtJxp3HGkiW9kyp7ENKTgElhW9OnbsGIoXL45SpUqZQ5DtXcspwJheo70BBQpFA6M87taeP39ujsRhIbtlHnr//n1z9iAjVUeOHDECi+lDnkHIiBeNRimaGNli6tAyI+XcKdJ4WPbZs2dx5coVw4c7L+2bBJa7rRKNVwREQAQ+PAIOBRZTb50GTEaeHBmwcfs+HNny1nl7wJjZuHr9Nn4a2NolaJ2/dB19RszA4WNnEC9OTDStVQalinxnxuZzFyE9sTj+X8Z3R4pkCc01wSWwLDiM2vz4449GhLAxhThp0iQjKphOo1dUlSpvU5f26UOXgBuAQVAAsbaKgsn+iCBGrigYKZZu376Nzz//HHHjxsXFixdx8+ZNk0Zk4Tv50NqB0SvWbJEH72EEjK7wVlTLfiiqwQrAi9ElIiACIiACoUrAocAqU7cb6lctYVJq6fLVsQmsXfuOolP/Sdj669s6I3dvIS2w7A819imwmB7r1KmTWyGloWr8+PFNIbtVe8YJUGBt2rTJeF49efLECCqarFJgMerF6BUbBRrPL8yQIYNJM1JYsT+r0aLB/rgcphNZKM80JMUqmbFfusSriYAIiIAIiICrEHAosDIXaYjVvwzBp5/E9iawmDas0bw/Dvw+zVXmEKRxhLTAsmwNOGifAotf69WrV5DmE5w3M+W5e/du2yMofHh4Mwv4WW/FYvd79+6Z77NQffv27fj0008RI0YMczYjbRzs/bJu3bpljEiZCuSh0IyC+WwDBgwwKUJGv9j4TIoun43Rstq1awfn9NW3CIiACIiACASYgEOBVajSjxjUtZGxaLCPYM1YsBaLVm7BqtmDA/wQV74wNAXWjh07jMUBa7CsxggWozKu1qzCfftxWQXtc+fONWOmAGOEjmKKIujNmzdGZNEHi1Es/k5BxQgU03+s00qSJIkRYH419sdruBvRcofndYxc+WU4+j4pVs6BthF8Fhv7tc5MdLV3oPGIgAiIgAi4DwGHAstr1gpjgTC4W2OUr98DGxeNxLZdhzBswjzjM1WvSgn3maU/Iw1pgcXCdqa32BjBYhqNPlks3KZIcdUIFt3XKZzsGyNPDx8+NIc8W+afPCKIIsuKMjGF+OrVK5PGYwqQ4oiNYotpQ/8axQ8NTLNnz25q5VizRUY0M2W9luUtZvUR2OJ3//y2Kleu7O3cSI9Y7JqECIiACIhAiBFwKLBev36D4RPng15TL1+9MgMKGzaMMfDs3KK6S/hgOYNSSAsse48nCixGdAoVKmQsHGhdQLsCV2uOfKm4Q5BWC6y/atKkiRE/9ilQzoMF7YsWLTI2FTQjZX0Vd1BGjhwZFSpUeGe0jlYWX331lRGgFET8ZVk/kJt9fVZgBZZ1jqJfvN2xHs7V1o3GIwIiIAIfMoF3+mDdf/gYJ89cwuvXr/FF8kSIFSO6R/EKaYFFeExHrV27FmvWrDG75pgm4yHI33333TsFR2jA9ymwWHeVLl06MMXJyFX48OFNlInRKabbfKY4Z82aZaJBPBCaqT4eocMzCykmeS1FF3/nL9o2UEBZtVzTp083zvDp06c36Tt7SwefLAJ7jI5PMeizP1dN14bGGtAzRUAEREAEAkfgnQIrcN2539WhIbAsSpbRKA8+puDwq8jbFYhS1AwZMsQ2lJ9++snsAmQEieKKuwJZU8UUIt3aKcBozUBzUYoiFsYzLRohQgSzq5C7BulzlTNnTlPvZKXjKOQo0JheZAE8048UcSyg//bbb1GsWDHjBM80pM/20UcfoU2bNoESqD4FFo1Nmbq0Govr7SNkrvAuNAYREAEREAH3IOBNYLHWKqDt12n9AnqpS1/nCgJr8uTJJo3WrFkzl2Vl1Y5R/NBqgYKK5qH8Ow90jhgxohFQ/MWv0VyUYopRKRaq02CUgqlEiRJ4/Pgxzp8/b9KEFJWsO3OUrtuzZ4+J8PXu3dtEutg3o3+832oskmcKMrBGrTx0mjYRbBzvlClTUKdOHZuoUgTLZZejBiYCIiACLk/Am8CaMmdlgAfcsPr3Ab7WlS8MLoHFXXcUAfyBXaBAAbRq1crUWDGNZqW/KFooPJYuXYqff/4ZBQsWND5QrtgYxRo5cqSJUNFqgW7sFDU8tNln87nLj8fdsP7q0KFDhgFTfhRKFE9k07VrV3h5efkqome/e/fuNczy589v0oe8n0KK0S4KNtZ/ve+uS3tPMqZtGTVLnDixTahR/NGJX00EREAEREAEAktAKcITJ5AqVarAcvP3evsf3Iy8sE6J6S1GdyhQrMYid/5QZxrs5MmT5lf58uWdOhZndmbNa+XKlUYk0p2dqTv7xugU03+s0bIa58i6Klo1cAcgi9ZZb8YaNArKYcOG2Y7Z8TleCiwyY+rOLzsHiiuKLusYIkfzpYBat26dbRcjr7OEmnUP3wPXQrx48WzdBLZw3pm81ZcIiIAIiID7EpDAcrLAYrTF3tGcAouF3axX8tkso1HWYlGADRo0CO3atTPpNldsnBvrlhi9opBi/RRrrFiHxZQh28aNG03arUGDBrbI0oMHD0xajynFOXPmGPH1ww8/mAJ/RvDoo8VontVYDE9LB5qUsl+KMtZYsU7NUaPJqKMUIaNlPJ7IvzZv3jzzbRbrUzjaN1e1znDFNaIxiYAIiIAIvCWgGiwnCyyfO+4osLhbzi/7BUtg0eKA5+tt2LABUaNGRcKECY2VAc/ko1kn/84f/IGtMQqORc5UIcfKQ5npQ8UIUuzYsWEJFBa4U3zx+9w5yHFTdK1YscIIJha48+sVK1Y0c+PfWetEFlajdxY50saBAi4gKUCKPaYs/WqMvJGntVPR5zWMbtFOguPmGHlsj31TsXtwrCT1KQIiIAKeTUA1WCEgsJhmYg2RfaNQ2bdvn+2wZ0ZJKKiGDx/uMILFei76ZYV2o/M868VYxG41ipTZs2ebdB5349E8lY2F6dxlyAgSRRCFFGunmjdvjujRo5v5UPxkzZrVVrjOvhh1onCjESsFDv/OdCLNRtksuwamIxkh41E65MzDo33+Yj0c05R0zeeuQMsewho7uTOaRsHH8VHY2Z+HKIEV2itOzxcBERAB9yOgFKGTBZZ9OoopNZ7Px0LsGjVq2FYHnc3pjE5RwR/uTG/RB4utZs2aJhVGawKfjV9jsXxoN86FUSxLRHE81lE6FD5M+1nO7vweOXCXHsWRtWuPacLx48ebwnamRRs2bGhqt2jnwD5YEE9RxL8zckfX+Fq1apl+WBxP0Va9enUj1vhnRvlYv0aR5PMXNxGwbwos1n+lTp3al9hlWpJRLEbU6EzPlKTVtJswtFecni8CIiAC7kfAX4Fl/ke/9whOnbtsZvbFZ4nwXdZ0JkLgKS04dhFalgZMc7FmiT/UWXNkNQoIps3u379vDFyHDh1qS2+1aNHC1BzZF4nbsw7teiDuCGSUrVq1at58uyxPKUawKGTocWU1/p2F47RzYMSKQosu8EwbMgVIewT226dPH5tdA8UOC+MpyGjnQKNRMqHgoijlffYizj+TUdZ/2R9Sbc+TtV4UvEwP0k6C74QF9fb1XkwtUgTLE8tTPvWahwiIgAgEPwGHAuv6zTto0W0MTpy+iIQJ3hYXX7n2H1J/kQTjB7ZBvDgxg390IfCE4BBYFFCM6DDVxXQaU1c0E2V0i+ks/k6RyoOQ+TvP27MOL6bI4G42WgRQ4FIcFClSxFaHxMiRXwcdhwAq8wjaSdCzium+r7/+2vxOAULHdfpjccycj1UAbwkuHqnDHYHcPcgoFM8SZGMtFiNhjGb16NHDRKsY9eMuRfZJDoxkMULFFCGNSCm4uCOR9V1s3F1oHdXjFwdG0BzZQPB7rLvimFjczrmx+ax3o7hiqlBNBERABERABAJCwKHAat1jHO49eIThPZsibuwYpq+b/91Fuz4TECfWxxjVp0VA+nf5a4JDYNlPmgKKPk8DBgwwX2b6zDrwuG/fvqbeiiLKav379zeRFEZWGO3p16+f8Y3iLkMKq9BKV1E0so6K4okiiulKCh6OidEdRrAsfy/WYnHeTCUyEsWIHAUK65sYaaIQ47xZe8XIHr/He1lzxQgen8XdhgsWLDDpPEaymA7kdYws8fubN282yMqVK2csGt5VCE/mFL1ka4k73s/IFncqUsQylcvoIyNajDr6bKHF3uU/RBqgCIiACIiALwIOBdY3xRtjyvAOyJTuC283HThyCg3bD8eeNV4egTOkBZY9NB7twnoiRqysxggR/bBYAE+PKbq8UzxQADDS0rNnz1DhbnlgUWBZaT6acrIxWsVoHeup2JjyY8SJaUJGnzh+61p+n1Et1k1xnhQ+LDrntRRVNDOleKPXlnX0DiN93HloCU0LANnRwJRH7QSk+bRrYFqQ759mqdz1yNQlC/Tpl8W/161b11u3/llBBOT5ukYEREAERODDIeCvwJo6oiMyfpnCG439/5xEow4jJLACuEZ8RrDsbxsxYgSmTZtmfqhbjcXdLMqmWzpFirUrj5EbCpnQ2tHGFBsFESNAWbJk8TZ7CihGldj4O3f+UVDRtJO2DRRHtJ+gkKQnmHUd76MHVunSpY3lA2uyKCqZNmSdV9OmTUGPMAoj9jt16lRf1Cns2G/9+vXf+UZ8WmjYM2ddlyUCGR3jDkmfNVeKYL0TsS4QAREQARH4HwGHAqtl97F4/PgphvZoYlKCbLdu38OPvccjVozoGNOvpUdADM0IFsUDz8ObMGGCMeFks3bjsSaIO+dY3M1Izq+//mp2yVWqVOmdruXB8WJYG0YrA6bTokSJ4kt8cNedFcFiupB1Ukz/MS2YO3duI5BYW0XDVc6N/VBUUUgyhTh27FgjJvk706n0BKNootjkJgCKsC5duvg5NRbIL1682Bz27F+jGGPa0WqMjHFs3IkYLVo0k45kET0jY0wX2u/kpG0D67zUREAEREAERCAgBBwKrKs3bqN5l1E4c/4KPo0f1/R15dotfJE8EcYPaoME8WIHpH+Xvya0Bdb69euNcKJNgb3A4p937txphAhrk1gXxHQbXeLfdSxMcECnaPrtt9+MfQHFDL2iGJliozjhOYEUJ2wTJ040NWSlSpUyYooi0TokmmKGvxi9Kly4sLmeoof9s6CdXl+cHy0sGO1iTRqL4+kjxp2L9sfY2M+TNVwUZ7R8oAD0q9lHsCjc+HduQrCadVYkTVPpTm+dC8ki+ipVqmgXYXAsLPUpAiIgAh5KwF+bhtev32D77kM2m4aUyRMhV7YMCBtWNg0BXQ/+pQgZwWJNU4kSJUw0hylB+ygLD4tmUTwjPIy00NqAx+nw2pBujKzRIoJRHdZN8Xd7ocd6Jab7KHQYfWI9E1NuTG1SfDGCdfv2bWPHQEFG0Wil4CgeuSuQZxKy9oq/L1myxESSeF23bt3QoUMHk2a0Uox+zZ+WF0y70i/L3ijU/loKOe5EpO8Va7AsLy8KR0bAKPxYfE/u3KXIMbqCg35Iv289TwREQAREIGgEHAqsWq0Gon7Vksj7bcagPcHF7w7tCBYFFgvXubOOaTA2y6aAKTPuMOSONmtXIeugfvnllxCnSi8rRpMYQbKiavZ2EUmSJDERJgqTgQMHmogbBRiFmLVrj7/zgOfixYsbscRWpkwZEwnj3BnxYt/crdixY0dzL6NcNP5kBIniLCC1VqwXYyqSaT6fjeKQTGfNmmWOxKEAZmqQuzQtwUchyIJ7PldNBERABERABN6HgEOB9V2p5ujbsR4K5f76ffp1m3tcQWAxXUXxwhojRn4sSwFGWhi1YiSIkSEKF/pFcTcdHd9DsjFtRnHEcVC4cJedfWMazaqBat++vTEDZeSHwouROKbjWI/FSBHFVIQIEcztLByfOXOm8QSjeGQ6kfPm/YxmMYLFlCOfyZo0HrHjKAVoPx4KJBqGWrVt9t+zBBTTso7sHVz94O2QfPd6lgiIgAiIQOAJOBRYHft5IV7cmOjQtErge3WjO0JLYNHQkpGo/fv3G+FE4cK0lmWeaSGkDQF3yTFFaPlGVa1a1URYeJZfSDWm3iiAKJRYm0QneqbirMaIFIUVG4UiuTI6xbQdvaboyM7dkpwfU4RW/RbrnmiLwEahSSsKRr/o+s4ieT6D4oviisKSZqB+iSa/OHBXIqNgZGffGI1jbRgjaY4a7TJ43qJVhxVSnPUcERABERABzyDgUGAtXrkVg8bNQe92dRA9mu+i4XzfZfIIAiEtsFiLxIgNi74Z0eHOPKa/KCpYWO2XzxWLtxmxsjyoKFT4i1GvkGo0S71+/boRJhQ8jLLZj5W1VrQ2oJhiio5RK9aK0eOKYpCiitE4ur+zyJ19sa6KHHgtG88LpK0DU4V8BqNdNGOlqKMxqeWfRV4BbbSMIHPWuVmNtWKsvaJgc9SYRqQ48yl4A/pcXScCIiACIvBhE3AosNIX8G6y6BPT4U0/ewS5kBZYlg0D4dFMlHVFVu0VBUbv3r19FVVTiLF+ifVIFBw8UoaRHe6A8+lJFRwvhdEk7iDk2Gm/wAgQa5edypWDAAAgAElEQVS4k9BqFFL8PhuFIIv16WfFObEwnfcw1cnUIMUhi+JZr0XTUhacs/E57IOmo4zOMUpGewg+k3VSPIiZYiuwZqs+DUkthv6dqck0JcdetmzZ4ECqPkVABERABDycgL+7CD187mZ6IS2wrEOR/WLL3YK0I2AkiOlARnf4K27cuCYyRFd3+kYxVZciRQrjD8XoUHA32kUwcsUjcFgTRaFDcWUvUFhvRfHDxoJ9GpLSGJVROR6tw0J9RpEYTaL3FwvIKZx4nA7vZXSLwoz2DDxeh+lFpg7pYF+gQAFj4cBjdGhVwbQdI2Yssud1AdnlR8HHcbMvplzfVcPGd8GdjDQ7VRMBERABERCBwBJwKLC8Zq34P/buA8yuqlwf+KIqYLuKDRQFlSsgehHloiBSBAXpIN3QAiahBkJCIAGEhBJC6DV0kN6b0kGucFWaBVTQq3JFvUoRFPGP4P0/v8Vd487OOdNy5sycme97nnkmmbPL2u/ek/3m/d71rjTqK19Miy7yhjmO+fNfPp0e/vGTaauN1uzruYbk9oNNsJCSKkGg8GinMXlXi4dJe01bjXdL4rmZcIhW1Qs1ECBbn0+77sorr8yKG8KHPFWrLMBc/Zm2J9O+dHpRC0VtQ7CY2ZdbbrlMyiyELaICqeFDQ7Z4tHyOZEl1d17nF+fgXFLiS/FqwYwa1l1RyqztaMkb+PVUtjVuMzijAoFAIBAIBAKBviDQlGCtsOZO6d5rTuxa6Lkc9PEnfpV23OfoWCqnlyjXc7DqChZVSvSBF76YACSheK2qp2CCZ3jnb9I+M7Nu3LhxeR0+nqJWGd4pTEhNUc+MiXqGEPFHafVRopCO6gw8RAqhUr5rKYo+ELtAPUKOyvZ1kznDvyWAPvvZz2YM+LOQsjvuuCOfSzvRtfN9UcasY2jbejl+iX1odnuY9RE5bcYSFdFsW2sqlnyyXt7u2CwQCAQCgUAgEMgI9Jlg3Xznf6Zpx1+YHrjptGEBYbsVLL6j66+/vgu7stAzdYoqJP6Aqb2RwsJLxGyOXBRflnZaKw3vCByCU4ohnXrGZI44vfjii7nthwAheM3q5JNPzkoXhY1/yiLOpRAccRMULaRJ4Ke2IhWKzwyZc2yzBR966KHcntQ6VPCi8lG3GpFKJGufffZpGL9g7NZ+FCeBaGlP1tcbrF6PmAizGt2bqEAgEAgEAoFAoC8IzEWwNt7p4Lz/L371dPrg+9+TWzylzOJ66uk/pB2/8sU0cY9t+3KeIbttuwkWIMxQowopBIM6RcVi6KbmnHLKKbllxmdUsqO85LW4hGPyIikqFi+UeASkYl6JQKPFkLXmqFnacpQopMjfjbsec0DVEsvgcy1OhAw5s7YgZakUI7toCr6qYnpHxlwbskVFYzBHpih6v/jFL5I4B3jwn/GhaVk2S7R3rkbLCZlUAEOzFJVAU1EMjQJJfY7cMd7zxEUFAoFAIBAIBAJ9QWAugnXeZd/M+8884/I0dtQmabFF39h1vDe8YeFkuZxP/9vra9ANhxoMglWIFZKiqC7afIIvkQkZTIgNwoGgeNEziVO4/vznP2f1RSEy1DBq19FHH52PMS9VneFYjoPMIIDCPalZxmFs73rXuzIRamYw1xq8++670957753HjCCZReiarafIZ+UYohBcM5VLCSaVX0UlE99gAWkkyzFMADAWC1+bVSmtnVfLOKrtys9//vM5HqJeVe9X+ay7QFLZWzfffHPXOpHzgm3sGwgEAoFAIDCyEGjaIrz1nu+ntT77b2nhhV9P3B6uNVgEq46ncSBSm222WfZZ8UFRYZAHpAIxEedgFh8SUsI2bSdF3XdExGLJ/a0qwaIk8UpRpbQDfRe3gHRQj5AihnRqUCMMjZvahAwal9YckoV4yQFD0mxTV4/8rKS+Oz4la/To0Zl0Uaz4prTuioKG9EmYHzNmTNdlO8+qq646FwxUM5MESop82cCxzUhcY4015tjH7EdG977GQvQX/9gvEAgEAoFAYPgg0G1MgxfMM8+9kP780stzXfEyS713WKAwVAgWMEsApnah9QiRC8nlCA0lBwEwew6hQDpKHXPMMdkkvv3226fLL788e5n6U9UWoXMgSGW9vp/97Gc5dJPZHMmx3AyViYJkO2b+amYUXC1VQ3UrLbazzz47K2DIIGKk5aj16Bp9rxYC5RgUPGSSf4o/DaGTUYUMIpuULAS0Gj4Ki7q3SqCrXC2G+UZFbUMq623H0oaltkUFAoFAIBAIBAK9RaApwXrkx0+mSdPOTE///pmGx3rsnvN7e462bPeb3/0xbb/HtBwfscfOm+VzXvvN+9JNtz+Qzpk1sekYhhLB0gYzc22//fbLhOr4449PBx54YNfYzThEMCgufEaFRBT1y4ZaepSa/hb1DJliLEdKjInig9hp4/FgWQqHHwoBZwJHeJjtkSckkFeP+iVriuepeg1ambKsGNTlUiFsVK1ddtllriEjTyYFIH6uG+kTEsrgLpDV+Kh5xqKFSYVCAs1erJdEd9dRXzanut2DDz6YZylWydp1112Xll566bliKfqLb+wXCAQCgUAgMDIQaEqwNt15SnrrWxZLe+2yeY5qmH/++eZAZKkl3z1kEHr2+RfTrvvNSPPNl/Li1J1KsABKSTGxAFERdInUIC6qkC4z7ermazEIK6ywQqJmMcFbCqY/pUXHhH/LLbdk8uOcvhjpkSmqGnN6JrDXXptJkmwqnqqtttoqf2dY17bkmULCkJ5qK5CKhBTxWCFbFDHL1vhZiXpwfCoWckW9KqoZ8z+VyX6uGTZaggibcSJZyvdqVlchp66hu0IuxWTwwyk4OBdfl2sqx+8PtrFPIBAIBAKBwMhBoCnB+rd1R6cTvr5nGuprDr7017+lXcYfk742auN0x7cfTEu+Z/GmBOu4M65I3//BT9O5syamRRd53bw/lBSs8tgde+yxaY899sgv9npbS8uMSuX7oYce2vWkUoGQK8qWWXuXXnrpPD3FfFJmNCJIyA21jJkeiTHzTsnF4q1CuihVPFrak8zkEtgRMSSHX4u3rBTiJCqB0mXcJcGewiTjqpT9ED7qmetxTIROsKi2ovP4Lm2d2d+21WLAFyqq9ScWgv+qN8VnJsyVB4w6h2gWzxtvF0IXFQgEAoFAIBAIdIdAU4K1zdjD0+YbrDGkE9tfeeXvacykWWnDdT+Tx3rQUbObEqwLrrw1XXvLfemCkyant755sS5MhiLBKiSKInTaaaflNf34skpRVSgt2l0lH8pnJVbA93k1vIuMYERHnCwvw3CPSBVlx/nKjMDqA4aM8GZRnYyPmqalWF1s2dgQts033zyTLAZ6bT8zCkvJ9hI0KgqCuiWuwnEpd8ay3Xbb5ZmTvFGIHB9Wo0KGtA/rJK+nfxYQOu1a4ywYlH2axUD0dMz4PBAIBAKBQGDkINCUYN333R+mI46/MF1x5mFp4YUXnAuRogANJlRTjjknZ3WN3u7LeRjNCNamX1o9nXbB9emikw+aK5l+KBIs12LdP4se80LxN1UJis+POuqo7CnSuqvWueeem9uLcrH6a3inBDkuYkHBcm6mdotLM9xXq55Mz3xeIhK0LBngH3nkkdxeE9NQCsnSIrQMj4gFZnpqVJVE+jP1yr5CVuEgZNUxjYmCxSO26667Nn0MtViFpCJpAkx7WwgmQknF01bUIixrL84ree3tGGK7QCAQCAQCgc5FoNsk9+4uayiY3KlsP/35U13DfPXV17IP6+PLfSh949Qp2eR+wuyr0p9e+EvaYct10wFjt5nrkoYqwaIOadPJkWoUFUAhsoafdfqqxEXAJ3JG2RGv0B/DO+WK6oQAIUmICT8Vlalesrh4tmzrS9ComYWM5lp01vLjy0KOKHLVco08Z8XXpcWoEDzEyTics+ReIWE8WlLf+dDuu+++rJTxm9nH9ghZdZ1CZEgLsiwu3dtfVQRL8YBpGVaX5gmC1VsUY7tAIBAIBEYuAk0J1sM/eqJbVD654j8X2x0q8DVSsChXMw8Zm8ZNPj5N2mPbtPF6q80x3MEiWPVwzEYYapGJL6AeLbnkkl2LJZdtKTjUIWpWtahI1BaBpZacKab03t4nM/f233//vGSOVhwfVbPU9EJCzPizPM6UKVO6CJ8YBqGiiNftt9+efWXVNqB9Sx4WosbfpA2ozBCkwMn10v7TSqQkmUGJ9CFsjO3ID1M98zlCqX1XNaIjanxeYi/6UoVgNdonCFZfkIxtA4FAIBAYmQh0m4PVaZB058FCGL82cVY69ch90yor/TOJvp0ES7vp3nvv7TJja40hFdpPzYrPaNttt80qkXynesm+QobEJ1QLsTF7z/eq4b0YwavJ52W/smyPOIQZM2ZkBYoSNXHi3DEXtjWLEBFSVCUGddlX8rCoWNXgUhEIWn1addWq5mFR3XjNjBG51KLkoUKwllpqqUzO+MuoVs7H42X5GwoVIsif5bzVKqoaotYo3b0Z7vU1GavbNYuC6LTflxhvIBAIBAKBwMAh0C3B+sMzf0qXXHtH+vkvn84j+PDSS6btN/9Ceuc7Xp8KP9SqO4JlrDKxpp94Ubr41CnpQx9YIg+/XQRLJhRFplE1Sx63rZl6DO1afwzflKxqCe20nItWYDVgtARrIiKyorTaquTOMRCOQu6q5I/aRBlDVnik6qQIAWK+pw6VMruvKFDIGzJY2py2ocKV5X/qGNgXgSozBn2OkIl/0J5keLe/P1OPLG9DtUKekMCSk4Wg2a+Y6B0HARMRwaze21mE9nNM127WZLWQRKnxjQjqUPt9iPEEAoFAIBAIDB4C3bQIn0y7H3Bsev8S70orLve6+fgHj/8i/fb3z6Szj5uYPrH8hwZv1C08c7sIFpKCEDQqL/9G6lTZlhcLefCyr6al+5wJ3mw37TItuGrdeOONeT/EgtrD7F0vBAtJcY5SMqMQOhEHZuzVx6aFiCwWkqE9qIVXbc1p1Zm9J6tKi05VSVh1HGInpLIjYNQhheRpCTKpW/RZcCl1C1Hl6brtttvyOZEn4aD2l/TufrpObU3EFXEs3q5qrEVvHiGEz/6lnVsUx97sG9sEAoFAIBAIjGwEmhKsbccdkVb86NLpoL136ELIjLLpJ16cHn/iV+mS06YOC+TaRbBKEGYz0Lp7+SNR2nxaZZMmTeryKVUJGGXFDD8qV7UY5LXakBKLI9cLaUBqqFulYCIDCmFhKkdqHL+EjoqJoCrZB+lBYOqKju3r0QmOS2WjwnmWSpX2Il8VQsc/pkWINJlZSKXTBjRrUso6skVh0zKkfFHStA15zcQ5GKcwU4Z7WWLalqqvBGtYPOBxEYFAIBAIBAKDgkDzoNEv7JouO+PQ9NEPLzXHwMzaM3vv0dvPHpQBt/qk7SJYiEiVcFjjTnAnQtGblz+SwTSORNivWsiT7CxkiHJT9SFpMVpwGSEx264647Acg0qkDVktZIdKJKOKkoTcSJhHfrTr/NzsP9dE6aqv/dfoPpVkdtdsfwRIIUjug0BTKpjrMG5EisfMnxEsP3cu6hmFzf7Immv67ne/m5U4xNDxHQtejmdsUuJlckUFAoFAIBAIBALtQKApwfrcpnulaZNGp89/5hNzjOOu7zySDpt5Xvr2tSe1Y3wDfo52ESz+oSqJYRD38pcQ7rNGa/HVL17kgZafjKt6SXH3c+sXMr1X24FafNLMkSyhpfXSJqwqWD5HZihBlKZGX9pmsqkQl2qEQU83jMIkHNXsyOqyOMgaFQwJY5bngfIdoUOgfIZUwQtuZ555Zl4wGpHSJjSDUBvWNq6HD6ucCxbOKVcslrrp6Q7F54FAIBAIBAKtQKApwTr6lEvSnf/xcDpwj+26PFiPPvbzdPQp30hfWnOVNHGPbVtx/kE/RrsIlpf+Aw880HW9YgmQCS98XqG6t6oRMJZtEb0gG6saymlbS+poEVqY2CzA0aNHdx2Cv4oxnBdK268s+2IDig9zuqVm+lK9iZmoHs+1IknalQgP4329ECqqFUJHdXJvKGQiIqhRPi+LNTP2U7W0Bh1PKxDRomjxcq288spZGbNWYbV96T70ZTZhXzCJbQOBQCAQCAQCgYJAU4JlGZqZZ1yeLrv+rvTaa6+3chZcYIG0zaZrpwljtk4LLTR3unsnwtougtXM5M7ALTSztzPcpk2bllUj6+9VCxFBvqzxx0xeXTMQuREcinBopQn8LAqXlpvWmhlz9TZhK++nNQv5pZA5mCNAjQpR5L0SuYA8McojWEJFtSmpUEoeluBRrVPqnNapViIsmd/NJnQc7c3Shi3no/SFktXKuxvHCgQCgUAgEKgj0GMO1ot/+Wv69X//Pu9nWZo3v2nRYYViuwhW3eRe1CvEyPp91113Xa9wpdqICbAYMfJRLT/jz/rQhz6ULrzwwqz2ULSU8x144IGZeDmGNQWRnap3ikpEWStldh7FaV7LMR0LYbLEDZKHHGkT1gvBQn6Y3F0fTxnvmBagNh8fGPWM6Z/yJ8qBYmdb12Yb+5vZqO3oS9iqKkqWMNMttthirsyseb3O2D8QCAQCgUAgECgIzEWw/vjsn9LVN387rbfmp9MyS713DqT+66nfpdvu+X7aauO10tvf9uZhgWK7CJaWmGT0UnKktOfWWWedHLWANPXWyyR81Ay6enwCgqSNuPXWW+fTSCOvzpxzft4vatCWW26ZZ9chHfxKjQrpc7xSTOW+Stp6dR/tScdqtOgyQsSEr61pdiHSw+Te6LzIEt8Vf5WWJoLoq8wGdI2iExjtd9hhh+xJc00iMJAs4xC6KgdM4rtFnp3LMSh1pUpWV2+ULLEUjo+kOoZxV481LH4R4iICgUAgEAgEWorAXATL2n133PdQuvbcaWmhBReY42SvvvZa2mznKWmDL6yaxo7apKUDGayDtYtgUWGqZIVS4yWvVUalMWvPjDltrZ4K+UCQChmpbm9tQu1D5m9EBpkaNWpU1yaS3REU2VPF8I5kIGX1mYDITD0clflc1QkGb5P9G4WpIkxmOm600UY5EkJul5gHmFQL0eSfoppRu7RVxTpQrWDF7M6or/i0TA7QNkR+zHi0nTYo0kUx3HDDDbPapfWpZUi1qhKq3vixmiW6dxcO29P9i88DgUAgEAgEhj8CcxGszXaZkrbccM2c2N6oLr769ryI8tVnHz4s0GkXweKx8rIuyeDaZsgBYmXmH1UIOamHhTYDmYpFDap7sco6hCWhvZjfZVU5p9l3fF8M4/YvS+wgHo1mJ1qiR0uvWk8++WRuQ5b2o1ZjiYZAwCg+1B6tSC08hehR6JAgsRDamRQ0RLAUIsSEDwcEC0FiWrfeIPVLKrtCtiTTG3Mx21OxnA/BQsrMJoSNbYyFgoYAljE7DnLrHM3KdTQz/xsDvCLRfVj8MxAXEQgEAoFAyxGYi2B9ev0x6ezjDmia1P7wj55Mu004Nj1061ktH8xgHLBdBGv69OnZR8RbVJaYQQT4kPiRECDEByFpFAhax0bry/I4gkSXWOL1ZX8UdQuJEtWgEB7md61IZnBkSXtNuKfxUK6K4d0YbFcvBMWX7cviyZQkayRqlxXSqD1XVLAqOdFWtH0xthc1Cukx809RxM4+++xMrChY2plIGwKIiPJUUaq0Co2Dgsc0DzOfU7TMQHRsrUVrKGqj9qYFiCBSpOpVXUux0bNZJggMxnMb5wwEAoFAIBAY2gjMRbA+ud5u6axjJ6RPfeJfG478gQcfS3scdEJ6+LbZQ/vKejm6dhEspvLqcjT14UkeRxjMtvOyrwaCIklmy1UN6GbGUXQQiPHjx89xODMC7a8tZx95UzKhSsSBjbXokBXkyMy7UhQkyk9dmTn//PPnWuqn0dI3iBLSVtY2bHYbNttss3T33XfnzCq+LeoT5QoJRBJLrIMZhFQqrUNtPgqY9h9VC9mjZMENWaW2uSZky2xD5K1KPrt7JBq1C6seNGOAZbU1GgSrl79ksVkgEAgEAiMQgbkI1pa7HZq+8LmV05hRGzeE48Szr0733P9I9mgNh2oXweppLUKKzdSpU7OCdeqpp3bFNnix8035Xi/7IF9yrahgiBnCZcbescceOwe5QDwQBLlQiqp01FFHZYLCC1XNpdKOszxOqWatMnEIVKMSnVC257NCkLqLfaB+HXLIIbkFiNRR5MrizdQqrVPqnp8hVNqJFCV+NVUWg6a4IVfOh0xR62BIjaOG8bRR2XzXEm1WjdaDrCpY1lR0D6q4mGTQmwT74fB7EtcQCAQCgUAg0DcE5iJYF155azrpnKvTxadMmWuZnB/95L/SjvsclcbuuEnabfvm3pW+DWFwt24XwaovlVO/6l133TWrVL5TprTJmMK7a1NRprTIKDYUmOrMOGsSUrmqShTvlJl2SA2y5XwM6IhMNeHdrLu99torkzUETsp7MbfXx43EIHTFy+XzRusb1vdbdtll01133ZVJC6Xp29/+dm7pOTeTumtCrhAtZBB5QtgQKdlWa6+9diZmpfwcEfRF2UJoRVbYn88L/vbXPmSm5wMzy7Ba9bUKHRO5hZVZica6xhpr5F2Qtp122mlwH944eyAQCAQCgcCQRWAugmWm4LgDj0/fffgnae3VV0rLL/vB/LL78c9+me7+ziPp31b4SDrnuAPSwgsvNGQvqi8DGyiCRV0SfMlPxS9E1aHMlDr33HOz4bos/eLlLukdOVhvvfVyzhPPktl+jtOs+JgoSUgSUuE8vEu8WchEPfGd4kTFYnLXZkO6CoGxbyntL2SlOvPRZ9QhIaDV47pWvi5qWCnqDi9YoxJPofjAKFElnqLayjQD0nNnpiSc5Gchmwii8/tCIBElJK9EPmhlIkPahj5DHMt6ilqQZkY6NvIIJ8qW4FYqWKPFoG2vVaidKWOLX825eLxCverLb1psGwgEAoHAyEKgYdAoknXFDfekm26/P/3yqd+9/j/29707rb/OqmnbTdYeNuTKdQ0EwaIM8SCpww47LLer6sZ1L2zERnuNurLffvvl7ZGAsmCz9HUvfkSpFALhRV9afSWoFDlBGKgy22yzTWKqNwbnrhZiVUgNhcgsOcoMMsPLVQzva621ViYV1aLkXH311Zlg1Gff1bOtkBXnR4qKCd6xkCvLAhXyhcTxNSE8VDseLEQRqUTAKFDOV2ZF8lkhd1Qpx/Y5Rc6XNqJ9RDYgs2IvEEjbIqHaoEiR88AKdoghRcv5Jdw7N3UNKStFyTr55JNze7CQKtjBo+SIBdkaWf9wxtUGAoFAINATAj0mufd0gE7/vNUEq7SVCi7NCJaXs5aYduAJJ5yQX/j2NcuPj0gLjPGbglTIlGOKXUAWqDde6tQaiy5Tgag6zONaV45JEVt88cVzy61aCBVCpMWmxWg/sQaInf2VP1fVK2MzE9B4RTQ0WjuRcd75mOmRPOVcWohUrtIORJgY8ZGUsiQOtQnxgwNSCQftS+qUFmLVXC6SgW8McUP4EFUlrBWZuvHGG7Pyp5VoXwRWZpbxUauKglYwMfuRyuhcCJlnwvkK2ULI/HzzzTfPpAoJhke1bE/1iwoEAoFAIBAIBCAQBOuJJ7Ji0aqST1VVbKhAvEBVL1QxW1NNKE4PPfRQJiRUHSREG04UgZadFpXtikLiBY+saIEhaMiLhY8RFC95hMJXCdhEpKpr8SE3tj3ppJOySsNcjrBRfhAN7UnHNsaSyk7lMR4qmbZi1ehdxw0pY153ft6tRuZ8WDgHIlPaglqlrpU6hzCZoYjwIFyuB062N1alhaptaMxmGCI8CBlSpA1a4iYQQselFMJHS1Vb0J8RT9/hU49zsHxRIVtmY1LHqHa8Yq6xUfzDJptsMte6h616ruI4gUAgEAgEAp2FQBCsFhIsLTHtwWrdfvvteYZfVTWpe30YyGfMmDHHNogU0oBglDgECxwjAxSZsmCy7XxRWbT1qEDFiG0cyAZ1ho8JSXM86hbyROFCnviaECdj9HetMmXmIZXJMbUOHYMSRAWqFq8Y1QlxMr699947H6vRkjplP8fTrlTUJsQJ4REvgVhpEVK3eJ2oUkI9eaGMR9n+qquuyopbIa9m+mkN+hLYChcEj49Lm5VxXyFZyOnpp5/eq9/WWbNmZdy0EqmLZjUiYAhXlTgjrkW569WBY6NAIBAIBAKBYYtAEKwWEqxGqefHHHNMVqSQELMC1Zprrpm/ezlrxfmOdHnxV2e2lWRzBMgLHRGj7jgWr5J2nDYfoqKlZl+fl1acc1B3/Oy4447L5E8rsKyJ6BjaadQYhMv+FK/SUnReKpfPmO8RNH+myCFPVC4EqKS4l9+SYtjni+rNmn3Go1W58cYb5+MiVlSjEhhalqWpE1h5WcaPEMrHQqQoev6sPYgQjR49Og8LSYU1cqSoWpMmTepRcaKwibOYMmVKxp8HTpvWn+FQvV8xs3DY/jsZFxYIBAKBQJ8RCILVQoLFV1TNfkJ6vPSVVhbTtdZYtZAb3h3L6CA3SAOPk2BQPiPqjvYU0oFgIFOIETJCtSr+LcoJxYn/qcwURJBKu03rr1G7znm0wpA8x+Tn0jakDBkb87u2GIJHXRJKiqxQyeR2Udm0AosnCUFCchAk4xUU2pMBHG5UJxEVyv4UNeegXFXbcXUSy6fm/MgromaclCsEy/UigMrxq+sfIocUOcb3asRE/TeoxFQUf5UFtJtVKFh9/vcndggEAoFAYNgiEASrhQSrnlmFDJTZhJ6gXXbZZS6C5edezMiA9pcvpEhGFJKgveglbzagAFKtNZ8jQ0iDF78ZimIZbrrppuw18rmZdDxBiFPdx1V9mnmvKDKIFM8Xcua8/ExIGdKGLDkGgoUwKS3Kgw8+OGnLNSqES2tRe4/S06hcs1agViVSyX9FPeNxQjQvueSSrNLVq6Sq+znydsstt2SVidEf+VOIk9mGiG1p4yGO8PNZSW6ngMnYKsv41M9lDUXtSJMOVKNE+7JPeL9Zr/cAACAASURBVLCG7b+TcWGBQCAQCPQZgSBYLSRY9RmEiJHlcZAXpV3WKJwSAdAGKwsLU3CoMBQoBm8veIoO4oToICPiCbT9mOi1r/iTtCORILMOxQpQfihOMrIoO4zk9eK5QkqMFZkxVi0/ZMQafdqb2op8UXKu+L+oP2bs7bnnnjlCoUQ79PnpSykrfq4JNlp7xi66gUdKVlhvigJmNmGJTkDSXHtZXLp6DK1I6zRW1x5ETBE1BK9eSB4lkXleuS/OVyYAlO1DverNnYptAoFAIBAYOQgEwWohwfLYWLBY605RWrTwSmuOKsQTxJvkRe+7F3vxYFHAKF5mIVJxEB7tQC9+EQnIDkUI+THzcYsttsjmcgSMWqN9ZbYflclxtBy1DrXttP60Gp2LYlTysZyL0oZoIU5M7MgNJYuKhLDxIalVVlklK0LIFRO7GZMIHvXHz/tayJz9XQui5vopSwgMVQ5hrK+JiMQWclMWl6ZeaRWKb+A5c51UKuof4lk1nmsLIoR1M7qZmIgZMlUtY9CmrI8DIfVVZnj21AbtKzaxfSAQCAQCgUBnIxAEq8UES2sOgSlFSWK2LsVkTUGhGsmwQk4Ql3333bdrm+Jn8tIXKaAVaCag9pSZgmayIUPaiAiEdQdFFmjX2YenCMFA0hAn+5QQT2NBtkQtFG+TNhmVCmlC2JA1yg2/GPKGdDkOTxSSWNprxY/keqljdRLS068GgkK94htDHP2ZinXHHXekHXbYIatlVXLTaBIB5ass48Njdc011+TrQCDhi2RSDcvYKFeUrhLmWh2jVqMZkoisbZA1ChtvmPZpX6+vp+uPzwOBQCAQCASGLwJBsFpMsHiTZDSVuuiiizJJMQsPiVEIjxc20sPjhMBst912XQsZVx83ihjSIf4AiTn88MMzQdt99927lqax7iBixwBPwWL21hpkXvd3ZIM6w6yOsFGmqFRl9h+TuBaidqTPzN7TEqSgIS0CNo21LGlTCFbVj0Qxq6992NOvjQgL4yitOUSS34tCZfyqnKvZgtO2MdOxhI0inPZ3zcggsoQ0UZiQUkSWanf88cenAw88cK4hwta1I5qUxxKVEUGiPd3N+DwQCAQCgUCgikAQrBYTrOK7KiDPnj07v/C93JEpL3eEwMsdKaCKIDHaXePGjcu+p3oJBUXQ5Dj5bmYisiWfSZvNkjrOw7OFHFG2/Bwp0eJDMMwK5O3ix9JirGZlaT8KOxU5gGQhXFplDOhUHCbwqhG8GelBsihDztFTIS8IIMKnVdqsSvRBfYZms+1lhVHbXC/fmuNrGbou8RhFhTJW96XqxeKvEvYKp7KAte3LotImFPQmdqKna4/PA4FAIBAIBIY/AkGwWkyw6kb3b3zjG5lcMUnzGHmJIz8ICxWqlNl8yJNlWBoVIzsVSohnWRRaCxBps69FjbX1mMQpVSIiqDeIG1KAPCFGCBgCZbsSBKodhrQhYwiePC7EghKGoFDltAvLTDpKlessZIX6VUJDtR8dG5GsxitQhKhj1TJDrxjRHcP2zletQrC6m71X3V6LlNrG62YWIyI6YcKEhsnrojEQsRICi5CalKBViXSa/VhNwS/Ecvj/sxBXGAgEAoFAIDCvCATBajHBqodhUl54opAnJXeqeLK23XbbrKyYEVgKoUC86kSD2sVczthOdbniiisykeGDQrwQKMRJxAJyw1eFQCE+/FmiGKhUfFqIkwgGXiftS0rOxRdfnNtolCsKkPMjaltvvXWOf0Dkdtttt4bPW8nyQriY+hEn5K4s0NxoJ6Z0x6QuUbOodNp6CJefO6bxa6XKsuotwdIqdX2wdS/sq+3XqGSLwakQ3UZJ/NX9gmDN6z83sX8gEAgEAiMHgSBYA0ywEANGdn4nM/P4sPiiEB+z2RAdypZZcxSkadOmpQsvvDCrRdWUcI8kjxKSw4eFmM2cOTNvZxYddYjKJdqA2sSLhKBokzmH7RWyxSRvFh0PlKJqnXXWWVlpM/OOL4oq5osShIjY1gw8LcBGhfQhaEUBsr1rEu3QqGDgehE5ihGSyeiOjPJAlRbd1772tXzcnshPOQccShuWyZ0CZW3EZkW500I10aDe3q3vg2zWU+tHzj8VcaWBQCAQCAQCfUEgCNYAEyxtKG3BYlKn1ogm8DPl517ayIVIBooOZQq58fNi9i43FRHZeeeds/KiTcdEX2IYzFCkACFV2l3addqRPFGbbrppnrlo/b2DDjooqzaiIkrxcDGFOydC6Pg8S8gP1Uw7EhmRRt9oNh3lzfYIljI2qp3ZjKWME5lDLrXvimkeITLesmyQ7bX5XLvWp4IbslqW+Wn2kMOV+mU7qh9SWF/7sb7vkUcemQ444IC00EIL5UT9RucoBvm+/HLFtoFAIBAIBAIjF4EgWC0mWIiA7KRSWoRUKz4oswepVoiPVmHJczKzDSnQghJZwFxuNp0WHTIjqgBRKIUoITJIEeIjikA8AaKCHFHEfKdiITSIG8UK6fF3pIdxu7QtHZd/S2tOS45vybZaj9qZzoH8IIb2o4gx5lOnkDKFYCFnwlLtS3VCcBj6SyEpSJhxGROCxeDuz9QjSehV3xZlTntPyxJWsDVG/ihqXr2cVyyGa9Aq5XOjTvVEsFwLvJE5x4Cfay4lRFSrsTq2kftPRlx5IBAIBAKBQG8QCILVYoIFdAGcyI5CsBAJRnJKElKktffwww9nRYkHSktOBlN9BiGlh6dIy1C7UBuLuoUgnXPOOVmpsh4gjxSiU9QX7UBEiArEPI6UUIMY7SljiBOyokVXSBbFirkdyaiSOdfAOC4MlEImi8p1UNIkuZcqeVS8V8gKfxdPVQk0tR0zOR/ZKaeckqMZGPERGmOkbiFuZXkf2xuPlieDfG+KIod8yc+CkXM4p4kBPZXJCIhZaaX2tH18HggEAoFAIBAIdIdAEKwWE6y6jwfBKuqHpHGeIi99L3QEi9lbISsCQxu135A1pIQig8BQcxAtpIgpXWjoaaedlhPXHdcxtLuoTmILkDheJ+sX+nIuZEL+Fp+SolSZLYjEyd2qFuLiZ7Y3g5Hig/Cts846eTNtSIqS2AWkkHpkkeqybmE5FiUI4YIDVaoUtYhvDNFE1Pi5XLOxMb9TwxqtSWh/5MznIiqQWK1H5+HFQlh7G61g/NqnZhxGBQKBQCAQCAQC84pAEKwBJlg8UhtttFFuL1GNmL+pSdQlfiGEpcQX8DghY83KenuUKeRIG9GsQLMJqT4M2MgVMkRBQsCQEmZxREVrENlgkpf1hCRp6SEm3ZU2HyKIrBir81K9RBgwxLsG6pPtSpin62xEFJ0f8WKa91UK2UKuSruxOh7jZnCvKmHVzy2AjVAx1FMFESVEENHTei1rCPbmFwV2CKxjRQUCgUAgEAgEAvOCQBCsFhMsL3nKUqkjjjgip7RboFkxUCMqTOdmFWrzUXCoQJQff++ueLcoRciKEomgXagtxijv+NqN2mqUMuQDcUPiKF0SzHm2GNcRLC2xumJVzk+NM6PPd8oXUoaEyNbSduQXc108Z1XfWXfjFyUhGb66fFBPD3BZ5qdOloyrmNkRPtdpPK6H102bkBrWKLy12TkphSIeeLeiAoFAIBAIBAKB/iLQ0QTr5b+9kg4+enZ69LGfpz+98Je0zAeWSBPGbJ1WXXn5jMe137wv3XT7A+mcWROb4qMtxl/UqqoulWMGnpc+NanMBuRfYl4vhnSf8xpp4ykq1IYbbtiVHt5oXIiF5Xi0G7X+GNx5q7QEETx/d0weKyQKMWK019JjjkdKpk+fnokd0lKd6Sc+QfsPsaIyUcmoQgihY/qcguYzRMuMROqc7aqm+Ubjdl5qVbPohu7ugeMXH5jt4KxcFyWNYsaoLziUYsc8zzNWJgn0dh1ByfW33nprXn8wKhAIBAKBQCAQ6C8CHU2wkKozLrohbfql1dM73/G2TKjOvOiGdPdVJ6Q3LbbIoBCsqgdLq4zx3HcqikgGs+14qKhMRZFhHPcz7TDtthkzZmSCgyBoCfoyA6/82XeEAcmSg4XA8W9RsRjqqVyOb7ai8yFaCIpjM4Ebj5l1iJ62XNUrZRx8TRQwMwAtdlzabkgNhQiR8p1S5/y9XT4GuXJc6lJfyxgQRSodpY+PS8HQNTu22X8l1qF6/N76sMo+rgtBk8kVFQgEAoFAIBAI9AeBjiZY9Qt+9bXX0ifW2TVdNfvrabmPfGAugnXcGVek7//gp+ncWRPToou8Me/eagWrvlQO8zl/EVWI0kItojbxLFkWhz/L2oDIAzKjtOPEHSAyiJYvxKf8ufodGXJ8qhB/FAJCqWJuR7TMCBQPgeg5L4M7nxeCZTxIGv+WY6iSUeUcWowIWGk3mk2IwJRFpRnpKVo77bRTf569Pu9TZhu6Z8aEMFLFEETEEUaILF9YlfT1lWAZmNbuwQcfPEfMRJ8HHDsEAoFAIBAIjFgEhhXB+uHjv0g7jz8m3XvNiXMpWBdceWu69pb70gUnTU5vffNiXTe81QTLgSkpvEYKwdLy005Dqiwl40uLkI/JwsxbbrllVpN4o8yEU2bDybLqqZAw+VSM7XxDWmauCcFgqC+qk1Yi7xdVxnG1IrUPEZLiwULyEEQKEd+TbY2Tkqb1SEWTBI8Q8orxdYla0LrTNhyoMj5jMDakUfyC1qrxu17XoK1n3HxtiCHiWqo/BAtxdJ1ajlGBQCAQCAQCgUBfERg2BOulv/4tbb/HtLTBOv+edt/h9Zdr8WBpIZ52wfXpopMPSou//a1zYDQQBKt4pCg9CBZDuZe+Vp3Wk7BNM+Ns5zvisMcee2RChHwhTWYAUmwQi95UOScStP766+c1B5GeE088MZMvBvezzz47K1KTJk3KipYWIG9YmUloHCVM02w6hI9ihUDxWvFvaTsiVQohQ36QROnyvfU52RfhVCUvrLtrpMqVYFGtQD4pXjaKnXgHhJH/CtHyGXWrtPfmJYFd/hgjfz0XrDf3I7YJBAKBQCAQGNkIDAuChVyNmTQrfeB9705HTNyla7o/gnXC7KuyAX6HLddNB4zdZq67PRAEC0kqKe1VguXkyAqStcYaa3SNBXkRLYBIIAqiF8wq3GWXXfIMwd4WQifLySxDs+EsBK11aI1Cag+Pl1mAZjWKXuCjYowvaesyu8w6RACRFeSnLCpNWROgWlXnjMvxEEKErC9qDx8WIlTNwyrXiaghpFQ4REzYarWY7fnISrI7MmUcxk0VlBeGKDoGc774iP6Ue2jdRnEPUYFAIBAIBAKBQF8Q6HiC9cxzL2Ry9ckVP5Im77X9HFlKCBblauYhY9O4ycenSXtsmzZeb7U58Gk1waoHjdYJluVwLA3DkC4ktBSlyMw+3in7UI94jGRf8WT1pZArSs748ePzQtCUJq0zZniqD9KBjGkbGofSkpS+Lu5AUW2oQ86PPI0bNy6NHTs2q21ytEppEzp+CQtF2hCcnvK1qtdDBSthokiVyQCl6oTOz5FPOPGzOb9tBKQ6L5UQrrKs+kusqmPT6nU+5C0qEAgEAoFAIBDoLQIdTbB++/tn0k77Hp1nEe609T8DOhfMOUgLzWFyf/hHT6SvTZyVTj1y37TKSh/twmegCZa18bbaaquspihtOybzq666KqtLzO/K0jMUK607bT0J5hQk6ozlYihNvSkET7io81KdKGNajWIVHA9pQ5gsS0MxQ0pKmT0n4kA7UeuSMkUl8t0SN9ptRZmrjoV5nl8JydIO5c+iUPFEFaM8ktJdMczvt99+c7UZGxEsxzEr0nmQM9frPAiXGYWCV6skrTe4dbeN+8HHFWsRziuSsX8gEAgEAiMHgY4mWHfe93Dae+pJc92trTZaMx26/05zzSKUiTX9xIvSxadOSR/6wOvEotUEq5qD5fjadBZa1npTiBIFSUl5X2211dIyyyyT/y6uwUw9pncv9RJF4BjW02v0gkd+tASRDN8pOMJD+aKY37UFkTiZXFQq7TckiVm9LE1TBRDxs3wPxQop4wtDYihLxtqsmMLN5OONuvPOO7OqBAvE0fmQLapWs5R3x20UCmpGYFUxK+dHJPnBXK90eOTKGovG3V0afn9+tZ2LklXCXftzjNgnEAgEAoFAYGQh0NEEqxW3aiAJFlIjaV3bTF5UnWD5O/JAcSntLInocq4oOocddliezUc58ufiBaJMFVKl3SgLCqnynULlvCIgkKuyLI1jaOXxL5nNaExm49XT0alc559/fvY+lfgF50PYHMN11ImeNiPyZButSLEPSKGibvmzcVC1imG9kcKkfdqoFUfBc5xqGRO/lRahVHjGfp4uJKganNqKZ8QxrrvuujzxoMxmdL9kjPXF2N+qscRxAoFAIBAIBIY+AkGwWpzkXg8aNZvPi3mllVbKJMqMNy06BEl6u1l92l3aYwiG0iocNWpU9j8hYLZDWqg1VCcm+UKqSuux+qg1aqshV2biaf2JNkCgxEeUFmV1f6036pntxR2U5HU/o0C5Dq24MhOwECPtRSSQaR55O/DAA/NhC9ni3zIOkRTIW90j1YxgaZvKu6oTLAZ5BFPBR/r6cccdl7FGyKhfyKDzUMfmhQxRA2VjlXvknI6HHJtAEBUIBAKBQCAQCFQRCII1gAQL0GbmUVq0BpEiX42WlKF0UaksaoyACc80K2/27Nm5BaYsbIy4MHR3V818S0gHdQvJeu2113IgqRiCRnXTTTdlT5X2pTEhKpQvfi6k0JioYIhWlRg5t8gJhn3xEMI6KWIUJ+QM6aECNVrrz8xKoajVKmpcfYyOV2YTFoWP+qXFOmvWrGzQr4aNGr+lhfpDspBmRBcxRYyrx+7rUjzxz08gEAgEAoHAyEAgCFaLCZbHphrTgGCVF7I2WaPwUKRDa466Q8nip0JGeKaQLDELfFF8XMjL9ttvn2cANqtmpMT2VCQeKeSHMtVoaRnbObf2JDVLtITzIVvIYllIWTsQydl999271Cr7Tp48ORMd4aRHHnlk2muvvXJiPD9Wd0VpQoKq1YwsIlg8X8aHvJpIsMMOO2S1DCFChJDZqrrU14WfyzjKGB599NEcGVFV9WzTnyDTkfHPS1xlIBAIBAIjF4EgWANAsLzgeXaYuxEspmsKitaeBHUzA/mslNl3lsWRO+VnSMy0adOyB0trzDG03kQ3KC975Gf//ffv9qlt1FYrO2j98UI1K0TQUjmIofMhMTxeDOwl6sF3vit+JwRRSjyCo1VHHXONWnWuXZbW6NGjuwhbdwOvk5XuCJZWo3HyhVHSREsgdUiknK/6OotlBmdff92rY0B8VVUJC4LVV0Rj+0AgEAgEhj8CQbAGgGB5bEo7jNcIYUJIqCoWYUYCeKeEYyIHWnfIi5aWOATLwPiuzB5EVASQyqkqCzZbt1AkQqNCOpAeKpJjI0xKaxK5Qoy6azOaMaddh6DYV6uQB4qSpU2IDCKGu+22W/4zsuFzyp0WIqIl7f3444/Pax86HzJkFiI/mlZbs0LQqqoT1QgBrZfzm+EIDzgYh1mFZZHqRsevzuDsy692M5JXjhEEqy9oxraBQCAQCIwMBIJgDRDBKo/P5ptvnokGQkWFKv4rCgvVhw+qLOuCLPAs1WMB+LEsRYPQUGfEPDBXIzZyrPys+sXjxAxPNUNuEDNGedvXPUhm4JVZi8aMBNqH2lZKG9CYnEPbDUnSyqOuabtVS3ty6tSpmYC5VucTO6H4zBAhClczL1SdrCCqRcmrngfBRFa1Fbfddts8o08LFclbfvnlG/72NjPR9/SrXg+PrW7P6M/Y3x9vV0/njc8DgUAgEAgEOheBIFhtIlj8QpSgUpQZrTdRCgiUrKlCAEQP8DfZR1uLN8s6gggT1UadddZZWbERT0D58ln5ojyVYmi3EHJ3ZRuxCYiPc1UT5st+yCAyZtae8cqc8tVorT6mdpEN/EoULyoesoUMUe3sJ9qhUa7XPvvsM9fPETsZYUhVKYn00ty1IBFUrUqzL/m9XH/dRD+vRKiRiuWYyG7MIuzcfwBj5IFAIBAIDBQCQbDaRLC0/apRA4gKP1aJFOAhEpmATFBDkA+EhvKERFC8qEOIhT9TnbTvzCw84IADmj4fPGBVYtJsQ+oSXxYPWCPiQ0lCCvnBmOMt30PBQpyspVgtihMyaR/mfCTSF9LjS+QBxck1V6snj5S1EMvi0FQ1x+HtYrovBnntxwkTJuQE+5I6X9ZXnNelc9ybouQ5FmIbytVA/dMUxw0EAoFAoLMRCILVJoJF1akWTxKfEtVKvpXIAwRLy02rsBTig2TxaplNiEwgGqIcEBleKZEJZtE1qhKR0Owx1e4zMxBZu//++5v6uuzP1yWRnQrlu+V2rJmIwJQ2IAIov6ta9rMPwkNlQhTNUNQeLUXRksLeXcm4ou41q0MPPTR/RG1D/IwvKhAIBAKBQCAQGAwEgmC1iWBRW0QLKGqOtfm05viFqEZ8PLxSFJh6dIJWG1+VhZgRKbP7kA3lONpnPFcUoHr1ZNAu21PFtAkRJD6pejGPi4cwZq0xLUr5UwihoFTBqEzwMqgQwr4WRaskxzfbt6pglW3g5dpVIVj+jHyKuGgUxNrXscX2gUAgEAgEAoFAXxEIgtUmgkXpMTtPmdn3yiuvZA+WNpmvsn4eDxRCxdBejVIQ+yCGALnabrvtsuokrgGp0QJsRiiareVXfVBsI32dN4ryY/mgRnldjO1aY9ZJNBaz+/idqGg8VxQordD+VG9m+NXVOLMlzVqkjPFCmXFZSjtW8nyZjdmfMcU+gUAgEAgEAoFAfxEIgtUmgkVJ4Zf6zW9+k0lMIVjaZGPHjp3D94QwSHA3U7C6VqCwTsQHWbNQdFlvkC8KOTJbsSxPU30gtOSoXMWT1NPDwvuF/PExVUscgrgJxznvvPOyguXY/m42I5WuxDb0dI7q50jaxIkTe/QzNYps0NY0QQBBlIQv6b5UVfnry3hi20AgEAgEAoFAYF4RCILVJoJVFCzG7xtvvDFHHWjv8WCZBUeBqZfsK8SlugDyOeeck9tyPkM4kC4EQ9uR8qRdJ7agWTFqU6CUfap+r+o+VC3bVmfIVVWmH/7whzmKQUtRy1BkgmtDdGxXDOVaj8gfpa1ZIW1iIShxTOSOh5Ay0/N6IXLFeK9Fqe1ZzO68aHDUOkX6YOnPWppqxowZeWahnLGoQCAQCAQCgUCgXQgEwWoTwap6sASAii9AGrQHtQInTZrU8J5rK1K9+J9KnXLKKZlEUX0QGMTK5xdffHFuLxa/VrOHSDsRQRLLgMA1K8oYEsYjpuo5UmISxCMcddRR2Xyu9ekLWSqmeySNX8tMx2p8RPWcVDnEsFmZqYdU8og1quJB4+M69thjc46XKAlqmlwvcRbaqkijmtfZhO365YzzBAKBQCAQCHQuAkGwBpBgUWN4gARvMrCXKsutePEjWBSoqkG7/jhZm5CfiC+rKDmUGZ6nDTbYIAd4KkqO0l7UenRcY7APRagQC2Zx6heFqKeiUpW1BxsFdZ588sk5fuKaa67JypWWIZN71aivlWnpH8Z8swlLUc+0IeV99aYaZWSV/RybR4xyReVD+BDXDTfcMCGkzPCUNIWwIV+uJyoQCAQCgUAgEBgIBIJgDQDBopQgFb4zpzOwWyyZalUtxAjBorg08k5Vt5WbhTitu+66XUnlFjZGsOQ+iX3QBrMdFQkZM+uwWgJEfaaNZsmcYrrv6cFCmpA0Kpvsp2ppETo/75Nrdj3UKK3F4uHS4rNckCV0yoy/ns7Z6PPuktipbRaxlnivqFqUP3lcyJbPEcXqDMn6sjz9GVPsEwgEAoFAIBAINEIgCNYAECzLtTB+IyY8Q/xH9VBNN6MQrGYerEY37Morr8xkB9HiP6Ig+buMrD/+8Y9ZSRIHwfOFYHz84x/Ph6HgyMtiBJe+3myNv2a/Jo4tSsKiz9WikGnLmdVIITKbUMtPFpXsLi1I7T0EUiuTytTf6mmpm3pchTYo9ZCi9thjj+Xv1fP3Jhqiv2ON/QKBQCAQCARGNgJBsFpMsOrr1k2fPj3PBmTkrheCRd2SRt4oPb3Zo2nmHLIiN+q5557LifDInLUOFRJVLYSLF0oLr6SlIyOCTpuV4FP+K4qV1iJFipdqo402ysbzUsU0bzzac5Qxvif7IZdmSG6zzTbpggsuyOZ65K6svdjs3FQ2xEyLs1o9ESzbVluF/k51s7i24/nu3MVTBnNtx6hAIBAIBAKBQKDVCATBGmCCxXQuJ6osqcL3VLxAZt5pnWld9bWQJsRKK9CMOusNaiEiTUzu+++/fz4kFcff5Vapotr0dgmdusFcFMSuu+6al+opVfKprJ+ISFrGBtFCkBjbtTKNT7uO2Z8S1l3xdCGOdY9YyeHSei3L/xifJPlCUOutQudWzq09qU1r+R4Br5Lzewo37et9ie0DgUAgEAgEAgEIBMEaYIJVFlIuBKuqwph9hwj1h2C5eVpeSFWZiWh2otl6lCfHRSoQCf6vUkXB6m3Ce9mvkBt/RwonT57cpTAhPBQxypXwU+PhCVtrrbXyEjyF0IhwoIIJSy3BquX41mREmnjIFB+X1ipyqCwnZKak81QXzfYZbKmEJVJC2Kk1D1dZZZUcwFrWgBRK6vgUrLKo9SGHHBL/EgQCgUAgEAgEAi1HIAhWiwmWGYLaVEiOqhOsqrF6XglWeRokqpulJx5BVMPMmTPzR3xZ9Zwr222++eZZ8TnzzDN7/UAhL7xU9hOS6hqRrGppF1KxzHo0w5G6ZgmdI488MnvS7M8Xxgy/++67d5EnMxwdv2q6LwsrV6MZtB21YBsVkqXdV4hsaRXyhmlPlvJ3RNAEAARMa9M6irCLCgQCgUAgEAgEWoVAEKwBIFjV9fgoMdpmwjPVjjvu2DUTr1UEy3FFPjCuM7NLeTe7jyHdzL16ISEUKcqT+AeEqbdlFh6iVM5TXZ6mtO6QSkQMmXS9Bx98I24zzwAAIABJREFUcNpvv/0yCRSaKhxVpIRsKq1GPi1txqI0lbEw5fNOUaN6U1Vsq61CZA02hZxZWBo+1irUrr3qqquyqhaLQ/cG5dgmEAgEAoFAoDcIBMFqMcGqm9zLTWBCp8AgJyWZvZUEy4xCxI5CpDWH3Ki64b2Mp7QqxUjUW249PTiFyDgXbxVPVr3liPBpT37hC1/IOVQInaR1xIsqZVxUJsdSxStVPbd2HiJEaepNVQmW7autwkb7I3oM/PAy69EXNQvZigoEAoFAIBAIBOYFgSBYLSZYWk5e3KW0DPmAtMGYsZEs/iPKzRVXXJFbaZbN4TXqrxfLORElRIfaw5elDSY+oRnJKgSrvoBybx6mqo+Mb4pxva4+8YdpF6622mqZZFmHkc8KmXOtvFl8UEz4FLWqV6o6hjI7sbvE+bJ9nWD5eX1WYf36eMWoXZQ+a0RSs9wr+WJRgUAgEAgEAoFAfxEIgtVigqU9RtUppT1llh+FB9kwmw/hePHFF3NbTFYUpcbLXSFeCIivZn+uLjkjXJOJvL7+IDVLbIMkdubw6qLRzjMvBKu6JqFj8Ti5ZgSyWrKzjO3www/PpnVKligHM/mEolrmxwxLuVlmHFq6p15+JpZCvEN3Jcy00ezE+qzCRseA0dVXX509Y2YaUt+QRmpWiXTo7y9Y7BcIBAKBQCAwMhEIgtViglVvEVKRECJr9lGXKFiUHGoVcmTNPEnuRb1iji9fvFG+EDRKWPlCvhCK4rNi2K6TMWZ3pMZ3BK4+W86sO606atdvf/vbPj399Twq5JHvq7puYTkgwzvPk7abyIpnn302zwhEKJ2Xb0v6elmcudFAindK21OLsUpgbQ8LWVvN1hjsqVXoGFqssEB4eeb8nZrl2BtvvHGf8ImNA4FAIBAIBAKBIFhtIFgWPmYKl0Gl9YQQlZl4ZWkXf9dWK6Sq+r3+86effjqnwAsDpfwgXlQhBIfiY3vEBrFzzkbBntY+5Aszo6+vVW/FlVR459TuQ6CqJbrBLEEkypqMCCPChWBpGfozglTK/q7B9VjmBnGS7yWoFBGlCvpCznzmq8webHYtZlYy01ufsLuiZCGwxfBunUQEzdqKdRWwr7jF9oFAIBAIBAIjB4EgWC0mWB6dslSOP4soqL6cq3lS/TG58zUhNPxWJekcuaoTs7PPPjsb3qlXjYgBgtXM91RUIcQNGapWydGq/gzZcSzbChmVu8XHVApR0jpdffXV848s54MoaZdS8ZAoRLMkxItMkG5fLSnsiKUk+f5Ub1qF5bjM7shnIb/IniWKtDXNPIwKBAKBQCAQCAR6QiAI1gAQLMqKpHTZT4VgaTuZPVhdbLivBIu6op24/vrr93Rf8/kvueSSnIPFM1Ut5GfMmDENZ+6V7bTikEHtOdfj70UtanRypE8IKJJVVKnqws7ypxwHDggh07vWoe39HKkqkRKuUWBqvXi4eM16G9tQ3783rcKyD0Km7cmXVZL3GfJljvFm1VPme7whsUEgEAgEAoHAiEIgCNYAECxPEPWnEArEYNNNN51rvcHeEix+pXPOOSeb4xutaVh/YilKPFdypEokRHUbXiZesGOOOabpw87TNX78+IafuzYkisqjkC8kDgFzzbxfDPylLVgOUm0hWm/QNWkHWpCawqUtV9LYEVFer2rrz8xIBnT5Wf2t3rYKHZ/yxpdlLHxzCjnkzdJ+RbSqEw76O6bYLxAIBAKBQGD4IRAEa4AIVnlUmKT5nOpLw/i8NwRLlAFlSEvQsXoqxMcahWb0MdAzoCNcCllBuEoiejXhvH5cKtGee+451+mQK14o3+tVUurLTEqz/z71qU9lQzs1j9fK+MoSONQgHifqFZXIOLfYYosuw3ujdqQxI16uoT/Vl1ZhOf4NN9yQ27HwLOW+IFpahiuuuGJ/hhL7BAKBQCAQCAxjBIJgDWGCZbacOAcert4UIsADRQUyS7BRFfWJmuSrWdWjGMp2yB7DeaNC4CZNmpRVrLIMD1M7czvCZxYh1afELiBbxsyYr/XnehEyaxmW4hWrlmMjZtqX/a2+tArLORj1+cC0DKuqFT8Z/5vrqi9L1N/xxX6BQCAQCAQCnY9AEKwhSLAsI6N9ph1Y9Ww1e9yYxKWkF+N4syVfkBMKUCP1qX7sehRD+bynYFIEC9HiX7K4Mu+VTCkkkYdJNpZ4CDMIKT+8W7fccktux33605/OP6cUlcgF6wtqQVYLqWHcnxflqC+twnJu4ahahtTE6tqFwlapWcZdXTux8/95iCsIBAKBQCAQ6C8CQbCGGMHSwkJi6i/xZjf4scceyy1EM/C04MpMvfr2iMxNN93UMMyz0bGrsx2rn/dEsAohQuK0J5EnsxmZ2S15Q8WSyo6EUYJ4sHi2zCY0S8/PRUuU2YKFsFXH8NJLL6XTTz89TZgwob/PfU5vd84yU7AvBzJDk2+svoQPZU07lJrVU2xEX84X2wYCgUAgEAh0HgLDmmA9/8Kf09Rjzk33P/jj9KbFFklf3XK9tNv2G85xlyzFwhM0UNXIg4V4/PrXv85T/3l4LMrMb4RoGE9vX/rIixgGLTaKTqO8K9fVbH3EZtfcrD1o++rahVLaLeBcnS1Yb+nde++9eWFnUQdmDq6wwgrpxhtvzD4qpnXKFbXKUjt33XVXbifKqiqBnwceeGDDYd5+++15u2o7sa/3sD+twnIO+yKNJi9USyo8NWudddbJ7c6oQCAQCAQCgZGJwLAmWPsddlomH1PHj0q/+8NzaeykWenIyaPTGqv+M7ag3QRLfIKWkhIWSs0RGIpgbL755nmmYE/lxX7uuefmF7g0d8GlZfZdo317Up3s84Y3vCEfg3m8uzZXlaxRxCzoXJaTaWRK57GSYo+EacshZXKy5HlpZVoLkIFce1N7UFuRsmUsCJnlhZqVJXimTp06TzP5+tMqLOPhIbPcD19WfR3Jm2++ObdDqVndpdT3dK/j80AgEAgEAoHORGDYEqxXXvl7WuXLY9Nlpx+SPvrhpfLdOfb0y9Kzz7+Yjj5o96671U6CVTV/GwCTOVKBYDCB77///j3OjjNeHqRddtklK2BaaVqD3VV3gaJlP225nXbaqVdPsXgGShbixnck0oHqZaZkvTXGi4UkIZJiIVwvzxjljacJOdPmnH/++fMxrr322uwRc5wZM2Z0a2Y3W9HsxC9+8Yu9GnejjSiJPGK9vfb6MXjM+LKY9OszGx2bmqVti3xWyzWaNdlseZ9+X9AQ2JFCyzc3HP1oWst+B3vzH6EhcCv6PAT/YWhmM+jzwWKHQGCEIzBsCdYvn/pd2nDU5PTgt85Ki7xx4Xybr7zpnnT1Tfemy87458y0dhKssqRMeea8YM8666y82DESgig0yq0q22uLeaF7mVNekILFF1+8x0cYwULufvnLXzZdvLisTdjjwf5vA6nqe+21Vx5HdwsiV8NBS3sR8ZAnZVYeZUtbDQHTLtQ6tEi1GXkIi7DUelBqdYzHH3989qshef2teWkVlnOaPKDV20hx45GDFzULqeTVqk40QETc+072bbme4447Lt/DalH2Jk+e3N9bM2T247tzD6vlP0ajRo3q8T84Q+YimgwEabzwwgvn8md6LpvNRh7q1xTjCwSGAgLDlmD95Mlfpy13OzT9+O7zulpIN93+QDrr4hvTDRcc2YV9OwlWyYdqduObzdzT5jRLUDuOz4qyQ+3qaV29ch5p8tQuL0Ep6fXFixu19np6OP1P10xH4+qupk+fnqMbECbnF9vAa8Z/hXBSOqh3crDMMuTVomZpHSJha621Vl4LsFlRv0RTIC/zUvPSKizndW3PPfdcsvZkvRj9tXWRS6Sjrlx153ubl+tq177uc51clXNb23G//fZr11Bafh7Pn5Z2o9LOri+k3vIBDPABtdr5JBvV9ttvn//jEBUIBAJ9R2DYEqyiYD1y2+y08MILZWQoWFfdeG+6/MzBUbDqZnNqhhdtyVUqQZ3V28iTRMVhfDfLTjtq4sSJvfId8TtRSyS6IyFIy0EHHTTHU8IHxcPV10IWXI9/nJtVo9l+SBW1R5sRSRNFgXBISqdmGa8/I07CPJXZgt29xKgLlg+qRif09XrmtVVYzgdneV58WXUCTMm69NJL86xKRJIRvlr1CQJ9vYbB3P7rX/96DrgVFNtIievka0MeTczQijdJo16NZroO5r3oy7ll2nkum7UG/U7uvffefTlkbBsIBAL/h8CwJVjZg7XBmNwOLB6sGademp557oU0Y+qYrgegnQqWk1b9UEzuZsFpNZhtaH3A6suJN8jL+Ktf/Wr+zp+kLdddaQUyVzNZ83hpnSFnZuVpQ/GOUJIoRzK2+puIfvDBB+f/2XY345HfyjiQjVL8OWYWljIWypV4A+3R559/PitbcKJe8WvBppBPZnwtSapbwWpeIheqWFIqjMNajcgjbHjT+ooRXxgirL1idmfxlPGsuXbXq9XLR6dNivgqSk9ZwLvT/oXS7kYakWr/EUA6tLS1f1Une838TinfqasIh9+xomq5b9XFzTvp3plc45mnvD777LP534eqB8vvW7OZvJ10nTHWQGAwEBi2BAuY+0w9Oc0//3xpyr6j0h+eeT7tfsDMdNj+O6d1PvfJQSNYXkRIhhlohWBp/TGIVwM1vYwRiTXWWCObam3La9RdmaHof6JmKVrqxj+YZhoiZloAZfZiOQYi42fFD2TmXt2M3eh8kssRPa2wugpT3Z6aQz2rtswaRUY4v5eVF/PnPve5rFwxwVsMmkdNe9HMQ4SunA+5ktVVMLMckTZbd7Mpe/oF4xGTr1VUtULg+tNCda4pU6Zk304haF7O2p7VomK6D8r4vdA6sdw/M1rdtw022CCHxmoDI9mqO2/hUL9ev6+ICNVVpMs222yTCQlPo/LMdWobzT3zO4n4U5Lry2NRYeclb26o39sYXyAwkAgMa4JFrZo649z0nw8/nhZb5I1p+y2+kMaOmnMJmXYrWNWb2WgtQmoMXxMDO/UEEUM4GNu7K+oLT5SXuH8UETkmVS9w7bwjjjhiDkLSbMkbZGDHHXfs9lxeLNYjtF1ZBLnRDo1m+SFT1CkqT7UQESodtYqKQ7l6+eWX83V4ebsmJBHJRB4LISk5VJQvMxb7284oMzyRAu1CL8yqctUoUb47kIpS5+VluSPBpN1VpysFWoSe3WYzWju5Rcjz6D42U6k6+doQx6OPPnqu1RLKs6rtPnr06IF8B8WxA4Fhi8CwJli9uWtDiWBRqbT1StvtgQceyP9zrodZ1q+LanXyySfnF4DWBcUHQUBOkBkz9Bjbd9hhhzxj0c8RpEaFAGnHdTfFXiAo0saUrwWp/eN/8f6H79gULoQFMUSW5HxRmihyVBrnoBa5tlKyopjEkSjts6WXXjp7shAVpEc5FpM/VU9bpv6Pv+BVqhf1pK9VCJFxy+5ynmpQaCN/XHfn8NJC1GBD7aDmwb7ZTMG+zuLs6/UN5Pb12bH1c/VXARzIMffl2OU/PY326XQDv2uaNWtWbhM2qk4mj325x7FtIDAQCATBGoQk93IjqwrWxRdfnIkQr5SyjIvZg83WFbSNf/iZwrUYteLsY+kZL/Xvf//7efYdwuK42m/Kn1Vp3ZSxUIz4ZyhIiI3vjcqYkEBhp8gVxaxZaRdJevdVyvaiJRANx+Lb8TkSQrFCrhzbOO1vHNQpX/axJBC1h9nYy606I1L7TUZYf2YUMtX7KoUkVsNDEc6+JP5fccUVmWgivwihmZJmTxo78lhtBwti5cfqxEKoLezdbH1LpHLDDedcPaETr9Pvmha8Z1R5jvnrtAuHQ2mx+49MaWH7Hd1uu+2aKlvD4ZrjGgKBgUYgCNYgEyz/iJl9RSGh9CgzlpCcZoF/SBOVBSmhfJgez49EtSqp4VpwJ510Ujat+pkXvPJi52O6+uqru54tL0fHQ8IcY7nllmvqZSrrBjqn7RpVISeIGMJXV22oTPVroyCZ9WgsvhAs12mGpZakY/lftvX//B3Rcoy6L41p3Njq6wT29IvEi2ZSQbNC5Ao57elYPqccag1qLcnGEo/hz67Tn/nSEExfqlONxIgHNZNx3zPm3larWfRIbzCMbQKBQCAQ6GQEgmANIsEaO3ZsWnHFFfMsu6Ly+J9kd+sKIhCWqPHCp6p4sX3nO9/JZKc6O4/sX8zziAo/FDWIWkLhkTBeL6SMwmK2YbN1DQUSOj/SZgakYxdiUkJP/U8YIULmqGlM40hFtaozC/0cwdMypKwhcbxdvoy7kDEtU34s12Vbn1OK6sUzw4RfVLve/IIidSeccEJWz+rVaIZnT8d0rLrPzD7OI3rDNfDHaSOq7pTKns41mJ+7X4zSyP4jjzySCW91xmAQrMG8O3HuQCAQGEwEgmANEsFCpOQlUTpKK4q5vdm6glpn2oECOS2Po2677bbc1rNgtBe3mYeIB3+TFzdjtkLKKCeICiJH1UJUKCz14t/yebWtV91GC45qQanw8nzwwQezdwqZKXleWnvGo42CsPmsbn6ue7z++7//O896tA/yWKINkBFjKvtrpWpjwIHKp/00bty4OS6DJ8j19zWFmoeM+b9KjJArbaC+xgw4lnvcm+pkgztVjp/P9bqndbUyCFZvnoDYJhAIBIYjAkGwBohgMVxTcuQBmQHoRWNmIBM6IoVEiE+QyI5gWR4GWWg0C0ueEDM+wqDlpsyY086rh4R60VHFRARUC2HxMmRGZ1zlnSlErGzHJC8uorvcJ9fDq4TclKnp1WM7FlXNi9Z2sqyqfqNyrrp5tjtCQpnjY0LgeLG0N7Xr5HghW0ztliyplrgFoZeIWF+L0b0QvL4Sq+q54E2BK+sONlK0bN/JJvDulD/X1tfZl329V7F9IBAIBAJDFYEgWANAsJAlREpZpgYxYsrWEjJdv6SyF5M7r5TIg7p/hS+IakV50o5TfEhUL+Sh0RqAfFzae9pyjarRkiwIRW+JxLRp07KBHhnrLjkdEaJ0NVpHsBGh6O5FLb7B5wgdkkXp0qYcP358bk8hUdSTzTffvOuSERtql5aofZFG23S3ruFA/5IySdezyERxUMg6eR1CRBJZrxJIqhyyPhwXfB7o5ySOHwgEAsMDgSBYLSZYVJuqvwnBYv7lkSrttxLDIJvKLDqqUHVZFTOVECuFnBUvEV8Tr5LE97qnybb77rtvVsW0x7QEkYyqp8g4RD7My8tc/ADyhLQI/yzFf6WNWQqZ1IIs5vry8+7G0OhFXVp0JgIw8hcT/2GHHZaXnZEor0XJj4XE8jKVGApKmhd9dQyD3bIq6lhJ0+8tsR3q/9y4nqryR7VspFwO9euI8QUCgUAg0CoEgmC1mGBpDVJ4SiFYjOBmtWndedkjQkzBZhAiUtX07vvvvz9P7UesqsTAzxAni682K6SLalTM5rZDWpQX+bwQK8egHCE1rsc4ioerHLu8ZG1LWeKrQnyQIl+9HUOjFp0YCi3XolJRS7RczRjUPmSA12LVAjUb0RprQlp5zarLC8EAoY0KBAKBQCAQCAQGEoEgWG0gWOuuu25X+CVFxiw+SpPsqeLBQkaoU7KWbF8tihjPU3fL0piVpv2oDTVQRRGytpzvPQUQIo7aX61sEWmNMvSXRG2zDbUJtVCpJbxa1m3kV0MCFUyRrmqGVScvzjtQ9zaOGwgEAoFAINBaBIJgtYFgfeUrX8nRC0UFokQhIMWDZeaa9hrje1V9kpHErM0orv3VrKZOnZqziCw3M5BlnNLUpZL3tCSNOAfrCgrVbFWZUSiSAokqhVAefvjhmfCZQYlkWUpHW7XawqyOIQhWq+5IHCcQCAQCgUCgGQJBsFpMsABtXbZSWoSFYGl9Mb8jW1pVWm6UF6pMfU0/ZMlsQ1lZZe29ZjdR+43fqpmxvVWPv7UOtS21HS27011ZukcbsRnJ6e+YzJ4U3Fk1+Gu5mmnpnLKYeLL43ShXxbNVztfJkQj9xSz2CwQCgUAgEGg/AkGw2kCwtPbECsis4kNiwmYUl0jOr1VdksUjoPWFKPRmkVWz4kQ7SH8f6KIUrb/++tnj9OUvf7nb05ltOHny5Kx4tbKQVOofw3spiqAkdPjytZloQOmS5WU9wSq+g21ybyUWcaxAIBAIBAKBoYtAEKwWE6wrr7wyL3JcVbCoVLxIVBeeIG0zpndeJqb4KgHwd9lOvVm/7dhjj00zZ86cY9HkgXrUzApE4sQdWAOwnr9VPS+io7U5YcKEARmOsFMqoEkDpahWWq5lAWo+LDjyjPFo8YNRtGRnRQUCgUAgEAgEAgONQBCsFhMshAfBKDV9+vT8cpeOjmjdddddeZkULUKz4qoEi48KaRCc2ZtimGeAr5vie7NvX7eR2M7jJIdLO7Mev1A9nuVTbr755rwE0ECUMcyePTvtt99+cxz+1FNPTWeddVY6/vjjc8I8zxZfG8+YyQRRgUAgEAgEAoFAuxAIgjXABKvqwarf1Pvuuy8TrKL4MG8LxuxNUcDe8pa3ZL9RO6rMChQjwVNWD0WtjgGhEatgQeOBKssMIZhVRcqsTP43n1ESRTRQu2RlabtW24oDNa44biAQCAQCgUAgAIEgWC0mWEBtZnJvRLCOO+64PPONmb3Z+n/1/ag3PEdM8u0q6fSIFYXILDwm8mbFcC+nyqLRA1Xaf9RBMyirZR1CZneTCWDEL0YZtK2WbHc5YgM11jhuIBAIBAKBwMhDIAjWIBIsS8CIYGDM7kvJxJIJtfXWW/dlt35vK8zzmGOOydEMjVpz9QM3Upf6ffJudqQASsJfe+2159hK2/Tss8/OywuJt0AGL7nkkmy6788i0AMx9jhmIBAIBAKBwPBGIAjWABAsj0zxYtVbhGYQ8mJpoYkwOOWUU+aaRdjdIye1XIgmctGuQkruvvvuTAZ9l6DeXV1++eV5zT+m8oEuxM+CwvWUessQaWvyY1GukFLp7lQ4ywd1F9o60GOO4wcCgUAgEAgMfwSCYA0QwfLoMLHLpqoGjfJcIVZmwVn418y8ekxDs8fOgroWha4uqtuOR5Tvik+M76o3CpA24kYbbZTe+973DvjwHn744Ryw6nzVkoyvNciDZfwnnHBCxh12ZnQiXBadjgoEAoFAIBAIBAYCgSBYA0iwvOB5qwrBslYfz5UXO+Jl8Waz7XpLsKS8U2Ycs53FMK7VJoOKT0xCe3clPmKPPfZouCD1QIy7WagptU27ENniIdO6NLPQtcDcAtzdJeQPxFjjmIFAIBAIBAIjA4EgWG0kWPVHqswi7A3BWm+99fIC0eIH2l3Un5133jmnpfdESopfy8y9dhUlUDDrNttsM9cpecZkj4m+EJLK/I507brrrllh1PYUoxEVCAQCgUAgEAi0EoEgWANIsO655548k67aIqzePGnjN910U48KFiK2wQYb5Ayqdlc1NLQ3rT8zGy+99NK05557tnWo1EJ5YPWYi5dffjn74bRmjz766NwilKpvViHlS9t122237XE5orZeTJwsEAgEAoFAoOMRCII1gATL02Htu2YE68UXX8zp4z0pWO9+97vT+PHjc+xAu4vKYzkfMx2bGcqrY2q0IHM7xmxGphYgZapeTO7Ut4svvjj7saxnKIn+kEMOybMLTzzxxIyvexUVCAQCgUAgEAi0AoEgWANMsCwrs8kmm2RTe7UoLZLRJYx3R7Dsa81CJGEwigo333zz5aV9KD4TJ07sdhhadTxPEtTbXd3NXmR2pxgijFqGssqMkbp1wQUXZPLYzrZmu7GJ8wUCgUAgEAi0F4EgWANMsKSNe/F/6UtfmuvOUq+6I1i8RZ/85CfnWHqnvY9HSt/4xjeyKX+RRRZJ3/zmN3tcgLoQMmsCtrt41Ix3r732anjqGTNmJCGoZhFKdb/22mvTu971rqxqTZkyJRMtkQ9RgUAgEAgEAoHAvCIQBGsIE6wll1wyjRo1KrcRB6uQEoTFoskI3xZbbNHtUMqSOkjMYBRPm3iIlVdeea7TWyORwf2yyy7LHixRDWInfvWrX6XXXnstL+3TrM04GNcS5wwEAoFAIBDoXASCYA0QwXrqqaeyWoIg8fdsttlmuc1Wre4ULEu6mDGI1AxWPf/889mvJMH929/+diYhZt11VxdeeGGOcVh66aUHZdhCRIWLNvOruY7HH388L/lj8oC/v+Md78jEy/2x2HazGYmDckFx0kAgEAgEAoGORCAI1gAQLAoJYoRkMVZrl6222mppscUWSxMmTOh6UJoRLDPd3vOe9yQz4AazfvzjH3epVmbbIU0S2rurk046KVm0mjo0WCX/aoEFFkhS7xvVOeeck/OwpOnzY5133nk52Z0HS4uQ5+x3v/td2nDDDQfrEuK8gUAgEAgEAh2OQBCsASBYZbFn6+FJGTc7rSgqVBJ5TKoZwfrgBz+Yk8mZygezqmsKNotBqI9PECqiMv/88w/m0NO0adPy2oOIVr2KykUh/PjHP55nE1rSSDjq6NGjc+q7EFhLEq255pqDeh1x8kAgEAgEAoHORCAIVosJVlGvPA6S22UvfepTn+pSQ6pkqxHBYr4WKUBhGewqys5SSy2VE+iN7U1velPTYf3lL39JZ555ZjbuD3ZZd1CLs9HkAmN77LHH0ve+9728nM6hhx6aJxMwyG+66aZpv/32y63RO++8M4nIcP+iAoFAIBAIBAKBviAQBKvFBMtMNKZp9dOf/jTPUBPRUJaX0X6imDRTsMzWk49lSZrBrqIC/eMf/0iWvznooIO6HRK1rjczDdt1XQz6Wn+In8WgJbZrvZZiyH/mmWeyZ2vfffdNTzzxRI7OsI01Dv3M9fg7kmktQ7EbFut2LN87scRVIJevvPJKbltTVev+wE68LmPWlqdMCuV1v7S03bvhUP5T8K1vfSv99a9/zW1sz6B2fFQgEAgMTQSCYLWYYGkvVRdj9pLfaaedchxAKYpJI4KFiAnAZBQf7EI0xBjDPgqSAAAes0lEQVSMGTMmk47y5+7GxTzuJSBYdbDLuomyrcwc9KItxMrsRtliyjaCSb2wvJh55Rj5F1xwwbwfYvaFL3whUcMsESSvDFFTvkvpH6zZkv3Fl6KqRVov61xqkXZyVdXj6nWstNJKg5LL1kosKa3y5RpV+fekleeLYwUCgcC8IxAEq8UEq/6P/J/+9Kc5lA4v7xJoWW0RHnDAATk+oNk/ovN+q/t2BAoORYoX7Cc/+Uk2hIsxaFSISlkP0FqEzOEf/ehH+3bCFm99xhln5DFRERFeZKgUgoUYIcOu0TYUHcTjy1/+cm7tWrNQO5caqUXoPvJzWdOwFJLFFF9IV4svoeWH03qmqDarLbfcsmMXvxYgK5W/UVF7tLe1ezu1iq+z0fip3j0FAHfqdce4A4FORiAIVosJljXvLC3TrASPaj2pKsFadNFF84t+qLQzbrzxxiSHizfJS9mahNb6q5coCmZ4BES7Ddng01p11VXT1ltvPSi/GwgS9cr32267LVlGZ9y4cV1j0TZiXrdEDgJlGyGltqcirrDCCvma/NlMSuoXM/y9996bF72miJVyjSYldELNmjUr/eAHP0h33HFH9pots8wyedhawMrfrcvYiXXFFVfk3zuxG2aPlnukDarM4vVMdmJ5BrWzzX71TDaa3RoqVife2RjzcEcgCFaLCZZ2GvWkWVFALNxcJVhaGFpQspiGSrkG2V3+198svBOpYmpHTHwZvxdbub4dd9xxUMgH0sQLV6quIvKuIFjVbezjZUzt8BKzT1GmtD4RTe01n1eLytVopuJQuY/VcYj9MDPSvfK9rJFppQHlOmDTiaWl67qQfB5GrW338/zzz++6nMGe2dpfXAsBds/82e/k2LFj5zhcEKz+ohv7BQIDh0BHE6yX//ZKOvjo2enRx36e/vTCX9IyH1giTRizdVp15eUzYtd+87500+0PpHNmNV8/j7F52WWXbSnCXljUqHpRqbQCS1GwvPSEXmqzDZXyj7ik86lTp+YhNQsPrRMZPhGepaLC8TQNRsxBUbCa4VlVsOYV88Eikf0Zt4kKVB6zIwXg1k36//qv/5q22Wab/hx60PfRXqdeUVS1g+ttWwG5zXLRBn3wPQyAgmWG6+mnn56DcP2O1SsI1lC/izG+kYhARxMspOqMi25Im35p9fTOd7wtE6ozL7oh3X3VCelNiy0yaATLg1RiAPh/mKO1mFZfffX8jBXPEpVIgCeCNRRmAyFMZpj5zr/khcScL4yTmmVG3qOPPpo9TUgMv5V//Ev5WfXFpi3T6GXQjl802FITG1XVg1WdkNDXcVGvtHs7xYNlnUhtzmZl9YAPf/jDfYVhSGxvkoJYkWZF0QoP1pC4VTGIQGDEINDRBKt+l1597bX0iXV2TVfN/npa7iMfmItgHXfGFen7P/hpOnfWxLToIq/PBhsIBau7pwdB4adQM2fOzASGmsAUPlieJWPRBnzooYdya+zZZ5/NLaT3ve99OUsKRhZ8psCVdkVvfkO00yyzMxhxBkgsVaNOoFxHycayzaWXXppbSn0t5Ira0yn+q3J99Vmu5efWb9x99937CsOQ2v7qq6+eg/CXwVXDfYfUgPswmGr8S323UK/6AGRsGgi0EYFhRbB++Pgv0s7jj0n3XnPiXArWBVfemq695b50wUmT01vfvFgXxO0mWGWa/AMPPJDuuuuunPDO+0L9QbAGY9o/osFLVUo74v3vf3/ORrJenxl1n/3sZ/tFJhjEzeAajIKpa6PIIXnGUs3BMqayjdYZMimawbX7QjbNLPTd5IS3vOUtOaEeqXKcTlGu6tibMfnDH/4w+5Vcp4y2oTK5Yl6fE0qW32kTG5j2tT07Wbmq4uE5NFPSf4Dk5PHLdeqkhHm9z7F/INAJCAxZgvXCiy+lf/zv67Ob6vWmRRdJCy204Bw/fumvf0vb7zEtbbDOv6fdd9gof1Y8WFqIp11wfbro5IPS4m9/6xz7tZNgVT1L/Ff+8UdcvNw/9rGP5Zld2mrtLsqV9fsUlaosi6PFJjaCCmQKv5fXr3/967T88svngMpqmWlIsRJzUDUTI49Tpkxp9yXF+QKBQCAQCAQCgUFFYMgSrK2/9vX0wp9fagjOofvtmD7zqRW6PkOuxkyalT7wvnenIybu0jXTC8E6YfZV2QC/w5brpgPGzm3gbQfBqmfYzJ49O4dZUkJ4nSgjjPb+p73yyiu3/YGQIeQLQXJ+qo7sK2boPffcM4+H1+qRRx7J/3uWu6N9WC0BnfbhNePXqla0MNp+S+OEgUAgEAgEAoOMwJAlWL3F5ZnnXsjk6pMrfiRN3mv7OabRI1iUq5mHjE3jJh+fJu2xbdp4vTkVooEmWHVyddJJJ+XkcK1B7TcKFpVIC4v5ejBm3VV9YVXcES2qWwkNLa22Rp4qwaRaMvXPKF0TJkzo7e2M7QKBQCAQCAQCgWGBQEcTrN/+/pm0075H51mEO239pa4bsuACC6SFF15oDpP7wz96In1t4qx06pH7plVW+mfK+EASrDq5khNFCTKrcLvttsvESr5SabfxKtU9Qu14yhApIZR///vf+3U6apwZhY1KJILWZ1QgEAgEAoFAIDCSEOhognXnfQ+nvaeeNNf92mqjNdOh++801yxCmVjTT7woXXzqlPShDyyR92snwZIczkhtOrxkdKnalmGRHK4Gi2A5t9wukRGN1qkrAL/jHe/ILcJqMdrKGDJjD1Gr1hJLLJHjJzrVDD6S/iGIaw0EAoFAIBBoLQIdTbBaAUU7CVZ9vGbumRpf0sEHK5izOi54WDZGLb300jkIVWn9+Sqz7qo/K/vzcRUCZt/hMnurFc9ZHCMQCAQCgUBgZCEQBGsAktzLI9TdAq2NHrOhQLBG1uMfVxsIBAKBQCAQCAwMAkGwBpBguWV9IVklYXxgbnUcNRAIBAKBQCAQCATahUAQrAEmWNb0a2YAr97kTlt2pV0PaJwnEAgEAoFAIBDoRASCYA0wwao/FJLFmcmr6+RJCbfsymDMIOzEhzbGHAgEAoFAIBAIDHUEgmC1mWCVB6KYxYt5fKg/KDG+QCAQCAQCgUAgEOg9AkGwBolg9f4WxZaBQCAQCAQCgUAg0GkIBMEKgtVpz2yMNxAIBAKBQCAQGPIIBMEKgjXkH9IYYCAQCAQCgUAg0GkIBMEKgtVpz2yMNxAIBAKBQCAQGPIIBMEKgjXkH9IYYCAQCAQCgUAg0GkIBMEKgtVpz2yMNxAIBAKBQCAQGPIIBMEKgjXkH9IYYCAQCAQCgUAg0GkIBMEKgtVpz2yMNxAIBAKBQCAQGPIIBMEKgjXkH9IYYCAQCAQCgUAg0GkIBMEKgtVpz2yMNxAIBAKBQCAQGPIIBMEKgjXkH9IYYCAQCAQCgUAg0GkIBMEKgtVpz2yMNxAIBAKBQCAQGPIIBMEKgjXkH9IYYCAQCAQCgUAg0GkIBMEKgtVpz2yMNxAIBAKBQCAQGPIIBMEKgjXkH9IYYCAQCAQCgUAg0GkIBMEKgtVpz2yMNxAIBAKBQCAQGPIIBMEKgjXkH9IYYCAQCAQCgUAg0GkIBMEKgtVpz2yMNxAIBAKBQCAQGPIIBMEKgjXkH9IYYCAQCAQCgUAg0GkIBMEKgtVpz2yMNxAIBAKBQCAQGPIIBMEKgjXkH9IYYCAQCAQCgUAg0GkIBMF64olOu2cx3kAgEAgEOg6BZZddtuPGHAMOBOYFgRFPsOYFvNg3EAgEAoFAIBAIBAKBRggEwYrnIhAIBAKBQCAQCAQCgRYjEASrxYDG4QKBQCAQCAQCgUAgEAiCFc9AIBAIBAKBQCAQCAQCLUYgCFaLAY3DBQKBQCAQCAQCgUAgEARrGD4D19/6nXTyudekZ557Ia340WXS9AN3TUst+e5heKWNL+m/nvpd2nL0IenOK2elf3nrm7s2+sc//jfNPP2ydO0370t/f/XVtM7nVk5fn7BzeuMbFk5P//6Z9KXtDkg/uuu8YYmT5+GWO7+bfv/H59I73/7WNOorX0w7bLFu17X++Ge/TIfNPD/9/Je/SUu8Z/E0ea/t0+f+/eP584OOmp2fnzGjNh522Pzmd39M0064MP3kyafSC39+KX3gfe9Oe++yRVrnc5/M1zqSn5lys//fK39Pux8wM//1ghMnj/hnZtj9EsQFDRgCQbAGDNrBOfDPf/l02nrM19MJh++ZPr7ch9JpF1yXHv3xz9PlZx46OANq81l33X9GevK/fpOeff7F9B/XnzwHwbrs+rvSBVd8K5161Pi06CJvSAccfnr6xAofThPGbD3sCdbMMy5Pa/z7J9KHPrhEevyJX6V9pp6cTjt6fFr1k8unv//91fTF7Q5I2266Ttp6k7XTvfc/mg4//sJ066XHpre/7c3DmmD98qnfpcd+9qu00oofyc8E8n36Bden7958Rpp//vnSSH5m/Oq+9to/0vjDTkl/+OPz6Q1vWLiLYI3kZ6bN/6TF6ToYgSBYHXzzGg391POuTT/9+VPp5On75I///Je/ps9uvEe65eJj0vuXeNcwu9rGl/PXl/+WPr3+mLkI1o77HJXWWf2TWb1R9z7wg3T4rAuy0lVXsO65/9F06Mzz0nknHJiWWeq9ww63r+51ZPrCGiunHb/yxfS9R36a9pl6UvrODadmUqG2+tphaZtN1k6bb7DGHASrqBnLLvO+dPA+Xx1WuPzlpZfThVfdlh76wc/SObMm5msb6c/MIceem97y5sXShz6wRLruW//RRbDimRlWj35czAAhEARrgIAdrMNOOPz09J53vT2rMqXW3GLfdMTEXbpaPoM1tnadtxnB+vzm+2Qc1lj1E3kov/7N/6QNdpiUHvzWWem5P73Y1SJ8+EdPpvGHnpJOP3p8Wn7ZD7Zr2G07z8t/eyWts9X4dNwh49JnPrVCuuKGu9PVN397DpVz4hFnpHe/8+1p/zFbdRGs3bbfMKsZiy7yxnTU5N3SfPO9TsaGQ/mPyWkXXJ9W/OjS6Yxj9k9ve+ub8mWN5GfmhNlXpT8883yafuDoTK6qBCuemeHw1Mc1DDQCQbAGGuE2H3/Pg05MH/3wUmnPXTbrOvP6209M++62Zfrimqu0eTSDc7pmBGuVDcZkZe/fV1ouD+x//vh8Wvsr49N9152cXv7b/8sE65pzjki7TZiZjjt0XFr548Mzefrgo89Of3jmT+msY/fPJOmCK29Nd973ULrwpIO6bhjlYqEFF0xTx4/qIli/+8Oz6bnnX0zHH75nWnCBBQbn5g7gWV/669/SuZfdkqiXV5x5WFpggfnTSH1m+Dhvved76aRpe+d7rXVaJVjxzAzggxiHHjYIBMEaNrfy9QuhYC35nsXT+N2/0nVlFKzDD9i5S7kZZpc81+V0p2D53/jqq6yY96krWOttMyG9+53/kt7zzrenC08+aFiSiGNOvTR975GfpPNPODC9+U2LZhyoEdd+6z/SpadN7cKSgvWud/5LVkKZ3P/z4cczIT3tqPHp8595XQEcjvW3//dKWvmLu6cbLjgyt8UoWCPxmTnujCvSRVfdmtL/qZT/+Mc/sh9roYUWTPffcGq66fb745kZjr8AcU0tRSAIVkvhHPyDnXLuteln//Xf6eRpe+fB8GB9ZqM90s0XHZ1nSI2EakawRu19ZFp3jU+lr265Xobh7vsfSV8/7oJ0z9UnZA8WgkXFYQj/yNJLpsMP2GXYwPXqa6+lQ489Lz319P9kklTIlQv87iM/SeMPOSV954ZTutp+W+52aNp6k7XSVzZcMxMsz9GG634mzzS86OSD04eXXnLYYFO9EJMj1ths73TbZTPzf1RG8jNTxaWuYMUzMywf/7ioFiMQBKvFgA724Rjctxt3RG6FfYyf5MIb0ncffjy3vkZKNSNY37jm9nTx1XdkbxUf0f5fPy0tv+wHciRB1eTuJbvN2MPTVzb8fNp9h406HjbkasykWekNCy+Upk3aNX9X8803f1rkjQunV175e1p3mwnZ/L/VRmumb3/3h+mQGeemb10yI73zHW+bw+SuhXbJNXekS08/JH/W6fWNa+5I//u//5tVzfnnnz8de9ql6ZnnX0yXnDolk82R+szU72udYI3kZ6bTn/kYf/sQCILVPqzbdiaG5dPOvy49+/wL6WMfXSYbu5cehjPhGgG6xehDEq/QCy++lN765sXyzMkSUaHFoUV2w23fSa+++mpaa7WVcg4WslWfRfiLXz2ddthzepoyflT68jqrtu3eDcSJXqRibjhurkN/8P3vycqm+sHjv8gzKsV8LPGed6QDxm2b1l5tpfxZPQeLivXYE7/KM8pEG3Ry3f/gj9Np51+ffv6rp9P8882XVl15hTR5r+26yONIfWZ6Ilgj+Znp5Oc9xt5eBIJgtRfvOFsgEAgEAoFAIBAIjAAEgmCNgJsclxgIBAKBQCAQCAQC7UUgCFZ78Y6zBQKBQCAQCAQCgcAIQCAI1gi4yXGJgUAgEAgEAoFAINBeBIJgtRfvOFsgEAgEAoFAIBAIjAAEgmCNgJsclxgIBAKBQCAQCAQC7UUgCFZ78Y6zBQKBQCAQCAQCgcAIQCAI1gi4yXGJgUAgEAgEAoFAINBeBIJgtRfvOFsgEAgEAoFAIBAIjAAEgmCNgJsclxgIBAKBQCAQCAQC7UUgCFZ78Y6zBQKBQCAQCAQCgcAIQCAI1gi4yXGJgUAgEAgEAoFAINBeBIJgtRfvOFsgEAgEAoFAIBAIjAAEgmCNgJsclxgIBAKBQCAQCAQC7UUgCFZ78Y6zBQKBQCAQCAQCgcAIQCAI1gi4yXGJgUAgEAgEAoFAINBeBIJgtRfvOFsgEAgEAoFAIBAIjAAEgmCNgJsclzg0Efi3dUen4w4Zl9b53CfzAOt/7+uon3/hz2n1TfZKl595aPrYvy7d191bsv2t93w/HXz07PTgt85qyfHiIIFAIBAIdCoCQbA69c7FuLsQeOK/fpNmf+PG9L1HfppeePEvafF3vC0t9+Gl0mbrfy6tvfrr5KUV9akv7Z6mH7hb+uKan27F4eYiVO0gWE///pm03jYT8vgvPOmgtPLHl+26loOOmp1ee+0f6ZgpX+v39bWKYP33b/+Qpp94cXrwBz9N888/f1rt0x9LB+/z1bT429/a77HFjoFAIBAItBOBIFjtRDvO1XIE7n/wx2mPg05MK3506bT95uum9733nemPz/4p3fkfD6eb73ggPXzb7JadczgRLMTq1VdfS5ecNnXIEaxXX3stbbrzlPSWNy2a9t51i/T3V19Nx55+eXrrmxdLF518UMvuZxwoEAgEAoGBRCAI1kCiG8ceUAReeeXv6UvbT0z/tsJH0nGHjk3zzTffHOejbC27zPvyzx7+0ZPp2NMvSz958tf5xb3Rep9N++72lbTQggvkz3fdb0Za6n3vzp9dc8u3s5KzwTqrpsl7bZ8WWGD+tPFOB6df/OrpruPPP/986Ud3nZfOuPCGTOZ22vpL6bTzr0tPPf0/afaxB6RVV14+XXXTvemcS29Ov/39s2mJ9yyedt9hw6yqleqpRWj8x552WXr4R0+kxRZ9Y1rt0/+/nXOPiqre4vh3RZqaXuFiqHETE8ywEMuW9lCvCWqCLZ8YhFqAYghX0BioBC4vEXkoSQUhYij4Bk0JFR8Q+EbDR6GUjyCv+LiKryzlXrlrb9ecmFnDMNVdy7Nm7d9/zpyZ8zuf7Sw+a+/9204ID/SCZeeO/BU3b9/BgiX52FFeibZt22BAvz7YvecboyVCbQbri7QPMEOTgpSoALgOGcDfp5/Bamz8DxZnrUfRzv18r7697RAe9Dac+9orz3Cm9gKiU77AiVNn0cXqL7D7Wzccqz6tUyLcWXGE2Zytq4eNtSXGuw2Bv/ebzNXQOnCkGn7vJ2Hn2lR072qtxG/qP+Zj0/J49H76QUxlCQEhIATUTEAES83Rkb0ZJbC38lv4a1Lw5fL5cHjatsVrL11pgNuUcEx0/zsmuA3BhUtXEZ+2AqNfHwTNLE9FsA5WncS4NwZjxNCXUHv+IlIz1yFG48OvXb9xGy6T57JwDXu1P3+GylUkWJ/lbuI/+lMmjkCH9u3Qz7EXqr+vRWhcBgsRZYsqj9Yg6bPVSIsJUj5vTLDqL1/DBN8IvDP5Dbi7vow7v9zlz3do9xjS5wfz/X3mJOLa9VsI9psIy86dcKjqJNJzCk0SrJI1Kcgr2IGKg8eZH8mOvmAtSM/HroojmBcyFd1trFkYv9y+B8V5C/GEtSVu3PwZo6eEYWB/R3iOG46m+00o3FqO0r1VimDt3luFiMRsRIRMwwvPO6DuwmXMS8zGtEkjMc1jlMGYLVtdjNx121C+cYnyPgnviyNnIDr0XR1JlZ+IEBACQkCtBESw1BoZ2VerBEgQUjLW4OjOZUavTclci32V36JwWZxyXcnXhxEWl4F9Wz5lKaIMVi+77tzno10kMHa23fiPOi1DJUISLMrwUGblUYsH2TBab82MgfNzDvhotrfy2vyPV+K7mh+VspwxwaI9156/hPT42crna878hAl+kTiyPQtHvzuN6e8ns+z0sLXha0xpctdmsEiwHm/fDqPe1iA04C14jBmmI1i3bt/hhvnU6FlKhqupqQnjfSNZEENmTGKZK9qxn/egzUbp92ARhzEjXsHUSSOV56C4EbM1GVEG40aZxt17qrA1f6HO+6+NDYKvpxv8vNxa/b8hFwgBISAEHjYBEayHHQG5/x8mYKpgvReeiq5P/BUxoT7KvSirNdxjDjYsjYFjbzsWrGcdeigZLbpQE5eB+/ebkPrPWUYFi0qE67OidZ5jwCh/zn6NcX1FeZ1kJHZxLg4VZ/JrxgTLd85CUEbN0CKhKfm6Ems3l3IZTbt+r2DZduuCrLwtWLVxF7atSkLsolylyf3EybPwDIhF6YY02HSxVO4RlZyDaw238ElCMGcPKYuX8OEM5f3mgkVC5uzqx9+pvygDVlaQ1qJgVRw4js25CTrvD3IPwMypb7JkyRICQkAIqJ2ACJbaIyT7a5EAlbfeC1/Emak+9k+1eJ0hwbp45RpcPOYaFazw+M9BDdf/L8HaUrIPcWkrTBKsd0MSOTMVq/E1+FxURttQVIat+Ul/SrB++fUeRnuHwXuCK87V1bcqWJFJOWi4/kCwiKtNFyudPTYXLJLTfi6+SPzIn7NYpi56tryCEpY77SJJI1mLC/OVEqGpIOU6ISAEHioBEayHil9u/mcI/Hr3Ho8ceMb+KSxNDm2xyZ1KTlQi3JgTr5NpCYvLxP6i30qE+hksfcGiEtWHQd46sqBtctfPYE2eGY3+XCKcotwzPm0lqr83rURI/U9l+45yFuextm10RIPKcVTi1MRmoKwwDVadO/H7VxtuYuj42Sb3YFEGi9a6LWVIzVyLl5z7oGOH9jymgZraB48NYrmknjRa+iVCKnnS4YGC7Fhlf9tKDyFiYbbSg0UlTfueTyI5MkAn1CRMrTW5b1+dzKdCaVFJ1Dswnu9FcZIlBISAEFA7AREstUdI9meUADVRh0Sl82BN6vMhafh3w01utC7edYD7lShb5eYdjkljqMl9KOovX0Xc4hUYNWwgN6HTMlQi1Besd4IXwOKRRxAW6IUrV29gyCAn5RShvmDtKD+MsPjPETbLk8VF2+S+KDoQw197ge9prERIc6AmTo+Ck2MvTPdyh5VlJz4BSWVRkoy79xpZLu3tnuTmehpNQe/RST1jg0ab92BpBYtkZ6zPPPz400W4u7yszMFKWJLHpxKbN7lv2laB4rwkLhueOl3He/Qa54LBA5343yvWb8e9xkZFsCijNTf6Ux6h4eYyCBYWFjj4TTVfSycYDS3tmAarzh0R6DMejY3/5ROgHTu00xkrIT8NISAEhICaCYhgqTk6sjeTCJw4dQ7Z+UU8zuDGrZ85o/OiU28+NUh/+GkdPlYDahw/9UMtOtGYhhGvYo6/B9q0edRkwaLsE52Ao1JaNxtr7ltqKYNFX7pucyly1mxF/SUa02ANPy93ljztam1Mww/nzuPjpQU4fLwGNJKih21XpcGcvuNY9RlEpyznZnjtKcYPErJ+t2DRd9EoheDIdO4Z0w4apXsuylrP88So6d3xmZ7QBHgyW+0q+Kocnywv5FOOdFrSua8DD31tPsmdJC171VcsVTROwqGnLTzHDjdaNqz7Fw0aXclx0w4ajQiRQaMm/SDkIiEgBFRBQARLFWGQTQgBISAEhIAQEALmREAEy5yiKc8iBISAEBACQkAIqIKACJYqwiCbEAJCQAgIASEgBMyJgAiWOUVTnkUICAEhIASEgBBQBQERLFWEQTYhBISAEBACQkAImBMBESxziqY8ixAQAkJACAgBIaAKAiJYqgiDbEIICAEhIASEgBAwJwIiWOYUTXkWISAEhIAQEAJCQBUERLBUEQbZhBAQAkJACAgBIWBOBESwzCma8ixCQAgIASEgBISAKgiIYKkiDLIJISAEhIAQEAJCwJwIiGCZUzTlWYSAEBACQkAICAFVEPgfBBUYtIVgm4IAAAAASUVORK5CYII=" - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "params_x = experiment_history.intervention_params_library.y[0][:, 0]\n", - "params_y = experiment_history.intervention_params_library.y[1][:, 0]\n", - "selected_params_x = params_x[experiment_history.source_intervention_library]\n", - "selected_params_y = params_y[experiment_history.source_intervention_library]\n", - "intervention_params = go.Scatter(\n", - " x=params_x,\n", - " y=params_y,\n", - " text=list(range(n_imgep_steps * batch_size)),\n", - " mode=\"markers\",\n", - " marker=dict(color=\"grey\", size=8),\n", - " name=\"intervention_params\",\n", - ")\n", - "\n", - "arrows = [\n", - " go.layout.Annotation(\n", - " dict(\n", - " x=x,\n", - " y=y,\n", - " xref=\"x\",\n", - " yref=\"y\",\n", - " text=\"\",\n", - " showarrow=True,\n", - " axref=\"x\",\n", - " ayref=\"y\",\n", - " ax=ax,\n", - " ay=ay,\n", - " arrowhead=3,\n", - " arrowwidth=0.5,\n", - " arrowcolor=\"black\",\n", - " )\n", - " )\n", - " for (x, y, ax, ay) in zip(\n", - " params_x[100:],\n", - " params_y[100:],\n", - " selected_params_x[100:],\n", - " selected_params_y[100:],\n", - " )\n", - "]\n", - "\n", - "layout[\"title\"] = \"Sampled intervention params\"\n", - "layout[\"xaxis\"][\"title\"] = \"Controlled Node 0\"\n", - "layout[\"yaxis\"][\"title\"] = \"Controlled Node 1\"\n", - "layout[\"annotations\"] = arrows\n", - "fig = go.Figure(data=intervention_params, layout=layout)\n", - "fig.show(\"png\")" - ] - }, - { - "cell_type": "markdown", - "id": "5822184e-80ba-40aa-8efa-42ad7a629506", - "metadata": {}, - "source": [ - "# Evaluate the sampled parameters" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "id": "0b0da096-ccda-47bc-8219-ee3f2eea36f6", - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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" - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "reached_goals_median = jnp.median(\n", - " evaluation_history.reached_goal_embedding_library, axis=1\n", - ")\n", - "reached_goals_dispersion = jnp.std(\n", - " evaluation_history.reached_goal_embedding_library, axis=1\n", - ").mean(axis=-1)\n", - "\n", - "intervention_params = go.Scatter(\n", - " x=reached_goals_median[:, 0],\n", - " y=reached_goals_median[:, 1],\n", - " text=list(range(n_imgep_steps * batch_size)),\n", - " mode=\"markers\",\n", - " marker=dict(color=reached_goals_dispersion, size=8, colorbar=dict(thickness=10)),\n", - ")\n", - "\n", - "layout[\"title\"] = \"Attractors and sensitivity to perturbations of sampled params\"\n", - "layout[\"xaxis\"][\"title\"] = \"Observed Node 0\"\n", - "layout[\"yaxis\"][\"title\"] = \"Observed Node 1\"\n", - "layout[\"annotations\"] = None\n", - "layout[\"showlegend\"] = False\n", - "fig = go.Figure(data=intervention_params, layout=layout)\n", - "fig.show(\"png\")" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "b27f9078-24b0-43ec-a355-97ce1a69fd49", - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.9.12" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/examples/analyze_imgep_evaluation.ipynb b/examples/analyze_imgep_evaluation.ipynb new file mode 100644 index 0000000..fb073c6 --- /dev/null +++ b/examples/analyze_imgep_evaluation.ipynb @@ -0,0 +1,330 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "3bedb213-d035-4c40-ae81-9642e29c1fc4", + "metadata": {}, + "source": [ + "# Analyse IMGEP Evaluation" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "270c2ac1-ea39-4736-af9e-791d61df346e", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "WARNING:jax._src.lib.xla_bridge:No GPU/TPU found, falling back to CPU. (Set TF_CPP_MIN_LOG_LEVEL=0 and rerun for more info.)\n" + ] + } + ], + "source": [ + "from autodiscjax import DictTree\n", + "from autodiscjax.utils.timeseries import is_stable\n", + "import jax.numpy as jnp\n", + "import matplotlib.pyplot as plt\n", + "from matplotlib.colors import hsv_to_rgb\n", + "from sklearn.cluster import MeanShift, estimate_bandwidth" + ] + }, + { + "cell_type": "markdown", + "id": "8d6f6aec-2664-475f-b56f-a651d54382b1", + "metadata": {}, + "source": [ + "## Load experiment+evaluation history" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "76221303-4050-4a6c-a331-875843e5199a", + "metadata": {}, + "outputs": [], + "source": [ + "experiment_history_filepath = \"experiment_data/experiment_history.pickle\"\n", + "experiment_history = DictTree.load(experiment_history_filepath)\n", + "\n", + "evaluation_history_filepath = \"evaluation_data/evaluation_history.pickle\"\n", + "evaluation_history = DictTree.load(evaluation_history_filepath)" + ] + }, + { + "cell_type": "markdown", + "id": "a69a1a4a-7d75-4b5f-bff7-f0bd35be1675", + "metadata": {}, + "source": [ + "## Goals of the system" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "5cc75879-020b-492f-9f96-c3efbe3e4d4f", + "metadata": {}, + "outputs": [], + "source": [ + "observed_node_ids = jnp.array([0,1])\n", + "ymax = jnp.array([7866.401, 4771.8975, 1377.4222, 1086.2181])\n", + "ymin = jnp.array([91.93025, 100.43926, 15.655377, 53.970665])" + ] + }, + { + "cell_type": "markdown", + "id": "cb44409e-b653-4bab-9ed2-1887b28deee0", + "metadata": {}, + "source": [ + "### Filter out non-convergent trajectories" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "b36999e1-cda3-4e54-8023-bec547c87439", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjoAAAGxCAYAAABr1xxGAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/NK7nSAAAACXBIWXMAAA9hAAAPYQGoP6dpAAA+XUlEQVR4nO3de3RU5b3/8c8QcsGYbAkxmURizFFA0gD9AQLh1IJcQqgh3o5QqREs4hU8KXC0YLuArh5CcVXkLBStWqmAjedU8FIxNS0XyyEYbqkE1GKNCJIQxGQSaC4Qnt8fnGwdkkACEzLZ836ttZfOnm9mnv24l/NZez/Ps13GGCMAAAAH6tLRDQAAAGgvBB0AAOBYBB0AAOBYBB0AAOBYBB0AAOBYBB0AAOBYBB0AAOBYBB0AAOBYBB0AAOBYBB3AT6xcuVIul6vZbc6cOfr888/lcrm0cuXKdm3H1KlTdc0115y3zhij3Nxc3XjjjYqJiVFYWJh69uypcePG6cUXX7Tr/vnPf2rBggXatGnTBbdp06ZNcrlc+sMf/nDe2gULFsjlcl3wd10KF9PGffv2acGCBfr888992yjAobp2dAMAeHv55Zd1/fXXe+2Lj49XbGysCgoKdO2113ZQy7zNnTtXv/rVrzR9+nT9x3/8hyIiInTgwAFt2LBBb775pu677z5JZ4LOwoULJUkjR47swBb7j/vuu0/p6ekX9Lf79u3TwoULNXLkyFYFUiDQEXQAP5OSkqLBgwc3+96wYcMucWuaV1NTo6efflr33HOPfvOb33i9N3XqVJ0+fbqDWtY59OzZUz179uzoZgABgVtXQCfR3K2rxlsge/fu1V133SXLshQbG6sf//jH8ng8Xn//zDPP6Pvf/75iYmIUHh6ufv36acmSJTp58mSb23LixAnV1dUpLi6u2fe7dOlit/nKK6+UJC1cuNC+FTd16lRJ0qeffqp7771XvXr10mWXXaarrrpKEyZM0J49e5r93NraWs2aNUtut1vdunXTiBEjtHv37la1+bXXXlNqaqrCw8N1+eWXa9y4ca3628Zbivn5+br33nsVFRWl8PBwTZgwQZ999lmT+t/+9rcaMGCAwsLCFBUVpdtuu00fffSRV01zt66uueYaZWRkKC8vTwMHDlS3bt10/fXX67e//a1XW+68805J0k033WT3Z+M5sXv3bmVkZCgmJkahoaGKj4/XzTffrEOHDrWqjwAnIugAfqahoUGnTp3y2s7njjvuUO/evfX666/rpz/9qV599VX95Cc/8ar5xz/+ocmTJ2vVqlX64x//qGnTpunJJ5/UAw880OY2RkdH67rrrtOzzz6rp556Sh9//LGMMU3q4uLilJeXJ0maNm2aCgoKVFBQoJ///OeSpMOHD6tHjx5avHix8vLy9Mwzz6hr164aOnSoPvnkkyafN2/ePH322Wd68cUX9eKLL+rw4cMaOXJks4Hj2xYtWqS77rpLycnJ+u///m+tWrVK1dXVuvHGG7Vv375WHfO0adPUpUsXvfrqq3r66adVWFiokSNHqrKy0q7JycnRtGnT9J3vfEdr167VsmXL9OGHHyo1NVX79+8/73f87W9/0+zZs/WTn/xEb775pvr3769p06bp/ffflyTdfPPNWrRokaQzwbWxP2+++WadOHFCY8eO1ZEjR/TMM88oPz9fTz/9tK6++mpVV1e36hgBRzIA/MLLL79sJDW7nTx50pSUlBhJ5uWXX7b/Zv78+UaSWbJkiddnPfzwwyYsLMycPn262e9qaGgwJ0+eNK+88ooJCgoyX3/9tf3elClTTGJi4nnbW1hYaK6++mq7jRERESYjI8O88sorXt979OhRI8nMnz//vJ956tQpU19fb3r16mV+8pOf2Ps3btxoJJmBAwd6ffbnn39ugoODzX333Wfva+yTRl988YXp2rWrmTlzptd3VVdXG7fbbSZOnHjONjX+d7ntttu89v/v//6vkWR++ctfGmOMqaioMN26dTM/+MEPvOq++OILExoaaiZPntxiG40xJjEx0YSFhZkDBw7Y+2pqakxUVJR54IEH7H3/8z//YySZjRs3ev39jh07jCTzxhtvnPN4gEDDFR3Az7zyyivavn2719a167mH02VmZnq97t+/v2pra1VeXm7v2717tzIzM9WjRw8FBQUpODhY99xzjxoaGvT3v/+9ze284YYb9OmnnyovL0/z5s1Tamqq/vKXv+iee+5RZmZms1d4znbq1CktWrRIycnJCgkJUdeuXRUSEqL9+/c3ud0jSZMnT/a65ZOYmKjhw4dr48aNLX7Hn/70J506dUr33HOP11WysLAwjRgxotWzwX70ox95vR4+fLgSExPt7y4oKFBNTY19W65RQkKCRo0apb/85S/n/Y7v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xKdBx+12S1KTqy7l5eX2VR632636+npVVFScs+bIkSNNPv/o0aNNrhY1Cg0NVWRkpNcGAAACm0+DTlJSktxut/Lz8+199fX12rx5s4YPHy5JGjRokIKDg71qSktLVVxcbNekpqbK4/GosLDQrvnggw/k8XjsGgAAgPPp2tY/OH78uD799FP7dUlJiYqKihQVFaWrr75a2dnZWrRokXr16qVevXpp0aJFuuyyyzR58mRJkmVZmjZtmmbPnq0ePXooKipKc+bMUb9+/TRmzBhJUt++fZWenq7p06fr+eeflyTdf//9ysjIUJ8+fXxx3AAAIAC0Oejs2LFDN910k/161qxZkqQpU6Zo5cqVeuyxx1RTU6OHH35YFRUVGjp0qN577z1FRETYf7N06VJ17dpVEydOVE1NjUaPHq2VK1cqKCjIrlmzZo0effRRe3ZWZmZmi2v3AAAANMdljDEd3Yj2UFVVJcuy5PF4GK8DAEAn4evfb551BQAAHIugAwAAHIugAwAAHIugAwAAHIugAwAAHIugAwAAHIugAwAAHIugAwAAHIugAwAAHIugAwAAHIugAwAAHIugAwAAHIugAwAAHIugAwAAHIugAwAAHIugAwAAHIugAwAAHIugAwAAHIugAwAAHIugAwAAHIugAwAAHIugAwAAHIugAwAAHIugAwAAHIugAwAAHIugAwAAHIugAwAAHIugAwAAHIugAwAAHIugAwAAHIugAwAAHIugAwAAHIugAwAAHIugAwAAHMvnQWfBggVyuVxem9vttt83xmjBggWKj49Xt27dNHLkSO3du9frM+rq6jRz5kxFR0crPDxcmZmZOnTokK+bCgAAHK5druh85zvfUWlpqb3t2bPHfm/JkiV66qmntHz5cm3fvl1ut1tjx45VdXW1XZOdna1169YpNzdXW7Zs0fHjx5WRkaGGhob2aC4AAHCoru3yoV27el3FaWSM0dNPP60nnnhCt99+uyTpd7/7nWJjY/Xqq6/qgQcekMfj0UsvvaRVq1ZpzJgxkqTVq1crISFBf/7znzVu3Lj2aDIAAHCgdrmis3//fsXHxyspKUk//OEP9dlnn0mSSkpKVFZWprS0NLs2NDRUI0aM0NatWyVJO3fu1MmTJ71q4uPjlZKSYtc0p66uTlVVVV4bAAAIbD4POkOHDtUrr7yiP/3pT3rhhRdUVlam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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "experiment_trajectories = experiment_history.system_output_library.ys[:, observed_node_ids, :]\n", + "is_stable_bool, mean_vals, std_vals = is_stable(experiment_trajectories, time_window=jnp.r_[-100:0], std_epsilon=1e-3*(ymax-ymin)[jnp.newaxis, observed_node_ids])\n", + "is_stable_bool = is_stable_bool.all(-1)\n", + "has_converged_ids = jnp.where(is_stable_bool)[0]\n", + "\n", + "# goals = bins where they are final (stable) points\n", + "plt.figure()\n", + "plt.scatter(\n", + " experiment_history.system_output_library.ys[has_converged_ids, observed_node_ids[0], -1],\n", + " experiment_history.system_output_library.ys[has_converged_ids, observed_node_ids[1], -1],\n", + ")\n", + "plt.title(\"Final Stable points\")\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "e175c425-a3d0-47f8-b819-fb81a3ac6dab", + "metadata": {}, + "source": [ + "### Bin-based definition" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "4dabb4d3-d754-4681-b557-e43dbe19251f", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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b+myyy7Trbfeqrq6OufRs2dPeb1ebdy48YzHj4qK0lVXXaVHH31UCxcu1I4dO3Ty5Ml6dTNnzlRhYaE+/PBDSVJlZaVeeukljR8/3nk9brjhBknS6NGj9dprr+mLL774wfP85JNPtG/fPo0dO1aSAuYxbNgwlZSU1Ht909LSAp536dJFkjR8+PB6499/vXDpES44Z+3atVN4eHiD/1G//PLLKigo0Nq1awPGv/rqK0lShw4d6u3j8/l08uRJlZeXS5Luu+8+/ed//qdGjRqlN998U1u2bFFBQYF69Oih48ePN9rbq6++qvHjx+uFF15QcnKyoqKiNG7cOJWWlp5xn/Lychljztjb9/u3qWXLlmrRokXAmNvt1rfffus8P3z4sCoqKhQWFhYQ2qGhoSotLdWXX355xuO7XC69++67Gjx4sBYsWKDrr79e7du314wZM1RVVeXUjRw5UldeeaWefvppSdKyZct07NgxTZ061am5+eabtWbNGtXV1WncuHGKjY1VYmKiXnnllbPO8/Dhw5Kk2bNn15vDlClTJKnePKKiogKen7pgpKHx779euPS4WgznrHnz5urfv7/Wr1+vkpKSgB/KXbt2lfTdPSjf17ZtW0lSSUlJveMVFxerWbNmatOmjSRp+fLlGjdunDIzMwPqvvzyS1122WWN9tauXTs9+eSTevLJJ/X5559r7dq1+s1vfqOysjJlZ2c3uE+bNm3UrFmzM/Z26riXQrt27dS2bdsz9h4ZGdno/h07dtSLL74oSfr444/12muvaf78+aqpqdGzzz4rSWrWrJmmTp2qBx54QI8//rieeeYZpaam1rvEeuTIkRo5cqSqq6uVn5+vrKwsjRkzRldeeaWSk5MbnYMkzZ07V7fddluDNWe6nBs/PqxccF7mzp2rEydOaPLkyT/oraeEhARdfvnlevnll2W+9xe2jx07plWrVik5OVktW7aU9N1v3G63O2D/v/71r016K0aSrrjiCk2bNk0DBw7U9u3bz1gXERGhpKQkvf766wEro5MnT2r58uWKjY3VNddc06RzS3LmcLbVVmPS0tL01Vdf6cSJE+rdu3e9R1N+KF9zzTX63e9+p27dutV7Pe6++26FhYVp7Nix2r9/v6ZNm3bG47jdbqWkpOiRRx6RJO3YscMZl+rPNyEhQfHx8fr73//e4Bx69+591pDEjwcr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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "Hf, xedges, yedges = jnp.histogram2d(\n", + " x=experiment_history.system_output_library.ys[has_converged_ids, observed_node_ids[0], -1],\n", + " y=experiment_history.system_output_library.ys[has_converged_ids, observed_node_ids[1], -1],\n", + " bins=12,\n", + " range=jnp.stack(\n", + " [ymin[observed_node_ids], ymax[observed_node_ids]]\n", + " ).transpose(),\n", + ")\n", + "Hf = Hf.transpose() > 1\n", + "fig = plt.figure(figsize=(15, 15))\n", + "ax = fig.add_subplot(131, title=\"Goals of the system\")\n", + "plt.imshow(\n", + " Hf,\n", + " interpolation=\"nearest\",\n", + " origin=\"lower\",\n", + " extent=[xedges[0], xedges[-1], yedges[0], yedges[-1]],\n", + " aspect=(ymax[observed_node_ids[0]] - ymin[observed_node_ids[0]])\n", + " / (ymax[observed_node_ids[1]] - ymin[observed_node_ids[1]]),\n", + ")\n", + "# plt.colorbar()\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "48851fdb-b901-4d0b-8484-770a12aaa17c", + "metadata": {}, + "source": [ + "### Clustering-based definition" + ] + }, + { + "cell_type": "code", + "execution_count": 56, + "id": "3514123d-72dc-4917-bc1c-7c26896b4c47", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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nn/+eXz88cd47rnnkJKSgg0bNuDPf/4zrl69atXOmgGLqMUJojbm008/FQDq/CiVSqncP//5TwFAFBYW1lvX4cOHBQDx6aef1lq3cOFCUfOvgF6vF87OzsJgMEjLMjMzBQDh5eUliouLpeVbt24VAMS2bdvq/f6KigphNpuFSqUS77//vrT83//+twAgUlNTrcoXFxcLd3d3ERkZabXcYrGIAQMGiCFDhkjLAgMDhbe3tygtLZWWmUwm4e7uXmu/6jJs2DABQBw8eNBqed++fcXo0aOln6t/HxcuXLAql5qaWmsfqus8cuSItOzq1atCqVQKZ2dn8csvv0jLq/v1gw8+kJZV/07++te/Wn1XYmKiACA2btwohBDi4sWLwt7eXsydO9eqXFFRkdDpdGLixInSstjYWAFArFmz5rZ9IoQQQUFBwsPDQxQVFUnLKioqREBAgPDx8RGVlZVCCCEuXLggAIi33377tnW+/vrrAoDYvXv3LcsBEAsXLpR+rusYFaL27+TLL78UAERmZma9dV+5cqVW/dVGjx4tfHx8hNFotFo+Z84c0alTJ3Ht2jUhxO+/84ceeqhWHQEBAeKRRx655f5lZWUJpVIppk+ffstyNd3q73FNzz77bIOOf+o4OKJDbdb69etx+PBhq8/Bgwel9dWXpSZOnIgvvvgCv/zyi02+97777kO3bt2kn/v06QOg6rLMzfM6qpfffFnKbDbjb3/7G3r27Al7e3vY29tDrVajuLgYp0+fvu13p6Wl4dq1a4iNjbUayaqsrMSYMWNw+PBhFBcXo7i4GIcPH8aECRPQqVMnafvqkYeG0ul0GDJkiNWy/v37W+1TY3l5eWHgwIHSz+7u7vDw8MB9990Hb29vaXld/VdtypQpVj9PnDgR9vb2SE1NBQB88803qKiowNSpU636qVOnThg2bFiddxY99thjt217cXExDh48iD/96U9Qq9XScqVSiZiYGBgMBpw9e/a29dS0a9cu9O7dGw8//HCjt22I++67D46Ojpg5cybWrVuHn3/+ucHbXr9+HXv27MGjjz4KFxcXq/4cN24crl+/joyMDKtt6urLIUOGYNeuXXjppZewb98+q5HOanq9HhUVFVi9enXjd5KoiTgZmdqsPn363HIy8kMPPYStW7figw8+wNSpU1FWVoZ7770Xr7zyCiZPntzk73V3d7f6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Sp+cnJwmtJyIiIjkxKZBR6fTAUCtUZf8/HxplEen06G8vBwFBQW3LHP58uVa9V+5cqXWaFE1JycnuLq6Wn2IiIioY7Np0PHz84NOp8Pu3bulZeXl5di/fz9CQkIAAAMHDoSDg4NVmdzcXJw4cUIqExwcDKPRiEOHDkllDh48CKPRKJUhIiIiuh37xm5gNptx/vx56ecLFy4gMzMT7u7u6N69O+bNm4fFixejV69e6NWrFxYvXgwXFxdER0cDALRaLeLi4jB//nx07twZ7u7uiI+PR79+/fDwww8DAPr06YMxY8ZgxowZWLFiBQBg5syZiIiIgL+/vy32m4iIiDqARgedI0eOYMSIEdLPzz//PAAgNjYWa9euxYsvvojS0lI888wzKCgoQGBgIL799ltoNBppm3fffRf29vaYOHEiSktLERoairVr10KpVEplEhMT8dxzz0l3Z0VFRdX77B4iIiKiuiiEEKK1G9ESTCYTtFotjEYj5+sQERG1E7Y+f/NdV0RERCRbDDpEREQkWww6REREJFsMOkRERCRbDDpEREQkWww6REREJFsMOkRERCRbDDpEREQkWww6REREJFsMOkRERCRbDDpEREQkWww6REREJFsMOkRERCRbDDpEREQkWww6REREJFsMOkRERCRbDDpEREQkWww6REREJFsMOkRERCRbDDpEREQkWww6REREJFsMOkRERCRbDDpEREQkWww6REREJFsMOkRERCRbDDpEREQkWww6REREJFsMOkRERCRbDDpEREQkWww6REREJFsMOkRERCRbDDpEREQkWww6REREJFsMOkRERCRbNg86ixYtgkKhsProdDppvRACixYtgre3N5ydnTF8+HCcPHnSqo6ysjLMnTsXXbp0gUqlQlRUFAwGg62bSkRERDLXIiM69957L3Jzc6XP8ePHpXVvvfUW3nnnHSxbtgyHDx+GTqfDqFGjUFRUJJWZN28etmzZgqSkJBw4cABmsxkRERGwWCwt0VwiIiKSKfsWqdTe3moUp5oQAu+99x5eeeUVTJgwAQCwbt06eHp6YtOmTZg1axaMRiNWr16NDRs24OGHHwYAbNy4Eb6+vvjuu+8wevTolmgyERERyVCLjOicO3cO3t7e8PPzw+OPP46ff/4ZAHDhwgXk5eUhLCxMKuvk5IRhw4YhLS0NAHD06FHcuHHDqoy3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FyNHjmzzt5cXFRWJY8eOiWPHjgkA4p133hHHjh2THh1gq/0eM2aM6N+/v0hPTxfp6emiX79+beq2USFu3RdFRUVi/vz5Ii0tTVy4cEGkpqaK4OBg0a1bN9n1xezZs4VWqxX79u2zuk22pKREKtMRjovb9UNHOiYWLFgg/vOf/4gLFy6IH3/8Ubz88svCzs5OfPvtt0KIjnE8CHHrfmiLxwODTiP961//Enq9Xjg6OooHHnjA6hZLOah+7oODg4Pw9vYWEyZMECdPnpTWV1ZWioULFwqdTiecnJzEQw89JI4fP25VR2lpqZgzZ45wd3cXzs7OIiIiQly8ePFO70qjpKamCgC1PrGxsUII2+331atXxZQpU4RGoxEajUZMmTJFFBQU3KG9bJhb9UVJSYkICwsTXbt2FQ4ODqJ79+4iNja21n7KoS/q6gMA4tNPP5XKdITj4nb90JGOienTp0v//nft2lWEhoZKIUeIjnE8CHHrfmiLx4NCCCEaNwZERERE1D5wjg4RERHJFoMOERERyRaDDhEREckWgw4RERHJFoMOERERyRaDDhEREckWgw4RERHJFoMOERERyRaDDhEREckWgw4RERHJFoMOERERydb/B3vMMOmhXJgQAAAAAElFTkSuQmCC\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "X = experiment_history.system_output_library.ys[:, observed_node_ids, -1][has_converged_ids]\n", + "\n", + "# The following bandwidth can be automatically detected using\n", + "bandwidth = estimate_bandwidth(X, quantile=0.15, n_samples=500)\n", + "\n", + "ms = MeanShift(bandwidth=bandwidth, bin_seeding=True)\n", + "ms.fit(X)\n", + "labels = ms.labels_\n", + "cluster_centers = ms.cluster_centers_\n", + "\n", + "labels_unique = jnp.unique(labels)\n", + "n_clusters_ = len(labels_unique)\n", + "\n", + "plt.figure(1)\n", + "plt.clf()\n", + "\n", + "colors = \"bgrcmyk\"\n", + "for k, col in zip(range(n_clusters_), colors):\n", + " my_members = labels == k\n", + " cluster_center = cluster_centers[k]\n", + " plt.plot(X[my_members, 0], X[my_members, 1], col + \".\")\n", + " plt.plot(\n", + " cluster_center[0],\n", + " cluster_center[1],\n", + " \"o\",\n", + " markerfacecolor=col,\n", + " markeredgecolor=\"k\",\n", + " markersize=14,\n", + " )\n", + "plt.title(\"Estimated number of clusters: %d\" % n_clusters_)\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "f8c7c85f-9781-43a2-9a45-647881d14954", + "metadata": {}, + "source": [ + "## (Goal-directed) Robustness of the system" + ] + }, + { + "cell_type": "code", + "execution_count": 57, + "id": "86d4aba2-076a-45ba-948e-2313d5661355", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "0.0036605625064112246\n", + "0.027377770747989416\n", + "0.006627571419812739\n", + "0.009399508708156645\n", + "0.021181609481573105\n", + "0.01981397159397602\n", + "0.003252666792832315\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.figure(1)\n", + "plt.clf()\n", + "\n", + "#TODO: normalize distance\n", + "\n", + "colors = \"bgrcmyk\"\n", + "cm = plt.cm.get_cmap('Greys')\n", + "\n", + "for cluster_idx, col in zip(range(n_clusters_), colors):\n", + " \n", + " cluster_members = labels == cluster_idx\n", + " cluster_center = cluster_centers[cluster_idx]\n", + " cluster_X = evaluation_history.system_output_library.ys[has_converged_ids, :, :, -1][cluster_members][...,observed_node_ids].reshape(-1, len(observed_node_ids))\n", + " \n", + " cluster_sensitivity = jnp.sqrt(((cluster_center[jnp.newaxis] - cluster_X)** 2).sum(-1))\n", + " cluster_robustness = 10*jnp.reciprocal(cluster_sensitivity.mean()).item()\n", + " print(cluster_robustness)\n", + "\n", + " plt.plot(cluster_X[:, 0], cluster_X[:, 1], col + \".\")\n", + " plt.scatter(\n", + " [cluster_center[0]],\n", + " [cluster_center[1]],\n", + " marker=\"o\",\n", + " c=cluster_robustness,\n", + " edgecolor=\"k\",\n", + " s=100,\n", + " cmap=cm,\n", + " vmin=0,\n", + " vmax=0.012\n", + " )\n", + "\n", + "plt.colorbar()\n", + "plt.title(\"Estimated number of clusters: %d\" % n_clusters_)\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "af66ed1a-f3e7-4ff1-805b-9026b3c6db47", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python [conda env:grn]", + "language": "python", + "name": "conda-env-grn-py" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.15" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/examples/analyze_imgep_experiment.ipynb b/examples/analyze_imgep_experiment.ipynb new file mode 100644 index 0000000..b554b1c --- /dev/null +++ b/examples/analyze_imgep_experiment.ipynb @@ -0,0 +1,2705 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "95d8c7fe-3a31-4608-b26b-5322c1beac4c", + "metadata": {}, + "source": [ + "# Analyze IMGEP experiment" + ] + }, + { + "cell_type": "markdown", + "id": "15fb43c5-6c39-46ac-99f5-693d30012485", + "metadata": {}, + "source": [ + "## Imports and Plot utils" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "1d7b7282-f3b3-4d09-86ac-33b2bb5c618e", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "WARNING:jax._src.lib.xla_bridge:No GPU/TPU found, falling back to CPU. (Set TF_CPP_MIN_LOG_LEVEL=0 and rerun for more info.)\n" + ] + } + ], + "source": [ + "from autodiscjax import DictTree\n", + "from copy import copy\n", + "import itertools\n", + "import experiment_config\n", + "import exputils\n", + "import jax.numpy as jnp\n", + "import plotly.graph_objects as go\n", + "import plotly.express as px\n", + "from plotly.subplots import make_subplots\n", + "import os" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "9cab7ce4-6e21-4f3d-897f-157fdadfa3ce", + "metadata": {}, + "outputs": [], + "source": [ + "default_layout = dict(\n", + " title=\"\",\n", + " font=dict(\n", + " size=12,\n", + " ),\n", + " plot_bgcolor=\"white\",\n", + " margin=dict(t=30, l=30, r=30, b=30),\n", + " width=600,\n", + " height=500,\n", + " xaxis=dict(\n", + " title=\"\",\n", + " # range=[0, 30],\n", + " linecolor=\"#d9d9d9\",\n", + " showgrid=False,\n", + " # mirror=True,\n", + " ),\n", + " yaxis=dict(\n", + " title=\"\",\n", + " # range=[0, 30],\n", + " linecolor=\"#d9d9d9\",\n", + " showgrid=False,\n", + " # mirror=True,\n", + " ),\n", + " legend=dict(\n", + " yanchor=\"top\",\n", + " y=0.99,\n", + " xanchor=\"right\",\n", + " x=0.99\n", + " ),\n", + " showlegend=True,\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "4d2dcbe8-cfa6-4f4e-974b-83eafc66a16e", + "metadata": {}, + "source": [ + "## Load Experiment Config, Logs and History" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "56568805-ee98-416d-8d5c-b2c6a1a60d5e", + "metadata": {}, + "outputs": [], + "source": [ + "batch_size = experiment_config.batch_size\n", + "pipeline_config = experiment_config.get_pipeline_config()\n", + "n_random_batches = pipeline_config.n_random_batches\n", + "n_imgep_batches = pipeline_config.n_imgep_batches" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "e52f9649-9a8d-46c2-903b-9e292531ace1", + "metadata": {}, + "outputs": [], + "source": [ + "experiment_log = exputils.data.Logger()\n", + "experiment_log.load(pipeline_config.experiment_logging_save_folder)" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "82d8bd9d-e4f8-4b57-ab8e-d56888077f04", + "metadata": {}, + "outputs": [], + "source": [ + "experiment_history_filepath = os.path.join(pipeline_config.experiment_data_save_folder, \"experiment_history.pickle\")\n", + "experiment_history = DictTree.load(experiment_history_filepath)" + ] + }, + { + "cell_type": "markdown", + "id": "0c2e5a4c-5189-49dd-a955-45bace1f1642", + "metadata": {}, + "source": [ + "## IMGEP analysis" + ] + }, + { + "cell_type": "markdown", + "id": "892f9b24-913a-4656-88d8-21bc42ed9e40", + "metadata": {}, + "source": [ + "### Goal Space" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "02dc5a28-50bf-4650-a5a4-cb16f0f11845", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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" + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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" + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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" + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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kIDDBCiwKLAcXiys6FkCIlYCA+3f09VgcM0SZi9YXS8Gy7o32hE3FFKeXRe8GwmQgG8QoMCiwPKNleqHvTRyxxnt+NNDJu47yZuVWGQlp00/nCIOmQRIgATsEqDAosDi4+GlBJITK+XIkMSSpR2eLMHl4tpjkLkj5FiHBEiABIwJUGBRYBmvEtZIEQJGsVI8sy9FpoU3JQESIAGHCFBgUWA5tFBYyfMEJMZJLEq2YqWKFIm3PjH+yfPzwjuSAAmQgCMEKLAosBxZJ6yTQgREREmqA+uEnOXLx6dAYLbzFJoU3pYESIAEHCBAgUWB5cAyYZWUJiDxUtruP1qtUno2eH8SIAESMCZAgUWBZbxKWIMESIAESIAESMApAhRYFFhOLRhWJgESIAESIAESMCZAgUWBZbxKWIMESIAESIAESMApAhRYFFhOLRhWJgESIAESIAESMCZAgUWBZbxKWIMESIAESIAESMApAhRYFFhOLRhWJgESIAESIAESMCZAgUWBZbxKWIMESIAESIAESMApAhRYFFhOLRhWJgESIAESIAESMCZAgUWBZbxKWIMESIAESIAESMApAhRYFFhOLRhWJgESIAESIAESMCZAgUWBZbxKWIMESIAESIAESMApAhRYFFhOLRhWJgESIAESIAESMCZAgUWBZbxKWIMESIAESIAESMApAhRYFFhOLRhWJgESIAESIAESMCZAgUWBZbxKWIMESIAESIAESMApAhRYFFhOLRhWJgESIAESIAESMCZAgUWBZbxKWIMESIAESIAESMApAhRYFFhOLRhWJgESIAESIAESMCZAgUWBZbxKWIMESIAESIAESMApAhRYFFhOLRhWJgESIAESIAESMCZAgUWBZbxKWIMESIAESIAESMApAhRYOgLLKZKsTAIkQAIkQAIk4HUESpQokSJ9osBKEey8KQmQAAmQAAmQQGomQIGVmmeXYyMBEiABEiABEkgRAhRYKYKdNyUBEiABEiABEkjNBCiwUmH86/IAABKqSURBVPPscmwkQAIkQAIkQAIpQoACK0Ww86YkQAIkQAIkQAKpmQAFVmqeXS8Z24MH/2LSrCis27IX9+7fR+0alTByYEdkypjBS3qYurvRuucofPvDbwkG2a9rc3Rt21D9bv2n+zB9wVpcvHwVZUsVx5jBnVH48Xzqs9ir1xE2fgG+OPwdsmbJjDeb17Ncl7qpuW909+7HYUzkEqRPnw7D+r2Z4Ebf/XgS4ZMW4ZeTp1Egf24MebstalQtp+oYPUecq+TPmd7c6D1HnJvks9drQf4+bd5xEGcvXEaenNnRrkV9vNGsruUSb31uKLDcuy7YOoCo9Tux+OOtmDEuBI9mzohBo2ah/NNPYmCPVuTjAQLyYmjaoCZefrGK5W6ZMjyCDBkewS8nz6BVj5GIHPUWypV+AjMXR+Pr737ByjkjVN3+4TMRFxeHsJB2+Pv8ZfQMnYyxQ7qgZrXyHuh56rvFzn1HMXbaUsReuY4mr9RIILDu3buP+q8PQpvGtdEq+CXEfPE1Rk35CJ+umIicAdkMnyPOVfLWi97cSMt6z5HR3zjOTfLmZtLslahZtTyeKFoAx3/6HX3DpmNmRAiqVSwDb35uKLCSN++82gEC7fuOQ+3qFdW3Dikx+49h1OTF2LFqsgNXs0pyCciLoW2TOmhU7/kkTc1YuA4nfvkD08f0VZ9dv/EPnn+tNzYvHY98uXOgyqs9ETVrOEo9WVh9PnFWFC7FXkPE0G7J7ZZfXz9xZhTu3L2XQGAdOnoCfcOmYd+GGUibNo3i07J7OFoHv6QEst5zdPfuPc6VSSvK1txoAsvec8S5MQm+g828+fZY1KlZCe1b1Ic3PzcUWA5OKKu5TqBW0754751OFqvHqdPn0OCNUBzeOheZM9FN6DpZx64UgXXqz7PI8mgm5Xbq1LoBgp6voC4eOGoW8ufNmcCaGNSsn5qvgo/lQcN2QxLM06pNu7FmUwyiZsdbuFhcI2DrJf7xhl1Y88kei/VQWn7nvdnIlycnBvRoCb3n6Oz5S5wr16YiyVV6Asvec8S5MQm+A83cun0XtVuG4P3hvfBc5afhzc8NBZYDE8oqySNQpUEPZSGpGlhaNXTuQixeahGCvdHTleuDxb0Efvj5lIqf+vdfYO/BY5g0+2MsnzEMpZ8qgreGTlXWqbc6NbF04pW270BitCQOq3nXEfhu10KkSRNvUdm0fT/mLt2IDYvHurfTqbx1Wy/xxas+xY69X+GjaUMtox8+cQEeSZ9euWj1nqNzFy5zrkxaM/YElt5zxLkxCb4DzbwbMR/nL17B3IkD1N8lb35uKLAcmFBWSR4B+XY3ZnAXVK9SVjVEC1byeCb36i4DJ6JSuRLo2S5YWbAez58bId1aWJoVC9aoQR1RqEBeZRU5um2eiteSIhas1RtjElhZktsff7zengVr3dbPsWJmmAWJWLDy5smhLIx6z5FmweJcJX812RNYiVu2fo44N8nn7kgL42eswKGjP2BR5GBky/qoukQsWN763FBgOTKrrJMsAu36jEXdmpXVDjQpu744ipHvL8buNZHJapcXu0bg9V7vqXgsCab+YME6/Pjbn5g+uo9qTGKwnmvUG58sicBjeXMqq4m4A7UYrAkzVqjdhhPCerh2c16lCNh6iR88+gNChn+AfRs+sFgMxYLYKvhFtGgYBL3nSMVgca5MWV2OCizr54hzYwp6u43cj4vDiIkL8ceZc5g5LsQiruQCb35uKLDcuy7YOoBla7dj6ZrPMCtCdhFmwoCRM1GmRBG1BZ3FvQTOnL2I5es+w6u1qyFv7hzYuusQIuetwqYlEcifJ6cKcJcXhbhwnylVDLM/2oCDR45j7YfvqY7Jbh0JuB7Wrx3OX4xFt0GTED6gI2rXqOjejqfy1m29xEUk1W09UG0GadkoCHsOfoPhExZg6/IJyJMrwPA54lyZs2hszY3Rc2T0N45z4/rciLjqEToZGTM8gtGhndV/paRJk1bF8Hrzc0OB5fq880oHCcTFPYCYdjds24f79+/jxRcCVR4sEVss7iVw5eoNhE34EMeO/4qb/9zGU8Uex8CerVG5fEnLjSWweuaiaFyKvYpnShVXAe7FCj+mPhdrVdiEBThw5DiyZM6Ets3qKNcii2sEJJfP6Kkf4fbtu/gXUC+IEf07oH7Qs6pBmSfZYSvpMwrkz4VBvdrgpRcC1WdGzxHnyrU50a7Smxuj54hzkzz2eldfE6t6w15JqhQtlF9Z2r35uaHAct+6YMskQAIkQAIkQAJ+SoACy08nnsMmARIgARIgARJwHwEKLPexZcskQAIkQAIkQAJ+SoACy08nnsMmARIgARIgARJwHwEKLPexZcskQAIkQAIkQAJ+SoACy08nnsMmARIgARIgARJwHwEKLPexZcskQAIkQAIkQAJ+SoACy08nnsMmARIgARIgARJwHwEKLPexZcskQAIkQAIkQAJ+SoACy08nnsMmARIgARIgARJwHwEKLPexZcskQAIkQAIkQAJ+SoACy08nnsMmARIgARIgARJwHwEKLPexZcskQAIkQAIkQAJ+SoACy08nnsMmARIgARIgARJwHwEKLPexZcskQAIkQAIkQAJ+SoACy08nnsMmARIgARIgARJwHwEKLPexZcskQAIkQAIkQAJ+SoACy08nnsMmATMIlH2pI6aP7oug5yuY0VyKthF79TqqB7+NlXNG4JmSxVKkL6Mjl+DM2YuYFRGSIvfnTUmABMwjQIFlHku2RAKphsDR737G/OWf4Oi3P+OfW7dRIH9uvPJSVXRu8yoezZzRMk5/E1jrtuzFsPEfIvv/suDT5RORLeujFhZ1Wg1AjzdfQ/OGtVxeB2YJrP2Hv8ek2Svx6+9nkP1/WdGo3vPo17U50qdL53LfeCEJkIBzBCiwnOPF2iSQ6gls33MY/cNn4IVny6LJKzWQK8f/8N2PJzH7ow0oVCAvlkwfikwZMygO/iiwps5fo8ZfP+hZhHRr4XUC648z5/Fah6FoWOc5JfZOnT4HEW7tWtTD252apvr1ywGSgLcQoMDylplgP0jACwjcvnMXdVoOQJXAUpgc3jtBj345eQZNu4Spl3TXtg0tAiu09+s4eOQ49n35nbLs9O7QxGLFuR8Xhw8WrMOmz/bjcuw15M+bE3VqVEL/7i3V9Vev3cTEWVHYue8I7t+PU665wW+3RYniBdXnIup2fH4EHVq9jJmLovHHmXMYE9oFQ8bNw+KpQ1C5fElLH5et/QyzP1qPnasj8Uj6dPhs71fqmt/++Bt5cwWgSYMa6Na2EdKlS6uuuXbjH4ybtgzb93yJDBkeQaVyJbHz8yO6LkKxYM1YFI3+3Vpi2Pj52Lp8IvLmDlDtJbZgnb1wWbX/xeHv1efVqzyDoX3eQJ5c8fWl7Nx3FBNnRuHv85dQrFB+pE2bFnlz57C4CB88+Bfzlm3Cqk27cSn2GooWzIdeHRqjbs3KdlfLtA/XYMvOg9i8dDzSpEmj6s1ZshFLVm/DnnXTkDZt/O9YSIAE3EuAAsu9fNk6CfgUgT0HjqHn4CmIXjgaTxWLFznWpX/4TJw6fRZr5o9SvxYLVvZsWZV15KniBbFn/zF8vHE31i0YrUTSrI/WY93mvYh4t7uyhP3w8yls3P4FZozth7i4B3i913t4/LHc6NEuGJkzZcCKdTuwZddBfLIkAo9mzqQE1szF0aovbzSrq35XrnRxvDN6DooUzIfRoZ0t3WvVfSSeDSyFgT1aKeEyLGI+hvVrh8BnnsQff53HuxHz0a55PbRrUV9d0zEkApevXEffzs0QkD0bDh39AdMXrHVIYG2PmoSW3Uei9FOFMWpQJ9WetcASYdSi2wj8L9uj6Nulufp88pyPIQJ25ewRSvh8+fUJdOo/Hl1eb4gaVcsh9sp1zF6yAblzZrcIrAkzVmD/V98rYVbwsTz48tgJDJ+4EMs+GIanSxa1ubZ6hL6PLI9mxvsjelk+P3zsR7TvOw7boibh8fy5fWpNsrMk4KsEKLB8debYbxJwAwGxckyYuQJHts1XVqDEZebi9VgYtQVfbpltEVjTRvfBi88HWqq+1n4oqlcpi3d6t0G/4R/g9p07mD1+QJK2RMwNHTcfu9bEW5yk/Pvvv3gh+C2Mf7cHalQtqwSWWL9E8FnHD4klaey0ZcoiI8JMrFSN2g3Bxo/GoXjhxyBiq2Hd5/Bm83qW+y5ds121FTVrOA4cOY4uAyYqK0/hx/OqOo4EuWsWrM9Wvo8DXx1H10ETsX7RWHVPa4ElY3v73WnYsWqyEkxSLly6oqyDMyNC8MKzz+DNt8eiUIE8GDukq6WP1jFYYmGr8V/QfaknC1vq9AmbhqIF81usgInBtuwejtJPFcHIgR0tH4n1Mbjju2rsZUsXd8PKYZMkQAKJCVBgcU2QAAlYCDgisBat3IJDmx8KrMS7CENHz8GtO3cw7b0+ypLUb/h0FH48H6oElkbg00+iTs3KShSJdUvch7ZK+MAOaNEwyOIiXDU3PEG1f27dQa2mfTGif3slpKbMXYWvvvkJSz94V4m08nU6KwtZ4iLuud1rIpXbbeWGXRChpBVnBZZc12XgRGTOlBHTR/dJILA+XLEZqzfFYMuy8Qm68Erbd9C6cW20b1EfFep2Uf2XODetWAssGU+7PmNt8nm1djVMCOth8zMRWGVLFUdYSDvL5yd++QPNugxH1OwRKFsqZXZI8jEjAX8jQIHlbzPO8ZKADoGY/cfQa4i+i/DPv85DEzy2gtwHjJyJu/fuK9EhRep/tucrfHviJL44/B0K5MuFlXPCMW/pRuUu3LJsgt0eaTFYiQWWXBA2YYGKXZo7YSDqthqAtzo1UWJF3HPlandCxNBuSnzZKvECaHeCe7sisMTl2aJbuBJ2A0fNsuwitCewXn79HbRpEi+wKtXvpqxM1n20FljiQuzQLwI7V01Bvjw5HF634iIUt+34Yd0t1xw8+gM6hYzHpysmKlcjCwmQgPsJUGC5nzHvQAI+Q+DW7buo06o/qgaWThLk/vPJ08oK0qdzM3R5/VU1psQCS4LaX2kbipaNglQgvPzb2rWnWVLWLxyjdrf1HT4dGxbHu9isi1ifJBhdT2BJKglxs0kc1pipSxCzdpolhUTTzmF4omgBTAzrabPdbTGHMWjULOxeG4kc2bOpOhJEXrNJH4disKwtX4Pem4Wz52OV2NPSNIhQ7TNM30UoLrvnKz+D0N5tLH0cNeUj/H3ukorBEsEn/QkLaa942uJja2FJkPvG7fuxbcVES5C7WOwWrtyCz6M/YJC7zzyN7KivE6DA8vUZZP9JwGQCIj4GjJQ0Dc+gaYNayBmQzZKmocjj+fDR9KHImOERi8BqULuashxJ4HZU9A5IQLVYpbJmyYy3352KZ0oVV4lIJbXBmk9isPqTGGWVSZ8+nYqVuvnPbZWjqWih/Pjr3CVInJMEoz9boZSuwJIONGw3BOcuXFY5urRgc/n9p7u/VKkm2jatiwa1qyJdunRqp6MIvEnDe+LO3Xuo13ognihSQAXPS3yUxGhJLJdeolHrGCwN++m/L6Dhm4NxP+4Bwgd0UDsoxYrWvOtw/C9bFpXKQdyW4sYU1+bHc+KD3MUdO3nuKvTt0gyFHsurrHuyW1DSY2iJRkU4Rm/9XInaSuVK4MbN29jx+VcqrkvbyZl4+rU0DY3rV1c7J2VTwntTlqBt0zqKMwsJkIBnCFBgeYYz70ICPkXgyLc/Y+7Sjfj6+19w69YdFMifC/WDqqDbG42SJBqV9Aa//3kWV65eR5kSRTG8f3toQdkbtu3D8nU71OciMp4pVQwDurdU9aRImobI+auxa99Rdb2kKKhasYwSHSIi9CxYcv2CqM14f/bHWDZjGCo8/WQCxpJyQZKliqiSNAxPFn0crYNfsrjkjh3/FeGTFipLmrZLcfDYuU4LLLmpBNwvW7tdufy0RKN/n7+MsdOW4sBX8WkaxFoluwE1d59Y9ybMiEL01r0qjqt2jUq4efOWSh+hCSyx5C36eCvWbt6D039dQED2rCq+qtsbDVGuzBN215SkzJBdi5JoVEReo7rPI6R7CyYa9amnkJ31dQIUWL4+g+w/CZAACZAACZCA1xGgwPK6KWGHSIAESIAESIAEfJ0ABZavzyD7TwIkQAIkQAIk4HUEKLC8bkrYIRIgARIgARIgAV8nQIHl6zPI/pMACZAACZAACXgdAQosr5sSdogESIAESIAESMDXCVBg+foMsv8kQAIkQAIkQAJeR4ACy+umhB0iARIgARIgARLwdQIUWL4+g+w/CZAACZAACZCA1xGgwPK6KWGHSIAESIAESIAEfJ0ABZavzyD7TwIkQAIkQAIk4HUEKLC8bkrYIRIgARIgARIgAV8n8H+Jos8fXFF5ogAAAABJRU5ErkJggg==" + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "for imgep_step_idx in range(1, n_imgep_batches + 1):\n", + "\n", + " starting_points = experiment_history.reached_goal_embedding_library[\n", + " : imgep_step_idx * batch_size\n", + " ]\n", + " target_goal_points = experiment_history.target_goal_embedding_library[\n", + " imgep_step_idx * batch_size : (imgep_step_idx + 1) * batch_size\n", + " ]\n", + " selected_starting_points = experiment_history.reached_goal_embedding_library[\n", + " experiment_history.source_intervention_library[\n", + " imgep_step_idx * batch_size : (imgep_step_idx + 1) * batch_size\n", + " ]\n", + " ]\n", + " reached_points = experiment_history.reached_goal_embedding_library[\n", + " imgep_step_idx * batch_size : (imgep_step_idx + 1) * batch_size\n", + " ]\n", + " if \"IM_vals\" in experiment_log and imgep_step_idx\n", + " window.PlotlyConfig = {MathJaxConfig: 'local'};\n", + " if (window.MathJax && window.MathJax.Hub && window.MathJax.Hub.Config) {window.MathJax.Hub.Config({SVG: {font: \"STIX-Web\"}});}\n", + " if (typeof require !== 'undefined') {\n", + " require.undef(\"plotly\");\n", + " define('plotly', function(require, exports, module) {\n", + " /**\n", + "* plotly.js v2.16.1\n", + "* Copyright 2012-2022, Plotly, Inc.\n", + "* All rights reserved.\n", + "* Licensed under the MIT license\n", + "*/\n", + "!function(t){if(\"object\"==typeof exports&&\"undefined\"!=typeof module)module.exports=t();else if(\"function\"==typeof define&&define.amd)define([],t);else{(\"undefined\"!=typeof window?window:\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:this).Plotly=t()}}((function(){return function t(e,r,n){function i(o,s){if(!r[o]){if(!e[o]){var l=\"function\"==typeof require&&require;if(!s&&l)return l(o,!0);if(a)return a(o,!0);var c=new Error(\"Cannot find module '\"+o+\"'\");throw c.code=\"MODULE_NOT_FOUND\",c}var u=r[o]={exports:{}};e[o][0].call(u.exports,(function(t){return i(e[o][1][t]||t)}),u,u.exports,t,e,r,n)}return r[o].exports}for(var a=\"function\"==typeof require&&require,o=0;o:not(.watermark)\":\"opacity:0;-webkit-transition:opacity .3s ease 0s;-moz-transition:opacity .3s ease 0s;-ms-transition:opacity .3s ease 0s;-o-transition:opacity .3s ease 0s;transition:opacity .3s ease 0s;\",\"X:hover .modebar--hover .modebar-group\":\"opacity:1;\",\"X .modebar-group\":\"float:left;display:inline-block;box-sizing:border-box;padding-left:8px;position:relative;vertical-align:middle;white-space:nowrap;\",\"X .modebar-btn\":\"position:relative;font-size:16px;padding:3px 4px;height:22px;cursor:pointer;line-height:normal;box-sizing:border-box;\",\"X .modebar-btn svg\":\"position:relative;top:2px;\",\"X .modebar.vertical\":\"display:flex;flex-direction:column;flex-wrap:wrap;align-content:flex-end;max-height:100%;\",\"X .modebar.vertical svg\":\"top:-1px;\",\"X .modebar.vertical .modebar-group\":\"display:block;float:none;padding-left:0px;padding-bottom:8px;\",\"X .modebar.vertical .modebar-group .modebar-btn\":\"display:block;text-align:center;\",\"X [data-title]:before,X [data-title]:after\":\"position:absolute;-webkit-transform:translate3d(0, 0, 0);-moz-transform:translate3d(0, 0, 0);-ms-transform:translate3d(0, 0, 0);-o-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);display:none;opacity:0;z-index:1001;pointer-events:none;top:110%;right:50%;\",\"X [data-title]:hover:before,X [data-title]:hover:after\":\"display:block;opacity:1;\",\"X [data-title]:before\":'content:\"\";position:absolute;background:rgba(0,0,0,0);border:6px solid rgba(0,0,0,0);z-index:1002;margin-top:-12px;border-bottom-color:#69738a;margin-right:-6px;',\"X [data-title]:after\":\"content:attr(data-title);background:#69738a;color:#fff;padding:8px 10px;font-size:12px;line-height:12px;white-space:nowrap;margin-right:-18px;border-radius:2px;\",\"X .vertical [data-title]:before,X .vertical [data-title]:after\":\"top:0%;right:200%;\",\"X .vertical [data-title]:before\":\"border:6px solid rgba(0,0,0,0);border-left-color:#69738a;margin-top:8px;margin-right:-30px;\",Y:'font-family:\"Open Sans\",verdana,arial,sans-serif;position:fixed;top:50px;right:20px;z-index:10000;font-size:10pt;max-width:180px;',\"Y p\":\"margin:0;\",\"Y .notifier-note\":\"min-width:180px;max-width:250px;border:1px solid #fff;z-index:3000;margin:0;background-color:#8c97af;background-color:rgba(140,151,175,.9);color:#fff;padding:10px;overflow-wrap:break-word;word-wrap:break-word;-ms-hyphens:auto;-webkit-hyphens:auto;hyphens:auto;\",\"Y .notifier-close\":\"color:#fff;opacity:.8;float:right;padding:0 5px;background:none;border:none;font-size:20px;font-weight:bold;line-height:20px;\",\"Y .notifier-close:hover\":\"color:#444;text-decoration:none;cursor:pointer;\"};for(var a in i){var o=a.replace(/^,/,\" ,\").replace(/X/g,\".js-plotly-plot .plotly\").replace(/Y/g,\".plotly-notifier\");n.addStyleRule(o,i[a])}},{\"../src/lib\":515}],2:[function(t,e,r){\"use strict\";e.exports=t(\"../src/transforms/aggregate\")},{\"../src/transforms/aggregate\":1127}],3:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/bar\")},{\"../src/traces/bar\":665}],4:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/barpolar\")},{\"../src/traces/barpolar\":678}],5:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/box\")},{\"../src/traces/box\":688}],6:[function(t,e,r){\"use strict\";e.exports=t(\"../src/components/calendars\")},{\"../src/components/calendars\":365}],7:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/candlestick\")},{\"../src/traces/candlestick\":697}],8:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/carpet\")},{\"../src/traces/carpet\":716}],9:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/choropleth\")},{\"../src/traces/choropleth\":730}],10:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/choroplethmapbox\")},{\"../src/traces/choroplethmapbox\":737}],11:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/cone\")},{\"../src/traces/cone\":743}],12:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/contour\")},{\"../src/traces/contour\":758}],13:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/contourcarpet\")},{\"../src/traces/contourcarpet\":769}],14:[function(t,e,r){\"use strict\";e.exports=t(\"../src/core\")},{\"../src/core\":493}],15:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/densitymapbox\")},{\"../src/traces/densitymapbox\":777}],16:[function(t,e,r){\"use strict\";e.exports=t(\"../src/transforms/filter\")},{\"../src/transforms/filter\":1128}],17:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/funnel\")},{\"../src/traces/funnel\":787}],18:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/funnelarea\")},{\"../src/traces/funnelarea\":796}],19:[function(t,e,r){\"use strict\";e.exports=t(\"../src/transforms/groupby\")},{\"../src/transforms/groupby\":1129}],20:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/heatmap\")},{\"../src/traces/heatmap\":809}],21:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/heatmapgl\")},{\"../src/traces/heatmapgl\":820}],22:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/histogram\")},{\"../src/traces/histogram\":832}],23:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/histogram2d\")},{\"../src/traces/histogram2d\":838}],24:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/histogram2dcontour\")},{\"../src/traces/histogram2dcontour\":842}],25:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/icicle\")},{\"../src/traces/icicle\":848}],26:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/image\")},{\"../src/traces/image\":861}],27:[function(t,e,r){\"use strict\";var n=t(\"./core\");n.register([t(\"./bar\"),t(\"./box\"),t(\"./heatmap\"),t(\"./histogram\"),t(\"./histogram2d\"),t(\"./histogram2dcontour\"),t(\"./contour\"),t(\"./scatterternary\"),t(\"./violin\"),t(\"./funnel\"),t(\"./waterfall\"),t(\"./image\"),t(\"./pie\"),t(\"./sunburst\"),t(\"./treemap\"),t(\"./icicle\"),t(\"./funnelarea\"),t(\"./scatter3d\"),t(\"./surface\"),t(\"./isosurface\"),t(\"./volume\"),t(\"./mesh3d\"),t(\"./cone\"),t(\"./streamtube\"),t(\"./scattergeo\"),t(\"./choropleth\"),t(\"./scattergl\"),t(\"./splom\"),t(\"./pointcloud\"),t(\"./heatmapgl\"),t(\"./parcoords\"),t(\"./parcats\"),t(\"./scattermapbox\"),t(\"./choroplethmapbox\"),t(\"./densitymapbox\"),t(\"./sankey\"),t(\"./indicator\"),t(\"./table\"),t(\"./carpet\"),t(\"./scattercarpet\"),t(\"./contourcarpet\"),t(\"./ohlc\"),t(\"./candlestick\"),t(\"./scatterpolar\"),t(\"./scatterpolargl\"),t(\"./barpolar\"),t(\"./scattersmith\"),t(\"./aggregate\"),t(\"./filter\"),t(\"./groupby\"),t(\"./sort\"),t(\"./calendars\")]),e.exports=n},{\"./aggregate\":2,\"./bar\":3,\"./barpolar\":4,\"./box\":5,\"./calendars\":6,\"./candlestick\":7,\"./carpet\":8,\"./choropleth\":9,\"./choroplethmapbox\":10,\"./cone\":11,\"./contour\":12,\"./contourcarpet\":13,\"./core\":14,\"./densitymapbox\":15,\"./filter\":16,\"./funnel\":17,\"./funnelarea\":18,\"./groupby\":19,\"./heatmap\":20,\"./heatmapgl\":21,\"./histogram\":22,\"./histogram2d\":23,\"./histogram2dcontour\":24,\"./icicle\":25,\"./image\":26,\"./indicator\":28,\"./isosurface\":29,\"./mesh3d\":30,\"./ohlc\":31,\"./parcats\":32,\"./parcoords\":33,\"./pie\":34,\"./pointcloud\":35,\"./sankey\":36,\"./scatter3d\":37,\"./scattercarpet\":38,\"./scattergeo\":39,\"./scattergl\":40,\"./scattermapbox\":41,\"./scatterpolar\":42,\"./scatterpolargl\":43,\"./scattersmith\":44,\"./scatterternary\":45,\"./sort\":46,\"./splom\":47,\"./streamtube\":48,\"./sunburst\":49,\"./surface\":50,\"./table\":51,\"./treemap\":52,\"./violin\":53,\"./volume\":54,\"./waterfall\":55}],28:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/indicator\")},{\"../src/traces/indicator\":869}],29:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/isosurface\")},{\"../src/traces/isosurface\":875}],30:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/mesh3d\")},{\"../src/traces/mesh3d\":880}],31:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/ohlc\")},{\"../src/traces/ohlc\":885}],32:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/parcats\")},{\"../src/traces/parcats\":894}],33:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/parcoords\")},{\"../src/traces/parcoords\":905}],34:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/pie\")},{\"../src/traces/pie\":916}],35:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/pointcloud\")},{\"../src/traces/pointcloud\":925}],36:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/sankey\")},{\"../src/traces/sankey\":931}],37:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/scatter3d\")},{\"../src/traces/scatter3d\":969}],38:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/scattercarpet\")},{\"../src/traces/scattercarpet\":976}],39:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/scattergeo\")},{\"../src/traces/scattergeo\":984}],40:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/scattergl\")},{\"../src/traces/scattergl\":998}],41:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/scattermapbox\")},{\"../src/traces/scattermapbox\":1008}],42:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/scatterpolar\")},{\"../src/traces/scatterpolar\":1016}],43:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/scatterpolargl\")},{\"../src/traces/scatterpolargl\":1024}],44:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/scattersmith\")},{\"../src/traces/scattersmith\":1031}],45:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/scatterternary\")},{\"../src/traces/scatterternary\":1039}],46:[function(t,e,r){\"use strict\";e.exports=t(\"../src/transforms/sort\")},{\"../src/transforms/sort\":1131}],47:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/splom\")},{\"../src/traces/splom\":1049}],48:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/streamtube\")},{\"../src/traces/streamtube\":1057}],49:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/sunburst\")},{\"../src/traces/sunburst\":1065}],50:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/surface\")},{\"../src/traces/surface\":1074}],51:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/table\")},{\"../src/traces/table\":1082}],52:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/treemap\")},{\"../src/traces/treemap\":1093}],53:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/violin\")},{\"../src/traces/violin\":1106}],54:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/volume\")},{\"../src/traces/volume\":1114}],55:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/waterfall\")},{\"../src/traces/waterfall\":1122}],56:[function(t,e,r){!function(n,i){\"object\"==typeof r&&void 0!==e?i(r,t(\"d3-array\"),t(\"d3-collection\"),t(\"d3-shape\"),t(\"elementary-circuits-directed-graph\")):i(n.d3=n.d3||{},n.d3,n.d3,n.d3,null)}(this,(function(t,e,r,n,i){\"use strict\";function a(t){return t.target.depth}function o(t,e){return t.sourceLinks.length?t.depth:e-1}function s(t){return function(){return t}}i=i&&i.hasOwnProperty(\"default\")?i.default:i;var l=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t};function c(t,e){return f(t.source,e.source)||t.index-e.index}function u(t,e){return f(t.target,e.target)||t.index-e.index}function f(t,e){return t.partOfCycle===e.partOfCycle?t.y0-e.y0:\"top\"===t.circularLinkType||\"bottom\"===e.circularLinkType?-1:1}function h(t){return t.value}function p(t){return(t.y0+t.y1)/2}function d(t){return p(t.source)}function m(t){return p(t.target)}function g(t){return t.index}function v(t){return t.nodes}function y(t){return t.links}function x(t,e){var r=t.get(e);if(!r)throw new Error(\"missing: \"+e);return r}function b(t,e){return e(t)}function _(t,e,r){var n=0;if(null===r){for(var a=[],o=0;o1||i>1)}function M(t,e,r){return t.sort(E),t.forEach((function(n,i){var a,o,s=0;if(q(n,r)&&A(n))n.circularPathData.verticalBuffer=s+n.width/2;else{for(var l=0;lo.source.column)){var c=t[l].circularPathData.verticalBuffer+t[l].width/2+e;s=c>s?c:s}n.circularPathData.verticalBuffer=s+n.width/2}})),t}function S(t,r,i,a){var o=e.min(t.links,(function(t){return t.source.y0}));t.links.forEach((function(t){t.circular&&(t.circularPathData={})})),M(t.links.filter((function(t){return\"top\"==t.circularLinkType})),r,a),M(t.links.filter((function(t){return\"bottom\"==t.circularLinkType})),r,a),t.links.forEach((function(e){if(e.circular){if(e.circularPathData.arcRadius=e.width+10,e.circularPathData.leftNodeBuffer=5,e.circularPathData.rightNodeBuffer=5,e.circularPathData.sourceWidth=e.source.x1-e.source.x0,e.circularPathData.sourceX=e.source.x0+e.circularPathData.sourceWidth,e.circularPathData.targetX=e.target.x0,e.circularPathData.sourceY=e.y0,e.circularPathData.targetY=e.y1,q(e,a)&&A(e))e.circularPathData.leftSmallArcRadius=10+e.width/2,e.circularPathData.leftLargeArcRadius=10+e.width/2,e.circularPathData.rightSmallArcRadius=10+e.width/2,e.circularPathData.rightLargeArcRadius=10+e.width/2,\"bottom\"==e.circularLinkType?(e.circularPathData.verticalFullExtent=e.source.y1+25+e.circularPathData.verticalBuffer,e.circularPathData.verticalLeftInnerExtent=e.circularPathData.verticalFullExtent-e.circularPathData.leftLargeArcRadius,e.circularPathData.verticalRightInnerExtent=e.circularPathData.verticalFullExtent-e.circularPathData.rightLargeArcRadius):(e.circularPathData.verticalFullExtent=e.source.y0-25-e.circularPathData.verticalBuffer,e.circularPathData.verticalLeftInnerExtent=e.circularPathData.verticalFullExtent+e.circularPathData.leftLargeArcRadius,e.circularPathData.verticalRightInnerExtent=e.circularPathData.verticalFullExtent+e.circularPathData.rightLargeArcRadius);else{var s=e.source.column,l=e.circularLinkType,c=t.links.filter((function(t){return t.source.column==s&&t.circularLinkType==l}));\"bottom\"==e.circularLinkType?c.sort(C):c.sort(L);var u=0;c.forEach((function(t,n){t.circularLinkID==e.circularLinkID&&(e.circularPathData.leftSmallArcRadius=10+e.width/2+u,e.circularPathData.leftLargeArcRadius=10+e.width/2+n*r+u),u+=t.width})),s=e.target.column,c=t.links.filter((function(t){return t.target.column==s&&t.circularLinkType==l})),\"bottom\"==e.circularLinkType?c.sort(I):c.sort(P),u=0,c.forEach((function(t,n){t.circularLinkID==e.circularLinkID&&(e.circularPathData.rightSmallArcRadius=10+e.width/2+u,e.circularPathData.rightLargeArcRadius=10+e.width/2+n*r+u),u+=t.width})),\"bottom\"==e.circularLinkType?(e.circularPathData.verticalFullExtent=Math.max(i,e.source.y1,e.target.y1)+25+e.circularPathData.verticalBuffer,e.circularPathData.verticalLeftInnerExtent=e.circularPathData.verticalFullExtent-e.circularPathData.leftLargeArcRadius,e.circularPathData.verticalRightInnerExtent=e.circularPathData.verticalFullExtent-e.circularPathData.rightLargeArcRadius):(e.circularPathData.verticalFullExtent=o-25-e.circularPathData.verticalBuffer,e.circularPathData.verticalLeftInnerExtent=e.circularPathData.verticalFullExtent+e.circularPathData.leftLargeArcRadius,e.circularPathData.verticalRightInnerExtent=e.circularPathData.verticalFullExtent+e.circularPathData.rightLargeArcRadius)}e.circularPathData.leftInnerExtent=e.circularPathData.sourceX+e.circularPathData.leftNodeBuffer,e.circularPathData.rightInnerExtent=e.circularPathData.targetX-e.circularPathData.rightNodeBuffer,e.circularPathData.leftFullExtent=e.circularPathData.sourceX+e.circularPathData.leftLargeArcRadius+e.circularPathData.leftNodeBuffer,e.circularPathData.rightFullExtent=e.circularPathData.targetX-e.circularPathData.rightLargeArcRadius-e.circularPathData.rightNodeBuffer}if(e.circular)e.path=function(t){var e=\"\";e=\"top\"==t.circularLinkType?\"M\"+t.circularPathData.sourceX+\" \"+t.circularPathData.sourceY+\" L\"+t.circularPathData.leftInnerExtent+\" \"+t.circularPathData.sourceY+\" A\"+t.circularPathData.leftLargeArcRadius+\" \"+t.circularPathData.leftSmallArcRadius+\" 0 0 0 \"+t.circularPathData.leftFullExtent+\" \"+(t.circularPathData.sourceY-t.circularPathData.leftSmallArcRadius)+\" L\"+t.circularPathData.leftFullExtent+\" \"+t.circularPathData.verticalLeftInnerExtent+\" A\"+t.circularPathData.leftLargeArcRadius+\" \"+t.circularPathData.leftLargeArcRadius+\" 0 0 0 \"+t.circularPathData.leftInnerExtent+\" \"+t.circularPathData.verticalFullExtent+\" L\"+t.circularPathData.rightInnerExtent+\" \"+t.circularPathData.verticalFullExtent+\" A\"+t.circularPathData.rightLargeArcRadius+\" \"+t.circularPathData.rightLargeArcRadius+\" 0 0 0 \"+t.circularPathData.rightFullExtent+\" \"+t.circularPathData.verticalRightInnerExtent+\" L\"+t.circularPathData.rightFullExtent+\" \"+(t.circularPathData.targetY-t.circularPathData.rightSmallArcRadius)+\" A\"+t.circularPathData.rightLargeArcRadius+\" \"+t.circularPathData.rightSmallArcRadius+\" 0 0 0 \"+t.circularPathData.rightInnerExtent+\" \"+t.circularPathData.targetY+\" L\"+t.circularPathData.targetX+\" \"+t.circularPathData.targetY:\"M\"+t.circularPathData.sourceX+\" \"+t.circularPathData.sourceY+\" L\"+t.circularPathData.leftInnerExtent+\" \"+t.circularPathData.sourceY+\" A\"+t.circularPathData.leftLargeArcRadius+\" \"+t.circularPathData.leftSmallArcRadius+\" 0 0 1 \"+t.circularPathData.leftFullExtent+\" \"+(t.circularPathData.sourceY+t.circularPathData.leftSmallArcRadius)+\" L\"+t.circularPathData.leftFullExtent+\" \"+t.circularPathData.verticalLeftInnerExtent+\" A\"+t.circularPathData.leftLargeArcRadius+\" \"+t.circularPathData.leftLargeArcRadius+\" 0 0 1 \"+t.circularPathData.leftInnerExtent+\" \"+t.circularPathData.verticalFullExtent+\" L\"+t.circularPathData.rightInnerExtent+\" \"+t.circularPathData.verticalFullExtent+\" A\"+t.circularPathData.rightLargeArcRadius+\" \"+t.circularPathData.rightLargeArcRadius+\" 0 0 1 \"+t.circularPathData.rightFullExtent+\" \"+t.circularPathData.verticalRightInnerExtent+\" L\"+t.circularPathData.rightFullExtent+\" \"+(t.circularPathData.targetY+t.circularPathData.rightSmallArcRadius)+\" A\"+t.circularPathData.rightLargeArcRadius+\" \"+t.circularPathData.rightSmallArcRadius+\" 0 0 1 \"+t.circularPathData.rightInnerExtent+\" \"+t.circularPathData.targetY+\" L\"+t.circularPathData.targetX+\" \"+t.circularPathData.targetY;return e}(e);else{var f=n.linkHorizontal().source((function(t){return[t.source.x0+(t.source.x1-t.source.x0),t.y0]})).target((function(t){return[t.target.x0,t.y1]}));e.path=f(e)}}))}function E(t,e){return O(t)==O(e)?\"bottom\"==t.circularLinkType?C(t,e):L(t,e):O(e)-O(t)}function L(t,e){return t.y0-e.y0}function C(t,e){return e.y0-t.y0}function P(t,e){return t.y1-e.y1}function I(t,e){return e.y1-t.y1}function O(t){return t.target.column-t.source.column}function z(t){return t.target.x0-t.source.x1}function D(t,e){var r=T(t),n=z(e)/Math.tan(r);return\"up\"==H(t)?t.y1+n:t.y1-n}function R(t,e){var r=T(t),n=z(e)/Math.tan(r);return\"up\"==H(t)?t.y1-n:t.y1+n}function F(t,e,r,n){t.links.forEach((function(i){if(!i.circular&&i.target.column-i.source.column>1){var a=i.source.column+1,o=i.target.column-1,s=1,l=o-a+1;for(s=1;a<=o;a++,s++)t.nodes.forEach((function(o){if(o.column==a){var c,u=s/(l+1),f=Math.pow(1-u,3),h=3*u*Math.pow(1-u,2),p=3*Math.pow(u,2)*(1-u),d=Math.pow(u,3),m=f*i.y0+h*i.y0+p*i.y1+d*i.y1,g=m-i.width/2,v=m+i.width/2;g>o.y0&&go.y0&&vo.y1)&&(c=v-o.y0+10,o=N(o,c,e,r),t.nodes.forEach((function(t){b(t,n)!=b(o,n)&&t.column==o.column&&t.y0o.y1&&N(t,c,e,r)})))}}))}}))}function B(t,e){return t.y0>e.y0&&t.y0e.y0&&t.y1e.y1)}function N(t,e,r,n){return t.y0+e>=r&&t.y1+e<=n&&(t.y0=t.y0+e,t.y1=t.y1+e,t.targetLinks.forEach((function(t){t.y1=t.y1+e})),t.sourceLinks.forEach((function(t){t.y0=t.y0+e}))),t}function j(t,e,r,n){t.nodes.forEach((function(i){n&&i.y+(i.y1-i.y0)>e&&(i.y=i.y-(i.y+(i.y1-i.y0)-e));var a=t.links.filter((function(t){return b(t.source,r)==b(i,r)})),o=a.length;o>1&&a.sort((function(t,e){if(!t.circular&&!e.circular){if(t.target.column==e.target.column)return t.y1-e.y1;if(!V(t,e))return t.y1-e.y1;if(t.target.column>e.target.column){var r=R(e,t);return t.y1-r}if(e.target.column>t.target.column)return R(t,e)-e.y1}return t.circular&&!e.circular?\"top\"==t.circularLinkType?-1:1:e.circular&&!t.circular?\"top\"==e.circularLinkType?1:-1:t.circular&&e.circular?t.circularLinkType===e.circularLinkType&&\"top\"==t.circularLinkType?t.target.column===e.target.column?t.target.y1-e.target.y1:e.target.column-t.target.column:t.circularLinkType===e.circularLinkType&&\"bottom\"==t.circularLinkType?t.target.column===e.target.column?e.target.y1-t.target.y1:t.target.column-e.target.column:\"top\"==t.circularLinkType?-1:1:void 0}));var s=i.y0;a.forEach((function(t){t.y0=s+t.width/2,s+=t.width})),a.forEach((function(t,e){if(\"bottom\"==t.circularLinkType){for(var r=e+1,n=0;r1&&n.sort((function(t,e){if(!t.circular&&!e.circular){if(t.source.column==e.source.column)return t.y0-e.y0;if(!V(t,e))return t.y0-e.y0;if(e.source.column0?\"up\":\"down\"}function q(t,e){return b(t.source,e)==b(t.target,e)}function G(t,r,n){var i=t.nodes,a=t.links,o=!1,s=!1;if(a.forEach((function(t){\"top\"==t.circularLinkType?o=!0:\"bottom\"==t.circularLinkType&&(s=!0)})),0==o||0==s){var l=e.min(i,(function(t){return t.y0})),c=(n-r)/(e.max(i,(function(t){return t.y1}))-l);i.forEach((function(t){var e=(t.y1-t.y0)*c;t.y0=(t.y0-l)*c,t.y1=t.y0+e})),a.forEach((function(t){t.y0=(t.y0-l)*c,t.y1=(t.y1-l)*c,t.width=t.width*c}))}}t.sankeyCircular=function(){var t,n,i=0,a=0,b=1,T=1,A=24,M=g,E=o,L=v,C=y,P=32,I=2,O=null;function z(){var t={nodes:L.apply(null,arguments),links:C.apply(null,arguments)};D(t),_(t,M,O),R(t),B(t),w(t,M),N(t,P,M),V(t);for(var e=4,r=0;r0?r+25+10:r,bottom:n=n>0?n+25+10:n,left:a=a>0?a+25+10:a,right:i=i>0?i+25+10:i}}(o),f=function(t,r){var n=e.max(t.nodes,(function(t){return t.column})),o=b-i,s=T-a,l=o/(o+r.right+r.left),c=s/(s+r.top+r.bottom);return i=i*l+r.left,b=0==r.right?b:b*l,a=a*c+r.top,T*=c,t.nodes.forEach((function(t){t.x0=i+t.column*((b-i-A)/n),t.x1=t.x0+A})),c}(o,u);l*=f,o.links.forEach((function(t){t.width=t.value*l})),c.forEach((function(t){var e=t.length;t.forEach((function(t,n){t.depth==c.length-1&&1==e||0==t.depth&&1==e?(t.y0=T/2-t.value*l,t.y1=t.y0+t.value*l):t.partOfCycle?0==k(t,r)?(t.y0=T/2+n,t.y1=t.y0+t.value*l):\"top\"==t.circularLinkType?(t.y0=a+n,t.y1=t.y0+t.value*l):(t.y0=T-t.value*l-n,t.y1=t.y0+t.value*l):0==u.top||0==u.bottom?(t.y0=(T-a)/e*n,t.y1=t.y0+t.value*l):(t.y0=(T-a)/2-e/2+n,t.y1=t.y0+t.value*l)}))}))}(l),y();for(var u=1,g=s;g>0;--g)v(u*=.99,l),y();function v(t,r){var n=c.length;c.forEach((function(i){var a=i.length,o=i[0].depth;i.forEach((function(i){var s;if(i.sourceLinks.length||i.targetLinks.length)if(i.partOfCycle&&k(i,r)>0);else if(0==o&&1==a)s=i.y1-i.y0,i.y0=T/2-s/2,i.y1=T/2+s/2;else if(o==n-1&&1==a)s=i.y1-i.y0,i.y0=T/2-s/2,i.y1=T/2+s/2;else{var l=e.mean(i.sourceLinks,m),c=e.mean(i.targetLinks,d),u=((l&&c?(l+c)/2:l||c)-p(i))*t;i.y0+=u,i.y1+=u}}))}))}function y(){c.forEach((function(e){var r,n,i,o=a,s=e.length;for(e.sort(f),i=0;i0&&(r.y0+=n,r.y1+=n),o=r.y1+t;if((n=o-t-T)>0)for(o=r.y0-=n,r.y1-=n,i=s-2;i>=0;--i)(n=(r=e[i]).y1+t-o)>0&&(r.y0-=n,r.y1-=n),o=r.y0}))}}function V(t){t.nodes.forEach((function(t){t.sourceLinks.sort(u),t.targetLinks.sort(c)})),t.nodes.forEach((function(t){var e=t.y0,r=e,n=t.y1,i=n;t.sourceLinks.forEach((function(t){t.circular?(t.y0=n-t.width/2,n-=t.width):(t.y0=e+t.width/2,e+=t.width)})),t.targetLinks.forEach((function(t){t.circular?(t.y1=i-t.width/2,i-=t.width):(t.y1=r+t.width/2,r+=t.width)}))}))}return z.nodeId=function(t){return arguments.length?(M=\"function\"==typeof t?t:s(t),z):M},z.nodeAlign=function(t){return arguments.length?(E=\"function\"==typeof t?t:s(t),z):E},z.nodeWidth=function(t){return arguments.length?(A=+t,z):A},z.nodePadding=function(e){return arguments.length?(t=+e,z):t},z.nodes=function(t){return arguments.length?(L=\"function\"==typeof t?t:s(t),z):L},z.links=function(t){return arguments.length?(C=\"function\"==typeof t?t:s(t),z):C},z.size=function(t){return arguments.length?(i=a=0,b=+t[0],T=+t[1],z):[b-i,T-a]},z.extent=function(t){return arguments.length?(i=+t[0][0],b=+t[1][0],a=+t[0][1],T=+t[1][1],z):[[i,a],[b,T]]},z.iterations=function(t){return arguments.length?(P=+t,z):P},z.circularLinkGap=function(t){return arguments.length?(I=+t,z):I},z.nodePaddingRatio=function(t){return arguments.length?(n=+t,z):n},z.sortNodes=function(t){return arguments.length?(O=t,z):O},z.update=function(t){return w(t,M),V(t),t.links.forEach((function(t){t.circular&&(t.circularLinkType=t.y0+t.y1a&&(b=a);var o=e.min(i,(function(t){return(y-n-(t.length-1)*b)/e.sum(t,u)}));i.forEach((function(t){t.forEach((function(t,e){t.y1=(t.y0=e)+t.value*o}))})),t.links.forEach((function(t){t.width=t.value*o}))}(),d();for(var a=1,o=A;o>0;--o)l(a*=.99),d(),s(a),d();function s(t){i.forEach((function(r){r.forEach((function(r){if(r.targetLinks.length){var n=(e.sum(r.targetLinks,h)/e.sum(r.targetLinks,u)-f(r))*t;r.y0+=n,r.y1+=n}}))}))}function l(t){i.slice().reverse().forEach((function(r){r.forEach((function(r){if(r.sourceLinks.length){var n=(e.sum(r.sourceLinks,p)/e.sum(r.sourceLinks,u)-f(r))*t;r.y0+=n,r.y1+=n}}))}))}function d(){i.forEach((function(t){var e,r,i,a=n,o=t.length;for(t.sort(c),i=0;i0&&(e.y0+=r,e.y1+=r),a=e.y1+b;if((r=a-b-y)>0)for(a=e.y0-=r,e.y1-=r,i=o-2;i>=0;--i)(r=(e=t[i]).y1+b-a)>0&&(e.y0-=r,e.y1-=r),a=e.y0}))}}function P(t){t.nodes.forEach((function(t){t.sourceLinks.sort(l),t.targetLinks.sort(s)})),t.nodes.forEach((function(t){var e=t.y0,r=e;t.sourceLinks.forEach((function(t){t.y0=e+t.width/2,e+=t.width})),t.targetLinks.forEach((function(t){t.y1=r+t.width/2,r+=t.width}))}))}return M.update=function(t){return P(t),t},M.nodeId=function(t){return arguments.length?(_=\"function\"==typeof t?t:o(t),M):_},M.nodeAlign=function(t){return arguments.length?(w=\"function\"==typeof t?t:o(t),M):w},M.nodeWidth=function(t){return arguments.length?(x=+t,M):x},M.nodePadding=function(t){return arguments.length?(b=+t,M):b},M.nodes=function(t){return arguments.length?(T=\"function\"==typeof t?t:o(t),M):T},M.links=function(t){return arguments.length?(k=\"function\"==typeof t?t:o(t),M):k},M.size=function(e){return arguments.length?(t=n=0,i=+e[0],y=+e[1],M):[i-t,y-n]},M.extent=function(e){return arguments.length?(t=+e[0][0],i=+e[1][0],n=+e[0][1],y=+e[1][1],M):[[t,n],[i,y]]},M.iterations=function(t){return arguments.length?(A=+t,M):A},M},t.sankeyCenter=function(t){return t.targetLinks.length?t.depth:t.sourceLinks.length?e.min(t.sourceLinks,i)-1:0},t.sankeyLeft=function(t){return t.depth},t.sankeyRight=function(t,e){return e-1-t.height},t.sankeyJustify=a,t.sankeyLinkHorizontal=function(){return n.linkHorizontal().source(y).target(x)},Object.defineProperty(t,\"__esModule\",{value:!0})}))},{\"d3-array\":107,\"d3-collection\":108,\"d3-shape\":119}],58:[function(t,e,r){(function(){var t={version:\"3.8.0\"},r=[].slice,n=function(t){return r.call(t)},i=self.document;function a(t){return t&&(t.ownerDocument||t.document||t).documentElement}function o(t){return t&&(t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView)}if(i)try{n(i.documentElement.childNodes)[0].nodeType}catch(t){n=function(t){for(var e=t.length,r=new Array(e);e--;)r[e]=t[e];return r}}if(Date.now||(Date.now=function(){return+new Date}),i)try{i.createElement(\"DIV\").style.setProperty(\"opacity\",0,\"\")}catch(t){var s=this.Element.prototype,l=s.setAttribute,c=s.setAttributeNS,u=this.CSSStyleDeclaration.prototype,f=u.setProperty;s.setAttribute=function(t,e){l.call(this,t,e+\"\")},s.setAttributeNS=function(t,e,r){c.call(this,t,e,r+\"\")},u.setProperty=function(t,e,r){f.call(this,t,e+\"\",r)}}function h(t,e){return te?1:t>=e?0:NaN}function p(t){return null===t?NaN:+t}function d(t){return!isNaN(t)}function m(t){return{left:function(e,r,n,i){for(arguments.length<3&&(n=0),arguments.length<4&&(i=e.length);n>>1;t(e[a],r)<0?n=a+1:i=a}return n},right:function(e,r,n,i){for(arguments.length<3&&(n=0),arguments.length<4&&(i=e.length);n>>1;t(e[a],r)>0?i=a:n=a+1}return n}}}t.ascending=h,t.descending=function(t,e){return et?1:e>=t?0:NaN},t.min=function(t,e){var r,n,i=-1,a=t.length;if(1===arguments.length){for(;++i=n){r=n;break}for(;++in&&(r=n)}else{for(;++i=n){r=n;break}for(;++in&&(r=n)}return r},t.max=function(t,e){var r,n,i=-1,a=t.length;if(1===arguments.length){for(;++i=n){r=n;break}for(;++ir&&(r=n)}else{for(;++i=n){r=n;break}for(;++ir&&(r=n)}return r},t.extent=function(t,e){var r,n,i,a=-1,o=t.length;if(1===arguments.length){for(;++a=n){r=i=n;break}for(;++an&&(r=n),i=n){r=i=n;break}for(;++an&&(r=n),i1)return o/(l-1)},t.deviation=function(){var e=t.variance.apply(this,arguments);return e?Math.sqrt(e):e};var g=m(h);function v(t){return t.length}t.bisectLeft=g.left,t.bisect=t.bisectRight=g.right,t.bisector=function(t){return m(1===t.length?function(e,r){return h(t(e),r)}:t)},t.shuffle=function(t,e,r){(a=arguments.length)<3&&(r=t.length,a<2&&(e=0));for(var n,i,a=r-e;a;)i=Math.random()*a--|0,n=t[a+e],t[a+e]=t[i+e],t[i+e]=n;return t},t.permute=function(t,e){for(var r=e.length,n=new Array(r);r--;)n[r]=t[e[r]];return n},t.pairs=function(t){for(var e=0,r=t.length-1,n=t[0],i=new Array(r<0?0:r);e=0;)for(e=(n=t[i]).length;--e>=0;)r[--o]=n[e];return r};var y=Math.abs;function x(t){for(var e=1;t*e%1;)e*=10;return e}function b(t,e){for(var r in e)Object.defineProperty(t.prototype,r,{value:e[r],enumerable:!1})}function _(){this._=Object.create(null)}t.range=function(t,e,r){if(arguments.length<3&&(r=1,arguments.length<2&&(e=t,t=0)),(e-t)/r==1/0)throw new Error(\"infinite range\");var n,i=[],a=x(y(r)),o=-1;if(t*=a,e*=a,(r*=a)<0)for(;(n=t+r*++o)>e;)i.push(n/a);else for(;(n=t+r*++o)=i.length)return r?r.call(n,a):e?a.sort(e):a;for(var l,c,u,f,h=-1,p=a.length,d=i[s++],m=new _;++h=i.length)return e;var n=[],o=a[r++];return e.forEach((function(e,i){n.push({key:e,values:t(i,r)})})),o?n.sort((function(t,e){return o(t.key,e.key)})):n}(o(t.map,e,0),0)},n.key=function(t){return i.push(t),n},n.sortKeys=function(t){return a[i.length-1]=t,n},n.sortValues=function(t){return e=t,n},n.rollup=function(t){return r=t,n},n},t.set=function(t){var e=new L;if(t)for(var r=0,n=t.length;r=0&&(n=t.slice(r+1),t=t.slice(0,r)),t)return arguments.length<2?this[t].on(n):this[t].on(n,e);if(2===arguments.length){if(null==e)for(t in this)this.hasOwnProperty(t)&&this[t].on(n,null);return this}},t.event=null,t.requote=function(t){return t.replace(j,\"\\\\$&\")};var j=/[\\\\\\^\\$\\*\\+\\?\\|\\[\\]\\(\\)\\.\\{\\}]/g,U={}.__proto__?function(t,e){t.__proto__=e}:function(t,e){for(var r in e)t[r]=e[r]};function V(t){return U(t,Y),t}var H=function(t,e){return e.querySelector(t)},q=function(t,e){return e.querySelectorAll(t)},G=function(t,e){var r=t.matches||t[I(t,\"matchesSelector\")];return(G=function(t,e){return r.call(t,e)})(t,e)};\"function\"==typeof Sizzle&&(H=function(t,e){return Sizzle(t,e)[0]||null},q=Sizzle,G=Sizzle.matchesSelector),t.selection=function(){return t.select(i.documentElement)};var Y=t.selection.prototype=[];function W(t){return\"function\"==typeof t?t:function(){return H(t,this)}}function Z(t){return\"function\"==typeof t?t:function(){return q(t,this)}}Y.select=function(t){var e,r,n,i,a=[];t=W(t);for(var o=-1,s=this.length;++o=0&&\"xmlns\"!==(r=t.slice(0,e))&&(t=t.slice(e+1)),J.hasOwnProperty(r)?{space:J[r],local:t}:t}},Y.attr=function(e,r){if(arguments.length<2){if(\"string\"==typeof e){var n=this.node();return(e=t.ns.qualify(e)).local?n.getAttributeNS(e.space,e.local):n.getAttribute(e)}for(r in e)this.each(K(r,e[r]));return this}return this.each(K(e,r))},Y.classed=function(t,e){if(arguments.length<2){if(\"string\"==typeof t){var r=this.node(),n=(t=tt(t)).length,i=-1;if(e=r.classList){for(;++i=0;)(r=n[i])&&(a&&a!==r.nextSibling&&a.parentNode.insertBefore(r,a),a=r);return this},Y.sort=function(t){t=ct.apply(this,arguments);for(var e=-1,r=this.length;++e=e&&(e=i+1);!(o=s[e])&&++e0&&(e=e.slice(0,o));var l=mt.get(e);function c(){var t=this[a];t&&(this.removeEventListener(e,t,t.$),delete this[a])}return l&&(e=l,s=vt),o?r?function(){var t=s(r,n(arguments));c.call(this),this.addEventListener(e,this[a]=t,t.$=i),t._=r}:c:r?z:function(){var r,n=new RegExp(\"^__on([^.]+)\"+t.requote(e)+\"$\");for(var i in this)if(r=i.match(n)){var a=this[i];this.removeEventListener(r[1],a,a.$),delete this[i]}}}t.selection.enter=ft,t.selection.enter.prototype=ht,ht.append=Y.append,ht.empty=Y.empty,ht.node=Y.node,ht.call=Y.call,ht.size=Y.size,ht.select=function(t){for(var e,r,n,i,a,o=[],s=-1,l=this.length;++s1?Et:t<-1?-Et:Math.asin(t)}function It(t){return((t=Math.exp(t))+1/t)/2}var Ot=Math.SQRT2;t.interpolateZoom=function(t,e){var r,n,i=t[0],a=t[1],o=t[2],s=e[0],l=e[1],c=e[2],u=s-i,f=l-a,h=u*u+f*f;if(h<1e-12)n=Math.log(c/o)/Ot,r=function(t){return[i+t*u,a+t*f,o*Math.exp(Ot*t*n)]};else{var p=Math.sqrt(h),d=(c*c-o*o+4*h)/(2*o*2*p),m=(c*c-o*o-4*h)/(2*c*2*p),g=Math.log(Math.sqrt(d*d+1)-d),v=Math.log(Math.sqrt(m*m+1)-m);n=(v-g)/Ot,r=function(t){var e,r=t*n,s=It(g),l=o/(2*p)*(s*(e=Ot*r+g,((e=Math.exp(2*e))-1)/(e+1))-function(t){return((t=Math.exp(t))-1/t)/2}(g));return[i+l*u,a+l*f,o*s/It(Ot*r+g)]}}return r.duration=1e3*n,r},t.behavior.zoom=function(){var e,r,n,a,s,l,c,u,f,h={x:0,y:0,k:1},p=[960,500],d=Rt,m=250,g=0,v=\"mousedown.zoom\",y=\"mousemove.zoom\",x=\"mouseup.zoom\",b=\"touchstart.zoom\",_=N(w,\"zoomstart\",\"zoom\",\"zoomend\");function w(t){t.on(v,P).on(Dt+\".zoom\",O).on(\"dblclick.zoom\",z).on(b,I)}function T(t){return[(t[0]-h.x)/h.k,(t[1]-h.y)/h.k]}function k(t){h.k=Math.max(d[0],Math.min(d[1],t))}function A(t,e){e=function(t){return[t[0]*h.k+h.x,t[1]*h.k+h.y]}(e),h.x+=t[0]-e[0],h.y+=t[1]-e[1]}function M(e,n,i,a){e.__chart__={x:h.x,y:h.y,k:h.k},k(Math.pow(2,a)),A(r=n,i),e=t.select(e),m>0&&(e=e.transition().duration(m)),e.call(w.event)}function S(){c&&c.domain(l.range().map((function(t){return(t-h.x)/h.k})).map(l.invert)),f&&f.domain(u.range().map((function(t){return(t-h.y)/h.k})).map(u.invert))}function E(t){g++||t({type:\"zoomstart\"})}function L(t){S(),t({type:\"zoom\",scale:h.k,translate:[h.x,h.y]})}function C(t){--g||(t({type:\"zoomend\"}),r=null)}function P(){var e=this,r=_.of(e,arguments),n=0,i=t.select(o(e)).on(y,l).on(x,c),a=T(t.mouse(e)),s=bt(e);function l(){n=1,A(t.mouse(e),a),L(r)}function c(){i.on(y,null).on(x,null),s(n),C(r)}Di.call(e),E(r)}function I(){var e,r=this,n=_.of(r,arguments),i={},a=0,o=\".zoom-\"+t.event.changedTouches[0].identifier,l=\"touchmove\"+o,c=\"touchend\"+o,u=[],f=t.select(r),p=bt(r);function d(){var n=t.touches(r);return e=h.k,n.forEach((function(t){t.identifier in i&&(i[t.identifier]=T(t))})),n}function m(){var e=t.event.target;t.select(e).on(l,g).on(c,y),u.push(e);for(var n=t.event.changedTouches,o=0,f=n.length;o1){v=p[0];var x=p[1],b=v[0]-x[0],_=v[1]-x[1];a=b*b+_*_}}function g(){var o,l,c,u,f=t.touches(r);Di.call(r);for(var h=0,p=f.length;h360?t-=360:t<0&&(t+=360),t<60?n+(i-n)*t/60:t<180?i:t<240?n+(i-n)*(240-t)/60:n}(t))}return t=isNaN(t)?0:(t%=360)<0?t+360:t,e=isNaN(e)||e<0?0:e>1?1:e,n=2*(r=r<0?0:r>1?1:r)-(i=r<=.5?r*(1+e):r+e-r*e),new Qt(a(t+120),a(t),a(t-120))}function Ut(e,r,n){return this instanceof Ut?(this.h=+e,this.c=+r,void(this.l=+n)):arguments.length<2?e instanceof Ut?new Ut(e.h,e.c,e.l):Zt(e instanceof qt?e.l:(e=ae((e=t.rgb(e)).r,e.g,e.b)).l,e.a,e.b):new Ut(e,r,n)}Nt.brighter=function(t){return t=Math.pow(.7,arguments.length?t:1),new Bt(this.h,this.s,this.l/t)},Nt.darker=function(t){return t=Math.pow(.7,arguments.length?t:1),new Bt(this.h,this.s,t*this.l)},Nt.rgb=function(){return jt(this.h,this.s,this.l)},t.hcl=Ut;var Vt=Ut.prototype=new Ft;function Ht(t,e,r){return isNaN(t)&&(t=0),isNaN(e)&&(e=0),new qt(r,Math.cos(t*=Lt)*e,Math.sin(t)*e)}function qt(t,e,r){return this instanceof qt?(this.l=+t,this.a=+e,void(this.b=+r)):arguments.length<2?t instanceof qt?new qt(t.l,t.a,t.b):t instanceof Ut?Ht(t.h,t.c,t.l):ae((t=Qt(t)).r,t.g,t.b):new qt(t,e,r)}Vt.brighter=function(t){return new Ut(this.h,this.c,Math.min(100,this.l+Gt*(arguments.length?t:1)))},Vt.darker=function(t){return new Ut(this.h,this.c,Math.max(0,this.l-Gt*(arguments.length?t:1)))},Vt.rgb=function(){return Ht(this.h,this.c,this.l).rgb()},t.lab=qt;var Gt=18,Yt=qt.prototype=new Ft;function Wt(t,e,r){var n=(t+16)/116,i=n+e/500,a=n-r/200;return new Qt(Kt(3.2404542*(i=.95047*Xt(i))-1.5371385*(n=1*Xt(n))-.4985314*(a=1.08883*Xt(a))),Kt(-.969266*i+1.8760108*n+.041556*a),Kt(.0556434*i-.2040259*n+1.0572252*a))}function Zt(t,e,r){return t>0?new Ut(Math.atan2(r,e)*Ct,Math.sqrt(e*e+r*r),t):new Ut(NaN,NaN,t)}function Xt(t){return t>.206893034?t*t*t:(t-4/29)/7.787037}function Jt(t){return t>.008856?Math.pow(t,1/3):7.787037*t+4/29}function Kt(t){return Math.round(255*(t<=.00304?12.92*t:1.055*Math.pow(t,1/2.4)-.055))}function Qt(t,e,r){return this instanceof Qt?(this.r=~~t,this.g=~~e,void(this.b=~~r)):arguments.length<2?t instanceof Qt?new Qt(t.r,t.g,t.b):ne(\"\"+t,Qt,jt):new Qt(t,e,r)}function $t(t){return new Qt(t>>16,t>>8&255,255&t)}function te(t){return $t(t)+\"\"}Yt.brighter=function(t){return new qt(Math.min(100,this.l+Gt*(arguments.length?t:1)),this.a,this.b)},Yt.darker=function(t){return new qt(Math.max(0,this.l-Gt*(arguments.length?t:1)),this.a,this.b)},Yt.rgb=function(){return Wt(this.l,this.a,this.b)},t.rgb=Qt;var ee=Qt.prototype=new Ft;function re(t){return t<16?\"0\"+Math.max(0,t).toString(16):Math.min(255,t).toString(16)}function ne(t,e,r){var n,i,a,o=0,s=0,l=0;if(n=/([a-z]+)\\((.*)\\)/.exec(t=t.toLowerCase()))switch(i=n[2].split(\",\"),n[1]){case\"hsl\":return r(parseFloat(i[0]),parseFloat(i[1])/100,parseFloat(i[2])/100);case\"rgb\":return e(se(i[0]),se(i[1]),se(i[2]))}return(a=le.get(t))?e(a.r,a.g,a.b):(null==t||\"#\"!==t.charAt(0)||isNaN(a=parseInt(t.slice(1),16))||(4===t.length?(o=(3840&a)>>4,o|=o>>4,s=240&a,s|=s>>4,l=15&a,l|=l<<4):7===t.length&&(o=(16711680&a)>>16,s=(65280&a)>>8,l=255&a)),e(o,s,l))}function ie(t,e,r){var n,i,a=Math.min(t/=255,e/=255,r/=255),o=Math.max(t,e,r),s=o-a,l=(o+a)/2;return s?(i=l<.5?s/(o+a):s/(2-o-a),n=t==o?(e-r)/s+(e0&&l<1?0:n),new Bt(n,i,l)}function ae(t,e,r){var n=Jt((.4124564*(t=oe(t))+.3575761*(e=oe(e))+.1804375*(r=oe(r)))/.95047),i=Jt((.2126729*t+.7151522*e+.072175*r)/1);return qt(116*i-16,500*(n-i),200*(i-Jt((.0193339*t+.119192*e+.9503041*r)/1.08883)))}function oe(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function se(t){var e=parseFloat(t);return\"%\"===t.charAt(t.length-1)?Math.round(2.55*e):e}ee.brighter=function(t){t=Math.pow(.7,arguments.length?t:1);var e=this.r,r=this.g,n=this.b,i=30;return e||r||n?(e&&e=200&&e<300||304===e){try{t=i.call(o,c)}catch(t){return void s.error.call(o,t)}s.load.call(o,t)}else s.error.call(o,c)}return self.XDomainRequest&&!(\"withCredentials\"in c)&&/^(http(s)?:)?\\/\\//.test(e)&&(c=new XDomainRequest),\"onload\"in c?c.onload=c.onerror=f:c.onreadystatechange=function(){c.readyState>3&&f()},c.onprogress=function(e){var r=t.event;t.event=e;try{s.progress.call(o,c)}finally{t.event=r}},o.header=function(t,e){return t=(t+\"\").toLowerCase(),arguments.length<2?l[t]:(null==e?delete l[t]:l[t]=e+\"\",o)},o.mimeType=function(t){return arguments.length?(r=null==t?null:t+\"\",o):r},o.responseType=function(t){return arguments.length?(u=t,o):u},o.response=function(t){return i=t,o},[\"get\",\"post\"].forEach((function(t){o[t]=function(){return o.send.apply(o,[t].concat(n(arguments)))}})),o.send=function(t,n,i){if(2===arguments.length&&\"function\"==typeof n&&(i=n,n=null),c.open(t,e,!0),null==r||\"accept\"in l||(l.accept=r+\",*/*\"),c.setRequestHeader)for(var a in l)c.setRequestHeader(a,l[a]);return null!=r&&c.overrideMimeType&&c.overrideMimeType(r),null!=u&&(c.responseType=u),null!=i&&o.on(\"error\",i).on(\"load\",(function(t){i(null,t)})),s.beforesend.call(o,c),c.send(null==n?null:n),o},o.abort=function(){return c.abort(),o},t.rebind(o,s,\"on\"),null==a?o:o.get(function(t){return 1===t.length?function(e,r){t(null==e?r:null)}:t}(a))}le.forEach((function(t,e){le.set(t,$t(e))})),t.functor=ce,t.xhr=ue(C),t.dsv=function(t,e){var r=new RegExp('[\"'+t+\"\\n]\"),n=t.charCodeAt(0);function i(t,r,n){arguments.length<3&&(n=r,r=null);var i=fe(t,e,null==r?a:o(r),n);return i.row=function(t){return arguments.length?i.response(null==(r=t)?a:o(t)):r},i}function a(t){return i.parse(t.responseText)}function o(t){return function(e){return i.parse(e.responseText,t)}}function s(e){return e.map(l).join(t)}function l(t){return r.test(t)?'\"'+t.replace(/\\\"/g,'\"\"')+'\"':t}return i.parse=function(t,e){var r;return i.parseRows(t,(function(t,n){if(r)return r(t,n-1);var i=function(e){for(var r={},n=t.length,i=0;i=l)return o;if(i)return i=!1,a;var e=c;if(34===t.charCodeAt(e)){for(var r=e;r++24?(isFinite(e)&&(clearTimeout(me),me=setTimeout(ye,e)),de=0):(de=1,ge(ye))}function xe(){for(var t=Date.now(),e=he;e;)t>=e.t&&e.c(t-e.t)&&(e.c=null),e=e.n;return t}function be(){for(var t,e=he,r=1/0;e;)e.c?(e.t1&&(e=t[a[o-2]],r=t[a[o-1]],n=t[s],(r[0]-e[0])*(n[1]-e[1])-(r[1]-e[1])*(n[0]-e[0])<=0);)--o;a[o++]=s}return a.slice(0,o)}function ke(t,e){return t[0]-e[0]||t[1]-e[1]}t.timer=function(){ve.apply(this,arguments)},t.timer.flush=function(){xe(),be()},t.round=function(t,e){return e?Math.round(t*(e=Math.pow(10,e)))/e:Math.round(t)},t.geom={},t.geom.hull=function(t){var e=_e,r=we;if(arguments.length)return n(t);function n(t){if(t.length<3)return[];var n,i=ce(e),a=ce(r),o=t.length,s=[],l=[];for(n=0;n=0;--n)p.push(t[s[c[n]][2]]);for(n=+f;nkt)s=s.L;else{if(!((i=a-Ve(s,o))>kt)){n>-kt?(e=s.P,r=s):i>-kt?(e=s,r=s.N):e=r=s;break}if(!s.R){e=s;break}s=s.R}var l=Fe(t);if(Pe.insert(e,l),e||r){if(e===r)return We(e),r=Fe(e.site),Pe.insert(l,r),l.edge=r.edge=Je(e.site,l.site),Ye(e),void Ye(r);if(r){We(e),We(r);var c=e.site,u=c.x,f=c.y,h=t.x-u,p=t.y-f,d=r.site,m=d.x-u,g=d.y-f,v=2*(h*g-p*m),y=h*h+p*p,x=m*m+g*g,b={x:(g*y-p*x)/v+u,y:(h*x-m*y)/v+f};Qe(r.edge,c,d,b),l.edge=Je(c,t,null,b),r.edge=Je(t,d,null,b),Ye(e),Ye(r)}else l.edge=Je(e.site,l.site)}}function Ue(t,e){var r=t.site,n=r.x,i=r.y,a=i-e;if(!a)return n;var o=t.P;if(!o)return-1/0;var s=(r=o.site).x,l=r.y,c=l-e;if(!c)return s;var u=s-n,f=1/a-1/c,h=u/c;return f?(-h+Math.sqrt(h*h-2*f*(u*u/(-2*c)-l+c/2+i-a/2)))/f+n:(n+s)/2}function Ve(t,e){var r=t.N;if(r)return Ue(r,e);var n=t.site;return n.y===e?n.x:1/0}function He(t){this.site=t,this.edges=[]}function qe(t,e){return e.angle-t.angle}function Ge(){er(this),this.x=this.y=this.arc=this.site=this.cy=null}function Ye(t){var e=t.P,r=t.N;if(e&&r){var n=e.site,i=t.site,a=r.site;if(n!==a){var o=i.x,s=i.y,l=n.x-o,c=n.y-s,u=a.x-o,f=2*(l*(g=a.y-s)-c*u);if(!(f>=-1e-12)){var h=l*l+c*c,p=u*u+g*g,d=(g*h-c*p)/f,m=(l*p-u*h)/f,g=m+s,v=De.pop()||new Ge;v.arc=t,v.site=i,v.x=d+o,v.y=g+Math.sqrt(d*d+m*m),v.cy=g,t.circle=v;for(var y=null,x=Oe._;x;)if(v.y=s)return;if(h>d){if(a){if(a.y>=c)return}else a={x:g,y:l};r={x:g,y:c}}else{if(a){if(a.y1)if(h>d){if(a){if(a.y>=c)return}else a={x:(l-i)/n,y:l};r={x:(c-i)/n,y:c}}else{if(a){if(a.y=s)return}else a={x:o,y:n*o+i};r={x:s,y:n*s+i}}else{if(a){if(a.x0)){if(e/=h,h<0){if(e0){if(e>f)return;e>u&&(u=e)}if(e=i-l,h||!(e<0)){if(e/=h,h<0){if(e>f)return;e>u&&(u=e)}else if(h>0){if(e0)){if(e/=p,p<0){if(e0){if(e>f)return;e>u&&(u=e)}if(e=a-c,p||!(e<0)){if(e/=p,p<0){if(e>f)return;e>u&&(u=e)}else if(p>0){if(e0&&(t.a={x:l+u*h,y:c+u*p}),f<1&&(t.b={x:l+f*h,y:c+f*p}),t}}}}}),l=o.length;l--;)(!Ze(e=o[l],t)||!s(e)||y(e.a.x-e.b.x)kt||y(i-r)>kt)&&(s.splice(o,0,new $e(Ke(a.site,u,y(n-f)kt?{x:f,y:y(e-f)kt?{x:y(r-d)kt?{x:h,y:y(e-h)kt?{x:y(r-p)=r&&c.x<=i&&c.y>=n&&c.y<=o?[[r,o],[i,o],[i,n],[r,n]]:[]).point=t[s]})),e}function s(t){return t.map((function(t,e){return{x:Math.round(n(t,e)/kt)*kt,y:Math.round(i(t,e)/kt)*kt,i:e}}))}return o.links=function(t){return ar(s(t)).edges.filter((function(t){return t.l&&t.r})).map((function(e){return{source:t[e.l.i],target:t[e.r.i]}}))},o.triangles=function(t){var e=[];return ar(s(t)).cells.forEach((function(r,n){for(var i,a,o,s,l=r.site,c=r.edges.sort(qe),u=-1,f=c.length,h=c[f-1].edge,p=h.l===l?h.r:h.l;++ua||f>o||h=_)<<1|e>=b,T=w+4;wa&&(i=e.slice(a,i),s[o]?s[o]+=i:s[++o]=i),(r=r[0])===(n=n[0])?s[o]?s[o]+=n:s[++o]=n:(s[++o]=null,l.push({i:o,x:dr(r,n)})),a=vr.lastIndex;return am&&(m=l.x),l.y>g&&(g=l.y),c.push(l.x),u.push(l.y);else for(f=0;fm&&(m=b),_>g&&(g=_),c.push(b),u.push(_)}var w=m-p,T=g-d;function k(t,e,r,n,i,a,o,s){if(!isNaN(r)&&!isNaN(n))if(t.leaf){var l=t.x,c=t.y;if(null!=l)if(y(l-r)+y(c-n)<.01)A(t,e,r,n,i,a,o,s);else{var u=t.point;t.x=t.y=t.point=null,A(t,u,l,c,i,a,o,s),A(t,e,r,n,i,a,o,s)}else t.x=r,t.y=n,t.point=e}else A(t,e,r,n,i,a,o,s)}function A(t,e,r,n,i,a,o,s){var l=.5*(i+o),c=.5*(a+s),u=r>=l,f=n>=c,h=f<<1|u;t.leaf=!1,u?i=l:o=l,f?a=c:s=c,k(t=t.nodes[h]||(t.nodes[h]={leaf:!0,nodes:[],point:null,x:null,y:null}),e,r,n,i,a,o,s)}w>T?g=d+w:m=p+T;var M={leaf:!0,nodes:[],point:null,x:null,y:null,add:function(t){k(M,t,+v(t,++f),+x(t,f),p,d,m,g)},visit:function(t){ur(t,M,p,d,m,g)},find:function(t){return fr(M,t[0],t[1],p,d,m,g)}};if(f=-1,null==e){for(;++f=0&&!(n=t.interpolators[i](e,r)););return n}function xr(t,e){var r,n=[],i=[],a=t.length,o=e.length,s=Math.min(t.length,e.length);for(r=0;r=1?1:t(e)}}function kr(t){return function(e){return 1-t(1-e)}}function Ar(t){return function(e){return.5*(e<.5?t(2*e):2-t(2-2*e))}}function Mr(t){return t*t}function Sr(t){return t*t*t}function Er(t){if(t<=0)return 0;if(t>=1)return 1;var e=t*t,r=e*t;return 4*(t<.5?r:3*(t-e)+r-.75)}function Lr(t){return 1-Math.cos(t*Et)}function Cr(t){return Math.pow(2,10*(t-1))}function Pr(t){return 1-Math.sqrt(1-t*t)}function Ir(t){return t<1/2.75?7.5625*t*t:t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375}function Or(t,e){return e-=t,function(r){return Math.round(t+e*r)}}function zr(t){var e,r,n,i=[t.a,t.b],a=[t.c,t.d],o=Rr(i),s=Dr(i,a),l=Rr(((e=a)[0]+=(n=-s)*(r=i)[0],e[1]+=n*r[1],e))||0;i[0]*a[1]=0?t.slice(0,e):t,i=e>=0?t.slice(e+1):\"in\";return n=_r.get(n)||br,Tr((i=wr.get(i)||C)(n.apply(null,r.call(arguments,1))))},t.interpolateHcl=function(e,r){e=t.hcl(e),r=t.hcl(r);var n=e.h,i=e.c,a=e.l,o=r.h-n,s=r.c-i,l=r.l-a;isNaN(s)&&(s=0,i=isNaN(i)?r.c:i);isNaN(o)?(o=0,n=isNaN(n)?r.h:n):o>180?o-=360:o<-180&&(o+=360);return function(t){return Ht(n+o*t,i+s*t,a+l*t)+\"\"}},t.interpolateHsl=function(e,r){e=t.hsl(e),r=t.hsl(r);var n=e.h,i=e.s,a=e.l,o=r.h-n,s=r.s-i,l=r.l-a;isNaN(s)&&(s=0,i=isNaN(i)?r.s:i);isNaN(o)?(o=0,n=isNaN(n)?r.h:n):o>180?o-=360:o<-180&&(o+=360);return function(t){return jt(n+o*t,i+s*t,a+l*t)+\"\"}},t.interpolateLab=function(e,r){e=t.lab(e),r=t.lab(r);var n=e.l,i=e.a,a=e.b,o=r.l-n,s=r.a-i,l=r.b-a;return function(t){return Wt(n+o*t,i+s*t,a+l*t)+\"\"}},t.interpolateRound=Or,t.transform=function(e){var r=i.createElementNS(t.ns.prefix.svg,\"g\");return(t.transform=function(t){if(null!=t){r.setAttribute(\"transform\",t);var e=r.transform.baseVal.consolidate()}return new zr(e?e.matrix:Fr)})(e)},zr.prototype.toString=function(){return\"translate(\"+this.translate+\")rotate(\"+this.rotate+\")skewX(\"+this.skew+\")scale(\"+this.scale+\")\"};var Fr={a:1,b:0,c:0,d:1,e:0,f:0};function Br(t){return t.length?t.pop()+\",\":\"\"}function Nr(e,r){var n=[],i=[];return e=t.transform(e),r=t.transform(r),function(t,e,r,n){if(t[0]!==e[0]||t[1]!==e[1]){var i=r.push(\"translate(\",null,\",\",null,\")\");n.push({i:i-4,x:dr(t[0],e[0])},{i:i-2,x:dr(t[1],e[1])})}else(e[0]||e[1])&&r.push(\"translate(\"+e+\")\")}(e.translate,r.translate,n,i),function(t,e,r,n){t!==e?(t-e>180?e+=360:e-t>180&&(t+=360),n.push({i:r.push(Br(r)+\"rotate(\",null,\")\")-2,x:dr(t,e)})):e&&r.push(Br(r)+\"rotate(\"+e+\")\")}(e.rotate,r.rotate,n,i),function(t,e,r,n){t!==e?n.push({i:r.push(Br(r)+\"skewX(\",null,\")\")-2,x:dr(t,e)}):e&&r.push(Br(r)+\"skewX(\"+e+\")\")}(e.skew,r.skew,n,i),function(t,e,r,n){if(t[0]!==e[0]||t[1]!==e[1]){var i=r.push(Br(r)+\"scale(\",null,\",\",null,\")\");n.push({i:i-4,x:dr(t[0],e[0])},{i:i-2,x:dr(t[1],e[1])})}else 1===e[0]&&1===e[1]||r.push(Br(r)+\"scale(\"+e+\")\")}(e.scale,r.scale,n,i),e=r=null,function(t){for(var e,r=-1,a=i.length;++r0?n=t:(e.c=null,e.t=NaN,e=null,l.end({type:\"end\",alpha:n=0})):t>0&&(l.start({type:\"start\",alpha:n=t}),e=ve(s.tick)),s):n},s.start=function(){var t,e,r,n=v.length,l=y.length,u=c[0],d=c[1];for(t=0;t=0;)r.push(i[n])}function $r(t,e){for(var r=[t],n=[];null!=(t=r.pop());)if(n.push(t),(a=t.children)&&(i=a.length))for(var i,a,o=-1;++o=0;)o.push(u=c[l]),u.parent=a,u.depth=a.depth+1;r&&(a.value=0),a.children=c}else r&&(a.value=+r.call(n,a,a.depth)||0),delete a.children;return $r(i,(function(e){var n,i;t&&(n=e.children)&&n.sort(t),r&&(i=e.parent)&&(i.value+=e.value)})),s}return n.sort=function(e){return arguments.length?(t=e,n):t},n.children=function(t){return arguments.length?(e=t,n):e},n.value=function(t){return arguments.length?(r=t,n):r},n.revalue=function(t){return r&&(Qr(t,(function(t){t.children&&(t.value=0)})),$r(t,(function(t){var e;t.children||(t.value=+r.call(n,t,t.depth)||0),(e=t.parent)&&(e.value+=t.value)}))),t},n},t.layout.partition=function(){var e=t.layout.hierarchy(),r=[1,1];function n(t,n){var i=e.call(this,t,n);return function t(e,r,n,i){var a=e.children;if(e.x=r,e.y=e.depth*i,e.dx=n,e.dy=i,a&&(o=a.length)){var o,s,l,c=-1;for(n=e.value?n/e.value:0;++cs&&(s=n),o.push(n)}for(r=0;ri&&(n=r,i=e);return n}function dn(t){return t.reduce(mn,0)}function mn(t,e){return t+e[1]}function gn(t,e){return vn(t,Math.ceil(Math.log(e.length)/Math.LN2+1))}function vn(t,e){for(var r=-1,n=+t[0],i=(t[1]-n)/e,a=[];++r<=e;)a[r]=i*r+n;return a}function yn(e){return[t.min(e),t.max(e)]}function xn(t,e){return t.value-e.value}function bn(t,e){var r=t._pack_next;t._pack_next=e,e._pack_prev=t,e._pack_next=r,r._pack_prev=e}function _n(t,e){t._pack_next=e,e._pack_prev=t}function wn(t,e){var r=e.x-t.x,n=e.y-t.y,i=t.r+e.r;return.999*i*i>r*r+n*n}function Tn(t){if((e=t.children)&&(l=e.length)){var e,r,n,i,a,o,s,l,c=1/0,u=-1/0,f=1/0,h=-1/0;if(e.forEach(kn),(r=e[0]).x=-r.r,r.y=0,x(r),l>1&&((n=e[1]).x=n.r,n.y=0,x(n),l>2))for(Mn(r,n,i=e[2]),x(i),bn(r,i),r._pack_prev=i,bn(i,n),n=r._pack_next,a=3;a0)for(o=-1;++o=f[0]&&l<=f[1]&&((s=c[t.bisect(h,l,1,d)-1]).y+=m,s.push(a[o]));return c}return a.value=function(t){return arguments.length?(r=t,a):r},a.range=function(t){return arguments.length?(n=ce(t),a):n},a.bins=function(t){return arguments.length?(i=\"number\"==typeof t?function(e){return vn(e,t)}:ce(t),a):i},a.frequency=function(t){return arguments.length?(e=!!t,a):e},a},t.layout.pack=function(){var e,r=t.layout.hierarchy().sort(xn),n=0,i=[1,1];function a(t,a){var o=r.call(this,t,a),s=o[0],l=i[0],c=i[1],u=null==e?Math.sqrt:\"function\"==typeof e?e:function(){return e};if(s.x=s.y=0,$r(s,(function(t){t.r=+u(t.value)})),$r(s,Tn),n){var f=n*(e?1:Math.max(2*s.r/l,2*s.r/c))/2;$r(s,(function(t){t.r+=f})),$r(s,Tn),$r(s,(function(t){t.r-=f}))}return function t(e,r,n,i){var a=e.children;if(e.x=r+=i*e.x,e.y=n+=i*e.y,e.r*=i,a)for(var o=-1,s=a.length;++op.x&&(p=t),t.depth>d.depth&&(d=t)}));var m=r(h,p)/2-h.x,g=n[0]/(p.x+r(p,h)/2+m),v=n[1]/(d.depth||1);Qr(u,(function(t){t.x=(t.x+m)*g,t.y=t.depth*v}))}return c}function o(t){var e=t.children,n=t.parent.children,i=t.i?n[t.i-1]:null;if(e.length){!function(t){var e,r=0,n=0,i=t.children,a=i.length;for(;--a>=0;)(e=i[a]).z+=r,e.m+=r,r+=e.s+(n+=e.c)}(t);var a=(e[0].z+e[e.length-1].z)/2;i?(t.z=i.z+r(t._,i._),t.m=t.z-a):t.z=a}else i&&(t.z=i.z+r(t._,i._));t.parent.A=function(t,e,n){if(e){for(var i,a=t,o=t,s=e,l=a.parent.children[0],c=a.m,u=o.m,f=s.m,h=l.m;s=Ln(s),a=En(a),s&&a;)l=En(l),(o=Ln(o)).a=t,(i=s.z+f-a.z-c+r(s._,a._))>0&&(Cn(Pn(s,t,n),t,i),c+=i,u+=i),f+=s.m,c+=a.m,h+=l.m,u+=o.m;s&&!Ln(o)&&(o.t=s,o.m+=f-u),a&&!En(l)&&(l.t=a,l.m+=c-h,n=t)}return n}(t,i,t.parent.A||n[0])}function s(t){t._.x=t.z+t.parent.m,t.m+=t.parent.m}function l(t){t.x*=n[0],t.y=t.depth*n[1]}return a.separation=function(t){return arguments.length?(r=t,a):r},a.size=function(t){return arguments.length?(i=null==(n=t)?l:null,a):i?null:n},a.nodeSize=function(t){return arguments.length?(i=null==(n=t)?null:l,a):i?n:null},Kr(a,e)},t.layout.cluster=function(){var e=t.layout.hierarchy().sort(null).value(null),r=Sn,n=[1,1],i=!1;function a(a,o){var s,l=e.call(this,a,o),c=l[0],u=0;$r(c,(function(e){var n=e.children;n&&n.length?(e.x=function(t){return t.reduce((function(t,e){return t+e.x}),0)/t.length}(n),e.y=function(e){return 1+t.max(e,(function(t){return t.y}))}(n)):(e.x=s?u+=r(e,s):0,e.y=0,s=e)}));var f=function t(e){var r=e.children;return r&&r.length?t(r[0]):e}(c),h=function t(e){var r,n=e.children;return n&&(r=n.length)?t(n[r-1]):e}(c),p=f.x-r(f,h)/2,d=h.x+r(h,f)/2;return $r(c,i?function(t){t.x=(t.x-c.x)*n[0],t.y=(c.y-t.y)*n[1]}:function(t){t.x=(t.x-p)/(d-p)*n[0],t.y=(1-(c.y?t.y/c.y:1))*n[1]}),l}return a.separation=function(t){return arguments.length?(r=t,a):r},a.size=function(t){return arguments.length?(i=null==(n=t),a):i?null:n},a.nodeSize=function(t){return arguments.length?(i=null!=(n=t),a):i?n:null},Kr(a,e)},t.layout.treemap=function(){var e,r=t.layout.hierarchy(),n=Math.round,i=[1,1],a=null,o=In,s=!1,l=\"squarify\",c=.5*(1+Math.sqrt(5));function u(t,e){for(var r,n,i=-1,a=t.length;++i0;)s.push(r=c[i-1]),s.area+=r.area,\"squarify\"!==l||(n=p(s,m))<=h?(c.pop(),h=n):(s.area-=s.pop().area,d(s,m,a,!1),m=Math.min(a.dx,a.dy),s.length=s.area=0,h=1/0);s.length&&(d(s,m,a,!0),s.length=s.area=0),e.forEach(f)}}function h(t){var e=t.children;if(e&&e.length){var r,n=o(t),i=e.slice(),a=[];for(u(i,n.dx*n.dy/t.value),a.area=0;r=i.pop();)a.push(r),a.area+=r.area,null!=r.z&&(d(a,r.z?n.dx:n.dy,n,!i.length),a.length=a.area=0);e.forEach(h)}}function p(t,e){for(var r,n=t.area,i=0,a=1/0,o=-1,s=t.length;++oi&&(i=r));return e*=e,(n*=n)?Math.max(e*i*c/n,n/(e*a*c)):1/0}function d(t,e,r,i){var a,o=-1,s=t.length,l=r.x,c=r.y,u=e?n(t.area/e):0;if(e==r.dx){for((i||u>r.dy)&&(u=r.dy);++or.dx)&&(u=r.dx);++o1);return t+e*r*Math.sqrt(-2*Math.log(i)/i)}},logNormal:function(){var e=t.random.normal.apply(t,arguments);return function(){return Math.exp(e())}},bates:function(e){var r=t.random.irwinHall(e);return function(){return r()/e}},irwinHall:function(t){return function(){for(var e=0,r=0;r2?jn:Rn,s=i?Ur:jr;return a=t(e,r,s,n),o=t(r,e,s,yr),l}function l(t){return a(t)}return l.invert=function(t){return o(t)},l.domain=function(t){return arguments.length?(e=t.map(Number),s()):e},l.range=function(t){return arguments.length?(r=t,s()):r},l.rangeRound=function(t){return l.range(t).interpolate(Or)},l.clamp=function(t){return arguments.length?(i=t,s()):i},l.interpolate=function(t){return arguments.length?(n=t,s()):n},l.ticks=function(t){return qn(e,t)},l.tickFormat=function(t,r){return d3_scale_linearTickFormat(e,t,r)},l.nice=function(t){return Vn(e,t),s()},l.copy=function(){return t(e,r,n,i)},s()}([0,1],[0,1],yr,!1)};t.scale.log=function(){return function t(e,r,n,i){function a(t){return(n?Math.log(t<0?0:t):-Math.log(t>0?0:-t))/Math.log(r)}function o(t){return n?Math.pow(r,t):-Math.pow(r,-t)}function s(t){return e(a(t))}return s.invert=function(t){return o(e.invert(t))},s.domain=function(t){return arguments.length?(n=t[0]>=0,e.domain((i=t.map(Number)).map(a)),s):i},s.base=function(t){return arguments.length?(r=+t,e.domain(i.map(a)),s):r},s.nice=function(){var t=Fn(i.map(a),n?Math:Gn);return e.domain(t),i=t.map(o),s},s.ticks=function(){var t=zn(i),e=[],s=t[0],l=t[1],c=Math.floor(a(s)),u=Math.ceil(a(l)),f=r%1?2:r;if(isFinite(u-c)){if(n){for(;c0;h--)e.push(o(c)*h);for(c=0;e[c]l;u--);e=e.slice(c,u)}return e},s.copy=function(){return t(e.copy(),r,n,i)},Un(s,e)}(t.scale.linear().domain([0,1]),10,!0,[1,10])};var Gn={floor:function(t){return-Math.ceil(-t)},ceil:function(t){return-Math.floor(-t)}};function Yn(t){return function(e){return e<0?-Math.pow(-e,t):Math.pow(e,t)}}t.scale.pow=function(){return function t(e,r,n){var i=Yn(r),a=Yn(1/r);function o(t){return e(i(t))}return o.invert=function(t){return a(e.invert(t))},o.domain=function(t){return arguments.length?(e.domain((n=t.map(Number)).map(i)),o):n},o.ticks=function(t){return qn(n,t)},o.tickFormat=function(t,e){return d3_scale_linearTickFormat(n,t,e)},o.nice=function(t){return o.domain(Vn(n,t))},o.exponent=function(t){return arguments.length?(i=Yn(r=t),a=Yn(1/r),e.domain(n.map(i)),o):r},o.copy=function(){return t(e.copy(),r,n)},Un(o,e)}(t.scale.linear(),1,[0,1])},t.scale.sqrt=function(){return t.scale.pow().exponent(.5)},t.scale.ordinal=function(){return function e(r,n){var i,a,o;function s(t){return a[((i.get(t)||(\"range\"===n.t?i.set(t,r.push(t)):NaN))-1)%a.length]}function l(e,n){return t.range(r.length).map((function(t){return e+n*t}))}return s.domain=function(t){if(!arguments.length)return r;r=[],i=new _;for(var e,a=-1,o=t.length;++a0?i[t-1]:r[0],tf?0:1;if(c=St)return l(c,p)+(s?l(s,1-p):\"\")+\"Z\";var d,m,g,v,y,x,b,_,w,T,k,A,M=0,S=0,E=[];if((v=(+o.apply(this,arguments)||0)/2)&&(g=n===Qn?Math.sqrt(s*s+c*c):+n.apply(this,arguments),p||(S*=-1),c&&(S=Pt(g/c*Math.sin(v))),s&&(M=Pt(g/s*Math.sin(v)))),c){y=c*Math.cos(u+S),x=c*Math.sin(u+S),b=c*Math.cos(f-S),_=c*Math.sin(f-S);var L=Math.abs(f-u-2*S)<=At?0:1;if(S&&ii(y,x,b,_)===p^L){var C=(u+f)/2;y=c*Math.cos(C),x=c*Math.sin(C),b=_=null}}else y=x=0;if(s){w=s*Math.cos(f-M),T=s*Math.sin(f-M),k=s*Math.cos(u+M),A=s*Math.sin(u+M);var P=Math.abs(u-f+2*M)<=At?0:1;if(M&&ii(w,T,k,A)===1-p^P){var I=(u+f)/2;w=s*Math.cos(I),T=s*Math.sin(I),k=A=null}}else w=T=0;if(h>kt&&(d=Math.min(Math.abs(c-s)/2,+r.apply(this,arguments)))>.001){m=s0?0:1}function ai(t,e,r,n,i){var a=t[0]-e[0],o=t[1]-e[1],s=(i?n:-n)/Math.sqrt(a*a+o*o),l=s*o,c=-s*a,u=t[0]+l,f=t[1]+c,h=e[0]+l,p=e[1]+c,d=(u+h)/2,m=(f+p)/2,g=h-u,v=p-f,y=g*g+v*v,x=r-n,b=u*p-h*f,_=(v<0?-1:1)*Math.sqrt(Math.max(0,x*x*y-b*b)),w=(b*v-g*_)/y,T=(-b*g-v*_)/y,k=(b*v+g*_)/y,A=(-b*g+v*_)/y,M=w-d,S=T-m,E=k-d,L=A-m;return M*M+S*S>E*E+L*L&&(w=k,T=A),[[w-l,T-c],[w*r/x,T*r/x]]}function oi(){return!0}function si(t){var e=_e,r=we,n=oi,i=ci,a=i.key,o=.7;function s(a){var s,l=[],c=[],u=-1,f=a.length,h=ce(e),p=ce(r);function d(){l.push(\"M\",i(t(c),o))}for(;++u1&&i.push(\"H\",n[0]);return i.join(\"\")},\"step-before\":fi,\"step-after\":hi,basis:mi,\"basis-open\":function(t){if(t.length<4)return ci(t);var e,r=[],n=-1,i=t.length,a=[0],o=[0];for(;++n<3;)e=t[n],a.push(e[0]),o.push(e[1]);r.push(gi(xi,a)+\",\"+gi(xi,o)),--n;for(;++n9&&(i=3*e/Math.sqrt(i),o[s]=i*r,o[s+1]=i*n));s=-1;for(;++s<=l;)i=(t[Math.min(l,s+1)][0]-t[Math.max(0,s-1)][0])/(6*(1+o[s]*o[s])),a.push([i||0,o[s]*i||0]);return a}(t))}});function ci(t){return t.length>1?t.join(\"L\"):t+\"Z\"}function ui(t){return t.join(\"L\")+\"Z\"}function fi(t){for(var e=0,r=t.length,n=t[0],i=[n[0],\",\",n[1]];++e1){s=e[1],a=t[l],l++,n+=\"C\"+(i[0]+o[0])+\",\"+(i[1]+o[1])+\",\"+(a[0]-s[0])+\",\"+(a[1]-s[1])+\",\"+a[0]+\",\"+a[1];for(var c=2;cAt)+\",1 \"+e}function l(t,e,r,n){return\"Q 0,0 \"+n}return a.radius=function(t){return arguments.length?(r=ce(t),a):r},a.source=function(e){return arguments.length?(t=ce(e),a):t},a.target=function(t){return arguments.length?(e=ce(t),a):e},a.startAngle=function(t){return arguments.length?(n=ce(t),a):n},a.endAngle=function(t){return arguments.length?(i=ce(t),a):i},a},t.svg.diagonal=function(){var t=ki,e=Ai,r=Si;function n(n,i){var a=t.call(this,n,i),o=e.call(this,n,i),s=(a.y+o.y)/2,l=[a,{x:a.x,y:s},{x:o.x,y:s},o];return\"M\"+(l=l.map(r))[0]+\"C\"+l[1]+\" \"+l[2]+\" \"+l[3]}return n.source=function(e){return arguments.length?(t=ce(e),n):t},n.target=function(t){return arguments.length?(e=ce(t),n):e},n.projection=function(t){return arguments.length?(r=t,n):r},n},t.svg.diagonal.radial=function(){var e=t.svg.diagonal(),r=Si,n=e.projection;return e.projection=function(t){return arguments.length?n(Ei(r=t)):r},e},t.svg.symbol=function(){var t=Ci,e=Li;function r(r,n){return(Ii.get(t.call(this,r,n))||Pi)(e.call(this,r,n))}return r.type=function(e){return arguments.length?(t=ce(e),r):t},r.size=function(t){return arguments.length?(e=ce(t),r):e},r};var Ii=t.map({circle:Pi,cross:function(t){var e=Math.sqrt(t/5)/2;return\"M\"+-3*e+\",\"+-e+\"H\"+-e+\"V\"+-3*e+\"H\"+e+\"V\"+-e+\"H\"+3*e+\"V\"+e+\"H\"+e+\"V\"+3*e+\"H\"+-e+\"V\"+e+\"H\"+-3*e+\"Z\"},diamond:function(t){var e=Math.sqrt(t/(2*zi)),r=e*zi;return\"M0,\"+-e+\"L\"+r+\",0 0,\"+e+\" \"+-r+\",0Z\"},square:function(t){var e=Math.sqrt(t)/2;return\"M\"+-e+\",\"+-e+\"L\"+e+\",\"+-e+\" \"+e+\",\"+e+\" \"+-e+\",\"+e+\"Z\"},\"triangle-down\":function(t){var e=Math.sqrt(t/Oi),r=e*Oi/2;return\"M0,\"+r+\"L\"+e+\",\"+-r+\" \"+-e+\",\"+-r+\"Z\"},\"triangle-up\":function(t){var e=Math.sqrt(t/Oi),r=e*Oi/2;return\"M0,\"+-r+\"L\"+e+\",\"+r+\" \"+-e+\",\"+r+\"Z\"}});t.svg.symbolTypes=Ii.keys();var Oi=Math.sqrt(3),zi=Math.tan(30*Lt);Y.transition=function(t){for(var e,r,n=Bi||++Ui,i=qi(t),a=[],o=Ni||{time:Date.now(),ease:Er,delay:0,duration:250},s=-1,l=this.length;++s0;)c[--h].call(t,o);if(a>=1)return f.event&&f.event.end.call(t,t.__data__,e),--u.count?delete u[n]:delete t[r],1}f||(a=i.time,o=ve((function(t){var e=f.delay;if(o.t=e+a,e<=t)return h(t-e);o.c=h}),0,a),f=u[n]={tween:new _,time:a,timer:o,delay:i.delay,duration:i.duration,ease:i.ease,index:e},i=null,++u.count)}ji.call=Y.call,ji.empty=Y.empty,ji.node=Y.node,ji.size=Y.size,t.transition=function(e,r){return e&&e.transition?Bi?e.transition(r):e:t.selection().transition(e)},t.transition.prototype=ji,ji.select=function(t){var e,r,n,i=this.id,a=this.namespace,o=[];t=W(t);for(var s=-1,l=this.length;++srect,.s>rect\").attr(\"width\",s[1]-s[0])}function m(t){t.select(\".extent\").attr(\"y\",l[0]),t.selectAll(\".extent,.e>rect,.w>rect\").attr(\"height\",l[1]-l[0])}function g(){var f,g,v=this,y=t.select(t.event.target),x=n.of(v,arguments),b=t.select(v),_=y.datum(),w=!/^(n|s)$/.test(_)&&i,T=!/^(e|w)$/.test(_)&&a,k=y.classed(\"extent\"),A=bt(v),M=t.mouse(v),S=t.select(o(v)).on(\"keydown.brush\",C).on(\"keyup.brush\",P);if(t.event.changedTouches?S.on(\"touchmove.brush\",I).on(\"touchend.brush\",z):S.on(\"mousemove.brush\",I).on(\"mouseup.brush\",z),b.interrupt().selectAll(\"*\").interrupt(),k)M[0]=s[0]-M[0],M[1]=l[0]-M[1];else if(_){var E=+/w$/.test(_),L=+/^n/.test(_);g=[s[1-E]-M[0],l[1-L]-M[1]],M[0]=s[E],M[1]=l[L]}else t.event.altKey&&(f=M.slice());function C(){32==t.event.keyCode&&(k||(f=null,M[0]-=s[1],M[1]-=l[1],k=2),F())}function P(){32==t.event.keyCode&&2==k&&(M[0]+=s[1],M[1]+=l[1],k=0,F())}function I(){var e=t.mouse(v),r=!1;g&&(e[0]+=g[0],e[1]+=g[1]),k||(t.event.altKey?(f||(f=[(s[0]+s[1])/2,(l[0]+l[1])/2]),M[0]=s[+(e[0]>>1;e.dtype||(e.dtype=\"array\"),\"string\"==typeof e.dtype?d=new(f(e.dtype))(g):e.dtype&&(d=e.dtype,Array.isArray(d)&&(d.length=g));for(var v=0;vr||s>1073741824){for(var h=0;he+n||w>r+n||T=A||a===o)){var s=y[i];void 0===o&&(o=s.length);for(var l=a;l=d&&u<=g&&f>=m&&f<=v&&S.push(c)}var h=x[i],p=h[4*a+0],b=h[4*a+1],M=h[4*a+2],E=h[4*a+3],P=C(h,a+1),I=.5*n,O=i+1;L(e,r,I,O,p,b||M||E||P),L(e,r+I,I,O,b,M||E||P),L(e+I,r,I,O,M,E||P),L(e+I,r+I,I,O,E,P)}}function C(t,e){for(var r=null,n=0;null===r;)if(r=t[4*e+n],++n>t.length)return null;return r}return L(0,0,1,0,0,1),S},d;function E(t,e,r,i,a){for(var o=[],s=0;s0){e+=Math.abs(a(t[0]));for(var r=1;r2){for(s=0;s=0))throw new Error(\"precision must be a positive number\");var r=Math.pow(10,e||0);return Math.round(t*r)/r},r.radiansToLength=f,r.lengthToRadians=h,r.lengthToDegrees=function(t,e){return p(h(t,e))},r.bearingToAzimuth=function(t){var e=t%360;return e<0&&(e+=360),e},r.radiansToDegrees=p,r.degreesToRadians=function(t){return t%360*Math.PI/180},r.convertLength=function(t,e,r){if(void 0===e&&(e=\"kilometers\"),void 0===r&&(r=\"kilometers\"),!(t>=0))throw new Error(\"length must be a positive number\");return f(h(t,e),r)},r.convertArea=function(t,e,n){if(void 0===e&&(e=\"meters\"),void 0===n&&(n=\"kilometers\"),!(t>=0))throw new Error(\"area must be a positive number\");var i=r.areaFactors[e];if(!i)throw new Error(\"invalid original units\");var a=r.areaFactors[n];if(!a)throw new Error(\"invalid final units\");return t/i*a},r.isNumber=d,r.isObject=function(t){return!!t&&t.constructor===Object},r.validateBBox=function(t){if(!t)throw new Error(\"bbox is required\");if(!Array.isArray(t))throw new Error(\"bbox must be an Array\");if(4!==t.length&&6!==t.length)throw new Error(\"bbox must be an Array of 4 or 6 numbers\");t.forEach((function(t){if(!d(t))throw new Error(\"bbox must only contain numbers\")}))},r.validateId=function(t){if(!t)throw new Error(\"id is required\");if(-1===[\"string\",\"number\"].indexOf(typeof t))throw new Error(\"id must be a number or a string\")}},{}],63:[function(t,e,r){\"use strict\";Object.defineProperty(r,\"__esModule\",{value:!0});var n=t(\"@turf/helpers\");function i(t,e,r){if(null!==t)for(var n,a,o,s,l,c,u,f,h=0,p=0,d=t.type,m=\"FeatureCollection\"===d,g=\"Feature\"===d,v=m?t.features.length:1,y=0;yc||p>u||d>f)return l=i,c=r,u=p,f=d,void(o=0);var m=n.lineString([l,i],t.properties);if(!1===e(m,r,a,d,o))return!1;o++,l=i}))&&void 0}}}))}function u(t,e){if(!t)throw new Error(\"geojson is required\");l(t,(function(t,r,i){if(null!==t.geometry){var a=t.geometry.type,o=t.geometry.coordinates;switch(a){case\"LineString\":if(!1===e(t,r,i,0,0))return!1;break;case\"Polygon\":for(var s=0;st[0]&&(e[0]=t[0]),e[1]>t[1]&&(e[1]=t[1]),e[2]=0))throw new Error(\"precision must be a positive number\");var r=Math.pow(10,e||0);return Math.round(t*r)/r},r.radiansToLength=f,r.lengthToRadians=h,r.lengthToDegrees=function(t,e){return p(h(t,e))},r.bearingToAzimuth=function(t){var e=t%360;return e<0&&(e+=360),e},r.radiansToDegrees=p,r.degreesToRadians=function(t){return t%360*Math.PI/180},r.convertLength=function(t,e,r){if(void 0===e&&(e=\"kilometers\"),void 0===r&&(r=\"kilometers\"),!(t>=0))throw new Error(\"length must be a positive number\");return f(h(t,e),r)},r.convertArea=function(t,e,n){if(void 0===e&&(e=\"meters\"),void 0===n&&(n=\"kilometers\"),!(t>=0))throw new Error(\"area must be a positive number\");var i=r.areaFactors[e];if(!i)throw new Error(\"invalid original units\");var a=r.areaFactors[n];if(!a)throw new Error(\"invalid final units\");return t/i*a},r.isNumber=d,r.isObject=function(t){return!!t&&t.constructor===Object},r.validateBBox=function(t){if(!t)throw new Error(\"bbox is required\");if(!Array.isArray(t))throw new Error(\"bbox must be an Array\");if(4!==t.length&&6!==t.length)throw new Error(\"bbox must be an Array of 4 or 6 numbers\");t.forEach((function(t){if(!d(t))throw new Error(\"bbox must only contain numbers\")}))},r.validateId=function(t){if(!t)throw new Error(\"id is required\");if(-1===[\"string\",\"number\"].indexOf(typeof t))throw new Error(\"id must be a number or a string\")},r.radians2degrees=function(){throw new Error(\"method has been renamed to `radiansToDegrees`\")},r.degrees2radians=function(){throw new Error(\"method has been renamed to `degreesToRadians`\")},r.distanceToDegrees=function(){throw new Error(\"method has been renamed to `lengthToDegrees`\")},r.distanceToRadians=function(){throw new Error(\"method has been renamed to `lengthToRadians`\")},r.radiansToDistance=function(){throw new Error(\"method has been renamed to `radiansToLength`\")},r.bearingToAngle=function(){throw new Error(\"method has been renamed to `bearingToAzimuth`\")},r.convertDistance=function(){throw new Error(\"method has been renamed to `convertLength`\")}},{}],69:[function(t,e,r){\"use strict\";Object.defineProperty(r,\"__esModule\",{value:!0});var n=t(\"@turf/helpers\");function i(t,e,r){if(null!==t)for(var n,a,o,s,l,c,u,f,h=0,p=0,d=t.type,m=\"FeatureCollection\"===d,g=\"Feature\"===d,v=m?t.features.length:1,y=0;yc||p>u||d>f)return l=i,c=r,u=p,f=d,void(o=0);var m=n.lineString([l,i],t.properties);if(!1===e(m,r,a,d,o))return!1;o++,l=i}))&&void 0}}}))}function u(t,e){if(!t)throw new Error(\"geojson is required\");l(t,(function(t,r,i){if(null!==t.geometry){var a=t.geometry.type,o=t.geometry.coordinates;switch(a){case\"LineString\":if(!1===e(t,r,i,0,0))return!1;break;case\"Polygon\":for(var s=0;si&&(i=t[o]),t[o] \n", + " * @license MIT\n", + " */function i(t,e){if(t===e)return 0;for(var r=t.length,n=e.length,i=0,a=Math.min(r,n);i=0;c--)if(u[c]!==f[c])return!1;for(c=u.length-1;c>=0;c--)if(s=u[c],!x(t[s],e[s],r,n))return!1;return!0}(t,e,r,n))}return r?t===e:t==e}function b(t){return\"[object Arguments]\"==Object.prototype.toString.call(t)}function _(t,e){if(!t||!e)return!1;if(\"[object RegExp]\"==Object.prototype.toString.call(e))return e.test(t);try{if(t instanceof e)return!0}catch(t){}return!Error.isPrototypeOf(e)&&!0===e.call({},t)}function w(t,e,r,n){var i;if(\"function\"!=typeof e)throw new TypeError('\"block\" argument must be a function');\"string\"==typeof r&&(n=r,r=null),i=function(t){var e;try{t()}catch(t){e=t}return e}(e),n=(r&&r.name?\" (\"+r.name+\").\":\".\")+(n?\" \"+n:\".\"),t&&!i&&v(i,r,\"Missing expected exception\"+n);var a=\"string\"==typeof n,s=!t&&i&&!r;if((!t&&o.isError(i)&&a&&_(i,r)||s)&&v(i,r,\"Got unwanted exception\"+n),t&&i&&r&&!_(i,r)||!t&&i)throw i}h.AssertionError=function(t){this.name=\"AssertionError\",this.actual=t.actual,this.expected=t.expected,this.operator=t.operator,t.message?(this.message=t.message,this.generatedMessage=!1):(this.message=function(t){return m(g(t.actual),128)+\" \"+t.operator+\" \"+m(g(t.expected),128)}(this),this.generatedMessage=!0);var e=t.stackStartFunction||v;if(Error.captureStackTrace)Error.captureStackTrace(this,e);else{var r=new Error;if(r.stack){var n=r.stack,i=d(e),a=n.indexOf(\"\\n\"+i);if(a>=0){var o=n.indexOf(\"\\n\",a+1);n=n.substring(o+1)}this.stack=n}}},o.inherits(h.AssertionError,Error),h.fail=v,h.ok=y,h.equal=function(t,e,r){t!=e&&v(t,e,r,\"==\",h.equal)},h.notEqual=function(t,e,r){t==e&&v(t,e,r,\"!=\",h.notEqual)},h.deepEqual=function(t,e,r){x(t,e,!1)||v(t,e,r,\"deepEqual\",h.deepEqual)},h.deepStrictEqual=function(t,e,r){x(t,e,!0)||v(t,e,r,\"deepStrictEqual\",h.deepStrictEqual)},h.notDeepEqual=function(t,e,r){x(t,e,!1)&&v(t,e,r,\"notDeepEqual\",h.notDeepEqual)},h.notDeepStrictEqual=function t(e,r,n){x(e,r,!0)&&v(e,r,n,\"notDeepStrictEqual\",t)},h.strictEqual=function(t,e,r){t!==e&&v(t,e,r,\"===\",h.strictEqual)},h.notStrictEqual=function(t,e,r){t===e&&v(t,e,r,\"!==\",h.notStrictEqual)},h.throws=function(t,e,r){w(!0,t,e,r)},h.doesNotThrow=function(t,e,r){w(!1,t,e,r)},h.ifError=function(t){if(t)throw t},h.strict=n((function t(e,r){e||v(e,!0,r,\"==\",t)}),h,{equal:h.strictEqual,deepEqual:h.deepStrictEqual,notEqual:h.notStrictEqual,notDeepEqual:h.notDeepStrictEqual}),h.strict.strict=h.strict;var T=Object.keys||function(t){var e=[];for(var r in t)s.call(t,r)&&e.push(r);return e}}).call(this)}).call(this,\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{})},{\"object-assign\":247,\"util/\":78}],76:[function(t,e,r){\"function\"==typeof Object.create?e.exports=function(t,e){t.super_=e,t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}})}:e.exports=function(t,e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}},{}],77:[function(t,e,r){e.exports=function(t){return t&&\"object\"==typeof t&&\"function\"==typeof t.copy&&\"function\"==typeof t.fill&&\"function\"==typeof t.readUInt8}},{}],78:[function(t,e,r){(function(e,n){(function(){var i=/%[sdj%]/g;r.format=function(t){if(!v(t)){for(var e=[],r=0;r=a)return t;switch(t){case\"%s\":return String(n[r++]);case\"%d\":return Number(n[r++]);case\"%j\":try{return JSON.stringify(n[r++])}catch(t){return\"[Circular]\"}default:return t}})),l=n[r];r=3&&(n.depth=arguments[2]),arguments.length>=4&&(n.colors=arguments[3]),d(e)?n.showHidden=e:e&&r._extend(n,e),y(n.showHidden)&&(n.showHidden=!1),y(n.depth)&&(n.depth=2),y(n.colors)&&(n.colors=!1),y(n.customInspect)&&(n.customInspect=!0),n.colors&&(n.stylize=l),u(n,t,n.depth)}function l(t,e){var r=s.styles[e];return r?\"\\x1b[\"+s.colors[r][0]+\"m\"+t+\"\\x1b[\"+s.colors[r][1]+\"m\":t}function c(t,e){return t}function u(t,e,n){if(t.customInspect&&e&&T(e.inspect)&&e.inspect!==r.inspect&&(!e.constructor||e.constructor.prototype!==e)){var i=e.inspect(n,t);return v(i)||(i=u(t,i,n)),i}var a=function(t,e){if(y(e))return t.stylize(\"undefined\",\"undefined\");if(v(e)){var r=\"'\"+JSON.stringify(e).replace(/^\"|\"$/g,\"\").replace(/'/g,\"\\\\'\").replace(/\\\\\"/g,'\"')+\"'\";return t.stylize(r,\"string\")}if(g(e))return t.stylize(\"\"+e,\"number\");if(d(e))return t.stylize(\"\"+e,\"boolean\");if(m(e))return t.stylize(\"null\",\"null\")}(t,e);if(a)return a;var o=Object.keys(e),s=function(t){var e={};return t.forEach((function(t,r){e[t]=!0})),e}(o);if(t.showHidden&&(o=Object.getOwnPropertyNames(e)),w(e)&&(o.indexOf(\"message\")>=0||o.indexOf(\"description\")>=0))return f(e);if(0===o.length){if(T(e)){var l=e.name?\": \"+e.name:\"\";return t.stylize(\"[Function\"+l+\"]\",\"special\")}if(x(e))return t.stylize(RegExp.prototype.toString.call(e),\"regexp\");if(_(e))return t.stylize(Date.prototype.toString.call(e),\"date\");if(w(e))return f(e)}var c,b=\"\",k=!1,A=[\"{\",\"}\"];(p(e)&&(k=!0,A=[\"[\",\"]\"]),T(e))&&(b=\" [Function\"+(e.name?\": \"+e.name:\"\")+\"]\");return x(e)&&(b=\" \"+RegExp.prototype.toString.call(e)),_(e)&&(b=\" \"+Date.prototype.toUTCString.call(e)),w(e)&&(b=\" \"+f(e)),0!==o.length||k&&0!=e.length?n<0?x(e)?t.stylize(RegExp.prototype.toString.call(e),\"regexp\"):t.stylize(\"[Object]\",\"special\"):(t.seen.push(e),c=k?function(t,e,r,n,i){for(var a=[],o=0,s=e.length;o=0&&0,t+e.replace(/\\u001b\\[\\d\\d?m/g,\"\").length+1}),0)>60)return r[0]+(\"\"===e?\"\":e+\"\\n \")+\" \"+t.join(\",\\n \")+\" \"+r[1];return r[0]+e+\" \"+t.join(\", \")+\" \"+r[1]}(c,b,A)):A[0]+b+A[1]}function f(t){return\"[\"+Error.prototype.toString.call(t)+\"]\"}function h(t,e,r,n,i,a){var o,s,l;if((l=Object.getOwnPropertyDescriptor(e,i)||{value:e[i]}).get?s=l.set?t.stylize(\"[Getter/Setter]\",\"special\"):t.stylize(\"[Getter]\",\"special\"):l.set&&(s=t.stylize(\"[Setter]\",\"special\")),E(n,i)||(o=\"[\"+i+\"]\"),s||(t.seen.indexOf(l.value)<0?(s=m(r)?u(t,l.value,null):u(t,l.value,r-1)).indexOf(\"\\n\")>-1&&(s=a?s.split(\"\\n\").map((function(t){return\" \"+t})).join(\"\\n\").substr(2):\"\\n\"+s.split(\"\\n\").map((function(t){return\" \"+t})).join(\"\\n\")):s=t.stylize(\"[Circular]\",\"special\")),y(o)){if(a&&i.match(/^\\d+$/))return s;(o=JSON.stringify(\"\"+i)).match(/^\"([a-zA-Z_][a-zA-Z_0-9]*)\"$/)?(o=o.substr(1,o.length-2),o=t.stylize(o,\"name\")):(o=o.replace(/'/g,\"\\\\'\").replace(/\\\\\"/g,'\"').replace(/(^\"|\"$)/g,\"'\"),o=t.stylize(o,\"string\"))}return o+\": \"+s}function p(t){return Array.isArray(t)}function d(t){return\"boolean\"==typeof t}function m(t){return null===t}function g(t){return\"number\"==typeof t}function v(t){return\"string\"==typeof t}function y(t){return void 0===t}function x(t){return b(t)&&\"[object RegExp]\"===k(t)}function b(t){return\"object\"==typeof t&&null!==t}function _(t){return b(t)&&\"[object Date]\"===k(t)}function w(t){return b(t)&&(\"[object Error]\"===k(t)||t instanceof Error)}function T(t){return\"function\"==typeof t}function k(t){return Object.prototype.toString.call(t)}function A(t){return t<10?\"0\"+t.toString(10):t.toString(10)}r.debuglog=function(t){if(y(a)&&(a=e.env.NODE_DEBUG||\"\"),t=t.toUpperCase(),!o[t])if(new RegExp(\"\\\\b\"+t+\"\\\\b\",\"i\").test(a)){var n=e.pid;o[t]=function(){var e=r.format.apply(r,arguments);console.error(\"%s %d: %s\",t,n,e)}}else o[t]=function(){};return o[t]},r.inspect=s,s.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},s.styles={special:\"cyan\",number:\"yellow\",boolean:\"yellow\",undefined:\"grey\",null:\"bold\",string:\"green\",date:\"magenta\",regexp:\"red\"},r.isArray=p,r.isBoolean=d,r.isNull=m,r.isNullOrUndefined=function(t){return null==t},r.isNumber=g,r.isString=v,r.isSymbol=function(t){return\"symbol\"==typeof t},r.isUndefined=y,r.isRegExp=x,r.isObject=b,r.isDate=_,r.isError=w,r.isFunction=T,r.isPrimitive=function(t){return null===t||\"boolean\"==typeof t||\"number\"==typeof t||\"string\"==typeof t||\"symbol\"==typeof t||void 0===t},r.isBuffer=t(\"./support/isBuffer\");var M=[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"];function S(){var t=new Date,e=[A(t.getHours()),A(t.getMinutes()),A(t.getSeconds())].join(\":\");return[t.getDate(),M[t.getMonth()],e].join(\" \")}function E(t,e){return Object.prototype.hasOwnProperty.call(t,e)}r.log=function(){console.log(\"%s - %s\",S(),r.format.apply(r,arguments))},r.inherits=t(\"inherits\"),r._extend=function(t,e){if(!e||!b(e))return t;for(var r=Object.keys(e),n=r.length;n--;)t[r[n]]=e[r[n]];return t}}).call(this)}).call(this,t(\"_process\"),\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{})},{\"./support/isBuffer\":77,_process:278,inherits:76}],79:[function(t,e,r){\"use strict\";r.byteLength=function(t){var e=c(t),r=e[0],n=e[1];return 3*(r+n)/4-n},r.toByteArray=function(t){var e,r,n=c(t),o=n[0],s=n[1],l=new a(function(t,e,r){return 3*(e+r)/4-r}(0,o,s)),u=0,f=s>0?o-4:o;for(r=0;r>16&255,l[u++]=e>>8&255,l[u++]=255&e;2===s&&(e=i[t.charCodeAt(r)]<<2|i[t.charCodeAt(r+1)]>>4,l[u++]=255&e);1===s&&(e=i[t.charCodeAt(r)]<<10|i[t.charCodeAt(r+1)]<<4|i[t.charCodeAt(r+2)]>>2,l[u++]=e>>8&255,l[u++]=255&e);return l},r.fromByteArray=function(t){for(var e,r=t.length,i=r%3,a=[],o=0,s=r-i;os?s:o+16383));1===i?(e=t[r-1],a.push(n[e>>2]+n[e<<4&63]+\"==\")):2===i&&(e=(t[r-2]<<8)+t[r-1],a.push(n[e>>10]+n[e>>4&63]+n[e<<2&63]+\"=\"));return a.join(\"\")};for(var n=[],i=[],a=\"undefined\"!=typeof Uint8Array?Uint8Array:Array,o=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\",s=0,l=o.length;s0)throw new Error(\"Invalid string. Length must be a multiple of 4\");var r=t.indexOf(\"=\");return-1===r&&(r=e),[r,r===e?0:4-r%4]}function u(t,e,r){for(var i,a,o=[],s=e;s>18&63]+n[a>>12&63]+n[a>>6&63]+n[63&a]);return o.join(\"\")}i[\"-\".charCodeAt(0)]=62,i[\"_\".charCodeAt(0)]=63},{}],80:[function(t,e,r){\"use strict\";function n(t,e,r,n,i){for(var a=i+1;n<=i;){var o=n+i>>>1,s=t[o];(void 0!==r?r(s,e):s-e)>=0?(a=o,i=o-1):n=o+1}return a}function i(t,e,r,n,i){for(var a=i+1;n<=i;){var o=n+i>>>1,s=t[o];(void 0!==r?r(s,e):s-e)>0?(a=o,i=o-1):n=o+1}return a}function a(t,e,r,n,i){for(var a=n-1;n<=i;){var o=n+i>>>1,s=t[o];(void 0!==r?r(s,e):s-e)<0?(a=o,n=o+1):i=o-1}return a}function o(t,e,r,n,i){for(var a=n-1;n<=i;){var o=n+i>>>1,s=t[o];(void 0!==r?r(s,e):s-e)<=0?(a=o,n=o+1):i=o-1}return a}function s(t,e,r,n,i){for(;n<=i;){var a=n+i>>>1,o=t[a],s=void 0!==r?r(o,e):o-e;if(0===s)return a;s<=0?n=a+1:i=a-1}return-1}function l(t,e,r,n,i,a){return\"function\"==typeof r?a(t,e,r,void 0===n?0:0|n,void 0===i?t.length-1:0|i):a(t,e,void 0,void 0===r?0:0|r,void 0===n?t.length-1:0|n)}e.exports={ge:function(t,e,r,i,a){return l(t,e,r,i,a,n)},gt:function(t,e,r,n,a){return l(t,e,r,n,a,i)},lt:function(t,e,r,n,i){return l(t,e,r,n,i,a)},le:function(t,e,r,n,i){return l(t,e,r,n,i,o)},eq:function(t,e,r,n,i){return l(t,e,r,n,i,s)}}},{}],81:[function(t,e,r){\"use strict\";function n(t){var e=32;return(t&=-t)&&e--,65535&t&&(e-=16),16711935&t&&(e-=8),252645135&t&&(e-=4),858993459&t&&(e-=2),1431655765&t&&(e-=1),e}r.INT_BITS=32,r.INT_MAX=2147483647,r.INT_MIN=-1<<31,r.sign=function(t){return(t>0)-(t<0)},r.abs=function(t){var e=t>>31;return(t^e)-e},r.min=function(t,e){return e^(t^e)&-(t65535)<<4,e|=r=((t>>>=e)>255)<<3,e|=r=((t>>>=r)>15)<<2,(e|=r=((t>>>=r)>3)<<1)|(t>>>=r)>>1},r.log10=function(t){return t>=1e9?9:t>=1e8?8:t>=1e7?7:t>=1e6?6:t>=1e5?5:t>=1e4?4:t>=1e3?3:t>=100?2:t>=10?1:0},r.popCount=function(t){return 16843009*((t=(858993459&(t-=t>>>1&1431655765))+(t>>>2&858993459))+(t>>>4)&252645135)>>>24},r.countTrailingZeros=n,r.nextPow2=function(t){return t+=0===t,--t,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,(t|=t>>>16)+1},r.prevPow2=function(t){return t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,(t|=t>>>16)-(t>>>1)},r.parity=function(t){return t^=t>>>16,t^=t>>>8,t^=t>>>4,27030>>>(t&=15)&1};var i=new Array(256);!function(t){for(var e=0;e<256;++e){var r=e,n=e,i=7;for(r>>>=1;r;r>>>=1)n<<=1,n|=1&r,--i;t[e]=n<>>8&255]<<16|i[t>>>16&255]<<8|i[t>>>24&255]},r.interleave2=function(t,e){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t&=65535)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e&=65535)|e<<8))|e<<4))|e<<2))|e<<1))<<1},r.deinterleave2=function(t,e){return(t=65535&((t=16711935&((t=252645135&((t=858993459&((t=t>>>e&1431655765)|t>>>1))|t>>>2))|t>>>4))|t>>>16))<<16>>16},r.interleave3=function(t,e,r){return t=1227133513&((t=3272356035&((t=251719695&((t=4278190335&((t&=1023)|t<<16))|t<<8))|t<<4))|t<<2),(t|=(e=1227133513&((e=3272356035&((e=251719695&((e=4278190335&((e&=1023)|e<<16))|e<<8))|e<<4))|e<<2))<<1)|(r=1227133513&((r=3272356035&((r=251719695&((r=4278190335&((r&=1023)|r<<16))|r<<8))|r<<4))|r<<2))<<2},r.deinterleave3=function(t,e){return(t=1023&((t=4278190335&((t=251719695&((t=3272356035&((t=t>>>e&1227133513)|t>>>2))|t>>>4))|t>>>8))|t>>>16))<<22>>22},r.nextCombination=function(t){var e=t|t-1;return e+1|(~e&-~e)-1>>>n(t)+1}},{}],82:[function(t,e,r){\"use strict\";var n=t(\"clamp\");e.exports=function(t,e){e||(e={});var r,o,s,l,c,u,f,h,p,d,m,g=null==e.cutoff?.25:e.cutoff,v=null==e.radius?8:e.radius,y=e.channel||0;if(ArrayBuffer.isView(t)||Array.isArray(t)){if(!e.width||!e.height)throw Error(\"For raw data width and height should be provided by options\");r=e.width,o=e.height,l=t,u=e.stride?e.stride:Math.floor(t.length/r/o)}else window.HTMLCanvasElement&&t instanceof window.HTMLCanvasElement?(f=(h=t).getContext(\"2d\"),r=h.width,o=h.height,p=f.getImageData(0,0,r,o),l=p.data,u=4):window.CanvasRenderingContext2D&&t instanceof window.CanvasRenderingContext2D?(h=t.canvas,f=t,r=h.width,o=h.height,p=f.getImageData(0,0,r,o),l=p.data,u=4):window.ImageData&&t instanceof window.ImageData&&(p=t,r=t.width,o=t.height,l=p.data,u=4);if(s=Math.max(r,o),window.Uint8ClampedArray&&l instanceof window.Uint8ClampedArray||window.Uint8Array&&l instanceof window.Uint8Array)for(c=l,l=Array(r*o),d=0,m=c.length;d0&&o.length>i&&!o.warned){o.warned=!0;var l=new Error(\"Possible EventEmitter memory leak detected. \"+o.length+\" \"+String(e)+\" listeners added. Use emitter.setMaxListeners() to increase limit\");l.name=\"MaxListenersExceededWarning\",l.emitter=t,l.type=e,l.count=o.length,s=l,console&&console.warn&&console.warn(s)}return t}function h(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function p(t,e,r){var n={fired:!1,wrapFn:void 0,target:t,type:e,listener:r},i=h.bind(n);return i.listener=r,n.wrapFn=i,i}function d(t,e,r){var n=t._events;if(void 0===n)return[];var i=n[e];return void 0===i?[]:\"function\"==typeof i?r?[i.listener||i]:[i]:r?function(t){for(var e=new Array(t.length),r=0;r0&&(o=e[0]),o instanceof Error)throw o;var s=new Error(\"Unhandled error.\"+(o?\" (\"+o.message+\")\":\"\"));throw s.context=o,s}var l=i[t];if(void 0===l)return!1;if(\"function\"==typeof l)a(l,this,e);else{var c=l.length,u=g(l,c);for(r=0;r=0;a--)if(r[a]===e||r[a].listener===e){o=r[a].listener,i=a;break}if(i<0)return this;0===i?r.shift():function(t,e){for(;e+1=0;n--)this.removeListener(t,e[n]);return this},s.prototype.listeners=function(t){return d(this,t,!0)},s.prototype.rawListeners=function(t){return d(this,t,!1)},s.listenerCount=function(t,e){return\"function\"==typeof t.listenerCount?t.listenerCount(e):m.call(t,e)},s.prototype.listenerCount=m,s.prototype.eventNames=function(){return this._eventsCount>0?n(this._events):[]}},{}],85:[function(t,e,r){(function(e){(function(){\n", + "/*!\n", + " * The buffer module from node.js, for the browser.\n", + " *\n", + " * @author Feross Aboukhadijeh \n", + " * @license MIT\n", + " */\n", + "\"use strict\";var e=t(\"base64-js\"),n=t(\"ieee754\");r.Buffer=a,r.SlowBuffer=function(t){+t!=t&&(t=0);return a.alloc(+t)},r.INSPECT_MAX_BYTES=50;function i(t){if(t>2147483647)throw new RangeError('The value \"'+t+'\" is invalid for option \"size\"');var e=new Uint8Array(t);return e.__proto__=a.prototype,e}function a(t,e,r){if(\"number\"==typeof t){if(\"string\"==typeof e)throw new TypeError('The \"string\" argument must be of type string. Received type number');return l(t)}return o(t,e,r)}function o(t,e,r){if(\"string\"==typeof t)return function(t,e){\"string\"==typeof e&&\"\"!==e||(e=\"utf8\");if(!a.isEncoding(e))throw new TypeError(\"Unknown encoding: \"+e);var r=0|f(t,e),n=i(r),o=n.write(t,e);o!==r&&(n=n.slice(0,o));return n}(t,e);if(ArrayBuffer.isView(t))return c(t);if(null==t)throw TypeError(\"The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type \"+typeof t);if(B(t,ArrayBuffer)||t&&B(t.buffer,ArrayBuffer))return function(t,e,r){if(e<0||t.byteLength=2147483647)throw new RangeError(\"Attempt to allocate Buffer larger than maximum size: 0x\"+2147483647..toString(16)+\" bytes\");return 0|t}function f(t,e){if(a.isBuffer(t))return t.length;if(ArrayBuffer.isView(t)||B(t,ArrayBuffer))return t.byteLength;if(\"string\"!=typeof t)throw new TypeError('The \"string\" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof t);var r=t.length,n=arguments.length>2&&!0===arguments[2];if(!n&&0===r)return 0;for(var i=!1;;)switch(e){case\"ascii\":case\"latin1\":case\"binary\":return r;case\"utf8\":case\"utf-8\":return D(t).length;case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return 2*r;case\"hex\":return r>>>1;case\"base64\":return R(t).length;default:if(i)return n?-1:D(t).length;e=(\"\"+e).toLowerCase(),i=!0}}function h(t,e,r){var n=!1;if((void 0===e||e<0)&&(e=0),e>this.length)return\"\";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return\"\";if((r>>>=0)<=(e>>>=0))return\"\";for(t||(t=\"utf8\");;)switch(t){case\"hex\":return M(this,e,r);case\"utf8\":case\"utf-8\":return T(this,e,r);case\"ascii\":return k(this,e,r);case\"latin1\":case\"binary\":return A(this,e,r);case\"base64\":return w(this,e,r);case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return S(this,e,r);default:if(n)throw new TypeError(\"Unknown encoding: \"+t);t=(t+\"\").toLowerCase(),n=!0}}function p(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function d(t,e,r,n,i){if(0===t.length)return-1;if(\"string\"==typeof r?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),N(r=+r)&&(r=i?0:t.length-1),r<0&&(r=t.length+r),r>=t.length){if(i)return-1;r=t.length-1}else if(r<0){if(!i)return-1;r=0}if(\"string\"==typeof e&&(e=a.from(e,n)),a.isBuffer(e))return 0===e.length?-1:m(t,e,r,n,i);if(\"number\"==typeof e)return e&=255,\"function\"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(t,e,r):Uint8Array.prototype.lastIndexOf.call(t,e,r):m(t,[e],r,n,i);throw new TypeError(\"val must be string, number or Buffer\")}function m(t,e,r,n,i){var a,o=1,s=t.length,l=e.length;if(void 0!==n&&(\"ucs2\"===(n=String(n).toLowerCase())||\"ucs-2\"===n||\"utf16le\"===n||\"utf-16le\"===n)){if(t.length<2||e.length<2)return-1;o=2,s/=2,l/=2,r/=2}function c(t,e){return 1===o?t[e]:t.readUInt16BE(e*o)}if(i){var u=-1;for(a=r;as&&(r=s-l),a=r;a>=0;a--){for(var f=!0,h=0;hi&&(n=i):n=i;var a=e.length;n>a/2&&(n=a/2);for(var o=0;o>8,i=r%256,a.push(i),a.push(n);return a}(e,t.length-r),t,r,n)}function w(t,r,n){return 0===r&&n===t.length?e.fromByteArray(t):e.fromByteArray(t.slice(r,n))}function T(t,e,r){r=Math.min(t.length,r);for(var n=[],i=e;i239?4:c>223?3:c>191?2:1;if(i+f<=r)switch(f){case 1:c<128&&(u=c);break;case 2:128==(192&(a=t[i+1]))&&(l=(31&c)<<6|63&a)>127&&(u=l);break;case 3:a=t[i+1],o=t[i+2],128==(192&a)&&128==(192&o)&&(l=(15&c)<<12|(63&a)<<6|63&o)>2047&&(l<55296||l>57343)&&(u=l);break;case 4:a=t[i+1],o=t[i+2],s=t[i+3],128==(192&a)&&128==(192&o)&&128==(192&s)&&(l=(15&c)<<18|(63&a)<<12|(63&o)<<6|63&s)>65535&&l<1114112&&(u=l)}null===u?(u=65533,f=1):u>65535&&(u-=65536,n.push(u>>>10&1023|55296),u=56320|1023&u),n.push(u),i+=f}return function(t){var e=t.length;if(e<=4096)return String.fromCharCode.apply(String,t);var r=\"\",n=0;for(;ne&&(t+=\" ... \"),\"\"},a.prototype.compare=function(t,e,r,n,i){if(B(t,Uint8Array)&&(t=a.from(t,t.offset,t.byteLength)),!a.isBuffer(t))throw new TypeError('The \"target\" argument must be one of type Buffer or Uint8Array. Received type '+typeof t);if(void 0===e&&(e=0),void 0===r&&(r=t?t.length:0),void 0===n&&(n=0),void 0===i&&(i=this.length),e<0||r>t.length||n<0||i>this.length)throw new RangeError(\"out of range index\");if(n>=i&&e>=r)return 0;if(n>=i)return-1;if(e>=r)return 1;if(this===t)return 0;for(var o=(i>>>=0)-(n>>>=0),s=(r>>>=0)-(e>>>=0),l=Math.min(o,s),c=this.slice(n,i),u=t.slice(e,r),f=0;f>>=0,isFinite(r)?(r>>>=0,void 0===n&&(n=\"utf8\")):(n=r,r=void 0)}var i=this.length-e;if((void 0===r||r>i)&&(r=i),t.length>0&&(r<0||e<0)||e>this.length)throw new RangeError(\"Attempt to write outside buffer bounds\");n||(n=\"utf8\");for(var a=!1;;)switch(n){case\"hex\":return g(this,t,e,r);case\"utf8\":case\"utf-8\":return v(this,t,e,r);case\"ascii\":return y(this,t,e,r);case\"latin1\":case\"binary\":return x(this,t,e,r);case\"base64\":return b(this,t,e,r);case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return _(this,t,e,r);default:if(a)throw new TypeError(\"Unknown encoding: \"+n);n=(\"\"+n).toLowerCase(),a=!0}},a.prototype.toJSON=function(){return{type:\"Buffer\",data:Array.prototype.slice.call(this._arr||this,0)}};function k(t,e,r){var n=\"\";r=Math.min(t.length,r);for(var i=e;in)&&(r=n);for(var i=\"\",a=e;ar)throw new RangeError(\"Trying to access beyond buffer length\")}function L(t,e,r,n,i,o){if(!a.isBuffer(t))throw new TypeError('\"buffer\" argument must be a Buffer instance');if(e>i||et.length)throw new RangeError(\"Index out of range\")}function C(t,e,r,n,i,a){if(r+n>t.length)throw new RangeError(\"Index out of range\");if(r<0)throw new RangeError(\"Index out of range\")}function P(t,e,r,i,a){return e=+e,r>>>=0,a||C(t,0,r,4),n.write(t,e,r,i,23,4),r+4}function I(t,e,r,i,a){return e=+e,r>>>=0,a||C(t,0,r,8),n.write(t,e,r,i,52,8),r+8}a.prototype.slice=function(t,e){var r=this.length;(t=~~t)<0?(t+=r)<0&&(t=0):t>r&&(t=r),(e=void 0===e?r:~~e)<0?(e+=r)<0&&(e=0):e>r&&(e=r),e>>=0,e>>>=0,r||E(t,e,this.length);for(var n=this[t],i=1,a=0;++a>>=0,e>>>=0,r||E(t,e,this.length);for(var n=this[t+--e],i=1;e>0&&(i*=256);)n+=this[t+--e]*i;return n},a.prototype.readUInt8=function(t,e){return t>>>=0,e||E(t,1,this.length),this[t]},a.prototype.readUInt16LE=function(t,e){return t>>>=0,e||E(t,2,this.length),this[t]|this[t+1]<<8},a.prototype.readUInt16BE=function(t,e){return t>>>=0,e||E(t,2,this.length),this[t]<<8|this[t+1]},a.prototype.readUInt32LE=function(t,e){return t>>>=0,e||E(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},a.prototype.readUInt32BE=function(t,e){return t>>>=0,e||E(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},a.prototype.readIntLE=function(t,e,r){t>>>=0,e>>>=0,r||E(t,e,this.length);for(var n=this[t],i=1,a=0;++a=(i*=128)&&(n-=Math.pow(2,8*e)),n},a.prototype.readIntBE=function(t,e,r){t>>>=0,e>>>=0,r||E(t,e,this.length);for(var n=e,i=1,a=this[t+--n];n>0&&(i*=256);)a+=this[t+--n]*i;return a>=(i*=128)&&(a-=Math.pow(2,8*e)),a},a.prototype.readInt8=function(t,e){return t>>>=0,e||E(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},a.prototype.readInt16LE=function(t,e){t>>>=0,e||E(t,2,this.length);var r=this[t]|this[t+1]<<8;return 32768&r?4294901760|r:r},a.prototype.readInt16BE=function(t,e){t>>>=0,e||E(t,2,this.length);var r=this[t+1]|this[t]<<8;return 32768&r?4294901760|r:r},a.prototype.readInt32LE=function(t,e){return t>>>=0,e||E(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},a.prototype.readInt32BE=function(t,e){return t>>>=0,e||E(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},a.prototype.readFloatLE=function(t,e){return t>>>=0,e||E(t,4,this.length),n.read(this,t,!0,23,4)},a.prototype.readFloatBE=function(t,e){return t>>>=0,e||E(t,4,this.length),n.read(this,t,!1,23,4)},a.prototype.readDoubleLE=function(t,e){return t>>>=0,e||E(t,8,this.length),n.read(this,t,!0,52,8)},a.prototype.readDoubleBE=function(t,e){return t>>>=0,e||E(t,8,this.length),n.read(this,t,!1,52,8)},a.prototype.writeUIntLE=function(t,e,r,n){(t=+t,e>>>=0,r>>>=0,n)||L(this,t,e,r,Math.pow(2,8*r)-1,0);var i=1,a=0;for(this[e]=255&t;++a>>=0,r>>>=0,n)||L(this,t,e,r,Math.pow(2,8*r)-1,0);var i=r-1,a=1;for(this[e+i]=255&t;--i>=0&&(a*=256);)this[e+i]=t/a&255;return e+r},a.prototype.writeUInt8=function(t,e,r){return t=+t,e>>>=0,r||L(this,t,e,1,255,0),this[e]=255&t,e+1},a.prototype.writeUInt16LE=function(t,e,r){return t=+t,e>>>=0,r||L(this,t,e,2,65535,0),this[e]=255&t,this[e+1]=t>>>8,e+2},a.prototype.writeUInt16BE=function(t,e,r){return t=+t,e>>>=0,r||L(this,t,e,2,65535,0),this[e]=t>>>8,this[e+1]=255&t,e+2},a.prototype.writeUInt32LE=function(t,e,r){return t=+t,e>>>=0,r||L(this,t,e,4,4294967295,0),this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=255&t,e+4},a.prototype.writeUInt32BE=function(t,e,r){return t=+t,e>>>=0,r||L(this,t,e,4,4294967295,0),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},a.prototype.writeIntLE=function(t,e,r,n){if(t=+t,e>>>=0,!n){var i=Math.pow(2,8*r-1);L(this,t,e,r,i-1,-i)}var a=0,o=1,s=0;for(this[e]=255&t;++a>0)-s&255;return e+r},a.prototype.writeIntBE=function(t,e,r,n){if(t=+t,e>>>=0,!n){var i=Math.pow(2,8*r-1);L(this,t,e,r,i-1,-i)}var a=r-1,o=1,s=0;for(this[e+a]=255&t;--a>=0&&(o*=256);)t<0&&0===s&&0!==this[e+a+1]&&(s=1),this[e+a]=(t/o>>0)-s&255;return e+r},a.prototype.writeInt8=function(t,e,r){return t=+t,e>>>=0,r||L(this,t,e,1,127,-128),t<0&&(t=255+t+1),this[e]=255&t,e+1},a.prototype.writeInt16LE=function(t,e,r){return t=+t,e>>>=0,r||L(this,t,e,2,32767,-32768),this[e]=255&t,this[e+1]=t>>>8,e+2},a.prototype.writeInt16BE=function(t,e,r){return t=+t,e>>>=0,r||L(this,t,e,2,32767,-32768),this[e]=t>>>8,this[e+1]=255&t,e+2},a.prototype.writeInt32LE=function(t,e,r){return t=+t,e>>>=0,r||L(this,t,e,4,2147483647,-2147483648),this[e]=255&t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24,e+4},a.prototype.writeInt32BE=function(t,e,r){return t=+t,e>>>=0,r||L(this,t,e,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},a.prototype.writeFloatLE=function(t,e,r){return P(this,t,e,!0,r)},a.prototype.writeFloatBE=function(t,e,r){return P(this,t,e,!1,r)},a.prototype.writeDoubleLE=function(t,e,r){return I(this,t,e,!0,r)},a.prototype.writeDoubleBE=function(t,e,r){return I(this,t,e,!1,r)},a.prototype.copy=function(t,e,r,n){if(!a.isBuffer(t))throw new TypeError(\"argument should be a Buffer\");if(r||(r=0),n||0===n||(n=this.length),e>=t.length&&(e=t.length),e||(e=0),n>0&&n=this.length)throw new RangeError(\"Index out of range\");if(n<0)throw new RangeError(\"sourceEnd out of bounds\");n>this.length&&(n=this.length),t.length-e=0;--o)t[o+e]=this[o+r];else Uint8Array.prototype.set.call(t,this.subarray(r,n),e);return i},a.prototype.fill=function(t,e,r,n){if(\"string\"==typeof t){if(\"string\"==typeof e?(n=e,e=0,r=this.length):\"string\"==typeof r&&(n=r,r=this.length),void 0!==n&&\"string\"!=typeof n)throw new TypeError(\"encoding must be a string\");if(\"string\"==typeof n&&!a.isEncoding(n))throw new TypeError(\"Unknown encoding: \"+n);if(1===t.length){var i=t.charCodeAt(0);(\"utf8\"===n&&i<128||\"latin1\"===n)&&(t=i)}}else\"number\"==typeof t&&(t&=255);if(e<0||this.length>>=0,r=void 0===r?this.length:r>>>0,t||(t=0),\"number\"==typeof t)for(o=e;o55295&&r<57344){if(!i){if(r>56319){(e-=3)>-1&&a.push(239,191,189);continue}if(o+1===n){(e-=3)>-1&&a.push(239,191,189);continue}i=r;continue}if(r<56320){(e-=3)>-1&&a.push(239,191,189),i=r;continue}r=65536+(i-55296<<10|r-56320)}else i&&(e-=3)>-1&&a.push(239,191,189);if(i=null,r<128){if((e-=1)<0)break;a.push(r)}else if(r<2048){if((e-=2)<0)break;a.push(r>>6|192,63&r|128)}else if(r<65536){if((e-=3)<0)break;a.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error(\"Invalid code point\");if((e-=4)<0)break;a.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return a}function R(t){return e.toByteArray(function(t){if((t=(t=t.split(\"=\")[0]).trim().replace(O,\"\")).length<2)return\"\";for(;t.length%4!=0;)t+=\"=\";return t}(t))}function F(t,e,r,n){for(var i=0;i=e.length||i>=t.length);++i)e[i+r]=t[i];return i}function B(t,e){return t instanceof e||null!=t&&null!=t.constructor&&null!=t.constructor.name&&t.constructor.name===e.name}function N(t){return t!=t}}).call(this)}).call(this,t(\"buffer\").Buffer)},{\"base64-js\":79,buffer:85,ieee754:230}],86:[function(t,e,r){e.exports=function(t,e,r){return er?r:t:te?e:t}},{}],87:[function(t,e,r){\"use strict\";var n=t(\"clamp\");function i(t,e){null==e&&(e=!0);var r=t[0],i=t[1],a=t[2],o=t[3];return null==o&&(o=e?1:255),e&&(r*=255,i*=255,a*=255,o*=255),16777216*(r=255&n(r,0,255))+((i=255&n(i,0,255))<<16)+((a=255&n(a,0,255))<<8)+(o=255&n(o,0,255))}e.exports=i,e.exports.to=i,e.exports.from=function(t,e){var r=(t=+t)>>>24,n=(16711680&t)>>>16,i=(65280&t)>>>8,a=255&t;return!1===e?[r,n,i,a]:[r/255,n/255,i/255,a/255]}},{clamp:86}],88:[function(t,e,r){\"use strict\";e.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}},{}],89:[function(t,e,r){\"use strict\";var n=t(\"color-rgba\"),i=t(\"clamp\"),a=t(\"dtype\");e.exports=function(t,e){\"float\"!==e&&e||(e=\"array\"),\"uint\"===e&&(e=\"uint8\"),\"uint_clamped\"===e&&(e=\"uint8_clamped\");var r=new(a(e))(4),o=\"uint8\"!==e&&\"uint8_clamped\"!==e;return t.length&&\"string\"!=typeof t||((t=n(t))[0]/=255,t[1]/=255,t[2]/=255),function(t){return t instanceof Uint8Array||t instanceof Uint8ClampedArray||!!(Array.isArray(t)&&(t[0]>1||0===t[0])&&(t[1]>1||0===t[1])&&(t[2]>1||0===t[2])&&(!t[3]||t[3]>1))}(t)?(r[0]=t[0],r[1]=t[1],r[2]=t[2],r[3]=null!=t[3]?t[3]:255,o&&(r[0]/=255,r[1]/=255,r[2]/=255,r[3]/=255),r):(o?(r[0]=t[0],r[1]=t[1],r[2]=t[2],r[3]=null!=t[3]?t[3]:1):(r[0]=i(Math.floor(255*t[0]),0,255),r[1]=i(Math.floor(255*t[1]),0,255),r[2]=i(Math.floor(255*t[2]),0,255),r[3]=null==t[3]?255:i(Math.floor(255*t[3]),0,255)),r)}},{clamp:86,\"color-rgba\":91,dtype:127}],90:[function(t,e,r){(function(r){(function(){\"use strict\";var n=t(\"color-name\"),i=t(\"is-plain-obj\"),a=t(\"defined\");e.exports=function(t){var e,s,l=[],c=1;if(\"string\"==typeof t)if(n[t])l=n[t].slice(),s=\"rgb\";else if(\"transparent\"===t)c=0,s=\"rgb\",l=[0,0,0];else if(/^#[A-Fa-f0-9]+$/.test(t)){var u=(p=t.slice(1)).length;c=1,u<=4?(l=[parseInt(p[0]+p[0],16),parseInt(p[1]+p[1],16),parseInt(p[2]+p[2],16)],4===u&&(c=parseInt(p[3]+p[3],16)/255)):(l=[parseInt(p[0]+p[1],16),parseInt(p[2]+p[3],16),parseInt(p[4]+p[5],16)],8===u&&(c=parseInt(p[6]+p[7],16)/255)),l[0]||(l[0]=0),l[1]||(l[1]=0),l[2]||(l[2]=0),s=\"rgb\"}else if(e=/^((?:rgb|hs[lvb]|hwb|cmyk?|xy[zy]|gray|lab|lchu?v?|[ly]uv|lms)a?)\\s*\\(([^\\)]*)\\)/.exec(t)){var f=e[1],h=\"rgb\"===f,p=f.replace(/a$/,\"\");s=p;u=\"cmyk\"===p?4:\"gray\"===p?1:3;l=e[2].trim().split(/\\s*,\\s*/).map((function(t,e){if(/%$/.test(t))return e===u?parseFloat(t)/100:\"rgb\"===p?255*parseFloat(t)/100:parseFloat(t);if(\"h\"===p[e]){if(/deg$/.test(t))return parseFloat(t);if(void 0!==o[t])return o[t]}return parseFloat(t)})),f===p&&l.push(1),c=h||void 0===l[u]?1:l[u],l=l.slice(0,u)}else t.length>10&&/[0-9](?:\\s|\\/)/.test(t)&&(l=t.match(/([0-9]+)/g).map((function(t){return parseFloat(t)})),s=t.match(/([a-z])/gi).join(\"\").toLowerCase());else if(isNaN(t))if(i(t)){var d=a(t.r,t.red,t.R,null);null!==d?(s=\"rgb\",l=[d,a(t.g,t.green,t.G),a(t.b,t.blue,t.B)]):(s=\"hsl\",l=[a(t.h,t.hue,t.H),a(t.s,t.saturation,t.S),a(t.l,t.lightness,t.L,t.b,t.brightness)]),c=a(t.a,t.alpha,t.opacity,1),null!=t.opacity&&(c/=100)}else(Array.isArray(t)||r.ArrayBuffer&&ArrayBuffer.isView&&ArrayBuffer.isView(t))&&(l=[t[0],t[1],t[2]],s=\"rgb\",c=4===t.length?t[3]:1);else s=\"rgb\",l=[t>>>16,(65280&t)>>>8,255&t];return{space:s,values:l,alpha:c}};var o={red:0,orange:60,yellow:120,green:180,blue:240,purple:300}}).call(this)}).call(this,\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{})},{\"color-name\":88,defined:124,\"is-plain-obj\":236}],91:[function(t,e,r){\"use strict\";var n=t(\"color-parse\"),i=t(\"color-space/hsl\"),a=t(\"clamp\");e.exports=function(t){var e,r=n(t);return r.space?((e=Array(3))[0]=a(r.values[0],0,255),e[1]=a(r.values[1],0,255),e[2]=a(r.values[2],0,255),\"h\"===r.space[0]&&(e=i.rgb(e)),e.push(a(r.alpha,0,1)),e):[]}},{clamp:86,\"color-parse\":90,\"color-space/hsl\":92}],92:[function(t,e,r){\"use strict\";var n=t(\"./rgb\");e.exports={name:\"hsl\",min:[0,0,0],max:[360,100,100],channel:[\"hue\",\"saturation\",\"lightness\"],alias:[\"HSL\"],rgb:function(t){var e,r,n,i,a,o=t[0]/360,s=t[1]/100,l=t[2]/100;if(0===s)return[a=255*l,a,a];e=2*l-(r=l<.5?l*(1+s):l+s-l*s),i=[0,0,0];for(var c=0;c<3;c++)(n=o+1/3*-(c-1))<0?n++:n>1&&n--,a=6*n<1?e+6*(r-e)*n:2*n<1?r:3*n<2?e+(r-e)*(2/3-n)*6:e,i[c]=255*a;return i}},n.hsl=function(t){var e,r,n=t[0]/255,i=t[1]/255,a=t[2]/255,o=Math.min(n,i,a),s=Math.max(n,i,a),l=s-o;return s===o?e=0:n===s?e=(i-a)/l:i===s?e=2+(a-n)/l:a===s&&(e=4+(n-i)/l),(e=Math.min(60*e,360))<0&&(e+=360),r=(o+s)/2,[e,100*(s===o?0:r<=.5?l/(s+o):l/(2-s-o)),100*r]}},{\"./rgb\":93}],93:[function(t,e,r){\"use strict\";e.exports={name:\"rgb\",min:[0,0,0],max:[255,255,255],channel:[\"red\",\"green\",\"blue\"],alias:[\"RGB\"]}},{}],94:[function(t,e,r){e.exports={AFG:\"afghan\",ALA:\"\\\\b\\\\wland\",ALB:\"albania\",DZA:\"algeria\",ASM:\"^(?=.*americ).*samoa\",AND:\"andorra\",AGO:\"angola\",AIA:\"anguill?a\",ATA:\"antarctica\",ATG:\"antigua\",ARG:\"argentin\",ARM:\"armenia\",ABW:\"^(?!.*bonaire).*\\\\baruba\",AUS:\"australia\",AUT:\"^(?!.*hungary).*austria|\\\\baustri.*\\\\bemp\",AZE:\"azerbaijan\",BHS:\"bahamas\",BHR:\"bahrain\",BGD:\"bangladesh|^(?=.*east).*paki?stan\",BRB:\"barbados\",BLR:\"belarus|byelo\",BEL:\"^(?!.*luxem).*belgium\",BLZ:\"belize|^(?=.*british).*honduras\",BEN:\"benin|dahome\",BMU:\"bermuda\",BTN:\"bhutan\",BOL:\"bolivia\",BES:\"^(?=.*bonaire).*eustatius|^(?=.*carib).*netherlands|\\\\bbes.?islands\",BIH:\"herzegovina|bosnia\",BWA:\"botswana|bechuana\",BVT:\"bouvet\",BRA:\"brazil\",IOT:\"british.?indian.?ocean\",BRN:\"brunei\",BGR:\"bulgaria\",BFA:\"burkina|\\\\bfaso|upper.?volta\",BDI:\"burundi\",CPV:\"verde\",KHM:\"cambodia|kampuchea|khmer\",CMR:\"cameroon\",CAN:\"canada\",CYM:\"cayman\",CAF:\"\\\\bcentral.african.republic\",TCD:\"\\\\bchad\",CHL:\"\\\\bchile\",CHN:\"^(?!.*\\\\bmac)(?!.*\\\\bhong)(?!.*\\\\btai)(?!.*\\\\brep).*china|^(?=.*peo)(?=.*rep).*china\",CXR:\"christmas\",CCK:\"\\\\bcocos|keeling\",COL:\"colombia\",COM:\"comoro\",COG:\"^(?!.*\\\\bdem)(?!.*\\\\bd[\\\\.]?r)(?!.*kinshasa)(?!.*zaire)(?!.*belg)(?!.*l.opoldville)(?!.*free).*\\\\bcongo\",COK:\"\\\\bcook\",CRI:\"costa.?rica\",CIV:\"ivoire|ivory\",HRV:\"croatia\",CUB:\"\\\\bcuba\",CUW:\"^(?!.*bonaire).*\\\\bcura(c|\\xe7)ao\",CYP:\"cyprus\",CSK:\"czechoslovakia\",CZE:\"^(?=.*rep).*czech|czechia|bohemia\",COD:\"\\\\bdem.*congo|congo.*\\\\bdem|congo.*\\\\bd[\\\\.]?r|\\\\bd[\\\\.]?r.*congo|belgian.?congo|congo.?free.?state|kinshasa|zaire|l.opoldville|drc|droc|rdc\",DNK:\"denmark\",DJI:\"djibouti\",DMA:\"dominica(?!n)\",DOM:\"dominican.rep\",ECU:\"ecuador\",EGY:\"egypt\",SLV:\"el.?salvador\",GNQ:\"guine.*eq|eq.*guine|^(?=.*span).*guinea\",ERI:\"eritrea\",EST:\"estonia\",ETH:\"ethiopia|abyssinia\",FLK:\"falkland|malvinas\",FRO:\"faroe|faeroe\",FJI:\"fiji\",FIN:\"finland\",FRA:\"^(?!.*\\\\bdep)(?!.*martinique).*france|french.?republic|\\\\bgaul\",GUF:\"^(?=.*french).*guiana\",PYF:\"french.?polynesia|tahiti\",ATF:\"french.?southern\",GAB:\"gabon\",GMB:\"gambia\",GEO:\"^(?!.*south).*georgia\",DDR:\"german.?democratic.?republic|democratic.?republic.*germany|east.germany\",DEU:\"^(?!.*east).*germany|^(?=.*\\\\bfed.*\\\\brep).*german\",GHA:\"ghana|gold.?coast\",GIB:\"gibraltar\",GRC:\"greece|hellenic|hellas\",GRL:\"greenland\",GRD:\"grenada\",GLP:\"guadeloupe\",GUM:\"\\\\bguam\",GTM:\"guatemala\",GGY:\"guernsey\",GIN:\"^(?!.*eq)(?!.*span)(?!.*bissau)(?!.*portu)(?!.*new).*guinea\",GNB:\"bissau|^(?=.*portu).*guinea\",GUY:\"guyana|british.?guiana\",HTI:\"haiti\",HMD:\"heard.*mcdonald\",VAT:\"holy.?see|vatican|papal.?st\",HND:\"^(?!.*brit).*honduras\",HKG:\"hong.?kong\",HUN:\"^(?!.*austr).*hungary\",ISL:\"iceland\",IND:\"india(?!.*ocea)\",IDN:\"indonesia\",IRN:\"\\\\biran|persia\",IRQ:\"\\\\biraq|mesopotamia\",IRL:\"(^ireland)|(^republic.*ireland)\",IMN:\"^(?=.*isle).*\\\\bman\",ISR:\"israel\",ITA:\"italy\",JAM:\"jamaica\",JPN:\"japan\",JEY:\"jersey\",JOR:\"jordan\",KAZ:\"kazak\",KEN:\"kenya|british.?east.?africa|east.?africa.?prot\",KIR:\"kiribati\",PRK:\"^(?=.*democrat|people|north|d.*p.*.r).*\\\\bkorea|dprk|korea.*(d.*p.*r)\",KWT:\"kuwait\",KGZ:\"kyrgyz|kirghiz\",LAO:\"\\\\blaos?\\\\b\",LVA:\"latvia\",LBN:\"lebanon\",LSO:\"lesotho|basuto\",LBR:\"liberia\",LBY:\"libya\",LIE:\"liechtenstein\",LTU:\"lithuania\",LUX:\"^(?!.*belg).*luxem\",MAC:\"maca(o|u)\",MDG:\"madagascar|malagasy\",MWI:\"malawi|nyasa\",MYS:\"malaysia\",MDV:\"maldive\",MLI:\"\\\\bmali\\\\b\",MLT:\"\\\\bmalta\",MHL:\"marshall\",MTQ:\"martinique\",MRT:\"mauritania\",MUS:\"mauritius\",MYT:\"\\\\bmayotte\",MEX:\"\\\\bmexic\",FSM:\"fed.*micronesia|micronesia.*fed\",MCO:\"monaco\",MNG:\"mongolia\",MNE:\"^(?!.*serbia).*montenegro\",MSR:\"montserrat\",MAR:\"morocco|\\\\bmaroc\",MOZ:\"mozambique\",MMR:\"myanmar|burma\",NAM:\"namibia\",NRU:\"nauru\",NPL:\"nepal\",NLD:\"^(?!.*\\\\bant)(?!.*\\\\bcarib).*netherlands\",ANT:\"^(?=.*\\\\bant).*(nether|dutch)\",NCL:\"new.?caledonia\",NZL:\"new.?zealand\",NIC:\"nicaragua\",NER:\"\\\\bniger(?!ia)\",NGA:\"nigeria\",NIU:\"niue\",NFK:\"norfolk\",MNP:\"mariana\",NOR:\"norway\",OMN:\"\\\\boman|trucial\",PAK:\"^(?!.*east).*paki?stan\",PLW:\"palau\",PSE:\"palestin|\\\\bgaza|west.?bank\",PAN:\"panama\",PNG:\"papua|new.?guinea\",PRY:\"paraguay\",PER:\"peru\",PHL:\"philippines\",PCN:\"pitcairn\",POL:\"poland\",PRT:\"portugal\",PRI:\"puerto.?rico\",QAT:\"qatar\",KOR:\"^(?!.*d.*p.*r)(?!.*democrat)(?!.*people)(?!.*north).*\\\\bkorea(?!.*d.*p.*r)\",MDA:\"moldov|b(a|e)ssarabia\",REU:\"r(e|\\xe9)union\",ROU:\"r(o|u|ou)mania\",RUS:\"\\\\brussia|soviet.?union|u\\\\.?s\\\\.?s\\\\.?r|socialist.?republics\",RWA:\"rwanda\",BLM:\"barth(e|\\xe9)lemy\",SHN:\"helena\",KNA:\"kitts|\\\\bnevis\",LCA:\"\\\\blucia\",MAF:\"^(?=.*collectivity).*martin|^(?=.*france).*martin(?!ique)|^(?=.*french).*martin(?!ique)\",SPM:\"miquelon\",VCT:\"vincent\",WSM:\"^(?!.*amer).*samoa\",SMR:\"san.?marino\",STP:\"\\\\bs(a|\\xe3)o.?tom(e|\\xe9)\",SAU:\"\\\\bsa\\\\w*.?arabia\",SEN:\"senegal\",SRB:\"^(?!.*monte).*serbia\",SYC:\"seychell\",SLE:\"sierra\",SGP:\"singapore\",SXM:\"^(?!.*martin)(?!.*saba).*maarten\",SVK:\"^(?!.*cze).*slovak\",SVN:\"slovenia\",SLB:\"solomon\",SOM:\"somali\",ZAF:\"south.africa|s\\\\\\\\..?africa\",SGS:\"south.?georgia|sandwich\",SSD:\"\\\\bs\\\\w*.?sudan\",ESP:\"spain\",LKA:\"sri.?lanka|ceylon\",SDN:\"^(?!.*\\\\bs(?!u)).*sudan\",SUR:\"surinam|dutch.?guiana\",SJM:\"svalbard\",SWZ:\"swaziland\",SWE:\"sweden\",CHE:\"switz|swiss\",SYR:\"syria\",TWN:\"taiwan|taipei|formosa|^(?!.*peo)(?=.*rep).*china\",TJK:\"tajik\",THA:\"thailand|\\\\bsiam\",MKD:\"macedonia|fyrom\",TLS:\"^(?=.*leste).*timor|^(?=.*east).*timor\",TGO:\"togo\",TKL:\"tokelau\",TON:\"tonga\",TTO:\"trinidad|tobago\",TUN:\"tunisia\",TUR:\"turkey\",TKM:\"turkmen\",TCA:\"turks\",TUV:\"tuvalu\",UGA:\"uganda\",UKR:\"ukrain\",ARE:\"emirates|^u\\\\.?a\\\\.?e\\\\.?$|united.?arab.?em\",GBR:\"united.?kingdom|britain|^u\\\\.?k\\\\.?$\",TZA:\"tanzania\",USA:\"united.?states\\\\b(?!.*islands)|\\\\bu\\\\.?s\\\\.?a\\\\.?\\\\b|^\\\\s*u\\\\.?s\\\\.?\\\\b(?!.*islands)\",UMI:\"minor.?outlying.?is\",URY:\"uruguay\",UZB:\"uzbek\",VUT:\"vanuatu|new.?hebrides\",VEN:\"venezuela\",VNM:\"^(?!.*republic).*viet.?nam|^(?=.*socialist).*viet.?nam\",VGB:\"^(?=.*\\\\bu\\\\.?\\\\s?k).*virgin|^(?=.*brit).*virgin|^(?=.*kingdom).*virgin\",VIR:\"^(?=.*\\\\bu\\\\.?\\\\s?s).*virgin|^(?=.*states).*virgin\",WLF:\"futuna|wallis\",ESH:\"western.sahara\",YEM:\"^(?!.*arab)(?!.*north)(?!.*sana)(?!.*peo)(?!.*dem)(?!.*south)(?!.*aden)(?!.*\\\\bp\\\\.?d\\\\.?r).*yemen\",YMD:\"^(?=.*peo).*yemen|^(?!.*rep)(?=.*dem).*yemen|^(?=.*south).*yemen|^(?=.*aden).*yemen|^(?=.*\\\\bp\\\\.?d\\\\.?r).*yemen\",YUG:\"yugoslavia\",ZMB:\"zambia|northern.?rhodesia\",EAZ:\"zanzibar\",ZWE:\"zimbabwe|^(?!.*northern).*rhodesia\"}},{}],95:[function(t,e,r){e.exports=[\"xx-small\",\"x-small\",\"small\",\"medium\",\"large\",\"x-large\",\"xx-large\",\"larger\",\"smaller\"]},{}],96:[function(t,e,r){e.exports=[\"normal\",\"condensed\",\"semi-condensed\",\"extra-condensed\",\"ultra-condensed\",\"expanded\",\"semi-expanded\",\"extra-expanded\",\"ultra-expanded\"]},{}],97:[function(t,e,r){e.exports=[\"normal\",\"italic\",\"oblique\"]},{}],98:[function(t,e,r){e.exports=[\"normal\",\"bold\",\"bolder\",\"lighter\",\"100\",\"200\",\"300\",\"400\",\"500\",\"600\",\"700\",\"800\",\"900\"]},{}],99:[function(t,e,r){\"use strict\";e.exports={parse:t(\"./parse\"),stringify:t(\"./stringify\")}},{\"./parse\":101,\"./stringify\":102}],100:[function(t,e,r){\"use strict\";var n=t(\"css-font-size-keywords\");e.exports={isSize:function(t){return/^[\\d\\.]/.test(t)||-1!==t.indexOf(\"/\")||-1!==n.indexOf(t)}}},{\"css-font-size-keywords\":95}],101:[function(t,e,r){\"use strict\";var n=t(\"unquote\"),i=t(\"css-global-keywords\"),a=t(\"css-system-font-keywords\"),o=t(\"css-font-weight-keywords\"),s=t(\"css-font-style-keywords\"),l=t(\"css-font-stretch-keywords\"),c=t(\"string-split-by\"),u=t(\"./lib/util\").isSize;e.exports=h;var f=h.cache={};function h(t){if(\"string\"!=typeof t)throw new Error(\"Font argument must be a string.\");if(f[t])return f[t];if(\"\"===t)throw new Error(\"Cannot parse an empty string.\");if(-1!==a.indexOf(t))return f[t]={system:t};for(var e,r={style:\"normal\",variant:\"normal\",weight:\"normal\",stretch:\"normal\",lineHeight:\"normal\",size:\"1rem\",family:[\"serif\"]},h=c(t,/\\s+/);e=h.shift();){if(-1!==i.indexOf(e))return[\"style\",\"variant\",\"weight\",\"stretch\"].forEach((function(t){r[t]=e})),f[t]=r;if(-1===s.indexOf(e))if(\"normal\"!==e&&\"small-caps\"!==e)if(-1===l.indexOf(e)){if(-1===o.indexOf(e)){if(u(e)){var d=c(e,\"/\");if(r.size=d[0],null!=d[1]?r.lineHeight=p(d[1]):\"/\"===h[0]&&(h.shift(),r.lineHeight=p(h.shift())),!h.length)throw new Error(\"Missing required font-family.\");return r.family=c(h.join(\" \"),/\\s*,\\s*/).map(n),f[t]=r}throw new Error(\"Unknown or unsupported font token: \"+e)}r.weight=e}else r.stretch=e;else r.variant=e;else r.style=e}throw new Error(\"Missing required font-size.\")}function p(t){var e=parseFloat(t);return e.toString()===t?e:t}},{\"./lib/util\":100,\"css-font-stretch-keywords\":96,\"css-font-style-keywords\":97,\"css-font-weight-keywords\":98,\"css-global-keywords\":103,\"css-system-font-keywords\":104,\"string-split-by\":306,unquote:329}],102:[function(t,e,r){\"use strict\";var n=t(\"pick-by-alias\"),i=t(\"./lib/util\").isSize,a=m(t(\"css-global-keywords\")),o=m(t(\"css-system-font-keywords\")),s=m(t(\"css-font-weight-keywords\")),l=m(t(\"css-font-style-keywords\")),c=m(t(\"css-font-stretch-keywords\")),u={normal:1,\"small-caps\":1},f={serif:1,\"sans-serif\":1,monospace:1,cursive:1,fantasy:1,\"system-ui\":1},h=\"1rem\",p=\"serif\";function d(t,e){if(t&&!e[t]&&!a[t])throw Error(\"Unknown keyword `\"+t+\"`\");return t}function m(t){for(var e={},r=0;re?1:t>=e?0:NaN}function r(t){var r;return 1===t.length&&(r=t,t=function(t,n){return e(r(t),n)}),{left:function(e,r,n,i){for(null==n&&(n=0),null==i&&(i=e.length);n>>1;t(e[a],r)<0?n=a+1:i=a}return n},right:function(e,r,n,i){for(null==n&&(n=0),null==i&&(i=e.length);n>>1;t(e[a],r)>0?i=a:n=a+1}return n}}}var n=r(e),i=n.right,a=n.left;function o(t,e){return[t,e]}function s(t){return null===t?NaN:+t}function l(t,e){var r,n,i=t.length,a=0,o=-1,l=0,c=0;if(null==e)for(;++o1)return c/(a-1)}function c(t,e){var r=l(t,e);return r?Math.sqrt(r):r}function u(t,e){var r,n,i,a=t.length,o=-1;if(null==e){for(;++o=r)for(n=i=r;++or&&(n=r),i=r)for(n=i=r;++or&&(n=r),i=0?(a>=v?10:a>=y?5:a>=x?2:1)*Math.pow(10,i):-Math.pow(10,-i)/(a>=v?10:a>=y?5:a>=x?2:1)}function _(t,e,r){var n=Math.abs(e-t)/Math.max(0,r),i=Math.pow(10,Math.floor(Math.log(n)/Math.LN10)),a=n/i;return a>=v?i*=10:a>=y?i*=5:a>=x&&(i*=2),e=1)return+r(t[n-1],n-1,t);var n,i=(n-1)*e,a=Math.floor(i),o=+r(t[a],a,t);return o+(+r(t[a+1],a+1,t)-o)*(i-a)}}function k(t,e){var r,n,i=t.length,a=-1;if(null==e){for(;++a=r)for(n=r;++ar&&(n=r)}else for(;++a=r)for(n=r;++ar&&(n=r);return n}function A(t){if(!(i=t.length))return[];for(var e=-1,r=k(t,M),n=new Array(r);++et?1:e>=t?0:NaN},t.deviation=c,t.extent=u,t.histogram=function(){var t=m,e=u,r=w;function n(n){var a,o,s=n.length,l=new Array(s);for(a=0;af;)h.pop(),--p;var d,m=new Array(p+1);for(a=0;a<=p;++a)(d=m[a]=[]).x0=a>0?h[a-1]:u,d.x1=a=r)for(n=r;++an&&(n=r)}else for(;++a=r)for(n=r;++an&&(n=r);return n},t.mean=function(t,e){var r,n=t.length,i=n,a=-1,o=0;if(null==e)for(;++a=0;)for(e=(n=t[i]).length;--e>=0;)r[--o]=n[e];return r},t.min=k,t.pairs=function(t,e){null==e&&(e=o);for(var r=0,n=t.length-1,i=t[0],a=new Array(n<0?0:n);r0)return[t];if((n=e0)for(t=Math.ceil(t/o),e=Math.floor(e/o),a=new Array(i=Math.ceil(e-t+1));++s=l.length)return null!=t&&n.sort(t),null!=e?e(n):n;for(var s,c,f,h=-1,p=n.length,d=l[i++],m=r(),g=a();++hl.length)return r;var i,a=c[n-1];return null!=e&&n>=l.length?i=r.entries():(i=[],r.each((function(e,r){i.push({key:r,values:t(e,n)})}))),null!=a?i.sort((function(t,e){return a(t.key,e.key)})):i}(u(t,0,a,o),0)},key:function(t){return l.push(t),s},sortKeys:function(t){return c[l.length-1]=t,s},sortValues:function(e){return t=e,s},rollup:function(t){return e=t,s}}},t.set=c,t.map=r,t.keys=function(t){var e=[];for(var r in t)e.push(r);return e},t.values=function(t){var e=[];for(var r in t)e.push(t[r]);return e},t.entries=function(t){var e=[];for(var r in t)e.push({key:r,value:t[r]});return e},Object.defineProperty(t,\"__esModule\",{value:!0})}))},{}],109:[function(t,e,r){!function(t,n){\"object\"==typeof r&&void 0!==e?n(r):n((t=t||self).d3=t.d3||{})}(this,(function(t){\"use strict\";function e(t,e,r){t.prototype=e.prototype=r,r.constructor=t}function r(t,e){var r=Object.create(t.prototype);for(var n in e)r[n]=e[n];return r}function n(){}var i=\"\\\\s*([+-]?\\\\d+)\\\\s*\",a=\"\\\\s*([+-]?\\\\d*\\\\.?\\\\d+(?:[eE][+-]?\\\\d+)?)\\\\s*\",o=\"\\\\s*([+-]?\\\\d*\\\\.?\\\\d+(?:[eE][+-]?\\\\d+)?)%\\\\s*\",s=/^#([0-9a-f]{3,8})$/,l=new RegExp(\"^rgb\\\\(\"+[i,i,i]+\"\\\\)$\"),c=new RegExp(\"^rgb\\\\(\"+[o,o,o]+\"\\\\)$\"),u=new RegExp(\"^rgba\\\\(\"+[i,i,i,a]+\"\\\\)$\"),f=new RegExp(\"^rgba\\\\(\"+[o,o,o,a]+\"\\\\)$\"),h=new RegExp(\"^hsl\\\\(\"+[a,o,o]+\"\\\\)$\"),p=new RegExp(\"^hsla\\\\(\"+[a,o,o,a]+\"\\\\)$\"),d={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};function m(){return this.rgb().formatHex()}function g(){return this.rgb().formatRgb()}function v(t){var e,r;return t=(t+\"\").trim().toLowerCase(),(e=s.exec(t))?(r=e[1].length,e=parseInt(e[1],16),6===r?y(e):3===r?new w(e>>8&15|e>>4&240,e>>4&15|240&e,(15&e)<<4|15&e,1):8===r?x(e>>24&255,e>>16&255,e>>8&255,(255&e)/255):4===r?x(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|240&e,((15&e)<<4|15&e)/255):null):(e=l.exec(t))?new w(e[1],e[2],e[3],1):(e=c.exec(t))?new w(255*e[1]/100,255*e[2]/100,255*e[3]/100,1):(e=u.exec(t))?x(e[1],e[2],e[3],e[4]):(e=f.exec(t))?x(255*e[1]/100,255*e[2]/100,255*e[3]/100,e[4]):(e=h.exec(t))?M(e[1],e[2]/100,e[3]/100,1):(e=p.exec(t))?M(e[1],e[2]/100,e[3]/100,e[4]):d.hasOwnProperty(t)?y(d[t]):\"transparent\"===t?new w(NaN,NaN,NaN,0):null}function y(t){return new w(t>>16&255,t>>8&255,255&t,1)}function x(t,e,r,n){return n<=0&&(t=e=r=NaN),new w(t,e,r,n)}function b(t){return t instanceof n||(t=v(t)),t?new w((t=t.rgb()).r,t.g,t.b,t.opacity):new w}function _(t,e,r,n){return 1===arguments.length?b(t):new w(t,e,r,null==n?1:n)}function w(t,e,r,n){this.r=+t,this.g=+e,this.b=+r,this.opacity=+n}function T(){return\"#\"+A(this.r)+A(this.g)+A(this.b)}function k(){var t=this.opacity;return(1===(t=isNaN(t)?1:Math.max(0,Math.min(1,t)))?\"rgb(\":\"rgba(\")+Math.max(0,Math.min(255,Math.round(this.r)||0))+\", \"+Math.max(0,Math.min(255,Math.round(this.g)||0))+\", \"+Math.max(0,Math.min(255,Math.round(this.b)||0))+(1===t?\")\":\", \"+t+\")\")}function A(t){return((t=Math.max(0,Math.min(255,Math.round(t)||0)))<16?\"0\":\"\")+t.toString(16)}function M(t,e,r,n){return n<=0?t=e=r=NaN:r<=0||r>=1?t=e=NaN:e<=0&&(t=NaN),new L(t,e,r,n)}function S(t){if(t instanceof L)return new L(t.h,t.s,t.l,t.opacity);if(t instanceof n||(t=v(t)),!t)return new L;if(t instanceof L)return t;var e=(t=t.rgb()).r/255,r=t.g/255,i=t.b/255,a=Math.min(e,r,i),o=Math.max(e,r,i),s=NaN,l=o-a,c=(o+a)/2;return l?(s=e===o?(r-i)/l+6*(r0&&c<1?0:s,new L(s,l,c,t.opacity)}function E(t,e,r,n){return 1===arguments.length?S(t):new L(t,e,r,null==n?1:n)}function L(t,e,r,n){this.h=+t,this.s=+e,this.l=+r,this.opacity=+n}function C(t,e,r){return 255*(t<60?e+(r-e)*t/60:t<180?r:t<240?e+(r-e)*(240-t)/60:e)}e(n,v,{copy:function(t){return Object.assign(new this.constructor,this,t)},displayable:function(){return this.rgb().displayable()},hex:m,formatHex:m,formatHsl:function(){return S(this).formatHsl()},formatRgb:g,toString:g}),e(w,_,r(n,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new w(this.r*t,this.g*t,this.b*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new w(this.r*t,this.g*t,this.b*t,this.opacity)},rgb:function(){return this},displayable:function(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:T,formatHex:T,formatRgb:k,toString:k})),e(L,E,r(n,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new L(this.h,this.s,this.l*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new L(this.h,this.s,this.l*t,this.opacity)},rgb:function(){var t=this.h%360+360*(this.h<0),e=isNaN(t)||isNaN(this.s)?0:this.s,r=this.l,n=r+(r<.5?r:1-r)*e,i=2*r-n;return new w(C(t>=240?t-240:t+120,i,n),C(t,i,n),C(t<120?t+240:t-120,i,n),this.opacity)},displayable:function(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl:function(){var t=this.opacity;return(1===(t=isNaN(t)?1:Math.max(0,Math.min(1,t)))?\"hsl(\":\"hsla(\")+(this.h||0)+\", \"+100*(this.s||0)+\"%, \"+100*(this.l||0)+\"%\"+(1===t?\")\":\", \"+t+\")\")}}));var P=Math.PI/180,I=180/Math.PI,O=6/29,z=3*O*O;function D(t){if(t instanceof F)return new F(t.l,t.a,t.b,t.opacity);if(t instanceof q)return G(t);t instanceof w||(t=b(t));var e,r,n=U(t.r),i=U(t.g),a=U(t.b),o=B((.2225045*n+.7168786*i+.0606169*a)/1);return n===i&&i===a?e=r=o:(e=B((.4360747*n+.3850649*i+.1430804*a)/.96422),r=B((.0139322*n+.0971045*i+.7141733*a)/.82521)),new F(116*o-16,500*(e-o),200*(o-r),t.opacity)}function R(t,e,r,n){return 1===arguments.length?D(t):new F(t,e,r,null==n?1:n)}function F(t,e,r,n){this.l=+t,this.a=+e,this.b=+r,this.opacity=+n}function B(t){return t>.008856451679035631?Math.pow(t,1/3):t/z+4/29}function N(t){return t>O?t*t*t:z*(t-4/29)}function j(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function U(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function V(t){if(t instanceof q)return new q(t.h,t.c,t.l,t.opacity);if(t instanceof F||(t=D(t)),0===t.a&&0===t.b)return new q(NaN,0=0&&(r=t.slice(n+1),t=t.slice(0,n)),t&&!e.hasOwnProperty(t))throw new Error(\"unknown type: \"+t);return{type:t,name:r}}))}function a(t,e){for(var r,n=0,i=t.length;n0)for(var r,n,i=new Array(r),a=0;ah+c||np+c||au.index){var f=h-s.x-s.vx,g=p-s.y-s.vy,v=f*f+g*g;vt.r&&(t.r=t[e].r)}function h(){if(r){var e,i,a=r.length;for(n=new Array(a),e=0;e=c)){(t.data!==r||t.next)&&(0===f&&(d+=(f=o())*f),0===h&&(d+=(h=o())*h),d1?(null==r?u.remove(t):u.set(t,v(r)),e):u.get(t)},find:function(e,r,n){var i,a,o,s,l,c=0,u=t.length;for(null==n?n=1/0:n*=n,c=0;c1?(h.on(t,r),e):h.on(t)}}},t.forceX=function(t){var e,r,n,i=a(.1);function o(t){for(var i,a=0,o=e.length;a1?n[0]+n.slice(2):n,+t.slice(r+1)]}function r(t){return(t=e(Math.abs(t)))?t[1]:NaN}var n,i=/^(?:(.)?([<>=^]))?([+\\-( ])?([$#])?(0)?(\\d+)?(,)?(\\.\\d+)?(~)?([a-z%])?$/i;function a(t){if(!(e=i.exec(t)))throw new Error(\"invalid format: \"+t);var e;return new o({fill:e[1],align:e[2],sign:e[3],symbol:e[4],zero:e[5],width:e[6],comma:e[7],precision:e[8]&&e[8].slice(1),trim:e[9],type:e[10]})}function o(t){this.fill=void 0===t.fill?\" \":t.fill+\"\",this.align=void 0===t.align?\">\":t.align+\"\",this.sign=void 0===t.sign?\"-\":t.sign+\"\",this.symbol=void 0===t.symbol?\"\":t.symbol+\"\",this.zero=!!t.zero,this.width=void 0===t.width?void 0:+t.width,this.comma=!!t.comma,this.precision=void 0===t.precision?void 0:+t.precision,this.trim=!!t.trim,this.type=void 0===t.type?\"\":t.type+\"\"}function s(t,r){var n=e(t,r);if(!n)return t+\"\";var i=n[0],a=n[1];return a<0?\"0.\"+new Array(-a).join(\"0\")+i:i.length>a+1?i.slice(0,a+1)+\".\"+i.slice(a+1):i+new Array(a-i.length+2).join(\"0\")}a.prototype=o.prototype,o.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?\"0\":\"\")+(void 0===this.width?\"\":Math.max(1,0|this.width))+(this.comma?\",\":\"\")+(void 0===this.precision?\"\":\".\"+Math.max(0,0|this.precision))+(this.trim?\"~\":\"\")+this.type};var l={\"%\":function(t,e){return(100*t).toFixed(e)},b:function(t){return Math.round(t).toString(2)},c:function(t){return t+\"\"},d:function(t){return Math.abs(t=Math.round(t))>=1e21?t.toLocaleString(\"en\").replace(/,/g,\"\"):t.toString(10)},e:function(t,e){return t.toExponential(e)},f:function(t,e){return t.toFixed(e)},g:function(t,e){return t.toPrecision(e)},o:function(t){return Math.round(t).toString(8)},p:function(t,e){return s(100*t,e)},r:s,s:function(t,r){var i=e(t,r);if(!i)return t+\"\";var a=i[0],o=i[1],s=o-(n=3*Math.max(-8,Math.min(8,Math.floor(o/3))))+1,l=a.length;return s===l?a:s>l?a+new Array(s-l+1).join(\"0\"):s>0?a.slice(0,s)+\".\"+a.slice(s):\"0.\"+new Array(1-s).join(\"0\")+e(t,Math.max(0,r+s-1))[0]},X:function(t){return Math.round(t).toString(16).toUpperCase()},x:function(t){return Math.round(t).toString(16)}};function c(t){return t}var u,f=Array.prototype.map,h=[\"y\",\"z\",\"a\",\"f\",\"p\",\"n\",\"\\xb5\",\"m\",\"\",\"k\",\"M\",\"G\",\"T\",\"P\",\"E\",\"Z\",\"Y\"];function p(t){var e,i,o=void 0===t.grouping||void 0===t.thousands?c:(e=f.call(t.grouping,Number),i=t.thousands+\"\",function(t,r){for(var n=t.length,a=[],o=0,s=e[0],l=0;n>0&&s>0&&(l+s+1>r&&(s=Math.max(1,r-l)),a.push(t.substring(n-=s,n+s)),!((l+=s+1)>r));)s=e[o=(o+1)%e.length];return a.reverse().join(i)}),s=void 0===t.currency?\"\":t.currency[0]+\"\",u=void 0===t.currency?\"\":t.currency[1]+\"\",p=void 0===t.decimal?\".\":t.decimal+\"\",d=void 0===t.numerals?c:function(t){return function(e){return e.replace(/[0-9]/g,(function(e){return t[+e]}))}}(f.call(t.numerals,String)),m=void 0===t.percent?\"%\":t.percent+\"\",g=void 0===t.minus?\"-\":t.minus+\"\",v=void 0===t.nan?\"NaN\":t.nan+\"\";function y(t){var e=(t=a(t)).fill,r=t.align,i=t.sign,c=t.symbol,f=t.zero,y=t.width,x=t.comma,b=t.precision,_=t.trim,w=t.type;\"n\"===w?(x=!0,w=\"g\"):l[w]||(void 0===b&&(b=12),_=!0,w=\"g\"),(f||\"0\"===e&&\"=\"===r)&&(f=!0,e=\"0\",r=\"=\");var T=\"$\"===c?s:\"#\"===c&&/[boxX]/.test(w)?\"0\"+w.toLowerCase():\"\",k=\"$\"===c?u:/[%p]/.test(w)?m:\"\",A=l[w],M=/[defgprs%]/.test(w);function S(t){var a,s,l,c=T,u=k;if(\"c\"===w)u=A(t)+u,t=\"\";else{var m=(t=+t)<0||1/t<0;if(t=isNaN(t)?v:A(Math.abs(t),b),_&&(t=function(t){t:for(var e,r=t.length,n=1,i=-1;n0&&(i=0)}return i>0?t.slice(0,i)+t.slice(e+1):t}(t)),m&&0==+t&&\"+\"!==i&&(m=!1),c=(m?\"(\"===i?i:g:\"-\"===i||\"(\"===i?\"\":i)+c,u=(\"s\"===w?h[8+n/3]:\"\")+u+(m&&\"(\"===i?\")\":\"\"),M)for(a=-1,s=t.length;++a(l=t.charCodeAt(a))||l>57){u=(46===l?p+t.slice(a+1):t.slice(a))+u,t=t.slice(0,a);break}}x&&!f&&(t=o(t,1/0));var S=c.length+t.length+u.length,E=S>1)+c+t+u+E.slice(S);break;default:t=E+c+t+u}return d(t)}return b=void 0===b?6:/[gprs]/.test(w)?Math.max(1,Math.min(21,b)):Math.max(0,Math.min(20,b)),S.toString=function(){return t+\"\"},S}return{format:y,formatPrefix:function(t,e){var n=y(((t=a(t)).type=\"f\",t)),i=3*Math.max(-8,Math.min(8,Math.floor(r(e)/3))),o=Math.pow(10,-i),s=h[8+i/3];return function(t){return n(o*t)+s}}}}function d(e){return u=p(e),t.format=u.format,t.formatPrefix=u.formatPrefix,u}d({decimal:\".\",thousands:\",\",grouping:[3],currency:[\"$\",\"\"],minus:\"-\"}),t.FormatSpecifier=o,t.formatDefaultLocale=d,t.formatLocale=p,t.formatSpecifier=a,t.precisionFixed=function(t){return Math.max(0,-r(Math.abs(t)))},t.precisionPrefix=function(t,e){return Math.max(0,3*Math.max(-8,Math.min(8,Math.floor(r(e)/3)))-r(Math.abs(t)))},t.precisionRound=function(t,e){return t=Math.abs(t),e=Math.abs(e)-t,Math.max(0,r(e)-r(t))+1},Object.defineProperty(t,\"__esModule\",{value:!0})}))},{}],113:[function(t,e,r){!function(n,i){\"object\"==typeof r&&void 0!==e?i(r,t(\"d3-geo\"),t(\"d3-array\")):i(n.d3=n.d3||{},n.d3,n.d3)}(this,(function(t,e,r){\"use strict\";var n=Math.abs,i=Math.atan,a=Math.atan2,o=Math.cos,s=Math.exp,l=Math.floor,c=Math.log,u=Math.max,f=Math.min,h=Math.pow,p=Math.round,d=Math.sign||function(t){return t>0?1:t<0?-1:0},m=Math.sin,g=Math.tan,v=1e-6,y=Math.PI,x=y/2,b=y/4,_=Math.SQRT1_2,w=L(2),T=L(y),k=2*y,A=180/y,M=y/180;function S(t){return t>1?x:t<-1?-x:Math.asin(t)}function E(t){return t>1?0:t<-1?y:Math.acos(t)}function L(t){return t>0?Math.sqrt(t):0}function C(t){return(s(t)-s(-t))/2}function P(t){return(s(t)+s(-t))/2}function I(t){var e=g(t/2),r=2*c(o(t/2))/(e*e);function i(t,e){var n=o(t),i=o(e),a=m(e),s=i*n,l=-((1-s?c((1+s)/2)/(1-s):-.5)+r/(1+s));return[l*i*m(t),l*a]}return i.invert=function(e,i){var s,l=L(e*e+i*i),u=-t/2,f=50;if(!l)return[0,0];do{var h=u/2,p=o(h),d=m(h),g=d/p,y=-c(n(p));u-=s=(2/g*y-r*g-l)/(-y/(d*d)+1-r/(2*p*p))*(p<0?.7:1)}while(n(s)>v&&--f>0);var x=m(u);return[a(e*x,l*o(u)),S(i*x/l)]},i}function O(t,e){var r=o(e),n=function(t){return t?t/Math.sin(t):1}(E(r*o(t/=2)));return[2*r*m(t)*n,m(e)*n]}function z(t){var e=m(t),r=o(t),i=t>=0?1:-1,s=g(i*t),l=(1+e-r)/2;function c(t,n){var c=o(n),u=o(t/=2);return[(1+c)*m(t),(i*n>-a(u,s)-.001?0:10*-i)+l+m(n)*r-(1+c)*e*u]}return c.invert=function(t,c){var u=0,f=0,h=50;do{var p=o(u),d=m(u),g=o(f),y=m(f),x=1+g,b=x*d-t,_=l+y*r-x*e*p-c,w=x*p/2,T=-d*y,k=e*x*d/2,A=r*g+e*p*y,M=T*k-A*w,S=(_*T-b*A)/M/2,E=(b*k-_*w)/M;n(E)>2&&(E/=2),u-=S,f-=E}while((n(S)>v||n(E)>v)&&--h>0);return i*f>-a(o(u),s)-.001?[2*u,f]:null},c}function D(t,e){var r=g(e/2),n=L(1-r*r),i=1+n*o(t/=2),a=m(t)*n/i,s=r/i,l=a*a,c=s*s;return[4/3*a*(3+l-3*c),4/3*s*(3+3*l-c)]}O.invert=function(t,e){if(!(t*t+4*e*e>y*y+v)){var r=t,i=e,a=25;do{var s,l=m(r),c=m(r/2),u=o(r/2),f=m(i),h=o(i),p=m(2*i),d=f*f,g=h*h,x=c*c,b=1-g*u*u,_=b?E(h*u)*L(s=1/b):s=0,w=2*_*h*c-t,T=_*f-e,k=s*(g*x+_*h*u*d),A=s*(.5*l*p-2*_*f*c),M=.25*s*(p*c-_*f*g*l),S=s*(d*u+_*x*h),C=A*M-S*k;if(!C)break;var P=(T*A-w*S)/C,I=(w*M-T*k)/C;r-=P,i-=I}while((n(P)>v||n(I)>v)&&--a>0);return[r,i]}},D.invert=function(t,e){if(e*=3/8,!(t*=3/8)&&n(e)>1)return null;var r=1+t*t+e*e,i=L((r-L(r*r-4*e*e))/2),s=S(i)/3,l=i?function(t){return c(t+L(t*t-1))}(n(e/i))/3:function(t){return c(t+L(t*t+1))}(n(t))/3,u=o(s),f=P(l),h=f*f-u*u;return[2*d(t)*a(C(l)*u,.25-h),2*d(e)*a(f*m(s),.25+h)]};var R=L(8),F=c(1+w);function B(t,e){var r=n(e);return rx){var l=a(s[1],s[0]),c=L(s[0]*s[0]+s[1]*s[1]),u=r*p((l-x)/r)+x,f=a(m(l-=u),2-o(l));l=u+S(y/c*m(f))-f,s[0]=c*o(l),s[1]=c*m(l)}return s}return s.invert=function(t,n){var s=L(t*t+n*n);if(s>x){var l=a(n,t),c=r*p((l-x)/r)+x,u=l>c?-1:1,f=s*o(c-l),h=1/g(u*E((f-y)/L(y*(y-2*f)+s*s)));l=c+2*i((h+u*L(h*h-3))/3),t=s*o(l),n=s*m(l)}return e.geoAzimuthalEquidistantRaw.invert(t,n)},s}function j(t,r){if(arguments.length<2&&(r=t),1===r)return e.geoAzimuthalEqualAreaRaw;if(r===1/0)return U;function n(n,i){var a=e.geoAzimuthalEqualAreaRaw(n/r,i);return a[0]*=t,a}return n.invert=function(n,i){var a=e.geoAzimuthalEqualAreaRaw.invert(n/t,i);return a[0]*=r,a},n}function U(t,e){return[t*o(e)/o(e/=2),2*m(e)]}function V(t,e,r){var i,a,o,s=100;r=void 0===r?0:+r,e=+e;do{(a=t(r))===(o=t(r+v))&&(o=a+v),r-=i=-1*v*(a-e)/(a-o)}while(s-- >0&&n(i)>v);return s<0?NaN:r}function H(t,e,r){return void 0===e&&(e=40),void 0===r&&(r=1e-12),function(i,a,o,s){var l,c,u;o=void 0===o?0:+o,s=void 0===s?0:+s;for(var f=0;fl)o-=c/=2,s-=u/=2;else{l=m;var g=(o>0?-1:1)*r,v=(s>0?-1:1)*r,y=t(o+g,s),x=t(o,s+v),b=(y[0]-h[0])/g,_=(y[1]-h[1])/g,w=(x[0]-h[0])/v,T=(x[1]-h[1])/v,k=T*b-_*w,A=(n(k)<.5?.5:1)/k;if(o+=c=(d*w-p*T)*A,s+=u=(p*_-d*b)*A,n(c)0&&(i[1]*=1+a/1.5*i[0]*i[0]),i}return e.invert=H(e),e}function G(t,e){var r,i=t*m(e),a=30;do{e-=r=(e+m(e)-i)/(1+o(e))}while(n(r)>v&&--a>0);return e/2}function Y(t,e,r){function n(n,i){return[t*n*o(i=G(r,i)),e*m(i)]}return n.invert=function(n,i){return i=S(i/e),[n/(t*o(i)),S((2*i+m(2*i))/r)]},n}B.invert=function(t,e){if((a=n(e))1e-12&&--u>0);return[t/(o(l)*(R-1/m(l))),d(e)*l]},U.invert=function(t,e){var r=2*S(e/2);return[t*o(r/2)/o(r),r]};var W=Y(w/x,w,y);var Z=2.00276,X=1.11072;function J(t,e){var r=G(y,e);return[Z*t/(1/o(e)+X/o(r)),(e+w*m(r))/Z]}function K(t){var r=0,n=e.geoProjectionMutator(t),i=n(r);return i.parallel=function(t){return arguments.length?n(r=t*M):r*A},i}function Q(t,e){return[t*o(e),e]}function $(t){if(!t)return Q;var e=1/g(t);function r(r,n){var i=e+t-n,a=i?r*o(n)/i:i;return[i*m(a),e-i*o(a)]}return r.invert=function(r,n){var i=L(r*r+(n=e-n)*n),s=e+t-i;return[i/o(s)*a(r,n),s]},r}function tt(t){function e(e,r){var n=x-r,i=n?e*t*m(n)/n:n;return[n*m(i)/t,x-n*o(i)]}return e.invert=function(e,r){var n=e*t,i=x-r,o=L(n*n+i*i),s=a(n,i);return[(o?o/m(o):1)*s/t,x-o]},e}J.invert=function(t,e){var r,i,a=Z*e,s=e<0?-b:b,l=25;do{i=a-w*m(s),s-=r=(m(2*s)+2*s-y*m(i))/(2*o(2*s)+2+y*o(i)*w*o(s))}while(n(r)>v&&--l>0);return i=a-w*m(s),[t*(1/o(i)+X/o(s))/Z,i]},Q.invert=function(t,e){return[t/o(e),e]};var et=Y(1,4/y,y);function rt(t,e,r,i,s,l){var c,u=o(l);if(n(t)>1||n(l)>1)c=E(r*s+e*i*u);else{var f=m(t/2),h=m(l/2);c=2*S(L(f*f+e*i*h*h))}return n(c)>v?[c,a(i*m(l),e*s-r*i*u)]:[0,0]}function nt(t,e,r){return E((t*t+e*e-r*r)/(2*t*e))}function it(t){return t-2*y*l((t+y)/(2*y))}function at(t,e,r){for(var n,i=[[t[0],t[1],m(t[1]),o(t[1])],[e[0],e[1],m(e[1]),o(e[1])],[r[0],r[1],m(r[1]),o(r[1])]],a=i[2],s=0;s<3;++s,a=n)n=i[s],a.v=rt(n[1]-a[1],a[3],a[2],n[3],n[2],n[0]-a[0]),a.point=[0,0];var l=nt(i[0].v[0],i[2].v[0],i[1].v[0]),c=nt(i[0].v[0],i[1].v[0],i[2].v[0]),u=y-l;i[2].point[1]=0,i[0].point[0]=-(i[1].point[0]=i[0].v[0]/2);var f=[i[2].point[0]=i[0].point[0]+i[2].v[0]*o(l),2*(i[0].point[1]=i[1].point[1]=i[2].v[0]*m(l))];return function(t,e){var r,n=m(e),a=o(e),s=new Array(3);for(r=0;r<3;++r){var l=i[r];if(s[r]=rt(e-l[1],l[3],l[2],a,n,t-l[0]),!s[r][0])return l.point;s[r][1]=it(s[r][1]-l.v[1])}var h=f.slice();for(r=0;r<3;++r){var p=2==r?0:r+1,d=nt(i[r].v[0],s[r][0],s[p][0]);s[r][1]<0&&(d=-d),r?1==r?(d=c-d,h[0]-=s[r][0]*o(d),h[1]-=s[r][0]*m(d)):(d=u-d,h[0]+=s[r][0]*o(d),h[1]+=s[r][0]*m(d)):(h[0]+=s[r][0]*o(d),h[1]-=s[r][0]*m(d))}return h[0]/=3,h[1]/=3,h}}function ot(t){return t[0]*=M,t[1]*=M,t}function st(t,r,n){var i=e.geoCentroid({type:\"MultiPoint\",coordinates:[t,r,n]}),a=[-i[0],-i[1]],o=e.geoRotation(a),s=at(ot(o(t)),ot(o(r)),ot(o(n)));s.invert=H(s);var l=e.geoProjection(s).rotate(a),c=l.center;return delete l.rotate,l.center=function(t){return arguments.length?c(o(t)):o.invert(c())},l.clipAngle(90)}function lt(t,e){var r=L(1-m(e));return[2/T*t*r,T*(1-r)]}function ct(t){var e=g(t);function r(t,r){return[t,(t?t/m(t):1)*(m(r)*o(t)-e*o(r))]}return r.invert=e?function(t,r){t&&(r*=m(t)/t);var n=o(t);return[t,2*a(L(n*n+e*e-r*r)-n,e-r)]}:function(t,e){return[t,S(t?e*g(t)/t:e)]},r}lt.invert=function(t,e){var r=(r=e/T-1)*r;return[r>0?t*L(y/r)/2:0,S(1-r)]};var ut=L(3);function ft(t,e){return[ut*t*(2*o(2*e/3)-1)/T,ut*T*m(e/3)]}function ht(t){var e=o(t);function r(t,r){return[t*e,m(r)/e]}return r.invert=function(t,r){return[t/e,S(r*e)]},r}function pt(t){var e=o(t);function r(t,r){return[t*e,(1+e)*g(r/2)]}return r.invert=function(t,r){return[t/e,2*i(r/(1+e))]},r}function dt(t,e){var r=L(8/(3*y));return[r*t*(1-n(e)/y),r*e]}function mt(t,e){var r=L(4-3*m(n(e)));return[2/L(6*y)*t*r,d(e)*L(2*y/3)*(2-r)]}function gt(t,e){var r=L(y*(4+y));return[2/r*t*(1+L(1-4*e*e/(y*y))),4/r*e]}function vt(t,e){var r=(2+x)*m(e);e/=2;for(var i=0,a=1/0;i<10&&n(a)>v;i++){var s=o(e);e-=a=(e+m(e)*(s+2)-r)/(2*s*(1+s))}return[2/L(y*(4+y))*t*(1+o(e)),2*L(y/(4+y))*m(e)]}function yt(t,e){return[t*(1+o(e))/L(2+y),2*e/L(2+y)]}function xt(t,e){for(var r=(1+x)*m(e),i=0,a=1/0;i<10&&n(a)>v;i++)e-=a=(e+m(e)-r)/(1+o(e));return r=L(2+y),[t*(1+o(e))/r,2*e/r]}ft.invert=function(t,e){var r=3*S(e/(ut*T));return[T*t/(ut*(2*o(2*r/3)-1)),r]},dt.invert=function(t,e){var r=L(8/(3*y)),i=e/r;return[t/(r*(1-n(i)/y)),i]},mt.invert=function(t,e){var r=2-n(e)/L(2*y/3);return[t*L(6*y)/(2*r),d(e)*S((4-r*r)/3)]},gt.invert=function(t,e){var r=L(y*(4+y))/2;return[t*r/(1+L(1-e*e*(4+y)/(4*y))),e*r/2]},vt.invert=function(t,e){var r=e*L((4+y)/y)/2,n=S(r),i=o(n);return[t/(2/L(y*(4+y))*(1+i)),S((n+r*(i+2))/(2+x))]},yt.invert=function(t,e){var r=L(2+y),n=e*r/2;return[r*t/(1+o(n)),n]},xt.invert=function(t,e){var r=1+x,n=L(r/2);return[2*t*n/(1+o(e*=n)),S((e+m(e))/r)]};var bt=3+2*w;function _t(t,e){var r=m(t/=2),n=o(t),a=L(o(e)),s=o(e/=2),l=m(e)/(s+w*n*a),u=L(2/(1+l*l)),f=L((w*s+(n+r)*a)/(w*s+(n-r)*a));return[bt*(u*(f-1/f)-2*c(f)),bt*(u*l*(f+1/f)-2*i(l))]}_t.invert=function(t,e){if(!(r=D.invert(t/1.2,1.065*e)))return null;var r,a=r[0],s=r[1],l=20;t/=bt,e/=bt;do{var h=a/2,p=s/2,d=m(h),g=o(h),y=m(p),b=o(p),T=o(s),k=L(T),A=y/(b+w*g*k),M=A*A,S=L(2/(1+M)),E=(w*b+(g+d)*k)/(w*b+(g-d)*k),C=L(E),P=C-1/C,I=C+1/C,O=S*P-2*c(C)-t,z=S*A*I-2*i(A)-e,R=y&&_*k*d*M/y,F=(w*g*b+k)/(2*(b+w*g*k)*(b+w*g*k)*k),B=-.5*A*S*S*S,N=B*R,j=B*F,U=(U=2*b+w*k*(g-d))*U*C,V=(w*g*b*k+T)/U,H=-w*d*y/(k*U),q=P*N-2*V/C+S*(V+V/E),G=P*j-2*H/C+S*(H+H/E),Y=A*I*N-2*R/(1+M)+S*I*R+S*A*(V-V/E),W=A*I*j-2*F/(1+M)+S*I*F+S*A*(H-H/E),Z=G*Y-W*q;if(!Z)break;var X=(z*G-O*W)/Z,J=(O*Y-z*q)/Z;a-=X,s=u(-x,f(x,s-J))}while((n(X)>v||n(J)>v)&&--l>0);return n(n(s)-x)s){var d=L(h),g=a(f,u),b=i*p(g/i),_=g-b,w=t*o(_),T=(t*m(_)-_*m(w))/(x-w),k=Lt(_,T),A=(y-t)/Ct(k,w,y);u=d;var M,S=50;do{u-=M=(t+Ct(k,w,u)*A-d)/(k(u)*A)}while(n(M)>v&&--S>0);f=_*m(u),us){var u=L(c),f=a(l,r),h=i*p(f/i),d=f-h;r=u*o(d),l=u*m(d);for(var g=r-x,v=m(r),b=l/v,_=rv||n(p)>v)&&--x>0);return[d,g]},u}Tt.invert=function(t,e){var r=e/(1+wt);return[t&&t/(wt*L(1-r*r)),2*i(r)]},kt.invert=function(t,e){var r=i(e/T),n=o(r),a=2*r;return[t*T/2/(o(a)*n*n),a]};var It=Pt(2.8284,-1.6988,.75432,-.18071,1.76003,-.38914,.042555);var Ot=Pt(2.583819,-.835827,.170354,-.038094,1.543313,-.411435,.082742);var zt=Pt(5/6*y,-.62636,-.0344,0,1.3493,-.05524,0,.045);function Dt(t,e){var r=t*t,n=e*e;return[t*(1-.162388*n)*(.87-952426e-9*r*r),e*(1+n/12)]}Dt.invert=function(t,e){var r,i=t,a=e,o=50;do{var s=a*a;a-=r=(a*(1+s/12)-e)/(1+s/4)}while(n(r)>v&&--o>0);o=50,t/=1-.162388*s;do{var l=(l=i*i)*l;i-=r=(i*(.87-952426e-9*l)-t)/(.87-.00476213*l)}while(n(r)>v&&--o>0);return[i,a]};var Rt=Pt(2.6516,-.76534,.19123,-.047094,1.36289,-.13965,.031762);function Ft(t){var e=t(x,0)[0]-t(-x,0)[0];function r(r,n){var i=r>0?-.5:.5,a=t(r+i*y,n);return a[0]-=i*e,a}return t.invert&&(r.invert=function(r,n){var i=r>0?-.5:.5,a=t.invert(r+i*e,n),o=a[0]-i*y;return o<-y?o+=2*y:o>y&&(o-=2*y),a[0]=o,a}),r}function Bt(t,e){var r=d(t),i=d(e),s=o(e),l=o(t)*s,c=m(t)*s,u=m(i*e);t=n(a(c,u)),e=S(l),n(t-x)>v&&(t%=x);var f=function(t,e){if(e===x)return[0,0];var r,i,a=m(e),s=a*a,l=s*s,c=1+l,u=1+3*l,f=1-l,h=S(1/L(c)),p=f+s*c*h,d=(1-a)/p,g=L(d),b=d*c,_=L(b),w=g*f;if(0===t)return[0,-(w+s*_)];var T,k=o(e),A=1/k,M=2*a*k,E=(-p*k-(-3*s+h*u)*M*(1-a))/(p*p),C=-A*M,P=-A*(s*c*E+d*u*M),I=-2*A*(f*(.5*E/g)-2*s*g*M),O=4*t/y;if(t>.222*y||e.175*y){if(r=(w+s*L(b*(1+l)-w*w))/(1+l),t>y/4)return[r,r];var z=r,D=.5*r;r=.5*(D+z),i=50;do{var R=L(b-r*r),F=r*(I+C*R)+P*S(r/_)-O;if(!F)break;F<0?D=r:z=r,r=.5*(D+z)}while(n(z-D)>v&&--i>0)}else{r=v,i=25;do{var B=r*r,N=L(b-B),j=I+C*N,U=r*j+P*S(r/_)-O,V=j+(P-C*B)/N;r-=T=N?U/V:0}while(n(T)>v&&--i>0)}return[r,-w-s*L(b-r*r)]}(t>y/4?x-t:t,e);return t>y/4&&(u=f[0],f[0]=-f[1],f[1]=-u),f[0]*=r,f[1]*=-i,f}function Nt(t,e){var r,a,l,c,u,f;if(e=1-v)return r=(1-e)/4,l=1/(a=P(t)),[(c=((f=s(2*(f=t)))-1)/(f+1))+r*((u=a*C(t))-t)/(a*a),l-r*c*l*(u-t),l+r*c*l*(u+t),2*i(s(t))-x+r*(u-t)/a];var h=[1,0,0,0,0,0,0,0,0],p=[L(e),0,0,0,0,0,0,0,0],d=0;for(a=L(1-e),u=1;n(p[d]/h[d])>v&&d<8;)r=h[d++],p[d]=(r-a)/2,h[d]=(r+a)/2,a=L(r*a),u*=2;l=u*h[d]*t;do{l=(S(c=p[d]*m(a=l)/h[d])+l)/2}while(--d);return[m(l),c=o(l),c/o(l-a),l]}function jt(t,e){if(!e)return t;if(1===e)return c(g(t/2+b));for(var r=1,a=L(1-e),o=L(e),s=0;n(o)>v;s++){if(t%y){var l=i(a*g(t)/r);l<0&&(l+=y),t+=l+~~(t/y)*y}else t+=t;o=(r+a)/2,a=L(r*a),o=((r=o)-a)/2}return t/(h(2,s)*r)}function Ut(t,e){var r=(w-1)/(w+1),l=L(1-r*r),u=jt(x,l*l),f=c(g(y/4+n(e)/2)),h=s(-1*f)/L(r),p=function(t,e){var r=t*t,n=e+1,i=1-r-e*e;return[.5*((t>=0?x:-x)-a(i,2*t)),-.25*c(i*i+4*r)+.5*c(n*n+r)]}(h*o(-1*t),h*m(-1*t)),v=function(t,e,r){var a=n(t),o=C(n(e));if(a){var s=1/m(a),l=1/(g(a)*g(a)),c=-(l+r*(o*o*s*s)-1+r),u=(-c+L(c*c-4*((r-1)*l)))/2;return[jt(i(1/L(u)),r)*d(t),jt(i(L((u/l-1)/r)),1-r)*d(e)]}return[0,jt(i(o),1-r)*d(e)]}(p[0],p[1],l*l);return[-v[1],(e>=0?1:-1)*(.5*u-v[0])]}function Vt(t){var e=m(t),r=o(t),i=Ht(t);function s(t,a){var s=i(t,a);t=s[0],a=s[1];var l=m(a),c=o(a),u=o(t),f=E(e*l+r*c*u),h=m(f),p=n(h)>v?f/h:1;return[p*r*m(t),(n(t)>x?p:-p)*(e*c-r*l*u)]}return i.invert=Ht(-t),s.invert=function(t,r){var n=L(t*t+r*r),s=-m(n),l=o(n),c=n*l,u=-r*s,f=n*e,h=L(c*c+u*u-f*f),p=a(c*f+u*h,u*f-c*h),d=(n>x?-1:1)*a(t*s,n*o(p)*l+r*m(p)*s);return i.invert(d,p)},s}function Ht(t){var e=m(t),r=o(t);return function(t,n){var i=o(n),s=o(t)*i,l=m(t)*i,c=m(n);return[a(l,s*r-c*e),S(c*r+s*e)]}}Bt.invert=function(t,e){n(t)>1&&(t=2*d(t)-t),n(e)>1&&(e=2*d(e)-e);var r=d(t),i=d(e),s=-r*t,l=-i*e,c=l/s<1,u=function(t,e){var r=0,i=1,a=.5,s=50;for(;;){var l=a*a,c=L(a),u=S(1/L(1+l)),f=1-l+a*(1+l)*u,h=(1-c)/f,p=L(h),d=h*(1+l),m=p*(1-l),g=L(d-t*t),v=e+m+a*g;if(n(i-r)<1e-12||0==--s||0===v)break;v>0?r=a:i=a,a=.5*(r+i)}if(!s)return null;var x=S(c),b=o(x),_=1/b,w=2*c*b,T=(-f*b-(-3*a+u*(1+3*l))*w*(1-c))/(f*f);return[y/4*(t*(-2*_*(.5*T/p*(1-l)-2*a*p*w)+-_*w*g)+-_*(a*(1+l)*T+h*(1+3*l)*w)*S(t/L(d))),x]}(c?l:s,c?s:l),f=u[0],h=u[1],p=o(h);return c&&(f=-x-f),[r*(a(m(f)*p,-m(h))+y),i*S(o(f)*p)]},Ut.invert=function(t,e){var r,n,o,l,u,f,h=(w-1)/(w+1),p=L(1-h*h),d=jt(x,p*p),m=(n=-t,o=p*p,(r=.5*d-e)?(l=Nt(r,o),n?(f=(u=Nt(n,1-o))[1]*u[1]+o*l[0]*l[0]*u[0]*u[0],[[l[0]*u[2]/f,l[1]*l[2]*u[0]*u[1]/f],[l[1]*u[1]/f,-l[0]*l[2]*u[0]*u[2]/f],[l[2]*u[1]*u[2]/f,-o*l[0]*l[1]*u[0]/f]]):[[l[0],0],[l[1],0],[l[2],0]]):[[0,(u=Nt(n,1-o))[0]/u[1]],[1/u[1],0],[u[2]/u[1],0]]),g=function(t,e){var r=e[0]*e[0]+e[1]*e[1];return[(t[0]*e[0]+t[1]*e[1])/r,(t[1]*e[0]-t[0]*e[1])/r]}(m[0],m[1]);return[a(g[1],g[0])/-1,2*i(s(-.5*c(h*g[0]*g[0]+h*g[1]*g[1])))-x]};var qt=S(1-1/3)*A,Gt=ht(0);function Yt(t){var e=qt*M,r=lt(y,e)[0]-lt(-y,e)[0],i=Gt(0,e)[1],a=lt(0,e)[1],o=T-a,s=k/t,c=4/k,h=i+o*o*4/k;function p(p,d){var m,g=n(d);if(g>e){var v=f(t-1,u(0,l((p+y)/s)));(m=lt(p+=y*(t-1)/t-v*s,g))[0]=m[0]*k/r-k*(t-1)/(2*t)+v*k/t,m[1]=i+4*(m[1]-a)*o/k,d<0&&(m[1]=-m[1])}else m=Gt(p,d);return m[0]*=c,m[1]/=h,m}return p.invert=function(e,p){e/=c;var d=n(p*=h);if(d>i){var m=f(t-1,u(0,l((e+y)/s)));e=(e+y*(t-1)/t-m*s)*r/k;var g=lt.invert(e,.25*(d-i)*k/o+a);return g[0]-=y*(t-1)/t-m*s,p<0&&(g[1]=-g[1]),g}return Gt.invert(e,p)},p}function Wt(t,e){return[t,1&e?90-v:qt]}function Zt(t,e){return[t,1&e?-90+v:-qt]}function Xt(t){return[t[0]*(1-v),t[1]]}function Jt(t){var e,r=1+t,i=S(m(1/r)),s=2*L(y/(e=y+4*i*r)),l=.5*s*(r+L(t*(2+t))),c=t*t,u=r*r;function f(f,h){var p,d,g=1-m(h);if(g&&g<2){var v,b=x-h,_=25;do{var w=m(b),T=o(b),k=i+a(w,r-T),A=1+u-2*r*T;b-=v=(b-c*i-r*w+A*k-.5*g*e)/(2*r*w*k)}while(n(v)>1e-12&&--_>0);p=s*L(A),d=f*k/y}else p=s*(t+g),d=f*i/y;return[p*m(d),l-p*o(d)]}return f.invert=function(t,n){var o=t*t+(n-=l)*n,f=(1+u-o/(s*s))/(2*r),h=E(f),p=m(h),d=i+a(p,r-f);return[S(t/L(o))*y/d,S(1-2*(h-c*i-r*p+(1+u-2*r*f)*d)/e)]},f}function Kt(t,e){return e>-.7109889596207567?((t=W(t,e))[1]+=.0528035274542,t):Q(t,e)}function Qt(t,e){return n(e)>.7109889596207567?((t=W(t,e))[1]-=e>0?.0528035274542:-.0528035274542,t):Q(t,e)}function $t(t,e,r,n){var i=L(4*y/(2*r+(1+t-e/2)*m(2*r)+(t+e)/2*m(4*r)+e/2*m(6*r))),a=L(n*m(r)*L((1+t*o(2*r)+e*o(4*r))/(1+t+e))),s=r*c(1);function l(r){return L(1+t*o(2*r)+e*o(4*r))}function c(n){var i=n*r;return(2*i+(1+t-e/2)*m(2*i)+(t+e)/2*m(4*i)+e/2*m(6*i))/r}function u(t){return l(t)*m(t)}var f=function(t,e){var n=r*V(c,s*m(e)/r,e/y);isNaN(n)&&(n=r*d(e));var u=i*l(n);return[u*a*t/y*o(n),u/a*m(n)]};return f.invert=function(t,e){var n=V(u,e*a/i);return[t*y/(o(n)*i*a*l(n)),S(r*c(n/r)/s)]},0===r&&(i=L(n/y),(f=function(t,e){return[t*i,m(e)/i]}).invert=function(t,e){return[t/i,S(e*i)]}),f}function te(t,e,r,n,i){void 0===n&&(n=1e-8),void 0===i&&(i=20);var a=t(e),o=t(.5*(e+r)),s=t(r);return function t(e,r,n,i,a,o,s,l,c,u,f){if(f.nanEncountered)return NaN;var h,p,d,m,g,v,y,x,b,_;if(p=e(r+.25*(h=n-r)),d=e(n-.25*h),isNaN(p))f.nanEncountered=!0;else{if(!isNaN(d))return _=((v=(m=h*(i+4*p+a)/12)+(g=h*(a+4*d+o)/12))-s)/15,u>c?(f.maxDepthCount++,v+_):Math.abs(_)t?r=n:e=n,n=e+r>>1}while(n>e);var i=c[n+1]-c[n];return i&&(i=(t-c[n+1])/i),(n+1+i)/s}var p=2*f(1)/y*o/r,g=function(t,e){var r=f(n(m(e))),a=i(r)*t;return r/=p,[a,e>=0?r:-r]};return g.invert=function(t,e){var r;return n(e*=p)<1&&(r=d(e)*S(a(n(e))*o)),[t/i(n(e)),r]},g}function re(t,e){return n(t[0]-e[0])=0;--l)n=(e=t[1][l])[0][0],i=e[0][1],a=e[1][1],o=e[2][0],s=e[2][1],c.push(ne([[o-v,s-v],[o-v,a+v],[n+v,a+v],[n+v,i-v]],30));return{type:\"Polygon\",coordinates:[r.merge(c)]}}function ae(t,r,n){var i,a;function o(e,n){for(var i=n<0?-1:1,a=r[+(n<0)],o=0,s=a.length-1;oa[o][2][0];++o);var l=t(e-a[o][1][0],n);return l[0]+=t(a[o][1][0],i*n>i*a[o][0][1]?a[o][0][1]:n)[0],l}n?o.invert=n(o):t.invert&&(o.invert=function(e,n){for(var i=a[+(n<0)],s=r[+(n<0)],l=0,c=i.length;lo&&(r=a,a=o,o=r),[[n,a],[i,o]]}))})),s):r.map((function(t){return t.map((function(t){return[[t[0][0]*A,t[0][1]*A],[t[1][0]*A,t[1][1]*A],[t[2][0]*A,t[2][1]*A]]}))}))},null!=r&&s.lobes(r),s}Kt.invert=function(t,e){return e>-.7109889596207567?W.invert(t,e-.0528035274542):Q.invert(t,e)},Qt.invert=function(t,e){return n(e)>.7109889596207567?W.invert(t,e+(e>0?.0528035274542:-.0528035274542)):Q.invert(t,e)};var oe=[[[[-180,0],[-100,90],[-40,0]],[[-40,0],[30,90],[180,0]]],[[[-180,0],[-160,-90],[-100,0]],[[-100,0],[-60,-90],[-20,0]],[[-20,0],[20,-90],[80,0]],[[80,0],[140,-90],[180,0]]]];var se=[[[[-180,0],[-100,90],[-40,0]],[[-40,0],[30,90],[180,0]]],[[[-180,0],[-160,-90],[-100,0]],[[-100,0],[-60,-90],[-20,0]],[[-20,0],[20,-90],[80,0]],[[80,0],[140,-90],[180,0]]]];var le=[[[[-180,0],[-100,90],[-40,0]],[[-40,0],[30,90],[180,0]]],[[[-180,0],[-160,-90],[-100,0]],[[-100,0],[-60,-90],[-20,0]],[[-20,0],[20,-90],[80,0]],[[80,0],[140,-90],[180,0]]]];var ce=[[[[-180,0],[-90,90],[0,0]],[[0,0],[90,90],[180,0]]],[[[-180,0],[-90,-90],[0,0]],[[0,0],[90,-90],[180,0]]]];var ue=[[[[-180,35],[-30,90],[0,35]],[[0,35],[30,90],[180,35]]],[[[-180,-10],[-102,-90],[-65,-10]],[[-65,-10],[5,-90],[77,-10]],[[77,-10],[103,-90],[180,-10]]]];var fe=[[[[-180,0],[-110,90],[-40,0]],[[-40,0],[0,90],[40,0]],[[40,0],[110,90],[180,0]]],[[[-180,0],[-110,-90],[-40,0]],[[-40,0],[0,-90],[40,0]],[[40,0],[110,-90],[180,0]]]];function he(t,e){return[3/k*t*L(y*y/3-e*e),e]}function pe(t){function e(e,r){if(n(n(r)-x)2)return null;var o=(e/=2)*e,s=(r/=2)*r,l=2*r/(1+o+s);return l=h((1+l)/(1-l),1/t),[a(2*e,1-o-s)/t,S((l-1)/(l+1))]},e}he.invert=function(t,e){return[k/3*t/L(y*y/3-e*e),e]};var de=y/w;function me(t,e){return[t*(1+L(o(e)))/2,e/(o(e/2)*o(t/6))]}function ge(t,e){var r=t*t,n=e*e;return[t*(.975534+n*(-.0143059*r-.119161+-.0547009*n)),e*(1.00384+r*(.0802894+-.02855*n+199025e-9*r)+n*(.0998909+-.0491032*n))]}function ve(t,e){return[m(t)/o(e),g(e)*o(t)]}function ye(t){var e=o(t),r=g(b+t/2);function i(i,a){var o=a-t,s=n(o)=0;)h=(f=t[u])[0]+l*(i=h)-c*p,p=f[1]+l*p+c*i;return[h=l*(i=h)-c*p,p=l*p+c*i]}return r.invert=function(r,s){var l=20,c=r,u=s;do{for(var f,h=e,p=t[h],d=p[0],g=p[1],v=0,y=0;--h>=0;)v=d+c*(f=v)-u*y,y=g+c*y+u*f,d=(p=t[h])[0]+c*(f=d)-u*g,g=p[1]+c*g+u*f;var x,b,_=(v=d+c*(f=v)-u*y)*v+(y=g+c*y+u*f)*y;c-=x=((d=c*(f=d)-u*g-r)*v+(g=c*g+u*f-s)*y)/_,u-=b=(g*v-d*y)/_}while(n(x)+n(b)>1e-12&&--l>0);if(l){var w=L(c*c+u*u),T=2*i(.5*w),k=m(T);return[a(c*k,w*o(T)),w?S(u*k/w):0]}},r}me.invert=function(t,e){var r=n(t),i=n(e),a=v,s=x;iv||n(b)>v)&&--a>0);return a&&[r,i]},ve.invert=function(t,e){var r=t*t,n=e*e+1,i=r+n,a=t?_*L((i-L(i*i-4*r))/r):1/L(n);return[S(t*a),d(e)*E(a)]},xe.invert=function(t,e){return[t,2.5*i(s(.8*e))-.625*y]};var _e=[[.9972523,0],[.0052513,-.0041175],[.0074606,.0048125],[-.0153783,-.1968253],[.0636871,-.1408027],[.3660976,-.2937382]],we=[[.98879,0],[0,0],[-.050909,0],[0,0],[.075528,0]],Te=[[.984299,0],[.0211642,.0037608],[-.1036018,-.0575102],[-.0329095,-.0320119],[.0499471,.1223335],[.026046,.0899805],[7388e-7,-.1435792],[.0075848,-.1334108],[-.0216473,.0776645],[-.0225161,.0853673]],ke=[[.9245,0],[0,0],[.01943,0]],Ae=[[.721316,0],[0,0],[-.00881625,-.00617325]];function Me(t,r){var n=e.geoProjection(be(t)).rotate(r).clipAngle(90),i=e.geoRotation(r),a=n.center;return delete n.rotate,n.center=function(t){return arguments.length?a(i(t)):i.invert(a())},n}var Se=L(6),Ee=L(7);function Le(t,e){var r=S(7*m(e)/(3*Se));return[Se*t*(2*o(2*r/3)-1)/Ee,9*m(r/3)/Ee]}function Ce(t,e){for(var r,i=(1+_)*m(e),a=e,s=0;s<25&&(a-=r=(m(a/2)+m(a)-i)/(.5*o(a/2)+o(a)),!(n(r)1e-12&&--l>0);return[t/(.84719-.13063*(i=s*s)+(o=i*(a=i*i))*o*(.05494*i-.04515-.02326*a+.00331*o)),s]},Oe.invert=function(t,e){for(var r=e/2,i=0,a=1/0;i<10&&n(a)>v;++i){var s=o(e/2);e-=a=(e-g(e/2)-r)/(1-.5/(s*s))}return[2*t/(1+o(e)),e]};var ze=[[[[-180,0],[-90,90],[0,0]],[[0,0],[90,90],[180,0]]],[[[-180,0],[-90,-90],[0,0]],[[0,0],[90,-90],[180,0]]]];function De(t,e){var r=m(e),i=o(e),a=d(t);if(0===t||n(e)===x)return[0,e];if(0===e)return[t,0];if(n(t)===x)return[t*i,x*r];var s=y/(2*t)-2*t/y,l=2*e/y,c=(1-l*l)/(r-l),u=s*s,f=c*c,h=1+u/f,p=1+f/u,g=(s*r/c-s/2)/h,v=(f*r/u+c/2)/p,b=v*v-(f*r*r/u+c*r-1)/p;return[x*(g+L(g*g+i*i/h)*a),x*(v+L(b<0?0:b)*d(-e*s)*a)]}De.invert=function(t,e){var r=(t/=x)*t,n=r+(e/=x)*e,i=y*y;return[t?(n-1+L((1-n)*(1-n)+4*r))/(2*t)*x:0,V((function(t){return n*(y*m(t)-2*t)*y+4*t*t*(e-m(t))+2*y*t-i*e}),0)]};function Re(t,e){var r=e*e;return[t,e*(1.0148+r*r*(.23185+r*(.02406*r-.14499)))]}function Fe(t,e){if(n(e)=0;)if(n=e[s],r[0]===n[0]&&r[1]===n[1]){if(a)return[a,r];a=r}}}(e.face,r.face),i=Be(n.map(r.project),n.map(e.project));e.transform=r.transform?Ne(r.transform,i):i;for(var a=r.edges,o=0,s=a.length;o1.790857183?e=1.790857183:e<-1.790857183&&(e=-1.790857183);var r,i=e;do{var a=i*i;i-=r=(i*(1.0148+a*a*(.23185+a*(.02406*a-.14499)))-e)/(1.0148+a*a*(5*.23185+a*(.21654*a-1.01493)))}while(n(r)>v);return[t,i]},Fe.invert=function(t,e){if(n(e)v&&--s>0);return l=g(a),[(n(e)n^p>n&&r<(h-c)*(n-u)/(p-u)+c&&(i=!i)}return i}(t[0],r))return t.push(e),!0}))||t.push([e])})),nr=[],t.length?t.length>1?{type:\"MultiPolygon\",coordinates:t}:{type:\"Polygon\",coordinates:t[0]}:null}};function sr(t){var r=t(x,0)[0]-t(-x,0)[0];function i(e,i){var a=n(e)0?e-y:e+y,i),s=(o[0]-o[1])*_,l=(o[0]+o[1])*_;if(a)return[s,l];var c=r*_,u=s>0^l>0?-1:1;return[u*s-d(l)*c,u*l-d(s)*c]}return t.invert&&(i.invert=function(e,i){var a=(e+i)*_,o=(i-e)*_,s=n(a)<.5*r&&n(o)<.5*r;if(!s){var l=r*_,c=a>0^o>0?-1:1,u=-c*e+(o>0?1:-1)*l,f=-c*i+(a>0?1:-1)*l;a=(-u-f)*_,o=(u-f)*_}var h=t.invert(a,o);return s||(h[0]+=a>0?y:-y),h}),e.geoProjection(i).rotate([-90,-90,45]).clipAngle(179.999)}function lr(){return sr(Ut).scale(111.48)}function cr(t){var e=m(t);function r(r,n){var a=e?g(r*e/2)/e:r/2;if(!n)return[2*a,-t];var s=2*i(a*m(n)),l=1/g(n);return[m(s)*l,n+(1-o(s))*l-t]}return r.invert=function(r,a){if(n(a+=t)v&&--u>0);var d=r*(f=g(c)),x=g(n(a)0?x:-x)*(h+o*(d-c)/2+o*o*(d-2*h+c)/2)]}function hr(t,e){var r=function(t){function e(e,r){var n=o(r),i=(t-1)/(t-n*o(e));return[i*n*m(e),i*m(r)]}return e.invert=function(e,r){var n=e*e+r*r,i=L(n),o=(t-L(1-n*(t+1)/(t-1)))/((t-1)/i+i/(t-1));return[a(e*o,i*L(1-o*o)),i?S(r*o/i):0]},e}(t);if(!e)return r;var n=o(e),i=m(e);function s(e,a){var o=r(e,a),s=o[1],l=s*i/(t-1)+n;return[o[0]*n/l,s/l]}return s.invert=function(e,a){var o=(t-1)/(t-1-a*i);return r.invert(o*e,o*a*n)},s}ur.forEach((function(t){t[1]*=1.0144})),fr.invert=function(t,e){var r=e/x,i=90*r,a=f(18,n(i/5)),o=u(0,l(a));do{var s=ur[o][1],c=ur[o+1][1],h=ur[f(19,o+2)][1],p=h-s,d=h-2*c+s,m=2*(n(r)-c)/p,g=d/p,v=m*(1-g*m*(1-2*g*m));if(v>=0||1===o){i=(e>=0?5:-5)*(v+a);var y,b=50;do{v=(a=f(18,n(i)/5))-(o=l(a)),s=ur[o][1],c=ur[o+1][1],h=ur[f(19,o+2)][1],i-=(y=(e>=0?x:-x)*(c+v*(h-s)/2+v*v*(h-2*c+s)/2)-e)*A}while(n(y)>1e-12&&--b>0);break}}while(--o>=0);var _=ur[o][0],w=ur[o+1][0],T=ur[f(19,o+2)][0];return[t/(w+v*(T-_)/2+v*v*(T-2*w+_)/2),i*M]};var pr=-179.9999,dr=179.9999,mr=-89.9999;function gr(t){return t.length>0}function vr(t){return-90===t||90===t?[0,t]:[-180,(e=t,Math.floor(1e4*e)/1e4)];var e}function yr(t){var e=t[0],r=t[1],n=!1;return e<=pr?(e=-180,n=!0):e>=dr&&(e=180,n=!0),r<=mr?(r=-90,n=!0):r>=89.9999&&(r=90,n=!0),n?[e,r]:t}function xr(t){return t.map(yr)}function br(t,e,r){for(var n=0,i=t.length;n=dr||u<=mr||u>=89.9999){a[o]=yr(l);for(var f=o+1;fpr&&pmr&&d<89.9999)break}if(f===o+1)continue;if(o){var m={index:-1,polygon:e,ring:a.slice(0,o+1)};m.ring[m.ring.length-1]=vr(u),r[r.length-1]=m}else r.pop();if(f>=s)break;r.push({index:-1,polygon:e,ring:a=a.slice(f-1)}),a[0]=vr(a[0][1]),o=-1,s=a.length}}}}function _r(t){var e,r,n,i,a,o,s=t.length,l={},c={};for(e=0;e0?y-l:l)*A],u=e.geoProjection(t(s)).rotate(c),f=e.geoRotation(c),h=u.center;return delete u.rotate,u.center=function(t){return arguments.length?h(f(t)):f.invert(h())},u.clipAngle(90)}function Mr(t){var r=o(t);function n(t,n){var i=e.geoGnomonicRaw(t,n);return i[0]*=r,i}return n.invert=function(t,n){return e.geoGnomonicRaw.invert(t/r,n)},n}function Sr(t,e){return Ar(Mr,t,e)}function Er(t){if(!(t*=2))return e.geoAzimuthalEquidistantRaw;var r=-t/2,n=-r,i=t*t,s=g(n),l=.5/m(n);function c(e,a){var s=E(o(a)*o(e-r)),l=E(o(a)*o(e-n));return[((s*=s)-(l*=l))/(2*t),(a<0?-1:1)*L(4*i*l-(i-s+l)*(i-s+l))/(2*t)]}return c.invert=function(t,e){var i,c,u=e*e,f=o(L(u+(i=t+r)*i)),h=o(L(u+(i=t+n)*i));return[a(c=f-h,i=(f+h)*s),(e<0?-1:1)*E(L(i*i+c*c)*l)]},c}function Lr(t,e){return Ar(Er,t,e)}function Cr(t,e){if(n(e)v&&--l>0);return[d(t)*(L(a*a+4)+a)*y/4,x*s]};var Rr=4*y+3*L(3),Fr=2*L(2*y*L(3)/Rr),Br=Y(Fr*L(3)/y,Fr,Rr/6);function Nr(t,e){return[t*L(1-3*e*e/(y*y)),e]}function jr(t,e){var r=o(e),n=o(t)*r,i=1-n,s=o(t=a(m(t)*r,-m(e))),l=m(t);return[l*(r=L(1-n*n))-s*i,-s*r-l*i]}function Ur(t,e){var r=O(t,e);return[(r[0]+t/x)/2,(r[1]+e)/2]}Nr.invert=function(t,e){return[t/L(1-3*e*e/(y*y)),e]},jr.invert=function(t,e){var r=(t*t+e*e)/-2,n=L(-r*(2+r)),i=e*r+t*n,o=t*r-e*n,s=L(o*o+i*i);return[a(n*i,s*(1+r)),s?-S(n*o/s):0]},Ur.invert=function(t,e){var r=t,i=e,a=25;do{var s,l=o(i),c=m(i),u=m(2*i),f=c*c,h=l*l,p=m(r),d=o(r/2),g=m(r/2),y=g*g,b=1-h*d*d,_=b?E(l*d)*L(s=1/b):s=0,w=.5*(2*_*l*g+r/x)-t,T=.5*(_*c+i)-e,k=.5*s*(h*y+_*l*d*f)+.5/x,A=s*(p*u/4-_*c*g),M=.125*s*(u*g-_*c*h*p),S=.5*s*(f*d+_*y*l)+.5,C=A*M-S*k,P=(T*A-w*S)/C,I=(w*M-T*k)/C;r-=P,i-=I}while((n(P)>v||n(I)>v)&&--a>0);return[r,i]},t.geoNaturalEarth=e.geoNaturalEarth1,t.geoNaturalEarthRaw=e.geoNaturalEarth1Raw,t.geoAiry=function(){var t=x,r=e.geoProjectionMutator(I),n=r(t);return n.radius=function(e){return arguments.length?r(t=e*M):t*A},n.scale(179.976).clipAngle(147)},t.geoAiryRaw=I,t.geoAitoff=function(){return e.geoProjection(O).scale(152.63)},t.geoAitoffRaw=O,t.geoArmadillo=function(){var t=20*M,r=t>=0?1:-1,n=g(r*t),i=e.geoProjectionMutator(z),s=i(t),l=s.stream;return s.parallel=function(e){return arguments.length?(n=g((r=(t=e*M)>=0?1:-1)*t),i(t)):t*A},s.stream=function(e){var i=s.rotate(),c=l(e),u=(s.rotate([0,0]),l(e)),f=s.precision();return s.rotate(i),c.sphere=function(){u.polygonStart(),u.lineStart();for(var e=-180*r;r*e<180;e+=90*r)u.point(e,90*r);if(t)for(;r*(e-=3*r*f)>=-180;)u.point(e,r*-a(o(e*M/2),n)*A);u.lineEnd(),u.polygonEnd()},c},s.scale(218.695).center([0,28.0974])},t.geoArmadilloRaw=z,t.geoAugust=function(){return e.geoProjection(D).scale(66.1603)},t.geoAugustRaw=D,t.geoBaker=function(){return e.geoProjection(B).scale(112.314)},t.geoBakerRaw=B,t.geoBerghaus=function(){var t=5,r=e.geoProjectionMutator(N),n=r(t),i=n.stream,s=-o(.01*M),l=m(.01*M);return n.lobes=function(e){return arguments.length?r(t=+e):t},n.stream=function(e){var r=n.rotate(),c=i(e),u=(n.rotate([0,0]),i(e));return n.rotate(r),c.sphere=function(){u.polygonStart(),u.lineStart();for(var e=0,r=360/t,n=2*y/t,i=90-180/t,c=x;e=0;)t.point((e=r[i])[0],e[1]);t.lineEnd(),t.polygonEnd()},t},n.scale(79.4187).parallel(45).clipAngle(179.999)},t.geoHammerRetroazimuthalRaw=Vt,t.geoHealpix=function(){var t=4,n=e.geoProjectionMutator(Yt),i=n(t),a=i.stream;return i.lobes=function(e){return arguments.length?n(t=+e):t},i.stream=function(n){var o=i.rotate(),s=a(n),l=(i.rotate([0,0]),a(n));return i.rotate(o),s.sphere=function(){var n,i;e.geoStream((n=180/t,i=[].concat(r.range(-180,180+n/2,n).map(Wt),r.range(180,-180-n/2,-n).map(Zt)),{type:\"Polygon\",coordinates:[180===n?i.map(Xt):i]}),l)},s},i.scale(239.75)},t.geoHealpixRaw=Yt,t.geoHill=function(){var t=1,r=e.geoProjectionMutator(Jt),n=r(t);return n.ratio=function(e){return arguments.length?r(t=+e):t},n.scale(167.774).center([0,18.67])},t.geoHillRaw=Jt,t.geoHomolosine=function(){return e.geoProjection(Qt).scale(152.63)},t.geoHomolosineRaw=Qt,t.geoHufnagel=function(){var t=1,r=0,n=45*M,i=2,a=e.geoProjectionMutator($t),o=a(t,r,n,i);return o.a=function(e){return arguments.length?a(t=+e,r,n,i):t},o.b=function(e){return arguments.length?a(t,r=+e,n,i):r},o.psiMax=function(e){return arguments.length?a(t,r,n=+e*M,i):n*A},o.ratio=function(e){return arguments.length?a(t,r,n,i=+e):i},o.scale(180.739)},t.geoHufnagelRaw=$t,t.geoHyperelliptical=function(){var t=0,r=2.5,n=1.183136,i=e.geoProjectionMutator(ee),a=i(t,r,n);return a.alpha=function(e){return arguments.length?i(t=+e,r,n):t},a.k=function(e){return arguments.length?i(t,r=+e,n):r},a.gamma=function(e){return arguments.length?i(t,r,n=+e):n},a.scale(152.63)},t.geoHyperellipticalRaw=ee,t.geoInterrupt=ae,t.geoInterruptedBoggs=function(){return ae(J,oe).scale(160.857)},t.geoInterruptedHomolosine=function(){return ae(Qt,se).scale(152.63)},t.geoInterruptedMollweide=function(){return ae(W,le).scale(169.529)},t.geoInterruptedMollweideHemispheres=function(){return ae(W,ce).scale(169.529).rotate([20,0])},t.geoInterruptedSinuMollweide=function(){return ae(Kt,ue,H).rotate([-20,-55]).scale(164.263).center([0,-5.4036])},t.geoInterruptedSinusoidal=function(){return ae(Q,fe).scale(152.63).rotate([-20,0])},t.geoKavrayskiy7=function(){return e.geoProjection(he).scale(158.837)},t.geoKavrayskiy7Raw=he,t.geoLagrange=function(){var t=.5,r=e.geoProjectionMutator(pe),n=r(t);return n.spacing=function(e){return arguments.length?r(t=+e):t},n.scale(124.75)},t.geoLagrangeRaw=pe,t.geoLarrivee=function(){return e.geoProjection(me).scale(97.2672)},t.geoLarriveeRaw=me,t.geoLaskowski=function(){return e.geoProjection(ge).scale(139.98)},t.geoLaskowskiRaw=ge,t.geoLittrow=function(){return e.geoProjection(ve).scale(144.049).clipAngle(89.999)},t.geoLittrowRaw=ve,t.geoLoximuthal=function(){return K(ye).parallel(40).scale(158.837)},t.geoLoximuthalRaw=ye,t.geoMiller=function(){return e.geoProjection(xe).scale(108.318)},t.geoMillerRaw=xe,t.geoModifiedStereographic=Me,t.geoModifiedStereographicRaw=be,t.geoModifiedStereographicAlaska=function(){return Me(_e,[152,-64]).scale(1400).center([-160.908,62.4864]).clipAngle(30).angle(7.8)},t.geoModifiedStereographicGs48=function(){return Me(we,[95,-38]).scale(1e3).clipAngle(55).center([-96.5563,38.8675])},t.geoModifiedStereographicGs50=function(){return Me(Te,[120,-45]).scale(359.513).clipAngle(55).center([-117.474,53.0628])},t.geoModifiedStereographicMiller=function(){return Me(ke,[-20,-18]).scale(209.091).center([20,16.7214]).clipAngle(82)},t.geoModifiedStereographicLee=function(){return Me(Ae,[165,10]).scale(250).clipAngle(130).center([-165,-10])},t.geoMollweide=function(){return e.geoProjection(W).scale(169.529)},t.geoMollweideRaw=W,t.geoMtFlatPolarParabolic=function(){return e.geoProjection(Le).scale(164.859)},t.geoMtFlatPolarParabolicRaw=Le,t.geoMtFlatPolarQuartic=function(){return e.geoProjection(Ce).scale(188.209)},t.geoMtFlatPolarQuarticRaw=Ce,t.geoMtFlatPolarSinusoidal=function(){return e.geoProjection(Pe).scale(166.518)},t.geoMtFlatPolarSinusoidalRaw=Pe,t.geoNaturalEarth2=function(){return e.geoProjection(Ie).scale(175.295)},t.geoNaturalEarth2Raw=Ie,t.geoNellHammer=function(){return e.geoProjection(Oe).scale(152.63)},t.geoNellHammerRaw=Oe,t.geoInterruptedQuarticAuthalic=function(){return ae(j(1/0),ze).rotate([20,0]).scale(152.63)},t.geoNicolosi=function(){return e.geoProjection(De).scale(127.267)},t.geoNicolosiRaw=De,t.geoPatterson=function(){return e.geoProjection(Re).scale(139.319)},t.geoPattersonRaw=Re,t.geoPolyconic=function(){return e.geoProjection(Fe).scale(103.74)},t.geoPolyconicRaw=Fe,t.geoPolyhedral=Ve,t.geoPolyhedralButterfly=function(t){t=t||function(t){var r=e.geoCentroid({type:\"MultiPoint\",coordinates:t});return e.geoGnomonic().scale(1).translate([0,0]).rotate([-r[0],-r[1]])};var r=Ye.map((function(e){return{face:e,project:t(e)}}));return[-1,0,0,1,0,1,4,5].forEach((function(t,e){var n=r[t];n&&(n.children||(n.children=[])).push(r[e])})),Ve(r[0],(function(t,e){return r[t<-y/2?e<0?6:4:t<0?e<0?2:0:t0?[-r[0],0]:[180-r[0],180])};var r=Ye.map((function(e){return{face:e,project:t(e)}}));return[-1,0,0,1,0,1,4,5].forEach((function(t,e){var n=r[t];n&&(n.children||(n.children=[])).push(r[e])})),Ve(r[0],(function(t,e){return r[t<-y/2?e<0?6:4:t<0?e<0?2:0:t2||a[0]!=e[0]||a[1]!=e[1])&&(n.push(a),e=a)}return 1===n.length&&t.length>1&&n.push(r(t[t.length-1])),n}function a(t){return t.map(i)}function o(t){if(null==t)return t;var e;switch(t.type){case\"GeometryCollection\":e={type:\"GeometryCollection\",geometries:t.geometries.map(o)};break;case\"Point\":e={type:\"Point\",coordinates:r(t.coordinates)};break;case\"MultiPoint\":e={type:t.type,coordinates:n(t.coordinates)};break;case\"LineString\":e={type:t.type,coordinates:i(t.coordinates)};break;case\"MultiLineString\":case\"Polygon\":e={type:t.type,coordinates:a(t.coordinates)};break;case\"MultiPolygon\":e={type:\"MultiPolygon\",coordinates:t.coordinates.map(a)};break;default:return t}return null!=t.bbox&&(e.bbox=t.bbox),e}function s(t){var e={type:\"Feature\",properties:t.properties,geometry:o(t.geometry)};return null!=t.id&&(e.id=t.id),null!=t.bbox&&(e.bbox=t.bbox),e}if(null!=t)switch(t.type){case\"Feature\":return s(t);case\"FeatureCollection\":var l={type:\"FeatureCollection\",features:t.features.map(s)};return null!=t.bbox&&(l.bbox=t.bbox),l;default:return o(t)}return t},t.geoQuincuncial=sr,t.geoRectangularPolyconic=function(){return K(cr).scale(131.215)},t.geoRectangularPolyconicRaw=cr,t.geoRobinson=function(){return e.geoProjection(fr).scale(152.63)},t.geoRobinsonRaw=fr,t.geoSatellite=function(){var t=2,r=0,n=e.geoProjectionMutator(hr),i=n(t,r);return i.distance=function(e){return arguments.length?n(t=+e,r):t},i.tilt=function(e){return arguments.length?n(t,r=e*M):r*A},i.scale(432.147).clipAngle(E(1/t)*A-1e-6)},t.geoSatelliteRaw=hr,t.geoSinuMollweide=function(){return e.geoProjection(Kt).rotate([-20,-55]).scale(164.263).center([0,-5.4036])},t.geoSinuMollweideRaw=Kt,t.geoSinusoidal=function(){return e.geoProjection(Q).scale(152.63)},t.geoSinusoidalRaw=Q,t.geoStitch=function(t){if(null==t)return t;switch(t.type){case\"Feature\":return wr(t);case\"FeatureCollection\":var e={type:\"FeatureCollection\",features:t.features.map(wr)};return null!=t.bbox&&(e.bbox=t.bbox),e;default:return Tr(t)}},t.geoTimes=function(){return e.geoProjection(kr).scale(146.153)},t.geoTimesRaw=kr,t.geoTwoPointAzimuthal=Sr,t.geoTwoPointAzimuthalRaw=Mr,t.geoTwoPointAzimuthalUsa=function(){return Sr([-158,21.5],[-77,39]).clipAngle(60).scale(400)},t.geoTwoPointEquidistant=Lr,t.geoTwoPointEquidistantRaw=Er,t.geoTwoPointEquidistantUsa=function(){return Lr([-158,21.5],[-77,39]).clipAngle(130).scale(122.571)},t.geoVanDerGrinten=function(){return e.geoProjection(Cr).scale(79.4183)},t.geoVanDerGrintenRaw=Cr,t.geoVanDerGrinten2=function(){return e.geoProjection(Pr).scale(79.4183)},t.geoVanDerGrinten2Raw=Pr,t.geoVanDerGrinten3=function(){return e.geoProjection(Ir).scale(79.4183)},t.geoVanDerGrinten3Raw=Ir,t.geoVanDerGrinten4=function(){return e.geoProjection(Or).scale(127.16)},t.geoVanDerGrinten4Raw=Or,t.geoWagner=Dr,t.geoWagner7=function(){return Dr().poleline(65).parallels(60).inflation(0).ratio(200).scale(172.633)},t.geoWagnerRaw=zr,t.geoWagner4=function(){return e.geoProjection(Br).scale(176.84)},t.geoWagner4Raw=Br,t.geoWagner6=function(){return e.geoProjection(Nr).scale(152.63)},t.geoWagner6Raw=Nr,t.geoWiechel=function(){return e.geoProjection(jr).rotate([0,-90,45]).scale(124.75).clipAngle(179.999)},t.geoWiechelRaw=jr,t.geoWinkel3=function(){return e.geoProjection(Ur).scale(158.837)},t.geoWinkel3Raw=Ur,Object.defineProperty(t,\"__esModule\",{value:!0})}))},{\"d3-array\":107,\"d3-geo\":114}],114:[function(t,e,r){!function(n,i){\"object\"==typeof r&&void 0!==e?i(r,t(\"d3-array\")):i((n=n||self).d3=n.d3||{},n.d3)}(this,(function(t,e){\"use strict\";function r(){return new n}function n(){this.reset()}n.prototype={constructor:n,reset:function(){this.s=this.t=0},add:function(t){a(i,t,this.t),a(this,i.s,this.s),this.s?this.t+=i.t:this.s=i.t},valueOf:function(){return this.s}};var i=new n;function a(t,e,r){var n=t.s=e+r,i=n-e,a=n-i;t.t=e-a+(r-i)}var o=1e-6,s=Math.PI,l=s/2,c=s/4,u=2*s,f=180/s,h=s/180,p=Math.abs,d=Math.atan,m=Math.atan2,g=Math.cos,v=Math.ceil,y=Math.exp,x=Math.log,b=Math.pow,_=Math.sin,w=Math.sign||function(t){return t>0?1:t<0?-1:0},T=Math.sqrt,k=Math.tan;function A(t){return t>1?0:t<-1?s:Math.acos(t)}function M(t){return t>1?l:t<-1?-l:Math.asin(t)}function S(t){return(t=_(t/2))*t}function E(){}function L(t,e){t&&P.hasOwnProperty(t.type)&&P[t.type](t,e)}var C={Feature:function(t,e){L(t.geometry,e)},FeatureCollection:function(t,e){for(var r=t.features,n=-1,i=r.length;++n=0?1:-1,i=n*r,a=g(e=(e*=h)/2+c),o=_(e),s=N*o,l=B*a+s*g(i),u=s*n*_(i);j.add(m(u,l)),F=t,B=a,N=o}function W(t){return[m(t[1],t[0]),M(t[2])]}function Z(t){var e=t[0],r=t[1],n=g(r);return[n*g(e),n*_(e),_(r)]}function X(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}function J(t,e){return[t[1]*e[2]-t[2]*e[1],t[2]*e[0]-t[0]*e[2],t[0]*e[1]-t[1]*e[0]]}function K(t,e){t[0]+=e[0],t[1]+=e[1],t[2]+=e[2]}function Q(t,e){return[t[0]*e,t[1]*e,t[2]*e]}function $(t){var e=T(t[0]*t[0]+t[1]*t[1]+t[2]*t[2]);t[0]/=e,t[1]/=e,t[2]/=e}var tt,et,rt,nt,it,at,ot,st,lt,ct,ut,ft,ht,pt,dt,mt,gt,vt,yt,xt,bt,_t,wt,Tt,kt,At,Mt=r(),St={point:Et,lineStart:Ct,lineEnd:Pt,polygonStart:function(){St.point=It,St.lineStart=Ot,St.lineEnd=zt,Mt.reset(),V.polygonStart()},polygonEnd:function(){V.polygonEnd(),St.point=Et,St.lineStart=Ct,St.lineEnd=Pt,j<0?(tt=-(rt=180),et=-(nt=90)):Mt>o?nt=90:Mt<-o&&(et=-90),ct[0]=tt,ct[1]=rt},sphere:function(){tt=-(rt=180),et=-(nt=90)}};function Et(t,e){lt.push(ct=[tt=t,rt=t]),ent&&(nt=e)}function Lt(t,e){var r=Z([t*h,e*h]);if(st){var n=J(st,r),i=J([n[1],-n[0],0],n);$(i),i=W(i);var a,o=t-it,s=o>0?1:-1,l=i[0]*f*s,c=p(o)>180;c^(s*itnt&&(nt=a):c^(s*it<(l=(l+360)%360-180)&&lnt&&(nt=e)),c?tDt(tt,rt)&&(rt=t):Dt(t,rt)>Dt(tt,rt)&&(tt=t):rt>=tt?(trt&&(rt=t)):t>it?Dt(tt,t)>Dt(tt,rt)&&(rt=t):Dt(t,rt)>Dt(tt,rt)&&(tt=t)}else lt.push(ct=[tt=t,rt=t]);ent&&(nt=e),st=r,it=t}function Ct(){St.point=Lt}function Pt(){ct[0]=tt,ct[1]=rt,St.point=Et,st=null}function It(t,e){if(st){var r=t-it;Mt.add(p(r)>180?r+(r>0?360:-360):r)}else at=t,ot=e;V.point(t,e),Lt(t,e)}function Ot(){V.lineStart()}function zt(){It(at,ot),V.lineEnd(),p(Mt)>o&&(tt=-(rt=180)),ct[0]=tt,ct[1]=rt,st=null}function Dt(t,e){return(e-=t)<0?e+360:e}function Rt(t,e){return t[0]-e[0]}function Ft(t,e){return t[0]<=t[1]?t[0]<=e&&e<=t[1]:es?t+Math.round(-t/u)*u:t,e]}function Qt(t,e,r){return(t%=u)?e||r?Jt(te(t),ee(e,r)):te(t):e||r?ee(e,r):Kt}function $t(t){return function(e,r){return[(e+=t)>s?e-u:e<-s?e+u:e,r]}}function te(t){var e=$t(t);return e.invert=$t(-t),e}function ee(t,e){var r=g(t),n=_(t),i=g(e),a=_(e);function o(t,e){var o=g(e),s=g(t)*o,l=_(t)*o,c=_(e),u=c*r+s*n;return[m(l*i-u*a,s*r-c*n),M(u*i+l*a)]}return o.invert=function(t,e){var o=g(e),s=g(t)*o,l=_(t)*o,c=_(e),u=c*i-l*a;return[m(l*i+c*a,s*r+u*n),M(u*r-s*n)]},o}function re(t){function e(e){return(e=t(e[0]*h,e[1]*h))[0]*=f,e[1]*=f,e}return t=Qt(t[0]*h,t[1]*h,t.length>2?t[2]*h:0),e.invert=function(e){return(e=t.invert(e[0]*h,e[1]*h))[0]*=f,e[1]*=f,e},e}function ne(t,e,r,n,i,a){if(r){var o=g(e),s=_(e),l=n*r;null==i?(i=e+n*u,a=e-l/2):(i=ie(o,i),a=ie(o,a),(n>0?ia)&&(i+=n*u));for(var c,f=i;n>0?f>a:f1&&e.push(e.pop().concat(e.shift()))},result:function(){var r=e;return e=[],t=null,r}}}function oe(t,e){return p(t[0]-e[0])=0;--a)i.point((f=u[a])[0],f[1]);else n(p.x,p.p.x,-1,i);p=p.p}u=(p=p.o).z,d=!d}while(!p.v);i.lineEnd()}}}function ce(t){if(e=t.length){for(var e,r,n=0,i=t[0];++n=0?1:-1,z=O*I,D=z>s,R=T*C;if(ue.add(m(R*O*_(z),k*P+R*g(z))),f+=D?I+O*u:I,D^b>=r^E>=r){var F=J(Z(x),Z(S));$(F);var B=J(a,F);$(B);var N=(D^I>=0?-1:1)*M(B[2]);(n>N||n===N&&(F[0]||F[1]))&&(h+=D^I>=0?1:-1)}}return(f<-o||f0){for(h||(a.polygonStart(),h=!0),a.lineStart(),t=0;t1&&2&i&&c.push(c.pop().concat(c.shift())),s.push(c.filter(de))}return p}}function de(t){return t.length>1}function me(t,e){return((t=t.x)[0]<0?t[1]-l-o:l-t[1])-((e=e.x)[0]<0?e[1]-l-o:l-e[1])}var ge=pe((function(){return!0}),(function(t){var e,r=NaN,n=NaN,i=NaN;return{lineStart:function(){t.lineStart(),e=1},point:function(a,c){var u=a>0?s:-s,f=p(a-r);p(f-s)0?l:-l),t.point(i,n),t.lineEnd(),t.lineStart(),t.point(u,n),t.point(a,n),e=0):i!==u&&f>=s&&(p(r-i)o?d((_(e)*(a=g(n))*_(r)-_(n)*(i=g(e))*_(t))/(i*a*s)):(e+n)/2}(r,n,a,c),t.point(i,n),t.lineEnd(),t.lineStart(),t.point(u,n),e=0),t.point(r=a,n=c),i=u},lineEnd:function(){t.lineEnd(),r=n=NaN},clean:function(){return 2-e}}}),(function(t,e,r,n){var i;if(null==t)i=r*l,n.point(-s,i),n.point(0,i),n.point(s,i),n.point(s,0),n.point(s,-i),n.point(0,-i),n.point(-s,-i),n.point(-s,0),n.point(-s,i);else if(p(t[0]-e[0])>o){var a=t[0]0,i=p(e)>o;function a(t,r){return g(t)*g(r)>e}function l(t,r,n){var i=[1,0,0],a=J(Z(t),Z(r)),l=X(a,a),c=a[0],u=l-c*c;if(!u)return!n&&t;var f=e*l/u,h=-e*c/u,d=J(i,a),m=Q(i,f);K(m,Q(a,h));var g=d,v=X(m,g),y=X(g,g),x=v*v-y*(X(m,m)-1);if(!(x<0)){var b=T(x),_=Q(g,(-v-b)/y);if(K(_,m),_=W(_),!n)return _;var w,k=t[0],A=r[0],M=t[1],S=r[1];A0^_[1]<(p(_[0]-k)s^(k<=_[0]&&_[0]<=A)){var C=Q(g,(-v+b)/y);return K(C,m),[_,W(C)]}}}function c(e,r){var i=n?t:s-t,a=0;return e<-i?a|=1:e>i&&(a|=2),r<-i?a|=4:r>i&&(a|=8),a}return pe(a,(function(t){var e,r,o,u,f;return{lineStart:function(){u=o=!1,f=1},point:function(h,p){var d,m=[h,p],g=a(h,p),v=n?g?0:c(h,p):g?c(h+(h<0?s:-s),p):0;if(!e&&(u=o=g)&&t.lineStart(),g!==o&&(!(d=l(e,m))||oe(e,d)||oe(m,d))&&(m[2]=1),g!==o)f=0,g?(t.lineStart(),d=l(m,e),t.point(d[0],d[1])):(d=l(e,m),t.point(d[0],d[1],2),t.lineEnd()),e=d;else if(i&&e&&n^g){var y;v&r||!(y=l(m,e,!0))||(f=0,n?(t.lineStart(),t.point(y[0][0],y[0][1]),t.point(y[1][0],y[1][1]),t.lineEnd()):(t.point(y[1][0],y[1][1]),t.lineEnd(),t.lineStart(),t.point(y[0][0],y[0][1],3)))}!g||e&&oe(e,m)||t.point(m[0],m[1]),e=m,o=g,r=v},lineEnd:function(){o&&t.lineEnd(),e=null},clean:function(){return f|(u&&o)<<1}}}),(function(e,n,i,a){ne(a,t,r,i,e,n)}),n?[0,-t]:[-s,t-s])}function ye(t,r,n,i){function a(e,a){return t<=e&&e<=n&&r<=a&&a<=i}function s(e,a,o,s){var c=0,f=0;if(null==e||(c=l(e,o))!==(f=l(a,o))||u(e,a)<0^o>0)do{s.point(0===c||3===c?t:n,c>1?i:r)}while((c=(c+o+4)%4)!==f);else s.point(a[0],a[1])}function l(e,i){return p(e[0]-t)0?0:3:p(e[0]-n)0?2:1:p(e[1]-r)0?1:0:i>0?3:2}function c(t,e){return u(t.x,e.x)}function u(t,e){var r=l(t,1),n=l(e,1);return r!==n?r-n:0===r?e[1]-t[1]:1===r?t[0]-e[0]:2===r?t[1]-e[1]:e[0]-t[0]}return function(o){var l,u,f,h,p,d,m,g,v,y,x,b=o,_=ae(),w={point:T,lineStart:function(){w.point=k,u&&u.push(f=[]);y=!0,v=!1,m=g=NaN},lineEnd:function(){l&&(k(h,p),d&&v&&_.rejoin(),l.push(_.result()));w.point=T,v&&b.lineEnd()},polygonStart:function(){b=_,l=[],u=[],x=!0},polygonEnd:function(){var r=function(){for(var e=0,r=0,n=u.length;ri&&(h-a)*(i-o)>(p-o)*(t-a)&&++e:p<=i&&(h-a)*(i-o)<(p-o)*(t-a)&&--e;return e}(),n=x&&r,a=(l=e.merge(l)).length;(n||a)&&(o.polygonStart(),n&&(o.lineStart(),s(null,null,1,o),o.lineEnd()),a&&le(l,c,r,s,o),o.polygonEnd());b=o,l=u=f=null}};function T(t,e){a(t,e)&&b.point(t,e)}function k(e,o){var s=a(e,o);if(u&&f.push([e,o]),y)h=e,p=o,d=s,y=!1,s&&(b.lineStart(),b.point(e,o));else if(s&&v)b.point(e,o);else{var l=[m=Math.max(-1e9,Math.min(1e9,m)),g=Math.max(-1e9,Math.min(1e9,g))],c=[e=Math.max(-1e9,Math.min(1e9,e)),o=Math.max(-1e9,Math.min(1e9,o))];!function(t,e,r,n,i,a){var o,s=t[0],l=t[1],c=0,u=1,f=e[0]-s,h=e[1]-l;if(o=r-s,f||!(o>0)){if(o/=f,f<0){if(o0){if(o>u)return;o>c&&(c=o)}if(o=i-s,f||!(o<0)){if(o/=f,f<0){if(o>u)return;o>c&&(c=o)}else if(f>0){if(o0)){if(o/=h,h<0){if(o0){if(o>u)return;o>c&&(c=o)}if(o=a-l,h||!(o<0)){if(o/=h,h<0){if(o>u)return;o>c&&(c=o)}else if(h>0){if(o0&&(t[0]=s+c*f,t[1]=l+c*h),u<1&&(e[0]=s+u*f,e[1]=l+u*h),!0}}}}}(l,c,t,r,n,i)?s&&(b.lineStart(),b.point(e,o),x=!1):(v||(b.lineStart(),b.point(l[0],l[1])),b.point(c[0],c[1]),s||b.lineEnd(),x=!1)}m=e,g=o,v=s}return w}}var xe,be,_e,we=r(),Te={sphere:E,point:E,lineStart:function(){Te.point=Ae,Te.lineEnd=ke},lineEnd:E,polygonStart:E,polygonEnd:E};function ke(){Te.point=Te.lineEnd=E}function Ae(t,e){xe=t*=h,be=_(e*=h),_e=g(e),Te.point=Me}function Me(t,e){t*=h;var r=_(e*=h),n=g(e),i=p(t-xe),a=g(i),o=n*_(i),s=_e*r-be*n*a,l=be*r+_e*n*a;we.add(m(T(o*o+s*s),l)),xe=t,be=r,_e=n}function Se(t){return we.reset(),z(t,Te),+we}var Ee=[null,null],Le={type:\"LineString\",coordinates:Ee};function Ce(t,e){return Ee[0]=t,Ee[1]=e,Se(Le)}var Pe={Feature:function(t,e){return Oe(t.geometry,e)},FeatureCollection:function(t,e){for(var r=t.features,n=-1,i=r.length;++n0&&(i=Ce(t[a],t[a-1]))>0&&r<=i&&n<=i&&(r+n-i)*(1-Math.pow((r-n)/i,2))<1e-12*i)return!0;r=n}return!1}function Re(t,e){return!!he(t.map(Fe),Be(e))}function Fe(t){return(t=t.map(Be)).pop(),t}function Be(t){return[t[0]*h,t[1]*h]}function Ne(t,r,n){var i=e.range(t,r-o,n).concat(r);return function(t){return i.map((function(e){return[t,e]}))}}function je(t,r,n){var i=e.range(t,r-o,n).concat(r);return function(t){return i.map((function(e){return[e,t]}))}}function Ue(){var t,r,n,i,a,s,l,c,u,f,h,d,m=10,g=m,y=90,x=360,b=2.5;function _(){return{type:\"MultiLineString\",coordinates:w()}}function w(){return e.range(v(i/y)*y,n,y).map(h).concat(e.range(v(c/x)*x,l,x).map(d)).concat(e.range(v(r/m)*m,t,m).filter((function(t){return p(t%y)>o})).map(u)).concat(e.range(v(s/g)*g,a,g).filter((function(t){return p(t%x)>o})).map(f))}return _.lines=function(){return w().map((function(t){return{type:\"LineString\",coordinates:t}}))},_.outline=function(){return{type:\"Polygon\",coordinates:[h(i).concat(d(l).slice(1),h(n).reverse().slice(1),d(c).reverse().slice(1))]}},_.extent=function(t){return arguments.length?_.extentMajor(t).extentMinor(t):_.extentMinor()},_.extentMajor=function(t){return arguments.length?(i=+t[0][0],n=+t[1][0],c=+t[0][1],l=+t[1][1],i>n&&(t=i,i=n,n=t),c>l&&(t=c,c=l,l=t),_.precision(b)):[[i,c],[n,l]]},_.extentMinor=function(e){return arguments.length?(r=+e[0][0],t=+e[1][0],s=+e[0][1],a=+e[1][1],r>t&&(e=r,r=t,t=e),s>a&&(e=s,s=a,a=e),_.precision(b)):[[r,s],[t,a]]},_.step=function(t){return arguments.length?_.stepMajor(t).stepMinor(t):_.stepMinor()},_.stepMajor=function(t){return arguments.length?(y=+t[0],x=+t[1],_):[y,x]},_.stepMinor=function(t){return arguments.length?(m=+t[0],g=+t[1],_):[m,g]},_.precision=function(e){return arguments.length?(b=+e,u=Ne(s,a,90),f=je(r,t,b),h=Ne(c,l,90),d=je(i,n,b),_):b},_.extentMajor([[-180,-90+o],[180,90-o]]).extentMinor([[-180,-80-o],[180,80+o]])}function Ve(t){return t}var He,qe,Ge,Ye,We=r(),Ze=r(),Xe={point:E,lineStart:E,lineEnd:E,polygonStart:function(){Xe.lineStart=Je,Xe.lineEnd=$e},polygonEnd:function(){Xe.lineStart=Xe.lineEnd=Xe.point=E,We.add(p(Ze)),Ze.reset()},result:function(){var t=We/2;return We.reset(),t}};function Je(){Xe.point=Ke}function Ke(t,e){Xe.point=Qe,He=Ge=t,qe=Ye=e}function Qe(t,e){Ze.add(Ye*t-Ge*e),Ge=t,Ye=e}function $e(){Qe(He,qe)}var tr=1/0,er=tr,rr=-tr,nr=rr,ir={point:function(t,e){trr&&(rr=t);enr&&(nr=e)},lineStart:E,lineEnd:E,polygonStart:E,polygonEnd:E,result:function(){var t=[[tr,er],[rr,nr]];return rr=nr=-(er=tr=1/0),t}};var ar,or,sr,lr,cr=0,ur=0,fr=0,hr=0,pr=0,dr=0,mr=0,gr=0,vr=0,yr={point:xr,lineStart:br,lineEnd:Tr,polygonStart:function(){yr.lineStart=kr,yr.lineEnd=Ar},polygonEnd:function(){yr.point=xr,yr.lineStart=br,yr.lineEnd=Tr},result:function(){var t=vr?[mr/vr,gr/vr]:dr?[hr/dr,pr/dr]:fr?[cr/fr,ur/fr]:[NaN,NaN];return cr=ur=fr=hr=pr=dr=mr=gr=vr=0,t}};function xr(t,e){cr+=t,ur+=e,++fr}function br(){yr.point=_r}function _r(t,e){yr.point=wr,xr(sr=t,lr=e)}function wr(t,e){var r=t-sr,n=e-lr,i=T(r*r+n*n);hr+=i*(sr+t)/2,pr+=i*(lr+e)/2,dr+=i,xr(sr=t,lr=e)}function Tr(){yr.point=xr}function kr(){yr.point=Mr}function Ar(){Sr(ar,or)}function Mr(t,e){yr.point=Sr,xr(ar=sr=t,or=lr=e)}function Sr(t,e){var r=t-sr,n=e-lr,i=T(r*r+n*n);hr+=i*(sr+t)/2,pr+=i*(lr+e)/2,dr+=i,mr+=(i=lr*t-sr*e)*(sr+t),gr+=i*(lr+e),vr+=3*i,xr(sr=t,lr=e)}function Er(t){this._context=t}Er.prototype={_radius:4.5,pointRadius:function(t){return this._radius=t,this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){0===this._line&&this._context.closePath(),this._point=NaN},point:function(t,e){switch(this._point){case 0:this._context.moveTo(t,e),this._point=1;break;case 1:this._context.lineTo(t,e);break;default:this._context.moveTo(t+this._radius,e),this._context.arc(t,e,this._radius,0,u)}},result:E};var Lr,Cr,Pr,Ir,Or,zr=r(),Dr={point:E,lineStart:function(){Dr.point=Rr},lineEnd:function(){Lr&&Fr(Cr,Pr),Dr.point=E},polygonStart:function(){Lr=!0},polygonEnd:function(){Lr=null},result:function(){var t=+zr;return zr.reset(),t}};function Rr(t,e){Dr.point=Fr,Cr=Ir=t,Pr=Or=e}function Fr(t,e){Ir-=t,Or-=e,zr.add(T(Ir*Ir+Or*Or)),Ir=t,Or=e}function Br(){this._string=[]}function Nr(t){return\"m0,\"+t+\"a\"+t+\",\"+t+\" 0 1,1 0,\"+-2*t+\"a\"+t+\",\"+t+\" 0 1,1 0,\"+2*t+\"z\"}function jr(t){return function(e){var r=new Ur;for(var n in t)r[n]=t[n];return r.stream=e,r}}function Ur(){}function Vr(t,e,r){var n=t.clipExtent&&t.clipExtent();return t.scale(150).translate([0,0]),null!=n&&t.clipExtent(null),z(r,t.stream(ir)),e(ir.result()),null!=n&&t.clipExtent(n),t}function Hr(t,e,r){return Vr(t,(function(r){var n=e[1][0]-e[0][0],i=e[1][1]-e[0][1],a=Math.min(n/(r[1][0]-r[0][0]),i/(r[1][1]-r[0][1])),o=+e[0][0]+(n-a*(r[1][0]+r[0][0]))/2,s=+e[0][1]+(i-a*(r[1][1]+r[0][1]))/2;t.scale(150*a).translate([o,s])}),r)}function qr(t,e,r){return Hr(t,[[0,0],e],r)}function Gr(t,e,r){return Vr(t,(function(r){var n=+e,i=n/(r[1][0]-r[0][0]),a=(n-i*(r[1][0]+r[0][0]))/2,o=-i*r[0][1];t.scale(150*i).translate([a,o])}),r)}function Yr(t,e,r){return Vr(t,(function(r){var n=+e,i=n/(r[1][1]-r[0][1]),a=-i*r[0][0],o=(n-i*(r[1][1]+r[0][1]))/2;t.scale(150*i).translate([a,o])}),r)}Br.prototype={_radius:4.5,_circle:Nr(4.5),pointRadius:function(t){return(t=+t)!==this._radius&&(this._radius=t,this._circle=null),this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){0===this._line&&this._string.push(\"Z\"),this._point=NaN},point:function(t,e){switch(this._point){case 0:this._string.push(\"M\",t,\",\",e),this._point=1;break;case 1:this._string.push(\"L\",t,\",\",e);break;default:null==this._circle&&(this._circle=Nr(this._radius)),this._string.push(\"M\",t,\",\",e,this._circle)}},result:function(){if(this._string.length){var t=this._string.join(\"\");return this._string=[],t}return null}},Ur.prototype={constructor:Ur,point:function(t,e){this.stream.point(t,e)},sphere:function(){this.stream.sphere()},lineStart:function(){this.stream.lineStart()},lineEnd:function(){this.stream.lineEnd()},polygonStart:function(){this.stream.polygonStart()},polygonEnd:function(){this.stream.polygonEnd()}};var Wr=g(30*h);function Zr(t,e){return+e?function(t,e){function r(n,i,a,s,l,c,u,f,h,d,g,v,y,x){var b=u-n,_=f-i,w=b*b+_*_;if(w>4*e&&y--){var k=s+d,A=l+g,S=c+v,E=T(k*k+A*A+S*S),L=M(S/=E),C=p(p(S)-1)e||p((b*z+_*D)/w-.5)>.3||s*d+l*g+c*v2?t[2]%360*h:0,I()):[y*f,x*f,b*f]},C.angle=function(t){return arguments.length?(_=t%360*h,I()):_*f},C.reflectX=function(t){return arguments.length?(w=t?-1:1,I()):w<0},C.reflectY=function(t){return arguments.length?(k=t?-1:1,I()):k<0},C.precision=function(t){return arguments.length?(o=Zr(s,L=t*t),O()):T(L)},C.fitExtent=function(t,e){return Hr(C,t,e)},C.fitSize=function(t,e){return qr(C,t,e)},C.fitWidth=function(t,e){return Gr(C,t,e)},C.fitHeight=function(t,e){return Yr(C,t,e)},function(){return e=t.apply(this,arguments),C.invert=e.invert&&P,I()}}function tn(t){var e=0,r=s/3,n=$r(t),i=n(e,r);return i.parallels=function(t){return arguments.length?n(e=t[0]*h,r=t[1]*h):[e*f,r*f]},i}function en(t,e){var r=_(t),n=(r+_(e))/2;if(p(n)0?e<-l+o&&(e=-l+o):e>l-o&&(e=l-o);var r=i/b(fn(e),n);return[r*_(n*t),i-r*g(n*t)]}return a.invert=function(t,e){var r=i-e,a=w(n)*T(t*t+r*r),o=m(t,p(r))*w(r);return r*n<0&&(o-=s*w(t)*w(r)),[o/n,2*d(b(i/a,1/n))-l]},a}function pn(t,e){return[t,e]}function dn(t,e){var r=g(t),n=t===e?_(t):(r-g(e))/(e-t),i=r/n+t;if(p(n)o&&--i>0);return[t/(.8707+(a=n*n)*(a*(a*a*a*(.003971-.001529*a)-.013791)-.131979)),n]},Tn.invert=on(M),kn.invert=on((function(t){return 2*d(t)})),An.invert=function(t,e){return[-e,2*d(y(t))-l]},t.geoAlbers=nn,t.geoAlbersUsa=function(){var t,e,r,n,i,a,s=nn(),l=rn().rotate([154,0]).center([-2,58.5]).parallels([55,65]),c=rn().rotate([157,0]).center([-3,19.9]).parallels([8,18]),u={point:function(t,e){a=[t,e]}};function f(t){var e=t[0],o=t[1];return a=null,r.point(e,o),a||(n.point(e,o),a)||(i.point(e,o),a)}function h(){return t=e=null,f}return f.invert=function(t){var e=s.scale(),r=s.translate(),n=(t[0]-r[0])/e,i=(t[1]-r[1])/e;return(i>=.12&&i<.234&&n>=-.425&&n<-.214?l:i>=.166&&i<.234&&n>=-.214&&n<-.115?c:s).invert(t)},f.stream=function(r){return t&&e===r?t:(n=[s.stream(e=r),l.stream(r),c.stream(r)],i=n.length,t={point:function(t,e){for(var r=-1;++rDt(n[0],n[1])&&(n[1]=i[1]),Dt(i[0],n[1])>Dt(n[0],n[1])&&(n[0]=i[0])):a.push(n=i);for(o=-1/0,e=0,n=a[r=a.length-1];e<=r;n=i,++e)i=a[e],(s=Dt(n[1],i[0]))>o&&(o=s,tt=i[0],rt=n[1])}return lt=ct=null,tt===1/0||et===1/0?[[NaN,NaN],[NaN,NaN]]:[[tt,et],[rt,nt]]},t.geoCentroid=function(t){ut=ft=ht=pt=dt=mt=gt=vt=yt=xt=bt=0,z(t,Bt);var e=yt,r=xt,n=bt,i=e*e+r*r+n*n;return i<1e-12&&(e=mt,r=gt,n=vt,ft2?t[2]+90:90]):[(t=r())[0],t[1],t[2]-90]},r([0,0,90]).scale(159.155)},t.geoTransverseMercatorRaw=An,Object.defineProperty(t,\"__esModule\",{value:!0})}))},{\"d3-array\":107}],115:[function(t,e,r){!function(t,n){\"object\"==typeof r&&void 0!==e?n(r):n((t=t||self).d3=t.d3||{})}(this,(function(t){\"use strict\";function e(t,e){return t.parent===e.parent?1:2}function r(t,e){return t+e.x}function n(t,e){return Math.max(t,e.y)}function i(t){var e=0,r=t.children,n=r&&r.length;if(n)for(;--n>=0;)e+=r[n].value;else e=1;t.value=e}function a(t,e){var r,n,i,a,s,u=new c(t),f=+t.value&&(u.value=t.value),h=[u];for(null==e&&(e=o);r=h.pop();)if(f&&(r.value=+r.data.value),(i=e(r.data))&&(s=i.length))for(r.children=new Array(s),a=s-1;a>=0;--a)h.push(n=r.children[a]=new c(i[a])),n.parent=r,n.depth=r.depth+1;return u.eachBefore(l)}function o(t){return t.children}function s(t){t.data=t.data.data}function l(t){var e=0;do{t.height=e}while((t=t.parent)&&t.height<++e)}function c(t){this.data=t,this.depth=this.height=0,this.parent=null}c.prototype=a.prototype={constructor:c,count:function(){return this.eachAfter(i)},each:function(t){var e,r,n,i,a=this,o=[a];do{for(e=o.reverse(),o=[];a=e.pop();)if(t(a),r=a.children)for(n=0,i=r.length;n=0;--r)i.push(e[r]);return this},sum:function(t){return this.eachAfter((function(e){for(var r=+t(e.data)||0,n=e.children,i=n&&n.length;--i>=0;)r+=n[i].value;e.value=r}))},sort:function(t){return this.eachBefore((function(e){e.children&&e.children.sort(t)}))},path:function(t){for(var e=this,r=function(t,e){if(t===e)return t;var r=t.ancestors(),n=e.ancestors(),i=null;t=r.pop(),e=n.pop();for(;t===e;)i=t,t=r.pop(),e=n.pop();return i}(e,t),n=[e];e!==r;)e=e.parent,n.push(e);for(var i=n.length;t!==r;)n.splice(i,0,t),t=t.parent;return n},ancestors:function(){for(var t=this,e=[t];t=t.parent;)e.push(t);return e},descendants:function(){var t=[];return this.each((function(e){t.push(e)})),t},leaves:function(){var t=[];return this.eachBefore((function(e){e.children||t.push(e)})),t},links:function(){var t=this,e=[];return t.each((function(r){r!==t&&e.push({source:r.parent,target:r})})),e},copy:function(){return a(this).eachBefore(s)}};var u=Array.prototype.slice;function f(t){for(var e,r,n=0,i=(t=function(t){for(var e,r,n=t.length;n;)r=Math.random()*n--|0,e=t[n],t[n]=t[r],t[r]=e;return t}(u.call(t))).length,a=[];n0&&r*r>n*n+i*i}function m(t,e){for(var r=0;r(o*=o)?(n=(c+o-i)/(2*c),a=Math.sqrt(Math.max(0,o/c-n*n)),r.x=t.x-n*s-a*l,r.y=t.y-n*l+a*s):(n=(c+i-o)/(2*c),a=Math.sqrt(Math.max(0,i/c-n*n)),r.x=e.x+n*s-a*l,r.y=e.y+n*l+a*s)):(r.x=e.x+r.r,r.y=e.y)}function b(t,e){var r=t.r+e.r-1e-6,n=e.x-t.x,i=e.y-t.y;return r>0&&r*r>n*n+i*i}function _(t){var e=t._,r=t.next._,n=e.r+r.r,i=(e.x*r.r+r.x*e.r)/n,a=(e.y*r.r+r.y*e.r)/n;return i*i+a*a}function w(t){this._=t,this.next=null,this.previous=null}function T(t){if(!(i=t.length))return 0;var e,r,n,i,a,o,s,l,c,u,h;if((e=t[0]).x=0,e.y=0,!(i>1))return e.r;if(r=t[1],e.x=-r.r,r.x=e.r,r.y=0,!(i>2))return e.r+r.r;x(r,e,n=t[2]),e=new w(e),r=new w(r),n=new w(n),e.next=n.previous=r,r.next=e.previous=n,n.next=r.previous=e;t:for(s=3;sh&&(h=s),g=u*u*m,(p=Math.max(h/g,g/f))>d){u-=s;break}d=p}v.push(o={value:u,dice:l1?e:1)},r}(G);var Z=function t(e){function r(t,r,n,i,a){if((o=t._squarify)&&o.ratio===e)for(var o,s,l,c,u,f=-1,h=o.length,p=t.value;++f1?e:1)},r}(G);t.cluster=function(){var t=e,i=1,a=1,o=!1;function s(e){var s,l=0;e.eachAfter((function(e){var i=e.children;i?(e.x=function(t){return t.reduce(r,0)/t.length}(i),e.y=function(t){return 1+t.reduce(n,0)}(i)):(e.x=s?l+=t(e,s):0,e.y=0,s=e)}));var c=function(t){for(var e;e=t.children;)t=e[0];return t}(e),u=function(t){for(var e;e=t.children;)t=e[e.length-1];return t}(e),f=c.x-t(c,u)/2,h=u.x+t(u,c)/2;return e.eachAfter(o?function(t){t.x=(t.x-e.x)*i,t.y=(e.y-t.y)*a}:function(t){t.x=(t.x-f)/(h-f)*i,t.y=(1-(e.y?t.y/e.y:1))*a})}return s.separation=function(e){return arguments.length?(t=e,s):t},s.size=function(t){return arguments.length?(o=!1,i=+t[0],a=+t[1],s):o?null:[i,a]},s.nodeSize=function(t){return arguments.length?(o=!0,i=+t[0],a=+t[1],s):o?[i,a]:null},s},t.hierarchy=a,t.pack=function(){var t=null,e=1,r=1,n=M;function i(i){return i.x=e/2,i.y=r/2,t?i.eachBefore(L(t)).eachAfter(C(n,.5)).eachBefore(P(1)):i.eachBefore(L(E)).eachAfter(C(M,1)).eachAfter(C(n,i.r/Math.min(e,r))).eachBefore(P(Math.min(e,r)/(2*i.r))),i}return i.radius=function(e){return arguments.length?(t=k(e),i):t},i.size=function(t){return arguments.length?(e=+t[0],r=+t[1],i):[e,r]},i.padding=function(t){return arguments.length?(n=\"function\"==typeof t?t:S(+t),i):n},i},t.packEnclose=f,t.packSiblings=function(t){return T(t),t},t.partition=function(){var t=1,e=1,r=0,n=!1;function i(i){var a=i.height+1;return i.x0=i.y0=r,i.x1=t,i.y1=e/a,i.eachBefore(function(t,e){return function(n){n.children&&O(n,n.x0,t*(n.depth+1)/e,n.x1,t*(n.depth+2)/e);var i=n.x0,a=n.y0,o=n.x1-r,s=n.y1-r;o0)throw new Error(\"cycle\");return a}return r.id=function(e){return arguments.length?(t=A(e),r):t},r.parentId=function(t){return arguments.length?(e=A(t),r):e},r},t.tree=function(){var t=B,e=1,r=1,n=null;function i(i){var l=function(t){for(var e,r,n,i,a,o=new H(t,0),s=[o];e=s.pop();)if(n=e._.children)for(e.children=new Array(a=n.length),i=a-1;i>=0;--i)s.push(r=e.children[i]=new H(n[i],i)),r.parent=e;return(o.parent=new H(null,0)).children=[o],o}(i);if(l.eachAfter(a),l.parent.m=-l.z,l.eachBefore(o),n)i.eachBefore(s);else{var c=i,u=i,f=i;i.eachBefore((function(t){t.xu.x&&(u=t),t.depth>f.depth&&(f=t)}));var h=c===u?1:t(c,u)/2,p=h-c.x,d=e/(u.x+h+p),m=r/(f.depth||1);i.eachBefore((function(t){t.x=(t.x+p)*d,t.y=t.depth*m}))}return i}function a(e){var r=e.children,n=e.parent.children,i=e.i?n[e.i-1]:null;if(r){!function(t){for(var e,r=0,n=0,i=t.children,a=i.length;--a>=0;)(e=i[a]).z+=r,e.m+=r,r+=e.s+(n+=e.c)}(e);var a=(r[0].z+r[r.length-1].z)/2;i?(e.z=i.z+t(e._,i._),e.m=e.z-a):e.z=a}else i&&(e.z=i.z+t(e._,i._));e.parent.A=function(e,r,n){if(r){for(var i,a=e,o=e,s=r,l=a.parent.children[0],c=a.m,u=o.m,f=s.m,h=l.m;s=j(s),a=N(a),s&&a;)l=N(l),(o=j(o)).a=e,(i=s.z+f-a.z-c+t(s._,a._))>0&&(U(V(s,e,n),e,i),c+=i,u+=i),f+=s.m,c+=a.m,h+=l.m,u+=o.m;s&&!j(o)&&(o.t=s,o.m+=f-u),a&&!N(l)&&(l.t=a,l.m+=c-h,n=e)}return n}(e,i,e.parent.A||n[0])}function o(t){t._.x=t.z+t.parent.m,t.m+=t.parent.m}function s(t){t.x*=e,t.y=t.depth*r}return i.separation=function(e){return arguments.length?(t=e,i):t},i.size=function(t){return arguments.length?(n=!1,e=+t[0],r=+t[1],i):n?null:[e,r]},i.nodeSize=function(t){return arguments.length?(n=!0,e=+t[0],r=+t[1],i):n?[e,r]:null},i},t.treemap=function(){var t=W,e=!1,r=1,n=1,i=[0],a=M,o=M,s=M,l=M,c=M;function u(t){return t.x0=t.y0=0,t.x1=r,t.y1=n,t.eachBefore(f),i=[0],e&&t.eachBefore(I),t}function f(e){var r=i[e.depth],n=e.x0+r,u=e.y0+r,f=e.x1-r,h=e.y1-r;f=r-1){var u=s[e];return u.x0=i,u.y0=a,u.x1=o,void(u.y1=l)}var f=c[e],h=n/2+f,p=e+1,d=r-1;for(;p>>1;c[m]l-a){var y=(i*v+o*g)/n;t(e,p,g,i,a,y,l),t(p,r,v,y,a,o,l)}else{var x=(a*v+l*g)/n;t(e,p,g,i,a,o,x),t(p,r,v,i,x,o,l)}}(0,l,t.value,e,r,n,i)},t.treemapDice=O,t.treemapResquarify=Z,t.treemapSlice=q,t.treemapSliceDice=function(t,e,r,n,i){(1&t.depth?q:O)(t,e,r,n,i)},t.treemapSquarify=W,Object.defineProperty(t,\"__esModule\",{value:!0})}))},{}],116:[function(t,e,r){!function(n,i){\"object\"==typeof r&&void 0!==e?i(r,t(\"d3-color\")):i((n=n||self).d3=n.d3||{},n.d3)}(this,(function(t,e){\"use strict\";function r(t,e,r,n,i){var a=t*t,o=a*t;return((1-3*t+3*a-o)*e+(4-6*a+3*o)*r+(1+3*t+3*a-3*o)*n+o*i)/6}function n(t){var e=t.length-1;return function(n){var i=n<=0?n=0:n>=1?(n=1,e-1):Math.floor(n*e),a=t[i],o=t[i+1],s=i>0?t[i-1]:2*a-o,l=i180||r<-180?r-360*Math.round(r/360):r):a(isNaN(t)?e:t)}function l(t){return 1==(t=+t)?c:function(e,r){return r-e?function(t,e,r){return t=Math.pow(t,r),e=Math.pow(e,r)-t,r=1/r,function(n){return Math.pow(t+n*e,r)}}(e,r,t):a(isNaN(e)?r:e)}}function c(t,e){var r=e-t;return r?o(t,r):a(isNaN(t)?e:t)}var u=function t(r){var n=l(r);function i(t,r){var i=n((t=e.rgb(t)).r,(r=e.rgb(r)).r),a=n(t.g,r.g),o=n(t.b,r.b),s=c(t.opacity,r.opacity);return function(e){return t.r=i(e),t.g=a(e),t.b=o(e),t.opacity=s(e),t+\"\"}}return i.gamma=t,i}(1);function f(t){return function(r){var n,i,a=r.length,o=new Array(a),s=new Array(a),l=new Array(a);for(n=0;na&&(i=e.slice(a,i),s[o]?s[o]+=i:s[++o]=i),(r=r[0])===(n=n[0])?s[o]?s[o]+=n:s[++o]=n:(s[++o]=null,l.push({i:o,x:y(r,n)})),a=_.lastIndex;return a180?e+=360:e-t>180&&(t+=360),a.push({i:r.push(i(r)+\"rotate(\",null,n)-2,x:y(t,e)})):e&&r.push(i(r)+\"rotate(\"+e+n)}(a.rotate,o.rotate,s,l),function(t,e,r,a){t!==e?a.push({i:r.push(i(r)+\"skewX(\",null,n)-2,x:y(t,e)}):e&&r.push(i(r)+\"skewX(\"+e+n)}(a.skewX,o.skewX,s,l),function(t,e,r,n,a,o){if(t!==r||e!==n){var s=a.push(i(a)+\"scale(\",null,\",\",null,\")\");o.push({i:s-4,x:y(t,r)},{i:s-2,x:y(e,n)})}else 1===r&&1===n||a.push(i(a)+\"scale(\"+r+\",\"+n+\")\")}(a.scaleX,a.scaleY,o.scaleX,o.scaleY,s,l),a=o=null,function(t){for(var e,r=-1,n=l.length;++r1e-6)if(Math.abs(f*l-c*u)>1e-6&&a){var p=n-o,d=i-s,m=l*l+c*c,g=p*p+d*d,v=Math.sqrt(m),y=Math.sqrt(h),x=a*Math.tan((e-Math.acos((m+h-g)/(2*v*y)))/2),b=x/y,_=x/v;Math.abs(b-1)>1e-6&&(this._+=\"L\"+(t+b*u)+\",\"+(r+b*f)),this._+=\"A\"+a+\",\"+a+\",0,0,\"+ +(f*p>u*d)+\",\"+(this._x1=t+_*l)+\",\"+(this._y1=r+_*c)}else this._+=\"L\"+(this._x1=t)+\",\"+(this._y1=r);else;},arc:function(t,i,a,o,s,l){t=+t,i=+i,l=!!l;var c=(a=+a)*Math.cos(o),u=a*Math.sin(o),f=t+c,h=i+u,p=1^l,d=l?o-s:s-o;if(a<0)throw new Error(\"negative radius: \"+a);null===this._x1?this._+=\"M\"+f+\",\"+h:(Math.abs(this._x1-f)>1e-6||Math.abs(this._y1-h)>1e-6)&&(this._+=\"L\"+f+\",\"+h),a&&(d<0&&(d=d%r+r),d>n?this._+=\"A\"+a+\",\"+a+\",0,1,\"+p+\",\"+(t-c)+\",\"+(i-u)+\"A\"+a+\",\"+a+\",0,1,\"+p+\",\"+(this._x1=f)+\",\"+(this._y1=h):d>1e-6&&(this._+=\"A\"+a+\",\"+a+\",0,\"+ +(d>=e)+\",\"+p+\",\"+(this._x1=t+a*Math.cos(s))+\",\"+(this._y1=i+a*Math.sin(s))))},rect:function(t,e,r,n){this._+=\"M\"+(this._x0=this._x1=+t)+\",\"+(this._y0=this._y1=+e)+\"h\"+ +r+\"v\"+ +n+\"h\"+-r+\"Z\"},toString:function(){return this._}},t.path=a,Object.defineProperty(t,\"__esModule\",{value:!0})}))},{}],118:[function(t,e,r){!function(t,n){\"object\"==typeof r&&void 0!==e?n(r):n((t=t||self).d3=t.d3||{})}(this,(function(t){\"use strict\";function e(t,e,r,n){if(isNaN(e)||isNaN(r))return t;var i,a,o,s,l,c,u,f,h,p=t._root,d={data:n},m=t._x0,g=t._y0,v=t._x1,y=t._y1;if(!p)return t._root=d,t;for(;p.length;)if((c=e>=(a=(m+v)/2))?m=a:v=a,(u=r>=(o=(g+y)/2))?g=o:y=o,i=p,!(p=p[f=u<<1|c]))return i[f]=d,t;if(s=+t._x.call(null,p.data),l=+t._y.call(null,p.data),e===s&&r===l)return d.next=p,i?i[f]=d:t._root=d,t;do{i=i?i[f]=new Array(4):t._root=new Array(4),(c=e>=(a=(m+v)/2))?m=a:v=a,(u=r>=(o=(g+y)/2))?g=o:y=o}while((f=u<<1|c)==(h=(l>=o)<<1|s>=a));return i[h]=p,i[f]=d,t}function r(t,e,r,n,i){this.node=t,this.x0=e,this.y0=r,this.x1=n,this.y1=i}function n(t){return t[0]}function i(t){return t[1]}function a(t,e,r){var a=new o(null==e?n:e,null==r?i:r,NaN,NaN,NaN,NaN);return null==t?a:a.addAll(t)}function o(t,e,r,n,i,a){this._x=t,this._y=e,this._x0=r,this._y0=n,this._x1=i,this._y1=a,this._root=void 0}function s(t){for(var e={data:t.data},r=e;t=t.next;)r=r.next={data:t.data};return e}var l=a.prototype=o.prototype;l.copy=function(){var t,e,r=new o(this._x,this._y,this._x0,this._y0,this._x1,this._y1),n=this._root;if(!n)return r;if(!n.length)return r._root=s(n),r;for(t=[{source:n,target:r._root=new Array(4)}];n=t.pop();)for(var i=0;i<4;++i)(e=n.source[i])&&(e.length?t.push({source:e,target:n.target[i]=new Array(4)}):n.target[i]=s(e));return r},l.add=function(t){var r=+this._x.call(null,t),n=+this._y.call(null,t);return e(this.cover(r,n),r,n,t)},l.addAll=function(t){var r,n,i,a,o=t.length,s=new Array(o),l=new Array(o),c=1/0,u=1/0,f=-1/0,h=-1/0;for(n=0;nf&&(f=i),ah&&(h=a));if(c>f||u>h)return this;for(this.cover(c,u).cover(f,h),n=0;nt||t>=i||n>e||e>=a;)switch(s=(ep||(o=c.y0)>d||(s=c.x1)=y)<<1|t>=v)&&(c=m[m.length-1],m[m.length-1]=m[m.length-1-u],m[m.length-1-u]=c)}else{var x=t-+this._x.call(null,g.data),b=e-+this._y.call(null,g.data),_=x*x+b*b;if(_=(s=(d+g)/2))?d=s:g=s,(u=o>=(l=(m+v)/2))?m=l:v=l,e=p,!(p=p[f=u<<1|c]))return this;if(!p.length)break;(e[f+1&3]||e[f+2&3]||e[f+3&3])&&(r=e,h=f)}for(;p.data!==t;)if(n=p,!(p=p.next))return this;return(i=p.next)&&delete p.next,n?(i?n.next=i:delete n.next,this):e?(i?e[f]=i:delete e[f],(p=e[0]||e[1]||e[2]||e[3])&&p===(e[3]||e[2]||e[1]||e[0])&&!p.length&&(r?r[h]=p:this._root=p),this):(this._root=i,this)},l.removeAll=function(t){for(var e=0,r=t.length;e1?0:t<-1?u:Math.acos(t)}function d(t){return t>=1?f:t<=-1?-f:Math.asin(t)}function m(t){return t.innerRadius}function g(t){return t.outerRadius}function v(t){return t.startAngle}function y(t){return t.endAngle}function x(t){return t&&t.padAngle}function b(t,e,r,n,i,a,o,s){var l=r-t,c=n-e,u=o-i,f=s-a,h=f*l-u*c;if(!(h*h<1e-12))return[t+(h=(u*(e-a)-f*(t-i))/h)*l,e+h*c]}function _(t,e,r,n,i,a,s){var l=t-r,u=e-n,f=(s?a:-a)/c(l*l+u*u),h=f*u,p=-f*l,d=t+h,m=e+p,g=r+h,v=n+p,y=(d+g)/2,x=(m+v)/2,b=g-d,_=v-m,w=b*b+_*_,T=i-a,k=d*v-g*m,A=(_<0?-1:1)*c(o(0,T*T*w-k*k)),M=(k*_-b*A)/w,S=(-k*b-_*A)/w,E=(k*_+b*A)/w,L=(-k*b+_*A)/w,C=M-y,P=S-x,I=E-y,O=L-x;return C*C+P*P>I*I+O*O&&(M=E,S=L),{cx:M,cy:S,x01:-h,y01:-p,x11:M*(i/T-1),y11:S*(i/T-1)}}function w(t){this._context=t}function T(t){return new w(t)}function k(t){return t[0]}function A(t){return t[1]}function M(){var t=k,n=A,i=r(!0),a=null,o=T,s=null;function l(r){var l,c,u,f=r.length,h=!1;for(null==a&&(s=o(u=e.path())),l=0;l<=f;++l)!(l=f;--h)c.point(v[h],y[h]);c.lineEnd(),c.areaEnd()}g&&(v[u]=+t(p,u,r),y[u]=+i(p,u,r),c.point(n?+n(p,u,r):v[u],a?+a(p,u,r):y[u]))}if(d)return c=null,d+\"\"||null}function f(){return M().defined(o).curve(l).context(s)}return u.x=function(e){return arguments.length?(t=\"function\"==typeof e?e:r(+e),n=null,u):t},u.x0=function(e){return arguments.length?(t=\"function\"==typeof e?e:r(+e),u):t},u.x1=function(t){return arguments.length?(n=null==t?null:\"function\"==typeof t?t:r(+t),u):n},u.y=function(t){return arguments.length?(i=\"function\"==typeof t?t:r(+t),a=null,u):i},u.y0=function(t){return arguments.length?(i=\"function\"==typeof t?t:r(+t),u):i},u.y1=function(t){return arguments.length?(a=null==t?null:\"function\"==typeof t?t:r(+t),u):a},u.lineX0=u.lineY0=function(){return f().x(t).y(i)},u.lineY1=function(){return f().x(t).y(a)},u.lineX1=function(){return f().x(n).y(i)},u.defined=function(t){return arguments.length?(o=\"function\"==typeof t?t:r(!!t),u):o},u.curve=function(t){return arguments.length?(l=t,null!=s&&(c=l(s)),u):l},u.context=function(t){return arguments.length?(null==t?s=c=null:c=l(s=t),u):s},u}function E(t,e){return et?1:e>=t?0:NaN}function L(t){return t}w.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:this._context.lineTo(t,e)}}};var C=I(T);function P(t){this._curve=t}function I(t){function e(e){return new P(t(e))}return e._curve=t,e}function O(t){var e=t.curve;return t.angle=t.x,delete t.x,t.radius=t.y,delete t.y,t.curve=function(t){return arguments.length?e(I(t)):e()._curve},t}function z(){return O(M().curve(C))}function D(){var t=S().curve(C),e=t.curve,r=t.lineX0,n=t.lineX1,i=t.lineY0,a=t.lineY1;return t.angle=t.x,delete t.x,t.startAngle=t.x0,delete t.x0,t.endAngle=t.x1,delete t.x1,t.radius=t.y,delete t.y,t.innerRadius=t.y0,delete t.y0,t.outerRadius=t.y1,delete t.y1,t.lineStartAngle=function(){return O(r())},delete t.lineX0,t.lineEndAngle=function(){return O(n())},delete t.lineX1,t.lineInnerRadius=function(){return O(i())},delete t.lineY0,t.lineOuterRadius=function(){return O(a())},delete t.lineY1,t.curve=function(t){return arguments.length?e(I(t)):e()._curve},t}function R(t,e){return[(e=+e)*Math.cos(t-=Math.PI/2),e*Math.sin(t)]}P.prototype={areaStart:function(){this._curve.areaStart()},areaEnd:function(){this._curve.areaEnd()},lineStart:function(){this._curve.lineStart()},lineEnd:function(){this._curve.lineEnd()},point:function(t,e){this._curve.point(e*Math.sin(t),e*-Math.cos(t))}};var F=Array.prototype.slice;function B(t){return t.source}function N(t){return t.target}function j(t){var n=B,i=N,a=k,o=A,s=null;function l(){var r,l=F.call(arguments),c=n.apply(this,l),u=i.apply(this,l);if(s||(s=r=e.path()),t(s,+a.apply(this,(l[0]=c,l)),+o.apply(this,l),+a.apply(this,(l[0]=u,l)),+o.apply(this,l)),r)return s=null,r+\"\"||null}return l.source=function(t){return arguments.length?(n=t,l):n},l.target=function(t){return arguments.length?(i=t,l):i},l.x=function(t){return arguments.length?(a=\"function\"==typeof t?t:r(+t),l):a},l.y=function(t){return arguments.length?(o=\"function\"==typeof t?t:r(+t),l):o},l.context=function(t){return arguments.length?(s=null==t?null:t,l):s},l}function U(t,e,r,n,i){t.moveTo(e,r),t.bezierCurveTo(e=(e+n)/2,r,e,i,n,i)}function V(t,e,r,n,i){t.moveTo(e,r),t.bezierCurveTo(e,r=(r+i)/2,n,r,n,i)}function H(t,e,r,n,i){var a=R(e,r),o=R(e,r=(r+i)/2),s=R(n,r),l=R(n,i);t.moveTo(a[0],a[1]),t.bezierCurveTo(o[0],o[1],s[0],s[1],l[0],l[1])}var q={draw:function(t,e){var r=Math.sqrt(e/u);t.moveTo(r,0),t.arc(0,0,r,0,h)}},G={draw:function(t,e){var r=Math.sqrt(e/5)/2;t.moveTo(-3*r,-r),t.lineTo(-r,-r),t.lineTo(-r,-3*r),t.lineTo(r,-3*r),t.lineTo(r,-r),t.lineTo(3*r,-r),t.lineTo(3*r,r),t.lineTo(r,r),t.lineTo(r,3*r),t.lineTo(-r,3*r),t.lineTo(-r,r),t.lineTo(-3*r,r),t.closePath()}},Y=Math.sqrt(1/3),W=2*Y,Z={draw:function(t,e){var r=Math.sqrt(e/W),n=r*Y;t.moveTo(0,-r),t.lineTo(n,0),t.lineTo(0,r),t.lineTo(-n,0),t.closePath()}},X=Math.sin(u/10)/Math.sin(7*u/10),J=Math.sin(h/10)*X,K=-Math.cos(h/10)*X,Q={draw:function(t,e){var r=Math.sqrt(.8908130915292852*e),n=J*r,i=K*r;t.moveTo(0,-r),t.lineTo(n,i);for(var a=1;a<5;++a){var o=h*a/5,s=Math.cos(o),l=Math.sin(o);t.lineTo(l*r,-s*r),t.lineTo(s*n-l*i,l*n+s*i)}t.closePath()}},$={draw:function(t,e){var r=Math.sqrt(e),n=-r/2;t.rect(n,n,r,r)}},tt=Math.sqrt(3),et={draw:function(t,e){var r=-Math.sqrt(e/(3*tt));t.moveTo(0,2*r),t.lineTo(-tt*r,-r),t.lineTo(tt*r,-r),t.closePath()}},rt=-.5,nt=Math.sqrt(3)/2,it=1/Math.sqrt(12),at=3*(it/2+1),ot={draw:function(t,e){var r=Math.sqrt(e/at),n=r/2,i=r*it,a=n,o=r*it+r,s=-a,l=o;t.moveTo(n,i),t.lineTo(a,o),t.lineTo(s,l),t.lineTo(rt*n-nt*i,nt*n+rt*i),t.lineTo(rt*a-nt*o,nt*a+rt*o),t.lineTo(rt*s-nt*l,nt*s+rt*l),t.lineTo(rt*n+nt*i,rt*i-nt*n),t.lineTo(rt*a+nt*o,rt*o-nt*a),t.lineTo(rt*s+nt*l,rt*l-nt*s),t.closePath()}},st=[q,G,Z,$,Q,et,ot];function lt(){}function ct(t,e,r){t._context.bezierCurveTo((2*t._x0+t._x1)/3,(2*t._y0+t._y1)/3,(t._x0+2*t._x1)/3,(t._y0+2*t._y1)/3,(t._x0+4*t._x1+e)/6,(t._y0+4*t._y1+r)/6)}function ut(t){this._context=t}function ft(t){this._context=t}function ht(t){this._context=t}function pt(t,e){this._basis=new ut(t),this._beta=e}ut.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:ct(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:ct(this,t,e)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}},ft.prototype={areaStart:lt,areaEnd:lt,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x2,this._y2),this._context.closePath();break;case 2:this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break;case 3:this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4)}},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._x2=t,this._y2=e;break;case 1:this._point=2,this._x3=t,this._y3=e;break;case 2:this._point=3,this._x4=t,this._y4=e,this._context.moveTo((this._x0+4*this._x1+t)/6,(this._y0+4*this._y1+e)/6);break;default:ct(this,t,e)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}},ht.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var r=(this._x0+4*this._x1+t)/6,n=(this._y0+4*this._y1+e)/6;this._line?this._context.lineTo(r,n):this._context.moveTo(r,n);break;case 3:this._point=4;default:ct(this,t,e)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}},pt.prototype={lineStart:function(){this._x=[],this._y=[],this._basis.lineStart()},lineEnd:function(){var t=this._x,e=this._y,r=t.length-1;if(r>0)for(var n,i=t[0],a=e[0],o=t[r]-i,s=e[r]-a,l=-1;++l<=r;)n=l/r,this._basis.point(this._beta*t[l]+(1-this._beta)*(i+n*o),this._beta*e[l]+(1-this._beta)*(a+n*s));this._x=this._y=null,this._basis.lineEnd()},point:function(t,e){this._x.push(+t),this._y.push(+e)}};var dt=function t(e){function r(t){return 1===e?new ut(t):new pt(t,e)}return r.beta=function(e){return t(+e)},r}(.85);function mt(t,e,r){t._context.bezierCurveTo(t._x1+t._k*(t._x2-t._x0),t._y1+t._k*(t._y2-t._y0),t._x2+t._k*(t._x1-e),t._y2+t._k*(t._y1-r),t._x2,t._y2)}function gt(t,e){this._context=t,this._k=(1-e)/6}gt.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:mt(this,this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2,this._x1=t,this._y1=e;break;case 2:this._point=3;default:mt(this,t,e)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var vt=function t(e){function r(t){return new gt(t,e)}return r.tension=function(e){return t(+e)},r}(0);function yt(t,e){this._context=t,this._k=(1-e)/6}yt.prototype={areaStart:lt,areaEnd:lt,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x3,this._y3),this._context.closePath();break;case 2:this._context.lineTo(this._x3,this._y3),this._context.closePath();break;case 3:this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5)}},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._x3=t,this._y3=e;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=e);break;case 2:this._point=3,this._x5=t,this._y5=e;break;default:mt(this,t,e)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var xt=function t(e){function r(t){return new yt(t,e)}return r.tension=function(e){return t(+e)},r}(0);function bt(t,e){this._context=t,this._k=(1-e)/6}bt.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:mt(this,t,e)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var _t=function t(e){function r(t){return new bt(t,e)}return r.tension=function(e){return t(+e)},r}(0);function wt(t,e,r){var n=t._x1,i=t._y1,a=t._x2,o=t._y2;if(t._l01_a>1e-12){var s=2*t._l01_2a+3*t._l01_a*t._l12_a+t._l12_2a,l=3*t._l01_a*(t._l01_a+t._l12_a);n=(n*s-t._x0*t._l12_2a+t._x2*t._l01_2a)/l,i=(i*s-t._y0*t._l12_2a+t._y2*t._l01_2a)/l}if(t._l23_a>1e-12){var c=2*t._l23_2a+3*t._l23_a*t._l12_a+t._l12_2a,u=3*t._l23_a*(t._l23_a+t._l12_a);a=(a*c+t._x1*t._l23_2a-e*t._l12_2a)/u,o=(o*c+t._y1*t._l23_2a-r*t._l12_2a)/u}t._context.bezierCurveTo(n,i,a,o,t._x2,t._y2)}function Tt(t,e){this._context=t,this._alpha=e}Tt.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:this.point(this._x2,this._y2)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){if(t=+t,e=+e,this._point){var r=this._x2-t,n=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(r*r+n*n,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3;default:wt(this,t,e)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var kt=function t(e){function r(t){return e?new Tt(t,e):new gt(t,0)}return r.alpha=function(e){return t(+e)},r}(.5);function At(t,e){this._context=t,this._alpha=e}At.prototype={areaStart:lt,areaEnd:lt,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x3,this._y3),this._context.closePath();break;case 2:this._context.lineTo(this._x3,this._y3),this._context.closePath();break;case 3:this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5)}},point:function(t,e){if(t=+t,e=+e,this._point){var r=this._x2-t,n=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(r*r+n*n,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=t,this._y3=e;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=e);break;case 2:this._point=3,this._x5=t,this._y5=e;break;default:wt(this,t,e)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var Mt=function t(e){function r(t){return e?new At(t,e):new yt(t,0)}return r.alpha=function(e){return t(+e)},r}(.5);function St(t,e){this._context=t,this._alpha=e}St.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){if(t=+t,e=+e,this._point){var r=this._x2-t,n=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(r*r+n*n,this._alpha))}switch(this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:wt(this,t,e)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var Et=function t(e){function r(t){return e?new St(t,e):new bt(t,0)}return r.alpha=function(e){return t(+e)},r}(.5);function Lt(t){this._context=t}function Ct(t){return t<0?-1:1}function Pt(t,e,r){var n=t._x1-t._x0,i=e-t._x1,a=(t._y1-t._y0)/(n||i<0&&-0),o=(r-t._y1)/(i||n<0&&-0),s=(a*i+o*n)/(n+i);return(Ct(a)+Ct(o))*Math.min(Math.abs(a),Math.abs(o),.5*Math.abs(s))||0}function It(t,e){var r=t._x1-t._x0;return r?(3*(t._y1-t._y0)/r-e)/2:e}function Ot(t,e,r){var n=t._x0,i=t._y0,a=t._x1,o=t._y1,s=(a-n)/3;t._context.bezierCurveTo(n+s,i+s*e,a-s,o-s*r,a,o)}function zt(t){this._context=t}function Dt(t){this._context=new Rt(t)}function Rt(t){this._context=t}function Ft(t){this._context=t}function Bt(t){var e,r,n=t.length-1,i=new Array(n),a=new Array(n),o=new Array(n);for(i[0]=0,a[0]=2,o[0]=t[0]+2*t[1],e=1;e=0;--e)i[e]=(o[e]-i[e+1])/a[e];for(a[n-1]=(t[n]+i[n-1])/2,e=0;e1)for(var r,n,i,a=1,o=t[e[0]],s=o.length;a=0;)r[e]=e;return r}function Vt(t,e){return t[e]}function Ht(t){var e=t.map(qt);return Ut(t).sort((function(t,r){return e[t]-e[r]}))}function qt(t){for(var e,r=-1,n=0,i=t.length,a=-1/0;++ra&&(a=e,n=r);return n}function Gt(t){var e=t.map(Yt);return Ut(t).sort((function(t,r){return e[t]-e[r]}))}function Yt(t){for(var e,r=0,n=-1,i=t.length;++n=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:if(this._t<=0)this._context.lineTo(this._x,e),this._context.lineTo(t,e);else{var r=this._x*(1-this._t)+t*this._t;this._context.lineTo(r,this._y),this._context.lineTo(r,e)}}this._x=t,this._y=e}},t.arc=function(){var t=m,o=g,w=r(0),T=null,k=v,A=y,M=x,S=null;function E(){var r,m,g=+t.apply(this,arguments),v=+o.apply(this,arguments),y=k.apply(this,arguments)-f,x=A.apply(this,arguments)-f,E=n(x-y),L=x>y;if(S||(S=r=e.path()),v1e-12)if(E>h-1e-12)S.moveTo(v*a(y),v*l(y)),S.arc(0,0,v,y,x,!L),g>1e-12&&(S.moveTo(g*a(x),g*l(x)),S.arc(0,0,g,x,y,L));else{var C,P,I=y,O=x,z=y,D=x,R=E,F=E,B=M.apply(this,arguments)/2,N=B>1e-12&&(T?+T.apply(this,arguments):c(g*g+v*v)),j=s(n(v-g)/2,+w.apply(this,arguments)),U=j,V=j;if(N>1e-12){var H=d(N/g*l(B)),q=d(N/v*l(B));(R-=2*H)>1e-12?(z+=H*=L?1:-1,D-=H):(R=0,z=D=(y+x)/2),(F-=2*q)>1e-12?(I+=q*=L?1:-1,O-=q):(F=0,I=O=(y+x)/2)}var G=v*a(I),Y=v*l(I),W=g*a(D),Z=g*l(D);if(j>1e-12){var X,J=v*a(O),K=v*l(O),Q=g*a(z),$=g*l(z);if(E1e-12?V>1e-12?(C=_(Q,$,G,Y,v,V,L),P=_(J,K,W,Z,v,V,L),S.moveTo(C.cx+C.x01,C.cy+C.y01),V1e-12&&R>1e-12?U>1e-12?(C=_(W,Z,J,K,g,-U,L),P=_(G,Y,Q,$,g,-U,L),S.lineTo(C.cx+C.x01,C.cy+C.y01),U0&&(d+=f);for(null!=e?m.sort((function(t,r){return e(g[t],g[r])})):null!=n&&m.sort((function(t,e){return n(r[t],r[e])})),s=0,c=d?(y-p*b)/d:0;s0?f*c:0)+b,g[l]={data:r[l],index:s,value:f,startAngle:v,endAngle:u,padAngle:x};return g}return s.value=function(e){return arguments.length?(t=\"function\"==typeof e?e:r(+e),s):t},s.sortValues=function(t){return arguments.length?(e=t,n=null,s):e},s.sort=function(t){return arguments.length?(n=t,e=null,s):n},s.startAngle=function(t){return arguments.length?(i=\"function\"==typeof t?t:r(+t),s):i},s.endAngle=function(t){return arguments.length?(a=\"function\"==typeof t?t:r(+t),s):a},s.padAngle=function(t){return arguments.length?(o=\"function\"==typeof t?t:r(+t),s):o},s},t.pointRadial=R,t.radialArea=D,t.radialLine=z,t.stack=function(){var t=r([]),e=Ut,n=jt,i=Vt;function a(r){var a,o,s=t.apply(this,arguments),l=r.length,c=s.length,u=new Array(c);for(a=0;a0)for(var r,n,i,a,o,s,l=0,c=t[e[0]].length;l0?(n[0]=a,n[1]=a+=i):i<0?(n[1]=o,n[0]=o+=i):(n[0]=0,n[1]=i)},t.stackOffsetExpand=function(t,e){if((n=t.length)>0){for(var r,n,i,a=0,o=t[0].length;a0){for(var r,n=0,i=t[e[0]],a=i.length;n0&&(n=(r=t[e[0]]).length)>0){for(var r,n,i,a=0,o=1;o=12)]},q:function(t){return 1+~~(t.getMonth()/3)},Q:gt,s:vt,S:H,u:q,U:G,V:Y,w:W,W:Z,x:null,X:null,y:X,Y:J,Z:K,\"%\":mt},Ct={a:function(t){return f[t.getUTCDay()]},A:function(t){return u[t.getUTCDay()]},b:function(t){return yt[t.getUTCMonth()]},B:function(t){return h[t.getUTCMonth()]},c:null,d:Q,e:Q,f:nt,H:$,I:tt,j:et,L:rt,m:it,M:at,p:function(t){return c[+(t.getUTCHours()>=12)]},q:function(t){return 1+~~(t.getUTCMonth()/3)},Q:gt,s:vt,S:ot,u:st,U:lt,V:ct,w:ut,W:ft,x:null,X:null,y:ht,Y:pt,Z:dt,\"%\":mt},Pt={a:function(t,e,r){var n=Tt.exec(e.slice(r));return n?(t.w=kt[n[0].toLowerCase()],r+n[0].length):-1},A:function(t,e,r){var n=_t.exec(e.slice(r));return n?(t.w=wt[n[0].toLowerCase()],r+n[0].length):-1},b:function(t,e,r){var n=St.exec(e.slice(r));return n?(t.m=Et[n[0].toLowerCase()],r+n[0].length):-1},B:function(t,e,r){var n=At.exec(e.slice(r));return n?(t.m=Mt[n[0].toLowerCase()],r+n[0].length):-1},c:function(t,e,r){return zt(t,a,e,r)},d:A,e:A,f:P,H:S,I:S,j:M,L:C,m:k,M:E,p:function(t,e,r){var n=xt.exec(e.slice(r));return n?(t.p=bt[n[0].toLowerCase()],r+n[0].length):-1},q:T,Q:O,s:z,S:L,u:g,U:v,V:y,w:m,W:x,x:function(t,e,r){return zt(t,o,e,r)},X:function(t,e,r){return zt(t,l,e,r)},y:_,Y:b,Z:w,\"%\":I};function It(t,e){return function(r){var n,i,a,o=[],l=-1,c=0,u=t.length;for(r instanceof Date||(r=new Date(+r));++l53)return null;\"w\"in c||(c.w=1),\"Z\"in c?(l=(s=n(i(c.y,0,1))).getUTCDay(),s=l>4||0===l?e.utcMonday.ceil(s):e.utcMonday(s),s=e.utcDay.offset(s,7*(c.V-1)),c.y=s.getUTCFullYear(),c.m=s.getUTCMonth(),c.d=s.getUTCDate()+(c.w+6)%7):(l=(s=r(i(c.y,0,1))).getDay(),s=l>4||0===l?e.timeMonday.ceil(s):e.timeMonday(s),s=e.timeDay.offset(s,7*(c.V-1)),c.y=s.getFullYear(),c.m=s.getMonth(),c.d=s.getDate()+(c.w+6)%7)}else(\"W\"in c||\"U\"in c)&&(\"w\"in c||(c.w=\"u\"in c?c.u%7:\"W\"in c?1:0),l=\"Z\"in c?n(i(c.y,0,1)).getUTCDay():r(i(c.y,0,1)).getDay(),c.m=0,c.d=\"W\"in c?(c.w+6)%7+7*c.W-(l+5)%7:c.w+7*c.U-(l+6)%7);return\"Z\"in c?(c.H+=c.Z/100|0,c.M+=c.Z%100,n(c)):r(c)}}function zt(t,e,r,n){for(var i,a,o=0,l=e.length,c=r.length;o=c)return-1;if(37===(i=e.charCodeAt(o++))){if(i=e.charAt(o++),!(a=Pt[i in s?e.charAt(o++):i])||(n=a(t,r,n))<0)return-1}else if(i!=r.charCodeAt(n++))return-1}return n}return Lt.x=It(o,Lt),Lt.X=It(l,Lt),Lt.c=It(a,Lt),Ct.x=It(o,Ct),Ct.X=It(l,Ct),Ct.c=It(a,Ct),{format:function(t){var e=It(t+=\"\",Lt);return e.toString=function(){return t},e},parse:function(t){var e=Ot(t+=\"\",!1);return e.toString=function(){return t},e},utcFormat:function(t){var e=It(t+=\"\",Ct);return e.toString=function(){return t},e},utcParse:function(t){var e=Ot(t+=\"\",!0);return e.toString=function(){return t},e}}}var o,s={\"-\":\"\",_:\" \",0:\"0\"},l=/^\\s*\\d+/,c=/^%/,u=/[\\\\^$*+?|[\\]().{}]/g;function f(t,e,r){var n=t<0?\"-\":\"\",i=(n?-t:t)+\"\",a=i.length;return n+(a68?1900:2e3),r+n[0].length):-1}function w(t,e,r){var n=/^(Z)|([+-]\\d\\d)(?::?(\\d\\d))?/.exec(e.slice(r,r+6));return n?(t.Z=n[1]?0:-(n[2]+(n[3]||\"00\")),r+n[0].length):-1}function T(t,e,r){var n=l.exec(e.slice(r,r+1));return n?(t.q=3*n[0]-3,r+n[0].length):-1}function k(t,e,r){var n=l.exec(e.slice(r,r+2));return n?(t.m=n[0]-1,r+n[0].length):-1}function A(t,e,r){var n=l.exec(e.slice(r,r+2));return n?(t.d=+n[0],r+n[0].length):-1}function M(t,e,r){var n=l.exec(e.slice(r,r+3));return n?(t.m=0,t.d=+n[0],r+n[0].length):-1}function S(t,e,r){var n=l.exec(e.slice(r,r+2));return n?(t.H=+n[0],r+n[0].length):-1}function E(t,e,r){var n=l.exec(e.slice(r,r+2));return n?(t.M=+n[0],r+n[0].length):-1}function L(t,e,r){var n=l.exec(e.slice(r,r+2));return n?(t.S=+n[0],r+n[0].length):-1}function C(t,e,r){var n=l.exec(e.slice(r,r+3));return n?(t.L=+n[0],r+n[0].length):-1}function P(t,e,r){var n=l.exec(e.slice(r,r+6));return n?(t.L=Math.floor(n[0]/1e3),r+n[0].length):-1}function I(t,e,r){var n=c.exec(e.slice(r,r+1));return n?r+n[0].length:-1}function O(t,e,r){var n=l.exec(e.slice(r));return n?(t.Q=+n[0],r+n[0].length):-1}function z(t,e,r){var n=l.exec(e.slice(r));return n?(t.s=+n[0],r+n[0].length):-1}function D(t,e){return f(t.getDate(),e,2)}function R(t,e){return f(t.getHours(),e,2)}function F(t,e){return f(t.getHours()%12||12,e,2)}function B(t,r){return f(1+e.timeDay.count(e.timeYear(t),t),r,3)}function N(t,e){return f(t.getMilliseconds(),e,3)}function j(t,e){return N(t,e)+\"000\"}function U(t,e){return f(t.getMonth()+1,e,2)}function V(t,e){return f(t.getMinutes(),e,2)}function H(t,e){return f(t.getSeconds(),e,2)}function q(t){var e=t.getDay();return 0===e?7:e}function G(t,r){return f(e.timeSunday.count(e.timeYear(t)-1,t),r,2)}function Y(t,r){var n=t.getDay();return t=n>=4||0===n?e.timeThursday(t):e.timeThursday.ceil(t),f(e.timeThursday.count(e.timeYear(t),t)+(4===e.timeYear(t).getDay()),r,2)}function W(t){return t.getDay()}function Z(t,r){return f(e.timeMonday.count(e.timeYear(t)-1,t),r,2)}function X(t,e){return f(t.getFullYear()%100,e,2)}function J(t,e){return f(t.getFullYear()%1e4,e,4)}function K(t){var e=t.getTimezoneOffset();return(e>0?\"-\":(e*=-1,\"+\"))+f(e/60|0,\"0\",2)+f(e%60,\"0\",2)}function Q(t,e){return f(t.getUTCDate(),e,2)}function $(t,e){return f(t.getUTCHours(),e,2)}function tt(t,e){return f(t.getUTCHours()%12||12,e,2)}function et(t,r){return f(1+e.utcDay.count(e.utcYear(t),t),r,3)}function rt(t,e){return f(t.getUTCMilliseconds(),e,3)}function nt(t,e){return rt(t,e)+\"000\"}function it(t,e){return f(t.getUTCMonth()+1,e,2)}function at(t,e){return f(t.getUTCMinutes(),e,2)}function ot(t,e){return f(t.getUTCSeconds(),e,2)}function st(t){var e=t.getUTCDay();return 0===e?7:e}function lt(t,r){return f(e.utcSunday.count(e.utcYear(t)-1,t),r,2)}function ct(t,r){var n=t.getUTCDay();return t=n>=4||0===n?e.utcThursday(t):e.utcThursday.ceil(t),f(e.utcThursday.count(e.utcYear(t),t)+(4===e.utcYear(t).getUTCDay()),r,2)}function ut(t){return t.getUTCDay()}function ft(t,r){return f(e.utcMonday.count(e.utcYear(t)-1,t),r,2)}function ht(t,e){return f(t.getUTCFullYear()%100,e,2)}function pt(t,e){return f(t.getUTCFullYear()%1e4,e,4)}function dt(){return\"+0000\"}function mt(){return\"%\"}function gt(t){return+t}function vt(t){return Math.floor(+t/1e3)}function yt(e){return o=a(e),t.timeFormat=o.format,t.timeParse=o.parse,t.utcFormat=o.utcFormat,t.utcParse=o.utcParse,o}yt({dateTime:\"%x, %X\",date:\"%-m/%-d/%Y\",time:\"%-I:%M:%S %p\",periods:[\"AM\",\"PM\"],days:[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"],shortDays:[\"Sun\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"],months:[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"],shortMonths:[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"]});var xt=Date.prototype.toISOString?function(t){return t.toISOString()}:t.utcFormat(\"%Y-%m-%dT%H:%M:%S.%LZ\");var bt=+new Date(\"2000-01-01T00:00:00.000Z\")?function(t){var e=new Date(t);return isNaN(e)?null:e}:t.utcParse(\"%Y-%m-%dT%H:%M:%S.%LZ\");t.isoFormat=xt,t.isoParse=bt,t.timeFormatDefaultLocale=yt,t.timeFormatLocale=a,Object.defineProperty(t,\"__esModule\",{value:!0})}))},{\"d3-time\":121}],121:[function(t,e,r){!function(t,n){\"object\"==typeof r&&void 0!==e?n(r):n((t=t||self).d3=t.d3||{})}(this,(function(t){\"use strict\";var e=new Date,r=new Date;function n(t,i,a,o){function s(e){return t(e=0===arguments.length?new Date:new Date(+e)),e}return s.floor=function(e){return t(e=new Date(+e)),e},s.ceil=function(e){return t(e=new Date(e-1)),i(e,1),t(e),e},s.round=function(t){var e=s(t),r=s.ceil(t);return t-e0))return o;do{o.push(a=new Date(+e)),i(e,n),t(e)}while(a=r)for(;t(r),!e(r);)r.setTime(r-1)}),(function(t,r){if(t>=t)if(r<0)for(;++r<=0;)for(;i(t,-1),!e(t););else for(;--r>=0;)for(;i(t,1),!e(t););}))},a&&(s.count=function(n,i){return e.setTime(+n),r.setTime(+i),t(e),t(r),Math.floor(a(e,r))},s.every=function(t){return t=Math.floor(t),isFinite(t)&&t>0?t>1?s.filter(o?function(e){return o(e)%t==0}:function(e){return s.count(0,e)%t==0}):s:null}),s}var i=n((function(){}),(function(t,e){t.setTime(+t+e)}),(function(t,e){return e-t}));i.every=function(t){return t=Math.floor(t),isFinite(t)&&t>0?t>1?n((function(e){e.setTime(Math.floor(e/t)*t)}),(function(e,r){e.setTime(+e+r*t)}),(function(e,r){return(r-e)/t})):i:null};var a=i.range,o=n((function(t){t.setTime(t-t.getMilliseconds())}),(function(t,e){t.setTime(+t+1e3*e)}),(function(t,e){return(e-t)/1e3}),(function(t){return t.getUTCSeconds()})),s=o.range,l=n((function(t){t.setTime(t-t.getMilliseconds()-1e3*t.getSeconds())}),(function(t,e){t.setTime(+t+6e4*e)}),(function(t,e){return(e-t)/6e4}),(function(t){return t.getMinutes()})),c=l.range,u=n((function(t){t.setTime(t-t.getMilliseconds()-1e3*t.getSeconds()-6e4*t.getMinutes())}),(function(t,e){t.setTime(+t+36e5*e)}),(function(t,e){return(e-t)/36e5}),(function(t){return t.getHours()})),f=u.range,h=n((function(t){t.setHours(0,0,0,0)}),(function(t,e){t.setDate(t.getDate()+e)}),(function(t,e){return(e-t-6e4*(e.getTimezoneOffset()-t.getTimezoneOffset()))/864e5}),(function(t){return t.getDate()-1})),p=h.range;function d(t){return n((function(e){e.setDate(e.getDate()-(e.getDay()+7-t)%7),e.setHours(0,0,0,0)}),(function(t,e){t.setDate(t.getDate()+7*e)}),(function(t,e){return(e-t-6e4*(e.getTimezoneOffset()-t.getTimezoneOffset()))/6048e5}))}var m=d(0),g=d(1),v=d(2),y=d(3),x=d(4),b=d(5),_=d(6),w=m.range,T=g.range,k=v.range,A=y.range,M=x.range,S=b.range,E=_.range,L=n((function(t){t.setDate(1),t.setHours(0,0,0,0)}),(function(t,e){t.setMonth(t.getMonth()+e)}),(function(t,e){return e.getMonth()-t.getMonth()+12*(e.getFullYear()-t.getFullYear())}),(function(t){return t.getMonth()})),C=L.range,P=n((function(t){t.setMonth(0,1),t.setHours(0,0,0,0)}),(function(t,e){t.setFullYear(t.getFullYear()+e)}),(function(t,e){return e.getFullYear()-t.getFullYear()}),(function(t){return t.getFullYear()}));P.every=function(t){return isFinite(t=Math.floor(t))&&t>0?n((function(e){e.setFullYear(Math.floor(e.getFullYear()/t)*t),e.setMonth(0,1),e.setHours(0,0,0,0)}),(function(e,r){e.setFullYear(e.getFullYear()+r*t)})):null};var I=P.range,O=n((function(t){t.setUTCSeconds(0,0)}),(function(t,e){t.setTime(+t+6e4*e)}),(function(t,e){return(e-t)/6e4}),(function(t){return t.getUTCMinutes()})),z=O.range,D=n((function(t){t.setUTCMinutes(0,0,0)}),(function(t,e){t.setTime(+t+36e5*e)}),(function(t,e){return(e-t)/36e5}),(function(t){return t.getUTCHours()})),R=D.range,F=n((function(t){t.setUTCHours(0,0,0,0)}),(function(t,e){t.setUTCDate(t.getUTCDate()+e)}),(function(t,e){return(e-t)/864e5}),(function(t){return t.getUTCDate()-1})),B=F.range;function N(t){return n((function(e){e.setUTCDate(e.getUTCDate()-(e.getUTCDay()+7-t)%7),e.setUTCHours(0,0,0,0)}),(function(t,e){t.setUTCDate(t.getUTCDate()+7*e)}),(function(t,e){return(e-t)/6048e5}))}var j=N(0),U=N(1),V=N(2),H=N(3),q=N(4),G=N(5),Y=N(6),W=j.range,Z=U.range,X=V.range,J=H.range,K=q.range,Q=G.range,$=Y.range,tt=n((function(t){t.setUTCDate(1),t.setUTCHours(0,0,0,0)}),(function(t,e){t.setUTCMonth(t.getUTCMonth()+e)}),(function(t,e){return e.getUTCMonth()-t.getUTCMonth()+12*(e.getUTCFullYear()-t.getUTCFullYear())}),(function(t){return t.getUTCMonth()})),et=tt.range,rt=n((function(t){t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)}),(function(t,e){t.setUTCFullYear(t.getUTCFullYear()+e)}),(function(t,e){return e.getUTCFullYear()-t.getUTCFullYear()}),(function(t){return t.getUTCFullYear()}));rt.every=function(t){return isFinite(t=Math.floor(t))&&t>0?n((function(e){e.setUTCFullYear(Math.floor(e.getUTCFullYear()/t)*t),e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)}),(function(e,r){e.setUTCFullYear(e.getUTCFullYear()+r*t)})):null};var nt=rt.range;t.timeDay=h,t.timeDays=p,t.timeFriday=b,t.timeFridays=S,t.timeHour=u,t.timeHours=f,t.timeInterval=n,t.timeMillisecond=i,t.timeMilliseconds=a,t.timeMinute=l,t.timeMinutes=c,t.timeMonday=g,t.timeMondays=T,t.timeMonth=L,t.timeMonths=C,t.timeSaturday=_,t.timeSaturdays=E,t.timeSecond=o,t.timeSeconds=s,t.timeSunday=m,t.timeSundays=w,t.timeThursday=x,t.timeThursdays=M,t.timeTuesday=v,t.timeTuesdays=k,t.timeWednesday=y,t.timeWednesdays=A,t.timeWeek=m,t.timeWeeks=w,t.timeYear=P,t.timeYears=I,t.utcDay=F,t.utcDays=B,t.utcFriday=G,t.utcFridays=Q,t.utcHour=D,t.utcHours=R,t.utcMillisecond=i,t.utcMilliseconds=a,t.utcMinute=O,t.utcMinutes=z,t.utcMonday=U,t.utcMondays=Z,t.utcMonth=tt,t.utcMonths=et,t.utcSaturday=Y,t.utcSaturdays=$,t.utcSecond=o,t.utcSeconds=s,t.utcSunday=j,t.utcSundays=W,t.utcThursday=q,t.utcThursdays=K,t.utcTuesday=V,t.utcTuesdays=X,t.utcWednesday=H,t.utcWednesdays=J,t.utcWeek=j,t.utcWeeks=W,t.utcYear=rt,t.utcYears=nt,Object.defineProperty(t,\"__esModule\",{value:!0})}))},{}],122:[function(t,e,r){arguments[4][121][0].apply(r,arguments)},{dup:121}],123:[function(t,e,r){!function(t,n){\"object\"==typeof r&&void 0!==e?n(r):n((t=t||self).d3=t.d3||{})}(this,(function(t){\"use strict\";var e,r,n=0,i=0,a=0,o=0,s=0,l=0,c=\"object\"==typeof performance&&performance.now?performance:Date,u=\"object\"==typeof window&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(t){setTimeout(t,17)};function f(){return s||(u(h),s=c.now()+l)}function h(){s=0}function p(){this._call=this._time=this._next=null}function d(t,e,r){var n=new p;return n.restart(t,e,r),n}function m(){f(),++n;for(var t,r=e;r;)(t=s-r._time)>=0&&r._call.call(null,t),r=r._next;--n}function g(){s=(o=c.now())+l,n=i=0;try{m()}finally{n=0,function(){var t,n,i=e,a=1/0;for(;i;)i._call?(a>i._time&&(a=i._time),t=i,i=i._next):(n=i._next,i._next=null,i=t?t._next=n:e=n);r=t,y(a)}(),s=0}}function v(){var t=c.now(),e=t-o;e>1e3&&(l-=e,o=t)}function y(t){n||(i&&(i=clearTimeout(i)),t-s>24?(t<1/0&&(i=setTimeout(g,t-c.now()-l)),a&&(a=clearInterval(a))):(a||(o=c.now(),a=setInterval(v,1e3)),n=1,u(g)))}p.prototype=d.prototype={constructor:p,restart:function(t,n,i){if(\"function\"!=typeof t)throw new TypeError(\"callback is not a function\");i=(null==i?f():+i)+(null==n?0:+n),this._next||r===this||(r?r._next=this:e=this,r=this),this._call=t,this._time=i,y()},stop:function(){this._call&&(this._call=null,this._time=1/0,y())}},t.interval=function(t,e,r){var n=new p,i=e;return null==e?(n.restart(t,e,r),n):(e=+e,r=null==r?f():+r,n.restart((function a(o){o+=i,n.restart(a,i+=e,r),t(o)}),e,r),n)},t.now=f,t.timeout=function(t,e,r){var n=new p;return e=null==e?0:+e,n.restart((function(r){n.stop(),t(r+e)}),e,r),n},t.timer=d,t.timerFlush=m,Object.defineProperty(t,\"__esModule\",{value:!0})}))},{}],124:[function(t,e,r){e.exports=function(){for(var t=0;ts*l){var p=(h-f)/s;a[u]=1e3*p}}return a}function o(t){for(var e=[],r=t[0];r<=t[1];r++)for(var n=String.fromCharCode(r),i=t[0];i0)return function(t,e){var r,n;for(r=new Array(t),n=0;n80*r){n=l=t[0],s=c=t[1];for(var b=r;bl&&(l=u),p>c&&(c=p);d=0!==(d=Math.max(l-n,c-s))?1/d:0}return o(y,x,r,n,s,d),x}function i(t,e,r,n,i){var a,o;if(i===E(t,e,r,n)>0)for(a=e;a=e;a-=n)o=A(a,t[a],t[a+1],o);return o&&x(o,o.next)&&(M(o),o=o.next),o}function a(t,e){if(!t)return t;e||(e=t);var r,n=t;do{if(r=!1,n.steiner||!x(n,n.next)&&0!==y(n.prev,n,n.next))n=n.next;else{if(M(n),(n=e=n.prev)===n.next)break;r=!0}}while(r||n!==e);return e}function o(t,e,r,n,i,f,h){if(t){!h&&f&&function(t,e,r,n){var i=t;do{null===i.z&&(i.z=d(i.x,i.y,e,r,n)),i.prevZ=i.prev,i.nextZ=i.next,i=i.next}while(i!==t);i.prevZ.nextZ=null,i.prevZ=null,function(t){var e,r,n,i,a,o,s,l,c=1;do{for(r=t,t=null,a=null,o=0;r;){for(o++,n=r,s=0,e=0;e0||l>0&&n;)0!==s&&(0===l||!n||r.z<=n.z)?(i=r,r=r.nextZ,s--):(i=n,n=n.nextZ,l--),a?a.nextZ=i:t=i,i.prevZ=a,a=i;r=n}a.nextZ=null,c*=2}while(o>1)}(i)}(t,n,i,f);for(var p,m,g=t;t.prev!==t.next;)if(p=t.prev,m=t.next,f?l(t,n,i,f):s(t))e.push(p.i/r),e.push(t.i/r),e.push(m.i/r),M(t),t=m.next,g=m.next;else if((t=m)===g){h?1===h?o(t=c(a(t),e,r),e,r,n,i,f,2):2===h&&u(t,e,r,n,i,f):o(a(t),e,r,n,i,f,1);break}}}function s(t){var e=t.prev,r=t,n=t.next;if(y(e,r,n)>=0)return!1;for(var i=t.next.next;i!==t.prev;){if(g(e.x,e.y,r.x,r.y,n.x,n.y,i.x,i.y)&&y(i.prev,i,i.next)>=0)return!1;i=i.next}return!0}function l(t,e,r,n){var i=t.prev,a=t,o=t.next;if(y(i,a,o)>=0)return!1;for(var s=i.xa.x?i.x>o.x?i.x:o.x:a.x>o.x?a.x:o.x,u=i.y>a.y?i.y>o.y?i.y:o.y:a.y>o.y?a.y:o.y,f=d(s,l,e,r,n),h=d(c,u,e,r,n),p=t.prevZ,m=t.nextZ;p&&p.z>=f&&m&&m.z<=h;){if(p!==t.prev&&p!==t.next&&g(i.x,i.y,a.x,a.y,o.x,o.y,p.x,p.y)&&y(p.prev,p,p.next)>=0)return!1;if(p=p.prevZ,m!==t.prev&&m!==t.next&&g(i.x,i.y,a.x,a.y,o.x,o.y,m.x,m.y)&&y(m.prev,m,m.next)>=0)return!1;m=m.nextZ}for(;p&&p.z>=f;){if(p!==t.prev&&p!==t.next&&g(i.x,i.y,a.x,a.y,o.x,o.y,p.x,p.y)&&y(p.prev,p,p.next)>=0)return!1;p=p.prevZ}for(;m&&m.z<=h;){if(m!==t.prev&&m!==t.next&&g(i.x,i.y,a.x,a.y,o.x,o.y,m.x,m.y)&&y(m.prev,m,m.next)>=0)return!1;m=m.nextZ}return!0}function c(t,e,r){var n=t;do{var i=n.prev,o=n.next.next;!x(i,o)&&b(i,n,n.next,o)&&T(i,o)&&T(o,i)&&(e.push(i.i/r),e.push(n.i/r),e.push(o.i/r),M(n),M(n.next),n=t=o),n=n.next}while(n!==t);return a(n)}function u(t,e,r,n,i,s){var l=t;do{for(var c=l.next.next;c!==l.prev;){if(l.i!==c.i&&v(l,c)){var u=k(l,c);return l=a(l,l.next),u=a(u,u.next),o(l,e,r,n,i,s),void o(u,e,r,n,i,s)}c=c.next}l=l.next}while(l!==t)}function f(t,e){return t.x-e.x}function h(t,e){if(e=function(t,e){var r,n=e,i=t.x,a=t.y,o=-1/0;do{if(a<=n.y&&a>=n.next.y&&n.next.y!==n.y){var s=n.x+(a-n.y)*(n.next.x-n.x)/(n.next.y-n.y);if(s<=i&&s>o){if(o=s,s===i){if(a===n.y)return n;if(a===n.next.y)return n.next}r=n.x=n.x&&n.x>=u&&i!==n.x&&g(ar.x||n.x===r.x&&p(r,n)))&&(r=n,h=l)),n=n.next}while(n!==c);return r}(t,e)){var r=k(e,t);a(e,e.next),a(r,r.next)}}function p(t,e){return y(t.prev,t,e.prev)<0&&y(e.next,t,t.next)<0}function d(t,e,r,n,i){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=32767*(t-r)*i)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=32767*(e-n)*i)|e<<8))|e<<4))|e<<2))|e<<1))<<1}function m(t){var e=t,r=t;do{(e.x=0&&(t-o)*(n-s)-(r-o)*(e-s)>=0&&(r-o)*(a-s)-(i-o)*(n-s)>=0}function v(t,e){return t.next.i!==e.i&&t.prev.i!==e.i&&!function(t,e){var r=t;do{if(r.i!==t.i&&r.next.i!==t.i&&r.i!==e.i&&r.next.i!==e.i&&b(r,r.next,t,e))return!0;r=r.next}while(r!==t);return!1}(t,e)&&(T(t,e)&&T(e,t)&&function(t,e){var r=t,n=!1,i=(t.x+e.x)/2,a=(t.y+e.y)/2;do{r.y>a!=r.next.y>a&&r.next.y!==r.y&&i<(r.next.x-r.x)*(a-r.y)/(r.next.y-r.y)+r.x&&(n=!n),r=r.next}while(r!==t);return n}(t,e)&&(y(t.prev,t,e.prev)||y(t,e.prev,e))||x(t,e)&&y(t.prev,t,t.next)>0&&y(e.prev,e,e.next)>0)}function y(t,e,r){return(e.y-t.y)*(r.x-e.x)-(e.x-t.x)*(r.y-e.y)}function x(t,e){return t.x===e.x&&t.y===e.y}function b(t,e,r,n){var i=w(y(t,e,r)),a=w(y(t,e,n)),o=w(y(r,n,t)),s=w(y(r,n,e));return i!==a&&o!==s||(!(0!==i||!_(t,r,e))||(!(0!==a||!_(t,n,e))||(!(0!==o||!_(r,t,n))||!(0!==s||!_(r,e,n)))))}function _(t,e,r){return e.x<=Math.max(t.x,r.x)&&e.x>=Math.min(t.x,r.x)&&e.y<=Math.max(t.y,r.y)&&e.y>=Math.min(t.y,r.y)}function w(t){return t>0?1:t<0?-1:0}function T(t,e){return y(t.prev,t,t.next)<0?y(t,e,t.next)>=0&&y(t,t.prev,e)>=0:y(t,e,t.prev)<0||y(t,t.next,e)<0}function k(t,e){var r=new S(t.i,t.x,t.y),n=new S(e.i,e.x,e.y),i=t.next,a=e.prev;return t.next=e,e.prev=t,r.next=i,i.prev=r,n.next=r,r.prev=n,a.next=n,n.prev=a,n}function A(t,e,r,n){var i=new S(t,e,r);return n?(i.next=n.next,i.prev=n,n.next.prev=i,n.next=i):(i.prev=i,i.next=i),i}function M(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ)}function S(t,e,r){this.i=t,this.x=e,this.y=r,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}function E(t,e,r,n){for(var i=0,a=e,o=r-n;a0&&(n+=t[i-1].length,r.holes.push(n))}return r}},{}],130:[function(t,e,r){var n=t(\"strongly-connected-components\");e.exports=function(t,e){var r,i=[],a=[],o=[],s={},l=[];function c(t){var e,n,i=!1;for(a.push(t),o[t]=!0,e=0;e=e}))}(e);for(var r,i=n(t).components.filter((function(t){return t.length>1})),a=1/0,o=0;o=55296&&y<=56319&&(w+=t[++r]),w=T?h.call(T,k,w,m):w,e?(p.value=w,d(g,m,p)):g[m]=w,++m;v=m}if(void 0===v)for(v=o(t.length),e&&(g=new e(v)),r=0;r0?1:-1}},{}],141:[function(t,e,r){\"use strict\";var n=t(\"../math/sign\"),i=Math.abs,a=Math.floor;e.exports=function(t){return isNaN(t)?0:0!==(t=Number(t))&&isFinite(t)?n(t)*a(i(t)):t}},{\"../math/sign\":138}],142:[function(t,e,r){\"use strict\";var n=t(\"./to-integer\"),i=Math.max;e.exports=function(t){return i(0,n(t))}},{\"./to-integer\":141}],143:[function(t,e,r){\"use strict\";var n=t(\"./valid-callable\"),i=t(\"./valid-value\"),a=Function.prototype.bind,o=Function.prototype.call,s=Object.keys,l=Object.prototype.propertyIsEnumerable;e.exports=function(t,e){return function(r,c){var u,f=arguments[2],h=arguments[3];return r=Object(i(r)),n(c),u=s(r),h&&u.sort(\"function\"==typeof h?a.call(h,r):void 0),\"function\"!=typeof t&&(t=u[t]),o.call(t,u,(function(t,n){return l.call(r,t)?o.call(c,f,r[t],t,r,n):e}))}}},{\"./valid-callable\":160,\"./valid-value\":162}],144:[function(t,e,r){\"use strict\";e.exports=t(\"./is-implemented\")()?Object.assign:t(\"./shim\")},{\"./is-implemented\":145,\"./shim\":146}],145:[function(t,e,r){\"use strict\";e.exports=function(){var t,e=Object.assign;return\"function\"==typeof e&&(e(t={foo:\"raz\"},{bar:\"dwa\"},{trzy:\"trzy\"}),t.foo+t.bar+t.trzy===\"razdwatrzy\")}},{}],146:[function(t,e,r){\"use strict\";var n=t(\"../keys\"),i=t(\"../valid-value\"),a=Math.max;e.exports=function(t,e){var r,o,s,l=a(arguments.length,2);for(t=Object(i(t)),s=function(n){try{t[n]=e[n]}catch(t){r||(r=t)}},o=1;o-1}},{}],166:[function(t,e,r){\"use strict\";var n=Object.prototype.toString,i=n.call(\"\");e.exports=function(t){return\"string\"==typeof t||t&&\"object\"==typeof t&&(t instanceof String||n.call(t)===i)||!1}},{}],167:[function(t,e,r){\"use strict\";var n=Object.create(null),i=Math.random;e.exports=function(){var t;do{t=i().toString(36).slice(2)}while(n[t]);return t}},{}],168:[function(t,e,r){\"use strict\";var n,i=t(\"es5-ext/object/set-prototype-of\"),a=t(\"es5-ext/string/#/contains\"),o=t(\"d\"),s=t(\"es6-symbol\"),l=t(\"./\"),c=Object.defineProperty;n=e.exports=function(t,e){if(!(this instanceof n))throw new TypeError(\"Constructor requires 'new'\");l.call(this,t),e=e?a.call(e,\"key+value\")?\"key+value\":a.call(e,\"key\")?\"key\":\"value\":\"value\",c(this,\"__kind__\",o(\"\",e))},i&&i(n,l),delete n.prototype.constructor,n.prototype=Object.create(l.prototype,{_resolve:o((function(t){return\"value\"===this.__kind__?this.__list__[t]:\"key+value\"===this.__kind__?[t,this.__list__[t]]:t}))}),c(n.prototype,s.toStringTag,o(\"c\",\"Array Iterator\"))},{\"./\":171,d:106,\"es5-ext/object/set-prototype-of\":157,\"es5-ext/string/#/contains\":163,\"es6-symbol\":175}],169:[function(t,e,r){\"use strict\";var n=t(\"es5-ext/function/is-arguments\"),i=t(\"es5-ext/object/valid-callable\"),a=t(\"es5-ext/string/is-string\"),o=t(\"./get\"),s=Array.isArray,l=Function.prototype.call,c=Array.prototype.some;e.exports=function(t,e){var r,u,f,h,p,d,m,g,v=arguments[2];if(s(t)||n(t)?r=\"array\":a(t)?r=\"string\":t=o(t),i(e),f=function(){h=!0},\"array\"!==r)if(\"string\"!==r)for(u=t.next();!u.done;){if(l.call(e,v,u.value,f),h)return;u=t.next()}else for(d=t.length,p=0;p=55296&&g<=56319&&(m+=t[++p]),l.call(e,v,m,f),!h);++p);else c.call(t,(function(t){return l.call(e,v,t,f),h}))}},{\"./get\":170,\"es5-ext/function/is-arguments\":135,\"es5-ext/object/valid-callable\":160,\"es5-ext/string/is-string\":166}],170:[function(t,e,r){\"use strict\";var n=t(\"es5-ext/function/is-arguments\"),i=t(\"es5-ext/string/is-string\"),a=t(\"./array\"),o=t(\"./string\"),s=t(\"./valid-iterable\"),l=t(\"es6-symbol\").iterator;e.exports=function(t){return\"function\"==typeof s(t)[l]?t[l]():n(t)?new a(t):i(t)?new o(t):new a(t)}},{\"./array\":168,\"./string\":173,\"./valid-iterable\":174,\"es5-ext/function/is-arguments\":135,\"es5-ext/string/is-string\":166,\"es6-symbol\":175}],171:[function(t,e,r){\"use strict\";var n,i=t(\"es5-ext/array/#/clear\"),a=t(\"es5-ext/object/assign\"),o=t(\"es5-ext/object/valid-callable\"),s=t(\"es5-ext/object/valid-value\"),l=t(\"d\"),c=t(\"d/auto-bind\"),u=t(\"es6-symbol\"),f=Object.defineProperty,h=Object.defineProperties;e.exports=n=function(t,e){if(!(this instanceof n))throw new TypeError(\"Constructor requires 'new'\");h(this,{__list__:l(\"w\",s(t)),__context__:l(\"w\",e),__nextIndex__:l(\"w\",0)}),e&&(o(e.on),e.on(\"_add\",this._onAdd),e.on(\"_delete\",this._onDelete),e.on(\"_clear\",this._onClear))},delete n.prototype.constructor,h(n.prototype,a({_next:l((function(){var t;if(this.__list__)return this.__redo__&&void 0!==(t=this.__redo__.shift())?t:this.__nextIndex__=this.__nextIndex__||(++this.__nextIndex__,this.__redo__?(this.__redo__.forEach((function(e,r){e>=t&&(this.__redo__[r]=++e)}),this),this.__redo__.push(t)):f(this,\"__redo__\",l(\"c\",[t])))})),_onDelete:l((function(t){var e;t>=this.__nextIndex__||(--this.__nextIndex__,this.__redo__&&(-1!==(e=this.__redo__.indexOf(t))&&this.__redo__.splice(e,1),this.__redo__.forEach((function(e,r){e>t&&(this.__redo__[r]=--e)}),this)))})),_onClear:l((function(){this.__redo__&&i.call(this.__redo__),this.__nextIndex__=0}))}))),f(n.prototype,u.iterator,l((function(){return this})))},{d:106,\"d/auto-bind\":105,\"es5-ext/array/#/clear\":131,\"es5-ext/object/assign\":144,\"es5-ext/object/valid-callable\":160,\"es5-ext/object/valid-value\":162,\"es6-symbol\":175}],172:[function(t,e,r){\"use strict\";var n=t(\"es5-ext/function/is-arguments\"),i=t(\"es5-ext/object/is-value\"),a=t(\"es5-ext/string/is-string\"),o=t(\"es6-symbol\").iterator,s=Array.isArray;e.exports=function(t){return!!i(t)&&(!!s(t)||(!!a(t)||(!!n(t)||\"function\"==typeof t[o])))}},{\"es5-ext/function/is-arguments\":135,\"es5-ext/object/is-value\":151,\"es5-ext/string/is-string\":166,\"es6-symbol\":175}],173:[function(t,e,r){\"use strict\";var n,i=t(\"es5-ext/object/set-prototype-of\"),a=t(\"d\"),o=t(\"es6-symbol\"),s=t(\"./\"),l=Object.defineProperty;n=e.exports=function(t){if(!(this instanceof n))throw new TypeError(\"Constructor requires 'new'\");t=String(t),s.call(this,t),l(this,\"__length__\",a(\"\",t.length))},i&&i(n,s),delete n.prototype.constructor,n.prototype=Object.create(s.prototype,{_next:a((function(){if(this.__list__)return this.__nextIndex__=55296&&e<=56319?r+this.__list__[this.__nextIndex__++]:r}))}),l(n.prototype,o.toStringTag,a(\"c\",\"String Iterator\"))},{\"./\":171,d:106,\"es5-ext/object/set-prototype-of\":157,\"es6-symbol\":175}],174:[function(t,e,r){\"use strict\";var n=t(\"./is-iterable\");e.exports=function(t){if(!n(t))throw new TypeError(t+\" is not iterable\");return t}},{\"./is-iterable\":172}],175:[function(t,e,r){\"use strict\";e.exports=t(\"./is-implemented\")()?t(\"ext/global-this\").Symbol:t(\"./polyfill\")},{\"./is-implemented\":176,\"./polyfill\":181,\"ext/global-this\":188}],176:[function(t,e,r){\"use strict\";var n=t(\"ext/global-this\"),i={object:!0,symbol:!0};e.exports=function(){var t,e=n.Symbol;if(\"function\"!=typeof e)return!1;t=e(\"test symbol\");try{String(t)}catch(t){return!1}return!!i[typeof e.iterator]&&(!!i[typeof e.toPrimitive]&&!!i[typeof e.toStringTag])}},{\"ext/global-this\":188}],177:[function(t,e,r){\"use strict\";e.exports=function(t){return!!t&&(\"symbol\"==typeof t||!!t.constructor&&(\"Symbol\"===t.constructor.name&&\"Symbol\"===t[t.constructor.toStringTag]))}},{}],178:[function(t,e,r){\"use strict\";var n=t(\"d\"),i=Object.create,a=Object.defineProperty,o=Object.prototype,s=i(null);e.exports=function(t){for(var e,r,i=0;s[t+(i||\"\")];)++i;return s[t+=i||\"\"]=!0,a(o,e=\"@@\"+t,n.gs(null,(function(t){r||(r=!0,a(this,e,n(t)),r=!1)}))),e}},{d:106}],179:[function(t,e,r){\"use strict\";var n=t(\"d\"),i=t(\"ext/global-this\").Symbol;e.exports=function(t){return Object.defineProperties(t,{hasInstance:n(\"\",i&&i.hasInstance||t(\"hasInstance\")),isConcatSpreadable:n(\"\",i&&i.isConcatSpreadable||t(\"isConcatSpreadable\")),iterator:n(\"\",i&&i.iterator||t(\"iterator\")),match:n(\"\",i&&i.match||t(\"match\")),replace:n(\"\",i&&i.replace||t(\"replace\")),search:n(\"\",i&&i.search||t(\"search\")),species:n(\"\",i&&i.species||t(\"species\")),split:n(\"\",i&&i.split||t(\"split\")),toPrimitive:n(\"\",i&&i.toPrimitive||t(\"toPrimitive\")),toStringTag:n(\"\",i&&i.toStringTag||t(\"toStringTag\")),unscopables:n(\"\",i&&i.unscopables||t(\"unscopables\"))})}},{d:106,\"ext/global-this\":188}],180:[function(t,e,r){\"use strict\";var n=t(\"d\"),i=t(\"../../../validate-symbol\"),a=Object.create(null);e.exports=function(t){return Object.defineProperties(t,{for:n((function(e){return a[e]?a[e]:a[e]=t(String(e))})),keyFor:n((function(t){var e;for(e in i(t),a)if(a[e]===t)return e}))})}},{\"../../../validate-symbol\":182,d:106}],181:[function(t,e,r){\"use strict\";var n,i,a,o=t(\"d\"),s=t(\"./validate-symbol\"),l=t(\"ext/global-this\").Symbol,c=t(\"./lib/private/generate-name\"),u=t(\"./lib/private/setup/standard-symbols\"),f=t(\"./lib/private/setup/symbol-registry\"),h=Object.create,p=Object.defineProperties,d=Object.defineProperty;if(\"function\"==typeof l)try{String(l()),a=!0}catch(t){}else l=null;i=function(t){if(this instanceof i)throw new TypeError(\"Symbol is not a constructor\");return n(t)},e.exports=n=function t(e){var r;if(this instanceof t)throw new TypeError(\"Symbol is not a constructor\");return a?l(e):(r=h(i.prototype),e=void 0===e?\"\":String(e),p(r,{__description__:o(\"\",e),__name__:o(\"\",c(e))}))},u(n),f(n),p(i.prototype,{constructor:o(n),toString:o(\"\",(function(){return this.__name__}))}),p(n.prototype,{toString:o((function(){return\"Symbol (\"+s(this).__description__+\")\"})),valueOf:o((function(){return s(this)}))}),d(n.prototype,n.toPrimitive,o(\"\",(function(){var t=s(this);return\"symbol\"==typeof t?t:t.toString()}))),d(n.prototype,n.toStringTag,o(\"c\",\"Symbol\")),d(i.prototype,n.toStringTag,o(\"c\",n.prototype[n.toStringTag])),d(i.prototype,n.toPrimitive,o(\"c\",n.prototype[n.toPrimitive]))},{\"./lib/private/generate-name\":178,\"./lib/private/setup/standard-symbols\":179,\"./lib/private/setup/symbol-registry\":180,\"./validate-symbol\":182,d:106,\"ext/global-this\":188}],182:[function(t,e,r){\"use strict\";var n=t(\"./is-symbol\");e.exports=function(t){if(!n(t))throw new TypeError(t+\" is not a symbol\");return t}},{\"./is-symbol\":177}],183:[function(t,e,r){\"use strict\";e.exports=t(\"./is-implemented\")()?WeakMap:t(\"./polyfill\")},{\"./is-implemented\":184,\"./polyfill\":186}],184:[function(t,e,r){\"use strict\";e.exports=function(){var t,e;if(\"function\"!=typeof WeakMap)return!1;try{t=new WeakMap([[e={},\"one\"],[{},\"two\"],[{},\"three\"]])}catch(t){return!1}return\"[object WeakMap]\"===String(t)&&(\"function\"==typeof t.set&&(t.set({},1)===t&&(\"function\"==typeof t.delete&&(\"function\"==typeof t.has&&\"one\"===t.get(e)))))}},{}],185:[function(t,e,r){\"use strict\";e.exports=\"function\"==typeof WeakMap&&\"[object WeakMap]\"===Object.prototype.toString.call(new WeakMap)},{}],186:[function(t,e,r){\"use strict\";var n,i=t(\"es5-ext/object/is-value\"),a=t(\"es5-ext/object/set-prototype-of\"),o=t(\"es5-ext/object/valid-object\"),s=t(\"es5-ext/object/valid-value\"),l=t(\"es5-ext/string/random-uniq\"),c=t(\"d\"),u=t(\"es6-iterator/get\"),f=t(\"es6-iterator/for-of\"),h=t(\"es6-symbol\").toStringTag,p=t(\"./is-native-implemented\"),d=Array.isArray,m=Object.defineProperty,g=Object.prototype.hasOwnProperty,v=Object.getPrototypeOf;e.exports=n=function(){var t,e=arguments[0];if(!(this instanceof n))throw new TypeError(\"Constructor requires 'new'\");return t=p&&a&&WeakMap!==n?a(new WeakMap,v(this)):this,i(e)&&(d(e)||(e=u(e))),m(t,\"__weakMapData__\",c(\"c\",\"$weakMap$\"+l())),e?(f(e,(function(e){s(e),t.set(e[0],e[1])})),t):t},p&&(a&&a(n,WeakMap),n.prototype=Object.create(WeakMap.prototype,{constructor:c(n)})),Object.defineProperties(n.prototype,{delete:c((function(t){return!!g.call(o(t),this.__weakMapData__)&&(delete t[this.__weakMapData__],!0)})),get:c((function(t){if(g.call(o(t),this.__weakMapData__))return t[this.__weakMapData__]})),has:c((function(t){return g.call(o(t),this.__weakMapData__)})),set:c((function(t,e){return m(o(t),this.__weakMapData__,c(\"c\",e)),this})),toString:c((function(){return\"[object WeakMap]\"}))}),m(n.prototype,h,c(\"c\",\"WeakMap\"))},{\"./is-native-implemented\":185,d:106,\"es5-ext/object/is-value\":151,\"es5-ext/object/set-prototype-of\":157,\"es5-ext/object/valid-object\":161,\"es5-ext/object/valid-value\":162,\"es5-ext/string/random-uniq\":167,\"es6-iterator/for-of\":169,\"es6-iterator/get\":170,\"es6-symbol\":175}],187:[function(t,e,r){var n=function(){if(\"object\"==typeof self&&self)return self;if(\"object\"==typeof window&&window)return window;throw new Error(\"Unable to resolve global `this`\")};e.exports=function(){if(this)return this;try{Object.defineProperty(Object.prototype,\"__global__\",{get:function(){return this},configurable:!0})}catch(t){return n()}try{return __global__||n()}finally{delete Object.prototype.__global__}}()},{}],188:[function(t,e,r){\"use strict\";e.exports=t(\"./is-implemented\")()?globalThis:t(\"./implementation\")},{\"./implementation\":187,\"./is-implemented\":189}],189:[function(t,e,r){\"use strict\";e.exports=function(){return\"object\"==typeof globalThis&&(!!globalThis&&globalThis.Array===Array)}},{}],190:[function(t,e,r){\"use strict\";var n=t(\"is-string-blank\");e.exports=function(t){var e=typeof t;if(\"string\"===e){var r=t;if(0===(t=+t)&&n(r))return!1}else if(\"number\"!==e)return!1;return t-t<1}},{\"is-string-blank\":237}],191:[function(t,e,r){var n=t(\"dtype\");e.exports=function(t,e,r){if(!t)throw new TypeError(\"must specify data as first parameter\");if(r=0|+(r||0),Array.isArray(t)&&t[0]&&\"number\"==typeof t[0][0]){var i,a,o,s,l=t[0].length,c=t.length*l;e&&\"string\"!=typeof e||(e=new(n(e||\"float32\"))(c+r));var u=e.length-r;if(c!==u)throw new Error(\"source length \"+c+\" (\"+l+\"x\"+t.length+\") does not match destination length \"+u);for(i=0,o=r;ie[0]-o[0]/2&&(h=o[0]/2,p+=o[1]);return r}},{\"css-font/stringify\":102}],193:[function(t,e,r){\"use strict\";function n(t,e){e||(e={}),(\"string\"==typeof t||Array.isArray(t))&&(e.family=t);var r=Array.isArray(e.family)?e.family.join(\", \"):e.family;if(!r)throw Error(\"`family` must be defined\");var s=e.size||e.fontSize||e.em||48,l=e.weight||e.fontWeight||\"\",c=(t=[e.style||e.fontStyle||\"\",l,s].join(\" \")+\"px \"+r,e.origin||\"top\");if(n.cache[r]&&s<=n.cache[r].em)return i(n.cache[r],c);var u=e.canvas||n.canvas,f=u.getContext(\"2d\"),h={upper:void 0!==e.upper?e.upper:\"H\",lower:void 0!==e.lower?e.lower:\"x\",descent:void 0!==e.descent?e.descent:\"p\",ascent:void 0!==e.ascent?e.ascent:\"h\",tittle:void 0!==e.tittle?e.tittle:\"i\",overshoot:void 0!==e.overshoot?e.overshoot:\"O\"},p=Math.ceil(1.5*s);u.height=p,u.width=.5*p,f.font=t;var d={top:0};f.clearRect(0,0,p,p),f.textBaseline=\"top\",f.fillStyle=\"black\",f.fillText(\"H\",0,0);var m=a(f.getImageData(0,0,p,p));f.clearRect(0,0,p,p),f.textBaseline=\"bottom\",f.fillText(\"H\",0,p);var g=a(f.getImageData(0,0,p,p));d.lineHeight=d.bottom=p-g+m,f.clearRect(0,0,p,p),f.textBaseline=\"alphabetic\",f.fillText(\"H\",0,p);var v=p-a(f.getImageData(0,0,p,p))-1+m;d.baseline=d.alphabetic=v,f.clearRect(0,0,p,p),f.textBaseline=\"middle\",f.fillText(\"H\",0,.5*p);var y=a(f.getImageData(0,0,p,p));d.median=d.middle=p-y-1+m-.5*p,f.clearRect(0,0,p,p),f.textBaseline=\"hanging\",f.fillText(\"H\",0,.5*p);var x=a(f.getImageData(0,0,p,p));d.hanging=p-x-1+m-.5*p,f.clearRect(0,0,p,p),f.textBaseline=\"ideographic\",f.fillText(\"H\",0,p);var b=a(f.getImageData(0,0,p,p));if(d.ideographic=p-b-1+m,h.upper&&(f.clearRect(0,0,p,p),f.textBaseline=\"top\",f.fillText(h.upper,0,0),d.upper=a(f.getImageData(0,0,p,p)),d.capHeight=d.baseline-d.upper),h.lower&&(f.clearRect(0,0,p,p),f.textBaseline=\"top\",f.fillText(h.lower,0,0),d.lower=a(f.getImageData(0,0,p,p)),d.xHeight=d.baseline-d.lower),h.tittle&&(f.clearRect(0,0,p,p),f.textBaseline=\"top\",f.fillText(h.tittle,0,0),d.tittle=a(f.getImageData(0,0,p,p))),h.ascent&&(f.clearRect(0,0,p,p),f.textBaseline=\"top\",f.fillText(h.ascent,0,0),d.ascent=a(f.getImageData(0,0,p,p))),h.descent&&(f.clearRect(0,0,p,p),f.textBaseline=\"top\",f.fillText(h.descent,0,0),d.descent=o(f.getImageData(0,0,p,p))),h.overshoot){f.clearRect(0,0,p,p),f.textBaseline=\"top\",f.fillText(h.overshoot,0,0);var _=o(f.getImageData(0,0,p,p));d.overshoot=_-v}for(var w in d)d[w]/=s;return d.em=s,n.cache[r]=d,i(d,c)}function i(t,e){var r={};for(var n in\"string\"==typeof e&&(e=t[e]),t)\"em\"!==n&&(r[n]=t[n]-e);return r}function a(t){for(var e=t.height,r=t.data,n=3;n0;n-=4)if(0!==r[n])return Math.floor(.25*(n-3)/e)}e.exports=n,n.canvas=document.createElement(\"canvas\"),n.cache={}},{}],194:[function(t,e,r){e.exports=function(t,e){if(\"string\"!=typeof t)throw new TypeError(\"must specify type string\");if(e=e||{},\"undefined\"==typeof document&&!e.canvas)return null;var r=e.canvas||document.createElement(\"canvas\");\"number\"==typeof e.width&&(r.width=e.width);\"number\"==typeof e.height&&(r.height=e.height);var n,i=e;try{var a=[t];0===t.indexOf(\"webgl\")&&a.push(\"experimental-\"+t);for(var o=0;o halfCharStep + halfCharWidth ||\\n\\t\\t\\t\\t\\tfloor(uv.x) < halfCharStep - halfCharWidth) return;\\n\\n\\t\\t\\t\\tuv += charId * charStep;\\n\\t\\t\\t\\tuv = uv / atlasSize;\\n\\n\\t\\t\\t\\tvec4 color = fontColor;\\n\\t\\t\\t\\tvec4 mask = texture2D(atlas, uv);\\n\\n\\t\\t\\t\\tfloat maskY = lightness(mask);\\n\\t\\t\\t\\t// float colorY = lightness(color);\\n\\t\\t\\t\\tcolor.a *= maskY;\\n\\t\\t\\t\\tcolor.a *= opacity;\\n\\n\\t\\t\\t\\t// color.a += .1;\\n\\n\\t\\t\\t\\t// antialiasing, see yiq color space y-channel formula\\n\\t\\t\\t\\t// color.rgb += (1. - color.rgb) * (1. - mask.rgb);\\n\\n\\t\\t\\t\\tgl_FragColor = color;\\n\\t\\t\\t}\"});return{regl:t,draw:e,atlas:{}}},T.prototype.update=function(t){var e=this;if(\"string\"==typeof t)t={text:t};else if(!t)return;null!=(t=i(t,{position:\"position positions coord coords coordinates\",font:\"font fontFace fontface typeface cssFont css-font family fontFamily\",fontSize:\"fontSize fontsize size font-size\",text:\"text texts chars characters value values symbols\",align:\"align alignment textAlign textbaseline\",baseline:\"baseline textBaseline textbaseline\",direction:\"dir direction textDirection\",color:\"color colour fill fill-color fillColor textColor textcolor\",kerning:\"kerning kern\",range:\"range dataBox\",viewport:\"vp viewport viewBox viewbox viewPort\",opacity:\"opacity alpha transparency visible visibility opaque\",offset:\"offset positionOffset padding shift indent indentation\"},!0)).opacity&&(Array.isArray(t.opacity)?this.opacity=t.opacity.map((function(t){return parseFloat(t)})):this.opacity=parseFloat(t.opacity)),null!=t.viewport&&(this.viewport=f(t.viewport),this.viewportArray=[this.viewport.x,this.viewport.y,this.viewport.width,this.viewport.height]),null==this.viewport&&(this.viewport={x:0,y:0,width:this.gl.drawingBufferWidth,height:this.gl.drawingBufferHeight},this.viewportArray=[this.viewport.x,this.viewport.y,this.viewport.width,this.viewport.height]),null!=t.kerning&&(this.kerning=t.kerning),null!=t.offset&&(\"number\"==typeof t.offset&&(t.offset=[t.offset,0]),this.positionOffset=y(t.offset)),t.direction&&(this.direction=t.direction),t.range&&(this.range=t.range,this.scale=[1/(t.range[2]-t.range[0]),1/(t.range[3]-t.range[1])],this.translate=[-t.range[0],-t.range[1]]),t.scale&&(this.scale=t.scale),t.translate&&(this.translate=t.translate),this.scale||(this.scale=[1/this.viewport.width,1/this.viewport.height]),this.translate||(this.translate=[0,0]),this.font.length||t.font||(t.font=T.baseFontSize+\"px sans-serif\");var r,a=!1,o=!1;if(t.font&&(Array.isArray(t.font)?t.font:[t.font]).forEach((function(t,r){if(\"string\"==typeof t)try{t=n.parse(t)}catch(e){t=n.parse(T.baseFontSize+\"px \"+t)}else t=n.parse(n.stringify(t));var i=n.stringify({size:T.baseFontSize,family:t.family,stretch:_?t.stretch:void 0,variant:t.variant,weight:t.weight,style:t.style}),s=p(t.size),l=Math.round(s[0]*d(s[1]));if(l!==e.fontSize[r]&&(o=!0,e.fontSize[r]=l),!(e.font[r]&&i==e.font[r].baseString||(a=!0,e.font[r]=T.fonts[i],e.font[r]))){var c=t.family.join(\", \"),u=[t.style];t.style!=t.variant&&u.push(t.variant),t.variant!=t.weight&&u.push(t.weight),_&&t.weight!=t.stretch&&u.push(t.stretch),e.font[r]={baseString:i,family:c,weight:t.weight,stretch:t.stretch,style:t.style,variant:t.variant,width:{},kerning:{},metrics:v(c,{origin:\"top\",fontSize:T.baseFontSize,fontStyle:u.join(\" \")})},T.fonts[i]=e.font[r]}})),(a||o)&&this.font.forEach((function(r,i){var a=n.stringify({size:e.fontSize[i],family:r.family,stretch:_?r.stretch:void 0,variant:r.variant,weight:r.weight,style:r.style});if(e.fontAtlas[i]=e.shader.atlas[a],!e.fontAtlas[i]){var o=r.metrics;e.shader.atlas[a]=e.fontAtlas[i]={fontString:a,step:2*Math.ceil(e.fontSize[i]*o.bottom*.5),em:e.fontSize[i],cols:0,rows:0,height:0,width:0,chars:[],ids:{},texture:e.regl.texture()}}null==t.text&&(t.text=e.text)})),\"string\"==typeof t.text&&t.position&&t.position.length>2){for(var s=Array(.5*t.position.length),h=0;h2){for(var w=!t.position[0].length,k=u.mallocFloat(2*this.count),A=0,M=0;A1?e.align[r]:e.align[0]:e.align;if(\"number\"==typeof n)return n;switch(n){case\"right\":case\"end\":return-t;case\"center\":case\"centre\":case\"middle\":return.5*-t}return 0}))),null==this.baseline&&null==t.baseline&&(t.baseline=0),null!=t.baseline&&(this.baseline=t.baseline,Array.isArray(this.baseline)||(this.baseline=[this.baseline]),this.baselineOffset=this.baseline.map((function(t,r){var n=(e.font[r]||e.font[0]).metrics,i=0;return i+=.5*n.bottom,i+=\"number\"==typeof t?t-n.baseline:-n[t],i*=-1}))),null!=t.color)if(t.color||(t.color=\"transparent\"),\"string\"!=typeof t.color&&isNaN(t.color)){var q;if(\"number\"==typeof t.color[0]&&t.color.length>this.counts.length){var G=t.color.length;q=u.mallocUint8(G);for(var Y=(t.color.subarray||t.color.slice).bind(t.color),W=0;W4||this.baselineOffset.length>1||this.align&&this.align.length>1||this.fontAtlas.length>1||this.positionOffset.length>2){var J=Math.max(.5*this.position.length||0,.25*this.color.length||0,this.baselineOffset.length||0,this.alignOffset.length||0,this.font.length||0,this.opacity.length||0,.5*this.positionOffset.length||0);this.batch=Array(J);for(var K=0;K1?this.counts[K]:this.counts[0],offset:this.textOffsets.length>1?this.textOffsets[K]:this.textOffsets[0],color:this.color?this.color.length<=4?this.color:this.color.subarray(4*K,4*K+4):[0,0,0,255],opacity:Array.isArray(this.opacity)?this.opacity[K]:this.opacity,baseline:null!=this.baselineOffset[K]?this.baselineOffset[K]:this.baselineOffset[0],align:this.align?null!=this.alignOffset[K]?this.alignOffset[K]:this.alignOffset[0]:0,atlas:this.fontAtlas[K]||this.fontAtlas[0],positionOffset:this.positionOffset.length>2?this.positionOffset.subarray(2*K,2*K+2):this.positionOffset}}else this.count?this.batch=[{count:this.count,offset:0,color:this.color||[0,0,0,255],opacity:Array.isArray(this.opacity)?this.opacity[0]:this.opacity,baseline:this.baselineOffset[0],align:this.alignOffset?this.alignOffset[0]:0,atlas:this.fontAtlas[0],positionOffset:this.positionOffset}]:this.batch=[]},T.prototype.destroy=function(){},T.prototype.kerning=!0,T.prototype.position={constant:new Float32Array(2)},T.prototype.translate=null,T.prototype.scale=null,T.prototype.font=null,T.prototype.text=\"\",T.prototype.positionOffset=[0,0],T.prototype.opacity=1,T.prototype.color=new Uint8Array([0,0,0,255]),T.prototype.alignOffset=[0,0],T.maxAtlasSize=1024,T.atlasCanvas=document.createElement(\"canvas\"),T.atlasContext=T.atlasCanvas.getContext(\"2d\",{alpha:!1}),T.baseFontSize=64,T.fonts={},e.exports=T},{\"bit-twiddle\":81,\"color-normalize\":89,\"css-font\":99,\"detect-kerning\":125,\"es6-weak-map\":183,\"flatten-vertex-data\":191,\"font-atlas\":192,\"font-measure\":193,\"gl-util/context\":226,\"is-plain-obj\":236,\"object-assign\":247,\"parse-rect\":249,\"parse-unit\":251,\"pick-by-alias\":253,regl:284,\"to-px\":315,\"typedarray-pool\":328}],226:[function(t,e,r){(function(r){(function(){\"use strict\";var n=t(\"pick-by-alias\");function i(t){if(t.container)if(t.container==document.body)document.body.style.width||(t.canvas.width=t.width||t.pixelRatio*r.innerWidth),document.body.style.height||(t.canvas.height=t.height||t.pixelRatio*r.innerHeight);else{var e=t.container.getBoundingClientRect();t.canvas.width=t.width||e.right-e.left,t.canvas.height=t.height||e.bottom-e.top}}function a(t){return\"function\"==typeof t.getContext&&\"width\"in t&&\"height\"in t}function o(){var t=document.createElement(\"canvas\");return t.style.position=\"absolute\",t.style.top=0,t.style.left=0,t}e.exports=function(t){var e;if(t?\"string\"==typeof t&&(t={container:t}):t={},a(t)?t={container:t}:t=\"string\"==typeof(e=t).nodeName&&\"function\"==typeof e.appendChild&&\"function\"==typeof e.getBoundingClientRect?{container:t}:function(t){return\"function\"==typeof t.drawArrays||\"function\"==typeof t.drawElements}(t)?{gl:t}:n(t,{container:\"container target element el canvas holder parent parentNode wrapper use ref root node\",gl:\"gl context webgl glContext\",attrs:\"attributes attrs contextAttributes\",pixelRatio:\"pixelRatio pxRatio px ratio pxratio pixelratio\",width:\"w width\",height:\"h height\"},!0),t.pixelRatio||(t.pixelRatio=r.pixelRatio||1),t.gl)return t.gl;if(t.canvas&&(t.container=t.canvas.parentNode),t.container){if(\"string\"==typeof t.container){var s=document.querySelector(t.container);if(!s)throw Error(\"Element \"+t.container+\" is not found\");t.container=s}a(t.container)?(t.canvas=t.container,t.container=t.canvas.parentNode):t.canvas||(t.canvas=o(),t.container.appendChild(t.canvas),i(t))}else if(!t.canvas){if(\"undefined\"==typeof document)throw Error(\"Not DOM environment. Use headless-gl.\");t.container=document.body||document.documentElement,t.canvas=o(),t.container.appendChild(t.canvas),i(t)}return t.gl||[\"webgl\",\"experimental-webgl\",\"webgl-experimental\"].some((function(e){try{t.gl=t.canvas.getContext(e,t.attrs)}catch(t){}return t.gl})),t.gl}}).call(this)}).call(this,\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{})},{\"pick-by-alias\":253}],227:[function(t,e,r){e.exports=function(t){\"string\"==typeof t&&(t=[t]);for(var e=[].slice.call(arguments,1),r=[],n=0;n>1,u=-7,f=r?i-1:0,h=r?-1:1,p=t[e+f];for(f+=h,a=p&(1<<-u)-1,p>>=-u,u+=s;u>0;a=256*a+t[e+f],f+=h,u-=8);for(o=a&(1<<-u)-1,a>>=-u,u+=n;u>0;o=256*o+t[e+f],f+=h,u-=8);if(0===a)a=1-c;else{if(a===l)return o?NaN:1/0*(p?-1:1);o+=Math.pow(2,n),a-=c}return(p?-1:1)*o*Math.pow(2,a-n)},r.write=function(t,e,r,n,i,a){var o,s,l,c=8*a-i-1,u=(1<>1,h=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,p=n?0:a-1,d=n?1:-1,m=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(s=isNaN(e)?1:0,o=u):(o=Math.floor(Math.log(e)/Math.LN2),e*(l=Math.pow(2,-o))<1&&(o--,l*=2),(e+=o+f>=1?h/l:h*Math.pow(2,1-f))*l>=2&&(o++,l/=2),o+f>=u?(s=0,o=u):o+f>=1?(s=(e*l-1)*Math.pow(2,i),o+=f):(s=e*Math.pow(2,f-1)*Math.pow(2,i),o=0));i>=8;t[r+p]=255&s,p+=d,s/=256,i-=8);for(o=o<0;t[r+p]=255&o,p+=d,o/=256,c-=8);t[r+p-d]|=128*m}},{}],231:[function(t,e,r){\"function\"==typeof Object.create?e.exports=function(t,e){e&&(t.super_=e,t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}))}:e.exports=function(t,e){if(e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}}},{}],232:[function(t,e,r){e.exports=!0},{}],233:[function(t,e,r){\"use strict\";e.exports=\"undefined\"!=typeof navigator&&(/MSIE/.test(navigator.userAgent)||/Trident\\//.test(navigator.appVersion))},{}],234:[function(t,e,r){\"use strict\";e.exports=a,e.exports.isMobile=a,e.exports.default=a;var n=/(android|bb\\d+|meego).+mobile|avantgo|bada\\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\\/|plucker|pocket|psp|series[46]0|symbian|treo|up\\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i,i=/(android|bb\\d+|meego).+mobile|avantgo|bada\\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\\/|plucker|pocket|psp|series[46]0|symbian|treo|up\\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino|android|ipad|playbook|silk/i;function a(t){t||(t={});var e=t.ua;if(e||\"undefined\"==typeof navigator||(e=navigator.userAgent),e&&e.headers&&\"string\"==typeof e.headers[\"user-agent\"]&&(e=e.headers[\"user-agent\"]),\"string\"!=typeof e)return!1;var r=t.tablet?i.test(e):n.test(e);return!r&&t.tablet&&t.featureDetect&&navigator&&navigator.maxTouchPoints>1&&-1!==e.indexOf(\"Macintosh\")&&-1!==e.indexOf(\"Safari\")&&(r=!0),r}},{}],235:[function(t,e,r){\"use strict\";e.exports=function(t){var e=typeof t;return null!==t&&(\"object\"===e||\"function\"===e)}},{}],236:[function(t,e,r){\"use strict\";var n=Object.prototype.toString;e.exports=function(t){var e;return\"[object Object]\"===n.call(t)&&(null===(e=Object.getPrototypeOf(t))||e===Object.getPrototypeOf({}))}},{}],237:[function(t,e,r){\"use strict\";e.exports=function(t){for(var e,r=t.length,n=0;n13)&&32!==e&&133!==e&&160!==e&&5760!==e&&6158!==e&&(e<8192||e>8205)&&8232!==e&&8233!==e&&8239!==e&&8287!==e&&8288!==e&&12288!==e&&65279!==e)return!1;return!0}},{}],238:[function(t,e,r){\"use strict\";e.exports=function(t){return\"string\"==typeof t&&(t=t.trim(),!!(/^[mzlhvcsqta]\\s*[-+.0-9][^mlhvzcsqta]+/i.test(t)&&/[\\dz]$/i.test(t)&&t.length>4))}},{}],239:[function(t,e,r){!function(t,n){\"object\"==typeof r&&void 0!==e?e.exports=n():(t=t||self).mapboxgl=n()}(this,(function(){\"use strict\";var t,e,r;function n(n,i){if(t)if(e){var a=\"var sharedChunk = {}; (\"+t+\")(sharedChunk); (\"+e+\")(sharedChunk);\",o={};t(o),(r=i(o)).workerUrl=window.URL.createObjectURL(new Blob([a],{type:\"text/javascript\"}))}else e=i;else t=i}return n(0,(function(t){function e(t,e){return t(e={exports:{}},e.exports),e.exports}var r=n;function n(t,e,r,n){this.cx=3*t,this.bx=3*(r-t)-this.cx,this.ax=1-this.cx-this.bx,this.cy=3*e,this.by=3*(n-e)-this.cy,this.ay=1-this.cy-this.by,this.p1x=t,this.p1y=n,this.p2x=r,this.p2y=n}n.prototype.sampleCurveX=function(t){return((this.ax*t+this.bx)*t+this.cx)*t},n.prototype.sampleCurveY=function(t){return((this.ay*t+this.by)*t+this.cy)*t},n.prototype.sampleCurveDerivativeX=function(t){return(3*this.ax*t+2*this.bx)*t+this.cx},n.prototype.solveCurveX=function(t,e){var r,n,i,a,o;for(void 0===e&&(e=1e-6),i=t,o=0;o<8;o++){if(a=this.sampleCurveX(i)-t,Math.abs(a)(n=1))return n;for(;ra?r=i:n=i,i=.5*(n-r)+r}return i},n.prototype.solve=function(t,e){return this.sampleCurveY(this.solveCurveX(t,e))};var i=a;function a(t,e){this.x=t,this.y=e}function o(t,e,n,i){var a=new r(t,e,n,i);return function(t){return a.solve(t)}}a.prototype={clone:function(){return new a(this.x,this.y)},add:function(t){return this.clone()._add(t)},sub:function(t){return this.clone()._sub(t)},multByPoint:function(t){return this.clone()._multByPoint(t)},divByPoint:function(t){return this.clone()._divByPoint(t)},mult:function(t){return this.clone()._mult(t)},div:function(t){return this.clone()._div(t)},rotate:function(t){return this.clone()._rotate(t)},rotateAround:function(t,e){return this.clone()._rotateAround(t,e)},matMult:function(t){return this.clone()._matMult(t)},unit:function(){return this.clone()._unit()},perp:function(){return this.clone()._perp()},round:function(){return this.clone()._round()},mag:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},equals:function(t){return this.x===t.x&&this.y===t.y},dist:function(t){return Math.sqrt(this.distSqr(t))},distSqr:function(t){var e=t.x-this.x,r=t.y-this.y;return e*e+r*r},angle:function(){return Math.atan2(this.y,this.x)},angleTo:function(t){return Math.atan2(this.y-t.y,this.x-t.x)},angleWith:function(t){return this.angleWithSep(t.x,t.y)},angleWithSep:function(t,e){return Math.atan2(this.x*e-this.y*t,this.x*t+this.y*e)},_matMult:function(t){var e=t[0]*this.x+t[1]*this.y,r=t[2]*this.x+t[3]*this.y;return this.x=e,this.y=r,this},_add:function(t){return this.x+=t.x,this.y+=t.y,this},_sub:function(t){return this.x-=t.x,this.y-=t.y,this},_mult:function(t){return this.x*=t,this.y*=t,this},_div:function(t){return this.x/=t,this.y/=t,this},_multByPoint:function(t){return this.x*=t.x,this.y*=t.y,this},_divByPoint:function(t){return this.x/=t.x,this.y/=t.y,this},_unit:function(){return this._div(this.mag()),this},_perp:function(){var t=this.y;return this.y=this.x,this.x=-t,this},_rotate:function(t){var e=Math.cos(t),r=Math.sin(t),n=e*this.x-r*this.y,i=r*this.x+e*this.y;return this.x=n,this.y=i,this},_rotateAround:function(t,e){var r=Math.cos(t),n=Math.sin(t),i=e.x+r*(this.x-e.x)-n*(this.y-e.y),a=e.y+n*(this.x-e.x)+r*(this.y-e.y);return this.x=i,this.y=a,this},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}},a.convert=function(t){return t instanceof a?t:Array.isArray(t)?new a(t[0],t[1]):t};var s=o(.25,.1,.25,1);function l(t,e,r){return Math.min(r,Math.max(e,t))}function c(t,e,r){var n=r-e,i=((t-e)%n+n)%n+e;return i===e?r:i}function u(t){for(var e=[],r=arguments.length-1;r-- >0;)e[r]=arguments[r+1];for(var n=0,i=e;n>e/4).toString(16):([1e7]+-[1e3]+-4e3+-8e3+-1e11).replace(/[018]/g,t)}()}function d(t){return!!t&&/^[0-9a-f]{8}-[0-9a-f]{4}-[4][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test(t)}function m(t,e){t.forEach((function(t){e[t]&&(e[t]=e[t].bind(e))}))}function g(t,e){return-1!==t.indexOf(e,t.length-e.length)}function v(t,e,r){var n={};for(var i in t)n[i]=e.call(r||this,t[i],i,t);return n}function y(t,e,r){var n={};for(var i in t)e.call(r||this,t[i],i,t)&&(n[i]=t[i]);return n}function x(t){return Array.isArray(t)?t.map(x):\"object\"==typeof t&&t?v(t,x):t}var b={};function _(t){b[t]||(\"undefined\"!=typeof console&&console.warn(t),b[t]=!0)}function w(t,e,r){return(r.y-t.y)*(e.x-t.x)>(e.y-t.y)*(r.x-t.x)}function T(t){for(var e=0,r=0,n=t.length,i=n-1,a=void 0,o=void 0;r@\\,;\\:\\\\\"\\/\\[\\]\\?\\=\\{\\}\\x7F]+)(?:\\=(?:([^\\x00-\\x20\\(\\)<>@\\,;\\:\\\\\"\\/\\[\\]\\?\\=\\{\\}\\x7F]+)|(?:\\\"((?:[^\"\\\\]|\\\\.)*)\\\")))?/g,(function(t,r,n,i){var a=n||i;return e[r]=!a||a.toLowerCase(),\"\"})),e[\"max-age\"]){var r=parseInt(e[\"max-age\"],10);isNaN(r)?delete e[\"max-age\"]:e[\"max-age\"]=r}return e}var M=null;function S(t){if(null==M){var e=t.navigator?t.navigator.userAgent:null;M=!!t.safari||!(!e||!(/\\b(iPad|iPhone|iPod)\\b/.test(e)||e.match(\"Safari\")&&!e.match(\"Chrome\")))}return M}function E(t){try{var e=self[t];return e.setItem(\"_mapbox_test_\",1),e.removeItem(\"_mapbox_test_\"),!0}catch(t){return!1}}var L,C,P,I,O=self.performance&&self.performance.now?self.performance.now.bind(self.performance):Date.now.bind(Date),z=self.requestAnimationFrame||self.mozRequestAnimationFrame||self.webkitRequestAnimationFrame||self.msRequestAnimationFrame,D=self.cancelAnimationFrame||self.mozCancelAnimationFrame||self.webkitCancelAnimationFrame||self.msCancelAnimationFrame,R={now:O,frame:function(t){var e=z(t);return{cancel:function(){return D(e)}}},getImageData:function(t,e){void 0===e&&(e=0);var r=self.document.createElement(\"canvas\"),n=r.getContext(\"2d\");if(!n)throw new Error(\"failed to create canvas 2d context\");return r.width=t.width,r.height=t.height,n.drawImage(t,0,0,t.width,t.height),n.getImageData(-e,-e,t.width+2*e,t.height+2*e)},resolveURL:function(t){return L||(L=self.document.createElement(\"a\")),L.href=t,L.href},hardwareConcurrency:self.navigator.hardwareConcurrency||4,get devicePixelRatio(){return self.devicePixelRatio},get prefersReducedMotion(){return!!self.matchMedia&&(null==C&&(C=self.matchMedia(\"(prefers-reduced-motion: reduce)\")),C.matches)}},F={API_URL:\"https://api.mapbox.com\",get EVENTS_URL(){return this.API_URL?0===this.API_URL.indexOf(\"https://api.mapbox.cn\")?\"https://events.mapbox.cn/events/v2\":0===this.API_URL.indexOf(\"https://api.mapbox.com\")?\"https://events.mapbox.com/events/v2\":null:null},FEEDBACK_URL:\"https://apps.mapbox.com/feedback\",REQUIRE_ACCESS_TOKEN:!0,ACCESS_TOKEN:null,MAX_PARALLEL_IMAGE_REQUESTS:16},B={supported:!1,testSupport:function(t){if(N||!I)return;j?U(t):P=t}},N=!1,j=!1;function U(t){var e=t.createTexture();t.bindTexture(t.TEXTURE_2D,e);try{if(t.texImage2D(t.TEXTURE_2D,0,t.RGBA,t.RGBA,t.UNSIGNED_BYTE,I),t.isContextLost())return;B.supported=!0}catch(t){}t.deleteTexture(e),N=!0}self.document&&((I=self.document.createElement(\"img\")).onload=function(){P&&U(P),P=null,j=!0},I.onerror=function(){N=!0,P=null},I.src=\"data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAQAAAAfQ//73v/+BiOh/AAA=\");var V=\"01\";var H=function(t,e){this._transformRequestFn=t,this._customAccessToken=e,this._createSkuToken()};function q(t){return 0===t.indexOf(\"mapbox:\")}H.prototype._createSkuToken=function(){var t=function(){for(var t=\"\",e=0;e<10;e++)t+=\"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ\"[Math.floor(62*Math.random())];return{token:[\"1\",V,t].join(\"\"),tokenExpiresAt:Date.now()+432e5}}();this._skuToken=t.token,this._skuTokenExpiresAt=t.tokenExpiresAt},H.prototype._isSkuTokenExpired=function(){return Date.now()>this._skuTokenExpiresAt},H.prototype.transformRequest=function(t,e){return this._transformRequestFn&&this._transformRequestFn(t,e)||{url:t}},H.prototype.normalizeStyleURL=function(t,e){if(!q(t))return t;var r=Z(t);return r.path=\"/styles/v1\"+r.path,this._makeAPIURL(r,this._customAccessToken||e)},H.prototype.normalizeGlyphsURL=function(t,e){if(!q(t))return t;var r=Z(t);return r.path=\"/fonts/v1\"+r.path,this._makeAPIURL(r,this._customAccessToken||e)},H.prototype.normalizeSourceURL=function(t,e){if(!q(t))return t;var r=Z(t);return r.path=\"/v4/\"+r.authority+\".json\",r.params.push(\"secure\"),this._makeAPIURL(r,this._customAccessToken||e)},H.prototype.normalizeSpriteURL=function(t,e,r,n){var i=Z(t);return q(t)?(i.path=\"/styles/v1\"+i.path+\"/sprite\"+e+r,this._makeAPIURL(i,this._customAccessToken||n)):(i.path+=\"\"+e+r,X(i))},H.prototype.normalizeTileURL=function(t,e){if(this._isSkuTokenExpired()&&this._createSkuToken(),t&&!q(t))return t;var r=Z(t),n=R.devicePixelRatio>=2||512===e?\"@2x\":\"\",i=B.supported?\".webp\":\"$1\";r.path=r.path.replace(/(\\.(png|jpg)\\d*)(?=$)/,\"\"+n+i),r.path=r.path.replace(/^.+\\/v4\\//,\"/\"),r.path=\"/v4\"+r.path;var a=this._customAccessToken||function(t){for(var e=0,r=t;e=1&&self.localStorage.setItem(e,JSON.stringify(this.eventData))}catch(t){_(\"Unable to write to LocalStorage\")}},K.prototype.processRequests=function(t){},K.prototype.postEvent=function(t,e,r,n){var i=this;if(F.EVENTS_URL){var a=Z(F.EVENTS_URL);a.params.push(\"access_token=\"+(n||F.ACCESS_TOKEN||\"\"));var o={event:this.type,created:new Date(t).toISOString(),sdkIdentifier:\"mapbox-gl-js\",sdkVersion:\"1.10.1\",skuId:V,userId:this.anonId},s=e?u(o,e):o,l={url:X(a),headers:{\"Content-Type\":\"text/plain\"},body:JSON.stringify([s])};this.pendingRequest=bt(l,(function(t){i.pendingRequest=null,r(t),i.saveEventData(),i.processRequests(n)}))}},K.prototype.queueRequest=function(t,e){this.queue.push(t),this.processRequests(e)};var Q,$,tt=function(t){function e(){t.call(this,\"map.load\"),this.success={},this.skuToken=\"\"}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.postMapLoadEvent=function(t,e,r,n){this.skuToken=r,(F.EVENTS_URL&&n||F.ACCESS_TOKEN&&Array.isArray(t)&&t.some((function(t){return q(t)||Y(t)})))&&this.queueRequest({id:e,timestamp:Date.now()},n)},e.prototype.processRequests=function(t){var e=this;if(!this.pendingRequest&&0!==this.queue.length){var r=this.queue.shift(),n=r.id,i=r.timestamp;n&&this.success[n]||(this.anonId||this.fetchEventData(),d(this.anonId)||(this.anonId=p()),this.postEvent(i,{skuToken:this.skuToken},(function(t){t||n&&(e.success[n]=!0)}),t))}},e}(K),et=new(function(t){function e(e){t.call(this,\"appUserTurnstile\"),this._customAccessToken=e}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.postTurnstileEvent=function(t,e){F.EVENTS_URL&&F.ACCESS_TOKEN&&Array.isArray(t)&&t.some((function(t){return q(t)||Y(t)}))&&this.queueRequest(Date.now(),e)},e.prototype.processRequests=function(t){var e=this;if(!this.pendingRequest&&0!==this.queue.length){this.anonId&&this.eventData.lastSuccess&&this.eventData.tokenU||this.fetchEventData();var r=J(F.ACCESS_TOKEN),n=r?r.u:F.ACCESS_TOKEN,i=n!==this.eventData.tokenU;d(this.anonId)||(this.anonId=p(),i=!0);var a=this.queue.shift();if(this.eventData.lastSuccess){var o=new Date(this.eventData.lastSuccess),s=new Date(a),l=(a-this.eventData.lastSuccess)/864e5;i=i||l>=1||l<-1||o.getDate()!==s.getDate()}else i=!0;if(!i)return this.processRequests();this.postEvent(a,{\"enabled.telemetry\":!1},(function(t){t||(e.eventData.lastSuccess=a,e.eventData.tokenU=n)}),t)}},e}(K)),rt=et.postTurnstileEvent.bind(et),nt=new tt,it=nt.postMapLoadEvent.bind(nt),at=500,ot=50;function st(){self.caches&&!Q&&(Q=self.caches.open(\"mapbox-tiles\"))}function lt(t,e,r){if(st(),Q){var n={status:e.status,statusText:e.statusText,headers:new self.Headers};e.headers.forEach((function(t,e){return n.headers.set(e,t)}));var i=A(e.headers.get(\"Cache-Control\")||\"\");if(!i[\"no-store\"])i[\"max-age\"]&&n.headers.set(\"Expires\",new Date(r+1e3*i[\"max-age\"]).toUTCString()),new Date(n.headers.get(\"Expires\")).getTime()-r<42e4||function(t,e){if(void 0===$)try{new Response(new ReadableStream),$=!0}catch(t){$=!1}$?e(t.body):t.blob().then(e)}(e,(function(e){var r=new self.Response(e,n);st(),Q&&Q.then((function(e){return e.put(ct(t.url),r)})).catch((function(t){return _(t.message)}))}))}}function ct(t){var e=t.indexOf(\"?\");return e<0?t:t.slice(0,e)}function ut(t,e){if(st(),!Q)return e(null);var r=ct(t.url);Q.then((function(t){t.match(r).then((function(n){var i=function(t){if(!t)return!1;var e=new Date(t.headers.get(\"Expires\")||0),r=A(t.headers.get(\"Cache-Control\")||\"\");return e>Date.now()&&!r[\"no-cache\"]}(n);t.delete(r),i&&t.put(r,n.clone()),e(null,n,i)})).catch(e)})).catch(e)}var ft,ht=1/0;function pt(){return null==ft&&(ft=self.OffscreenCanvas&&new self.OffscreenCanvas(1,1).getContext(\"2d\")&&\"function\"==typeof self.createImageBitmap),ft}var dt={Unknown:\"Unknown\",Style:\"Style\",Source:\"Source\",Tile:\"Tile\",Glyphs:\"Glyphs\",SpriteImage:\"SpriteImage\",SpriteJSON:\"SpriteJSON\",Image:\"Image\"};\"function\"==typeof Object.freeze&&Object.freeze(dt);var mt=function(t){function e(e,r,n){401===r&&Y(n)&&(e+=\": you may have provided an invalid Mapbox access token. See https://www.mapbox.com/api-documentation/#access-tokens-and-token-scopes\"),t.call(this,e),this.status=r,this.url=n,this.name=this.constructor.name,this.message=e}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.toString=function(){return this.name+\": \"+this.message+\" (\"+this.status+\"): \"+this.url},e}(Error),gt=k()?function(){return self.worker&&self.worker.referrer}:function(){return(\"blob:\"===self.location.protocol?self.parent:self).location.href};function vt(t,e){var r,n=new self.AbortController,i=new self.Request(t.url,{method:t.method||\"GET\",body:t.body,credentials:t.credentials,headers:t.headers,referrer:gt(),signal:n.signal}),a=!1,o=!1,s=(r=i.url).indexOf(\"sku=\")>0&&Y(r);\"json\"===t.type&&i.headers.set(\"Accept\",\"application/json\");var l=function(r,n,a){if(!o){if(r&&\"SecurityError\"!==r.message&&_(r),n&&a)return c(n);var l=Date.now();self.fetch(i).then((function(r){if(r.ok){var n=s?r.clone():null;return c(r,n,l)}return e(new mt(r.statusText,r.status,t.url))})).catch((function(t){20!==t.code&&e(new Error(t.message))}))}},c=function(r,n,s){(\"arrayBuffer\"===t.type?r.arrayBuffer():\"json\"===t.type?r.json():r.text()).then((function(t){o||(n&&s&<(i,n,s),a=!0,e(null,t,r.headers.get(\"Cache-Control\"),r.headers.get(\"Expires\")))})).catch((function(t){o||e(new Error(t.message))}))};return s?ut(i,l):l(null,null),{cancel:function(){o=!0,a||n.abort()}}}var yt=function(t,e){if(r=t.url,!(/^file:/.test(r)||/^file:/.test(gt())&&!/^\\w+:/.test(r))){if(self.fetch&&self.Request&&self.AbortController&&self.Request.prototype.hasOwnProperty(\"signal\"))return vt(t,e);if(k()&&self.worker&&self.worker.actor){return self.worker.actor.send(\"getResource\",t,e,void 0,!0)}}var r;return function(t,e){var r=new self.XMLHttpRequest;for(var n in r.open(t.method||\"GET\",t.url,!0),\"arrayBuffer\"===t.type&&(r.responseType=\"arraybuffer\"),t.headers)r.setRequestHeader(n,t.headers[n]);return\"json\"===t.type&&(r.responseType=\"text\",r.setRequestHeader(\"Accept\",\"application/json\")),r.withCredentials=\"include\"===t.credentials,r.onerror=function(){e(new Error(r.statusText))},r.onload=function(){if((r.status>=200&&r.status<300||0===r.status)&&null!==r.response){var n=r.response;if(\"json\"===t.type)try{n=JSON.parse(r.response)}catch(t){return e(t)}e(null,n,r.getResponseHeader(\"Cache-Control\"),r.getResponseHeader(\"Expires\"))}else e(new mt(r.statusText,r.status,t.url))},r.send(t.body),{cancel:function(){return r.abort()}}}(t,e)},xt=function(t,e){return yt(u(t,{type:\"arrayBuffer\"}),e)},bt=function(t,e){return yt(u(t,{method:\"POST\"}),e)};var _t,wt;_t=[],wt=0;var Tt=function(t,e){if(B.supported&&(t.headers||(t.headers={}),t.headers.accept=\"image/webp,*/*\"),wt>=F.MAX_PARALLEL_IMAGE_REQUESTS){var r={requestParameters:t,callback:e,cancelled:!1,cancel:function(){this.cancelled=!0}};return _t.push(r),r}wt++;var n=!1,i=function(){if(!n)for(n=!0,wt--;_t.length&&wt0||this._oneTimeListeners&&this._oneTimeListeners[t]&&this._oneTimeListeners[t].length>0||this._eventedParent&&this._eventedParent.listens(t)},Et.prototype.setEventedParent=function(t,e){return this._eventedParent=t,this._eventedParentData=e,this};var Lt={$version:8,$root:{version:{required:!0,type:\"enum\",values:[8]},name:{type:\"string\"},metadata:{type:\"*\"},center:{type:\"array\",value:\"number\"},zoom:{type:\"number\"},bearing:{type:\"number\",default:0,period:360,units:\"degrees\"},pitch:{type:\"number\",default:0,units:\"degrees\"},light:{type:\"light\"},sources:{required:!0,type:\"sources\"},sprite:{type:\"string\"},glyphs:{type:\"string\"},transition:{type:\"transition\"},layers:{required:!0,type:\"array\",value:\"layer\"}},sources:{\"*\":{type:\"source\"}},source:[\"source_vector\",\"source_raster\",\"source_raster_dem\",\"source_geojson\",\"source_video\",\"source_image\"],source_vector:{type:{required:!0,type:\"enum\",values:{vector:{}}},url:{type:\"string\"},tiles:{type:\"array\",value:\"string\"},bounds:{type:\"array\",value:\"number\",length:4,default:[-180,-85.051129,180,85.051129]},scheme:{type:\"enum\",values:{xyz:{},tms:{}},default:\"xyz\"},minzoom:{type:\"number\",default:0},maxzoom:{type:\"number\",default:22},attribution:{type:\"string\"},promoteId:{type:\"promoteId\"},\"*\":{type:\"*\"}},source_raster:{type:{required:!0,type:\"enum\",values:{raster:{}}},url:{type:\"string\"},tiles:{type:\"array\",value:\"string\"},bounds:{type:\"array\",value:\"number\",length:4,default:[-180,-85.051129,180,85.051129]},minzoom:{type:\"number\",default:0},maxzoom:{type:\"number\",default:22},tileSize:{type:\"number\",default:512,units:\"pixels\"},scheme:{type:\"enum\",values:{xyz:{},tms:{}},default:\"xyz\"},attribution:{type:\"string\"},\"*\":{type:\"*\"}},source_raster_dem:{type:{required:!0,type:\"enum\",values:{\"raster-dem\":{}}},url:{type:\"string\"},tiles:{type:\"array\",value:\"string\"},bounds:{type:\"array\",value:\"number\",length:4,default:[-180,-85.051129,180,85.051129]},minzoom:{type:\"number\",default:0},maxzoom:{type:\"number\",default:22},tileSize:{type:\"number\",default:512,units:\"pixels\"},attribution:{type:\"string\"},encoding:{type:\"enum\",values:{terrarium:{},mapbox:{}},default:\"mapbox\"},\"*\":{type:\"*\"}},source_geojson:{type:{required:!0,type:\"enum\",values:{geojson:{}}},data:{type:\"*\"},maxzoom:{type:\"number\",default:18},attribution:{type:\"string\"},buffer:{type:\"number\",default:128,maximum:512,minimum:0},tolerance:{type:\"number\",default:.375},cluster:{type:\"boolean\",default:!1},clusterRadius:{type:\"number\",default:50,minimum:0},clusterMaxZoom:{type:\"number\"},clusterProperties:{type:\"*\"},lineMetrics:{type:\"boolean\",default:!1},generateId:{type:\"boolean\",default:!1},promoteId:{type:\"promoteId\"}},source_video:{type:{required:!0,type:\"enum\",values:{video:{}}},urls:{required:!0,type:\"array\",value:\"string\"},coordinates:{required:!0,type:\"array\",length:4,value:{type:\"array\",length:2,value:\"number\"}}},source_image:{type:{required:!0,type:\"enum\",values:{image:{}}},url:{required:!0,type:\"string\"},coordinates:{required:!0,type:\"array\",length:4,value:{type:\"array\",length:2,value:\"number\"}}},layer:{id:{type:\"string\",required:!0},type:{type:\"enum\",values:{fill:{},line:{},symbol:{},circle:{},heatmap:{},\"fill-extrusion\":{},raster:{},hillshade:{},background:{}},required:!0},metadata:{type:\"*\"},source:{type:\"string\"},\"source-layer\":{type:\"string\"},minzoom:{type:\"number\",minimum:0,maximum:24},maxzoom:{type:\"number\",minimum:0,maximum:24},filter:{type:\"filter\"},layout:{type:\"layout\"},paint:{type:\"paint\"}},layout:[\"layout_fill\",\"layout_line\",\"layout_circle\",\"layout_heatmap\",\"layout_fill-extrusion\",\"layout_symbol\",\"layout_raster\",\"layout_hillshade\",\"layout_background\"],layout_background:{visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_fill:{\"fill-sort-key\":{type:\"number\",expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_circle:{\"circle-sort-key\":{type:\"number\",expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_heatmap:{visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},\"layout_fill-extrusion\":{visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_line:{\"line-cap\":{type:\"enum\",values:{butt:{},round:{},square:{}},default:\"butt\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"line-join\":{type:\"enum\",values:{bevel:{},round:{},miter:{}},default:\"miter\",expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"line-miter-limit\":{type:\"number\",default:2,requires:[{\"line-join\":\"miter\"}],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"line-round-limit\":{type:\"number\",default:1.05,requires:[{\"line-join\":\"round\"}],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"line-sort-key\":{type:\"number\",expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_symbol:{\"symbol-placement\":{type:\"enum\",values:{point:{},line:{},\"line-center\":{}},default:\"point\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"symbol-spacing\":{type:\"number\",default:250,minimum:1,units:\"pixels\",requires:[{\"symbol-placement\":\"line\"}],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"symbol-avoid-edges\":{type:\"boolean\",default:!1,expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"symbol-sort-key\":{type:\"number\",expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"symbol-z-order\":{type:\"enum\",values:{auto:{},\"viewport-y\":{},source:{}},default:\"auto\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-allow-overlap\":{type:\"boolean\",default:!1,requires:[\"icon-image\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-ignore-placement\":{type:\"boolean\",default:!1,requires:[\"icon-image\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-optional\":{type:\"boolean\",default:!1,requires:[\"icon-image\",\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-rotation-alignment\":{type:\"enum\",values:{map:{},viewport:{},auto:{}},default:\"auto\",requires:[\"icon-image\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-size\":{type:\"number\",default:1,minimum:0,units:\"factor of the original icon size\",requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"icon-text-fit\":{type:\"enum\",values:{none:{},width:{},height:{},both:{}},default:\"none\",requires:[\"icon-image\",\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-text-fit-padding\":{type:\"array\",value:\"number\",length:4,default:[0,0,0,0],units:\"pixels\",requires:[\"icon-image\",\"text-field\",{\"icon-text-fit\":[\"both\",\"width\",\"height\"]}],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-image\":{type:\"resolvedImage\",tokens:!0,expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"icon-rotate\":{type:\"number\",default:0,period:360,units:\"degrees\",requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"icon-padding\":{type:\"number\",default:2,minimum:0,units:\"pixels\",requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-keep-upright\":{type:\"boolean\",default:!1,requires:[\"icon-image\",{\"icon-rotation-alignment\":\"map\"},{\"symbol-placement\":[\"line\",\"line-center\"]}],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-offset\":{type:\"array\",value:\"number\",length:2,default:[0,0],requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"icon-anchor\":{type:\"enum\",values:{center:{},left:{},right:{},top:{},bottom:{},\"top-left\":{},\"top-right\":{},\"bottom-left\":{},\"bottom-right\":{}},default:\"center\",requires:[\"icon-image\"],expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"icon-pitch-alignment\":{type:\"enum\",values:{map:{},viewport:{},auto:{}},default:\"auto\",requires:[\"icon-image\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-pitch-alignment\":{type:\"enum\",values:{map:{},viewport:{},auto:{}},default:\"auto\",requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-rotation-alignment\":{type:\"enum\",values:{map:{},viewport:{},auto:{}},default:\"auto\",requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-field\":{type:\"formatted\",default:\"\",tokens:!0,expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-font\":{type:\"array\",value:\"string\",default:[\"Open Sans Regular\",\"Arial Unicode MS Regular\"],requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-size\":{type:\"number\",default:16,minimum:0,units:\"pixels\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-max-width\":{type:\"number\",default:10,minimum:0,units:\"ems\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-line-height\":{type:\"number\",default:1.2,units:\"ems\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-letter-spacing\":{type:\"number\",default:0,units:\"ems\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-justify\":{type:\"enum\",values:{auto:{},left:{},center:{},right:{}},default:\"center\",requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-radial-offset\":{type:\"number\",units:\"ems\",default:0,requires:[\"text-field\"],\"property-type\":\"data-driven\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]}},\"text-variable-anchor\":{type:\"array\",value:\"enum\",values:{center:{},left:{},right:{},top:{},bottom:{},\"top-left\":{},\"top-right\":{},\"bottom-left\":{},\"bottom-right\":{}},requires:[\"text-field\",{\"symbol-placement\":[\"point\"]}],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-anchor\":{type:\"enum\",values:{center:{},left:{},right:{},top:{},bottom:{},\"top-left\":{},\"top-right\":{},\"bottom-left\":{},\"bottom-right\":{}},default:\"center\",requires:[\"text-field\",{\"!\":\"text-variable-anchor\"}],expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-max-angle\":{type:\"number\",default:45,units:\"degrees\",requires:[\"text-field\",{\"symbol-placement\":[\"line\",\"line-center\"]}],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-writing-mode\":{type:\"array\",value:\"enum\",values:{horizontal:{},vertical:{}},requires:[\"text-field\",{\"symbol-placement\":[\"point\"]}],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-rotate\":{type:\"number\",default:0,period:360,units:\"degrees\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-padding\":{type:\"number\",default:2,minimum:0,units:\"pixels\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-keep-upright\":{type:\"boolean\",default:!0,requires:[\"text-field\",{\"text-rotation-alignment\":\"map\"},{\"symbol-placement\":[\"line\",\"line-center\"]}],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-transform\":{type:\"enum\",values:{none:{},uppercase:{},lowercase:{}},default:\"none\",requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-offset\":{type:\"array\",value:\"number\",units:\"ems\",length:2,default:[0,0],requires:[\"text-field\",{\"!\":\"text-radial-offset\"}],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-allow-overlap\":{type:\"boolean\",default:!1,requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-ignore-placement\":{type:\"boolean\",default:!1,requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-optional\":{type:\"boolean\",default:!1,requires:[\"text-field\",\"icon-image\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_raster:{visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_hillshade:{visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},filter:{type:\"array\",value:\"*\"},filter_operator:{type:\"enum\",values:{\"==\":{},\"!=\":{},\">\":{},\">=\":{},\"<\":{},\"<=\":{},in:{},\"!in\":{},all:{},any:{},none:{},has:{},\"!has\":{},within:{}}},geometry_type:{type:\"enum\",values:{Point:{},LineString:{},Polygon:{}}},function:{expression:{type:\"expression\"},stops:{type:\"array\",value:\"function_stop\"},base:{type:\"number\",default:1,minimum:0},property:{type:\"string\",default:\"$zoom\"},type:{type:\"enum\",values:{identity:{},exponential:{},interval:{},categorical:{}},default:\"exponential\"},colorSpace:{type:\"enum\",values:{rgb:{},lab:{},hcl:{}},default:\"rgb\"},default:{type:\"*\",required:!1}},function_stop:{type:\"array\",minimum:0,maximum:24,value:[\"number\",\"color\"],length:2},expression:{type:\"array\",value:\"*\",minimum:1},expression_name:{type:\"enum\",values:{let:{group:\"Variable binding\"},var:{group:\"Variable binding\"},literal:{group:\"Types\"},array:{group:\"Types\"},at:{group:\"Lookup\"},in:{group:\"Lookup\"},\"index-of\":{group:\"Lookup\"},slice:{group:\"Lookup\"},case:{group:\"Decision\"},match:{group:\"Decision\"},coalesce:{group:\"Decision\"},step:{group:\"Ramps, scales, curves\"},interpolate:{group:\"Ramps, scales, curves\"},\"interpolate-hcl\":{group:\"Ramps, scales, curves\"},\"interpolate-lab\":{group:\"Ramps, scales, curves\"},ln2:{group:\"Math\"},pi:{group:\"Math\"},e:{group:\"Math\"},typeof:{group:\"Types\"},string:{group:\"Types\"},number:{group:\"Types\"},boolean:{group:\"Types\"},object:{group:\"Types\"},collator:{group:\"Types\"},format:{group:\"Types\"},image:{group:\"Types\"},\"number-format\":{group:\"Types\"},\"to-string\":{group:\"Types\"},\"to-number\":{group:\"Types\"},\"to-boolean\":{group:\"Types\"},\"to-rgba\":{group:\"Color\"},\"to-color\":{group:\"Types\"},rgb:{group:\"Color\"},rgba:{group:\"Color\"},get:{group:\"Lookup\"},has:{group:\"Lookup\"},length:{group:\"Lookup\"},properties:{group:\"Feature data\"},\"feature-state\":{group:\"Feature data\"},\"geometry-type\":{group:\"Feature data\"},id:{group:\"Feature data\"},zoom:{group:\"Zoom\"},\"heatmap-density\":{group:\"Heatmap\"},\"line-progress\":{group:\"Feature data\"},accumulated:{group:\"Feature data\"},\"+\":{group:\"Math\"},\"*\":{group:\"Math\"},\"-\":{group:\"Math\"},\"/\":{group:\"Math\"},\"%\":{group:\"Math\"},\"^\":{group:\"Math\"},sqrt:{group:\"Math\"},log10:{group:\"Math\"},ln:{group:\"Math\"},log2:{group:\"Math\"},sin:{group:\"Math\"},cos:{group:\"Math\"},tan:{group:\"Math\"},asin:{group:\"Math\"},acos:{group:\"Math\"},atan:{group:\"Math\"},min:{group:\"Math\"},max:{group:\"Math\"},round:{group:\"Math\"},abs:{group:\"Math\"},ceil:{group:\"Math\"},floor:{group:\"Math\"},distance:{group:\"Math\"},\"==\":{group:\"Decision\"},\"!=\":{group:\"Decision\"},\">\":{group:\"Decision\"},\"<\":{group:\"Decision\"},\">=\":{group:\"Decision\"},\"<=\":{group:\"Decision\"},all:{group:\"Decision\"},any:{group:\"Decision\"},\"!\":{group:\"Decision\"},within:{group:\"Decision\"},\"is-supported-script\":{group:\"String\"},upcase:{group:\"String\"},downcase:{group:\"String\"},concat:{group:\"String\"},\"resolved-locale\":{group:\"String\"}}},light:{anchor:{type:\"enum\",default:\"viewport\",values:{map:{},viewport:{}},\"property-type\":\"data-constant\",transition:!1,expression:{interpolated:!1,parameters:[\"zoom\"]}},position:{type:\"array\",default:[1.15,210,30],length:3,value:\"number\",\"property-type\":\"data-constant\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]}},color:{type:\"color\",\"property-type\":\"data-constant\",default:\"#ffffff\",expression:{interpolated:!0,parameters:[\"zoom\"]},transition:!0},intensity:{type:\"number\",\"property-type\":\"data-constant\",default:.5,minimum:0,maximum:1,expression:{interpolated:!0,parameters:[\"zoom\"]},transition:!0}},paint:[\"paint_fill\",\"paint_line\",\"paint_circle\",\"paint_heatmap\",\"paint_fill-extrusion\",\"paint_symbol\",\"paint_raster\",\"paint_hillshade\",\"paint_background\"],paint_fill:{\"fill-antialias\":{type:\"boolean\",default:!0,expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-color\":{type:\"color\",default:\"#000000\",transition:!0,requires:[{\"!\":\"fill-pattern\"}],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-outline-color\":{type:\"color\",transition:!0,requires:[{\"!\":\"fill-pattern\"},{\"fill-antialias\":!0}],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-translate-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",requires:[\"fill-translate\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-pattern\":{type:\"resolvedImage\",transition:!0,expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"cross-faded-data-driven\"}},\"paint_fill-extrusion\":{\"fill-extrusion-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-extrusion-color\":{type:\"color\",default:\"#000000\",transition:!0,requires:[{\"!\":\"fill-extrusion-pattern\"}],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-extrusion-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-extrusion-translate-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",requires:[\"fill-extrusion-translate\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-extrusion-pattern\":{type:\"resolvedImage\",transition:!0,expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"cross-faded-data-driven\"},\"fill-extrusion-height\":{type:\"number\",default:0,minimum:0,units:\"meters\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-extrusion-base\":{type:\"number\",default:0,minimum:0,units:\"meters\",transition:!0,requires:[\"fill-extrusion-height\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-extrusion-vertical-gradient\":{type:\"boolean\",default:!0,transition:!1,expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"}},paint_line:{\"line-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-color\":{type:\"color\",default:\"#000000\",transition:!0,requires:[{\"!\":\"line-pattern\"}],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"line-translate-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",requires:[\"line-translate\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"line-width\":{type:\"number\",default:1,minimum:0,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-gap-width\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-offset\":{type:\"number\",default:0,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-blur\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-dasharray\":{type:\"array\",value:\"number\",minimum:0,transition:!0,units:\"line widths\",requires:[{\"!\":\"line-pattern\"}],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"cross-faded\"},\"line-pattern\":{type:\"resolvedImage\",transition:!0,expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"cross-faded-data-driven\"},\"line-gradient\":{type:\"color\",transition:!1,requires:[{\"!\":\"line-dasharray\"},{\"!\":\"line-pattern\"},{source:\"geojson\",has:{lineMetrics:!0}}],expression:{interpolated:!0,parameters:[\"line-progress\"]},\"property-type\":\"color-ramp\"}},paint_circle:{\"circle-radius\":{type:\"number\",default:5,minimum:0,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"circle-color\":{type:\"color\",default:\"#000000\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"circle-blur\":{type:\"number\",default:0,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"circle-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"circle-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"circle-translate-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",requires:[\"circle-translate\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"circle-pitch-scale\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"circle-pitch-alignment\":{type:\"enum\",values:{map:{},viewport:{}},default:\"viewport\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"circle-stroke-width\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"circle-stroke-color\":{type:\"color\",default:\"#000000\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"circle-stroke-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"}},paint_heatmap:{\"heatmap-radius\":{type:\"number\",default:30,minimum:1,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"heatmap-weight\":{type:\"number\",default:1,minimum:0,transition:!1,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"heatmap-intensity\":{type:\"number\",default:1,minimum:0,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"heatmap-color\":{type:\"color\",default:[\"interpolate\",[\"linear\"],[\"heatmap-density\"],0,\"rgba(0, 0, 255, 0)\",.1,\"royalblue\",.3,\"cyan\",.5,\"lime\",.7,\"yellow\",1,\"red\"],transition:!1,expression:{interpolated:!0,parameters:[\"heatmap-density\"]},\"property-type\":\"color-ramp\"},\"heatmap-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"}},paint_symbol:{\"icon-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"icon-color\":{type:\"color\",default:\"#000000\",transition:!0,requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"icon-halo-color\":{type:\"color\",default:\"rgba(0, 0, 0, 0)\",transition:!0,requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"icon-halo-width\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"icon-halo-blur\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"icon-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],transition:!0,units:\"pixels\",requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-translate-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",requires:[\"icon-image\",\"icon-translate\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"text-color\":{type:\"color\",default:\"#000000\",transition:!0,overridable:!0,requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"text-halo-color\":{type:\"color\",default:\"rgba(0, 0, 0, 0)\",transition:!0,requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"text-halo-width\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"text-halo-blur\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"text-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],transition:!0,units:\"pixels\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-translate-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",requires:[\"text-field\",\"text-translate\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"}},paint_raster:{\"raster-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-hue-rotate\":{type:\"number\",default:0,period:360,transition:!0,units:\"degrees\",expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-brightness-min\":{type:\"number\",default:0,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-brightness-max\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-saturation\":{type:\"number\",default:0,minimum:-1,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-contrast\":{type:\"number\",default:0,minimum:-1,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-resampling\":{type:\"enum\",values:{linear:{},nearest:{}},default:\"linear\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-fade-duration\":{type:\"number\",default:300,minimum:0,transition:!1,units:\"milliseconds\",expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"}},paint_hillshade:{\"hillshade-illumination-direction\":{type:\"number\",default:335,minimum:0,maximum:359,transition:!1,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"hillshade-illumination-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"viewport\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"hillshade-exaggeration\":{type:\"number\",default:.5,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"hillshade-shadow-color\":{type:\"color\",default:\"#000000\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"hillshade-highlight-color\":{type:\"color\",default:\"#FFFFFF\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"hillshade-accent-color\":{type:\"color\",default:\"#000000\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"}},paint_background:{\"background-color\":{type:\"color\",default:\"#000000\",transition:!0,requires:[{\"!\":\"background-pattern\"}],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"background-pattern\":{type:\"resolvedImage\",transition:!0,expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"cross-faded\"},\"background-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"}},transition:{duration:{type:\"number\",default:300,minimum:0,units:\"milliseconds\"},delay:{type:\"number\",default:0,minimum:0,units:\"milliseconds\"}},\"property-type\":{\"data-driven\":{type:\"property-type\"},\"cross-faded\":{type:\"property-type\"},\"cross-faded-data-driven\":{type:\"property-type\"},\"color-ramp\":{type:\"property-type\"},\"data-constant\":{type:\"property-type\"},constant:{type:\"property-type\"}},promoteId:{\"*\":{type:\"string\"}}},Ct=function(t,e,r,n){this.message=(t?t+\": \":\"\")+r,n&&(this.identifier=n),null!=e&&e.__line__&&(this.line=e.__line__)};function Pt(t){var e=t.key,r=t.value;return r?[new Ct(e,r,\"constants have been deprecated as of v8\")]:[]}function It(t){for(var e=[],r=arguments.length-1;r-- >0;)e[r]=arguments[r+1];for(var n=0,i=e;n\":\"value\"===t.itemType.kind?\"array\":\"array<\"+e+\">\"}return t.kind}var Xt=[Ft,Bt,Nt,jt,Ut,Gt,Vt,Wt(Ht),Yt];function Jt(t,e){if(\"error\"===e.kind)return null;if(\"array\"===t.kind){if(\"array\"===e.kind&&(0===e.N&&\"value\"===e.itemType.kind||!Jt(t.itemType,e.itemType))&&(\"number\"!=typeof t.N||t.N===e.N))return null}else{if(t.kind===e.kind)return null;if(\"value\"===t.kind)for(var r=0,n=Xt;r255?255:t}function i(t){return t<0?0:t>1?1:t}function a(t){return\"%\"===t[t.length-1]?n(parseFloat(t)/100*255):n(parseInt(t))}function o(t){return\"%\"===t[t.length-1]?i(parseFloat(t)/100):i(parseFloat(t))}function s(t,e,r){return r<0?r+=1:r>1&&(r-=1),6*r<1?t+(e-t)*r*6:2*r<1?e:3*r<2?t+(e-t)*(2/3-r)*6:t}try{e.parseCSSColor=function(t){var e,i=t.replace(/ /g,\"\").toLowerCase();if(i in r)return r[i].slice();if(\"#\"===i[0])return 4===i.length?(e=parseInt(i.substr(1),16))>=0&&e<=4095?[(3840&e)>>4|(3840&e)>>8,240&e|(240&e)>>4,15&e|(15&e)<<4,1]:null:7===i.length&&(e=parseInt(i.substr(1),16))>=0&&e<=16777215?[(16711680&e)>>16,(65280&e)>>8,255&e,1]:null;var l=i.indexOf(\"(\"),c=i.indexOf(\")\");if(-1!==l&&c+1===i.length){var u=i.substr(0,l),f=i.substr(l+1,c-(l+1)).split(\",\"),h=1;switch(u){case\"rgba\":if(4!==f.length)return null;h=o(f.pop());case\"rgb\":return 3!==f.length?null:[a(f[0]),a(f[1]),a(f[2]),h];case\"hsla\":if(4!==f.length)return null;h=o(f.pop());case\"hsl\":if(3!==f.length)return null;var p=(parseFloat(f[0])%360+360)%360/360,d=o(f[1]),m=o(f[2]),g=m<=.5?m*(d+1):m+d-m*d,v=2*m-g;return[n(255*s(v,g,p+1/3)),n(255*s(v,g,p)),n(255*s(v,g,p-1/3)),h];default:return null}}return null}}catch(t){}})).parseCSSColor,te=function(t,e,r,n){void 0===n&&(n=1),this.r=t,this.g=e,this.b=r,this.a=n};te.parse=function(t){if(t){if(t instanceof te)return t;if(\"string\"==typeof t){var e=$t(t);if(e)return new te(e[0]/255*e[3],e[1]/255*e[3],e[2]/255*e[3],e[3])}}},te.prototype.toString=function(){var t=this.toArray(),e=t[0],r=t[1],n=t[2],i=t[3];return\"rgba(\"+Math.round(e)+\",\"+Math.round(r)+\",\"+Math.round(n)+\",\"+i+\")\"},te.prototype.toArray=function(){var t=this.r,e=this.g,r=this.b,n=this.a;return 0===n?[0,0,0,0]:[255*t/n,255*e/n,255*r/n,n]},te.black=new te(0,0,0,1),te.white=new te(1,1,1,1),te.transparent=new te(0,0,0,0),te.red=new te(1,0,0,1);var ee=function(t,e,r){this.sensitivity=t?e?\"variant\":\"case\":e?\"accent\":\"base\",this.locale=r,this.collator=new Intl.Collator(this.locale?this.locale:[],{sensitivity:this.sensitivity,usage:\"search\"})};ee.prototype.compare=function(t,e){return this.collator.compare(t,e)},ee.prototype.resolvedLocale=function(){return new Intl.Collator(this.locale?this.locale:[]).resolvedOptions().locale};var re=function(t,e,r,n,i){this.text=t,this.image=e,this.scale=r,this.fontStack=n,this.textColor=i},ne=function(t){this.sections=t};ne.fromString=function(t){return new ne([new re(t,null,null,null,null)])},ne.prototype.isEmpty=function(){return 0===this.sections.length||!this.sections.some((function(t){return 0!==t.text.length||t.image&&0!==t.image.name.length}))},ne.factory=function(t){return t instanceof ne?t:ne.fromString(t)},ne.prototype.toString=function(){return 0===this.sections.length?\"\":this.sections.map((function(t){return t.text})).join(\"\")},ne.prototype.serialize=function(){for(var t=[\"format\"],e=0,r=this.sections;e=0&&t<=255&&\"number\"==typeof e&&e>=0&&e<=255&&\"number\"==typeof r&&r>=0&&r<=255?void 0===n||\"number\"==typeof n&&n>=0&&n<=1?null:\"Invalid rgba value [\"+[t,e,r,n].join(\", \")+\"]: 'a' must be between 0 and 1.\":\"Invalid rgba value [\"+(\"number\"==typeof n?[t,e,r,n]:[t,e,r]).join(\", \")+\"]: 'r', 'g', and 'b' must be between 0 and 255.\"}function oe(t){if(null===t)return!0;if(\"string\"==typeof t)return!0;if(\"boolean\"==typeof t)return!0;if(\"number\"==typeof t)return!0;if(t instanceof te)return!0;if(t instanceof ee)return!0;if(t instanceof ne)return!0;if(t instanceof ie)return!0;if(Array.isArray(t)){for(var e=0,r=t;e2){var s=t[1];if(\"string\"!=typeof s||!(s in fe)||\"object\"===s)return e.error('The item type argument of \"array\" must be one of string, number, boolean',1);a=fe[s],n++}else a=Ht;if(t.length>3){if(null!==t[2]&&(\"number\"!=typeof t[2]||t[2]<0||t[2]!==Math.floor(t[2])))return e.error('The length argument to \"array\" must be a positive integer literal',2);o=t[2],n++}r=Wt(a,o)}else r=fe[i];for(var l=[];n1)&&e.push(n)}}return e.concat(this.args.map((function(t){return t.serialize()})))};var pe=function(t){this.type=Gt,this.sections=t};pe.parse=function(t,e){if(t.length<2)return e.error(\"Expected at least one argument.\");var r=t[1];if(!Array.isArray(r)&&\"object\"==typeof r)return e.error(\"First argument must be an image or text section.\");for(var n=[],i=!1,a=1;a<=t.length-1;++a){var o=t[a];if(i&&\"object\"==typeof o&&!Array.isArray(o)){i=!1;var s=null;if(o[\"font-scale\"]&&!(s=e.parse(o[\"font-scale\"],1,Bt)))return null;var l=null;if(o[\"text-font\"]&&!(l=e.parse(o[\"text-font\"],1,Wt(Nt))))return null;var c=null;if(o[\"text-color\"]&&!(c=e.parse(o[\"text-color\"],1,Ut)))return null;var u=n[n.length-1];u.scale=s,u.font=l,u.textColor=c}else{var f=e.parse(t[a],1,Ht);if(!f)return null;var h=f.type.kind;if(\"string\"!==h&&\"value\"!==h&&\"null\"!==h&&\"resolvedImage\"!==h)return e.error(\"Formatted text type must be 'string', 'value', 'image' or 'null'.\");i=!0,n.push({content:f,scale:null,font:null,textColor:null})}}return new pe(n)},pe.prototype.evaluate=function(t){return new ne(this.sections.map((function(e){var r=e.content.evaluate(t);return se(r)===Yt?new re(\"\",r,null,null,null):new re(le(r),null,e.scale?e.scale.evaluate(t):null,e.font?e.font.evaluate(t).join(\",\"):null,e.textColor?e.textColor.evaluate(t):null)})))},pe.prototype.eachChild=function(t){for(var e=0,r=this.sections;e-1),r},de.prototype.eachChild=function(t){t(this.input)},de.prototype.outputDefined=function(){return!1},de.prototype.serialize=function(){return[\"image\",this.input.serialize()]};var me={\"to-boolean\":jt,\"to-color\":Ut,\"to-number\":Bt,\"to-string\":Nt},ge=function(t,e){this.type=t,this.args=e};ge.parse=function(t,e){if(t.length<2)return e.error(\"Expected at least one argument.\");var r=t[0];if((\"to-boolean\"===r||\"to-string\"===r)&&2!==t.length)return e.error(\"Expected one argument.\");for(var n=me[r],i=[],a=1;a4?\"Invalid rbga value \"+JSON.stringify(e)+\": expected an array containing either three or four numeric values.\":ae(e[0],e[1],e[2],e[3])))return new te(e[0]/255,e[1]/255,e[2]/255,e[3])}throw new ue(r||\"Could not parse color from value '\"+(\"string\"==typeof e?e:String(JSON.stringify(e)))+\"'\")}if(\"number\"===this.type.kind){for(var o=null,s=0,l=this.args;s=e[2])&&(!(t[1]<=e[1])&&!(t[3]>=e[3])))}function Te(t,e){var r,n=(180+t[0])/360,i=(r=t[1],(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+r*Math.PI/360)))/360),a=Math.pow(2,e.z);return[Math.round(n*a*8192),Math.round(i*a*8192)]}function ke(t,e,r){return e[1]>t[1]!=r[1]>t[1]&&t[0]<(r[0]-e[0])*(t[1]-e[1])/(r[1]-e[1])+e[0]}function Ae(t,e){for(var r,n,i,a,o,s,l,c=!1,u=0,f=e.length;u0&&f<0||u<0&&f>0}function Ee(t,e,r){for(var n=0,i=r;nr[2]){var i=.5*n,a=t[0]-r[0]>i?-n:r[0]-t[0]>i?n:0;0===a&&(a=t[0]-r[2]>i?-n:r[2]-t[0]>i?n:0),t[0]+=a}_e(e,t)}function ze(t,e,r,n){for(var i=8192*Math.pow(2,n.z),a=[8192*n.x,8192*n.y],o=[],s=0,l=t;s=0)return!1;var r=!0;return t.eachChild((function(t){r&&!Ne(t,e)&&(r=!1)})),r}Re.parse=function(t,e){if(2!==t.length)return e.error(\"'within' expression requires exactly one argument, but found \"+(t.length-1)+\" instead.\");if(oe(t[1])){var r=t[1];if(\"FeatureCollection\"===r.type)for(var n=0;ne))throw new ue(\"Input is not a number.\");o=s-1}return 0}Ue.prototype.parse=function(t,e,r,n,i){return void 0===i&&(i={}),e?this.concat(e,r,n)._parse(t,i):this._parse(t,i)},Ue.prototype._parse=function(t,e){function r(t,e,r){return\"assert\"===r?new he(e,[t]):\"coerce\"===r?new ge(e,[t]):t}if(null!==t&&\"string\"!=typeof t&&\"boolean\"!=typeof t&&\"number\"!=typeof t||(t=[\"literal\",t]),Array.isArray(t)){if(0===t.length)return this.error('Expected an array with at least one element. If you wanted a literal array, use [\"literal\", []].');var n=t[0];if(\"string\"!=typeof n)return this.error(\"Expression name must be a string, but found \"+typeof n+' instead. If you wanted a literal array, use [\"literal\", [...]].',0),null;var i=this.registry[n];if(i){var a=i.parse(t,this);if(!a)return null;if(this.expectedType){var o=this.expectedType,s=a.type;if(\"string\"!==o.kind&&\"number\"!==o.kind&&\"boolean\"!==o.kind&&\"object\"!==o.kind&&\"array\"!==o.kind||\"value\"!==s.kind)if(\"color\"!==o.kind&&\"formatted\"!==o.kind&&\"resolvedImage\"!==o.kind||\"value\"!==s.kind&&\"string\"!==s.kind){if(this.checkSubtype(o,s))return null}else a=r(a,o,e.typeAnnotation||\"coerce\");else a=r(a,o,e.typeAnnotation||\"assert\")}if(!(a instanceof ce)&&\"resolvedImage\"!==a.type.kind&&function t(e){if(e instanceof je)return t(e.boundExpression);if(e instanceof xe&&\"error\"===e.name)return!1;if(e instanceof be)return!1;if(e instanceof Re)return!1;var r=e instanceof ge||e instanceof he,n=!0;if(e.eachChild((function(e){n=r?n&&t(e):n&&e instanceof ce})),!n)return!1;return Fe(e)&&Ne(e,[\"zoom\",\"heatmap-density\",\"line-progress\",\"accumulated\",\"is-supported-script\"])}(a)){var l=new ye;try{a=new ce(a.type,a.evaluate(l))}catch(t){return this.error(t.message),null}}return a}return this.error('Unknown expression \"'+n+'\". If you wanted a literal array, use [\"literal\", [...]].',0)}return void 0===t?this.error(\"'undefined' value invalid. Use null instead.\"):\"object\"==typeof t?this.error('Bare objects invalid. Use [\"literal\", {...}] instead.'):this.error(\"Expected an array, but found \"+typeof t+\" instead.\")},Ue.prototype.concat=function(t,e,r){var n=\"number\"==typeof t?this.path.concat(t):this.path,i=r?this.scope.concat(r):this.scope;return new Ue(this.registry,n,e||null,i,this.errors)},Ue.prototype.error=function(t){for(var e=[],r=arguments.length-1;r-- >0;)e[r]=arguments[r+1];var n=\"\"+this.key+e.map((function(t){return\"[\"+t+\"]\"})).join(\"\");this.errors.push(new Dt(n,t))},Ue.prototype.checkSubtype=function(t,e){var r=Jt(t,e);return r&&this.error(r),r};var He=function(t,e,r){this.type=t,this.input=e,this.labels=[],this.outputs=[];for(var n=0,i=r;n=o)return e.error('Input/output pairs for \"step\" expressions must be arranged with input values in strictly ascending order.',l);var u=e.parse(s,c,i);if(!u)return null;i=i||u.type,n.push([o,u])}return new He(i,r,n)},He.prototype.evaluate=function(t){var e=this.labels,r=this.outputs;if(1===e.length)return r[0].evaluate(t);var n=this.input.evaluate(t);if(n<=e[0])return r[0].evaluate(t);var i=e.length;return n>=e[i-1]?r[i-1].evaluate(t):r[Ve(e,n)].evaluate(t)},He.prototype.eachChild=function(t){t(this.input);for(var e=0,r=this.outputs;e0&&t.push(this.labels[e]),t.push(this.outputs[e].serialize());return t};var Ge=Object.freeze({__proto__:null,number:qe,color:function(t,e,r){return new te(qe(t.r,e.r,r),qe(t.g,e.g,r),qe(t.b,e.b,r),qe(t.a,e.a,r))},array:function(t,e,r){return t.map((function(t,n){return qe(t,e[n],r)}))}}),Ye=6/29,We=3*Ye*Ye,Ze=Math.PI/180,Xe=180/Math.PI;function Je(t){return t>.008856451679035631?Math.pow(t,1/3):t/We+4/29}function Ke(t){return t>Ye?t*t*t:We*(t-4/29)}function Qe(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function $e(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function tr(t){var e=$e(t.r),r=$e(t.g),n=$e(t.b),i=Je((.4124564*e+.3575761*r+.1804375*n)/.95047),a=Je((.2126729*e+.7151522*r+.072175*n)/1);return{l:116*a-16,a:500*(i-a),b:200*(a-Je((.0193339*e+.119192*r+.9503041*n)/1.08883)),alpha:t.a}}function er(t){var e=(t.l+16)/116,r=isNaN(t.a)?e:e+t.a/500,n=isNaN(t.b)?e:e-t.b/200;return e=1*Ke(e),r=.95047*Ke(r),n=1.08883*Ke(n),new te(Qe(3.2404542*r-1.5371385*e-.4985314*n),Qe(-.969266*r+1.8760108*e+.041556*n),Qe(.0556434*r-.2040259*e+1.0572252*n),t.alpha)}function rr(t,e,r){var n=e-t;return t+r*(n>180||n<-180?n-360*Math.round(n/360):n)}var nr={forward:tr,reverse:er,interpolate:function(t,e,r){return{l:qe(t.l,e.l,r),a:qe(t.a,e.a,r),b:qe(t.b,e.b,r),alpha:qe(t.alpha,e.alpha,r)}}},ir={forward:function(t){var e=tr(t),r=e.l,n=e.a,i=e.b,a=Math.atan2(i,n)*Xe;return{h:a<0?a+360:a,c:Math.sqrt(n*n+i*i),l:r,alpha:t.a}},reverse:function(t){var e=t.h*Ze,r=t.c;return er({l:t.l,a:Math.cos(e)*r,b:Math.sin(e)*r,alpha:t.alpha})},interpolate:function(t,e,r){return{h:rr(t.h,e.h,r),c:qe(t.c,e.c,r),l:qe(t.l,e.l,r),alpha:qe(t.alpha,e.alpha,r)}}},ar=Object.freeze({__proto__:null,lab:nr,hcl:ir}),or=function(t,e,r,n,i){this.type=t,this.operator=e,this.interpolation=r,this.input=n,this.labels=[],this.outputs=[];for(var a=0,o=i;a1})))return e.error(\"Cubic bezier interpolation requires four numeric arguments with values between 0 and 1.\",1);n={name:\"cubic-bezier\",controlPoints:s}}if(t.length-1<4)return e.error(\"Expected at least 4 arguments, but found only \"+(t.length-1)+\".\");if((t.length-1)%2!=0)return e.error(\"Expected an even number of arguments.\");if(!(i=e.parse(i,2,Bt)))return null;var l=[],c=null;\"interpolate-hcl\"===r||\"interpolate-lab\"===r?c=Ut:e.expectedType&&\"value\"!==e.expectedType.kind&&(c=e.expectedType);for(var u=0;u=f)return e.error('Input/output pairs for \"interpolate\" expressions must be arranged with input values in strictly ascending order.',p);var m=e.parse(h,d,c);if(!m)return null;c=c||m.type,l.push([f,m])}return\"number\"===c.kind||\"color\"===c.kind||\"array\"===c.kind&&\"number\"===c.itemType.kind&&\"number\"==typeof c.N?new or(c,r,n,i,l):e.error(\"Type \"+Zt(c)+\" is not interpolatable.\")},or.prototype.evaluate=function(t){var e=this.labels,r=this.outputs;if(1===e.length)return r[0].evaluate(t);var n=this.input.evaluate(t);if(n<=e[0])return r[0].evaluate(t);var i=e.length;if(n>=e[i-1])return r[i-1].evaluate(t);var a=Ve(e,n),o=e[a],s=e[a+1],l=or.interpolationFactor(this.interpolation,n,o,s),c=r[a].evaluate(t),u=r[a+1].evaluate(t);return\"interpolate\"===this.operator?Ge[this.type.kind.toLowerCase()](c,u,l):\"interpolate-hcl\"===this.operator?ir.reverse(ir.interpolate(ir.forward(c),ir.forward(u),l)):nr.reverse(nr.interpolate(nr.forward(c),nr.forward(u),l))},or.prototype.eachChild=function(t){t(this.input);for(var e=0,r=this.outputs;e=r.length)throw new ue(\"Array index out of bounds: \"+e+\" > \"+(r.length-1)+\".\");if(e!==Math.floor(e))throw new ue(\"Array index must be an integer, but found \"+e+\" instead.\");return r[e]},ur.prototype.eachChild=function(t){t(this.index),t(this.input)},ur.prototype.outputDefined=function(){return!1},ur.prototype.serialize=function(){return[\"at\",this.index.serialize(),this.input.serialize()]};var fr=function(t,e){this.type=jt,this.needle=t,this.haystack=e};fr.parse=function(t,e){if(3!==t.length)return e.error(\"Expected 2 arguments, but found \"+(t.length-1)+\" instead.\");var r=e.parse(t[1],1,Ht),n=e.parse(t[2],2,Ht);return r&&n?Kt(r.type,[jt,Nt,Bt,Ft,Ht])?new fr(r,n):e.error(\"Expected first argument to be of type boolean, string, number or null, but found \"+Zt(r.type)+\" instead\"):null},fr.prototype.evaluate=function(t){var e=this.needle.evaluate(t),r=this.haystack.evaluate(t);if(!r)return!1;if(!Qt(e,[\"boolean\",\"string\",\"number\",\"null\"]))throw new ue(\"Expected first argument to be of type boolean, string, number or null, but found \"+Zt(se(e))+\" instead.\");if(!Qt(r,[\"string\",\"array\"]))throw new ue(\"Expected second argument to be of type array or string, but found \"+Zt(se(r))+\" instead.\");return r.indexOf(e)>=0},fr.prototype.eachChild=function(t){t(this.needle),t(this.haystack)},fr.prototype.outputDefined=function(){return!0},fr.prototype.serialize=function(){return[\"in\",this.needle.serialize(),this.haystack.serialize()]};var hr=function(t,e,r){this.type=Bt,this.needle=t,this.haystack=e,this.fromIndex=r};hr.parse=function(t,e){if(t.length<=2||t.length>=5)return e.error(\"Expected 3 or 4 arguments, but found \"+(t.length-1)+\" instead.\");var r=e.parse(t[1],1,Ht),n=e.parse(t[2],2,Ht);if(!r||!n)return null;if(!Kt(r.type,[jt,Nt,Bt,Ft,Ht]))return e.error(\"Expected first argument to be of type boolean, string, number or null, but found \"+Zt(r.type)+\" instead\");if(4===t.length){var i=e.parse(t[3],3,Bt);return i?new hr(r,n,i):null}return new hr(r,n)},hr.prototype.evaluate=function(t){var e=this.needle.evaluate(t),r=this.haystack.evaluate(t);if(!Qt(e,[\"boolean\",\"string\",\"number\",\"null\"]))throw new ue(\"Expected first argument to be of type boolean, string, number or null, but found \"+Zt(se(e))+\" instead.\");if(!Qt(r,[\"string\",\"array\"]))throw new ue(\"Expected second argument to be of type array or string, but found \"+Zt(se(r))+\" instead.\");if(this.fromIndex){var n=this.fromIndex.evaluate(t);return r.indexOf(e,n)}return r.indexOf(e)},hr.prototype.eachChild=function(t){t(this.needle),t(this.haystack),this.fromIndex&&t(this.fromIndex)},hr.prototype.outputDefined=function(){return!1},hr.prototype.serialize=function(){if(null!=this.fromIndex&&void 0!==this.fromIndex){var t=this.fromIndex.serialize();return[\"index-of\",this.needle.serialize(),this.haystack.serialize(),t]}return[\"index-of\",this.needle.serialize(),this.haystack.serialize()]};var pr=function(t,e,r,n,i,a){this.inputType=t,this.type=e,this.input=r,this.cases=n,this.outputs=i,this.otherwise=a};pr.parse=function(t,e){if(t.length<5)return e.error(\"Expected at least 4 arguments, but found only \"+(t.length-1)+\".\");if(t.length%2!=1)return e.error(\"Expected an even number of arguments.\");var r,n;e.expectedType&&\"value\"!==e.expectedType.kind&&(n=e.expectedType);for(var i={},a=[],o=2;oNumber.MAX_SAFE_INTEGER)return c.error(\"Branch labels must be integers no larger than \"+Number.MAX_SAFE_INTEGER+\".\");if(\"number\"==typeof h&&Math.floor(h)!==h)return c.error(\"Numeric branch labels must be integer values.\");if(r){if(c.checkSubtype(r,se(h)))return null}else r=se(h);if(void 0!==i[String(h)])return c.error(\"Branch labels must be unique.\");i[String(h)]=a.length}var p=e.parse(l,o,n);if(!p)return null;n=n||p.type,a.push(p)}var d=e.parse(t[1],1,Ht);if(!d)return null;var m=e.parse(t[t.length-1],t.length-1,n);return m?\"value\"!==d.type.kind&&e.concat(1).checkSubtype(r,d.type)?null:new pr(r,n,d,i,a,m):null},pr.prototype.evaluate=function(t){var e=this.input.evaluate(t);return(se(e)===this.inputType&&this.outputs[this.cases[e]]||this.otherwise).evaluate(t)},pr.prototype.eachChild=function(t){t(this.input),this.outputs.forEach(t),t(this.otherwise)},pr.prototype.outputDefined=function(){return this.outputs.every((function(t){return t.outputDefined()}))&&this.otherwise.outputDefined()},pr.prototype.serialize=function(){for(var t=this,e=[\"match\",this.input.serialize()],r=[],n={},i=0,a=Object.keys(this.cases).sort();i=5)return e.error(\"Expected 3 or 4 arguments, but found \"+(t.length-1)+\" instead.\");var r=e.parse(t[1],1,Ht),n=e.parse(t[2],2,Bt);if(!r||!n)return null;if(!Kt(r.type,[Wt(Ht),Nt,Ht]))return e.error(\"Expected first argument to be of type array or string, but found \"+Zt(r.type)+\" instead\");if(4===t.length){var i=e.parse(t[3],3,Bt);return i?new mr(r.type,r,n,i):null}return new mr(r.type,r,n)},mr.prototype.evaluate=function(t){var e=this.input.evaluate(t),r=this.beginIndex.evaluate(t);if(!Qt(e,[\"string\",\"array\"]))throw new ue(\"Expected first argument to be of type array or string, but found \"+Zt(se(e))+\" instead.\");if(this.endIndex){var n=this.endIndex.evaluate(t);return e.slice(r,n)}return e.slice(r)},mr.prototype.eachChild=function(t){t(this.input),t(this.beginIndex),this.endIndex&&t(this.endIndex)},mr.prototype.outputDefined=function(){return!1},mr.prototype.serialize=function(){if(null!=this.endIndex&&void 0!==this.endIndex){var t=this.endIndex.serialize();return[\"slice\",this.input.serialize(),this.beginIndex.serialize(),t]}return[\"slice\",this.input.serialize(),this.beginIndex.serialize()]};var xr=yr(\"==\",(function(t,e,r){return e===r}),vr),br=yr(\"!=\",(function(t,e,r){return e!==r}),(function(t,e,r,n){return!vr(0,e,r,n)})),_r=yr(\"<\",(function(t,e,r){return e\",(function(t,e,r){return e>r}),(function(t,e,r,n){return n.compare(e,r)>0})),Tr=yr(\"<=\",(function(t,e,r){return e<=r}),(function(t,e,r,n){return n.compare(e,r)<=0})),kr=yr(\">=\",(function(t,e,r){return e>=r}),(function(t,e,r,n){return n.compare(e,r)>=0})),Ar=function(t,e,r,n,i){this.type=Nt,this.number=t,this.locale=e,this.currency=r,this.minFractionDigits=n,this.maxFractionDigits=i};Ar.parse=function(t,e){if(3!==t.length)return e.error(\"Expected two arguments.\");var r=e.parse(t[1],1,Bt);if(!r)return null;var n=t[2];if(\"object\"!=typeof n||Array.isArray(n))return e.error(\"NumberFormat options argument must be an object.\");var i=null;if(n.locale&&!(i=e.parse(n.locale,1,Nt)))return null;var a=null;if(n.currency&&!(a=e.parse(n.currency,1,Nt)))return null;var o=null;if(n[\"min-fraction-digits\"]&&!(o=e.parse(n[\"min-fraction-digits\"],1,Bt)))return null;var s=null;return n[\"max-fraction-digits\"]&&!(s=e.parse(n[\"max-fraction-digits\"],1,Bt))?null:new Ar(r,i,a,o,s)},Ar.prototype.evaluate=function(t){return new Intl.NumberFormat(this.locale?this.locale.evaluate(t):[],{style:this.currency?\"currency\":\"decimal\",currency:this.currency?this.currency.evaluate(t):void 0,minimumFractionDigits:this.minFractionDigits?this.minFractionDigits.evaluate(t):void 0,maximumFractionDigits:this.maxFractionDigits?this.maxFractionDigits.evaluate(t):void 0}).format(this.number.evaluate(t))},Ar.prototype.eachChild=function(t){t(this.number),this.locale&&t(this.locale),this.currency&&t(this.currency),this.minFractionDigits&&t(this.minFractionDigits),this.maxFractionDigits&&t(this.maxFractionDigits)},Ar.prototype.outputDefined=function(){return!1},Ar.prototype.serialize=function(){var t={};return this.locale&&(t.locale=this.locale.serialize()),this.currency&&(t.currency=this.currency.serialize()),this.minFractionDigits&&(t[\"min-fraction-digits\"]=this.minFractionDigits.serialize()),this.maxFractionDigits&&(t[\"max-fraction-digits\"]=this.maxFractionDigits.serialize()),[\"number-format\",this.number.serialize(),t]};var Mr=function(t){this.type=Bt,this.input=t};Mr.parse=function(t,e){if(2!==t.length)return e.error(\"Expected 1 argument, but found \"+(t.length-1)+\" instead.\");var r=e.parse(t[1],1);return r?\"array\"!==r.type.kind&&\"string\"!==r.type.kind&&\"value\"!==r.type.kind?e.error(\"Expected argument of type string or array, but found \"+Zt(r.type)+\" instead.\"):new Mr(r):null},Mr.prototype.evaluate=function(t){var e=this.input.evaluate(t);if(\"string\"==typeof e)return e.length;if(Array.isArray(e))return e.length;throw new ue(\"Expected value to be of type string or array, but found \"+Zt(se(e))+\" instead.\")},Mr.prototype.eachChild=function(t){t(this.input)},Mr.prototype.outputDefined=function(){return!1},Mr.prototype.serialize=function(){var t=[\"length\"];return this.eachChild((function(e){t.push(e.serialize())})),t};var Sr={\"==\":xr,\"!=\":br,\">\":wr,\"<\":_r,\">=\":kr,\"<=\":Tr,array:he,at:ur,boolean:he,case:dr,coalesce:lr,collator:be,format:pe,image:de,in:fr,\"index-of\":hr,interpolate:or,\"interpolate-hcl\":or,\"interpolate-lab\":or,length:Mr,let:cr,literal:ce,match:pr,number:he,\"number-format\":Ar,object:he,slice:mr,step:He,string:he,\"to-boolean\":ge,\"to-color\":ge,\"to-number\":ge,\"to-string\":ge,var:je,within:Re};function Er(t,e){var r=e[0],n=e[1],i=e[2],a=e[3];r=r.evaluate(t),n=n.evaluate(t),i=i.evaluate(t);var o=a?a.evaluate(t):1,s=ae(r,n,i,o);if(s)throw new ue(s);return new te(r/255*o,n/255*o,i/255*o,o)}function Lr(t,e){return t in e}function Cr(t,e){var r=e[t];return void 0===r?null:r}function Pr(t){return{type:t}}function Ir(t){return{result:\"success\",value:t}}function Or(t){return{result:\"error\",value:t}}function zr(t){return\"data-driven\"===t[\"property-type\"]||\"cross-faded-data-driven\"===t[\"property-type\"]}function Dr(t){return!!t.expression&&t.expression.parameters.indexOf(\"zoom\")>-1}function Rr(t){return!!t.expression&&t.expression.interpolated}function Fr(t){return t instanceof Number?\"number\":t instanceof String?\"string\":t instanceof Boolean?\"boolean\":Array.isArray(t)?\"array\":null===t?\"null\":typeof t}function Br(t){return\"object\"==typeof t&&null!==t&&!Array.isArray(t)}function Nr(t){return t}function jr(t,e,r){return void 0!==t?t:void 0!==e?e:void 0!==r?r:void 0}function Ur(t,e,r,n,i){return jr(typeof r===i?n[r]:void 0,t.default,e.default)}function Vr(t,e,r){if(\"number\"!==Fr(r))return jr(t.default,e.default);var n=t.stops.length;if(1===n)return t.stops[0][1];if(r<=t.stops[0][0])return t.stops[0][1];if(r>=t.stops[n-1][0])return t.stops[n-1][1];var i=Ve(t.stops.map((function(t){return t[0]})),r);return t.stops[i][1]}function Hr(t,e,r){var n=void 0!==t.base?t.base:1;if(\"number\"!==Fr(r))return jr(t.default,e.default);var i=t.stops.length;if(1===i)return t.stops[0][1];if(r<=t.stops[0][0])return t.stops[0][1];if(r>=t.stops[i-1][0])return t.stops[i-1][1];var a=Ve(t.stops.map((function(t){return t[0]})),r),o=function(t,e,r,n){var i=n-r,a=t-r;return 0===i?0:1===e?a/i:(Math.pow(e,a)-1)/(Math.pow(e,i)-1)}(r,n,t.stops[a][0],t.stops[a+1][0]),s=t.stops[a][1],l=t.stops[a+1][1],c=Ge[e.type]||Nr;if(t.colorSpace&&\"rgb\"!==t.colorSpace){var u=ar[t.colorSpace];c=function(t,e){return u.reverse(u.interpolate(u.forward(t),u.forward(e),o))}}return\"function\"==typeof s.evaluate?{evaluate:function(){for(var t=[],e=arguments.length;e--;)t[e]=arguments[e];var r=s.evaluate.apply(void 0,t),n=l.evaluate.apply(void 0,t);if(void 0!==r&&void 0!==n)return c(r,n,o)}}:c(s,l,o)}function qr(t,e,r){return\"color\"===e.type?r=te.parse(r):\"formatted\"===e.type?r=ne.fromString(r.toString()):\"resolvedImage\"===e.type?r=ie.fromString(r.toString()):Fr(r)===e.type||\"enum\"===e.type&&e.values[r]||(r=void 0),jr(r,t.default,e.default)}xe.register(Sr,{error:[{kind:\"error\"},[Nt],function(t,e){var r=e[0];throw new ue(r.evaluate(t))}],typeof:[Nt,[Ht],function(t,e){return Zt(se(e[0].evaluate(t)))}],\"to-rgba\":[Wt(Bt,4),[Ut],function(t,e){return e[0].evaluate(t).toArray()}],rgb:[Ut,[Bt,Bt,Bt],Er],rgba:[Ut,[Bt,Bt,Bt,Bt],Er],has:{type:jt,overloads:[[[Nt],function(t,e){return Lr(e[0].evaluate(t),t.properties())}],[[Nt,Vt],function(t,e){var r=e[0],n=e[1];return Lr(r.evaluate(t),n.evaluate(t))}]]},get:{type:Ht,overloads:[[[Nt],function(t,e){return Cr(e[0].evaluate(t),t.properties())}],[[Nt,Vt],function(t,e){var r=e[0],n=e[1];return Cr(r.evaluate(t),n.evaluate(t))}]]},\"feature-state\":[Ht,[Nt],function(t,e){return Cr(e[0].evaluate(t),t.featureState||{})}],properties:[Vt,[],function(t){return t.properties()}],\"geometry-type\":[Nt,[],function(t){return t.geometryType()}],id:[Ht,[],function(t){return t.id()}],zoom:[Bt,[],function(t){return t.globals.zoom}],\"heatmap-density\":[Bt,[],function(t){return t.globals.heatmapDensity||0}],\"line-progress\":[Bt,[],function(t){return t.globals.lineProgress||0}],accumulated:[Ht,[],function(t){return void 0===t.globals.accumulated?null:t.globals.accumulated}],\"+\":[Bt,Pr(Bt),function(t,e){for(var r=0,n=0,i=e;n\":[jt,[Nt,Ht],function(t,e){var r=e[0],n=e[1],i=t.properties()[r.value],a=n.value;return typeof i==typeof a&&i>a}],\"filter-id->\":[jt,[Ht],function(t,e){var r=e[0],n=t.id(),i=r.value;return typeof n==typeof i&&n>i}],\"filter-<=\":[jt,[Nt,Ht],function(t,e){var r=e[0],n=e[1],i=t.properties()[r.value],a=n.value;return typeof i==typeof a&&i<=a}],\"filter-id-<=\":[jt,[Ht],function(t,e){var r=e[0],n=t.id(),i=r.value;return typeof n==typeof i&&n<=i}],\"filter->=\":[jt,[Nt,Ht],function(t,e){var r=e[0],n=e[1],i=t.properties()[r.value],a=n.value;return typeof i==typeof a&&i>=a}],\"filter-id->=\":[jt,[Ht],function(t,e){var r=e[0],n=t.id(),i=r.value;return typeof n==typeof i&&n>=i}],\"filter-has\":[jt,[Ht],function(t,e){return e[0].value in t.properties()}],\"filter-has-id\":[jt,[],function(t){return null!==t.id()&&void 0!==t.id()}],\"filter-type-in\":[jt,[Wt(Nt)],function(t,e){return e[0].value.indexOf(t.geometryType())>=0}],\"filter-id-in\":[jt,[Wt(Ht)],function(t,e){return e[0].value.indexOf(t.id())>=0}],\"filter-in-small\":[jt,[Nt,Wt(Ht)],function(t,e){var r=e[0];return e[1].value.indexOf(t.properties()[r.value])>=0}],\"filter-in-large\":[jt,[Nt,Wt(Ht)],function(t,e){var r=e[0],n=e[1];return function(t,e,r,n){for(;r<=n;){var i=r+n>>1;if(e[i]===t)return!0;e[i]>t?n=i-1:r=i+1}return!1}(t.properties()[r.value],n.value,0,n.value.length-1)}],all:{type:jt,overloads:[[[jt,jt],function(t,e){var r=e[0],n=e[1];return r.evaluate(t)&&n.evaluate(t)}],[Pr(jt),function(t,e){for(var r=0,n=e;r0&&\"string\"==typeof t[0]&&t[0]in Sr}function Wr(t,e){var r=new Ue(Sr,[],e?function(t){var e={color:Ut,string:Nt,number:Bt,enum:Nt,boolean:jt,formatted:Gt,resolvedImage:Yt};if(\"array\"===t.type)return Wt(e[t.value]||Ht,t.length);return e[t.type]}(e):void 0),n=r.parse(t,void 0,void 0,void 0,e&&\"string\"===e.type?{typeAnnotation:\"coerce\"}:void 0);return n?Ir(new Gr(n,e)):Or(r.errors)}Gr.prototype.evaluateWithoutErrorHandling=function(t,e,r,n,i,a){return this._evaluator.globals=t,this._evaluator.feature=e,this._evaluator.featureState=r,this._evaluator.canonical=n,this._evaluator.availableImages=i||null,this._evaluator.formattedSection=a,this.expression.evaluate(this._evaluator)},Gr.prototype.evaluate=function(t,e,r,n,i,a){this._evaluator.globals=t,this._evaluator.feature=e||null,this._evaluator.featureState=r||null,this._evaluator.canonical=n,this._evaluator.availableImages=i||null,this._evaluator.formattedSection=a||null;try{var o=this.expression.evaluate(this._evaluator);if(null==o||\"number\"==typeof o&&o!=o)return this._defaultValue;if(this._enumValues&&!(o in this._enumValues))throw new ue(\"Expected value to be one of \"+Object.keys(this._enumValues).map((function(t){return JSON.stringify(t)})).join(\", \")+\", but found \"+JSON.stringify(o)+\" instead.\");return o}catch(t){return this._warningHistory[t.message]||(this._warningHistory[t.message]=!0,\"undefined\"!=typeof console&&console.warn(t.message)),this._defaultValue}};var Zr=function(t,e){this.kind=t,this._styleExpression=e,this.isStateDependent=\"constant\"!==t&&!Be(e.expression)};Zr.prototype.evaluateWithoutErrorHandling=function(t,e,r,n,i,a){return this._styleExpression.evaluateWithoutErrorHandling(t,e,r,n,i,a)},Zr.prototype.evaluate=function(t,e,r,n,i,a){return this._styleExpression.evaluate(t,e,r,n,i,a)};var Xr=function(t,e,r,n){this.kind=t,this.zoomStops=r,this._styleExpression=e,this.isStateDependent=\"camera\"!==t&&!Be(e.expression),this.interpolationType=n};function Jr(t,e){if(\"error\"===(t=Wr(t,e)).result)return t;var r=t.value.expression,n=Fe(r);if(!n&&!zr(e))return Or([new Dt(\"\",\"data expressions not supported\")]);var i=Ne(r,[\"zoom\"]);if(!i&&!Dr(e))return Or([new Dt(\"\",\"zoom expressions not supported\")]);var a=function t(e){var r=null;if(e instanceof cr)r=t(e.result);else if(e instanceof lr)for(var n=0,i=e.args;nn.maximum?[new Ct(e,r,r+\" is greater than the maximum value \"+n.maximum)]:[]}function en(t){var e,r,n,i=t.valueSpec,a=Ot(t.value.type),o={},s=\"categorical\"!==a&&void 0===t.value.property,l=!s,c=\"array\"===Fr(t.value.stops)&&\"array\"===Fr(t.value.stops[0])&&\"object\"===Fr(t.value.stops[0][0]),u=Qr({key:t.key,value:t.value,valueSpec:t.styleSpec.function,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{stops:function(t){if(\"identity\"===a)return[new Ct(t.key,t.value,'identity function may not have a \"stops\" property')];var e=[],r=t.value;e=e.concat($r({key:t.key,value:r,valueSpec:t.valueSpec,style:t.style,styleSpec:t.styleSpec,arrayElementValidator:f})),\"array\"===Fr(r)&&0===r.length&&e.push(new Ct(t.key,r,\"array must have at least one stop\"));return e},default:function(t){return kn({key:t.key,value:t.value,valueSpec:i,style:t.style,styleSpec:t.styleSpec})}}});return\"identity\"===a&&s&&u.push(new Ct(t.key,t.value,'missing required property \"property\"')),\"identity\"===a||t.value.stops||u.push(new Ct(t.key,t.value,'missing required property \"stops\"')),\"exponential\"===a&&t.valueSpec.expression&&!Rr(t.valueSpec)&&u.push(new Ct(t.key,t.value,\"exponential functions not supported\")),t.styleSpec.$version>=8&&(l&&!zr(t.valueSpec)?u.push(new Ct(t.key,t.value,\"property functions not supported\")):s&&!Dr(t.valueSpec)&&u.push(new Ct(t.key,t.value,\"zoom functions not supported\"))),\"categorical\"!==a&&!c||void 0!==t.value.property||u.push(new Ct(t.key,t.value,'\"property\" property is required')),u;function f(t){var e=[],a=t.value,s=t.key;if(\"array\"!==Fr(a))return[new Ct(s,a,\"array expected, \"+Fr(a)+\" found\")];if(2!==a.length)return[new Ct(s,a,\"array length 2 expected, length \"+a.length+\" found\")];if(c){if(\"object\"!==Fr(a[0]))return[new Ct(s,a,\"object expected, \"+Fr(a[0])+\" found\")];if(void 0===a[0].zoom)return[new Ct(s,a,\"object stop key must have zoom\")];if(void 0===a[0].value)return[new Ct(s,a,\"object stop key must have value\")];if(n&&n>Ot(a[0].zoom))return[new Ct(s,a[0].zoom,\"stop zoom values must appear in ascending order\")];Ot(a[0].zoom)!==n&&(n=Ot(a[0].zoom),r=void 0,o={}),e=e.concat(Qr({key:s+\"[0]\",value:a[0],valueSpec:{zoom:{}},style:t.style,styleSpec:t.styleSpec,objectElementValidators:{zoom:tn,value:h}}))}else e=e.concat(h({key:s+\"[0]\",value:a[0],valueSpec:{},style:t.style,styleSpec:t.styleSpec},a));return Yr(zt(a[1]))?e.concat([new Ct(s+\"[1]\",a[1],\"expressions are not allowed in function stops.\")]):e.concat(kn({key:s+\"[1]\",value:a[1],valueSpec:i,style:t.style,styleSpec:t.styleSpec}))}function h(t,n){var s=Fr(t.value),l=Ot(t.value),c=null!==t.value?t.value:n;if(e){if(s!==e)return[new Ct(t.key,c,s+\" stop domain type must match previous stop domain type \"+e)]}else e=s;if(\"number\"!==s&&\"string\"!==s&&\"boolean\"!==s)return[new Ct(t.key,c,\"stop domain value must be a number, string, or boolean\")];if(\"number\"!==s&&\"categorical\"!==a){var u=\"number expected, \"+s+\" found\";return zr(i)&&void 0===a&&(u+='\\nIf you intended to use a categorical function, specify `\"type\": \"categorical\"`.'),[new Ct(t.key,c,u)]}return\"categorical\"!==a||\"number\"!==s||isFinite(l)&&Math.floor(l)===l?\"categorical\"!==a&&\"number\"===s&&void 0!==r&&l=2&&\"$id\"!==t[1]&&\"$type\"!==t[1];case\"in\":return t.length>=3&&(\"string\"!=typeof t[1]||Array.isArray(t[2]));case\"!in\":case\"!has\":case\"none\":return!1;case\"==\":case\"!=\":case\">\":case\">=\":case\"<\":case\"<=\":return 3!==t.length||Array.isArray(t[1])||Array.isArray(t[2]);case\"any\":case\"all\":for(var e=0,r=t.slice(1);ee?1:0}function cn(t){if(!t)return!0;var e,r=t[0];return t.length<=1?\"any\"!==r:\"==\"===r?un(t[1],t[2],\"==\"):\"!=\"===r?pn(un(t[1],t[2],\"==\")):\"<\"===r||\">\"===r||\"<=\"===r||\">=\"===r?un(t[1],t[2],r):\"any\"===r?(e=t.slice(1),[\"any\"].concat(e.map(cn))):\"all\"===r?[\"all\"].concat(t.slice(1).map(cn)):\"none\"===r?[\"all\"].concat(t.slice(1).map(cn).map(pn)):\"in\"===r?fn(t[1],t.slice(2)):\"!in\"===r?pn(fn(t[1],t.slice(2))):\"has\"===r?hn(t[1]):\"!has\"===r?pn(hn(t[1])):\"within\"!==r||t}function un(t,e,r){switch(t){case\"$type\":return[\"filter-type-\"+r,e];case\"$id\":return[\"filter-id-\"+r,e];default:return[\"filter-\"+r,t,e]}}function fn(t,e){if(0===e.length)return!1;switch(t){case\"$type\":return[\"filter-type-in\",[\"literal\",e]];case\"$id\":return[\"filter-id-in\",[\"literal\",e]];default:return e.length>200&&!e.some((function(t){return typeof t!=typeof e[0]}))?[\"filter-in-large\",t,[\"literal\",e.sort(ln)]]:[\"filter-in-small\",t,[\"literal\",e]]}}function hn(t){switch(t){case\"$type\":return!0;case\"$id\":return[\"filter-has-id\"];default:return[\"filter-has\",t]}}function pn(t){return[\"!\",t]}function dn(t){return an(zt(t.value))?rn(It({},t,{expressionContext:\"filter\",valueSpec:{value:\"boolean\"}})):function t(e){var r=e.value,n=e.key;if(\"array\"!==Fr(r))return[new Ct(n,r,\"array expected, \"+Fr(r)+\" found\")];var i,a=e.styleSpec,o=[];if(r.length<1)return[new Ct(n,r,\"filter array must have at least 1 element\")];switch(o=o.concat(nn({key:n+\"[0]\",value:r[0],valueSpec:a.filter_operator,style:e.style,styleSpec:e.styleSpec})),Ot(r[0])){case\"<\":case\"<=\":case\">\":case\">=\":r.length>=2&&\"$type\"===Ot(r[1])&&o.push(new Ct(n,r,'\"$type\" cannot be use with operator \"'+r[0]+'\"'));case\"==\":case\"!=\":3!==r.length&&o.push(new Ct(n,r,'filter array for operator \"'+r[0]+'\" must have 3 elements'));case\"in\":case\"!in\":r.length>=2&&\"string\"!==(i=Fr(r[1]))&&o.push(new Ct(n+\"[1]\",r[1],\"string expected, \"+i+\" found\"));for(var s=2;s=u[p+0]&&n>=u[p+1])?(o[h]=!0,a.push(c[h])):o[h]=!1}}},Dn.prototype._forEachCell=function(t,e,r,n,i,a,o,s){for(var l=this._convertToCellCoord(t),c=this._convertToCellCoord(e),u=this._convertToCellCoord(r),f=this._convertToCellCoord(n),h=l;h<=u;h++)for(var p=c;p<=f;p++){var d=this.d*p+h;if((!s||s(this._convertFromCellCoord(h),this._convertFromCellCoord(p),this._convertFromCellCoord(h+1),this._convertFromCellCoord(p+1)))&&i.call(this,t,e,r,n,d,a,o,s))return}},Dn.prototype._convertFromCellCoord=function(t){return(t-this.padding)/this.scale},Dn.prototype._convertToCellCoord=function(t){return Math.max(0,Math.min(this.d-1,Math.floor(t*this.scale)+this.padding))},Dn.prototype.toArrayBuffer=function(){if(this.arrayBuffer)return this.arrayBuffer;for(var t=this.cells,e=3+this.cells.length+1+1,r=0,n=0;n=0)){var f=t[u];c[u]=Bn[l].shallow.indexOf(u)>=0?f:Hn(f,e)}t instanceof Error&&(c.message=t.message)}if(c.$name)throw new Error(\"$name property is reserved for worker serialization logic.\");return\"Object\"!==l&&(c.$name=l),c}throw new Error(\"can't serialize object of type \"+typeof t)}function qn(t){if(null==t||\"boolean\"==typeof t||\"number\"==typeof t||\"string\"==typeof t||t instanceof Boolean||t instanceof Number||t instanceof String||t instanceof Date||t instanceof RegExp||Un(t)||Vn(t)||ArrayBuffer.isView(t)||t instanceof Rn)return t;if(Array.isArray(t))return t.map(qn);if(\"object\"==typeof t){var e=t.$name||\"Object\",r=Bn[e].klass;if(!r)throw new Error(\"can't deserialize unregistered class \"+e);if(r.deserialize)return r.deserialize(t);for(var n=Object.create(r.prototype),i=0,a=Object.keys(t);i=0?s:qn(s)}}return n}throw new Error(\"can't deserialize object of type \"+typeof t)}var Gn=function(){this.first=!0};Gn.prototype.update=function(t,e){var r=Math.floor(t);return this.first?(this.first=!1,this.lastIntegerZoom=r,this.lastIntegerZoomTime=0,this.lastZoom=t,this.lastFloorZoom=r,!0):(this.lastFloorZoom>r?(this.lastIntegerZoom=r+1,this.lastIntegerZoomTime=e):this.lastFloorZoom=128&&t<=255},Arabic:function(t){return t>=1536&&t<=1791},\"Arabic Supplement\":function(t){return t>=1872&&t<=1919},\"Arabic Extended-A\":function(t){return t>=2208&&t<=2303},\"Hangul Jamo\":function(t){return t>=4352&&t<=4607},\"Unified Canadian Aboriginal Syllabics\":function(t){return t>=5120&&t<=5759},Khmer:function(t){return t>=6016&&t<=6143},\"Unified Canadian Aboriginal Syllabics Extended\":function(t){return t>=6320&&t<=6399},\"General Punctuation\":function(t){return t>=8192&&t<=8303},\"Letterlike Symbols\":function(t){return t>=8448&&t<=8527},\"Number Forms\":function(t){return t>=8528&&t<=8591},\"Miscellaneous Technical\":function(t){return t>=8960&&t<=9215},\"Control Pictures\":function(t){return t>=9216&&t<=9279},\"Optical Character Recognition\":function(t){return t>=9280&&t<=9311},\"Enclosed Alphanumerics\":function(t){return t>=9312&&t<=9471},\"Geometric Shapes\":function(t){return t>=9632&&t<=9727},\"Miscellaneous Symbols\":function(t){return t>=9728&&t<=9983},\"Miscellaneous Symbols and Arrows\":function(t){return t>=11008&&t<=11263},\"CJK Radicals Supplement\":function(t){return t>=11904&&t<=12031},\"Kangxi Radicals\":function(t){return t>=12032&&t<=12255},\"Ideographic Description Characters\":function(t){return t>=12272&&t<=12287},\"CJK Symbols and Punctuation\":function(t){return t>=12288&&t<=12351},Hiragana:function(t){return t>=12352&&t<=12447},Katakana:function(t){return t>=12448&&t<=12543},Bopomofo:function(t){return t>=12544&&t<=12591},\"Hangul Compatibility Jamo\":function(t){return t>=12592&&t<=12687},Kanbun:function(t){return t>=12688&&t<=12703},\"Bopomofo Extended\":function(t){return t>=12704&&t<=12735},\"CJK Strokes\":function(t){return t>=12736&&t<=12783},\"Katakana Phonetic Extensions\":function(t){return t>=12784&&t<=12799},\"Enclosed CJK Letters and Months\":function(t){return t>=12800&&t<=13055},\"CJK Compatibility\":function(t){return t>=13056&&t<=13311},\"CJK Unified Ideographs Extension A\":function(t){return t>=13312&&t<=19903},\"Yijing Hexagram Symbols\":function(t){return t>=19904&&t<=19967},\"CJK Unified Ideographs\":function(t){return t>=19968&&t<=40959},\"Yi Syllables\":function(t){return t>=40960&&t<=42127},\"Yi Radicals\":function(t){return t>=42128&&t<=42191},\"Hangul Jamo Extended-A\":function(t){return t>=43360&&t<=43391},\"Hangul Syllables\":function(t){return t>=44032&&t<=55215},\"Hangul Jamo Extended-B\":function(t){return t>=55216&&t<=55295},\"Private Use Area\":function(t){return t>=57344&&t<=63743},\"CJK Compatibility Ideographs\":function(t){return t>=63744&&t<=64255},\"Arabic Presentation Forms-A\":function(t){return t>=64336&&t<=65023},\"Vertical Forms\":function(t){return t>=65040&&t<=65055},\"CJK Compatibility Forms\":function(t){return t>=65072&&t<=65103},\"Small Form Variants\":function(t){return t>=65104&&t<=65135},\"Arabic Presentation Forms-B\":function(t){return t>=65136&&t<=65279},\"Halfwidth and Fullwidth Forms\":function(t){return t>=65280&&t<=65519}};function Wn(t){for(var e=0,r=t;e=65097&&t<=65103)||(!!Yn[\"CJK Compatibility Ideographs\"](t)||(!!Yn[\"CJK Compatibility\"](t)||(!!Yn[\"CJK Radicals Supplement\"](t)||(!!Yn[\"CJK Strokes\"](t)||(!(!Yn[\"CJK Symbols and Punctuation\"](t)||t>=12296&&t<=12305||t>=12308&&t<=12319||12336===t)||(!!Yn[\"CJK Unified Ideographs Extension A\"](t)||(!!Yn[\"CJK Unified Ideographs\"](t)||(!!Yn[\"Enclosed CJK Letters and Months\"](t)||(!!Yn[\"Hangul Compatibility Jamo\"](t)||(!!Yn[\"Hangul Jamo Extended-A\"](t)||(!!Yn[\"Hangul Jamo Extended-B\"](t)||(!!Yn[\"Hangul Jamo\"](t)||(!!Yn[\"Hangul Syllables\"](t)||(!!Yn.Hiragana(t)||(!!Yn[\"Ideographic Description Characters\"](t)||(!!Yn.Kanbun(t)||(!!Yn[\"Kangxi Radicals\"](t)||(!!Yn[\"Katakana Phonetic Extensions\"](t)||(!(!Yn.Katakana(t)||12540===t)||(!(!Yn[\"Halfwidth and Fullwidth Forms\"](t)||65288===t||65289===t||65293===t||t>=65306&&t<=65310||65339===t||65341===t||65343===t||t>=65371&&t<=65503||65507===t||t>=65512&&t<=65519)||(!(!Yn[\"Small Form Variants\"](t)||t>=65112&&t<=65118||t>=65123&&t<=65126)||(!!Yn[\"Unified Canadian Aboriginal Syllabics\"](t)||(!!Yn[\"Unified Canadian Aboriginal Syllabics Extended\"](t)||(!!Yn[\"Vertical Forms\"](t)||(!!Yn[\"Yijing Hexagram Symbols\"](t)||(!!Yn[\"Yi Syllables\"](t)||!!Yn[\"Yi Radicals\"](t))))))))))))))))))))))))))))))}function Jn(t){return!(Xn(t)||function(t){return!(!Yn[\"Latin-1 Supplement\"](t)||167!==t&&169!==t&&174!==t&&177!==t&&188!==t&&189!==t&&190!==t&&215!==t&&247!==t)||(!(!Yn[\"General Punctuation\"](t)||8214!==t&&8224!==t&&8225!==t&&8240!==t&&8241!==t&&8251!==t&&8252!==t&&8258!==t&&8263!==t&&8264!==t&&8265!==t&&8273!==t)||(!!Yn[\"Letterlike Symbols\"](t)||(!!Yn[\"Number Forms\"](t)||(!(!Yn[\"Miscellaneous Technical\"](t)||!(t>=8960&&t<=8967||t>=8972&&t<=8991||t>=8996&&t<=9e3||9003===t||t>=9085&&t<=9114||t>=9150&&t<=9165||9167===t||t>=9169&&t<=9179||t>=9186&&t<=9215))||(!(!Yn[\"Control Pictures\"](t)||9251===t)||(!!Yn[\"Optical Character Recognition\"](t)||(!!Yn[\"Enclosed Alphanumerics\"](t)||(!!Yn[\"Geometric Shapes\"](t)||(!(!Yn[\"Miscellaneous Symbols\"](t)||t>=9754&&t<=9759)||(!(!Yn[\"Miscellaneous Symbols and Arrows\"](t)||!(t>=11026&&t<=11055||t>=11088&&t<=11097||t>=11192&&t<=11243))||(!!Yn[\"CJK Symbols and Punctuation\"](t)||(!!Yn.Katakana(t)||(!!Yn[\"Private Use Area\"](t)||(!!Yn[\"CJK Compatibility Forms\"](t)||(!!Yn[\"Small Form Variants\"](t)||(!!Yn[\"Halfwidth and Fullwidth Forms\"](t)||(8734===t||8756===t||8757===t||t>=9984&&t<=10087||t>=10102&&t<=10131||65532===t||65533===t)))))))))))))))))}(t))}function Kn(t){return t>=1424&&t<=2303||Yn[\"Arabic Presentation Forms-A\"](t)||Yn[\"Arabic Presentation Forms-B\"](t)}function Qn(t,e){return!(!e&&Kn(t))&&!(t>=2304&&t<=3583||t>=3840&&t<=4255||Yn.Khmer(t))}function $n(t){for(var e=0,r=t;e-1&&(ai=ni),ii&&ii(t)};function li(){ci.fire(new Mt(\"pluginStateChange\",{pluginStatus:ai,pluginURL:oi}))}var ci=new Et,ui=function(){return ai},fi=function(){if(ai!==ti||!oi)throw new Error(\"rtl-text-plugin cannot be downloaded unless a pluginURL is specified\");ai=ei,li(),oi&&xt({url:oi},(function(t){t?si(t):(ai=ri,li())}))},hi={applyArabicShaping:null,processBidirectionalText:null,processStyledBidirectionalText:null,isLoaded:function(){return ai===ri||null!=hi.applyArabicShaping},isLoading:function(){return ai===ei},setState:function(t){ai=t.pluginStatus,oi=t.pluginURL},isParsed:function(){return null!=hi.applyArabicShaping&&null!=hi.processBidirectionalText&&null!=hi.processStyledBidirectionalText},getPluginURL:function(){return oi}},pi=function(t,e){this.zoom=t,e?(this.now=e.now,this.fadeDuration=e.fadeDuration,this.zoomHistory=e.zoomHistory,this.transition=e.transition):(this.now=0,this.fadeDuration=0,this.zoomHistory=new Gn,this.transition={})};pi.prototype.isSupportedScript=function(t){return function(t,e){for(var r=0,n=t;rthis.zoomHistory.lastIntegerZoom?{fromScale:2,toScale:1,t:e+(1-e)*r}:{fromScale:.5,toScale:1,t:1-(1-r)*e}};var di=function(t,e){this.property=t,this.value=e,this.expression=function(t,e){if(Br(t))return new Kr(t,e);if(Yr(t)){var r=Jr(t,e);if(\"error\"===r.result)throw new Error(r.value.map((function(t){return t.key+\": \"+t.message})).join(\", \"));return r.value}var n=t;return\"string\"==typeof t&&\"color\"===e.type&&(n=te.parse(t)),{kind:\"constant\",evaluate:function(){return n}}}(void 0===e?t.specification.default:e,t.specification)};di.prototype.isDataDriven=function(){return\"source\"===this.expression.kind||\"composite\"===this.expression.kind},di.prototype.possiblyEvaluate=function(t,e,r){return this.property.possiblyEvaluate(this,t,e,r)};var mi=function(t){this.property=t,this.value=new di(t,void 0)};mi.prototype.transitioned=function(t,e){return new vi(this.property,this.value,e,u({},t.transition,this.transition),t.now)},mi.prototype.untransitioned=function(){return new vi(this.property,this.value,null,{},0)};var gi=function(t){this._properties=t,this._values=Object.create(t.defaultTransitionablePropertyValues)};gi.prototype.getValue=function(t){return x(this._values[t].value.value)},gi.prototype.setValue=function(t,e){this._values.hasOwnProperty(t)||(this._values[t]=new mi(this._values[t].property)),this._values[t].value=new di(this._values[t].property,null===e?void 0:x(e))},gi.prototype.getTransition=function(t){return x(this._values[t].transition)},gi.prototype.setTransition=function(t,e){this._values.hasOwnProperty(t)||(this._values[t]=new mi(this._values[t].property)),this._values[t].transition=x(e)||void 0},gi.prototype.serialize=function(){for(var t={},e=0,r=Object.keys(this._values);ethis.end)return this.prior=null,i;if(this.value.isDataDriven())return this.prior=null,i;if(n=1)return 1;var e=t*t,r=e*t;return 4*(t<.5?r:3*(t-e)+r-.75)}(o))}return i};var yi=function(t){this._properties=t,this._values=Object.create(t.defaultTransitioningPropertyValues)};yi.prototype.possiblyEvaluate=function(t,e,r){for(var n=new _i(this._properties),i=0,a=Object.keys(this._values);in.zoomHistory.lastIntegerZoom?{from:t,to:e}:{from:r,to:e}},e.prototype.interpolate=function(t){return t},e}(Ti),Ai=function(t){this.specification=t};Ai.prototype.possiblyEvaluate=function(t,e,r,n){if(void 0!==t.value){if(\"constant\"===t.expression.kind){var i=t.expression.evaluate(e,null,{},r,n);return this._calculate(i,i,i,e)}return this._calculate(t.expression.evaluate(new pi(Math.floor(e.zoom-1),e)),t.expression.evaluate(new pi(Math.floor(e.zoom),e)),t.expression.evaluate(new pi(Math.floor(e.zoom+1),e)),e)}},Ai.prototype._calculate=function(t,e,r,n){return n.zoom>n.zoomHistory.lastIntegerZoom?{from:t,to:e}:{from:r,to:e}},Ai.prototype.interpolate=function(t){return t};var Mi=function(t){this.specification=t};Mi.prototype.possiblyEvaluate=function(t,e,r,n){return!!t.expression.evaluate(e,null,{},r,n)},Mi.prototype.interpolate=function(){return!1};var Si=function(t){for(var e in this.properties=t,this.defaultPropertyValues={},this.defaultTransitionablePropertyValues={},this.defaultTransitioningPropertyValues={},this.defaultPossiblyEvaluatedValues={},this.overridableProperties=[],t){var r=t[e];r.specification.overridable&&this.overridableProperties.push(e);var n=this.defaultPropertyValues[e]=new di(r,void 0),i=this.defaultTransitionablePropertyValues[e]=new mi(r);this.defaultTransitioningPropertyValues[e]=i.untransitioned(),this.defaultPossiblyEvaluatedValues[e]=n.possiblyEvaluate({})}};Nn(\"DataDrivenProperty\",Ti),Nn(\"DataConstantProperty\",wi),Nn(\"CrossFadedDataDrivenProperty\",ki),Nn(\"CrossFadedProperty\",Ai),Nn(\"ColorRampProperty\",Mi);var Ei=function(t){function e(e,r){if(t.call(this),this.id=e.id,this.type=e.type,this._featureFilter={filter:function(){return!0},needGeometry:!1},\"custom\"!==e.type&&(e=e,this.metadata=e.metadata,this.minzoom=e.minzoom,this.maxzoom=e.maxzoom,\"background\"!==e.type&&(this.source=e.source,this.sourceLayer=e[\"source-layer\"],this.filter=e.filter),r.layout&&(this._unevaluatedLayout=new xi(r.layout)),r.paint)){for(var n in this._transitionablePaint=new gi(r.paint),e.paint)this.setPaintProperty(n,e.paint[n],{validate:!1});for(var i in e.layout)this.setLayoutProperty(i,e.layout[i],{validate:!1});this._transitioningPaint=this._transitionablePaint.untransitioned(),this.paint=new _i(r.paint)}}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getCrossfadeParameters=function(){return this._crossfadeParameters},e.prototype.getLayoutProperty=function(t){return\"visibility\"===t?this.visibility:this._unevaluatedLayout.getValue(t)},e.prototype.setLayoutProperty=function(t,e,r){if(void 0===r&&(r={}),null!=e){var n=\"layers.\"+this.id+\".layout.\"+t;if(this._validate(In,n,t,e,r))return}\"visibility\"!==t?this._unevaluatedLayout.setValue(t,e):this.visibility=e},e.prototype.getPaintProperty=function(t){return g(t,\"-transition\")?this._transitionablePaint.getTransition(t.slice(0,-\"-transition\".length)):this._transitionablePaint.getValue(t)},e.prototype.setPaintProperty=function(t,e,r){if(void 0===r&&(r={}),null!=e){var n=\"layers.\"+this.id+\".paint.\"+t;if(this._validate(Pn,n,t,e,r))return!1}if(g(t,\"-transition\"))return this._transitionablePaint.setTransition(t.slice(0,-\"-transition\".length),e||void 0),!1;var i=this._transitionablePaint._values[t],a=\"cross-faded-data-driven\"===i.property.specification[\"property-type\"],o=i.value.isDataDriven(),s=i.value;this._transitionablePaint.setValue(t,e),this._handleSpecialPaintPropertyUpdate(t);var l=this._transitionablePaint._values[t].value;return l.isDataDriven()||o||a||this._handleOverridablePaintPropertyUpdate(t,s,l)},e.prototype._handleSpecialPaintPropertyUpdate=function(t){},e.prototype._handleOverridablePaintPropertyUpdate=function(t,e,r){return!1},e.prototype.isHidden=function(t){return!!(this.minzoom&&t=this.maxzoom)||\"none\"===this.visibility)},e.prototype.updateTransitions=function(t){this._transitioningPaint=this._transitionablePaint.transitioned(t,this._transitioningPaint)},e.prototype.hasTransition=function(){return this._transitioningPaint.hasTransition()},e.prototype.recalculate=function(t,e){t.getCrossfadeParameters&&(this._crossfadeParameters=t.getCrossfadeParameters()),this._unevaluatedLayout&&(this.layout=this._unevaluatedLayout.possiblyEvaluate(t,void 0,e)),this.paint=this._transitioningPaint.possiblyEvaluate(t,void 0,e)},e.prototype.serialize=function(){var t={id:this.id,type:this.type,source:this.source,\"source-layer\":this.sourceLayer,metadata:this.metadata,minzoom:this.minzoom,maxzoom:this.maxzoom,filter:this.filter,layout:this._unevaluatedLayout&&this._unevaluatedLayout.serialize(),paint:this._transitionablePaint&&this._transitionablePaint.serialize()};return this.visibility&&(t.layout=t.layout||{},t.layout.visibility=this.visibility),y(t,(function(t,e){return!(void 0===t||\"layout\"===e&&!Object.keys(t).length||\"paint\"===e&&!Object.keys(t).length)}))},e.prototype._validate=function(t,e,r,n,i){return void 0===i&&(i={}),(!i||!1!==i.validate)&&On(this,t.call(Ln,{key:e,layerType:this.type,objectKey:r,value:n,styleSpec:Lt,style:{glyphs:!0,sprite:!0}}))},e.prototype.is3D=function(){return!1},e.prototype.isTileClipped=function(){return!1},e.prototype.hasOffscreenPass=function(){return!1},e.prototype.resize=function(){},e.prototype.isStateDependent=function(){for(var t in this.paint._values){var e=this.paint.get(t);if(e instanceof bi&&zr(e.property.specification)&&((\"source\"===e.value.kind||\"composite\"===e.value.kind)&&e.value.isStateDependent))return!0}return!1},e}(Et),Li={Int8:Int8Array,Uint8:Uint8Array,Int16:Int16Array,Uint16:Uint16Array,Int32:Int32Array,Uint32:Uint32Array,Float32:Float32Array},Ci=function(t,e){this._structArray=t,this._pos1=e*this.size,this._pos2=this._pos1/2,this._pos4=this._pos1/4,this._pos8=this._pos1/8},Pi=function(){this.isTransferred=!1,this.capacity=-1,this.resize(0)};function Ii(t,e){void 0===e&&(e=1);var r=0,n=0;return{members:t.map((function(t){var i,a=(i=t.type,Li[i].BYTES_PER_ELEMENT),o=r=Oi(r,Math.max(e,a)),s=t.components||1;return n=Math.max(n,a),r+=a*s,{name:t.name,type:t.type,components:s,offset:o}})),size:Oi(r,Math.max(n,e)),alignment:e}}function Oi(t,e){return Math.ceil(t/e)*e}Pi.serialize=function(t,e){return t._trim(),e&&(t.isTransferred=!0,e.push(t.arrayBuffer)),{length:t.length,arrayBuffer:t.arrayBuffer}},Pi.deserialize=function(t){var e=Object.create(this.prototype);return e.arrayBuffer=t.arrayBuffer,e.length=t.length,e.capacity=t.arrayBuffer.byteLength/e.bytesPerElement,e._refreshViews(),e},Pi.prototype._trim=function(){this.length!==this.capacity&&(this.capacity=this.length,this.arrayBuffer=this.arrayBuffer.slice(0,this.length*this.bytesPerElement),this._refreshViews())},Pi.prototype.clear=function(){this.length=0},Pi.prototype.resize=function(t){this.reserve(t),this.length=t},Pi.prototype.reserve=function(t){if(t>this.capacity){this.capacity=Math.max(t,Math.floor(5*this.capacity),128),this.arrayBuffer=new ArrayBuffer(this.capacity*this.bytesPerElement);var e=this.uint8;this._refreshViews(),e&&this.uint8.set(e)}},Pi.prototype._refreshViews=function(){throw new Error(\"_refreshViews() must be implemented by each concrete StructArray layout\")};var zi=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e){var r=this.length;return this.resize(r+1),this.emplace(r,t,e)},e.prototype.emplace=function(t,e,r){var n=2*t;return this.int16[n+0]=e,this.int16[n+1]=r,t},e}(Pi);zi.prototype.bytesPerElement=4,Nn(\"StructArrayLayout2i4\",zi);var Di=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n){var i=this.length;return this.resize(i+1),this.emplace(i,t,e,r,n)},e.prototype.emplace=function(t,e,r,n,i){var a=4*t;return this.int16[a+0]=e,this.int16[a+1]=r,this.int16[a+2]=n,this.int16[a+3]=i,t},e}(Pi);Di.prototype.bytesPerElement=8,Nn(\"StructArrayLayout4i8\",Di);var Ri=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i,a){var o=this.length;return this.resize(o+1),this.emplace(o,t,e,r,n,i,a)},e.prototype.emplace=function(t,e,r,n,i,a,o){var s=6*t;return this.int16[s+0]=e,this.int16[s+1]=r,this.int16[s+2]=n,this.int16[s+3]=i,this.int16[s+4]=a,this.int16[s+5]=o,t},e}(Pi);Ri.prototype.bytesPerElement=12,Nn(\"StructArrayLayout2i4i12\",Ri);var Fi=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i,a){var o=this.length;return this.resize(o+1),this.emplace(o,t,e,r,n,i,a)},e.prototype.emplace=function(t,e,r,n,i,a,o){var s=4*t,l=8*t;return this.int16[s+0]=e,this.int16[s+1]=r,this.uint8[l+4]=n,this.uint8[l+5]=i,this.uint8[l+6]=a,this.uint8[l+7]=o,t},e}(Pi);Fi.prototype.bytesPerElement=8,Nn(\"StructArrayLayout2i4ub8\",Fi);var Bi=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i,a,o,s,l,c){var u=this.length;return this.resize(u+1),this.emplace(u,t,e,r,n,i,a,o,s,l,c)},e.prototype.emplace=function(t,e,r,n,i,a,o,s,l,c,u){var f=9*t,h=18*t;return this.uint16[f+0]=e,this.uint16[f+1]=r,this.uint16[f+2]=n,this.uint16[f+3]=i,this.uint16[f+4]=a,this.uint16[f+5]=o,this.uint16[f+6]=s,this.uint16[f+7]=l,this.uint8[h+16]=c,this.uint8[h+17]=u,t},e}(Pi);Bi.prototype.bytesPerElement=18,Nn(\"StructArrayLayout8ui2ub18\",Bi);var Ni=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i,a,o,s,l,c,u,f){var h=this.length;return this.resize(h+1),this.emplace(h,t,e,r,n,i,a,o,s,l,c,u,f)},e.prototype.emplace=function(t,e,r,n,i,a,o,s,l,c,u,f,h){var p=12*t;return this.int16[p+0]=e,this.int16[p+1]=r,this.int16[p+2]=n,this.int16[p+3]=i,this.uint16[p+4]=a,this.uint16[p+5]=o,this.uint16[p+6]=s,this.uint16[p+7]=l,this.int16[p+8]=c,this.int16[p+9]=u,this.int16[p+10]=f,this.int16[p+11]=h,t},e}(Pi);Ni.prototype.bytesPerElement=24,Nn(\"StructArrayLayout4i4ui4i24\",Ni);var ji=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r){var n=this.length;return this.resize(n+1),this.emplace(n,t,e,r)},e.prototype.emplace=function(t,e,r,n){var i=3*t;return this.float32[i+0]=e,this.float32[i+1]=r,this.float32[i+2]=n,t},e}(Pi);ji.prototype.bytesPerElement=12,Nn(\"StructArrayLayout3f12\",ji);var Ui=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t){var e=this.length;return this.resize(e+1),this.emplace(e,t)},e.prototype.emplace=function(t,e){var r=1*t;return this.uint32[r+0]=e,t},e}(Pi);Ui.prototype.bytesPerElement=4,Nn(\"StructArrayLayout1ul4\",Ui);var Vi=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i,a,o,s,l){var c=this.length;return this.resize(c+1),this.emplace(c,t,e,r,n,i,a,o,s,l)},e.prototype.emplace=function(t,e,r,n,i,a,o,s,l,c){var u=10*t,f=5*t;return this.int16[u+0]=e,this.int16[u+1]=r,this.int16[u+2]=n,this.int16[u+3]=i,this.int16[u+4]=a,this.int16[u+5]=o,this.uint32[f+3]=s,this.uint16[u+8]=l,this.uint16[u+9]=c,t},e}(Pi);Vi.prototype.bytesPerElement=20,Nn(\"StructArrayLayout6i1ul2ui20\",Vi);var Hi=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i,a){var o=this.length;return this.resize(o+1),this.emplace(o,t,e,r,n,i,a)},e.prototype.emplace=function(t,e,r,n,i,a,o){var s=6*t;return this.int16[s+0]=e,this.int16[s+1]=r,this.int16[s+2]=n,this.int16[s+3]=i,this.int16[s+4]=a,this.int16[s+5]=o,t},e}(Pi);Hi.prototype.bytesPerElement=12,Nn(\"StructArrayLayout2i2i2i12\",Hi);var qi=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i){var a=this.length;return this.resize(a+1),this.emplace(a,t,e,r,n,i)},e.prototype.emplace=function(t,e,r,n,i,a){var o=4*t,s=8*t;return this.float32[o+0]=e,this.float32[o+1]=r,this.float32[o+2]=n,this.int16[s+6]=i,this.int16[s+7]=a,t},e}(Pi);qi.prototype.bytesPerElement=16,Nn(\"StructArrayLayout2f1f2i16\",qi);var Gi=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n){var i=this.length;return this.resize(i+1),this.emplace(i,t,e,r,n)},e.prototype.emplace=function(t,e,r,n,i){var a=12*t,o=3*t;return this.uint8[a+0]=e,this.uint8[a+1]=r,this.float32[o+1]=n,this.float32[o+2]=i,t},e}(Pi);Gi.prototype.bytesPerElement=12,Nn(\"StructArrayLayout2ub2f12\",Gi);var Yi=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r){var n=this.length;return this.resize(n+1),this.emplace(n,t,e,r)},e.prototype.emplace=function(t,e,r,n){var i=3*t;return this.uint16[i+0]=e,this.uint16[i+1]=r,this.uint16[i+2]=n,t},e}(Pi);Yi.prototype.bytesPerElement=6,Nn(\"StructArrayLayout3ui6\",Yi);var Wi=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i,a,o,s,l,c,u,f,h,p,d,m,g){var v=this.length;return this.resize(v+1),this.emplace(v,t,e,r,n,i,a,o,s,l,c,u,f,h,p,d,m,g)},e.prototype.emplace=function(t,e,r,n,i,a,o,s,l,c,u,f,h,p,d,m,g,v){var y=24*t,x=12*t,b=48*t;return this.int16[y+0]=e,this.int16[y+1]=r,this.uint16[y+2]=n,this.uint16[y+3]=i,this.uint32[x+2]=a,this.uint32[x+3]=o,this.uint32[x+4]=s,this.uint16[y+10]=l,this.uint16[y+11]=c,this.uint16[y+12]=u,this.float32[x+7]=f,this.float32[x+8]=h,this.uint8[b+36]=p,this.uint8[b+37]=d,this.uint8[b+38]=m,this.uint32[x+10]=g,this.int16[y+22]=v,t},e}(Pi);Wi.prototype.bytesPerElement=48,Nn(\"StructArrayLayout2i2ui3ul3ui2f3ub1ul1i48\",Wi);var Zi=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i,a,o,s,l,c,u,f,h,p,d,m,g,v,y,x,b,_,w,T,k,A,M,S){var E=this.length;return this.resize(E+1),this.emplace(E,t,e,r,n,i,a,o,s,l,c,u,f,h,p,d,m,g,v,y,x,b,_,w,T,k,A,M,S)},e.prototype.emplace=function(t,e,r,n,i,a,o,s,l,c,u,f,h,p,d,m,g,v,y,x,b,_,w,T,k,A,M,S,E){var L=34*t,C=17*t;return this.int16[L+0]=e,this.int16[L+1]=r,this.int16[L+2]=n,this.int16[L+3]=i,this.int16[L+4]=a,this.int16[L+5]=o,this.int16[L+6]=s,this.int16[L+7]=l,this.uint16[L+8]=c,this.uint16[L+9]=u,this.uint16[L+10]=f,this.uint16[L+11]=h,this.uint16[L+12]=p,this.uint16[L+13]=d,this.uint16[L+14]=m,this.uint16[L+15]=g,this.uint16[L+16]=v,this.uint16[L+17]=y,this.uint16[L+18]=x,this.uint16[L+19]=b,this.uint16[L+20]=_,this.uint16[L+21]=w,this.uint16[L+22]=T,this.uint32[C+12]=k,this.float32[C+13]=A,this.float32[C+14]=M,this.float32[C+15]=S,this.float32[C+16]=E,t},e}(Pi);Zi.prototype.bytesPerElement=68,Nn(\"StructArrayLayout8i15ui1ul4f68\",Zi);var Xi=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t){var e=this.length;return this.resize(e+1),this.emplace(e,t)},e.prototype.emplace=function(t,e){var r=1*t;return this.float32[r+0]=e,t},e}(Pi);Xi.prototype.bytesPerElement=4,Nn(\"StructArrayLayout1f4\",Xi);var Ji=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r){var n=this.length;return this.resize(n+1),this.emplace(n,t,e,r)},e.prototype.emplace=function(t,e,r,n){var i=3*t;return this.int16[i+0]=e,this.int16[i+1]=r,this.int16[i+2]=n,t},e}(Pi);Ji.prototype.bytesPerElement=6,Nn(\"StructArrayLayout3i6\",Ji);var Ki=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r){var n=this.length;return this.resize(n+1),this.emplace(n,t,e,r)},e.prototype.emplace=function(t,e,r,n){var i=2*t,a=4*t;return this.uint32[i+0]=e,this.uint16[a+2]=r,this.uint16[a+3]=n,t},e}(Pi);Ki.prototype.bytesPerElement=8,Nn(\"StructArrayLayout1ul2ui8\",Ki);var Qi=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e){var r=this.length;return this.resize(r+1),this.emplace(r,t,e)},e.prototype.emplace=function(t,e,r){var n=2*t;return this.uint16[n+0]=e,this.uint16[n+1]=r,t},e}(Pi);Qi.prototype.bytesPerElement=4,Nn(\"StructArrayLayout2ui4\",Qi);var $i=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t){var e=this.length;return this.resize(e+1),this.emplace(e,t)},e.prototype.emplace=function(t,e){var r=1*t;return this.uint16[r+0]=e,t},e}(Pi);$i.prototype.bytesPerElement=2,Nn(\"StructArrayLayout1ui2\",$i);var ta=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e){var r=this.length;return this.resize(r+1),this.emplace(r,t,e)},e.prototype.emplace=function(t,e,r){var n=2*t;return this.float32[n+0]=e,this.float32[n+1]=r,t},e}(Pi);ta.prototype.bytesPerElement=8,Nn(\"StructArrayLayout2f8\",ta);var ea=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n){var i=this.length;return this.resize(i+1),this.emplace(i,t,e,r,n)},e.prototype.emplace=function(t,e,r,n,i){var a=4*t;return this.float32[a+0]=e,this.float32[a+1]=r,this.float32[a+2]=n,this.float32[a+3]=i,t},e}(Pi);ea.prototype.bytesPerElement=16,Nn(\"StructArrayLayout4f16\",ea);var ra=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={anchorPointX:{configurable:!0},anchorPointY:{configurable:!0},x1:{configurable:!0},y1:{configurable:!0},x2:{configurable:!0},y2:{configurable:!0},featureIndex:{configurable:!0},sourceLayerIndex:{configurable:!0},bucketIndex:{configurable:!0},anchorPoint:{configurable:!0}};return r.anchorPointX.get=function(){return this._structArray.int16[this._pos2+0]},r.anchorPointY.get=function(){return this._structArray.int16[this._pos2+1]},r.x1.get=function(){return this._structArray.int16[this._pos2+2]},r.y1.get=function(){return this._structArray.int16[this._pos2+3]},r.x2.get=function(){return this._structArray.int16[this._pos2+4]},r.y2.get=function(){return this._structArray.int16[this._pos2+5]},r.featureIndex.get=function(){return this._structArray.uint32[this._pos4+3]},r.sourceLayerIndex.get=function(){return this._structArray.uint16[this._pos2+8]},r.bucketIndex.get=function(){return this._structArray.uint16[this._pos2+9]},r.anchorPoint.get=function(){return new i(this.anchorPointX,this.anchorPointY)},Object.defineProperties(e.prototype,r),e}(Ci);ra.prototype.size=20;var na=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.get=function(t){return new ra(this,t)},e}(Vi);Nn(\"CollisionBoxArray\",na);var ia=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={anchorX:{configurable:!0},anchorY:{configurable:!0},glyphStartIndex:{configurable:!0},numGlyphs:{configurable:!0},vertexStartIndex:{configurable:!0},lineStartIndex:{configurable:!0},lineLength:{configurable:!0},segment:{configurable:!0},lowerSize:{configurable:!0},upperSize:{configurable:!0},lineOffsetX:{configurable:!0},lineOffsetY:{configurable:!0},writingMode:{configurable:!0},placedOrientation:{configurable:!0},hidden:{configurable:!0},crossTileID:{configurable:!0},associatedIconIndex:{configurable:!0}};return r.anchorX.get=function(){return this._structArray.int16[this._pos2+0]},r.anchorY.get=function(){return this._structArray.int16[this._pos2+1]},r.glyphStartIndex.get=function(){return this._structArray.uint16[this._pos2+2]},r.numGlyphs.get=function(){return this._structArray.uint16[this._pos2+3]},r.vertexStartIndex.get=function(){return this._structArray.uint32[this._pos4+2]},r.lineStartIndex.get=function(){return this._structArray.uint32[this._pos4+3]},r.lineLength.get=function(){return this._structArray.uint32[this._pos4+4]},r.segment.get=function(){return this._structArray.uint16[this._pos2+10]},r.lowerSize.get=function(){return this._structArray.uint16[this._pos2+11]},r.upperSize.get=function(){return this._structArray.uint16[this._pos2+12]},r.lineOffsetX.get=function(){return this._structArray.float32[this._pos4+7]},r.lineOffsetY.get=function(){return this._structArray.float32[this._pos4+8]},r.writingMode.get=function(){return this._structArray.uint8[this._pos1+36]},r.placedOrientation.get=function(){return this._structArray.uint8[this._pos1+37]},r.placedOrientation.set=function(t){this._structArray.uint8[this._pos1+37]=t},r.hidden.get=function(){return this._structArray.uint8[this._pos1+38]},r.hidden.set=function(t){this._structArray.uint8[this._pos1+38]=t},r.crossTileID.get=function(){return this._structArray.uint32[this._pos4+10]},r.crossTileID.set=function(t){this._structArray.uint32[this._pos4+10]=t},r.associatedIconIndex.get=function(){return this._structArray.int16[this._pos2+22]},Object.defineProperties(e.prototype,r),e}(Ci);ia.prototype.size=48;var aa=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.get=function(t){return new ia(this,t)},e}(Wi);Nn(\"PlacedSymbolArray\",aa);var oa=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={anchorX:{configurable:!0},anchorY:{configurable:!0},rightJustifiedTextSymbolIndex:{configurable:!0},centerJustifiedTextSymbolIndex:{configurable:!0},leftJustifiedTextSymbolIndex:{configurable:!0},verticalPlacedTextSymbolIndex:{configurable:!0},placedIconSymbolIndex:{configurable:!0},verticalPlacedIconSymbolIndex:{configurable:!0},key:{configurable:!0},textBoxStartIndex:{configurable:!0},textBoxEndIndex:{configurable:!0},verticalTextBoxStartIndex:{configurable:!0},verticalTextBoxEndIndex:{configurable:!0},iconBoxStartIndex:{configurable:!0},iconBoxEndIndex:{configurable:!0},verticalIconBoxStartIndex:{configurable:!0},verticalIconBoxEndIndex:{configurable:!0},featureIndex:{configurable:!0},numHorizontalGlyphVertices:{configurable:!0},numVerticalGlyphVertices:{configurable:!0},numIconVertices:{configurable:!0},numVerticalIconVertices:{configurable:!0},useRuntimeCollisionCircles:{configurable:!0},crossTileID:{configurable:!0},textBoxScale:{configurable:!0},textOffset0:{configurable:!0},textOffset1:{configurable:!0},collisionCircleDiameter:{configurable:!0}};return r.anchorX.get=function(){return this._structArray.int16[this._pos2+0]},r.anchorY.get=function(){return this._structArray.int16[this._pos2+1]},r.rightJustifiedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+2]},r.centerJustifiedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+3]},r.leftJustifiedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+4]},r.verticalPlacedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+5]},r.placedIconSymbolIndex.get=function(){return this._structArray.int16[this._pos2+6]},r.verticalPlacedIconSymbolIndex.get=function(){return this._structArray.int16[this._pos2+7]},r.key.get=function(){return this._structArray.uint16[this._pos2+8]},r.textBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+9]},r.textBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+10]},r.verticalTextBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+11]},r.verticalTextBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+12]},r.iconBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+13]},r.iconBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+14]},r.verticalIconBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+15]},r.verticalIconBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+16]},r.featureIndex.get=function(){return this._structArray.uint16[this._pos2+17]},r.numHorizontalGlyphVertices.get=function(){return this._structArray.uint16[this._pos2+18]},r.numVerticalGlyphVertices.get=function(){return this._structArray.uint16[this._pos2+19]},r.numIconVertices.get=function(){return this._structArray.uint16[this._pos2+20]},r.numVerticalIconVertices.get=function(){return this._structArray.uint16[this._pos2+21]},r.useRuntimeCollisionCircles.get=function(){return this._structArray.uint16[this._pos2+22]},r.crossTileID.get=function(){return this._structArray.uint32[this._pos4+12]},r.crossTileID.set=function(t){this._structArray.uint32[this._pos4+12]=t},r.textBoxScale.get=function(){return this._structArray.float32[this._pos4+13]},r.textOffset0.get=function(){return this._structArray.float32[this._pos4+14]},r.textOffset1.get=function(){return this._structArray.float32[this._pos4+15]},r.collisionCircleDiameter.get=function(){return this._structArray.float32[this._pos4+16]},Object.defineProperties(e.prototype,r),e}(Ci);oa.prototype.size=68;var sa=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.get=function(t){return new oa(this,t)},e}(Zi);Nn(\"SymbolInstanceArray\",sa);var la=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getoffsetX=function(t){return this.float32[1*t+0]},e}(Xi);Nn(\"GlyphOffsetArray\",la);var ca=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getx=function(t){return this.int16[3*t+0]},e.prototype.gety=function(t){return this.int16[3*t+1]},e.prototype.gettileUnitDistanceFromAnchor=function(t){return this.int16[3*t+2]},e}(Ji);Nn(\"SymbolLineVertexArray\",ca);var ua=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={featureIndex:{configurable:!0},sourceLayerIndex:{configurable:!0},bucketIndex:{configurable:!0}};return r.featureIndex.get=function(){return this._structArray.uint32[this._pos4+0]},r.sourceLayerIndex.get=function(){return this._structArray.uint16[this._pos2+2]},r.bucketIndex.get=function(){return this._structArray.uint16[this._pos2+3]},Object.defineProperties(e.prototype,r),e}(Ci);ua.prototype.size=8;var fa=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.get=function(t){return new ua(this,t)},e}(Ki);Nn(\"FeatureIndexArray\",fa);var ha=Ii([{name:\"a_pos\",components:2,type:\"Int16\"}],4).members,pa=function(t){void 0===t&&(t=[]),this.segments=t};function da(t,e){return 256*(t=l(Math.floor(t),0,255))+(e=l(Math.floor(e),0,255))}pa.prototype.prepareSegment=function(t,e,r,n){var i=this.segments[this.segments.length-1];return t>pa.MAX_VERTEX_ARRAY_LENGTH&&_(\"Max vertices per segment is \"+pa.MAX_VERTEX_ARRAY_LENGTH+\": bucket requested \"+t),(!i||i.vertexLength+t>pa.MAX_VERTEX_ARRAY_LENGTH||i.sortKey!==n)&&(i={vertexOffset:e.length,primitiveOffset:r.length,vertexLength:0,primitiveLength:0},void 0!==n&&(i.sortKey=n),this.segments.push(i)),i},pa.prototype.get=function(){return this.segments},pa.prototype.destroy=function(){for(var t=0,e=this.segments;t>>16)*o&65535)<<16)&4294967295)<<15|l>>>17))*s+(((l>>>16)*s&65535)<<16)&4294967295)<<13|i>>>19))+((5*(i>>>16)&65535)<<16)&4294967295))+((58964+(a>>>16)&65535)<<16);switch(l=0,r){case 3:l^=(255&t.charCodeAt(c+2))<<16;case 2:l^=(255&t.charCodeAt(c+1))<<8;case 1:i^=l=(65535&(l=(l=(65535&(l^=255&t.charCodeAt(c)))*o+(((l>>>16)*o&65535)<<16)&4294967295)<<15|l>>>17))*s+(((l>>>16)*s&65535)<<16)&4294967295}return i^=t.length,i=2246822507*(65535&(i^=i>>>16))+((2246822507*(i>>>16)&65535)<<16)&4294967295,i=3266489909*(65535&(i^=i>>>13))+((3266489909*(i>>>16)&65535)<<16)&4294967295,(i^=i>>>16)>>>0}})),va=e((function(t){t.exports=function(t,e){for(var r,n=t.length,i=e^n,a=0;n>=4;)r=1540483477*(65535&(r=255&t.charCodeAt(a)|(255&t.charCodeAt(++a))<<8|(255&t.charCodeAt(++a))<<16|(255&t.charCodeAt(++a))<<24))+((1540483477*(r>>>16)&65535)<<16),i=1540483477*(65535&i)+((1540483477*(i>>>16)&65535)<<16)^(r=1540483477*(65535&(r^=r>>>24))+((1540483477*(r>>>16)&65535)<<16)),n-=4,++a;switch(n){case 3:i^=(255&t.charCodeAt(a+2))<<16;case 2:i^=(255&t.charCodeAt(a+1))<<8;case 1:i=1540483477*(65535&(i^=255&t.charCodeAt(a)))+((1540483477*(i>>>16)&65535)<<16)}return i=1540483477*(65535&(i^=i>>>13))+((1540483477*(i>>>16)&65535)<<16),(i^=i>>>15)>>>0}})),ya=ga,xa=ga,ba=va;ya.murmur3=xa,ya.murmur2=ba;var _a=function(){this.ids=[],this.positions=[],this.indexed=!1};_a.prototype.add=function(t,e,r,n){this.ids.push(Ta(t)),this.positions.push(e,r,n)},_a.prototype.getPositions=function(t){for(var e=Ta(t),r=0,n=this.ids.length-1;r>1;this.ids[i]>=e?n=i:r=i+1}for(var a=[];this.ids[r]===e;){var o=this.positions[3*r],s=this.positions[3*r+1],l=this.positions[3*r+2];a.push({index:o,start:s,end:l}),r++}return a},_a.serialize=function(t,e){var r=new Float64Array(t.ids),n=new Uint32Array(t.positions);return function t(e,r,n,i){for(;n>1],o=n-1,s=i+1;;){do{o++}while(e[o]a);if(o>=s)break;ka(e,o,s),ka(r,3*o,3*s),ka(r,3*o+1,3*s+1),ka(r,3*o+2,3*s+2)}s-nGa.max||o.yGa.max)&&(_(\"Geometry exceeds allowed extent, reduce your vector tile buffer size\"),o.x=l(o.x,Ga.min,Ga.max),o.y=l(o.y,Ga.min,Ga.max))}return r}function Wa(t,e,r,n,i){t.emplaceBack(2*e+(n+1)/2,2*r+(i+1)/2)}var Za=function(t){this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map((function(t){return t.id})),this.index=t.index,this.hasPattern=!1,this.layoutVertexArray=new zi,this.indexArray=new Yi,this.segments=new pa,this.programConfigurations=new Ua(ha,t.layers,t.zoom),this.stateDependentLayerIds=this.layers.filter((function(t){return t.isStateDependent()})).map((function(t){return t.id}))};function Xa(t,e){for(var r=0;r1){if($a(t,e))return!0;for(var n=0;n1?t.distSqr(r):t.distSqr(r.sub(e)._mult(i)._add(e))}function no(t,e){for(var r,n,i,a=!1,o=0;oe.y!=i.y>e.y&&e.x<(i.x-n.x)*(e.y-n.y)/(i.y-n.y)+n.x&&(a=!a);return a}function io(t,e){for(var r=!1,n=0,i=t.length-1;ne.y!=o.y>e.y&&e.x<(o.x-a.x)*(e.y-a.y)/(o.y-a.y)+a.x&&(r=!r)}return r}function ao(t,e,r){var n=r[0],i=r[2];if(t.xi.x&&e.x>i.x||t.yi.y&&e.y>i.y)return!1;var a=w(t,e,r[0]);return a!==w(t,e,r[1])||a!==w(t,e,r[2])||a!==w(t,e,r[3])}function oo(t,e,r){var n=e.paint.get(t).value;return\"constant\"===n.kind?n.value:r.programConfigurations.get(e.id).getMaxValue(t)}function so(t){return Math.sqrt(t[0]*t[0]+t[1]*t[1])}function lo(t,e,r,n,a){if(!e[0]&&!e[1])return t;var o=i.convert(e)._mult(a);\"viewport\"===r&&o._rotate(-n);for(var s=[],l=0;l=8192||u<0||u>=8192)){var f=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray,t.sortKey),h=f.vertexLength;Wa(this.layoutVertexArray,c,u,-1,-1),Wa(this.layoutVertexArray,c,u,1,-1),Wa(this.layoutVertexArray,c,u,1,1),Wa(this.layoutVertexArray,c,u,-1,1),this.indexArray.emplaceBack(h,h+1,h+2),this.indexArray.emplaceBack(h,h+3,h+2),f.vertexLength+=4,f.primitiveLength+=2}}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,t,r,{},n)},Nn(\"CircleBucket\",Za,{omit:[\"layers\"]});var co=new Si({\"circle-sort-key\":new Ti(Lt.layout_circle[\"circle-sort-key\"])}),uo={paint:new Si({\"circle-radius\":new Ti(Lt.paint_circle[\"circle-radius\"]),\"circle-color\":new Ti(Lt.paint_circle[\"circle-color\"]),\"circle-blur\":new Ti(Lt.paint_circle[\"circle-blur\"]),\"circle-opacity\":new Ti(Lt.paint_circle[\"circle-opacity\"]),\"circle-translate\":new wi(Lt.paint_circle[\"circle-translate\"]),\"circle-translate-anchor\":new wi(Lt.paint_circle[\"circle-translate-anchor\"]),\"circle-pitch-scale\":new wi(Lt.paint_circle[\"circle-pitch-scale\"]),\"circle-pitch-alignment\":new wi(Lt.paint_circle[\"circle-pitch-alignment\"]),\"circle-stroke-width\":new Ti(Lt.paint_circle[\"circle-stroke-width\"]),\"circle-stroke-color\":new Ti(Lt.paint_circle[\"circle-stroke-color\"]),\"circle-stroke-opacity\":new Ti(Lt.paint_circle[\"circle-stroke-opacity\"])}),layout:co},fo=\"undefined\"!=typeof Float32Array?Float32Array:Array;function ho(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}function po(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=e[4],l=e[5],c=e[6],u=e[7],f=e[8],h=e[9],p=e[10],d=e[11],m=e[12],g=e[13],v=e[14],y=e[15],x=r[0],b=r[1],_=r[2],w=r[3];return t[0]=x*n+b*s+_*f+w*m,t[1]=x*i+b*l+_*h+w*g,t[2]=x*a+b*c+_*p+w*v,t[3]=x*o+b*u+_*d+w*y,x=r[4],b=r[5],_=r[6],w=r[7],t[4]=x*n+b*s+_*f+w*m,t[5]=x*i+b*l+_*h+w*g,t[6]=x*a+b*c+_*p+w*v,t[7]=x*o+b*u+_*d+w*y,x=r[8],b=r[9],_=r[10],w=r[11],t[8]=x*n+b*s+_*f+w*m,t[9]=x*i+b*l+_*h+w*g,t[10]=x*a+b*c+_*p+w*v,t[11]=x*o+b*u+_*d+w*y,x=r[12],b=r[13],_=r[14],w=r[15],t[12]=x*n+b*s+_*f+w*m,t[13]=x*i+b*l+_*h+w*g,t[14]=x*a+b*c+_*p+w*v,t[15]=x*o+b*u+_*d+w*y,t}Math.hypot||(Math.hypot=function(){for(var t=arguments,e=0,r=arguments.length;r--;)e+=t[r]*t[r];return Math.sqrt(e)});var mo=po;var go,vo,yo=function(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t[2]=e[2]-r[2],t};go=new fo(3),fo!=Float32Array&&(go[0]=0,go[1]=0,go[2]=0),vo=go;function xo(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3];return t[0]=r[0]*n+r[4]*i+r[8]*a+r[12]*o,t[1]=r[1]*n+r[5]*i+r[9]*a+r[13]*o,t[2]=r[2]*n+r[6]*i+r[10]*a+r[14]*o,t[3]=r[3]*n+r[7]*i+r[11]*a+r[15]*o,t}!function(){var t=function(){var t=new fo(4);return fo!=Float32Array&&(t[0]=0,t[1]=0,t[2]=0,t[3]=0),t}()}();var bo=function(t){var e=t[0],r=t[1];return e*e+r*r},_o=(function(){var t=function(){var t=new fo(2);return fo!=Float32Array&&(t[0]=0,t[1]=0),t}()}(),function(t){function e(e){t.call(this,e,uo)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.createBucket=function(t){return new Za(t)},e.prototype.queryRadius=function(t){var e=t;return oo(\"circle-radius\",this,e)+oo(\"circle-stroke-width\",this,e)+so(this.paint.get(\"circle-translate\"))},e.prototype.queryIntersectsFeature=function(t,e,r,n,i,a,o,s){for(var l=lo(t,this.paint.get(\"circle-translate\"),this.paint.get(\"circle-translate-anchor\"),a.angle,o),c=this.paint.get(\"circle-radius\").evaluate(e,r)+this.paint.get(\"circle-stroke-width\").evaluate(e,r),u=\"map\"===this.paint.get(\"circle-pitch-alignment\"),f=u?l:function(t,e){return t.map((function(t){return wo(t,e)}))}(l,s),h=u?c*o:c,p=0,d=n;pt.width||i.height>t.height||r.x>t.width-i.width||r.y>t.height-i.height)throw new RangeError(\"out of range source coordinates for image copy\");if(i.width>e.width||i.height>e.height||n.x>e.width-i.width||n.y>e.height-i.height)throw new RangeError(\"out of range destination coordinates for image copy\");for(var o=t.data,s=e.data,l=0;l80*r){n=a=t[0],i=o=t[1];for(var d=r;da&&(a=s),l>o&&(o=l);c=0!==(c=Math.max(a-n,o-i))?1/c:0}return jo(h,p,r,n,i,c),p}function Bo(t,e,r,n,i){var a,o;if(i===ls(t,e,r,n)>0)for(a=e;a=e;a-=n)o=as(a,t[a],t[a+1],o);return o&&$o(o,o.next)&&(os(o),o=o.next),o}function No(t,e){if(!t)return t;e||(e=t);var r,n=t;do{if(r=!1,n.steiner||!$o(n,n.next)&&0!==Qo(n.prev,n,n.next))n=n.next;else{if(os(n),(n=e=n.prev)===n.next)break;r=!0}}while(r||n!==e);return e}function jo(t,e,r,n,i,a,o){if(t){!o&&a&&function(t,e,r,n){var i=t;do{null===i.z&&(i.z=Zo(i.x,i.y,e,r,n)),i.prevZ=i.prev,i.nextZ=i.next,i=i.next}while(i!==t);i.prevZ.nextZ=null,i.prevZ=null,function(t){var e,r,n,i,a,o,s,l,c=1;do{for(r=t,t=null,a=null,o=0;r;){for(o++,n=r,s=0,e=0;e0||l>0&&n;)0!==s&&(0===l||!n||r.z<=n.z)?(i=r,r=r.nextZ,s--):(i=n,n=n.nextZ,l--),a?a.nextZ=i:t=i,i.prevZ=a,a=i;r=n}a.nextZ=null,c*=2}while(o>1)}(i)}(t,n,i,a);for(var s,l,c=t;t.prev!==t.next;)if(s=t.prev,l=t.next,a?Vo(t,n,i,a):Uo(t))e.push(s.i/r),e.push(t.i/r),e.push(l.i/r),os(t),t=l.next,c=l.next;else if((t=l)===c){o?1===o?jo(t=Ho(No(t),e,r),e,r,n,i,a,2):2===o&&qo(t,e,r,n,i,a):jo(No(t),e,r,n,i,a,1);break}}}function Uo(t){var e=t.prev,r=t,n=t.next;if(Qo(e,r,n)>=0)return!1;for(var i=t.next.next;i!==t.prev;){if(Jo(e.x,e.y,r.x,r.y,n.x,n.y,i.x,i.y)&&Qo(i.prev,i,i.next)>=0)return!1;i=i.next}return!0}function Vo(t,e,r,n){var i=t.prev,a=t,o=t.next;if(Qo(i,a,o)>=0)return!1;for(var s=i.xa.x?i.x>o.x?i.x:o.x:a.x>o.x?a.x:o.x,u=i.y>a.y?i.y>o.y?i.y:o.y:a.y>o.y?a.y:o.y,f=Zo(s,l,e,r,n),h=Zo(c,u,e,r,n),p=t.prevZ,d=t.nextZ;p&&p.z>=f&&d&&d.z<=h;){if(p!==t.prev&&p!==t.next&&Jo(i.x,i.y,a.x,a.y,o.x,o.y,p.x,p.y)&&Qo(p.prev,p,p.next)>=0)return!1;if(p=p.prevZ,d!==t.prev&&d!==t.next&&Jo(i.x,i.y,a.x,a.y,o.x,o.y,d.x,d.y)&&Qo(d.prev,d,d.next)>=0)return!1;d=d.nextZ}for(;p&&p.z>=f;){if(p!==t.prev&&p!==t.next&&Jo(i.x,i.y,a.x,a.y,o.x,o.y,p.x,p.y)&&Qo(p.prev,p,p.next)>=0)return!1;p=p.prevZ}for(;d&&d.z<=h;){if(d!==t.prev&&d!==t.next&&Jo(i.x,i.y,a.x,a.y,o.x,o.y,d.x,d.y)&&Qo(d.prev,d,d.next)>=0)return!1;d=d.nextZ}return!0}function Ho(t,e,r){var n=t;do{var i=n.prev,a=n.next.next;!$o(i,a)&&ts(i,n,n.next,a)&&ns(i,a)&&ns(a,i)&&(e.push(i.i/r),e.push(n.i/r),e.push(a.i/r),os(n),os(n.next),n=t=a),n=n.next}while(n!==t);return No(n)}function qo(t,e,r,n,i,a){var o=t;do{for(var s=o.next.next;s!==o.prev;){if(o.i!==s.i&&Ko(o,s)){var l=is(o,s);return o=No(o,o.next),l=No(l,l.next),jo(o,e,r,n,i,a),void jo(l,e,r,n,i,a)}s=s.next}o=o.next}while(o!==t)}function Go(t,e){return t.x-e.x}function Yo(t,e){if(e=function(t,e){var r,n=e,i=t.x,a=t.y,o=-1/0;do{if(a<=n.y&&a>=n.next.y&&n.next.y!==n.y){var s=n.x+(a-n.y)*(n.next.x-n.x)/(n.next.y-n.y);if(s<=i&&s>o){if(o=s,s===i){if(a===n.y)return n;if(a===n.next.y)return n.next}r=n.x=n.x&&n.x>=u&&i!==n.x&&Jo(ar.x||n.x===r.x&&Wo(r,n)))&&(r=n,h=l)),n=n.next}while(n!==c);return r}(t,e)){var r=is(e,t);No(e,e.next),No(r,r.next)}}function Wo(t,e){return Qo(t.prev,t,e.prev)<0&&Qo(e.next,t,t.next)<0}function Zo(t,e,r,n,i){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=32767*(t-r)*i)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=32767*(e-n)*i)|e<<8))|e<<4))|e<<2))|e<<1))<<1}function Xo(t){var e=t,r=t;do{(e.x=0&&(t-o)*(n-s)-(r-o)*(e-s)>=0&&(r-o)*(a-s)-(i-o)*(n-s)>=0}function Ko(t,e){return t.next.i!==e.i&&t.prev.i!==e.i&&!function(t,e){var r=t;do{if(r.i!==t.i&&r.next.i!==t.i&&r.i!==e.i&&r.next.i!==e.i&&ts(r,r.next,t,e))return!0;r=r.next}while(r!==t);return!1}(t,e)&&(ns(t,e)&&ns(e,t)&&function(t,e){var r=t,n=!1,i=(t.x+e.x)/2,a=(t.y+e.y)/2;do{r.y>a!=r.next.y>a&&r.next.y!==r.y&&i<(r.next.x-r.x)*(a-r.y)/(r.next.y-r.y)+r.x&&(n=!n),r=r.next}while(r!==t);return n}(t,e)&&(Qo(t.prev,t,e.prev)||Qo(t,e.prev,e))||$o(t,e)&&Qo(t.prev,t,t.next)>0&&Qo(e.prev,e,e.next)>0)}function Qo(t,e,r){return(e.y-t.y)*(r.x-e.x)-(e.x-t.x)*(r.y-e.y)}function $o(t,e){return t.x===e.x&&t.y===e.y}function ts(t,e,r,n){var i=rs(Qo(t,e,r)),a=rs(Qo(t,e,n)),o=rs(Qo(r,n,t)),s=rs(Qo(r,n,e));return i!==a&&o!==s||(!(0!==i||!es(t,r,e))||(!(0!==a||!es(t,n,e))||(!(0!==o||!es(r,t,n))||!(0!==s||!es(r,e,n)))))}function es(t,e,r){return e.x<=Math.max(t.x,r.x)&&e.x>=Math.min(t.x,r.x)&&e.y<=Math.max(t.y,r.y)&&e.y>=Math.min(t.y,r.y)}function rs(t){return t>0?1:t<0?-1:0}function ns(t,e){return Qo(t.prev,t,t.next)<0?Qo(t,e,t.next)>=0&&Qo(t,t.prev,e)>=0:Qo(t,e,t.prev)<0||Qo(t,t.next,e)<0}function is(t,e){var r=new ss(t.i,t.x,t.y),n=new ss(e.i,e.x,e.y),i=t.next,a=e.prev;return t.next=e,e.prev=t,r.next=i,i.prev=r,n.next=r,r.prev=n,a.next=n,n.prev=a,n}function as(t,e,r,n){var i=new ss(t,e,r);return n?(i.next=n.next,i.prev=n,n.next.prev=i,n.next=i):(i.prev=i,i.next=i),i}function os(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ)}function ss(t,e,r){this.i=t,this.x=e,this.y=r,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}function ls(t,e,r,n){for(var i=0,a=e,o=r-n;an;){if(i-n>600){var o=i-n+1,s=r-n+1,l=Math.log(o),c=.5*Math.exp(2*l/3),u=.5*Math.sqrt(l*c*(o-c)/o)*(s-o/2<0?-1:1),f=Math.max(n,Math.floor(r-s*c/o+u)),h=Math.min(i,Math.floor(r+(o-s)*c/o+u));t(e,r,f,h,a)}var p=e[r],d=n,m=i;for(us(e,n,r),a(e[i],p)>0&&us(e,n,i);d0;)m--}0===a(e[n],p)?us(e,n,m):(m++,us(e,m,i)),m<=r&&(n=m+1),r<=m&&(i=m-1)}}(t,e,r||0,n||t.length-1,i||fs)}function us(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function fs(t,e){return te?1:0}function hs(t,e){var r=t.length;if(r<=1)return[t];for(var n,i,a=[],o=0;o1)for(var l=0;l0&&(n+=t[i-1].length,r.holes.push(n))}return r},Do.default=Ro;var gs=function(t){this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map((function(t){return t.id})),this.index=t.index,this.hasPattern=!1,this.patternFeatures=[],this.layoutVertexArray=new zi,this.indexArray=new Yi,this.indexArray2=new Qi,this.programConfigurations=new Ua(zo,t.layers,t.zoom),this.segments=new pa,this.segments2=new pa,this.stateDependentLayerIds=this.layers.filter((function(t){return t.isStateDependent()})).map((function(t){return t.id}))};gs.prototype.populate=function(t,e,r){this.hasPattern=ds(\"fill\",this.layers,e);for(var n=this.layers[0].layout.get(\"fill-sort-key\"),i=[],a=0,o=t;a>3}if(a--,1===n||2===n)o+=t.readSVarint(),s+=t.readSVarint(),1===n&&(e&&l.push(e),e=[]),e.push(new i(o,s));else{if(7!==n)throw new Error(\"unknown command \"+n);e&&e.push(e[0].clone())}}return e&&l.push(e),l},ws.prototype.bbox=function(){var t=this._pbf;t.pos=this._geometry;for(var e=t.readVarint()+t.pos,r=1,n=0,i=0,a=0,o=1/0,s=-1/0,l=1/0,c=-1/0;t.pos>3}if(n--,1===r||2===r)(i+=t.readSVarint())s&&(s=i),(a+=t.readSVarint())c&&(c=a);else if(7!==r)throw new Error(\"unknown command \"+r)}return[o,l,s,c]},ws.prototype.toGeoJSON=function(t,e,r){var n,i,a=this.extent*Math.pow(2,r),o=this.extent*t,s=this.extent*e,l=this.loadGeometry(),c=ws.types[this.type];function u(t){for(var e=0;e>3;e=1===n?t.readString():2===n?t.readFloat():3===n?t.readDouble():4===n?t.readVarint64():5===n?t.readVarint():6===n?t.readSVarint():7===n?t.readBoolean():null}return e}(r))}function Es(t,e,r){if(3===t){var n=new As(r,r.readVarint()+r.pos);n.length&&(e[n.name]=n)}}Ms.prototype.feature=function(t){if(t<0||t>=this._features.length)throw new Error(\"feature index out of bounds\");this._pbf.pos=this._features[t];var e=this._pbf.readVarint()+this._pbf.pos;return new _s(this._pbf,e,this.extent,this._keys,this._values)};var Ls={VectorTile:function(t,e){this.layers=t.readFields(Es,{},e)},VectorTileFeature:_s,VectorTileLayer:As},Cs=Ls.VectorTileFeature.types,Ps=Math.pow(2,13);function Is(t,e,r,n,i,a,o,s){t.emplaceBack(e,r,2*Math.floor(n*Ps)+o,i*Ps*2,a*Ps*2,Math.round(s))}var Os=function(t){this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map((function(t){return t.id})),this.index=t.index,this.hasPattern=!1,this.layoutVertexArray=new Ri,this.indexArray=new Yi,this.programConfigurations=new Ua(bs,t.layers,t.zoom),this.segments=new pa,this.stateDependentLayerIds=this.layers.filter((function(t){return t.isStateDependent()})).map((function(t){return t.id}))};function zs(t,e){return t.x===e.x&&(t.x<0||t.x>8192)||t.y===e.y&&(t.y<0||t.y>8192)}function Ds(t){return t.every((function(t){return t.x<0}))||t.every((function(t){return t.x>8192}))||t.every((function(t){return t.y<0}))||t.every((function(t){return t.y>8192}))}Os.prototype.populate=function(t,e,r){this.features=[],this.hasPattern=ds(\"fill-extrusion\",this.layers,e);for(var n=0,i=t;n=1){var y=d[g-1];if(!zs(v,y)){f.vertexLength+4>pa.MAX_VERTEX_ARRAY_LENGTH&&(f=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray));var x=v.sub(y)._perp()._unit(),b=y.dist(v);m+b>32768&&(m=0),Is(this.layoutVertexArray,v.x,v.y,x.x,x.y,0,0,m),Is(this.layoutVertexArray,v.x,v.y,x.x,x.y,0,1,m),m+=b,Is(this.layoutVertexArray,y.x,y.y,x.x,x.y,0,0,m),Is(this.layoutVertexArray,y.x,y.y,x.x,x.y,0,1,m);var _=f.vertexLength;this.indexArray.emplaceBack(_,_+2,_+1),this.indexArray.emplaceBack(_+1,_+2,_+3),f.vertexLength+=4,f.primitiveLength+=2}}}}if(f.vertexLength+l>pa.MAX_VERTEX_ARRAY_LENGTH&&(f=this.segments.prepareSegment(l,this.layoutVertexArray,this.indexArray)),\"Polygon\"===Cs[t.type]){for(var w=[],T=[],k=f.vertexLength,A=0,M=s;A=2&&t[l-1].equals(t[l-2]);)l--;for(var c=0;c0;if(T&&v>c){var A=u.dist(p);if(A>2*f){var M=u.sub(u.sub(p)._mult(f/A)._round());this.updateDistance(p,M),this.addCurrentVertex(M,m,0,0,h),p=M}}var S=p&&d,E=S?r:s?\"butt\":n;if(S&&\"round\"===E&&(_i&&(E=\"bevel\"),\"bevel\"===E&&(_>2&&(E=\"flipbevel\"),_100)y=g.mult(-1);else{var L=_*m.add(g).mag()/m.sub(g).mag();y._perp()._mult(L*(k?-1:1))}this.addCurrentVertex(u,y,0,0,h),this.addCurrentVertex(u,y.mult(-1),0,0,h)}else if(\"bevel\"===E||\"fakeround\"===E){var C=-Math.sqrt(_*_-1),P=k?C:0,I=k?0:C;if(p&&this.addCurrentVertex(u,m,P,I,h),\"fakeround\"===E)for(var O=Math.round(180*w/Math.PI/20),z=1;z2*f){var j=u.add(d.sub(u)._mult(f/N)._round());this.updateDistance(u,j),this.addCurrentVertex(j,g,0,0,h),u=j}}}}},qs.prototype.addCurrentVertex=function(t,e,r,n,i,a){void 0===a&&(a=!1);var o=e.x+e.y*r,s=e.y-e.x*r,l=-e.x+e.y*n,c=-e.y-e.x*n;this.addHalfVertex(t,o,s,a,!1,r,i),this.addHalfVertex(t,l,c,a,!0,-n,i),this.distance>Hs/2&&0===this.totalDistance&&(this.distance=0,this.addCurrentVertex(t,e,r,n,i,a))},qs.prototype.addHalfVertex=function(t,e,r,n,i,a,o){var s=t.x,l=t.y,c=.5*this.scaledDistance;this.layoutVertexArray.emplaceBack((s<<1)+(n?1:0),(l<<1)+(i?1:0),Math.round(63*e)+128,Math.round(63*r)+128,1+(0===a?0:a<0?-1:1)|(63&c)<<2,c>>6);var u=o.vertexLength++;this.e1>=0&&this.e2>=0&&(this.indexArray.emplaceBack(this.e1,this.e2,u),o.primitiveLength++),i?this.e2=u:this.e1=u},qs.prototype.updateScaledDistance=function(){this.scaledDistance=this.totalDistance>0?(this.clipStart+(this.clipEnd-this.clipStart)*this.distance/this.totalDistance)*(Hs-1):this.distance},qs.prototype.updateDistance=function(t,e){this.distance+=t.dist(e),this.updateScaledDistance()},Nn(\"LineBucket\",qs,{omit:[\"layers\",\"patternFeatures\"]});var Gs=new Si({\"line-cap\":new wi(Lt.layout_line[\"line-cap\"]),\"line-join\":new Ti(Lt.layout_line[\"line-join\"]),\"line-miter-limit\":new wi(Lt.layout_line[\"line-miter-limit\"]),\"line-round-limit\":new wi(Lt.layout_line[\"line-round-limit\"]),\"line-sort-key\":new Ti(Lt.layout_line[\"line-sort-key\"])}),Ys={paint:new Si({\"line-opacity\":new Ti(Lt.paint_line[\"line-opacity\"]),\"line-color\":new Ti(Lt.paint_line[\"line-color\"]),\"line-translate\":new wi(Lt.paint_line[\"line-translate\"]),\"line-translate-anchor\":new wi(Lt.paint_line[\"line-translate-anchor\"]),\"line-width\":new Ti(Lt.paint_line[\"line-width\"]),\"line-gap-width\":new Ti(Lt.paint_line[\"line-gap-width\"]),\"line-offset\":new Ti(Lt.paint_line[\"line-offset\"]),\"line-blur\":new Ti(Lt.paint_line[\"line-blur\"]),\"line-dasharray\":new Ai(Lt.paint_line[\"line-dasharray\"]),\"line-pattern\":new ki(Lt.paint_line[\"line-pattern\"]),\"line-gradient\":new Mi(Lt.paint_line[\"line-gradient\"])}),layout:Gs},Ws=new(function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.possiblyEvaluate=function(e,r){return r=new pi(Math.floor(r.zoom),{now:r.now,fadeDuration:r.fadeDuration,zoomHistory:r.zoomHistory,transition:r.transition}),t.prototype.possiblyEvaluate.call(this,e,r)},e.prototype.evaluate=function(e,r,n,i){return r=u({},r,{zoom:Math.floor(r.zoom)}),t.prototype.evaluate.call(this,e,r,n,i)},e}(Ti))(Ys.paint.properties[\"line-width\"].specification);Ws.useIntegerZoom=!0;var Zs=function(t){function e(e){t.call(this,e,Ys)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._handleSpecialPaintPropertyUpdate=function(t){\"line-gradient\"===t&&this._updateGradient()},e.prototype._updateGradient=function(){var t=this._transitionablePaint._values[\"line-gradient\"].value.expression;this.gradient=Co(t,\"lineProgress\"),this.gradientTexture=null},e.prototype.recalculate=function(e,r){t.prototype.recalculate.call(this,e,r),this.paint._values[\"line-floorwidth\"]=Ws.possiblyEvaluate(this._transitioningPaint._values[\"line-width\"].value,e)},e.prototype.createBucket=function(t){return new qs(t)},e.prototype.queryRadius=function(t){var e=t,r=Xs(oo(\"line-width\",this,e),oo(\"line-gap-width\",this,e)),n=oo(\"line-offset\",this,e);return r/2+Math.abs(n)+so(this.paint.get(\"line-translate\"))},e.prototype.queryIntersectsFeature=function(t,e,r,n,a,o,s){var l=lo(t,this.paint.get(\"line-translate\"),this.paint.get(\"line-translate-anchor\"),o.angle,s),c=s/2*Xs(this.paint.get(\"line-width\").evaluate(e,r),this.paint.get(\"line-gap-width\").evaluate(e,r)),u=this.paint.get(\"line-offset\").evaluate(e,r);return u&&(n=function(t,e){for(var r=[],n=new i(0,0),a=0;a=3)for(var a=0;a0?e+2*t:t}var Js=Ii([{name:\"a_pos_offset\",components:4,type:\"Int16\"},{name:\"a_data\",components:4,type:\"Uint16\"},{name:\"a_pixeloffset\",components:4,type:\"Int16\"}],4),Ks=Ii([{name:\"a_projected_pos\",components:3,type:\"Float32\"}],4),Qs=(Ii([{name:\"a_fade_opacity\",components:1,type:\"Uint32\"}],4),Ii([{name:\"a_placed\",components:2,type:\"Uint8\"},{name:\"a_shift\",components:2,type:\"Float32\"}])),$s=(Ii([{type:\"Int16\",name:\"anchorPointX\"},{type:\"Int16\",name:\"anchorPointY\"},{type:\"Int16\",name:\"x1\"},{type:\"Int16\",name:\"y1\"},{type:\"Int16\",name:\"x2\"},{type:\"Int16\",name:\"y2\"},{type:\"Uint32\",name:\"featureIndex\"},{type:\"Uint16\",name:\"sourceLayerIndex\"},{type:\"Uint16\",name:\"bucketIndex\"}]),Ii([{name:\"a_pos\",components:2,type:\"Int16\"},{name:\"a_anchor_pos\",components:2,type:\"Int16\"},{name:\"a_extrude\",components:2,type:\"Int16\"}],4)),tl=Ii([{name:\"a_pos\",components:2,type:\"Float32\"},{name:\"a_radius\",components:1,type:\"Float32\"},{name:\"a_flags\",components:2,type:\"Int16\"}],4);Ii([{name:\"triangle\",components:3,type:\"Uint16\"}]),Ii([{type:\"Int16\",name:\"anchorX\"},{type:\"Int16\",name:\"anchorY\"},{type:\"Uint16\",name:\"glyphStartIndex\"},{type:\"Uint16\",name:\"numGlyphs\"},{type:\"Uint32\",name:\"vertexStartIndex\"},{type:\"Uint32\",name:\"lineStartIndex\"},{type:\"Uint32\",name:\"lineLength\"},{type:\"Uint16\",name:\"segment\"},{type:\"Uint16\",name:\"lowerSize\"},{type:\"Uint16\",name:\"upperSize\"},{type:\"Float32\",name:\"lineOffsetX\"},{type:\"Float32\",name:\"lineOffsetY\"},{type:\"Uint8\",name:\"writingMode\"},{type:\"Uint8\",name:\"placedOrientation\"},{type:\"Uint8\",name:\"hidden\"},{type:\"Uint32\",name:\"crossTileID\"},{type:\"Int16\",name:\"associatedIconIndex\"}]),Ii([{type:\"Int16\",name:\"anchorX\"},{type:\"Int16\",name:\"anchorY\"},{type:\"Int16\",name:\"rightJustifiedTextSymbolIndex\"},{type:\"Int16\",name:\"centerJustifiedTextSymbolIndex\"},{type:\"Int16\",name:\"leftJustifiedTextSymbolIndex\"},{type:\"Int16\",name:\"verticalPlacedTextSymbolIndex\"},{type:\"Int16\",name:\"placedIconSymbolIndex\"},{type:\"Int16\",name:\"verticalPlacedIconSymbolIndex\"},{type:\"Uint16\",name:\"key\"},{type:\"Uint16\",name:\"textBoxStartIndex\"},{type:\"Uint16\",name:\"textBoxEndIndex\"},{type:\"Uint16\",name:\"verticalTextBoxStartIndex\"},{type:\"Uint16\",name:\"verticalTextBoxEndIndex\"},{type:\"Uint16\",name:\"iconBoxStartIndex\"},{type:\"Uint16\",name:\"iconBoxEndIndex\"},{type:\"Uint16\",name:\"verticalIconBoxStartIndex\"},{type:\"Uint16\",name:\"verticalIconBoxEndIndex\"},{type:\"Uint16\",name:\"featureIndex\"},{type:\"Uint16\",name:\"numHorizontalGlyphVertices\"},{type:\"Uint16\",name:\"numVerticalGlyphVertices\"},{type:\"Uint16\",name:\"numIconVertices\"},{type:\"Uint16\",name:\"numVerticalIconVertices\"},{type:\"Uint16\",name:\"useRuntimeCollisionCircles\"},{type:\"Uint32\",name:\"crossTileID\"},{type:\"Float32\",name:\"textBoxScale\"},{type:\"Float32\",components:2,name:\"textOffset\"},{type:\"Float32\",name:\"collisionCircleDiameter\"}]),Ii([{type:\"Float32\",name:\"offsetX\"}]),Ii([{type:\"Int16\",name:\"x\"},{type:\"Int16\",name:\"y\"},{type:\"Int16\",name:\"tileUnitDistanceFromAnchor\"}]);function el(t,e,r){return t.sections.forEach((function(t){t.text=function(t,e,r){var n=e.layout.get(\"text-transform\").evaluate(r,{});return\"uppercase\"===n?t=t.toLocaleUpperCase():\"lowercase\"===n&&(t=t.toLocaleLowerCase()),hi.applyArabicShaping&&(t=hi.applyArabicShaping(t)),t}(t.text,e,r)})),t}var rl={\"!\":\"\\ufe15\",\"#\":\"\\uff03\",$:\"\\uff04\",\"%\":\"\\uff05\",\"&\":\"\\uff06\",\"(\":\"\\ufe35\",\")\":\"\\ufe36\",\"*\":\"\\uff0a\",\"+\":\"\\uff0b\",\",\":\"\\ufe10\",\"-\":\"\\ufe32\",\".\":\"\\u30fb\",\"/\":\"\\uff0f\",\":\":\"\\ufe13\",\";\":\"\\ufe14\",\"<\":\"\\ufe3f\",\"=\":\"\\uff1d\",\">\":\"\\ufe40\",\"?\":\"\\ufe16\",\"@\":\"\\uff20\",\"[\":\"\\ufe47\",\"\\\\\":\"\\uff3c\",\"]\":\"\\ufe48\",\"^\":\"\\uff3e\",_:\"\\ufe33\",\"`\":\"\\uff40\",\"{\":\"\\ufe37\",\"|\":\"\\u2015\",\"}\":\"\\ufe38\",\"~\":\"\\uff5e\",\"\\xa2\":\"\\uffe0\",\"\\xa3\":\"\\uffe1\",\"\\xa5\":\"\\uffe5\",\"\\xa6\":\"\\uffe4\",\"\\xac\":\"\\uffe2\",\"\\xaf\":\"\\uffe3\",\"\\u2013\":\"\\ufe32\",\"\\u2014\":\"\\ufe31\",\"\\u2018\":\"\\ufe43\",\"\\u2019\":\"\\ufe44\",\"\\u201c\":\"\\ufe41\",\"\\u201d\":\"\\ufe42\",\"\\u2026\":\"\\ufe19\",\"\\u2027\":\"\\u30fb\",\"\\u20a9\":\"\\uffe6\",\"\\u3001\":\"\\ufe11\",\"\\u3002\":\"\\ufe12\",\"\\u3008\":\"\\ufe3f\",\"\\u3009\":\"\\ufe40\",\"\\u300a\":\"\\ufe3d\",\"\\u300b\":\"\\ufe3e\",\"\\u300c\":\"\\ufe41\",\"\\u300d\":\"\\ufe42\",\"\\u300e\":\"\\ufe43\",\"\\u300f\":\"\\ufe44\",\"\\u3010\":\"\\ufe3b\",\"\\u3011\":\"\\ufe3c\",\"\\u3014\":\"\\ufe39\",\"\\u3015\":\"\\ufe3a\",\"\\u3016\":\"\\ufe17\",\"\\u3017\":\"\\ufe18\",\"\\uff01\":\"\\ufe15\",\"\\uff08\":\"\\ufe35\",\"\\uff09\":\"\\ufe36\",\"\\uff0c\":\"\\ufe10\",\"\\uff0d\":\"\\ufe32\",\"\\uff0e\":\"\\u30fb\",\"\\uff1a\":\"\\ufe13\",\"\\uff1b\":\"\\ufe14\",\"\\uff1c\":\"\\ufe3f\",\"\\uff1e\":\"\\ufe40\",\"\\uff1f\":\"\\ufe16\",\"\\uff3b\":\"\\ufe47\",\"\\uff3d\":\"\\ufe48\",\"\\uff3f\":\"\\ufe33\",\"\\uff5b\":\"\\ufe37\",\"\\uff5c\":\"\\u2015\",\"\\uff5d\":\"\\ufe38\",\"\\uff5f\":\"\\ufe35\",\"\\uff60\":\"\\ufe36\",\"\\uff61\":\"\\ufe12\",\"\\uff62\":\"\\ufe41\",\"\\uff63\":\"\\ufe42\"};var nl=function(t,e,r,n,i){var a,o,s=8*i-n-1,l=(1<>1,u=-7,f=r?i-1:0,h=r?-1:1,p=t[e+f];for(f+=h,a=p&(1<<-u)-1,p>>=-u,u+=s;u>0;a=256*a+t[e+f],f+=h,u-=8);for(o=a&(1<<-u)-1,a>>=-u,u+=n;u>0;o=256*o+t[e+f],f+=h,u-=8);if(0===a)a=1-c;else{if(a===l)return o?NaN:1/0*(p?-1:1);o+=Math.pow(2,n),a-=c}return(p?-1:1)*o*Math.pow(2,a-n)},il=function(t,e,r,n,i,a){var o,s,l,c=8*a-i-1,u=(1<>1,h=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,p=n?0:a-1,d=n?1:-1,m=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(s=isNaN(e)?1:0,o=u):(o=Math.floor(Math.log(e)/Math.LN2),e*(l=Math.pow(2,-o))<1&&(o--,l*=2),(e+=o+f>=1?h/l:h*Math.pow(2,1-f))*l>=2&&(o++,l/=2),o+f>=u?(s=0,o=u):o+f>=1?(s=(e*l-1)*Math.pow(2,i),o+=f):(s=e*Math.pow(2,f-1)*Math.pow(2,i),o=0));i>=8;t[r+p]=255&s,p+=d,s/=256,i-=8);for(o=o<0;t[r+p]=255&o,p+=d,o/=256,c-=8);t[r+p-d]|=128*m},al=ol;function ol(t){this.buf=ArrayBuffer.isView&&ArrayBuffer.isView(t)?t:new Uint8Array(t||0),this.pos=0,this.type=0,this.length=this.buf.length}ol.Varint=0,ol.Fixed64=1,ol.Bytes=2,ol.Fixed32=5;var sl=\"undefined\"==typeof TextDecoder?null:new TextDecoder(\"utf8\");function ll(t){return t.type===ol.Bytes?t.readVarint()+t.pos:t.pos+1}function cl(t,e,r){return r?4294967296*e+(t>>>0):4294967296*(e>>>0)+(t>>>0)}function ul(t,e,r){var n=e<=16383?1:e<=2097151?2:e<=268435455?3:Math.floor(Math.log(e)/(7*Math.LN2));r.realloc(n);for(var i=r.pos-1;i>=t;i--)r.buf[i+n]=r.buf[i]}function fl(t,e){for(var r=0;r>>8,t[r+2]=e>>>16,t[r+3]=e>>>24}function wl(t,e){return(t[e]|t[e+1]<<8|t[e+2]<<16)+(t[e+3]<<24)}ol.prototype={destroy:function(){this.buf=null},readFields:function(t,e,r){for(r=r||this.length;this.pos>3,a=this.pos;this.type=7&n,t(i,e,this),this.pos===a&&this.skip(n)}return e},readMessage:function(t,e){return this.readFields(t,e,this.readVarint()+this.pos)},readFixed32:function(){var t=bl(this.buf,this.pos);return this.pos+=4,t},readSFixed32:function(){var t=wl(this.buf,this.pos);return this.pos+=4,t},readFixed64:function(){var t=bl(this.buf,this.pos)+4294967296*bl(this.buf,this.pos+4);return this.pos+=8,t},readSFixed64:function(){var t=bl(this.buf,this.pos)+4294967296*wl(this.buf,this.pos+4);return this.pos+=8,t},readFloat:function(){var t=nl(this.buf,this.pos,!0,23,4);return this.pos+=4,t},readDouble:function(){var t=nl(this.buf,this.pos,!0,52,8);return this.pos+=8,t},readVarint:function(t){var e,r,n=this.buf;return e=127&(r=n[this.pos++]),r<128?e:(e|=(127&(r=n[this.pos++]))<<7,r<128?e:(e|=(127&(r=n[this.pos++]))<<14,r<128?e:(e|=(127&(r=n[this.pos++]))<<21,r<128?e:function(t,e,r){var n,i,a=r.buf;if(i=a[r.pos++],n=(112&i)>>4,i<128)return cl(t,n,e);if(i=a[r.pos++],n|=(127&i)<<3,i<128)return cl(t,n,e);if(i=a[r.pos++],n|=(127&i)<<10,i<128)return cl(t,n,e);if(i=a[r.pos++],n|=(127&i)<<17,i<128)return cl(t,n,e);if(i=a[r.pos++],n|=(127&i)<<24,i<128)return cl(t,n,e);if(i=a[r.pos++],n|=(1&i)<<31,i<128)return cl(t,n,e);throw new Error(\"Expected varint not more than 10 bytes\")}(e|=(15&(r=n[this.pos]))<<28,t,this))))},readVarint64:function(){return this.readVarint(!0)},readSVarint:function(){var t=this.readVarint();return t%2==1?(t+1)/-2:t/2},readBoolean:function(){return Boolean(this.readVarint())},readString:function(){var t=this.readVarint()+this.pos,e=this.pos;return this.pos=t,t-e>=12&&sl?function(t,e,r){return sl.decode(t.subarray(e,r))}(this.buf,e,t):function(t,e,r){var n=\"\",i=e;for(;i239?4:l>223?3:l>191?2:1;if(i+u>r)break;1===u?l<128&&(c=l):2===u?128==(192&(a=t[i+1]))&&(c=(31&l)<<6|63&a)<=127&&(c=null):3===u?(a=t[i+1],o=t[i+2],128==(192&a)&&128==(192&o)&&((c=(15&l)<<12|(63&a)<<6|63&o)<=2047||c>=55296&&c<=57343)&&(c=null)):4===u&&(a=t[i+1],o=t[i+2],s=t[i+3],128==(192&a)&&128==(192&o)&&128==(192&s)&&((c=(15&l)<<18|(63&a)<<12|(63&o)<<6|63&s)<=65535||c>=1114112)&&(c=null)),null===c?(c=65533,u=1):c>65535&&(c-=65536,n+=String.fromCharCode(c>>>10&1023|55296),c=56320|1023&c),n+=String.fromCharCode(c),i+=u}return n}(this.buf,e,t)},readBytes:function(){var t=this.readVarint()+this.pos,e=this.buf.subarray(this.pos,t);return this.pos=t,e},readPackedVarint:function(t,e){if(this.type!==ol.Bytes)return t.push(this.readVarint(e));var r=ll(this);for(t=t||[];this.pos127;);else if(e===ol.Bytes)this.pos=this.readVarint()+this.pos;else if(e===ol.Fixed32)this.pos+=4;else{if(e!==ol.Fixed64)throw new Error(\"Unimplemented type: \"+e);this.pos+=8}},writeTag:function(t,e){this.writeVarint(t<<3|e)},realloc:function(t){for(var e=this.length||16;e268435455||t<0?function(t,e){var r,n;t>=0?(r=t%4294967296|0,n=t/4294967296|0):(n=~(-t/4294967296),4294967295^(r=~(-t%4294967296))?r=r+1|0:(r=0,n=n+1|0));if(t>=0x10000000000000000||t<-0x10000000000000000)throw new Error(\"Given varint doesn't fit into 10 bytes\");e.realloc(10),function(t,e,r){r.buf[r.pos++]=127&t|128,t>>>=7,r.buf[r.pos++]=127&t|128,t>>>=7,r.buf[r.pos++]=127&t|128,t>>>=7,r.buf[r.pos++]=127&t|128,t>>>=7,r.buf[r.pos]=127&t}(r,0,e),function(t,e){var r=(7&t)<<4;if(e.buf[e.pos++]|=r|((t>>>=3)?128:0),!t)return;if(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),!t)return;if(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),!t)return;if(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),!t)return;if(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),!t)return;e.buf[e.pos++]=127&t}(n,e)}(t,this):(this.realloc(4),this.buf[this.pos++]=127&t|(t>127?128:0),t<=127||(this.buf[this.pos++]=127&(t>>>=7)|(t>127?128:0),t<=127||(this.buf[this.pos++]=127&(t>>>=7)|(t>127?128:0),t<=127||(this.buf[this.pos++]=t>>>7&127))))},writeSVarint:function(t){this.writeVarint(t<0?2*-t-1:2*t)},writeBoolean:function(t){this.writeVarint(Boolean(t))},writeString:function(t){t=String(t),this.realloc(4*t.length),this.pos++;var e=this.pos;this.pos=function(t,e,r){for(var n,i,a=0;a55295&&n<57344){if(!i){n>56319||a+1===e.length?(t[r++]=239,t[r++]=191,t[r++]=189):i=n;continue}if(n<56320){t[r++]=239,t[r++]=191,t[r++]=189,i=n;continue}n=i-55296<<10|n-56320|65536,i=null}else i&&(t[r++]=239,t[r++]=191,t[r++]=189,i=null);n<128?t[r++]=n:(n<2048?t[r++]=n>>6|192:(n<65536?t[r++]=n>>12|224:(t[r++]=n>>18|240,t[r++]=n>>12&63|128),t[r++]=n>>6&63|128),t[r++]=63&n|128)}return r}(this.buf,t,this.pos);var r=this.pos-e;r>=128&&ul(e,r,this),this.pos=e-1,this.writeVarint(r),this.pos+=r},writeFloat:function(t){this.realloc(4),il(this.buf,t,this.pos,!0,23,4),this.pos+=4},writeDouble:function(t){this.realloc(8),il(this.buf,t,this.pos,!0,52,8),this.pos+=8},writeBytes:function(t){var e=t.length;this.writeVarint(e),this.realloc(e);for(var r=0;r=128&&ul(r,n,this),this.pos=r-1,this.writeVarint(n),this.pos+=n},writeMessage:function(t,e,r){this.writeTag(t,ol.Bytes),this.writeRawMessage(e,r)},writePackedVarint:function(t,e){e.length&&this.writeMessage(t,fl,e)},writePackedSVarint:function(t,e){e.length&&this.writeMessage(t,hl,e)},writePackedBoolean:function(t,e){e.length&&this.writeMessage(t,ml,e)},writePackedFloat:function(t,e){e.length&&this.writeMessage(t,pl,e)},writePackedDouble:function(t,e){e.length&&this.writeMessage(t,dl,e)},writePackedFixed32:function(t,e){e.length&&this.writeMessage(t,gl,e)},writePackedSFixed32:function(t,e){e.length&&this.writeMessage(t,vl,e)},writePackedFixed64:function(t,e){e.length&&this.writeMessage(t,yl,e)},writePackedSFixed64:function(t,e){e.length&&this.writeMessage(t,xl,e)},writeBytesField:function(t,e){this.writeTag(t,ol.Bytes),this.writeBytes(e)},writeFixed32Field:function(t,e){this.writeTag(t,ol.Fixed32),this.writeFixed32(e)},writeSFixed32Field:function(t,e){this.writeTag(t,ol.Fixed32),this.writeSFixed32(e)},writeFixed64Field:function(t,e){this.writeTag(t,ol.Fixed64),this.writeFixed64(e)},writeSFixed64Field:function(t,e){this.writeTag(t,ol.Fixed64),this.writeSFixed64(e)},writeVarintField:function(t,e){this.writeTag(t,ol.Varint),this.writeVarint(e)},writeSVarintField:function(t,e){this.writeTag(t,ol.Varint),this.writeSVarint(e)},writeStringField:function(t,e){this.writeTag(t,ol.Bytes),this.writeString(e)},writeFloatField:function(t,e){this.writeTag(t,ol.Fixed32),this.writeFloat(e)},writeDoubleField:function(t,e){this.writeTag(t,ol.Fixed64),this.writeDouble(e)},writeBooleanField:function(t,e){this.writeVarintField(t,Boolean(e))}};function Tl(t,e,r){1===t&&r.readMessage(kl,e)}function kl(t,e,r){if(3===t){var n=r.readMessage(Al,{}),i=n.id,a=n.bitmap,o=n.width,s=n.height,l=n.left,c=n.top,u=n.advance;e.push({id:i,bitmap:new So({width:o+6,height:s+6},a),metrics:{width:o,height:s,left:l,top:c,advance:u}})}}function Al(t,e,r){1===t?e.id=r.readVarint():2===t?e.bitmap=r.readBytes():3===t?e.width=r.readVarint():4===t?e.height=r.readVarint():5===t?e.left=r.readSVarint():6===t?e.top=r.readSVarint():7===t&&(e.advance=r.readVarint())}function Ml(t){for(var e=0,r=0,n=0,i=t;n=0;h--){var p=o[h];if(!(f.w>p.w||f.h>p.h)){if(f.x=p.x,f.y=p.y,l=Math.max(l,f.y+f.h),s=Math.max(s,f.x+f.w),f.w===p.w&&f.h===p.h){var d=o.pop();h0&&N>A&&(A=N)}else{var j=r[S.fontStack],U=j&&j[L];if(U&&U.rect)I=U.rect,P=U.metrics;else{var V=e[S.fontStack],H=V&&V[L];if(!H)continue;P=H.metrics}C=24*(_-S.scale)}D?(t.verticalizable=!0,k.push({glyph:L,imageName:O,x:h,y:p+C,vertical:D,scale:S.scale,fontStack:S.fontStack,sectionIndex:E,metrics:P,rect:I}),h+=z*S.scale+c):(k.push({glyph:L,imageName:O,x:h,y:p+C,vertical:D,scale:S.scale,fontStack:S.fontStack,sectionIndex:E,metrics:P,rect:I}),h+=P.advance*S.scale+c)}if(0!==k.length){var q=h-c;d=Math.max(q,d),Vl(k,0,k.length-1,g,A)}h=0;var G=a*_+A;T.lineOffset=Math.max(A,w),p+=G,m=Math.max(G,m),++v}else p+=a,++v}var Y;var W=p- -17,Z=Ul(o),X=Z.horizontalAlign,J=Z.verticalAlign;(function(t,e,r,n,i,a,o,s,l){var c=(e-r)*i,u=0;u=a!==o?-s*n- -17:(-n*l+.5)*o;for(var f=0,h=t;f=0&&n>=t&&zl[this.text.charCodeAt(n)];n--)r--;this.text=this.text.substring(t,r),this.sectionIndex=this.sectionIndex.slice(t,r)},Il.prototype.substring=function(t,e){var r=new Il;return r.text=this.text.substring(t,e),r.sectionIndex=this.sectionIndex.slice(t,e),r.sections=this.sections,r},Il.prototype.toString=function(){return this.text},Il.prototype.getMaxScale=function(){var t=this;return this.sectionIndex.reduce((function(e,r){return Math.max(e,t.sections[r].scale)}),0)},Il.prototype.addTextSection=function(t,e){this.text+=t.text,this.sections.push(Pl.forText(t.scale,t.fontStack||e));for(var r=this.sections.length-1,n=0;n=63743?null:++this.imageSectionID:(this.imageSectionID=57344,this.imageSectionID)};var zl={9:!0,10:!0,11:!0,12:!0,13:!0,32:!0},Dl={};function Rl(t,e,r,n,i,a){if(e.imageName){var o=n[e.imageName];return o?o.displaySize[0]*e.scale*24/a+i:0}var s=r[e.fontStack],l=s&&s[t];return l?l.metrics.advance*e.scale+i:0}function Fl(t,e,r,n){var i=Math.pow(t-e,2);return n?t=0,f=0,h=0;h-r/2;){if(--o<0)return!1;s-=t[o].dist(a),a=t[o]}s+=t[o].dist(t[o+1]),o++;for(var l=[],c=0;sn;)c-=l.shift().angleDelta;if(c>i)return!1;o++,s+=f.dist(h)}return!0}function Jl(t){for(var e=0,r=0;rc){var d=(c-l)/p,m=qe(f.x,h.x,d),g=qe(f.y,h.y,d),v=new ql(m,g,h.angleTo(f),u);return v._round(),!o||Xl(t,v,s,o,e)?v:void 0}l+=p}}function tc(t,e,r,n,i,a,o,s,l){var c=Kl(n,a,o),u=Ql(n,i),f=u*o,h=0===t[0].x||t[0].x===l||0===t[0].y||t[0].y===l;return e-f=0&&_=0&&w=0&&p+u<=f){var T=new ql(_,w,x,m);T._round(),i&&!Xl(e,T,o,i,a)||d.push(T)}}h+=y}l||d.length||s||(d=t(e,h/2,n,i,a,o,s,!0,c));return d}(t,h?e/2*s%e:(u/2+2*a)*o*s%e,e,c,r,f,h,!1,l)}function ec(t,e,r,n,a){for(var o=[],s=0;s=n&&h.x>=n||(f.x>=n?f=new i(n,f.y+(h.y-f.y)*((n-f.x)/(h.x-f.x)))._round():h.x>=n&&(h=new i(n,f.y+(h.y-f.y)*((n-f.x)/(h.x-f.x)))._round()),f.y>=a&&h.y>=a||(f.y>=a?f=new i(f.x+(h.x-f.x)*((a-f.y)/(h.y-f.y)),a)._round():h.y>=a&&(h=new i(f.x+(h.x-f.x)*((a-f.y)/(h.y-f.y)),a)._round()),c&&f.equals(c[c.length-1])||(c=[f],o.push(c)),c.push(h)))))}return o}function rc(t,e,r,n){var a=[],o=t.image,s=o.pixelRatio,l=o.paddedRect.w-2,c=o.paddedRect.h-2,u=t.right-t.left,f=t.bottom-t.top,h=o.stretchX||[[0,l]],p=o.stretchY||[[0,c]],d=function(t,e){return t+e[1]-e[0]},m=h.reduce(d,0),g=p.reduce(d,0),v=l-m,y=c-g,x=0,b=m,_=0,w=g,T=0,k=v,A=0,M=y;if(o.content&&n){var S=o.content;x=nc(h,0,S[0]),_=nc(p,0,S[1]),b=nc(h,S[0],S[2]),w=nc(p,S[1],S[3]),T=S[0]-x,A=S[1]-_,k=S[2]-S[0]-b,M=S[3]-S[1]-w}var E=function(n,a,l,c){var h=ac(n.stretch-x,b,u,t.left),p=oc(n.fixed-T,k,n.stretch,m),d=ac(a.stretch-_,w,f,t.top),v=oc(a.fixed-A,M,a.stretch,g),y=ac(l.stretch-x,b,u,t.left),S=oc(l.fixed-T,k,l.stretch,m),E=ac(c.stretch-_,w,f,t.top),L=oc(c.fixed-A,M,c.stretch,g),C=new i(h,d),P=new i(y,d),I=new i(y,E),O=new i(h,E),z=new i(p/s,v/s),D=new i(S/s,L/s),R=e*Math.PI/180;if(R){var F=Math.sin(R),B=Math.cos(R),N=[B,-F,F,B];C._matMult(N),P._matMult(N),O._matMult(N),I._matMult(N)}var j=n.stretch+n.fixed,U=l.stretch+l.fixed,V=a.stretch+a.fixed,H=c.stretch+c.fixed;return{tl:C,tr:P,bl:O,br:I,tex:{x:o.paddedRect.x+1+j,y:o.paddedRect.y+1+V,w:U-j,h:H-V},writingMode:void 0,glyphOffset:[0,0],sectionIndex:0,pixelOffsetTL:z,pixelOffsetBR:D,minFontScaleX:k/s/u,minFontScaleY:M/s/f,isSDF:r}};if(n&&(o.stretchX||o.stretchY))for(var L=ic(h,v,m),C=ic(p,y,g),P=0;P0&&(d=Math.max(10,d),this.circleDiameter=d)}else{var m=o.top*s-l,g=o.bottom*s+l,v=o.left*s-l,y=o.right*s+l,x=o.collisionPadding;if(x&&(v-=x[0]*s,m-=x[1]*s,y+=x[2]*s,g+=x[3]*s),u){var b=new i(v,m),_=new i(y,m),w=new i(v,g),T=new i(y,g),k=u*Math.PI/180;b._rotate(k),_._rotate(k),w._rotate(k),T._rotate(k),v=Math.min(b.x,_.x,w.x,T.x),y=Math.max(b.x,_.x,w.x,T.x),m=Math.min(b.y,_.y,w.y,T.y),g=Math.max(b.y,_.y,w.y,T.y)}t.emplaceBack(e.x,e.y,v,m,y,g,r,n,a)}this.boxEndIndex=t.length},lc=function(t,e){if(void 0===t&&(t=[]),void 0===e&&(e=cc),this.data=t,this.length=this.data.length,this.compare=e,this.length>0)for(var r=(this.length>>1)-1;r>=0;r--)this._down(r)};function cc(t,e){return te?1:0}function uc(t,e,r){void 0===e&&(e=1),void 0===r&&(r=!1);for(var n=1/0,a=1/0,o=-1/0,s=-1/0,l=t[0],c=0;co)&&(o=u.x),(!c||u.y>s)&&(s=u.y)}var f=o-n,h=s-a,p=Math.min(f,h),d=p/2,m=new lc([],fc);if(0===p)return new i(n,a);for(var g=n;gy.d||!y.d)&&(y=b,r&&console.log(\"found best %d after %d probes\",Math.round(1e4*b.d)/1e4,x)),b.max-y.d<=e||(d=b.h/2,m.push(new hc(b.p.x-d,b.p.y-d,d,t)),m.push(new hc(b.p.x+d,b.p.y-d,d,t)),m.push(new hc(b.p.x-d,b.p.y+d,d,t)),m.push(new hc(b.p.x+d,b.p.y+d,d,t)),x+=4)}return r&&(console.log(\"num probes: \"+x),console.log(\"best distance: \"+y.d)),y.p}function fc(t,e){return e.max-t.max}function hc(t,e,r,n){this.p=new i(t,e),this.h=r,this.d=function(t,e){for(var r=!1,n=1/0,i=0;it.y!=u.y>t.y&&t.x<(u.x-c.x)*(t.y-c.y)/(u.y-c.y)+c.x&&(r=!r),n=Math.min(n,ro(t,c,u))}return(r?1:-1)*Math.sqrt(n)}(this.p,n),this.max=this.d+this.h*Math.SQRT2}lc.prototype.push=function(t){this.data.push(t),this.length++,this._up(this.length-1)},lc.prototype.pop=function(){if(0!==this.length){var t=this.data[0],e=this.data.pop();return this.length--,this.length>0&&(this.data[0]=e,this._down(0)),t}},lc.prototype.peek=function(){return this.data[0]},lc.prototype._up=function(t){for(var e=this.data,r=this.compare,n=e[t];t>0;){var i=t-1>>1,a=e[i];if(r(n,a)>=0)break;e[t]=a,t=i}e[t]=n},lc.prototype._down=function(t){for(var e=this.data,r=this.compare,n=this.length>>1,i=e[t];t=0)break;e[t]=o,t=a}e[t]=i};var pc=Number.POSITIVE_INFINITY;function dc(t,e){return e[1]!==pc?function(t,e,r){var n=0,i=0;switch(e=Math.abs(e),r=Math.abs(r),t){case\"top-right\":case\"top-left\":case\"top\":i=r-7;break;case\"bottom-right\":case\"bottom-left\":case\"bottom\":i=7-r}switch(t){case\"top-right\":case\"bottom-right\":case\"right\":n=-e;break;case\"top-left\":case\"bottom-left\":case\"left\":n=e}return[n,i]}(t,e[0],e[1]):function(t,e){var r=0,n=0;e<0&&(e=0);var i=e/Math.sqrt(2);switch(t){case\"top-right\":case\"top-left\":n=i-7;break;case\"bottom-right\":case\"bottom-left\":n=7-i;break;case\"bottom\":n=7-e;break;case\"top\":n=e-7}switch(t){case\"top-right\":case\"bottom-right\":r=-i;break;case\"top-left\":case\"bottom-left\":r=i;break;case\"left\":r=e;break;case\"right\":r=-e}return[r,n]}(t,e[0])}function mc(t){switch(t){case\"right\":case\"top-right\":case\"bottom-right\":return\"right\";case\"left\":case\"top-left\":case\"bottom-left\":return\"left\"}return\"center\"}function gc(t,e,r,n,a,o,s,l,c,u,f,h,p,d,m){var g=function(t,e,r,n,a,o,s,l){for(var c=n.layout.get(\"text-rotate\").evaluate(o,{})*Math.PI/180,u=[],f=0,h=e.positionedLines;f32640&&_(t.layerIds[0]+': Value for \"text-size\" is >= 255. Reduce your \"text-size\".'):\"composite\"===v.kind&&((y=[128*d.compositeTextSizes[0].evaluate(s,{},m),128*d.compositeTextSizes[1].evaluate(s,{},m)])[0]>32640||y[1]>32640)&&_(t.layerIds[0]+': Value for \"text-size\" is >= 255. Reduce your \"text-size\".'),t.addSymbols(t.text,g,y,l,o,s,u,e,c.lineStartIndex,c.lineLength,p,m);for(var x=0,b=f;x=0;o--)if(n.dist(a[o])0)&&(\"constant\"!==a.value.kind||a.value.value.length>0),c=\"constant\"!==s.value.kind||!!s.value.value||Object.keys(s.parameters).length>0,u=i.get(\"symbol-sort-key\");if(this.features=[],l||c){for(var f=e.iconDependencies,h=e.glyphDependencies,p=e.availableImages,d=new pi(this.zoom),m=0,g=t;m=0;for(var O=0,z=k.sections;O=0;s--)a[s]={x:e[s].x,y:e[s].y,tileUnitDistanceFromAnchor:i},s>0&&(i+=e[s-1].dist(e[s]));for(var l=0;l0},Mc.prototype.hasIconData=function(){return this.icon.segments.get().length>0},Mc.prototype.hasDebugData=function(){return this.textCollisionBox&&this.iconCollisionBox},Mc.prototype.hasTextCollisionBoxData=function(){return this.hasDebugData()&&this.textCollisionBox.segments.get().length>0},Mc.prototype.hasIconCollisionBoxData=function(){return this.hasDebugData()&&this.iconCollisionBox.segments.get().length>0},Mc.prototype.addIndicesForPlacedSymbol=function(t,e){for(var r=t.placedSymbolArray.get(e),n=r.vertexStartIndex+4*r.numGlyphs,i=r.vertexStartIndex;i1||this.icon.segments.get().length>1)){this.symbolInstanceIndexes=this.getSortedSymbolIndexes(t),this.sortedAngle=t,this.text.indexArray.clear(),this.icon.indexArray.clear(),this.featureSortOrder=[];for(var r=0,n=this.symbolInstanceIndexes;r=0&&n.indexOf(t)===r&&e.addIndicesForPlacedSymbol(e.text,t)})),a.verticalPlacedTextSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.text,a.verticalPlacedTextSymbolIndex),a.placedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,a.placedIconSymbolIndex),a.verticalPlacedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,a.verticalPlacedIconSymbolIndex)}this.text.indexBuffer&&this.text.indexBuffer.updateData(this.text.indexArray),this.icon.indexBuffer&&this.icon.indexBuffer.updateData(this.icon.indexArray)}},Nn(\"SymbolBucket\",Mc,{omit:[\"layers\",\"collisionBoxArray\",\"features\",\"compareText\"]}),Mc.MAX_GLYPHS=65535,Mc.addDynamicAttributes=wc;var Sc=new Si({\"symbol-placement\":new wi(Lt.layout_symbol[\"symbol-placement\"]),\"symbol-spacing\":new wi(Lt.layout_symbol[\"symbol-spacing\"]),\"symbol-avoid-edges\":new wi(Lt.layout_symbol[\"symbol-avoid-edges\"]),\"symbol-sort-key\":new Ti(Lt.layout_symbol[\"symbol-sort-key\"]),\"symbol-z-order\":new wi(Lt.layout_symbol[\"symbol-z-order\"]),\"icon-allow-overlap\":new wi(Lt.layout_symbol[\"icon-allow-overlap\"]),\"icon-ignore-placement\":new wi(Lt.layout_symbol[\"icon-ignore-placement\"]),\"icon-optional\":new wi(Lt.layout_symbol[\"icon-optional\"]),\"icon-rotation-alignment\":new wi(Lt.layout_symbol[\"icon-rotation-alignment\"]),\"icon-size\":new Ti(Lt.layout_symbol[\"icon-size\"]),\"icon-text-fit\":new wi(Lt.layout_symbol[\"icon-text-fit\"]),\"icon-text-fit-padding\":new wi(Lt.layout_symbol[\"icon-text-fit-padding\"]),\"icon-image\":new Ti(Lt.layout_symbol[\"icon-image\"]),\"icon-rotate\":new Ti(Lt.layout_symbol[\"icon-rotate\"]),\"icon-padding\":new wi(Lt.layout_symbol[\"icon-padding\"]),\"icon-keep-upright\":new wi(Lt.layout_symbol[\"icon-keep-upright\"]),\"icon-offset\":new Ti(Lt.layout_symbol[\"icon-offset\"]),\"icon-anchor\":new Ti(Lt.layout_symbol[\"icon-anchor\"]),\"icon-pitch-alignment\":new wi(Lt.layout_symbol[\"icon-pitch-alignment\"]),\"text-pitch-alignment\":new wi(Lt.layout_symbol[\"text-pitch-alignment\"]),\"text-rotation-alignment\":new wi(Lt.layout_symbol[\"text-rotation-alignment\"]),\"text-field\":new Ti(Lt.layout_symbol[\"text-field\"]),\"text-font\":new Ti(Lt.layout_symbol[\"text-font\"]),\"text-size\":new Ti(Lt.layout_symbol[\"text-size\"]),\"text-max-width\":new Ti(Lt.layout_symbol[\"text-max-width\"]),\"text-line-height\":new wi(Lt.layout_symbol[\"text-line-height\"]),\"text-letter-spacing\":new Ti(Lt.layout_symbol[\"text-letter-spacing\"]),\"text-justify\":new Ti(Lt.layout_symbol[\"text-justify\"]),\"text-radial-offset\":new Ti(Lt.layout_symbol[\"text-radial-offset\"]),\"text-variable-anchor\":new wi(Lt.layout_symbol[\"text-variable-anchor\"]),\"text-anchor\":new Ti(Lt.layout_symbol[\"text-anchor\"]),\"text-max-angle\":new wi(Lt.layout_symbol[\"text-max-angle\"]),\"text-writing-mode\":new wi(Lt.layout_symbol[\"text-writing-mode\"]),\"text-rotate\":new Ti(Lt.layout_symbol[\"text-rotate\"]),\"text-padding\":new wi(Lt.layout_symbol[\"text-padding\"]),\"text-keep-upright\":new wi(Lt.layout_symbol[\"text-keep-upright\"]),\"text-transform\":new Ti(Lt.layout_symbol[\"text-transform\"]),\"text-offset\":new Ti(Lt.layout_symbol[\"text-offset\"]),\"text-allow-overlap\":new wi(Lt.layout_symbol[\"text-allow-overlap\"]),\"text-ignore-placement\":new wi(Lt.layout_symbol[\"text-ignore-placement\"]),\"text-optional\":new wi(Lt.layout_symbol[\"text-optional\"])}),Ec={paint:new Si({\"icon-opacity\":new Ti(Lt.paint_symbol[\"icon-opacity\"]),\"icon-color\":new Ti(Lt.paint_symbol[\"icon-color\"]),\"icon-halo-color\":new Ti(Lt.paint_symbol[\"icon-halo-color\"]),\"icon-halo-width\":new Ti(Lt.paint_symbol[\"icon-halo-width\"]),\"icon-halo-blur\":new Ti(Lt.paint_symbol[\"icon-halo-blur\"]),\"icon-translate\":new wi(Lt.paint_symbol[\"icon-translate\"]),\"icon-translate-anchor\":new wi(Lt.paint_symbol[\"icon-translate-anchor\"]),\"text-opacity\":new Ti(Lt.paint_symbol[\"text-opacity\"]),\"text-color\":new Ti(Lt.paint_symbol[\"text-color\"],{runtimeType:Ut,getOverride:function(t){return t.textColor},hasOverride:function(t){return!!t.textColor}}),\"text-halo-color\":new Ti(Lt.paint_symbol[\"text-halo-color\"]),\"text-halo-width\":new Ti(Lt.paint_symbol[\"text-halo-width\"]),\"text-halo-blur\":new Ti(Lt.paint_symbol[\"text-halo-blur\"]),\"text-translate\":new wi(Lt.paint_symbol[\"text-translate\"]),\"text-translate-anchor\":new wi(Lt.paint_symbol[\"text-translate-anchor\"])}),layout:Sc},Lc=function(t){this.type=t.property.overrides?t.property.overrides.runtimeType:Ft,this.defaultValue=t};Lc.prototype.evaluate=function(t){if(t.formattedSection){var e=this.defaultValue.property.overrides;if(e&&e.hasOverride(t.formattedSection))return e.getOverride(t.formattedSection)}return t.feature&&t.featureState?this.defaultValue.evaluate(t.feature,t.featureState):this.defaultValue.property.specification.default},Lc.prototype.eachChild=function(t){this.defaultValue.isConstant()||t(this.defaultValue.value._styleExpression.expression)},Lc.prototype.outputDefined=function(){return!1},Lc.prototype.serialize=function(){return null},Nn(\"FormatSectionOverride\",Lc,{omit:[\"defaultValue\"]});var Cc=function(t){function e(e){t.call(this,e,Ec)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.recalculate=function(e,r){if(t.prototype.recalculate.call(this,e,r),\"auto\"===this.layout.get(\"icon-rotation-alignment\")&&(\"point\"!==this.layout.get(\"symbol-placement\")?this.layout._values[\"icon-rotation-alignment\"]=\"map\":this.layout._values[\"icon-rotation-alignment\"]=\"viewport\"),\"auto\"===this.layout.get(\"text-rotation-alignment\")&&(\"point\"!==this.layout.get(\"symbol-placement\")?this.layout._values[\"text-rotation-alignment\"]=\"map\":this.layout._values[\"text-rotation-alignment\"]=\"viewport\"),\"auto\"===this.layout.get(\"text-pitch-alignment\")&&(this.layout._values[\"text-pitch-alignment\"]=this.layout.get(\"text-rotation-alignment\")),\"auto\"===this.layout.get(\"icon-pitch-alignment\")&&(this.layout._values[\"icon-pitch-alignment\"]=this.layout.get(\"icon-rotation-alignment\")),\"point\"===this.layout.get(\"symbol-placement\")){var n=this.layout.get(\"text-writing-mode\");if(n){for(var i=[],a=0,o=n;a\",targetMapId:n,sourceMapId:a.mapId})}}},qc.prototype.receive=function(t){var e=t.data,r=e.id;if(r&&(!e.targetMapId||this.mapId===e.targetMapId))if(\"\"===e.type){delete this.tasks[r];var n=this.cancelCallbacks[r];delete this.cancelCallbacks[r],n&&n()}else k()||e.mustQueue?(this.tasks[r]=e,this.taskQueue.push(r),this.invoker.trigger()):this.processTask(r,e)},qc.prototype.process=function(){if(this.taskQueue.length){var t=this.taskQueue.shift(),e=this.tasks[t];delete this.tasks[t],this.taskQueue.length&&this.invoker.trigger(),e&&this.processTask(t,e)}},qc.prototype.processTask=function(t,e){var r=this;if(\"\"===e.type){var n=this.callbacks[t];delete this.callbacks[t],n&&(e.error?n(qn(e.error)):n(null,qn(e.data)))}else{var i=!1,a=S(this.globalScope)?void 0:[],o=e.hasCallback?function(e,n){i=!0,delete r.cancelCallbacks[t],r.target.postMessage({id:t,type:\"\",sourceMapId:r.mapId,error:e?Hn(e):null,data:Hn(n,a)},a)}:function(t){i=!0},s=null,l=qn(e.data);if(this.parent[e.type])s=this.parent[e.type](e.sourceMapId,l,o);else if(this.parent.getWorkerSource){var c=e.type.split(\".\");s=this.parent.getWorkerSource(e.sourceMapId,c[0],l.source)[c[1]](l,o)}else o(new Error(\"Could not find function \"+e.type));!i&&s&&s.cancel&&(this.cancelCallbacks[t]=s.cancel)}},qc.prototype.remove=function(){this.invoker.remove(),this.target.removeEventListener(\"message\",this.receive,!1)};var Yc=function(t,e){t&&(e?this.setSouthWest(t).setNorthEast(e):4===t.length?this.setSouthWest([t[0],t[1]]).setNorthEast([t[2],t[3]]):this.setSouthWest(t[0]).setNorthEast(t[1]))};Yc.prototype.setNorthEast=function(t){return this._ne=t instanceof Wc?new Wc(t.lng,t.lat):Wc.convert(t),this},Yc.prototype.setSouthWest=function(t){return this._sw=t instanceof Wc?new Wc(t.lng,t.lat):Wc.convert(t),this},Yc.prototype.extend=function(t){var e,r,n=this._sw,i=this._ne;if(t instanceof Wc)e=t,r=t;else{if(!(t instanceof Yc)){if(Array.isArray(t)){if(4===t.length||t.every(Array.isArray)){var a=t;return this.extend(Yc.convert(a))}var o=t;return this.extend(Wc.convert(o))}return this}if(e=t._sw,r=t._ne,!e||!r)return this}return n||i?(n.lng=Math.min(e.lng,n.lng),n.lat=Math.min(e.lat,n.lat),i.lng=Math.max(r.lng,i.lng),i.lat=Math.max(r.lat,i.lat)):(this._sw=new Wc(e.lng,e.lat),this._ne=new Wc(r.lng,r.lat)),this},Yc.prototype.getCenter=function(){return new Wc((this._sw.lng+this._ne.lng)/2,(this._sw.lat+this._ne.lat)/2)},Yc.prototype.getSouthWest=function(){return this._sw},Yc.prototype.getNorthEast=function(){return this._ne},Yc.prototype.getNorthWest=function(){return new Wc(this.getWest(),this.getNorth())},Yc.prototype.getSouthEast=function(){return new Wc(this.getEast(),this.getSouth())},Yc.prototype.getWest=function(){return this._sw.lng},Yc.prototype.getSouth=function(){return this._sw.lat},Yc.prototype.getEast=function(){return this._ne.lng},Yc.prototype.getNorth=function(){return this._ne.lat},Yc.prototype.toArray=function(){return[this._sw.toArray(),this._ne.toArray()]},Yc.prototype.toString=function(){return\"LngLatBounds(\"+this._sw.toString()+\", \"+this._ne.toString()+\")\"},Yc.prototype.isEmpty=function(){return!(this._sw&&this._ne)},Yc.prototype.contains=function(t){var e=Wc.convert(t),r=e.lng,n=e.lat,i=this._sw.lat<=n&&n<=this._ne.lat,a=this._sw.lng<=r&&r<=this._ne.lng;return this._sw.lng>this._ne.lng&&(a=this._sw.lng>=r&&r>=this._ne.lng),i&&a},Yc.convert=function(t){return!t||t instanceof Yc?t:new Yc(t)};var Wc=function(t,e){if(isNaN(t)||isNaN(e))throw new Error(\"Invalid LngLat object: (\"+t+\", \"+e+\")\");if(this.lng=+t,this.lat=+e,this.lat>90||this.lat<-90)throw new Error(\"Invalid LngLat latitude value: must be between -90 and 90\")};Wc.prototype.wrap=function(){return new Wc(c(this.lng,-180,180),this.lat)},Wc.prototype.toArray=function(){return[this.lng,this.lat]},Wc.prototype.toString=function(){return\"LngLat(\"+this.lng+\", \"+this.lat+\")\"},Wc.prototype.distanceTo=function(t){var e=Math.PI/180,r=this.lat*e,n=t.lat*e,i=Math.sin(r)*Math.sin(n)+Math.cos(r)*Math.cos(n)*Math.cos((t.lng-this.lng)*e);return 6371008.8*Math.acos(Math.min(i,1))},Wc.prototype.toBounds=function(t){void 0===t&&(t=0);var e=360*t/40075017,r=e/Math.cos(Math.PI/180*this.lat);return new Yc(new Wc(this.lng-r,this.lat-e),new Wc(this.lng+r,this.lat+e))},Wc.convert=function(t){if(t instanceof Wc)return t;if(Array.isArray(t)&&(2===t.length||3===t.length))return new Wc(Number(t[0]),Number(t[1]));if(!Array.isArray(t)&&\"object\"==typeof t&&null!==t)return new Wc(Number(\"lng\"in t?t.lng:t.lon),Number(t.lat));throw new Error(\"`LngLatLike` argument must be specified as a LngLat instance, an object {lng: , lat: }, an object {lon: , lat: }, or an array of [, ]\")};var Zc=2*Math.PI*6371008.8;function Xc(t){return Zc*Math.cos(t*Math.PI/180)}function Jc(t){return(180+t)/360}function Kc(t){return(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+t*Math.PI/360)))/360}function Qc(t,e){return t/Xc(e)}function $c(t){var e=180-360*t;return 360/Math.PI*Math.atan(Math.exp(e*Math.PI/180))-90}var tu=function(t,e,r){void 0===r&&(r=0),this.x=+t,this.y=+e,this.z=+r};tu.fromLngLat=function(t,e){void 0===e&&(e=0);var r=Wc.convert(t);return new tu(Jc(r.lng),Kc(r.lat),Qc(e,r.lat))},tu.prototype.toLngLat=function(){return new Wc(360*this.x-180,$c(this.y))},tu.prototype.toAltitude=function(){return t=this.z,e=this.y,t*Xc($c(e));var t,e},tu.prototype.meterInMercatorCoordinateUnits=function(){return 1/Zc*(t=$c(this.y),1/Math.cos(t*Math.PI/180));var t};var eu=function(t,e,r){this.z=t,this.x=e,this.y=r,this.key=iu(0,t,t,e,r)};eu.prototype.equals=function(t){return this.z===t.z&&this.x===t.x&&this.y===t.y},eu.prototype.url=function(t,e){var r,n,i,a,o,s=(r=this.x,n=this.y,i=this.z,a=Gc(256*r,256*(n=Math.pow(2,i)-n-1),i),o=Gc(256*(r+1),256*(n+1),i),a[0]+\",\"+a[1]+\",\"+o[0]+\",\"+o[1]),l=function(t,e,r){for(var n,i=\"\",a=t;a>0;a--)i+=(e&(n=1<this.canonical.z?new nu(t,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y):new nu(t,this.wrap,t,this.canonical.x>>e,this.canonical.y>>e)},nu.prototype.calculateScaledKey=function(t,e){var r=this.canonical.z-t;return t>this.canonical.z?iu(this.wrap*+e,t,this.canonical.z,this.canonical.x,this.canonical.y):iu(this.wrap*+e,t,t,this.canonical.x>>r,this.canonical.y>>r)},nu.prototype.isChildOf=function(t){if(t.wrap!==this.wrap)return!1;var e=this.canonical.z-t.canonical.z;return 0===t.overscaledZ||t.overscaledZ>e&&t.canonical.y===this.canonical.y>>e},nu.prototype.children=function(t){if(this.overscaledZ>=t)return[new nu(this.overscaledZ+1,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)];var e=this.canonical.z+1,r=2*this.canonical.x,n=2*this.canonical.y;return[new nu(e,this.wrap,e,r,n),new nu(e,this.wrap,e,r+1,n),new nu(e,this.wrap,e,r,n+1),new nu(e,this.wrap,e,r+1,n+1)]},nu.prototype.isLessThan=function(t){return this.wrapt.wrap)&&(this.overscaledZt.overscaledZ)&&(this.canonical.xt.canonical.x)&&this.canonical.y=this.dim+1||e<-1||e>=this.dim+1)throw new RangeError(\"out of range source coordinates for DEM data\");return(e+1)*this.stride+(t+1)},au.prototype._unpackMapbox=function(t,e,r){return(256*t*256+256*e+r)/10-1e4},au.prototype._unpackTerrarium=function(t,e,r){return 256*t+e+r/256-32768},au.prototype.getPixels=function(){return new Eo({width:this.stride,height:this.stride},new Uint8Array(this.data.buffer))},au.prototype.backfillBorder=function(t,e,r){if(this.dim!==t.dim)throw new Error(\"dem dimension mismatch\");var n=e*this.dim,i=e*this.dim+this.dim,a=r*this.dim,o=r*this.dim+this.dim;switch(e){case-1:n=i-1;break;case 1:i=n+1}switch(r){case-1:a=o-1;break;case 1:o=a+1}for(var s=-e*this.dim,l=-r*this.dim,c=a;c=0&&u[3]>=0&&s.insert(o,u[0],u[1],u[2],u[3])}},uu.prototype.loadVTLayers=function(){return this.vtLayers||(this.vtLayers=new Ls.VectorTile(new al(this.rawTileData)).layers,this.sourceLayerCoder=new ou(this.vtLayers?Object.keys(this.vtLayers).sort():[\"_geojsonTileLayer\"])),this.vtLayers},uu.prototype.query=function(t,e,r,n){var a=this;this.loadVTLayers();for(var o=t.params||{},s=8192/t.tileSize/t.scale,l=sn(o.filter),c=t.queryGeometry,u=t.queryPadding*s,f=hu(c),h=this.grid.query(f.minX-u,f.minY-u,f.maxX+u,f.maxY+u),p=hu(t.cameraQueryGeometry),d=this.grid3D.query(p.minX-u,p.minY-u,p.maxX+u,p.maxY+u,(function(e,r,n,a){return function(t,e,r,n,a){for(var o=0,s=t;o=l.x&&a>=l.y)return!0}var c=[new i(e,r),new i(e,a),new i(n,a),new i(n,r)];if(t.length>2)for(var u=0,f=c;u=0)return!0;return!1}(a,f)){var h=this.sourceLayerCoder.decode(r),p=this.vtLayers[h].feature(n);if(i.filter(new pi(this.tileID.overscaledZ),p))for(var d=this.getId(p,h),m=0;mn)i=!1;else if(e)if(this.expirationTimeot&&(t.getActor().send(\"enforceCacheSizeLimit\",at),ht=0)},t.clamp=l,t.clearTileCache=function(t){var e=self.caches.delete(\"mapbox-tiles\");t&&e.catch(t).then((function(){return t()}))},t.clipLine=ec,t.clone=function(t){var e=new fo(16);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e},t.clone$1=x,t.clone$2=function(t){var e=new fo(3);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e},t.collisionCircleLayout=tl,t.config=F,t.create=function(){var t=new fo(16);return fo!=Float32Array&&(t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[11]=0,t[12]=0,t[13]=0,t[14]=0),t[0]=1,t[5]=1,t[10]=1,t[15]=1,t},t.create$1=function(){var t=new fo(9);return fo!=Float32Array&&(t[1]=0,t[2]=0,t[3]=0,t[5]=0,t[6]=0,t[7]=0),t[0]=1,t[4]=1,t[8]=1,t},t.create$2=function(){var t=new fo(4);return fo!=Float32Array&&(t[1]=0,t[2]=0),t[0]=1,t[3]=1,t},t.createCommonjsModule=e,t.createExpression=Wr,t.createLayout=Ii,t.createStyleLayer=function(t){return\"custom\"===t.type?new Dc(t):new Rc[t.type](t)},t.cross=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=r[0],s=r[1],l=r[2];return t[0]=i*l-a*s,t[1]=a*o-n*l,t[2]=n*s-i*o,t},t.deepEqual=function t(e,r){if(Array.isArray(e)){if(!Array.isArray(r)||e.length!==r.length)return!1;for(var n=0;n0&&(a=1/Math.sqrt(a)),t[0]=e[0]*a,t[1]=e[1]*a,t[2]=e[2]*a,t},t.number=qe,t.offscreenCanvasSupported=pt,t.ortho=function(t,e,r,n,i,a,o){var s=1/(e-r),l=1/(n-i),c=1/(a-o);return t[0]=-2*s,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=-2*l,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=2*c,t[11]=0,t[12]=(e+r)*s,t[13]=(i+n)*l,t[14]=(o+a)*c,t[15]=1,t},t.parseGlyphPBF=function(t){return new al(t).readFields(Tl,[])},t.pbf=al,t.performSymbolLayout=function(t,e,r,n,i,a,o){t.createArrays();var s=512*t.overscaling;t.tilePixelRatio=8192/s,t.compareText={},t.iconsNeedLinear=!1;var l=t.layers[0].layout,c=t.layers[0]._unevaluatedLayout._values,u={};if(\"composite\"===t.textSizeData.kind){var f=t.textSizeData,h=f.minZoom,p=f.maxZoom;u.compositeTextSizes=[c[\"text-size\"].possiblyEvaluate(new pi(h),o),c[\"text-size\"].possiblyEvaluate(new pi(p),o)]}if(\"composite\"===t.iconSizeData.kind){var d=t.iconSizeData,m=d.minZoom,g=d.maxZoom;u.compositeIconSizes=[c[\"icon-size\"].possiblyEvaluate(new pi(m),o),c[\"icon-size\"].possiblyEvaluate(new pi(g),o)]}u.layoutTextSize=c[\"text-size\"].possiblyEvaluate(new pi(t.zoom+1),o),u.layoutIconSize=c[\"icon-size\"].possiblyEvaluate(new pi(t.zoom+1),o),u.textMaxSize=c[\"text-size\"].possiblyEvaluate(new pi(18));for(var v=24*l.get(\"text-line-height\"),y=\"map\"===l.get(\"text-rotation-alignment\")&&\"point\"!==l.get(\"symbol-placement\"),x=l.get(\"text-keep-upright\"),b=l.get(\"text-size\"),w=function(){var a=k[T],s=l.get(\"text-font\").evaluate(a,{},o).join(\",\"),c=b.evaluate(a,{},o),f=u.layoutTextSize.evaluate(a,{},o),h=u.layoutIconSize.evaluate(a,{},o),p={horizontal:{},vertical:void 0},d=a.text,m=[0,0];if(d){var g=d.toString(),w=24*l.get(\"text-letter-spacing\").evaluate(a,{},o),A=function(t){for(var e=0,r=t;e=8192||f.y<0||f.y>=8192||function(t,e,r,n,i,a,o,s,l,c,u,f,h,p,d,m,g,v,y,x,b,w,T,k,A){var M,S,E,L,C,P=t.addToLineVertexArray(e,r),I=0,O=0,z=0,D=0,R=-1,F=-1,B={},N=ya(\"\"),j=0,U=0;void 0===s._unevaluatedLayout.getValue(\"text-radial-offset\")?(M=s.layout.get(\"text-offset\").evaluate(b,{},k).map((function(t){return 24*t})),j=M[0],U=M[1]):(j=24*s.layout.get(\"text-radial-offset\").evaluate(b,{},k),U=pc);if(t.allowVerticalPlacement&&n.vertical){var V=s.layout.get(\"text-rotate\").evaluate(b,{},k)+90,H=n.vertical;L=new sc(l,e,c,u,f,H,h,p,d,V),o&&(C=new sc(l,e,c,u,f,o,g,v,d,V))}if(i){var q=s.layout.get(\"icon-rotate\").evaluate(b,{}),G=\"none\"!==s.layout.get(\"icon-text-fit\"),Y=rc(i,q,T,G),W=o?rc(o,q,T,G):void 0;E=new sc(l,e,c,u,f,i,g,v,!1,q),I=4*Y.length;var Z=t.iconSizeData,X=null;\"source\"===Z.kind?(X=[128*s.layout.get(\"icon-size\").evaluate(b,{})])[0]>32640&&_(t.layerIds[0]+': Value for \"icon-size\" is >= 255. Reduce your \"icon-size\".'):\"composite\"===Z.kind&&((X=[128*w.compositeIconSizes[0].evaluate(b,{},k),128*w.compositeIconSizes[1].evaluate(b,{},k)])[0]>32640||X[1]>32640)&&_(t.layerIds[0]+': Value for \"icon-size\" is >= 255. Reduce your \"icon-size\".'),t.addSymbols(t.icon,Y,X,x,y,b,!1,e,P.lineStartIndex,P.lineLength,-1,k),R=t.icon.placedSymbolArray.length-1,W&&(O=4*W.length,t.addSymbols(t.icon,W,X,x,y,b,Cl.vertical,e,P.lineStartIndex,P.lineLength,-1,k),F=t.icon.placedSymbolArray.length-1)}for(var J in n.horizontal){var K=n.horizontal[J];if(!S){N=ya(K.text);var Q=s.layout.get(\"text-rotate\").evaluate(b,{},k);S=new sc(l,e,c,u,f,K,h,p,d,Q)}var $=1===K.positionedLines.length;if(z+=gc(t,e,K,a,s,d,b,m,P,n.vertical?Cl.horizontal:Cl.horizontalOnly,$?Object.keys(n.horizontal):[J],B,R,w,k),$)break}n.vertical&&(D+=gc(t,e,n.vertical,a,s,d,b,m,P,Cl.vertical,[\"vertical\"],B,F,w,k));var tt=S?S.boxStartIndex:t.collisionBoxArray.length,et=S?S.boxEndIndex:t.collisionBoxArray.length,rt=L?L.boxStartIndex:t.collisionBoxArray.length,nt=L?L.boxEndIndex:t.collisionBoxArray.length,it=E?E.boxStartIndex:t.collisionBoxArray.length,at=E?E.boxEndIndex:t.collisionBoxArray.length,ot=C?C.boxStartIndex:t.collisionBoxArray.length,st=C?C.boxEndIndex:t.collisionBoxArray.length,lt=-1,ct=function(t,e){return t&&t.circleDiameter?Math.max(t.circleDiameter,e):e};lt=ct(S,lt),lt=ct(L,lt),lt=ct(E,lt);var ut=(lt=ct(C,lt))>-1?1:0;ut&&(lt*=A/24);t.glyphOffsetArray.length>=Mc.MAX_GLYPHS&&_(\"Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907\");void 0!==b.sortKey&&t.addToSortKeyRanges(t.symbolInstances.length,b.sortKey);t.symbolInstances.emplaceBack(e.x,e.y,B.right>=0?B.right:-1,B.center>=0?B.center:-1,B.left>=0?B.left:-1,B.vertical||-1,R,F,N,tt,et,rt,nt,it,at,ot,st,c,z,D,I,O,ut,0,h,j,U,lt)}(t,f,s,r,n,i,h,t.layers[0],t.collisionBoxArray,e.index,e.sourceLayerIndex,t.index,v,w,A,l,x,T,M,d,e,a,c,u,o)};if(\"line\"===S)for(var P=0,I=ec(e.geometry,0,0,8192,8192);P1){var V=$l(U,k,r.vertical||m,n,24,y);V&&C(U,V)}}else if(\"Polygon\"===e.type)for(var H=0,q=hs(e.geometry,0);H=E.maxzoom))if(\"none\"!==E.visibility)o(S,this.zoom,n),(m[E.id]=E.createBucket({index:u.bucketLayerIDs.length,layers:S,zoom:this.zoom,pixelRatio:this.pixelRatio,overscaling:this.overscaling,collisionBoxArray:this.collisionBoxArray,sourceLayerIndex:b,sourceID:this.source})).populate(_,g,this.tileID.canonical),u.bucketLayerIDs.push(S.map((function(t){return t.id})))}}}var L=t.mapObject(g.glyphDependencies,(function(t){return Object.keys(t).map(Number)}));Object.keys(L).length?a.send(\"getGlyphs\",{uid:this.uid,stacks:L},(function(t,e){f||(f=t,h=e,I.call(l))})):h={};var C=Object.keys(g.iconDependencies);C.length?a.send(\"getImages\",{icons:C,source:this.source,tileID:this.tileID,type:\"icons\"},(function(t,e){f||(f=t,p=e,I.call(l))})):p={};var P=Object.keys(g.patternDependencies);function I(){if(f)return s(f);if(h&&p&&d){var e=new i(h),r=new t.ImageAtlas(p,d);for(var a in m){var l=m[a];l instanceof t.SymbolBucket?(o(l.layers,this.zoom,n),t.performSymbolLayout(l,h,e.positions,p,r.iconPositions,this.showCollisionBoxes,this.tileID.canonical)):l.hasPattern&&(l instanceof t.LineBucket||l instanceof t.FillBucket||l instanceof t.FillExtrusionBucket)&&(o(l.layers,this.zoom,n),l.addFeatures(g,this.tileID.canonical,r.patternPositions))}this.status=\"done\",s(null,{buckets:t.values(m).filter((function(t){return!t.isEmpty()})),featureIndex:u,collisionBoxArray:this.collisionBoxArray,glyphAtlasImage:e.image,imageAtlas:r,glyphMap:this.returnDependencies?h:null,iconMap:this.returnDependencies?p:null,glyphPositions:this.returnDependencies?e.positions:null})}}P.length?a.send(\"getImages\",{icons:P,source:this.source,tileID:this.tileID,type:\"patterns\"},(function(t,e){f||(f=t,d=e,I.call(l))})):d={},I.call(this)};var l=function(t,e,r,n){this.actor=t,this.layerIndex=e,this.availableImages=r,this.loadVectorData=n||s,this.loading={},this.loaded={}};l.prototype.loadTile=function(e,r){var n=this,i=e.uid;this.loading||(this.loading={});var o=!!(e&&e.request&&e.request.collectResourceTiming)&&new t.RequestPerformance(e.request),s=this.loading[i]=new a(e);s.abort=this.loadVectorData(e,(function(e,a){if(delete n.loading[i],e||!a)return s.status=\"done\",n.loaded[i]=s,r(e);var l=a.rawData,c={};a.expires&&(c.expires=a.expires),a.cacheControl&&(c.cacheControl=a.cacheControl);var u={};if(o){var f=o.finish();f&&(u.resourceTiming=JSON.parse(JSON.stringify(f)))}s.vectorTile=a.vectorTile,s.parse(a.vectorTile,n.layerIndex,n.availableImages,n.actor,(function(e,n){if(e||!n)return r(e);r(null,t.extend({rawTileData:l.slice(0)},n,c,u))})),n.loaded=n.loaded||{},n.loaded[i]=s}))},l.prototype.reloadTile=function(t,e){var r=this,n=this.loaded,i=t.uid,a=this;if(n&&n[i]){var o=n[i];o.showCollisionBoxes=t.showCollisionBoxes;var s=function(t,n){var i=o.reloadCallback;i&&(delete o.reloadCallback,o.parse(o.vectorTile,a.layerIndex,r.availableImages,a.actor,i)),e(t,n)};\"parsing\"===o.status?o.reloadCallback=s:\"done\"===o.status&&(o.vectorTile?o.parse(o.vectorTile,this.layerIndex,this.availableImages,this.actor,s):s())}},l.prototype.abortTile=function(t,e){var r=this.loading,n=t.uid;r&&r[n]&&r[n].abort&&(r[n].abort(),delete r[n]),e()},l.prototype.removeTile=function(t,e){var r=this.loaded,n=t.uid;r&&r[n]&&delete r[n],e()};var c=t.window.ImageBitmap,u=function(){this.loaded={}};u.prototype.loadTile=function(e,r){var n=e.uid,i=e.encoding,a=e.rawImageData,o=c&&a instanceof c?this.getImageData(a):a,s=new t.DEMData(n,o,i);this.loaded=this.loaded||{},this.loaded[n]=s,r(null,s)},u.prototype.getImageData=function(e){this.offscreenCanvas&&this.offscreenCanvasContext||(this.offscreenCanvas=new OffscreenCanvas(e.width,e.height),this.offscreenCanvasContext=this.offscreenCanvas.getContext(\"2d\")),this.offscreenCanvas.width=e.width,this.offscreenCanvas.height=e.height,this.offscreenCanvasContext.drawImage(e,0,0,e.width,e.height);var r=this.offscreenCanvasContext.getImageData(-1,-1,e.width+2,e.height+2);return this.offscreenCanvasContext.clearRect(0,0,this.offscreenCanvas.width,this.offscreenCanvas.height),new t.RGBAImage({width:r.width,height:r.height},r.data)},u.prototype.removeTile=function(t){var e=this.loaded,r=t.uid;e&&e[r]&&delete e[r]};var f=function t(e,r){var n,i=e&&e.type;if(\"FeatureCollection\"===i)for(n=0;n=0!=!!e&&t.reverse()}var d=t.vectorTile.VectorTileFeature.prototype.toGeoJSON,m=function(e){this._feature=e,this.extent=t.EXTENT,this.type=e.type,this.properties=e.tags,\"id\"in e&&!isNaN(e.id)&&(this.id=parseInt(e.id,10))};m.prototype.loadGeometry=function(){if(1===this._feature.type){for(var e=[],r=0,n=this._feature.geometry;r>31}function P(t,e){for(var r=t.loadGeometry(),n=t.type,i=0,a=0,o=r.length,s=0;s>1;!function t(e,r,n,i,a,o){for(;a>i;){if(a-i>600){var s=a-i+1,l=n-i+1,c=Math.log(s),u=.5*Math.exp(2*c/3),f=.5*Math.sqrt(c*u*(s-u)/s)*(l-s/2<0?-1:1),h=Math.max(i,Math.floor(n-l*u/s+f)),p=Math.min(a,Math.floor(n+(s-l)*u/s+f));t(e,r,n,h,p,o)}var d=r[2*n+o],m=i,g=a;for(z(e,r,i,n),r[2*a+o]>d&&z(e,r,i,a);md;)g--}r[2*i+o]===d?z(e,r,i,g):(g++,z(e,r,g,a)),g<=n&&(i=g+1),n<=g&&(a=g-1)}}(t,e,o,n,i,a%2),O(t,e,r,n,o-1,a+1),O(t,e,r,o+1,i,a+1)}}function z(t,e,r,n){D(t,r,n),D(e,2*r,2*n),D(e,2*r+1,2*n+1)}function D(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function R(t,e,r,n){var i=t-r,a=e-n;return i*i+a*a}_.fromVectorTileJs=w,_.fromGeojsonVt=T,_.GeoJSONWrapper=k;var F=function(t){return t[0]},B=function(t){return t[1]},N=function(t,e,r,n,i){void 0===e&&(e=F),void 0===r&&(r=B),void 0===n&&(n=64),void 0===i&&(i=Float64Array),this.nodeSize=n,this.points=t;for(var a=t.length<65536?Uint16Array:Uint32Array,o=this.ids=new a(t.length),s=this.coords=new i(2*t.length),l=0;l=r&&s<=i&&l>=n&&l<=a&&u.push(t[d]);else{var m=Math.floor((p+h)/2);s=e[2*m],l=e[2*m+1],s>=r&&s<=i&&l>=n&&l<=a&&u.push(t[m]);var g=(f+1)%2;(0===f?r<=s:n<=l)&&(c.push(p),c.push(m-1),c.push(g)),(0===f?i>=s:a>=l)&&(c.push(m+1),c.push(h),c.push(g))}}return u}(this.ids,this.coords,t,e,r,n,this.nodeSize)},N.prototype.within=function(t,e,r){return function(t,e,r,n,i,a){for(var o=[0,t.length-1,0],s=[],l=i*i;o.length;){var c=o.pop(),u=o.pop(),f=o.pop();if(u-f<=a)for(var h=f;h<=u;h++)R(e[2*h],e[2*h+1],r,n)<=l&&s.push(t[h]);else{var p=Math.floor((f+u)/2),d=e[2*p],m=e[2*p+1];R(d,m,r,n)<=l&&s.push(t[p]);var g=(c+1)%2;(0===c?r-i<=d:n-i<=m)&&(o.push(f),o.push(p-1),o.push(g)),(0===c?r+i>=d:n+i>=m)&&(o.push(p+1),o.push(u),o.push(g))}}return s}(this.ids,this.coords,t,e,r,this.nodeSize)};var j={minZoom:0,maxZoom:16,radius:40,extent:512,nodeSize:64,log:!1,generateId:!1,reduce:null,map:function(t){return t}},U=function(t){this.options=Z(Object.create(j),t),this.trees=new Array(this.options.maxZoom+1)};function V(t,e,r,n,i){return{x:t,y:e,zoom:1/0,id:r,parentId:-1,numPoints:n,properties:i}}function H(t,e){var r=t.geometry.coordinates,n=r[0],i=r[1];return{x:Y(n),y:W(i),zoom:1/0,index:e,parentId:-1}}function q(t){return{type:\"Feature\",id:t.id,properties:G(t),geometry:{type:\"Point\",coordinates:[(n=t.x,360*(n-.5)),(e=t.y,r=(180-360*e)*Math.PI/180,360*Math.atan(Math.exp(r))/Math.PI-90)]}};var e,r,n}function G(t){var e=t.numPoints,r=e>=1e4?Math.round(e/1e3)+\"k\":e>=1e3?Math.round(e/100)/10+\"k\":e;return Z(Z({},t.properties),{cluster:!0,cluster_id:t.id,point_count:e,point_count_abbreviated:r})}function Y(t){return t/360+.5}function W(t){var e=Math.sin(t*Math.PI/180),r=.5-.25*Math.log((1+e)/(1-e))/Math.PI;return r<0?0:r>1?1:r}function Z(t,e){for(var r in e)t[r]=e[r];return t}function X(t){return t.x}function J(t){return t.y}function K(t,e,r,n,i,a){var o=i-r,s=a-n;if(0!==o||0!==s){var l=((t-r)*o+(e-n)*s)/(o*o+s*s);l>1?(r=i,n=a):l>0&&(r+=o*l,n+=s*l)}return(o=t-r)*o+(s=e-n)*s}function Q(t,e,r,n){var i={id:void 0===t?null:t,type:e,geometry:r,tags:n,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0};return function(t){var e=t.geometry,r=t.type;if(\"Point\"===r||\"MultiPoint\"===r||\"LineString\"===r)$(t,e);else if(\"Polygon\"===r||\"MultiLineString\"===r)for(var n=0;n0&&(o+=n?(i*c-l*a)/2:Math.sqrt(Math.pow(l-i,2)+Math.pow(c-a,2))),i=l,a=c}var u=e.length-3;e[2]=1,function t(e,r,n,i){for(var a,o=i,s=n-r>>1,l=n-r,c=e[r],u=e[r+1],f=e[n],h=e[n+1],p=r+3;po)a=p,o=d;else if(d===o){var m=Math.abs(p-s);mi&&(a-r>3&&t(e,r,a,i),e[a+2]=o,n-a>3&&t(e,a,n,i))}(e,0,u,r),e[u+2]=1,e.size=Math.abs(o),e.start=0,e.end=e.size}function nt(t,e,r,n){for(var i=0;i1?1:r}function ot(t,e,r,n,i,a,o,s){if(n/=e,a>=(r/=e)&&o=n)return null;for(var l=[],c=0;c=r&&d=n)){var m=[];if(\"Point\"===h||\"MultiPoint\"===h)st(f,m,r,n,i);else if(\"LineString\"===h)lt(f,m,r,n,i,!1,s.lineMetrics);else if(\"MultiLineString\"===h)ut(f,m,r,n,i,!1);else if(\"Polygon\"===h)ut(f,m,r,n,i,!0);else if(\"MultiPolygon\"===h)for(var g=0;g=r&&o<=n&&(e.push(t[a]),e.push(t[a+1]),e.push(t[a+2]))}}function lt(t,e,r,n,i,a,o){for(var s,l,c=ct(t),u=0===i?ht:pt,f=t.start,h=0;hr&&(l=u(c,p,d,g,v,r),o&&(c.start=f+s*l)):y>n?x=r&&(l=u(c,p,d,g,v,r),b=!0),x>n&&y<=n&&(l=u(c,p,d,g,v,n),b=!0),!a&&b&&(o&&(c.end=f+s*l),e.push(c),c=ct(t)),o&&(f+=s)}var _=t.length-3;p=t[_],d=t[_+1],m=t[_+2],(y=0===i?p:d)>=r&&y<=n&&ft(c,p,d,m),_=c.length-3,a&&_>=3&&(c[_]!==c[0]||c[_+1]!==c[1])&&ft(c,c[0],c[1],c[2]),c.length&&e.push(c)}function ct(t){var e=[];return e.size=t.size,e.start=t.start,e.end=t.end,e}function ut(t,e,r,n,i,a){for(var o=0;oo.maxX&&(o.maxX=u),f>o.maxY&&(o.maxY=f)}return o}function xt(t,e,r,n){var i=e.geometry,a=e.type,o=[];if(\"Point\"===a||\"MultiPoint\"===a)for(var s=0;s0&&e.size<(i?o:n))r.numPoints+=e.length/3;else{for(var s=[],l=0;lo)&&(r.numSimplified++,s.push(e[l]),s.push(e[l+1])),r.numPoints++;i&&function(t,e){for(var r=0,n=0,i=t.length,a=i-2;n0===e)for(n=0,i=t.length;n24)throw new Error(\"maxZoom should be in the 0-24 range\");if(e.promoteId&&e.generateId)throw new Error(\"promoteId and generateId cannot be used together.\");var n=function(t,e){var r=[];if(\"FeatureCollection\"===t.type)for(var n=0;n=n;c--){var u=+Date.now();s=this._cluster(s,c),this.trees[c]=new N(s,X,J,a,Float32Array),r&&console.log(\"z%d: %d clusters in %dms\",c,s.length,+Date.now()-u)}return r&&console.timeEnd(\"total time\"),this},U.prototype.getClusters=function(t,e){var r=((t[0]+180)%360+360)%360-180,n=Math.max(-90,Math.min(90,t[1])),i=180===t[2]?180:((t[2]+180)%360+360)%360-180,a=Math.max(-90,Math.min(90,t[3]));if(t[2]-t[0]>=360)r=-180,i=180;else if(r>i){var o=this.getClusters([r,n,180,a],e),s=this.getClusters([-180,n,i,a],e);return o.concat(s)}for(var l=this.trees[this._limitZoom(e)],c=[],u=0,f=l.range(Y(r),W(a),Y(i),W(n));u1?this._map(c,!0):null,g=(l<<5)+(e+1)+this.points.length,v=0,y=f;v>5},U.prototype._getOriginZoom=function(t){return(t-this.points.length)%32},U.prototype._map=function(t,e){if(t.numPoints)return e?Z({},t.properties):t.properties;var r=this.points[t.index].properties,n=this.options.map(r);return e&&n===r?Z({},n):n},_t.prototype.options={maxZoom:14,indexMaxZoom:5,indexMaxPoints:1e5,tolerance:3,extent:4096,buffer:64,lineMetrics:!1,promoteId:null,generateId:!1,debug:0},_t.prototype.splitTile=function(t,e,r,n,i,a,o){for(var s=[t,e,r,n],l=this.options,c=l.debug;s.length;){n=s.pop(),r=s.pop(),e=s.pop(),t=s.pop();var u=1<1&&console.time(\"creation\"),h=this.tiles[f]=yt(t,e,r,n,l),this.tileCoords.push({z:e,x:r,y:n}),c)){c>1&&(console.log(\"tile z%d-%d-%d (features: %d, points: %d, simplified: %d)\",e,r,n,h.numFeatures,h.numPoints,h.numSimplified),console.timeEnd(\"creation\"));var p=\"z\"+e;this.stats[p]=(this.stats[p]||0)+1,this.total++}if(h.source=t,i){if(e===l.maxZoom||e===i)continue;var d=1<1&&console.time(\"clipping\");var m,g,v,y,x,b,_=.5*l.buffer/l.extent,w=.5-_,T=.5+_,k=1+_;m=g=v=y=null,x=ot(t,u,r-_,r+T,0,h.minX,h.maxX,l),b=ot(t,u,r+w,r+k,0,h.minX,h.maxX,l),t=null,x&&(m=ot(x,u,n-_,n+T,1,h.minY,h.maxY,l),g=ot(x,u,n+w,n+k,1,h.minY,h.maxY,l),x=null),b&&(v=ot(b,u,n-_,n+T,1,h.minY,h.maxY,l),y=ot(b,u,n+w,n+k,1,h.minY,h.maxY,l),b=null),c>1&&console.timeEnd(\"clipping\"),s.push(m||[],e+1,2*r,2*n),s.push(g||[],e+1,2*r,2*n+1),s.push(v||[],e+1,2*r+1,2*n),s.push(y||[],e+1,2*r+1,2*n+1)}}},_t.prototype.getTile=function(t,e,r){var n=this.options,i=n.extent,a=n.debug;if(t<0||t>24)return null;var o=1<1&&console.log(\"drilling down to z%d-%d-%d\",t,e,r);for(var l,c=t,u=e,f=r;!l&&c>0;)c--,u=Math.floor(u/2),f=Math.floor(f/2),l=this.tiles[wt(c,u,f)];return l&&l.source?(a>1&&console.log(\"found parent tile z%d-%d-%d\",c,u,f),a>1&&console.time(\"drilling down\"),this.splitTile(l.source,c,u,f,t,e,r),a>1&&console.timeEnd(\"drilling down\"),this.tiles[s]?gt(this.tiles[s],i):null):null};var kt=function(e){function r(t,r,n,i){e.call(this,t,r,n,Tt),i&&(this.loadGeoJSON=i)}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.loadData=function(t,e){this._pendingCallback&&this._pendingCallback(null,{abandoned:!0}),this._pendingCallback=e,this._pendingLoadDataParams=t,this._state&&\"Idle\"!==this._state?this._state=\"NeedsLoadData\":(this._state=\"Coalescing\",this._loadData())},r.prototype._loadData=function(){var e=this;if(this._pendingCallback&&this._pendingLoadDataParams){var r=this._pendingCallback,n=this._pendingLoadDataParams;delete this._pendingCallback,delete this._pendingLoadDataParams;var i=!!(n&&n.request&&n.request.collectResourceTiming)&&new t.RequestPerformance(n.request);this.loadGeoJSON(n,(function(a,o){if(a||!o)return r(a);if(\"object\"!=typeof o)return r(new Error(\"Input data given to '\"+n.source+\"' is not a valid GeoJSON object.\"));f(o,!0);try{e._geoJSONIndex=n.cluster?new U(function(e){var r=e.superclusterOptions,n=e.clusterProperties;if(!n||!r)return r;for(var i={},a={},o={accumulated:null,zoom:0},s={properties:null},l=Object.keys(n),c=0,u=l;c=0?0:e.button},r.remove=function(t){t.parentNode&&t.parentNode.removeChild(t)};var h=function(e){function r(){e.call(this),this.images={},this.updatedImages={},this.callbackDispatchedThisFrame={},this.loaded=!1,this.requestors=[],this.patterns={},this.atlasImage=new t.RGBAImage({width:1,height:1}),this.dirty=!0}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.isLoaded=function(){return this.loaded},r.prototype.setLoaded=function(t){if(this.loaded!==t&&(this.loaded=t,t)){for(var e=0,r=this.requestors;e=0?1.2:1))}function v(t,e,r,n,i,a,o){for(var s=0;s65535)e(new Error(\"glyphs > 65535 not supported\"));else if(a.ranges[s])e(null,{stack:r,id:i,glyph:o});else{var l=a.requests[s];l||(l=a.requests[s]=[],x.loadGlyphRange(r,s,n.url,n.requestManager,(function(t,e){if(e){for(var r in e)n._doesCharSupportLocalGlyph(+r)||(a.glyphs[+r]=e[+r]);a.ranges[s]=!0}for(var i=0,o=l;i1&&(l=t[++s]);var u=Math.abs(c-l.left),f=Math.abs(c-l.right),h=Math.min(u,f),p=void 0,d=i/r*(n+1);if(l.isDash){var m=n-Math.abs(d);p=Math.sqrt(h*h+m*m)}else p=n-Math.sqrt(h*h+d*d);this.data[o+c]=Math.max(0,Math.min(255,p+128))}},T.prototype.addRegularDash=function(t){for(var e=t.length-1;e>=0;--e){var r=t[e],n=t[e+1];r.zeroLength?t.splice(e,1):n&&n.isDash===r.isDash&&(n.left=r.left,t.splice(e,1))}var i=t[0],a=t[t.length-1];i.isDash===a.isDash&&(i.left=a.left-this.width,a.right=i.right+this.width);for(var o=this.width*this.nextRow,s=0,l=t[s],c=0;c1&&(l=t[++s]);var u=Math.abs(c-l.left),f=Math.abs(c-l.right),h=Math.min(u,f),p=l.isDash?h:-h;this.data[o+c]=Math.max(0,Math.min(255,p+128))}},T.prototype.addDash=function(e,r){var n=r?7:0,i=2*n+1;if(this.nextRow+i>this.height)return t.warnOnce(\"LineAtlas out of space\"),null;for(var a=0,o=0;o=n&&e.x=i&&e.y0&&(l[new t.OverscaledTileID(e.overscaledZ,a,r.z,i,r.y-1).key]={backfilled:!1},l[new t.OverscaledTileID(e.overscaledZ,e.wrap,r.z,r.x,r.y-1).key]={backfilled:!1},l[new t.OverscaledTileID(e.overscaledZ,s,r.z,o,r.y-1).key]={backfilled:!1}),r.y+10&&(n.resourceTiming=e._resourceTiming,e._resourceTiming=[]),e.fire(new t.Event(\"data\",n))}}))},r.prototype.onAdd=function(t){this.map=t,this.load()},r.prototype.setData=function(e){var r=this;return this._data=e,this.fire(new t.Event(\"dataloading\",{dataType:\"source\"})),this._updateWorkerData((function(e){if(e)r.fire(new t.ErrorEvent(e));else{var n={dataType:\"source\",sourceDataType:\"content\"};r._collectResourceTiming&&r._resourceTiming&&r._resourceTiming.length>0&&(n.resourceTiming=r._resourceTiming,r._resourceTiming=[]),r.fire(new t.Event(\"data\",n))}})),this},r.prototype.getClusterExpansionZoom=function(t,e){return this.actor.send(\"geojson.getClusterExpansionZoom\",{clusterId:t,source:this.id},e),this},r.prototype.getClusterChildren=function(t,e){return this.actor.send(\"geojson.getClusterChildren\",{clusterId:t,source:this.id},e),this},r.prototype.getClusterLeaves=function(t,e,r,n){return this.actor.send(\"geojson.getClusterLeaves\",{source:this.id,clusterId:t,limit:e,offset:r},n),this},r.prototype._updateWorkerData=function(e){var r=this;this._loaded=!1;var n=t.extend({},this.workerOptions),i=this._data;\"string\"==typeof i?(n.request=this.map._requestManager.transformRequest(t.browser.resolveURL(i),t.ResourceType.Source),n.request.collectResourceTiming=this._collectResourceTiming):n.data=JSON.stringify(i),this.actor.send(this.type+\".loadData\",n,(function(t,i){r._removed||i&&i.abandoned||(r._loaded=!0,i&&i.resourceTiming&&i.resourceTiming[r.id]&&(r._resourceTiming=i.resourceTiming[r.id].slice(0)),r.actor.send(r.type+\".coalesce\",{source:n.source},null),e(t))}))},r.prototype.loaded=function(){return this._loaded},r.prototype.loadTile=function(e,r){var n=this,i=e.actor?\"reloadTile\":\"loadTile\";e.actor=this.actor;var a={type:this.type,uid:e.uid,tileID:e.tileID,zoom:e.tileID.overscaledZ,maxZoom:this.maxzoom,tileSize:this.tileSize,source:this.id,pixelRatio:t.browser.devicePixelRatio,showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId};e.request=this.actor.send(i,a,(function(t,a){return delete e.request,e.unloadVectorData(),e.aborted?r(null):t?r(t):(e.loadVectorData(a,n.map.painter,\"reloadTile\"===i),r(null))}))},r.prototype.abortTile=function(t){t.request&&(t.request.cancel(),delete t.request),t.aborted=!0},r.prototype.unloadTile=function(t){t.unloadVectorData(),this.actor.send(\"removeTile\",{uid:t.uid,type:this.type,source:this.id})},r.prototype.onRemove=function(){this._removed=!0,this.actor.send(\"removeSource\",{type:this.type,source:this.id})},r.prototype.serialize=function(){return t.extend({},this._options,{type:this.type,data:this._data})},r.prototype.hasTransition=function(){return!1},r}(t.Evented),P=t.createLayout([{name:\"a_pos\",type:\"Int16\",components:2},{name:\"a_texture_pos\",type:\"Int16\",components:2}]),I=function(e){function r(t,r,n,i){e.call(this),this.id=t,this.dispatcher=n,this.coordinates=r.coordinates,this.type=\"image\",this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.tiles={},this._loaded=!1,this.setEventedParent(i),this.options=r}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.load=function(e,r){var n=this;this._loaded=!1,this.fire(new t.Event(\"dataloading\",{dataType:\"source\"})),this.url=this.options.url,t.getImage(this.map._requestManager.transformRequest(this.url,t.ResourceType.Image),(function(i,a){n._loaded=!0,i?n.fire(new t.ErrorEvent(i)):a&&(n.image=a,e&&(n.coordinates=e),r&&r(),n._finishLoading())}))},r.prototype.loaded=function(){return this._loaded},r.prototype.updateImage=function(t){var e=this;return this.image&&t.url?(this.options.url=t.url,this.load(t.coordinates,(function(){e.texture=null})),this):this},r.prototype._finishLoading=function(){this.map&&(this.setCoordinates(this.coordinates),this.fire(new t.Event(\"data\",{dataType:\"source\",sourceDataType:\"metadata\"})))},r.prototype.onAdd=function(t){this.map=t,this.load()},r.prototype.setCoordinates=function(e){var r=this;this.coordinates=e;var n=e.map(t.MercatorCoordinate.fromLngLat);this.tileID=function(e){for(var r=1/0,n=1/0,i=-1/0,a=-1/0,o=0,s=e;or.end(0)?this.fire(new t.ErrorEvent(new t.ValidationError(\"sources.\"+this.id,null,\"Playback for this video can be set only between the \"+r.start(0)+\" and \"+r.end(0)+\"-second mark.\"))):this.video.currentTime=e}},r.prototype.getVideo=function(){return this.video},r.prototype.onAdd=function(t){this.map||(this.map=t,this.load(),this.video&&(this.video.play(),this.setCoordinates(this.coordinates)))},r.prototype.prepare=function(){if(!(0===Object.keys(this.tiles).length||this.video.readyState<2)){var e=this.map.painter.context,r=e.gl;for(var n in this.boundsBuffer||(this.boundsBuffer=e.createVertexBuffer(this._boundsArray,P.members)),this.boundsSegments||(this.boundsSegments=t.SegmentVector.simpleSegment(0,0,4,2)),this.texture?this.video.paused||(this.texture.bind(r.LINEAR,r.CLAMP_TO_EDGE),r.texSubImage2D(r.TEXTURE_2D,0,0,0,r.RGBA,r.UNSIGNED_BYTE,this.video)):(this.texture=new t.Texture(e,this.video,r.RGBA),this.texture.bind(r.LINEAR,r.CLAMP_TO_EDGE)),this.tiles){var i=this.tiles[n];\"loaded\"!==i.state&&(i.state=\"loaded\",i.texture=this.texture)}}},r.prototype.serialize=function(){return{type:\"video\",urls:this.urls,coordinates:this.coordinates}},r.prototype.hasTransition=function(){return this.video&&!this.video.paused},r}(I),z=function(e){function r(r,n,i,a){e.call(this,r,n,i,a),n.coordinates?Array.isArray(n.coordinates)&&4===n.coordinates.length&&!n.coordinates.some((function(t){return!Array.isArray(t)||2!==t.length||t.some((function(t){return\"number\"!=typeof t}))}))||this.fire(new t.ErrorEvent(new t.ValidationError(\"sources.\"+r,null,'\"coordinates\" property must be an array of 4 longitude/latitude array pairs'))):this.fire(new t.ErrorEvent(new t.ValidationError(\"sources.\"+r,null,'missing required property \"coordinates\"'))),n.animate&&\"boolean\"!=typeof n.animate&&this.fire(new t.ErrorEvent(new t.ValidationError(\"sources.\"+r,null,'optional \"animate\" property must be a boolean value'))),n.canvas?\"string\"==typeof n.canvas||n.canvas instanceof t.window.HTMLCanvasElement||this.fire(new t.ErrorEvent(new t.ValidationError(\"sources.\"+r,null,'\"canvas\" must be either a string representing the ID of the canvas element from which to read, or an HTMLCanvasElement instance'))):this.fire(new t.ErrorEvent(new t.ValidationError(\"sources.\"+r,null,'missing required property \"canvas\"'))),this.options=n,this.animate=void 0===n.animate||n.animate}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.load=function(){this._loaded=!0,this.canvas||(this.canvas=this.options.canvas instanceof t.window.HTMLCanvasElement?this.options.canvas:t.window.document.getElementById(this.options.canvas)),this.width=this.canvas.width,this.height=this.canvas.height,this._hasInvalidDimensions()?this.fire(new t.ErrorEvent(new Error(\"Canvas dimensions cannot be less than or equal to zero.\"))):(this.play=function(){this._playing=!0,this.map.triggerRepaint()},this.pause=function(){this._playing&&(this.prepare(),this._playing=!1)},this._finishLoading())},r.prototype.getCanvas=function(){return this.canvas},r.prototype.onAdd=function(t){this.map=t,this.load(),this.canvas&&this.animate&&this.play()},r.prototype.onRemove=function(){this.pause()},r.prototype.prepare=function(){var e=!1;if(this.canvas.width!==this.width&&(this.width=this.canvas.width,e=!0),this.canvas.height!==this.height&&(this.height=this.canvas.height,e=!0),!this._hasInvalidDimensions()&&0!==Object.keys(this.tiles).length){var r=this.map.painter.context,n=r.gl;for(var i in this.boundsBuffer||(this.boundsBuffer=r.createVertexBuffer(this._boundsArray,P.members)),this.boundsSegments||(this.boundsSegments=t.SegmentVector.simpleSegment(0,0,4,2)),this.texture?(e||this._playing)&&this.texture.update(this.canvas,{premultiply:!0}):this.texture=new t.Texture(r,this.canvas,n.RGBA,{premultiply:!0}),this.tiles){var a=this.tiles[i];\"loaded\"!==a.state&&(a.state=\"loaded\",a.texture=this.texture)}}},r.prototype.serialize=function(){return{type:\"canvas\",coordinates:this.coordinates}},r.prototype.hasTransition=function(){return this._playing},r.prototype._hasInvalidDimensions=function(){for(var t=0,e=[this.canvas.width,this.canvas.height];tthis.max){var o=this._getAndRemoveByKey(this.order[0]);o&&this.onRemove(o)}return this},N.prototype.has=function(t){return t.wrapped().key in this.data},N.prototype.getAndRemove=function(t){return this.has(t)?this._getAndRemoveByKey(t.wrapped().key):null},N.prototype._getAndRemoveByKey=function(t){var e=this.data[t].shift();return e.timeout&&clearTimeout(e.timeout),0===this.data[t].length&&delete this.data[t],this.order.splice(this.order.indexOf(t),1),e.value},N.prototype.getByKey=function(t){var e=this.data[t];return e?e[0].value:null},N.prototype.get=function(t){return this.has(t)?this.data[t.wrapped().key][0].value:null},N.prototype.remove=function(t,e){if(!this.has(t))return this;var r=t.wrapped().key,n=void 0===e?0:this.data[r].indexOf(e),i=this.data[r][n];return this.data[r].splice(n,1),i.timeout&&clearTimeout(i.timeout),0===this.data[r].length&&delete this.data[r],this.onRemove(i.value),this.order.splice(this.order.indexOf(r),1),this},N.prototype.setMaxSize=function(t){for(this.max=t;this.order.length>this.max;){var e=this._getAndRemoveByKey(this.order[0]);e&&this.onRemove(e)}return this},N.prototype.filter=function(t){var e=[];for(var r in this.data)for(var n=0,i=this.data[r];n1||(Math.abs(r)>1&&(1===Math.abs(r+i)?r+=i:1===Math.abs(r-i)&&(r-=i)),e.dem&&t.dem&&(t.dem.backfillBorder(e.dem,r,n),t.neighboringTiles&&t.neighboringTiles[a]&&(t.neighboringTiles[a].backfilled=!0)))}},r.prototype.getTile=function(t){return this.getTileByID(t.key)},r.prototype.getTileByID=function(t){return this._tiles[t]},r.prototype._retainLoadedChildren=function(t,e,r,n){for(var i in this._tiles){var a=this._tiles[i];if(!(n[i]||!a.hasData()||a.tileID.overscaledZ<=e||a.tileID.overscaledZ>r)){for(var o=a.tileID;a&&a.tileID.overscaledZ>e+1;){var s=a.tileID.scaledTo(a.tileID.overscaledZ-1);(a=this._tiles[s.key])&&a.hasData()&&(o=s)}for(var l=o;l.overscaledZ>e;)if(t[(l=l.scaledTo(l.overscaledZ-1)).key]){n[o.key]=o;break}}}},r.prototype.findLoadedParent=function(t,e){if(t.key in this._loadedParentTiles){var r=this._loadedParentTiles[t.key];return r&&r.tileID.overscaledZ>=e?r:null}for(var n=t.overscaledZ-1;n>=e;n--){var i=t.scaledTo(n),a=this._getLoadedTile(i);if(a)return a}},r.prototype._getLoadedTile=function(t){var e=this._tiles[t.key];return e&&e.hasData()?e:this._cache.getByKey(t.wrapped().key)},r.prototype.updateCacheSize=function(t){var e=(Math.ceil(t.width/this._source.tileSize)+1)*(Math.ceil(t.height/this._source.tileSize)+1),r=Math.floor(5*e),n=\"number\"==typeof this._maxTileCacheSize?Math.min(this._maxTileCacheSize,r):r;this._cache.setMaxSize(n)},r.prototype.handleWrapJump=function(t){var e=(t-(void 0===this._prevLng?t:this._prevLng))/360,r=Math.round(e);if(this._prevLng=t,r){var n={};for(var i in this._tiles){var a=this._tiles[i];a.tileID=a.tileID.unwrapTo(a.tileID.wrap+r),n[a.tileID.key]=a}for(var o in this._tiles=n,this._timers)clearTimeout(this._timers[o]),delete this._timers[o];for(var s in this._tiles){var l=this._tiles[s];this._setTileReloadTimer(s,l)}}},r.prototype.update=function(e){var n=this;if(this.transform=e,this._sourceLoaded&&!this._paused){var i;this.updateCacheSize(e),this.handleWrapJump(this.transform.center.lng),this._coveredTiles={},this.used?this._source.tileID?i=e.getVisibleUnwrappedCoordinates(this._source.tileID).map((function(e){return new t.OverscaledTileID(e.canonical.z,e.wrap,e.canonical.z,e.canonical.x,e.canonical.y)})):(i=e.coveringTiles({tileSize:this._source.tileSize,minzoom:this._source.minzoom,maxzoom:this._source.maxzoom,roundZoom:this._source.roundZoom,reparseOverscaled:this._source.reparseOverscaled}),this._source.hasTile&&(i=i.filter((function(t){return n._source.hasTile(t)})))):i=[];var a=e.coveringZoomLevel(this._source),o=Math.max(a-r.maxOverzooming,this._source.minzoom),s=Math.max(a+r.maxUnderzooming,this._source.minzoom),l=this._updateRetainedTiles(i,a);if(It(this._source.type)){for(var c={},u={},f=0,h=Object.keys(l);fthis._source.maxzoom){var g=d.children(this._source.maxzoom)[0],v=this.getTile(g);if(v&&v.hasData()){n[g.key]=g;continue}}else{var y=d.children(this._source.maxzoom);if(n[y[0].key]&&n[y[1].key]&&n[y[2].key]&&n[y[3].key])continue}for(var x=m.wasRequested(),b=d.overscaledZ-1;b>=a;--b){var _=d.scaledTo(b);if(i[_.key])break;if(i[_.key]=!0,!(m=this.getTile(_))&&x&&(m=this._addTile(_)),m&&(n[_.key]=_,x=m.wasRequested(),m.hasData()))break}}}return n},r.prototype._updateLoadedParentTileCache=function(){for(var t in this._loadedParentTiles={},this._tiles){for(var e=[],r=void 0,n=this._tiles[t].tileID;n.overscaledZ>0;){if(n.key in this._loadedParentTiles){r=this._loadedParentTiles[n.key];break}e.push(n.key);var i=n.scaledTo(n.overscaledZ-1);if(r=this._getLoadedTile(i))break;n=i}for(var a=0,o=e;a0||(e.hasData()&&\"reloading\"!==e.state?this._cache.add(e.tileID,e,e.getExpiryTimeout()):(e.aborted=!0,this._abortTile(e),this._unloadTile(e))))},r.prototype.clearTiles=function(){for(var t in this._shouldReloadOnResume=!1,this._paused=!1,this._tiles)this._removeTile(t);this._cache.reset()},r.prototype.tilesIn=function(e,r,n){var i=this,a=[],o=this.transform;if(!o)return a;for(var s=n?o.getCameraQueryGeometry(e):e,l=e.map((function(t){return o.pointCoordinate(t)})),c=s.map((function(t){return o.pointCoordinate(t)})),u=this.getIds(),f=1/0,h=1/0,p=-1/0,d=-1/0,m=0,g=c;m=0&&v[1].y+g>=0){var y=l.map((function(t){return s.getTilePoint(t)})),x=c.map((function(t){return s.getTilePoint(t)}));a.push({tile:n,tileID:s,queryGeometry:y,cameraQueryGeometry:x,scale:m})}}},x=0;x=t.browser.now())return!0}return!1},r.prototype.setFeatureState=function(t,e,r){t=t||\"_geojsonTileLayer\",this._state.updateState(t,e,r)},r.prototype.removeFeatureState=function(t,e,r){t=t||\"_geojsonTileLayer\",this._state.removeFeatureState(t,e,r)},r.prototype.getFeatureState=function(t,e){return t=t||\"_geojsonTileLayer\",this._state.getState(t,e)},r.prototype.setDependencies=function(t,e,r){var n=this._tiles[t];n&&n.setDependencies(e,r)},r.prototype.reloadTilesForDependencies=function(t,e){for(var r in this._tiles){this._tiles[r].hasDependency(t,e)&&this._reloadTile(r,\"reloading\")}this._cache.filter((function(r){return!r.hasDependency(t,e)}))},r}(t.Evented);function Pt(t,e){var r=Math.abs(2*t.wrap)-+(t.wrap<0),n=Math.abs(2*e.wrap)-+(e.wrap<0);return t.overscaledZ-e.overscaledZ||n-r||e.canonical.y-t.canonical.y||e.canonical.x-t.canonical.x}function It(t){return\"raster\"===t||\"image\"===t||\"video\"===t}function Ot(){return new t.window.Worker(Xi.workerUrl)}Ct.maxOverzooming=10,Ct.maxUnderzooming=3;var zt=\"mapboxgl_preloaded_worker_pool\",Dt=function(){this.active={}};Dt.prototype.acquire=function(t){if(!this.workers)for(this.workers=[];this.workers.length0?(i-o)/s:0;return this.points[a].mult(1-l).add(this.points[r].mult(l))};var Kt=function(t,e,r){var n=this.boxCells=[],i=this.circleCells=[];this.xCellCount=Math.ceil(t/r),this.yCellCount=Math.ceil(e/r);for(var a=0;a=-e[0]&&r<=e[0]&&n>=-e[1]&&n<=e[1]}function ne(e,r,n,i,a,o,s,l){var c=i?e.textSizeData:e.iconSizeData,u=t.evaluateSizeForZoom(c,n.transform.zoom),f=[256/n.width*2+1,256/n.height*2+1],h=i?e.text.dynamicLayoutVertexArray:e.icon.dynamicLayoutVertexArray;h.clear();for(var p=e.lineVertexArray,d=i?e.text.placedSymbolArray:e.icon.placedSymbolArray,m=n.transform.width/n.transform.height,g=!1,v=0;vMath.abs(n.x-r.x)*i)return{useVertical:!0};return(e===t.WritingMode.vertical?r.yn.x)?{needsFlipping:!0}:null}function oe(e,r,n,i,a,o,s,l,c,u,f,h,p,d){var m,g=r/24,v=e.lineOffsetX*g,y=e.lineOffsetY*g;if(e.numGlyphs>1){var x=e.glyphStartIndex+e.numGlyphs,b=e.lineStartIndex,_=e.lineStartIndex+e.lineLength,w=ie(g,l,v,y,n,f,h,e,c,o,p);if(!w)return{notEnoughRoom:!0};var T=te(w.first.point,s).point,k=te(w.last.point,s).point;if(i&&!n){var A=ae(e.writingMode,T,k,d);if(A)return A}m=[w.first];for(var M=e.glyphStartIndex+1;M0?C.point:se(h,L,S,1,a),I=ae(e.writingMode,S,P,d);if(I)return I}var O=le(g*l.getoffsetX(e.glyphStartIndex),v,y,n,f,h,e.segment,e.lineStartIndex,e.lineStartIndex+e.lineLength,c,o,p);if(!O)return{notEnoughRoom:!0};m=[O]}for(var z=0,D=m;z0?1:-1,m=0;i&&(d*=-1,m=Math.PI),d<0&&(m+=Math.PI);for(var g=d>0?l+s:l+s+1,v=a,y=a,x=0,b=0,_=Math.abs(p),w=[];x+b<=_;){if((g+=d)=c)return null;if(y=v,w.push(v),void 0===(v=h[g])){var T=new t.Point(u.getx(g),u.gety(g)),k=te(T,f);if(k.signedDistanceFromCamera>0)v=h[g]=k.point;else{var A=g-d;v=se(0===x?o:new t.Point(u.getx(A),u.gety(A)),T,y,_-x+1,f)}}x+=b,b=y.dist(v)}var M=(_-x)/b,S=v.sub(y),E=S.mult(M)._add(y);E._add(S._unit()._perp()._mult(n*d));var L=m+Math.atan2(v.y-y.y,v.x-y.x);return w.push(E),{point:E,angle:L,path:w}}Kt.prototype.keysLength=function(){return this.boxKeys.length+this.circleKeys.length},Kt.prototype.insert=function(t,e,r,n,i){this._forEachCell(e,r,n,i,this._insertBoxCell,this.boxUid++),this.boxKeys.push(t),this.bboxes.push(e),this.bboxes.push(r),this.bboxes.push(n),this.bboxes.push(i)},Kt.prototype.insertCircle=function(t,e,r,n){this._forEachCell(e-n,r-n,e+n,r+n,this._insertCircleCell,this.circleUid++),this.circleKeys.push(t),this.circles.push(e),this.circles.push(r),this.circles.push(n)},Kt.prototype._insertBoxCell=function(t,e,r,n,i,a){this.boxCells[i].push(a)},Kt.prototype._insertCircleCell=function(t,e,r,n,i,a){this.circleCells[i].push(a)},Kt.prototype._query=function(t,e,r,n,i,a){if(r<0||t>this.width||n<0||e>this.height)return!i&&[];var o=[];if(t<=0&&e<=0&&this.width<=r&&this.height<=n){if(i)return!0;for(var s=0;s0:o},Kt.prototype._queryCircle=function(t,e,r,n,i){var a=t-r,o=t+r,s=e-r,l=e+r;if(o<0||a>this.width||l<0||s>this.height)return!n&&[];var c=[],u={hitTest:n,circle:{x:t,y:e,radius:r},seenUids:{box:{},circle:{}}};return this._forEachCell(a,s,o,l,this._queryCellCircle,c,u,i),n?c.length>0:c},Kt.prototype.query=function(t,e,r,n,i){return this._query(t,e,r,n,!1,i)},Kt.prototype.hitTest=function(t,e,r,n,i){return this._query(t,e,r,n,!0,i)},Kt.prototype.hitTestCircle=function(t,e,r,n){return this._queryCircle(t,e,r,!0,n)},Kt.prototype._queryCell=function(t,e,r,n,i,a,o,s){var l=o.seenUids,c=this.boxCells[i];if(null!==c)for(var u=this.bboxes,f=0,h=c;f=u[d+0]&&n>=u[d+1]&&(!s||s(this.boxKeys[p]))){if(o.hitTest)return a.push(!0),!0;a.push({key:this.boxKeys[p],x1:u[d],y1:u[d+1],x2:u[d+2],y2:u[d+3]})}}}var m=this.circleCells[i];if(null!==m)for(var g=this.circles,v=0,y=m;vo*o+s*s},Kt.prototype._circleAndRectCollide=function(t,e,r,n,i,a,o){var s=(a-n)/2,l=Math.abs(t-(n+s));if(l>s+r)return!1;var c=(o-i)/2,u=Math.abs(e-(i+c));if(u>c+r)return!1;if(l<=s||u<=c)return!0;var f=l-s,h=u-c;return f*f+h*h<=r*r};var ce=new Float32Array([-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0]);function ue(t,e){for(var r=0;r=1;P--)C.push(E.path[P]);for(var I=1;I0){for(var R=C[0].clone(),F=C[0].clone(),B=1;B=A.x&&F.x<=M.x&&R.y>=A.y&&F.y<=M.y?[C]:F.xM.x||F.yM.y?[]:t.clipLine([C],A.x,A.y,M.x,M.y)}for(var N=0,j=D;N=this.screenRightBoundary||n<100||e>this.screenBottomBoundary},he.prototype.isInsideGrid=function(t,e,r,n){return r>=0&&t=0&&e0)return this.prevPlacement&&this.prevPlacement.variableOffsets[f.crossTileID]&&this.prevPlacement.placements[f.crossTileID]&&this.prevPlacement.placements[f.crossTileID].text&&(m=this.prevPlacement.variableOffsets[f.crossTileID].anchor),this.variableOffsets[f.crossTileID]={textOffset:g,width:r,height:n,anchor:t,textBoxScale:i,prevAnchor:m},this.markUsedJustification(h,t,f,p),h.allowVerticalPlacement&&(this.markUsedOrientation(h,p,f),this.placedOrientations[f.crossTileID]=p),{shift:v,placedGlyphBoxes:y}},we.prototype.placeLayerBucketPart=function(e,r,n){var i=this,a=e.parameters,o=a.bucket,s=a.layout,l=a.posMatrix,c=a.textLabelPlaneMatrix,u=a.labelToScreenMatrix,f=a.textPixelRatio,h=a.holdingForFade,p=a.collisionBoxArray,d=a.partiallyEvaluatedTextSize,m=a.collisionGroup,g=s.get(\"text-optional\"),v=s.get(\"icon-optional\"),y=s.get(\"text-allow-overlap\"),x=s.get(\"icon-allow-overlap\"),b=\"map\"===s.get(\"text-rotation-alignment\"),_=\"map\"===s.get(\"text-pitch-alignment\"),w=\"none\"!==s.get(\"icon-text-fit\"),T=\"viewport-y\"===s.get(\"symbol-z-order\"),k=y&&(x||!o.hasIconData()||v),A=x&&(y||!o.hasTextData()||g);!o.collisionArrays&&p&&o.deserializeCollisionBoxes(p);var M=function(e,a){if(!r[e.crossTileID])if(h)i.placements[e.crossTileID]=new ge(!1,!1,!1);else{var p,T=!1,M=!1,S=!0,E=null,L={box:null,offscreen:null},C={box:null,offscreen:null},P=null,I=null,O=0,z=0,D=0;a.textFeatureIndex?O=a.textFeatureIndex:e.useRuntimeCollisionCircles&&(O=e.featureIndex),a.verticalTextFeatureIndex&&(z=a.verticalTextFeatureIndex);var R=a.textBox;if(R){var F=function(r){var n=t.WritingMode.horizontal;if(o.allowVerticalPlacement&&!r&&i.prevPlacement){var a=i.prevPlacement.placedOrientations[e.crossTileID];a&&(i.placedOrientations[e.crossTileID]=a,n=a,i.markUsedOrientation(o,n,e))}return n},B=function(r,n){if(o.allowVerticalPlacement&&e.numVerticalGlyphVertices>0&&a.verticalTextBox)for(var i=0,s=o.writingModes;i0&&(N=N.filter((function(t){return t!==j.anchor}))).unshift(j.anchor)}var U=function(t,r,n){for(var a=t.x2-t.x1,s=t.y2-t.y1,c=e.textBoxScale,u=w&&!x?r:null,h={box:[],offscreen:!1},p=y?2*N.length:N.length,d=0;d=N.length,k=i.attemptAnchorPlacement(g,t,a,s,c,b,_,f,l,m,v,e,o,n,u);if(k&&(h=k.placedGlyphBoxes)&&h.box&&h.box.length){T=!0,E=k.shift;break}}return h};B((function(){return U(R,a.iconBox,t.WritingMode.horizontal)}),(function(){var r=a.verticalTextBox,n=L&&L.box&&L.box.length;return o.allowVerticalPlacement&&!n&&e.numVerticalGlyphVertices>0&&r?U(r,a.verticalIconBox,t.WritingMode.vertical):{box:null,offscreen:null}})),L&&(T=L.box,S=L.offscreen);var V=F(L&&L.box);if(!T&&i.prevPlacement){var H=i.prevPlacement.variableOffsets[e.crossTileID];H&&(i.variableOffsets[e.crossTileID]=H,i.markUsedJustification(o,H.anchor,e,V))}}else{var q=function(t,r){var n=i.collisionIndex.placeCollisionBox(t,y,f,l,m.predicate);return n&&n.box&&n.box.length&&(i.markUsedOrientation(o,r,e),i.placedOrientations[e.crossTileID]=r),n};B((function(){return q(R,t.WritingMode.horizontal)}),(function(){var r=a.verticalTextBox;return o.allowVerticalPlacement&&e.numVerticalGlyphVertices>0&&r?q(r,t.WritingMode.vertical):{box:null,offscreen:null}})),F(L&&L.box&&L.box.length)}}if(T=(p=L)&&p.box&&p.box.length>0,S=p&&p.offscreen,e.useRuntimeCollisionCircles){var G=o.text.placedSymbolArray.get(e.centerJustifiedTextSymbolIndex),Y=t.evaluateSizeForFeature(o.textSizeData,d,G),W=s.get(\"text-padding\"),Z=e.collisionCircleDiameter;P=i.collisionIndex.placeCollisionCircles(y,G,o.lineVertexArray,o.glyphOffsetArray,Y,l,c,u,n,_,m.predicate,Z,W),T=y||P.circles.length>0&&!P.collisionDetected,S=S&&P.offscreen}if(a.iconFeatureIndex&&(D=a.iconFeatureIndex),a.iconBox){var X=function(t){var e=w&&E?_e(t,E.x,E.y,b,_,i.transform.angle):t;return i.collisionIndex.placeCollisionBox(e,x,f,l,m.predicate)};M=C&&C.box&&C.box.length&&a.verticalIconBox?(I=X(a.verticalIconBox)).box.length>0:(I=X(a.iconBox)).box.length>0,S=S&&I.offscreen}var J=g||0===e.numHorizontalGlyphVertices&&0===e.numVerticalGlyphVertices,K=v||0===e.numIconVertices;if(J||K?K?J||(M=M&&T):T=M&&T:M=T=M&&T,T&&p&&p.box&&(C&&C.box&&z?i.collisionIndex.insertCollisionBox(p.box,s.get(\"text-ignore-placement\"),o.bucketInstanceId,z,m.ID):i.collisionIndex.insertCollisionBox(p.box,s.get(\"text-ignore-placement\"),o.bucketInstanceId,O,m.ID)),M&&I&&i.collisionIndex.insertCollisionBox(I.box,s.get(\"icon-ignore-placement\"),o.bucketInstanceId,D,m.ID),P&&(T&&i.collisionIndex.insertCollisionCircles(P.circles,s.get(\"text-ignore-placement\"),o.bucketInstanceId,O,m.ID),n)){var Q=o.bucketInstanceId,$=i.collisionCircleArrays[Q];void 0===$&&($=i.collisionCircleArrays[Q]=new ve);for(var tt=0;tt=0;--E){var L=S[E];M(o.symbolInstances.get(L),o.collisionArrays[L])}else for(var C=e.symbolInstanceStart;C=0&&(e.text.placedSymbolArray.get(c).crossTileID=a>=0&&c!==a?0:n.crossTileID)}},we.prototype.markUsedOrientation=function(e,r,n){for(var i=r===t.WritingMode.horizontal||r===t.WritingMode.horizontalOnly?r:0,a=r===t.WritingMode.vertical?r:0,o=0,s=[n.leftJustifiedTextSymbolIndex,n.centerJustifiedTextSymbolIndex,n.rightJustifiedTextSymbolIndex];o0||l>0,x=a.numIconVertices>0,b=i.placedOrientations[a.crossTileID],_=b===t.WritingMode.vertical,w=b===t.WritingMode.horizontal||b===t.WritingMode.horizontalOnly;if(y){var T=Pe(v.text),k=_?Ie:T;d(e.text,s,k);var A=w?Ie:T;d(e.text,l,A);var M=v.text.isHidden();[a.rightJustifiedTextSymbolIndex,a.centerJustifiedTextSymbolIndex,a.leftJustifiedTextSymbolIndex].forEach((function(t){t>=0&&(e.text.placedSymbolArray.get(t).hidden=M||_?1:0)})),a.verticalPlacedTextSymbolIndex>=0&&(e.text.placedSymbolArray.get(a.verticalPlacedTextSymbolIndex).hidden=M||w?1:0);var S=i.variableOffsets[a.crossTileID];S&&i.markUsedJustification(e,S.anchor,a,b);var E=i.placedOrientations[a.crossTileID];E&&(i.markUsedJustification(e,\"left\",a,E),i.markUsedOrientation(e,E,a))}if(x){var L=Pe(v.icon),C=!(h&&a.verticalPlacedIconSymbolIndex&&_);if(a.placedIconSymbolIndex>=0){var P=C?L:Ie;d(e.icon,a.numIconVertices,P),e.icon.placedSymbolArray.get(a.placedIconSymbolIndex).hidden=v.icon.isHidden()}if(a.verticalPlacedIconSymbolIndex>=0){var I=C?Ie:L;d(e.icon,a.numVerticalIconVertices,I),e.icon.placedSymbolArray.get(a.verticalPlacedIconSymbolIndex).hidden=v.icon.isHidden()}}if(e.hasIconCollisionBoxData()||e.hasTextCollisionBoxData()){var O=e.collisionArrays[n];if(O){var z=new t.Point(0,0);if(O.textBox||O.verticalTextBox){var D=!0;if(c){var R=i.variableOffsets[m];R?(z=be(R.anchor,R.width,R.height,R.textOffset,R.textBoxScale),u&&z._rotate(f?i.transform.angle:-i.transform.angle)):D=!1}O.textBox&&Te(e.textCollisionBox.collisionVertexArray,v.text.placed,!D||_,z.x,z.y),O.verticalTextBox&&Te(e.textCollisionBox.collisionVertexArray,v.text.placed,!D||w,z.x,z.y)}var F=Boolean(!w&&O.verticalIconBox);O.iconBox&&Te(e.iconCollisionBox.collisionVertexArray,v.icon.placed,F,h?z.x:0,h?z.y:0),O.verticalIconBox&&Te(e.iconCollisionBox.collisionVertexArray,v.icon.placed,!F,h?z.x:0,h?z.y:0)}}},g=0;gt},we.prototype.setStale=function(){this.stale=!0};var ke=Math.pow(2,25),Ae=Math.pow(2,24),Me=Math.pow(2,17),Se=Math.pow(2,16),Ee=Math.pow(2,9),Le=Math.pow(2,8),Ce=Math.pow(2,1);function Pe(t){if(0===t.opacity&&!t.placed)return 0;if(1===t.opacity&&t.placed)return 4294967295;var e=t.placed?1:0,r=Math.floor(127*t.opacity);return r*ke+e*Ae+r*Me+e*Se+r*Ee+e*Le+r*Ce+e}var Ie=0,Oe=function(t){this._sortAcrossTiles=\"viewport-y\"!==t.layout.get(\"symbol-z-order\")&&void 0!==t.layout.get(\"symbol-sort-key\").constantOr(1),this._currentTileIndex=0,this._currentPartIndex=0,this._seenCrossTileIDs={},this._bucketParts=[]};Oe.prototype.continuePlacement=function(t,e,r,n,i){for(var a=this._bucketParts;this._currentTileIndex2};this._currentPlacementIndex>=0;){var s=r[e[this._currentPlacementIndex]],l=this.placement.collisionIndex.transform.zoom;if(\"symbol\"===s.type&&(!s.minzoom||s.minzoom<=l)&&(!s.maxzoom||s.maxzoom>l)){if(this._inProgressLayer||(this._inProgressLayer=new Oe(s)),this._inProgressLayer.continuePlacement(n[s.source],this.placement,this._showCollisionBoxes,s,o))return;delete this._inProgressLayer}this._currentPlacementIndex--}this._done=!0},ze.prototype.commit=function(t){return this.placement.commit(t),this.placement};var De=512/t.EXTENT/2,Re=function(t,e,r){this.tileID=t,this.indexedSymbolInstances={},this.bucketInstanceId=r;for(var n=0;nt.overscaledZ)for(var s in o){var l=o[s];l.tileID.isChildOf(t)&&l.findMatches(e.symbolInstances,t,i)}else{var c=o[t.scaledTo(Number(a)).key];c&&c.findMatches(e.symbolInstances,t,i)}}for(var u=0;u1?\"@2x\":\"\",l=t.getJSON(r.transformRequest(r.normalizeSpriteURL(e,s,\".json\"),t.ResourceType.SpriteJSON),(function(t,e){l=null,o||(o=t,i=e,u())})),c=t.getImage(r.transformRequest(r.normalizeSpriteURL(e,s,\".png\"),t.ResourceType.SpriteImage),(function(t,e){c=null,o||(o=t,a=e,u())}));function u(){if(o)n(o);else if(i&&a){var e=t.browser.getImageData(a),r={};for(var s in i){var l=i[s],c=l.width,u=l.height,f=l.x,h=l.y,p=l.sdf,d=l.pixelRatio,m=l.stretchX,g=l.stretchY,v=l.content,y=new t.RGBAImage({width:c,height:u});t.RGBAImage.copy(e,y,{x:f,y:h},{x:0,y:0},{width:c,height:u}),r[s]={data:y,pixelRatio:d,sdf:p,stretchX:m,stretchY:g,content:v}}n(null,r)}}return{cancel:function(){l&&(l.cancel(),l=null),c&&(c.cancel(),c=null)}}}(e,this.map._requestManager,(function(e,n){if(r._spriteRequest=null,e)r.fire(new t.ErrorEvent(e));else if(n)for(var i in n)r.imageManager.addImage(i,n[i]);r.imageManager.setLoaded(!0),r._availableImages=r.imageManager.listImages(),r.dispatcher.broadcast(\"setImages\",r._availableImages),r.fire(new t.Event(\"data\",{dataType:\"style\"}))}))},r.prototype._validateLayer=function(e){var r=this.sourceCaches[e.source];if(r){var n=e.sourceLayer;if(n){var i=r.getSource();(\"geojson\"===i.type||i.vectorLayerIds&&-1===i.vectorLayerIds.indexOf(n))&&this.fire(new t.ErrorEvent(new Error('Source layer \"'+n+'\" does not exist on source \"'+i.id+'\" as specified by style layer \"'+e.id+'\"')))}}},r.prototype.loaded=function(){if(!this._loaded)return!1;if(Object.keys(this._updatedSources).length)return!1;for(var t in this.sourceCaches)if(!this.sourceCaches[t].loaded())return!1;return!!this.imageManager.isLoaded()},r.prototype._serializeLayers=function(t){for(var e=[],r=0,n=t;r0)throw new Error(\"Unimplemented: \"+i.map((function(t){return t.command})).join(\", \")+\".\");return n.forEach((function(t){\"setTransition\"!==t.command&&r[t.command].apply(r,t.args)})),this.stylesheet=e,!0},r.prototype.addImage=function(e,r){if(this.getImage(e))return this.fire(new t.ErrorEvent(new Error(\"An image with this name already exists.\")));this.imageManager.addImage(e,r),this._availableImages=this.imageManager.listImages(),this._changedImages[e]=!0,this._changed=!0,this.fire(new t.Event(\"data\",{dataType:\"style\"}))},r.prototype.updateImage=function(t,e){this.imageManager.updateImage(t,e)},r.prototype.getImage=function(t){return this.imageManager.getImage(t)},r.prototype.removeImage=function(e){if(!this.getImage(e))return this.fire(new t.ErrorEvent(new Error(\"No image with this name exists.\")));this.imageManager.removeImage(e),this._availableImages=this.imageManager.listImages(),this._changedImages[e]=!0,this._changed=!0,this.fire(new t.Event(\"data\",{dataType:\"style\"}))},r.prototype.listImages=function(){return this._checkLoaded(),this.imageManager.listImages()},r.prototype.addSource=function(e,r,n){var i=this;if(void 0===n&&(n={}),this._checkLoaded(),void 0!==this.sourceCaches[e])throw new Error(\"There is already a source with this ID\");if(!r.type)throw new Error(\"The type property must be defined, but the only the following properties were given: \"+Object.keys(r).join(\", \")+\".\");if(!([\"vector\",\"raster\",\"geojson\",\"video\",\"image\"].indexOf(r.type)>=0)||!this._validate(t.validateStyle.source,\"sources.\"+e,r,null,n)){this.map&&this.map._collectResourceTiming&&(r.collectResourceTiming=!0);var a=this.sourceCaches[e]=new Ct(e,r,this.dispatcher);a.style=this,a.setEventedParent(this,(function(){return{isSourceLoaded:i.loaded(),source:a.serialize(),sourceId:e}})),a.onAdd(this.map),this._changed=!0}},r.prototype.removeSource=function(e){if(this._checkLoaded(),void 0===this.sourceCaches[e])throw new Error(\"There is no source with this ID\");for(var r in this._layers)if(this._layers[r].source===e)return this.fire(new t.ErrorEvent(new Error('Source \"'+e+'\" cannot be removed while layer \"'+r+'\" is using it.')));var n=this.sourceCaches[e];delete this.sourceCaches[e],delete this._updatedSources[e],n.fire(new t.Event(\"data\",{sourceDataType:\"metadata\",dataType:\"source\",sourceId:e})),n.setEventedParent(null),n.clearTiles(),n.onRemove&&n.onRemove(this.map),this._changed=!0},r.prototype.setGeoJSONSourceData=function(t,e){this._checkLoaded(),this.sourceCaches[t].getSource().setData(e),this._changed=!0},r.prototype.getSource=function(t){return this.sourceCaches[t]&&this.sourceCaches[t].getSource()},r.prototype.addLayer=function(e,r,n){void 0===n&&(n={}),this._checkLoaded();var i=e.id;if(this.getLayer(i))this.fire(new t.ErrorEvent(new Error('Layer with id \"'+i+'\" already exists on this map')));else{var a;if(\"custom\"===e.type){if(je(this,t.validateCustomStyleLayer(e)))return;a=t.createStyleLayer(e)}else{if(\"object\"==typeof e.source&&(this.addSource(i,e.source),e=t.clone$1(e),e=t.extend(e,{source:i})),this._validate(t.validateStyle.layer,\"layers.\"+i,e,{arrayIndex:-1},n))return;a=t.createStyleLayer(e),this._validateLayer(a),a.setEventedParent(this,{layer:{id:i}}),this._serializedLayers[a.id]=a.serialize()}var o=r?this._order.indexOf(r):this._order.length;if(r&&-1===o)this.fire(new t.ErrorEvent(new Error('Layer with id \"'+r+'\" does not exist on this map.')));else{if(this._order.splice(o,0,i),this._layerOrderChanged=!0,this._layers[i]=a,this._removedLayers[i]&&a.source&&\"custom\"!==a.type){var s=this._removedLayers[i];delete this._removedLayers[i],s.type!==a.type?this._updatedSources[a.source]=\"clear\":(this._updatedSources[a.source]=\"reload\",this.sourceCaches[a.source].pause())}this._updateLayer(a),a.onAdd&&a.onAdd(this.map)}}},r.prototype.moveLayer=function(e,r){if(this._checkLoaded(),this._changed=!0,this._layers[e]){if(e!==r){var n=this._order.indexOf(e);this._order.splice(n,1);var i=r?this._order.indexOf(r):this._order.length;r&&-1===i?this.fire(new t.ErrorEvent(new Error('Layer with id \"'+r+'\" does not exist on this map.'))):(this._order.splice(i,0,e),this._layerOrderChanged=!0)}}else this.fire(new t.ErrorEvent(new Error(\"The layer '\"+e+\"' does not exist in the map's style and cannot be moved.\")))},r.prototype.removeLayer=function(e){this._checkLoaded();var r=this._layers[e];if(r){r.setEventedParent(null);var n=this._order.indexOf(e);this._order.splice(n,1),this._layerOrderChanged=!0,this._changed=!0,this._removedLayers[e]=r,delete this._layers[e],delete this._serializedLayers[e],delete this._updatedLayers[e],delete this._updatedPaintProps[e],r.onRemove&&r.onRemove(this.map)}else this.fire(new t.ErrorEvent(new Error(\"The layer '\"+e+\"' does not exist in the map's style and cannot be removed.\")))},r.prototype.getLayer=function(t){return this._layers[t]},r.prototype.hasLayer=function(t){return t in this._layers},r.prototype.setLayerZoomRange=function(e,r,n){this._checkLoaded();var i=this.getLayer(e);i?i.minzoom===r&&i.maxzoom===n||(null!=r&&(i.minzoom=r),null!=n&&(i.maxzoom=n),this._updateLayer(i)):this.fire(new t.ErrorEvent(new Error(\"The layer '\"+e+\"' does not exist in the map's style and cannot have zoom extent.\")))},r.prototype.setFilter=function(e,r,n){void 0===n&&(n={}),this._checkLoaded();var i=this.getLayer(e);if(i){if(!t.deepEqual(i.filter,r))return null==r?(i.filter=void 0,void this._updateLayer(i)):void(this._validate(t.validateStyle.filter,\"layers.\"+i.id+\".filter\",r,null,n)||(i.filter=t.clone$1(r),this._updateLayer(i)))}else this.fire(new t.ErrorEvent(new Error(\"The layer '\"+e+\"' does not exist in the map's style and cannot be filtered.\")))},r.prototype.getFilter=function(e){return t.clone$1(this.getLayer(e).filter)},r.prototype.setLayoutProperty=function(e,r,n,i){void 0===i&&(i={}),this._checkLoaded();var a=this.getLayer(e);a?t.deepEqual(a.getLayoutProperty(r),n)||(a.setLayoutProperty(r,n,i),this._updateLayer(a)):this.fire(new t.ErrorEvent(new Error(\"The layer '\"+e+\"' does not exist in the map's style and cannot be styled.\")))},r.prototype.getLayoutProperty=function(e,r){var n=this.getLayer(e);if(n)return n.getLayoutProperty(r);this.fire(new t.ErrorEvent(new Error(\"The layer '\"+e+\"' does not exist in the map's style.\")))},r.prototype.setPaintProperty=function(e,r,n,i){void 0===i&&(i={}),this._checkLoaded();var a=this.getLayer(e);a?t.deepEqual(a.getPaintProperty(r),n)||(a.setPaintProperty(r,n,i)&&this._updateLayer(a),this._changed=!0,this._updatedPaintProps[e]=!0):this.fire(new t.ErrorEvent(new Error(\"The layer '\"+e+\"' does not exist in the map's style and cannot be styled.\")))},r.prototype.getPaintProperty=function(t,e){return this.getLayer(t).getPaintProperty(e)},r.prototype.setFeatureState=function(e,r){this._checkLoaded();var n=e.source,i=e.sourceLayer,a=this.sourceCaches[n];if(void 0!==a){var o=a.getSource().type;\"geojson\"===o&&i?this.fire(new t.ErrorEvent(new Error(\"GeoJSON sources cannot have a sourceLayer parameter.\"))):\"vector\"!==o||i?(void 0===e.id&&this.fire(new t.ErrorEvent(new Error(\"The feature id parameter must be provided.\"))),a.setFeatureState(i,e.id,r)):this.fire(new t.ErrorEvent(new Error(\"The sourceLayer parameter must be provided for vector source types.\")))}else this.fire(new t.ErrorEvent(new Error(\"The source '\"+n+\"' does not exist in the map's style.\")))},r.prototype.removeFeatureState=function(e,r){this._checkLoaded();var n=e.source,i=this.sourceCaches[n];if(void 0!==i){var a=i.getSource().type,o=\"vector\"===a?e.sourceLayer:void 0;\"vector\"!==a||o?r&&\"string\"!=typeof e.id&&\"number\"!=typeof e.id?this.fire(new t.ErrorEvent(new Error(\"A feature id is requred to remove its specific state property.\"))):i.removeFeatureState(o,e.id,r):this.fire(new t.ErrorEvent(new Error(\"The sourceLayer parameter must be provided for vector source types.\")))}else this.fire(new t.ErrorEvent(new Error(\"The source '\"+n+\"' does not exist in the map's style.\")))},r.prototype.getFeatureState=function(e){this._checkLoaded();var r=e.source,n=e.sourceLayer,i=this.sourceCaches[r];if(void 0!==i){if(\"vector\"!==i.getSource().type||n)return void 0===e.id&&this.fire(new t.ErrorEvent(new Error(\"The feature id parameter must be provided.\"))),i.getFeatureState(n,e.id);this.fire(new t.ErrorEvent(new Error(\"The sourceLayer parameter must be provided for vector source types.\")))}else this.fire(new t.ErrorEvent(new Error(\"The source '\"+r+\"' does not exist in the map's style.\")))},r.prototype.getTransition=function(){return t.extend({duration:300,delay:0},this.stylesheet&&this.stylesheet.transition)},r.prototype.serialize=function(){return t.filterObject({version:this.stylesheet.version,name:this.stylesheet.name,metadata:this.stylesheet.metadata,light:this.stylesheet.light,center:this.stylesheet.center,zoom:this.stylesheet.zoom,bearing:this.stylesheet.bearing,pitch:this.stylesheet.pitch,sprite:this.stylesheet.sprite,glyphs:this.stylesheet.glyphs,transition:this.stylesheet.transition,sources:t.mapObject(this.sourceCaches,(function(t){return t.serialize()})),layers:this._serializeLayers(this._order)},(function(t){return void 0!==t}))},r.prototype._updateLayer=function(t){this._updatedLayers[t.id]=!0,t.source&&!this._updatedSources[t.source]&&\"raster\"!==this.sourceCaches[t.source].getSource().type&&(this._updatedSources[t.source]=\"reload\",this.sourceCaches[t.source].pause()),this._changed=!0},r.prototype._flattenAndSortRenderedFeatures=function(t){for(var e=this,r=function(t){return\"fill-extrusion\"===e._layers[t].type},n={},i=[],a=this._order.length-1;a>=0;a--){var o=this._order[a];if(r(o)){n[o]=a;for(var s=0,l=t;s=0;d--){var m=this._order[d];if(r(m))for(var g=i.length-1;g>=0;g--){var v=i[g].feature;if(n[v.layer.id] 0.5) {gl_FragColor=vec4(0.0,0.0,1.0,0.5)*alpha;}if (v_notUsed > 0.5) {gl_FragColor*=.1;}}\",\"attribute vec2 a_pos;attribute vec2 a_anchor_pos;attribute vec2 a_extrude;attribute vec2 a_placed;attribute vec2 a_shift;uniform mat4 u_matrix;uniform vec2 u_extrude_scale;uniform float u_camera_to_center_distance;varying float v_placed;varying float v_notUsed;void main() {vec4 projectedPoint=u_matrix*vec4(a_anchor_pos,0,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float collision_perspective_ratio=clamp(0.5+0.5*(u_camera_to_center_distance/camera_to_anchor_distance),0.0,4.0);gl_Position=u_matrix*vec4(a_pos,0.0,1.0);gl_Position.xy+=(a_extrude+a_shift)*u_extrude_scale*gl_Position.w*collision_perspective_ratio;v_placed=a_placed.x;v_notUsed=a_placed.y;}\"),tr=yr(\"varying float v_radius;varying vec2 v_extrude;varying float v_perspective_ratio;varying float v_collision;void main() {float alpha=0.5*min(v_perspective_ratio,1.0);float stroke_radius=0.9*max(v_perspective_ratio,1.0);float distance_to_center=length(v_extrude);float distance_to_edge=abs(distance_to_center-v_radius);float opacity_t=smoothstep(-stroke_radius,0.0,-distance_to_edge);vec4 color=mix(vec4(0.0,0.0,1.0,0.5),vec4(1.0,0.0,0.0,1.0),v_collision);gl_FragColor=color*alpha*opacity_t;}\",\"attribute vec2 a_pos;attribute float a_radius;attribute vec2 a_flags;uniform mat4 u_matrix;uniform mat4 u_inv_matrix;uniform vec2 u_viewport_size;uniform float u_camera_to_center_distance;varying float v_radius;varying vec2 v_extrude;varying float v_perspective_ratio;varying float v_collision;vec3 toTilePosition(vec2 screenPos) {vec4 rayStart=u_inv_matrix*vec4(screenPos,-1.0,1.0);vec4 rayEnd =u_inv_matrix*vec4(screenPos, 1.0,1.0);rayStart.xyz/=rayStart.w;rayEnd.xyz /=rayEnd.w;highp float t=(0.0-rayStart.z)/(rayEnd.z-rayStart.z);return mix(rayStart.xyz,rayEnd.xyz,t);}void main() {vec2 quadCenterPos=a_pos;float radius=a_radius;float collision=a_flags.x;float vertexIdx=a_flags.y;vec2 quadVertexOffset=vec2(mix(-1.0,1.0,float(vertexIdx >=2.0)),mix(-1.0,1.0,float(vertexIdx >=1.0 && vertexIdx <=2.0)));vec2 quadVertexExtent=quadVertexOffset*radius;vec3 tilePos=toTilePosition(quadCenterPos);vec4 clipPos=u_matrix*vec4(tilePos,1.0);highp float camera_to_anchor_distance=clipPos.w;highp float collision_perspective_ratio=clamp(0.5+0.5*(u_camera_to_center_distance/camera_to_anchor_distance),0.0,4.0);float padding_factor=1.2;v_radius=radius;v_extrude=quadVertexExtent*padding_factor;v_perspective_ratio=collision_perspective_ratio;v_collision=collision;gl_Position=vec4(clipPos.xyz/clipPos.w,1.0)+vec4(quadVertexExtent*padding_factor/u_viewport_size*2.0,0.0,0.0);}\"),er=yr(\"uniform highp vec4 u_color;uniform sampler2D u_overlay;varying vec2 v_uv;void main() {vec4 overlay_color=texture2D(u_overlay,v_uv);gl_FragColor=mix(u_color,overlay_color,overlay_color.a);}\",\"attribute vec2 a_pos;varying vec2 v_uv;uniform mat4 u_matrix;uniform float u_overlay_scale;void main() {v_uv=a_pos/8192.0;gl_Position=u_matrix*vec4(a_pos*u_overlay_scale,0,1);}\"),rr=yr(\"#pragma mapbox: define highp vec4 color\\n#pragma mapbox: define lowp float opacity\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 color\\n#pragma mapbox: initialize lowp float opacity\\ngl_FragColor=color*opacity;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"attribute vec2 a_pos;uniform mat4 u_matrix;\\n#pragma mapbox: define highp vec4 color\\n#pragma mapbox: define lowp float opacity\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 color\\n#pragma mapbox: initialize lowp float opacity\\ngl_Position=u_matrix*vec4(a_pos,0,1);}\"),nr=yr(\"varying vec2 v_pos;\\n#pragma mapbox: define highp vec4 outline_color\\n#pragma mapbox: define lowp float opacity\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 outline_color\\n#pragma mapbox: initialize lowp float opacity\\nfloat dist=length(v_pos-gl_FragCoord.xy);float alpha=1.0-smoothstep(0.0,1.0,dist);gl_FragColor=outline_color*(alpha*opacity);\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"attribute vec2 a_pos;uniform mat4 u_matrix;uniform vec2 u_world;varying vec2 v_pos;\\n#pragma mapbox: define highp vec4 outline_color\\n#pragma mapbox: define lowp float opacity\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 outline_color\\n#pragma mapbox: initialize lowp float opacity\\ngl_Position=u_matrix*vec4(a_pos,0,1);v_pos=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world;}\"),ir=yr(\"uniform vec2 u_texsize;uniform sampler2D u_image;uniform float u_fade;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec2 v_pos;\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp vec4 pattern_from\\n#pragma mapbox: define lowp vec4 pattern_to\\nvoid main() {\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize mediump vec4 pattern_from\\n#pragma mapbox: initialize mediump vec4 pattern_to\\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);float dist=length(v_pos-gl_FragCoord.xy);float alpha=1.0-smoothstep(0.0,1.0,dist);gl_FragColor=mix(color1,color2,u_fade)*alpha*opacity;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"uniform mat4 u_matrix;uniform vec2 u_world;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform vec3 u_scale;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec2 v_pos;\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp vec4 pattern_from\\n#pragma mapbox: define lowp vec4 pattern_to\\n#pragma mapbox: define lowp float pixel_ratio_from\\n#pragma mapbox: define lowp float pixel_ratio_to\\nvoid main() {\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize mediump vec4 pattern_from\\n#pragma mapbox: initialize mediump vec4 pattern_to\\n#pragma mapbox: initialize lowp float pixel_ratio_from\\n#pragma mapbox: initialize lowp float pixel_ratio_to\\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;gl_Position=u_matrix*vec4(a_pos,0,1);vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileRatio,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileRatio,a_pos);v_pos=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world;}\"),ar=yr(\"uniform vec2 u_texsize;uniform float u_fade;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp vec4 pattern_from\\n#pragma mapbox: define lowp vec4 pattern_to\\nvoid main() {\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize mediump vec4 pattern_from\\n#pragma mapbox: initialize mediump vec4 pattern_to\\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);gl_FragColor=mix(color1,color2,u_fade)*opacity;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"uniform mat4 u_matrix;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform vec3 u_scale;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp vec4 pattern_from\\n#pragma mapbox: define lowp vec4 pattern_to\\n#pragma mapbox: define lowp float pixel_ratio_from\\n#pragma mapbox: define lowp float pixel_ratio_to\\nvoid main() {\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize mediump vec4 pattern_from\\n#pragma mapbox: initialize mediump vec4 pattern_to\\n#pragma mapbox: initialize lowp float pixel_ratio_from\\n#pragma mapbox: initialize lowp float pixel_ratio_to\\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileZoomRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;gl_Position=u_matrix*vec4(a_pos,0,1);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileZoomRatio,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileZoomRatio,a_pos);}\"),or=yr(\"varying vec4 v_color;void main() {gl_FragColor=v_color;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"uniform mat4 u_matrix;uniform vec3 u_lightcolor;uniform lowp vec3 u_lightpos;uniform lowp float u_lightintensity;uniform float u_vertical_gradient;uniform lowp float u_opacity;attribute vec2 a_pos;attribute vec4 a_normal_ed;varying vec4 v_color;\\n#pragma mapbox: define highp float base\\n#pragma mapbox: define highp float height\\n#pragma mapbox: define highp vec4 color\\nvoid main() {\\n#pragma mapbox: initialize highp float base\\n#pragma mapbox: initialize highp float height\\n#pragma mapbox: initialize highp vec4 color\\nvec3 normal=a_normal_ed.xyz;base=max(0.0,base);height=max(0.0,height);float t=mod(normal.x,2.0);gl_Position=u_matrix*vec4(a_pos,t > 0.0 ? height : base,1);float colorvalue=color.r*0.2126+color.g*0.7152+color.b*0.0722;v_color=vec4(0.0,0.0,0.0,1.0);vec4 ambientlight=vec4(0.03,0.03,0.03,1.0);color+=ambientlight;float directional=clamp(dot(normal/16384.0,u_lightpos),0.0,1.0);directional=mix((1.0-u_lightintensity),max((1.0-colorvalue+u_lightintensity),1.0),directional);if (normal.y !=0.0) {directional*=((1.0-u_vertical_gradient)+(u_vertical_gradient*clamp((t+base)*pow(height/150.0,0.5),mix(0.7,0.98,1.0-u_lightintensity),1.0)));}v_color.r+=clamp(color.r*directional*u_lightcolor.r,mix(0.0,0.3,1.0-u_lightcolor.r),1.0);v_color.g+=clamp(color.g*directional*u_lightcolor.g,mix(0.0,0.3,1.0-u_lightcolor.g),1.0);v_color.b+=clamp(color.b*directional*u_lightcolor.b,mix(0.0,0.3,1.0-u_lightcolor.b),1.0);v_color*=u_opacity;}\"),sr=yr(\"uniform vec2 u_texsize;uniform float u_fade;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec4 v_lighting;\\n#pragma mapbox: define lowp float base\\n#pragma mapbox: define lowp float height\\n#pragma mapbox: define lowp vec4 pattern_from\\n#pragma mapbox: define lowp vec4 pattern_to\\n#pragma mapbox: define lowp float pixel_ratio_from\\n#pragma mapbox: define lowp float pixel_ratio_to\\nvoid main() {\\n#pragma mapbox: initialize lowp float base\\n#pragma mapbox: initialize lowp float height\\n#pragma mapbox: initialize mediump vec4 pattern_from\\n#pragma mapbox: initialize mediump vec4 pattern_to\\n#pragma mapbox: initialize lowp float pixel_ratio_from\\n#pragma mapbox: initialize lowp float pixel_ratio_to\\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);vec4 mixedColor=mix(color1,color2,u_fade);gl_FragColor=mixedColor*v_lighting;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"uniform mat4 u_matrix;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform float u_height_factor;uniform vec3 u_scale;uniform float u_vertical_gradient;uniform lowp float u_opacity;uniform vec3 u_lightcolor;uniform lowp vec3 u_lightpos;uniform lowp float u_lightintensity;attribute vec2 a_pos;attribute vec4 a_normal_ed;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec4 v_lighting;\\n#pragma mapbox: define lowp float base\\n#pragma mapbox: define lowp float height\\n#pragma mapbox: define lowp vec4 pattern_from\\n#pragma mapbox: define lowp vec4 pattern_to\\n#pragma mapbox: define lowp float pixel_ratio_from\\n#pragma mapbox: define lowp float pixel_ratio_to\\nvoid main() {\\n#pragma mapbox: initialize lowp float base\\n#pragma mapbox: initialize lowp float height\\n#pragma mapbox: initialize mediump vec4 pattern_from\\n#pragma mapbox: initialize mediump vec4 pattern_to\\n#pragma mapbox: initialize lowp float pixel_ratio_from\\n#pragma mapbox: initialize lowp float pixel_ratio_to\\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec3 normal=a_normal_ed.xyz;float edgedistance=a_normal_ed.w;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;base=max(0.0,base);height=max(0.0,height);float t=mod(normal.x,2.0);float z=t > 0.0 ? height : base;gl_Position=u_matrix*vec4(a_pos,z,1);vec2 pos=normal.x==1.0 && normal.y==0.0 && normal.z==16384.0\\n? a_pos\\n: vec2(edgedistance,z*u_height_factor);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileRatio,pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileRatio,pos);v_lighting=vec4(0.0,0.0,0.0,1.0);float directional=clamp(dot(normal/16383.0,u_lightpos),0.0,1.0);directional=mix((1.0-u_lightintensity),max((0.5+u_lightintensity),1.0),directional);if (normal.y !=0.0) {directional*=((1.0-u_vertical_gradient)+(u_vertical_gradient*clamp((t+base)*pow(height/150.0,0.5),mix(0.7,0.98,1.0-u_lightintensity),1.0)));}v_lighting.rgb+=clamp(directional*u_lightcolor,mix(vec3(0.0),vec3(0.3),1.0-u_lightcolor),vec3(1.0));v_lighting*=u_opacity;}\"),lr=yr(\"#ifdef GL_ES\\nprecision highp float;\\n#endif\\nuniform sampler2D u_image;varying vec2 v_pos;uniform vec2 u_dimension;uniform float u_zoom;uniform float u_maxzoom;uniform vec4 u_unpack;float getElevation(vec2 coord,float bias) {vec4 data=texture2D(u_image,coord)*255.0;data.a=-1.0;return dot(data,u_unpack)/4.0;}void main() {vec2 epsilon=1.0/u_dimension;float a=getElevation(v_pos+vec2(-epsilon.x,-epsilon.y),0.0);float b=getElevation(v_pos+vec2(0,-epsilon.y),0.0);float c=getElevation(v_pos+vec2(epsilon.x,-epsilon.y),0.0);float d=getElevation(v_pos+vec2(-epsilon.x,0),0.0);float e=getElevation(v_pos,0.0);float f=getElevation(v_pos+vec2(epsilon.x,0),0.0);float g=getElevation(v_pos+vec2(-epsilon.x,epsilon.y),0.0);float h=getElevation(v_pos+vec2(0,epsilon.y),0.0);float i=getElevation(v_pos+vec2(epsilon.x,epsilon.y),0.0);float exaggeration=u_zoom < 2.0 ? 0.4 : u_zoom < 4.5 ? 0.35 : 0.3;vec2 deriv=vec2((c+f+f+i)-(a+d+d+g),(g+h+h+i)-(a+b+b+c))/ pow(2.0,(u_zoom-u_maxzoom)*exaggeration+19.2562-u_zoom);gl_FragColor=clamp(vec4(deriv.x/2.0+0.5,deriv.y/2.0+0.5,1.0,1.0),0.0,1.0);\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"uniform mat4 u_matrix;uniform vec2 u_dimension;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);highp vec2 epsilon=1.0/u_dimension;float scale=(u_dimension.x-2.0)/u_dimension.x;v_pos=(a_texture_pos/8192.0)*scale+epsilon;}\"),cr=yr(\"uniform sampler2D u_image;varying vec2 v_pos;uniform vec2 u_latrange;uniform vec2 u_light;uniform vec4 u_shadow;uniform vec4 u_highlight;uniform vec4 u_accent;\\n#define PI 3.141592653589793\\nvoid main() {vec4 pixel=texture2D(u_image,v_pos);vec2 deriv=((pixel.rg*2.0)-1.0);float scaleFactor=cos(radians((u_latrange[0]-u_latrange[1])*(1.0-v_pos.y)+u_latrange[1]));float slope=atan(1.25*length(deriv)/scaleFactor);float aspect=deriv.x !=0.0 ? atan(deriv.y,-deriv.x) : PI/2.0*(deriv.y > 0.0 ? 1.0 :-1.0);float intensity=u_light.x;float azimuth=u_light.y+PI;float base=1.875-intensity*1.75;float maxValue=0.5*PI;float scaledSlope=intensity !=0.5 ? ((pow(base,slope)-1.0)/(pow(base,maxValue)-1.0))*maxValue : slope;float accent=cos(scaledSlope);vec4 accent_color=(1.0-accent)*u_accent*clamp(intensity*2.0,0.0,1.0);float shade=abs(mod((aspect+azimuth)/PI+0.5,2.0)-1.0);vec4 shade_color=mix(u_shadow,u_highlight,shade)*sin(scaledSlope)*clamp(intensity*2.0,0.0,1.0);gl_FragColor=accent_color*(1.0-shade_color.a)+shade_color;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"uniform mat4 u_matrix;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos=a_texture_pos/8192.0;}\"),ur=yr(\"uniform lowp float u_device_pixel_ratio;varying vec2 v_width2;varying vec2 v_normal;varying float v_gamma_scale;\\n#pragma mapbox: define highp vec4 color\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 color\\n#pragma mapbox: initialize lowp float blur\\n#pragma mapbox: initialize lowp float opacity\\nfloat dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);gl_FragColor=color*(alpha*opacity);\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"\\n#define scale 0.015873016\\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform vec2 u_units_to_pixels;uniform lowp float u_device_pixel_ratio;varying vec2 v_normal;varying vec2 v_width2;varying float v_gamma_scale;varying highp float v_linesofar;\\n#pragma mapbox: define highp vec4 color\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define mediump float gapwidth\\n#pragma mapbox: define lowp float offset\\n#pragma mapbox: define mediump float width\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 color\\n#pragma mapbox: initialize lowp float blur\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize mediump float gapwidth\\n#pragma mapbox: initialize lowp float offset\\n#pragma mapbox: initialize mediump float width\\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;v_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*2.0;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;v_width2=vec2(outset,inset);}\"),fr=yr(\"uniform lowp float u_device_pixel_ratio;uniform sampler2D u_image;varying vec2 v_width2;varying vec2 v_normal;varying float v_gamma_scale;varying highp float v_lineprogress;\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\nvoid main() {\\n#pragma mapbox: initialize lowp float blur\\n#pragma mapbox: initialize lowp float opacity\\nfloat dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);vec4 color=texture2D(u_image,vec2(v_lineprogress,0.5));gl_FragColor=color*(alpha*opacity);\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"\\n#define MAX_LINE_DISTANCE 32767.0\\n#define scale 0.015873016\\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;uniform vec2 u_units_to_pixels;varying vec2 v_normal;varying vec2 v_width2;varying float v_gamma_scale;varying highp float v_lineprogress;\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define mediump float gapwidth\\n#pragma mapbox: define lowp float offset\\n#pragma mapbox: define mediump float width\\nvoid main() {\\n#pragma mapbox: initialize lowp float blur\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize mediump float gapwidth\\n#pragma mapbox: initialize lowp float offset\\n#pragma mapbox: initialize mediump float width\\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;v_lineprogress=(floor(a_data.z/4.0)+a_data.w*64.0)*2.0/MAX_LINE_DISTANCE;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;v_width2=vec2(outset,inset);}\"),hr=yr(\"uniform lowp float u_device_pixel_ratio;uniform vec2 u_texsize;uniform float u_fade;uniform mediump vec3 u_scale;uniform sampler2D u_image;varying vec2 v_normal;varying vec2 v_width2;varying float v_linesofar;varying float v_gamma_scale;varying float v_width;\\n#pragma mapbox: define lowp vec4 pattern_from\\n#pragma mapbox: define lowp vec4 pattern_to\\n#pragma mapbox: define lowp float pixel_ratio_from\\n#pragma mapbox: define lowp float pixel_ratio_to\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\nvoid main() {\\n#pragma mapbox: initialize mediump vec4 pattern_from\\n#pragma mapbox: initialize mediump vec4 pattern_to\\n#pragma mapbox: initialize lowp float pixel_ratio_from\\n#pragma mapbox: initialize lowp float pixel_ratio_to\\n#pragma mapbox: initialize lowp float blur\\n#pragma mapbox: initialize lowp float opacity\\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileZoomRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;vec2 pattern_size_a=vec2(display_size_a.x*fromScale/tileZoomRatio,display_size_a.y);vec2 pattern_size_b=vec2(display_size_b.x*toScale/tileZoomRatio,display_size_b.y);float aspect_a=display_size_a.y/v_width;float aspect_b=display_size_b.y/v_width;float dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);float x_a=mod(v_linesofar/pattern_size_a.x*aspect_a,1.0);float x_b=mod(v_linesofar/pattern_size_b.x*aspect_b,1.0);float y=0.5*v_normal.y+0.5;vec2 texel_size=1.0/u_texsize;vec2 pos_a=mix(pattern_tl_a*texel_size-texel_size,pattern_br_a*texel_size+texel_size,vec2(x_a,y));vec2 pos_b=mix(pattern_tl_b*texel_size-texel_size,pattern_br_b*texel_size+texel_size,vec2(x_b,y));vec4 color=mix(texture2D(u_image,pos_a),texture2D(u_image,pos_b),u_fade);gl_FragColor=color*alpha*opacity;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"\\n#define scale 0.015873016\\n#define LINE_DISTANCE_SCALE 2.0\\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform vec2 u_units_to_pixels;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;varying vec2 v_normal;varying vec2 v_width2;varying float v_linesofar;varying float v_gamma_scale;varying float v_width;\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp float offset\\n#pragma mapbox: define mediump float gapwidth\\n#pragma mapbox: define mediump float width\\n#pragma mapbox: define lowp float floorwidth\\n#pragma mapbox: define lowp vec4 pattern_from\\n#pragma mapbox: define lowp vec4 pattern_to\\n#pragma mapbox: define lowp float pixel_ratio_from\\n#pragma mapbox: define lowp float pixel_ratio_to\\nvoid main() {\\n#pragma mapbox: initialize lowp float blur\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize lowp float offset\\n#pragma mapbox: initialize mediump float gapwidth\\n#pragma mapbox: initialize mediump float width\\n#pragma mapbox: initialize lowp float floorwidth\\n#pragma mapbox: initialize mediump vec4 pattern_from\\n#pragma mapbox: initialize mediump vec4 pattern_to\\n#pragma mapbox: initialize lowp float pixel_ratio_from\\n#pragma mapbox: initialize lowp float pixel_ratio_to\\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;float a_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*LINE_DISTANCE_SCALE;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;v_linesofar=a_linesofar;v_width2=vec2(outset,inset);v_width=floorwidth;}\"),pr=yr(\"uniform lowp float u_device_pixel_ratio;uniform sampler2D u_image;uniform float u_sdfgamma;uniform float u_mix;varying vec2 v_normal;varying vec2 v_width2;varying vec2 v_tex_a;varying vec2 v_tex_b;varying float v_gamma_scale;\\n#pragma mapbox: define highp vec4 color\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define mediump float width\\n#pragma mapbox: define lowp float floorwidth\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 color\\n#pragma mapbox: initialize lowp float blur\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize mediump float width\\n#pragma mapbox: initialize lowp float floorwidth\\nfloat dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);float sdfdist_a=texture2D(u_image,v_tex_a).a;float sdfdist_b=texture2D(u_image,v_tex_b).a;float sdfdist=mix(sdfdist_a,sdfdist_b,u_mix);alpha*=smoothstep(0.5-u_sdfgamma/floorwidth,0.5+u_sdfgamma/floorwidth,sdfdist);gl_FragColor=color*(alpha*opacity);\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"\\n#define scale 0.015873016\\n#define LINE_DISTANCE_SCALE 2.0\\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;uniform vec2 u_patternscale_a;uniform float u_tex_y_a;uniform vec2 u_patternscale_b;uniform float u_tex_y_b;uniform vec2 u_units_to_pixels;varying vec2 v_normal;varying vec2 v_width2;varying vec2 v_tex_a;varying vec2 v_tex_b;varying float v_gamma_scale;\\n#pragma mapbox: define highp vec4 color\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define mediump float gapwidth\\n#pragma mapbox: define lowp float offset\\n#pragma mapbox: define mediump float width\\n#pragma mapbox: define lowp float floorwidth\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 color\\n#pragma mapbox: initialize lowp float blur\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize mediump float gapwidth\\n#pragma mapbox: initialize lowp float offset\\n#pragma mapbox: initialize mediump float width\\n#pragma mapbox: initialize lowp float floorwidth\\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;float a_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*LINE_DISTANCE_SCALE;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;v_tex_a=vec2(a_linesofar*u_patternscale_a.x/floorwidth,normal.y*u_patternscale_a.y+u_tex_y_a);v_tex_b=vec2(a_linesofar*u_patternscale_b.x/floorwidth,normal.y*u_patternscale_b.y+u_tex_y_b);v_width2=vec2(outset,inset);}\"),dr=yr(\"uniform float u_fade_t;uniform float u_opacity;uniform sampler2D u_image0;uniform sampler2D u_image1;varying vec2 v_pos0;varying vec2 v_pos1;uniform float u_brightness_low;uniform float u_brightness_high;uniform float u_saturation_factor;uniform float u_contrast_factor;uniform vec3 u_spin_weights;void main() {vec4 color0=texture2D(u_image0,v_pos0);vec4 color1=texture2D(u_image1,v_pos1);if (color0.a > 0.0) {color0.rgb=color0.rgb/color0.a;}if (color1.a > 0.0) {color1.rgb=color1.rgb/color1.a;}vec4 color=mix(color0,color1,u_fade_t);color.a*=u_opacity;vec3 rgb=color.rgb;rgb=vec3(dot(rgb,u_spin_weights.xyz),dot(rgb,u_spin_weights.zxy),dot(rgb,u_spin_weights.yzx));float average=(color.r+color.g+color.b)/3.0;rgb+=(average-rgb)*u_saturation_factor;rgb=(rgb-0.5)*u_contrast_factor+0.5;vec3 u_high_vec=vec3(u_brightness_low,u_brightness_low,u_brightness_low);vec3 u_low_vec=vec3(u_brightness_high,u_brightness_high,u_brightness_high);gl_FragColor=vec4(mix(u_high_vec,u_low_vec,rgb)*color.a,color.a);\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"uniform mat4 u_matrix;uniform vec2 u_tl_parent;uniform float u_scale_parent;uniform float u_buffer_scale;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos0;varying vec2 v_pos1;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos0=(((a_texture_pos/8192.0)-0.5)/u_buffer_scale )+0.5;v_pos1=(v_pos0*u_scale_parent)+u_tl_parent;}\"),mr=yr(\"uniform sampler2D u_texture;varying vec2 v_tex;varying float v_fade_opacity;\\n#pragma mapbox: define lowp float opacity\\nvoid main() {\\n#pragma mapbox: initialize lowp float opacity\\nlowp float alpha=opacity*v_fade_opacity;gl_FragColor=texture2D(u_texture,v_tex)*alpha;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"const float PI=3.141592653589793;attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec4 a_pixeloffset;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform highp float u_camera_to_center_distance;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform float u_fade_change;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform vec2 u_texsize;varying vec2 v_tex;varying float v_fade_opacity;\\n#pragma mapbox: define lowp float opacity\\nvoid main() {\\n#pragma mapbox: initialize lowp float opacity\\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);vec2 a_pxoffset=a_pixeloffset.xy;vec2 a_minFontScale=a_pixeloffset.zw/256.0;highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec4 projectedPoint=u_matrix*vec4(a_pos,0,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\\ncamera_to_anchor_distance/u_camera_to_center_distance :\\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=u_is_text ? size/24.0 : size;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=u_matrix*vec4(a_pos+vec2(1,0),0,1);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,0.0,1.0);gl_Position=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*max(a_minFontScale,fontScale)+a_pxoffset/16.0),0.0,1.0);v_tex=a_tex/u_texsize;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;v_fade_opacity=max(0.0,min(1.0,fade_opacity[0]+fade_change));}\"),gr=yr(\"#define SDF_PX 8.0\\nuniform bool u_is_halo;uniform sampler2D u_texture;uniform highp float u_gamma_scale;uniform lowp float u_device_pixel_ratio;uniform bool u_is_text;varying vec2 v_data0;varying vec3 v_data1;\\n#pragma mapbox: define highp vec4 fill_color\\n#pragma mapbox: define highp vec4 halo_color\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp float halo_width\\n#pragma mapbox: define lowp float halo_blur\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 fill_color\\n#pragma mapbox: initialize highp vec4 halo_color\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize lowp float halo_width\\n#pragma mapbox: initialize lowp float halo_blur\\nfloat EDGE_GAMMA=0.105/u_device_pixel_ratio;vec2 tex=v_data0.xy;float gamma_scale=v_data1.x;float size=v_data1.y;float fade_opacity=v_data1[2];float fontScale=u_is_text ? size/24.0 : size;lowp vec4 color=fill_color;highp float gamma=EDGE_GAMMA/(fontScale*u_gamma_scale);lowp float buff=(256.0-64.0)/256.0;if (u_is_halo) {color=halo_color;gamma=(halo_blur*1.19/SDF_PX+EDGE_GAMMA)/(fontScale*u_gamma_scale);buff=(6.0-halo_width/fontScale)/SDF_PX;}lowp float dist=texture2D(u_texture,tex).a;highp float gamma_scaled=gamma*gamma_scale;highp float alpha=smoothstep(buff-gamma_scaled,buff+gamma_scaled,dist);gl_FragColor=color*(alpha*opacity*fade_opacity);\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"const float PI=3.141592653589793;attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec4 a_pixeloffset;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform highp float u_camera_to_center_distance;uniform float u_fade_change;uniform vec2 u_texsize;varying vec2 v_data0;varying vec3 v_data1;\\n#pragma mapbox: define highp vec4 fill_color\\n#pragma mapbox: define highp vec4 halo_color\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp float halo_width\\n#pragma mapbox: define lowp float halo_blur\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 fill_color\\n#pragma mapbox: initialize highp vec4 halo_color\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize lowp float halo_width\\n#pragma mapbox: initialize lowp float halo_blur\\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);vec2 a_pxoffset=a_pixeloffset.xy;highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec4 projectedPoint=u_matrix*vec4(a_pos,0,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\\ncamera_to_anchor_distance/u_camera_to_center_distance :\\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=u_is_text ? size/24.0 : size;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=u_matrix*vec4(a_pos+vec2(1,0),0,1);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,0.0,1.0);gl_Position=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*fontScale+a_pxoffset),0.0,1.0);float gamma_scale=gl_Position.w;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(1.0,fade_opacity[0]+fade_change));v_data0=a_tex/u_texsize;v_data1=vec3(gamma_scale,size,interpolated_fade_opacity);}\"),vr=yr(\"#define SDF_PX 8.0\\n#define SDF 1.0\\n#define ICON 0.0\\nuniform bool u_is_halo;uniform sampler2D u_texture;uniform sampler2D u_texture_icon;uniform highp float u_gamma_scale;uniform lowp float u_device_pixel_ratio;varying vec4 v_data0;varying vec4 v_data1;\\n#pragma mapbox: define highp vec4 fill_color\\n#pragma mapbox: define highp vec4 halo_color\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp float halo_width\\n#pragma mapbox: define lowp float halo_blur\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 fill_color\\n#pragma mapbox: initialize highp vec4 halo_color\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize lowp float halo_width\\n#pragma mapbox: initialize lowp float halo_blur\\nfloat fade_opacity=v_data1[2];if (v_data1.w==ICON) {vec2 tex_icon=v_data0.zw;lowp float alpha=opacity*fade_opacity;gl_FragColor=texture2D(u_texture_icon,tex_icon)*alpha;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\nreturn;}vec2 tex=v_data0.xy;float EDGE_GAMMA=0.105/u_device_pixel_ratio;float gamma_scale=v_data1.x;float size=v_data1.y;float fontScale=size/24.0;lowp vec4 color=fill_color;highp float gamma=EDGE_GAMMA/(fontScale*u_gamma_scale);lowp float buff=(256.0-64.0)/256.0;if (u_is_halo) {color=halo_color;gamma=(halo_blur*1.19/SDF_PX+EDGE_GAMMA)/(fontScale*u_gamma_scale);buff=(6.0-halo_width/fontScale)/SDF_PX;}lowp float dist=texture2D(u_texture,tex).a;highp float gamma_scaled=gamma*gamma_scale;highp float alpha=smoothstep(buff-gamma_scaled,buff+gamma_scaled,dist);gl_FragColor=color*(alpha*opacity*fade_opacity);\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"const float PI=3.141592653589793;attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform highp float u_camera_to_center_distance;uniform float u_fade_change;uniform vec2 u_texsize;uniform vec2 u_texsize_icon;varying vec4 v_data0;varying vec4 v_data1;\\n#pragma mapbox: define highp vec4 fill_color\\n#pragma mapbox: define highp vec4 halo_color\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp float halo_width\\n#pragma mapbox: define lowp float halo_blur\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 fill_color\\n#pragma mapbox: initialize highp vec4 halo_color\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize lowp float halo_width\\n#pragma mapbox: initialize lowp float halo_blur\\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);float is_sdf=a_size[0]-2.0*a_size_min;highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec4 projectedPoint=u_matrix*vec4(a_pos,0,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\\ncamera_to_anchor_distance/u_camera_to_center_distance :\\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=size/24.0;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=u_matrix*vec4(a_pos+vec2(1,0),0,1);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,0.0,1.0);gl_Position=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*fontScale),0.0,1.0);float gamma_scale=gl_Position.w;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(1.0,fade_opacity[0]+fade_change));v_data0.xy=a_tex/u_texsize;v_data0.zw=a_tex/u_texsize_icon;v_data1=vec4(gamma_scale,size,interpolated_fade_opacity,is_sdf);}\");function yr(t,e){var r=/#pragma mapbox: ([\\w]+) ([\\w]+) ([\\w]+) ([\\w]+)/g,n={};return{fragmentSource:t=t.replace(r,(function(t,e,r,i,a){return n[a]=!0,\"define\"===e?\"\\n#ifndef HAS_UNIFORM_u_\"+a+\"\\nvarying \"+r+\" \"+i+\" \"+a+\";\\n#else\\nuniform \"+r+\" \"+i+\" u_\"+a+\";\\n#endif\\n\":\"\\n#ifdef HAS_UNIFORM_u_\"+a+\"\\n \"+r+\" \"+i+\" \"+a+\" = u_\"+a+\";\\n#endif\\n\"})),vertexSource:e=e.replace(r,(function(t,e,r,i,a){var o=\"float\"===i?\"vec2\":\"vec4\",s=a.match(/color/)?\"color\":o;return n[a]?\"define\"===e?\"\\n#ifndef HAS_UNIFORM_u_\"+a+\"\\nuniform lowp float u_\"+a+\"_t;\\nattribute \"+r+\" \"+o+\" a_\"+a+\";\\nvarying \"+r+\" \"+i+\" \"+a+\";\\n#else\\nuniform \"+r+\" \"+i+\" u_\"+a+\";\\n#endif\\n\":\"vec4\"===s?\"\\n#ifndef HAS_UNIFORM_u_\"+a+\"\\n \"+a+\" = a_\"+a+\";\\n#else\\n \"+r+\" \"+i+\" \"+a+\" = u_\"+a+\";\\n#endif\\n\":\"\\n#ifndef HAS_UNIFORM_u_\"+a+\"\\n \"+a+\" = unpack_mix_\"+s+\"(a_\"+a+\", u_\"+a+\"_t);\\n#else\\n \"+r+\" \"+i+\" \"+a+\" = u_\"+a+\";\\n#endif\\n\":\"define\"===e?\"\\n#ifndef HAS_UNIFORM_u_\"+a+\"\\nuniform lowp float u_\"+a+\"_t;\\nattribute \"+r+\" \"+o+\" a_\"+a+\";\\n#else\\nuniform \"+r+\" \"+i+\" u_\"+a+\";\\n#endif\\n\":\"vec4\"===s?\"\\n#ifndef HAS_UNIFORM_u_\"+a+\"\\n \"+r+\" \"+i+\" \"+a+\" = a_\"+a+\";\\n#else\\n \"+r+\" \"+i+\" \"+a+\" = u_\"+a+\";\\n#endif\\n\":\"\\n#ifndef HAS_UNIFORM_u_\"+a+\"\\n \"+r+\" \"+i+\" \"+a+\" = unpack_mix_\"+s+\"(a_\"+a+\", u_\"+a+\"_t);\\n#else\\n \"+r+\" \"+i+\" \"+a+\" = u_\"+a+\";\\n#endif\\n\"}))}}var xr=Object.freeze({__proto__:null,prelude:Ye,background:We,backgroundPattern:Ze,circle:Xe,clippingMask:Je,heatmap:Ke,heatmapTexture:Qe,collisionBox:$e,collisionCircle:tr,debug:er,fill:rr,fillOutline:nr,fillOutlinePattern:ir,fillPattern:ar,fillExtrusion:or,fillExtrusionPattern:sr,hillshadePrepare:lr,hillshade:cr,line:ur,lineGradient:fr,linePattern:hr,lineSDF:pr,raster:dr,symbolIcon:mr,symbolSDF:gr,symbolTextAndIcon:vr}),br=function(){this.boundProgram=null,this.boundLayoutVertexBuffer=null,this.boundPaintVertexBuffers=[],this.boundIndexBuffer=null,this.boundVertexOffset=null,this.boundDynamicVertexBuffer=null,this.vao=null};br.prototype.bind=function(t,e,r,n,i,a,o,s){this.context=t;for(var l=this.boundPaintVertexBuffers.length!==n.length,c=0;!l&&c>16,s>>16],u_pixel_coord_lower:[65535&o,65535&s]}}_r.prototype.draw=function(t,e,r,n,i,a,o,s,l,c,u,f,h,p,d,m){var g,v=t.gl;if(!this.failedToCreate){for(var y in t.program.set(this.program),t.setDepthMode(r),t.setStencilMode(n),t.setColorMode(i),t.setCullFace(a),this.fixedUniforms)this.fixedUniforms[y].set(o[y]);p&&p.setUniforms(t,this.binderUniforms,f,{zoom:h});for(var x=(g={},g[v.LINES]=2,g[v.TRIANGLES]=3,g[v.LINE_STRIP]=1,g)[e],b=0,_=u.get();b<_.length;b+=1){var w=_[b],T=w.vaos||(w.vaos={});(T[s]||(T[s]=new br)).bind(t,this,l,p?p.getPaintVertexBuffers():[],c,w.vertexOffset,d,m),v.drawElements(e,w.primitiveLength*x,v.UNSIGNED_SHORT,w.primitiveOffset*x*2)}}};var Tr=function(e,r,n,i){var a=r.style.light,o=a.properties.get(\"position\"),s=[o.x,o.y,o.z],l=t.create$1();\"viewport\"===a.properties.get(\"anchor\")&&t.fromRotation(l,-r.transform.angle),t.transformMat3(s,s,l);var c=a.properties.get(\"color\");return{u_matrix:e,u_lightpos:s,u_lightintensity:a.properties.get(\"intensity\"),u_lightcolor:[c.r,c.g,c.b],u_vertical_gradient:+n,u_opacity:i}},kr=function(e,r,n,i,a,o,s){return t.extend(Tr(e,r,n,i),wr(o,r,s),{u_height_factor:-Math.pow(2,a.overscaledZ)/s.tileSize/8})},Ar=function(t){return{u_matrix:t}},Mr=function(e,r,n,i){return t.extend(Ar(e),wr(n,r,i))},Sr=function(t,e){return{u_matrix:t,u_world:e}},Er=function(e,r,n,i,a){return t.extend(Mr(e,r,n,i),{u_world:a})},Lr=function(e,r,n,i){var a,o,s=e.transform;if(\"map\"===i.paint.get(\"circle-pitch-alignment\")){var l=pe(n,1,s.zoom);a=!0,o=[l,l]}else a=!1,o=s.pixelsToGLUnits;return{u_camera_to_center_distance:s.cameraToCenterDistance,u_scale_with_map:+(\"map\"===i.paint.get(\"circle-pitch-scale\")),u_matrix:e.translatePosMatrix(r.posMatrix,n,i.paint.get(\"circle-translate\"),i.paint.get(\"circle-translate-anchor\")),u_pitch_with_map:+a,u_device_pixel_ratio:t.browser.devicePixelRatio,u_extrude_scale:o}},Cr=function(t,e,r){var n=pe(r,1,e.zoom),i=Math.pow(2,e.zoom-r.tileID.overscaledZ),a=r.tileID.overscaleFactor();return{u_matrix:t,u_camera_to_center_distance:e.cameraToCenterDistance,u_pixels_to_tile_units:n,u_extrude_scale:[e.pixelsToGLUnits[0]/(n*i),e.pixelsToGLUnits[1]/(n*i)],u_overscale_factor:a}},Pr=function(t,e,r){return{u_matrix:t,u_inv_matrix:e,u_camera_to_center_distance:r.cameraToCenterDistance,u_viewport_size:[r.width,r.height]}},Ir=function(t,e,r){return void 0===r&&(r=1),{u_matrix:t,u_color:e,u_overlay:0,u_overlay_scale:r}},Or=function(t){return{u_matrix:t}},zr=function(t,e,r,n){return{u_matrix:t,u_extrude_scale:pe(e,1,r),u_intensity:n}};function Dr(e,r){var n=Math.pow(2,r.canonical.z),i=r.canonical.y;return[new t.MercatorCoordinate(0,i/n).toLngLat().lat,new t.MercatorCoordinate(0,(i+1)/n).toLngLat().lat]}var Rr=function(e,r,n){var i=e.transform;return{u_matrix:Ur(e,r,n),u_ratio:1/pe(r,1,i.zoom),u_device_pixel_ratio:t.browser.devicePixelRatio,u_units_to_pixels:[1/i.pixelsToGLUnits[0],1/i.pixelsToGLUnits[1]]}},Fr=function(e,r,n){return t.extend(Rr(e,r,n),{u_image:0})},Br=function(e,r,n,i){var a=e.transform,o=jr(r,a);return{u_matrix:Ur(e,r,n),u_texsize:r.imageAtlasTexture.size,u_ratio:1/pe(r,1,a.zoom),u_device_pixel_ratio:t.browser.devicePixelRatio,u_image:0,u_scale:[o,i.fromScale,i.toScale],u_fade:i.t,u_units_to_pixels:[1/a.pixelsToGLUnits[0],1/a.pixelsToGLUnits[1]]}},Nr=function(e,r,n,i,a){var o=e.transform,s=e.lineAtlas,l=jr(r,o),c=\"round\"===n.layout.get(\"line-cap\"),u=s.getDash(i.from,c),f=s.getDash(i.to,c),h=u.width*a.fromScale,p=f.width*a.toScale;return t.extend(Rr(e,r,n),{u_patternscale_a:[l/h,-u.height/2],u_patternscale_b:[l/p,-f.height/2],u_sdfgamma:s.width/(256*Math.min(h,p)*t.browser.devicePixelRatio)/2,u_image:0,u_tex_y_a:u.y,u_tex_y_b:f.y,u_mix:a.t})};function jr(t,e){return 1/pe(t,1,e.tileZoom)}function Ur(t,e,r){return t.translatePosMatrix(e.tileID.posMatrix,e,r.paint.get(\"line-translate\"),r.paint.get(\"line-translate-anchor\"))}var Vr=function(t,e,r,n,i){return{u_matrix:t,u_tl_parent:e,u_scale_parent:r,u_buffer_scale:1,u_fade_t:n.mix,u_opacity:n.opacity*i.paint.get(\"raster-opacity\"),u_image0:0,u_image1:1,u_brightness_low:i.paint.get(\"raster-brightness-min\"),u_brightness_high:i.paint.get(\"raster-brightness-max\"),u_saturation_factor:(o=i.paint.get(\"raster-saturation\"),o>0?1-1/(1.001-o):-o),u_contrast_factor:(a=i.paint.get(\"raster-contrast\"),a>0?1/(1-a):1+a),u_spin_weights:Hr(i.paint.get(\"raster-hue-rotate\"))};var a,o};function Hr(t){t*=Math.PI/180;var e=Math.sin(t),r=Math.cos(t);return[(2*r+1)/3,(-Math.sqrt(3)*e-r+1)/3,(Math.sqrt(3)*e-r+1)/3]}var qr,Gr=function(t,e,r,n,i,a,o,s,l,c){var u=i.transform;return{u_is_size_zoom_constant:+(\"constant\"===t||\"source\"===t),u_is_size_feature_constant:+(\"constant\"===t||\"camera\"===t),u_size_t:e?e.uSizeT:0,u_size:e?e.uSize:0,u_camera_to_center_distance:u.cameraToCenterDistance,u_pitch:u.pitch/360*2*Math.PI,u_rotate_symbol:+r,u_aspect_ratio:u.width/u.height,u_fade_change:i.options.fadeDuration?i.symbolFadeChange:1,u_matrix:a,u_label_plane_matrix:o,u_coord_matrix:s,u_is_text:+l,u_pitch_with_map:+n,u_texsize:c,u_texture:0}},Yr=function(e,r,n,i,a,o,s,l,c,u,f){var h=a.transform;return t.extend(Gr(e,r,n,i,a,o,s,l,c,u),{u_gamma_scale:i?Math.cos(h._pitch)*h.cameraToCenterDistance:1,u_device_pixel_ratio:t.browser.devicePixelRatio,u_is_halo:+f})},Wr=function(e,r,n,i,a,o,s,l,c,u){return t.extend(Yr(e,r,n,i,a,o,s,l,!0,c,!0),{u_texsize_icon:u,u_texture_icon:1})},Zr=function(t,e,r){return{u_matrix:t,u_opacity:e,u_color:r}},Xr=function(e,r,n,i,a,o){return t.extend(function(t,e,r,n){var i=r.imageManager.getPattern(t.from.toString()),a=r.imageManager.getPattern(t.to.toString()),o=r.imageManager.getPixelSize(),s=o.width,l=o.height,c=Math.pow(2,n.tileID.overscaledZ),u=n.tileSize*Math.pow(2,r.transform.tileZoom)/c,f=u*(n.tileID.canonical.x+n.tileID.wrap*c),h=u*n.tileID.canonical.y;return{u_image:0,u_pattern_tl_a:i.tl,u_pattern_br_a:i.br,u_pattern_tl_b:a.tl,u_pattern_br_b:a.br,u_texsize:[s,l],u_mix:e.t,u_pattern_size_a:i.displaySize,u_pattern_size_b:a.displaySize,u_scale_a:e.fromScale,u_scale_b:e.toScale,u_tile_units_to_pixels:1/pe(n,1,r.transform.tileZoom),u_pixel_coord_upper:[f>>16,h>>16],u_pixel_coord_lower:[65535&f,65535&h]}}(i,o,n,a),{u_matrix:e,u_opacity:r})},Jr={fillExtrusion:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_lightpos:new t.Uniform3f(e,r.u_lightpos),u_lightintensity:new t.Uniform1f(e,r.u_lightintensity),u_lightcolor:new t.Uniform3f(e,r.u_lightcolor),u_vertical_gradient:new t.Uniform1f(e,r.u_vertical_gradient),u_opacity:new t.Uniform1f(e,r.u_opacity)}},fillExtrusionPattern:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_lightpos:new t.Uniform3f(e,r.u_lightpos),u_lightintensity:new t.Uniform1f(e,r.u_lightintensity),u_lightcolor:new t.Uniform3f(e,r.u_lightcolor),u_vertical_gradient:new t.Uniform1f(e,r.u_vertical_gradient),u_height_factor:new t.Uniform1f(e,r.u_height_factor),u_image:new t.Uniform1i(e,r.u_image),u_texsize:new t.Uniform2f(e,r.u_texsize),u_pixel_coord_upper:new t.Uniform2f(e,r.u_pixel_coord_upper),u_pixel_coord_lower:new t.Uniform2f(e,r.u_pixel_coord_lower),u_scale:new t.Uniform3f(e,r.u_scale),u_fade:new t.Uniform1f(e,r.u_fade),u_opacity:new t.Uniform1f(e,r.u_opacity)}},fill:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix)}},fillPattern:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_image:new t.Uniform1i(e,r.u_image),u_texsize:new t.Uniform2f(e,r.u_texsize),u_pixel_coord_upper:new t.Uniform2f(e,r.u_pixel_coord_upper),u_pixel_coord_lower:new t.Uniform2f(e,r.u_pixel_coord_lower),u_scale:new t.Uniform3f(e,r.u_scale),u_fade:new t.Uniform1f(e,r.u_fade)}},fillOutline:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_world:new t.Uniform2f(e,r.u_world)}},fillOutlinePattern:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_world:new t.Uniform2f(e,r.u_world),u_image:new t.Uniform1i(e,r.u_image),u_texsize:new t.Uniform2f(e,r.u_texsize),u_pixel_coord_upper:new t.Uniform2f(e,r.u_pixel_coord_upper),u_pixel_coord_lower:new t.Uniform2f(e,r.u_pixel_coord_lower),u_scale:new t.Uniform3f(e,r.u_scale),u_fade:new t.Uniform1f(e,r.u_fade)}},circle:function(e,r){return{u_camera_to_center_distance:new t.Uniform1f(e,r.u_camera_to_center_distance),u_scale_with_map:new t.Uniform1i(e,r.u_scale_with_map),u_pitch_with_map:new t.Uniform1i(e,r.u_pitch_with_map),u_extrude_scale:new t.Uniform2f(e,r.u_extrude_scale),u_device_pixel_ratio:new t.Uniform1f(e,r.u_device_pixel_ratio),u_matrix:new t.UniformMatrix4f(e,r.u_matrix)}},collisionBox:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_camera_to_center_distance:new t.Uniform1f(e,r.u_camera_to_center_distance),u_pixels_to_tile_units:new t.Uniform1f(e,r.u_pixels_to_tile_units),u_extrude_scale:new t.Uniform2f(e,r.u_extrude_scale),u_overscale_factor:new t.Uniform1f(e,r.u_overscale_factor)}},collisionCircle:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_inv_matrix:new t.UniformMatrix4f(e,r.u_inv_matrix),u_camera_to_center_distance:new t.Uniform1f(e,r.u_camera_to_center_distance),u_viewport_size:new t.Uniform2f(e,r.u_viewport_size)}},debug:function(e,r){return{u_color:new t.UniformColor(e,r.u_color),u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_overlay:new t.Uniform1i(e,r.u_overlay),u_overlay_scale:new t.Uniform1f(e,r.u_overlay_scale)}},clippingMask:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix)}},heatmap:function(e,r){return{u_extrude_scale:new t.Uniform1f(e,r.u_extrude_scale),u_intensity:new t.Uniform1f(e,r.u_intensity),u_matrix:new t.UniformMatrix4f(e,r.u_matrix)}},heatmapTexture:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_world:new t.Uniform2f(e,r.u_world),u_image:new t.Uniform1i(e,r.u_image),u_color_ramp:new t.Uniform1i(e,r.u_color_ramp),u_opacity:new t.Uniform1f(e,r.u_opacity)}},hillshade:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_image:new t.Uniform1i(e,r.u_image),u_latrange:new t.Uniform2f(e,r.u_latrange),u_light:new t.Uniform2f(e,r.u_light),u_shadow:new t.UniformColor(e,r.u_shadow),u_highlight:new t.UniformColor(e,r.u_highlight),u_accent:new t.UniformColor(e,r.u_accent)}},hillshadePrepare:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_image:new t.Uniform1i(e,r.u_image),u_dimension:new t.Uniform2f(e,r.u_dimension),u_zoom:new t.Uniform1f(e,r.u_zoom),u_maxzoom:new t.Uniform1f(e,r.u_maxzoom),u_unpack:new t.Uniform4f(e,r.u_unpack)}},line:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_ratio:new t.Uniform1f(e,r.u_ratio),u_device_pixel_ratio:new t.Uniform1f(e,r.u_device_pixel_ratio),u_units_to_pixels:new t.Uniform2f(e,r.u_units_to_pixels)}},lineGradient:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_ratio:new t.Uniform1f(e,r.u_ratio),u_device_pixel_ratio:new t.Uniform1f(e,r.u_device_pixel_ratio),u_units_to_pixels:new t.Uniform2f(e,r.u_units_to_pixels),u_image:new t.Uniform1i(e,r.u_image)}},linePattern:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_texsize:new t.Uniform2f(e,r.u_texsize),u_ratio:new t.Uniform1f(e,r.u_ratio),u_device_pixel_ratio:new t.Uniform1f(e,r.u_device_pixel_ratio),u_image:new t.Uniform1i(e,r.u_image),u_units_to_pixels:new t.Uniform2f(e,r.u_units_to_pixels),u_scale:new t.Uniform3f(e,r.u_scale),u_fade:new t.Uniform1f(e,r.u_fade)}},lineSDF:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_ratio:new t.Uniform1f(e,r.u_ratio),u_device_pixel_ratio:new t.Uniform1f(e,r.u_device_pixel_ratio),u_units_to_pixels:new t.Uniform2f(e,r.u_units_to_pixels),u_patternscale_a:new t.Uniform2f(e,r.u_patternscale_a),u_patternscale_b:new t.Uniform2f(e,r.u_patternscale_b),u_sdfgamma:new t.Uniform1f(e,r.u_sdfgamma),u_image:new t.Uniform1i(e,r.u_image),u_tex_y_a:new t.Uniform1f(e,r.u_tex_y_a),u_tex_y_b:new t.Uniform1f(e,r.u_tex_y_b),u_mix:new t.Uniform1f(e,r.u_mix)}},raster:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_tl_parent:new t.Uniform2f(e,r.u_tl_parent),u_scale_parent:new t.Uniform1f(e,r.u_scale_parent),u_buffer_scale:new t.Uniform1f(e,r.u_buffer_scale),u_fade_t:new t.Uniform1f(e,r.u_fade_t),u_opacity:new t.Uniform1f(e,r.u_opacity),u_image0:new t.Uniform1i(e,r.u_image0),u_image1:new t.Uniform1i(e,r.u_image1),u_brightness_low:new t.Uniform1f(e,r.u_brightness_low),u_brightness_high:new t.Uniform1f(e,r.u_brightness_high),u_saturation_factor:new t.Uniform1f(e,r.u_saturation_factor),u_contrast_factor:new t.Uniform1f(e,r.u_contrast_factor),u_spin_weights:new t.Uniform3f(e,r.u_spin_weights)}},symbolIcon:function(e,r){return{u_is_size_zoom_constant:new t.Uniform1i(e,r.u_is_size_zoom_constant),u_is_size_feature_constant:new t.Uniform1i(e,r.u_is_size_feature_constant),u_size_t:new t.Uniform1f(e,r.u_size_t),u_size:new t.Uniform1f(e,r.u_size),u_camera_to_center_distance:new t.Uniform1f(e,r.u_camera_to_center_distance),u_pitch:new t.Uniform1f(e,r.u_pitch),u_rotate_symbol:new t.Uniform1i(e,r.u_rotate_symbol),u_aspect_ratio:new t.Uniform1f(e,r.u_aspect_ratio),u_fade_change:new t.Uniform1f(e,r.u_fade_change),u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_label_plane_matrix:new t.UniformMatrix4f(e,r.u_label_plane_matrix),u_coord_matrix:new t.UniformMatrix4f(e,r.u_coord_matrix),u_is_text:new t.Uniform1i(e,r.u_is_text),u_pitch_with_map:new t.Uniform1i(e,r.u_pitch_with_map),u_texsize:new t.Uniform2f(e,r.u_texsize),u_texture:new t.Uniform1i(e,r.u_texture)}},symbolSDF:function(e,r){return{u_is_size_zoom_constant:new t.Uniform1i(e,r.u_is_size_zoom_constant),u_is_size_feature_constant:new t.Uniform1i(e,r.u_is_size_feature_constant),u_size_t:new t.Uniform1f(e,r.u_size_t),u_size:new t.Uniform1f(e,r.u_size),u_camera_to_center_distance:new t.Uniform1f(e,r.u_camera_to_center_distance),u_pitch:new t.Uniform1f(e,r.u_pitch),u_rotate_symbol:new t.Uniform1i(e,r.u_rotate_symbol),u_aspect_ratio:new t.Uniform1f(e,r.u_aspect_ratio),u_fade_change:new t.Uniform1f(e,r.u_fade_change),u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_label_plane_matrix:new t.UniformMatrix4f(e,r.u_label_plane_matrix),u_coord_matrix:new t.UniformMatrix4f(e,r.u_coord_matrix),u_is_text:new t.Uniform1i(e,r.u_is_text),u_pitch_with_map:new t.Uniform1i(e,r.u_pitch_with_map),u_texsize:new t.Uniform2f(e,r.u_texsize),u_texture:new t.Uniform1i(e,r.u_texture),u_gamma_scale:new t.Uniform1f(e,r.u_gamma_scale),u_device_pixel_ratio:new t.Uniform1f(e,r.u_device_pixel_ratio),u_is_halo:new t.Uniform1i(e,r.u_is_halo)}},symbolTextAndIcon:function(e,r){return{u_is_size_zoom_constant:new t.Uniform1i(e,r.u_is_size_zoom_constant),u_is_size_feature_constant:new t.Uniform1i(e,r.u_is_size_feature_constant),u_size_t:new t.Uniform1f(e,r.u_size_t),u_size:new t.Uniform1f(e,r.u_size),u_camera_to_center_distance:new t.Uniform1f(e,r.u_camera_to_center_distance),u_pitch:new t.Uniform1f(e,r.u_pitch),u_rotate_symbol:new t.Uniform1i(e,r.u_rotate_symbol),u_aspect_ratio:new t.Uniform1f(e,r.u_aspect_ratio),u_fade_change:new t.Uniform1f(e,r.u_fade_change),u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_label_plane_matrix:new t.UniformMatrix4f(e,r.u_label_plane_matrix),u_coord_matrix:new t.UniformMatrix4f(e,r.u_coord_matrix),u_is_text:new t.Uniform1i(e,r.u_is_text),u_pitch_with_map:new t.Uniform1i(e,r.u_pitch_with_map),u_texsize:new t.Uniform2f(e,r.u_texsize),u_texsize_icon:new t.Uniform2f(e,r.u_texsize_icon),u_texture:new t.Uniform1i(e,r.u_texture),u_texture_icon:new t.Uniform1i(e,r.u_texture_icon),u_gamma_scale:new t.Uniform1f(e,r.u_gamma_scale),u_device_pixel_ratio:new t.Uniform1f(e,r.u_device_pixel_ratio),u_is_halo:new t.Uniform1i(e,r.u_is_halo)}},background:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_opacity:new t.Uniform1f(e,r.u_opacity),u_color:new t.UniformColor(e,r.u_color)}},backgroundPattern:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_opacity:new t.Uniform1f(e,r.u_opacity),u_image:new t.Uniform1i(e,r.u_image),u_pattern_tl_a:new t.Uniform2f(e,r.u_pattern_tl_a),u_pattern_br_a:new t.Uniform2f(e,r.u_pattern_br_a),u_pattern_tl_b:new t.Uniform2f(e,r.u_pattern_tl_b),u_pattern_br_b:new t.Uniform2f(e,r.u_pattern_br_b),u_texsize:new t.Uniform2f(e,r.u_texsize),u_mix:new t.Uniform1f(e,r.u_mix),u_pattern_size_a:new t.Uniform2f(e,r.u_pattern_size_a),u_pattern_size_b:new t.Uniform2f(e,r.u_pattern_size_b),u_scale_a:new t.Uniform1f(e,r.u_scale_a),u_scale_b:new t.Uniform1f(e,r.u_scale_b),u_pixel_coord_upper:new t.Uniform2f(e,r.u_pixel_coord_upper),u_pixel_coord_lower:new t.Uniform2f(e,r.u_pixel_coord_lower),u_tile_units_to_pixels:new t.Uniform1f(e,r.u_tile_units_to_pixels)}}};function Kr(e,r,n,i,a,o,s){for(var l=e.context,c=l.gl,u=e.useProgram(\"collisionBox\"),f=[],h=0,p=0,d=0;d0){var _=t.create(),w=y;t.mul(_,v.placementInvProjMatrix,e.transform.glCoordMatrix),t.mul(_,_,v.placementViewportMatrix),f.push({circleArray:b,circleOffset:p,transform:w,invTransform:_}),p=h+=b.length/4}x&&u.draw(l,c.LINES,At.disabled,Mt.disabled,e.colorModeForRenderPass(),Et.disabled,Cr(y,e.transform,g),n.id,x.layoutVertexBuffer,x.indexBuffer,x.segments,null,e.transform.zoom,null,null,x.collisionVertexBuffer)}}if(s&&f.length){var T=e.useProgram(\"collisionCircle\"),k=new t.StructArrayLayout2f1f2i16;k.resize(4*h),k._trim();for(var A=0,M=0,S=f;M=0&&(m[v.associatedIconIndex]={shiftedAnchor:S,angle:E})}else ue(v.numGlyphs,p)}if(f){d.clear();for(var C=e.icon.placedSymbolArray,P=0;P0){var s=t.browser.now(),l=(s-e.timeAdded)/o,c=r?(s-r.timeAdded)/o:-1,u=n.getSource(),f=a.coveringZoomLevel({tileSize:u.tileSize,roundZoom:u.roundZoom}),h=!r||Math.abs(r.tileID.overscaledZ-f)>Math.abs(e.tileID.overscaledZ-f),p=h&&e.refreshedUponExpiration?1:t.clamp(h?l:1-c,0,1);return e.refreshedUponExpiration&&l>=1&&(e.refreshedUponExpiration=!1),r?{opacity:1,mix:1-p}:{opacity:p,mix:0}}return{opacity:1,mix:0}}var un=new t.Color(1,0,0,1),fn=new t.Color(0,1,0,1),hn=new t.Color(0,0,1,1),pn=new t.Color(1,0,1,1),dn=new t.Color(0,1,1,1);function mn(t){var e=t.transform.padding;gn(t,t.transform.height-(e.top||0),3,un),gn(t,e.bottom||0,3,fn),vn(t,e.left||0,3,hn),vn(t,t.transform.width-(e.right||0),3,pn);var r=t.transform.centerPoint;!function(t,e,r,n){yn(t,e-1,r-10,2,20,n),yn(t,e-10,r-1,20,2,n)}(t,r.x,t.transform.height-r.y,dn)}function gn(t,e,r,n){yn(t,0,e+r/2,t.transform.width,r,n)}function vn(t,e,r,n){yn(t,e-r/2,0,r,t.transform.height,n)}function yn(e,r,n,i,a,o){var s=e.context,l=s.gl;l.enable(l.SCISSOR_TEST),l.scissor(r*t.browser.devicePixelRatio,n*t.browser.devicePixelRatio,i*t.browser.devicePixelRatio,a*t.browser.devicePixelRatio),s.clear({color:o}),l.disable(l.SCISSOR_TEST)}function xn(e,r,n){var i=e.context,a=i.gl,o=n.posMatrix,s=e.useProgram(\"debug\"),l=At.disabled,c=Mt.disabled,u=e.colorModeForRenderPass();i.activeTexture.set(a.TEXTURE0),e.emptyTexture.bind(a.LINEAR,a.CLAMP_TO_EDGE),s.draw(i,a.LINE_STRIP,l,c,u,Et.disabled,Ir(o,t.Color.red),\"$debug\",e.debugBuffer,e.tileBorderIndexBuffer,e.debugSegments);var f=r.getTileByID(n.key).latestRawTileData,h=f&&f.byteLength||0,p=Math.floor(h/1024),d=r.getTile(n).tileSize,m=512/Math.min(d,512)*(n.overscaledZ/e.transform.zoom)*.5,g=n.canonical.toString();n.overscaledZ!==n.canonical.z&&(g+=\" => \"+n.overscaledZ),function(t,e){t.initDebugOverlayCanvas();var r=t.debugOverlayCanvas,n=t.context.gl,i=t.debugOverlayCanvas.getContext(\"2d\");i.clearRect(0,0,r.width,r.height),i.shadowColor=\"white\",i.shadowBlur=2,i.lineWidth=1.5,i.strokeStyle=\"white\",i.textBaseline=\"top\",i.font=\"bold 36px Open Sans, sans-serif\",i.fillText(e,5,5),i.strokeText(e,5,5),t.debugOverlayTexture.update(r),t.debugOverlayTexture.bind(n.LINEAR,n.CLAMP_TO_EDGE)}(e,g+\" \"+p+\"kb\"),s.draw(i,a.TRIANGLES,l,c,St.alphaBlended,Et.disabled,Ir(o,t.Color.transparent,m),\"$debug\",e.debugBuffer,e.quadTriangleIndexBuffer,e.debugSegments)}var bn={symbol:function(e,r,n,i,a){if(\"translucent\"===e.renderPass){var o=Mt.disabled,s=e.colorModeForRenderPass();n.layout.get(\"text-variable-anchor\")&&function(e,r,n,i,a,o,s){for(var l=r.transform,c=\"map\"===a,u=\"map\"===o,f=0,h=e;f256&&this.clearStencil(),r.setColorMode(St.disabled),r.setDepthMode(At.disabled);var i=this.useProgram(\"clippingMask\");this._tileClippingMaskIDs={};for(var a=0,o=e;a256&&this.clearStencil();var t=this.nextStencilID++,e=this.context.gl;return new Mt({func:e.NOTEQUAL,mask:255},t,255,e.KEEP,e.KEEP,e.REPLACE)},_n.prototype.stencilModeForClipping=function(t){var e=this.context.gl;return new Mt({func:e.EQUAL,mask:255},this._tileClippingMaskIDs[t.key],0,e.KEEP,e.KEEP,e.REPLACE)},_n.prototype.stencilConfigForOverlap=function(t){var e,r=this.context.gl,n=t.sort((function(t,e){return e.overscaledZ-t.overscaledZ})),i=n[n.length-1].overscaledZ,a=n[0].overscaledZ-i+1;if(a>1){this.currentStencilSource=void 0,this.nextStencilID+a>256&&this.clearStencil();for(var o={},s=0;s=0;this.currentLayer--){var w=this.style._layers[i[this.currentLayer]],T=a[w.source],k=u[w.source];this._renderTileClippingMasks(w,k),this.renderLayer(this,T,w,k)}for(this.renderPass=\"translucent\",this.currentLayer=0;this.currentLayer0?e.pop():null},_n.prototype.isPatternMissing=function(t){if(!t)return!1;if(!t.from||!t.to)return!0;var e=this.imageManager.getPattern(t.from.toString()),r=this.imageManager.getPattern(t.to.toString());return!e||!r},_n.prototype.useProgram=function(t,e){this.cache=this.cache||{};var r=\"\"+t+(e?e.cacheKey:\"\")+(this._showOverdrawInspector?\"/overdraw\":\"\");return this.cache[r]||(this.cache[r]=new _r(this.context,xr[t],e,Jr[t],this._showOverdrawInspector)),this.cache[r]},_n.prototype.setCustomLayerDefaults=function(){this.context.unbindVAO(),this.context.cullFace.setDefault(),this.context.activeTexture.setDefault(),this.context.pixelStoreUnpack.setDefault(),this.context.pixelStoreUnpackPremultiplyAlpha.setDefault(),this.context.pixelStoreUnpackFlipY.setDefault()},_n.prototype.setBaseState=function(){var t=this.context.gl;this.context.cullFace.set(!1),this.context.viewport.set([0,0,this.width,this.height]),this.context.blendEquation.set(t.FUNC_ADD)},_n.prototype.initDebugOverlayCanvas=function(){if(null==this.debugOverlayCanvas){this.debugOverlayCanvas=t.window.document.createElement(\"canvas\"),this.debugOverlayCanvas.width=512,this.debugOverlayCanvas.height=512;var e=this.context.gl;this.debugOverlayTexture=new t.Texture(this.context,this.debugOverlayCanvas,e.RGBA)}},_n.prototype.destroy=function(){this.emptyTexture.destroy(),this.debugOverlayTexture&&this.debugOverlayTexture.destroy()};var wn=function(t,e){this.points=t,this.planes=e};wn.fromInvProjectionMatrix=function(e,r,n){var i=Math.pow(2,n),a=[[-1,1,-1,1],[1,1,-1,1],[1,-1,-1,1],[-1,-1,-1,1],[-1,1,1,1],[1,1,1,1],[1,-1,1,1],[-1,-1,1,1]].map((function(r){return t.transformMat4([],r,e)})).map((function(e){return t.scale$1([],e,1/e[3]/r*i)})),o=[[0,1,2],[6,5,4],[0,3,7],[2,1,5],[3,2,6],[0,4,5]].map((function(e){var r=t.sub([],a[e[0]],a[e[1]]),n=t.sub([],a[e[2]],a[e[1]]),i=t.normalize([],t.cross([],r,n)),o=-t.dot(i,a[e[1]]);return i.concat(o)}));return new wn(a,o)};var Tn=function(e,r){this.min=e,this.max=r,this.center=t.scale$2([],t.add([],this.min,this.max),.5)};Tn.prototype.quadrant=function(e){for(var r=[e%2==0,e<2],n=t.clone$2(this.min),i=t.clone$2(this.max),a=0;a=0;if(0===o)return 0;o!==r.length&&(n=!1)}if(n)return 2;for(var l=0;l<3;l++){for(var c=Number.MAX_VALUE,u=-Number.MAX_VALUE,f=0;fthis.max[l]-this.min[l])return 0}return 1};var kn=function(t,e,r,n){if(void 0===t&&(t=0),void 0===e&&(e=0),void 0===r&&(r=0),void 0===n&&(n=0),isNaN(t)||t<0||isNaN(e)||e<0||isNaN(r)||r<0||isNaN(n)||n<0)throw new Error(\"Invalid value for edge-insets, top, bottom, left and right must all be numbers\");this.top=t,this.bottom=e,this.left=r,this.right=n};kn.prototype.interpolate=function(e,r,n){return null!=r.top&&null!=e.top&&(this.top=t.number(e.top,r.top,n)),null!=r.bottom&&null!=e.bottom&&(this.bottom=t.number(e.bottom,r.bottom,n)),null!=r.left&&null!=e.left&&(this.left=t.number(e.left,r.left,n)),null!=r.right&&null!=e.right&&(this.right=t.number(e.right,r.right,n)),this},kn.prototype.getCenter=function(e,r){var n=t.clamp((this.left+e-this.right)/2,0,e),i=t.clamp((this.top+r-this.bottom)/2,0,r);return new t.Point(n,i)},kn.prototype.equals=function(t){return this.top===t.top&&this.bottom===t.bottom&&this.left===t.left&&this.right===t.right},kn.prototype.clone=function(){return new kn(this.top,this.bottom,this.left,this.right)},kn.prototype.toJSON=function(){return{top:this.top,bottom:this.bottom,left:this.left,right:this.right}};var An=function(e,r,n,i,a){this.tileSize=512,this.maxValidLatitude=85.051129,this._renderWorldCopies=void 0===a||a,this._minZoom=e||0,this._maxZoom=r||22,this._minPitch=null==n?0:n,this._maxPitch=null==i?60:i,this.setMaxBounds(),this.width=0,this.height=0,this._center=new t.LngLat(0,0),this.zoom=0,this.angle=0,this._fov=.6435011087932844,this._pitch=0,this._unmodified=!0,this._edgeInsets=new kn,this._posMatrixCache={},this._alignedPosMatrixCache={}},Mn={minZoom:{configurable:!0},maxZoom:{configurable:!0},minPitch:{configurable:!0},maxPitch:{configurable:!0},renderWorldCopies:{configurable:!0},worldSize:{configurable:!0},centerOffset:{configurable:!0},size:{configurable:!0},bearing:{configurable:!0},pitch:{configurable:!0},fov:{configurable:!0},zoom:{configurable:!0},center:{configurable:!0},padding:{configurable:!0},centerPoint:{configurable:!0},unmodified:{configurable:!0},point:{configurable:!0}};An.prototype.clone=function(){var t=new An(this._minZoom,this._maxZoom,this._minPitch,this.maxPitch,this._renderWorldCopies);return t.tileSize=this.tileSize,t.latRange=this.latRange,t.width=this.width,t.height=this.height,t._center=this._center,t.zoom=this.zoom,t.angle=this.angle,t._fov=this._fov,t._pitch=this._pitch,t._unmodified=this._unmodified,t._edgeInsets=this._edgeInsets.clone(),t._calcMatrices(),t},Mn.minZoom.get=function(){return this._minZoom},Mn.minZoom.set=function(t){this._minZoom!==t&&(this._minZoom=t,this.zoom=Math.max(this.zoom,t))},Mn.maxZoom.get=function(){return this._maxZoom},Mn.maxZoom.set=function(t){this._maxZoom!==t&&(this._maxZoom=t,this.zoom=Math.min(this.zoom,t))},Mn.minPitch.get=function(){return this._minPitch},Mn.minPitch.set=function(t){this._minPitch!==t&&(this._minPitch=t,this.pitch=Math.max(this.pitch,t))},Mn.maxPitch.get=function(){return this._maxPitch},Mn.maxPitch.set=function(t){this._maxPitch!==t&&(this._maxPitch=t,this.pitch=Math.min(this.pitch,t))},Mn.renderWorldCopies.get=function(){return this._renderWorldCopies},Mn.renderWorldCopies.set=function(t){void 0===t?t=!0:null===t&&(t=!1),this._renderWorldCopies=t},Mn.worldSize.get=function(){return this.tileSize*this.scale},Mn.centerOffset.get=function(){return this.centerPoint._sub(this.size._div(2))},Mn.size.get=function(){return new t.Point(this.width,this.height)},Mn.bearing.get=function(){return-this.angle/Math.PI*180},Mn.bearing.set=function(e){var r=-t.wrap(e,-180,180)*Math.PI/180;this.angle!==r&&(this._unmodified=!1,this.angle=r,this._calcMatrices(),this.rotationMatrix=t.create$2(),t.rotate(this.rotationMatrix,this.rotationMatrix,this.angle))},Mn.pitch.get=function(){return this._pitch/Math.PI*180},Mn.pitch.set=function(e){var r=t.clamp(e,this.minPitch,this.maxPitch)/180*Math.PI;this._pitch!==r&&(this._unmodified=!1,this._pitch=r,this._calcMatrices())},Mn.fov.get=function(){return this._fov/Math.PI*180},Mn.fov.set=function(t){t=Math.max(.01,Math.min(60,t)),this._fov!==t&&(this._unmodified=!1,this._fov=t/180*Math.PI,this._calcMatrices())},Mn.zoom.get=function(){return this._zoom},Mn.zoom.set=function(t){var e=Math.min(Math.max(t,this.minZoom),this.maxZoom);this._zoom!==e&&(this._unmodified=!1,this._zoom=e,this.scale=this.zoomScale(e),this.tileZoom=Math.floor(e),this.zoomFraction=e-this.tileZoom,this._constrain(),this._calcMatrices())},Mn.center.get=function(){return this._center},Mn.center.set=function(t){t.lat===this._center.lat&&t.lng===this._center.lng||(this._unmodified=!1,this._center=t,this._constrain(),this._calcMatrices())},Mn.padding.get=function(){return this._edgeInsets.toJSON()},Mn.padding.set=function(t){this._edgeInsets.equals(t)||(this._unmodified=!1,this._edgeInsets.interpolate(this._edgeInsets,t,1),this._calcMatrices())},Mn.centerPoint.get=function(){return this._edgeInsets.getCenter(this.width,this.height)},An.prototype.isPaddingEqual=function(t){return this._edgeInsets.equals(t)},An.prototype.interpolatePadding=function(t,e,r){this._unmodified=!1,this._edgeInsets.interpolate(t,e,r),this._constrain(),this._calcMatrices()},An.prototype.coveringZoomLevel=function(t){var e=(t.roundZoom?Math.round:Math.floor)(this.zoom+this.scaleZoom(this.tileSize/t.tileSize));return Math.max(0,e)},An.prototype.getVisibleUnwrappedCoordinates=function(e){var r=[new t.UnwrappedTileID(0,e)];if(this._renderWorldCopies)for(var n=this.pointCoordinate(new t.Point(0,0)),i=this.pointCoordinate(new t.Point(this.width,0)),a=this.pointCoordinate(new t.Point(this.width,this.height)),o=this.pointCoordinate(new t.Point(0,this.height)),s=Math.floor(Math.min(n.x,i.x,a.x,o.x)),l=Math.floor(Math.max(n.x,i.x,a.x,o.x)),c=s-1;c<=l+1;c++)0!==c&&r.push(new t.UnwrappedTileID(c,e));return r},An.prototype.coveringTiles=function(e){var r=this.coveringZoomLevel(e),n=r;if(void 0!==e.minzoom&&re.maxzoom&&(r=e.maxzoom);var i=t.MercatorCoordinate.fromLngLat(this.center),a=Math.pow(2,r),o=[a*i.x,a*i.y,0],s=wn.fromInvProjectionMatrix(this.invProjMatrix,this.worldSize,r),l=e.minzoom||0;this.pitch<=60&&this._edgeInsets.top<.1&&(l=r);var c=function(t){return{aabb:new Tn([t*a,0,0],[(t+1)*a,a,0]),zoom:0,x:0,y:0,wrap:t,fullyVisible:!1}},u=[],f=[],h=r,p=e.reparseOverscaled?n:r;if(this._renderWorldCopies)for(var d=1;d<=3;d++)u.push(c(-d)),u.push(c(d));for(u.push(c(0));u.length>0;){var m=u.pop(),g=m.x,v=m.y,y=m.fullyVisible;if(!y){var x=m.aabb.intersects(s);if(0===x)continue;y=2===x}var b=m.aabb.distanceX(o),_=m.aabb.distanceY(o),w=Math.max(Math.abs(b),Math.abs(_)),T=3+(1<T&&m.zoom>=l)f.push({tileID:new t.OverscaledTileID(m.zoom===h?p:m.zoom,m.wrap,m.zoom,g,v),distanceSq:t.sqrLen([o[0]-.5-g,o[1]-.5-v])});else for(var k=0;k<4;k++){var A=(g<<1)+k%2,M=(v<<1)+(k>>1);u.push({aabb:m.aabb.quadrant(k),zoom:m.zoom+1,x:A,y:M,wrap:m.wrap,fullyVisible:y})}}return f.sort((function(t,e){return t.distanceSq-e.distanceSq})).map((function(t){return t.tileID}))},An.prototype.resize=function(t,e){this.width=t,this.height=e,this.pixelsToGLUnits=[2/t,-2/e],this._constrain(),this._calcMatrices()},Mn.unmodified.get=function(){return this._unmodified},An.prototype.zoomScale=function(t){return Math.pow(2,t)},An.prototype.scaleZoom=function(t){return Math.log(t)/Math.LN2},An.prototype.project=function(e){var r=t.clamp(e.lat,-this.maxValidLatitude,this.maxValidLatitude);return new t.Point(t.mercatorXfromLng(e.lng)*this.worldSize,t.mercatorYfromLat(r)*this.worldSize)},An.prototype.unproject=function(e){return new t.MercatorCoordinate(e.x/this.worldSize,e.y/this.worldSize).toLngLat()},Mn.point.get=function(){return this.project(this.center)},An.prototype.setLocationAtPoint=function(e,r){var n=this.pointCoordinate(r),i=this.pointCoordinate(this.centerPoint),a=this.locationCoordinate(e),o=new t.MercatorCoordinate(a.x-(n.x-i.x),a.y-(n.y-i.y));this.center=this.coordinateLocation(o),this._renderWorldCopies&&(this.center=this.center.wrap())},An.prototype.locationPoint=function(t){return this.coordinatePoint(this.locationCoordinate(t))},An.prototype.pointLocation=function(t){return this.coordinateLocation(this.pointCoordinate(t))},An.prototype.locationCoordinate=function(e){return t.MercatorCoordinate.fromLngLat(e)},An.prototype.coordinateLocation=function(t){return t.toLngLat()},An.prototype.pointCoordinate=function(e){var r=[e.x,e.y,0,1],n=[e.x,e.y,1,1];t.transformMat4(r,r,this.pixelMatrixInverse),t.transformMat4(n,n,this.pixelMatrixInverse);var i=r[3],a=n[3],o=r[0]/i,s=n[0]/a,l=r[1]/i,c=n[1]/a,u=r[2]/i,f=n[2]/a,h=u===f?0:(0-u)/(f-u);return new t.MercatorCoordinate(t.number(o,s,h)/this.worldSize,t.number(l,c,h)/this.worldSize)},An.prototype.coordinatePoint=function(e){var r=[e.x*this.worldSize,e.y*this.worldSize,0,1];return t.transformMat4(r,r,this.pixelMatrix),new t.Point(r[0]/r[3],r[1]/r[3])},An.prototype.getBounds=function(){return(new t.LngLatBounds).extend(this.pointLocation(new t.Point(0,0))).extend(this.pointLocation(new t.Point(this.width,0))).extend(this.pointLocation(new t.Point(this.width,this.height))).extend(this.pointLocation(new t.Point(0,this.height)))},An.prototype.getMaxBounds=function(){return this.latRange&&2===this.latRange.length&&this.lngRange&&2===this.lngRange.length?new t.LngLatBounds([this.lngRange[0],this.latRange[0]],[this.lngRange[1],this.latRange[1]]):null},An.prototype.setMaxBounds=function(t){t?(this.lngRange=[t.getWest(),t.getEast()],this.latRange=[t.getSouth(),t.getNorth()],this._constrain()):(this.lngRange=null,this.latRange=[-this.maxValidLatitude,this.maxValidLatitude])},An.prototype.calculatePosMatrix=function(e,r){void 0===r&&(r=!1);var n=e.key,i=r?this._alignedPosMatrixCache:this._posMatrixCache;if(i[n])return i[n];var a=e.canonical,o=this.worldSize/this.zoomScale(a.z),s=a.x+Math.pow(2,a.z)*e.wrap,l=t.identity(new Float64Array(16));return t.translate(l,l,[s*o,a.y*o,0]),t.scale(l,l,[o/t.EXTENT,o/t.EXTENT,1]),t.multiply(l,r?this.alignedProjMatrix:this.projMatrix,l),i[n]=new Float32Array(l),i[n]},An.prototype.customLayerMatrix=function(){return this.mercatorMatrix.slice()},An.prototype._constrain=function(){if(this.center&&this.width&&this.height&&!this._constraining){this._constraining=!0;var e,r,n,i,a=-90,o=90,s=-180,l=180,c=this.size,u=this._unmodified;if(this.latRange){var f=this.latRange;a=t.mercatorYfromLat(f[1])*this.worldSize,e=(o=t.mercatorYfromLat(f[0])*this.worldSize)-ao&&(i=o-g)}if(this.lngRange){var v=p.x,y=c.x/2;v-yl&&(n=l-y)}void 0===n&&void 0===i||(this.center=this.unproject(new t.Point(void 0!==n?n:p.x,void 0!==i?i:p.y))),this._unmodified=u,this._constraining=!1}},An.prototype._calcMatrices=function(){if(this.height){var e=this._fov/2,r=this.centerOffset;this.cameraToCenterDistance=.5/Math.tan(e)*this.height;var n=Math.PI/2+this._pitch,i=this._fov*(.5+r.y/this.height),a=Math.sin(i)*this.cameraToCenterDistance/Math.sin(t.clamp(Math.PI-n-i,.01,Math.PI-.01)),o=this.point,s=o.x,l=o.y,c=1.01*(Math.cos(Math.PI/2-this._pitch)*a+this.cameraToCenterDistance),u=this.height/50,f=new Float64Array(16);t.perspective(f,this._fov,this.width/this.height,u,c),f[8]=2*-r.x/this.width,f[9]=2*r.y/this.height,t.scale(f,f,[1,-1,1]),t.translate(f,f,[0,0,-this.cameraToCenterDistance]),t.rotateX(f,f,this._pitch),t.rotateZ(f,f,this.angle),t.translate(f,f,[-s,-l,0]),this.mercatorMatrix=t.scale([],f,[this.worldSize,this.worldSize,this.worldSize]),t.scale(f,f,[1,1,t.mercatorZfromAltitude(1,this.center.lat)*this.worldSize,1]),this.projMatrix=f,this.invProjMatrix=t.invert([],this.projMatrix);var h=this.width%2/2,p=this.height%2/2,d=Math.cos(this.angle),m=Math.sin(this.angle),g=s-Math.round(s)+d*h+m*p,v=l-Math.round(l)+d*p+m*h,y=new Float64Array(f);if(t.translate(y,y,[g>.5?g-1:g,v>.5?v-1:v,0]),this.alignedProjMatrix=y,f=t.create(),t.scale(f,f,[this.width/2,-this.height/2,1]),t.translate(f,f,[1,-1,0]),this.labelPlaneMatrix=f,f=t.create(),t.scale(f,f,[1,-1,1]),t.translate(f,f,[-1,-1,0]),t.scale(f,f,[2/this.width,2/this.height,1]),this.glCoordMatrix=f,this.pixelMatrix=t.multiply(new Float64Array(16),this.labelPlaneMatrix,this.projMatrix),!(f=t.invert(new Float64Array(16),this.pixelMatrix)))throw new Error(\"failed to invert matrix\");this.pixelMatrixInverse=f,this._posMatrixCache={},this._alignedPosMatrixCache={}}},An.prototype.maxPitchScaleFactor=function(){if(!this.pixelMatrixInverse)return 1;var e=this.pointCoordinate(new t.Point(0,0)),r=[e.x*this.worldSize,e.y*this.worldSize,0,1];return t.transformMat4(r,r,this.pixelMatrix)[3]/this.cameraToCenterDistance},An.prototype.getCameraPoint=function(){var e=this._pitch,r=Math.tan(e)*(this.cameraToCenterDistance||1);return this.centerPoint.add(new t.Point(0,r))},An.prototype.getCameraQueryGeometry=function(e){var r=this.getCameraPoint();if(1===e.length)return[e[0],r];for(var n=r.x,i=r.y,a=r.x,o=r.y,s=0,l=e;s=3&&!t.some((function(t){return isNaN(t)}))){var e=this._map.dragRotate.isEnabled()&&this._map.touchZoomRotate.isEnabled()?+(t[3]||0):this._map.getBearing();return this._map.jumpTo({center:[+t[2],+t[1]],zoom:+t[0],bearing:e,pitch:+(t[4]||0)}),!0}return!1},Sn.prototype._updateHashUnthrottled=function(){var e=this.getHashString();try{t.window.history.replaceState(t.window.history.state,\"\",e)}catch(t){}};var En={linearity:.3,easing:t.bezier(0,0,.3,1)},Ln=t.extend({deceleration:2500,maxSpeed:1400},En),Cn=t.extend({deceleration:20,maxSpeed:1400},En),Pn=t.extend({deceleration:1e3,maxSpeed:360},En),In=t.extend({deceleration:1e3,maxSpeed:90},En),On=function(t){this._map=t,this.clear()};function zn(t,e){(!t.duration||t.duration0&&r-e[0].time>160;)e.shift()},On.prototype._onMoveEnd=function(e){if(this._drainInertiaBuffer(),!(this._inertiaBuffer.length<2)){for(var r={zoom:0,bearing:0,pitch:0,pan:new t.Point(0,0),pinchAround:void 0,around:void 0},n=0,i=this._inertiaBuffer;n=this._clickTolerance||this._map.fire(new Rn(t.type,this._map,t))},Nn.prototype.dblclick=function(t){return this._firePreventable(new Rn(t.type,this._map,t))},Nn.prototype.mouseover=function(t){this._map.fire(new Rn(t.type,this._map,t))},Nn.prototype.mouseout=function(t){this._map.fire(new Rn(t.type,this._map,t))},Nn.prototype.touchstart=function(t){return this._firePreventable(new Fn(t.type,this._map,t))},Nn.prototype.touchmove=function(t){this._map.fire(new Fn(t.type,this._map,t))},Nn.prototype.touchend=function(t){this._map.fire(new Fn(t.type,this._map,t))},Nn.prototype.touchcancel=function(t){this._map.fire(new Fn(t.type,this._map,t))},Nn.prototype._firePreventable=function(t){if(this._map.fire(t),t.defaultPrevented)return{}},Nn.prototype.isEnabled=function(){return!0},Nn.prototype.isActive=function(){return!1},Nn.prototype.enable=function(){},Nn.prototype.disable=function(){};var jn=function(t){this._map=t};jn.prototype.reset=function(){this._delayContextMenu=!1,delete this._contextMenuEvent},jn.prototype.mousemove=function(t){this._map.fire(new Rn(t.type,this._map,t))},jn.prototype.mousedown=function(){this._delayContextMenu=!0},jn.prototype.mouseup=function(){this._delayContextMenu=!1,this._contextMenuEvent&&(this._map.fire(new Rn(\"contextmenu\",this._map,this._contextMenuEvent)),delete this._contextMenuEvent)},jn.prototype.contextmenu=function(t){this._delayContextMenu?this._contextMenuEvent=t:this._map.fire(new Rn(t.type,this._map,t)),this._map.listens(\"contextmenu\")&&t.preventDefault()},jn.prototype.isEnabled=function(){return!0},jn.prototype.isActive=function(){return!1},jn.prototype.enable=function(){},jn.prototype.disable=function(){};var Un=function(t,e){this._map=t,this._el=t.getCanvasContainer(),this._container=t.getContainer(),this._clickTolerance=e.clickTolerance||1};function Vn(t,e){for(var r={},n=0;nthis.numTouches)&&(this.aborted=!0),this.aborted||(void 0===this.startTime&&(this.startTime=e.timeStamp),n.length===this.numTouches&&(this.centroid=function(e){for(var r=new t.Point(0,0),n=0,i=e;n30)&&(this.aborted=!0)}}},Hn.prototype.touchend=function(t,e,r){if((!this.centroid||t.timeStamp-this.startTime>500)&&(this.aborted=!0),0===r.length){var n=!this.aborted&&this.centroid;if(this.reset(),n)return n}};var qn=function(t){this.singleTap=new Hn(t),this.numTaps=t.numTaps,this.reset()};qn.prototype.reset=function(){this.lastTime=1/0,delete this.lastTap,this.count=0,this.singleTap.reset()},qn.prototype.touchstart=function(t,e,r){this.singleTap.touchstart(t,e,r)},qn.prototype.touchmove=function(t,e,r){this.singleTap.touchmove(t,e,r)},qn.prototype.touchend=function(t,e,r){var n=this.singleTap.touchend(t,e,r);if(n){var i=t.timeStamp-this.lastTime<500,a=!this.lastTap||this.lastTap.dist(n)<30;if(i&&a||this.reset(),this.count++,this.lastTime=t.timeStamp,this.lastTap=n,this.count===this.numTaps)return this.reset(),n}};var Gn=function(){this._zoomIn=new qn({numTouches:1,numTaps:2}),this._zoomOut=new qn({numTouches:2,numTaps:1}),this.reset()};Gn.prototype.reset=function(){this._active=!1,this._zoomIn.reset(),this._zoomOut.reset()},Gn.prototype.touchstart=function(t,e,r){this._zoomIn.touchstart(t,e,r),this._zoomOut.touchstart(t,e,r)},Gn.prototype.touchmove=function(t,e,r){this._zoomIn.touchmove(t,e,r),this._zoomOut.touchmove(t,e,r)},Gn.prototype.touchend=function(t,e,r){var n=this,i=this._zoomIn.touchend(t,e,r),a=this._zoomOut.touchend(t,e,r);return i?(this._active=!0,t.preventDefault(),setTimeout((function(){return n.reset()}),0),{cameraAnimation:function(e){return e.easeTo({duration:300,zoom:e.getZoom()+1,around:e.unproject(i)},{originalEvent:t})}}):a?(this._active=!0,t.preventDefault(),setTimeout((function(){return n.reset()}),0),{cameraAnimation:function(e){return e.easeTo({duration:300,zoom:e.getZoom()-1,around:e.unproject(a)},{originalEvent:t})}}):void 0},Gn.prototype.touchcancel=function(){this.reset()},Gn.prototype.enable=function(){this._enabled=!0},Gn.prototype.disable=function(){this._enabled=!1,this.reset()},Gn.prototype.isEnabled=function(){return this._enabled},Gn.prototype.isActive=function(){return this._active};var Yn=function(t){this.reset(),this._clickTolerance=t.clickTolerance||1};Yn.prototype.reset=function(){this._active=!1,this._moved=!1,delete this._lastPoint,delete this._eventButton},Yn.prototype._correctButton=function(t,e){return!1},Yn.prototype._move=function(t,e){return{}},Yn.prototype.mousedown=function(t,e){if(!this._lastPoint){var n=r.mouseButton(t);this._correctButton(t,n)&&(this._lastPoint=e,this._eventButton=n)}},Yn.prototype.mousemoveWindow=function(t,e){var r=this._lastPoint;if(r&&(t.preventDefault(),this._moved||!(e.dist(r)0&&(this._active=!0);var i=Vn(n,r),a=new t.Point(0,0),o=new t.Point(0,0),s=0;for(var l in i){var c=i[l],u=this._touches[l];u&&(a._add(c),o._add(c.sub(u)),s++,i[l]=c)}if(this._touches=i,!(sMath.abs(t.x)}var ii=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.reset=function(){t.prototype.reset.call(this),this._valid=void 0,delete this._firstMove,delete this._lastPoints},e.prototype._start=function(t){this._lastPoints=t,ni(t[0].sub(t[1]))&&(this._valid=!1)},e.prototype._move=function(t,e,r){var n=t[0].sub(this._lastPoints[0]),i=t[1].sub(this._lastPoints[1]);if(this._valid=this.gestureBeginsVertically(n,i,r.timeStamp),this._valid){this._lastPoints=t,this._active=!0;return{pitchDelta:-.5*((n.y+i.y)/2)}}},e.prototype.gestureBeginsVertically=function(t,e,r){if(void 0!==this._valid)return this._valid;var n=t.mag()>=2,i=e.mag()>=2;if(n||i){if(!n||!i)return void 0===this._firstMove&&(this._firstMove=r),r-this._firstMove<100&&void 0;var a=t.y>0==e.y>0;return ni(t)&&ni(e)&&a}},e}(Kn),ai={panStep:100,bearingStep:15,pitchStep:10},oi=function(){var t=ai;this._panStep=t.panStep,this._bearingStep=t.bearingStep,this._pitchStep=t.pitchStep};function si(t){return t*(2-t)}oi.prototype.reset=function(){this._active=!1},oi.prototype.keydown=function(t){var e=this;if(!(t.altKey||t.ctrlKey||t.metaKey)){var r=0,n=0,i=0,a=0,o=0;switch(t.keyCode){case 61:case 107:case 171:case 187:r=1;break;case 189:case 109:case 173:r=-1;break;case 37:t.shiftKey?n=-1:(t.preventDefault(),a=-1);break;case 39:t.shiftKey?n=1:(t.preventDefault(),a=1);break;case 38:t.shiftKey?i=1:(t.preventDefault(),o=-1);break;case 40:t.shiftKey?i=-1:(t.preventDefault(),o=1);break;default:return}return{cameraAnimation:function(s){var l=s.getZoom();s.easeTo({duration:300,easeId:\"keyboardHandler\",easing:si,zoom:r?Math.round(l)+r*(t.shiftKey?2:1):l,bearing:s.getBearing()+n*e._bearingStep,pitch:s.getPitch()+i*e._pitchStep,offset:[-a*e._panStep,-o*e._panStep],center:s.getCenter()},{originalEvent:t})}}}},oi.prototype.enable=function(){this._enabled=!0},oi.prototype.disable=function(){this._enabled=!1,this.reset()},oi.prototype.isEnabled=function(){return this._enabled},oi.prototype.isActive=function(){return this._active};var li=function(e,r){this._map=e,this._el=e.getCanvasContainer(),this._handler=r,this._delta=0,this._defaultZoomRate=.01,this._wheelZoomRate=1/450,t.bindAll([\"_onWheel\",\"_onTimeout\",\"_onScrollFrame\",\"_onScrollFinished\"],this)};li.prototype.setZoomRate=function(t){this._defaultZoomRate=t},li.prototype.setWheelZoomRate=function(t){this._wheelZoomRate=t},li.prototype.isEnabled=function(){return!!this._enabled},li.prototype.isActive=function(){return!!this._active||void 0!==this._finishTimeout},li.prototype.isZooming=function(){return!!this._zooming},li.prototype.enable=function(t){this.isEnabled()||(this._enabled=!0,this._aroundCenter=t&&\"center\"===t.around)},li.prototype.disable=function(){this.isEnabled()&&(this._enabled=!1)},li.prototype.wheel=function(e){if(this.isEnabled()){var r=e.deltaMode===t.window.WheelEvent.DOM_DELTA_LINE?40*e.deltaY:e.deltaY,n=t.browser.now(),i=n-(this._lastWheelEventTime||0);this._lastWheelEventTime=n,0!==r&&r%4.000244140625==0?this._type=\"wheel\":0!==r&&Math.abs(r)<4?this._type=\"trackpad\":i>400?(this._type=null,this._lastValue=r,this._timeout=setTimeout(this._onTimeout,40,e)):this._type||(this._type=Math.abs(i*r)<200?\"trackpad\":\"wheel\",this._timeout&&(clearTimeout(this._timeout),this._timeout=null,r+=this._lastValue)),e.shiftKey&&r&&(r/=4),this._type&&(this._lastWheelEvent=e,this._delta-=r,this._active||this._start(e)),e.preventDefault()}},li.prototype._onTimeout=function(t){this._type=\"wheel\",this._delta-=this._lastValue,this._active||this._start(t)},li.prototype._start=function(e){if(this._delta){this._frameId&&(this._frameId=null),this._active=!0,this.isZooming()||(this._zooming=!0),this._finishTimeout&&(clearTimeout(this._finishTimeout),delete this._finishTimeout);var n=r.mousePos(this._el,e);this._around=t.LngLat.convert(this._aroundCenter?this._map.getCenter():this._map.unproject(n)),this._aroundPoint=this._map.transform.locationPoint(this._around),this._frameId||(this._frameId=!0,this._handler._triggerRenderFrame())}},li.prototype.renderFrame=function(){return this._onScrollFrame()},li.prototype._onScrollFrame=function(){var e=this;if(this._frameId&&(this._frameId=null,this.isActive())){var r=this._map.transform;if(0!==this._delta){var n=\"wheel\"===this._type&&Math.abs(this._delta)>4.000244140625?this._wheelZoomRate:this._defaultZoomRate,i=2/(1+Math.exp(-Math.abs(this._delta*n)));this._delta<0&&0!==i&&(i=1/i);var a=\"number\"==typeof this._targetZoom?r.zoomScale(this._targetZoom):r.scale;this._targetZoom=Math.min(r.maxZoom,Math.max(r.minZoom,r.scaleZoom(a*i))),\"wheel\"===this._type&&(this._startZoom=r.zoom,this._easing=this._smoothOutEasing(200)),this._delta=0}var o,s=\"number\"==typeof this._targetZoom?this._targetZoom:r.zoom,l=this._startZoom,c=this._easing,u=!1;if(\"wheel\"===this._type&&l&&c){var f=Math.min((t.browser.now()-this._lastWheelEventTime)/200,1),h=c(f);o=t.number(l,s,h),f<1?this._frameId||(this._frameId=!0):u=!0}else o=s,u=!0;return this._active=!0,u&&(this._active=!1,this._finishTimeout=setTimeout((function(){e._zooming=!1,e._handler._triggerRenderFrame(),delete e._targetZoom,delete e._finishTimeout}),200)),{noInertia:!0,needsRenderFrame:!u,zoomDelta:o-r.zoom,around:this._aroundPoint,originalEvent:this._lastWheelEvent}}},li.prototype._smoothOutEasing=function(e){var r=t.ease;if(this._prevEase){var n=this._prevEase,i=(t.browser.now()-n.start)/n.duration,a=n.easing(i+.01)-n.easing(i),o=.27/Math.sqrt(a*a+1e-4)*.01,s=Math.sqrt(.0729-o*o);r=t.bezier(o,s,.25,1)}return this._prevEase={start:t.browser.now(),duration:e,easing:r},r},li.prototype.reset=function(){this._active=!1};var ci=function(t,e){this._clickZoom=t,this._tapZoom=e};ci.prototype.enable=function(){this._clickZoom.enable(),this._tapZoom.enable()},ci.prototype.disable=function(){this._clickZoom.disable(),this._tapZoom.disable()},ci.prototype.isEnabled=function(){return this._clickZoom.isEnabled()&&this._tapZoom.isEnabled()},ci.prototype.isActive=function(){return this._clickZoom.isActive()||this._tapZoom.isActive()};var ui=function(){this.reset()};ui.prototype.reset=function(){this._active=!1},ui.prototype.dblclick=function(t,e){return t.preventDefault(),{cameraAnimation:function(r){r.easeTo({duration:300,zoom:r.getZoom()+(t.shiftKey?-1:1),around:r.unproject(e)},{originalEvent:t})}}},ui.prototype.enable=function(){this._enabled=!0},ui.prototype.disable=function(){this._enabled=!1,this.reset()},ui.prototype.isEnabled=function(){return this._enabled},ui.prototype.isActive=function(){return this._active};var fi=function(){this._tap=new qn({numTouches:1,numTaps:1}),this.reset()};fi.prototype.reset=function(){this._active=!1,delete this._swipePoint,delete this._swipeTouch,delete this._tapTime,this._tap.reset()},fi.prototype.touchstart=function(t,e,r){this._swipePoint||(this._tapTime&&t.timeStamp-this._tapTime>500&&this.reset(),this._tapTime?r.length>0&&(this._swipePoint=e[0],this._swipeTouch=r[0].identifier):this._tap.touchstart(t,e,r))},fi.prototype.touchmove=function(t,e,r){if(this._tapTime){if(this._swipePoint){if(r[0].identifier!==this._swipeTouch)return;var n=e[0],i=n.y-this._swipePoint.y;return this._swipePoint=n,t.preventDefault(),this._active=!0,{zoomDelta:i/128}}}else this._tap.touchmove(t,e,r)},fi.prototype.touchend=function(t,e,r){this._tapTime?this._swipePoint&&0===r.length&&this.reset():this._tap.touchend(t,e,r)&&(this._tapTime=t.timeStamp)},fi.prototype.touchcancel=function(){this.reset()},fi.prototype.enable=function(){this._enabled=!0},fi.prototype.disable=function(){this._enabled=!1,this.reset()},fi.prototype.isEnabled=function(){return this._enabled},fi.prototype.isActive=function(){return this._active};var hi=function(t,e,r){this._el=t,this._mousePan=e,this._touchPan=r};hi.prototype.enable=function(t){this._inertiaOptions=t||{},this._mousePan.enable(),this._touchPan.enable(),this._el.classList.add(\"mapboxgl-touch-drag-pan\")},hi.prototype.disable=function(){this._mousePan.disable(),this._touchPan.disable(),this._el.classList.remove(\"mapboxgl-touch-drag-pan\")},hi.prototype.isEnabled=function(){return this._mousePan.isEnabled()&&this._touchPan.isEnabled()},hi.prototype.isActive=function(){return this._mousePan.isActive()||this._touchPan.isActive()};var pi=function(t,e,r){this._pitchWithRotate=t.pitchWithRotate,this._mouseRotate=e,this._mousePitch=r};pi.prototype.enable=function(){this._mouseRotate.enable(),this._pitchWithRotate&&this._mousePitch.enable()},pi.prototype.disable=function(){this._mouseRotate.disable(),this._mousePitch.disable()},pi.prototype.isEnabled=function(){return this._mouseRotate.isEnabled()&&(!this._pitchWithRotate||this._mousePitch.isEnabled())},pi.prototype.isActive=function(){return this._mouseRotate.isActive()||this._mousePitch.isActive()};var di=function(t,e,r,n){this._el=t,this._touchZoom=e,this._touchRotate=r,this._tapDragZoom=n,this._rotationDisabled=!1,this._enabled=!0};di.prototype.enable=function(t){this._touchZoom.enable(t),this._rotationDisabled||this._touchRotate.enable(t),this._tapDragZoom.enable(),this._el.classList.add(\"mapboxgl-touch-zoom-rotate\")},di.prototype.disable=function(){this._touchZoom.disable(),this._touchRotate.disable(),this._tapDragZoom.disable(),this._el.classList.remove(\"mapboxgl-touch-zoom-rotate\")},di.prototype.isEnabled=function(){return this._touchZoom.isEnabled()&&(this._rotationDisabled||this._touchRotate.isEnabled())&&this._tapDragZoom.isEnabled()},di.prototype.isActive=function(){return this._touchZoom.isActive()||this._touchRotate.isActive()||this._tapDragZoom.isActive()},di.prototype.disableRotation=function(){this._rotationDisabled=!0,this._touchRotate.disable()},di.prototype.enableRotation=function(){this._rotationDisabled=!1,this._touchZoom.isEnabled()&&this._touchRotate.enable()};var mi=function(t){return t.zoom||t.drag||t.pitch||t.rotate},gi=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e}(t.Event);function vi(t){return t.panDelta&&t.panDelta.mag()||t.zoomDelta||t.bearingDelta||t.pitchDelta}var yi=function(e,n){this._map=e,this._el=this._map.getCanvasContainer(),this._handlers=[],this._handlersById={},this._changes=[],this._inertia=new On(e),this._bearingSnap=n.bearingSnap,this._previousActiveHandlers={},this._eventsInProgress={},this._addDefaultHandlers(n),t.bindAll([\"handleEvent\",\"handleWindowEvent\"],this);var i=this._el;this._listeners=[[i,\"touchstart\",{passive:!1}],[i,\"touchmove\",{passive:!1}],[i,\"touchend\",void 0],[i,\"touchcancel\",void 0],[i,\"mousedown\",void 0],[i,\"mousemove\",void 0],[i,\"mouseup\",void 0],[t.window.document,\"mousemove\",{capture:!0}],[t.window.document,\"mouseup\",void 0],[i,\"mouseover\",void 0],[i,\"mouseout\",void 0],[i,\"dblclick\",void 0],[i,\"click\",void 0],[i,\"keydown\",{capture:!1}],[i,\"keyup\",void 0],[i,\"wheel\",{passive:!1}],[i,\"contextmenu\",void 0],[t.window,\"blur\",void 0]];for(var a=0,o=this._listeners;aa?Math.min(2,_):Math.max(.5,_),w=Math.pow(g,1-e),T=i.unproject(x.add(b.mult(e*w)).mult(m));i.setLocationAtPoint(i.renderWorldCopies?T.wrap():T,d)}n._fireMoveEvents(r)}),(function(t){n._afterEase(r,t)}),e),this},r.prototype._prepareEase=function(e,r,n){void 0===n&&(n={}),this._moving=!0,r||n.moving||this.fire(new t.Event(\"movestart\",e)),this._zooming&&!n.zooming&&this.fire(new t.Event(\"zoomstart\",e)),this._rotating&&!n.rotating&&this.fire(new t.Event(\"rotatestart\",e)),this._pitching&&!n.pitching&&this.fire(new t.Event(\"pitchstart\",e))},r.prototype._fireMoveEvents=function(e){this.fire(new t.Event(\"move\",e)),this._zooming&&this.fire(new t.Event(\"zoom\",e)),this._rotating&&this.fire(new t.Event(\"rotate\",e)),this._pitching&&this.fire(new t.Event(\"pitch\",e))},r.prototype._afterEase=function(e,r){if(!this._easeId||!r||this._easeId!==r){delete this._easeId;var n=this._zooming,i=this._rotating,a=this._pitching;this._moving=!1,this._zooming=!1,this._rotating=!1,this._pitching=!1,this._padding=!1,n&&this.fire(new t.Event(\"zoomend\",e)),i&&this.fire(new t.Event(\"rotateend\",e)),a&&this.fire(new t.Event(\"pitchend\",e)),this.fire(new t.Event(\"moveend\",e))}},r.prototype.flyTo=function(e,r){var n=this;if(!e.essential&&t.browser.prefersReducedMotion){var i=t.pick(e,[\"center\",\"zoom\",\"bearing\",\"pitch\",\"around\"]);return this.jumpTo(i,r)}this.stop(),e=t.extend({offset:[0,0],speed:1.2,curve:1.42,easing:t.ease},e);var a=this.transform,o=this.getZoom(),s=this.getBearing(),l=this.getPitch(),c=this.getPadding(),u=\"zoom\"in e?t.clamp(+e.zoom,a.minZoom,a.maxZoom):o,f=\"bearing\"in e?this._normalizeBearing(e.bearing,s):s,h=\"pitch\"in e?+e.pitch:l,p=\"padding\"in e?e.padding:a.padding,d=a.zoomScale(u-o),m=t.Point.convert(e.offset),g=a.centerPoint.add(m),v=a.pointLocation(g),y=t.LngLat.convert(e.center||v);this._normalizeCenter(y);var x=a.project(v),b=a.project(y).sub(x),_=e.curve,w=Math.max(a.width,a.height),T=w/d,k=b.mag();if(\"minZoom\"in e){var A=t.clamp(Math.min(e.minZoom,o,u),a.minZoom,a.maxZoom),M=w/a.zoomScale(A-o);_=Math.sqrt(M/k*2)}var S=_*_;function E(t){var e=(T*T-w*w+(t?-1:1)*S*S*k*k)/(2*(t?T:w)*S*k);return Math.log(Math.sqrt(e*e+1)-e)}function L(t){return(Math.exp(t)-Math.exp(-t))/2}function C(t){return(Math.exp(t)+Math.exp(-t))/2}var P=E(0),I=function(t){return C(P)/C(P+_*t)},O=function(t){return w*((C(P)*(L(e=P+_*t)/C(e))-L(P))/S)/k;var e},z=(E(1)-P)/_;if(Math.abs(k)<1e-6||!isFinite(z)){if(Math.abs(w-T)<1e-6)return this.easeTo(e,r);var D=Te.maxDuration&&(e.duration=0),this._zooming=!0,this._rotating=s!==f,this._pitching=h!==l,this._padding=!a.isPaddingEqual(p),this._prepareEase(r,!1),this._ease((function(e){var i=e*z,d=1/I(i);a.zoom=1===e?u:o+a.scaleZoom(d),n._rotating&&(a.bearing=t.number(s,f,e)),n._pitching&&(a.pitch=t.number(l,h,e)),n._padding&&(a.interpolatePadding(c,p,e),g=a.centerPoint.add(m));var v=1===e?y:a.unproject(x.add(b.mult(O(i))).mult(d));a.setLocationAtPoint(a.renderWorldCopies?v.wrap():v,g),n._fireMoveEvents(r)}),(function(){return n._afterEase(r)}),e),this},r.prototype.isEasing=function(){return!!this._easeFrameId},r.prototype.stop=function(){return this._stop()},r.prototype._stop=function(t,e){if(this._easeFrameId&&(this._cancelRenderFrame(this._easeFrameId),delete this._easeFrameId,delete this._onEaseFrame),this._onEaseEnd){var r=this._onEaseEnd;delete this._onEaseEnd,r.call(this,e)}if(!t){var n=this.handlers;n&&n.stop()}return this},r.prototype._ease=function(e,r,n){!1===n.animate||0===n.duration?(e(1),r()):(this._easeStart=t.browser.now(),this._easeOptions=n,this._onEaseFrame=e,this._onEaseEnd=r,this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback))},r.prototype._renderFrameCallback=function(){var e=Math.min((t.browser.now()-this._easeStart)/this._easeOptions.duration,1);this._onEaseFrame(this._easeOptions.easing(e)),e<1?this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback):this.stop()},r.prototype._normalizeBearing=function(e,r){e=t.wrap(e,-180,180);var n=Math.abs(e-r);return Math.abs(e-360-r)180?-360:r<-180?360:0}},r}(t.Evented),bi=function(e){void 0===e&&(e={}),this.options=e,t.bindAll([\"_updateEditLink\",\"_updateData\",\"_updateCompact\"],this)};bi.prototype.getDefaultPosition=function(){return\"bottom-right\"},bi.prototype.onAdd=function(t){var e=this.options&&this.options.compact;return this._map=t,this._container=r.create(\"div\",\"mapboxgl-ctrl mapboxgl-ctrl-attrib\"),this._innerContainer=r.create(\"div\",\"mapboxgl-ctrl-attrib-inner\",this._container),e&&this._container.classList.add(\"mapboxgl-compact\"),this._updateAttributions(),this._updateEditLink(),this._map.on(\"styledata\",this._updateData),this._map.on(\"sourcedata\",this._updateData),this._map.on(\"moveend\",this._updateEditLink),void 0===e&&(this._map.on(\"resize\",this._updateCompact),this._updateCompact()),this._container},bi.prototype.onRemove=function(){r.remove(this._container),this._map.off(\"styledata\",this._updateData),this._map.off(\"sourcedata\",this._updateData),this._map.off(\"moveend\",this._updateEditLink),this._map.off(\"resize\",this._updateCompact),this._map=void 0,this._attribHTML=void 0},bi.prototype._updateEditLink=function(){var e=this._editLink;e||(e=this._editLink=this._container.querySelector(\".mapbox-improve-map\"));var r=[{key:\"owner\",value:this.styleOwner},{key:\"id\",value:this.styleId},{key:\"access_token\",value:this._map._requestManager._customAccessToken||t.config.ACCESS_TOKEN}];if(e){var n=r.reduce((function(t,e,n){return e.value&&(t+=e.key+\"=\"+e.value+(n=0)return!1;return!0}))).join(\" | \");o!==this._attribHTML&&(this._attribHTML=o,t.length?(this._innerContainer.innerHTML=o,this._container.classList.remove(\"mapboxgl-attrib-empty\")):this._container.classList.add(\"mapboxgl-attrib-empty\"),this._editLink=null)}},bi.prototype._updateCompact=function(){this._map.getCanvasContainer().offsetWidth<=640?this._container.classList.add(\"mapboxgl-compact\"):this._container.classList.remove(\"mapboxgl-compact\")};var _i=function(){t.bindAll([\"_updateLogo\"],this),t.bindAll([\"_updateCompact\"],this)};_i.prototype.onAdd=function(t){this._map=t,this._container=r.create(\"div\",\"mapboxgl-ctrl\");var e=r.create(\"a\",\"mapboxgl-ctrl-logo\");return e.target=\"_blank\",e.rel=\"noopener nofollow\",e.href=\"https://www.mapbox.com/\",e.setAttribute(\"aria-label\",this._map._getUIString(\"LogoControl.Title\")),e.setAttribute(\"rel\",\"noopener nofollow\"),this._container.appendChild(e),this._container.style.display=\"none\",this._map.on(\"sourcedata\",this._updateLogo),this._updateLogo(),this._map.on(\"resize\",this._updateCompact),this._updateCompact(),this._container},_i.prototype.onRemove=function(){r.remove(this._container),this._map.off(\"sourcedata\",this._updateLogo),this._map.off(\"resize\",this._updateCompact)},_i.prototype.getDefaultPosition=function(){return\"bottom-left\"},_i.prototype._updateLogo=function(t){t&&\"metadata\"!==t.sourceDataType||(this._container.style.display=this._logoRequired()?\"block\":\"none\")},_i.prototype._logoRequired=function(){if(this._map.style){var t=this._map.style.sourceCaches;for(var e in t){if(t[e].getSource().mapbox_logo)return!0}return!1}},_i.prototype._updateCompact=function(){var t=this._container.children;if(t.length){var e=t[0];this._map.getCanvasContainer().offsetWidth<250?e.classList.add(\"mapboxgl-compact\"):e.classList.remove(\"mapboxgl-compact\")}};var wi=function(){this._queue=[],this._id=0,this._cleared=!1,this._currentlyRunning=!1};wi.prototype.add=function(t){var e=++this._id;return this._queue.push({callback:t,id:e,cancelled:!1}),e},wi.prototype.remove=function(t){for(var e=this._currentlyRunning,r=0,n=e?this._queue.concat(e):this._queue;re.maxZoom)throw new Error(\"maxZoom must be greater than or equal to minZoom\");if(null!=e.minPitch&&null!=e.maxPitch&&e.minPitch>e.maxPitch)throw new Error(\"maxPitch must be greater than or equal to minPitch\");if(null!=e.minPitch&&e.minPitch<0)throw new Error(\"minPitch must be greater than or equal to 0\");if(null!=e.maxPitch&&e.maxPitch>60)throw new Error(\"maxPitch must be less than or equal to 60\");var i=new An(e.minZoom,e.maxZoom,e.minPitch,e.maxPitch,e.renderWorldCopies);if(n.call(this,i,e),this._interactive=e.interactive,this._maxTileCacheSize=e.maxTileCacheSize,this._failIfMajorPerformanceCaveat=e.failIfMajorPerformanceCaveat,this._preserveDrawingBuffer=e.preserveDrawingBuffer,this._antialias=e.antialias,this._trackResize=e.trackResize,this._bearingSnap=e.bearingSnap,this._refreshExpiredTiles=e.refreshExpiredTiles,this._fadeDuration=e.fadeDuration,this._crossSourceCollisions=e.crossSourceCollisions,this._crossFadingFactor=1,this._collectResourceTiming=e.collectResourceTiming,this._renderTaskQueue=new wi,this._controls=[],this._mapId=t.uniqueId(),this._locale=t.extend({},Ti,e.locale),this._requestManager=new t.RequestManager(e.transformRequest,e.accessToken),\"string\"==typeof e.container){if(this._container=t.window.document.getElementById(e.container),!this._container)throw new Error(\"Container '\"+e.container+\"' not found.\")}else{if(!(e.container instanceof Ai))throw new Error(\"Invalid type: 'container' must be a String or HTMLElement.\");this._container=e.container}if(e.maxBounds&&this.setMaxBounds(e.maxBounds),t.bindAll([\"_onWindowOnline\",\"_onWindowResize\",\"_contextLost\",\"_contextRestored\"],this),this._setupContainer(),this._setupPainter(),void 0===this.painter)throw new Error(\"Failed to initialize WebGL.\");this.on(\"move\",(function(){return r._update(!1)})),this.on(\"moveend\",(function(){return r._update(!1)})),this.on(\"zoom\",(function(){return r._update(!0)})),void 0!==t.window&&(t.window.addEventListener(\"online\",this._onWindowOnline,!1),t.window.addEventListener(\"resize\",this._onWindowResize,!1)),this.handlers=new yi(this,e);var a=\"string\"==typeof e.hash&&e.hash||void 0;this._hash=e.hash&&new Sn(a).addTo(this),this._hash&&this._hash._onHashChange()||(this.jumpTo({center:e.center,zoom:e.zoom,bearing:e.bearing,pitch:e.pitch}),e.bounds&&(this.resize(),this.fitBounds(e.bounds,t.extend({},e.fitBoundsOptions,{duration:0})))),this.resize(),this._localIdeographFontFamily=e.localIdeographFontFamily,e.style&&this.setStyle(e.style,{localIdeographFontFamily:e.localIdeographFontFamily}),e.attributionControl&&this.addControl(new bi({customAttribution:e.customAttribution})),this.addControl(new _i,e.logoPosition),this.on(\"style.load\",(function(){r.transform.unmodified&&r.jumpTo(r.style.stylesheet)})),this.on(\"data\",(function(e){r._update(\"style\"===e.dataType),r.fire(new t.Event(e.dataType+\"data\",e))})),this.on(\"dataloading\",(function(e){r.fire(new t.Event(e.dataType+\"dataloading\",e))}))}n&&(i.__proto__=n),i.prototype=Object.create(n&&n.prototype),i.prototype.constructor=i;var a={showTileBoundaries:{configurable:!0},showPadding:{configurable:!0},showCollisionBoxes:{configurable:!0},showOverdrawInspector:{configurable:!0},repaint:{configurable:!0},vertices:{configurable:!0},version:{configurable:!0}};return i.prototype._getMapId=function(){return this._mapId},i.prototype.addControl=function(e,r){if(void 0===r&&e.getDefaultPosition&&(r=e.getDefaultPosition()),void 0===r&&(r=\"top-right\"),!e||!e.onAdd)return this.fire(new t.ErrorEvent(new Error(\"Invalid argument to map.addControl(). Argument must be a control with onAdd and onRemove methods.\")));var n=e.onAdd(this);this._controls.push(e);var i=this._controlPositions[r];return-1!==r.indexOf(\"bottom\")?i.insertBefore(n,i.firstChild):i.appendChild(n),this},i.prototype.removeControl=function(e){if(!e||!e.onRemove)return this.fire(new t.ErrorEvent(new Error(\"Invalid argument to map.removeControl(). Argument must be a control with onAdd and onRemove methods.\")));var r=this._controls.indexOf(e);return r>-1&&this._controls.splice(r,1),e.onRemove(this),this},i.prototype.resize=function(e){var r=this._containerDimensions(),n=r[0],i=r[1];this._resizeCanvas(n,i),this.transform.resize(n,i),this.painter.resize(n,i);var a=!this._moving;return a&&(this.stop(),this.fire(new t.Event(\"movestart\",e)).fire(new t.Event(\"move\",e))),this.fire(new t.Event(\"resize\",e)),a&&this.fire(new t.Event(\"moveend\",e)),this},i.prototype.getBounds=function(){return this.transform.getBounds()},i.prototype.getMaxBounds=function(){return this.transform.getMaxBounds()},i.prototype.setMaxBounds=function(e){return this.transform.setMaxBounds(t.LngLatBounds.convert(e)),this._update()},i.prototype.setMinZoom=function(t){if((t=null==t?-2:t)>=-2&&t<=this.transform.maxZoom)return this.transform.minZoom=t,this._update(),this.getZoom()=this.transform.minZoom)return this.transform.maxZoom=t,this._update(),this.getZoom()>t&&this.setZoom(t),this;throw new Error(\"maxZoom must be greater than the current minZoom\")},i.prototype.getMaxZoom=function(){return this.transform.maxZoom},i.prototype.setMinPitch=function(t){if((t=null==t?0:t)<0)throw new Error(\"minPitch must be greater than or equal to 0\");if(t>=0&&t<=this.transform.maxPitch)return this.transform.minPitch=t,this._update(),this.getPitch()60)throw new Error(\"maxPitch must be less than or equal to 60\");if(t>=this.transform.minPitch)return this.transform.maxPitch=t,this._update(),this.getPitch()>t&&this.setPitch(t),this;throw new Error(\"maxPitch must be greater than the current minPitch\")},i.prototype.getMaxPitch=function(){return this.transform.maxPitch},i.prototype.getRenderWorldCopies=function(){return this.transform.renderWorldCopies},i.prototype.setRenderWorldCopies=function(t){return this.transform.renderWorldCopies=t,this._update()},i.prototype.project=function(e){return this.transform.locationPoint(t.LngLat.convert(e))},i.prototype.unproject=function(e){return this.transform.pointLocation(t.Point.convert(e))},i.prototype.isMoving=function(){return this._moving||this.handlers.isMoving()},i.prototype.isZooming=function(){return this._zooming||this.handlers.isZooming()},i.prototype.isRotating=function(){return this._rotating||this.handlers.isRotating()},i.prototype._createDelegatedListener=function(t,e,r){var n,i=this;if(\"mouseenter\"===t||\"mouseover\"===t){var a=!1;return{layer:e,listener:r,delegates:{mousemove:function(n){var o=i.getLayer(e)?i.queryRenderedFeatures(n.point,{layers:[e]}):[];o.length?a||(a=!0,r.call(i,new Rn(t,i,n.originalEvent,{features:o}))):a=!1},mouseout:function(){a=!1}}}}if(\"mouseleave\"===t||\"mouseout\"===t){var o=!1;return{layer:e,listener:r,delegates:{mousemove:function(n){(i.getLayer(e)?i.queryRenderedFeatures(n.point,{layers:[e]}):[]).length?o=!0:o&&(o=!1,r.call(i,new Rn(t,i,n.originalEvent)))},mouseout:function(e){o&&(o=!1,r.call(i,new Rn(t,i,e.originalEvent)))}}}}return{layer:e,listener:r,delegates:(n={},n[t]=function(t){var n=i.getLayer(e)?i.queryRenderedFeatures(t.point,{layers:[e]}):[];n.length&&(t.features=n,r.call(i,t),delete t.features)},n)}},i.prototype.on=function(t,e,r){if(void 0===r)return n.prototype.on.call(this,t,e);var i=this._createDelegatedListener(t,e,r);for(var a in this._delegatedListeners=this._delegatedListeners||{},this._delegatedListeners[t]=this._delegatedListeners[t]||[],this._delegatedListeners[t].push(i),i.delegates)this.on(a,i.delegates[a]);return this},i.prototype.once=function(t,e,r){if(void 0===r)return n.prototype.once.call(this,t,e);var i=this._createDelegatedListener(t,e,r);for(var a in i.delegates)this.once(a,i.delegates[a]);return this},i.prototype.off=function(t,e,r){var i=this;if(void 0===r)return n.prototype.off.call(this,t,e);return this._delegatedListeners&&this._delegatedListeners[t]&&function(n){for(var a=n[t],o=0;o180;){var s=n.locationPoint(e);if(s.x>=0&&s.y>=0&&s.x<=n.width&&s.y<=n.height)break;e.lng>n.center.lng?e.lng-=360:e.lng+=360}return e}Ii.prototype.down=function(t,e){this.mouseRotate.mousedown(t,e),this.mousePitch&&this.mousePitch.mousedown(t,e),r.disableDrag()},Ii.prototype.move=function(t,e){var r=this.map,n=this.mouseRotate.mousemoveWindow(t,e);if(n&&n.bearingDelta&&r.setBearing(r.getBearing()+n.bearingDelta),this.mousePitch){var i=this.mousePitch.mousemoveWindow(t,e);i&&i.pitchDelta&&r.setPitch(r.getPitch()+i.pitchDelta)}},Ii.prototype.off=function(){var t=this.element;r.removeEventListener(t,\"mousedown\",this.mousedown),r.removeEventListener(t,\"touchstart\",this.touchstart,{passive:!1}),r.removeEventListener(t,\"touchmove\",this.touchmove),r.removeEventListener(t,\"touchend\",this.touchend),r.removeEventListener(t,\"touchcancel\",this.reset),this.offTemp()},Ii.prototype.offTemp=function(){r.enableDrag(),r.removeEventListener(t.window,\"mousemove\",this.mousemove),r.removeEventListener(t.window,\"mouseup\",this.mouseup)},Ii.prototype.mousedown=function(e){this.down(t.extend({},e,{ctrlKey:!0,preventDefault:function(){return e.preventDefault()}}),r.mousePos(this.element,e)),r.addEventListener(t.window,\"mousemove\",this.mousemove),r.addEventListener(t.window,\"mouseup\",this.mouseup)},Ii.prototype.mousemove=function(t){this.move(t,r.mousePos(this.element,t))},Ii.prototype.mouseup=function(t){this.mouseRotate.mouseupWindow(t),this.mousePitch&&this.mousePitch.mouseupWindow(t),this.offTemp()},Ii.prototype.touchstart=function(t){1!==t.targetTouches.length?this.reset():(this._startPos=this._lastPos=r.touchPos(this.element,t.targetTouches)[0],this.down({type:\"mousedown\",button:0,ctrlKey:!0,preventDefault:function(){return t.preventDefault()}},this._startPos))},Ii.prototype.touchmove=function(t){1!==t.targetTouches.length?this.reset():(this._lastPos=r.touchPos(this.element,t.targetTouches)[0],this.move({preventDefault:function(){return t.preventDefault()}},this._lastPos))},Ii.prototype.touchend=function(t){0===t.targetTouches.length&&this._startPos&&this._lastPos&&this._startPos.dist(this._lastPos)e.getEast()||r.latitudee.getNorth())},n.prototype._setErrorState=function(){switch(this._watchState){case\"WAITING_ACTIVE\":this._watchState=\"ACTIVE_ERROR\",this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-active\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-active-error\");break;case\"ACTIVE_LOCK\":this._watchState=\"ACTIVE_ERROR\",this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-active\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-active-error\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-waiting\");break;case\"BACKGROUND\":this._watchState=\"BACKGROUND_ERROR\",this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-background\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-background-error\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-waiting\")}},n.prototype._onSuccess=function(e){if(this._map){if(this._isOutOfMapMaxBounds(e))return this._setErrorState(),this.fire(new t.Event(\"outofmaxbounds\",e)),this._updateMarker(),void this._finish();if(this.options.trackUserLocation)switch(this._lastKnownPosition=e,this._watchState){case\"WAITING_ACTIVE\":case\"ACTIVE_LOCK\":case\"ACTIVE_ERROR\":this._watchState=\"ACTIVE_LOCK\",this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-active-error\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-active\");break;case\"BACKGROUND\":case\"BACKGROUND_ERROR\":this._watchState=\"BACKGROUND\",this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-background-error\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-background\")}this.options.showUserLocation&&\"OFF\"!==this._watchState&&this._updateMarker(e),this.options.trackUserLocation&&\"ACTIVE_LOCK\"!==this._watchState||this._updateCamera(e),this.options.showUserLocation&&this._dotElement.classList.remove(\"mapboxgl-user-location-dot-stale\"),this.fire(new t.Event(\"geolocate\",e)),this._finish()}},n.prototype._updateCamera=function(e){var r=new t.LngLat(e.coords.longitude,e.coords.latitude),n=e.coords.accuracy,i=this._map.getBearing(),a=t.extend({bearing:i},this.options.fitBoundsOptions);this._map.fitBounds(r.toBounds(n),a,{geolocateSource:!0})},n.prototype._updateMarker=function(e){if(e){var r=new t.LngLat(e.coords.longitude,e.coords.latitude);this._accuracyCircleMarker.setLngLat(r).addTo(this._map),this._userLocationDotMarker.setLngLat(r).addTo(this._map),this._accuracy=e.coords.accuracy,this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()}else this._userLocationDotMarker.remove(),this._accuracyCircleMarker.remove()},n.prototype._updateCircleRadius=function(){var t=this._map._container.clientHeight/2,e=this._map.unproject([0,t]),r=this._map.unproject([1,t]),n=e.distanceTo(r),i=Math.ceil(2*this._accuracy/n);this._circleElement.style.width=i+\"px\",this._circleElement.style.height=i+\"px\"},n.prototype._onZoom=function(){this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()},n.prototype._onError=function(e){if(this._map){if(this.options.trackUserLocation)if(1===e.code){this._watchState=\"OFF\",this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-active\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-active-error\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-background\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-background-error\"),this._geolocateButton.disabled=!0;var r=this._map._getUIString(\"GeolocateControl.LocationNotAvailable\");this._geolocateButton.title=r,this._geolocateButton.setAttribute(\"aria-label\",r),void 0!==this._geolocationWatchID&&this._clearWatch()}else{if(3===e.code&&ji)return;this._setErrorState()}\"OFF\"!==this._watchState&&this.options.showUserLocation&&this._dotElement.classList.add(\"mapboxgl-user-location-dot-stale\"),this.fire(new t.Event(\"error\",e)),this._finish()}},n.prototype._finish=function(){this._timeoutId&&clearTimeout(this._timeoutId),this._timeoutId=void 0},n.prototype._setupUI=function(e){var n=this;if(this._container.addEventListener(\"contextmenu\",(function(t){return t.preventDefault()})),this._geolocateButton=r.create(\"button\",\"mapboxgl-ctrl-geolocate\",this._container),r.create(\"span\",\"mapboxgl-ctrl-icon\",this._geolocateButton).setAttribute(\"aria-hidden\",!0),this._geolocateButton.type=\"button\",!1===e){t.warnOnce(\"Geolocation support is not available so the GeolocateControl will be disabled.\");var i=this._map._getUIString(\"GeolocateControl.LocationNotAvailable\");this._geolocateButton.disabled=!0,this._geolocateButton.title=i,this._geolocateButton.setAttribute(\"aria-label\",i)}else{var a=this._map._getUIString(\"GeolocateControl.FindMyLocation\");this._geolocateButton.title=a,this._geolocateButton.setAttribute(\"aria-label\",a)}this.options.trackUserLocation&&(this._geolocateButton.setAttribute(\"aria-pressed\",\"false\"),this._watchState=\"OFF\"),this.options.showUserLocation&&(this._dotElement=r.create(\"div\",\"mapboxgl-user-location-dot\"),this._userLocationDotMarker=new Fi(this._dotElement),this._circleElement=r.create(\"div\",\"mapboxgl-user-location-accuracy-circle\"),this._accuracyCircleMarker=new Fi({element:this._circleElement,pitchAlignment:\"map\"}),this.options.trackUserLocation&&(this._watchState=\"OFF\"),this._map.on(\"zoom\",this._onZoom)),this._geolocateButton.addEventListener(\"click\",this.trigger.bind(this)),this._setup=!0,this.options.trackUserLocation&&this._map.on(\"movestart\",(function(e){var r=e.originalEvent&&\"resize\"===e.originalEvent.type;e.geolocateSource||\"ACTIVE_LOCK\"!==n._watchState||r||(n._watchState=\"BACKGROUND\",n._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-background\"),n._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-active\"),n.fire(new t.Event(\"trackuserlocationend\")))}))},n.prototype.trigger=function(){if(!this._setup)return t.warnOnce(\"Geolocate control triggered before added to a map\"),!1;if(this.options.trackUserLocation){switch(this._watchState){case\"OFF\":this._watchState=\"WAITING_ACTIVE\",this.fire(new t.Event(\"trackuserlocationstart\"));break;case\"WAITING_ACTIVE\":case\"ACTIVE_LOCK\":case\"ACTIVE_ERROR\":case\"BACKGROUND_ERROR\":Ni--,ji=!1,this._watchState=\"OFF\",this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-active\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-active-error\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-background\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-background-error\"),this.fire(new t.Event(\"trackuserlocationend\"));break;case\"BACKGROUND\":this._watchState=\"ACTIVE_LOCK\",this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-background\"),this._lastKnownPosition&&this._updateCamera(this._lastKnownPosition),this.fire(new t.Event(\"trackuserlocationstart\"))}switch(this._watchState){case\"WAITING_ACTIVE\":this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-active\");break;case\"ACTIVE_LOCK\":this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-active\");break;case\"ACTIVE_ERROR\":this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-active-error\");break;case\"BACKGROUND\":this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-background\");break;case\"BACKGROUND_ERROR\":this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-background-error\")}if(\"OFF\"===this._watchState&&void 0!==this._geolocationWatchID)this._clearWatch();else if(void 0===this._geolocationWatchID){var e;this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.setAttribute(\"aria-pressed\",\"true\"),++Ni>1?(e={maximumAge:6e5,timeout:0},ji=!0):(e=this.options.positionOptions,ji=!1),this._geolocationWatchID=t.window.navigator.geolocation.watchPosition(this._onSuccess,this._onError,e)}}else t.window.navigator.geolocation.getCurrentPosition(this._onSuccess,this._onError,this.options.positionOptions),this._timeoutId=setTimeout(this._finish,1e4);return!0},n.prototype._clearWatch=function(){t.window.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0,this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.setAttribute(\"aria-pressed\",\"false\"),this.options.showUserLocation&&this._updateMarker(null)},n}(t.Evented),Vi={maxWidth:100,unit:\"metric\"},Hi=function(e){this.options=t.extend({},Vi,e),t.bindAll([\"_onMove\",\"setUnit\"],this)};function qi(t,e,r){var n=r&&r.maxWidth||100,i=t._container.clientHeight/2,a=t.unproject([0,i]),o=t.unproject([n,i]),s=a.distanceTo(o);if(r&&\"imperial\"===r.unit){var l=3.2808*s;if(l>5280)Gi(e,n,l/5280,t._getUIString(\"ScaleControl.Miles\"));else Gi(e,n,l,t._getUIString(\"ScaleControl.Feet\"))}else if(r&&\"nautical\"===r.unit){Gi(e,n,s/1852,t._getUIString(\"ScaleControl.NauticalMiles\"))}else s>=1e3?Gi(e,n,s/1e3,t._getUIString(\"ScaleControl.Kilometers\")):Gi(e,n,s,t._getUIString(\"ScaleControl.Meters\"))}function Gi(t,e,r,n){var i,a,o,s=(i=r,a=Math.pow(10,(\"\"+Math.floor(i)).length-1),o=(o=i/a)>=10?10:o>=5?5:o>=3?3:o>=2?2:o>=1?1:function(t){var e=Math.pow(10,Math.ceil(-Math.log(t)/Math.LN10));return Math.round(t*e)/e}(o),a*o),l=s/r;t.style.width=e*l+\"px\",t.innerHTML=s+\" \"+n}Hi.prototype.getDefaultPosition=function(){return\"bottom-left\"},Hi.prototype._onMove=function(){qi(this._map,this._container,this.options)},Hi.prototype.onAdd=function(t){return this._map=t,this._container=r.create(\"div\",\"mapboxgl-ctrl mapboxgl-ctrl-scale\",t.getContainer()),this._map.on(\"move\",this._onMove),this._onMove(),this._container},Hi.prototype.onRemove=function(){r.remove(this._container),this._map.off(\"move\",this._onMove),this._map=void 0},Hi.prototype.setUnit=function(t){this.options.unit=t,qi(this._map,this._container,this.options)};var Yi=function(e){this._fullscreen=!1,e&&e.container&&(e.container instanceof t.window.HTMLElement?this._container=e.container:t.warnOnce(\"Full screen control 'container' must be a DOM element.\")),t.bindAll([\"_onClickFullscreen\",\"_changeIcon\"],this),\"onfullscreenchange\"in t.window.document?this._fullscreenchange=\"fullscreenchange\":\"onmozfullscreenchange\"in t.window.document?this._fullscreenchange=\"mozfullscreenchange\":\"onwebkitfullscreenchange\"in t.window.document?this._fullscreenchange=\"webkitfullscreenchange\":\"onmsfullscreenchange\"in t.window.document&&(this._fullscreenchange=\"MSFullscreenChange\")};Yi.prototype.onAdd=function(e){return this._map=e,this._container||(this._container=this._map.getContainer()),this._controlContainer=r.create(\"div\",\"mapboxgl-ctrl mapboxgl-ctrl-group\"),this._checkFullscreenSupport()?this._setupUI():(this._controlContainer.style.display=\"none\",t.warnOnce(\"This device does not support fullscreen mode.\")),this._controlContainer},Yi.prototype.onRemove=function(){r.remove(this._controlContainer),this._map=null,t.window.document.removeEventListener(this._fullscreenchange,this._changeIcon)},Yi.prototype._checkFullscreenSupport=function(){return!!(t.window.document.fullscreenEnabled||t.window.document.mozFullScreenEnabled||t.window.document.msFullscreenEnabled||t.window.document.webkitFullscreenEnabled)},Yi.prototype._setupUI=function(){var e=this._fullscreenButton=r.create(\"button\",\"mapboxgl-ctrl-fullscreen\",this._controlContainer);r.create(\"span\",\"mapboxgl-ctrl-icon\",e).setAttribute(\"aria-hidden\",!0),e.type=\"button\",this._updateTitle(),this._fullscreenButton.addEventListener(\"click\",this._onClickFullscreen),t.window.document.addEventListener(this._fullscreenchange,this._changeIcon)},Yi.prototype._updateTitle=function(){var t=this._getTitle();this._fullscreenButton.setAttribute(\"aria-label\",t),this._fullscreenButton.title=t},Yi.prototype._getTitle=function(){return this._map._getUIString(this._isFullscreen()?\"FullscreenControl.Exit\":\"FullscreenControl.Enter\")},Yi.prototype._isFullscreen=function(){return this._fullscreen},Yi.prototype._changeIcon=function(){(t.window.document.fullscreenElement||t.window.document.mozFullScreenElement||t.window.document.webkitFullscreenElement||t.window.document.msFullscreenElement)===this._container!==this._fullscreen&&(this._fullscreen=!this._fullscreen,this._fullscreenButton.classList.toggle(\"mapboxgl-ctrl-shrink\"),this._fullscreenButton.classList.toggle(\"mapboxgl-ctrl-fullscreen\"),this._updateTitle())},Yi.prototype._onClickFullscreen=function(){this._isFullscreen()?t.window.document.exitFullscreen?t.window.document.exitFullscreen():t.window.document.mozCancelFullScreen?t.window.document.mozCancelFullScreen():t.window.document.msExitFullscreen?t.window.document.msExitFullscreen():t.window.document.webkitCancelFullScreen&&t.window.document.webkitCancelFullScreen():this._container.requestFullscreen?this._container.requestFullscreen():this._container.mozRequestFullScreen?this._container.mozRequestFullScreen():this._container.msRequestFullscreen?this._container.msRequestFullscreen():this._container.webkitRequestFullscreen&&this._container.webkitRequestFullscreen()};var Wi={closeButton:!0,closeOnClick:!0,className:\"\",maxWidth:\"240px\"},Zi=function(e){function n(r){e.call(this),this.options=t.extend(Object.create(Wi),r),t.bindAll([\"_update\",\"_onClose\",\"remove\",\"_onMouseMove\",\"_onMouseUp\",\"_onDrag\"],this)}return e&&(n.__proto__=e),n.prototype=Object.create(e&&e.prototype),n.prototype.constructor=n,n.prototype.addTo=function(e){return this._map&&this.remove(),this._map=e,this.options.closeOnClick&&this._map.on(\"click\",this._onClose),this.options.closeOnMove&&this._map.on(\"move\",this._onClose),this._map.on(\"remove\",this.remove),this._update(),this._trackPointer?(this._map.on(\"mousemove\",this._onMouseMove),this._map.on(\"mouseup\",this._onMouseUp),this._container&&this._container.classList.add(\"mapboxgl-popup-track-pointer\"),this._map._canvasContainer.classList.add(\"mapboxgl-track-pointer\")):this._map.on(\"move\",this._update),this.fire(new t.Event(\"open\")),this},n.prototype.isOpen=function(){return!!this._map},n.prototype.remove=function(){return this._content&&r.remove(this._content),this._container&&(r.remove(this._container),delete this._container),this._map&&(this._map.off(\"move\",this._update),this._map.off(\"move\",this._onClose),this._map.off(\"click\",this._onClose),this._map.off(\"remove\",this.remove),this._map.off(\"mousemove\",this._onMouseMove),this._map.off(\"mouseup\",this._onMouseUp),this._map.off(\"drag\",this._onDrag),delete this._map),this.fire(new t.Event(\"close\")),this},n.prototype.getLngLat=function(){return this._lngLat},n.prototype.setLngLat=function(e){return this._lngLat=t.LngLat.convert(e),this._pos=null,this._trackPointer=!1,this._update(),this._map&&(this._map.on(\"move\",this._update),this._map.off(\"mousemove\",this._onMouseMove),this._container&&this._container.classList.remove(\"mapboxgl-popup-track-pointer\"),this._map._canvasContainer.classList.remove(\"mapboxgl-track-pointer\")),this},n.prototype.trackPointer=function(){return this._trackPointer=!0,this._pos=null,this._update(),this._map&&(this._map.off(\"move\",this._update),this._map.on(\"mousemove\",this._onMouseMove),this._map.on(\"drag\",this._onDrag),this._container&&this._container.classList.add(\"mapboxgl-popup-track-pointer\"),this._map._canvasContainer.classList.add(\"mapboxgl-track-pointer\")),this},n.prototype.getElement=function(){return this._container},n.prototype.setText=function(e){return this.setDOMContent(t.window.document.createTextNode(e))},n.prototype.setHTML=function(e){var r,n=t.window.document.createDocumentFragment(),i=t.window.document.createElement(\"body\");for(i.innerHTML=e;r=i.firstChild;)n.appendChild(r);return this.setDOMContent(n)},n.prototype.getMaxWidth=function(){return this._container&&this._container.style.maxWidth},n.prototype.setMaxWidth=function(t){return this.options.maxWidth=t,this._update(),this},n.prototype.setDOMContent=function(t){return this._createContent(),this._content.appendChild(t),this._update(),this},n.prototype.addClassName=function(t){this._container&&this._container.classList.add(t)},n.prototype.removeClassName=function(t){this._container&&this._container.classList.remove(t)},n.prototype.toggleClassName=function(t){if(this._container)return this._container.classList.toggle(t)},n.prototype._createContent=function(){this._content&&r.remove(this._content),this._content=r.create(\"div\",\"mapboxgl-popup-content\",this._container),this.options.closeButton&&(this._closeButton=r.create(\"button\",\"mapboxgl-popup-close-button\",this._content),this._closeButton.type=\"button\",this._closeButton.setAttribute(\"aria-label\",\"Close popup\"),this._closeButton.innerHTML=\"×\",this._closeButton.addEventListener(\"click\",this._onClose))},n.prototype._onMouseUp=function(t){this._update(t.point)},n.prototype._onMouseMove=function(t){this._update(t.point)},n.prototype._onDrag=function(t){this._update(t.point)},n.prototype._update=function(e){var n=this,i=this._lngLat||this._trackPointer;if(this._map&&i&&this._content&&(this._container||(this._container=r.create(\"div\",\"mapboxgl-popup\",this._map.getContainer()),this._tip=r.create(\"div\",\"mapboxgl-popup-tip\",this._container),this._container.appendChild(this._content),this.options.className&&this.options.className.split(\" \").forEach((function(t){return n._container.classList.add(t)})),this._trackPointer&&this._container.classList.add(\"mapboxgl-popup-track-pointer\")),this.options.maxWidth&&this._container.style.maxWidth!==this.options.maxWidth&&(this._container.style.maxWidth=this.options.maxWidth),this._map.transform.renderWorldCopies&&!this._trackPointer&&(this._lngLat=Oi(this._lngLat,this._pos,this._map.transform)),!this._trackPointer||e)){var a=this._pos=this._trackPointer&&e?e:this._map.project(this._lngLat),o=this.options.anchor,s=function e(r){if(r){if(\"number\"==typeof r){var n=Math.round(Math.sqrt(.5*Math.pow(r,2)));return{center:new t.Point(0,0),top:new t.Point(0,r),\"top-left\":new t.Point(n,n),\"top-right\":new t.Point(-n,n),bottom:new t.Point(0,-r),\"bottom-left\":new t.Point(n,-n),\"bottom-right\":new t.Point(-n,-n),left:new t.Point(r,0),right:new t.Point(-r,0)}}if(r instanceof t.Point||Array.isArray(r)){var i=t.Point.convert(r);return{center:i,top:i,\"top-left\":i,\"top-right\":i,bottom:i,\"bottom-left\":i,\"bottom-right\":i,left:i,right:i}}return{center:t.Point.convert(r.center||[0,0]),top:t.Point.convert(r.top||[0,0]),\"top-left\":t.Point.convert(r[\"top-left\"]||[0,0]),\"top-right\":t.Point.convert(r[\"top-right\"]||[0,0]),bottom:t.Point.convert(r.bottom||[0,0]),\"bottom-left\":t.Point.convert(r[\"bottom-left\"]||[0,0]),\"bottom-right\":t.Point.convert(r[\"bottom-right\"]||[0,0]),left:t.Point.convert(r.left||[0,0]),right:t.Point.convert(r.right||[0,0])}}return e(new t.Point(0,0))}(this.options.offset);if(!o){var l,c=this._container.offsetWidth,u=this._container.offsetHeight;l=a.y+s.bottom.ythis._map.transform.height-u?[\"bottom\"]:[],a.xthis._map.transform.width-c/2&&l.push(\"right\"),o=0===l.length?\"bottom\":l.join(\"-\")}var f=a.add(s[o]).round();r.setTransform(this._container,zi[o]+\" translate(\"+f.x+\"px,\"+f.y+\"px)\"),Di(this._container,o,\"popup\")}},n.prototype._onClose=function(){this.remove()},n}(t.Evented);var Xi={version:t.version,supported:e,setRTLTextPlugin:t.setRTLTextPlugin,getRTLTextPluginStatus:t.getRTLTextPluginStatus,Map:Ei,NavigationControl:Pi,GeolocateControl:Ui,AttributionControl:bi,ScaleControl:Hi,FullscreenControl:Yi,Popup:Zi,Marker:Fi,Style:qe,LngLat:t.LngLat,LngLatBounds:t.LngLatBounds,Point:t.Point,MercatorCoordinate:t.MercatorCoordinate,Evented:t.Evented,config:t.config,prewarm:function(){Bt().acquire(zt)},clearPrewarmedResources:function(){var t=Rt;t&&(t.isPreloaded()&&1===t.numActive()?(t.release(zt),Rt=null):console.warn(\"Could not clear WebWorkers since there are active Map instances that still reference it. The pre-warmed WebWorker pool can only be cleared when all map instances have been removed with map.remove()\"))},get accessToken(){return t.config.ACCESS_TOKEN},set accessToken(e){t.config.ACCESS_TOKEN=e},get baseApiUrl(){return t.config.API_URL},set baseApiUrl(e){t.config.API_URL=e},get workerCount(){return Dt.workerCount},set workerCount(t){Dt.workerCount=t},get maxParallelImageRequests(){return t.config.MAX_PARALLEL_IMAGE_REQUESTS},set maxParallelImageRequests(e){t.config.MAX_PARALLEL_IMAGE_REQUESTS=e},clearStorage:function(e){t.clearTileCache(e)},workerUrl:\"\"};return Xi})),r}))},{}],240:[function(t,e,r){\"use strict\";e.exports=Math.log2||function(t){return Math.log(t)*Math.LOG2E}},{}],241:[function(t,e,r){\"use strict\";e.exports=function(t,e){e||(e=t,t=window);var r=0,i=0,a=0,o={shift:!1,alt:!1,control:!1,meta:!1},s=!1;function l(t){var e=!1;return\"altKey\"in t&&(e=e||t.altKey!==o.alt,o.alt=!!t.altKey),\"shiftKey\"in t&&(e=e||t.shiftKey!==o.shift,o.shift=!!t.shiftKey),\"ctrlKey\"in t&&(e=e||t.ctrlKey!==o.control,o.control=!!t.ctrlKey),\"metaKey\"in t&&(e=e||t.metaKey!==o.meta,o.meta=!!t.metaKey),e}function c(t,s){var c=n.x(s),u=n.y(s);\"buttons\"in s&&(t=0|s.buttons),(t!==r||c!==i||u!==a||l(s))&&(r=0|t,i=c||0,a=u||0,e&&e(r,i,a,o))}function u(t){c(0,t)}function f(){(r||i||a||o.shift||o.alt||o.meta||o.control)&&(i=a=0,r=0,o.shift=o.alt=o.control=o.meta=!1,e&&e(0,0,0,o))}function h(t){l(t)&&e&&e(r,i,a,o)}function p(t){0===n.buttons(t)?c(0,t):c(r,t)}function d(t){c(r|n.buttons(t),t)}function m(t){c(r&~n.buttons(t),t)}function g(){s||(s=!0,t.addEventListener(\"mousemove\",p),t.addEventListener(\"mousedown\",d),t.addEventListener(\"mouseup\",m),t.addEventListener(\"mouseleave\",u),t.addEventListener(\"mouseenter\",u),t.addEventListener(\"mouseout\",u),t.addEventListener(\"mouseover\",u),t.addEventListener(\"blur\",f),t.addEventListener(\"keyup\",h),t.addEventListener(\"keydown\",h),t.addEventListener(\"keypress\",h),t!==window&&(window.addEventListener(\"blur\",f),window.addEventListener(\"keyup\",h),window.addEventListener(\"keydown\",h),window.addEventListener(\"keypress\",h)))}g();var v={element:t};return Object.defineProperties(v,{enabled:{get:function(){return s},set:function(e){e?g():function(){if(!s)return;s=!1,t.removeEventListener(\"mousemove\",p),t.removeEventListener(\"mousedown\",d),t.removeEventListener(\"mouseup\",m),t.removeEventListener(\"mouseleave\",u),t.removeEventListener(\"mouseenter\",u),t.removeEventListener(\"mouseout\",u),t.removeEventListener(\"mouseover\",u),t.removeEventListener(\"blur\",f),t.removeEventListener(\"keyup\",h),t.removeEventListener(\"keydown\",h),t.removeEventListener(\"keypress\",h),t!==window&&(window.removeEventListener(\"blur\",f),window.removeEventListener(\"keyup\",h),window.removeEventListener(\"keydown\",h),window.removeEventListener(\"keypress\",h))}()},enumerable:!0},buttons:{get:function(){return r},enumerable:!0},x:{get:function(){return i},enumerable:!0},y:{get:function(){return a},enumerable:!0},mods:{get:function(){return o},enumerable:!0}}),v};var n=t(\"mouse-event\")},{\"mouse-event\":243}],242:[function(t,e,r){var n={left:0,top:0};e.exports=function(t,e,r){e=e||t.currentTarget||t.srcElement,Array.isArray(r)||(r=[0,0]);var i=t.clientX||0,a=t.clientY||0,o=(s=e,s===window||s===document||s===document.body?n:s.getBoundingClientRect());var s;return r[0]=i-o.left,r[1]=a-o.top,r}},{}],243:[function(t,e,r){\"use strict\";function n(t){return t.target||t.srcElement||window}r.buttons=function(t){if(\"object\"==typeof t){if(\"buttons\"in t)return t.buttons;if(\"which\"in t){if(2===(e=t.which))return 4;if(3===e)return 2;if(e>0)return 1<=0)return 1<0&&o(l,r))}catch(t){f.call(new p(r),t)}}}function f(t){var e=this;e.triggered||(e.triggered=!0,e.def&&(e=e.def),e.msg=t,e.state=2,e.chain.length>0&&o(l,e))}function h(t,e,r,n){for(var i=0;i1&&(r*=v=Math.sqrt(v),a*=v);var y=r*r,x=a*a,b=(c==u?-1:1)*Math.sqrt(Math.abs((y*x-y*g*g-x*m*m)/(y*g*g+x*m*m)));b==1/0&&(b=1);var _=b*r*g/a+(t+f)/2,w=b*-a*m/r+(e+h)/2,T=Math.asin(((e-w)/a).toFixed(9)),k=Math.asin(((h-w)/a).toFixed(9));(T=t<_?n-T:T)<0&&(T=2*n+T),(k=f<_?n-k:k)<0&&(k=2*n+k),u&&T>k&&(T-=2*n),!u&&k>T&&(k-=2*n)}if(Math.abs(k-T)>i){var A=k,M=f,S=h;k=T+i*(u&&k>T?1:-1);var E=s(f=_+r*Math.cos(k),h=w+a*Math.sin(k),r,a,o,0,u,M,S,[k,A,_,w])}var L=Math.tan((k-T)/4),C=4/3*r*L,P=4/3*a*L,I=[2*t-(t+C*Math.sin(T)),2*e-(e-P*Math.cos(T)),f+C*Math.sin(k),h-P*Math.cos(k),f,h];if(p)return I;E&&(I=I.concat(E));for(var O=0;O7&&(r.push(v.splice(0,7)),v.unshift(\"C\"));break;case\"S\":var x=p,b=d;\"C\"!=e&&\"S\"!=e||(x+=x-n,b+=b-i),v=[\"C\",x,b,v[1],v[2],v[3],v[4]];break;case\"T\":\"Q\"==e||\"T\"==e?(f=2*p-f,h=2*d-h):(f=p,h=d),v=o(p,d,f,h,v[1],v[2]);break;case\"Q\":f=v[1],h=v[2],v=o(p,d,v[1],v[2],v[3],v[4]);break;case\"L\":v=a(p,d,v[1],v[2]);break;case\"H\":v=a(p,d,v[1],d);break;case\"V\":v=a(p,d,p,v[1]);break;case\"Z\":v=a(p,d,l,u)}e=y,p=v[v.length-2],d=v[v.length-1],v.length>4?(n=v[v.length-4],i=v[v.length-3]):(n=p,i=d),r.push(v)}return r}},{}],247:[function(t,e,r){\n", + "/*\n", + "object-assign\n", + "(c) Sindre Sorhus\n", + "@license MIT\n", + "*/\n", + "\"use strict\";var n=Object.getOwnPropertySymbols,i=Object.prototype.hasOwnProperty,a=Object.prototype.propertyIsEnumerable;function o(t){if(null==t)throw new TypeError(\"Object.assign cannot be called with null or undefined\");return Object(t)}e.exports=function(){try{if(!Object.assign)return!1;var t=new String(\"abc\");if(t[5]=\"de\",\"5\"===Object.getOwnPropertyNames(t)[0])return!1;for(var e={},r=0;r<10;r++)e[\"_\"+String.fromCharCode(r)]=r;if(\"0123456789\"!==Object.getOwnPropertyNames(e).map((function(t){return e[t]})).join(\"\"))return!1;var n={};return\"abcdefghijklmnopqrst\".split(\"\").forEach((function(t){n[t]=t})),\"abcdefghijklmnopqrst\"===Object.keys(Object.assign({},n)).join(\"\")}catch(t){return!1}}()?Object.assign:function(t,e){for(var r,s,l=o(t),c=1;c1e4)throw Error(\"References have circular dependency. Please, check them.\");r[n]=t})),n=n.reverse(),r=r.map((function(e){return n.forEach((function(r){e=e.replace(new RegExp(\"(\\\\\"+i+r+\"\\\\\"+i+\")\",\"g\"),t[0]+\"$1\"+t[1])})),e}))}));var o=new RegExp(\"\\\\\"+i+\"([0-9]+)\\\\\"+i);return a?r:function t(e,r,n){for(var i,a=[],s=0;i=o.exec(e);){if(s++>1e4)throw Error(\"Circular references in parenthesis\");a.push(e.slice(0,i.index)),a.push(t(r[i[1]],r)),e=e.slice(i.index+i[0].length)}return a.push(e),a}(r[0],r)}function i(t,e){if(e&&e.flat){var r,n=e&&e.escape||\"___\",i=t[0];if(!i)return\"\";for(var a=new RegExp(\"\\\\\"+n+\"([0-9]+)\\\\\"+n),o=0;i!=r;){if(o++>1e4)throw Error(\"Circular references in \"+t);r=i,i=i.replace(a,s)}return i}return t.reduce((function t(e,r){return Array.isArray(r)&&(r=r.reduce(t,\"\")),e+r}),\"\");function s(e,r){if(null==t[r])throw Error(\"Reference \"+r+\"is undefined\");return t[r]}}function a(t,e){return Array.isArray(t)?i(t,e):n(t,e)}a.parse=n,a.stringify=i,e.exports=a},{}],249:[function(t,e,r){\"use strict\";var n=t(\"pick-by-alias\");e.exports=function(t){var e;arguments.length>1&&(t=arguments);\"string\"==typeof t?t=t.split(/\\s/).map(parseFloat):\"number\"==typeof t&&(t=[t]);t.length&&\"number\"==typeof t[0]?e=1===t.length?{width:t[0],height:t[0],x:0,y:0}:2===t.length?{width:t[0],height:t[1],x:0,y:0}:{x:t[0],y:t[1],width:t[2]-t[0]||0,height:t[3]-t[1]||0}:t&&(t=n(t,{left:\"x l left Left\",top:\"y t top Top\",width:\"w width W Width\",height:\"h height W Width\",bottom:\"b bottom Bottom\",right:\"r right Right\"}),e={x:t.left||0,y:t.top||0},null==t.width?t.right?e.width=t.right-e.x:e.width=0:e.width=t.width,null==t.height?t.bottom?e.height=t.bottom-e.y:e.height=0:e.height=t.height);return e}},{\"pick-by-alias\":253}],250:[function(t,e,r){e.exports=function(t){var e=[];return t.replace(i,(function(t,r,i){var o=r.toLowerCase();for(i=function(t){var e=t.match(a);return e?e.map(Number):[]}(i),\"m\"==o&&i.length>2&&(e.push([r].concat(i.splice(0,2))),o=\"l\",r=\"m\"==r?\"l\":\"L\");;){if(i.length==n[o])return i.unshift(r),e.push(i);if(i.lengtha!=p>a&&i<(h-u)*(a-f)/(p-f)+u&&(o=!o)}return o}},{}],255:[function(t,e,r){\n", + "/*\n", + " * @copyright 2016 Sean Connelly (@voidqk), http://syntheti.cc\n", + " * @license MIT\n", + " * @preserve Project Home: https://github.com/voidqk/polybooljs\n", + " */\n", + "var n,i=t(\"./lib/build-log\"),a=t(\"./lib/epsilon\"),o=t(\"./lib/intersecter\"),s=t(\"./lib/segment-chainer\"),l=t(\"./lib/segment-selector\"),c=t(\"./lib/geojson\"),u=!1,f=a();function h(t,e,r){var i=n.segments(t),a=n.segments(e),o=r(n.combine(i,a));return n.polygon(o)}n={buildLog:function(t){return!0===t?u=i():!1===t&&(u=!1),!1!==u&&u.list},epsilon:function(t){return f.epsilon(t)},segments:function(t){var e=o(!0,f,u);return t.regions.forEach(e.addRegion),{segments:e.calculate(t.inverted),inverted:t.inverted}},combine:function(t,e){return{combined:o(!1,f,u).calculate(t.segments,t.inverted,e.segments,e.inverted),inverted1:t.inverted,inverted2:e.inverted}},selectUnion:function(t){return{segments:l.union(t.combined,u),inverted:t.inverted1||t.inverted2}},selectIntersect:function(t){return{segments:l.intersect(t.combined,u),inverted:t.inverted1&&t.inverted2}},selectDifference:function(t){return{segments:l.difference(t.combined,u),inverted:t.inverted1&&!t.inverted2}},selectDifferenceRev:function(t){return{segments:l.differenceRev(t.combined,u),inverted:!t.inverted1&&t.inverted2}},selectXor:function(t){return{segments:l.xor(t.combined,u),inverted:t.inverted1!==t.inverted2}},polygon:function(t){return{regions:s(t.segments,f,u),inverted:t.inverted}},polygonFromGeoJSON:function(t){return c.toPolygon(n,t)},polygonToGeoJSON:function(t){return c.fromPolygon(n,f,t)},union:function(t,e){return h(t,e,n.selectUnion)},intersect:function(t,e){return h(t,e,n.selectIntersect)},difference:function(t,e){return h(t,e,n.selectDifference)},differenceRev:function(t,e){return h(t,e,n.selectDifferenceRev)},xor:function(t,e){return h(t,e,n.selectXor)}},\"object\"==typeof window&&(window.PolyBool=n),e.exports=n},{\"./lib/build-log\":256,\"./lib/epsilon\":257,\"./lib/geojson\":258,\"./lib/intersecter\":259,\"./lib/segment-chainer\":261,\"./lib/segment-selector\":262}],256:[function(t,e,r){e.exports=function(){var t,e=0,r=!1;function n(e,r){return t.list.push({type:e,data:r?JSON.parse(JSON.stringify(r)):void 0}),t}return t={list:[],segmentId:function(){return e++},checkIntersection:function(t,e){return n(\"check\",{seg1:t,seg2:e})},segmentChop:function(t,e){return n(\"div_seg\",{seg:t,pt:e}),n(\"chop\",{seg:t,pt:e})},statusRemove:function(t){return n(\"pop_seg\",{seg:t})},segmentUpdate:function(t){return n(\"seg_update\",{seg:t})},segmentNew:function(t,e){return n(\"new_seg\",{seg:t,primary:e})},segmentRemove:function(t){return n(\"rem_seg\",{seg:t})},tempStatus:function(t,e,r){return n(\"temp_status\",{seg:t,above:e,below:r})},rewind:function(t){return n(\"rewind\",{seg:t})},status:function(t,e,r){return n(\"status\",{seg:t,above:e,below:r})},vert:function(e){return e===r?t:(r=e,n(\"vert\",{x:e}))},log:function(t){return\"string\"!=typeof t&&(t=JSON.stringify(t,!1,\" \")),n(\"log\",{txt:t})},reset:function(){return n(\"reset\")},selected:function(t){return n(\"selected\",{segs:t})},chainStart:function(t){return n(\"chain_start\",{seg:t})},chainRemoveHead:function(t,e){return n(\"chain_rem_head\",{index:t,pt:e})},chainRemoveTail:function(t,e){return n(\"chain_rem_tail\",{index:t,pt:e})},chainNew:function(t,e){return n(\"chain_new\",{pt1:t,pt2:e})},chainMatch:function(t){return n(\"chain_match\",{index:t})},chainClose:function(t){return n(\"chain_close\",{index:t})},chainAddHead:function(t,e){return n(\"chain_add_head\",{index:t,pt:e})},chainAddTail:function(t,e){return n(\"chain_add_tail\",{index:t,pt:e})},chainConnect:function(t,e){return n(\"chain_con\",{index1:t,index2:e})},chainReverse:function(t){return n(\"chain_rev\",{index:t})},chainJoin:function(t,e){return n(\"chain_join\",{index1:t,index2:e})},done:function(){return n(\"done\")}}}},{}],257:[function(t,e,r){e.exports=function(t){\"number\"!=typeof t&&(t=1e-10);var e={epsilon:function(e){return\"number\"==typeof e&&(t=e),t},pointAboveOrOnLine:function(e,r,n){var i=r[0],a=r[1],o=n[0],s=n[1],l=e[0];return(o-i)*(e[1]-a)-(s-a)*(l-i)>=-t},pointBetween:function(e,r,n){var i=e[1]-r[1],a=n[0]-r[0],o=e[0]-r[0],s=n[1]-r[1],l=o*a+i*s;return!(l-t)},pointsSameX:function(e,r){return Math.abs(e[0]-r[0])t!=o-i>t&&(a-c)*(i-u)/(o-u)+c-n>t&&(s=!s),a=c,o=u}return s}};return e}},{}],258:[function(t,e,r){var n={toPolygon:function(t,e){function r(e){if(e.length<=0)return t.segments({inverted:!1,regions:[]});function r(e){var r=e.slice(0,e.length-1);return t.segments({inverted:!1,regions:[r]})}for(var n=r(e[0]),i=1;i0}))}function u(t,n){var i=t.seg,a=n.seg,o=i.start,s=i.end,c=a.start,u=a.end;r&&r.checkIntersection(i,a);var f=e.linesIntersect(o,s,c,u);if(!1===f){if(!e.pointsCollinear(o,s,c))return!1;if(e.pointsSame(o,u)||e.pointsSame(s,c))return!1;var h=e.pointsSame(o,c),p=e.pointsSame(s,u);if(h&&p)return n;var d=!h&&e.pointBetween(o,c,u),m=!p&&e.pointBetween(s,c,u);if(h)return m?l(n,s):l(t,u),n;d&&(p||(m?l(n,s):l(t,u)),l(n,o))}else 0===f.alongA&&(-1===f.alongB?l(t,c):0===f.alongB?l(t,f.pt):1===f.alongB&&l(t,u)),0===f.alongB&&(-1===f.alongA?l(n,o):0===f.alongA?l(n,f.pt):1===f.alongA&&l(n,s));return!1}for(var f=[];!a.isEmpty();){var h=a.getHead();if(r&&r.vert(h.pt[0]),h.isStart){r&&r.segmentNew(h.seg,h.primary);var p=c(h),d=p.before?p.before.ev:null,m=p.after?p.after.ev:null;function g(){if(d){var t=u(h,d);if(t)return t}return!!m&&u(h,m)}r&&r.tempStatus(h.seg,!!d&&d.seg,!!m&&m.seg);var v,y=g();if(y){var x;if(t)(x=null===h.seg.myFill.below||h.seg.myFill.above!==h.seg.myFill.below)&&(y.seg.myFill.above=!y.seg.myFill.above);else y.seg.otherFill=h.seg.myFill;r&&r.segmentUpdate(y.seg),h.other.remove(),h.remove()}if(a.getHead()!==h){r&&r.rewind(h.seg);continue}if(t)x=null===h.seg.myFill.below||h.seg.myFill.above!==h.seg.myFill.below,h.seg.myFill.below=m?m.seg.myFill.above:i,h.seg.myFill.above=x?!h.seg.myFill.below:h.seg.myFill.below;else if(null===h.seg.otherFill)v=m?h.primary===m.primary?m.seg.otherFill.above:m.seg.myFill.above:h.primary?o:i,h.seg.otherFill={above:v,below:v};r&&r.status(h.seg,!!d&&d.seg,!!m&&m.seg),h.other.status=p.insert(n.node({ev:h}))}else{var b=h.status;if(null===b)throw new Error(\"PolyBool: Zero-length segment detected; your epsilon is probably too small or too large\");if(s.exists(b.prev)&&s.exists(b.next)&&u(b.prev.ev,b.next.ev),r&&r.statusRemove(b.ev.seg),b.remove(),!h.primary){var _=h.seg.myFill;h.seg.myFill=h.seg.otherFill,h.seg.otherFill=_}f.push(h.seg)}a.getHead().remove()}return r&&r.done(),f}return t?{addRegion:function(t){for(var n,i,a,o=t[t.length-1],l=0;l0&&!this.aborted;){var r=this.ifds_to_read.shift();r.offset&&this.scan_ifd(r.id,r.offset,t)}},a.prototype.read_uint16=function(t){var e=this.input;if(t+2>e.length)throw n(\"unexpected EOF\",\"EBADDATA\");return this.big_endian?256*e[t]+e[t+1]:e[t]+256*e[t+1]},a.prototype.read_uint32=function(t){var e=this.input;if(t+4>e.length)throw n(\"unexpected EOF\",\"EBADDATA\");return this.big_endian?16777216*e[t]+65536*e[t+1]+256*e[t+2]+e[t+3]:e[t]+256*e[t+1]+65536*e[t+2]+16777216*e[t+3]},a.prototype.is_subifd_link=function(t,e){return 0===t&&34665===e||0===t&&34853===e||34665===t&&40965===e},a.prototype.exif_format_length=function(t){switch(t){case 1:case 2:case 6:case 7:return 1;case 3:case 8:return 2;case 4:case 9:case 11:return 4;case 5:case 10:case 12:return 8;default:return 0}},a.prototype.exif_format_read=function(t,e){var r;switch(t){case 1:case 2:return r=this.input[e];case 6:return(r=this.input[e])|33554430*(128&r);case 3:return r=this.read_uint16(e);case 8:return(r=this.read_uint16(e))|131070*(32768&r);case 4:return r=this.read_uint32(e);case 9:return 0|(r=this.read_uint32(e));case 5:case 10:case 11:case 12:case 7:default:return null}},a.prototype.scan_ifd=function(t,e,r){var a=this.read_uint16(e);e+=2;for(var o=0;othis.input.length)throw n(\"unexpected EOF\",\"EBADDATA\");for(var d=[],m=h,g=0;g0&&(this.ifds_to_read.push({id:s,offset:d[0]}),p=!0),!1===r({is_big_endian:this.big_endian,ifd:t,tag:s,format:l,count:c,entry_offset:e+this.start,data_length:f,data_offset:h+this.start,value:d,is_subifd_link:p}))return void(this.aborted=!0);e+=12}0===t&&this.ifds_to_read.push({id:1,offset:this.read_uint32(e)})},e.exports.ExifParser=a,e.exports.get_orientation=function(t){var e=0;try{return new a(t,0,t.length).each((function(t){if(0===t.ifd&&274===t.tag&&Array.isArray(t.value))return e=t.value[0],!1})),e}catch(t){return-1}}},{}],265:[function(t,e,r){\"use strict\";var n=t(\"./common\").readUInt16BE,i=t(\"./common\").readUInt32BE;function a(t,e){if(t.length<4+e)return null;var r=i(t,e);return t.length>4&15,i=15&t[4],a=t[5]>>4&15,o=n(t,6),l=8,c=0;ce.width||t.width===e.width&&t.height>e.height?t:e})),i=r.reduce((function(t,e){return t.height>e.height||t.height===e.height&&t.width>e.width?t:e})),n.width>i.height||n.width===i.height&&n.height>i.width?n:i),s=1;e.transforms.forEach((function(t){var e={1:6,2:5,3:8,4:7,5:4,6:3,7:2,8:1},r={1:4,2:3,3:2,4:1,5:6,6:5,7:8,8:7};if(\"imir\"===t.type&&(s=0===t.value?r[s]:e[s=e[s=r[s]]]),\"irot\"===t.type)for(var n=0;n1&&(h.variants=f.variants),f.orientation&&(h.orientation=f.orientation),f.exif_location&&f.exif_location.offset+f.exif_location.length<=t.length){var p=a(t,f.exif_location.offset),d=t.slice(f.exif_location.offset+p+4,f.exif_location.offset+f.exif_location.length),m=s.get_orientation(d);m>0&&(h.orientation=m)}return h}}}}}}},{\"../common\":263,\"../exif_utils\":264,\"../miaf_utils\":265}],267:[function(t,e,r){\"use strict\";var n=t(\"../common\").str2arr,i=t(\"../common\").sliceEq,a=t(\"../common\").readUInt16LE,o=n(\"BM\");e.exports=function(t){if(!(t.length<26)&&i(t,0,o))return{width:a(t,18),height:a(t,22),type:\"bmp\",mime:\"image/bmp\",wUnits:\"px\",hUnits:\"px\"}}},{\"../common\":263}],268:[function(t,e,r){\"use strict\";var n=t(\"../common\").str2arr,i=t(\"../common\").sliceEq,a=t(\"../common\").readUInt16LE,o=n(\"GIF87a\"),s=n(\"GIF89a\");e.exports=function(t){if(!(t.length<10)&&(i(t,0,o)||i(t,0,s)))return{width:a(t,6),height:a(t,8),type:\"gif\",mime:\"image/gif\",wUnits:\"px\",hUnits:\"px\"}}},{\"../common\":263}],269:[function(t,e,r){\"use strict\";var n=t(\"../common\").readUInt16LE;e.exports=function(t){var e=n(t,0),r=n(t,2),i=n(t,4);if(0===e&&1===r&&i){for(var a=[],o={width:0,height:0},s=0;so.width||c>o.height)&&(o=u)}return{width:o.width,height:o.height,variants:a,type:\"ico\",mime:\"image/x-icon\",wUnits:\"px\",hUnits:\"px\"}}}},{\"../common\":263}],270:[function(t,e,r){\"use strict\";var n=t(\"../common\").readUInt16BE,i=t(\"../common\").str2arr,a=t(\"../common\").sliceEq,o=t(\"../exif_utils\"),s=i(\"Exif\\0\\0\");e.exports=function(t){if(!(t.length<2)&&255===t[0]&&216===t[1]&&255===t[2])for(var e=2;;){for(;;){if(t.length-e<2)return;if(255===t[e++])break}for(var r,i,l=t[e++];255===l;)l=t[e++];if(208<=l&&l<=217||1===l)r=0;else{if(!(192<=l&&l<=254))return;if(t.length-e<2)return;r=n(t,e)-2,e+=2}if(217===l||218===l)return;if(225===l&&r>=10&&a(t,e,s)&&(i=o.get_orientation(t.slice(e+6,e+r))),r>=5&&192<=l&&l<=207&&196!==l&&200!==l&&204!==l){if(t.length-e0&&(c.orientation=i),c}e+=r}}},{\"../common\":263,\"../exif_utils\":264}],271:[function(t,e,r){\"use strict\";var n=t(\"../common\").str2arr,i=t(\"../common\").sliceEq,a=t(\"../common\").readUInt32BE,o=n(\"\\x89PNG\\r\\n\\x1a\\n\"),s=n(\"IHDR\");e.exports=function(t){if(!(t.length<24)&&i(t,0,o)&&i(t,12,s))return{width:a(t,16),height:a(t,20),type:\"png\",mime:\"image/png\",wUnits:\"px\",hUnits:\"px\"}}},{\"../common\":263}],272:[function(t,e,r){\"use strict\";var n=t(\"../common\").str2arr,i=t(\"../common\").sliceEq,a=t(\"../common\").readUInt32BE,o=n(\"8BPS\\0\\x01\");e.exports=function(t){if(!(t.length<22)&&i(t,0,o))return{width:a(t,18),height:a(t,14),type:\"psd\",mime:\"image/vnd.adobe.photoshop\",wUnits:\"px\",hUnits:\"px\"}}},{\"../common\":263}],273:[function(t,e,r){\"use strict\";function n(t){return\"number\"==typeof t&&isFinite(t)&&t>0}var i=/<[-_.:a-zA-Z0-9][^>]*>/,a=/^<([-_.:a-zA-Z0-9]+:)?svg\\s/,o=/[^-]\\bwidth=\"([^%]+?)\"|[^-]\\bwidth='([^%]+?)'/,s=/\\bheight=\"([^%]+?)\"|\\bheight='([^%]+?)'/,l=/\\bview[bB]ox=\"(.+?)\"|\\bview[bB]ox='(.+?)'/,c=/in$|mm$|cm$|pt$|pc$|px$|em$|ex$/;function u(t){return c.test(t)?t.match(c)[0]:\"px\"}e.exports=function(t){if(function(t){var e,r=0,n=t.length;for(239===t[0]&&187===t[1]&&191===t[2]&&(r=3);r>14&16383),type:\"webp\",mime:\"image/webp\",wUnits:\"px\",hUnits:\"px\"}}}function h(t,e){return{width:1+(t[e+6]<<16|t[e+5]<<8|t[e+4]),height:1+(t[e+9]<t.length)){for(;e+8=10?r=r||u(t,e+8):\"VP8L\"===p&&d>=9?r=r||f(t,e+8):\"VP8X\"===p&&d>=10?r=r||h(t,e+8):\"EXIF\"===p&&(n=s.get_orientation(t.slice(e+8,e+8+d)),e=1/0),e+=8+d}else e++;if(r)return n>0&&(r.orientation=n),r}}}},{\"../common\":263,\"../exif_utils\":264}],276:[function(t,e,r){\"use strict\";e.exports={avif:t(\"./parse_sync/avif\"),bmp:t(\"./parse_sync/bmp\"),gif:t(\"./parse_sync/gif\"),ico:t(\"./parse_sync/ico\"),jpeg:t(\"./parse_sync/jpeg\"),png:t(\"./parse_sync/png\"),psd:t(\"./parse_sync/psd\"),svg:t(\"./parse_sync/svg\"),tiff:t(\"./parse_sync/tiff\"),webp:t(\"./parse_sync/webp\")}},{\"./parse_sync/avif\":266,\"./parse_sync/bmp\":267,\"./parse_sync/gif\":268,\"./parse_sync/ico\":269,\"./parse_sync/jpeg\":270,\"./parse_sync/png\":271,\"./parse_sync/psd\":272,\"./parse_sync/svg\":273,\"./parse_sync/tiff\":274,\"./parse_sync/webp\":275}],277:[function(t,e,r){\"use strict\";var n=t(\"./lib/parsers_sync\");e.exports=function(t){return function(t){for(var e=Object.keys(n),r=0;r1)for(var r=1;r1&&(t.scaleRatio=[t.scale[0]*t.viewport.width,t.scale[1]*t.viewport.height],r(t),t.after&&t.after(t))}function T(t){if(t){null!=t.length?\"number\"==typeof t[0]&&(t=[{positions:t}]):Array.isArray(t)||(t=[t]);var e=0,r=0;if(b.groups=x=t.map((function(t,c){var u=x[c];return t?(\"function\"==typeof t?t={after:t}:\"number\"==typeof t[0]&&(t={positions:t}),t=o(t,{color:\"color colors fill\",capSize:\"capSize cap capsize cap-size\",lineWidth:\"lineWidth line-width width line thickness\",opacity:\"opacity alpha\",range:\"range dataBox\",viewport:\"viewport viewBox\",errors:\"errors error\",positions:\"positions position data points\"}),u||(x[c]=u={id:c,scale:null,translate:null,scaleFract:null,translateFract:null,draw:!0},t=s({},y,t)),a(u,t,[{lineWidth:function(t){return.5*+t},capSize:function(t){return.5*+t},opacity:parseFloat,errors:function(t){return t=l(t),r+=t.length,t},positions:function(t,r){return t=l(t,\"float64\"),r.count=Math.floor(t.length/2),r.bounds=n(t,2),r.offset=e,e+=r.count,t}},{color:function(t,e){var r=e.count;if(t||(t=\"transparent\"),!Array.isArray(t)||\"number\"==typeof t[0]){var n=t;t=Array(r);for(var a=0;a 0. && baClipping < length(normalWidth * endBotJoin)) {\\n\\t\\t//handle miter clipping\\n\\t\\tbTopCoord -= normalWidth * endTopJoin;\\n\\t\\tbTopCoord += normalize(endTopJoin * normalWidth) * baClipping;\\n\\t}\\n\\n\\tif (nextReverse) {\\n\\t\\t//make join rectangular\\n\\t\\tvec2 miterShift = normalWidth * endJoinDirection * miterLimit * .5;\\n\\t\\tfloat normalAdjust = 1. - min(miterLimit / endMiterRatio, 1.);\\n\\t\\tbBotCoord = bCoord + miterShift - normalAdjust * normalWidth * currNormal * .5;\\n\\t\\tbTopCoord = bCoord + miterShift + normalAdjust * normalWidth * currNormal * .5;\\n\\t}\\n\\telse if (!prevReverse && abClipping > 0. && abClipping < length(normalWidth * startBotJoin)) {\\n\\t\\t//handle miter clipping\\n\\t\\taBotCoord -= normalWidth * startBotJoin;\\n\\t\\taBotCoord += normalize(startBotJoin * normalWidth) * abClipping;\\n\\t}\\n\\n\\tvec2 aTopPosition = (aTopCoord) * adjustedScale + translate;\\n\\tvec2 aBotPosition = (aBotCoord) * adjustedScale + translate;\\n\\n\\tvec2 bTopPosition = (bTopCoord) * adjustedScale + translate;\\n\\tvec2 bBotPosition = (bBotCoord) * adjustedScale + translate;\\n\\n\\t//position is normalized 0..1 coord on the screen\\n\\tvec2 position = (aTopPosition * lineTop + aBotPosition * lineBot) * lineStart + (bTopPosition * lineTop + bBotPosition * lineBot) * lineEnd;\\n\\n\\tstartCoord = aCoord * scaleRatio + translate * viewport.zw + viewport.xy;\\n\\tendCoord = bCoord * scaleRatio + translate * viewport.zw + viewport.xy;\\n\\n\\tgl_Position = vec4(position * 2.0 - 1.0, depth, 1);\\n\\n\\tenableStartMiter = step(dot(currTangent, prevTangent), .5);\\n\\tenableEndMiter = step(dot(currTangent, nextTangent), .5);\\n\\n\\t//bevel miter cutoffs\\n\\tif (miterMode == 1.) {\\n\\t\\tif (enableStartMiter == 1.) {\\n\\t\\t\\tvec2 startMiterWidth = vec2(startJoinDirection) * thickness * miterLimit * .5;\\n\\t\\t\\tstartCutoff = vec4(aCoord, aCoord);\\n\\t\\t\\tstartCutoff.zw += vec2(-startJoinDirection.y, startJoinDirection.x) / scaleRatio;\\n\\t\\t\\tstartCutoff = startCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\\n\\t\\t\\tstartCutoff += viewport.xyxy;\\n\\t\\t\\tstartCutoff += startMiterWidth.xyxy;\\n\\t\\t}\\n\\n\\t\\tif (enableEndMiter == 1.) {\\n\\t\\t\\tvec2 endMiterWidth = vec2(endJoinDirection) * thickness * miterLimit * .5;\\n\\t\\t\\tendCutoff = vec4(bCoord, bCoord);\\n\\t\\t\\tendCutoff.zw += vec2(-endJoinDirection.y, endJoinDirection.x) / scaleRatio;\\n\\t\\t\\tendCutoff = endCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\\n\\t\\t\\tendCutoff += viewport.xyxy;\\n\\t\\t\\tendCutoff += endMiterWidth.xyxy;\\n\\t\\t}\\n\\t}\\n\\n\\t//round miter cutoffs\\n\\telse if (miterMode == 2.) {\\n\\t\\tif (enableStartMiter == 1.) {\\n\\t\\t\\tvec2 startMiterWidth = vec2(startJoinDirection) * thickness * abs(dot(startJoinDirection, currNormal)) * .5;\\n\\t\\t\\tstartCutoff = vec4(aCoord, aCoord);\\n\\t\\t\\tstartCutoff.zw += vec2(-startJoinDirection.y, startJoinDirection.x) / scaleRatio;\\n\\t\\t\\tstartCutoff = startCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\\n\\t\\t\\tstartCutoff += viewport.xyxy;\\n\\t\\t\\tstartCutoff += startMiterWidth.xyxy;\\n\\t\\t}\\n\\n\\t\\tif (enableEndMiter == 1.) {\\n\\t\\t\\tvec2 endMiterWidth = vec2(endJoinDirection) * thickness * abs(dot(endJoinDirection, currNormal)) * .5;\\n\\t\\t\\tendCutoff = vec4(bCoord, bCoord);\\n\\t\\t\\tendCutoff.zw += vec2(-endJoinDirection.y, endJoinDirection.x) / scaleRatio;\\n\\t\\t\\tendCutoff = endCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\\n\\t\\t\\tendCutoff += viewport.xyxy;\\n\\t\\t\\tendCutoff += endMiterWidth.xyxy;\\n\\t\\t}\\n\\t}\\n}\\n\"]),frag:o([\"precision highp float;\\n#define GLSLIFY 1\\n\\nuniform float dashLength, pixelRatio, thickness, opacity, id, miterMode;\\nuniform sampler2D dashTexture;\\n\\nvarying vec4 fragColor;\\nvarying vec2 tangent;\\nvarying vec4 startCutoff, endCutoff;\\nvarying vec2 startCoord, endCoord;\\nvarying float enableStartMiter, enableEndMiter;\\n\\nfloat distToLine(vec2 p, vec2 a, vec2 b) {\\n\\tvec2 diff = b - a;\\n\\tvec2 perp = normalize(vec2(-diff.y, diff.x));\\n\\treturn dot(p - a, perp);\\n}\\n\\nvoid main() {\\n\\tfloat alpha = 1., distToStart, distToEnd;\\n\\tfloat cutoff = thickness * .5;\\n\\n\\t//bevel miter\\n\\tif (miterMode == 1.) {\\n\\t\\tif (enableStartMiter == 1.) {\\n\\t\\t\\tdistToStart = distToLine(gl_FragCoord.xy, startCutoff.xy, startCutoff.zw);\\n\\t\\t\\tif (distToStart < -1.) {\\n\\t\\t\\t\\tdiscard;\\n\\t\\t\\t\\treturn;\\n\\t\\t\\t}\\n\\t\\t\\talpha *= min(max(distToStart + 1., 0.), 1.);\\n\\t\\t}\\n\\n\\t\\tif (enableEndMiter == 1.) {\\n\\t\\t\\tdistToEnd = distToLine(gl_FragCoord.xy, endCutoff.xy, endCutoff.zw);\\n\\t\\t\\tif (distToEnd < -1.) {\\n\\t\\t\\t\\tdiscard;\\n\\t\\t\\t\\treturn;\\n\\t\\t\\t}\\n\\t\\t\\talpha *= min(max(distToEnd + 1., 0.), 1.);\\n\\t\\t}\\n\\t}\\n\\n\\t// round miter\\n\\telse if (miterMode == 2.) {\\n\\t\\tif (enableStartMiter == 1.) {\\n\\t\\t\\tdistToStart = distToLine(gl_FragCoord.xy, startCutoff.xy, startCutoff.zw);\\n\\t\\t\\tif (distToStart < 0.) {\\n\\t\\t\\t\\tfloat radius = length(gl_FragCoord.xy - startCoord);\\n\\n\\t\\t\\t\\tif(radius > cutoff + .5) {\\n\\t\\t\\t\\t\\tdiscard;\\n\\t\\t\\t\\t\\treturn;\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\talpha -= smoothstep(cutoff - .5, cutoff + .5, radius);\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\tif (enableEndMiter == 1.) {\\n\\t\\t\\tdistToEnd = distToLine(gl_FragCoord.xy, endCutoff.xy, endCutoff.zw);\\n\\t\\t\\tif (distToEnd < 0.) {\\n\\t\\t\\t\\tfloat radius = length(gl_FragCoord.xy - endCoord);\\n\\n\\t\\t\\t\\tif(radius > cutoff + .5) {\\n\\t\\t\\t\\t\\tdiscard;\\n\\t\\t\\t\\t\\treturn;\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\talpha -= smoothstep(cutoff - .5, cutoff + .5, radius);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\tfloat t = fract(dot(tangent, gl_FragCoord.xy) / dashLength) * .5 + .25;\\n\\tfloat dash = texture2D(dashTexture, vec2(t, .5)).r;\\n\\n\\tgl_FragColor = fragColor;\\n\\tgl_FragColor.a *= alpha * opacity * dash;\\n}\\n\"]),attributes:{lineEnd:{buffer:r,divisor:0,stride:8,offset:0},lineTop:{buffer:r,divisor:0,stride:8,offset:4},aColor:{buffer:t.prop(\"colorBuffer\"),stride:4,offset:0,divisor:1},bColor:{buffer:t.prop(\"colorBuffer\"),stride:4,offset:4,divisor:1},prevCoord:{buffer:t.prop(\"positionBuffer\"),stride:8,offset:0,divisor:1},aCoord:{buffer:t.prop(\"positionBuffer\"),stride:8,offset:8,divisor:1},bCoord:{buffer:t.prop(\"positionBuffer\"),stride:8,offset:16,divisor:1},nextCoord:{buffer:t.prop(\"positionBuffer\"),stride:8,offset:24,divisor:1}}},n))}catch(t){e=i}return{fill:t({primitive:\"triangle\",elements:function(t,e){return e.triangles},offset:0,vert:o([\"precision highp float;\\n#define GLSLIFY 1\\n\\nattribute vec2 position, positionFract;\\n\\nuniform vec4 color;\\nuniform vec2 scale, scaleFract, translate, translateFract;\\nuniform float pixelRatio, id;\\nuniform vec4 viewport;\\nuniform float opacity;\\n\\nvarying vec4 fragColor;\\n\\nconst float MAX_LINES = 256.;\\n\\nvoid main() {\\n\\tfloat depth = (MAX_LINES - 4. - id) / (MAX_LINES);\\n\\n\\tvec2 position = position * scale + translate\\n + positionFract * scale + translateFract\\n + position * scaleFract\\n + positionFract * scaleFract;\\n\\n\\tgl_Position = vec4(position * 2.0 - 1.0, depth, 1);\\n\\n\\tfragColor = color / 255.;\\n\\tfragColor.a *= opacity;\\n}\\n\"]),frag:o([\"precision highp float;\\n#define GLSLIFY 1\\n\\nvarying vec4 fragColor;\\n\\nvoid main() {\\n\\tgl_FragColor = fragColor;\\n}\\n\"]),uniforms:{scale:t.prop(\"scale\"),color:t.prop(\"fill\"),scaleFract:t.prop(\"scaleFract\"),translateFract:t.prop(\"translateFract\"),translate:t.prop(\"translate\"),opacity:t.prop(\"opacity\"),pixelRatio:t.context(\"pixelRatio\"),id:t.prop(\"id\"),viewport:function(t,e){return[e.viewport.x,e.viewport.y,t.viewportWidth,t.viewportHeight]}},attributes:{position:{buffer:t.prop(\"positionBuffer\"),stride:8,offset:8},positionFract:{buffer:t.prop(\"positionFractBuffer\"),stride:8,offset:8}},blend:n.blend,depth:{enable:!1},scissor:n.scissor,stencil:n.stencil,viewport:n.viewport}),rect:i,miter:e}},v.defaults={dashes:null,join:\"miter\",miterLimit:1,thickness:10,cap:\"square\",color:\"black\",opacity:1,overlay:!1,viewport:null,range:null,close:!1,fill:null},v.prototype.render=function(){for(var t,e=[],r=arguments.length;r--;)e[r]=arguments[r];e.length&&(t=this).update.apply(t,e),this.draw()},v.prototype.draw=function(){for(var t=this,e=[],r=arguments.length;r--;)e[r]=arguments[r];return(e.length?e:this.passes).forEach((function(e,r){var n;if(e&&Array.isArray(e))return(n=t).draw.apply(n,e);\"number\"==typeof e&&(e=t.passes[e]),e&&e.count>1&&e.opacity&&(t.regl._refresh(),e.fill&&e.triangles&&e.triangles.length>2&&t.shaders.fill(e),e.thickness&&(e.scale[0]*e.viewport.width>v.precisionThreshold||e.scale[1]*e.viewport.height>v.precisionThreshold||\"rect\"===e.join||!e.join&&(e.thickness<=2||e.count>=v.maxPoints)?t.shaders.rect(e):t.shaders.miter(e)))})),this},v.prototype.update=function(t){var e=this;if(t){null!=t.length?\"number\"==typeof t[0]&&(t=[{positions:t}]):Array.isArray(t)||(t=[t]);var r=this.regl,o=this.gl;if(t.forEach((function(t,f){var d=e.passes[f];if(void 0!==t)if(null!==t){if(\"number\"==typeof t[0]&&(t={positions:t}),t=s(t,{positions:\"positions points data coords\",thickness:\"thickness lineWidth lineWidths line-width linewidth width stroke-width strokewidth strokeWidth\",join:\"lineJoin linejoin join type mode\",miterLimit:\"miterlimit miterLimit\",dashes:\"dash dashes dasharray dash-array dashArray\",color:\"color colour stroke colors colours stroke-color strokeColor\",fill:\"fill fill-color fillColor\",opacity:\"alpha opacity\",overlay:\"overlay crease overlap intersect\",close:\"closed close closed-path closePath\",range:\"range dataBox\",viewport:\"viewport viewBox\",hole:\"holes hole hollow\",splitNull:\"splitNull\"}),d||(e.passes[f]=d={id:f,scale:null,scaleFract:null,translate:null,translateFract:null,count:0,hole:[],depth:0,dashLength:1,dashTexture:r.texture({channels:1,data:new Uint8Array([255]),width:1,height:1,mag:\"linear\",min:\"linear\"}),colorBuffer:r.buffer({usage:\"dynamic\",type:\"uint8\",data:new Uint8Array}),positionBuffer:r.buffer({usage:\"dynamic\",type:\"float\",data:new Uint8Array}),positionFractBuffer:r.buffer({usage:\"dynamic\",type:\"float\",data:new Uint8Array})},t=a({},v.defaults,t)),null!=t.thickness&&(d.thickness=parseFloat(t.thickness)),null!=t.opacity&&(d.opacity=parseFloat(t.opacity)),null!=t.miterLimit&&(d.miterLimit=parseFloat(t.miterLimit)),null!=t.overlay&&(d.overlay=!!t.overlay,f=D}));(I=I.slice(0,R)).push(D)}for(var F=function(t){var e=k.slice(2*z,2*I[t]).concat(D?k.slice(2*D):[]),r=(d.hole||[]).map((function(e){return e-D+(I[t]-z)})),n=c(e,r);n=n.map((function(e){return e+z+(e+zt.length)&&(e=t.length);for(var r=0,n=new Array(e);r 1.0 + delta) {\\n\\t\\tdiscard;\\n\\t}\\n\\n\\talpha -= smoothstep(1.0 - delta, 1.0 + delta, radius);\\n\\n\\tfloat borderRadius = fragBorderRadius;\\n\\tfloat ratio = smoothstep(borderRadius - delta, borderRadius + delta, radius);\\n\\tvec4 color = mix(fragColor, fragBorderColor, ratio);\\n\\tcolor.a *= alpha * opacity;\\n\\tgl_FragColor = color;\\n}\\n\"]),l.vert=h([\"precision highp float;\\n#define GLSLIFY 1\\n\\nattribute float x, y, xFract, yFract;\\nattribute float size, borderSize;\\nattribute vec4 colorId, borderColorId;\\nattribute float isActive;\\n\\nuniform bool constPointSize;\\nuniform float pixelRatio;\\nuniform vec2 paletteSize, scale, scaleFract, translate, translateFract;\\nuniform sampler2D paletteTexture;\\n\\nconst float maxSize = 100.;\\n\\nvarying vec4 fragColor, fragBorderColor;\\nvarying float fragBorderRadius, fragWidth;\\n\\nfloat pointSizeScale = (constPointSize) ? 2. : pixelRatio;\\n\\nbool isDirect = (paletteSize.x < 1.);\\n\\nvec4 getColor(vec4 id) {\\n return isDirect ? id / 255. : texture2D(paletteTexture,\\n vec2(\\n (id.x + .5) / paletteSize.x,\\n (id.y + .5) / paletteSize.y\\n )\\n );\\n}\\n\\nvoid main() {\\n // ignore inactive points\\n if (isActive == 0.) return;\\n\\n vec2 position = vec2(x, y);\\n vec2 positionFract = vec2(xFract, yFract);\\n\\n vec4 color = getColor(colorId);\\n vec4 borderColor = getColor(borderColorId);\\n\\n float size = size * maxSize / 255.;\\n float borderSize = borderSize * maxSize / 255.;\\n\\n gl_PointSize = (size + borderSize) * pointSizeScale;\\n\\n vec2 pos = (position + translate) * scale\\n + (positionFract + translateFract) * scale\\n + (position + translate) * scaleFract\\n + (positionFract + translateFract) * scaleFract;\\n\\n gl_Position = vec4(pos * 2. - 1., 0., 1.);\\n\\n fragBorderRadius = 1. - 2. * borderSize / (size + borderSize);\\n fragColor = color;\\n fragBorderColor = borderColor.a == 0. || borderSize == 0. ? vec4(color.rgb, 0.) : borderColor;\\n fragWidth = 1. / gl_PointSize;\\n}\\n\"]),g&&(l.frag=l.frag.replace(\"smoothstep\",\"smoothStep\"),s.frag=s.frag.replace(\"smoothstep\",\"smoothStep\")),this.drawCircle=t(l)}b.defaults={color:\"black\",borderColor:\"transparent\",borderSize:0,size:12,opacity:1,marker:void 0,viewport:null,range:null,pixelSize:null,count:0,offset:0,bounds:null,positions:[],snap:1e4},b.prototype.render=function(){return arguments.length&&this.update.apply(this,arguments),this.draw(),this},b.prototype.draw=function(){for(var t=this,e=arguments.length,r=new Array(e),n=0;nn)?e.tree=u(t,{bounds:f}):n&&n.length&&(e.tree=n),e.tree){var h={primitive:\"points\",usage:\"static\",data:e.tree,type:\"uint32\"};e.elements?e.elements(h):e.elements=o.elements(h)}var p=v.float32(t);return i({data:p,usage:\"dynamic\"}),a({data:v.fract32(t,p),usage:\"dynamic\"}),s({data:new Uint8Array(c),type:\"uint8\",usage:\"stream\"}),t}},{marker:function(e,r,n){var i=r.activation;if(i.forEach((function(t){return t&&t.destroy&&t.destroy()})),i.length=0,e&&\"number\"!=typeof e[0]){for(var a=[],s=0,l=Math.min(e.length,r.count);s=0)return a;if(t instanceof Uint8Array||t instanceof Uint8ClampedArray)e=t;else{e=new Uint8Array(t.length);for(var o=0,s=t.length;o4*n&&(this.tooManyColors=!0),this.updatePalette(r),1===i.length?i[0]:i},b.prototype.updatePalette=function(t){if(!this.tooManyColors){var e=this.maxColors,r=this.paletteTexture,n=Math.ceil(.25*t.length/e);if(n>1)for(var i=.25*(t=t.slice()).length%e;i2?(s[0],s[2],n=s[1],i=s[3]):s.length?(n=s[0],i=s[1]):(s.x,n=s.y,s.x+s.width,i=s.y+s.height),l.length>2?(a=l[0],o=l[2],l[1],l[3]):l.length?(a=l[0],o=l[1]):(a=l.x,l.y,o=l.x+l.width,l.y+l.height),[a,n,o,i]}function p(t){if(\"number\"==typeof t)return[t,t,t,t];if(2===t.length)return[t[0],t[1],t[0],t[1]];var e=l(t);return[e.x,e.y,e.x+e.width,e.y+e.height]}e.exports=u,u.prototype.render=function(){for(var t,e=this,r=[],n=arguments.length;n--;)r[n]=arguments[n];return r.length&&(t=this).update.apply(t,r),this.regl.attributes.preserveDrawingBuffer?this.draw():(this.dirty?null==this.planned&&(this.planned=o((function(){e.draw(),e.dirty=!0,e.planned=null}))):(this.draw(),this.dirty=!0,o((function(){e.dirty=!1}))),this)},u.prototype.update=function(){for(var t,e=[],r=arguments.length;r--;)e[r]=arguments[r];if(e.length){for(var n=0;nk))&&(s.lower||!(T>>=e))<<3,(e|=r=(15<(t>>>=r))<<2)|(r=(3<(t>>>=r))<<1)|t>>>r>>1}function s(){function t(t){t:{for(var e=16;268435456>=e;e*=16)if(t<=e){t=e;break t}t=0}return 0<(e=r[o(t)>>2]).length?e.pop():new ArrayBuffer(t)}function e(t){r[o(t.byteLength)>>2].push(t)}var r=a(8,(function(){return[]}));return{alloc:t,free:e,allocType:function(e,r){var n=null;switch(e){case 5120:n=new Int8Array(t(r),0,r);break;case 5121:n=new Uint8Array(t(r),0,r);break;case 5122:n=new Int16Array(t(2*r),0,r);break;case 5123:n=new Uint16Array(t(2*r),0,r);break;case 5124:n=new Int32Array(t(4*r),0,r);break;case 5125:n=new Uint32Array(t(4*r),0,r);break;case 5126:n=new Float32Array(t(4*r),0,r);break;default:return null}return n.length!==r?n.subarray(0,r):n},freeType:function(t){e(t.buffer)}}}function l(t){return!!t&&\"object\"==typeof t&&Array.isArray(t.shape)&&Array.isArray(t.stride)&&\"number\"==typeof t.offset&&t.shape.length===t.stride.length&&(Array.isArray(t.data)||J(t.data))}function c(t,e,r,n,i,a){for(var o=0;o(i=s)&&(i=n.buffer.byteLength,5123===f?i>>=1:5125===f&&(i>>=2)),n.vertCount=i,i=o,0>o&&(i=4,1===(o=n.buffer.dimension)&&(i=0),2===o&&(i=1),3===o&&(i=4)),n.primType=i}function o(t){n.elementsCount--,delete s[t.id],t.buffer.destroy(),t.buffer=null}var s={},c=0,u={uint8:5121,uint16:5123};e.oes_element_index_uint&&(u.uint32=5125),i.prototype.bind=function(){this.buffer.bind()};var f=[];return{create:function(t,e){function s(t){if(t)if(\"number\"==typeof t)c(t),f.primType=4,f.vertCount=0|t,f.type=5121;else{var e=null,r=35044,n=-1,i=-1,o=0,h=0;Array.isArray(t)||J(t)||l(t)?e=t:(\"data\"in t&&(e=t.data),\"usage\"in t&&(r=et[t.usage]),\"primitive\"in t&&(n=at[t.primitive]),\"count\"in t&&(i=0|t.count),\"type\"in t&&(h=u[t.type]),\"length\"in t?o=0|t.length:(o=i,5123===h||5122===h?o*=2:5125!==h&&5124!==h||(o*=4))),a(f,e,r,n,i,o,h)}else c(),f.primType=4,f.vertCount=0,f.type=5121;return s}var c=r.create(null,34963,!0),f=new i(c._buffer);return n.elementsCount++,s(t),s._reglType=\"elements\",s._elements=f,s.subdata=function(t,e){return c.subdata(t,e),s},s.destroy=function(){o(f)},s},createStream:function(t){var e=f.pop();return e||(e=new i(r.create(null,34963,!0,!1)._buffer)),a(e,t,35040,-1,-1,0,0),e},destroyStream:function(t){f.push(t)},getElements:function(t){return\"function\"==typeof t&&t._elements instanceof i?t._elements:null},clear:function(){K(s).forEach(o)}}}function m(t){for(var e=Z.allocType(5123,t.length),r=0;r>>31<<15,i=(a<<1>>>24)-127,a=a>>13&1023;e[r]=-24>i?n:-14>i?n+(a+1024>>-14-i):15>=i,r.height>>=i,p(r,n[i]),t.mipmask|=1<e;++e)t.images[e]=null;return t}function C(t){for(var e=t.images,r=0;re){for(var r=0;r=--this.refCount&&F(this)}}),o.profile&&(a.getTotalTextureSize=function(){var t=0;return Object.keys(yt).forEach((function(e){t+=yt[e].stats.size})),t}),{create2D:function(e,r){function n(t,e){var r=i.texInfo;P.call(r);var a=L();return\"number\"==typeof t?M(a,0|t,\"number\"==typeof e?0|e:0|t):t?(I(r,t),S(a,t)):M(a,1,1),r.genMipmaps&&(a.mipmask=(a.width<<1)-1),i.mipmask=a.mipmask,c(i,a),i.internalformat=a.internalformat,n.width=a.width,n.height=a.height,D(i),E(a,3553),O(r,3553),R(),C(a),o.profile&&(i.stats.size=T(i.internalformat,i.type,a.width,a.height,r.genMipmaps,!1)),n.format=tt[i.internalformat],n.type=et[i.type],n.mag=rt[r.magFilter],n.min=nt[r.minFilter],n.wrapS=it[r.wrapS],n.wrapT=it[r.wrapT],n}var i=new z(3553);return yt[i.id]=i,a.textureCount++,n(e,r),n.subimage=function(t,e,r,a){e|=0,r|=0,a|=0;var o=v();return c(o,i),o.width=0,o.height=0,p(o,t),o.width=o.width||(i.width>>a)-e,o.height=o.height||(i.height>>a)-r,D(i),d(o,3553,e,r,a),R(),k(o),n},n.resize=function(e,r){var a=0|e,s=0|r||a;if(a===i.width&&s===i.height)return n;n.width=i.width=a,n.height=i.height=s,D(i);for(var l=0;i.mipmask>>l;++l){var c=a>>l,u=s>>l;if(!c||!u)break;t.texImage2D(3553,l,i.format,c,u,0,i.format,i.type,null)}return R(),o.profile&&(i.stats.size=T(i.internalformat,i.type,a,s,!1,!1)),n},n._reglType=\"texture2d\",n._texture=i,o.profile&&(n.stats=i.stats),n.destroy=function(){i.decRef()},n},createCube:function(e,r,n,i,s,l){function f(t,e,r,n,i,a){var s,l=h.texInfo;for(P.call(l),s=0;6>s;++s)m[s]=L();if(\"number\"!=typeof t&&t){if(\"object\"==typeof t)if(e)S(m[0],t),S(m[1],e),S(m[2],r),S(m[3],n),S(m[4],i),S(m[5],a);else if(I(l,t),u(h,t),\"faces\"in t)for(t=t.faces,s=0;6>s;++s)c(m[s],h),S(m[s],t[s]);else for(s=0;6>s;++s)S(m[s],t)}else for(t=0|t||1,s=0;6>s;++s)M(m[s],t,t);for(c(h,m[0]),h.mipmask=l.genMipmaps?(m[0].width<<1)-1:m[0].mipmask,h.internalformat=m[0].internalformat,f.width=m[0].width,f.height=m[0].height,D(h),s=0;6>s;++s)E(m[s],34069+s);for(O(l,34067),R(),o.profile&&(h.stats.size=T(h.internalformat,h.type,f.width,f.height,l.genMipmaps,!0)),f.format=tt[h.internalformat],f.type=et[h.type],f.mag=rt[l.magFilter],f.min=nt[l.minFilter],f.wrapS=it[l.wrapS],f.wrapT=it[l.wrapT],s=0;6>s;++s)C(m[s]);return f}var h=new z(34067);yt[h.id]=h,a.cubeCount++;var m=Array(6);return f(e,r,n,i,s,l),f.subimage=function(t,e,r,n,i){r|=0,n|=0,i|=0;var a=v();return c(a,h),a.width=0,a.height=0,p(a,e),a.width=a.width||(h.width>>i)-r,a.height=a.height||(h.height>>i)-n,D(h),d(a,34069+t,r,n,i),R(),k(a),f},f.resize=function(e){if((e|=0)!==h.width){f.width=h.width=e,f.height=h.height=e,D(h);for(var r=0;6>r;++r)for(var n=0;h.mipmask>>n;++n)t.texImage2D(34069+r,n,h.format,e>>n,e>>n,0,h.format,h.type,null);return R(),o.profile&&(h.stats.size=T(h.internalformat,h.type,f.width,f.height,!1,!0)),f}},f._reglType=\"textureCube\",f._texture=h,o.profile&&(f.stats=h.stats),f.destroy=function(){h.decRef()},f},clear:function(){for(var e=0;er;++r)if(0!=(e.mipmask&1<>r,e.height>>r,0,e.internalformat,e.type,null);else for(var n=0;6>n;++n)t.texImage2D(34069+n,r,e.internalformat,e.width>>r,e.height>>r,0,e.internalformat,e.type,null);O(e.texInfo,e.target)}))},refresh:function(){for(var e=0;ei;++i){for(c=0;ct;++t)r[t].resize(n);return e.width=e.height=n,e},_reglType:\"framebufferCube\",destroy:function(){r.forEach((function(t){t.destroy()}))}})},clear:function(){K(k).forEach(g)},restore:function(){x.cur=null,x.next=null,x.dirty=!0,K(k).forEach((function(e){e.framebuffer=t.createFramebuffer(),v(e)}))}})}function M(){this.w=this.z=this.y=this.x=this.state=0,this.buffer=null,this.size=0,this.normalized=!1,this.type=5126,this.divisor=this.stride=this.offset=0}function S(t,e,r,n,i,a,o){function s(){this.id=++f,this.attributes=[],this.elements=null,this.ownsElements=!1,this.offset=this.count=0,this.instances=-1,this.primitive=4;var t=e.oes_vertex_array_object;this.vao=t?t.createVertexArrayOES():null,h[this.id]=this,this.buffers=[]}var c=r.maxAttributes,u=Array(c);for(r=0;r=h.byteLength?c.subdata(h):(c.destroy(),r.buffers[s]=null)),r.buffers[s]||(c=r.buffers[s]=i.create(u,34962,!1,!0)),f.buffer=i.getBuffer(c),f.size=0|f.buffer.dimension,f.normalized=!1,f.type=f.buffer.dtype,f.offset=0,f.stride=0,f.divisor=0,f.state=1,t[s]=1;else i.getBuffer(u)?(f.buffer=i.getBuffer(u),f.size=0|f.buffer.dimension,f.normalized=!1,f.type=f.buffer.dtype,f.offset=0,f.stride=0,f.divisor=0,f.state=1):i.getBuffer(u.buffer)?(f.buffer=i.getBuffer(u.buffer),f.size=0|(+u.size||f.buffer.dimension),f.normalized=!!u.normalized||!1,f.type=\"type\"in u?tt[u.type]:f.buffer.dtype,f.offset=0|(u.offset||0),f.stride=0|(u.stride||0),f.divisor=0|(u.divisor||0),f.state=1):\"x\"in u&&(f.x=+u.x||0,f.y=+u.y||0,f.z=+u.z||0,f.w=+u.w||0,f.state=2)}for(c=0;ct&&(t=e.stats.uniformsCount)})),t},r.getMaxAttributesCount=function(){var t=0;return h.forEach((function(e){e.stats.attributesCount>t&&(t=e.stats.attributesCount)})),t}),{clear:function(){var e=t.deleteShader.bind(t);K(c).forEach(e),c={},K(u).forEach(e),u={},h.forEach((function(e){t.deleteProgram(e.program)})),h.length=0,f={},r.shaderCount=0},program:function(e,n,i,a){var o=f[n];o||(o=f[n]={});var p=o[e];if(p&&(p.refCount++,!a))return p;var d=new s(n,e);return r.shaderCount++,l(d,i,a),p||(o[e]=d),h.push(d),H(d,{destroy:function(){if(d.refCount--,0>=d.refCount){t.deleteProgram(d.program);var e=h.indexOf(d);h.splice(e,1),r.shaderCount--}0>=o[d.vertId].refCount&&(t.deleteShader(u[d.vertId]),delete u[d.vertId],delete f[d.fragId][d.vertId]),Object.keys(f[d.fragId]).length||(t.deleteShader(c[d.fragId]),delete c[d.fragId],delete f[d.fragId])}})},restore:function(){c={},u={};for(var t=0;t>>e|t<<32-e}function P(t,e){var r=(65535&t)+(65535&e);return(t>>16)+(e>>16)+(r>>16)<<16|65535&r}function I(t){return Array.prototype.slice.call(t)}function O(t){return I(t).join(\"\")}function z(t){function e(){var t=[],e=[];return H((function(){t.push.apply(t,I(arguments))}),{def:function(){var r=\"v\"+i++;return e.push(r),0>>4&15)+\"0123456789abcdef\".charAt(15&e);return r}(function(t){for(var e=Array(t.length>>2),r=0;r>5]|=(255&t.charCodeAt(r/8))<<24-r%32;var n,i,a,o,s,l,c,u,f,h,p,d=8*t.length;for(t=[1779033703,-1150833019,1013904242,-1521486534,1359893119,-1694144372,528734635,1541459225],r=Array(64),e[d>>5]|=128<<24-d%32,e[15+(d+64>>9<<4)]=d,u=0;uf;f++){var m;if(16>f)r[f]=e[f+u];else h=f,p=P(p=C(p=r[f-2],17)^C(p,19)^p>>>10,r[f-7]),m=C(m=r[f-15],7)^C(m,18)^m>>>3,r[h]=P(P(p,m),r[f-16]);h=P(P(P(P(c,h=C(h=o,6)^C(h,11)^C(h,25)),o&s^~o&l),kt[f]),r[f]),p=P(c=C(c=d,2)^C(c,13)^C(c,22),d&n^d&i^n&i),c=l,l=s,s=o,o=P(a,h),a=i,i=n,n=d,d=P(h,p)}t[0]=P(d,t[0]),t[1]=P(n,t[1]),t[2]=P(i,t[2]),t[3]=P(a,t[3]),t[4]=P(o,t[4]),t[5]=P(s,t[5]),t[6]=P(l,t[6]),t[7]=P(c,t[7])}for(e=\"\",r=0;r<32*t.length;r+=8)e+=String.fromCharCode(t[r>>5]>>>24-r%32&255);return e}(function(t){for(var e,r,n=\"\",i=-1;++i=e&&56320<=r&&57343>=r&&(e=65536+((1023&e)<<10)+(1023&r),i++),127>=e?n+=String.fromCharCode(e):2047>=e?n+=String.fromCharCode(192|e>>>6&31,128|63&e):65535>=e?n+=String.fromCharCode(224|e>>>12&15,128|e>>>6&63,128|63&e):2097151>=e&&(n+=String.fromCharCode(240|e>>>18&7,128|e>>>12&63,128|e>>>6&63,128|63&e));return n}(r))),n[e])?n[e].apply(null,o):(r=Function.apply(null,a.concat(r)),n&&(n[e]=r),r.apply(null,o))}}}function D(t){return Array.isArray(t)||J(t)||l(t)}function R(t){return t.sort((function(t,e){return\"viewport\"===t?-1:\"viewport\"===e?1:t\"+e+\"?\"+i+\".constant[\"+e+\"]:0;\"})).join(\"\"),\"}}else{\",\"if(\",s,\"(\",i,\".buffer)){\",u,\"=\",a,\".createStream(\",34962,\",\",i,\".buffer);\",\"}else{\",u,\"=\",a,\".getBuffer(\",i,\".buffer);\",\"}\",f,'=\"type\" in ',i,\"?\",o.glTypes,\"[\",i,\".type]:\",u,\".dtype;\",l.normalized,\"=!!\",i,\".normalized;\"),n(\"size\"),n(\"offset\"),n(\"stride\"),n(\"divisor\"),r(\"}}\"),r.exit(\"if(\",l.isStream,\"){\",a,\".destroyStream(\",u,\");\",\"}\"),l}))})),o}function M(t,e,n,i,o){function s(t){var e=c[t];e&&(h[t]=e)}var l=function(t,e){if(\"string\"==typeof(r=t.static).frag&&\"string\"==typeof r.vert){if(0>1)\",s],\");\")}function e(){r(l,\".drawArraysInstancedANGLE(\",[d,m,g,s],\");\")}p&&\"null\"!==p?y?t():(r(\"if(\",p,\"){\"),t(),r(\"}else{\"),e(),r(\"}\")):e()}function o(){function t(){r(u+\".drawElements(\"+[d,g,v,m+\"<<((\"+v+\"-5121)>>1)\"]+\");\")}function e(){r(u+\".drawArrays(\"+[d,m,g]+\");\")}p&&\"null\"!==p?y?t():(r(\"if(\",p,\"){\"),t(),r(\"}else{\"),e(),r(\"}\")):e()}var s,l,c=t.shared,u=c.gl,f=c.draw,h=n.draw,p=function(){var i=h.elements,a=e;return i?((i.contextDep&&n.contextDynamic||i.propDep)&&(a=r),i=i.append(t,a),h.elementsActive&&a(\"if(\"+i+\")\"+u+\".bindBuffer(34963,\"+i+\".buffer.buffer);\")):(i=a.def(),a(i,\"=\",f,\".\",\"elements\",\";\",\"if(\",i,\"){\",u,\".bindBuffer(\",34963,\",\",i,\".buffer.buffer);}\",\"else if(\",c.vao,\".currentVAO){\",i,\"=\",t.shared.elements+\".getElements(\"+c.vao,\".currentVAO.elements);\",rt?\"\":\"if(\"+i+\")\"+u+\".bindBuffer(34963,\"+i+\".buffer.buffer);\",\"}\")),i}(),d=i(\"primitive\"),m=i(\"offset\"),g=function(){var i=h.count,a=e;return i?((i.contextDep&&n.contextDynamic||i.propDep)&&(a=r),i=i.append(t,a)):i=a.def(f,\".\",\"count\"),i}();if(\"number\"==typeof g){if(0===g)return}else r(\"if(\",g,\"){\"),r.exit(\"}\");$&&(s=i(\"instances\"),l=t.instancing);var v=p+\".type\",y=h.elements&&B(h.elements)&&!h.vaoActive;$&&(\"number\"!=typeof s||0<=s)?\"string\"==typeof s?(r(\"if(\",s,\">0){\"),a(),r(\"}else if(\",s,\"<0){\"),o(),r(\"}\")):a():o()}function q(t,e,r,n,i){return i=(e=_()).proc(\"body\",i),$&&(e.instancing=i.def(e.shared.extensions,\".angle_instanced_arrays\")),t(e,i,r,n),e.compile().body}function Y(t,e,r,n){P(t,e),r.useVAO?r.drawVAO?e(t.shared.vao,\".setVAO(\",r.drawVAO.append(t,e),\");\"):e(t.shared.vao,\".setVAO(\",t.shared.vao,\".targetVAO);\"):(e(t.shared.vao,\".setVAO(null);\"),O(t,e,r,n.attributes,(function(){return!0}))),U(t,e,r,n.uniforms,(function(){return!0}),!1),V(t,e,e,r)}function W(t,e,r,n){function i(){return!0}t.batchId=\"a1\",P(t,e),O(t,e,r,n.attributes,i),U(t,e,r,n.uniforms,i,!1),V(t,e,e,r)}function Z(t,e,r,n){function i(t){return t.contextDep&&o||t.propDep}function a(t){return!i(t)}P(t,e);var o=r.contextDep,s=e.def(),l=e.def();t.shared.props=l,t.batchId=s;var c=t.scope(),u=t.scope();e(c.entry,\"for(\",s,\"=0;\",s,\"<\",\"a1\",\";++\",s,\"){\",l,\"=\",\"a0\",\"[\",s,\"];\",u,\"}\",c.exit),r.needsContext&&S(t,u,r.context),r.needsFramebuffer&&E(t,u,r.framebuffer),C(t,u,r.state,i),r.profile&&i(r.profile)&&I(t,u,r,!1,!0),n?(r.useVAO?r.drawVAO?i(r.drawVAO)?u(t.shared.vao,\".setVAO(\",r.drawVAO.append(t,u),\");\"):c(t.shared.vao,\".setVAO(\",r.drawVAO.append(t,c),\");\"):c(t.shared.vao,\".setVAO(\",t.shared.vao,\".targetVAO);\"):(c(t.shared.vao,\".setVAO(null);\"),O(t,c,r,n.attributes,a),O(t,u,r,n.attributes,i)),U(t,c,r,n.uniforms,a,!1),U(t,u,r,n.uniforms,i,!0),V(t,c,u,r)):(e=t.global.def(\"{}\"),n=r.shader.progVar.append(t,u),l=u.def(n,\".id\"),c=u.def(e,\"[\",l,\"]\"),u(t.shared.gl,\".useProgram(\",n,\".program);\",\"if(!\",c,\"){\",c,\"=\",e,\"[\",l,\"]=\",t.link((function(e){return q(W,t,r,e,2)})),\"(\",n,\");}\",c,\".call(this,a0[\",s,\"],\",s,\");\"))}function X(t,r){function n(e){var n=r.shader[e];n&&(n=n.append(t,i),isNaN(n)?i.set(a.shader,\".\"+e,n):i.set(a.shader,\".\"+e,t.link(n,{stable:!0})))}var i=t.proc(\"scope\",3);t.batchId=\"a2\";var a=t.shared,o=a.current;if(S(t,i,r.context),r.framebuffer&&r.framebuffer.append(t,i),R(Object.keys(r.state)).forEach((function(e){var n=r.state[e],o=n.append(t,i);g(o)?o.forEach((function(r,n){isNaN(r)?i.set(t.next[e],\"[\"+n+\"]\",r):i.set(t.next[e],\"[\"+n+\"]\",t.link(r,{stable:!0}))})):B(n)?i.set(a.next,\".\"+e,t.link(o,{stable:!0})):i.set(a.next,\".\"+e,o)})),I(t,i,r,!0,!0),[\"elements\",\"offset\",\"count\",\"instances\",\"primitive\"].forEach((function(e){var n=r.draw[e];n&&(n=n.append(t,i),isNaN(n)?i.set(a.draw,\".\"+e,n):i.set(a.draw,\".\"+e,t.link(n),{stable:!0}))})),Object.keys(r.uniforms).forEach((function(n){var o=r.uniforms[n].append(t,i);Array.isArray(o)&&(o=\"[\"+o.map((function(e){return isNaN(e)?e:t.link(e,{stable:!0})}))+\"]\"),i.set(a.uniforms,\"[\"+t.link(e.id(n),{stable:!0})+\"]\",o)})),Object.keys(r.attributes).forEach((function(e){var n=r.attributes[e].append(t,i),a=t.scopeAttrib(e);Object.keys(new K).forEach((function(t){i.set(a,\".\"+t,n[t])}))})),r.scopeVAO){var s=r.scopeVAO.append(t,i);isNaN(s)?i.set(a.vao,\".targetVAO\",s):i.set(a.vao,\".targetVAO\",t.link(s,{stable:!0}))}n(\"vert\"),n(\"frag\"),0=--this.refCount&&o(this)},i.profile&&(n.getTotalRenderbufferSize=function(){var t=0;return Object.keys(u).forEach((function(e){t+=u[e].stats.size})),t}),{create:function(e,r){function o(e,r){var n=0,a=0,u=32854;if(\"object\"==typeof e&&e?(\"shape\"in e?(n=0|(a=e.shape)[0],a=0|a[1]):(\"radius\"in e&&(n=a=0|e.radius),\"width\"in e&&(n=0|e.width),\"height\"in e&&(a=0|e.height)),\"format\"in e&&(u=s[e.format])):\"number\"==typeof e?(n=0|e,a=\"number\"==typeof r?0|r:n):e||(n=a=1),n!==c.width||a!==c.height||u!==c.format)return o.width=c.width=n,o.height=c.height=a,c.format=u,t.bindRenderbuffer(36161,c.renderbuffer),t.renderbufferStorage(36161,u,n,a),i.profile&&(c.stats.size=bt[c.format]*c.width*c.height),o.format=l[c.format],o}var c=new a(t.createRenderbuffer());return u[c.id]=c,n.renderbufferCount++,o(e,r),o.resize=function(e,r){var n=0|e,a=0|r||n;return n===c.width&&a===c.height||(o.width=c.width=n,o.height=c.height=a,t.bindRenderbuffer(36161,c.renderbuffer),t.renderbufferStorage(36161,c.format,n,a),i.profile&&(c.stats.size=bt[c.format]*c.width*c.height)),o},o._reglType=\"renderbuffer\",o._renderbuffer=c,i.profile&&(o.stats=c.stats),o.destroy=function(){c.decRef()},o},clear:function(){K(u).forEach(o)},restore:function(){K(u).forEach((function(e){e.renderbuffer=t.createRenderbuffer(),t.bindRenderbuffer(36161,e.renderbuffer),t.renderbufferStorage(36161,e.format,e.width,e.height)})),t.bindRenderbuffer(36161,null)}}},wt=[];wt[6408]=4,wt[6407]=3;var Tt=[];Tt[5121]=1,Tt[5126]=4,Tt[36193]=2;var kt=[1116352408,1899447441,-1245643825,-373957723,961987163,1508970993,-1841331548,-1424204075,-670586216,310598401,607225278,1426881987,1925078388,-2132889090,-1680079193,-1046744716,-459576895,-272742522,264347078,604807628,770255983,1249150122,1555081692,1996064986,-1740746414,-1473132947,-1341970488,-1084653625,-958395405,-710438585,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,-2117940946,-1838011259,-1564481375,-1474664885,-1035236496,-949202525,-778901479,-694614492,-200395387,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,-2067236844,-1933114872,-1866530822,-1538233109,-1090935817,-965641998],At=[\"x\",\"y\",\"z\",\"w\"],Mt=\"blend.func blend.equation stencil.func stencil.opFront stencil.opBack sample.coverage viewport scissor.box polygonOffset.offset\".split(\" \"),St={0:0,1:1,zero:0,one:1,\"src color\":768,\"one minus src color\":769,\"src alpha\":770,\"one minus src alpha\":771,\"dst color\":774,\"one minus dst color\":775,\"dst alpha\":772,\"one minus dst alpha\":773,\"constant color\":32769,\"one minus constant color\":32770,\"constant alpha\":32771,\"one minus constant alpha\":32772,\"src alpha saturate\":776},Et={never:512,less:513,\"<\":513,equal:514,\"=\":514,\"==\":514,\"===\":514,lequal:515,\"<=\":515,greater:516,\">\":516,notequal:517,\"!=\":517,\"!==\":517,gequal:518,\">=\":518,always:519},Lt={0:0,zero:0,keep:7680,replace:7681,increment:7682,decrement:7683,\"increment wrap\":34055,\"decrement wrap\":34056,invert:5386},Ct={cw:2304,ccw:2305},Pt=new F(!1,!1,!1,(function(){}));return function(t){function e(){if(0===K.length)T&&T.update(),et=null;else{et=Y.next(e),f();for(var t=K.length-1;0<=t;--t){var r=K[t];r&&r(I,null,0)}g.flush(),T&&T.update()}}function r(){!et&&0=K.length&&n()}}}}function u(){var t=Z.viewport,e=Z.scissor_box;t[0]=t[1]=e[0]=e[1]=0,I.viewportWidth=I.framebufferWidth=I.drawingBufferWidth=t[2]=e[2]=g.drawingBufferWidth,I.viewportHeight=I.framebufferHeight=I.drawingBufferHeight=t[3]=e[3]=g.drawingBufferHeight}function f(){I.tick+=1,I.time=m(),u(),q.procs.poll()}function h(){B.refresh(),u(),q.procs.refresh(),T&&T.update()}function m(){return(W()-M)/1e3}if(!(t=i(t)))return null;var g=t.gl,v=g.getContextAttributes();g.isContextLost();var y=function(t,e){function r(e){var r;e=e.toLowerCase();try{r=n[e]=t.getExtension(e)}catch(t){}return!!r}for(var n={},i=0;ie;++e)rt(H({framebuffer:t.framebuffer.faces[e]},t),l);else rt(t,l);else l(0,t)},prop:G.define.bind(null,1),context:G.define.bind(null,2),this:G.define.bind(null,3),draw:s({}),buffer:function(t){return z.create(t,34962,!1,!1)},elements:function(t){return D.create(t,!1)},texture:B.create2D,cube:B.createCube,renderbuffer:N.create,framebuffer:j.create,framebufferCube:j.createCube,vao:R.createVAO,attributes:v,frame:c,on:function(t,e){var r;switch(t){case\"frame\":return c(e);case\"lost\":r=Q;break;case\"restore\":r=$;break;case\"destroy\":r=tt}return r.push(e),{cancel:function(){for(var t=0;t2?\"one of \".concat(e,\" \").concat(t.slice(0,r-1).join(\", \"),\", or \")+t[r-1]:2===r?\"one of \".concat(e,\" \").concat(t[0],\" or \").concat(t[1]):\"of \".concat(e,\" \").concat(t[0])}return\"of \".concat(e,\" \").concat(String(t))}i(\"ERR_INVALID_OPT_VALUE\",(function(t,e){return'The value \"'+e+'\" is invalid for option \"'+t+'\"'}),TypeError),i(\"ERR_INVALID_ARG_TYPE\",(function(t,e,r){var n,i,o,s;if(\"string\"==typeof e&&(i=\"not \",e.substr(!o||o<0?0:+o,i.length)===i)?(n=\"must not be\",e=e.replace(/^not /,\"\")):n=\"must be\",function(t,e,r){return(void 0===r||r>t.length)&&(r=t.length),t.substring(r-e.length,r)===e}(t,\" argument\"))s=\"The \".concat(t,\" \").concat(n,\" \").concat(a(e,\"type\"));else{var l=function(t,e,r){return\"number\"!=typeof r&&(r=0),!(r+e.length>t.length)&&-1!==t.indexOf(e,r)}(t,\".\")?\"property\":\"argument\";s='The \"'.concat(t,'\" ').concat(l,\" \").concat(n,\" \").concat(a(e,\"type\"))}return s+=\". Received type \".concat(typeof r)}),TypeError),i(\"ERR_STREAM_PUSH_AFTER_EOF\",\"stream.push() after EOF\"),i(\"ERR_METHOD_NOT_IMPLEMENTED\",(function(t){return\"The \"+t+\" method is not implemented\"})),i(\"ERR_STREAM_PREMATURE_CLOSE\",\"Premature close\"),i(\"ERR_STREAM_DESTROYED\",(function(t){return\"Cannot call \"+t+\" after a stream was destroyed\"})),i(\"ERR_MULTIPLE_CALLBACK\",\"Callback called multiple times\"),i(\"ERR_STREAM_CANNOT_PIPE\",\"Cannot pipe, not readable\"),i(\"ERR_STREAM_WRITE_AFTER_END\",\"write after end\"),i(\"ERR_STREAM_NULL_VALUES\",\"May not write null values to stream\",TypeError),i(\"ERR_UNKNOWN_ENCODING\",(function(t){return\"Unknown encoding: \"+t}),TypeError),i(\"ERR_STREAM_UNSHIFT_AFTER_END_EVENT\",\"stream.unshift() after end event\"),e.exports.codes=n},{}],288:[function(t,e,r){(function(r){(function(){\"use strict\";var n=Object.keys||function(t){var e=[];for(var r in t)e.push(r);return e};e.exports=c;var i=t(\"./_stream_readable\"),a=t(\"./_stream_writable\");t(\"inherits\")(c,i);for(var o=n(a.prototype),s=0;s0)if(\"string\"==typeof e||o.objectMode||Object.getPrototypeOf(e)===s.prototype||(e=function(t){return s.from(t)}(e)),n)o.endEmitted?w(t,new _):S(t,o,e,!0);else if(o.ended)w(t,new x);else{if(o.destroyed)return!1;o.reading=!1,o.decoder&&!r?(e=o.decoder.write(e),o.objectMode||0!==e.length?S(t,o,e,!1):P(t,o)):S(t,o,e,!1)}else n||(o.reading=!1,P(t,o));return!o.ended&&(o.lengthe.highWaterMark&&(e.highWaterMark=function(t){return t>=1073741824?t=1073741824:(t--,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,t|=t>>>16,t++),t}(t)),t<=e.length?t:e.ended?e.length:(e.needReadable=!0,0))}function L(t){var e=t._readableState;c(\"emitReadable\",e.needReadable,e.emittedReadable),e.needReadable=!1,e.emittedReadable||(c(\"emitReadable\",e.flowing),e.emittedReadable=!0,r.nextTick(C,t))}function C(t){var e=t._readableState;c(\"emitReadable_\",e.destroyed,e.length,e.ended),e.destroyed||!e.length&&!e.ended||(t.emit(\"readable\"),e.emittedReadable=!1),e.needReadable=!e.flowing&&!e.ended&&e.length<=e.highWaterMark,R(t)}function P(t,e){e.readingMore||(e.readingMore=!0,r.nextTick(I,t,e))}function I(t,e){for(;!e.reading&&!e.ended&&(e.length0,e.resumeScheduled&&!e.paused?e.flowing=!0:t.listenerCount(\"data\")>0&&t.resume()}function z(t){c(\"readable nexttick read 0\"),t.read(0)}function D(t,e){c(\"resume\",e.reading),e.reading||t.read(0),e.resumeScheduled=!1,t.emit(\"resume\"),R(t),e.flowing&&!e.reading&&t.read(0)}function R(t){var e=t._readableState;for(c(\"flow\",e.flowing);e.flowing&&null!==t.read(););}function F(t,e){return 0===e.length?null:(e.objectMode?r=e.buffer.shift():!t||t>=e.length?(r=e.decoder?e.buffer.join(\"\"):1===e.buffer.length?e.buffer.first():e.buffer.concat(e.length),e.buffer.clear()):r=e.buffer.consume(t,e.decoder),r);var r}function B(t){var e=t._readableState;c(\"endReadable\",e.endEmitted),e.endEmitted||(e.ended=!0,r.nextTick(N,e,t))}function N(t,e){if(c(\"endReadableNT\",t.endEmitted,t.length),!t.endEmitted&&0===t.length&&(t.endEmitted=!0,e.readable=!1,e.emit(\"end\"),t.autoDestroy)){var r=e._writableState;(!r||r.autoDestroy&&r.finished)&&e.destroy()}}function j(t,e){for(var r=0,n=t.length;r=e.highWaterMark:e.length>0)||e.ended))return c(\"read: emitReadable\",e.length,e.ended),0===e.length&&e.ended?B(this):L(this),null;if(0===(t=E(t,e))&&e.ended)return 0===e.length&&B(this),null;var n,i=e.needReadable;return c(\"need readable\",i),(0===e.length||e.length-t0?F(t,e):null)?(e.needReadable=e.length<=e.highWaterMark,t=0):(e.length-=t,e.awaitDrain=0),0===e.length&&(e.ended||(e.needReadable=!0),r!==t&&e.ended&&B(this)),null!==n&&this.emit(\"data\",n),n},A.prototype._read=function(t){w(this,new b(\"_read()\"))},A.prototype.pipe=function(t,e){var n=this,i=this._readableState;switch(i.pipesCount){case 0:i.pipes=t;break;case 1:i.pipes=[i.pipes,t];break;default:i.pipes.push(t)}i.pipesCount+=1,c(\"pipe count=%d opts=%j\",i.pipesCount,e);var o=(!e||!1!==e.end)&&t!==r.stdout&&t!==r.stderr?l:g;function s(e,r){c(\"onunpipe\"),e===n&&r&&!1===r.hasUnpiped&&(r.hasUnpiped=!0,c(\"cleanup\"),t.removeListener(\"close\",d),t.removeListener(\"finish\",m),t.removeListener(\"drain\",u),t.removeListener(\"error\",p),t.removeListener(\"unpipe\",s),n.removeListener(\"end\",l),n.removeListener(\"end\",g),n.removeListener(\"data\",h),f=!0,!i.awaitDrain||t._writableState&&!t._writableState.needDrain||u())}function l(){c(\"onend\"),t.end()}i.endEmitted?r.nextTick(o):n.once(\"end\",o),t.on(\"unpipe\",s);var u=function(t){return function(){var e=t._readableState;c(\"pipeOnDrain\",e.awaitDrain),e.awaitDrain&&e.awaitDrain--,0===e.awaitDrain&&a(t,\"data\")&&(e.flowing=!0,R(t))}}(n);t.on(\"drain\",u);var f=!1;function h(e){c(\"ondata\");var r=t.write(e);c(\"dest.write\",r),!1===r&&((1===i.pipesCount&&i.pipes===t||i.pipesCount>1&&-1!==j(i.pipes,t))&&!f&&(c(\"false write response, pause\",i.awaitDrain),i.awaitDrain++),n.pause())}function p(e){c(\"onerror\",e),g(),t.removeListener(\"error\",p),0===a(t,\"error\")&&w(t,e)}function d(){t.removeListener(\"finish\",m),g()}function m(){c(\"onfinish\"),t.removeListener(\"close\",d),g()}function g(){c(\"unpipe\"),n.unpipe(t)}return n.on(\"data\",h),function(t,e,r){if(\"function\"==typeof t.prependListener)return t.prependListener(e,r);t._events&&t._events[e]?Array.isArray(t._events[e])?t._events[e].unshift(r):t._events[e]=[r,t._events[e]]:t.on(e,r)}(t,\"error\",p),t.once(\"close\",d),t.once(\"finish\",m),t.emit(\"pipe\",n),i.flowing||(c(\"pipe resume\"),n.resume()),t},A.prototype.unpipe=function(t){var e=this._readableState,r={hasUnpiped:!1};if(0===e.pipesCount)return this;if(1===e.pipesCount)return t&&t!==e.pipes||(t||(t=e.pipes),e.pipes=null,e.pipesCount=0,e.flowing=!1,t&&t.emit(\"unpipe\",this,r)),this;if(!t){var n=e.pipes,i=e.pipesCount;e.pipes=null,e.pipesCount=0,e.flowing=!1;for(var a=0;a0,!1!==i.flowing&&this.resume()):\"readable\"===t&&(i.endEmitted||i.readableListening||(i.readableListening=i.needReadable=!0,i.flowing=!1,i.emittedReadable=!1,c(\"on readable\",i.length,i.reading),i.length?L(this):i.reading||r.nextTick(z,this))),n},A.prototype.addListener=A.prototype.on,A.prototype.removeListener=function(t,e){var n=o.prototype.removeListener.call(this,t,e);return\"readable\"===t&&r.nextTick(O,this),n},A.prototype.removeAllListeners=function(t){var e=o.prototype.removeAllListeners.apply(this,arguments);return\"readable\"!==t&&void 0!==t||r.nextTick(O,this),e},A.prototype.resume=function(){var t=this._readableState;return t.flowing||(c(\"resume\"),t.flowing=!t.readableListening,function(t,e){e.resumeScheduled||(e.resumeScheduled=!0,r.nextTick(D,t,e))}(this,t)),t.paused=!1,this},A.prototype.pause=function(){return c(\"call pause flowing=%j\",this._readableState.flowing),!1!==this._readableState.flowing&&(c(\"pause\"),this._readableState.flowing=!1,this.emit(\"pause\")),this._readableState.paused=!0,this},A.prototype.wrap=function(t){var e=this,r=this._readableState,n=!1;for(var i in t.on(\"end\",(function(){if(c(\"wrapped end\"),r.decoder&&!r.ended){var t=r.decoder.end();t&&t.length&&e.push(t)}e.push(null)})),t.on(\"data\",(function(i){(c(\"wrapped data\"),r.decoder&&(i=r.decoder.write(i)),r.objectMode&&null==i)||(r.objectMode||i&&i.length)&&(e.push(i)||(n=!0,t.pause()))})),t)void 0===this[i]&&\"function\"==typeof t[i]&&(this[i]=function(e){return function(){return t[e].apply(t,arguments)}}(i));for(var a=0;a-1))throw new _(t);return this._writableState.defaultEncoding=t,this},Object.defineProperty(A.prototype,\"writableBuffer\",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(A.prototype,\"writableHighWaterMark\",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),A.prototype._write=function(t,e,r){r(new m(\"_write()\"))},A.prototype._writev=null,A.prototype.end=function(t,e,n){var i=this._writableState;return\"function\"==typeof t?(n=t,t=null,e=null):\"function\"==typeof e&&(n=e,e=null),null!=t&&this.write(t,e),i.corked&&(i.corked=1,this.uncork()),i.ending||function(t,e,n){e.ending=!0,P(t,e),n&&(e.finished?r.nextTick(n):t.once(\"finish\",n));e.ended=!0,t.writable=!1}(this,i,n),this},Object.defineProperty(A.prototype,\"writableLength\",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty(A.prototype,\"destroyed\",{enumerable:!1,get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(t){this._writableState&&(this._writableState.destroyed=t)}}),A.prototype.destroy=f.destroy,A.prototype._undestroy=f.undestroy,A.prototype._destroy=function(t,e){e(t)}}).call(this)}).call(this,t(\"_process\"),\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{})},{\"../errors\":287,\"./_stream_duplex\":288,\"./internal/streams/destroy\":295,\"./internal/streams/state\":299,\"./internal/streams/stream\":300,_process:278,buffer:85,inherits:231,\"util-deprecate\":331}],293:[function(t,e,r){(function(r){(function(){\"use strict\";var n;function i(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}var a=t(\"./end-of-stream\"),o=Symbol(\"lastResolve\"),s=Symbol(\"lastReject\"),l=Symbol(\"error\"),c=Symbol(\"ended\"),u=Symbol(\"lastPromise\"),f=Symbol(\"handlePromise\"),h=Symbol(\"stream\");function p(t,e){return{value:t,done:e}}function d(t){var e=t[o];if(null!==e){var r=t[h].read();null!==r&&(t[u]=null,t[o]=null,t[s]=null,e(p(r,!1)))}}function m(t){r.nextTick(d,t)}var g=Object.getPrototypeOf((function(){})),v=Object.setPrototypeOf((i(n={get stream(){return this[h]},next:function(){var t=this,e=this[l];if(null!==e)return Promise.reject(e);if(this[c])return Promise.resolve(p(void 0,!0));if(this[h].destroyed)return new Promise((function(e,n){r.nextTick((function(){t[l]?n(t[l]):e(p(void 0,!0))}))}));var n,i=this[u];if(i)n=new Promise(function(t,e){return function(r,n){t.then((function(){e[c]?r(p(void 0,!0)):e[f](r,n)}),n)}}(i,this));else{var a=this[h].read();if(null!==a)return Promise.resolve(p(a,!1));n=new Promise(this[f])}return this[u]=n,n}},Symbol.asyncIterator,(function(){return this})),i(n,\"return\",(function(){var t=this;return new Promise((function(e,r){t[h].destroy(null,(function(t){t?r(t):e(p(void 0,!0))}))}))})),n),g);e.exports=function(t){var e,r=Object.create(v,(i(e={},h,{value:t,writable:!0}),i(e,o,{value:null,writable:!0}),i(e,s,{value:null,writable:!0}),i(e,l,{value:null,writable:!0}),i(e,c,{value:t._readableState.endEmitted,writable:!0}),i(e,f,{value:function(t,e){var n=r[h].read();n?(r[u]=null,r[o]=null,r[s]=null,t(p(n,!1))):(r[o]=t,r[s]=e)},writable:!0}),e));return r[u]=null,a(t,(function(t){if(t&&\"ERR_STREAM_PREMATURE_CLOSE\"!==t.code){var e=r[s];return null!==e&&(r[u]=null,r[o]=null,r[s]=null,e(t)),void(r[l]=t)}var n=r[o];null!==n&&(r[u]=null,r[o]=null,r[s]=null,n(p(void 0,!0))),r[c]=!0})),t.on(\"readable\",m.bind(null,r)),r}}).call(this)}).call(this,t(\"_process\"))},{\"./end-of-stream\":296,_process:278}],294:[function(t,e,r){\"use strict\";function n(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function i(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function a(t,e){for(var r=0;r0?this.tail.next=e:this.head=e,this.tail=e,++this.length}},{key:\"unshift\",value:function(t){var e={data:t,next:this.head};0===this.length&&(this.tail=e),this.head=e,++this.length}},{key:\"shift\",value:function(){if(0!==this.length){var t=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,t}}},{key:\"clear\",value:function(){this.head=this.tail=null,this.length=0}},{key:\"join\",value:function(t){if(0===this.length)return\"\";for(var e=this.head,r=\"\"+e.data;e=e.next;)r+=t+e.data;return r}},{key:\"concat\",value:function(t){if(0===this.length)return o.alloc(0);for(var e,r,n,i=o.allocUnsafe(t>>>0),a=this.head,s=0;a;)e=a.data,r=i,n=s,o.prototype.copy.call(e,r,n),s+=a.data.length,a=a.next;return i}},{key:\"consume\",value:function(t,e){var r;return ti.length?i.length:t;if(a===i.length?n+=i:n+=i.slice(0,t),0==(t-=a)){a===i.length?(++r,e.next?this.head=e.next:this.head=this.tail=null):(this.head=e,e.data=i.slice(a));break}++r}return this.length-=r,n}},{key:\"_getBuffer\",value:function(t){var e=o.allocUnsafe(t),r=this.head,n=1;for(r.data.copy(e),t-=r.data.length;r=r.next;){var i=r.data,a=t>i.length?i.length:t;if(i.copy(e,e.length-t,0,a),0==(t-=a)){a===i.length?(++n,r.next?this.head=r.next:this.head=this.tail=null):(this.head=r,r.data=i.slice(a));break}++n}return this.length-=n,e}},{key:l,value:function(t,e){return s(this,function(t){for(var e=1;e0,(function(t){n||(n=t),t&&o.forEach(c),a||(o.forEach(c),i(n))}))}));return e.reduce(u)}},{\"../../../errors\":287,\"./end-of-stream\":296}],299:[function(t,e,r){\"use strict\";var n=t(\"../../../errors\").codes.ERR_INVALID_OPT_VALUE;e.exports={getHighWaterMark:function(t,e,r,i){var a=function(t,e,r){return null!=t.highWaterMark?t.highWaterMark:e?t[r]:null}(e,i,r);if(null!=a){if(!isFinite(a)||Math.floor(a)!==a||a<0)throw new n(i?r:\"highWaterMark\",a);return Math.floor(a)}return t.objectMode?16:16384}}},{\"../../../errors\":287}],300:[function(t,e,r){e.exports=t(\"events\").EventEmitter},{events:84}],301:[function(t,e,r){\"use strict\";var n=t(\"safe-buffer\").Buffer,i=n.isEncoding||function(t){switch((t=\"\"+t)&&t.toLowerCase()){case\"hex\":case\"utf8\":case\"utf-8\":case\"ascii\":case\"binary\":case\"base64\":case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":case\"raw\":return!0;default:return!1}};function a(t){var e;switch(this.encoding=function(t){var e=function(t){if(!t)return\"utf8\";for(var e;;)switch(t){case\"utf8\":case\"utf-8\":return\"utf8\";case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return\"utf16le\";case\"latin1\":case\"binary\":return\"latin1\";case\"base64\":case\"ascii\":case\"hex\":return t;default:if(e)return;t=(\"\"+t).toLowerCase(),e=!0}}(t);if(\"string\"!=typeof e&&(n.isEncoding===i||!i(t)))throw new Error(\"Unknown encoding: \"+t);return e||t}(t),this.encoding){case\"utf16le\":this.text=l,this.end=c,e=4;break;case\"utf8\":this.fillLast=s,e=4;break;case\"base64\":this.text=u,this.end=f,e=3;break;default:return this.write=h,void(this.end=p)}this.lastNeed=0,this.lastTotal=0,this.lastChar=n.allocUnsafe(e)}function o(t){return t<=127?0:t>>5==6?2:t>>4==14?3:t>>3==30?4:t>>6==2?-1:-2}function s(t){var e=this.lastTotal-this.lastNeed,r=function(t,e,r){if(128!=(192&e[0]))return t.lastNeed=0,\"\\ufffd\";if(t.lastNeed>1&&e.length>1){if(128!=(192&e[1]))return t.lastNeed=1,\"\\ufffd\";if(t.lastNeed>2&&e.length>2&&128!=(192&e[2]))return t.lastNeed=2,\"\\ufffd\"}}(this,t);return void 0!==r?r:this.lastNeed<=t.length?(t.copy(this.lastChar,e,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(t.copy(this.lastChar,e,0,t.length),void(this.lastNeed-=t.length))}function l(t,e){if((t.length-e)%2==0){var r=t.toString(\"utf16le\",e);if(r){var n=r.charCodeAt(r.length-1);if(n>=55296&&n<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1],r.slice(0,-1)}return r}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=t[t.length-1],t.toString(\"utf16le\",e,t.length-1)}function c(t){var e=t&&t.length?this.write(t):\"\";if(this.lastNeed){var r=this.lastTotal-this.lastNeed;return e+this.lastChar.toString(\"utf16le\",0,r)}return e}function u(t,e){var r=(t.length-e)%3;return 0===r?t.toString(\"base64\",e):(this.lastNeed=3-r,this.lastTotal=3,1===r?this.lastChar[0]=t[t.length-1]:(this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1]),t.toString(\"base64\",e,t.length-r))}function f(t){var e=t&&t.length?this.write(t):\"\";return this.lastNeed?e+this.lastChar.toString(\"base64\",0,3-this.lastNeed):e}function h(t){return t.toString(this.encoding)}function p(t){return t&&t.length?this.write(t):\"\"}r.StringDecoder=a,a.prototype.write=function(t){if(0===t.length)return\"\";var e,r;if(this.lastNeed){if(void 0===(e=this.fillLast(t)))return\"\";r=this.lastNeed,this.lastNeed=0}else r=0;return r=0)return i>0&&(t.lastNeed=i-1),i;if(--n=0)return i>0&&(t.lastNeed=i-2),i;if(--n=0)return i>0&&(2===i?i=0:t.lastNeed=i-3),i;return 0}(this,t,e);if(!this.lastNeed)return t.toString(\"utf8\",e);this.lastTotal=r;var n=t.length-(r-this.lastNeed);return t.copy(this.lastChar,0,n),t.toString(\"utf8\",e,n)},a.prototype.fillLast=function(t){if(this.lastNeed<=t.length)return t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,t.length),this.lastNeed-=t.length}},{\"safe-buffer\":285}],302:[function(t,e,r){(function(r,n){(function(){var r=t(\"assert\"),i=t(\"debug\")(\"stream-parser\");e.exports=function(t){var e=t&&\"function\"==typeof t._transform,r=t&&\"function\"==typeof t._write;if(!e&&!r)throw new Error(\"must pass a Writable or Transform stream in\");i(\"extending Parser into stream\"),t._bytes=o,t._skipBytes=s,e&&(t._passthrough=l);e?t._transform=u:t._write=c};function a(t){i(\"initializing parser stream\"),t._parserBytesLeft=0,t._parserBuffers=[],t._parserBuffered=0,t._parserState=-1,t._parserCallback=null,\"function\"==typeof t.push&&(t._parserOutput=t.push.bind(t)),t._parserInit=!0}function o(t,e){r(!this._parserCallback,'there is already a \"callback\" set!'),r(isFinite(t)&&t>0,'can only buffer a finite number of bytes > 0, got \"'+t+'\"'),this._parserInit||a(this),i(\"buffering %o bytes\",t),this._parserBytesLeft=t,this._parserCallback=e,this._parserState=0}function s(t,e){r(!this._parserCallback,'there is already a \"callback\" set!'),r(t>0,'can only skip > 0 bytes, got \"'+t+'\"'),this._parserInit||a(this),i(\"skipping %o bytes\",t),this._parserBytesLeft=t,this._parserCallback=e,this._parserState=1}function l(t,e){r(!this._parserCallback,'There is already a \"callback\" set!'),r(t>0,'can only pass through > 0 bytes, got \"'+t+'\"'),this._parserInit||a(this),i(\"passing through %o bytes\",t),this._parserBytesLeft=t,this._parserCallback=e,this._parserState=2}function c(t,e,r){this._parserInit||a(this),i(\"write(%o bytes)\",t.length),\"function\"==typeof e&&(r=e),h(this,t,null,r)}function u(t,e,r){this._parserInit||a(this),i(\"transform(%o bytes)\",t.length),\"function\"!=typeof e&&(e=this._parserOutput),h(this,t,e,r)}function f(t,e,r,a){if(t._parserBytesLeft-=e.length,i(\"%o bytes left for stream piece\",t._parserBytesLeft),0===t._parserState?(t._parserBuffers.push(e),t._parserBuffered+=e.length):2===t._parserState&&r(e),0!==t._parserBytesLeft)return a;var o=t._parserCallback;if(o&&0===t._parserState&&t._parserBuffers.length>1&&(e=n.concat(t._parserBuffers,t._parserBuffered)),0!==t._parserState&&(e=null),t._parserCallback=null,t._parserBuffered=0,t._parserState=-1,t._parserBuffers.splice(0),o){var s=[];e&&s.push(e),r&&s.push(r);var l=o.length>s.length;l&&s.push(p(a));var c=o.apply(t,s);if(!l||a===c)return a}}var h=p((function t(e,r,n,i){return e._parserBytesLeft<=0?i(new Error(\"got data but not currently parsing anything\")):r.length<=e._parserBytesLeft?function(){return f(e,r,n,i)}:function(){var a=r.slice(0,e._parserBytesLeft);return f(e,a,n,(function(o){return o?i(o):r.length>a.length?function(){return t(e,r.slice(a.length),n,i)}:void 0}))}}));function p(t){return function(){for(var e=t.apply(this,arguments);\"function\"==typeof e;)e=e();return e}}}).call(this)}).call(this,t(\"_process\"),t(\"buffer\").Buffer)},{_process:278,assert:75,buffer:85,debug:303}],303:[function(t,e,r){(function(n){(function(){function i(){var t;try{t=r.storage.debug}catch(t){}return!t&&void 0!==n&&\"env\"in n&&(t=n.env.DEBUG),t}(r=e.exports=t(\"./debug\")).log=function(){return\"object\"==typeof console&&console.log&&Function.prototype.apply.call(console.log,console,arguments)},r.formatArgs=function(t){var e=this.useColors;if(t[0]=(e?\"%c\":\"\")+this.namespace+(e?\" %c\":\" \")+t[0]+(e?\"%c \":\" \")+\"+\"+r.humanize(this.diff),!e)return;var n=\"color: \"+this.color;t.splice(1,0,n,\"color: inherit\");var i=0,a=0;t[0].replace(/%[a-zA-Z%]/g,(function(t){\"%%\"!==t&&(i++,\"%c\"===t&&(a=i))})),t.splice(a,0,n)},r.save=function(t){try{null==t?r.storage.removeItem(\"debug\"):r.storage.debug=t}catch(t){}},r.load=i,r.useColors=function(){if(\"undefined\"!=typeof window&&window.process&&\"renderer\"===window.process.type)return!0;return\"undefined\"!=typeof document&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||\"undefined\"!=typeof window&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||\"undefined\"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\\/(\\d+)/)&&parseInt(RegExp.$1,10)>=31||\"undefined\"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\\/(\\d+)/)},r.storage=\"undefined\"!=typeof chrome&&void 0!==chrome.storage?chrome.storage.local:function(){try{return window.localStorage}catch(t){}}(),r.colors=[\"lightseagreen\",\"forestgreen\",\"goldenrod\",\"dodgerblue\",\"darkorchid\",\"crimson\"],r.formatters.j=function(t){try{return JSON.stringify(t)}catch(t){return\"[UnexpectedJSONParseError]: \"+t.message}},r.enable(i())}).call(this)}).call(this,t(\"_process\"))},{\"./debug\":304,_process:278}],304:[function(t,e,r){var n;function i(t){function e(){if(e.enabled){var t=e,i=+new Date,a=i-(n||i);t.diff=a,t.prev=n,t.curr=i,n=i;for(var o=new Array(arguments.length),s=0;s0)return function(t){if((t=String(t)).length>100)return;var e=/^((?:\\d+)?\\.?\\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|years?|yrs?|y)?$/i.exec(t);if(!e)return;var r=parseFloat(e[1]);switch((e[2]||\"ms\").toLowerCase()){case\"years\":case\"year\":case\"yrs\":case\"yr\":case\"y\":return 315576e5*r;case\"days\":case\"day\":case\"d\":return r*o;case\"hours\":case\"hour\":case\"hrs\":case\"hr\":case\"h\":return r*a;case\"minutes\":case\"minute\":case\"mins\":case\"min\":case\"m\":return r*i;case\"seconds\":case\"second\":case\"secs\":case\"sec\":case\"s\":return r*n;case\"milliseconds\":case\"millisecond\":case\"msecs\":case\"msec\":case\"ms\":return r;default:return}}(t);if(\"number\"===l&&!1===isNaN(t))return e.long?s(r=t,o,\"day\")||s(r,a,\"hour\")||s(r,i,\"minute\")||s(r,n,\"second\")||r+\" ms\":function(t){if(t>=o)return Math.round(t/o)+\"d\";if(t>=a)return Math.round(t/a)+\"h\";if(t>=i)return Math.round(t/i)+\"m\";if(t>=n)return Math.round(t/n)+\"s\";return t+\"ms\"}(t);throw new Error(\"val is not a non-empty string or a valid number. val=\"+JSON.stringify(t))}},{}],306:[function(t,e,r){\"use strict\";var n=t(\"parenthesis\");e.exports=function(t,e,r){if(null==t)throw Error(\"First argument should be a string\");if(null==e)throw Error(\"Separator should be a string or a RegExp\");r?(\"string\"==typeof r||Array.isArray(r))&&(r={ignore:r}):r={},null==r.escape&&(r.escape=!0),null==r.ignore?r.ignore=[\"[]\",\"()\",\"{}\",\"<>\",'\"\"',\"''\",\"``\",\"\\u201c\\u201d\",\"\\xab\\xbb\"]:(\"string\"==typeof r.ignore&&(r.ignore=[r.ignore]),r.ignore=r.ignore.map((function(t){return 1===t.length&&(t+=t),t})));var i=n.parse(t,{flat:!0,brackets:r.ignore}),a=i[0].split(e);if(r.escape){for(var o=[],s=0;s0;){e=c[c.length-1];var p=t[e];if(a[e]=0&&s[e].push(o[m])}a[e]=d}else{if(n[e]===r[e]){var g=[],v=[],y=0;for(d=l.length-1;d>=0;--d){var x=l[d];if(i[x]=!1,g.push(x),v.push(s[x]),y+=s[x].length,o[x]=f.length,x===e){l.length=d;break}}f.push(g);var b=new Array(y);for(d=0;d1&&(i=1),i<-1&&(i=-1),(t*n-e*r<0?-1:1)*Math.acos(i)};r.default=function(t){var e=t.px,r=t.py,l=t.cx,c=t.cy,u=t.rx,f=t.ry,h=t.xAxisRotation,p=void 0===h?0:h,d=t.largeArcFlag,m=void 0===d?0:d,g=t.sweepFlag,v=void 0===g?0:g,y=[];if(0===u||0===f)return[];var x=Math.sin(p*i/360),b=Math.cos(p*i/360),_=b*(e-l)/2+x*(r-c)/2,w=-x*(e-l)/2+b*(r-c)/2;if(0===_&&0===w)return[];u=Math.abs(u),f=Math.abs(f);var T=Math.pow(_,2)/Math.pow(u,2)+Math.pow(w,2)/Math.pow(f,2);T>1&&(u*=Math.sqrt(T),f*=Math.sqrt(T));var k=function(t,e,r,n,a,o,l,c,u,f,h,p){var d=Math.pow(a,2),m=Math.pow(o,2),g=Math.pow(h,2),v=Math.pow(p,2),y=d*m-d*v-m*g;y<0&&(y=0),y/=d*v+m*g;var x=(y=Math.sqrt(y)*(l===c?-1:1))*a/o*p,b=y*-o/a*h,_=f*x-u*b+(t+r)/2,w=u*x+f*b+(e+n)/2,T=(h-x)/a,k=(p-b)/o,A=(-h-x)/a,M=(-p-b)/o,S=s(1,0,T,k),E=s(T,k,A,M);return 0===c&&E>0&&(E-=i),1===c&&E<0&&(E+=i),[_,w,S,E]}(e,r,l,c,u,f,m,v,x,b,_,w),A=n(k,4),M=A[0],S=A[1],E=A[2],L=A[3],C=Math.abs(L)/(i/4);Math.abs(1-C)<1e-7&&(C=1);var P=Math.max(Math.ceil(C),1);L/=P;for(var I=0;Ie[2]&&(e[2]=c[u+0]),c[u+1]>e[3]&&(e[3]=c[u+1]);return e}},{\"abs-svg-path\":70,assert:75,\"is-svg-path\":238,\"normalize-svg-path\":310,\"parse-svg-path\":250}],310:[function(t,e,r){\"use strict\";e.exports=function(t){for(var e,r=[],o=0,s=0,l=0,c=0,u=null,f=null,h=0,p=0,d=0,m=t.length;d4?(o=g[g.length-4],s=g[g.length-3]):(o=h,s=p),r.push(g)}return r};var n=t(\"svg-arc-to-cubic-bezier\");function i(t,e,r,n){return[\"C\",t,e,r,n,r,n]}function a(t,e,r,n,i,a){return[\"C\",t/3+2/3*r,e/3+2/3*n,i/3+2/3*r,a/3+2/3*n,i,a]}},{\"svg-arc-to-cubic-bezier\":308}],311:[function(t,e,r){\"use strict\";var n,i=t(\"svg-path-bounds\"),a=t(\"parse-svg-path\"),o=t(\"draw-svg-path\"),s=t(\"is-svg-path\"),l=t(\"bitmap-sdf\"),c=document.createElement(\"canvas\"),u=c.getContext(\"2d\");e.exports=function(t,e){if(!s(t))throw Error(\"Argument should be valid svg path string\");e||(e={});var r,f;e.shape?(r=e.shape[0],f=e.shape[1]):(r=c.width=e.w||e.width||200,f=c.height=e.h||e.height||200);var h=Math.min(r,f),p=e.stroke||0,d=e.viewbox||e.viewBox||i(t),m=[r/(d[2]-d[0]),f/(d[3]-d[1])],g=Math.min(m[0]||0,m[1]||0)/2;u.fillStyle=\"black\",u.fillRect(0,0,r,f),u.fillStyle=\"white\",p&&(\"number\"!=typeof p&&(p=1),u.strokeStyle=p>0?\"white\":\"black\",u.lineWidth=Math.abs(p));if(u.translate(.5*r,.5*f),u.scale(g,g),function(){if(null!=n)return n;var t=document.createElement(\"canvas\").getContext(\"2d\");if(t.canvas.width=t.canvas.height=1,!window.Path2D)return n=!1;var e=new Path2D(\"M0,0h1v1h-1v-1Z\");t.fillStyle=\"black\",t.fill(e);var r=t.getImageData(0,0,1,1);return n=r&&r.data&&255===r.data[3]}()){var v=new Path2D(t);u.fill(v),p&&u.stroke(v)}else{var y=a(t);o(u,y),u.fill(),p&&u.stroke()}return u.setTransform(1,0,0,1,0,0),l(u,{cutoff:null!=e.cutoff?e.cutoff:.5,radius:null!=e.radius?e.radius:.5*h})}},{\"bitmap-sdf\":82,\"draw-svg-path\":126,\"is-svg-path\":238,\"parse-svg-path\":250,\"svg-path-bounds\":309}],312:[function(t,e,r){(function(e,n){(function(){var i=t(\"process/browser.js\").nextTick,a=Function.prototype.apply,o=Array.prototype.slice,s={},l=0;function c(t,e){this._id=t,this._clearFn=e}r.setTimeout=function(){return new c(a.call(setTimeout,window,arguments),clearTimeout)},r.setInterval=function(){return new c(a.call(setInterval,window,arguments),clearInterval)},r.clearTimeout=r.clearInterval=function(t){t.close()},c.prototype.unref=c.prototype.ref=function(){},c.prototype.close=function(){this._clearFn.call(window,this._id)},r.enroll=function(t,e){clearTimeout(t._idleTimeoutId),t._idleTimeout=e},r.unenroll=function(t){clearTimeout(t._idleTimeoutId),t._idleTimeout=-1},r._unrefActive=r.active=function(t){clearTimeout(t._idleTimeoutId);var e=t._idleTimeout;e>=0&&(t._idleTimeoutId=setTimeout((function(){t._onTimeout&&t._onTimeout()}),e))},r.setImmediate=\"function\"==typeof e?e:function(t){var e=l++,n=!(arguments.length<2)&&o.call(arguments,1);return s[e]=!0,i((function(){s[e]&&(n?t.apply(null,n):t.call(null),r.clearImmediate(e))})),e},r.clearImmediate=\"function\"==typeof n?n:function(t){delete s[t]}}).call(this)}).call(this,t(\"timers\").setImmediate,t(\"timers\").clearImmediate)},{\"process/browser.js\":278,timers:312}],313:[function(t,e,r){!function(t){var r=/^\\s+/,n=/\\s+$/,i=0,a=t.round,o=t.min,s=t.max,l=t.random;function c(e,l){if(l=l||{},(e=e||\"\")instanceof c)return e;if(!(this instanceof c))return new c(e,l);var u=function(e){var i={r:0,g:0,b:0},a=1,l=null,c=null,u=null,f=!1,h=!1;\"string\"==typeof e&&(e=function(t){t=t.replace(r,\"\").replace(n,\"\").toLowerCase();var e,i=!1;if(S[t])t=S[t],i=!0;else if(\"transparent\"==t)return{r:0,g:0,b:0,a:0,format:\"name\"};if(e=j.rgb.exec(t))return{r:e[1],g:e[2],b:e[3]};if(e=j.rgba.exec(t))return{r:e[1],g:e[2],b:e[3],a:e[4]};if(e=j.hsl.exec(t))return{h:e[1],s:e[2],l:e[3]};if(e=j.hsla.exec(t))return{h:e[1],s:e[2],l:e[3],a:e[4]};if(e=j.hsv.exec(t))return{h:e[1],s:e[2],v:e[3]};if(e=j.hsva.exec(t))return{h:e[1],s:e[2],v:e[3],a:e[4]};if(e=j.hex8.exec(t))return{r:I(e[1]),g:I(e[2]),b:I(e[3]),a:R(e[4]),format:i?\"name\":\"hex8\"};if(e=j.hex6.exec(t))return{r:I(e[1]),g:I(e[2]),b:I(e[3]),format:i?\"name\":\"hex\"};if(e=j.hex4.exec(t))return{r:I(e[1]+\"\"+e[1]),g:I(e[2]+\"\"+e[2]),b:I(e[3]+\"\"+e[3]),a:R(e[4]+\"\"+e[4]),format:i?\"name\":\"hex8\"};if(e=j.hex3.exec(t))return{r:I(e[1]+\"\"+e[1]),g:I(e[2]+\"\"+e[2]),b:I(e[3]+\"\"+e[3]),format:i?\"name\":\"hex\"};return!1}(e));\"object\"==typeof e&&(U(e.r)&&U(e.g)&&U(e.b)?(p=e.r,d=e.g,m=e.b,i={r:255*C(p,255),g:255*C(d,255),b:255*C(m,255)},f=!0,h=\"%\"===String(e.r).substr(-1)?\"prgb\":\"rgb\"):U(e.h)&&U(e.s)&&U(e.v)?(l=z(e.s),c=z(e.v),i=function(e,r,n){e=6*C(e,360),r=C(r,100),n=C(n,100);var i=t.floor(e),a=e-i,o=n*(1-r),s=n*(1-a*r),l=n*(1-(1-a)*r),c=i%6;return{r:255*[n,s,o,o,l,n][c],g:255*[l,n,n,s,o,o][c],b:255*[o,o,l,n,n,s][c]}}(e.h,l,c),f=!0,h=\"hsv\"):U(e.h)&&U(e.s)&&U(e.l)&&(l=z(e.s),u=z(e.l),i=function(t,e,r){var n,i,a;function o(t,e,r){return r<0&&(r+=1),r>1&&(r-=1),r<1/6?t+6*(e-t)*r:r<.5?e:r<2/3?t+(e-t)*(2/3-r)*6:t}if(t=C(t,360),e=C(e,100),r=C(r,100),0===e)n=i=a=r;else{var s=r<.5?r*(1+e):r+e-r*e,l=2*r-s;n=o(l,s,t+1/3),i=o(l,s,t),a=o(l,s,t-1/3)}return{r:255*n,g:255*i,b:255*a}}(e.h,l,u),f=!0,h=\"hsl\"),e.hasOwnProperty(\"a\")&&(a=e.a));var p,d,m;return a=L(a),{ok:f,format:e.format||h,r:o(255,s(i.r,0)),g:o(255,s(i.g,0)),b:o(255,s(i.b,0)),a:a}}(e);this._originalInput=e,this._r=u.r,this._g=u.g,this._b=u.b,this._a=u.a,this._roundA=a(100*this._a)/100,this._format=l.format||u.format,this._gradientType=l.gradientType,this._r<1&&(this._r=a(this._r)),this._g<1&&(this._g=a(this._g)),this._b<1&&(this._b=a(this._b)),this._ok=u.ok,this._tc_id=i++}function u(t,e,r){t=C(t,255),e=C(e,255),r=C(r,255);var n,i,a=s(t,e,r),l=o(t,e,r),c=(a+l)/2;if(a==l)n=i=0;else{var u=a-l;switch(i=c>.5?u/(2-a-l):u/(a+l),a){case t:n=(e-r)/u+(e>1)+720)%360;--e;)n.h=(n.h+i)%360,a.push(c(n));return a}function M(t,e){e=e||6;for(var r=c(t).toHsv(),n=r.h,i=r.s,a=r.v,o=[],s=1/e;e--;)o.push(c({h:n,s:i,v:a})),a=(a+s)%1;return o}c.prototype={isDark:function(){return this.getBrightness()<128},isLight:function(){return!this.isDark()},isValid:function(){return this._ok},getOriginalInput:function(){return this._originalInput},getFormat:function(){return this._format},getAlpha:function(){return this._a},getBrightness:function(){var t=this.toRgb();return(299*t.r+587*t.g+114*t.b)/1e3},getLuminance:function(){var e,r,n,i=this.toRgb();return e=i.r/255,r=i.g/255,n=i.b/255,.2126*(e<=.03928?e/12.92:t.pow((e+.055)/1.055,2.4))+.7152*(r<=.03928?r/12.92:t.pow((r+.055)/1.055,2.4))+.0722*(n<=.03928?n/12.92:t.pow((n+.055)/1.055,2.4))},setAlpha:function(t){return this._a=L(t),this._roundA=a(100*this._a)/100,this},toHsv:function(){var t=f(this._r,this._g,this._b);return{h:360*t.h,s:t.s,v:t.v,a:this._a}},toHsvString:function(){var t=f(this._r,this._g,this._b),e=a(360*t.h),r=a(100*t.s),n=a(100*t.v);return 1==this._a?\"hsv(\"+e+\", \"+r+\"%, \"+n+\"%)\":\"hsva(\"+e+\", \"+r+\"%, \"+n+\"%, \"+this._roundA+\")\"},toHsl:function(){var t=u(this._r,this._g,this._b);return{h:360*t.h,s:t.s,l:t.l,a:this._a}},toHslString:function(){var t=u(this._r,this._g,this._b),e=a(360*t.h),r=a(100*t.s),n=a(100*t.l);return 1==this._a?\"hsl(\"+e+\", \"+r+\"%, \"+n+\"%)\":\"hsla(\"+e+\", \"+r+\"%, \"+n+\"%, \"+this._roundA+\")\"},toHex:function(t){return h(this._r,this._g,this._b,t)},toHexString:function(t){return\"#\"+this.toHex(t)},toHex8:function(t){return function(t,e,r,n,i){var o=[O(a(t).toString(16)),O(a(e).toString(16)),O(a(r).toString(16)),O(D(n))];if(i&&o[0].charAt(0)==o[0].charAt(1)&&o[1].charAt(0)==o[1].charAt(1)&&o[2].charAt(0)==o[2].charAt(1)&&o[3].charAt(0)==o[3].charAt(1))return o[0].charAt(0)+o[1].charAt(0)+o[2].charAt(0)+o[3].charAt(0);return o.join(\"\")}(this._r,this._g,this._b,this._a,t)},toHex8String:function(t){return\"#\"+this.toHex8(t)},toRgb:function(){return{r:a(this._r),g:a(this._g),b:a(this._b),a:this._a}},toRgbString:function(){return 1==this._a?\"rgb(\"+a(this._r)+\", \"+a(this._g)+\", \"+a(this._b)+\")\":\"rgba(\"+a(this._r)+\", \"+a(this._g)+\", \"+a(this._b)+\", \"+this._roundA+\")\"},toPercentageRgb:function(){return{r:a(100*C(this._r,255))+\"%\",g:a(100*C(this._g,255))+\"%\",b:a(100*C(this._b,255))+\"%\",a:this._a}},toPercentageRgbString:function(){return 1==this._a?\"rgb(\"+a(100*C(this._r,255))+\"%, \"+a(100*C(this._g,255))+\"%, \"+a(100*C(this._b,255))+\"%)\":\"rgba(\"+a(100*C(this._r,255))+\"%, \"+a(100*C(this._g,255))+\"%, \"+a(100*C(this._b,255))+\"%, \"+this._roundA+\")\"},toName:function(){return 0===this._a?\"transparent\":!(this._a<1)&&(E[h(this._r,this._g,this._b,!0)]||!1)},toFilter:function(t){var e=\"#\"+p(this._r,this._g,this._b,this._a),r=e,n=this._gradientType?\"GradientType = 1, \":\"\";if(t){var i=c(t);r=\"#\"+p(i._r,i._g,i._b,i._a)}return\"progid:DXImageTransform.Microsoft.gradient(\"+n+\"startColorstr=\"+e+\",endColorstr=\"+r+\")\"},toString:function(t){var e=!!t;t=t||this._format;var r=!1,n=this._a<1&&this._a>=0;return e||!n||\"hex\"!==t&&\"hex6\"!==t&&\"hex3\"!==t&&\"hex4\"!==t&&\"hex8\"!==t&&\"name\"!==t?(\"rgb\"===t&&(r=this.toRgbString()),\"prgb\"===t&&(r=this.toPercentageRgbString()),\"hex\"!==t&&\"hex6\"!==t||(r=this.toHexString()),\"hex3\"===t&&(r=this.toHexString(!0)),\"hex4\"===t&&(r=this.toHex8String(!0)),\"hex8\"===t&&(r=this.toHex8String()),\"name\"===t&&(r=this.toName()),\"hsl\"===t&&(r=this.toHslString()),\"hsv\"===t&&(r=this.toHsvString()),r||this.toHexString()):\"name\"===t&&0===this._a?this.toName():this.toRgbString()},clone:function(){return c(this.toString())},_applyModification:function(t,e){var r=t.apply(null,[this].concat([].slice.call(e)));return this._r=r._r,this._g=r._g,this._b=r._b,this.setAlpha(r._a),this},lighten:function(){return this._applyModification(v,arguments)},brighten:function(){return this._applyModification(y,arguments)},darken:function(){return this._applyModification(x,arguments)},desaturate:function(){return this._applyModification(d,arguments)},saturate:function(){return this._applyModification(m,arguments)},greyscale:function(){return this._applyModification(g,arguments)},spin:function(){return this._applyModification(b,arguments)},_applyCombination:function(t,e){return t.apply(null,[this].concat([].slice.call(e)))},analogous:function(){return this._applyCombination(A,arguments)},complement:function(){return this._applyCombination(_,arguments)},monochromatic:function(){return this._applyCombination(M,arguments)},splitcomplement:function(){return this._applyCombination(k,arguments)},triad:function(){return this._applyCombination(w,arguments)},tetrad:function(){return this._applyCombination(T,arguments)}},c.fromRatio=function(t,e){if(\"object\"==typeof t){var r={};for(var n in t)t.hasOwnProperty(n)&&(r[n]=\"a\"===n?t[n]:z(t[n]));t=r}return c(t,e)},c.equals=function(t,e){return!(!t||!e)&&c(t).toRgbString()==c(e).toRgbString()},c.random=function(){return c.fromRatio({r:l(),g:l(),b:l()})},c.mix=function(t,e,r){r=0===r?0:r||50;var n=c(t).toRgb(),i=c(e).toRgb(),a=r/100;return c({r:(i.r-n.r)*a+n.r,g:(i.g-n.g)*a+n.g,b:(i.b-n.b)*a+n.b,a:(i.a-n.a)*a+n.a})},c.readability=function(e,r){var n=c(e),i=c(r);return(t.max(n.getLuminance(),i.getLuminance())+.05)/(t.min(n.getLuminance(),i.getLuminance())+.05)},c.isReadable=function(t,e,r){var n,i,a=c.readability(t,e);switch(i=!1,(n=function(t){var e,r;e=((t=t||{level:\"AA\",size:\"small\"}).level||\"AA\").toUpperCase(),r=(t.size||\"small\").toLowerCase(),\"AA\"!==e&&\"AAA\"!==e&&(e=\"AA\");\"small\"!==r&&\"large\"!==r&&(r=\"small\");return{level:e,size:r}}(r)).level+n.size){case\"AAsmall\":case\"AAAlarge\":i=a>=4.5;break;case\"AAlarge\":i=a>=3;break;case\"AAAsmall\":i=a>=7}return i},c.mostReadable=function(t,e,r){var n,i,a,o,s=null,l=0;i=(r=r||{}).includeFallbackColors,a=r.level,o=r.size;for(var u=0;ul&&(l=n,s=c(e[u]));return c.isReadable(t,s,{level:a,size:o})||!i?s:(r.includeFallbackColors=!1,c.mostReadable(t,[\"#fff\",\"#000\"],r))};var S=c.names={aliceblue:\"f0f8ff\",antiquewhite:\"faebd7\",aqua:\"0ff\",aquamarine:\"7fffd4\",azure:\"f0ffff\",beige:\"f5f5dc\",bisque:\"ffe4c4\",black:\"000\",blanchedalmond:\"ffebcd\",blue:\"00f\",blueviolet:\"8a2be2\",brown:\"a52a2a\",burlywood:\"deb887\",burntsienna:\"ea7e5d\",cadetblue:\"5f9ea0\",chartreuse:\"7fff00\",chocolate:\"d2691e\",coral:\"ff7f50\",cornflowerblue:\"6495ed\",cornsilk:\"fff8dc\",crimson:\"dc143c\",cyan:\"0ff\",darkblue:\"00008b\",darkcyan:\"008b8b\",darkgoldenrod:\"b8860b\",darkgray:\"a9a9a9\",darkgreen:\"006400\",darkgrey:\"a9a9a9\",darkkhaki:\"bdb76b\",darkmagenta:\"8b008b\",darkolivegreen:\"556b2f\",darkorange:\"ff8c00\",darkorchid:\"9932cc\",darkred:\"8b0000\",darksalmon:\"e9967a\",darkseagreen:\"8fbc8f\",darkslateblue:\"483d8b\",darkslategray:\"2f4f4f\",darkslategrey:\"2f4f4f\",darkturquoise:\"00ced1\",darkviolet:\"9400d3\",deeppink:\"ff1493\",deepskyblue:\"00bfff\",dimgray:\"696969\",dimgrey:\"696969\",dodgerblue:\"1e90ff\",firebrick:\"b22222\",floralwhite:\"fffaf0\",forestgreen:\"228b22\",fuchsia:\"f0f\",gainsboro:\"dcdcdc\",ghostwhite:\"f8f8ff\",gold:\"ffd700\",goldenrod:\"daa520\",gray:\"808080\",green:\"008000\",greenyellow:\"adff2f\",grey:\"808080\",honeydew:\"f0fff0\",hotpink:\"ff69b4\",indianred:\"cd5c5c\",indigo:\"4b0082\",ivory:\"fffff0\",khaki:\"f0e68c\",lavender:\"e6e6fa\",lavenderblush:\"fff0f5\",lawngreen:\"7cfc00\",lemonchiffon:\"fffacd\",lightblue:\"add8e6\",lightcoral:\"f08080\",lightcyan:\"e0ffff\",lightgoldenrodyellow:\"fafad2\",lightgray:\"d3d3d3\",lightgreen:\"90ee90\",lightgrey:\"d3d3d3\",lightpink:\"ffb6c1\",lightsalmon:\"ffa07a\",lightseagreen:\"20b2aa\",lightskyblue:\"87cefa\",lightslategray:\"789\",lightslategrey:\"789\",lightsteelblue:\"b0c4de\",lightyellow:\"ffffe0\",lime:\"0f0\",limegreen:\"32cd32\",linen:\"faf0e6\",magenta:\"f0f\",maroon:\"800000\",mediumaquamarine:\"66cdaa\",mediumblue:\"0000cd\",mediumorchid:\"ba55d3\",mediumpurple:\"9370db\",mediumseagreen:\"3cb371\",mediumslateblue:\"7b68ee\",mediumspringgreen:\"00fa9a\",mediumturquoise:\"48d1cc\",mediumvioletred:\"c71585\",midnightblue:\"191970\",mintcream:\"f5fffa\",mistyrose:\"ffe4e1\",moccasin:\"ffe4b5\",navajowhite:\"ffdead\",navy:\"000080\",oldlace:\"fdf5e6\",olive:\"808000\",olivedrab:\"6b8e23\",orange:\"ffa500\",orangered:\"ff4500\",orchid:\"da70d6\",palegoldenrod:\"eee8aa\",palegreen:\"98fb98\",paleturquoise:\"afeeee\",palevioletred:\"db7093\",papayawhip:\"ffefd5\",peachpuff:\"ffdab9\",peru:\"cd853f\",pink:\"ffc0cb\",plum:\"dda0dd\",powderblue:\"b0e0e6\",purple:\"800080\",rebeccapurple:\"663399\",red:\"f00\",rosybrown:\"bc8f8f\",royalblue:\"4169e1\",saddlebrown:\"8b4513\",salmon:\"fa8072\",sandybrown:\"f4a460\",seagreen:\"2e8b57\",seashell:\"fff5ee\",sienna:\"a0522d\",silver:\"c0c0c0\",skyblue:\"87ceeb\",slateblue:\"6a5acd\",slategray:\"708090\",slategrey:\"708090\",snow:\"fffafa\",springgreen:\"00ff7f\",steelblue:\"4682b4\",tan:\"d2b48c\",teal:\"008080\",thistle:\"d8bfd8\",tomato:\"ff6347\",turquoise:\"40e0d0\",violet:\"ee82ee\",wheat:\"f5deb3\",white:\"fff\",whitesmoke:\"f5f5f5\",yellow:\"ff0\",yellowgreen:\"9acd32\"},E=c.hexNames=function(t){var e={};for(var r in t)t.hasOwnProperty(r)&&(e[t[r]]=r);return e}(S);function L(t){return t=parseFloat(t),(isNaN(t)||t<0||t>1)&&(t=1),t}function C(e,r){(function(t){return\"string\"==typeof t&&-1!=t.indexOf(\".\")&&1===parseFloat(t)})(e)&&(e=\"100%\");var n=function(t){return\"string\"==typeof t&&-1!=t.indexOf(\"%\")}(e);return e=o(r,s(0,parseFloat(e))),n&&(e=parseInt(e*r,10)/100),t.abs(e-r)<1e-6?1:e%r/parseFloat(r)}function P(t){return o(1,s(0,t))}function I(t){return parseInt(t,16)}function O(t){return 1==t.length?\"0\"+t:\"\"+t}function z(t){return t<=1&&(t=100*t+\"%\"),t}function D(e){return t.round(255*parseFloat(e)).toString(16)}function R(t){return I(t)/255}var F,B,N,j=(B=\"[\\\\s|\\\\(]+(\"+(F=\"(?:[-\\\\+]?\\\\d*\\\\.\\\\d+%?)|(?:[-\\\\+]?\\\\d+%?)\")+\")[,|\\\\s]+(\"+F+\")[,|\\\\s]+(\"+F+\")\\\\s*\\\\)?\",N=\"[\\\\s|\\\\(]+(\"+F+\")[,|\\\\s]+(\"+F+\")[,|\\\\s]+(\"+F+\")[,|\\\\s]+(\"+F+\")\\\\s*\\\\)?\",{CSS_UNIT:new RegExp(F),rgb:new RegExp(\"rgb\"+B),rgba:new RegExp(\"rgba\"+N),hsl:new RegExp(\"hsl\"+B),hsla:new RegExp(\"hsla\"+N),hsv:new RegExp(\"hsv\"+B),hsva:new RegExp(\"hsva\"+N),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/});function U(t){return!!j.CSS_UNIT.exec(t)}void 0!==e&&e.exports?e.exports=c:window.tinycolor=c}(Math)},{}],314:[function(t,e,r){\"use strict\";e.exports=i,e.exports.float32=e.exports.float=i,e.exports.fract32=e.exports.fract=function(t,e){if(t.length){if(t instanceof Float32Array)return new Float32Array(t.length);e instanceof Float32Array||(e=i(t));for(var r=0,n=e.length;ro&&(o=t[0]),t[1]s&&(s=t[1])}function c(t){switch(t.type){case\"GeometryCollection\":t.geometries.forEach(c);break;case\"Point\":l(t.coordinates);break;case\"MultiPoint\":t.coordinates.forEach(l)}}for(e in t.arcs.forEach((function(t){for(var e,r=-1,l=t.length;++ro&&(o=e[0]),e[1]s&&(s=e[1])})),t.objects)c(t.objects[e]);return[i,a,o,s]}function i(t,e){var r=e.id,n=e.bbox,i=null==e.properties?{}:e.properties,o=a(t,e);return null==r&&null==n?{type:\"Feature\",properties:i,geometry:o}:null==n?{type:\"Feature\",id:r,properties:i,geometry:o}:{type:\"Feature\",id:r,bbox:n,properties:i,geometry:o}}function a(t,e){var n=r(t.transform),i=t.arcs;function a(t,e){e.length&&e.pop();for(var r=i[t<0?~t:t],a=0,o=r.length;a1)n=l(t,e,r);else for(i=0,n=new Array(a=t.arcs.length);i1)for(var a,s,c=1,u=l(i[0]);cu&&(s=i[0],i[0]=i[c],i[c]=s,u=a);return i})).filter((function(t){return t.length>0}))}}function u(t,e){for(var r=0,n=t.length;r>>1;t[i]=2))throw new Error(\"n must be \\u22652\");var r,i=(l=t.bbox||n(t))[0],a=l[1],o=l[2],s=l[3];e={scale:[o-i?(o-i)/(r-1):1,s-a?(s-a)/(r-1):1],translate:[i,a]}}var l,c,u=f(e),h=t.objects,p={};function d(t){return u(t)}function m(t){var e;switch(t.type){case\"GeometryCollection\":e={type:\"GeometryCollection\",geometries:t.geometries.map(m)};break;case\"Point\":e={type:\"Point\",coordinates:d(t.coordinates)};break;case\"MultiPoint\":e={type:\"MultiPoint\",coordinates:t.coordinates.map(d)};break;default:return t}return null!=t.id&&(e.id=t.id),null!=t.bbox&&(e.bbox=t.bbox),null!=t.properties&&(e.properties=t.properties),e}for(c in h)p[c]=m(h[c]);return{type:\"Topology\",bbox:l,transform:e,objects:p,arcs:t.arcs.map((function(t){var e,r=0,n=1,i=t.length,a=new Array(i);for(a[0]=u(t[0],0);++r\":(e.length>100&&(e=e.slice(0,99)+\"\\u2026\"),e=e.replace(i,(function(t){switch(t){case\"\\n\":return\"\\\\n\";case\"\\r\":return\"\\\\r\";case\"\\u2028\":return\"\\\\u2028\";case\"\\u2029\":return\"\\\\u2029\";default:throw new Error(\"Unexpected character\")}})))}},{\"./safe-to-string\":319}],321:[function(t,e,r){\"use strict\";var n=t(\"../value/is\"),i={object:!0,function:!0,undefined:!0};e.exports=function(t){return!!n(t)&&hasOwnProperty.call(i,typeof t)}},{\"../value/is\":327}],322:[function(t,e,r){\"use strict\";var n=t(\"../lib/resolve-exception\"),i=t(\"./is\");e.exports=function(t){return i(t)?t:n(t,\"%v is not a plain function\",arguments[1])}},{\"../lib/resolve-exception\":318,\"./is\":323}],323:[function(t,e,r){\"use strict\";var n=t(\"../function/is\"),i=/^\\s*class[\\s{/}]/,a=Function.prototype.toString;e.exports=function(t){return!!n(t)&&!i.test(a.call(t))}},{\"../function/is\":317}],324:[function(t,e,r){\"use strict\";var n=t(\"../object/is\");e.exports=function(t){if(!n(t))return!1;try{return!!t.constructor&&t.constructor.prototype===t}catch(t){return!1}}},{\"../object/is\":321}],325:[function(t,e,r){\"use strict\";var n=t(\"../value/is\"),i=t(\"../object/is\"),a=Object.prototype.toString;e.exports=function(t){if(!n(t))return null;if(i(t)){var e=t.toString;if(\"function\"!=typeof e)return null;if(e===a)return null}try{return\"\"+t}catch(t){return null}}},{\"../object/is\":321,\"../value/is\":327}],326:[function(t,e,r){\"use strict\";var n=t(\"../lib/resolve-exception\"),i=t(\"./is\");e.exports=function(t){return i(t)?t:n(t,\"Cannot use %v\",arguments[1])}},{\"../lib/resolve-exception\":318,\"./is\":327}],327:[function(t,e,r){\"use strict\";e.exports=function(t){return null!=t}},{}],328:[function(t,e,r){(function(e){(function(){\"use strict\";var n=t(\"bit-twiddle\"),i=t(\"dup\"),a=t(\"buffer\").Buffer;e.__TYPEDARRAY_POOL||(e.__TYPEDARRAY_POOL={UINT8:i([32,0]),UINT16:i([32,0]),UINT32:i([32,0]),BIGUINT64:i([32,0]),INT8:i([32,0]),INT16:i([32,0]),INT32:i([32,0]),BIGINT64:i([32,0]),FLOAT:i([32,0]),DOUBLE:i([32,0]),DATA:i([32,0]),UINT8C:i([32,0]),BUFFER:i([32,0])});var o=\"undefined\"!=typeof Uint8ClampedArray,s=\"undefined\"!=typeof BigUint64Array,l=\"undefined\"!=typeof BigInt64Array,c=e.__TYPEDARRAY_POOL;c.UINT8C||(c.UINT8C=i([32,0])),c.BIGUINT64||(c.BIGUINT64=i([32,0])),c.BIGINT64||(c.BIGINT64=i([32,0])),c.BUFFER||(c.BUFFER=i([32,0]));var u=c.DATA,f=c.BUFFER;function h(t){if(t){var e=t.length||t.byteLength,r=n.log2(e);u[r].push(t)}}function p(t){t=n.nextPow2(t);var e=n.log2(t),r=u[e];return r.length>0?r.pop():new ArrayBuffer(t)}function d(t){return new Uint8Array(p(t),0,t)}function m(t){return new Uint16Array(p(2*t),0,t)}function g(t){return new Uint32Array(p(4*t),0,t)}function v(t){return new Int8Array(p(t),0,t)}function y(t){return new Int16Array(p(2*t),0,t)}function x(t){return new Int32Array(p(4*t),0,t)}function b(t){return new Float32Array(p(4*t),0,t)}function _(t){return new Float64Array(p(8*t),0,t)}function w(t){return o?new Uint8ClampedArray(p(t),0,t):d(t)}function T(t){return s?new BigUint64Array(p(8*t),0,t):null}function k(t){return l?new BigInt64Array(p(8*t),0,t):null}function A(t){return new DataView(p(t),0,t)}function M(t){t=n.nextPow2(t);var e=n.log2(t),r=f[e];return r.length>0?r.pop():new a(t)}r.free=function(t){if(a.isBuffer(t))f[n.log2(t.length)].push(t);else{if(\"[object ArrayBuffer]\"!==Object.prototype.toString.call(t)&&(t=t.buffer),!t)return;var e=t.length||t.byteLength,r=0|n.log2(e);u[r].push(t)}},r.freeUint8=r.freeUint16=r.freeUint32=r.freeBigUint64=r.freeInt8=r.freeInt16=r.freeInt32=r.freeBigInt64=r.freeFloat32=r.freeFloat=r.freeFloat64=r.freeDouble=r.freeUint8Clamped=r.freeDataView=function(t){h(t.buffer)},r.freeArrayBuffer=h,r.freeBuffer=function(t){f[n.log2(t.length)].push(t)},r.malloc=function(t,e){if(void 0===e||\"arraybuffer\"===e)return p(t);switch(e){case\"uint8\":return d(t);case\"uint16\":return m(t);case\"uint32\":return g(t);case\"int8\":return v(t);case\"int16\":return y(t);case\"int32\":return x(t);case\"float\":case\"float32\":return b(t);case\"double\":case\"float64\":return _(t);case\"uint8_clamped\":return w(t);case\"bigint64\":return k(t);case\"biguint64\":return T(t);case\"buffer\":return M(t);case\"data\":case\"dataview\":return A(t);default:return null}return null},r.mallocArrayBuffer=p,r.mallocUint8=d,r.mallocUint16=m,r.mallocUint32=g,r.mallocInt8=v,r.mallocInt16=y,r.mallocInt32=x,r.mallocFloat32=r.mallocFloat=b,r.mallocFloat64=r.mallocDouble=_,r.mallocUint8Clamped=w,r.mallocBigUint64=T,r.mallocBigInt64=k,r.mallocDataView=A,r.mallocBuffer=M,r.clearCache=function(){for(var t=0;t<32;++t)c.UINT8[t].length=0,c.UINT16[t].length=0,c.UINT32[t].length=0,c.INT8[t].length=0,c.INT16[t].length=0,c.INT32[t].length=0,c.FLOAT[t].length=0,c.DOUBLE[t].length=0,c.BIGUINT64[t].length=0,c.BIGINT64[t].length=0,c.UINT8C[t].length=0,u[t].length=0,f[t].length=0}}).call(this)}).call(this,\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{})},{\"bit-twiddle\":81,buffer:85,dup:128}],329:[function(t,e,r){var n=/[\\'\\\"]/;e.exports=function(t){return t?(n.test(t.charAt(0))&&(t=t.substr(1)),n.test(t.charAt(t.length-1))&&(t=t.substr(0,t.length-1)),t):\"\"}},{}],330:[function(t,e,r){\"use strict\";e.exports=function(t,e,r){Array.isArray(r)||(r=[].slice.call(arguments,2));for(var n=0,i=r.length;n2111)throw e.replace(/\\{0\\}/,this.local.name);return t},toMonthIndex:function(t,e,r){var i=this.intercalaryMonth(t);if(r&&e!==i||e<1||e>12)throw n.local.invalidMonth.replace(/\\{0\\}/,this.local.name);return i?!r&&e<=i?e-1:e:e-1},toChineseMonth:function(t,e){t.year&&(e=(t=t.year()).month());var r=this.intercalaryMonth(t);if(e<0||e>(r?12:11))throw n.local.invalidMonth.replace(/\\{0\\}/,this.local.name);return r?e>13},isIntercalaryMonth:function(t,e){t.year&&(e=(t=t.year()).month());var r=this.intercalaryMonth(t);return!!r&&r===e},leapYear:function(t){return 0!==this.intercalaryMonth(t)},weekOfYear:function(t,e,r){var i,o=this._validateYear(t,n.local.invalidyear),s=h[o-h[0]],l=s>>9&4095,c=s>>5&15,u=31&s;(i=a.newDate(l,c,u)).add(4-(i.dayOfWeek()||7),\"d\");var f=this.toJD(t,e,r)-i.toJD();return 1+Math.floor(f/7)},monthsInYear:function(t){return this.leapYear(t)?13:12},daysInMonth:function(t,e){t.year&&(e=t.month(),t=t.year()),t=this._validateYear(t);var r=f[t-f[0]];if(e>(r>>13?12:11))throw n.local.invalidMonth.replace(/\\{0\\}/,this.local.name);return r&1<<12-e?30:29},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var i=this._validate(t,s,r,n.local.invalidDate);t=this._validateYear(i.year()),e=i.month(),r=i.day();var o=this.isIntercalaryMonth(t,e),s=this.toChineseMonth(t,e),l=function(t,e,r,n,i){var a,o,s;if(\"object\"==typeof t)o=t,a=e||{};else{var l;if(!(\"number\"==typeof t&&t>=1888&&t<=2111))throw new Error(\"Lunar year outside range 1888-2111\");if(!(\"number\"==typeof e&&e>=1&&e<=12))throw new Error(\"Lunar month outside range 1 - 12\");if(!(\"number\"==typeof r&&r>=1&&r<=30))throw new Error(\"Lunar day outside range 1 - 30\");\"object\"==typeof n?(l=!1,a=n):(l=!!n,a=i||{}),o={year:t,month:e,day:r,isIntercalary:l}}s=o.day-1;var c,u=f[o.year-f[0]],p=u>>13;c=p&&(o.month>p||o.isIntercalary)?o.month:o.month-1;for(var d=0;d>9&4095,(m>>5&15)-1,(31&m)+s);return a.year=g.getFullYear(),a.month=1+g.getMonth(),a.day=g.getDate(),a}(t,s,r,o);return a.toJD(l.year,l.month,l.day)},fromJD:function(t){var e=a.fromJD(t),r=function(t,e,r,n){var i,a;if(\"object\"==typeof t)i=t,a=e||{};else{if(!(\"number\"==typeof t&&t>=1888&&t<=2111))throw new Error(\"Solar year outside range 1888-2111\");if(!(\"number\"==typeof e&&e>=1&&e<=12))throw new Error(\"Solar month outside range 1 - 12\");if(!(\"number\"==typeof r&&r>=1&&r<=31))throw new Error(\"Solar day outside range 1 - 31\");i={year:t,month:e,day:r},a=n||{}}var o=h[i.year-h[0]],s=i.year<<9|i.month<<5|i.day;a.year=s>=o?i.year:i.year-1,o=h[a.year-h[0]];var l,c=new Date(o>>9&4095,(o>>5&15)-1,31&o),u=new Date(i.year,i.month-1,i.day);l=Math.round((u-c)/864e5);var p,d=f[a.year-f[0]];for(p=0;p<13;p++){var m=d&1<<12-p?30:29;if(l>13;!g||p=2&&n<=6},extraInfo:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return{century:o[Math.floor((i.year()-1)/100)+1]||\"\"}},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return t=i.year()+(i.year()<0?1:0),e=i.month(),(r=i.day())+(e>1?16:0)+(e>2?32*(e-2):0)+400*(t-1)+this.jdEpoch-1},fromJD:function(t){t=Math.floor(t+.5)-Math.floor(this.jdEpoch)-1;var e=Math.floor(t/400)+1;t-=400*(e-1),t+=t>15?16:0;var r=Math.floor(t/32)+1,n=t-32*(r-1)+1;return this.newDate(e<=0?e-1:e,r,n)}});var o={20:\"Fruitbat\",21:\"Anchovy\"};n.calendars.discworld=a},{\"../main\":347,\"object-assign\":247}],336:[function(t,e,r){var n=t(\"../main\"),i=t(\"object-assign\");function a(t){this.local=this.regionalOptions[t||\"\"]||this.regionalOptions[\"\"]}a.prototype=new n.baseCalendar,i(a.prototype,{name:\"Ethiopian\",jdEpoch:1724220.5,daysPerMonth:[30,30,30,30,30,30,30,30,30,30,30,30,5],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{\"\":{name:\"Ethiopian\",epochs:[\"BEE\",\"EE\"],monthNames:[\"Meskerem\",\"Tikemet\",\"Hidar\",\"Tahesas\",\"Tir\",\"Yekatit\",\"Megabit\",\"Miazia\",\"Genbot\",\"Sene\",\"Hamle\",\"Nehase\",\"Pagume\"],monthNamesShort:[\"Mes\",\"Tik\",\"Hid\",\"Tah\",\"Tir\",\"Yek\",\"Meg\",\"Mia\",\"Gen\",\"Sen\",\"Ham\",\"Neh\",\"Pag\"],dayNames:[\"Ehud\",\"Segno\",\"Maksegno\",\"Irob\",\"Hamus\",\"Arb\",\"Kidame\"],dayNamesShort:[\"Ehu\",\"Seg\",\"Mak\",\"Iro\",\"Ham\",\"Arb\",\"Kid\"],dayNamesMin:[\"Eh\",\"Se\",\"Ma\",\"Ir\",\"Ha\",\"Ar\",\"Ki\"],digits:null,dateFormat:\"dd/mm/yyyy\",firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return(t=e.year()+(e.year()<0?1:0))%4==3||t%4==-1},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear||n.regionalOptions[\"\"].invalidYear),13},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),\"d\"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(13===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return(t=i.year())<0&&t++,i.day()+30*(i.month()-1)+365*(t-1)+Math.floor(t/4)+this.jdEpoch-1},fromJD:function(t){var e=Math.floor(t)+.5-this.jdEpoch,r=Math.floor((e-Math.floor((e+366)/1461))/365)+1;r<=0&&r--,e=Math.floor(t)+.5-this.newDate(r,1,1).toJD();var n=Math.floor(e/30)+1,i=e-30*(n-1)+1;return this.newDate(r,n,i)}}),n.calendars.ethiopian=a},{\"../main\":347,\"object-assign\":247}],337:[function(t,e,r){var n=t(\"../main\"),i=t(\"object-assign\");function a(t){this.local=this.regionalOptions[t||\"\"]||this.regionalOptions[\"\"]}function o(t,e){return t-e*Math.floor(t/e)}a.prototype=new n.baseCalendar,i(a.prototype,{name:\"Hebrew\",jdEpoch:347995.5,daysPerMonth:[30,29,30,29,30,29,30,29,30,29,30,29,29],hasYearZero:!1,minMonth:1,firstMonth:7,minDay:1,regionalOptions:{\"\":{name:\"Hebrew\",epochs:[\"BAM\",\"AM\"],monthNames:[\"Nisan\",\"Iyar\",\"Sivan\",\"Tammuz\",\"Av\",\"Elul\",\"Tishrei\",\"Cheshvan\",\"Kislev\",\"Tevet\",\"Shevat\",\"Adar\",\"Adar II\"],monthNamesShort:[\"Nis\",\"Iya\",\"Siv\",\"Tam\",\"Av\",\"Elu\",\"Tis\",\"Che\",\"Kis\",\"Tev\",\"She\",\"Ada\",\"Ad2\"],dayNames:[\"Yom Rishon\",\"Yom Sheni\",\"Yom Shlishi\",\"Yom Revi'i\",\"Yom Chamishi\",\"Yom Shishi\",\"Yom Shabbat\"],dayNamesShort:[\"Ris\",\"She\",\"Shl\",\"Rev\",\"Cha\",\"Shi\",\"Sha\"],dayNamesMin:[\"Ri\",\"She\",\"Shl\",\"Re\",\"Ch\",\"Shi\",\"Sha\"],digits:null,dateFormat:\"dd/mm/yyyy\",firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return this._leapYear(e.year())},_leapYear:function(t){return o(7*(t=t<0?t+1:t)+1,19)<7},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear),this._leapYear(t.year?t.year():t)?13:12},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),\"d\"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(t){return t=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear).year(),this.toJD(-1===t?1:t+1,7,1)-this.toJD(t,7,1)},daysInMonth:function(t,e){return t.year&&(e=t.month(),t=t.year()),this._validate(t,e,this.minDay,n.local.invalidMonth),12===e&&this.leapYear(t)||8===e&&5===o(this.daysInYear(t),10)?30:9===e&&3===o(this.daysInYear(t),10)?29:this.daysPerMonth[e-1]},weekDay:function(t,e,r){return 6!==this.dayOfWeek(t,e,r)},extraInfo:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return{yearType:(this.leapYear(i)?\"embolismic\":\"common\")+\" \"+[\"deficient\",\"regular\",\"complete\"][this.daysInYear(i)%10-3]}},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);t=i.year(),e=i.month(),r=i.day();var a=t<=0?t+1:t,o=this.jdEpoch+this._delay1(a)+this._delay2(a)+r+1;if(e<7){for(var s=7;s<=this.monthsInYear(t);s++)o+=this.daysInMonth(t,s);for(s=1;s=this.toJD(-1===e?1:e+1,7,1);)e++;for(var r=tthis.toJD(e,r,this.daysInMonth(e,r));)r++;var n=t-this.toJD(e,r,1)+1;return this.newDate(e,r,n)}}),n.calendars.hebrew=a},{\"../main\":347,\"object-assign\":247}],338:[function(t,e,r){var n=t(\"../main\"),i=t(\"object-assign\");function a(t){this.local=this.regionalOptions[t||\"\"]||this.regionalOptions[\"\"]}a.prototype=new n.baseCalendar,i(a.prototype,{name:\"Islamic\",jdEpoch:1948439.5,daysPerMonth:[30,29,30,29,30,29,30,29,30,29,30,29],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{\"\":{name:\"Islamic\",epochs:[\"BH\",\"AH\"],monthNames:[\"Muharram\",\"Safar\",\"Rabi' al-awwal\",\"Rabi' al-thani\",\"Jumada al-awwal\",\"Jumada al-thani\",\"Rajab\",\"Sha'aban\",\"Ramadan\",\"Shawwal\",\"Dhu al-Qi'dah\",\"Dhu al-Hijjah\"],monthNamesShort:[\"Muh\",\"Saf\",\"Rab1\",\"Rab2\",\"Jum1\",\"Jum2\",\"Raj\",\"Sha'\",\"Ram\",\"Shaw\",\"DhuQ\",\"DhuH\"],dayNames:[\"Yawm al-ahad\",\"Yawm al-ithnayn\",\"Yawm ath-thulaathaa'\",\"Yawm al-arbi'aa'\",\"Yawm al-kham\\u012bs\",\"Yawm al-jum'a\",\"Yawm as-sabt\"],dayNamesShort:[\"Aha\",\"Ith\",\"Thu\",\"Arb\",\"Kha\",\"Jum\",\"Sab\"],dayNamesMin:[\"Ah\",\"It\",\"Th\",\"Ar\",\"Kh\",\"Ju\",\"Sa\"],digits:null,dateFormat:\"yyyy/mm/dd\",firstDay:6,isRTL:!1}},leapYear:function(t){return(11*this._validate(t,this.minMonth,this.minDay,n.local.invalidYear).year()+14)%30<11},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),\"d\"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(t){return this.leapYear(t)?355:354},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(12===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return 5!==this.dayOfWeek(t,e,r)},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return t=i.year(),e=i.month(),t=t<=0?t+1:t,(r=i.day())+Math.ceil(29.5*(e-1))+354*(t-1)+Math.floor((3+11*t)/30)+this.jdEpoch-1},fromJD:function(t){t=Math.floor(t)+.5;var e=Math.floor((30*(t-this.jdEpoch)+10646)/10631);e=e<=0?e-1:e;var r=Math.min(12,Math.ceil((t-29-this.toJD(e,1,1))/29.5)+1),n=t-this.toJD(e,r,1)+1;return this.newDate(e,r,n)}}),n.calendars.islamic=a},{\"../main\":347,\"object-assign\":247}],339:[function(t,e,r){var n=t(\"../main\"),i=t(\"object-assign\");function a(t){this.local=this.regionalOptions[t||\"\"]||this.regionalOptions[\"\"]}a.prototype=new n.baseCalendar,i(a.prototype,{name:\"Julian\",jdEpoch:1721423.5,daysPerMonth:[31,28,31,30,31,30,31,31,30,31,30,31],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{\"\":{name:\"Julian\",epochs:[\"BC\",\"AD\"],monthNames:[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"],monthNamesShort:[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"],dayNames:[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"],dayNamesShort:[\"Sun\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"],dayNamesMin:[\"Su\",\"Mo\",\"Tu\",\"We\",\"Th\",\"Fr\",\"Sa\"],digits:null,dateFormat:\"mm/dd/yyyy\",firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return(t=e.year()<0?e.year()+1:e.year())%4==0},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(4-(n.dayOfWeek()||7),\"d\"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(2===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return t=i.year(),e=i.month(),r=i.day(),t<0&&t++,e<=2&&(t--,e+=12),Math.floor(365.25*(t+4716))+Math.floor(30.6001*(e+1))+r-1524.5},fromJD:function(t){var e=Math.floor(t+.5)+1524,r=Math.floor((e-122.1)/365.25),n=Math.floor(365.25*r),i=Math.floor((e-n)/30.6001),a=i-Math.floor(i<14?1:13),o=r-Math.floor(a>2?4716:4715),s=e-n-Math.floor(30.6001*i);return o<=0&&o--,this.newDate(o,a,s)}}),n.calendars.julian=a},{\"../main\":347,\"object-assign\":247}],340:[function(t,e,r){var n=t(\"../main\"),i=t(\"object-assign\");function a(t){this.local=this.regionalOptions[t||\"\"]||this.regionalOptions[\"\"]}function o(t,e){return t-e*Math.floor(t/e)}function s(t,e){return o(t-1,e)+1}a.prototype=new n.baseCalendar,i(a.prototype,{name:\"Mayan\",jdEpoch:584282.5,hasYearZero:!0,minMonth:0,firstMonth:0,minDay:0,regionalOptions:{\"\":{name:\"Mayan\",epochs:[\"\",\"\"],monthNames:[\"0\",\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"8\",\"9\",\"10\",\"11\",\"12\",\"13\",\"14\",\"15\",\"16\",\"17\"],monthNamesShort:[\"0\",\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"8\",\"9\",\"10\",\"11\",\"12\",\"13\",\"14\",\"15\",\"16\",\"17\"],dayNames:[\"0\",\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"8\",\"9\",\"10\",\"11\",\"12\",\"13\",\"14\",\"15\",\"16\",\"17\",\"18\",\"19\"],dayNamesShort:[\"0\",\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"8\",\"9\",\"10\",\"11\",\"12\",\"13\",\"14\",\"15\",\"16\",\"17\",\"18\",\"19\"],dayNamesMin:[\"0\",\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"8\",\"9\",\"10\",\"11\",\"12\",\"13\",\"14\",\"15\",\"16\",\"17\",\"18\",\"19\"],digits:null,dateFormat:\"YYYY.m.d\",firstDay:0,isRTL:!1,haabMonths:[\"Pop\",\"Uo\",\"Zip\",\"Zotz\",\"Tzec\",\"Xul\",\"Yaxkin\",\"Mol\",\"Chen\",\"Yax\",\"Zac\",\"Ceh\",\"Mac\",\"Kankin\",\"Muan\",\"Pax\",\"Kayab\",\"Cumku\",\"Uayeb\"],tzolkinMonths:[\"Imix\",\"Ik\",\"Akbal\",\"Kan\",\"Chicchan\",\"Cimi\",\"Manik\",\"Lamat\",\"Muluc\",\"Oc\",\"Chuen\",\"Eb\",\"Ben\",\"Ix\",\"Men\",\"Cib\",\"Caban\",\"Etznab\",\"Cauac\",\"Ahau\"]}},leapYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear),!1},formatYear:function(t){t=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear).year();var e=Math.floor(t/400);return t%=400,t+=t<0?400:0,e+\".\"+Math.floor(t/20)+\".\"+t%20},forYear:function(t){if((t=t.split(\".\")).length<3)throw\"Invalid Mayan year\";for(var e=0,r=0;r19||r>0&&n<0)throw\"Invalid Mayan year\";e=20*e+n}return e},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear),18},weekOfYear:function(t,e,r){return this._validate(t,e,r,n.local.invalidDate),0},daysInYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear),360},daysInMonth:function(t,e){return this._validate(t,e,this.minDay,n.local.invalidMonth),20},daysInWeek:function(){return 5},dayOfWeek:function(t,e,r){return this._validate(t,e,r,n.local.invalidDate).day()},weekDay:function(t,e,r){return this._validate(t,e,r,n.local.invalidDate),!0},extraInfo:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate).toJD(),a=this._toHaab(i),o=this._toTzolkin(i);return{haabMonthName:this.local.haabMonths[a[0]-1],haabMonth:a[0],haabDay:a[1],tzolkinDayName:this.local.tzolkinMonths[o[0]-1],tzolkinDay:o[0],tzolkinTrecena:o[1]}},_toHaab:function(t){var e=o((t-=this.jdEpoch)+8+340,365);return[Math.floor(e/20)+1,o(e,20)]},_toTzolkin:function(t){return[s((t-=this.jdEpoch)+20,20),s(t+4,13)]},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return i.day()+20*i.month()+360*i.year()+this.jdEpoch},fromJD:function(t){t=Math.floor(t)+.5-this.jdEpoch;var e=Math.floor(t/360);t%=360,t+=t<0?360:0;var r=Math.floor(t/20),n=t%20;return this.newDate(e,r,n)}}),n.calendars.mayan=a},{\"../main\":347,\"object-assign\":247}],341:[function(t,e,r){var n=t(\"../main\"),i=t(\"object-assign\");function a(t){this.local=this.regionalOptions[t||\"\"]||this.regionalOptions[\"\"]}a.prototype=new n.baseCalendar;var o=n.instance(\"gregorian\");i(a.prototype,{name:\"Nanakshahi\",jdEpoch:2257673.5,daysPerMonth:[31,31,31,31,31,30,30,30,30,30,30,30],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{\"\":{name:\"Nanakshahi\",epochs:[\"BN\",\"AN\"],monthNames:[\"Chet\",\"Vaisakh\",\"Jeth\",\"Harh\",\"Sawan\",\"Bhadon\",\"Assu\",\"Katak\",\"Maghar\",\"Poh\",\"Magh\",\"Phagun\"],monthNamesShort:[\"Che\",\"Vai\",\"Jet\",\"Har\",\"Saw\",\"Bha\",\"Ass\",\"Kat\",\"Mgr\",\"Poh\",\"Mgh\",\"Pha\"],dayNames:[\"Somvaar\",\"Mangalvar\",\"Budhvaar\",\"Veervaar\",\"Shukarvaar\",\"Sanicharvaar\",\"Etvaar\"],dayNamesShort:[\"Som\",\"Mangal\",\"Budh\",\"Veer\",\"Shukar\",\"Sanichar\",\"Et\"],dayNamesMin:[\"So\",\"Ma\",\"Bu\",\"Ve\",\"Sh\",\"Sa\",\"Et\"],digits:null,dateFormat:\"dd-mm-yyyy\",firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear||n.regionalOptions[\"\"].invalidYear);return o.leapYear(e.year()+(e.year()<1?1:0)+1469)},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(1-(n.dayOfWeek()||7),\"d\"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(12===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidMonth);(t=i.year())<0&&t++;for(var a=i.day(),s=1;s=this.toJD(e+1,1,1);)e++;for(var r=t-Math.floor(this.toJD(e,1,1)+.5)+1,n=1;r>this.daysInMonth(e,n);)r-=this.daysInMonth(e,n),n++;return this.newDate(e,n,r)}}),n.calendars.nanakshahi=a},{\"../main\":347,\"object-assign\":247}],342:[function(t,e,r){var n=t(\"../main\"),i=t(\"object-assign\");function a(t){this.local=this.regionalOptions[t||\"\"]||this.regionalOptions[\"\"]}a.prototype=new n.baseCalendar,i(a.prototype,{name:\"Nepali\",jdEpoch:1700709.5,daysPerMonth:[31,31,32,32,31,30,30,29,30,29,30,30],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,daysPerYear:365,regionalOptions:{\"\":{name:\"Nepali\",epochs:[\"BBS\",\"ABS\"],monthNames:[\"Baisakh\",\"Jestha\",\"Ashadh\",\"Shrawan\",\"Bhadra\",\"Ashwin\",\"Kartik\",\"Mangsir\",\"Paush\",\"Mangh\",\"Falgun\",\"Chaitra\"],monthNamesShort:[\"Bai\",\"Je\",\"As\",\"Shra\",\"Bha\",\"Ash\",\"Kar\",\"Mang\",\"Pau\",\"Ma\",\"Fal\",\"Chai\"],dayNames:[\"Aaitabaar\",\"Sombaar\",\"Manglbaar\",\"Budhabaar\",\"Bihibaar\",\"Shukrabaar\",\"Shanibaar\"],dayNamesShort:[\"Aaita\",\"Som\",\"Mangl\",\"Budha\",\"Bihi\",\"Shukra\",\"Shani\"],dayNamesMin:[\"Aai\",\"So\",\"Man\",\"Bu\",\"Bi\",\"Shu\",\"Sha\"],digits:null,dateFormat:\"dd/mm/yyyy\",firstDay:1,isRTL:!1}},leapYear:function(t){return this.daysInYear(t)!==this.daysPerYear},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),\"d\"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(t){if(t=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear).year(),void 0===this.NEPALI_CALENDAR_DATA[t])return this.daysPerYear;for(var e=0,r=this.minMonth;r<=12;r++)e+=this.NEPALI_CALENDAR_DATA[t][r];return e},daysInMonth:function(t,e){return t.year&&(e=t.month(),t=t.year()),this._validate(t,e,this.minDay,n.local.invalidMonth),void 0===this.NEPALI_CALENDAR_DATA[t]?this.daysPerMonth[e-1]:this.NEPALI_CALENDAR_DATA[t][e]},weekDay:function(t,e,r){return 6!==this.dayOfWeek(t,e,r)},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);t=i.year(),e=i.month(),r=i.day();var a=n.instance(),o=0,s=e,l=t;this._createMissingCalendarData(t);var c=t-(s>9||9===s&&r>=this.NEPALI_CALENDAR_DATA[l][0]?56:57);for(9!==e&&(o=r,s--);9!==s;)s<=0&&(s=12,l--),o+=this.NEPALI_CALENDAR_DATA[l][s],s--;return 9===e?(o+=r-this.NEPALI_CALENDAR_DATA[l][0])<0&&(o+=a.daysInYear(c)):o+=this.NEPALI_CALENDAR_DATA[l][9]-this.NEPALI_CALENDAR_DATA[l][0],a.newDate(c,1,1).add(o,\"d\").toJD()},fromJD:function(t){var e=n.instance().fromJD(t),r=e.year(),i=e.dayOfYear(),a=r+56;this._createMissingCalendarData(a);for(var o=9,s=this.NEPALI_CALENDAR_DATA[a][0],l=this.NEPALI_CALENDAR_DATA[a][o]-s+1;i>l;)++o>12&&(o=1,a++),l+=this.NEPALI_CALENDAR_DATA[a][o];var c=this.NEPALI_CALENDAR_DATA[a][o]-(l-i);return this.newDate(a,o,c)},_createMissingCalendarData:function(t){var e=this.daysPerMonth.slice(0);e.unshift(17);for(var r=t-1;r0?474:473))%2820+474+38)%2816<682},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-(n.dayOfWeek()+1)%7,\"d\"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(12===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return 5!==this.dayOfWeek(t,e,r)},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);t=i.year(),e=i.month(),r=i.day();var a=t-(t>=0?474:473),s=474+o(a,2820);return r+(e<=7?31*(e-1):30*(e-1)+6)+Math.floor((682*s-110)/2816)+365*(s-1)+1029983*Math.floor(a/2820)+this.jdEpoch-1},fromJD:function(t){var e=(t=Math.floor(t)+.5)-this.toJD(475,1,1),r=Math.floor(e/1029983),n=o(e,1029983),i=2820;if(1029982!==n){var a=Math.floor(n/366),s=o(n,366);i=Math.floor((2134*a+2816*s+2815)/1028522)+a+1}var l=i+2820*r+474;l=l<=0?l-1:l;var c=t-this.toJD(l,1,1)+1,u=c<=186?Math.ceil(c/31):Math.ceil((c-6)/30),f=t-this.toJD(l,u,1)+1;return this.newDate(l,u,f)}}),n.calendars.persian=a,n.calendars.jalali=a},{\"../main\":347,\"object-assign\":247}],344:[function(t,e,r){var n=t(\"../main\"),i=t(\"object-assign\"),a=n.instance();function o(t){this.local=this.regionalOptions[t||\"\"]||this.regionalOptions[\"\"]}o.prototype=new n.baseCalendar,i(o.prototype,{name:\"Taiwan\",jdEpoch:2419402.5,yearsOffset:1911,daysPerMonth:[31,28,31,30,31,30,31,31,30,31,30,31],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{\"\":{name:\"Taiwan\",epochs:[\"BROC\",\"ROC\"],monthNames:[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"],monthNamesShort:[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"],dayNames:[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"],dayNamesShort:[\"Sun\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"],dayNamesMin:[\"Su\",\"Mo\",\"Tu\",\"We\",\"Th\",\"Fr\",\"Sa\"],digits:null,dateFormat:\"yyyy/mm/dd\",firstDay:1,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);t=this._t2gYear(e.year());return a.leapYear(t)},weekOfYear:function(t,e,r){var i=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);t=this._t2gYear(i.year());return a.weekOfYear(t,i.month(),i.day())},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(2===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);t=this._t2gYear(i.year());return a.toJD(t,i.month(),i.day())},fromJD:function(t){var e=a.fromJD(t),r=this._g2tYear(e.year());return this.newDate(r,e.month(),e.day())},_t2gYear:function(t){return t+this.yearsOffset+(t>=-this.yearsOffset&&t<=-1?1:0)},_g2tYear:function(t){return t-this.yearsOffset-(t>=1&&t<=this.yearsOffset?1:0)}}),n.calendars.taiwan=o},{\"../main\":347,\"object-assign\":247}],345:[function(t,e,r){var n=t(\"../main\"),i=t(\"object-assign\"),a=n.instance();function o(t){this.local=this.regionalOptions[t||\"\"]||this.regionalOptions[\"\"]}o.prototype=new n.baseCalendar,i(o.prototype,{name:\"Thai\",jdEpoch:1523098.5,yearsOffset:543,daysPerMonth:[31,28,31,30,31,30,31,31,30,31,30,31],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{\"\":{name:\"Thai\",epochs:[\"BBE\",\"BE\"],monthNames:[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"],monthNamesShort:[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"],dayNames:[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"],dayNamesShort:[\"Sun\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"],dayNamesMin:[\"Su\",\"Mo\",\"Tu\",\"We\",\"Th\",\"Fr\",\"Sa\"],digits:null,dateFormat:\"dd/mm/yyyy\",firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);t=this._t2gYear(e.year());return a.leapYear(t)},weekOfYear:function(t,e,r){var i=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);t=this._t2gYear(i.year());return a.weekOfYear(t,i.month(),i.day())},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(2===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);t=this._t2gYear(i.year());return a.toJD(t,i.month(),i.day())},fromJD:function(t){var e=a.fromJD(t),r=this._g2tYear(e.year());return this.newDate(r,e.month(),e.day())},_t2gYear:function(t){return t-this.yearsOffset-(t>=1&&t<=this.yearsOffset?1:0)},_g2tYear:function(t){return t+this.yearsOffset+(t>=-this.yearsOffset&&t<=-1?1:0)}}),n.calendars.thai=o},{\"../main\":347,\"object-assign\":247}],346:[function(t,e,r){var n=t(\"../main\"),i=t(\"object-assign\");function a(t){this.local=this.regionalOptions[t||\"\"]||this.regionalOptions[\"\"]}a.prototype=new n.baseCalendar,i(a.prototype,{name:\"UmmAlQura\",hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{\"\":{name:\"Umm al-Qura\",epochs:[\"BH\",\"AH\"],monthNames:[\"Al-Muharram\",\"Safar\",\"Rabi' al-awwal\",\"Rabi' Al-Thani\",\"Jumada Al-Awwal\",\"Jumada Al-Thani\",\"Rajab\",\"Sha'aban\",\"Ramadan\",\"Shawwal\",\"Dhu al-Qi'dah\",\"Dhu al-Hijjah\"],monthNamesShort:[\"Muh\",\"Saf\",\"Rab1\",\"Rab2\",\"Jum1\",\"Jum2\",\"Raj\",\"Sha'\",\"Ram\",\"Shaw\",\"DhuQ\",\"DhuH\"],dayNames:[\"Yawm al-Ahad\",\"Yawm al-Ithnain\",\"Yawm al-Thal\\u0101th\\u0101\\u2019\",\"Yawm al-Arba\\u2018\\u0101\\u2019\",\"Yawm al-Kham\\u012bs\",\"Yawm al-Jum\\u2018a\",\"Yawm al-Sabt\"],dayNamesMin:[\"Ah\",\"Ith\",\"Th\",\"Ar\",\"Kh\",\"Ju\",\"Sa\"],digits:null,dateFormat:\"yyyy/mm/dd\",firstDay:6,isRTL:!0}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return 355===this.daysInYear(e.year())},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),\"d\"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(t){for(var e=0,r=1;r<=12;r++)e+=this.daysInMonth(t,r);return e},daysInMonth:function(t,e){for(var r=this._validate(t,e,this.minDay,n.local.invalidMonth).toJD()-24e5+.5,i=0,a=0;ar)return o[i]-o[i-1];i++}return 30},weekDay:function(t,e,r){return 5!==this.dayOfWeek(t,e,r)},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate),a=12*(i.year()-1)+i.month()-15292;return i.day()+o[a-1]-1+24e5-.5},fromJD:function(t){for(var e=t-24e5+.5,r=0,n=0;ne);n++)r++;var i=r+15292,a=Math.floor((i-1)/12),s=a+1,l=i-12*a,c=e-o[r-1]+1;return this.newDate(s,l,c)},isValid:function(t,e,r){var i=n.baseCalendar.prototype.isValid.apply(this,arguments);return i&&(i=(t=null!=t.year?t.year:t)>=1276&&t<=1500),i},_validate:function(t,e,r,i){var a=n.baseCalendar.prototype._validate.apply(this,arguments);if(a.year<1276||a.year>1500)throw i.replace(/\\{0\\}/,this.local.name);return a}}),n.calendars.ummalqura=a;var o=[20,50,79,109,138,168,197,227,256,286,315,345,374,404,433,463,492,522,551,581,611,641,670,700,729,759,788,818,847,877,906,936,965,995,1024,1054,1083,1113,1142,1172,1201,1231,1260,1290,1320,1350,1379,1409,1438,1468,1497,1527,1556,1586,1615,1645,1674,1704,1733,1763,1792,1822,1851,1881,1910,1940,1969,1999,2028,2058,2087,2117,2146,2176,2205,2235,2264,2294,2323,2353,2383,2413,2442,2472,2501,2531,2560,2590,2619,2649,2678,2708,2737,2767,2796,2826,2855,2885,2914,2944,2973,3003,3032,3062,3091,3121,3150,3180,3209,3239,3268,3298,3327,3357,3386,3416,3446,3476,3505,3535,3564,3594,3623,3653,3682,3712,3741,3771,3800,3830,3859,3889,3918,3948,3977,4007,4036,4066,4095,4125,4155,4185,4214,4244,4273,4303,4332,4362,4391,4421,4450,4480,4509,4539,4568,4598,4627,4657,4686,4716,4745,4775,4804,4834,4863,4893,4922,4952,4981,5011,5040,5070,5099,5129,5158,5188,5218,5248,5277,5307,5336,5366,5395,5425,5454,5484,5513,5543,5572,5602,5631,5661,5690,5720,5749,5779,5808,5838,5867,5897,5926,5956,5985,6015,6044,6074,6103,6133,6162,6192,6221,6251,6281,6311,6340,6370,6399,6429,6458,6488,6517,6547,6576,6606,6635,6665,6694,6724,6753,6783,6812,6842,6871,6901,6930,6960,6989,7019,7048,7078,7107,7137,7166,7196,7225,7255,7284,7314,7344,7374,7403,7433,7462,7492,7521,7551,7580,7610,7639,7669,7698,7728,7757,7787,7816,7846,7875,7905,7934,7964,7993,8023,8053,8083,8112,8142,8171,8201,8230,8260,8289,8319,8348,8378,8407,8437,8466,8496,8525,8555,8584,8614,8643,8673,8702,8732,8761,8791,8821,8850,8880,8909,8938,8968,8997,9027,9056,9086,9115,9145,9175,9205,9234,9264,9293,9322,9352,9381,9410,9440,9470,9499,9529,9559,9589,9618,9648,9677,9706,9736,9765,9794,9824,9853,9883,9913,9943,9972,10002,10032,10061,10090,10120,10149,10178,10208,10237,10267,10297,10326,10356,10386,10415,10445,10474,10504,10533,10562,10592,10621,10651,10680,10710,10740,10770,10799,10829,10858,10888,10917,10947,10976,11005,11035,11064,11094,11124,11153,11183,11213,11242,11272,11301,11331,11360,11389,11419,11448,11478,11507,11537,11567,11596,11626,11655,11685,11715,11744,11774,11803,11832,11862,11891,11921,11950,11980,12010,12039,12069,12099,12128,12158,12187,12216,12246,12275,12304,12334,12364,12393,12423,12453,12483,12512,12542,12571,12600,12630,12659,12688,12718,12747,12777,12807,12837,12866,12896,12926,12955,12984,13014,13043,13072,13102,13131,13161,13191,13220,13250,13280,13310,13339,13368,13398,13427,13456,13486,13515,13545,13574,13604,13634,13664,13693,13723,13752,13782,13811,13840,13870,13899,13929,13958,13988,14018,14047,14077,14107,14136,14166,14195,14224,14254,14283,14313,14342,14372,14401,14431,14461,14490,14520,14550,14579,14609,14638,14667,14697,14726,14756,14785,14815,14844,14874,14904,14933,14963,14993,15021,15051,15081,15110,15140,15169,15199,15228,15258,15287,15317,15347,15377,15406,15436,15465,15494,15524,15553,15582,15612,15641,15671,15701,15731,15760,15790,15820,15849,15878,15908,15937,15966,15996,16025,16055,16085,16114,16144,16174,16204,16233,16262,16292,16321,16350,16380,16409,16439,16468,16498,16528,16558,16587,16617,16646,16676,16705,16734,16764,16793,16823,16852,16882,16912,16941,16971,17001,17030,17060,17089,17118,17148,17177,17207,17236,17266,17295,17325,17355,17384,17414,17444,17473,17502,17532,17561,17591,17620,17650,17679,17709,17738,17768,17798,17827,17857,17886,17916,17945,17975,18004,18034,18063,18093,18122,18152,18181,18211,18241,18270,18300,18330,18359,18388,18418,18447,18476,18506,18535,18565,18595,18625,18654,18684,18714,18743,18772,18802,18831,18860,18890,18919,18949,18979,19008,19038,19068,19098,19127,19156,19186,19215,19244,19274,19303,19333,19362,19392,19422,19452,19481,19511,19540,19570,19599,19628,19658,19687,19717,19746,19776,19806,19836,19865,19895,19924,19954,19983,20012,20042,20071,20101,20130,20160,20190,20219,20249,20279,20308,20338,20367,20396,20426,20455,20485,20514,20544,20573,20603,20633,20662,20692,20721,20751,20780,20810,20839,20869,20898,20928,20957,20987,21016,21046,21076,21105,21135,21164,21194,21223,21253,21282,21312,21341,21371,21400,21430,21459,21489,21519,21548,21578,21607,21637,21666,21696,21725,21754,21784,21813,21843,21873,21902,21932,21962,21991,22021,22050,22080,22109,22138,22168,22197,22227,22256,22286,22316,22346,22375,22405,22434,22464,22493,22522,22552,22581,22611,22640,22670,22700,22730,22759,22789,22818,22848,22877,22906,22936,22965,22994,23024,23054,23083,23113,23143,23173,23202,23232,23261,23290,23320,23349,23379,23408,23438,23467,23497,23527,23556,23586,23616,23645,23674,23704,23733,23763,23792,23822,23851,23881,23910,23940,23970,23999,24029,24058,24088,24117,24147,24176,24206,24235,24265,24294,24324,24353,24383,24413,24442,24472,24501,24531,24560,24590,24619,24648,24678,24707,24737,24767,24796,24826,24856,24885,24915,24944,24974,25003,25032,25062,25091,25121,25150,25180,25210,25240,25269,25299,25328,25358,25387,25416,25446,25475,25505,25534,25564,25594,25624,25653,25683,25712,25742,25771,25800,25830,25859,25888,25918,25948,25977,26007,26037,26067,26096,26126,26155,26184,26214,26243,26272,26302,26332,26361,26391,26421,26451,26480,26510,26539,26568,26598,26627,26656,26686,26715,26745,26775,26805,26834,26864,26893,26923,26952,26982,27011,27041,27070,27099,27129,27159,27188,27218,27248,27277,27307,27336,27366,27395,27425,27454,27484,27513,27542,27572,27602,27631,27661,27691,27720,27750,27779,27809,27838,27868,27897,27926,27956,27985,28015,28045,28074,28104,28134,28163,28193,28222,28252,28281,28310,28340,28369,28399,28428,28458,28488,28517,28547,28577,28607,28636,28665,28695,28724,28754,28783,28813,28843,28872,28901,28931,28960,28990,29019,29049,29078,29108,29137,29167,29196,29226,29255,29285,29315,29345,29375,29404,29434,29463,29492,29522,29551,29580,29610,29640,29669,29699,29729,29759,29788,29818,29847,29876,29906,29935,29964,29994,30023,30053,30082,30112,30141,30171,30200,30230,30259,30289,30318,30348,30378,30408,30437,30467,30496,30526,30555,30585,30614,30644,30673,30703,30732,30762,30791,30821,30850,30880,30909,30939,30968,30998,31027,31057,31086,31116,31145,31175,31204,31234,31263,31293,31322,31352,31381,31411,31441,31471,31500,31530,31559,31589,31618,31648,31676,31706,31736,31766,31795,31825,31854,31884,31913,31943,31972,32002,32031,32061,32090,32120,32150,32180,32209,32239,32268,32298,32327,32357,32386,32416,32445,32475,32504,32534,32563,32593,32622,32652,32681,32711,32740,32770,32799,32829,32858,32888,32917,32947,32976,33006,33035,33065,33094,33124,33153,33183,33213,33243,33272,33302,33331,33361,33390,33420,33450,33479,33509,33539,33568,33598,33627,33657,33686,33716,33745,33775,33804,33834,33863,33893,33922,33952,33981,34011,34040,34069,34099,34128,34158,34187,34217,34247,34277,34306,34336,34365,34395,34424,34454,34483,34512,34542,34571,34601,34631,34660,34690,34719,34749,34778,34808,34837,34867,34896,34926,34955,34985,35015,35044,35074,35103,35133,35162,35192,35222,35251,35280,35310,35340,35370,35399,35429,35458,35488,35517,35547,35576,35605,35635,35665,35694,35723,35753,35782,35811,35841,35871,35901,35930,35960,35989,36019,36048,36078,36107,36136,36166,36195,36225,36254,36284,36314,36343,36373,36403,36433,36462,36492,36521,36551,36580,36610,36639,36669,36698,36728,36757,36786,36816,36845,36875,36904,36934,36963,36993,37022,37052,37081,37111,37141,37170,37200,37229,37259,37288,37318,37347,37377,37406,37436,37465,37495,37524,37554,37584,37613,37643,37672,37701,37731,37760,37790,37819,37849,37878,37908,37938,37967,37997,38027,38056,38085,38115,38144,38174,38203,38233,38262,38292,38322,38351,38381,38410,38440,38469,38499,38528,38558,38587,38617,38646,38676,38705,38735,38764,38794,38823,38853,38882,38912,38941,38971,39001,39030,39059,39089,39118,39148,39178,39208,39237,39267,39297,39326,39355,39385,39414,39444,39473,39503,39532,39562,39592,39621,39650,39680,39709,39739,39768,39798,39827,39857,39886,39916,39946,39975,40005,40035,40064,40094,40123,40153,40182,40212,40241,40271,40300,40330,40359,40389,40418,40448,40477,40507,40536,40566,40595,40625,40655,40685,40714,40744,40773,40803,40832,40862,40892,40921,40951,40980,41009,41039,41068,41098,41127,41157,41186,41216,41245,41275,41304,41334,41364,41393,41422,41452,41481,41511,41540,41570,41599,41629,41658,41688,41718,41748,41777,41807,41836,41865,41894,41924,41953,41983,42012,42042,42072,42102,42131,42161,42190,42220,42249,42279,42308,42337,42367,42397,42426,42456,42485,42515,42545,42574,42604,42633,42662,42692,42721,42751,42780,42810,42839,42869,42899,42929,42958,42988,43017,43046,43076,43105,43135,43164,43194,43223,43253,43283,43312,43342,43371,43401,43430,43460,43489,43519,43548,43578,43607,43637,43666,43696,43726,43755,43785,43814,43844,43873,43903,43932,43962,43991,44021,44050,44080,44109,44139,44169,44198,44228,44258,44287,44317,44346,44375,44405,44434,44464,44493,44523,44553,44582,44612,44641,44671,44700,44730,44759,44788,44818,44847,44877,44906,44936,44966,44996,45025,45055,45084,45114,45143,45172,45202,45231,45261,45290,45320,45350,45380,45409,45439,45468,45498,45527,45556,45586,45615,45644,45674,45704,45733,45763,45793,45823,45852,45882,45911,45940,45970,45999,46028,46058,46088,46117,46147,46177,46206,46236,46265,46295,46324,46354,46383,46413,46442,46472,46501,46531,46560,46590,46620,46649,46679,46708,46738,46767,46797,46826,46856,46885,46915,46944,46974,47003,47033,47063,47092,47122,47151,47181,47210,47240,47269,47298,47328,47357,47387,47417,47446,47476,47506,47535,47565,47594,47624,47653,47682,47712,47741,47771,47800,47830,47860,47890,47919,47949,47978,48008,48037,48066,48096,48125,48155,48184,48214,48244,48273,48303,48333,48362,48392,48421,48450,48480,48509,48538,48568,48598,48627,48657,48687,48717,48746,48776,48805,48834,48864,48893,48922,48952,48982,49011,49041,49071,49100,49130,49160,49189,49218,49248,49277,49306,49336,49365,49395,49425,49455,49484,49514,49543,49573,49602,49632,49661,49690,49720,49749,49779,49809,49838,49868,49898,49927,49957,49986,50016,50045,50075,50104,50133,50163,50192,50222,50252,50281,50311,50340,50370,50400,50429,50459,50488,50518,50547,50576,50606,50635,50665,50694,50724,50754,50784,50813,50843,50872,50902,50931,50960,50990,51019,51049,51078,51108,51138,51167,51197,51227,51256,51286,51315,51345,51374,51403,51433,51462,51492,51522,51552,51582,51611,51641,51670,51699,51729,51758,51787,51816,51846,51876,51906,51936,51965,51995,52025,52054,52083,52113,52142,52171,52200,52230,52260,52290,52319,52349,52379,52408,52438,52467,52497,52526,52555,52585,52614,52644,52673,52703,52733,52762,52792,52822,52851,52881,52910,52939,52969,52998,53028,53057,53087,53116,53146,53176,53205,53235,53264,53294,53324,53353,53383,53412,53441,53471,53500,53530,53559,53589,53619,53648,53678,53708,53737,53767,53796,53825,53855,53884,53913,53943,53973,54003,54032,54062,54092,54121,54151,54180,54209,54239,54268,54297,54327,54357,54387,54416,54446,54476,54505,54535,54564,54593,54623,54652,54681,54711,54741,54770,54800,54830,54859,54889,54919,54948,54977,55007,55036,55066,55095,55125,55154,55184,55213,55243,55273,55302,55332,55361,55391,55420,55450,55479,55508,55538,55567,55597,55627,55657,55686,55716,55745,55775,55804,55834,55863,55892,55922,55951,55981,56011,56040,56070,56100,56129,56159,56188,56218,56247,56276,56306,56335,56365,56394,56424,56454,56483,56513,56543,56572,56601,56631,56660,56690,56719,56749,56778,56808,56837,56867,56897,56926,56956,56985,57015,57044,57074,57103,57133,57162,57192,57221,57251,57280,57310,57340,57369,57399,57429,57458,57487,57517,57546,57576,57605,57634,57664,57694,57723,57753,57783,57813,57842,57871,57901,57930,57959,57989,58018,58048,58077,58107,58137,58167,58196,58226,58255,58285,58314,58343,58373,58402,58432,58461,58491,58521,58551,58580,58610,58639,58669,58698,58727,58757,58786,58816,58845,58875,58905,58934,58964,58994,59023,59053,59082,59111,59141,59170,59200,59229,59259,59288,59318,59348,59377,59407,59436,59466,59495,59525,59554,59584,59613,59643,59672,59702,59731,59761,59791,59820,59850,59879,59909,59939,59968,59997,60027,60056,60086,60115,60145,60174,60204,60234,60264,60293,60323,60352,60381,60411,60440,60469,60499,60528,60558,60588,60618,60648,60677,60707,60736,60765,60795,60824,60853,60883,60912,60942,60972,61002,61031,61061,61090,61120,61149,61179,61208,61237,61267,61296,61326,61356,61385,61415,61445,61474,61504,61533,61563,61592,61621,61651,61680,61710,61739,61769,61799,61828,61858,61888,61917,61947,61976,62006,62035,62064,62094,62123,62153,62182,62212,62242,62271,62301,62331,62360,62390,62419,62448,62478,62507,62537,62566,62596,62625,62655,62685,62715,62744,62774,62803,62832,62862,62891,62921,62950,62980,63009,63039,63069,63099,63128,63157,63187,63216,63246,63275,63305,63334,63363,63393,63423,63453,63482,63512,63541,63571,63600,63630,63659,63689,63718,63747,63777,63807,63836,63866,63895,63925,63955,63984,64014,64043,64073,64102,64131,64161,64190,64220,64249,64279,64309,64339,64368,64398,64427,64457,64486,64515,64545,64574,64603,64633,64663,64692,64722,64752,64782,64811,64841,64870,64899,64929,64958,64987,65017,65047,65076,65106,65136,65166,65195,65225,65254,65283,65313,65342,65371,65401,65431,65460,65490,65520,65549,65579,65608,65638,65667,65697,65726,65755,65785,65815,65844,65874,65903,65933,65963,65992,66022,66051,66081,66110,66140,66169,66199,66228,66258,66287,66317,66346,66376,66405,66435,66465,66494,66524,66553,66583,66612,66641,66671,66700,66730,66760,66789,66819,66849,66878,66908,66937,66967,66996,67025,67055,67084,67114,67143,67173,67203,67233,67262,67292,67321,67351,67380,67409,67439,67468,67497,67527,67557,67587,67617,67646,67676,67705,67735,67764,67793,67823,67852,67882,67911,67941,67971,68e3,68030,68060,68089,68119,68148,68177,68207,68236,68266,68295,68325,68354,68384,68414,68443,68473,68502,68532,68561,68591,68620,68650,68679,68708,68738,68768,68797,68827,68857,68886,68916,68946,68975,69004,69034,69063,69092,69122,69152,69181,69211,69240,69270,69300,69330,69359,69388,69418,69447,69476,69506,69535,69565,69595,69624,69654,69684,69713,69743,69772,69802,69831,69861,69890,69919,69949,69978,70008,70038,70067,70097,70126,70156,70186,70215,70245,70274,70303,70333,70362,70392,70421,70451,70481,70510,70540,70570,70599,70629,70658,70687,70717,70746,70776,70805,70835,70864,70894,70924,70954,70983,71013,71042,71071,71101,71130,71159,71189,71218,71248,71278,71308,71337,71367,71397,71426,71455,71485,71514,71543,71573,71602,71632,71662,71691,71721,71751,71781,71810,71839,71869,71898,71927,71957,71986,72016,72046,72075,72105,72135,72164,72194,72223,72253,72282,72311,72341,72370,72400,72429,72459,72489,72518,72548,72577,72607,72637,72666,72695,72725,72754,72784,72813,72843,72872,72902,72931,72961,72991,73020,73050,73080,73109,73139,73168,73197,73227,73256,73286,73315,73345,73375,73404,73434,73464,73493,73523,73552,73581,73611,73640,73669,73699,73729,73758,73788,73818,73848,73877,73907,73936,73965,73995,74024,74053,74083,74113,74142,74172,74202,74231,74261,74291,74320,74349,74379,74408,74437,74467,74497,74526,74556,74586,74615,74645,74675,74704,74733,74763,74792,74822,74851,74881,74910,74940,74969,74999,75029,75058,75088,75117,75147,75176,75206,75235,75264,75294,75323,75353,75383,75412,75442,75472,75501,75531,75560,75590,75619,75648,75678,75707,75737,75766,75796,75826,75856,75885,75915,75944,75974,76003,76032,76062,76091,76121,76150,76180,76210,76239,76269,76299,76328,76358,76387,76416,76446,76475,76505,76534,76564,76593,76623,76653,76682,76712,76741,76771,76801,76830,76859,76889,76918,76948,76977,77007,77036,77066,77096,77125,77155,77185,77214,77243,77273,77302,77332,77361,77390,77420,77450,77479,77509,77539,77569,77598,77627,77657,77686,77715,77745,77774,77804,77833,77863,77893,77923,77952,77982,78011,78041,78070,78099,78129,78158,78188,78217,78247,78277,78307,78336,78366,78395,78425,78454,78483,78513,78542,78572,78601,78631,78661,78690,78720,78750,78779,78808,78838,78867,78897,78926,78956,78985,79015,79044,79074,79104,79133,79163,79192,79222,79251,79281,79310,79340,79369,79399,79428,79458,79487,79517,79546,79576,79606,79635,79665,79695,79724,79753,79783,79812,79841,79871,79900,79930,79960,79990]},{\"../main\":347,\"object-assign\":247}],347:[function(t,e,r){var n=t(\"object-assign\");function i(){this.regionalOptions=[],this.regionalOptions[\"\"]={invalidCalendar:\"Calendar {0} not found\",invalidDate:\"Invalid {0} date\",invalidMonth:\"Invalid {0} month\",invalidYear:\"Invalid {0} year\",differentCalendars:\"Cannot mix {0} and {1} dates\"},this.local=this.regionalOptions[\"\"],this.calendars={},this._localCals={}}function a(t,e,r,n){if(this._calendar=t,this._year=e,this._month=r,this._day=n,0===this._calendar._validateLevel&&!this._calendar.isValid(this._year,this._month,this._day))throw(c.local.invalidDate||c.regionalOptions[\"\"].invalidDate).replace(/\\{0\\}/,this._calendar.local.name)}function o(t,e){return\"000000\".substring(0,e-(t=\"\"+t).length)+t}function s(){this.shortYearCutoff=\"+10\"}function l(t){this.local=this.regionalOptions[t]||this.regionalOptions[\"\"]}n(i.prototype,{instance:function(t,e){t=(t||\"gregorian\").toLowerCase(),e=e||\"\";var r=this._localCals[t+\"-\"+e];if(!r&&this.calendars[t]&&(r=new this.calendars[t](e),this._localCals[t+\"-\"+e]=r),!r)throw(this.local.invalidCalendar||this.regionalOptions[\"\"].invalidCalendar).replace(/\\{0\\}/,t);return r},newDate:function(t,e,r,n,i){return(n=(null!=t&&t.year?t.calendar():\"string\"==typeof n?this.instance(n,i):n)||this.instance()).newDate(t,e,r)},substituteDigits:function(t){return function(e){return(e+\"\").replace(/[0-9]/g,(function(e){return t[e]}))}},substituteChineseDigits:function(t,e){return function(r){for(var n=\"\",i=0;r>0;){var a=r%10;n=(0===a?\"\":t[a]+e[i])+n,i++,r=Math.floor(r/10)}return 0===n.indexOf(t[1]+e[1])&&(n=n.substr(1)),n||t[0]}}}),n(a.prototype,{newDate:function(t,e,r){return this._calendar.newDate(null==t?this:t,e,r)},year:function(t){return 0===arguments.length?this._year:this.set(t,\"y\")},month:function(t){return 0===arguments.length?this._month:this.set(t,\"m\")},day:function(t){return 0===arguments.length?this._day:this.set(t,\"d\")},date:function(t,e,r){if(!this._calendar.isValid(t,e,r))throw(c.local.invalidDate||c.regionalOptions[\"\"].invalidDate).replace(/\\{0\\}/,this._calendar.local.name);return this._year=t,this._month=e,this._day=r,this},leapYear:function(){return this._calendar.leapYear(this)},epoch:function(){return this._calendar.epoch(this)},formatYear:function(){return this._calendar.formatYear(this)},monthOfYear:function(){return this._calendar.monthOfYear(this)},weekOfYear:function(){return this._calendar.weekOfYear(this)},daysInYear:function(){return this._calendar.daysInYear(this)},dayOfYear:function(){return this._calendar.dayOfYear(this)},daysInMonth:function(){return this._calendar.daysInMonth(this)},dayOfWeek:function(){return this._calendar.dayOfWeek(this)},weekDay:function(){return this._calendar.weekDay(this)},extraInfo:function(){return this._calendar.extraInfo(this)},add:function(t,e){return this._calendar.add(this,t,e)},set:function(t,e){return this._calendar.set(this,t,e)},compareTo:function(t){if(this._calendar.name!==t._calendar.name)throw(c.local.differentCalendars||c.regionalOptions[\"\"].differentCalendars).replace(/\\{0\\}/,this._calendar.local.name).replace(/\\{1\\}/,t._calendar.local.name);var e=this._year!==t._year?this._year-t._year:this._month!==t._month?this.monthOfYear()-t.monthOfYear():this._day-t._day;return 0===e?0:e<0?-1:1},calendar:function(){return this._calendar},toJD:function(){return this._calendar.toJD(this)},fromJD:function(t){return this._calendar.fromJD(t)},toJSDate:function(){return this._calendar.toJSDate(this)},fromJSDate:function(t){return this._calendar.fromJSDate(t)},toString:function(){return(this.year()<0?\"-\":\"\")+o(Math.abs(this.year()),4)+\"-\"+o(this.month(),2)+\"-\"+o(this.day(),2)}}),n(s.prototype,{_validateLevel:0,newDate:function(t,e,r){return null==t?this.today():(t.year&&(this._validate(t,e,r,c.local.invalidDate||c.regionalOptions[\"\"].invalidDate),r=t.day(),e=t.month(),t=t.year()),new a(this,t,e,r))},today:function(){return this.fromJSDate(new Date)},epoch:function(t){return this._validate(t,this.minMonth,this.minDay,c.local.invalidYear||c.regionalOptions[\"\"].invalidYear).year()<0?this.local.epochs[0]:this.local.epochs[1]},formatYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,c.local.invalidYear||c.regionalOptions[\"\"].invalidYear);return(e.year()<0?\"-\":\"\")+o(Math.abs(e.year()),4)},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,c.local.invalidYear||c.regionalOptions[\"\"].invalidYear),12},monthOfYear:function(t,e){var r=this._validate(t,e,this.minDay,c.local.invalidMonth||c.regionalOptions[\"\"].invalidMonth);return(r.month()+this.monthsInYear(r)-this.firstMonth)%this.monthsInYear(r)+this.minMonth},fromMonthOfYear:function(t,e){var r=(e+this.firstMonth-2*this.minMonth)%this.monthsInYear(t)+this.minMonth;return this._validate(t,r,this.minDay,c.local.invalidMonth||c.regionalOptions[\"\"].invalidMonth),r},daysInYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,c.local.invalidYear||c.regionalOptions[\"\"].invalidYear);return this.leapYear(e)?366:365},dayOfYear:function(t,e,r){var n=this._validate(t,e,r,c.local.invalidDate||c.regionalOptions[\"\"].invalidDate);return n.toJD()-this.newDate(n.year(),this.fromMonthOfYear(n.year(),this.minMonth),this.minDay).toJD()+1},daysInWeek:function(){return 7},dayOfWeek:function(t,e,r){var n=this._validate(t,e,r,c.local.invalidDate||c.regionalOptions[\"\"].invalidDate);return(Math.floor(this.toJD(n))+2)%this.daysInWeek()},extraInfo:function(t,e,r){return this._validate(t,e,r,c.local.invalidDate||c.regionalOptions[\"\"].invalidDate),{}},add:function(t,e,r){return this._validate(t,this.minMonth,this.minDay,c.local.invalidDate||c.regionalOptions[\"\"].invalidDate),this._correctAdd(t,this._add(t,e,r),e,r)},_add:function(t,e,r){if(this._validateLevel++,\"d\"===r||\"w\"===r){var n=t.toJD()+e*(\"w\"===r?this.daysInWeek():1),i=t.calendar().fromJD(n);return this._validateLevel--,[i.year(),i.month(),i.day()]}try{var a=t.year()+(\"y\"===r?e:0),o=t.monthOfYear()+(\"m\"===r?e:0);i=t.day();\"y\"===r?(t.month()!==this.fromMonthOfYear(a,o)&&(o=this.newDate(a,t.month(),this.minDay).monthOfYear()),o=Math.min(o,this.monthsInYear(a)),i=Math.min(i,this.daysInMonth(a,this.fromMonthOfYear(a,o)))):\"m\"===r&&(!function(t){for(;oe-1+t.minMonth;)a++,o-=e,e=t.monthsInYear(a)}(this),i=Math.min(i,this.daysInMonth(a,this.fromMonthOfYear(a,o))));var s=[a,this.fromMonthOfYear(a,o),i];return this._validateLevel--,s}catch(t){throw this._validateLevel--,t}},_correctAdd:function(t,e,r,n){if(!(this.hasYearZero||\"y\"!==n&&\"m\"!==n||0!==e[0]&&t.year()>0==e[0]>0)){var i={y:[1,1,\"y\"],m:[1,this.monthsInYear(-1),\"m\"],w:[this.daysInWeek(),this.daysInYear(-1),\"d\"],d:[1,this.daysInYear(-1),\"d\"]}[n],a=r<0?-1:1;e=this._add(t,r*i[0]+a*i[1],i[2])}return t.date(e[0],e[1],e[2])},set:function(t,e,r){this._validate(t,this.minMonth,this.minDay,c.local.invalidDate||c.regionalOptions[\"\"].invalidDate);var n=\"y\"===r?e:t.year(),i=\"m\"===r?e:t.month(),a=\"d\"===r?e:t.day();return\"y\"!==r&&\"m\"!==r||(a=Math.min(a,this.daysInMonth(n,i))),t.date(n,i,a)},isValid:function(t,e,r){this._validateLevel++;var n=this.hasYearZero||0!==t;if(n){var i=this.newDate(t,e,this.minDay);n=e>=this.minMonth&&e-this.minMonth=this.minDay&&r-this.minDay13.5?13:1),c=i-(l>2.5?4716:4715);return c<=0&&c--,this.newDate(c,l,s)},toJSDate:function(t,e,r){var n=this._validate(t,e,r,c.local.invalidDate||c.regionalOptions[\"\"].invalidDate),i=new Date(n.year(),n.month()-1,n.day());return i.setHours(0),i.setMinutes(0),i.setSeconds(0),i.setMilliseconds(0),i.setHours(i.getHours()>12?i.getHours()+2:0),i},fromJSDate:function(t){return this.newDate(t.getFullYear(),t.getMonth()+1,t.getDate())}});var c=e.exports=new i;c.cdate=a,c.baseCalendar=s,c.calendars.gregorian=l},{\"object-assign\":247}],348:[function(t,e,r){var n=t(\"object-assign\"),i=t(\"./main\");n(i.regionalOptions[\"\"],{invalidArguments:\"Invalid arguments\",invalidFormat:\"Cannot format a date from another calendar\",missingNumberAt:\"Missing number at position {0}\",unknownNameAt:\"Unknown name at position {0}\",unexpectedLiteralAt:\"Unexpected literal at position {0}\",unexpectedText:\"Additional text found at end\"}),i.local=i.regionalOptions[\"\"],n(i.cdate.prototype,{formatDate:function(t,e){return\"string\"!=typeof t&&(e=t,t=\"\"),this._calendar.formatDate(t||\"\",this,e)}}),n(i.baseCalendar.prototype,{UNIX_EPOCH:i.instance().newDate(1970,1,1).toJD(),SECS_PER_DAY:86400,TICKS_EPOCH:i.instance().jdEpoch,TICKS_PER_DAY:864e9,ATOM:\"yyyy-mm-dd\",COOKIE:\"D, dd M yyyy\",FULL:\"DD, MM d, yyyy\",ISO_8601:\"yyyy-mm-dd\",JULIAN:\"J\",RFC_822:\"D, d M yy\",RFC_850:\"DD, dd-M-yy\",RFC_1036:\"D, d M yy\",RFC_1123:\"D, d M yyyy\",RFC_2822:\"D, d M yyyy\",RSS:\"D, d M yy\",TICKS:\"!\",TIMESTAMP:\"@\",W3C:\"yyyy-mm-dd\",formatDate:function(t,e,r){if(\"string\"!=typeof t&&(r=e,e=t,t=\"\"),!e)return\"\";if(e.calendar()!==this)throw i.local.invalidFormat||i.regionalOptions[\"\"].invalidFormat;t=t||this.local.dateFormat;for(var n,a,o,s,l=(r=r||{}).dayNamesShort||this.local.dayNamesShort,c=r.dayNames||this.local.dayNames,u=r.monthNumbers||this.local.monthNumbers,f=r.monthNamesShort||this.local.monthNamesShort,h=r.monthNames||this.local.monthNames,p=(r.calculateWeek||this.local.calculateWeek,function(e,r){for(var n=1;w+n1}),d=function(t,e,r,n){var i=\"\"+e;if(p(t,n))for(;i.length1},x=function(t,r){var n=y(t,r),a=[2,3,n?4:2,n?4:2,10,11,20][\"oyYJ@!\".indexOf(t)+1],o=new RegExp(\"^-?\\\\d{1,\"+a+\"}\"),s=e.substring(A).match(o);if(!s)throw(i.local.missingNumberAt||i.regionalOptions[\"\"].missingNumberAt).replace(/\\{0\\}/,A);return A+=s[0].length,parseInt(s[0],10)},b=this,_=function(){if(\"function\"==typeof l){y(\"m\");var t=l.call(b,e.substring(A));return A+=t.length,t}return x(\"m\")},w=function(t,r,n,a){for(var o=y(t,a)?n:r,s=0;s-1){p=1,d=m;for(var E=this.daysInMonth(h,p);d>E;E=this.daysInMonth(h,p))p++,d-=E}return f>-1?this.fromJD(f):this.newDate(h,p,d)},determineDate:function(t,e,r,n,i){r&&\"object\"!=typeof r&&(i=n,n=r,r=null),\"string\"!=typeof n&&(i=n,n=\"\");var a=this;return e=e?e.newDate():null,t=null==t?e:\"string\"==typeof t?function(t){try{return a.parseDate(n,t,i)}catch(t){}for(var e=((t=t.toLowerCase()).match(/^c/)&&r?r.newDate():null)||a.today(),o=/([+-]?[0-9]+)\\s*(d|w|m|y)?/g,s=o.exec(t);s;)e.add(parseInt(s[1],10),s[2]||\"d\"),s=o.exec(t);return e}(t):\"number\"==typeof t?isNaN(t)||t===1/0||t===-1/0?e:a.today().add(t,\"d\"):a.newDate(t)}})},{\"./main\":347,\"object-assign\":247}],349:[function(t,e,r){\"use strict\";e.exports=[{path:\"\",backoff:0},{path:\"M-2.4,-3V3L0.6,0Z\",backoff:.6},{path:\"M-3.7,-2.5V2.5L1.3,0Z\",backoff:1.3},{path:\"M-4.45,-3L-1.65,-0.2V0.2L-4.45,3L1.55,0Z\",backoff:1.55},{path:\"M-2.2,-2.2L-0.2,-0.2V0.2L-2.2,2.2L-1.4,3L1.6,0L-1.4,-3Z\",backoff:1.6},{path:\"M-4.4,-2.1L-0.6,-0.2V0.2L-4.4,2.1L-4,3L2,0L-4,-3Z\",backoff:2},{path:\"M2,0A2,2 0 1,1 0,-2A2,2 0 0,1 2,0Z\",backoff:0,noRotate:!0},{path:\"M2,2V-2H-2V2Z\",backoff:0,noRotate:!0}]},{}],350:[function(t,e,r){\"use strict\";var n=t(\"./arrow_paths\"),i=t(\"../../plots/font_attributes\"),a=t(\"../../plots/cartesian/constants\"),o=t(\"../../plot_api/plot_template\").templatedArray;t(\"../../constants/axis_placeable_objects\");e.exports=o(\"annotation\",{visible:{valType:\"boolean\",dflt:!0,editType:\"calc+arraydraw\"},text:{valType:\"string\",editType:\"calc+arraydraw\"},textangle:{valType:\"angle\",dflt:0,editType:\"calc+arraydraw\"},font:i({editType:\"calc+arraydraw\",colorEditType:\"arraydraw\"}),width:{valType:\"number\",min:1,dflt:null,editType:\"calc+arraydraw\"},height:{valType:\"number\",min:1,dflt:null,editType:\"calc+arraydraw\"},opacity:{valType:\"number\",min:0,max:1,dflt:1,editType:\"arraydraw\"},align:{valType:\"enumerated\",values:[\"left\",\"center\",\"right\"],dflt:\"center\",editType:\"arraydraw\"},valign:{valType:\"enumerated\",values:[\"top\",\"middle\",\"bottom\"],dflt:\"middle\",editType:\"arraydraw\"},bgcolor:{valType:\"color\",dflt:\"rgba(0,0,0,0)\",editType:\"arraydraw\"},bordercolor:{valType:\"color\",dflt:\"rgba(0,0,0,0)\",editType:\"arraydraw\"},borderpad:{valType:\"number\",min:0,dflt:1,editType:\"calc+arraydraw\"},borderwidth:{valType:\"number\",min:0,dflt:1,editType:\"calc+arraydraw\"},showarrow:{valType:\"boolean\",dflt:!0,editType:\"calc+arraydraw\"},arrowcolor:{valType:\"color\",editType:\"arraydraw\"},arrowhead:{valType:\"integer\",min:0,max:n.length,dflt:1,editType:\"arraydraw\"},startarrowhead:{valType:\"integer\",min:0,max:n.length,dflt:1,editType:\"arraydraw\"},arrowside:{valType:\"flaglist\",flags:[\"end\",\"start\"],extras:[\"none\"],dflt:\"end\",editType:\"arraydraw\"},arrowsize:{valType:\"number\",min:.3,dflt:1,editType:\"calc+arraydraw\"},startarrowsize:{valType:\"number\",min:.3,dflt:1,editType:\"calc+arraydraw\"},arrowwidth:{valType:\"number\",min:.1,editType:\"calc+arraydraw\"},standoff:{valType:\"number\",min:0,dflt:0,editType:\"calc+arraydraw\"},startstandoff:{valType:\"number\",min:0,dflt:0,editType:\"calc+arraydraw\"},ax:{valType:\"any\",editType:\"calc+arraydraw\"},ay:{valType:\"any\",editType:\"calc+arraydraw\"},axref:{valType:\"enumerated\",dflt:\"pixel\",values:[\"pixel\",a.idRegex.x.toString()],editType:\"calc\"},ayref:{valType:\"enumerated\",dflt:\"pixel\",values:[\"pixel\",a.idRegex.y.toString()],editType:\"calc\"},xref:{valType:\"enumerated\",values:[\"paper\",a.idRegex.x.toString()],editType:\"calc\"},x:{valType:\"any\",editType:\"calc+arraydraw\"},xanchor:{valType:\"enumerated\",values:[\"auto\",\"left\",\"center\",\"right\"],dflt:\"auto\",editType:\"calc+arraydraw\"},xshift:{valType:\"number\",dflt:0,editType:\"calc+arraydraw\"},yref:{valType:\"enumerated\",values:[\"paper\",a.idRegex.y.toString()],editType:\"calc\"},y:{valType:\"any\",editType:\"calc+arraydraw\"},yanchor:{valType:\"enumerated\",values:[\"auto\",\"top\",\"middle\",\"bottom\"],dflt:\"auto\",editType:\"calc+arraydraw\"},yshift:{valType:\"number\",dflt:0,editType:\"calc+arraydraw\"},clicktoshow:{valType:\"enumerated\",values:[!1,\"onoff\",\"onout\"],dflt:!1,editType:\"arraydraw\"},xclick:{valType:\"any\",editType:\"arraydraw\"},yclick:{valType:\"any\",editType:\"arraydraw\"},hovertext:{valType:\"string\",editType:\"arraydraw\"},hoverlabel:{bgcolor:{valType:\"color\",editType:\"arraydraw\"},bordercolor:{valType:\"color\",editType:\"arraydraw\"},font:i({editType:\"arraydraw\"}),editType:\"arraydraw\"},captureevents:{valType:\"boolean\",editType:\"arraydraw\"},editType:\"calc\",_deprecated:{ref:{valType:\"string\",editType:\"calc\"}}})},{\"../../constants/axis_placeable_objects\":484,\"../../plot_api/plot_template\":555,\"../../plots/cartesian/constants\":573,\"../../plots/font_attributes\":594,\"./arrow_paths\":349}],351:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../plots/cartesian/axes\"),a=t(\"./draw\").draw;function o(t){var e=t._fullLayout;n.filterVisible(e.annotations).forEach((function(e){var r=i.getFromId(t,e.xref),n=i.getFromId(t,e.yref),a=i.getRefType(e.xref),o=i.getRefType(e.yref);e._extremes={},\"range\"===a&&s(e,r),\"range\"===o&&s(e,n)}))}function s(t,e){var r,n=e._id,a=n.charAt(0),o=t[a],s=t[\"a\"+a],l=t[a+\"ref\"],c=t[\"a\"+a+\"ref\"],u=t[\"_\"+a+\"padplus\"],f=t[\"_\"+a+\"padminus\"],h={x:1,y:-1}[a]*t[a+\"shift\"],p=3*t.arrowsize*t.arrowwidth||0,d=p+h,m=p-h,g=3*t.startarrowsize*t.arrowwidth||0,v=g+h,y=g-h;if(c===l){var x=i.findExtremes(e,[e.r2c(o)],{ppadplus:d,ppadminus:m}),b=i.findExtremes(e,[e.r2c(s)],{ppadplus:Math.max(u,v),ppadminus:Math.max(f,y)});r={min:[x.min[0],b.min[0]],max:[x.max[0],b.max[0]]}}else v=s?v+s:v,y=s?y-s:y,r=i.findExtremes(e,[e.r2c(o)],{ppadplus:Math.max(u,d,v),ppadminus:Math.max(f,m,y)});t._extremes[n]=r}e.exports=function(t){var e=t._fullLayout;if(n.filterVisible(e.annotations).length&&t._fullData.length)return n.syncOrAsync([a,o],t)}},{\"../../lib\":515,\"../../plots/cartesian/axes\":566,\"./draw\":356}],352:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../registry\"),a=t(\"../../plot_api/plot_template\").arrayEditor;function o(t,e){var r,n,i,a,o,l,c,u=t._fullLayout.annotations,f=[],h=[],p=[],d=(e||[]).length;for(r=0;r0||r.explicitOff.length>0},onClick:function(t,e){var r,s,l=o(t,e),c=l.on,u=l.off.concat(l.explicitOff),f={},h=t._fullLayout.annotations;if(!c.length&&!u.length)return;for(r=0;r2/3?\"right\":\"center\"),{center:0,middle:0,left:.5,bottom:-.5,right:-.5,top:.5}[e]}for(var W=!1,Z=[\"x\",\"y\"],X=0;X1)&&(nt===rt?((pt=it.r2fraction(e[\"a\"+et]))<0||pt>1)&&(W=!0):W=!0),J=it._offset+it.r2p(e[et]),$=.5}else{var dt=\"domain\"===ht;\"x\"===et?(Q=e[et],J=dt?it._offset+it._length*Q:J=T.l+T.w*Q):(Q=1-e[et],J=dt?it._offset+it._length*Q:J=T.t+T.h*Q),$=e.showarrow?.5:Q}if(e.showarrow){ft.head=J;var mt=e[\"a\"+et];if(tt=ot*q(.5,e.xanchor)-st*q(.5,e.yanchor),nt===rt){var gt=l.getRefType(nt);\"domain\"===gt?(\"y\"===et&&(mt=1-mt),ft.tail=it._offset+it._length*mt):\"paper\"===gt?\"y\"===et?(mt=1-mt,ft.tail=T.t+T.h*mt):ft.tail=T.l+T.w*mt:ft.tail=it._offset+it.r2p(mt),K=tt}else ft.tail=J+mt,K=tt+mt;ft.text=ft.tail+tt;var vt=w[\"x\"===et?\"width\":\"height\"];if(\"paper\"===rt&&(ft.head=o.constrain(ft.head,1,vt-1)),\"pixel\"===nt){var yt=-Math.max(ft.tail-3,ft.text),xt=Math.min(ft.tail+3,ft.text)-vt;yt>0?(ft.tail+=yt,ft.text+=yt):xt>0&&(ft.tail-=xt,ft.text-=xt)}ft.tail+=ut,ft.head+=ut}else K=tt=lt*q($,ct),ft.text=J+tt;ft.text+=ut,tt+=ut,K+=ut,e[\"_\"+et+\"padplus\"]=lt/2+K,e[\"_\"+et+\"padminus\"]=lt/2-K,e[\"_\"+et+\"size\"]=lt,e[\"_\"+et+\"shift\"]=tt}if(W)R.remove();else{var bt=0,_t=0;if(\"left\"!==e.align&&(bt=(A-b)*(\"center\"===e.align?.5:1)),\"top\"!==e.valign&&(_t=(D-_)*(\"middle\"===e.valign?.5:1)),f)n.select(\"svg\").attr({x:N+bt-1,y:N+_t}).call(u.setClipUrl,U?L:null,t);else{var wt=N+_t-m.top,Tt=N+bt-m.left;G.call(h.positionText,Tt,wt).call(u.setClipUrl,U?L:null,t)}V.select(\"rect\").call(u.setRect,N,N,A,D),j.call(u.setRect,F/2,F/2,B-F,H-F),R.call(u.setTranslate,Math.round(C.x.text-B/2),Math.round(C.y.text-H/2)),O.attr({transform:\"rotate(\"+P+\",\"+C.x.text+\",\"+C.y.text+\")\"});var kt,At=function(r,n){I.selectAll(\".annotation-arrow-g\").remove();var l=C.x.head,f=C.y.head,h=C.x.tail+r,p=C.y.tail+n,m=C.x.text+r,b=C.y.text+n,_=o.rotationXYMatrix(P,m,b),w=o.apply2DTransform(_),A=o.apply2DTransform2(_),L=+j.attr(\"width\"),z=+j.attr(\"height\"),D=m-.5*L,F=D+L,B=b-.5*z,N=B+z,U=[[D,B,D,N],[D,N,F,N],[F,N,F,B],[F,B,D,B]].map(A);if(!U.reduce((function(t,e){return t^!!o.segmentsIntersect(l,f,l+1e6,f+1e6,e[0],e[1],e[2],e[3])}),!1)){U.forEach((function(t){var e=o.segmentsIntersect(h,p,l,f,t[0],t[1],t[2],t[3]);e&&(h=e.x,p=e.y)}));var V=e.arrowwidth,H=e.arrowcolor,q=e.arrowside,G=I.append(\"g\").style({opacity:c.opacity(H)}).classed(\"annotation-arrow-g\",!0),Y=G.append(\"path\").attr(\"d\",\"M\"+h+\",\"+p+\"L\"+l+\",\"+f).style(\"stroke-width\",V+\"px\").call(c.stroke,c.rgb(H));if(g(Y,q,e),k.annotationPosition&&Y.node().parentNode&&!a){var W=l,Z=f;if(e.standoff){var X=Math.sqrt(Math.pow(l-h,2)+Math.pow(f-p,2));W+=e.standoff*(h-l)/X,Z+=e.standoff*(p-f)/X}var J,K,Q=G.append(\"path\").classed(\"annotation-arrow\",!0).classed(\"anndrag\",!0).classed(\"cursor-move\",!0).attr({d:\"M3,3H-3V-3H3ZM0,0L\"+(h-W)+\",\"+(p-Z),transform:s(W,Z)}).style(\"stroke-width\",V+6+\"px\").call(c.stroke,\"rgba(0,0,0,0)\").call(c.fill,\"rgba(0,0,0,0)\");d.init({element:Q.node(),gd:t,prepFn:function(){var t=u.getTranslate(R);J=t.x,K=t.y,v&&v.autorange&&M(v._name+\".autorange\",!0),x&&x.autorange&&M(x._name+\".autorange\",!0)},moveFn:function(t,r){var n=w(J,K),i=n[0]+t,a=n[1]+r;R.call(u.setTranslate,i,a),S(\"x\",y(v,t,\"x\",T,e)),S(\"y\",y(x,r,\"y\",T,e)),e.axref===e.xref&&S(\"ax\",y(v,t,\"ax\",T,e)),e.ayref===e.yref&&S(\"ay\",y(x,r,\"ay\",T,e)),G.attr(\"transform\",s(t,r)),O.attr({transform:\"rotate(\"+P+\",\"+i+\",\"+a+\")\"})},doneFn:function(){i.call(\"_guiRelayout\",t,E());var e=document.querySelector(\".js-notes-box-panel\");e&&e.redraw(e.selectedObj)}})}}};if(e.showarrow&&At(0,0),z)d.init({element:R.node(),gd:t,prepFn:function(){kt=O.attr(\"transform\")},moveFn:function(t,r){var n=\"pointer\";if(e.showarrow)e.axref===e.xref?S(\"ax\",y(v,t,\"ax\",T,e)):S(\"ax\",e.ax+t),e.ayref===e.yref?S(\"ay\",y(x,r,\"ay\",T.w,e)):S(\"ay\",e.ay+r),At(t,r);else{if(a)return;var i,o;if(v)i=y(v,t,\"x\",T,e);else{var l=e._xsize/T.w,c=e.x+(e._xshift-e.xshift)/T.w-l/2;i=d.align(c+t/T.w,l,0,1,e.xanchor)}if(x)o=y(x,r,\"y\",T,e);else{var u=e._ysize/T.h,f=e.y-(e._yshift+e.yshift)/T.h-u/2;o=d.align(f-r/T.h,u,0,1,e.yanchor)}S(\"x\",i),S(\"y\",o),v&&x||(n=d.getCursor(v?.5:i,x?.5:o,e.xanchor,e.yanchor))}O.attr({transform:s(t,r)+kt}),p(R,n)},clickFn:function(r,n){e.captureevents&&t.emit(\"plotly_clickannotation\",Y(n))},doneFn:function(){p(R),i.call(\"_guiRelayout\",t,E());var e=document.querySelector(\".js-notes-box-panel\");e&&e.redraw(e.selectedObj)}})}}}e.exports={draw:function(t){var e=t._fullLayout;e._infolayer.selectAll(\".annotation\").remove();for(var r=0;r=0,x=e.indexOf(\"end\")>=0,b=d.backoff*g+r.standoff,_=m.backoff*v+r.startstandoff;if(\"line\"===p.nodeName){o={x:+t.attr(\"x1\"),y:+t.attr(\"y1\")},u={x:+t.attr(\"x2\"),y:+t.attr(\"y2\")};var w=o.x-u.x,T=o.y-u.y;if(h=(f=Math.atan2(T,w))+Math.PI,b&&_&&b+_>Math.sqrt(w*w+T*T))return void z();if(b){if(b*b>w*w+T*T)return void z();var k=b*Math.cos(f),A=b*Math.sin(f);u.x+=k,u.y+=A,t.attr({x2:u.x,y2:u.y})}if(_){if(_*_>w*w+T*T)return void z();var M=_*Math.cos(f),S=_*Math.sin(f);o.x-=M,o.y-=S,t.attr({x1:o.x,y1:o.y})}}else if(\"path\"===p.nodeName){var E=p.getTotalLength(),L=\"\";if(E1){c=!0;break}}c?t.fullLayout._infolayer.select(\".annotation-\"+t.id+'[data-index=\"'+s+'\"]').remove():(l._pdata=i(t.glplot.cameraParams,[e.xaxis.r2l(l.x)*r[0],e.yaxis.r2l(l.y)*r[1],e.zaxis.r2l(l.z)*r[2]]),n(t.graphDiv,l,s,t.id,l._xa,l._ya))}}},{\"../../plots/gl3d/project\":616,\"../annotations/draw\":356}],363:[function(t,e,r){\"use strict\";var n=t(\"../../registry\"),i=t(\"../../lib\");e.exports={moduleType:\"component\",name:\"annotations3d\",schema:{subplots:{scene:{annotations:t(\"./attributes\")}}},layoutAttributes:t(\"./attributes\"),handleDefaults:t(\"./defaults\"),includeBasePlot:function(t,e){var r=n.subplotsRegistry.gl3d;if(!r)return;for(var a=r.attrRegex,o=Object.keys(t),s=0;s=0))return t;if(3===o)n[o]>1&&(n[o]=1);else if(n[o]>=1)return t}var s=Math.round(255*n[0])+\", \"+Math.round(255*n[1])+\", \"+Math.round(255*n[2]);return a?\"rgba(\"+s+\", \"+n[3]+\")\":\"rgb(\"+s+\")\"}o.tinyRGB=function(t){var e=t.toRgb();return\"rgb(\"+Math.round(e.r)+\", \"+Math.round(e.g)+\", \"+Math.round(e.b)+\")\"},o.rgb=function(t){return o.tinyRGB(n(t))},o.opacity=function(t){return t?n(t).getAlpha():0},o.addOpacity=function(t,e){var r=n(t).toRgb();return\"rgba(\"+Math.round(r.r)+\", \"+Math.round(r.g)+\", \"+Math.round(r.b)+\", \"+e+\")\"},o.combine=function(t,e){var r=n(t).toRgb();if(1===r.a)return n(t).toRgbString();var i=n(e||c).toRgb(),a=1===i.a?i:{r:255*(1-i.a)+i.r*i.a,g:255*(1-i.a)+i.g*i.a,b:255*(1-i.a)+i.b*i.a},o={r:a.r*(1-r.a)+r.r*r.a,g:a.g*(1-r.a)+r.g*r.a,b:a.b*(1-r.a)+r.b*r.a};return n(o).toRgbString()},o.contrast=function(t,e,r){var i=n(t);return 1!==i.getAlpha()&&(i=n(o.combine(t,c))),(i.isDark()?e?i.lighten(e):c:r?i.darken(r):l).toString()},o.stroke=function(t,e){var r=n(e);t.style({stroke:o.tinyRGB(r),\"stroke-opacity\":r.getAlpha()})},o.fill=function(t,e){var r=n(e);t.style({fill:o.tinyRGB(r),\"fill-opacity\":r.getAlpha()})},o.clean=function(t){if(t&&\"object\"==typeof t){var e,r,n,i,s=Object.keys(t);for(e=0;e0?n>=l:n<=l));i++)n>u&&n0?n>=l:n<=l));i++)n>r[0]&&n1){var ct=Math.pow(10,Math.floor(Math.log(lt)/Math.LN10));ot*=ct*c.roundUp(lt/ct,[2,5,10]),(Math.abs(q.start)/q.size+1e-6)%1<2e-6&&(it.tick0=0)}it.dtick=ot}it.domain=o?[rt+I/R.h,rt+K-I/R.h]:[rt+P/R.w,rt+K-P/R.w],it.setScale(),t.attr(\"transform\",u(Math.round(R.l),Math.round(R.t)));var ut,ft=t.select(\".\"+A.cbtitleunshift).attr(\"transform\",u(-Math.round(R.l),-Math.round(R.t))),ht=it.ticklabelposition,pt=it.title.font.size,dt=t.select(\".\"+A.cbaxis),mt=0,gt=0;function vt(n,i){var a={propContainer:it,propName:e._propPrefix+\"title\",traceIndex:e._traceIndex,_meta:e._meta,placeholder:D._dfltTitle.colorbar,containerGroup:t.select(\".\"+A.cbtitle)},o=\"h\"===n.charAt(0)?n.substr(1):\"h\"+n;t.selectAll(\".\"+o+\",.\"+o+\"-math-group\").remove(),m.draw(r,n,f(a,i||{}))}return c.syncOrAsync([a.previousPromises,function(){var t,e;(o&&at||!o&&!at)&&(\"top\"===j&&(t=P+R.l+R.w*O,e=I+R.t+R.h*(1-rt-K)+3+.75*pt),\"bottom\"===j&&(t=P+R.l+R.w*O,e=I+R.t+R.h*(1-rt)-3-.25*pt),\"right\"===j&&(e=I+R.t+R.h*z+3+.75*pt,t=P+R.l+R.w*rt),vt(it._id+\"title\",{attributes:{x:t,y:e,\"text-anchor\":o?\"start\":\"middle\"}}))},function(){if(!o&&!at||o&&at){var a,l=t.select(\".\"+A.cbtitle),f=l.select(\"text\"),h=[-M/2,M/2],d=l.select(\".h\"+it._id+\"title-math-group\").node(),m=15.6;if(f.node()&&(m=parseInt(f.node().style.fontSize,10)*w),d?(a=p.bBox(d),gt=a.width,(mt=a.height)>m&&(h[1]-=(mt-m)/2)):f.node()&&!f.classed(A.jsPlaceholder)&&(a=p.bBox(f.node()),gt=a.width,mt=a.height),o){if(mt){if(mt+=5,\"top\"===j)it.domain[1]-=mt/R.h,h[1]*=-1;else{it.domain[0]+=mt/R.h;var v=g.lineCount(f);h[1]+=(1-v)*m}l.attr(\"transform\",u(h[0],h[1])),it.setScale()}}else gt&&(\"right\"===j&&(it.domain[0]+=(gt+pt/2)/R.w),l.attr(\"transform\",u(h[0],h[1])),it.setScale())}t.selectAll(\".\"+A.cbfills+\",.\"+A.cblines).attr(\"transform\",o?u(0,Math.round(R.h*(1-it.domain[1]))):u(Math.round(R.w*it.domain[0]),0)),dt.attr(\"transform\",o?u(0,Math.round(-R.t)):u(Math.round(-R.l),0));var y=t.select(\".\"+A.cbfills).selectAll(\"rect.\"+A.cbfill).attr(\"style\",\"\").data(Y);y.enter().append(\"rect\").classed(A.cbfill,!0).style(\"stroke\",\"none\"),y.exit().remove();var x=U.map(it.c2p).map(Math.round).sort((function(t,e){return t-e}));y.each((function(t,a){var s=[0===a?U[0]:(Y[a]+Y[a-1])/2,a===Y.length-1?U[1]:(Y[a]+Y[a+1])/2].map(it.c2p).map(Math.round);o&&(s[1]=c.constrain(s[1]+(s[1]>s[0])?1:-1,x[0],x[1]));var l=n.select(this).attr(o?\"x\":\"y\",Q).attr(o?\"y\":\"x\",n.min(s)).attr(o?\"width\":\"height\",Math.max(Z,2)).attr(o?\"height\":\"width\",Math.max(n.max(s)-n.min(s),2));if(e._fillgradient)p.gradient(l,r,e._id,o?\"vertical\":\"horizontalreversed\",e._fillgradient,\"fill\");else{var u=H(t).replace(\"e-\",\"\");l.attr(\"fill\",i(u).toHexString())}}));var b=t.select(\".\"+A.cblines).selectAll(\"path.\"+A.cbline).data(B.color&&B.width?W:[]);b.enter().append(\"path\").classed(A.cbline,!0),b.exit().remove(),b.each((function(t){var e=Q,r=Math.round(it.c2p(t))+B.width/2%1;n.select(this).attr(\"d\",\"M\"+(o?e+\",\"+r:r+\",\"+e)+(o?\"h\":\"v\")+Z).call(p.lineGroupStyle,B.width,V(t),B.dash)})),dt.selectAll(\"g.\"+it._id+\"tick,path\").remove();var _=Q+Z+(M||0)/2-(\"outside\"===e.ticks?1:0),T=s.calcTicks(it),k=s.getTickSigns(it)[2];return s.drawTicks(r,it,{vals:\"inside\"===it.ticks?s.clipEnds(it,T):T,layer:dt,path:s.makeTickPath(it,_,k),transFn:s.makeTransTickFn(it)}),s.drawLabels(r,it,{vals:T,layer:dt,transFn:s.makeTransTickLabelFn(it),labelFns:s.makeLabelFns(it,_)})},function(){if(o&&!at||!o&&at){var t,i,a=it.position||0,s=it._offset+it._length/2;if(\"right\"===j)i=s,t=R.l+R.w*a+10+pt*(it.showticklabels?1:.5);else if(t=s,\"bottom\"===j&&(i=R.t+R.h*a+10+(-1===ht.indexOf(\"inside\")?it.tickfont.size:0)+(\"intside\"!==it.ticks&&e.ticklen||0)),\"top\"===j){var l=N.text.split(\"
\").length;i=R.t+R.h*a+10-Z-w*pt*l}vt((o?\"h\":\"v\")+it._id+\"title\",{avoid:{selection:n.select(r).selectAll(\"g.\"+it._id+\"tick\"),side:j,offsetTop:o?0:R.t,offsetLeft:o?R.l:0,maxShift:o?D.width:D.height},attributes:{x:t,y:i,\"text-anchor\":\"middle\"},transform:{rotate:o?-90:0,offset:0}})}},a.previousPromises,function(){var n,s=Z+M/2;-1===ht.indexOf(\"inside\")&&(n=p.bBox(dt.node()),s+=o?n.width:n.height),ut=ft.select(\"text\");var c=0,f=o&&\"top\"===j,m=!o&&\"right\"===j,g=0;if(ut.node()&&!ut.classed(A.jsPlaceholder)){var y,x=ft.select(\".h\"+it._id+\"title-math-group\").node();x&&(o&&at||!o&&!at)?(c=(n=p.bBox(x)).width,y=n.height):(c=(n=p.bBox(ft.node())).right-R.l-(o?Q:nt),y=n.bottom-R.t-(o?nt:Q),o||\"top\"!==j||(s+=n.height,g=n.height)),m&&(ut.attr(\"transform\",u(c/2+pt/2,0)),c*=2),s=Math.max(s,o?c:y)}var b=2*(o?P:I)+s+S+M/2,w=0;!o&&N.text&&\"bottom\"===C&&z<=0&&(b+=w=b/2,g+=w),D._hColorbarMoveTitle=w,D._hColorbarMoveCBTitle=g;var F=S+M;t.select(\".\"+A.cbbg).attr(\"x\",(o?Q:nt)-F/2-(o?P:0)).attr(\"y\",(o?nt:Q)-(o?J:I+g-w)).attr(o?\"width\":\"height\",Math.max(b-w,2)).attr(o?\"height\":\"width\",Math.max(J+F,2)).call(d.fill,E).call(d.stroke,e.bordercolor).style(\"stroke-width\",S);var B=m?Math.max(c-10,0):0;if(t.selectAll(\".\"+A.cboutline).attr(\"x\",(o?Q:nt+P)+B).attr(\"y\",(o?nt+I-J:Q)+(f?mt:0)).attr(o?\"width\":\"height\",Math.max(Z,2)).attr(o?\"height\":\"width\",Math.max(J-(o?2*I+mt:2*P+B),2)).call(d.stroke,e.outlinecolor).style({fill:\"none\",\"stroke-width\":M}),t.attr(\"transform\",u(R.l-(o?$*b:0),R.t-(o?0:(1-tt)*b-g))),!o&&(S||i(E).getAlpha()&&!i.equals(D.paper_bgcolor,E))){var U=dt.selectAll(\"text\"),V=U[0].length,H=t.select(\".\"+A.cbbg).node(),q=p.bBox(H),G=p.getTranslate(t);U.each((function(t,e){var r=V-1;if(0===e||e===r){var n,i=p.bBox(this),a=p.getTranslate(this);if(e===r){var o=i.right+a.x;(n=q.right+G.x+nt-S-2+O-o)>0&&(n=0)}else if(0===e){var s=i.left+a.x;(n=q.left+G.x+nt+S+2-s)<0&&(n=0)}n&&(V<3?this.setAttribute(\"transform\",\"translate(\"+n+\",0) \"+this.getAttribute(\"transform\")):this.setAttribute(\"visibility\",\"hidden\"))}}))}var Y={},W=T[L],X=k[L],K=T[C],et=k[C],rt=b-Z;o?(\"pixels\"===h?(Y.y=z,Y.t=J*K,Y.b=J*et):(Y.t=Y.b=0,Y.yt=z+l*K,Y.yb=z-l*et),\"pixels\"===_?(Y.x=O,Y.l=b*W,Y.r=b*X):(Y.l=rt*W,Y.r=rt*X,Y.xl=O-v*W,Y.xr=O+v*X)):(\"pixels\"===h?(Y.x=O,Y.l=J*W,Y.r=J*X):(Y.l=Y.r=0,Y.xl=O+l*W,Y.xr=O-l*X),\"pixels\"===_?(Y.y=1-z,Y.t=b*K,Y.b=b*et):(Y.t=rt*K,Y.b=rt*et,Y.yt=z-v*K,Y.yb=z+v*et)),a.autoMargin(r,e._id,Y)}],r)}(r,e,t);v&&v.then&&(t._promises||[]).push(v),t._context.edits.colorbarPosition&&function(t,e,r){var n,i,a,s=\"v\"===e.orientation,c=r._fullLayout._size;l.init({element:t.node(),gd:r,prepFn:function(){n=t.attr(\"transform\"),h(t)},moveFn:function(r,o){t.attr(\"transform\",n+u(r,o)),i=l.align((s?e._uFrac:e._vFrac)+r/c.w,s?e._thickFrac:e._lenFrac,0,1,e.xanchor),a=l.align((s?e._vFrac:1-e._uFrac)-o/c.h,s?e._lenFrac:e._thickFrac,0,1,e.yanchor);var f=l.getCursor(i,a,e.xanchor,e.yanchor);h(t,f)},doneFn:function(){if(h(t),void 0!==i&&void 0!==a){var n={};n[e._propPrefix+\"x\"]=i,n[e._propPrefix+\"y\"]=a,void 0!==e._traceIndex?o.call(\"_guiRestyle\",r,n,e._traceIndex):o.call(\"_guiRelayout\",r,n)}}})}(r,e,t)})),e.exit().each((function(e){a.autoMargin(t,e._id)})).remove(),e.order()}}},{\"../../constants/alignment\":483,\"../../lib\":515,\"../../lib/extend\":505,\"../../lib/setcursor\":536,\"../../lib/svg_text_utils\":541,\"../../plots/cartesian/axes\":566,\"../../plots/cartesian/axis_defaults\":568,\"../../plots/cartesian/layout_attributes\":579,\"../../plots/cartesian/position_defaults\":582,\"../../plots/plots\":628,\"../../registry\":647,\"../color\":367,\"../colorscale/helpers\":378,\"../dragelement\":386,\"../drawing\":389,\"../titles\":476,\"./constants\":369,\"@plotly/d3\":58,tinycolor2:313}],372:[function(t,e,r){\"use strict\";var n=t(\"../../lib\");e.exports=function(t){return n.isPlainObject(t.colorbar)}},{\"../../lib\":515}],373:[function(t,e,r){\"use strict\";e.exports={moduleType:\"component\",name:\"colorbar\",attributes:t(\"./attributes\"),supplyDefaults:t(\"./defaults\"),draw:t(\"./draw\").draw,hasColorbar:t(\"./has_colorbar\")}},{\"./attributes\":368,\"./defaults\":370,\"./draw\":371,\"./has_colorbar\":372}],374:[function(t,e,r){\"use strict\";var n=t(\"../colorbar/attributes\"),i=t(\"../../lib/regex\").counter,a=t(\"../../lib/sort_object_keys\"),o=t(\"./scales.js\").scales;a(o);function s(t){return\"`\"+t+\"`\"}e.exports=function(t,e){t=t||\"\";var r,a=(e=e||{}).cLetter||\"c\",l=(\"onlyIfNumerical\"in e?e.onlyIfNumerical:Boolean(t),\"noScale\"in e?e.noScale:\"marker.line\"===t),c=\"showScaleDflt\"in e?e.showScaleDflt:\"z\"===a,u=\"string\"==typeof e.colorscaleDflt?o[e.colorscaleDflt]:null,f=e.editTypeOverride||\"\",h=t?t+\".\":\"\";\"colorAttr\"in e?(r=e.colorAttr,e.colorAttr):s(h+(r={z:\"z\",c:\"color\"}[a]));var p=a+\"auto\",d=a+\"min\",m=a+\"max\",g=a+\"mid\",v=(s(h+p),s(h+d),s(h+m),{});v[d]=v[m]=void 0;var y={};y[p]=!1;var x={};return\"color\"===r&&(x.color={valType:\"color\",arrayOk:!0,editType:f||\"style\"},e.anim&&(x.color.anim=!0)),x[p]={valType:\"boolean\",dflt:!0,editType:\"calc\",impliedEdits:v},x[d]={valType:\"number\",dflt:null,editType:f||\"plot\",impliedEdits:y},x[m]={valType:\"number\",dflt:null,editType:f||\"plot\",impliedEdits:y},x[g]={valType:\"number\",dflt:null,editType:\"calc\",impliedEdits:v},x.colorscale={valType:\"colorscale\",editType:\"calc\",dflt:u,impliedEdits:{autocolorscale:!1}},x.autocolorscale={valType:\"boolean\",dflt:!1!==e.autoColorDflt,editType:\"calc\",impliedEdits:{colorscale:void 0}},x.reversescale={valType:\"boolean\",dflt:!1,editType:\"plot\"},l||(x.showscale={valType:\"boolean\",dflt:c,editType:\"calc\"},x.colorbar=n),e.noColorAxis||(x.coloraxis={valType:\"subplotid\",regex:i(\"coloraxis\"),dflt:null,editType:\"calc\"}),x}},{\"../../lib/regex\":532,\"../../lib/sort_object_keys\":538,\"../colorbar/attributes\":368,\"./scales.js\":382}],375:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"../../lib\"),a=t(\"./helpers\").extractOpts;e.exports=function(t,e,r){var o,s=t._fullLayout,l=r.vals,c=r.containerStr,u=c?i.nestedProperty(e,c).get():e,f=a(u),h=!1!==f.auto,p=f.min,d=f.max,m=f.mid,g=function(){return i.aggNums(Math.min,null,l)},v=function(){return i.aggNums(Math.max,null,l)};(void 0===p?p=g():h&&(p=u._colorAx&&n(p)?Math.min(p,g()):g()),void 0===d?d=v():h&&(d=u._colorAx&&n(d)?Math.max(d,v()):v()),h&&void 0!==m&&(d-m>m-p?p=m-(d-m):d-m=0?s.colorscale.sequential:s.colorscale.sequentialminus,f._sync(\"colorscale\",o))}},{\"../../lib\":515,\"./helpers\":378,\"fast-isnumeric\":190}],376:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"./helpers\").hasColorscale,a=t(\"./helpers\").extractOpts;e.exports=function(t,e){function r(t,e){var r=t[\"_\"+e];void 0!==r&&(t[e]=r)}function o(t,i){var o=i.container?n.nestedProperty(t,i.container).get():t;if(o)if(o.coloraxis)o._colorAx=e[o.coloraxis];else{var s=a(o),l=s.auto;(l||void 0===s.min)&&r(o,i.min),(l||void 0===s.max)&&r(o,i.max),s.autocolorscale&&r(o,\"colorscale\")}}for(var s=0;s=0;n--,i++){var a=t[n];r[i]=[1-a[0],a[1]]}return r}function d(t,e){e=e||{};for(var r=t.domain,o=t.range,l=o.length,c=new Array(l),u=0;u4/3-s?o:s}},{}],384:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=[[\"sw-resize\",\"s-resize\",\"se-resize\"],[\"w-resize\",\"move\",\"e-resize\"],[\"nw-resize\",\"n-resize\",\"ne-resize\"]];e.exports=function(t,e,r,a){return t=\"left\"===r?0:\"center\"===r?1:\"right\"===r?2:n.constrain(Math.floor(3*t),0,2),e=\"bottom\"===a?0:\"middle\"===a?1:\"top\"===a?2:n.constrain(Math.floor(3*e),0,2),i[e][t]}},{\"../../lib\":515}],385:[function(t,e,r){\"use strict\";r.selectMode=function(t){return\"lasso\"===t||\"select\"===t},r.drawMode=function(t){return\"drawclosedpath\"===t||\"drawopenpath\"===t||\"drawline\"===t||\"drawrect\"===t||\"drawcircle\"===t},r.openMode=function(t){return\"drawline\"===t||\"drawopenpath\"===t},r.rectMode=function(t){return\"select\"===t||\"drawline\"===t||\"drawrect\"===t||\"drawcircle\"===t},r.freeMode=function(t){return\"lasso\"===t||\"drawclosedpath\"===t||\"drawopenpath\"===t},r.selectingOrDrawing=function(t){return r.freeMode(t)||r.rectMode(t)}},{}],386:[function(t,e,r){\"use strict\";var n=t(\"mouse-event-offset\"),i=t(\"has-hover\"),a=t(\"has-passive-events\"),o=t(\"../../lib\").removeElement,s=t(\"../../plots/cartesian/constants\"),l=e.exports={};l.align=t(\"./align\"),l.getCursor=t(\"./cursor\");var c=t(\"./unhover\");function u(){var t=document.createElement(\"div\");t.className=\"dragcover\";var e=t.style;return e.position=\"fixed\",e.left=0,e.right=0,e.top=0,e.bottom=0,e.zIndex=999999999,e.background=\"none\",document.body.appendChild(t),t}function f(t){return n(t.changedTouches?t.changedTouches[0]:t,document.body)}l.unhover=c.wrapped,l.unhoverRaw=c.raw,l.init=function(t){var e,r,n,c,h,p,d,m,g=t.gd,v=1,y=g._context.doubleClickDelay,x=t.element;g._mouseDownTime||(g._mouseDownTime=0),x.style.pointerEvents=\"all\",x.onmousedown=_,a?(x._ontouchstart&&x.removeEventListener(\"touchstart\",x._ontouchstart),x._ontouchstart=_,x.addEventListener(\"touchstart\",_,{passive:!1})):x.ontouchstart=_;var b=t.clampFn||function(t,e,r){return Math.abs(t)y&&(v=Math.max(v-1,1)),g._dragged)t.doneFn&&t.doneFn();else if(t.clickFn&&t.clickFn(v,p),!m){var r;try{r=new MouseEvent(\"click\",e)}catch(t){var n=f(e);(r=document.createEvent(\"MouseEvents\")).initMouseEvent(\"click\",e.bubbles,e.cancelable,e.view,e.detail,e.screenX,e.screenY,n[0],n[1],e.ctrlKey,e.altKey,e.shiftKey,e.metaKey,e.button,e.relatedTarget)}d.dispatchEvent(r)}g._dragging=!1,g._dragged=!1}else g._dragged=!1}},l.coverSlip=u},{\"../../lib\":515,\"../../plots/cartesian/constants\":573,\"./align\":383,\"./cursor\":384,\"./unhover\":387,\"has-hover\":228,\"has-passive-events\":229,\"mouse-event-offset\":242}],387:[function(t,e,r){\"use strict\";var n=t(\"../../lib/events\"),i=t(\"../../lib/throttle\"),a=t(\"../../lib/dom\").getGraphDiv,o=t(\"../fx/constants\"),s=e.exports={};s.wrapped=function(t,e,r){(t=a(t))._fullLayout&&i.clear(t._fullLayout._uid+o.HOVERID),s.raw(t,e,r)},s.raw=function(t,e){var r=t._fullLayout,i=t._hoverdata;e||(e={}),e.target&&!t._dragged&&!1===n.triggerHandler(t,\"plotly_beforehover\",e)||(r._hoverlayer.selectAll(\"g\").remove(),r._hoverlayer.selectAll(\"line\").remove(),r._hoverlayer.selectAll(\"circle\").remove(),t._hoverdata=void 0,e.target&&i&&t.emit(\"plotly_unhover\",{event:e,points:i}))}},{\"../../lib/dom\":503,\"../../lib/events\":504,\"../../lib/throttle\":542,\"../fx/constants\":401}],388:[function(t,e,r){\"use strict\";r.dash={valType:\"string\",values:[\"solid\",\"dot\",\"dash\",\"longdash\",\"dashdot\",\"longdashdot\"],dflt:\"solid\",editType:\"style\"},r.pattern={shape:{valType:\"enumerated\",values:[\"\",\"/\",\"\\\\\",\"x\",\"-\",\"|\",\"+\",\".\"],dflt:\"\",arrayOk:!0,editType:\"style\"},fillmode:{valType:\"enumerated\",values:[\"replace\",\"overlay\"],dflt:\"replace\",editType:\"style\"},bgcolor:{valType:\"color\",arrayOk:!0,editType:\"style\"},fgcolor:{valType:\"color\",arrayOk:!0,editType:\"style\"},fgopacity:{valType:\"number\",editType:\"style\",min:0,max:1},size:{valType:\"number\",min:0,dflt:8,arrayOk:!0,editType:\"style\"},solidity:{valType:\"number\",min:0,max:1,dflt:.3,arrayOk:!0,editType:\"style\"},editType:\"style\"}},{}],389:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\"),i=t(\"../../lib\"),a=i.numberFormat,o=t(\"fast-isnumeric\"),s=t(\"tinycolor2\"),l=t(\"../../registry\"),c=t(\"../color\"),u=t(\"../colorscale\"),f=i.strTranslate,h=t(\"../../lib/svg_text_utils\"),p=t(\"../../constants/xmlns_namespaces\"),d=t(\"../../constants/alignment\").LINE_SPACING,m=t(\"../../constants/interactions\").DESELECTDIM,g=t(\"../../traces/scatter/subtypes\"),v=t(\"../../traces/scatter/make_bubble_size_func\"),y=t(\"../../components/fx/helpers\").appendArrayPointValue,x=e.exports={};function b(t,e,r){var n=e.fillpattern,i=n&&x.getPatternAttr(n.shape,0,\"\");if(i){var a=x.getPatternAttr(n.bgcolor,0,null),o=x.getPatternAttr(n.fgcolor,0,null),s=n.fgopacity,l=x.getPatternAttr(n.size,0,8),u=x.getPatternAttr(n.solidity,0,.3),f=e.uid;x.pattern(t,\"point\",r,f,i,l,u,void 0,n.fillmode,a,o,s)}else e.fillcolor&&t.call(c.fill,e.fillcolor)}x.font=function(t,e,r,n){i.isPlainObject(e)&&(n=e.color,r=e.size,e=e.family),e&&t.style(\"font-family\",e),r+1&&t.style(\"font-size\",r+\"px\"),n&&t.call(c.fill,n)},x.setPosition=function(t,e,r){t.attr(\"x\",e).attr(\"y\",r)},x.setSize=function(t,e,r){t.attr(\"width\",e).attr(\"height\",r)},x.setRect=function(t,e,r,n,i){t.call(x.setPosition,e,r).call(x.setSize,n,i)},x.translatePoint=function(t,e,r,n){var i=r.c2p(t.x),a=n.c2p(t.y);return!!(o(i)&&o(a)&&e.node())&&(\"text\"===e.node().nodeName?e.attr(\"x\",i).attr(\"y\",a):e.attr(\"transform\",f(i,a)),!0)},x.translatePoints=function(t,e,r){t.each((function(t){var i=n.select(this);x.translatePoint(t,i,e,r)}))},x.hideOutsideRangePoint=function(t,e,r,n,i,a){e.attr(\"display\",r.isPtWithinRange(t,i)&&n.isPtWithinRange(t,a)?null:\"none\")},x.hideOutsideRangePoints=function(t,e){if(e._hasClipOnAxisFalse){var r=e.xaxis,i=e.yaxis;t.each((function(e){var a=e[0].trace,o=a.xcalendar,s=a.ycalendar,c=l.traceIs(a,\"bar-like\")?\".bartext\":\".point,.textpoint\";t.selectAll(c).each((function(t){x.hideOutsideRangePoint(t,n.select(this),r,i,o,s)}))}))}},x.crispRound=function(t,e,r){return e&&o(e)?t._context.staticPlot?e:e<1?1:Math.round(e):r||0},x.singleLineStyle=function(t,e,r,n,i){e.style(\"fill\",\"none\");var a=(((t||[])[0]||{}).trace||{}).line||{},o=r||a.width||0,s=i||a.dash||\"\";c.stroke(e,n||a.color),x.dashLine(e,s,o)},x.lineGroupStyle=function(t,e,r,i){t.style(\"fill\",\"none\").each((function(t){var a=(((t||[])[0]||{}).trace||{}).line||{},o=e||a.width||0,s=i||a.dash||\"\";n.select(this).call(c.stroke,r||a.color).call(x.dashLine,s,o)}))},x.dashLine=function(t,e,r){r=+r||0,e=x.dashStyle(e,r),t.style({\"stroke-dasharray\":e,\"stroke-width\":r+\"px\"})},x.dashStyle=function(t,e){e=+e||1;var r=Math.max(e,3);return\"solid\"===t?t=\"\":\"dot\"===t?t=r+\"px,\"+r+\"px\":\"dash\"===t?t=3*r+\"px,\"+3*r+\"px\":\"longdash\"===t?t=5*r+\"px,\"+5*r+\"px\":\"dashdot\"===t?t=3*r+\"px,\"+r+\"px,\"+r+\"px,\"+r+\"px\":\"longdashdot\"===t&&(t=5*r+\"px,\"+2*r+\"px,\"+r+\"px,\"+2*r+\"px\"),t},x.singleFillStyle=function(t,e){var r=n.select(t.node());b(t,((r.data()[0]||[])[0]||{}).trace||{},e)},x.fillGroupStyle=function(t,e){t.style(\"stroke-width\",0).each((function(t){var r=n.select(this);t[0].trace&&b(r,t[0].trace,e)}))};var _=t(\"./symbol_defs\");x.symbolNames=[],x.symbolFuncs=[],x.symbolBackOffs=[],x.symbolNeedLines={},x.symbolNoDot={},x.symbolNoFill={},x.symbolList=[],Object.keys(_).forEach((function(t){var e=_[t],r=e.n;x.symbolList.push(r,String(r),t,r+100,String(r+100),t+\"-open\"),x.symbolNames[r]=t,x.symbolFuncs[r]=e.f,x.symbolBackOffs[r]=e.backoff||0,e.needLine&&(x.symbolNeedLines[r]=!0),e.noDot?x.symbolNoDot[r]=!0:x.symbolList.push(r+200,String(r+200),t+\"-dot\",r+300,String(r+300),t+\"-open-dot\"),e.noFill&&(x.symbolNoFill[r]=!0)}));var w=x.symbolNames.length;function T(t,e,r,n){var i=t%100;return x.symbolFuncs[i](e,r,n)+(t>=200?\"M0,0.5L0.5,0L0,-0.5L-0.5,0Z\":\"\")}x.symbolNumber=function(t){if(o(t))t=+t;else if(\"string\"==typeof t){var e=0;t.indexOf(\"-open\")>0&&(e=100,t=t.replace(\"-open\",\"\")),t.indexOf(\"-dot\")>0&&(e+=200,t=t.replace(\"-dot\",\"\")),(t=x.symbolNames.indexOf(t))>=0&&(t+=e)}return t%100>=w||t>=400?0:Math.floor(Math.max(t,0))};var k={x1:1,x2:0,y1:0,y2:0},A={x1:0,x2:0,y1:1,y2:0},M=a(\"~f\"),S={radial:{node:\"radialGradient\"},radialreversed:{node:\"radialGradient\",reversed:!0},horizontal:{node:\"linearGradient\",attrs:k},horizontalreversed:{node:\"linearGradient\",attrs:k,reversed:!0},vertical:{node:\"linearGradient\",attrs:A},verticalreversed:{node:\"linearGradient\",attrs:A,reversed:!0}};x.gradient=function(t,e,r,a,o,l){for(var u=o.length,f=S[a],h=new Array(u),p=0;p=100;var f=rt(t,r),h=G(t,r);e.attr(\"d\",T(u,l,f,h))}var p,d,m,g=!1;if(t.so)m=s.outlierwidth,d=s.outliercolor,p=o.outliercolor;else{var v=(s||{}).width;m=(t.mlw+1||v+1||(t.trace?(t.trace.marker.line||{}).width:0)+1)-1||0,d=\"mlc\"in t?t.mlcc=n.lineScale(t.mlc):i.isArrayOrTypedArray(s.color)?c.defaultLine:s.color,i.isArrayOrTypedArray(o.color)&&(p=c.defaultLine,g=!0),p=\"mc\"in t?t.mcc=n.markerScale(t.mc):o.color||\"rgba(0,0,0,0)\",n.selectedColorFn&&(p=n.selectedColorFn(t))}if(t.om)e.call(c.stroke,p).style({\"stroke-width\":(m||1)+\"px\",fill:\"none\"});else{e.style(\"stroke-width\",(t.isBlank?0:m)+\"px\");var y=o.gradient,b=t.mgt;b?g=!0:b=y&&y.type,i.isArrayOrTypedArray(b)&&(b=b[0],S[b]||(b=0));var _=o.pattern,w=_&&x.getPatternAttr(_.shape,t.i,\"\");if(b&&\"none\"!==b){var k=t.mgc;k?g=!0:k=y.color;var A=r.uid;g&&(A+=\"-\"+t.i),x.gradient(e,a,A,b,[[0,k],[1,p]],\"fill\")}else if(w){var M=x.getPatternAttr(_.bgcolor,t.i,null),E=x.getPatternAttr(_.fgcolor,t.i,null),L=_.fgopacity,C=x.getPatternAttr(_.size,t.i,8),P=x.getPatternAttr(_.solidity,t.i,.3),I=t.mcc||i.isArrayOrTypedArray(_.shape)||i.isArrayOrTypedArray(_.bgcolor)||i.isArrayOrTypedArray(_.size)||i.isArrayOrTypedArray(_.solidity),O=r.uid;I&&(O+=\"-\"+t.i),x.pattern(e,\"point\",a,O,w,C,P,t.mcc,_.fillmode,M,E,L)}else c.fill(e,p);m&&c.stroke(e,d)}},x.makePointStyleFns=function(t){var e={},r=t.marker;return e.markerScale=x.tryColorscale(r,\"\"),e.lineScale=x.tryColorscale(r,\"line\"),l.traceIs(t,\"symbols\")&&(e.ms2mrc=g.isBubble(t)?v(t):function(){return(r.size||6)/2}),t.selectedpoints&&i.extendFlat(e,x.makeSelectedPointStyleFns(t)),e},x.makeSelectedPointStyleFns=function(t){var e={},r=t.selected||{},n=t.unselected||{},a=t.marker||{},o=r.marker||{},s=n.marker||{},c=a.opacity,u=o.opacity,f=s.opacity,h=void 0!==u,p=void 0!==f;(i.isArrayOrTypedArray(c)||h||p)&&(e.selectedOpacityFn=function(t){var e=void 0===t.mo?a.opacity:t.mo;return t.selected?h?u:e:p?f:m*e});var d=a.color,g=o.color,v=s.color;(g||v)&&(e.selectedColorFn=function(t){var e=t.mcc||d;return t.selected?g||e:v||e});var y=a.size,x=o.size,b=s.size,_=void 0!==x,w=void 0!==b;return l.traceIs(t,\"symbols\")&&(_||w)&&(e.selectedSizeFn=function(t){var e=t.mrc||y/2;return t.selected?_?x/2:e:w?b/2:e}),e},x.makeSelectedTextStyleFns=function(t){var e={},r=t.selected||{},n=t.unselected||{},i=t.textfont||{},a=r.textfont||{},o=n.textfont||{},s=i.color,l=a.color,u=o.color;return e.selectedTextColorFn=function(t){var e=t.tc||s;return t.selected?l||e:u||(l?e:c.addOpacity(e,m))},e},x.selectedPointStyle=function(t,e){if(t.size()&&e.selectedpoints){var r=x.makeSelectedPointStyleFns(e),i=e.marker||{},a=[];r.selectedOpacityFn&&a.push((function(t,e){t.style(\"opacity\",r.selectedOpacityFn(e))})),r.selectedColorFn&&a.push((function(t,e){c.fill(t,r.selectedColorFn(e))})),r.selectedSizeFn&&a.push((function(t,n){var a=n.mx||i.symbol||0,o=r.selectedSizeFn(n);t.attr(\"d\",T(x.symbolNumber(a),o,rt(n,e),G(n,e))),n.mrc2=o})),a.length&&t.each((function(t){for(var e=n.select(this),r=0;r0?r:0}x.textPointStyle=function(t,e,r){if(t.size()){var a;if(e.selectedpoints){var o=x.makeSelectedTextStyleFns(e);a=o.selectedTextColorFn}var s=e.texttemplate,l=r._fullLayout;t.each((function(t){var o=n.select(this),c=s?i.extractOption(t,e,\"txt\",\"texttemplate\"):i.extractOption(t,e,\"tx\",\"text\");if(c||0===c){if(s){var u=e._module.formatLabels,f=u?u(t,e,l):{},p={};y(p,e,t.i);var d=e._meta||{};c=i.texttemplateString(c,f,l._d3locale,p,t,d)}var m=t.tp||e.textposition,g=C(t,e),v=a?a(t):t.tc||e.textfont.color;o.call(x.font,t.tf||e.textfont.family,g,v).text(c).call(h.convertToTspans,r).call(L,m,g,t.mrc)}else o.remove()}))}},x.selectedTextStyle=function(t,e){if(t.size()&&e.selectedpoints){var r=x.makeSelectedTextStyleFns(e);t.each((function(t){var i=n.select(this),a=r.selectedTextColorFn(t),o=t.tp||e.textposition,s=C(t,e);c.fill(i,a);var u=l.traceIs(e,\"bar-like\");L(i,o,s,t.mrc2||t.mrc,u)}))}};var P,I;function O(t,e,r){return r&&(t=N(t)),e?D(t[1]):z(t[0])}function z(t){var e=n.round(t,2);return P=e,e}function D(t){var e=n.round(t,2);return I=e,e}function R(t,e,r,n){var i=t[0]-e[0],a=t[1]-e[1],o=r[0]-e[0],s=r[1]-e[1],l=Math.pow(i*i+a*a,.25),c=Math.pow(o*o+s*s,.25),u=(c*c*i-l*l*o)*n,f=(c*c*a-l*l*s)*n,h=3*c*(l+c),p=3*l*(l+c);return[[z(e[0]+(h&&u/h)),D(e[1]+(h&&f/h))],[z(e[0]-(p&&u/p)),D(e[1]-(p&&f/p))]]}x.smoothopen=function(t,e){if(t.length<3)return\"M\"+t.join(\"L\");var r,n=\"M\"+t[0],i=[];for(r=1;r=c||b>=f&&b<=c)&&(_<=h&&_>=u||_>=h&&_<=u)&&(t=[b,_])}return t}x.steps=function(t){var e=F[t]||B;return function(t){for(var r=\"M\"+z(t[0][0])+\",\"+D(t[0][1]),n=t.length,i=1;i=1e4&&(x.savedBBoxes={},j=0),r&&(x.savedBBoxes[r]=g),j++,i.extendFlat({},g)},x.setClipUrl=function(t,e,r){t.attr(\"clip-path\",V(e,r))},x.getTranslate=function(t){var e=(t[t.attr?\"attr\":\"getAttribute\"](\"transform\")||\"\").replace(/.*\\btranslate\\((-?\\d*\\.?\\d*)[^-\\d]*(-?\\d*\\.?\\d*)[^\\d].*/,(function(t,e,r){return[e,r].join(\" \")})).split(\" \");return{x:+e[0]||0,y:+e[1]||0}},x.setTranslate=function(t,e,r){var n=t.attr?\"attr\":\"getAttribute\",i=t.attr?\"attr\":\"setAttribute\",a=t[n](\"transform\")||\"\";return e=e||0,r=r||0,a=a.replace(/(\\btranslate\\(.*?\\);?)/,\"\").trim(),a=(a+=f(e,r)).trim(),t[i](\"transform\",a),a},x.getScale=function(t){var e=(t[t.attr?\"attr\":\"getAttribute\"](\"transform\")||\"\").replace(/.*\\bscale\\((\\d*\\.?\\d*)[^\\d]*(\\d*\\.?\\d*)[^\\d].*/,(function(t,e,r){return[e,r].join(\" \")})).split(\" \");return{x:+e[0]||1,y:+e[1]||1}},x.setScale=function(t,e,r){var n=t.attr?\"attr\":\"getAttribute\",i=t.attr?\"attr\":\"setAttribute\",a=t[n](\"transform\")||\"\";return e=e||1,r=r||1,a=a.replace(/(\\bscale\\(.*?\\);?)/,\"\").trim(),a=(a+=\"scale(\"+e+\",\"+r+\")\").trim(),t[i](\"transform\",a),a};var H=/\\s*sc.*/;x.setPointGroupScale=function(t,e,r){if(e=e||1,r=r||1,t){var n=1===e&&1===r?\"\":\"scale(\"+e+\",\"+r+\")\";t.each((function(){var t=(this.getAttribute(\"transform\")||\"\").replace(H,\"\");t=(t+=n).trim(),this.setAttribute(\"transform\",t)}))}};var q=/translate\\([^)]*\\)\\s*$/;function G(t,e){var r;return t&&(r=t.mf),void 0===r&&(r=e.marker&&e.marker.standoff||0),e._geo||e._xA?r:-r}x.setTextPointsScale=function(t,e,r){t&&t.each((function(){var t,i=n.select(this),a=i.select(\"text\");if(a.node()){var o=parseFloat(a.attr(\"x\")||0),s=parseFloat(a.attr(\"y\")||0),l=(i.attr(\"transform\")||\"\").match(q);t=1===e&&1===r?[]:[f(o,s),\"scale(\"+e+\",\"+r+\")\",f(-o,-s)],l&&t.push(l),i.attr(\"transform\",t.join(\"\"))}}))},x.getMarkerStandoff=G;var Y,W,Z,X,J,K,Q=Math.atan2,$=Math.cos,tt=Math.sin;function et(t,e){var r=e[0],n=e[1];return[r*$(t)-n*tt(t),r*tt(t)+n*$(t)]}function rt(t,e){var r,n,i=t.ma;void 0===i&&(i=e.marker.angle||0);var a=e.marker.angleref;if(\"previous\"===a||\"north\"===a){if(e._geo){var s=e._geo.project(t.lonlat);r=s[0],n=s[1]}else{var l=e._xA,c=e._yA;if(!l||!c)return 90;r=l.c2p(t.x),n=c.c2p(t.y)}if(e._geo){var u,f=t.lonlat[0],h=t.lonlat[1],p=e._geo.project([f,h+1e-5]),d=e._geo.project([f+1e-5,h]),m=Q(d[1]-n,d[0]-r),g=Q(p[1]-n,p[0]-r);if(\"north\"===a)u=i/180*Math.PI;else if(\"previous\"===a){var v=f/180*Math.PI,y=h/180*Math.PI,x=Y/180*Math.PI,b=W/180*Math.PI,_=x-v,w=$(b)*tt(_),T=tt(b)*$(y)-$(b)*tt(y)*$(_);u=-Q(w,T)-Math.PI,Y=f,W=h}var k=et(m,[$(u),0]),A=et(g,[tt(u),0]);i=Q(k[1]+A[1],k[0]+A[0])/Math.PI*180,\"previous\"!==a||K===e.uid&&t.i===J+1||(i=null)}if(\"previous\"===a&&!e._geo)if(K===e.uid&&t.i===J+1&&o(r)&&o(n)){var M=r-Z,S=n-X,E=e.line&&e.line.shape||\"\",L=E.slice(E.length-1);\"h\"===L&&(S=0),\"v\"===L&&(M=0),i+=Q(S,M)/Math.PI*180+90}else i=null}return Z=r,X=n,J=t.i,K=e.uid,i}x.getMarkerAngle=rt},{\"../../components/fx/helpers\":403,\"../../constants/alignment\":483,\"../../constants/interactions\":490,\"../../constants/xmlns_namespaces\":492,\"../../lib\":515,\"../../lib/svg_text_utils\":541,\"../../registry\":647,\"../../traces/scatter/make_bubble_size_func\":953,\"../../traces/scatter/subtypes\":961,\"../color\":367,\"../colorscale\":379,\"./symbol_defs\":390,\"@plotly/d3\":58,\"fast-isnumeric\":190,tinycolor2:313}],390:[function(t,e,r){\"use strict\";var n,i,a,o,s=t(\"parse-svg-path\"),l=t(\"@plotly/d3\").round,c=Math.sqrt(2),u=Math.sqrt(3),f=Math.PI,h=Math.cos,p=Math.sin;function d(t){return null===t}function m(t,e,r){if(!(t&&t%360!=0||e))return r;if(a===t&&o===e&&n===r)return i;function l(t,r){var n=h(t),i=p(t),a=r[0],o=r[1]+(e||0);return[a*n-o*i,a*i+o*n]}a=t,o=e,n=r;for(var c=t/180*f,u=0,d=0,m=s(r),g=\"\",v=0;v0;e.each((function(e){var f,h=e[0].trace,p=h.error_x||{},d=h.error_y||{};h.ids&&(f=function(t){return t.id});var m=o.hasMarkers(h)&&h.marker.maxdisplayed>0;d.visible||p.visible||(e=[]);var g=n.select(this).selectAll(\"g.errorbar\").data(e,f);if(g.exit().remove(),e.length){p.visible||g.selectAll(\"path.xerror\").remove(),d.visible||g.selectAll(\"path.yerror\").remove(),g.style(\"opacity\",1);var v=g.enter().append(\"g\").classed(\"errorbar\",!0);u&&v.style(\"opacity\",0).transition().duration(s.duration).style(\"opacity\",1),a.setClipUrl(g,r.layerClipId,t),g.each((function(t){var e=n.select(this),r=function(t,e,r){var n={x:e.c2p(t.x),y:r.c2p(t.y)};void 0!==t.yh&&(n.yh=r.c2p(t.yh),n.ys=r.c2p(t.ys),i(n.ys)||(n.noYS=!0,n.ys=r.c2p(t.ys,!0)));void 0!==t.xh&&(n.xh=e.c2p(t.xh),n.xs=e.c2p(t.xs),i(n.xs)||(n.noXS=!0,n.xs=e.c2p(t.xs,!0)));return n}(t,l,c);if(!m||t.vis){var a,o=e.select(\"path.yerror\");if(d.visible&&i(r.x)&&i(r.yh)&&i(r.ys)){var f=d.width;a=\"M\"+(r.x-f)+\",\"+r.yh+\"h\"+2*f+\"m-\"+f+\",0V\"+r.ys,r.noYS||(a+=\"m-\"+f+\",0h\"+2*f),!o.size()?o=e.append(\"path\").style(\"vector-effect\",\"non-scaling-stroke\").classed(\"yerror\",!0):u&&(o=o.transition().duration(s.duration).ease(s.easing)),o.attr(\"d\",a)}else o.remove();var h=e.select(\"path.xerror\");if(p.visible&&i(r.y)&&i(r.xh)&&i(r.xs)){var g=(p.copy_ystyle?d:p).width;a=\"M\"+r.xh+\",\"+(r.y-g)+\"v\"+2*g+\"m0,-\"+g+\"H\"+r.xs,r.noXS||(a+=\"m0,-\"+g+\"v\"+2*g),!h.size()?h=e.append(\"path\").style(\"vector-effect\",\"non-scaling-stroke\").classed(\"xerror\",!0):u&&(h=h.transition().duration(s.duration).ease(s.easing)),h.attr(\"d\",a)}else h.remove()}}))}}))}},{\"../../traces/scatter/subtypes\":961,\"../drawing\":389,\"@plotly/d3\":58,\"fast-isnumeric\":190}],397:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\"),i=t(\"../color\");e.exports=function(t){t.each((function(t){var e=t[0].trace,r=e.error_y||{},a=e.error_x||{},o=n.select(this);o.selectAll(\"path.yerror\").style(\"stroke-width\",r.thickness+\"px\").call(i.stroke,r.color),a.copy_ystyle&&(a=r),o.selectAll(\"path.xerror\").style(\"stroke-width\",a.thickness+\"px\").call(i.stroke,a.color)}))}},{\"../color\":367,\"@plotly/d3\":58}],398:[function(t,e,r){\"use strict\";var n=t(\"../../plots/font_attributes\"),i=t(\"./layout_attributes\").hoverlabel,a=t(\"../../lib/extend\").extendFlat;e.exports={hoverlabel:{bgcolor:a({},i.bgcolor,{arrayOk:!0}),bordercolor:a({},i.bordercolor,{arrayOk:!0}),font:n({arrayOk:!0,editType:\"none\"}),align:a({},i.align,{arrayOk:!0}),namelength:a({},i.namelength,{arrayOk:!0}),editType:\"none\"}}},{\"../../lib/extend\":505,\"../../plots/font_attributes\":594,\"./layout_attributes\":408}],399:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../registry\");function a(t,e,r,i){i=i||n.identity,Array.isArray(t)&&(e[0][r]=i(t))}e.exports=function(t){var e=t.calcdata,r=t._fullLayout;function o(t){return function(e){return n.coerceHoverinfo({hoverinfo:e},{_module:t._module},r)}}for(var s=0;s=0&&r.index_[0]._length||ot<0||ot>w[0]._length)return d.unhoverRaw(t,e)}if(e.pointerX=at+_[0]._offset,e.pointerY=ot+w[0]._offset,V=\"xval\"in e?v.flat(l,e.xval):v.p2c(_,at),H=\"yval\"in e?v.flat(l,e.yval):v.p2c(w,ot),!i(V[0])||!i(H[0]))return o.warn(\"Fx.hover failed\",e,t),d.unhoverRaw(t,e)}var ct=1/0;function ut(t,r){for(G=0;Gtt&&(et.splice(0,tt),ct=et[0].distance),y&&0!==B&&0===et.length){$.distance=B,$.index=!1;var f=W._module.hoverPoints($,K,Q,\"closest\",{hoverLayer:u._hoverlayer});if(f&&(f=f.filter((function(t){return t.spikeDistance<=B}))),f&&f.length){var h,d=f.filter((function(t){return t.xa.showspikes&&\"hovered data\"!==t.xa.spikesnap}));if(d.length){var m=d[0];i(m.x0)&&i(m.y0)&&(h=ht(m),(!nt.vLinePoint||nt.vLinePoint.spikeDistance>h.spikeDistance)&&(nt.vLinePoint=h))}var g=f.filter((function(t){return t.ya.showspikes&&\"hovered data\"!==t.ya.spikesnap}));if(g.length){var x=g[0];i(x.x0)&&i(x.y0)&&(h=ht(x),(!nt.hLinePoint||nt.hLinePoint.spikeDistance>h.spikeDistance)&&(nt.hLinePoint=h))}}}}}function ft(t,e,r){for(var n,i=null,a=1/0,o=0;o0&&Math.abs(t.distance)Tt-1;Mt--)Ct(et[Mt]);et=St,gt()}var Pt=t._hoverdata,It=[],Ot=j(t),zt=U(t);for(q=0;q1||et.length>1)||\"closest\"===P&&it&&et.length>1,Wt=p.combine(u.plot_bgcolor||p.background,u.paper_bgcolor),Zt=I(et,{gd:t,hovermode:P,rotateLabels:Yt,bgColor:Wt,container:u._hoverlayer,outerContainer:u._paper.node(),commonLabelOpts:u.hoverlabel,hoverdistance:u.hoverdistance});v.isUnifiedHover(P)||(!function(t,e,r){var n,i,a,o,s,l,c,u=0,f=1,h=t.size(),p=new Array(h),d=0;function m(t){var e=t[0],r=t[t.length-1];if(i=e.pmin-e.pos-e.dp+e.size,a=r.pos+r.dp+r.size-e.pmax,i>.01){for(s=t.length-1;s>=0;s--)t[s].dp+=i;n=!1}if(!(a<.01)){if(i<-.01){for(s=t.length-1;s>=0;s--)t[s].dp-=a;n=!1}if(n){var c=0;for(o=0;oe.pmax&&c++;for(o=t.length-1;o>=0&&!(c<=0);o--)(l=t[o]).pos>e.pmax-1&&(l.del=!0,c--);for(o=0;o=0;s--)t[s].dp-=a;for(o=t.length-1;o>=0&&!(c<=0);o--)(l=t[o]).pos+l.dp+l.size>e.pmax&&(l.del=!0,c--)}}}t.each((function(t){var n=t[e],i=\"x\"===n._id.charAt(0),a=n.range;0===d&&a&&a[0]>a[1]!==i&&(f=-1),p[d++]=[{datum:t,traceIndex:t.trace.index,dp:0,pos:t.pos,posref:t.posref,size:t.by*(i?T:1)/2,pmin:0,pmax:i?r.width:r.height}]})),p.sort((function(t,e){return t[0].posref-e[0].posref||f*(e[0].traceIndex-t[0].traceIndex)}));for(;!n&&u<=h;){for(u++,n=!0,o=0;o.01&&y.pmin===x.pmin&&y.pmax===x.pmax){for(s=v.length-1;s>=0;s--)v[s].dp+=i;for(g.push.apply(g,v),p.splice(o+1,1),c=0,s=g.length-1;s>=0;s--)c+=g[s].dp;for(a=c/g.length,s=g.length-1;s>=0;s--)g[s].dp-=a;n=!1}else o++}p.forEach(m)}for(o=p.length-1;o>=0;o--){var b=p[o];for(s=b.length-1;s>=0;s--){var _=b[s],w=_.datum;w.offset=_.dp,w.del=_.del}}}(Zt,Yt?\"xa\":\"ya\",u),z(Zt,Yt,u._invScaleX,u._invScaleY));if(s&&s.tagName){var Xt=g.getComponentMethod(\"annotations\",\"hasClickToShow\")(t,It);f(n.select(s),Xt?\"pointer\":\"\")}if(!s||a||!function(t,e,r){if(!r||r.length!==t._hoverdata.length)return!0;for(var n=r.length-1;n>=0;n--){var i=r[n],a=t._hoverdata[n];if(i.curveNumber!==a.curveNumber||String(i.pointNumber)!==String(a.pointNumber)||String(i.pointNumbers)!==String(a.pointNumbers))return!0}return!1}(t,0,Pt))return;Pt&&t.emit(\"plotly_unhover\",{event:e,points:Pt});t.emit(\"plotly_hover\",{event:e,points:t._hoverdata,xaxes:_,yaxes:w,xvals:V,yvals:H})}(t,e,r,a,s)}))},r.loneHover=function(t,e){var r=!0;Array.isArray(t)||(r=!1,t=[t]);var i=e.gd,a=j(i),o=U(i),s=I(t.map((function(t){var r=t._x0||t.x0||t.x||0,n=t._x1||t.x1||t.x||0,s=t._y0||t.y0||t.y||0,l=t._y1||t.y1||t.y||0,c=t.eventData;if(c){var u=Math.min(r,n),f=Math.max(r,n),h=Math.min(s,l),d=Math.max(s,l),m=t.trace;if(g.traceIs(m,\"gl3d\")){var v=i._fullLayout[m.scene]._scene.container,y=v.offsetLeft,x=v.offsetTop;u+=y,f+=y,h+=x,d+=x}c.bbox={x0:u+o,x1:f+o,y0:h+a,y1:d+a},e.inOut_bbox&&e.inOut_bbox.push(c.bbox)}else c=!1;return{color:t.color||p.defaultLine,x0:t.x0||t.x||0,x1:t.x1||t.x||0,y0:t.y0||t.y||0,y1:t.y1||t.y||0,xLabel:t.xLabel,yLabel:t.yLabel,zLabel:t.zLabel,text:t.text,name:t.name,idealAlign:t.idealAlign,borderColor:t.borderColor,fontFamily:t.fontFamily,fontSize:t.fontSize,fontColor:t.fontColor,nameLength:t.nameLength,textAlign:t.textAlign,trace:t.trace||{index:0,hoverinfo:\"\"},xa:{_offset:0},ya:{_offset:0},index:0,hovertemplate:t.hovertemplate||!1,hovertemplateLabels:t.hovertemplateLabels||!1,eventData:c}})),{gd:i,hovermode:\"closest\",rotateLabels:!1,bgColor:e.bgColor||p.background,container:n.select(e.container),outerContainer:e.outerContainer||e.container}),l=0,c=0;return s.sort((function(t,e){return t.y0-e.y0})).each((function(t,r){var n=t.y0-t.by/2;t.offset=n-5([\\s\\S]*)<\\/extra>/;function I(t,e){var r=e.gd,i=r._fullLayout,a=e.hovermode,c=e.rotateLabels,f=e.bgColor,d=e.container,m=e.outerContainer,w=e.commonLabelOpts||{};if(0===t.length)return[[]];var T=e.fontFamily||y.HOVERFONT,k=e.fontSize||y.HOVERFONTSIZE,A=t[0],E=A.xa,L=A.ya,P=a.charAt(0),I=A[P+\"Label\"],z=V(r,m),D=z.top,R=z.width,F=z.height,B=void 0!==I&&A.distance<=e.hoverdistance&&(\"x\"===a||\"y\"===a);if(B){var N,j,U=!0;for(N=0;Ni.width-b?(g=i.width-b,e.attr(\"d\",\"M\"+(b-M)+\",0L\"+b+\",\"+x+M+\"v\"+x+(2*S+y.height)+\"H-\"+b+\"V\"+x+M+\"H\"+(b-2*M)+\"Z\")):e.attr(\"d\",\"M0,0L\"+M+\",\"+x+M+\"H\"+(S+y.width/2)+\"v\"+x+(2*S+y.height)+\"H-\"+(S+y.width/2)+\"V\"+x+M+\"H-\"+M+\"Z\")}else{var _,C,P;\"right\"===L.side?(_=\"start\",C=1,P=\"\",g=E._offset+E._length):(_=\"end\",C=-1,P=\"-\",g=E._offset),v=L._offset+(A.y0+A.y1)/2,l.attr(\"text-anchor\",_),e.attr(\"d\",\"M0,0L\"+P+M+\",\"+M+\"V\"+(S+y.height/2)+\"h\"+P+(2*S+y.width)+\"V-\"+(S+y.height/2)+\"H\"+P+M+\"V-\"+M+\"Z\");var O,z=y.height/2,R=D-y.top-z,F=\"clip\"+i._uid+\"commonlabel\"+L._id;if(g=0?at:ot+ct=0?ot:vt+ct=0?nt:it+ut=0?it:yt+ut=0,\"top\"!==t.idealAlign&&G||!Y?G?(z+=j/2,t.anchor=\"start\"):t.anchor=\"middle\":(z-=j/2,t.anchor=\"end\");else if(t.pos=z,G=P+N/2+W<=R,Y=P-N/2-W>=0,\"left\"!==t.idealAlign&&G||!Y)if(G)P+=N/2,t.anchor=\"start\";else{t.anchor=\"middle\";var Z=W/2,X=P+Z-R,J=P-Z;X>0&&(P-=X),J<0&&(P+=-J)}else P-=N/2,t.anchor=\"end\";w.attr(\"text-anchor\",t.anchor),E&&A.attr(\"text-anchor\",t.anchor),e.attr(\"transform\",s(P,z)+(c?l(_):\"\"))})),xt}function O(t,e,r,n,i,a){var s=\"\",l=\"\";void 0!==t.nameOverride&&(t.name=t.nameOverride),t.name&&(t.trace._meta&&(t.name=o.templateString(t.name,t.trace._meta)),s=B(t.name,t.nameLength));var c=r.charAt(0),u=\"x\"===c?\"y\":\"x\";void 0!==t.zLabel?(void 0!==t.xLabel&&(l+=\"x: \"+t.xLabel+\"
\"),void 0!==t.yLabel&&(l+=\"y: \"+t.yLabel+\"
\"),\"choropleth\"!==t.trace.type&&\"choroplethmapbox\"!==t.trace.type&&(l+=(l?\"z: \":\"\")+t.zLabel)):e&&t[c+\"Label\"]===i?l=t[u+\"Label\"]||\"\":void 0===t.xLabel?void 0!==t.yLabel&&\"scattercarpet\"!==t.trace.type&&(l=t.yLabel):l=void 0===t.yLabel?t.xLabel:\"(\"+t.xLabel+\", \"+t.yLabel+\")\",!t.text&&0!==t.text||Array.isArray(t.text)||(l+=(l?\"
\":\"\")+t.text),void 0!==t.extraText&&(l+=(l?\"
\":\"\")+t.extraText),a&&\"\"===l&&!t.hovertemplate&&(\"\"===s&&a.remove(),l=s);var f=t.hovertemplate||!1;if(f){var h=t.hovertemplateLabels||t;t[c+\"Label\"]!==i&&(h[c+\"other\"]=h[c+\"Val\"],h[c+\"otherLabel\"]=h[c+\"Label\"]),l=(l=o.hovertemplateString(f,h,n._d3locale,t.eventData[0]||{},t.trace._meta)).replace(P,(function(e,r){return s=B(r,t.nameLength),\"\"}))}return[l,s]}function z(t,e,r,i){var a=function(t){return t*r},o=function(t){return t*i};t.each((function(t){var r=n.select(this);if(t.del)return r.remove();var i=r.select(\"text.nums\"),s=t.anchor,l=\"end\"===s?-1:1,c={start:1,end:-1,middle:0}[s],f=c*(M+S),p=f+c*(t.txwidth+S),d=0,m=t.offset,g=\"middle\"===s;g&&(f-=t.tx2width/2,p+=t.txwidth/2+S),e&&(m*=-A,d=t.offset*k),r.select(\"path\").attr(\"d\",g?\"M-\"+a(t.bx/2+t.tx2width/2)+\",\"+o(m-t.by/2)+\"h\"+a(t.bx)+\"v\"+o(t.by)+\"h-\"+a(t.bx)+\"Z\":\"M0,0L\"+a(l*M+d)+\",\"+o(M+m)+\"v\"+o(t.by/2-M)+\"h\"+a(l*t.bx)+\"v-\"+o(t.by)+\"H\"+a(l*M+d)+\"V\"+o(m-M)+\"Z\");var v=d+f,y=m+t.ty0-t.by/2+S,x=t.textAlign||\"auto\";\"auto\"!==x&&(\"left\"===x&&\"start\"!==s?(i.attr(\"text-anchor\",\"start\"),v=g?-t.bx/2-t.tx2width/2+S:-t.bx-S):\"right\"===x&&\"end\"!==s&&(i.attr(\"text-anchor\",\"end\"),v=g?t.bx/2-t.tx2width/2-S:t.bx+S)),i.call(u.positionText,a(v),o(y)),t.tx2width&&(r.select(\"text.name\").call(u.positionText,a(p+c*S+d),o(m+t.ty0-t.by/2+S)),r.select(\"rect\").call(h.setRect,a(p+(c-1)*t.tx2width/2+d),o(m-t.by/2-1),a(t.tx2width),o(t.by+2)))}))}function D(t,e){var r=t.index,n=t.trace||{},a=t.cd[0],s=t.cd[r]||{};function l(t){return t||i(t)&&0===t}var c=Array.isArray(r)?function(t,e){var i=o.castOption(a,r,t);return l(i)?i:o.extractOption({},n,\"\",e)}:function(t,e){return o.extractOption(s,n,t,e)};function u(e,r,n){var i=c(r,n);l(i)&&(t[e]=i)}if(u(\"hoverinfo\",\"hi\",\"hoverinfo\"),u(\"bgcolor\",\"hbg\",\"hoverlabel.bgcolor\"),u(\"borderColor\",\"hbc\",\"hoverlabel.bordercolor\"),u(\"fontFamily\",\"htf\",\"hoverlabel.font.family\"),u(\"fontSize\",\"hts\",\"hoverlabel.font.size\"),u(\"fontColor\",\"htc\",\"hoverlabel.font.color\"),u(\"nameLength\",\"hnl\",\"hoverlabel.namelength\"),u(\"textAlign\",\"hta\",\"hoverlabel.align\"),t.posref=\"y\"===e||\"closest\"===e&&\"h\"===n.orientation?t.xa._offset+(t.x0+t.x1)/2:t.ya._offset+(t.y0+t.y1)/2,t.x0=o.constrain(t.x0,0,t.xa._length),t.x1=o.constrain(t.x1,0,t.xa._length),t.y0=o.constrain(t.y0,0,t.ya._length),t.y1=o.constrain(t.y1,0,t.ya._length),void 0!==t.xLabelVal&&(t.xLabel=\"xLabel\"in t?t.xLabel:m.hoverLabelText(t.xa,t.xLabelVal,n.xhoverformat),t.xVal=t.xa.c2d(t.xLabelVal)),void 0!==t.yLabelVal&&(t.yLabel=\"yLabel\"in t?t.yLabel:m.hoverLabelText(t.ya,t.yLabelVal,n.yhoverformat),t.yVal=t.ya.c2d(t.yLabelVal)),void 0!==t.zLabelVal&&void 0===t.zLabel&&(t.zLabel=String(t.zLabelVal)),!(isNaN(t.xerr)||\"log\"===t.xa.type&&t.xerr<=0)){var f=m.tickText(t.xa,t.xa.c2l(t.xerr),\"hover\").text;void 0!==t.xerrneg?t.xLabel+=\" +\"+f+\" / -\"+m.tickText(t.xa,t.xa.c2l(t.xerrneg),\"hover\").text:t.xLabel+=\" \\xb1 \"+f,\"x\"===e&&(t.distance+=1)}if(!(isNaN(t.yerr)||\"log\"===t.ya.type&&t.yerr<=0)){var h=m.tickText(t.ya,t.ya.c2l(t.yerr),\"hover\").text;void 0!==t.yerrneg?t.yLabel+=\" +\"+h+\" / -\"+m.tickText(t.ya,t.ya.c2l(t.yerrneg),\"hover\").text:t.yLabel+=\" \\xb1 \"+h,\"y\"===e&&(t.distance+=1)}var p=t.hoverinfo||t.trace.hoverinfo;return p&&\"all\"!==p&&(-1===(p=Array.isArray(p)?p:p.split(\"+\")).indexOf(\"x\")&&(t.xLabel=void 0),-1===p.indexOf(\"y\")&&(t.yLabel=void 0),-1===p.indexOf(\"z\")&&(t.zLabel=void 0),-1===p.indexOf(\"text\")&&(t.text=void 0),-1===p.indexOf(\"name\")&&(t.name=void 0)),t}function R(t,e,r){var n,i,o=r.container,s=r.fullLayout,l=s._size,c=r.event,u=!!e.hLinePoint,f=!!e.vLinePoint;if(o.selectAll(\".spikeline\").remove(),f||u){var d=p.combine(s.plot_bgcolor,s.paper_bgcolor);if(u){var g,v,y=e.hLinePoint;n=y&&y.xa,\"cursor\"===(i=y&&y.ya).spikesnap?(g=c.pointerX,v=c.pointerY):(g=n._offset+y.x,v=i._offset+y.y);var x,b,_=a.readability(y.color,d)<1.5?p.contrast(d):y.color,w=i.spikemode,T=i.spikethickness,k=i.spikecolor||_,A=m.getPxPosition(t,i);if(-1!==w.indexOf(\"toaxis\")||-1!==w.indexOf(\"across\")){if(-1!==w.indexOf(\"toaxis\")&&(x=A,b=g),-1!==w.indexOf(\"across\")){var M=i._counterDomainMin,S=i._counterDomainMax;\"free\"===i.anchor&&(M=Math.min(M,i.position),S=Math.max(S,i.position)),x=l.l+M*l.w,b=l.l+S*l.w}o.insert(\"line\",\":first-child\").attr({x1:x,x2:b,y1:v,y2:v,\"stroke-width\":T,stroke:k,\"stroke-dasharray\":h.dashStyle(i.spikedash,T)}).classed(\"spikeline\",!0).classed(\"crisp\",!0),o.insert(\"line\",\":first-child\").attr({x1:x,x2:b,y1:v,y2:v,\"stroke-width\":T+2,stroke:d}).classed(\"spikeline\",!0).classed(\"crisp\",!0)}-1!==w.indexOf(\"marker\")&&o.insert(\"circle\",\":first-child\").attr({cx:A+(\"right\"!==i.side?T:-T),cy:v,r:T,fill:k}).classed(\"spikeline\",!0)}if(f){var E,L,C=e.vLinePoint;n=C&&C.xa,i=C&&C.ya,\"cursor\"===n.spikesnap?(E=c.pointerX,L=c.pointerY):(E=n._offset+C.x,L=i._offset+C.y);var P,I,O=a.readability(C.color,d)<1.5?p.contrast(d):C.color,z=n.spikemode,D=n.spikethickness,R=n.spikecolor||O,F=m.getPxPosition(t,n);if(-1!==z.indexOf(\"toaxis\")||-1!==z.indexOf(\"across\")){if(-1!==z.indexOf(\"toaxis\")&&(P=F,I=L),-1!==z.indexOf(\"across\")){var B=n._counterDomainMin,N=n._counterDomainMax;\"free\"===n.anchor&&(B=Math.min(B,n.position),N=Math.max(N,n.position)),P=l.t+(1-N)*l.h,I=l.t+(1-B)*l.h}o.insert(\"line\",\":first-child\").attr({x1:E,x2:E,y1:P,y2:I,\"stroke-width\":D,stroke:R,\"stroke-dasharray\":h.dashStyle(n.spikedash,D)}).classed(\"spikeline\",!0).classed(\"crisp\",!0),o.insert(\"line\",\":first-child\").attr({x1:E,x2:E,y1:P,y2:I,\"stroke-width\":D+2,stroke:d}).classed(\"spikeline\",!0).classed(\"crisp\",!0)}-1!==z.indexOf(\"marker\")&&o.insert(\"circle\",\":first-child\").attr({cx:E,cy:F-(\"top\"!==n.side?D:-D),r:D,fill:R}).classed(\"spikeline\",!0)}}}function F(t,e){return!e||(e.vLinePoint!==t._spikepoints.vLinePoint||e.hLinePoint!==t._spikepoints.hLinePoint)}function B(t,e){return u.plainText(t||\"\",{len:e,allowedTags:[\"br\",\"sub\",\"sup\",\"b\",\"i\",\"em\"]})}function N(t,e,r){var n=e[t+\"a\"],i=e[t+\"Val\"],a=e.cd[0];if(\"category\"===n.type)i=n._categoriesMap[i];else if(\"date\"===n.type){var o=e.trace[t+\"periodalignment\"];if(o){var s=e.cd[e.index],l=s[t+\"Start\"];void 0===l&&(l=s[t]);var c=s[t+\"End\"];void 0===c&&(c=s[t]);var u=c-l;\"end\"===o?i+=u:\"middle\"===o&&(i+=u/2)}i=n.d2c(i)}return a&&a.t&&a.t.posLetter===n._id&&(\"group\"!==r.boxmode&&\"group\"!==r.violinmode||(i+=a.t.dPos)),i}function j(t){return t.offsetTop+t.clientTop}function U(t){return t.offsetLeft+t.clientLeft}function V(t,e){var r=t._fullLayout,n=e.getBoundingClientRect(),i=n.x,a=n.y,s=i+n.width,l=a+n.height,c=o.apply3DTransform(r._invTransform)(i,a),u=o.apply3DTransform(r._invTransform)(s,l),f=c[0],h=c[1],p=u[0],d=u[1];return{x:f,y:h,width:p-f,height:d-h,top:Math.min(h,d),left:Math.min(f,p),right:Math.max(f,p),bottom:Math.max(h,d)}}},{\"../../lib\":515,\"../../lib/events\":504,\"../../lib/override_cursor\":526,\"../../lib/svg_text_utils\":541,\"../../plots/cartesian/axes\":566,\"../../registry\":647,\"../color\":367,\"../dragelement\":386,\"../drawing\":389,\"../legend/defaults\":419,\"../legend/draw\":420,\"./constants\":401,\"./helpers\":403,\"@plotly/d3\":58,\"fast-isnumeric\":190,tinycolor2:313}],405:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../color\"),a=t(\"./helpers\").isUnifiedHover;e.exports=function(t,e,r,o){o=o||{};var s=e.legend;function l(t){o.font[t]||(o.font[t]=s?e.legend.font[t]:e.font[t])}e&&a(e.hovermode)&&(o.font||(o.font={}),l(\"size\"),l(\"family\"),l(\"color\"),s?(o.bgcolor||(o.bgcolor=i.combine(e.legend.bgcolor,e.paper_bgcolor)),o.bordercolor||(o.bordercolor=e.legend.bordercolor)):o.bgcolor||(o.bgcolor=e.paper_bgcolor)),r(\"hoverlabel.bgcolor\",o.bgcolor),r(\"hoverlabel.bordercolor\",o.bordercolor),r(\"hoverlabel.namelength\",o.namelength),n.coerceFont(r,\"hoverlabel.font\",o.font),r(\"hoverlabel.align\",o.align)}},{\"../../lib\":515,\"../color\":367,\"./helpers\":403}],406:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"./layout_attributes\");e.exports=function(t,e){function r(r,a){return void 0!==e[r]?e[r]:n.coerce(t,e,i,r,a)}return r(\"clickmode\"),r(\"hovermode\")}},{\"../../lib\":515,\"./layout_attributes\":408}],407:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\"),i=t(\"../../lib\"),a=t(\"../dragelement\"),o=t(\"./helpers\"),s=t(\"./layout_attributes\"),l=t(\"./hover\");e.exports={moduleType:\"component\",name:\"fx\",constants:t(\"./constants\"),schema:{layout:s},attributes:t(\"./attributes\"),layoutAttributes:s,supplyLayoutGlobalDefaults:t(\"./layout_global_defaults\"),supplyDefaults:t(\"./defaults\"),supplyLayoutDefaults:t(\"./layout_defaults\"),calc:t(\"./calc\"),getDistanceFunction:o.getDistanceFunction,getClosest:o.getClosest,inbox:o.inbox,quadrature:o.quadrature,appendArrayPointValue:o.appendArrayPointValue,castHoverOption:function(t,e,r){return i.castOption(t,e,\"hoverlabel.\"+r)},castHoverinfo:function(t,e,r){return i.castOption(t,r,\"hoverinfo\",(function(r){return i.coerceHoverinfo({hoverinfo:r},{_module:t._module},e)}))},hover:l.hover,unhover:a.unhover,loneHover:l.loneHover,loneUnhover:function(t){var e=i.isD3Selection(t)?t:n.select(t);e.selectAll(\"g.hovertext\").remove(),e.selectAll(\".spikeline\").remove()},click:t(\"./click\")}},{\"../../lib\":515,\"../dragelement\":386,\"./attributes\":398,\"./calc\":399,\"./click\":400,\"./constants\":401,\"./defaults\":402,\"./helpers\":403,\"./hover\":404,\"./layout_attributes\":408,\"./layout_defaults\":409,\"./layout_global_defaults\":410,\"@plotly/d3\":58}],408:[function(t,e,r){\"use strict\";var n=t(\"./constants\"),i=t(\"../../plots/font_attributes\"),a=i({editType:\"none\"});a.family.dflt=n.HOVERFONT,a.size.dflt=n.HOVERFONTSIZE,e.exports={clickmode:{valType:\"flaglist\",flags:[\"event\",\"select\"],dflt:\"event\",editType:\"plot\",extras:[\"none\"]},dragmode:{valType:\"enumerated\",values:[\"zoom\",\"pan\",\"select\",\"lasso\",\"drawclosedpath\",\"drawopenpath\",\"drawline\",\"drawrect\",\"drawcircle\",\"orbit\",\"turntable\",!1],dflt:\"zoom\",editType:\"modebar\"},hovermode:{valType:\"enumerated\",values:[\"x\",\"y\",\"closest\",!1,\"x unified\",\"y unified\"],dflt:\"closest\",editType:\"modebar\"},hoverdistance:{valType:\"integer\",min:-1,dflt:20,editType:\"none\"},spikedistance:{valType:\"integer\",min:-1,dflt:-1,editType:\"none\"},hoverlabel:{bgcolor:{valType:\"color\",editType:\"none\"},bordercolor:{valType:\"color\",editType:\"none\"},font:a,grouptitlefont:i({editType:\"none\"}),align:{valType:\"enumerated\",values:[\"left\",\"right\",\"auto\"],dflt:\"auto\",editType:\"none\"},namelength:{valType:\"integer\",min:-1,dflt:15,editType:\"none\"},editType:\"none\"},selectdirection:{valType:\"enumerated\",values:[\"h\",\"v\",\"d\",\"any\"],dflt:\"any\",editType:\"none\"}}},{\"../../plots/font_attributes\":594,\"./constants\":401}],409:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"./layout_attributes\"),a=t(\"./hovermode_defaults\"),o=t(\"./hoverlabel_defaults\");e.exports=function(t,e){function r(r,a){return n.coerce(t,e,i,r,a)}a(t,e)&&(r(\"hoverdistance\"),r(\"spikedistance\")),\"select\"===r(\"dragmode\")&&r(\"selectdirection\");var s=e._has(\"mapbox\"),l=e._has(\"geo\"),c=e._basePlotModules.length;\"zoom\"===e.dragmode&&((s||l)&&1===c||s&&l&&2===c)&&(e.dragmode=\"pan\"),o(t,e,r),n.coerceFont(r,\"hoverlabel.grouptitlefont\",e.hoverlabel.font)}},{\"../../lib\":515,\"./hoverlabel_defaults\":405,\"./hovermode_defaults\":406,\"./layout_attributes\":408}],410:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"./hoverlabel_defaults\"),a=t(\"./layout_attributes\");e.exports=function(t,e){i(t,e,(function(r,i){return n.coerce(t,e,a,r,i)}))}},{\"../../lib\":515,\"./hoverlabel_defaults\":405,\"./layout_attributes\":408}],411:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../lib/regex\").counter,a=t(\"../../plots/domain\").attributes,o=t(\"../../plots/cartesian/constants\").idRegex,s=t(\"../../plot_api/plot_template\"),l={rows:{valType:\"integer\",min:1,editType:\"plot\"},roworder:{valType:\"enumerated\",values:[\"top to bottom\",\"bottom to top\"],dflt:\"top to bottom\",editType:\"plot\"},columns:{valType:\"integer\",min:1,editType:\"plot\"},subplots:{valType:\"info_array\",freeLength:!0,dimensions:2,items:{valType:\"enumerated\",values:[i(\"xy\").toString(),\"\"],editType:\"plot\"},editType:\"plot\"},xaxes:{valType:\"info_array\",freeLength:!0,items:{valType:\"enumerated\",values:[o.x.toString(),\"\"],editType:\"plot\"},editType:\"plot\"},yaxes:{valType:\"info_array\",freeLength:!0,items:{valType:\"enumerated\",values:[o.y.toString(),\"\"],editType:\"plot\"},editType:\"plot\"},pattern:{valType:\"enumerated\",values:[\"independent\",\"coupled\"],dflt:\"coupled\",editType:\"plot\"},xgap:{valType:\"number\",min:0,max:1,editType:\"plot\"},ygap:{valType:\"number\",min:0,max:1,editType:\"plot\"},domain:a({name:\"grid\",editType:\"plot\",noGridCell:!0},{}),xside:{valType:\"enumerated\",values:[\"bottom\",\"bottom plot\",\"top plot\",\"top\"],dflt:\"bottom plot\",editType:\"plot\"},yside:{valType:\"enumerated\",values:[\"left\",\"left plot\",\"right plot\",\"right\"],dflt:\"left plot\",editType:\"plot\"},editType:\"plot\"};function c(t,e,r){var n=e[r+\"axes\"],i=Object.keys((t._splomAxes||{})[r]||{});return Array.isArray(n)?n:i.length?i:void 0}function u(t,e,r,n,i,a){var o=e(t+\"gap\",r),s=e(\"domain.\"+t);e(t+\"side\",n);for(var l=new Array(i),c=s[0],u=(s[1]-c)/(i-o),f=u*(1-o),h=0;h1){if(!h&&!p&&!d)\"independent\"===k(\"pattern\")&&(h=!0);g._hasSubplotGrid=h;var x,b,_=\"top to bottom\"===k(\"roworder\"),w=h?.2:.1,T=h?.3:.1;m&&e._splomGridDflt&&(x=e._splomGridDflt.xside,b=e._splomGridDflt.yside),g._domains={x:u(\"x\",k,w,x,y),y:u(\"y\",k,T,b,v,_)}}else delete e.grid}function k(t,e){return n.coerce(r,g,l,t,e)}},contentDefaults:function(t,e){var r=e.grid;if(r&&r._domains){var n,i,a,o,s,l,u,h=t.grid||{},p=e._subplots,d=r._hasSubplotGrid,m=r.rows,g=r.columns,v=\"independent\"===r.pattern,y=r._axisMap={};if(d){var x=h.subplots||[];l=r.subplots=new Array(m);var b=1;for(n=0;n1);if(!1===_&&(e.legend=void 0),(!1!==_||f.uirevision)&&(p(\"uirevision\",e.uirevision),!1!==_)){p(\"bgcolor\",e.paper_bgcolor),p(\"bordercolor\"),p(\"borderwidth\");var w,T,k,A=i.coerceFont(p,\"font\",e.font),M=\"h\"===p(\"orientation\");if(M?(w=0,n.getComponentMethod(\"rangeslider\",\"isVisible\")(t.xaxis)?(T=1.1,k=\"bottom\"):(T=-.1,k=\"top\")):(w=1.02,T=1,k=\"auto\"),p(\"traceorder\",x),c.isGrouped(e.legend)&&p(\"tracegroupgap\"),p(\"entrywidth\"),p(\"entrywidthmode\"),p(\"itemsizing\"),p(\"itemwidth\"),p(\"itemclick\"),p(\"itemdoubleclick\"),p(\"groupclick\"),p(\"x\",w),p(\"xanchor\"),p(\"y\",T),p(\"yanchor\",k),p(\"valign\"),i.noneOrAll(f,h,[\"x\",\"y\"]),p(\"title.text\")){p(\"title.side\",M?\"left\":\"top\");var S=i.extendFlat({},A,{size:i.bigFont(A.size)});i.coerceFont(p,\"title.font\",S)}}}},{\"../../lib\":515,\"../../plot_api/plot_template\":555,\"../../plots/attributes\":562,\"../../plots/layout_attributes\":619,\"../../registry\":647,\"./attributes\":417,\"./helpers\":423}],420:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\"),i=t(\"../../lib\"),a=t(\"../../plots/plots\"),o=t(\"../../registry\"),s=t(\"../../lib/events\"),l=t(\"../dragelement\"),c=t(\"../drawing\"),u=t(\"../color\"),f=t(\"../../lib/svg_text_utils\"),h=t(\"./handle_click\"),p=t(\"./constants\"),d=t(\"../../constants/alignment\"),m=d.LINE_SPACING,g=d.FROM_TL,v=d.FROM_BR,y=t(\"./get_legend_data\"),x=t(\"./style\"),b=t(\"./helpers\");function _(t,e,r){var n=t[0],i=n.width,a=e.entrywidthmode,o=n.trace.legendwidth||e.entrywidth;return\"fraction\"===a?e._maxWidth*o:r+(o||i)}function w(t,e,r,n,i){var a=r.data()[0][0].trace,l={event:i,node:r.node(),curveNumber:a.index,expandedIndex:a._expandedIndex,data:t.data,layout:t.layout,frames:t._transitionData._frames,config:t._context,fullData:t._fullData,fullLayout:t._fullLayout};if(a._group&&(l.group=a._group),o.traceIs(a,\"pie-like\")&&(l.label=r.datum()[0].label),!1!==s.triggerHandler(t,\"plotly_legendclick\",l))if(1===n)e._clickTimeout=setTimeout((function(){t._fullLayout&&h(r,t,n)}),t._context.doubleClickDelay);else if(2===n){e._clickTimeout&&clearTimeout(e._clickTimeout),t._legendMouseDownTime=0,!1!==s.triggerHandler(t,\"plotly_legenddoubleclick\",l)&&h(r,t,n)}}function T(t,e,r){var n,a,s=t.data()[0][0],l=s.trace,u=o.traceIs(l,\"pie-like\"),h=!r._inHover&&e._context.edits.legendText&&!u,d=r._maxNameLength;s.groupTitle?(n=s.groupTitle.text,a=s.groupTitle.font):(a=r.font,r.entries?n=s.text:(n=u?s.label:l.name,l._meta&&(n=i.templateString(n,l._meta))));var m=i.ensureSingle(t,\"text\",\"legendtext\");m.attr(\"text-anchor\",\"start\").call(c.font,a).text(h?k(n,d):n);var g=r.itemwidth+2*p.itemGap;f.positionText(m,g,0),h?m.call(f.makeEditable,{gd:e,text:n}).call(M,t,e,r).on(\"edit\",(function(n){this.text(k(n,d)).call(M,t,e,r);var a=s.trace._fullInput||{},c={};if(o.hasTransform(a,\"groupby\")){var u=o.getTransformIndices(a,\"groupby\"),f=u[u.length-1],h=i.keyedContainer(a,\"transforms[\"+f+\"].styles\",\"target\",\"value.name\");h.set(s.trace._group,n),c=h.constructUpdate()}else c.name=n;return o.call(\"_guiRestyle\",e,c,l.index)})):M(m,t,e,r)}function k(t,e){var r=Math.max(4,e);if(t&&t.trim().length>=r/2)return t;for(var n=r-(t=t||\"\").length;n>0;n--)t+=\" \";return t}function A(t,e){var r,a=e._context.doubleClickDelay,o=1,s=i.ensureSingle(t,\"rect\",\"legendtoggle\",(function(t){e._context.staticPlot||t.style(\"cursor\",\"pointer\").attr(\"pointer-events\",\"all\"),t.call(u.fill,\"rgba(0,0,0,0)\")}));e._context.staticPlot||(s.on(\"mousedown\",(function(){(r=(new Date).getTime())-e._legendMouseDownTimea&&(o=Math.max(o-1,1)),w(e,r,t,o,n.event)}})))}function M(t,e,r,n,i){n._inHover&&t.attr(\"data-notex\",!0),f.convertToTspans(t,r,(function(){!function(t,e,r,n){var i=t.data()[0][0];if(!r._inHover&&i&&!i.trace.showlegend)return void t.remove();var a=t.select(\"g[class*=math-group]\"),o=a.node();r||(r=e._fullLayout.legend);var s,l=r.borderwidth;s=1===n?r.title.font:i.groupTitle?i.groupTitle.font:r.font;var u,h,d=s.size*m;if(o){var g=c.bBox(o);u=g.height,h=g.width,1===n?c.setTranslate(a,l,l+.75*u):c.setTranslate(a,0,.25*u)}else{var v=t.select(1===n?\".legendtitletext\":\".legendtext\"),y=f.lineCount(v),x=v.node();if(u=d*y,h=x?c.bBox(x).width:0,1===n)\"left\"===r.title.side&&(h+=2*p.itemGap),f.positionText(v,l+p.titlePad,l+d);else{var b=2*p.itemGap+r.itemwidth;i.groupTitle&&(b=p.itemGap,h-=r.itemwidth),f.positionText(v,b,-d*((y-1)/2-.3))}}1===n?(r._titleWidth=h,r._titleHeight=u):(i.lineHeight=d,i.height=Math.max(u,16)+3,i.width=h)}(e,r,n,i)}))}function S(t){return i.isRightAnchor(t)?\"right\":i.isCenterAnchor(t)?\"center\":\"left\"}function E(t){return i.isBottomAnchor(t)?\"bottom\":i.isMiddleAnchor(t)?\"middle\":\"top\"}e.exports=function(t,e){return e||(e=t._fullLayout.legend||{}),function(t,e){var r,s,f=t._fullLayout,h=\"legend\"+f._uid,d=e._inHover;d?(r=e.layer,h+=\"-hover\"):r=f._infolayer;if(!r)return;t._legendMouseDownTime||(t._legendMouseDownTime=0);if(d){if(!e.entries)return;s=y(e.entries,e)}else{if(!t.calcdata)return;s=f.showlegend&&y(t.calcdata,e)}var m=f.hiddenlabels||[];if(!(d||f.showlegend&&s.length))return r.selectAll(\".legend\").remove(),f._topdefs.select(\"#\"+h).remove(),a.autoMargin(t,\"legend\");var k=i.ensureSingle(r,\"g\",\"legend\",(function(t){d||t.attr(\"pointer-events\",\"all\")})),L=i.ensureSingleById(f._topdefs,\"clipPath\",h,(function(t){t.append(\"rect\")})),C=i.ensureSingle(k,\"rect\",\"bg\",(function(t){t.attr(\"shape-rendering\",\"crispEdges\")}));C.call(u.stroke,e.bordercolor).call(u.fill,e.bgcolor).style(\"stroke-width\",e.borderwidth+\"px\");var P=i.ensureSingle(k,\"g\",\"scrollbox\"),I=e.title;if(e._titleWidth=0,e._titleHeight=0,I.text){var O=i.ensureSingle(P,\"text\",\"legendtitletext\");O.attr(\"text-anchor\",\"start\").call(c.font,I.font).text(I.text),M(O,P,t,e,1)}else P.selectAll(\".legendtitletext\").remove();var z=i.ensureSingle(k,\"rect\",\"scrollbar\",(function(t){t.attr(p.scrollBarEnterAttrs).call(u.fill,p.scrollBarColor)})),D=P.selectAll(\"g.groups\").data(s);D.enter().append(\"g\").attr(\"class\",\"groups\"),D.exit().remove();var R=D.selectAll(\"g.traces\").data(i.identity);R.enter().append(\"g\").attr(\"class\",\"traces\"),R.exit().remove(),R.style(\"opacity\",(function(t){var e=t[0].trace;return o.traceIs(e,\"pie-like\")?-1!==m.indexOf(t[0].label)?.5:1:\"legendonly\"===e.visible?.5:1})).each((function(){n.select(this).call(T,t,e)})).call(x,t,e).each((function(){d||n.select(this).call(A,t)})),i.syncOrAsync([a.previousPromises,function(){return function(t,e,r,i){var a=t._fullLayout;i||(i=a.legend);var o=a._size,s=b.isVertical(i),l=b.isGrouped(i),u=\"fraction\"===i.entrywidthmode,f=i.borderwidth,h=2*f,d=p.itemGap,m=i.itemwidth+2*d,g=2*(f+d),v=E(i),y=i.y<0||0===i.y&&\"top\"===v,x=i.y>1||1===i.y&&\"bottom\"===v,w=i.tracegroupgap,T={};i._maxHeight=Math.max(y||x?a.height/2:o.h,30);var k=0;i._width=0,i._height=0;var A=function(t){var e=0,r=0,n=t.title.side;n&&(-1!==n.indexOf(\"left\")&&(e=t._titleWidth),-1!==n.indexOf(\"top\")&&(r=t._titleHeight));return[e,r]}(i);if(s)r.each((function(t){var e=t[0].height;c.setTranslate(this,f+A[0],f+A[1]+i._height+e/2+d),i._height+=e,i._width=Math.max(i._width,t[0].width)})),k=m+i._width,i._width+=d+m+h,i._height+=g,l&&(e.each((function(t,e){c.setTranslate(this,0,e*i.tracegroupgap)})),i._height+=(i._lgroupsLength-1)*i.tracegroupgap);else{var M=S(i),L=i.x<0||0===i.x&&\"right\"===M,C=i.x>1||1===i.x&&\"left\"===M,P=x||y,I=a.width/2;i._maxWidth=Math.max(L?P&&\"left\"===M?o.l+o.w:I:C?P&&\"right\"===M?o.r+o.w:I:o.w,2*m);var O=0,z=0;r.each((function(t){var e=_(t,i,m);O=Math.max(O,e),z+=e})),k=null;var D=0;if(l){var R=0,F=0,B=0;e.each((function(){var t=0,e=0;n.select(this).selectAll(\"g.traces\").each((function(r){var n=_(r,i,m),a=r[0].height;c.setTranslate(this,A[0],A[1]+f+d+a/2+e),e+=a,t=Math.max(t,n),T[r[0].trace.legendgroup]=t}));var r=t+d;F>0&&r+f+F>i._maxWidth?(D=Math.max(D,F),F=0,B+=R+w,R=e):R=Math.max(R,e),c.setTranslate(this,F,B),F+=r})),i._width=Math.max(D,F)+f,i._height=B+R+g}else{var N=r.size(),j=z+h+(N-1)*d=i._maxWidth&&(D=Math.max(D,q),V=0,H+=U,i._height+=U,U=0),c.setTranslate(this,A[0]+f+V,A[1]+f+H+e/2+d),q=V+r+d,V+=n,U=Math.max(U,e)})),j?(i._width=V+h,i._height=U+g):(i._width=Math.max(D,q)+h,i._height+=U+g)}}i._width=Math.ceil(Math.max(i._width+A[0],i._titleWidth+2*(f+p.titlePad))),i._height=Math.ceil(Math.max(i._height+A[1],i._titleHeight+2*(f+p.itemGap))),i._effHeight=Math.min(i._height,i._maxHeight);var G=t._context.edits,Y=G.legendText||G.legendPosition;r.each((function(t){var e=n.select(this).select(\".legendtoggle\"),r=t[0].height,a=t[0].trace.legendgroup,o=_(t,i,m);l&&\"\"!==a&&(o=T[a]);var f=Y?m:k||o;s||u||(f+=d/2),c.setRect(e,0,-r/2,f,r)}))}(t,D,R,e)},function(){var s,u,m,y,x=f._size,b=e.borderwidth;if(!d){if(function(t){var e=t._fullLayout.legend,r=S(e),n=E(e);return a.autoMargin(t,\"legend\",{x:e.x,y:e.y,l:e._width*g[r],r:e._width*v[r],b:e._effHeight*v[n],t:e._effHeight*g[n]})}(t))return;var _=x.l+x.w*e.x-g[S(e)]*e._width,T=x.t+x.h*(1-e.y)-g[E(e)]*e._effHeight;if(f.margin.autoexpand){var A=_,M=T;_=i.constrain(_,0,f.width-e._width),T=i.constrain(T,0,f.height-e._effHeight),_!==A&&i.log(\"Constrain legend.x to make legend fit inside graph\"),T!==M&&i.log(\"Constrain legend.y to make legend fit inside graph\")}c.setTranslate(k,_,T)}if(z.on(\".drag\",null),k.on(\"wheel\",null),d||e._height<=e._maxHeight||t._context.staticPlot){var I=e._effHeight;d&&(I=e._height),C.attr({width:e._width-b,height:I-b,x:b/2,y:b/2}),c.setTranslate(P,0,0),L.select(\"rect\").attr({width:e._width-2*b,height:I-2*b,x:b,y:b}),c.setClipUrl(P,h,t),c.setRect(z,0,0,0,0),delete e._scrollY}else{var O,D,R,F=Math.max(p.scrollBarMinHeight,e._effHeight*e._effHeight/e._height),B=e._effHeight-F-2*p.scrollBarMargin,N=e._height-e._effHeight,j=B/N,U=Math.min(e._scrollY||0,N);C.attr({width:e._width-2*b+p.scrollBarWidth+p.scrollBarMargin,height:e._effHeight-b,x:b/2,y:b/2}),L.select(\"rect\").attr({width:e._width-2*b+p.scrollBarWidth+p.scrollBarMargin,height:e._effHeight-2*b,x:b,y:b+U}),c.setClipUrl(P,h,t),q(U,F,j),k.on(\"wheel\",(function(){q(U=i.constrain(e._scrollY+n.event.deltaY/B*N,0,N),F,j),0!==U&&U!==N&&n.event.preventDefault()}));var V=n.behavior.drag().on(\"dragstart\",(function(){var t=n.event.sourceEvent;O=\"touchstart\"===t.type?t.changedTouches[0].clientY:t.clientY,R=U})).on(\"drag\",(function(){var t=n.event.sourceEvent;2===t.buttons||t.ctrlKey||(D=\"touchmove\"===t.type?t.changedTouches[0].clientY:t.clientY,q(U=function(t,e,r){var n=(r-e)/j+t;return i.constrain(n,0,N)}(R,O,D),F,j))}));z.call(V);var H=n.behavior.drag().on(\"dragstart\",(function(){var t=n.event.sourceEvent;\"touchstart\"===t.type&&(O=t.changedTouches[0].clientY,R=U)})).on(\"drag\",(function(){var t=n.event.sourceEvent;\"touchmove\"===t.type&&(D=t.changedTouches[0].clientY,q(U=function(t,e,r){var n=(e-r)/j+t;return i.constrain(n,0,N)}(R,O,D),F,j))}));P.call(H)}function q(r,n,i){e._scrollY=t._fullLayout.legend._scrollY=r,c.setTranslate(P,0,-r),c.setRect(z,e._width,p.scrollBarMargin+r*i,p.scrollBarWidth,n),L.select(\"rect\").attr(\"y\",b+r)}t._context.edits.legendPosition&&(k.classed(\"cursor-move\",!0),l.init({element:k.node(),gd:t,prepFn:function(){var t=c.getTranslate(k);m=t.x,y=t.y},moveFn:function(t,r){var n=m+t,i=y+r;c.setTranslate(k,n,i),s=l.align(n,0,x.l,x.l+x.w,e.xanchor),u=l.align(i,0,x.t+x.h,x.t,e.yanchor)},doneFn:function(){void 0!==s&&void 0!==u&&o.call(\"_guiRelayout\",t,{\"legend.x\":s,\"legend.y\":u})},clickFn:function(e,n){var i=r.selectAll(\"g.traces\").filter((function(){var t=this.getBoundingClientRect();return n.clientX>=t.left&&n.clientX<=t.right&&n.clientY>=t.top&&n.clientY<=t.bottom}));i.size()>0&&w(t,k,i,e,n)}}))}],t)}(t,e)}},{\"../../constants/alignment\":483,\"../../lib\":515,\"../../lib/events\":504,\"../../lib/svg_text_utils\":541,\"../../plots/plots\":628,\"../../registry\":647,\"../color\":367,\"../dragelement\":386,\"../drawing\":389,\"./constants\":418,\"./get_legend_data\":421,\"./handle_click\":422,\"./helpers\":423,\"./style\":425,\"@plotly/d3\":58}],421:[function(t,e,r){\"use strict\";var n=t(\"../../registry\"),i=t(\"./helpers\");e.exports=function(t,e){var r,a,o=e._inHover,s=i.isGrouped(e),l=i.isReversed(e),c={},u=[],f=!1,h={},p=0,d=0;function m(t,r){if(\"\"!==t&&i.isGrouped(e))-1===u.indexOf(t)?(u.push(t),f=!0,c[t]=[r]):c[t].push(r);else{var n=\"~~i\"+p;u.push(n),c[n]=[r],p++}}for(r=0;rA&&(k=A)}w[r][0]._groupMinRank=k,w[r][0]._preGroupSort=r}var M=function(t,e){return t.trace.legendrank-e.trace.legendrank||t._preSort-e._preSort};for(w.forEach((function(t,e){t[0]._preGroupSort=e})),w.sort((function(t,e){return t[0]._groupMinRank-e[0]._groupMinRank||t[0]._preGroupSort-e[0]._preGroupSort})),r=0;rr?r:t}e.exports=function(t,e,r){var v=e._fullLayout;r||(r=v.legend);var y=\"constant\"===r.itemsizing,x=r.itemwidth,b=(x+2*p.itemGap)/2,_=o(b,0),w=function(t,e,r,n){var i;if(t+1)i=t;else{if(!(e&&e.width>0))return 0;i=e.width}return y?n:Math.min(i,r)};function T(t,a,o){var u=t[0].trace,f=u.marker||{},h=f.line||{},p=o?u.visible&&u.type===o:i.traceIs(u,\"bar\"),d=n.select(a).select(\"g.legendpoints\").selectAll(\"path.legend\"+o).data(p?[t]:[]);d.enter().append(\"path\").classed(\"legend\"+o,!0).attr(\"d\",\"M6,6H-6V-6H6Z\").attr(\"transform\",_),d.exit().remove(),d.each((function(t){var i=n.select(this),a=t[0],o=w(a.mlw,f.line,5,2);i.style(\"stroke-width\",o+\"px\");var p=a.mcc;if(!r._inHover&&\"mc\"in a){var d=c(f),m=d.mid;void 0===m&&(m=(d.max+d.min)/2),p=s.tryColorscale(f,\"\")(m)}var v=p||a.mc||f.color,y=f.pattern,x=y&&s.getPatternAttr(y.shape,0,\"\");if(x){var b=s.getPatternAttr(y.bgcolor,0,null),_=s.getPatternAttr(y.fgcolor,0,null),T=y.fgopacity,k=g(y.size,8,10),A=g(y.solidity,.5,1),M=\"legend-\"+u.uid;i.call(s.pattern,\"legend\",e,M,x,k,A,p,y.fillmode,b,_,T)}else i.call(l.fill,v);o&&l.stroke(i,a.mlc||h.color)}))}function k(t,e,r){var o=t[0],s=o.trace,l=r?s.visible&&s.type===r:i.traceIs(s,r),c=n.select(e).select(\"g.legendpoints\").selectAll(\"path.legend\"+r).data(l?[t]:[]);if(c.enter().append(\"path\").classed(\"legend\"+r,!0).attr(\"d\",\"M6,6H-6V-6H6Z\").attr(\"transform\",_),c.exit().remove(),c.size()){var u=(s.marker||{}).line,p=w(h(u.width,o.pts),u,5,2),d=a.minExtend(s,{marker:{line:{width:p}}});d.marker.line.color=u.color;var m=a.minExtend(o,{trace:d});f(c,m,d)}}t.each((function(t){var e=n.select(this),i=a.ensureSingle(e,\"g\",\"layers\");i.style(\"opacity\",t[0].trace.opacity);var s=r.valign,l=t[0].lineHeight,c=t[0].height;if(\"middle\"!==s&&l&&c){var u={top:1,bottom:-1}[s]*(.5*(l-c+3));i.attr(\"transform\",o(0,u))}else i.attr(\"transform\",null);i.selectAll(\"g.legendfill\").data([t]).enter().append(\"g\").classed(\"legendfill\",!0),i.selectAll(\"g.legendlines\").data([t]).enter().append(\"g\").classed(\"legendlines\",!0);var f=i.selectAll(\"g.legendsymbols\").data([t]);f.enter().append(\"g\").classed(\"legendsymbols\",!0),f.selectAll(\"g.legendpoints\").data([t]).enter().append(\"g\").classed(\"legendpoints\",!0)})).each((function(t){var r,i=t[0].trace,o=[];if(i.visible)switch(i.type){case\"histogram2d\":case\"heatmap\":o=[[\"M-15,-2V4H15V-2Z\"]],r=!0;break;case\"choropleth\":case\"choroplethmapbox\":o=[[\"M-6,-6V6H6V-6Z\"]],r=!0;break;case\"densitymapbox\":o=[[\"M-6,0 a6,6 0 1,0 12,0 a 6,6 0 1,0 -12,0\"]],r=\"radial\";break;case\"cone\":o=[[\"M-6,2 A2,2 0 0,0 -6,6 V6L6,4Z\"],[\"M-6,-6 A2,2 0 0,0 -6,-2 L6,-4Z\"],[\"M-6,-2 A2,2 0 0,0 -6,2 L6,0Z\"]],r=!1;break;case\"streamtube\":o=[[\"M-6,2 A2,2 0 0,0 -6,6 H6 A2,2 0 0,1 6,2 Z\"],[\"M-6,-6 A2,2 0 0,0 -6,-2 H6 A2,2 0 0,1 6,-6 Z\"],[\"M-6,-2 A2,2 0 0,0 -6,2 H6 A2,2 0 0,1 6,-2 Z\"]],r=!1;break;case\"surface\":o=[[\"M-6,-6 A2,3 0 0,0 -6,0 H6 A2,3 0 0,1 6,-6 Z\"],[\"M-6,1 A2,3 0 0,1 -6,6 H6 A2,3 0 0,0 6,0 Z\"]],r=!0;break;case\"mesh3d\":o=[[\"M-6,6H0L-6,-6Z\"],[\"M6,6H0L6,-6Z\"],[\"M-6,-6H6L0,6Z\"]],r=!1;break;case\"volume\":o=[[\"M-6,6H0L-6,-6Z\"],[\"M6,6H0L6,-6Z\"],[\"M-6,-6H6L0,6Z\"]],r=!0;break;case\"isosurface\":o=[[\"M-6,6H0L-6,-6Z\"],[\"M6,6H0L6,-6Z\"],[\"M-6,-6 A12,24 0 0,0 6,-6 L0,6Z\"]],r=!1}var u=n.select(this).select(\"g.legendpoints\").selectAll(\"path.legend3dandfriends\").data(o);u.enter().append(\"path\").classed(\"legend3dandfriends\",!0).attr(\"transform\",_).style(\"stroke-miterlimit\",1),u.exit().remove(),u.each((function(t,o){var u,f=n.select(this),h=c(i),p=h.colorscale,m=h.reversescale;if(p){if(!r){var g=p.length;u=0===o?p[m?g-1:0][1]:1===o?p[m?0:g-1][1]:p[Math.floor((g-1)/2)][1]}}else{var v=i.vertexcolor||i.facecolor||i.color;u=a.isArrayOrTypedArray(v)?v[o]||v[0]:v}f.attr(\"d\",t[0]),u?f.call(l.fill,u):f.call((function(t){if(t.size()){var n=\"legendfill-\"+i.uid;s.gradient(t,e,n,d(m,\"radial\"===r),p,\"fill\")}}))}))})).each((function(t){var e=t[0].trace,r=\"waterfall\"===e.type;if(t[0]._distinct&&r){var i=t[0].trace[t[0].dir].marker;return t[0].mc=i.color,t[0].mlw=i.line.width,t[0].mlc=i.line.color,T(t,this,\"waterfall\")}var a=[];e.visible&&r&&(a=t[0].hasTotals?[[\"increasing\",\"M-6,-6V6H0Z\"],[\"totals\",\"M6,6H0L-6,-6H-0Z\"],[\"decreasing\",\"M6,6V-6H0Z\"]]:[[\"increasing\",\"M-6,-6V6H6Z\"],[\"decreasing\",\"M6,6V-6H-6Z\"]]);var o=n.select(this).select(\"g.legendpoints\").selectAll(\"path.legendwaterfall\").data(a);o.enter().append(\"path\").classed(\"legendwaterfall\",!0).attr(\"transform\",_).style(\"stroke-miterlimit\",1),o.exit().remove(),o.each((function(t){var r=n.select(this),i=e[t[0]].marker,a=w(void 0,i.line,5,2);r.attr(\"d\",t[1]).style(\"stroke-width\",a+\"px\").call(l.fill,i.color),a&&r.call(l.stroke,i.line.color)}))})).each((function(t){T(t,this,\"funnel\")})).each((function(t){T(t,this)})).each((function(t){var r=t[0].trace,o=n.select(this).select(\"g.legendpoints\").selectAll(\"path.legendbox\").data(r.visible&&i.traceIs(r,\"box-violin\")?[t]:[]);o.enter().append(\"path\").classed(\"legendbox\",!0).attr(\"d\",\"M6,6H-6V-6H6Z\").attr(\"transform\",_),o.exit().remove(),o.each((function(){var t=n.select(this);if(\"all\"!==r.boxpoints&&\"all\"!==r.points||0!==l.opacity(r.fillcolor)||0!==l.opacity((r.line||{}).color)){var i=w(void 0,r.line,5,2);t.style(\"stroke-width\",i+\"px\").call(l.fill,r.fillcolor),i&&l.stroke(t,r.line.color)}else{var c=a.minExtend(r,{marker:{size:y?12:a.constrain(r.marker.size,2,16),sizeref:1,sizemin:1,sizemode:\"diameter\"}});o.call(s.pointStyle,c,e)}}))})).each((function(t){k(t,this,\"funnelarea\")})).each((function(t){k(t,this,\"pie\")})).each((function(t){var r,i,o=m(t),l=o.showFill,f=o.showLine,h=o.showGradientLine,p=o.showGradientFill,g=o.anyFill,v=o.anyLine,y=t[0],b=y.trace,_=c(b),T=_.colorscale,k=_.reversescale,A=u.hasMarkers(b)||!g?\"M5,0\":v?\"M5,-2\":\"M5,-3\",M=n.select(this),S=M.select(\".legendfill\").selectAll(\"path\").data(l||p?[t]:[]);if(S.enter().append(\"path\").classed(\"js-fill\",!0),S.exit().remove(),S.attr(\"d\",A+\"h\"+x+\"v6h-\"+x+\"z\").call((function(t){if(t.size())if(l)s.fillGroupStyle(t,e);else{var r=\"legendfill-\"+b.uid;s.gradient(t,e,r,d(k),T,\"fill\")}})),f||h){var E=w(void 0,b.line,10,5);i=a.minExtend(b,{line:{width:E}}),r=[a.minExtend(y,{trace:i})]}var L=M.select(\".legendlines\").selectAll(\"path\").data(f||h?[r]:[]);L.enter().append(\"path\").classed(\"js-line\",!0),L.exit().remove(),L.attr(\"d\",A+(h?\"l\"+x+\",0.0001\":\"h\"+x)).call(f?s.lineGroupStyle:function(t){if(t.size()){var r=\"legendline-\"+b.uid;s.lineGroupStyle(t),s.gradient(t,e,r,d(k),T,\"stroke\")}})})).each((function(t){var r,i,o=m(t),l=o.anyFill,c=o.anyLine,f=o.showLine,h=o.showMarker,p=t[0],d=p.trace,g=!h&&!c&&!l&&u.hasText(d);function v(t,e,r,n){var i=a.nestedProperty(d,t).get(),o=a.isArrayOrTypedArray(i)&&e?e(i):i;if(y&&o&&void 0!==n&&(o=n),r){if(or[1])return r[1]}return o}function x(t){return p._distinct&&p.index&&t[p.index]?t[p.index]:t[0]}if(h||g||f){var b={},w={};if(h){b.mc=v(\"marker.color\",x),b.mx=v(\"marker.symbol\",x),b.mo=v(\"marker.opacity\",a.mean,[.2,1]),b.mlc=v(\"marker.line.color\",x),b.mlw=v(\"marker.line.width\",a.mean,[0,5],2),w.marker={sizeref:1,sizemin:1,sizemode:\"diameter\"};var T=v(\"marker.size\",a.mean,[2,16],12);b.ms=T,w.marker.size=T}f&&(w.line={width:v(\"line.width\",x,[0,10],5)}),g&&(b.tx=\"Aa\",b.tp=v(\"textposition\",x),b.ts=10,b.tc=v(\"textfont.color\",x),b.tf=v(\"textfont.family\",x)),r=[a.minExtend(p,b)],(i=a.minExtend(d,w)).selectedpoints=null,i.texttemplate=null}var k=n.select(this).select(\"g.legendpoints\"),A=k.selectAll(\"path.scatterpts\").data(h?r:[]);A.enter().insert(\"path\",\":first-child\").classed(\"scatterpts\",!0).attr(\"transform\",_),A.exit().remove(),A.call(s.pointStyle,i,e),h&&(r[0].mrc=3);var M=k.selectAll(\"g.pointtext\").data(g?r:[]);M.enter().append(\"g\").classed(\"pointtext\",!0).append(\"text\").attr(\"transform\",_),M.exit().remove(),M.selectAll(\"text\").call(s.textPointStyle,i,e)})).each((function(t){var e=t[0].trace,r=n.select(this).select(\"g.legendpoints\").selectAll(\"path.legendcandle\").data(e.visible&&\"candlestick\"===e.type?[t,t]:[]);r.enter().append(\"path\").classed(\"legendcandle\",!0).attr(\"d\",(function(t,e){return e?\"M-15,0H-8M-8,6V-6H8Z\":\"M15,0H8M8,-6V6H-8Z\"})).attr(\"transform\",_).style(\"stroke-miterlimit\",1),r.exit().remove(),r.each((function(t,r){var i=n.select(this),a=e[r?\"increasing\":\"decreasing\"],o=w(void 0,a.line,5,2);i.style(\"stroke-width\",o+\"px\").call(l.fill,a.fillcolor),o&&l.stroke(i,a.line.color)}))})).each((function(t){var e=t[0].trace,r=n.select(this).select(\"g.legendpoints\").selectAll(\"path.legendohlc\").data(e.visible&&\"ohlc\"===e.type?[t,t]:[]);r.enter().append(\"path\").classed(\"legendohlc\",!0).attr(\"d\",(function(t,e){return e?\"M-15,0H0M-8,-6V0\":\"M15,0H0M8,6V0\"})).attr(\"transform\",_).style(\"stroke-miterlimit\",1),r.exit().remove(),r.each((function(t,r){var i=n.select(this),a=e[r?\"increasing\":\"decreasing\"],o=w(void 0,a.line,5,2);i.style(\"fill\",\"none\").call(s.dashLine,a.line.dash,o),o&&l.stroke(i,a.line.color)}))}))}},{\"../../lib\":515,\"../../registry\":647,\"../../traces/pie/helpers\":915,\"../../traces/pie/style_one\":921,\"../../traces/scatter/subtypes\":961,\"../color\":367,\"../colorscale/helpers\":378,\"../drawing\":389,\"./constants\":418,\"@plotly/d3\":58}],426:[function(t,e,r){\"use strict\";t(\"./constants\");e.exports={editType:\"modebar\",orientation:{valType:\"enumerated\",values:[\"v\",\"h\"],dflt:\"h\",editType:\"modebar\"},bgcolor:{valType:\"color\",editType:\"modebar\"},color:{valType:\"color\",editType:\"modebar\"},activecolor:{valType:\"color\",editType:\"modebar\"},uirevision:{valType:\"any\",editType:\"none\"},add:{valType:\"string\",arrayOk:!0,dflt:\"\",editType:\"modebar\"},remove:{valType:\"string\",arrayOk:!0,dflt:\"\",editType:\"modebar\"}}},{\"./constants\":428}],427:[function(t,e,r){\"use strict\";var n=t(\"../../registry\"),i=t(\"../../plots/plots\"),a=t(\"../../plots/cartesian/axis_ids\"),o=t(\"../../fonts/ploticon\"),s=t(\"../shapes/draw\").eraseActiveShape,l=t(\"../../lib\"),c=l._,u=e.exports={};function f(t,e){var r,i,o=e.currentTarget,s=o.getAttribute(\"data-attr\"),l=o.getAttribute(\"data-val\")||!0,c=t._fullLayout,u={},f=a.list(t,null,!0),h=c._cartesianSpikesEnabled;if(\"zoom\"===s){var p,d=\"in\"===l?.5:2,m=(1+d)/2,g=(1-d)/2;for(i=0;i1?(I=[\"toggleHover\"],O=[\"resetViews\"]):v?(P=[\"zoomInGeo\",\"zoomOutGeo\"],I=[\"hoverClosestGeo\"],O=[\"resetGeo\"]):g?(I=[\"hoverClosest3d\"],O=[\"resetCameraDefault3d\",\"resetCameraLastSave3d\"]):w?(P=[\"zoomInMapbox\",\"zoomOutMapbox\"],I=[\"toggleHover\"],O=[\"resetViewMapbox\"]):b?I=[\"hoverClosestGl2d\"]:y?I=[\"hoverClosestPie\"]:A?(I=[\"hoverClosestCartesian\",\"hoverCompareCartesian\"],O=[\"resetViewSankey\"]):I=[\"toggleHover\"];m&&(I=[\"toggleSpikelines\",\"hoverClosestCartesian\",\"hoverCompareCartesian\"]);(function(t){for(var e=0;e0)){var m=function(t,e,r){for(var n=r.filter((function(r){return e[r].anchor===t._id})),i=0,a=0;a=n.max)e=F[r+1];else if(t=n.pmax)e=F[r+1];else if(t=0;k--){var A=r.append(\"path\").attr(g).style(\"opacity\",k?.1:v).call(o.stroke,x).call(o.fill,y).call(s.dashLine,k?\"solid\":_,k?4+b:b);if(d(A,t,a),w){var M=l(t.layout,\"selections\",a);A.style({cursor:\"move\"});var S={element:A.node(),plotinfo:p,gd:t,editHelpers:M,isActiveSelection:!0},E=n(c,t);i(E,A,S)}else A.style(\"pointer-events\",k?\"all\":\"none\");T[k]=A}var L=T[0];T[1].node().addEventListener(\"click\",(function(){return function(t,e){if(!h(t))return;var r=+e.node().getAttribute(\"data-index\");if(r>=0){if(r===t._fullLayout._activeSelectionIndex)return void m(t);t._fullLayout._activeSelectionIndex=r,t._fullLayout._deactivateSelection=m,f(t)}}(t,L)}))}(t._fullLayout._selectionLayer)}function d(t,e,r){var n=r.xref+r.yref;s.setClipUrl(t,\"clip\"+e._fullLayout._uid+n,e)}function m(t){h(t)&&(t._fullLayout._activeSelectionIndex>=0&&(a(t),delete t._fullLayout._activeSelectionIndex,f(t)))}e.exports={draw:f,drawOne:p,activateLastSelection:function(t){if(!h(t))return;var e=t._fullLayout.selections.length-1;t._fullLayout._activeSelectionIndex=e,t._fullLayout._deactivateSelection=m,f(t)}}},{\"../../plot_api/plot_template\":555,\"../color\":367,\"../drawing\":389,\"../shapes/display_outlines\":461,\"../shapes/draw_newshape/helpers\":466,\"../shapes/handle_outline\":468,\"../shapes/helpers\":469}],451:[function(t,e,r){\"use strict\";var n=t(\"../../drawing/attributes\").dash,i=t(\"../../../lib/extend\").extendFlat;e.exports={newselection:{mode:{valType:\"enumerated\",values:[\"immediate\",\"gradual\"],dflt:\"immediate\",editType:\"none\"},line:{color:{valType:\"color\",editType:\"none\"},width:{valType:\"number\",min:1,dflt:1,editType:\"none\"},dash:i({},n,{dflt:\"dot\",editType:\"none\"}),editType:\"none\"},editType:\"none\"},activeselection:{fillcolor:{valType:\"color\",dflt:\"rgba(0,0,0,0)\",editType:\"none\"},opacity:{valType:\"number\",min:0,max:1,dflt:.5,editType:\"none\"},editType:\"none\"}}},{\"../../../lib/extend\":505,\"../../drawing/attributes\":388}],452:[function(t,e,r){\"use strict\";e.exports=function(t,e,r){r(\"newselection.mode\"),r(\"newselection.line.width\")&&(r(\"newselection.line.color\"),r(\"newselection.line.dash\")),r(\"activeselection.fillcolor\"),r(\"activeselection.opacity\")}},{}],453:[function(t,e,r){\"use strict\";var n=t(\"../../dragelement/helpers\").selectMode,i=t(\"../../shapes/handle_outline\").clearOutline,a=t(\"../../shapes/draw_newshape/helpers\"),o=a.readPaths,s=a.writePaths,l=a.fixDatesForPaths;e.exports=function(t,e){if(t.length){var r=t[0][0];if(r){var a=r.getAttribute(\"d\"),c=e.gd,u=c._fullLayout.newselection,f=e.plotinfo,h=f.xaxis,p=f.yaxis,d=e.isActiveSelection,m=e.dragmode,g=(c.layout||{}).selections||[];if(!n(m)&&void 0!==d){var v=c._fullLayout._activeSelectionIndex;if(v-1,b=[];if(function(t){return t&&Array.isArray(t)&&!0!==t[0].hoverOnBox}(v)){Y(t,e,a);var _=function(t,e){var r,n,i=t[0],a=-1,o=[];for(n=0;n0?function(t,e){var r,n,i,a=[];for(i=0;i0&&a.push(r);if(1===a.length&&a[0]===e.searchInfo&&(n=e.searchInfo.cd[0].trace).selectedpoints.length===e.pointNumbers.length){for(i=0;i1)return!1;if((i+=r.selectedpoints.length)>1)return!1}return 1===i}(s)&&(h=K(_))){for(o&&o.remove(),g=0;g=0})(i)&&i._fullLayout._deactivateShape(i),function(t){return t._fullLayout._activeSelectionIndex>=0}(i)&&i._fullLayout._deactivateSelection(i);var o=i._fullLayout._zoomlayer,s=p(r),l=m(r);if(s||l){var c,u,f=o.selectAll(\".select-outline-\"+n.id);if(f&&i._fullLayout._outlining)s&&(c=T(f,t)),c&&a.call(\"_guiRelayout\",i,{shapes:c}),l&&!U(t)&&(u=k(f,t)),u&&(i._fullLayout._noEmitSelectedAtStart=!0,a.call(\"_guiRelayout\",i,{selections:u}).then((function(){e&&A(i)}))),i._fullLayout._outlining=!1}n.selection={},n.selection.selectionDefs=t.selectionDefs=[],n.selection.mergedPolygons=t.mergedPolygons=[]}function Z(t){return t._id}function X(t,e,r,n){if(!t.calcdata)return[];var i,a,o,s=[],l=e.map(Z),c=r.map(Z);for(o=0;o0?n[0]:r;return!!e.selectedpoints&&e.selectedpoints.indexOf(i)>-1}function Q(t,e,r){var n,i;for(n=0;n-1&&e;if(!a&&e){var et=ot(t,!0);if(et.length){var nt=et[0].xref,pt=et[0].yref;if(nt&&pt){var dt=ct(et);ut([C(t,nt,\"x\"),C(t,pt,\"y\")])($,dt)}}t._fullLayout._noEmitSelectedAtStart?t._fullLayout._noEmitSelectedAtStart=!1:tt&&ft(t,$),h._reselect=!1}if(!a&&h._deselect){var mt=h._deselect;(function(t,e,r){for(var n=0;n=0)k._fullLayout._deactivateShape(k);else if(!x){var r=A.clickmode;L.done(At).then((function(){if(L.clear(At),2===t){for(bt.remove(),K=0;K-1&&V(e,k,n.xaxes,n.yaxes,n.subplot,n,bt),\"event\"===r&&ft(k,void 0);l.click(k,e)})).catch(M.error)}},n.doneFn=function(){kt.remove(),L.done(At).then((function(){L.clear(At),!S&&J&&n.selectionDefs&&(J.subtract=xt,n.selectionDefs.push(J),n.mergedPolygons.length=0,[].push.apply(n.mergedPolygons,Z)),(S||x)&&W(n,S),n.doneFnCompleted&&n.doneFnCompleted(Mt),b&&ft(k,at)})).catch(M.error)}},clearOutline:x,clearSelectionsCache:W,selectOnClick:V}},{\"../../lib\":515,\"../../lib/clear_gl_canvases\":499,\"../../lib/polygon\":527,\"../../lib/throttle\":542,\"../../plot_api/subroutines\":556,\"../../plots/cartesian/axis_ids\":570,\"../../registry\":647,\"../color\":367,\"../dragelement/helpers\":385,\"../drawing\":389,\"../fx\":407,\"../fx/helpers\":403,\"../shapes/constants\":459,\"../shapes/display_outlines\":461,\"../shapes/draw_newshape/helpers\":466,\"../shapes/draw_newshape/newshapes\":467,\"../shapes/handle_outline\":468,\"../shapes/helpers\":469,\"./constants\":448,\"./draw\":450,\"./draw_newselection/newselections\":453,\"./helpers\":454,\"point-in-polygon/nested\":254,polybooljs:255}],457:[function(t,e,r){\"use strict\";var n=t(\"../annotations/attributes\"),i=t(\"../../traces/scatter/attributes\").line,a=t(\"../drawing/attributes\").dash,o=t(\"../../lib/extend\").extendFlat,s=t(\"../../plot_api/plot_template\").templatedArray;t(\"../../constants/axis_placeable_objects\");e.exports=s(\"shape\",{visible:{valType:\"boolean\",dflt:!0,editType:\"calc+arraydraw\"},type:{valType:\"enumerated\",values:[\"circle\",\"rect\",\"path\",\"line\"],editType:\"calc+arraydraw\"},layer:{valType:\"enumerated\",values:[\"below\",\"above\"],dflt:\"above\",editType:\"arraydraw\"},xref:o({},n.xref,{}),xsizemode:{valType:\"enumerated\",values:[\"scaled\",\"pixel\"],dflt:\"scaled\",editType:\"calc+arraydraw\"},xanchor:{valType:\"any\",editType:\"calc+arraydraw\"},x0:{valType:\"any\",editType:\"calc+arraydraw\"},x1:{valType:\"any\",editType:\"calc+arraydraw\"},yref:o({},n.yref,{}),ysizemode:{valType:\"enumerated\",values:[\"scaled\",\"pixel\"],dflt:\"scaled\",editType:\"calc+arraydraw\"},yanchor:{valType:\"any\",editType:\"calc+arraydraw\"},y0:{valType:\"any\",editType:\"calc+arraydraw\"},y1:{valType:\"any\",editType:\"calc+arraydraw\"},path:{valType:\"string\",editType:\"calc+arraydraw\"},opacity:{valType:\"number\",min:0,max:1,dflt:1,editType:\"arraydraw\"},line:{color:o({},i.color,{editType:\"arraydraw\"}),width:o({},i.width,{editType:\"calc+arraydraw\"}),dash:o({},a,{editType:\"arraydraw\"}),editType:\"calc+arraydraw\"},fillcolor:{valType:\"color\",dflt:\"rgba(0,0,0,0)\",editType:\"arraydraw\"},fillrule:{valType:\"enumerated\",values:[\"evenodd\",\"nonzero\"],dflt:\"evenodd\",editType:\"arraydraw\"},editable:{valType:\"boolean\",dflt:!1,editType:\"calc+arraydraw\"},editType:\"arraydraw\"})},{\"../../constants/axis_placeable_objects\":484,\"../../lib/extend\":505,\"../../plot_api/plot_template\":555,\"../../traces/scatter/attributes\":936,\"../annotations/attributes\":350,\"../drawing/attributes\":388}],458:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../plots/cartesian/axes\"),a=t(\"./constants\"),o=t(\"./helpers\");function s(t){return c(t.line.width,t.xsizemode,t.x0,t.x1,t.path,!1)}function l(t){return c(t.line.width,t.ysizemode,t.y0,t.y1,t.path,!0)}function c(t,e,r,i,s,l){var c=t/2,u=l;if(\"pixel\"===e){var f=s?o.extractPathCoords(s,l?a.paramIsY:a.paramIsX):[r,i],h=n.aggNums(Math.max,null,f),p=n.aggNums(Math.min,null,f),d=p<0?Math.abs(p)+c:c,m=h>0?h+c:c;return{ppad:c,ppadplus:u?d:m,ppadminus:u?m:d}}return{ppad:c}}function u(t,e,r,n,i){var s=\"category\"===t.type||\"multicategory\"===t.type?t.r2c:t.d2c;if(void 0!==e)return[s(e),s(r)];if(n){var l,c,u,f,h=1/0,p=-1/0,d=n.match(a.segmentRE);for(\"date\"===t.type&&(s=o.decodeDate(s)),l=0;lp&&(p=f)));return p>=h?[h,p]:void 0}}e.exports=function(t){var e=t._fullLayout,r=n.filterVisible(e.shapes);if(r.length&&t._fullData.length)for(var o=0;o1&&(2!==t.length||\"Z\"!==t[1][0])&&(0===E&&(t[0][0]=\"M\"),e[S]=t,T(),k())}}()}}function B(t,r){!function(t,r){if(e.length)for(var n=0;nx?(k=f,E=\"y0\",A=x,L=\"y1\"):(k=x,E=\"y1\",A=f,L=\"y0\");X(n),Q(s,r),function(t,e,r){var n=e.xref,i=e.yref,o=a.getFromId(r,n),s=a.getFromId(r,i),l=\"\";\"paper\"===n||o.autorange||(l+=n);\"paper\"===i||s.autorange||(l+=i);u.setClipUrl(t,l?\"clip\"+r._fullLayout._uid+l:null,r)}(e,r,t),Z.moveFn=\"move\"===O?J:K,Z.altKey=n.altKey},doneFn:function(){if(y(t))return;p(e),$(s),_(e,t,r),n.call(\"_guiRelayout\",t,l.getUpdateObj())},clickFn:function(){if(y(t))return;$(s)}};function X(r){if(y(t))O=null;else if(R)O=\"path\"===r.target.tagName?\"move\":\"start-point\"===r.target.attributes[\"data-line-point\"].value?\"resize-over-start-point\":\"resize-over-end-point\";else{var n=Z.element.getBoundingClientRect(),i=n.right-n.left,a=n.bottom-n.top,o=r.clientX-n.left,s=r.clientY-n.top,l=!F&&i>10&&a>10&&!r.shiftKey?h.getCursor(o/i,1-s/a):\"move\";p(e,l),O=l.split(\"-\")[0]}}function J(n,i){if(\"path\"===r.type){var a=function(t){return t},o=a,l=a;z?B(\"xanchor\",r.xanchor=G(b+n)):(o=function(t){return G(H(t)+n)},N&&\"date\"===N.type&&(o=m.encodeDate(o))),D?B(\"yanchor\",r.yanchor=Y(T+i)):(l=function(t){return Y(q(t)+i)},U&&\"date\"===U.type&&(l=m.encodeDate(l))),B(\"path\",r.path=w(I,o,l))}else z?B(\"xanchor\",r.xanchor=G(b+n)):(B(\"x0\",r.x0=G(c+n)),B(\"x1\",r.x1=G(v+n))),D?B(\"yanchor\",r.yanchor=Y(T+i)):(B(\"y0\",r.y0=Y(f+i)),B(\"y1\",r.y1=Y(x+i)));e.attr(\"d\",g(t,r)),Q(s,r)}function K(n,i){if(F){var a=function(t){return t},o=a,l=a;z?B(\"xanchor\",r.xanchor=G(b+n)):(o=function(t){return G(H(t)+n)},N&&\"date\"===N.type&&(o=m.encodeDate(o))),D?B(\"yanchor\",r.yanchor=Y(T+i)):(l=function(t){return Y(q(t)+i)},U&&\"date\"===U.type&&(l=m.encodeDate(l))),B(\"path\",r.path=w(I,o,l))}else if(R){if(\"resize-over-start-point\"===O){var u=c+n,h=D?f-i:f+i;B(\"x0\",r.x0=z?u:G(u)),B(\"y0\",r.y0=D?h:Y(h))}else if(\"resize-over-end-point\"===O){var p=v+n,d=D?x-i:x+i;B(\"x1\",r.x1=z?p:G(p)),B(\"y1\",r.y1=D?d:Y(d))}}else{var y=function(t){return-1!==O.indexOf(t)},_=y(\"n\"),j=y(\"s\"),V=y(\"w\"),W=y(\"e\"),Z=_?k+i:k,X=j?A+i:A,J=V?M+n:M,K=W?S+n:S;D&&(_&&(Z=k-i),j&&(X=A-i)),(!D&&X-Z>10||D&&Z-X>10)&&(B(E,r[E]=D?Z:Y(Z)),B(L,r[L]=D?X:Y(X))),K-J>10&&(B(C,r[C]=z?J:G(J)),B(P,r[P]=z?K:G(K)))}e.attr(\"d\",g(t,r)),Q(s,r)}function Q(t,e){(z||D)&&function(){var r=\"path\"!==e.type,n=t.selectAll(\".visual-cue\").data([0]);n.enter().append(\"path\").attr({fill:\"#fff\",\"fill-rule\":\"evenodd\",stroke:\"#000\",\"stroke-width\":1}).classed(\"visual-cue\",!0);var a=H(z?e.xanchor:i.midRange(r?[e.x0,e.x1]:m.extractPathCoords(e.path,d.paramIsX))),o=q(D?e.yanchor:i.midRange(r?[e.y0,e.y1]:m.extractPathCoords(e.path,d.paramIsY)));if(a=m.roundPositionForSharpStrokeRendering(a,1),o=m.roundPositionForSharpStrokeRendering(o,1),z&&D){var s=\"M\"+(a-1-1)+\",\"+(o-1-1)+\"h-8v2h8 v8h2v-8 h8v-2h-8 v-8h-2 Z\";n.attr(\"d\",s)}else if(z){var l=\"M\"+(a-1-1)+\",\"+(o-9-1)+\"v18 h2 v-18 Z\";n.attr(\"d\",l)}else{var c=\"M\"+(a-9-1)+\",\"+(o-1-1)+\"h18 v2 h-18 Z\";n.attr(\"d\",c)}}()}function $(t){t.selectAll(\".visual-cue\").remove()}h.init(Z),W.node().onmousemove=X}(t,z,l,e,r,O):!0===l.editable&&z.style(\"pointer-events\",P||c.opacity(S)*M<=.5?\"stroke\":\"all\");z.node().addEventListener(\"click\",(function(){return function(t,e){if(!x(t))return;var r=+e.node().getAttribute(\"data-index\");if(r>=0){if(r===t._fullLayout._activeShapeIndex)return void T(t);t._fullLayout._activeShapeIndex=r,t._fullLayout._deactivateShape=T,v(t)}}(t,z)}))}}function _(t,e,r){var n=(r.xref+r.yref).replace(/paper/g,\"\").replace(/[xyz][1-9]* *domain/g,\"\");u.setClipUrl(t,n?\"clip\"+e._fullLayout._uid+n:null,e)}function w(t,e,r){return t.replace(d.segmentRE,(function(t){var n=0,i=t.charAt(0),a=d.paramIsX[i],o=d.paramIsY[i],s=d.numParams[i];return i+t.substr(1).replace(d.paramRE,(function(t){return n>=s||(a[n]?t=e(t):o[n]&&(t=r(t)),n++),t}))}))}function T(t){x(t)&&(t._fullLayout._activeShapeIndex>=0&&(l(t),delete t._fullLayout._activeShapeIndex,v(t)))}e.exports={draw:v,drawOne:b,eraseActiveShape:function(t){if(!x(t))return;l(t);var e=t._fullLayout._activeShapeIndex,r=(t.layout||{}).shapes||[];if(e0&&lp&&(t=\"X\"),t}));return a>p&&(d=d.replace(/[\\s,]*X.*/,\"\"),i.log(\"Ignoring extra params in segment \"+t)),u+d}))}(e,s,c);if(\"pixel\"===e.xsizemode){var b=s(e.xanchor);u=b+e.x0,f=b+e.x1}else u=s(e.x0),f=s(e.x1);if(\"pixel\"===e.ysizemode){var _=c(e.yanchor);h=_-e.y0,p=_-e.y1}else h=c(e.y0),p=c(e.y1);if(\"line\"===d)return\"M\"+u+\",\"+h+\"L\"+f+\",\"+p;if(\"rect\"===d)return\"M\"+u+\",\"+h+\"H\"+f+\"V\"+p+\"H\"+u+\"Z\";var w=(u+f)/2,T=(h+p)/2,k=Math.abs(w-u),A=Math.abs(T-h),M=\"A\"+k+\",\"+A,S=w+k+\",\"+T;return\"M\"+S+M+\" 0 1,1 \"+(w+\",\"+(T-A))+M+\" 0 0,1 \"+S+\"Z\"}},{\"../../lib\":515,\"../../plots/cartesian/axes\":566,\"./constants\":459}],470:[function(t,e,r){\"use strict\";var n=t(\"./draw\");e.exports={moduleType:\"component\",name:\"shapes\",layoutAttributes:t(\"./attributes\"),supplyLayoutDefaults:t(\"./defaults\"),supplyDrawNewShapeDefaults:t(\"./draw_newshape/defaults\"),includeBasePlot:t(\"../../plots/cartesian/include_components\")(\"shapes\"),calcAutorange:t(\"./calc_autorange\"),draw:n.draw,drawOne:n.drawOne}},{\"../../plots/cartesian/include_components\":577,\"./attributes\":457,\"./calc_autorange\":458,\"./defaults\":460,\"./draw\":462,\"./draw_newshape/defaults\":465}],471:[function(t,e,r){\"use strict\";var n=t(\"../../plots/font_attributes\"),i=t(\"../../plots/pad_attributes\"),a=t(\"../../lib/extend\").extendDeepAll,o=t(\"../../plot_api/edit_types\").overrideAll,s=t(\"../../plots/animation_attributes\"),l=t(\"../../plot_api/plot_template\").templatedArray,c=t(\"./constants\"),u=l(\"step\",{visible:{valType:\"boolean\",dflt:!0},method:{valType:\"enumerated\",values:[\"restyle\",\"relayout\",\"animate\",\"update\",\"skip\"],dflt:\"restyle\"},args:{valType:\"info_array\",freeLength:!0,items:[{valType:\"any\"},{valType:\"any\"},{valType:\"any\"}]},label:{valType:\"string\"},value:{valType:\"string\"},execute:{valType:\"boolean\",dflt:!0}});e.exports=o(l(\"slider\",{visible:{valType:\"boolean\",dflt:!0},active:{valType:\"number\",min:0,dflt:0},steps:u,lenmode:{valType:\"enumerated\",values:[\"fraction\",\"pixels\"],dflt:\"fraction\"},len:{valType:\"number\",min:0,dflt:1},x:{valType:\"number\",min:-2,max:3,dflt:0},pad:a(i({editType:\"arraydraw\"}),{},{t:{dflt:20}}),xanchor:{valType:\"enumerated\",values:[\"auto\",\"left\",\"center\",\"right\"],dflt:\"left\"},y:{valType:\"number\",min:-2,max:3,dflt:0},yanchor:{valType:\"enumerated\",values:[\"auto\",\"top\",\"middle\",\"bottom\"],dflt:\"top\"},transition:{duration:{valType:\"number\",min:0,dflt:150},easing:{valType:\"enumerated\",values:s.transition.easing.values,dflt:\"cubic-in-out\"}},currentvalue:{visible:{valType:\"boolean\",dflt:!0},xanchor:{valType:\"enumerated\",values:[\"left\",\"center\",\"right\"],dflt:\"left\"},offset:{valType:\"number\",dflt:10},prefix:{valType:\"string\"},suffix:{valType:\"string\"},font:n({})},font:n({}),activebgcolor:{valType:\"color\",dflt:c.gripBgActiveColor},bgcolor:{valType:\"color\",dflt:c.railBgColor},bordercolor:{valType:\"color\",dflt:c.railBorderColor},borderwidth:{valType:\"number\",min:0,dflt:c.railBorderWidth},ticklen:{valType:\"number\",min:0,dflt:c.tickLength},tickcolor:{valType:\"color\",dflt:c.tickColor},tickwidth:{valType:\"number\",min:0,dflt:1},minorticklen:{valType:\"number\",min:0,dflt:c.minorTickLength}}),\"arraydraw\",\"from-root\")},{\"../../lib/extend\":505,\"../../plot_api/edit_types\":548,\"../../plot_api/plot_template\":555,\"../../plots/animation_attributes\":560,\"../../plots/font_attributes\":594,\"../../plots/pad_attributes\":627,\"./constants\":472}],472:[function(t,e,r){\"use strict\";e.exports={name:\"sliders\",containerClassName:\"slider-container\",groupClassName:\"slider-group\",inputAreaClass:\"slider-input-area\",railRectClass:\"slider-rail-rect\",railTouchRectClass:\"slider-rail-touch-rect\",gripRectClass:\"slider-grip-rect\",tickRectClass:\"slider-tick-rect\",inputProxyClass:\"slider-input-proxy\",labelsClass:\"slider-labels\",labelGroupClass:\"slider-label-group\",labelClass:\"slider-label\",currentValueClass:\"slider-current-value\",railHeight:5,menuIndexAttrName:\"slider-active-index\",autoMarginIdRoot:\"slider-\",minWidth:30,minHeight:30,textPadX:40,arrowOffsetX:4,railRadius:2,railWidth:5,railBorder:4,railBorderWidth:1,railBorderColor:\"#bec8d9\",railBgColor:\"#f8fafc\",railInset:8,stepInset:10,gripRadius:10,gripWidth:20,gripHeight:20,gripBorder:20,gripBorderWidth:1,gripBorderColor:\"#bec8d9\",gripBgColor:\"#f6f8fa\",gripBgActiveColor:\"#dbdde0\",labelPadding:8,labelOffset:0,tickWidth:1,tickColor:\"#333\",tickOffset:25,tickLength:7,minorTickOffset:25,minorTickColor:\"#333\",minorTickLength:4,currentValuePadding:8,currentValueInset:0}},{}],473:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../plots/array_container_defaults\"),a=t(\"./attributes\"),o=t(\"./constants\").name,s=a.steps;function l(t,e,r){function o(r,i){return n.coerce(t,e,a,r,i)}for(var s=i(t,e,{name:\"steps\",handleItemDefaults:c}),l=0,u=0;u0&&(s=s.transition().duration(e.transition.duration).ease(e.transition.easing)),s.attr(\"transform\",l(o-.5*f.gripWidth,e._dims.currentValueTotalHeight))}}function E(t,e){var r=t._dims;return r.inputAreaStart+f.stepInset+(r.inputAreaLength-2*f.stepInset)*Math.min(1,Math.max(0,e))}function L(t,e){var r=t._dims;return Math.min(1,Math.max(0,(e-f.stepInset-r.inputAreaStart)/(r.inputAreaLength-2*f.stepInset-2*r.inputAreaStart)))}function C(t,e,r){var n=r._dims,i=s.ensureSingle(t,\"rect\",f.railTouchRectClass,(function(n){n.call(A,e,t,r).style(\"pointer-events\",\"all\")}));i.attr({width:n.inputAreaLength,height:Math.max(n.inputAreaWidth,f.tickOffset+r.ticklen+n.labelHeight)}).call(a.fill,r.bgcolor).attr(\"opacity\",0),o.setTranslate(i,0,n.currentValueTotalHeight)}function P(t,e){var r=e._dims,n=r.inputAreaLength-2*f.railInset,i=s.ensureSingle(t,\"rect\",f.railRectClass);i.attr({width:n,height:f.railWidth,rx:f.railRadius,ry:f.railRadius,\"shape-rendering\":\"crispEdges\"}).call(a.stroke,e.bordercolor).call(a.fill,e.bgcolor).style(\"stroke-width\",e.borderwidth+\"px\"),o.setTranslate(i,f.railInset,.5*(r.inputAreaWidth-f.railWidth)+r.currentValueTotalHeight)}e.exports=function(t){var e=t._fullLayout,r=function(t,e){for(var r=t[f.name],n=[],i=0;i0?[0]:[]);function s(e){e._commandObserver&&(e._commandObserver.remove(),delete e._commandObserver),i.autoMargin(t,g(e))}if(a.enter().append(\"g\").classed(f.containerClassName,!0).style(\"cursor\",\"ew-resize\"),a.exit().each((function(){n.select(this).selectAll(\"g.\"+f.groupClassName).each(s)})).remove(),0!==r.length){var l=a.selectAll(\"g.\"+f.groupClassName).data(r,v);l.enter().append(\"g\").classed(f.groupClassName,!0),l.exit().each(s).remove();for(var c=0;c0||h<0){var v={left:[-d,0],right:[d,0],top:[0,-d],bottom:[0,d]}[b.side];e.attr(\"transform\",l(v[0],v[1]))}}}return R.call(F),O&&(E?R.on(\".opacity\",null):(A=0,M=!0,R.text(y).on(\"mouseover.opacity\",(function(){n.select(this).transition().duration(h.SHOW_PLACEHOLDER).style(\"opacity\",1)})).on(\"mouseout.opacity\",(function(){n.select(this).transition().duration(h.HIDE_PLACEHOLDER).style(\"opacity\",0)}))),R.call(f.makeEditable,{gd:t}).on(\"edit\",(function(e){void 0!==x?o.call(\"_guiRestyle\",t,v,e,x):o.call(\"_guiRelayout\",t,v,e)})).on(\"cancel\",(function(){this.text(this.attr(\"data-unformatted\")).call(F)})).on(\"input\",(function(t){this.text(t||\" \").call(f.positionText,_.x,_.y)}))),R.classed(\"js-placeholder\",M),T}}},{\"../../constants/alignment\":483,\"../../constants/interactions\":490,\"../../lib\":515,\"../../lib/svg_text_utils\":541,\"../../plots/plots\":628,\"../../registry\":647,\"../color\":367,\"../drawing\":389,\"@plotly/d3\":58,\"fast-isnumeric\":190}],477:[function(t,e,r){\"use strict\";var n=t(\"../../plots/font_attributes\"),i=t(\"../color/attributes\"),a=t(\"../../lib/extend\").extendFlat,o=t(\"../../plot_api/edit_types\").overrideAll,s=t(\"../../plots/pad_attributes\"),l=t(\"../../plot_api/plot_template\").templatedArray,c=l(\"button\",{visible:{valType:\"boolean\"},method:{valType:\"enumerated\",values:[\"restyle\",\"relayout\",\"animate\",\"update\",\"skip\"],dflt:\"restyle\"},args:{valType:\"info_array\",freeLength:!0,items:[{valType:\"any\"},{valType:\"any\"},{valType:\"any\"}]},args2:{valType:\"info_array\",freeLength:!0,items:[{valType:\"any\"},{valType:\"any\"},{valType:\"any\"}]},label:{valType:\"string\",dflt:\"\"},execute:{valType:\"boolean\",dflt:!0}});e.exports=o(l(\"updatemenu\",{_arrayAttrRegexps:[/^updatemenus\\[(0|[1-9][0-9]+)\\]\\.buttons/],visible:{valType:\"boolean\"},type:{valType:\"enumerated\",values:[\"dropdown\",\"buttons\"],dflt:\"dropdown\"},direction:{valType:\"enumerated\",values:[\"left\",\"right\",\"up\",\"down\"],dflt:\"down\"},active:{valType:\"integer\",min:-1,dflt:0},showactive:{valType:\"boolean\",dflt:!0},buttons:c,x:{valType:\"number\",min:-2,max:3,dflt:-.05},xanchor:{valType:\"enumerated\",values:[\"auto\",\"left\",\"center\",\"right\"],dflt:\"right\"},y:{valType:\"number\",min:-2,max:3,dflt:1},yanchor:{valType:\"enumerated\",values:[\"auto\",\"top\",\"middle\",\"bottom\"],dflt:\"top\"},pad:a(s({editType:\"arraydraw\"}),{}),font:n({}),bgcolor:{valType:\"color\"},bordercolor:{valType:\"color\",dflt:i.borderLine},borderwidth:{valType:\"number\",min:0,dflt:1,editType:\"arraydraw\"}}),\"arraydraw\",\"from-root\")},{\"../../lib/extend\":505,\"../../plot_api/edit_types\":548,\"../../plot_api/plot_template\":555,\"../../plots/font_attributes\":594,\"../../plots/pad_attributes\":627,\"../color/attributes\":366}],478:[function(t,e,r){\"use strict\";e.exports={name:\"updatemenus\",containerClassName:\"updatemenu-container\",headerGroupClassName:\"updatemenu-header-group\",headerClassName:\"updatemenu-header\",headerArrowClassName:\"updatemenu-header-arrow\",dropdownButtonGroupClassName:\"updatemenu-dropdown-button-group\",dropdownButtonClassName:\"updatemenu-dropdown-button\",buttonClassName:\"updatemenu-button\",itemRectClassName:\"updatemenu-item-rect\",itemTextClassName:\"updatemenu-item-text\",menuIndexAttrName:\"updatemenu-active-index\",autoMarginIdRoot:\"updatemenu-\",blankHeaderOpts:{label:\" \"},minWidth:30,minHeight:30,textPadX:24,arrowPadX:16,rx:2,ry:2,textOffsetX:12,textOffsetY:3,arrowOffsetX:4,gapButtonHeader:5,gapButton:2,activeColor:\"#F4FAFF\",hoverColor:\"#F4FAFF\",arrowSymbol:{left:\"\\u25c4\",right:\"\\u25ba\",up:\"\\u25b2\",down:\"\\u25bc\"}}},{}],479:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../plots/array_container_defaults\"),a=t(\"./attributes\"),o=t(\"./constants\").name,s=a.buttons;function l(t,e,r){function o(r,i){return n.coerce(t,e,a,r,i)}o(\"visible\",i(t,e,{name:\"buttons\",handleItemDefaults:c}).length>0)&&(o(\"active\"),o(\"direction\"),o(\"type\"),o(\"showactive\"),o(\"x\"),o(\"y\"),n.noneOrAll(t,e,[\"x\",\"y\"]),o(\"xanchor\"),o(\"yanchor\"),o(\"pad.t\"),o(\"pad.r\"),o(\"pad.b\"),o(\"pad.l\"),n.coerceFont(o,\"font\",r.font),o(\"bgcolor\",r.paper_bgcolor),o(\"bordercolor\"),o(\"borderwidth\"))}function c(t,e){function r(r,i){return n.coerce(t,e,s,r,i)}r(\"visible\",\"skip\"===t.method||Array.isArray(t.args))&&(r(\"method\"),r(\"args\"),r(\"args2\"),r(\"label\"),r(\"execute\"))}e.exports=function(t,e){i(t,e,{name:o,handleItemDefaults:l})}},{\"../../lib\":515,\"../../plots/array_container_defaults\":561,\"./attributes\":477,\"./constants\":478}],480:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\"),i=t(\"../../plots/plots\"),a=t(\"../color\"),o=t(\"../drawing\"),s=t(\"../../lib\"),l=t(\"../../lib/svg_text_utils\"),c=t(\"../../plot_api/plot_template\").arrayEditor,u=t(\"../../constants/alignment\").LINE_SPACING,f=t(\"./constants\"),h=t(\"./scrollbox\");function p(t){return t._index}function d(t,e){return+t.attr(f.menuIndexAttrName)===e._index}function m(t,e,r,n,i,a,o,s){e.active=o,c(t.layout,f.name,e).applyUpdate(\"active\",o),\"buttons\"===e.type?v(t,n,null,null,e):\"dropdown\"===e.type&&(i.attr(f.menuIndexAttrName,\"-1\"),g(t,n,i,a,e),s||v(t,n,i,a,e))}function g(t,e,r,n,i){var a=s.ensureSingle(e,\"g\",f.headerClassName,(function(t){t.style(\"pointer-events\",\"all\")})),l=i._dims,c=i.active,u=i.buttons[c]||f.blankHeaderOpts,h={y:i.pad.t,yPad:0,x:i.pad.l,xPad:0,index:0},p={width:l.headerWidth,height:l.headerHeight};a.call(y,i,u,t).call(M,i,h,p),s.ensureSingle(e,\"text\",f.headerArrowClassName,(function(t){t.attr(\"text-anchor\",\"end\").call(o.font,i.font).text(f.arrowSymbol[i.direction])})).attr({x:l.headerWidth-f.arrowOffsetX+i.pad.l,y:l.headerHeight/2+f.textOffsetY+i.pad.t}),a.on(\"click\",(function(){r.call(S,String(d(r,i)?-1:i._index)),v(t,e,r,n,i)})),a.on(\"mouseover\",(function(){a.call(w)})),a.on(\"mouseout\",(function(){a.call(T,i)})),o.setTranslate(e,l.lx,l.ly)}function v(t,e,r,a,o){r||(r=e).attr(\"pointer-events\",\"all\");var l=function(t){return-1==+t.attr(f.menuIndexAttrName)}(r)&&\"buttons\"!==o.type?[]:o.buttons,c=\"dropdown\"===o.type?f.dropdownButtonClassName:f.buttonClassName,u=r.selectAll(\"g.\"+c).data(s.filterVisible(l)),h=u.enter().append(\"g\").classed(c,!0),p=u.exit();\"dropdown\"===o.type?(h.attr(\"opacity\",\"0\").transition().attr(\"opacity\",\"1\"),p.transition().attr(\"opacity\",\"0\").remove()):p.remove();var d=0,g=0,v=o._dims,x=-1!==[\"up\",\"down\"].indexOf(o.direction);\"dropdown\"===o.type&&(x?g=v.headerHeight+f.gapButtonHeader:d=v.headerWidth+f.gapButtonHeader),\"dropdown\"===o.type&&\"up\"===o.direction&&(g=-f.gapButtonHeader+f.gapButton-v.openHeight),\"dropdown\"===o.type&&\"left\"===o.direction&&(d=-f.gapButtonHeader+f.gapButton-v.openWidth);var b={x:v.lx+d+o.pad.l,y:v.ly+g+o.pad.t,yPad:f.gapButton,xPad:f.gapButton,index:0},k={l:b.x+o.borderwidth,t:b.y+o.borderwidth};u.each((function(s,l){var c=n.select(this);c.call(y,o,s,t).call(M,o,b),c.on(\"click\",(function(){n.event.defaultPrevented||(s.execute&&(s.args2&&o.active===l?(m(t,o,0,e,r,a,-1),i.executeAPICommand(t,s.method,s.args2)):(m(t,o,0,e,r,a,l),i.executeAPICommand(t,s.method,s.args))),t.emit(\"plotly_buttonclicked\",{menu:o,button:s,active:o.active}))})),c.on(\"mouseover\",(function(){c.call(w)})),c.on(\"mouseout\",(function(){c.call(T,o),u.call(_,o)}))})),u.call(_,o),x?(k.w=Math.max(v.openWidth,v.headerWidth),k.h=b.y-k.t):(k.w=b.x-k.l,k.h=Math.max(v.openHeight,v.headerHeight)),k.direction=o.direction,a&&(u.size()?function(t,e,r,n,i,a){var o,s,l,c=i.direction,u=\"up\"===c||\"down\"===c,h=i._dims,p=i.active;if(u)for(s=0,l=0;l0?[0]:[]);if(o.enter().append(\"g\").classed(f.containerClassName,!0).style(\"cursor\",\"pointer\"),o.exit().each((function(){n.select(this).selectAll(\"g.\"+f.headerGroupClassName).each(a)})).remove(),0!==r.length){var l=o.selectAll(\"g.\"+f.headerGroupClassName).data(r,p);l.enter().append(\"g\").classed(f.headerGroupClassName,!0);for(var c=s.ensureSingle(o,\"g\",f.dropdownButtonGroupClassName,(function(t){t.style(\"pointer-events\",\"all\")})),u=0;uw,A=s.barLength+2*s.barPad,M=s.barWidth+2*s.barPad,S=d,E=g+v;E+M>c&&(E=c-M);var L=this.container.selectAll(\"rect.scrollbar-horizontal\").data(k?[0]:[]);L.exit().on(\".drag\",null).remove(),L.enter().append(\"rect\").classed(\"scrollbar-horizontal\",!0).call(i.fill,s.barColor),k?(this.hbar=L.attr({rx:s.barRadius,ry:s.barRadius,x:S,y:E,width:A,height:M}),this._hbarXMin=S+A/2,this._hbarTranslateMax=w-A):(delete this.hbar,delete this._hbarXMin,delete this._hbarTranslateMax);var C=v>T,P=s.barWidth+2*s.barPad,I=s.barLength+2*s.barPad,O=d+m,z=g;O+P>l&&(O=l-P);var D=this.container.selectAll(\"rect.scrollbar-vertical\").data(C?[0]:[]);D.exit().on(\".drag\",null).remove(),D.enter().append(\"rect\").classed(\"scrollbar-vertical\",!0).call(i.fill,s.barColor),C?(this.vbar=D.attr({rx:s.barRadius,ry:s.barRadius,x:O,y:z,width:P,height:I}),this._vbarYMin=z+I/2,this._vbarTranslateMax=T-I):(delete this.vbar,delete this._vbarYMin,delete this._vbarTranslateMax);var R=this.id,F=u-.5,B=C?f+P+.5:f+.5,N=h-.5,j=k?p+M+.5:p+.5,U=o._topdefs.selectAll(\"#\"+R).data(k||C?[0]:[]);if(U.exit().remove(),U.enter().append(\"clipPath\").attr(\"id\",R).append(\"rect\"),k||C?(this._clipRect=U.select(\"rect\").attr({x:Math.floor(F),y:Math.floor(N),width:Math.ceil(B)-Math.floor(F),height:Math.ceil(j)-Math.floor(N)}),this.container.call(a.setClipUrl,R,this.gd),this.bg.attr({x:d,y:g,width:m,height:v})):(this.bg.attr({width:0,height:0}),this.container.on(\"wheel\",null).on(\".drag\",null).call(a.setClipUrl,null),delete this._clipRect),k||C){var V=n.behavior.drag().on(\"dragstart\",(function(){n.event.sourceEvent.preventDefault()})).on(\"drag\",this._onBoxDrag.bind(this));this.container.on(\"wheel\",null).on(\"wheel\",this._onBoxWheel.bind(this)).on(\".drag\",null).call(V);var H=n.behavior.drag().on(\"dragstart\",(function(){n.event.sourceEvent.preventDefault(),n.event.sourceEvent.stopPropagation()})).on(\"drag\",this._onBarDrag.bind(this));k&&this.hbar.on(\".drag\",null).call(H),C&&this.vbar.on(\".drag\",null).call(H)}this.setTranslate(e,r)},s.prototype.disable=function(){(this.hbar||this.vbar)&&(this.bg.attr({width:0,height:0}),this.container.on(\"wheel\",null).on(\".drag\",null).call(a.setClipUrl,null),delete this._clipRect),this.hbar&&(this.hbar.on(\".drag\",null),this.hbar.remove(),delete this.hbar,delete this._hbarXMin,delete this._hbarTranslateMax),this.vbar&&(this.vbar.on(\".drag\",null),this.vbar.remove(),delete this.vbar,delete this._vbarYMin,delete this._vbarTranslateMax)},s.prototype._onBoxDrag=function(){var t=this.translateX,e=this.translateY;this.hbar&&(t-=n.event.dx),this.vbar&&(e-=n.event.dy),this.setTranslate(t,e)},s.prototype._onBoxWheel=function(){var t=this.translateX,e=this.translateY;this.hbar&&(t+=n.event.deltaY),this.vbar&&(e+=n.event.deltaY),this.setTranslate(t,e)},s.prototype._onBarDrag=function(){var t=this.translateX,e=this.translateY;if(this.hbar){var r=t+this._hbarXMin,i=r+this._hbarTranslateMax;t=(o.constrain(n.event.x,r,i)-r)/(i-r)*(this.position.w-this._box.w)}if(this.vbar){var a=e+this._vbarYMin,s=a+this._vbarTranslateMax;e=(o.constrain(n.event.y,a,s)-a)/(s-a)*(this.position.h-this._box.h)}this.setTranslate(t,e)},s.prototype.setTranslate=function(t,e){var r=this.position.w-this._box.w,n=this.position.h-this._box.h;if(t=o.constrain(t||0,0,r),e=o.constrain(e||0,0,n),this.translateX=t,this.translateY=e,this.container.call(a.setTranslate,this._box.l-this.position.l-t,this._box.t-this.position.t-e),this._clipRect&&this._clipRect.attr({x:Math.floor(this.position.l+t-.5),y:Math.floor(this.position.t+e-.5)}),this.hbar){var i=t/r;this.hbar.call(a.setTranslate,t+i*this._hbarTranslateMax,e)}if(this.vbar){var s=e/n;this.vbar.call(a.setTranslate,t,e+s*this._vbarTranslateMax)}}},{\"../../lib\":515,\"../color\":367,\"../drawing\":389,\"@plotly/d3\":58}],483:[function(t,e,r){\"use strict\";e.exports={FROM_BL:{left:0,center:.5,right:1,bottom:0,middle:.5,top:1},FROM_TL:{left:0,center:.5,right:1,bottom:1,middle:.5,top:0},FROM_BR:{left:1,center:.5,right:0,bottom:0,middle:.5,top:1},LINE_SPACING:1.3,CAP_SHIFT:.7,MID_SHIFT:.35,OPPOSITE_SIDE:{left:\"right\",right:\"left\",top:\"bottom\",bottom:\"top\"}}},{}],484:[function(t,e,r){\"use strict\";e.exports={axisRefDescription:function(t,e,r){return[\"If set to a\",t,\"axis id (e.g. *\"+t+\"* or\",\"*\"+t+\"2*), the `\"+t+\"` position refers to a\",t,\"coordinate. If set to *paper*, the `\"+t+\"`\",\"position refers to the distance from the\",e,\"of the plotting\",\"area in normalized coordinates where *0* (*1*) corresponds to the\",e,\"(\"+r+\"). If set to a\",t,\"axis ID followed by\",\"*domain* (separated by a space), the position behaves like for\",\"*paper*, but refers to the distance in fractions of the domain\",\"length from the\",e,\"of the domain of that axis: e.g.,\",\"*\"+t+\"2 domain* refers to the domain of the second\",t,\" axis and a\",t,\"position of 0.5 refers to the\",\"point between the\",e,\"and the\",r,\"of the domain of the\",\"second\",t,\"axis.\"].join(\" \")}}},{}],485:[function(t,e,r){\"use strict\";e.exports={INCREASING:{COLOR:\"#3D9970\",SYMBOL:\"\\u25b2\"},DECREASING:{COLOR:\"#FF4136\",SYMBOL:\"\\u25bc\"}}},{}],486:[function(t,e,r){\"use strict\";e.exports={FORMAT_LINK:\"https://github.com/d3/d3-format/tree/v1.4.5#d3-format\",DATE_FORMAT_LINK:\"https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format\"}},{}],487:[function(t,e,r){\"use strict\";e.exports={COMPARISON_OPS:[\"=\",\"!=\",\"<\",\">=\",\">\",\"<=\"],COMPARISON_OPS2:[\"=\",\"<\",\">=\",\">\",\"<=\"],INTERVAL_OPS:[\"[]\",\"()\",\"[)\",\"(]\",\"][\",\")(\",\"](\",\")[\"],SET_OPS:[\"{}\",\"}{\"],CONSTRAINT_REDUCTION:{\"=\":\"=\",\"<\":\"<\",\"<=\":\"<\",\">\":\">\",\">=\":\">\",\"[]\":\"[]\",\"()\":\"[]\",\"[)\":\"[]\",\"(]\":\"[]\",\"][\":\"][\",\")(\":\"][\",\"](\":\"][\",\")[\":\"][\"}}},{}],488:[function(t,e,r){\"use strict\";e.exports={solid:[[],0],dot:[[.5,1],200],dash:[[.5,1],50],longdash:[[.5,1],10],dashdot:[[.5,.625,.875,1],50],longdashdot:[[.5,.7,.8,1],10]}},{}],489:[function(t,e,r){\"use strict\";e.exports={circle:\"\\u25cf\",\"circle-open\":\"\\u25cb\",square:\"\\u25a0\",\"square-open\":\"\\u25a1\",diamond:\"\\u25c6\",\"diamond-open\":\"\\u25c7\",cross:\"+\",x:\"\\u274c\"}},{}],490:[function(t,e,r){\"use strict\";e.exports={SHOW_PLACEHOLDER:100,HIDE_PLACEHOLDER:1e3,DESELECTDIM:.2}},{}],491:[function(t,e,r){\"use strict\";e.exports={BADNUM:void 0,FP_SAFE:1e-4*Number.MAX_VALUE,ONEMAXYEAR:316224e5,ONEAVGYEAR:315576e5,ONEMINYEAR:31536e6,ONEMAXQUARTER:79488e5,ONEAVGQUARTER:78894e5,ONEMINQUARTER:76896e5,ONEMAXMONTH:26784e5,ONEAVGMONTH:26298e5,ONEMINMONTH:24192e5,ONEWEEK:6048e5,ONEDAY:864e5,ONEHOUR:36e5,ONEMIN:6e4,ONESEC:1e3,EPOCHJD:2440587.5,ALMOST_EQUAL:.999999,LOG_CLIP:10,MINUS_SIGN:\"\\u2212\"}},{}],492:[function(t,e,r){\"use strict\";r.xmlns=\"http://www.w3.org/2000/xmlns/\",r.svg=\"http://www.w3.org/2000/svg\",r.xlink=\"http://www.w3.org/1999/xlink\",r.svgAttrs={xmlns:r.svg,\"xmlns:xlink\":r.xlink}},{}],493:[function(t,e,r){\"use strict\";r.version=t(\"./version\").version,t(\"native-promise-only\"),t(\"../build/plotcss\");for(var n=t(\"./registry\"),i=r.register=n.register,a=t(\"./plot_api\"),o=Object.keys(a),s=0;s\",\"\",\" \",\"\",\" plotly-logomark\",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\"\"].join(\"\")}}},{}],495:[function(t,e,r){\"use strict\";r.isLeftAnchor=function(t){return\"left\"===t.xanchor||\"auto\"===t.xanchor&&t.x<=1/3},r.isCenterAnchor=function(t){return\"center\"===t.xanchor||\"auto\"===t.xanchor&&t.x>1/3&&t.x<2/3},r.isRightAnchor=function(t){return\"right\"===t.xanchor||\"auto\"===t.xanchor&&t.x>=2/3},r.isTopAnchor=function(t){return\"top\"===t.yanchor||\"auto\"===t.yanchor&&t.y>=2/3},r.isMiddleAnchor=function(t){return\"middle\"===t.yanchor||\"auto\"===t.yanchor&&t.y>1/3&&t.y<2/3},r.isBottomAnchor=function(t){return\"bottom\"===t.yanchor||\"auto\"===t.yanchor&&t.y<=1/3}},{}],496:[function(t,e,r){\"use strict\";var n=t(\"./mod\"),i=n.mod,a=n.modHalf,o=Math.PI,s=2*o;function l(t){return Math.abs(t[1]-t[0])>s-1e-14}function c(t,e){return a(e-t,s)}function u(t,e){if(l(e))return!0;var r,n;e[0](n=i(n,s))&&(n+=s);var a=i(t,s),o=a+s;return a>=r&&a<=n||o>=r&&o<=n}function f(t,e,r,n,i,a,c){i=i||0,a=a||0;var u,f,h,p,d,m=l([r,n]);function g(t,e){return[t*Math.cos(e)+i,a-t*Math.sin(e)]}m?(u=0,f=o,h=s):r=i&&t<=a);var i,a},pathArc:function(t,e,r,n,i){return f(null,t,e,r,n,i,0)},pathSector:function(t,e,r,n,i){return f(null,t,e,r,n,i,1)},pathAnnulus:function(t,e,r,n,i,a){return f(t,e,r,n,i,a,1)}}},{\"./mod\":522}],497:[function(t,e,r){\"use strict\";var n=Array.isArray,i=ArrayBuffer,a=DataView;function o(t){return i.isView(t)&&!(t instanceof a)}function s(t){return n(t)||o(t)}function l(t,e,r){if(s(t)){if(s(t[0])){for(var n=r,i=0;ii.max?e.set(r):e.set(+t)}},integer:{coerceFunction:function(t,e,r,i){t%1||!n(t)||void 0!==i.min&&ti.max?e.set(r):e.set(+t)}},string:{coerceFunction:function(t,e,r,n){if(\"string\"!=typeof t){var i=\"number\"==typeof t;!0!==n.strict&&i?e.set(String(t)):e.set(r)}else n.noBlank&&!t?e.set(r):e.set(t)}},color:{coerceFunction:function(t,e,r){i(t).isValid()?e.set(t):e.set(r)}},colorlist:{coerceFunction:function(t,e,r){Array.isArray(t)&&t.length&&t.every((function(t){return i(t).isValid()}))?e.set(t):e.set(r)}},colorscale:{coerceFunction:function(t,e,r){e.set(o.get(t,r))}},angle:{coerceFunction:function(t,e,r){\"auto\"===t?e.set(\"auto\"):n(t)?e.set(f(+t,360)):e.set(r)}},subplotid:{coerceFunction:function(t,e,r,n){var i=n.regex||u(r);\"string\"==typeof t&&i.test(t)?e.set(t):e.set(r)},validateFunction:function(t,e){var r=e.dflt;return t===r||\"string\"==typeof t&&!!u(r).test(t)}},flaglist:{coerceFunction:function(t,e,r,n){if(-1===(n.extras||[]).indexOf(t))if(\"string\"==typeof t){for(var i=t.split(\"+\"),a=0;a=n&&t<=i?t:u}if(\"string\"!=typeof t&&\"number\"!=typeof t)return u;t=String(t);var c=_(e),v=t.charAt(0);!c||\"G\"!==v&&\"g\"!==v||(t=t.substr(1),e=\"\");var w=c&&\"chinese\"===e.substr(0,7),T=t.match(w?x:y);if(!T)return u;var k=T[1],A=T[3]||\"1\",M=Number(T[5]||1),S=Number(T[7]||0),E=Number(T[9]||0),L=Number(T[11]||0);if(c){if(2===k.length)return u;var C;k=Number(k);try{var P=g.getComponentMethod(\"calendars\",\"getCal\")(e);if(w){var I=\"i\"===A.charAt(A.length-1);A=parseInt(A,10),C=P.newDate(k,P.toMonthIndex(k,A,I),M)}else C=P.newDate(k,Number(A),M)}catch(t){return u}return C?(C.toJD()-m)*f+S*h+E*p+L*d:u}k=2===k.length?(Number(k)+2e3-b)%100+b:Number(k),A-=1;var O=new Date(Date.UTC(2e3,A,M,S,E));return O.setUTCFullYear(k),O.getUTCMonth()!==A||O.getUTCDate()!==M?u:O.getTime()+L*d},n=r.MIN_MS=r.dateTime2ms(\"-9999\"),i=r.MAX_MS=r.dateTime2ms(\"9999-12-31 23:59:59.9999\"),r.isDateTime=function(t,e){return r.dateTime2ms(t,e)!==u};var T=90*f,k=3*h,A=5*p;function M(t,e,r,n,i){if((e||r||n||i)&&(t+=\" \"+w(e,2)+\":\"+w(r,2),(n||i)&&(t+=\":\"+w(n,2),i))){for(var a=4;i%10==0;)a-=1,i/=10;t+=\".\"+w(i,a)}return t}r.ms2DateTime=function(t,e,r){if(\"number\"!=typeof t||!(t>=n&&t<=i))return u;e||(e=0);var a,o,s,c,y,x,b=Math.floor(10*l(t+.05,1)),w=Math.round(t-b/10);if(_(r)){var S=Math.floor(w/f)+m,E=Math.floor(l(t,f));try{a=g.getComponentMethod(\"calendars\",\"getCal\")(r).fromJD(S).formatDate(\"yyyy-mm-dd\")}catch(t){a=v(\"G%Y-%m-%d\")(new Date(w))}if(\"-\"===a.charAt(0))for(;a.length<11;)a=\"-0\"+a.substr(1);else for(;a.length<10;)a=\"0\"+a;o=e=n+f&&t<=i-f))return u;var e=Math.floor(10*l(t+.05,1)),r=new Date(Math.round(t-e/10));return M(a(\"%Y-%m-%d\")(r),r.getHours(),r.getMinutes(),r.getSeconds(),10*r.getUTCMilliseconds()+e)},r.cleanDate=function(t,e,n){if(t===u)return e;if(r.isJSDate(t)||\"number\"==typeof t&&isFinite(t)){if(_(n))return s.error(\"JS Dates and milliseconds are incompatible with world calendars\",t),e;if(!(t=r.ms2DateTimeLocal(+t))&&void 0!==e)return e}else if(!r.isDateTime(t,n))return s.error(\"unrecognized date\",t),e;return t};var S=/%\\d?f/g,E=/%h/g,L={1:\"1\",2:\"1\",3:\"2\",4:\"2\"};function C(t,e,r,n){t=t.replace(S,(function(t){var r=Math.min(+t.charAt(1)||6,6);return(e/1e3%1+2).toFixed(r).substr(2).replace(/0+$/,\"\")||\"0\"}));var i=new Date(Math.floor(e+.05));if(t=t.replace(E,(function(){return L[r(\"%q\")(i)]})),_(n))try{t=g.getComponentMethod(\"calendars\",\"worldCalFmt\")(t,e,n)}catch(t){return\"Invalid\"}return r(t)(i)}var P=[59,59.9,59.99,59.999,59.9999];r.formatDate=function(t,e,r,n,i,a){if(i=_(i)&&i,!e)if(\"y\"===r)e=a.year;else if(\"m\"===r)e=a.month;else{if(\"d\"!==r)return function(t,e){var r=l(t+.05,f),n=w(Math.floor(r/h),2)+\":\"+w(l(Math.floor(r/p),60),2);if(\"M\"!==e){o(e)||(e=0);var i=(100+Math.min(l(t/d,60),P[e])).toFixed(e).substr(1);e>0&&(i=i.replace(/0+$/,\"\").replace(/[\\.]$/,\"\")),n+=\":\"+i}return n}(t,r)+\"\\n\"+C(a.dayMonthYear,t,n,i);e=a.dayMonth+\"\\n\"+a.year}return C(e,t,n,i)};var I=3*f;r.incrementMonth=function(t,e,r){r=_(r)&&r;var n=l(t,f);if(t=Math.round(t-n),r)try{var i=Math.round(t/f)+m,a=g.getComponentMethod(\"calendars\",\"getCal\")(r),o=a.fromJD(i);return e%12?a.add(o,e,\"m\"):a.add(o,e/12,\"y\"),(o.toJD()-m)*f+n}catch(e){s.error(\"invalid ms \"+t+\" in calendar \"+r)}var c=new Date(t+I);return c.setUTCMonth(c.getUTCMonth()+e)+n-I},r.findExactDates=function(t,e){for(var r,n,i=0,a=0,s=0,l=0,c=_(e)&&g.getComponentMethod(\"calendars\",\"getCal\")(e),u=0;u0&&t[e+1][0]<0)return e;return null}switch(e=\"RUS\"===s||\"FJI\"===s?function(t){var e;if(null===c(t))e=t;else for(e=new Array(t.length),i=0;ie?r[n++]=[t[i][0]+360,t[i][1]]:i===e?(r[n++]=t[i],r[n++]=[t[i][0],-90]):r[n++]=t[i];var a=h.tester(r);a.pts.pop(),l.push(a)}:function(t){l.push(h.tester(t))},a.type){case\"MultiPolygon\":for(r=0;ri&&(i=c,e=l)}else e=r;return o.default(e).geometry.coordinates}(u),n.fIn=t,n.fOut=u,s.push(u)}else c.log([\"Location\",n.loc,\"does not have a valid GeoJSON geometry.\",\"Traces with locationmode *geojson-id* only support\",\"*Polygon* and *MultiPolygon* geometries.\"].join(\" \"))}delete i[r]}switch(r.type){case\"FeatureCollection\":var h=r.features;for(n=0;n100?(clearInterval(a),n(\"Unexpected error while fetching from \"+t)):void i++}),50)}))}for(var o=0;o0&&(r.push(i),i=[])}return i.length>0&&r.push(i),r},r.makeLine=function(t){return 1===t.length?{type:\"LineString\",coordinates:t[0]}:{type:\"MultiLineString\",coordinates:t}},r.makePolygon=function(t){if(1===t.length)return{type:\"Polygon\",coordinates:t};for(var e=new Array(t.length),r=0;r1||m<0||m>1?null:{x:t+l*m,y:e+f*m}}function l(t,e,r,n,i){var a=n*t+i*e;if(a<0)return n*n+i*i;if(a>r){var o=n-t,s=i-e;return o*o+s*s}var l=n*e-i*t;return l*l/r}r.segmentsIntersect=s,r.segmentDistance=function(t,e,r,n,i,a,o,c){if(s(t,e,r,n,i,a,o,c))return 0;var u=r-t,f=n-e,h=o-i,p=c-a,d=u*u+f*f,m=h*h+p*p,g=Math.min(l(u,f,d,i-t,a-e),l(u,f,d,o-t,c-e),l(h,p,m,t-i,e-a),l(h,p,m,r-i,n-a));return Math.sqrt(g)},r.getTextLocation=function(t,e,r,s){if(t===i&&s===a||(n={},i=t,a=s),n[r])return n[r];var l=t.getPointAtLength(o(r-s/2,e)),c=t.getPointAtLength(o(r+s/2,e)),u=Math.atan((c.y-l.y)/(c.x-l.x)),f=t.getPointAtLength(o(r,e)),h={x:(4*f.x+l.x+c.x)/6,y:(4*f.y+l.y+c.y)/6,theta:u};return n[r]=h,h},r.clearLocationCache=function(){i=null},r.getVisibleSegment=function(t,e,r){var n,i,a=e.left,o=e.right,s=e.top,l=e.bottom,c=0,u=t.getTotalLength(),f=u;function h(e){var r=t.getPointAtLength(e);0===e?n=r:e===u&&(i=r);var c=r.xo?r.x-o:0,f=r.yl?r.y-l:0;return Math.sqrt(c*c+f*f)}for(var p=h(c);p;){if((c+=p+r)>f)return;p=h(c)}for(p=h(f);p;){if(c>(f-=p+r))return;p=h(f)}return{min:c,max:f,len:f-c,total:u,isClosed:0===c&&f===u&&Math.abs(n.x-i.x)<.1&&Math.abs(n.y-i.y)<.1}},r.findPointOnPath=function(t,e,r,n){for(var i,a,o,s=(n=n||{}).pathLength||t.getTotalLength(),l=n.tolerance||.001,c=n.iterationLimit||30,u=t.getPointAtLength(0)[r]>t.getPointAtLength(s)[r]?-1:1,f=0,h=0,p=s;f0?p=i:h=i,f++}return a}},{\"./mod\":522}],511:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"tinycolor2\"),a=t(\"color-normalize\"),o=t(\"../components/colorscale\"),s=t(\"../components/color/attributes\").defaultLine,l=t(\"./array\").isArrayOrTypedArray,c=a(s);function u(t,e){var r=t;return r[3]*=e,r}function f(t){if(n(t))return c;var e=a(t);return e.length?e:c}function h(t){return n(t)?t:1}e.exports={formatColor:function(t,e,r){var n,i,s,p,d,m=t.color,g=l(m),v=l(e),y=o.extractOpts(t),x=[];if(n=void 0!==y.colorscale?o.makeColorScaleFuncFromTrace(t):f,i=g?function(t,e){return void 0===t[e]?c:a(n(t[e]))}:f,s=v?function(t,e){return void 0===t[e]?1:h(t[e])}:h,g||v)for(var b=0;b1?(r*t+r*e)/r:t+e,i=String(n).length;if(i>16){var a=String(e).length;if(i>=String(t).length+a){var o=parseFloat(n).toPrecision(12);-1===o.indexOf(\"e+\")&&(n=+o)}}return n}},{}],515:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\"),i=t(\"d3-time-format\").utcFormat,a=t(\"d3-format\").format,o=t(\"fast-isnumeric\"),s=t(\"../constants/numerical\"),l=s.FP_SAFE,c=-l,u=s.BADNUM,f=e.exports={};f.adjustFormat=function(t){return!t||/^\\d[.]\\df/.test(t)||/[.]\\d%/.test(t)?t:\"0.f\"===t?\"~f\":/^\\d%/.test(t)?\"~%\":/^\\ds/.test(t)?\"~s\":!/^[~,.0$]/.test(t)&&/[&fps]/.test(t)?\"~\"+t:t};var h={};f.warnBadFormat=function(t){var e=String(t);h[e]||(h[e]=1,f.warn('encountered bad format: \"'+e+'\"'))},f.noFormat=function(t){return String(t)},f.numberFormat=function(t){var e;try{e=a(f.adjustFormat(t))}catch(e){return f.warnBadFormat(t),f.noFormat}return e},f.nestedProperty=t(\"./nested_property\"),f.keyedContainer=t(\"./keyed_container\"),f.relativeAttr=t(\"./relative_attr\"),f.isPlainObject=t(\"./is_plain_object\"),f.toLogRange=t(\"./to_log_range\"),f.relinkPrivateKeys=t(\"./relink_private\");var p=t(\"./array\");f.isTypedArray=p.isTypedArray,f.isArrayOrTypedArray=p.isArrayOrTypedArray,f.isArray1D=p.isArray1D,f.ensureArray=p.ensureArray,f.concat=p.concat,f.maxRowLength=p.maxRowLength,f.minRowLength=p.minRowLength;var d=t(\"./mod\");f.mod=d.mod,f.modHalf=d.modHalf;var m=t(\"./coerce\");f.valObjectMeta=m.valObjectMeta,f.coerce=m.coerce,f.coerce2=m.coerce2,f.coerceFont=m.coerceFont,f.coercePattern=m.coercePattern,f.coerceHoverinfo=m.coerceHoverinfo,f.coerceSelectionMarkerOpacity=m.coerceSelectionMarkerOpacity,f.validate=m.validate;var g=t(\"./dates\");f.dateTime2ms=g.dateTime2ms,f.isDateTime=g.isDateTime,f.ms2DateTime=g.ms2DateTime,f.ms2DateTimeLocal=g.ms2DateTimeLocal,f.cleanDate=g.cleanDate,f.isJSDate=g.isJSDate,f.formatDate=g.formatDate,f.incrementMonth=g.incrementMonth,f.dateTick0=g.dateTick0,f.dfltRange=g.dfltRange,f.findExactDates=g.findExactDates,f.MIN_MS=g.MIN_MS,f.MAX_MS=g.MAX_MS;var v=t(\"./search\");f.findBin=v.findBin,f.sorterAsc=v.sorterAsc,f.sorterDes=v.sorterDes,f.distinctVals=v.distinctVals,f.roundUp=v.roundUp,f.sort=v.sort,f.findIndexOfMin=v.findIndexOfMin,f.sortObjectKeys=t(\"./sort_object_keys\");var y=t(\"./stats\");f.aggNums=y.aggNums,f.len=y.len,f.mean=y.mean,f.median=y.median,f.midRange=y.midRange,f.variance=y.variance,f.stdev=y.stdev,f.interp=y.interp;var x=t(\"./matrix\");f.init2dArray=x.init2dArray,f.transposeRagged=x.transposeRagged,f.dot=x.dot,f.translationMatrix=x.translationMatrix,f.rotationMatrix=x.rotationMatrix,f.rotationXYMatrix=x.rotationXYMatrix,f.apply3DTransform=x.apply3DTransform,f.apply2DTransform=x.apply2DTransform,f.apply2DTransform2=x.apply2DTransform2,f.convertCssMatrix=x.convertCssMatrix,f.inverseTransformMatrix=x.inverseTransformMatrix;var b=t(\"./angles\");f.deg2rad=b.deg2rad,f.rad2deg=b.rad2deg,f.angleDelta=b.angleDelta,f.angleDist=b.angleDist,f.isFullCircle=b.isFullCircle,f.isAngleInsideSector=b.isAngleInsideSector,f.isPtInsideSector=b.isPtInsideSector,f.pathArc=b.pathArc,f.pathSector=b.pathSector,f.pathAnnulus=b.pathAnnulus;var _=t(\"./anchor_utils\");f.isLeftAnchor=_.isLeftAnchor,f.isCenterAnchor=_.isCenterAnchor,f.isRightAnchor=_.isRightAnchor,f.isTopAnchor=_.isTopAnchor,f.isMiddleAnchor=_.isMiddleAnchor,f.isBottomAnchor=_.isBottomAnchor;var w=t(\"./geometry2d\");f.segmentsIntersect=w.segmentsIntersect,f.segmentDistance=w.segmentDistance,f.getTextLocation=w.getTextLocation,f.clearLocationCache=w.clearLocationCache,f.getVisibleSegment=w.getVisibleSegment,f.findPointOnPath=w.findPointOnPath;var T=t(\"./extend\");f.extendFlat=T.extendFlat,f.extendDeep=T.extendDeep,f.extendDeepAll=T.extendDeepAll,f.extendDeepNoArrays=T.extendDeepNoArrays;var k=t(\"./loggers\");f.log=k.log,f.warn=k.warn,f.error=k.error;var A=t(\"./regex\");f.counterRegex=A.counter;var M=t(\"./throttle\");f.throttle=M.throttle,f.throttleDone=M.done,f.clearThrottle=M.clear;var S=t(\"./dom\");function E(t){var e={};for(var r in t)for(var n=t[r],i=0;il||t=e)&&(o(t)&&t>=0&&t%1==0)},f.noop=t(\"./noop\"),f.identity=t(\"./identity\"),f.repeat=function(t,e){for(var r=new Array(e),n=0;nr?Math.max(r,Math.min(e,t)):Math.max(e,Math.min(r,t))},f.bBoxIntersect=function(t,e,r){return r=r||0,t.left<=e.right+r&&e.left<=t.right+r&&t.top<=e.bottom+r&&e.top<=t.bottom+r},f.simpleMap=function(t,e,r,n,i){for(var a=t.length,o=new Array(a),s=0;s=Math.pow(2,r)?i>10?(f.warn(\"randstr failed uniqueness\"),l):t(e,r,n,(i||0)+1):l},f.OptionControl=function(t,e){t||(t={}),e||(e=\"opt\");var r={optionList:[],_newoption:function(n){n[e]=t,r[n.name]=n,r.optionList.push(n)}};return r[\"_\"+e]=t,r},f.smooth=function(t,e){if((e=Math.round(e)||0)<2)return t;var r,n,i,a,o=t.length,s=2*o,l=2*e-1,c=new Array(l),u=new Array(o);for(r=0;r=s&&(i-=s*Math.floor(i/s)),i<0?i=-1-i:i>=o&&(i=s-1-i),a+=t[i]*c[n];u[r]=a}return u},f.syncOrAsync=function(t,e,r){var n;function i(){return f.syncOrAsync(t,e,r)}for(;t.length;)if((n=(0,t.splice(0,1)[0])(e))&&n.then)return n.then(i);return r&&r(e)},f.stripTrailingSlash=function(t){return\"/\"===t.substr(-1)?t.substr(0,t.length-1):t},f.noneOrAll=function(t,e,r){if(t){var n,i=!1,a=!0;for(n=0;n0?e:0}))},f.fillArray=function(t,e,r,n){if(n=n||f.identity,f.isArrayOrTypedArray(t))for(var i=0;i1?i+o[1]:\"\";if(a&&(o.length>1||s.length>4||r))for(;n.test(s);)s=s.replace(n,\"$1\"+a+\"$2\");return s+l},f.TEMPLATE_STRING_REGEX=/%{([^\\s%{}:]*)([:|\\|][^}]*)?}/g;var z=/^\\w*$/;f.templateString=function(t,e){var r={};return t.replace(f.TEMPLATE_STRING_REGEX,(function(t,n){var i;return z.test(n)?i=e[n]:(r[n]=r[n]||f.nestedProperty(e,n).get,i=r[n]()),f.isValidTextValue(i)?i:\"\"}))};var D={max:10,count:0,name:\"hovertemplate\"};f.hovertemplateString=function(){return B.apply(D,arguments)};var R={max:10,count:0,name:\"texttemplate\"};f.texttemplateString=function(){return B.apply(R,arguments)};var F=/^[:|\\|]/;function B(t,e,r){var n=this,a=arguments;e||(e={});var o={};return t.replace(f.TEMPLATE_STRING_REGEX,(function(t,s,l){var c,u,h,p=\"_xother\"===s||\"_yother\"===s,d=\"_xother_\"===s||\"_yother_\"===s,m=\"xother_\"===s||\"yother_\"===s,g=\"xother\"===s||\"yother\"===s||p||m||d,v=s;if((p||d)&&(v=v.substring(1)),(m||d)&&(v=v.substring(0,v.length-1)),g){if(void 0===(c=e[v]))return\"\"}else for(h=3;h=48&&o<=57,c=s>=48&&s<=57;if(l&&(n=10*n+o-48),c&&(i=10*i+s-48),!l||!c){if(n!==i)return n-i;if(o!==s)return o-s}}return i-n};var N=2e9;f.seedPseudoRandom=function(){N=2e9},f.pseudoRandom=function(){var t=N;return N=(69069*N+1)%4294967296,Math.abs(N-t)<429496729?f.pseudoRandom():N/4294967296},f.fillText=function(t,e,r){var n=Array.isArray(r)?function(t){r.push(t)}:function(t){r.text=t},i=f.extractOption(t,e,\"htx\",\"hovertext\");if(f.isValidTextValue(i))return n(i);var a=f.extractOption(t,e,\"tx\",\"text\");return f.isValidTextValue(a)?n(a):void 0},f.isValidTextValue=function(t){return t||0===t},f.formatPercent=function(t,e){e=e||0;for(var r=(Math.round(100*t*Math.pow(10,e))*Math.pow(.1,e)).toFixed(e)+\"%\",n=0;n1&&(c=1):c=0,f.strTranslate(i-c*(r+o),a-c*(n+s))+f.strScale(c)+(l?\"rotate(\"+l+(e?\"\":\" \"+r+\" \"+n)+\")\":\"\")},f.setTransormAndDisplay=function(t,e){t.attr(\"transform\",f.getTextTransform(e)),t.style(\"display\",e.scale?null:\"none\")},f.ensureUniformFontSize=function(t,e){var r=f.extendFlat({},e);return r.size=Math.max(e.size,t._fullLayout.uniformtext.minsize||0),r},f.join2=function(t,e,r){var n=t.length;return n>1?t.slice(0,-1).join(e)+r+t[n-1]:t.join(e)},f.bigFont=function(t){return Math.round(1.2*t)};var j=f.getFirefoxVersion(),U=null!==j&&j<86;f.getPositionFromD3Event=function(){return U?[n.event.layerX,n.event.layerY]:[n.event.offsetX,n.event.offsetY]}},{\"../constants/numerical\":491,\"./anchor_utils\":495,\"./angles\":496,\"./array\":497,\"./clean_number\":498,\"./clear_responsive\":500,\"./coerce\":501,\"./dates\":502,\"./dom\":503,\"./extend\":505,\"./filter_unique\":506,\"./filter_visible\":507,\"./geometry2d\":510,\"./identity\":513,\"./increment\":514,\"./is_plain_object\":516,\"./keyed_container\":517,\"./localize\":518,\"./loggers\":519,\"./make_trace_groups\":520,\"./matrix\":521,\"./mod\":522,\"./nested_property\":523,\"./noop\":524,\"./notifier\":525,\"./preserve_drawing_buffer\":529,\"./push_unique\":530,\"./regex\":532,\"./relative_attr\":533,\"./relink_private\":534,\"./search\":535,\"./sort_object_keys\":538,\"./stats\":539,\"./throttle\":542,\"./to_log_range\":543,\"@plotly/d3\":58,\"d3-format\":112,\"d3-time-format\":120,\"fast-isnumeric\":190}],516:[function(t,e,r){\"use strict\";e.exports=function(t){return window&&window.process&&window.process.versions?\"[object Object]\"===Object.prototype.toString.call(t):\"[object Object]\"===Object.prototype.toString.call(t)&&Object.getPrototypeOf(t).hasOwnProperty(\"hasOwnProperty\")}},{}],517:[function(t,e,r){\"use strict\";var n=t(\"./nested_property\"),i=/^\\w*$/;e.exports=function(t,e,r,a){var o,s,l;r=r||\"name\",a=a||\"value\";var c={};e&&e.length?(l=n(t,e),s=l.get()):s=t,e=e||\"\";var u={};if(s)for(o=0;o2)return c[e]=2|c[e],h.set(t,null);if(f){for(o=e;o1){var e=[\"LOG:\"];for(t=0;t1){var r=[];for(t=0;t\"),\"long\")}},a.warn=function(){var t;if(n.logging>0){var e=[\"WARN:\"];for(t=0;t0){var r=[];for(t=0;t\"),\"stick\")}},a.error=function(){var t;if(n.logging>0){var e=[\"ERROR:\"];for(t=0;t0){var r=[];for(t=0;t\"),\"stick\")}}},{\"../plot_api/plot_config\":553,\"./notifier\":525}],520:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\");e.exports=function(t,e,r){var i=t.selectAll(\"g.\"+r.replace(/\\s/g,\".\")).data(e,(function(t){return t[0].trace.uid}));i.exit().remove(),i.enter().append(\"g\").attr(\"class\",r),i.order();var a=t.classed(\"rangeplot\")?\"nodeRangePlot3\":\"node3\";return i.each((function(t){t[0][a]=n.select(this)})),i}},{\"@plotly/d3\":58}],521:[function(t,e,r){\"use strict\";var n=t(\"gl-mat4\");r.init2dArray=function(t,e){for(var r=new Array(t),n=0;ne/2?t-Math.round(t/e)*e:t}}},{}],523:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"./array\").isArrayOrTypedArray;function a(t,e){return function(){var r,n,o,s,l,c=t;for(s=0;s/g),l=0;la||c===i||cs)&&(!e||!l(t))}:function(t,e){var l=t[0],c=t[1];if(l===i||la||c===i||cs)return!1;var u,f,h,p,d,m=r.length,g=r[0][0],v=r[0][1],y=0;for(u=1;uMath.max(f,g)||c>Math.max(h,v)))if(cu||Math.abs(n(o,h))>i)return!0;return!1},a.filter=function(t,e){var r=[t[0]],n=0,i=0;function o(o){t.push(o);var s=r.length,l=n;r.splice(i+1);for(var c=l+1;c1&&o(t.pop());return{addPt:o,raw:t,filtered:r}}},{\"../constants/numerical\":491,\"./matrix\":521}],528:[function(t,e,r){(function(r){(function(){\"use strict\";var n=t(\"./show_no_webgl_msg\"),i=t(\"regl\");e.exports=function(t,e,a){var o=t._fullLayout,s=!0;return o._glcanvas.each((function(n){if(n.regl)n.regl.preloadCachedCode(a);else if(!n.pick||o._has(\"parcoords\")){try{n.regl=i({canvas:this,attributes:{antialias:!n.pick,preserveDrawingBuffer:!0},pixelRatio:t._context.plotGlPixelRatio||r.devicePixelRatio,extensions:e||[],cachedCode:a||{}})}catch(t){s=!1}n.regl||(s=!1),s&&this.addEventListener(\"webglcontextlost\",(function(e){t&&t.emit&&t.emit(\"plotly_webglcontextlost\",{event:e,layer:n.key})}),!1)}})),s||n({container:o._glcontainer.node()}),s}}).call(this)}).call(this,\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{})},{\"./show_no_webgl_msg\":537,regl:284}],529:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"is-mobile\");e.exports=function(t){var e;if(\"string\"!=typeof(e=t&&t.hasOwnProperty(\"userAgent\")?t.userAgent:function(){var t;\"undefined\"!=typeof navigator&&(t=navigator.userAgent);t&&t.headers&&\"string\"==typeof t.headers[\"user-agent\"]&&(t=t.headers[\"user-agent\"]);return t}()))return!0;var r=i({ua:{headers:{\"user-agent\":e}},tablet:!0,featureDetect:!1});if(!r)for(var a=e.split(\" \"),o=1;o-1;s--){var l=a[s];if(\"Version/\"===l.substr(0,8)){var c=l.substr(8).split(\".\")[0];if(n(c)&&(c=+c),c>=13)return!0}}}return r}},{\"fast-isnumeric\":190,\"is-mobile\":234}],530:[function(t,e,r){\"use strict\";e.exports=function(t,e){if(e instanceof RegExp){for(var r=e.toString(),n=0;ni.queueLength&&(t.undoQueue.queue.shift(),t.undoQueue.index--))},startSequence:function(t){t.undoQueue=t.undoQueue||{index:0,queue:[],sequence:!1},t.undoQueue.sequence=!0,t.undoQueue.beginSequence=!0},stopSequence:function(t){t.undoQueue=t.undoQueue||{index:0,queue:[],sequence:!1},t.undoQueue.sequence=!1,t.undoQueue.beginSequence=!1},undo:function(t){var e,r;if(!(void 0===t.undoQueue||isNaN(t.undoQueue.index)||t.undoQueue.index<=0)){for(t.undoQueue.index--,e=t.undoQueue.queue[t.undoQueue.index],t.undoQueue.inSequence=!0,r=0;r=t.undoQueue.queue.length)){for(e=t.undoQueue.queue[t.undoQueue.index],t.undoQueue.inSequence=!0,r=0;re}function u(t,e){return t>=e}r.findBin=function(t,e,r){if(n(e.start))return r?Math.ceil((t-e.start)/e.size-1e-9)-1:Math.floor((t-e.start)/e.size+1e-9);var a,o,f=0,h=e.length,p=0,d=h>1?(e[h-1]-e[0])/(h-1):1;for(o=d>=0?r?s:l:r?u:c,t+=1e-9*d*(r?-1:1)*(d>=0?1:-1);f90&&i.log(\"Long binary search...\"),f-1},r.sorterAsc=function(t,e){return t-e},r.sorterDes=function(t,e){return e-t},r.distinctVals=function(t){var e,n=t.slice();for(n.sort(r.sorterAsc),e=n.length-1;e>-1&&n[e]===o;e--);for(var i,a=n[e]-n[0]||1,s=a/(e||1)/1e4,l=[],c=0;c<=e;c++){var u=n[c],f=u-i;void 0===i?(l.push(u),i=u):f>s&&(a=Math.min(a,f),l.push(u),i=u)}return{vals:l,minDiff:a}},r.roundUp=function(t,e,r){for(var n,i=0,a=e.length-1,o=0,s=r?0:1,l=r?1:0,c=r?Math.ceil:Math.floor;i0&&(n=1),r&&n)return t.sort(e)}return n?t:t.reverse()},r.findIndexOfMin=function(t,e){e=e||a;for(var r,n=1/0,i=0;ia.length)&&(o=a.length),n(e)||(e=!1),i(a[0])){for(l=new Array(o),s=0;st.length-1)return t[t.length-1];var r=e%1;return r*t[Math.ceil(e)]+(1-r)*t[Math.floor(e)]}},{\"./array\":497,\"fast-isnumeric\":190}],540:[function(t,e,r){\"use strict\";var n=t(\"color-normalize\");e.exports=function(t){return t?n(t):[0,0,0,1]}},{\"color-normalize\":89}],541:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\"),i=t(\"../lib\"),a=i.strTranslate,o=t(\"../constants/xmlns_namespaces\"),s=t(\"../constants/alignment\").LINE_SPACING,l=/([^$]*)([$]+[^$]*[$]+)([^$]*)/;r.convertToTspans=function(t,e,m){var M=t.text(),S=!t.attr(\"data-notex\")&&e&&e._context.typesetMath&&\"undefined\"!=typeof MathJax&&M.match(l),C=n.select(t.node().parentNode);if(!C.empty()){var P=t.attr(\"class\")?t.attr(\"class\").split(\" \")[0]:\"text\";return P+=\"-math\",C.selectAll(\"svg.\"+P).remove(),C.selectAll(\"g.\"+P+\"-group\").remove(),t.style(\"display\",null).attr({\"data-unformatted\":M,\"data-math\":\"N\"}),S?(e&&e._promises||[]).push(new Promise((function(e){t.style(\"display\",\"none\");var r=parseInt(t.node().style.fontSize,10),o={fontSize:r};!function(t,e,r){var a,o,s,l,h=parseInt((MathJax.version||\"\").split(\".\")[0]);if(2!==h&&3!==h)return void i.warn(\"No MathJax version:\",MathJax.version);var p=function(){var r=\"math-output-\"+i.randstr({},64),a=(l=n.select(\"body\").append(\"div\").attr({id:r}).style({visibility:\"hidden\",position:\"absolute\",\"font-size\":e.fontSize+\"px\"}).text(t.replace(c,\"\\\\lt \").replace(u,\"\\\\gt \"))).node();return 2===h?MathJax.Hub.Typeset(a):MathJax.typeset([a])},d=function(){var e=l.select(2===h?\".MathJax_SVG\":\".MathJax\"),a=!e.empty()&&l.select(\"svg\").node();if(a){var o,s=a.getBoundingClientRect();o=2===h?n.select(\"body\").select(\"#MathJax_SVG_glyphs\"):e.select(\"defs\"),r(e,o,s)}else i.log(\"There was an error in the tex syntax.\",t),r();l.remove()};2===h?MathJax.Hub.Queue((function(){return o=i.extendDeepAll({},MathJax.Hub.config),s=MathJax.Hub.processSectionDelay,void 0!==MathJax.Hub.processSectionDelay&&(MathJax.Hub.processSectionDelay=0),MathJax.Hub.Config({messageStyle:\"none\",tex2jax:{inlineMath:f},displayAlign:\"left\"})}),(function(){if(\"SVG\"!==(a=MathJax.Hub.config.menuSettings.renderer))return MathJax.Hub.setRenderer(\"SVG\")}),p,d,(function(){if(\"SVG\"!==a)return MathJax.Hub.setRenderer(a)}),(function(){return void 0!==s&&(MathJax.Hub.processSectionDelay=s),MathJax.Hub.Config(o)})):3===h&&(o=i.extendDeepAll({},MathJax.config),MathJax.config.tex||(MathJax.config.tex={}),MathJax.config.tex.inlineMath=f,\"svg\"!==(a=MathJax.config.startup.output)&&(MathJax.config.startup.output=\"svg\"),MathJax.startup.defaultReady(),MathJax.startup.promise.then((function(){p(),d(),\"svg\"!==a&&(MathJax.config.startup.output=a),MathJax.config=o})))}(S[2],o,(function(n,i,o){C.selectAll(\"svg.\"+P).remove(),C.selectAll(\"g.\"+P+\"-group\").remove();var s=n&&n.select(\"svg\");if(!s||!s.node())return I(),void e();var l=C.append(\"g\").classed(P+\"-group\",!0).attr({\"pointer-events\":\"none\",\"data-unformatted\":M,\"data-math\":\"Y\"});l.node().appendChild(s.node()),i&&i.node()&&s.node().insertBefore(i.node().cloneNode(!0),s.node().firstChild);var c=o.width,u=o.height;s.attr({class:P,height:u,preserveAspectRatio:\"xMinYMin meet\"}).style({overflow:\"visible\",\"pointer-events\":\"none\"});var f=t.node().style.fill||\"black\",h=s.select(\"g\");h.attr({fill:f,stroke:f});var p=h.node().getBoundingClientRect(),d=p.width,g=p.height;(d>c||g>u)&&(s.style(\"overflow\",\"hidden\"),d=(p=s.node().getBoundingClientRect()).width,g=p.height);var v=+t.attr(\"x\"),y=+t.attr(\"y\"),x=-(r||t.node().getBoundingClientRect().height)/4;if(\"y\"===P[0])l.attr({transform:\"rotate(\"+[-90,v,y]+\")\"+a(-d/2,x-g/2)});else if(\"l\"===P[0])y=x-g/2;else if(\"a\"===P[0]&&0!==P.indexOf(\"atitle\"))v=0,y=x;else{var b=t.attr(\"text-anchor\");v-=d*(\"middle\"===b?.5:\"end\"===b?1:0),y=y+x-g/2}s.attr({x:v,y:y}),m&&m.call(t,l),e(l)}))}))):I(),t}function I(){C.empty()||(P=t.attr(\"class\")+\"-math\",C.select(\"svg.\"+P).remove()),t.text(\"\").style(\"white-space\",\"pre\"),function(t,e){e=e.replace(g,\" \");var r,a=!1,l=[],c=-1;function u(){c++;var e=document.createElementNS(o.svg,\"tspan\");n.select(e).attr({class:\"line\",dy:c*s+\"em\"}),t.appendChild(e),r=e;var i=l;if(l=[{node:e}],i.length>1)for(var a=1;a doesnt match end tag <\"+t+\">. Pretending it did match.\",e),r=l[l.length-1].node}else i.log(\"Ignoring unexpected end tag .\",e)}x.test(e)?u():(r=t,l=[{node:t}]);for(var S=e.split(v),C=0;C|>|>)/g;var f=[[\"$\",\"$\"],[\"\\\\(\",\"\\\\)\"]];var h={sup:\"font-size:70%\",sub:\"font-size:70%\",b:\"font-weight:bold\",i:\"font-style:italic\",a:\"cursor:pointer\",span:\"\",em:\"font-style:italic;font-weight:bold\"},p={sub:\"0.3em\",sup:\"-0.6em\"},d={sub:\"-0.21em\",sup:\"0.42em\"},m=[\"http:\",\"https:\",\"mailto:\",\"\",void 0,\":\"],g=r.NEWLINES=/(\\r\\n?|\\n)/g,v=/(<[^<>]*>)/,y=/<(\\/?)([^ >]*)(\\s+(.*))?>/i,x=//i;r.BR_TAG_ALL=//gi;var b=/(^|[\\s\"'])style\\s*=\\s*(\"([^\"]*);?\"|'([^']*);?')/i,_=/(^|[\\s\"'])href\\s*=\\s*(\"([^\"]*)\"|'([^']*)')/i,w=/(^|[\\s\"'])target\\s*=\\s*(\"([^\"\\s]*)\"|'([^'\\s]*)')/i,T=/(^|[\\s\"'])popup\\s*=\\s*(\"([\\w=,]*)\"|'([\\w=,]*)')/i;function k(t,e){if(!t)return null;var r=t.match(e),n=r&&(r[3]||r[4]);return n&&E(n)}var A=/(^|;)\\s*color:/;r.plainText=function(t,e){for(var r=void 0!==(e=e||{}).len&&-1!==e.len?e.len:1/0,n=void 0!==e.allowedTags?e.allowedTags:[\"br\"],i=\"...\".length,a=t.split(v),o=[],s=\"\",l=0,c=0;ci?o.push(u.substr(0,d-i)+\"...\"):o.push(u.substr(0,d));break}s=\"\"}}return o.join(\"\")};var M={mu:\"\\u03bc\",amp:\"&\",lt:\"<\",gt:\">\",nbsp:\"\\xa0\",times:\"\\xd7\",plusmn:\"\\xb1\",deg:\"\\xb0\"},S=/&(#\\d+|#x[\\da-fA-F]+|[a-z]+);/g;function E(t){return t.replace(S,(function(t,e){return(\"#\"===e.charAt(0)?function(t){if(t>1114111)return;var e=String.fromCodePoint;if(e)return e(t);var r=String.fromCharCode;return t<=65535?r(t):r(55232+(t>>10),t%1024+56320)}(\"x\"===e.charAt(1)?parseInt(e.substr(2),16):parseInt(e.substr(1),10)):M[e])||t}))}function L(t){var e=encodeURI(decodeURI(t)),r=document.createElement(\"a\"),n=document.createElement(\"a\");r.href=t,n.href=e;var i=r.protocol,a=n.protocol;return-1!==m.indexOf(i)&&-1!==m.indexOf(a)?e:\"\"}function C(t,e,r){var n,a,o,s=r.horizontalAlign,l=r.verticalAlign||\"top\",c=t.node().getBoundingClientRect(),u=e.node().getBoundingClientRect();return a=\"bottom\"===l?function(){return c.bottom-n.height}:\"middle\"===l?function(){return c.top+(c.height-n.height)/2}:function(){return c.top},o=\"right\"===s?function(){return c.right-n.width}:\"center\"===s?function(){return c.left+(c.width-n.width)/2}:function(){return c.left},function(){n=this.node().getBoundingClientRect();var t=o()-u.left,e=a()-u.top,s=r.gd||{};if(r.gd){s._fullLayout._calcInverseTransform(s);var l=i.apply3DTransform(s._fullLayout._invTransform)(t,e);t=l[0],e=l[1]}return this.style({top:e+\"px\",left:t+\"px\",\"z-index\":1e3}),this}}r.convertEntities=E,r.sanitizeHTML=function(t){t=t.replace(g,\" \");for(var e=document.createElement(\"p\"),r=e,i=[],a=t.split(v),o=0;oa.ts+e?l():a.timer=setTimeout((function(){l(),a.timer=null}),e)},r.done=function(t){var e=n[t];return e&&e.timer?new Promise((function(t){var r=e.onDone;e.onDone=function(){r&&r(),t(),e.onDone=null}})):Promise.resolve()},r.clear=function(t){if(t)i(n[t]),delete n[t];else for(var e in n)r.clear(e)}},{}],543:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\");e.exports=function(t,e){if(t>0)return Math.log(t)/Math.LN10;var r=Math.log(Math.min(e[0],e[1]))/Math.LN10;return n(r)||(r=Math.log(Math.max(e[0],e[1]))/Math.LN10-6),r}},{\"fast-isnumeric\":190}],544:[function(t,e,r){\"use strict\";var n=e.exports={},i=t(\"../plots/geo/constants\").locationmodeToLayer,a=t(\"topojson-client\").feature;n.getTopojsonName=function(t){return[t.scope.replace(/ /g,\"-\"),\"_\",t.resolution.toString(),\"m\"].join(\"\")},n.getTopojsonPath=function(t,e){return t+e+\".json\"},n.getTopojsonFeatures=function(t,e){var r=i[t.locationmode],n=e.objects[r];return a(e,n).features}},{\"../plots/geo/constants\":596,\"topojson-client\":316}],545:[function(t,e,r){\"use strict\";e.exports={moduleType:\"locale\",name:\"en-US\",dictionary:{\"Click to enter Colorscale title\":\"Click to enter Colorscale title\"},format:{date:\"%m/%d/%Y\"}}},{}],546:[function(t,e,r){\"use strict\";e.exports={moduleType:\"locale\",name:\"en\",dictionary:{\"Click to enter Colorscale title\":\"Click to enter Colourscale title\"},format:{days:[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"],shortDays:[\"Sun\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"],months:[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"],shortMonths:[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"],periods:[\"AM\",\"PM\"],dateTime:\"%a %b %e %X %Y\",date:\"%d/%m/%Y\",time:\"%H:%M:%S\",decimal:\".\",thousands:\",\",grouping:[3],currency:[\"$\",\"\"],year:\"%Y\",month:\"%b %Y\",dayMonth:\"%b %-d\",dayMonthYear:\"%b %-d, %Y\"}}},{}],547:[function(t,e,r){\"use strict\";var n=t(\"../registry\");e.exports=function(t){for(var e,r,i=n.layoutArrayContainers,a=n.layoutArrayRegexes,o=t.split(\"[\")[0],s=0;s0&&o.log(\"Clearing previous rejected promises from queue.\"),t._promises=[]},r.cleanLayout=function(t){var e,n;t||(t={}),t.xaxis1&&(t.xaxis||(t.xaxis=t.xaxis1),delete t.xaxis1),t.yaxis1&&(t.yaxis||(t.yaxis=t.yaxis1),delete t.yaxis1),t.scene1&&(t.scene||(t.scene=t.scene1),delete t.scene1);var a=(s.subplotsRegistry.cartesian||{}).attrRegex,l=(s.subplotsRegistry.polar||{}).attrRegex,f=(s.subplotsRegistry.ternary||{}).attrRegex,h=(s.subplotsRegistry.gl3d||{}).attrRegex,m=Object.keys(t);for(e=0;e3?(O.x=1.02,O.xanchor=\"left\"):O.x<-2&&(O.x=-.02,O.xanchor=\"right\"),O.y>3?(O.y=1.02,O.yanchor=\"bottom\"):O.y<-2&&(O.y=-.02,O.yanchor=\"top\")),d(t),\"rotate\"===t.dragmode&&(t.dragmode=\"orbit\"),c.clean(t),t.template&&t.template.layout&&r.cleanLayout(t.template.layout),t},r.cleanData=function(t){for(var e=0;e0)return t.substr(0,e)}r.hasParent=function(t,e){for(var r=b(e);r;){if(r in t)return!0;r=b(r)}return!1};var _=[\"x\",\"y\",\"z\"];r.clearAxisTypes=function(t,e,r){for(var n=0;n1&&a.warn(\"Full array edits are incompatible with other edits\",f);var y=r[\"\"][\"\"];if(c(y))e.set(null);else{if(!Array.isArray(y))return a.warn(\"Unrecognized full array edit value\",f,y),!0;e.set(y)}return!m&&(h(g,v),p(t),!0)}var x,b,_,w,T,k,A,M,S=Object.keys(r).map(Number).sort(o),E=e.get(),L=E||[],C=u(v,f).get(),P=[],I=-1,O=L.length;for(x=0;xL.length-(A?0:1))a.warn(\"index out of range\",f,_);else if(void 0!==k)T.length>1&&a.warn(\"Insertion & removal are incompatible with edits to the same index.\",f,_),c(k)?P.push(_):A?(\"add\"===k&&(k={}),L.splice(_,0,k),C&&C.splice(_,0,{})):a.warn(\"Unrecognized full object edit value\",f,_,k),-1===I&&(I=_);else for(b=0;b=0;x--)L.splice(P[x],1),C&&C.splice(P[x],1);if(L.length?E||e.set(L):e.set(null),m)return!1;if(h(g,v),d!==i){var z;if(-1===I)z=S;else{for(O=Math.max(L.length,O),z=[],x=0;x=I);x++)z.push(_);for(x=I;x=t.data.length||i<-t.data.length)throw new Error(r+\" must be valid indices for gd.data.\");if(e.indexOf(i,n+1)>-1||i>=0&&e.indexOf(-t.data.length+i)>-1||i<0&&e.indexOf(t.data.length+i)>-1)throw new Error(\"each index in \"+r+\" must be unique.\")}}function I(t,e,r){if(!Array.isArray(t.data))throw new Error(\"gd.data must be an array.\");if(void 0===e)throw new Error(\"currentIndices is a required argument.\");if(Array.isArray(e)||(e=[e]),P(t,e,\"currentIndices\"),void 0===r||Array.isArray(r)||(r=[r]),void 0!==r&&P(t,r,\"newIndices\"),void 0!==r&&e.length!==r.length)throw new Error(\"current and new indices must be of equal length.\")}function O(t,e,r,n,a){!function(t,e,r,n){var i=o.isPlainObject(n);if(!Array.isArray(t.data))throw new Error(\"gd.data must be an array\");if(!o.isPlainObject(e))throw new Error(\"update must be a key:value object\");if(void 0===r)throw new Error(\"indices must be an integer or array of integers\");for(var a in P(t,r,\"indices\"),e){if(!Array.isArray(e[a])||e[a].length!==r.length)throw new Error(\"attribute \"+a+\" must be an array of length equal to indices array length\");if(i&&(!(a in n)||!Array.isArray(n[a])||n[a].length!==e[a].length))throw new Error(\"when maxPoints is set as a key:value object it must contain a 1:1 corrispondence with the keys and number of traces in the update object\")}}(t,e,r,n);for(var l=function(t,e,r,n){var a,l,c,u,f,h=o.isPlainObject(n),p=[];for(var d in Array.isArray(r)||(r=[r]),r=C(r,t.data.length-1),e)for(var m=0;m-1&&-1===r.indexOf(\"grouptitlefont\")?l(r,r.replace(\"titlefont\",\"title.font\")):r.indexOf(\"titleposition\")>-1?l(r,r.replace(\"titleposition\",\"title.position\")):r.indexOf(\"titleside\")>-1?l(r,r.replace(\"titleside\",\"title.side\")):r.indexOf(\"titleoffset\")>-1&&l(r,r.replace(\"titleoffset\",\"title.offset\")):l(r,r.replace(\"title\",\"title.text\"));function l(e,r){t[r]=t[e],delete t[e]}}function U(t,e,r){t=o.getGraphDiv(t),_.clearPromiseQueue(t);var n={};if(\"string\"==typeof e)n[e]=r;else{if(!o.isPlainObject(e))return o.warn(\"Relayout fail.\",e,r),Promise.reject();n=o.extendFlat({},e)}Object.keys(n).length&&(t.changed=!0);var i=W(t,n),a=i.flags;a.calc&&(t.calcdata=void 0);var s=[h.previousPromises];a.layoutReplot?s.push(w.layoutReplot):Object.keys(n).length&&(V(t,a,i)||h.supplyDefaults(t),a.legend&&s.push(w.doLegend),a.layoutstyle&&s.push(w.layoutStyles),a.axrange&&H(s,i.rangesAltered),a.ticks&&s.push(w.doTicksRelayout),a.modebar&&s.push(w.doModeBar),a.camera&&s.push(w.doCamera),a.colorbars&&s.push(w.doColorBars),s.push(M)),s.push(h.rehover,h.redrag,h.reselect),c.add(t,U,[t,i.undoit],U,[t,i.redoit]);var l=o.syncOrAsync(s,t);return l&&l.then||(l=Promise.resolve(t)),l.then((function(){return t.emit(\"plotly_relayout\",i.eventData),t}))}function V(t,e,r){var n=t._fullLayout;if(!e.axrange)return!1;for(var i in e)if(\"axrange\"!==i&&e[i])return!1;for(var a in r.rangesAltered){var o=p.id2name(a),s=t.layout[o],l=n[o];if(l.autorange=s.autorange,s.range&&(l.range=s.range.slice()),l.cleanRange(),l._matchGroup)for(var c in l._matchGroup)if(c!==a){var u=n[p.id2name(c)];u.autorange=l.autorange,u.range=l.range.slice(),u._input.range=l.range.slice()}}return!0}function H(t,e){var r=e?function(t){var r=[];for(var n in e){var i=p.getFromId(t,n);if(r.push(n),-1!==(i.ticklabelposition||\"\").indexOf(\"inside\")&&i._anchorAxis&&r.push(i._anchorAxis._id),i._matchGroup)for(var a in i._matchGroup)e[a]||r.push(a)}return p.draw(t,r,{skipTitle:!0})}:function(t){return p.draw(t,\"redraw\")};t.push(y,w.doAutoRangeAndConstraints,r,w.drawData,w.finalDraw)}var q=/^[xyz]axis[0-9]*\\.range(\\[[0|1]\\])?$/,G=/^[xyz]axis[0-9]*\\.autorange$/,Y=/^[xyz]axis[0-9]*\\.domain(\\[[0|1]\\])?$/;function W(t,e){var r,n,i,a=t.layout,l=t._fullLayout,c=l._guiEditing,h=F(l._preGUI,c),d=Object.keys(e),m=p.list(t),g=o.extendDeepAll({},e),v={};for(j(e),d=Object.keys(e),n=0;n0&&\"string\"!=typeof O.parts[D];)D--;var B=O.parts[D],N=O.parts[D-1]+\".\"+B,U=O.parts.slice(0,D).join(\".\"),V=s(t.layout,U).get(),H=s(l,U).get(),W=O.get();if(void 0!==z){M[I]=z,S[I]=\"reverse\"===B?z:R(W);var X=f.getLayoutValObject(l,O.parts);if(X&&X.impliedEdits&&null!==z)for(var J in X.impliedEdits)E(o.relativeAttr(I,J),X.impliedEdits[J]);if(-1!==[\"width\",\"height\"].indexOf(I))if(z){E(\"autosize\",null);var K=\"height\"===I?\"width\":\"height\";E(K,l[K])}else l[I]=t._initialAutoSize[I];else if(\"autosize\"===I)E(\"width\",z?null:l.width),E(\"height\",z?null:l.height);else if(N.match(q))P(N),s(l,U+\"._inputRange\").set(null);else if(N.match(G)){P(N),s(l,U+\"._inputRange\").set(null);var Q=s(l,U).get();Q._inputDomain&&(Q._input.domain=Q._inputDomain.slice())}else N.match(Y)&&s(l,U+\"._inputDomain\").set(null);if(\"type\"===B){L=V;var $=\"linear\"===H.type&&\"log\"===z,tt=\"log\"===H.type&&\"linear\"===z;if($||tt){if(L&&L.range)if(H.autorange)$&&(L.range=L.range[1]>L.range[0]?[1,2]:[2,1]);else{var et=L.range[0],rt=L.range[1];$?(et<=0&&rt<=0&&E(U+\".autorange\",!0),et<=0?et=rt/1e6:rt<=0&&(rt=et/1e6),E(U+\".range[0]\",Math.log(et)/Math.LN10),E(U+\".range[1]\",Math.log(rt)/Math.LN10)):(E(U+\".range[0]\",Math.pow(10,et)),E(U+\".range[1]\",Math.pow(10,rt)))}else E(U+\".autorange\",!0);Array.isArray(l._subplots.polar)&&l._subplots.polar.length&&l[O.parts[0]]&&\"radialaxis\"===O.parts[1]&&delete l[O.parts[0]]._subplot.viewInitial[\"radialaxis.range\"],u.getComponentMethod(\"annotations\",\"convertCoords\")(t,H,z,E),u.getComponentMethod(\"images\",\"convertCoords\")(t,H,z,E)}else E(U+\".autorange\",!0),E(U+\".range\",null);s(l,U+\"._inputRange\").set(null)}else if(B.match(k)){var nt=s(l,I).get(),it=(z||{}).type;it&&\"-\"!==it||(it=\"linear\"),u.getComponentMethod(\"annotations\",\"convertCoords\")(t,nt,it,E),u.getComponentMethod(\"images\",\"convertCoords\")(t,nt,it,E)}var at=b.containerArrayMatch(I);if(at){r=at.array,n=at.index;var ot=at.property,st=X||{editType:\"calc\"};\"\"!==n&&\"\"===ot&&(b.isAddVal(z)?S[I]=null:b.isRemoveVal(z)?S[I]=(s(a,r).get()||[])[n]:o.warn(\"unrecognized full object value\",e)),T.update(A,st),v[r]||(v[r]={});var lt=v[r][n];lt||(lt=v[r][n]={}),lt[ot]=z,delete e[I]}else\"reverse\"===B?(V.range?V.range.reverse():(E(U+\".autorange\",!0),V.range=[1,0]),H.autorange?A.calc=!0:A.plot=!0):(\"dragmode\"===I&&(!1===z&&!1!==W||!1!==z&&!1===W)||l._has(\"scatter-like\")&&l._has(\"regl\")&&\"dragmode\"===I&&(\"lasso\"===z||\"select\"===z)&&\"lasso\"!==W&&\"select\"!==W||l._has(\"gl2d\")?A.plot=!0:X?T.update(A,X):A.calc=!0,O.set(z))}}for(r in v){b.applyContainerArrayChanges(t,h(a,r),v[r],A,h)||(A.plot=!0)}for(var ct in C){var ut=(L=p.getFromId(t,ct))&&L._constraintGroup;if(ut)for(var ft in A.calc=!0,ut)C[ft]||(p.getFromId(t,ft)._constraintShrinkable=!0)}return(Z(t)||e.height||e.width)&&(A.plot=!0),(A.plot||A.calc)&&(A.layoutReplot=!0),{flags:A,rangesAltered:C,undoit:S,redoit:M,eventData:g}}function Z(t){var e=t._fullLayout,r=e.width,n=e.height;return t.layout.autosize&&h.plotAutoSize(t,t.layout,e),e.width!==r||e.height!==n}function X(t,e,n,i){t=o.getGraphDiv(t),_.clearPromiseQueue(t),o.isPlainObject(e)||(e={}),o.isPlainObject(n)||(n={}),Object.keys(e).length&&(t.changed=!0),Object.keys(n).length&&(t.changed=!0);var a=_.coerceTraceIndices(t,i),s=N(t,o.extendFlat({},e),a),l=s.flags,u=W(t,o.extendFlat({},n)),f=u.flags;(l.calc||f.calc)&&(t.calcdata=void 0),l.clearAxisTypes&&_.clearAxisTypes(t,a,n);var p=[];f.layoutReplot?p.push(w.layoutReplot):l.fullReplot?p.push(r._doPlot):(p.push(h.previousPromises),V(t,f,u)||h.supplyDefaults(t),l.style&&p.push(w.doTraceStyle),(l.colorbars||f.colorbars)&&p.push(w.doColorBars),f.legend&&p.push(w.doLegend),f.layoutstyle&&p.push(w.layoutStyles),f.axrange&&H(p,u.rangesAltered),f.ticks&&p.push(w.doTicksRelayout),f.modebar&&p.push(w.doModeBar),f.camera&&p.push(w.doCamera),p.push(M)),p.push(h.rehover,h.redrag,h.reselect),c.add(t,X,[t,s.undoit,u.undoit,s.traces],X,[t,s.redoit,u.redoit,s.traces]);var d=o.syncOrAsync(p,t);return d&&d.then||(d=Promise.resolve(t)),d.then((function(){return t.emit(\"plotly_update\",{data:s.eventData,layout:u.eventData}),t}))}function J(t){return function(e){e._fullLayout._guiEditing=!0;var r=t.apply(null,arguments);return e._fullLayout._guiEditing=!1,r}}var K=[{pattern:/^hiddenlabels/,attr:\"legend.uirevision\"},{pattern:/^((x|y)axis\\d*)\\.((auto)?range|title\\.text)/},{pattern:/axis\\d*\\.showspikes$/,attr:\"modebar.uirevision\"},{pattern:/(hover|drag)mode$/,attr:\"modebar.uirevision\"},{pattern:/^(scene\\d*)\\.camera/},{pattern:/^(geo\\d*)\\.(projection|center|fitbounds)/},{pattern:/^(ternary\\d*\\.[abc]axis)\\.(min|title\\.text)$/},{pattern:/^(polar\\d*\\.radialaxis)\\.((auto)?range|angle|title\\.text)/},{pattern:/^(polar\\d*\\.angularaxis)\\.rotation/},{pattern:/^(mapbox\\d*)\\.(center|zoom|bearing|pitch)/},{pattern:/^legend\\.(x|y)$/,attr:\"editrevision\"},{pattern:/^(shapes|annotations)/,attr:\"editrevision\"},{pattern:/^title\\.text$/,attr:\"editrevision\"}],Q=[{pattern:/^selectedpoints$/,attr:\"selectionrevision\"},{pattern:/(^|value\\.)visible$/,attr:\"legend.uirevision\"},{pattern:/^dimensions\\[\\d+\\]\\.constraintrange/},{pattern:/^node\\.(x|y|groups)/},{pattern:/^level$/},{pattern:/(^|value\\.)name$/},{pattern:/colorbar\\.title\\.text$/},{pattern:/colorbar\\.(x|y)$/,attr:\"editrevision\"}];function $(t,e){for(var r=0;r1;)if(n.pop(),void 0!==(r=s(e,n.join(\".\")+\".uirevision\").get()))return r;return e.uirevision}function et(t,e){for(var r=0;r=i.length?i[0]:i[t]:i}function l(t){return Array.isArray(a)?t>=a.length?a[0]:a[t]:a}function c(t,e){var r=0;return function(){if(t&&++r===e)return t()}}return void 0===n._frameWaitingCnt&&(n._frameWaitingCnt=0),new Promise((function(a,u){function f(){n._currentFrame&&n._currentFrame.onComplete&&n._currentFrame.onComplete();var e=n._currentFrame=n._frameQueue.shift();if(e){var r=e.name?e.name.toString():null;t._fullLayout._currentFrame=r,n._lastFrameAt=Date.now(),n._timeToNext=e.frameOpts.duration,h.transition(t,e.frame.data,e.frame.layout,_.coerceTraceIndices(t,e.frame.traces),e.frameOpts,e.transitionOpts).then((function(){e.onComplete&&e.onComplete()})),t.emit(\"plotly_animatingframe\",{name:r,frame:e.frame,animation:{frame:e.frameOpts,transition:e.transitionOpts}})}else t.emit(\"plotly_animated\"),window.cancelAnimationFrame(n._animationRaf),n._animationRaf=null}function p(){t.emit(\"plotly_animating\"),n._lastFrameAt=-1/0,n._timeToNext=0,n._runningTransitions=0,n._currentFrame=null;var e=function(){n._animationRaf=window.requestAnimationFrame(e),Date.now()-n._lastFrameAt>n._timeToNext&&f()};e()}var d,m,g=0;function v(t){return Array.isArray(i)?g>=i.length?t.transitionOpts=i[g]:t.transitionOpts=i[0]:t.transitionOpts=i,g++,t}var y=[],x=null==e,b=Array.isArray(e);if(!x&&!b&&o.isPlainObject(e))y.push({type:\"object\",data:v(o.extendFlat({},e))});else if(x||-1!==[\"string\",\"number\"].indexOf(typeof e))for(d=0;d0&&kk)&&A.push(m);y=A}}y.length>0?function(e){if(0!==e.length){for(var i=0;i=0;n--)if(o.isPlainObject(e[n])){var m=e[n].name,g=(u[m]||d[m]||{}).name,v=e[n].name,y=u[g]||d[g];g&&v&&\"number\"==typeof v&&y&&A<5&&(A++,o.warn('addFrames: overwriting frame \"'+(u[g]||d[g]).name+'\" with a frame whose name of type \"number\" also equates to \"'+g+'\". This is valid but may potentially lead to unexpected behavior since all plotly.js frame names are stored internally as strings.'),5===A&&o.warn(\"addFrames: This API call has yielded too many of these warnings. For the rest of this call, further warnings about numeric frame names will be suppressed.\")),d[m]={name:m},p.push({frame:h.supplyFrameDefaults(e[n]),index:r&&void 0!==r[n]&&null!==r[n]?r[n]:f+n})}p.sort((function(t,e){return t.index>e.index?-1:t.index=0;n--){if(\"number\"==typeof(i=p[n].frame).name&&o.warn(\"Warning: addFrames accepts frames with numeric names, but the numbers areimplicitly cast to strings\"),!i.name)for(;u[i.name=\"frame \"+t._transitionData._counter++];);if(u[i.name]){for(a=0;a=0;r--)n=e[r],a.push({type:\"delete\",index:n}),s.unshift({type:\"insert\",index:n,value:i[n]});var l=h.modifyFrames,u=h.modifyFrames,f=[t,s],p=[t,a];return c&&c.add(t,l,f,u,p),h.modifyFrames(t,a)},r.addTraces=function t(e,n,i){e=o.getGraphDiv(e);var a,s,l=[],u=r.deleteTraces,f=t,h=[e,l],p=[e,n];for(function(t,e,r){var n,i;if(!Array.isArray(t.data))throw new Error(\"gd.data must be an array.\");if(void 0===e)throw new Error(\"traces must be defined.\");for(Array.isArray(e)||(e=[e]),n=0;n=0&&r=0&&r=a.length)return!1;if(2===t.dimensions){if(r++,e.length===r)return t;var o=e[r];if(!y(o))return!1;t=a[i][o]}else t=a[i]}else t=a}}return t}function y(t){return t===Math.round(t)&&t>=0}function x(){var t,e,r={};for(t in f(r,o),n.subplotsRegistry){if((e=n.subplotsRegistry[t]).layoutAttributes)if(Array.isArray(e.attr))for(var i=0;i=l.length)return!1;i=(r=(n.transformsRegistry[l[c].type]||{}).attributes)&&r[e[2]],s=3}else{var u=t._module;if(u||(u=(n.modules[t.type||a.type.dflt]||{})._module),!u)return!1;if(!(i=(r=u.attributes)&&r[o])){var f=u.basePlotModule;f&&f.attributes&&(i=f.attributes[o])}i||(i=a[o])}return v(i,e,s)},r.getLayoutValObject=function(t,e){return v(function(t,e){var r,i,a,s,l=t._basePlotModules;if(l){var c;for(r=0;r=i&&(r._input||{})._templateitemname;o&&(a=i);var s,l=e+\"[\"+a+\"]\";function c(){s={},o&&(s[l]={},s[l].templateitemname=o)}function u(t,e){o?n.nestedProperty(s[l],t).set(e):s[l+\".\"+t]=e}function f(){var t=s;return c(),t}return c(),{modifyBase:function(t,e){s[t]=e},modifyItem:u,getUpdateObj:f,applyUpdate:function(e,r){e&&u(e,r);var i=f();for(var a in i)n.nestedProperty(t,a).set(i[a])}}}},{\"../lib\":515,\"../plots/attributes\":562}],556:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\"),i=t(\"../registry\"),a=t(\"../plots/plots\"),o=t(\"../lib\"),s=t(\"../lib/clear_gl_canvases\"),l=t(\"../components/color\"),c=t(\"../components/drawing\"),u=t(\"../components/titles\"),f=t(\"../components/modebar\"),h=t(\"../plots/cartesian/axes\"),p=t(\"../constants/alignment\"),d=t(\"../plots/cartesian/constraints\"),m=d.enforce,g=d.clean,v=t(\"../plots/cartesian/autorange\").doAutoRange;function y(t,e,r){for(var n=0;n=t[1]||i[1]<=t[0])&&(a[0]e[0]))return!0}return!1}function x(t){var e,i,s,u,d,m,g=t._fullLayout,v=g._size,x=v.p,_=h.list(t,\"\",!0);if(g._paperdiv.style({width:t._context.responsive&&g.autosize&&!t._context._hasZeroWidth&&!t.layout.width?\"100%\":g.width+\"px\",height:t._context.responsive&&g.autosize&&!t._context._hasZeroHeight&&!t.layout.height?\"100%\":g.height+\"px\"}).selectAll(\".main-svg\").call(c.setSize,g.width,g.height),t._context.setBackground(t,g.paper_bgcolor),r.drawMainTitle(t),f.manage(t),!g._has(\"cartesian\"))return a.previousPromises(t);function T(t,e,r){var n=t._lw/2;return\"x\"===t._id.charAt(0)?e?\"top\"===r?e._offset-x-n:e._offset+e._length+x+n:v.t+v.h*(1-(t.position||0))+n%1:e?\"right\"===r?e._offset+e._length+x+n:e._offset-x-n:v.l+v.w*(t.position||0)+n%1}for(e=0;e<_.length;e++){var k=(u=_[e])._anchorAxis;u._linepositions={},u._lw=c.crispRound(t,u.linewidth,1),u._mainLinePosition=T(u,k,u.side),u._mainMirrorPosition=u.mirror&&k?T(u,k,p.OPPOSITE_SIDE[u.side]):null}var A=[],M=[],S=[],E=1===l.opacity(g.paper_bgcolor)&&1===l.opacity(g.plot_bgcolor)&&g.paper_bgcolor===g.plot_bgcolor;for(i in g._plots)if((s=g._plots[i]).mainplot)s.bg&&s.bg.remove(),s.bg=void 0;else{var L=s.xaxis.domain,C=s.yaxis.domain,P=s.plotgroup;if(y(L,C,S)){var I=P.node(),O=s.bg=o.ensureSingle(P,\"rect\",\"bg\");I.insertBefore(O.node(),I.childNodes[0]),M.push(i)}else P.select(\"rect.bg\").remove(),S.push([L,C]),E||(A.push(i),M.push(i))}var z,D,R,F,B,N,j,U,V,H,q,G,Y,W=g._bgLayer.selectAll(\".bg\").data(A);for(W.enter().append(\"rect\").classed(\"bg\",!0),W.exit().remove(),W.each((function(t){g._plots[t].bg=n.select(this)})),e=0;eT?u.push({code:\"unused\",traceType:y,templateCount:w,dataCount:T}):T>w&&u.push({code:\"reused\",traceType:y,templateCount:w,dataCount:T})}}else u.push({code:\"data\"});if(function t(e,r){for(var n in e)if(\"_\"!==n.charAt(0)){var a=e[n],o=m(e,n,r);i(a)?(Array.isArray(e)&&!1===a._template&&a.templateitemname&&u.push({code:\"missing\",path:o,templateitemname:a.templateitemname}),t(a,o)):Array.isArray(a)&&g(a)&&t(a,o)}}({data:p,layout:h},\"\"),u.length)return u.map(v)}},{\"../lib\":515,\"../plots/attributes\":562,\"../plots/plots\":628,\"./plot_config\":553,\"./plot_schema\":554,\"./plot_template\":555}],558:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"./plot_api\"),a=t(\"../plots/plots\"),o=t(\"../lib\"),s=t(\"../snapshot/helpers\"),l=t(\"../snapshot/tosvg\"),c=t(\"../snapshot/svgtoimg\"),u=t(\"../version\").version,f={format:{valType:\"enumerated\",values:[\"png\",\"jpeg\",\"webp\",\"svg\",\"full-json\"],dflt:\"png\"},width:{valType:\"number\",min:1},height:{valType:\"number\",min:1},scale:{valType:\"number\",min:0,dflt:1},setBackground:{valType:\"any\",dflt:!1},imageDataOnly:{valType:\"boolean\",dflt:!1}};e.exports=function(t,e){var r,h,p,d;function m(t){return!(t in e)||o.validate(e[t],f[t])}if(e=e||{},o.isPlainObject(t)?(r=t.data||[],h=t.layout||{},p=t.config||{},d={}):(t=o.getGraphDiv(t),r=o.extendDeep([],t.data),h=o.extendDeep({},t.layout),p=t._context,d=t._fullLayout||{}),!m(\"width\")&&null!==e.width||!m(\"height\")&&null!==e.height)throw new Error(\"Height and width should be pixel values.\");if(!m(\"format\"))throw new Error(\"Export format is not \"+o.join2(f.format.values,\", \",\" or \")+\".\");var g={};function v(t,r){return o.coerce(e,g,f,t,r)}var y=v(\"format\"),x=v(\"width\"),b=v(\"height\"),_=v(\"scale\"),w=v(\"setBackground\"),T=v(\"imageDataOnly\"),k=document.createElement(\"div\");k.style.position=\"absolute\",k.style.left=\"-5000px\",document.body.appendChild(k);var A=o.extendFlat({},h);x?A.width=x:null===e.width&&n(d.width)&&(A.width=d.width),b?A.height=b:null===e.height&&n(d.height)&&(A.height=d.height);var M=o.extendFlat({},p,{_exportedPlot:!0,staticPlot:!0,setBackground:w}),S=s.getRedrawFunc(k);function E(){return new Promise((function(t){setTimeout(t,s.getDelay(k._fullLayout))}))}function L(){return new Promise((function(t,e){var r=l(k,y,_),n=k._fullLayout.width,f=k._fullLayout.height;function h(){i.purge(k),document.body.removeChild(k)}if(\"full-json\"===y){var p=a.graphJson(k,!1,\"keepdata\",\"object\",!0,!0);return p.version=u,p=JSON.stringify(p),h(),t(T?p:s.encodeJSON(p))}if(h(),\"svg\"===y)return t(T?r:s.encodeSVG(r));var d=document.createElement(\"canvas\");d.id=o.randstr(),c({format:y,width:n,height:f,scale:_,canvas:d,svg:r,promise:!0}).then(t).catch(e)}))}return new Promise((function(t,e){i.newPlot(k,r,A,M).then(S).then(E).then(L).then((function(e){t(function(t){return T?t.replace(s.IMAGE_URL_PREFIX,\"\"):t}(e))})).catch((function(t){e(t)}))}))}},{\"../lib\":515,\"../plots/plots\":628,\"../snapshot/helpers\":651,\"../snapshot/svgtoimg\":653,\"../snapshot/tosvg\":655,\"../version\":1132,\"./plot_api\":552,\"fast-isnumeric\":190}],559:[function(t,e,r){\"use strict\";var n=t(\"../lib\"),i=t(\"../plots/plots\"),a=t(\"./plot_schema\"),o=t(\"./plot_config\").dfltConfig,s=n.isPlainObject,l=Array.isArray,c=n.isArrayOrTypedArray;function u(t,e,r,i,a,o){o=o||[];for(var f=Object.keys(t),h=0;hx.length&&i.push(d(\"unused\",a,v.concat(x.length)));var A,M,S,E,L,C=x.length,P=Array.isArray(k);if(P&&(C=Math.min(C,k.length)),2===b.dimensions)for(M=0;Mx[M].length&&i.push(d(\"unused\",a,v.concat(M,x[M].length)));var I=x[M].length;for(A=0;A<(P?Math.min(I,k[M].length):I);A++)S=P?k[M][A]:k,E=y[M][A],L=x[M][A],n.validate(E,S)?L!==E&&L!==+E&&i.push(d(\"dynamic\",a,v.concat(M,A),E,L)):i.push(d(\"value\",a,v.concat(M,A),E))}else i.push(d(\"array\",a,v.concat(M),y[M]));else for(M=0;M1&&p.push(d(\"object\",\"layout\"))),i.supplyDefaults(m);for(var g=m._fullData,v=r.length,y=0;y0&&Math.round(f)===f))return{vals:i};c=f}for(var h=e.calendar,p=\"start\"===l,d=\"end\"===l,m=t[r+\"period0\"],g=a(m,h)||0,v=[],y=[],x=[],b=i.length,_=0;_A;)k=o(k,-c,h);for(;k<=A;)k=o(k,c,h);T=o(k,-c,h)}else{for(k=g+(w=Math.round((A-g)/u))*u;k>A;)k-=u;for(;k<=A;)k+=u;T=k-u}v[_]=p?T:d?k:(T+k)/2,y[_]=T,x[_]=k}return{vals:v,starts:y,ends:x}}},{\"../../constants/numerical\":491,\"../../lib\":515,\"fast-isnumeric\":190}],564:[function(t,e,r){\"use strict\";e.exports={xaxis:{valType:\"subplotid\",dflt:\"x\",editType:\"calc+clearAxisTypes\"},yaxis:{valType:\"subplotid\",dflt:\"y\",editType:\"calc+clearAxisTypes\"}}},{}],565:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\"),i=t(\"fast-isnumeric\"),a=t(\"../../lib\"),o=t(\"../../constants/numerical\").FP_SAFE,s=t(\"../../registry\"),l=t(\"../../components/drawing\"),c=t(\"./axis_ids\"),u=c.getFromId,f=c.isLinked;function h(t,e){var r,n,i=[],o=t._fullLayout,s=d(o,e,0),l=d(o,e,1),c=m(t,e),u=c.min,f=c.max;if(0===u.length||0===f.length)return a.simpleMap(e.range,e.r2l);var h=u[0].val,g=f[0].val;for(r=1;r0&&((T=E-s(x)-l(b))>L?k/T>C&&(_=x,w=b,C=k/T):k/E>C&&(_={val:x.val,nopad:1},w={val:b.val,nopad:1},C=k/E));if(h===g){var P=h-1,I=h+1;if(M)if(0===h)i=[0,1];else{var O=(h>0?f:u).reduce((function(t,e){return Math.max(t,l(e))}),0),z=h/(1-Math.min(.5,O/E));i=h>0?[0,z]:[z,0]}else i=S?[Math.max(0,P),Math.max(1,I)]:[P,I]}else M?(_.val>=0&&(_={val:0,nopad:1}),w.val<=0&&(w={val:0,nopad:1})):S&&(_.val-C*s(_)<0&&(_={val:0,nopad:1}),w.val<=0&&(w={val:1,nopad:1})),C=(w.val-_.val-p(e,x.val,b.val))/(E-s(_)-l(w)),i=[_.val-C*s(_),w.val+C*l(w)];return v&&i.reverse(),a.simpleMap(i,e.l2r||Number)}function p(t,e,r){var n=0;if(t.rangebreaks)for(var i=t.locateBreaks(e,r),a=0;a0?r.ppadplus:r.ppadminus)||r.ppad||0),S=A((t._m>0?r.ppadminus:r.ppadplus)||r.ppad||0),E=A(r.vpadplus||r.vpad),L=A(r.vpadminus||r.vpad);if(!T){if(h=1/0,p=-1/0,w)for(n=0;n0&&(h=a),a>p&&a-o&&(h=a),a>p&&a=I;n--)P(n);return{min:d,max:m,opts:r}},concatExtremes:m};function m(t,e,r){var n,i,a,o=e._id,s=t._fullData,l=t._fullLayout,c=[],f=[];function h(t,e){for(n=0;n=r&&(c.extrapad||!o)){s=!1;break}i(e,c.val)&&c.pad<=r&&(o||!c.extrapad)&&(t.splice(l,1),l--)}if(s){var u=a&&0===e;t.push({val:e,pad:u?0:r,extrapad:!u&&o})}}function x(t){return i(t)&&Math.abs(t)=e}},{\"../../components/drawing\":389,\"../../constants/numerical\":491,\"../../lib\":515,\"../../registry\":647,\"./axis_ids\":570,\"@plotly/d3\":58,\"fast-isnumeric\":190}],566:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\"),i=t(\"fast-isnumeric\"),a=t(\"../../plots/plots\"),o=t(\"../../registry\"),s=t(\"../../lib\"),l=s.strTranslate,c=t(\"../../lib/svg_text_utils\"),u=t(\"../../components/titles\"),f=t(\"../../components/color\"),h=t(\"../../components/drawing\"),p=t(\"./layout_attributes\"),d=t(\"./clean_ticks\"),m=t(\"../../constants/numerical\"),g=m.ONEMAXYEAR,v=m.ONEAVGYEAR,y=m.ONEMINYEAR,x=m.ONEMAXQUARTER,b=m.ONEAVGQUARTER,_=m.ONEMINQUARTER,w=m.ONEMAXMONTH,T=m.ONEAVGMONTH,k=m.ONEMINMONTH,A=m.ONEWEEK,M=m.ONEDAY,S=M/2,E=m.ONEHOUR,L=m.ONEMIN,C=m.ONESEC,P=m.MINUS_SIGN,I=m.BADNUM,O={K:\"zeroline\"},z={K:\"gridline\",L:\"path\"},D={K:\"minor-gridline\",L:\"path\"},R={K:\"tick\",L:\"path\"},F={K:\"tick\",L:\"text\"},B={width:[\"x\",\"r\",\"l\",\"xl\",\"xr\"],height:[\"y\",\"t\",\"b\",\"yt\",\"yb\"],right:[\"r\",\"xr\"],left:[\"l\",\"xl\"],top:[\"t\",\"yt\"],bottom:[\"b\",\"yb\"]},N=t(\"../../constants/alignment\"),j=N.MID_SHIFT,U=N.CAP_SHIFT,V=N.LINE_SPACING,H=N.OPPOSITE_SIDE,q=e.exports={};q.setConvert=t(\"./set_convert\");var G=t(\"./axis_autotype\"),Y=t(\"./axis_ids\"),W=Y.idSort,Z=Y.isLinked;q.id2name=Y.id2name,q.name2id=Y.name2id,q.cleanId=Y.cleanId,q.list=Y.list,q.listIds=Y.listIds,q.getFromId=Y.getFromId,q.getFromTrace=Y.getFromTrace;var X=t(\"./autorange\");q.getAutoRange=X.getAutoRange,q.findExtremes=X.findExtremes;function J(t){var e=1e-4*(t[1]-t[0]);return[t[0]-e,t[1]+e]}q.coerceRef=function(t,e,r,n,i,a){var o=n.charAt(n.length-1),l=r._fullLayout._subplots[o+\"axis\"],c=n+\"ref\",u={};return i||(i=l[0]||(\"string\"==typeof a?a:a[0])),a||(a=i),l=l.concat(l.map((function(t){return t+\" domain\"}))),u[c]={valType:\"enumerated\",values:l.concat(a?\"string\"==typeof a?[a]:a:[]),dflt:i},s.coerce(t,e,u,c)},q.getRefType=function(t){return void 0===t?t:\"paper\"===t?\"paper\":\"pixel\"===t?\"pixel\":/( domain)$/.test(t)?\"domain\":\"range\"},q.coercePosition=function(t,e,r,n,i,a){var o,l;if(\"range\"!==q.getRefType(n))o=s.ensureNumber,l=r(i,a);else{var c=q.getFromId(e,n);l=r(i,a=c.fraction2r(a)),o=c.cleanPos}t[i]=o(l)},q.cleanPosition=function(t,e,r){return(\"paper\"===r||\"pixel\"===r?s.ensureNumber:q.getFromId(e,r).cleanPos)(t)},q.redrawComponents=function(t,e){e=e||q.listIds(t);var r=t._fullLayout;function n(n,i,a,s){for(var l=o.getComponentMethod(n,i),c={},u=0;ur&&f2e-6||((r-t._forceTick0)/t._minDtick%1+1.000001)%1>2e-6)&&(t._minDtick=0)):t._minDtick=0},q.saveRangeInitial=function(t,e){for(var r=q.list(t,\"\",!0),n=!1,i=0;i.3*h||u(n)||u(a))){var p=r.dtick/2;t+=t+p.8){var o=Number(r.substr(1));a.exactYears>.8&&o%12==0?t=q.tickIncrement(t,\"M6\",\"reverse\")+1.5*M:a.exactMonths>.8?t=q.tickIncrement(t,\"M1\",\"reverse\")+15.5*M:t-=S;var l=q.tickIncrement(t,r);if(l<=n)return l}return t}(y,t,v,c,a)),g=y,0;g<=u;)g=q.tickIncrement(g,v,!1,a);return{start:e.c2r(y,0,a),end:e.c2r(g,0,a),size:v,_dataSpan:u-c}},q.prepMinorTicks=function(t,e,r){if(!e.minor.dtick){delete t.dtick;var n,a=e.dtick&&i(e._tmin);if(a){var o=q.tickIncrement(e._tmin,e.dtick,!0);n=[e._tmin,.99*o+.01*e._tmin]}else{var l=s.simpleMap(e.range,e.r2l);n=[l[0],.8*l[0]+.2*l[1]]}if(t.range=s.simpleMap(n,e.l2r),t._isMinor=!0,q.prepTicks(t,r),a){var c=i(e.dtick),u=i(t.dtick),f=c?e.dtick:+e.dtick.substring(1),h=u?t.dtick:+t.dtick.substring(1);c&&u?tt(f,h)?f===2*A&&h===2*M&&(t.dtick=A):f===2*A&&h===3*M?t.dtick=A:f!==A||(e._input.minor||{}).nticks?et(f/h,2.5)?t.dtick=f/2:t.dtick=f:t.dtick=M:\"M\"===String(e.dtick).charAt(0)?u?t.dtick=\"M1\":tt(f,h)?f>=12&&2===h&&(t.dtick=\"M3\"):t.dtick=e.dtick:\"L\"===String(t.dtick).charAt(0)?\"L\"===String(e.dtick).charAt(0)?tt(f,h)||(t.dtick=et(f/h,2.5)?e.dtick/2:e.dtick):t.dtick=\"D1\":\"D2\"===t.dtick&&+e.dtick>1&&(t.dtick=1)}t.range=e.range}void 0===e.minor._tick0Init&&(t.tick0=e.tick0)},q.prepTicks=function(t,e){var r=s.simpleMap(t.range,t.r2l,void 0,void 0,e);if(\"auto\"===t.tickmode||!t.dtick){var n,a=t.nticks;a||(\"category\"===t.type||\"multicategory\"===t.type?(n=t.tickfont?s.bigFont(t.tickfont.size||12):15,a=t._length/n):(n=\"y\"===t._id.charAt(0)?40:80,a=s.constrain(t._length/n,4,9)+1),\"radialaxis\"===t._name&&(a*=2)),t.minor&&\"array\"!==t.minor.tickmode||\"array\"===t.tickmode&&(a*=100),t._roughDTick=Math.abs(r[1]-r[0])/a,q.autoTicks(t,t._roughDTick),t._minDtick>0&&t.dtick<2*t._minDtick&&(t.dtick=t._minDtick,t.tick0=t.l2r(t._forceTick0))}\"period\"===t.ticklabelmode&&function(t){var e;function r(){return!(i(t.dtick)||\"M\"!==t.dtick.charAt(0))}var n=r(),a=q.getTickFormat(t);if(a){var o=t._dtickInit!==t.dtick;/%[fLQsSMX]/.test(a)||(/%[HI]/.test(a)?(e=E,o&&!n&&t.dtick=(O?0:1);z--){var D=!z;z?(t._dtickInit=t.dtick,t._tick0Init=t.tick0):(t.minor._dtickInit=t.minor.dtick,t.minor._tick0Init=t.minor.tick0);var R=z?t:s.extendFlat({},t,t.minor);if(D?q.prepMinorTicks(R,t,e):q.prepTicks(R,e),\"array\"!==R.tickmode){var F=J(u),B=F[0],N=F[1],j=i(R.dtick),U=\"log\"===a&&!(j||\"L\"===R.dtick.charAt(0)),V=q.tickFirst(R,e);if(z){if(t._tmin=V,V=N:W<=N;W=q.tickIncrement(W,Z,f,o)){if(z&&H++,R.rangebreaks&&!f){if(W=p)break}if(C.length>d||W===Y)break;Y=W;var X={value:W};z?(U&&W!==(0|W)&&(X.simpleLabel=!0),l>1&&H%l&&(X.skipLabel=!0),C.push(X)):(X.minor=!0,P.push(X))}}else z?(C=[],m=nt(t)):(P=[],L=nt(t))}if(O&&!(\"inside\"===t.minor.ticks&&\"outside\"===t.ticks||\"outside\"===t.minor.ticks&&\"inside\"===t.ticks)){for(var K=C.map((function(t){return t.value})),Q=[],$=0;$0?(a=n-1,o=n):(a=n,o=n);var s,l=t[a].value,c=t[o].value,u=Math.abs(c-l),f=r||u,h=0;f>=y?h=u>=y&&u<=g?u:v:r===b&&f>=_?h=u>=_&&u<=x?u:b:f>=k?h=u>=k&&u<=w?u:T:r===A&&f>=A?h=A:f>=M?h=M:r===S&&f>=S?h=S:r===E&&f>=E&&(h=E),h>=u&&(h=u,s=!0);var p=i+h;if(e.rangebreaks&&h>0){for(var d=0,m=0;m<84;m++){var L=(m+.5)/84;e.maskBreaks(i*(1-L)+L*p)!==I&&d++}(h*=d/84)||(t[n].drop=!0),s&&u>A&&(h=u)}(h>0||0===n)&&(t[n].periodX=i+h/2)}}(C,t,t._definedDelta),t.rangebreaks){var at=\"y\"===t._id.charAt(0),ot=1;\"auto\"===t.tickmode&&(ot=t.tickfont?t.tickfont.size:12);var st=NaN;for(r=C.length-1;r>-1;r--)if(C[r].drop)C.splice(r,1);else{C[r].value=It(C[r].value,t);var lt=t.c2p(C[r].value);(at?st>lt-ot:stp||utp&&(ct.periodX=p),ut10||\"01-01\"!==n.substr(5)?t._tickround=\"d\":t._tickround=+e.substr(1)%12==0?\"y\":\"m\";else if(e>=M&&a<=10||e>=15*M)t._tickround=\"d\";else if(e>=L&&a<=16||e>=E)t._tickround=\"M\";else if(e>=C&&a<=19||e>=L)t._tickround=\"S\";else{var o=t.l2r(r+e).replace(/^-/,\"\").length;t._tickround=Math.max(a,o)-20,t._tickround<0&&(t._tickround=4)}}else if(i(e)||\"L\"===e.charAt(0)){var s=t.range.map(t.r2d||Number);i(e)||(e=Number(e.substr(1))),t._tickround=2-Math.floor(Math.log(e)/Math.LN10+.01);var l=Math.max(Math.abs(s[0]),Math.abs(s[1])),c=Math.floor(Math.log(l)/Math.LN10+.01),u=void 0===t.minexponent?3:t.minexponent;Math.abs(c)>u&&(mt(t.exponentformat)&&!gt(c)?t._tickexponent=3*Math.round((c-1)/3):t._tickexponent=c)}else t._tickround=null}function pt(t,e,r){var n=t.tickfont||{};return{x:e,dx:0,dy:0,text:r||\"\",fontSize:n.size,font:n.family,fontColor:n.color}}q.autoTicks=function(t,e,r){var n;function a(t){return Math.pow(t,Math.floor(Math.log(e)/Math.LN10))}if(\"date\"===t.type){t.tick0=s.dateTick0(t.calendar,0);var o=2*e;if(o>v)e/=v,n=a(10),t.dtick=\"M\"+12*ft(e,n,it);else if(o>T)e/=T,t.dtick=\"M\"+ft(e,1,at);else if(o>M){if(t.dtick=ft(e,M,t._hasDayOfWeekBreaks?[1,2,7,14]:st),!r){var l=q.getTickFormat(t),c=\"period\"===t.ticklabelmode;c&&(t._rawTick0=t.tick0),/%[uVW]/.test(l)?t.tick0=s.dateTick0(t.calendar,2):t.tick0=s.dateTick0(t.calendar,1),c&&(t._dowTick0=t.tick0)}}else o>E?t.dtick=ft(e,E,at):o>L?t.dtick=ft(e,L,ot):o>C?t.dtick=ft(e,C,ot):(n=a(10),t.dtick=ft(e,n,it))}else if(\"log\"===t.type){t.tick0=0;var u=s.simpleMap(t.range,t.r2l);if(t._isMinor&&(e*=1.5),e>.7)t.dtick=Math.ceil(e);else if(Math.abs(u[1]-u[0])<1){var f=1.5*Math.abs((u[1]-u[0])/e);e=Math.abs(Math.pow(10,u[1])-Math.pow(10,u[0]))/f,n=a(10),t.dtick=\"L\"+ft(e,n,it)}else t.dtick=e>.3?\"D2\":\"D1\"}else\"category\"===t.type||\"multicategory\"===t.type?(t.tick0=0,t.dtick=Math.ceil(Math.max(e,1))):Pt(t)?(t.tick0=0,n=1,t.dtick=ft(e,n,ut)):(t.tick0=0,n=a(10),t.dtick=ft(e,n,it));if(0===t.dtick&&(t.dtick=1),!i(t.dtick)&&\"string\"!=typeof t.dtick){var h=t.dtick;throw t.dtick=1,\"ax.dtick error: \"+String(h)}},q.tickIncrement=function(t,e,r,a){var o=r?-1:1;if(i(e))return s.increment(t,o*e);var l=e.charAt(0),c=o*Number(e.substr(1));if(\"M\"===l)return s.incrementMonth(t,c,a);if(\"L\"===l)return Math.log(Math.pow(10,t)+c)/Math.LN10;if(\"D\"===l){var u=\"D2\"===e?ct:lt,f=t+.01*o,h=s.roundUp(s.mod(f,1),u,r);return Math.floor(f)+Math.log(n.round(Math.pow(10,h),1))/Math.LN10}throw\"unrecognized dtick \"+String(e)},q.tickFirst=function(t,e){var r=t.r2l||Number,a=s.simpleMap(t.range,r,void 0,void 0,e),o=a[1] \")}else t._prevDateHead=l,c+=\"
\"+l;e.text=c}(t,o,r,c):\"log\"===u?function(t,e,r,n,a){var o=t.dtick,l=e.x,c=t.tickformat,u=\"string\"==typeof o&&o.charAt(0);\"never\"===a&&(a=\"\");n&&\"L\"!==u&&(o=\"L3\",u=\"L\");if(c||\"L\"===u)e.text=vt(Math.pow(10,l),t,a,n);else if(i(o)||\"D\"===u&&s.mod(l+.01,1)<.1){var f=Math.round(l),h=Math.abs(f),p=t.exponentformat;\"power\"===p||mt(p)&>(f)?(e.text=0===f?1:1===f?\"10\":\"10\"+(f>1?\"\":P)+h+\"\",e.fontSize*=1.25):(\"e\"===p||\"E\"===p)&&h>2?e.text=\"1\"+p+(f>0?\"+\":P)+h:(e.text=vt(Math.pow(10,l),t,\"\",\"fakehover\"),\"D1\"===o&&\"y\"===t._id.charAt(0)&&(e.dy-=e.fontSize/6))}else{if(\"D\"!==u)throw\"unrecognized dtick \"+String(o);e.text=String(Math.round(Math.pow(10,s.mod(l,1)))),e.fontSize*=.75}if(\"D1\"===t.dtick){var d=String(e.text).charAt(0);\"0\"!==d&&\"1\"!==d||(\"y\"===t._id.charAt(0)?e.dx-=e.fontSize/4:(e.dy+=e.fontSize/2,e.dx+=(t.range[1]>t.range[0]?1:-1)*e.fontSize*(l<0?.5:.25)))}}(t,o,0,c,m):\"category\"===u?function(t,e){var r=t._categories[Math.round(e.x)];void 0===r&&(r=\"\");e.text=String(r)}(t,o):\"multicategory\"===u?function(t,e,r){var n=Math.round(e.x),i=t._categories[n]||[],a=void 0===i[1]?\"\":String(i[1]),o=void 0===i[0]?\"\":String(i[0]);r?e.text=o+\" - \"+a:(e.text=a,e.text2=o)}(t,o,r):Pt(t)?function(t,e,r,n,i){if(\"radians\"!==t.thetaunit||r)e.text=vt(e.x,t,i,n);else{var a=e.x/180;if(0===a)e.text=\"0\";else{var o=function(t){function e(t,e){return Math.abs(t-e)<=1e-6}var r=function(t){for(var r=1;!e(Math.round(t*r)/r,t);)r*=10;return r}(t),n=t*r,i=Math.abs(function t(r,n){return e(n,0)?r:t(n,r%n)}(n,r));return[Math.round(n/i),Math.round(r/i)]}(a);if(o[1]>=100)e.text=vt(s.deg2rad(e.x),t,i,n);else{var l=e.x<0;1===o[1]?1===o[0]?e.text=\"\\u03c0\":e.text=o[0]+\"\\u03c0\":e.text=[\"\",o[0],\"\",\"\\u2044\",\"\",o[1],\"\",\"\\u03c0\"].join(\"\"),l&&(e.text=P+e.text)}}}}(t,o,r,c,m):function(t,e,r,n,i){\"never\"===i?i=\"\":\"all\"===t.showexponent&&Math.abs(e.x/t.dtick)<1e-6&&(i=\"hide\");e.text=vt(e.x,t,i,n)}(t,o,0,c,m),n||(t.tickprefix&&!d(t.showtickprefix)&&(o.text=t.tickprefix+o.text),t.ticksuffix&&!d(t.showticksuffix)&&(o.text+=t.ticksuffix)),\"boundaries\"===t.tickson||t.showdividers){var g=function(e){var r=t.l2p(e);return r>=0&&r<=t._length?e:null};o.xbnd=[g(o.x-.5),g(o.x+t.dtick-.5)]}return o},q.hoverLabelText=function(t,e,r){r&&(t=s.extendFlat({},t,{hoverformat:r}));var n=Array.isArray(e)?e[0]:e,i=Array.isArray(e)?e[1]:void 0;if(void 0!==i&&i!==n)return q.hoverLabelText(t,n,r)+\" - \"+q.hoverLabelText(t,i,r);var a=\"log\"===t.type&&n<=0,o=q.tickText(t,t.c2l(a?-n:n),\"hover\").text;return a?0===n?\"0\":P+o:o};var dt=[\"f\",\"p\",\"n\",\"\\u03bc\",\"m\",\"\",\"k\",\"M\",\"G\",\"T\"];function mt(t){return\"SI\"===t||\"B\"===t}function gt(t){return t>14||t<-15}function vt(t,e,r,n){var a=t<0,o=e._tickround,l=r||e.exponentformat||\"B\",c=e._tickexponent,u=q.getTickFormat(e),f=e.separatethousands;if(n){var h={exponentformat:l,minexponent:e.minexponent,dtick:\"none\"===e.showexponent?e.dtick:i(t)&&Math.abs(t)||1,range:\"none\"===e.showexponent?e.range.map(e.r2d):[0,t||1]};ht(h),o=(Number(h._tickround)||0)+4,c=h._tickexponent,e.hoverformat&&(u=e.hoverformat)}if(u)return e._numFormat(u)(t).replace(/-/g,P);var p,d=Math.pow(10,-o)/2;if(\"none\"===l&&(c=0),(t=Math.abs(t))\"+p+\"\":\"B\"===l&&9===c?t+=\"B\":mt(l)&&(t+=dt[c/3+5]));return a?P+t:t}function yt(t,e){if(t){var r=Object.keys(B).reduce((function(t,r){return-1!==e.indexOf(r)&&B[r].forEach((function(e){t[e]=1})),t}),{});Object.keys(t).forEach((function(e){r[e]||(1===e.length?t[e]=0:delete t[e])}))}}function xt(t,e){for(var r=[],n={},i=0;i1&&r=i.min&&t=0,a=u(t,e[1])<=0;return(r||i)&&(n||a)}if(t.tickformatstops&&t.tickformatstops.length>0)switch(t.type){case\"date\":case\"linear\":for(e=0;e=o(i)))){r=n;break}break;case\"log\":for(e=0;e0?r.bottom-f:0,h)))),e.automargin){n={x:0,y:0,r:0,l:0,t:0,b:0};var p=[0,1];if(\"x\"===d){if(\"b\"===l?n[l]=e._depth:(n[l]=e._depth=Math.max(r.width>0?f-r.top:0,h),p.reverse()),r.width>0){var g=r.right-(e._offset+e._length);g>0&&(n.xr=1,n.r=g);var v=e._offset-r.left;v>0&&(n.xl=0,n.l=v)}}else if(\"l\"===l?n[l]=e._depth=Math.max(r.height>0?f-r.left:0,h):(n[l]=e._depth=Math.max(r.height>0?r.right-f:0,h),p.reverse()),r.height>0){var y=r.bottom-(e._offset+e._length);y>0&&(n.yb=0,n.b=y);var x=e._offset-r.top;x>0&&(n.yt=1,n.t=x)}n[m]=\"free\"===e.anchor?e.position:e._anchorAxis.domain[p[0]],e.title.text!==c._dfltTitle[d]&&(n[l]+=wt(e)+(e.title.standoff||0)),e.mirror&&\"free\"!==e.anchor&&((i={x:0,y:0,r:0,l:0,t:0,b:0})[u]=e.linewidth,e.mirror&&!0!==e.mirror&&(i[u]+=h),!0===e.mirror||\"ticks\"===e.mirror?i[m]=e._anchorAxis.domain[p[1]]:\"all\"!==e.mirror&&\"allticks\"!==e.mirror||(i[m]=[e._counterDomainMin,e._counterDomainMax][p[1]]))}it&&(s=o.getComponentMethod(\"rangeslider\",\"autoMarginOpts\")(t,e)),\"string\"==typeof e.automargin&&(yt(n,e.automargin),yt(i,e.automargin)),a.autoMargin(t,At(e),n),a.autoMargin(t,Mt(e),i),a.autoMargin(t,St(e),s)})),r.skipTitle||it&&\"bottom\"===e.side||rt.push((function(){return function(t,e){var r,n=t._fullLayout,i=e._id,a=i.charAt(0),o=e.title.font.size;if(e.title.hasOwnProperty(\"standoff\"))r=e._depth+e.title.standoff+wt(e);else{var s=Ot(e);if(\"multicategory\"===e.type)r=e._depth;else{var l=1.5*o;s&&(l=.5*o,\"outside\"===e.ticks&&(l+=e.ticklen)),r=10+l+(e.linewidth?e.linewidth-1:0)}s||(r+=\"x\"===a?\"top\"===e.side?o*(e.showticklabels?1:0):o*(e.showticklabels?1.5:.5):\"right\"===e.side?o*(e.showticklabels?1:.5):o*(e.showticklabels?.5:0))}var c,f,p,d,m=q.getPxPosition(t,e);\"x\"===a?(f=e._offset+e._length/2,p=\"top\"===e.side?m-r:m+r):(p=e._offset+e._length/2,f=\"right\"===e.side?m+r:m-r,c={rotate:\"-90\",offset:0});if(\"multicategory\"!==e.type){var g=e._selections[e._id+\"tick\"];if(d={selection:g,side:e.side},g&&g.node()&&g.node().parentNode){var v=h.getTranslate(g.node().parentNode);d.offsetLeft=v.x,d.offsetTop=v.y}e.title.hasOwnProperty(\"standoff\")&&(d.pad=0)}return u.draw(t,i+\"title\",{propContainer:e,propName:e._name+\".title.text\",placeholder:n._dfltTitle[a],avoid:d,transform:c,attributes:{x:f,y:p,\"text-anchor\":\"middle\"}})}(t,e)})),s.syncOrAsync(rt)}}function at(t){var r=p+(t||\"tick\");return w[r]||(w[r]=function(t,e){var r,n,i,a;t._selections[e].size()?(r=1/0,n=-1/0,i=1/0,a=-1/0,t._selections[e].each((function(){var t=kt(this),e=h.bBox(t.node().parentNode);r=Math.min(r,e.top),n=Math.max(n,e.bottom),i=Math.min(i,e.left),a=Math.max(a,e.right)}))):(r=0,n=0,i=0,a=0);return{top:r,bottom:n,left:i,right:a,height:n-r,width:a-i}}(e,r)),w[r]}},q.getTickSigns=function(t,e){var r=t._id.charAt(0),n={x:\"top\",y:\"right\"}[r],i=t.side===n?1:-1,a=[-1,1,i,-i];return\"inside\"!==(e?(t.minor||{}).ticks:t.ticks)==(\"x\"===r)&&(a=a.map((function(t){return-t}))),t.side&&a.push({l:-1,t:-1,r:1,b:1}[t.side.charAt(0)]),a},q.makeTransTickFn=function(t){return\"x\"===t._id.charAt(0)?function(e){return l(t._offset+t.l2p(e.x),0)}:function(e){return l(0,t._offset+t.l2p(e.x))}},q.makeTransTickLabelFn=function(t){var e=function(t){var e=t.ticklabelposition||\"\",r=function(t){return-1!==e.indexOf(t)},n=r(\"top\"),i=r(\"left\"),a=r(\"right\"),o=r(\"bottom\"),s=r(\"inside\"),l=o||i||n||a;if(!l&&!s)return[0,0];var c=t.side,u=l?(t.tickwidth||0)/2:0,f=3,h=t.tickfont?t.tickfont.size:12;(o||n)&&(u+=h*U,f+=(t.linewidth||0)/2);(i||a)&&(u+=(t.linewidth||0)/2,f+=3);s&&\"top\"===c&&(f-=h*(1-U));(i||n)&&(u=-u);\"bottom\"!==c&&\"right\"!==c||(f=-f);return[l?u:0,s?f:0]}(t),r=e[0],n=e[1];return\"x\"===t._id.charAt(0)?function(e){return l(r+t._offset+t.l2p(bt(e)),n)}:function(e){return l(n,r+t._offset+t.l2p(bt(e)))}},q.makeTickPath=function(t,e,r,n){n||(n={});var i=n.minor;if(i&&!t.minor)return\"\";var a=void 0!==n.len?n.len:i?t.minor.ticklen:t.ticklen,o=t._id.charAt(0),s=(t.linewidth||1)/2;return\"x\"===o?\"M0,\"+(e+s*r)+\"v\"+a*r:\"M\"+(e+s*r)+\",0h\"+a*r},q.makeLabelFns=function(t,e,r){var n=t.ticklabelposition||\"\",a=function(t){return-1!==n.indexOf(t)},o=a(\"top\"),l=a(\"left\"),c=a(\"right\"),u=a(\"bottom\")||l||o||c,f=a(\"inside\"),h=\"inside\"===n&&\"inside\"===t.ticks||!f&&\"outside\"===t.ticks&&\"boundaries\"!==t.tickson,p=0,d=0,m=h?t.ticklen:0;if(f?m*=-1:u&&(m=0),h&&(p+=m,r)){var g=s.deg2rad(r);p=m*Math.cos(g)+1,d=m*Math.sin(g)}t.showticklabels&&(h||t.showline)&&(p+=.2*t.tickfont.size);var v,y,x,b,_,w={labelStandoff:p+=(t.linewidth||1)/2*(f?-1:1),labelShift:d},T=0,k=t.side,A=t._id.charAt(0),M=t.tickangle;if(\"x\"===A)b=(_=!f&&\"bottom\"===k||f&&\"top\"===k)?1:-1,f&&(b*=-1),v=d*b,y=e+p*b,x=_?1:-.2,90===Math.abs(M)&&(f?x+=j:x=-90===M&&\"bottom\"===k?U:90===M&&\"top\"===k?j:.5,T=j/2*(M/90)),w.xFn=function(t){return t.dx+v+T*t.fontSize},w.yFn=function(t){return t.dy+y+t.fontSize*x},w.anchorFn=function(t,e){if(u){if(l)return\"end\";if(c)return\"start\"}return i(e)&&0!==e&&180!==e?e*b<0!==f?\"end\":\"start\":\"middle\"},w.heightFn=function(e,r,n){return r<-60||r>60?-.5*n:\"top\"===t.side!==f?-n:0};else if(\"y\"===A){if(b=(_=!f&&\"left\"===k||f&&\"right\"===k)?1:-1,f&&(b*=-1),v=p,y=d*b,x=0,f||90!==Math.abs(M)||(x=-90===M&&\"left\"===k||90===M&&\"right\"===k?U:.5),f){var S=i(M)?+M:0;if(0!==S){var E=s.deg2rad(S);T=Math.abs(Math.sin(E))*U*b,x=0}}w.xFn=function(t){return t.dx+e-(v+t.fontSize*x)*b+T*t.fontSize},w.yFn=function(t){return t.dy+y+t.fontSize*j},w.anchorFn=function(t,e){return i(e)&&90===Math.abs(e)?\"middle\":_?\"end\":\"start\"},w.heightFn=function(e,r,n){return\"right\"===t.side&&(r*=-1),r<-30?-n:r<30?-.5*n:0}}return w},q.drawTicks=function(t,e,r){r=r||{};var i=e._id+\"tick\",a=[].concat(e.minor&&e.minor.ticks?r.vals.filter((function(t){return t.minor&&!t.noTick})):[]).concat(e.ticks?r.vals.filter((function(t){return!t.minor&&!t.noTick})):[]),o=r.layer.selectAll(\"path.\"+i).data(a,_t);o.exit().remove(),o.enter().append(\"path\").classed(i,1).classed(\"ticks\",1).classed(\"crisp\",!1!==r.crisp).each((function(t){return f.stroke(n.select(this),t.minor?e.minor.tickcolor:e.tickcolor)})).style(\"stroke-width\",(function(r){return h.crispRound(t,r.minor?e.minor.tickwidth:e.tickwidth,1)+\"px\"})).attr(\"d\",r.path).style(\"display\",null),zt(e,[R]),o.attr(\"transform\",r.transFn)},q.drawGrid=function(t,e,r){r=r||{};var i=e._id+\"grid\",a=e.minor&&e.minor.showgrid,o=a?r.vals.filter((function(t){return t.minor})):[],s=e.showgrid?r.vals.filter((function(t){return!t.minor})):[],l=r.counterAxis;if(l&&q.shouldShowZeroLine(t,e,l))for(var c=\"array\"===e.tickmode,u=0;u=0;v--){var y=v?m:g;if(y){var x=y.selectAll(\"path.\"+i).data(v?s:o,_t);x.exit().remove(),x.enter().append(\"path\").classed(i,1).classed(\"crisp\",!1!==r.crisp),x.attr(\"transform\",r.transFn).attr(\"d\",r.path).each((function(t){return f.stroke(n.select(this),t.minor?e.minor.gridcolor:e.gridcolor||\"#ddd\")})).style(\"stroke-dasharray\",(function(t){return h.dashStyle(t.minor?e.minor.griddash:e.griddash,t.minor?e.minor.gridwidth:e.gridwidth)})).style(\"stroke-width\",(function(t){return(t.minor?d:e._gw)+\"px\"})).style(\"display\",null),\"function\"==typeof r.path&&x.attr(\"d\",r.path)}}zt(e,[z,D])},q.drawZeroLine=function(t,e,r){r=r||r;var n=e._id+\"zl\",i=q.shouldShowZeroLine(t,e,r.counterAxis),a=r.layer.selectAll(\"path.\"+n).data(i?[{x:0,id:e._id}]:[]);a.exit().remove(),a.enter().append(\"path\").classed(n,1).classed(\"zl\",1).classed(\"crisp\",!1!==r.crisp).each((function(){r.layer.selectAll(\"path\").sort((function(t,e){return W(t.id,e.id)}))})),a.attr(\"transform\",r.transFn).attr(\"d\",r.path).call(f.stroke,e.zerolinecolor||f.defaultLine).style(\"stroke-width\",h.crispRound(t,e.zerolinewidth,e._gw||1)+\"px\").style(\"display\",null),zt(e,[O])},q.drawLabels=function(t,e,r){r=r||{};var a=t._fullLayout,o=e._id,u=o.charAt(0),f=r.cls||o+\"tick\",p=r.vals.filter((function(t){return t.text})),d=r.labelFns,m=r.secondary?0:e.tickangle,g=(e._prevTickAngles||{})[f],v=r.layer.selectAll(\"g.\"+f).data(e.showticklabels?p:[],_t),y=[];function x(t,a){t.each((function(t){var o=n.select(this),s=o.select(\".text-math-group\"),u=d.anchorFn(t,a),f=r.transFn.call(o.node(),t)+(i(a)&&0!=+a?\" rotate(\"+a+\",\"+d.xFn(t)+\",\"+(d.yFn(t)-t.fontSize/2)+\")\":\"\"),p=c.lineCount(o),m=V*t.fontSize,g=d.heightFn(t,i(a)?+a:0,(p-1)*m);if(g&&(f+=l(0,g)),s.empty()){var v=o.select(\"text\");v.attr({transform:f,\"text-anchor\":u}),v.style(\"opacity\",1),e._adjustTickLabelsOverflow&&e._adjustTickLabelsOverflow()}else{var y=h.bBox(s.node()).width*{end:-.5,start:.5}[u];s.attr(\"transform\",f+l(y,0))}}))}v.enter().append(\"g\").classed(f,1).append(\"text\").attr(\"text-anchor\",\"middle\").each((function(e){var r=n.select(this),i=t._promises.length;r.call(c.positionText,d.xFn(e),d.yFn(e)).call(h.font,e.font,e.fontSize,e.fontColor).text(e.text).call(c.convertToTspans,t),t._promises[i]?y.push(t._promises.pop().then((function(){x(r,m)}))):x(r,m)})),zt(e,[F]),v.exit().remove(),r.repositionOnUpdate&&v.each((function(t){n.select(this).select(\"text\").call(c.positionText,d.xFn(t),d.yFn(t))})),e._adjustTickLabelsOverflow=function(){var r=e.ticklabeloverflow;if(r&&\"allow\"!==r){var i=-1!==r.indexOf(\"hide\"),o=\"x\"===e._id.charAt(0),l=0,c=o?t._fullLayout.width:t._fullLayout.height;if(-1!==r.indexOf(\"domain\")){var u=s.simpleMap(e.range,e.r2l);l=e.l2p(u[0])+e._offset,c=e.l2p(u[1])+e._offset}var f=Math.min(l,c),p=Math.max(l,c),d=e.side,m=1/0,g=-1/0;for(var y in v.each((function(t){var r=n.select(this);if(r.select(\".text-math-group\").empty()){var a=h.bBox(r.node()),s=0;o?(a.right>p||a.leftp||a.top+(e.tickangle?0:t.fontSize/4)e[\"_visibleLabelMin_\"+r._id]?l.style(\"display\",\"none\"):\"tick\"!==t.K||i||l.style(\"display\",null)}))}))}))}))},x(v,g+1?g:m);var b=null;e._selections&&(e._selections[f]=v);var _=[function(){return y.length&&Promise.all(y)}];e.automargin&&a._redrawFromAutoMarginCount&&90===g?(b=90,_.push((function(){x(v,g)}))):_.push((function(){if(x(v,m),p.length&&\"x\"===u&&!i(m)&&(\"log\"!==e.type||\"D\"!==String(e.dtick).charAt(0))){b=0;var t,n=0,a=[];if(v.each((function(t){n=Math.max(n,t.fontSize);var r=e.l2p(t.x),i=kt(this),o=h.bBox(i.node());a.push({top:0,bottom:10,height:10,left:r-o.width/2,right:r+o.width/2+2,width:o.width+2})})),\"boundaries\"!==e.tickson&&!e.showdividers||r.secondary){var o=p.length,l=Math.abs((p[o-1].x-p[0].x)*e._m)/(o-1),c=e.ticklabelposition||\"\",f=function(t){return-1!==c.indexOf(t)},d=f(\"top\"),g=f(\"left\"),y=f(\"right\"),_=f(\"bottom\")||g||d||y?(e.tickwidth||0)+6:0,w=l<2.5*n||\"multicategory\"===e.type||\"realaxis\"===e._name;for(t=0;t1)for(n=1;n2*o}(i,e))return\"date\";var g=\"strict\"!==r.autotypenumbers;return function(t,e){for(var r=t.length,n=f(r),i=0,o=0,s={},u=0;u2*i}(i,g)?\"category\":function(t,e){for(var r=t.length,n=0;n=2){var s,c,u=\"\";if(2===o.length)for(s=0;s<2;s++)if(c=b(o[s])){u=g;break}var f=i(\"pattern\",u);if(f===g)for(s=0;s<2;s++)(c=b(o[s]))&&(e.bounds[s]=o[s]=c-1);if(f)for(s=0;s<2;s++)switch(c=o[s],f){case g:if(!n(c))return void(e.enabled=!1);if((c=+c)!==Math.floor(c)||c<0||c>=7)return void(e.enabled=!1);e.bounds[s]=o[s]=c;break;case v:if(!n(c))return void(e.enabled=!1);if((c=+c)<0||c>24)return void(e.enabled=!1);e.bounds[s]=o[s]=c}if(!1===r.autorange){var h=r.range;if(h[0]h[1])return void(e.enabled=!1)}else if(o[0]>h[0]&&o[1]n?1:-1:+(t.substr(1)||1)-+(e.substr(1)||1)},r.ref2id=function(t){return!!/^[xyz]/.test(t)&&t.split(\" \")[0]},r.isLinked=function(t,e){return a(e,t._axisMatchGroups)||a(e,t._axisConstraintGroups)}},{\"../../registry\":647,\"./constants\":573}],571:[function(t,e,r){\"use strict\";e.exports=function(t,e,r,n){if(\"category\"===e.type){var i,a=t.categoryarray,o=Array.isArray(a)&&a.length>0;o&&(i=\"array\");var s,l=r(\"categoryorder\",i);\"array\"===l&&(s=r(\"categoryarray\")),o||\"array\"!==l||(l=e.categoryorder=\"trace\"),\"trace\"===l?e._initialCategories=[]:\"array\"===l?e._initialCategories=s.slice():(s=function(t,e){var r,n,i,a=e.dataAttr||t._id.charAt(0),o={};if(e.axData)r=e.axData;else for(r=[],n=0;nn?i.substr(n):a.substr(r))+o:i+a+t*e:o}function g(t,e){for(var r=e._size,n=r.h/r.w,i={},a=Object.keys(t),o=0;oc*x)||T)for(r=0;rO&&FP&&(P=F);h/=(P-C)/(2*I),C=l.l2r(C),P=l.l2r(P),l.range=l._input.range=S=0?Math.min(t,.9):1/(1/Math.max(t,-.3)+3.222))}function N(t,e,r,n,i){return t.append(\"path\").attr(\"class\",\"zoombox\").style({fill:e>.2?\"rgba(0,0,0,0)\":\"rgba(255,255,255,0)\",\"stroke-width\":0}).attr(\"transform\",c(r,n)).attr(\"d\",i+\"Z\")}function j(t,e,r){return t.append(\"path\").attr(\"class\",\"zoombox-corners\").style({fill:f.background,stroke:f.defaultLine,\"stroke-width\":1,opacity:0}).attr(\"transform\",c(e,r)).attr(\"d\",\"M0,0Z\")}function U(t,e,r,n,i,a){t.attr(\"d\",n+\"M\"+r.l+\",\"+r.t+\"v\"+r.h+\"h\"+r.w+\"v-\"+r.h+\"h-\"+r.w+\"Z\"),V(t,e,i,a)}function V(t,e,r,n){r||(t.transition().style(\"fill\",n>.2?\"rgba(0,0,0,0.4)\":\"rgba(255,255,255,0.3)\").duration(200),e.transition().style(\"opacity\",1).duration(200))}function H(t){n.select(t).selectAll(\".zoombox,.js-zoombox-backdrop,.js-zoombox-menu,.zoombox-corners\").remove()}function q(t){I&&t.data&&t._context.showTips&&(i.notifier(i._(t,\"Double-click to zoom back out\"),\"long\"),I=!1)}function G(t){var e=Math.floor(Math.min(t.b-t.t,t.r-t.l,P)/2);return\"M\"+(t.l-3.5)+\",\"+(t.t-.5+e)+\"h3v\"+-e+\"h\"+e+\"v-3h-\"+(e+3)+\"ZM\"+(t.r+3.5)+\",\"+(t.t-.5+e)+\"h-3v\"+-e+\"h\"+-e+\"v-3h\"+(e+3)+\"ZM\"+(t.r+3.5)+\",\"+(t.b+.5-e)+\"h-3v\"+e+\"h\"+-e+\"v3h\"+(e+3)+\"ZM\"+(t.l-3.5)+\",\"+(t.b+.5-e)+\"h3v\"+e+\"h\"+e+\"v3h-\"+(e+3)+\"Z\"}function Y(t,e,r,n,a){for(var o,s,l,c,u=!1,f={},h={},p=(a||{}).xaHash,d=(a||{}).yaHash,m=0;m=0)i._fullLayout._deactivateShape(i);else{var o=i._fullLayout.clickmode;if(H(i),2!==t||vt||qt(),gt)o.indexOf(\"select\")>-1&&S(r,i,J,K,e.id,Pt),o.indexOf(\"event\")>-1&&p.click(i,r,e.id);else if(1===t&&vt){var s=m?O:I,c=\"s\"===m||\"w\"===v?0:1,f=s._name+\".range[\"+c+\"]\",h=function(t,e){var r,n=t.range[e],i=Math.abs(n-t.range[1-e]);return\"date\"===t.type?n:\"log\"===t.type?(r=Math.ceil(Math.max(0,-Math.log(i)/Math.LN10))+3,a(\".\"+r+\"g\")(Math.pow(10,n))):(r=Math.floor(Math.log(Math.abs(n))/Math.LN10)-Math.floor(Math.log(i)/Math.LN10)+4,a(\".\"+String(r)+\"g\")(n))}(s,c),d=\"left\",g=\"middle\";if(s.fixedrange)return;m?(g=\"n\"===m?\"top\":\"bottom\",\"right\"===s.side&&(d=\"right\")):\"e\"===v&&(d=\"right\"),i._context.showAxisRangeEntryBoxes&&n.select(bt).call(u.makeEditable,{gd:i,immediate:!0,background:i._fullLayout.paper_bgcolor,text:String(h),fill:s.tickfont?s.tickfont.color:\"#444\",horizontalAlign:d,verticalAlign:g}).on(\"edit\",(function(t){var e=s.d2r(t);void 0!==e&&l.call(\"_guiRelayout\",i,f,e)}))}}}function zt(e,r){if(t._transitioningWithDuration)return!1;var n=Math.max(0,Math.min(tt,pt*e+_t)),i=Math.max(0,Math.min(et,dt*r+wt)),a=Math.abs(n-_t),o=Math.abs(i-wt);function s(){St=\"\",Tt.r=Tt.l,Tt.t=Tt.b,Lt.attr(\"d\",\"M0,0Z\")}if(Tt.l=Math.min(_t,n),Tt.r=Math.max(_t,n),Tt.t=Math.min(wt,i),Tt.b=Math.max(wt,i),rt.isSubplotConstrained)a>P||o>P?(St=\"xy\",a/tt>o/et?(o=a*et/tt,wt>i?Tt.t=wt-o:Tt.b=wt+o):(a=o*tt/et,_t>n?Tt.l=_t-a:Tt.r=_t+a),Lt.attr(\"d\",G(Tt))):s();else if(nt.isSubplotConstrained)if(a>P||o>P){St=\"xy\";var l=Math.min(Tt.l/tt,(et-Tt.b)/et),c=Math.max(Tt.r/tt,(et-Tt.t)/et);Tt.l=l*tt,Tt.r=c*tt,Tt.b=(1-l)*et,Tt.t=(1-c)*et,Lt.attr(\"d\",G(Tt))}else s();else!at||o0){var u;if(nt.isSubplotConstrained||!it&&1===at.length){for(u=0;um[1]-1/4096&&(e.domain=s),i.noneOrAll(t.domain,e.domain,s)}return r(\"layer\"),e}},{\"../../lib\":515,\"fast-isnumeric\":190}],583:[function(t,e,r){\"use strict\";var n=t(\"./show_dflt\");e.exports=function(t,e,r,i,a){a||(a={});var o=a.tickSuffixDflt,s=n(t);r(\"tickprefix\")&&r(\"showtickprefix\",s),r(\"ticksuffix\",o)&&r(\"showticksuffix\",s)}},{\"./show_dflt\":586}],584:[function(t,e,r){\"use strict\";var n=t(\"../../constants/alignment\").FROM_BL;e.exports=function(t,e,r){void 0===r&&(r=n[t.constraintoward||\"center\"]);var i=[t.r2l(t.range[0]),t.r2l(t.range[1])],a=i[0]+(i[1]-i[0])*r;t.range=t._input.range=[t.l2r(a+(i[0]-a)*e),t.l2r(a+(i[1]-a)*e)],t.setScale()}},{\"../../constants/alignment\":483}],585:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\"),i=t(\"d3-time-format\").utcFormat,a=t(\"../../lib\"),o=a.numberFormat,s=t(\"fast-isnumeric\"),l=a.cleanNumber,c=a.ms2DateTime,u=a.dateTime2ms,f=a.ensureNumber,h=a.isArrayOrTypedArray,p=t(\"../../constants/numerical\"),d=p.FP_SAFE,m=p.BADNUM,g=p.LOG_CLIP,v=p.ONEWEEK,y=p.ONEDAY,x=p.ONEHOUR,b=p.ONEMIN,_=p.ONESEC,w=t(\"./axis_ids\"),T=t(\"./constants\"),k=T.HOUR_PATTERN,A=T.WEEKDAY_PATTERN;function M(t){return Math.pow(10,t)}function S(t){return null!=t}e.exports=function(t,e){e=e||{};var r=t._id||\"x\",p=r.charAt(0);function E(e,r){if(e>0)return Math.log(e)/Math.LN10;if(e<=0&&r&&t.range&&2===t.range.length){var n=t.range[0],i=t.range[1];return.5*(n+i-2*g*Math.abs(n-i))}return m}function L(e,r,n,i){if((i||{}).msUTC&&s(e))return+e;var o=u(e,n||t.calendar);if(o===m){if(!s(e))return m;e=+e;var l=Math.floor(10*a.mod(e+.05,1)),c=Math.round(e-l/10);o=u(new Date(c))+l/10}return o}function C(e,r,n){return c(e,r,n||t.calendar)}function P(e){return t._categories[Math.round(e)]}function I(e){if(S(e)){if(void 0===t._categoriesMap&&(t._categoriesMap={}),void 0!==t._categoriesMap[e])return t._categoriesMap[e];t._categories.push(\"number\"==typeof e?String(e):e);var r=t._categories.length-1;return t._categoriesMap[e]=r,r}return m}function O(e){if(t._categoriesMap)return t._categoriesMap[e]}function z(t){var e=O(t);return void 0!==e?e:s(t)?+t:void 0}function D(t){return s(t)?+t:O(t)}function R(t,e,r){return n.round(r+e*t,2)}function F(t,e,r){return(t-r)/e}var B=function(e){return s(e)?R(e,t._m,t._b):m},N=function(e){return F(e,t._m,t._b)};if(t.rangebreaks){var j=\"y\"===p;B=function(e){if(!s(e))return m;var r=t._rangebreaks.length;if(!r)return R(e,t._m,t._b);var n=j;t.range[0]>t.range[1]&&(n=!n);for(var i=n?-1:1,a=i*e,o=0,l=0;lu)){o=a<(c+u)/2?l:l+1;break}o=l+1}var f=t._B[o]||0;return isFinite(f)?R(e,t._m2,f):0},N=function(e){var r=t._rangebreaks.length;if(!r)return F(e,t._m,t._b);for(var n=0,i=0;it._rangebreaks[i].pmax&&(n=i+1);return F(e,t._m2,t._B[n])}}t.c2l=\"log\"===t.type?E:f,t.l2c=\"log\"===t.type?M:f,t.l2p=B,t.p2l=N,t.c2p=\"log\"===t.type?function(t,e){return B(E(t,e))}:B,t.p2c=\"log\"===t.type?function(t){return M(N(t))}:N,-1!==[\"linear\",\"-\"].indexOf(t.type)?(t.d2r=t.r2d=t.d2c=t.r2c=t.d2l=t.r2l=l,t.c2d=t.c2r=t.l2d=t.l2r=f,t.d2p=t.r2p=function(e){return t.l2p(l(e))},t.p2d=t.p2r=N,t.cleanPos=f):\"log\"===t.type?(t.d2r=t.d2l=function(t,e){return E(l(t),e)},t.r2d=t.r2c=function(t){return M(l(t))},t.d2c=t.r2l=l,t.c2d=t.l2r=f,t.c2r=E,t.l2d=M,t.d2p=function(e,r){return t.l2p(t.d2r(e,r))},t.p2d=function(t){return M(N(t))},t.r2p=function(e){return t.l2p(l(e))},t.p2r=N,t.cleanPos=f):\"date\"===t.type?(t.d2r=t.r2d=a.identity,t.d2c=t.r2c=t.d2l=t.r2l=L,t.c2d=t.c2r=t.l2d=t.l2r=C,t.d2p=t.r2p=function(e,r,n){return t.l2p(L(e,0,n))},t.p2d=t.p2r=function(t,e,r){return C(N(t),e,r)},t.cleanPos=function(e){return a.cleanDate(e,m,t.calendar)}):\"category\"===t.type?(t.d2c=t.d2l=I,t.r2d=t.c2d=t.l2d=P,t.d2r=t.d2l_noadd=z,t.r2c=function(e){var r=D(e);return void 0!==r?r:t.fraction2r(.5)},t.l2r=t.c2r=f,t.r2l=D,t.d2p=function(e){return t.l2p(t.r2c(e))},t.p2d=function(t){return P(N(t))},t.r2p=t.d2p,t.p2r=N,t.cleanPos=function(t){return\"string\"==typeof t&&\"\"!==t?t:f(t)}):\"multicategory\"===t.type&&(t.r2d=t.c2d=t.l2d=P,t.d2r=t.d2l_noadd=z,t.r2c=function(e){var r=z(e);return void 0!==r?r:t.fraction2r(.5)},t.r2c_just_indices=O,t.l2r=t.c2r=f,t.r2l=z,t.d2p=function(e){return t.l2p(t.r2c(e))},t.p2d=function(t){return P(N(t))},t.r2p=t.d2p,t.p2r=N,t.cleanPos=function(t){return Array.isArray(t)||\"string\"==typeof t&&\"\"!==t?t:f(t)},t.setupMultiCategory=function(n){var i,o,s=t._traceIndices,l=t._matchGroup;if(l&&0===t._categories.length)for(var c in l)if(c!==r){var u=e[w.id2name(c)];s=s.concat(u._traceIndices)}var f=[[0,{}],[0,{}]],d=[];for(i=0;id&&(o[n]=d),o[0]===o[1]){var c=Math.max(1,Math.abs(1e-6*o[0]));o[0]-=c,o[1]+=c}}else a.nestedProperty(t,e).set(i)},t.setScale=function(r){var n=e._size;if(t.overlaying){var i=w.getFromId({_fullLayout:e},t.overlaying);t.domain=i.domain}var a=r&&t._r?\"_r\":\"range\",o=t.calendar;t.cleanRange(a);var s,l,c=t.r2l(t[a][0],o),u=t.r2l(t[a][1],o),f=\"y\"===p;if((f?(t._offset=n.t+(1-t.domain[1])*n.h,t._length=n.h*(t.domain[1]-t.domain[0]),t._m=t._length/(c-u),t._b=-t._m*u):(t._offset=n.l+t.domain[0]*n.w,t._length=n.w*(t.domain[1]-t.domain[0]),t._m=t._length/(u-c),t._b=-t._m*c),t._rangebreaks=[],t._lBreaks=0,t._m2=0,t._B=[],t.rangebreaks)&&(t._rangebreaks=t.locateBreaks(Math.min(c,u),Math.max(c,u)),t._rangebreaks.length)){for(s=0;su&&(h=!h),h&&t._rangebreaks.reverse();var d=h?-1:1;for(t._m2=d*t._length/(Math.abs(u-c)-t._lBreaks),t._B.push(-t._m2*(f?u:c)),s=0;si&&(i+=7,oi&&(i+=24,o=n&&o=n&&e=s.min&&(ts.max&&(s.max=n),i=!1)}i&&c.push({min:t,max:n})}};for(n=0;nr.duration?(!function(){for(var r={},n=0;n rect\").call(o.setTranslate,0,0).call(o.setScale,1,1),t.plot.call(o.setTranslate,e._offset,r._offset).call(o.setScale,1,1);var n=t.plot.selectAll(\".scatterlayer .trace\");n.selectAll(\".point\").call(o.setPointGroupScale,1,1),n.selectAll(\".textpoint\").call(o.setTextPointsScale,1,1),n.call(o.hideOutsideRangePoints,t)}function g(e,r){var n=e.plotinfo,i=n.xaxis,l=n.yaxis,c=i._length,u=l._length,f=!!e.xr1,h=!!e.yr1,p=[];if(f){var d=a.simpleMap(e.xr0,i.r2l),m=a.simpleMap(e.xr1,i.r2l),g=d[1]-d[0],v=m[1]-m[0];p[0]=(d[0]*(1-r)+r*m[0]-d[0])/(d[1]-d[0])*c,p[2]=c*(1-r+r*v/g),i.range[0]=i.l2r(d[0]*(1-r)+r*m[0]),i.range[1]=i.l2r(d[1]*(1-r)+r*m[1])}else p[0]=0,p[2]=c;if(h){var y=a.simpleMap(e.yr0,l.r2l),x=a.simpleMap(e.yr1,l.r2l),b=y[1]-y[0],_=x[1]-x[0];p[1]=(y[1]*(1-r)+r*x[1]-y[1])/(y[0]-y[1])*u,p[3]=u*(1-r+r*_/b),l.range[0]=i.l2r(y[0]*(1-r)+r*x[0]),l.range[1]=l.l2r(y[1]*(1-r)+r*x[1])}else p[1]=0,p[3]=u;s.drawOne(t,i,{skipTitle:!0}),s.drawOne(t,l,{skipTitle:!0}),s.redrawComponents(t,[i._id,l._id]);var w=f?c/p[2]:1,T=h?u/p[3]:1,k=f?p[0]:0,A=h?p[1]:0,M=f?p[0]/p[2]*c:0,S=h?p[1]/p[3]*u:0,E=i._offset-M,L=l._offset-S;n.clipRect.call(o.setTranslate,k,A).call(o.setScale,1/w,1/T),n.plot.call(o.setTranslate,E,L).call(o.setScale,w,T),o.setPointGroupScale(n.zoomScalePts,1/w,1/T),o.setTextPointsScale(n.zoomScaleTxt,1/w,1/T)}s.redrawComponents(t)}},{\"../../components/drawing\":389,\"../../lib\":515,\"../../registry\":647,\"./axes\":566,\"@plotly/d3\":58}],591:[function(t,e,r){\"use strict\";var n=t(\"../../registry\").traceIs,i=t(\"./axis_autotype\");function a(t){return{v:\"x\",h:\"y\"}[t.orientation||\"v\"]}function o(t,e){var r=a(t),i=n(t,\"box-violin\"),o=n(t._fullInput||{},\"candlestick\");return i&&!o&&e===r&&void 0===t[r]&&void 0===t[r+\"0\"]}e.exports=function(t,e,r,s){r(\"autotypenumbers\",s.autotypenumbersDflt),\"-\"===r(\"type\",(s.splomStash||{}).type)&&(!function(t,e){if(\"-\"!==t.type)return;var r,s=t._id,l=s.charAt(0);-1!==s.indexOf(\"scene\")&&(s=l);var c=function(t,e,r){for(var n=0;n0&&(i[\"_\"+r+\"axes\"]||{})[e])return i;if((i[r+\"axis\"]||r)===e){if(o(i,r))return i;if((i[r]||[]).length||i[r+\"0\"])return i}}}(e,s,l);if(!c)return;if(\"histogram\"===c.type&&l==={v:\"y\",h:\"x\"}[c.orientation||\"v\"])return void(t.type=\"linear\");var u=l+\"calendar\",f=c[u],h={noMultiCategory:!n(c,\"cartesian\")||n(c,\"noMultiCategory\")};\"box\"===c.type&&c._hasPreCompStats&&l==={h:\"x\",v:\"y\"}[c.orientation||\"v\"]&&(h.noMultiCategory=!0);if(h.autotypenumbers=t.autotypenumbers,o(c,l)){var p=a(c),d=[];for(r=0;r0?\".\":\"\")+a;i.isPlainObject(o)?l(o,e,s,n+1):e(s,a,o)}}))}r.manageCommandObserver=function(t,e,n,o){var s={},l=!0;e&&e._commandObserver&&(s=e._commandObserver),s.cache||(s.cache={}),s.lookupTable={};var c=r.hasSimpleAPICommandBindings(t,n,s.lookupTable);if(e&&e._commandObserver){if(c)return s;if(e._commandObserver.remove)return e._commandObserver.remove(),e._commandObserver=null,s}if(c){a(t,c,s.cache),s.check=function(){if(l){var e=a(t,c,s.cache);return e.changed&&o&&void 0!==s.lookupTable[e.value]&&(s.disable(),Promise.resolve(o({value:e.value,type:c.type,prop:c.prop,traces:c.traces,index:s.lookupTable[e.value]})).then(s.enable,s.enable)),e.changed}};for(var u=[\"plotly_relayout\",\"plotly_redraw\",\"plotly_restyle\",\"plotly_update\",\"plotly_animatingframe\",\"plotly_afterplot\"],f=0;f0&&i<0&&(i+=360);var s=(i-n)/4;return{type:\"Polygon\",coordinates:[[[n,a],[n,o],[n+s,o],[n+2*s,o],[n+3*s,o],[i,o],[i,a],[i-s,a],[i-2*s,a],[i-3*s,a],[n,a]]]}}e.exports=function(t){return new M(t)},S.plot=function(t,e,r,n){var i=this;if(n)return i.update(t,e,!0);i._geoCalcData=t,i._fullLayout=e;var a=e[this.id],o=[],s=!1;for(var l in w.layerNameToAdjective)if(\"frame\"!==l&&a[\"show\"+l]){s=!0;break}for(var c=!1,u=0;u0&&o._module.calcGeoJSON(a,e)}if(!r){if(this.updateProjection(t,e))return;this.viewInitial&&this.scope===n.scope||this.saveViewInitial(n)}this.scope=n.scope,this.updateBaseLayers(e,n),this.updateDims(e,n),this.updateFx(e,n),d.generalUpdatePerTraceModule(this.graphDiv,this,t,n);var s=this.layers.frontplot.select(\".scatterlayer\");this.dataPoints.point=s.selectAll(\".point\"),this.dataPoints.text=s.selectAll(\"text\"),this.dataPaths.line=s.selectAll(\".js-line\");var l=this.layers.backplot.select(\".choroplethlayer\");this.dataPaths.choropleth=l.selectAll(\"path\"),this._render()},S.updateProjection=function(t,e){var r=this.graphDiv,n=e[this.id],l=e._size,u=n.domain,f=n.projection,h=n.lonaxis,p=n.lataxis,d=h._ax,m=p._ax,v=this.projection=function(t){var e=t.projection,r=e.type,n=w.projNames[r];n=\"geo\"+c.titleCase(n);for(var l=(i[n]||s[n])(),u=t._isSatellite?180*Math.acos(1/e.distance)/Math.PI:t._isClipped?w.lonaxisSpan[r]/2:null,f=[\"center\",\"rotate\",\"parallels\",\"clipExtent\"],h=function(t){return t?l:[]},p=0;pu*Math.PI/180}return!1},l.getPath=function(){return a().projection(l)},l.getBounds=function(t){return l.getPath().bounds(t)},l.precision(w.precision),t._isSatellite&&l.tilt(e.tilt).distance(e.distance);u&&l.clipAngle(u-w.clipPad);return l}(n),y=[[l.l+l.w*u.x[0],l.t+l.h*(1-u.y[1])],[l.l+l.w*u.x[1],l.t+l.h*(1-u.y[0])]],x=n.center||{},b=f.rotation||{},_=h.range||[],T=p.range||[];if(n.fitbounds){d._length=y[1][0]-y[0][0],m._length=y[1][1]-y[0][1],d.range=g(r,d),m.range=g(r,m);var k=(d.range[0]+d.range[1])/2,A=(m.range[0]+m.range[1])/2;if(n._isScoped)x={lon:k,lat:A};else if(n._isClipped){x={lon:k,lat:A},b={lon:k,lat:A,roll:b.roll};var M=f.type,S=w.lonaxisSpan[M]/2||180,L=w.lataxisSpan[M]/2||90;_=[k-S,k+S],T=[A-L,A+L]}else x={lon:k,lat:A},b={lon:k,lat:b.lat,roll:b.roll}}v.center([x.lon-b.lon,x.lat-b.lat]).rotate([-b.lon,-b.lat,b.roll]).parallels(f.parallels);var C=E(_,T);v.fitExtent(y,C);var P=this.bounds=v.getBounds(C),I=this.fitScale=v.scale(),O=v.translate();if(n.fitbounds){var z=v.getBounds(E(d.range,m.range)),D=Math.min((P[1][0]-P[0][0])/(z[1][0]-z[0][0]),(P[1][1]-P[0][1])/(z[1][1]-z[0][1]));isFinite(D)?v.scale(D*I):c.warn(\"Something went wrong during\"+this.id+\"fitbounds computations.\")}else v.scale(f.scale*I);var R=this.midPt=[(P[0][0]+P[1][0])/2,(P[0][1]+P[1][1])/2];if(v.translate([O[0]+(R[0]-O[0]),O[1]+(R[1]-O[1])]).clipExtent(P),n._isAlbersUsa){var F=v([x.lon,x.lat]),B=v.translate();v.translate([B[0]-(F[0]-B[0]),B[1]-(F[1]-B[1])])}},S.updateBaseLayers=function(t,e){var r=this,i=r.topojson,a=r.layers,o=r.basePaths;function s(t){return\"lonaxis\"===t||\"lataxis\"===t}function l(t){return Boolean(w.lineLayers[t])}function c(t){return Boolean(w.fillLayers[t])}var u=(this.hasChoropleth?w.layersForChoropleth:w.layers).filter((function(t){return l(t)||c(t)?e[\"show\"+t]:!s(t)||e[t].showgrid})),p=r.framework.selectAll(\".layer\").data(u,String);p.exit().each((function(t){delete a[t],delete o[t],n.select(this).remove()})),p.enter().append(\"g\").attr(\"class\",(function(t){return\"layer \"+t})).each((function(t){var e=a[t]=n.select(this);\"bg\"===t?r.bgRect=e.append(\"rect\").style(\"pointer-events\",\"all\"):s(t)?o[t]=e.append(\"path\").style(\"fill\",\"none\"):\"backplot\"===t?e.append(\"g\").classed(\"choroplethlayer\",!0):\"frontplot\"===t?e.append(\"g\").classed(\"scatterlayer\",!0):l(t)?o[t]=e.append(\"path\").style(\"fill\",\"none\").style(\"stroke-miterlimit\",2):c(t)&&(o[t]=e.append(\"path\").style(\"stroke\",\"none\"))})),p.order(),p.each((function(r){var n=o[r],a=w.layerNameToAdjective[r];\"frame\"===r?n.datum(w.sphereSVG):l(r)||c(r)?n.datum(A(i,i.objects[r])):s(r)&&n.datum(function(t,e,r){var n,i,a,o=e[t],s=w.scopeDefaults[e.scope];\"lonaxis\"===t?(n=s.lonaxisRange,i=s.lataxisRange,a=function(t,e){return[t,e]}):\"lataxis\"===t&&(n=s.lataxisRange,i=s.lonaxisRange,a=function(t,e){return[e,t]});var l={type:\"linear\",range:[n[0],n[1]-1e-6],tick0:o.tick0,dtick:o.dtick};m.setConvert(l,r);var c=m.calcTicks(l);e.isScoped||\"lonaxis\"!==t||c.pop();for(var u=c.length,f=new Array(u),h=0;h-1&&b(n.event,i,[r.xaxis],[r.yaxis],r.id,u),s.indexOf(\"event\")>-1&&p.click(i,n.event))}))}function f(t){return r.projection.invert([t[0]+r.xaxis._offset,t[1]+r.yaxis._offset])}},S.makeFramework=function(){var t=this,e=t.graphDiv,r=e._fullLayout,i=\"clip\"+r._uid+t.id;t.clipDef=r._clips.append(\"clipPath\").attr(\"id\",i),t.clipRect=t.clipDef.append(\"rect\"),t.framework=n.select(t.container).append(\"g\").attr(\"class\",\"geo \"+t.id).call(h.setClipUrl,i,e),t.project=function(e){var r=t.projection(e);return r?[r[0]-t.xaxis._offset,r[1]-t.yaxis._offset]:[null,null]},t.xaxis={_id:\"x\",c2p:function(e){return t.project(e)[0]}},t.yaxis={_id:\"y\",c2p:function(e){return t.project(e)[1]}},t.mockAxis={type:\"linear\",showexponent:\"all\",exponentformat:\"B\"},m.setConvert(t.mockAxis,r)},S.saveViewInitial=function(t){var e,r=t.center||{},n=t.projection,i=n.rotation||{};this.viewInitial={fitbounds:t.fitbounds,\"projection.scale\":n.scale},e=t._isScoped?{\"center.lon\":r.lon,\"center.lat\":r.lat}:t._isClipped?{\"projection.rotation.lon\":i.lon,\"projection.rotation.lat\":i.lat}:{\"center.lon\":r.lon,\"center.lat\":r.lat,\"projection.rotation.lon\":i.lon},c.extendFlat(this.viewInitial,e)},S.render=function(t){this._hasMarkerAngles&&t?this.plot(this._geoCalcData,this._fullLayout,[],!0):this._render()},S._render=function(){var t,e=this.projection,r=e.getPath();function n(t){var r=e(t.lonlat);return r?u(r[0],r[1]):null}function i(t){return e.isLonLatOverEdges(t.lonlat)?\"none\":null}for(t in this.basePaths)this.basePaths[t].attr(\"d\",r);for(t in this.dataPaths)this.dataPaths[t].attr(\"d\",(function(t){return r(t.geojson)}));for(t in this.dataPoints)this.dataPoints[t].attr(\"display\",i).attr(\"transform\",n)}},{\"../../components/color\":367,\"../../components/dragelement\":386,\"../../components/drawing\":389,\"../../components/fx\":407,\"../../components/selections\":455,\"../../lib\":515,\"../../lib/geo_location_utils\":508,\"../../lib/topojson_utils\":544,\"../../registry\":647,\"../cartesian/autorange\":565,\"../cartesian/axes\":566,\"../plots\":628,\"./constants\":596,\"./zoom\":601,\"@plotly/d3\":58,\"d3-geo\":114,\"d3-geo-projection\":113,\"topojson-client\":316}],598:[function(t,e,r){\"use strict\";var n=t(\"../../plots/get_data\").getSubplotCalcData,i=t(\"../../lib\").counterRegex,a=t(\"./geo\"),o=\"geo\",s=i(o),l={};l.geo={valType:\"subplotid\",dflt:o,editType:\"calc\"},e.exports={attr:o,name:o,idRoot:o,idRegex:s,attrRegex:s,attributes:l,layoutAttributes:t(\"./layout_attributes\"),supplyLayoutDefaults:t(\"./layout_defaults\"),plot:function(t){for(var e=t._fullLayout,r=t.calcdata,i=e._subplots.geo,s=0;s0&&P<0&&(P+=360);var I,O,z,D=(C+P)/2;if(!p){var R=d?f.projRotate:[D,0,0];I=r(\"projection.rotation.lon\",R[0]),r(\"projection.rotation.lat\",R[1]),r(\"projection.rotation.roll\",R[2]),r(\"showcoastlines\",!d&&x)&&(r(\"coastlinecolor\"),r(\"coastlinewidth\")),r(\"showocean\",!!x&&void 0)&&r(\"oceancolor\")}(p?(O=-96.6,z=38.7):(O=d?D:I,z=(L[0]+L[1])/2),r(\"center.lon\",O),r(\"center.lat\",z),m&&(r(\"projection.tilt\"),r(\"projection.distance\")),g)&&r(\"projection.parallels\",f.projParallels||[0,60]);r(\"projection.scale\"),r(\"showland\",!!x&&void 0)&&r(\"landcolor\"),r(\"showlakes\",!!x&&void 0)&&r(\"lakecolor\"),r(\"showrivers\",!!x&&void 0)&&(r(\"rivercolor\"),r(\"riverwidth\")),r(\"showcountries\",d&&\"usa\"!==u&&x)&&(r(\"countrycolor\"),r(\"countrywidth\")),(\"usa\"===u||\"north america\"===u&&50===c)&&(r(\"showsubunits\",x),r(\"subunitcolor\"),r(\"subunitwidth\")),d||r(\"showframe\",x)&&(r(\"framecolor\"),r(\"framewidth\")),r(\"bgcolor\"),r(\"fitbounds\")&&(delete e.projection.scale,d?(delete e.center.lon,delete e.center.lat):v?(delete e.center.lon,delete e.center.lat,delete e.projection.rotation.lon,delete e.projection.rotation.lat,delete e.lonaxis.range,delete e.lataxis.range):(delete e.center.lon,delete e.center.lat,delete e.projection.rotation.lon))}e.exports=function(t,e,r){i(t,e,r,{type:\"geo\",attributes:s,handleDefaults:c,fullData:r,partition:\"y\"})}},{\"../../lib\":515,\"../get_data\":602,\"../subplot_defaults\":641,\"./constants\":596,\"./layout_attributes\":599}],601:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\"),i=t(\"../../lib\"),a=t(\"../../registry\"),o=Math.PI/180,s=180/Math.PI,l={cursor:\"pointer\"},c={cursor:\"auto\"};function u(t,e){return n.behavior.zoom().translate(e.translate()).scale(e.scale())}function f(t,e,r){var n=t.id,o=t.graphDiv,s=o.layout,l=s[n],c=o._fullLayout,u=c[n],f={},h={};function p(t,e){f[n+\".\"+t]=i.nestedProperty(l,t).get(),a.call(\"_storeDirectGUIEdit\",s,c._preGUI,f);var r=i.nestedProperty(u,t);r.get()!==e&&(r.set(e),i.nestedProperty(l,t).set(e),h[n+\".\"+t]=e)}r(p),p(\"projection.scale\",e.scale()/t.fitScale),p(\"fitbounds\",!1),o.emit(\"plotly_relayout\",h)}function h(t,e){var r=u(0,e);function i(r){var n=e.invert(t.midPt);r(\"center.lon\",n[0]),r(\"center.lat\",n[1])}return r.on(\"zoomstart\",(function(){n.select(this).style(l)})).on(\"zoom\",(function(){e.scale(n.event.scale).translate(n.event.translate),t.render(!0);var r=e.invert(t.midPt);t.graphDiv.emit(\"plotly_relayouting\",{\"geo.projection.scale\":e.scale()/t.fitScale,\"geo.center.lon\":r[0],\"geo.center.lat\":r[1]})})).on(\"zoomend\",(function(){n.select(this).style(c),f(t,e,i)})),r}function p(t,e){var r,i,a,o,s,h,p,d,m,g=u(0,e);function v(t){return e.invert(t)}function y(r){var n=e.rotate(),i=e.invert(t.midPt);r(\"projection.rotation.lon\",-n[0]),r(\"center.lon\",i[0]),r(\"center.lat\",i[1])}return g.on(\"zoomstart\",(function(){n.select(this).style(l),r=n.mouse(this),i=e.rotate(),a=e.translate(),o=i,s=v(r)})).on(\"zoom\",(function(){if(h=n.mouse(this),function(t){var r=v(t);if(!r)return!0;var n=e(r);return Math.abs(n[0]-t[0])>2||Math.abs(n[1]-t[1])>2}(r))return g.scale(e.scale()),void g.translate(e.translate());e.scale(n.event.scale),e.translate([a[0],n.event.translate[1]]),s?v(h)&&(d=v(h),p=[o[0]+(d[0]-s[0]),i[1],i[2]],e.rotate(p),o=p):s=v(r=h),m=!0,t.render(!0);var l=e.rotate(),c=e.invert(t.midPt);t.graphDiv.emit(\"plotly_relayouting\",{\"geo.projection.scale\":e.scale()/t.fitScale,\"geo.center.lon\":c[0],\"geo.center.lat\":c[1],\"geo.projection.rotation.lon\":-l[0]})})).on(\"zoomend\",(function(){n.select(this).style(c),m&&f(t,e,y)})),g}function d(t,e){var r,i={r:e.rotate(),k:e.scale()},a=u(0,e),o=function(t){var e=0,r=arguments.length,i=[];for(;++ed?(a=(f>0?90:-90)-p,i=0):(a=Math.asin(f/d)*s-p,i=Math.sqrt(d*d-f*f));var m=180-a-2*p,g=(Math.atan2(h,u)-Math.atan2(c,i))*s,v=(Math.atan2(h,u)-Math.atan2(c,-i))*s;return b(r[0],r[1],a,g)<=b(r[0],r[1],m,v)?[a,g,r[2]]:[m,v,r[2]]}function b(t,e,r,n){var i=_(r-t),a=_(n-e);return Math.sqrt(i*i+a*a)}function _(t){return(t%360+540)%360-180}function w(t,e,r){var n=r*o,i=t.slice(),a=0===e?1:0,s=2===e?1:2,l=Math.cos(n),c=Math.sin(n);return i[a]=t[a]*l-t[s]*c,i[s]=t[s]*l+t[a]*c,i}function T(t){return[Math.atan2(2*(t[0]*t[1]+t[2]*t[3]),1-2*(t[1]*t[1]+t[2]*t[2]))*s,Math.asin(Math.max(-1,Math.min(1,2*(t[0]*t[2]-t[3]*t[1]))))*s,Math.atan2(2*(t[0]*t[3]+t[1]*t[2]),1-2*(t[2]*t[2]+t[3]*t[3]))*s]}function k(t,e){for(var r=0,n=0,i=t.length;nMath.abs(s)?(c.boxEnd[1]=c.boxStart[1]+Math.abs(a)*_*(s>=0?1:-1),c.boxEnd[1]l[3]&&(c.boxEnd[1]=l[3],c.boxEnd[0]=c.boxStart[0]+(l[3]-c.boxStart[1])/Math.abs(_))):(c.boxEnd[0]=c.boxStart[0]+Math.abs(s)/_*(a>=0?1:-1),c.boxEnd[0]l[2]&&(c.boxEnd[0]=l[2],c.boxEnd[1]=c.boxStart[1]+(l[2]-c.boxStart[0])*Math.abs(_)))}}else c.boxEnabled?(a=c.boxStart[0]!==c.boxEnd[0],s=c.boxStart[1]!==c.boxEnd[1],a||s?(a&&(g(0,c.boxStart[0],c.boxEnd[0]),t.xaxis.autorange=!1),s&&(g(1,c.boxStart[1],c.boxEnd[1]),t.yaxis.autorange=!1),t.relayoutCallback()):t.glplot.setDirty(),c.boxEnabled=!1,c.boxInited=!1):c.boxInited&&(c.boxInited=!1);break;case\"pan\":c.boxEnabled=!1,c.boxInited=!1,e?(c.panning||(c.dragStart[0]=n,c.dragStart[1]=i),Math.abs(c.dragStart[0]-n).999&&(m=\"turntable\"):m=\"turntable\")}else m=\"turntable\";r(\"dragmode\",m),r(\"hovermode\",n.getDfltFromLayout(\"hovermode\"))}e.exports=function(t,e,r){var i=e._basePlotModules.length>1;o(t,e,r,{type:\"gl3d\",attributes:l,handleDefaults:u,fullLayout:e,font:e.font,fullData:r,getDfltFromLayout:function(e){if(!i)return n.validate(t[e],l[e])?t[e]:void 0},autotypenumbersDflt:e.autotypenumbers,paper_bgcolor:e.paper_bgcolor,calendar:e.calendar})}},{\"../../../components/color\":367,\"../../../lib\":515,\"../../../registry\":647,\"../../get_data\":602,\"../../subplot_defaults\":641,\"./axis_defaults\":610,\"./layout_attributes\":613}],613:[function(t,e,r){\"use strict\";var n=t(\"./axis_attributes\"),i=t(\"../../domain\").attributes,a=t(\"../../../lib/extend\").extendFlat,o=t(\"../../../lib\").counterRegex;function s(t,e,r){return{x:{valType:\"number\",dflt:t,editType:\"camera\"},y:{valType:\"number\",dflt:e,editType:\"camera\"},z:{valType:\"number\",dflt:r,editType:\"camera\"},editType:\"camera\"}}e.exports={_arrayAttrRegexps:[o(\"scene\",\".annotations\",!0)],bgcolor:{valType:\"color\",dflt:\"rgba(0,0,0,0)\",editType:\"plot\"},camera:{up:a(s(0,0,1),{}),center:a(s(0,0,0),{}),eye:a(s(1.25,1.25,1.25),{}),projection:{type:{valType:\"enumerated\",values:[\"perspective\",\"orthographic\"],dflt:\"perspective\",editType:\"calc\"},editType:\"calc\"},editType:\"camera\"},domain:i({name:\"scene\",editType:\"plot\"}),aspectmode:{valType:\"enumerated\",values:[\"auto\",\"cube\",\"data\",\"manual\"],dflt:\"auto\",editType:\"plot\",impliedEdits:{\"aspectratio.x\":void 0,\"aspectratio.y\":void 0,\"aspectratio.z\":void 0}},aspectratio:{x:{valType:\"number\",min:0,editType:\"plot\",impliedEdits:{\"^aspectmode\":\"manual\"}},y:{valType:\"number\",min:0,editType:\"plot\",impliedEdits:{\"^aspectmode\":\"manual\"}},z:{valType:\"number\",min:0,editType:\"plot\",impliedEdits:{\"^aspectmode\":\"manual\"}},editType:\"plot\",impliedEdits:{aspectmode:\"manual\"}},xaxis:n,yaxis:n,zaxis:n,dragmode:{valType:\"enumerated\",values:[\"orbit\",\"turntable\",\"zoom\",\"pan\",!1],editType:\"plot\"},hovermode:{valType:\"enumerated\",values:[\"closest\",!1],dflt:\"closest\",editType:\"modebar\"},uirevision:{valType:\"any\",editType:\"none\"},editType:\"plot\",_deprecated:{cameraposition:{valType:\"info_array\",editType:\"camera\"}}}},{\"../../../lib\":515,\"../../../lib/extend\":505,\"../../domain\":593,\"./axis_attributes\":609}],614:[function(t,e,r){\"use strict\";var n=t(\"../../../lib/str2rgbarray\"),i=[\"xaxis\",\"yaxis\",\"zaxis\"];function a(){this.enabled=[!0,!0,!0],this.colors=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.drawSides=[!0,!0,!0],this.lineWidth=[1,1,1]}a.prototype.merge=function(t){for(var e=0;e<3;++e){var r=t[i[e]];r.visible?(this.enabled[e]=r.showspikes,this.colors[e]=n(r.spikecolor),this.drawSides[e]=r.spikesides,this.lineWidth[e]=r.spikethickness):(this.enabled[e]=!1,this.drawSides[e]=!1)}},e.exports=function(t){var e=new a;return e.merge(t),e}},{\"../../../lib/str2rgbarray\":540}],615:[function(t,e,r){\"use strict\";e.exports=function(t){for(var e=t.axesOptions,r=t.glplot.axesPixels,s=t.fullSceneLayout,l=[[],[],[]],c=0;c<3;++c){var u=s[a[c]];if(u._length=(r[c].hi-r[c].lo)*r[c].pixelsPerDataUnit/t.dataScale[c],Math.abs(u._length)===1/0||isNaN(u._length))l[c]=[];else{u._input_range=u.range.slice(),u.range[0]=r[c].lo/t.dataScale[c],u.range[1]=r[c].hi/t.dataScale[c],u._m=1/(t.dataScale[c]*r[c].pixelsPerDataUnit),u.range[0]===u.range[1]&&(u.range[0]-=1,u.range[1]+=1);var f=u.tickmode;if(\"auto\"===u.tickmode){u.tickmode=\"linear\";var h=u.nticks||i.constrain(u._length/40,4,9);n.autoTicks(u,Math.abs(u.range[1]-u.range[0])/h)}for(var p=n.calcTicks(u,{msUTC:!0}),d=0;d/g,\" \"));l[c]=p,u.tickmode=f}}e.ticks=l;for(c=0;c<3;++c){o[c]=.5*(t.glplot.bounds[0][c]+t.glplot.bounds[1][c]);for(d=0;d<2;++d)e.bounds[d][c]=t.glplot.bounds[d][c]}t.contourLevels=function(t){for(var e=new Array(3),r=0;r<3;++r){for(var n=t[r],i=new Array(n.length),a=0;ar.deltaY?1.1:1/1.1,a=t.glplot.getAspectratio();t.glplot.setAspectratio({x:n*a.x,y:n*a.y,z:n*a.z})}i(t)}}),!!c&&{passive:!1}),t.glplot.canvas.addEventListener(\"mousemove\",(function(){if(!1!==t.fullSceneLayout.dragmode&&0!==t.camera.mouseListener.buttons){var e=n();t.graphDiv.emit(\"plotly_relayouting\",e)}})),t.staticMode||t.glplot.canvas.addEventListener(\"webglcontextlost\",(function(r){e&&e.emit&&e.emit(\"plotly_webglcontextlost\",{event:r,layer:t.id})}),!1)),t.glplot.oncontextloss=function(){t.recoverContext()},t.glplot.onrender=function(){t.render()},!0},w.render=function(){var t,e=this,r=e.graphDiv,n=e.svgContainer,i=e.container.getBoundingClientRect();r._fullLayout._calcInverseTransform(r);var a=r._fullLayout._invScaleX,o=r._fullLayout._invScaleY,s=i.width*a,l=i.height*o;n.setAttributeNS(null,\"viewBox\",\"0 0 \"+s+\" \"+l),n.setAttributeNS(null,\"width\",s),n.setAttributeNS(null,\"height\",l),b(e),e.glplot.axes.update(e.axesOptions);for(var c=Object.keys(e.traces),u=null,h=e.glplot.selection,m=0;m\")):\"isosurface\"===t.type||\"volume\"===t.type?(T.valueLabel=p.hoverLabelText(e._mockAxis,e._mockAxis.d2l(h.traceCoordinate[3]),t.valuehoverformat),S.push(\"value: \"+T.valueLabel),h.textLabel&&S.push(h.textLabel),x=S.join(\"
\")):x=h.textLabel;var E={x:h.traceCoordinate[0],y:h.traceCoordinate[1],z:h.traceCoordinate[2],data:_._input,fullData:_,curveNumber:_.index,pointNumber:w};d.appendArrayPointValue(E,_,w),t._module.eventData&&(E=_._module.eventData(E,h,_,{},w));var L={points:[E]};if(e.fullSceneLayout.hovermode){var C=[];d.loneHover({trace:_,x:(.5+.5*y[0]/y[3])*s,y:(.5-.5*y[1]/y[3])*l,xLabel:T.xLabel,yLabel:T.yLabel,zLabel:T.zLabel,text:x,name:u.name,color:d.castHoverOption(_,w,\"bgcolor\")||u.color,borderColor:d.castHoverOption(_,w,\"bordercolor\"),fontFamily:d.castHoverOption(_,w,\"font.family\"),fontSize:d.castHoverOption(_,w,\"font.size\"),fontColor:d.castHoverOption(_,w,\"font.color\"),nameLength:d.castHoverOption(_,w,\"namelength\"),textAlign:d.castHoverOption(_,w,\"align\"),hovertemplate:f.castOption(_,w,\"hovertemplate\"),hovertemplateLabels:f.extendFlat({},E,T),eventData:[E]},{container:n,gd:r,inOut_bbox:C}),E.bbox=C[0]}h.buttons&&h.distance<5?r.emit(\"plotly_click\",L):r.emit(\"plotly_hover\",L),this.oldEventData=L}else d.loneUnhover(n),this.oldEventData&&r.emit(\"plotly_unhover\",this.oldEventData),this.oldEventData=void 0;e.drawAnnotations(e)},w.recoverContext=function(){var t=this;t.glplot.dispose();var e=function(){t.glplot.gl.isContextLost()?requestAnimationFrame(e):t.initializeGLPlot()?t.plot.apply(t,t.plotArgs):f.error(\"Catastrophic and unrecoverable WebGL error. Context lost.\")};requestAnimationFrame(e)};var k=[\"xaxis\",\"yaxis\",\"zaxis\"];function A(t,e,r){for(var n=t.fullSceneLayout,i=0;i<3;i++){var a=k[i],o=a.charAt(0),s=n[a],l=e[o],c=e[o+\"calendar\"],u=e[\"_\"+o+\"length\"];if(f.isArrayOrTypedArray(l))for(var h,p=0;p<(u||l.length);p++)if(f.isArrayOrTypedArray(l[p]))for(var d=0;dg[1][a])g[0][a]=-1,g[1][a]=1;else{var L=g[1][a]-g[0][a];g[0][a]-=L/32,g[1][a]+=L/32}if(\"reversed\"===s.autorange){var C=g[0][a];g[0][a]=g[1][a],g[1][a]=C}}else{var P=s.range;g[0][a]=s.r2l(P[0]),g[1][a]=s.r2l(P[1])}g[0][a]===g[1][a]&&(g[0][a]-=1,g[1][a]+=1),v[a]=g[1][a]-g[0][a],this.glplot.setBounds(a,{min:g[0][a]*h[a],max:g[1][a]*h[a]})}var I=c.aspectmode;if(\"cube\"===I)d=[1,1,1];else if(\"manual\"===I){var O=c.aspectratio;d=[O.x,O.y,O.z]}else{if(\"auto\"!==I&&\"data\"!==I)throw new Error(\"scene.js aspectRatio was not one of the enumerated types\");var z=[1,1,1];for(a=0;a<3;++a){var D=y[l=(s=c[k[a]]).type];z[a]=Math.pow(D.acc,1/D.count)/h[a]}d=\"data\"===I||Math.max.apply(null,z)/Math.min.apply(null,z)<=4?z:[1,1,1]}c.aspectratio.x=u.aspectratio.x=d[0],c.aspectratio.y=u.aspectratio.y=d[1],c.aspectratio.z=u.aspectratio.z=d[2],this.glplot.setAspectratio(c.aspectratio),this.viewInitial.aspectratio||(this.viewInitial.aspectratio={x:c.aspectratio.x,y:c.aspectratio.y,z:c.aspectratio.z}),this.viewInitial.aspectmode||(this.viewInitial.aspectmode=c.aspectmode);var R=c.domain||null,F=e._size||null;if(R&&F){var B=this.container.style;B.position=\"absolute\",B.left=F.l+R.x[0]*F.w+\"px\",B.top=F.t+(1-R.y[1])*F.h+\"px\",B.width=F.w*(R.x[1]-R.x[0])+\"px\",B.height=F.h*(R.y[1]-R.y[0])+\"px\"}this.glplot.redraw()}},w.destroy=function(){this.glplot&&(this.camera.mouseListener.enabled=!1,this.container.removeEventListener(\"wheel\",this.camera.wheelListener),this.camera=null,this.glplot.dispose(),this.container.parentNode.removeChild(this.container),this.glplot=null)},w.getCamera=function(){var t;return this.camera.view.recalcMatrix(this.camera.view.lastT()),{up:{x:(t=this.camera).up[0],y:t.up[1],z:t.up[2]},center:{x:t.center[0],y:t.center[1],z:t.center[2]},eye:{x:t.eye[0],y:t.eye[1],z:t.eye[2]},projection:{type:!0===t._ortho?\"orthographic\":\"perspective\"}}},w.setViewport=function(t){var e,r=t.camera;this.camera.lookAt.apply(this,[[(e=r).eye.x,e.eye.y,e.eye.z],[e.center.x,e.center.y,e.center.z],[e.up.x,e.up.y,e.up.z]]),this.glplot.setAspectratio(t.aspectratio),\"orthographic\"===r.projection.type!==this.camera._ortho&&(this.glplot.redraw(),this.glplot.clearRGBA(),this.glplot.dispose(),this.initializeGLPlot())},w.isCameraChanged=function(t){var e=this.getCamera(),r=f.nestedProperty(t,this.id+\".camera\").get();function n(t,e,r,n){var i=[\"up\",\"center\",\"eye\"],a=[\"x\",\"y\",\"z\"];return e[i[r]]&&t[i[r]][a[n]]===e[i[r]][a[n]]}var i=!1;if(void 0===r)i=!0;else{for(var a=0;a<3;a++)for(var o=0;o<3;o++)if(!n(e,r,a,o)){i=!0;break}(!r.projection||e.projection&&e.projection.type!==r.projection.type)&&(i=!0)}return i},w.isAspectChanged=function(t){var e=this.glplot.getAspectratio(),r=f.nestedProperty(t,this.id+\".aspectratio\").get();return void 0===r||r.x!==e.x||r.y!==e.y||r.z!==e.z},w.saveLayout=function(t){var e,r,n,i,a,o,s=this.fullLayout,l=this.isCameraChanged(t),c=this.isAspectChanged(t),h=l||c;if(h){var p={};if(l&&(e=this.getCamera(),n=(r=f.nestedProperty(t,this.id+\".camera\")).get(),p[this.id+\".camera\"]=n),c&&(i=this.glplot.getAspectratio(),o=(a=f.nestedProperty(t,this.id+\".aspectratio\")).get(),p[this.id+\".aspectratio\"]=o),u.call(\"_storeDirectGUIEdit\",t,s._preGUI,p),l)r.set(e),f.nestedProperty(s,this.id+\".camera\").set(e);if(c)a.set(i),f.nestedProperty(s,this.id+\".aspectratio\").set(i),this.glplot.redraw()}return h},w.updateFx=function(t,e){var r=this.camera;if(r)if(\"orbit\"===t)r.mode=\"orbit\",r.keyBindingMode=\"rotate\";else if(\"turntable\"===t){r.up=[0,0,1],r.mode=\"turntable\",r.keyBindingMode=\"rotate\";var n=this.graphDiv,i=n._fullLayout,a=this.fullSceneLayout.camera,o=a.up.x,s=a.up.y,l=a.up.z;if(l/Math.sqrt(o*o+s*s+l*l)<.999){var c=this.id+\".camera.up\",h={x:0,y:0,z:1},p={};p[c]=h;var d=n.layout;u.call(\"_storeDirectGUIEdit\",d,i._preGUI,p),a.up=h,f.nestedProperty(d,c).set(h)}}else r.keyBindingMode=t;this.fullSceneLayout.hovermode=e},w.toImage=function(t){t||(t=\"png\"),this.staticMode&&this.container.appendChild(n),this.glplot.redraw();var e=this.glplot.gl,r=e.drawingBufferWidth,i=e.drawingBufferHeight;e.bindFramebuffer(e.FRAMEBUFFER,null);var a=new Uint8Array(r*i*4);e.readPixels(0,0,r,i,e.RGBA,e.UNSIGNED_BYTE,a),function(t,e,r){for(var n=0,i=r-1;n0)for(var s=255/o,l=0;l<3;++l)t[a+l]=Math.min(s*t[a+l],255)}}(a,r,i);var o=document.createElement(\"canvas\");o.width=r,o.height=i;var s,l=o.getContext(\"2d\",{willReadFrequently:!0}),c=l.createImageData(r,i);switch(c.data.set(a),l.putImageData(c,0,0),t){case\"jpeg\":s=o.toDataURL(\"image/jpeg\");break;case\"webp\":s=o.toDataURL(\"image/webp\");break;default:s=o.toDataURL(\"image/png\")}return this.staticMode&&this.container.removeChild(n),s},w.setConvert=function(){for(var t=0;t<3;t++){var e=this.fullSceneLayout[k[t]];p.setConvert(e,this.fullLayout),e.setScale=f.noop}},w.make4thDimension=function(){var t=this.graphDiv._fullLayout;this._mockAxis={type:\"linear\",showexponent:\"all\",exponentformat:\"B\"},p.setConvert(this._mockAxis,t)},e.exports=_},{\"../../../stackgl_modules\":1133,\"../../components/fx\":407,\"../../lib\":515,\"../../lib/show_no_webgl_msg\":537,\"../../lib/str2rgbarray\":540,\"../../plots/cartesian/axes\":566,\"../../registry\":647,\"./layout/convert\":611,\"./layout/spikes\":614,\"./layout/tick_marks\":615,\"./project\":616,\"has-passive-events\":229,\"webgl-context\":332}],618:[function(t,e,r){\"use strict\";e.exports=function(t,e,r,n){n=n||t.length;for(var i=new Array(n),a=0;aOpenStreetMap contributors',a=['\\xa9 Carto',i].join(\" \"),o=['Map tiles by Stamen Design','under CC BY 3.0',\"|\",'Data by OpenStreetMap contributors','under ODbL'].join(\" \"),s={\"open-street-map\":{id:\"osm\",version:8,sources:{\"plotly-osm-tiles\":{type:\"raster\",attribution:i,tiles:[\"https://a.tile.openstreetmap.org/{z}/{x}/{y}.png\",\"https://b.tile.openstreetmap.org/{z}/{x}/{y}.png\"],tileSize:256}},layers:[{id:\"plotly-osm-tiles\",type:\"raster\",source:\"plotly-osm-tiles\",minzoom:0,maxzoom:22}]},\"white-bg\":{id:\"white-bg\",version:8,sources:{},layers:[{id:\"white-bg\",type:\"background\",paint:{\"background-color\":\"#FFFFFF\"},minzoom:0,maxzoom:22}]},\"carto-positron\":{id:\"carto-positron\",version:8,sources:{\"plotly-carto-positron\":{type:\"raster\",attribution:a,tiles:[\"https://cartodb-basemaps-c.global.ssl.fastly.net/light_all/{z}/{x}/{y}.png\"],tileSize:256}},layers:[{id:\"plotly-carto-positron\",type:\"raster\",source:\"plotly-carto-positron\",minzoom:0,maxzoom:22}]},\"carto-darkmatter\":{id:\"carto-darkmatter\",version:8,sources:{\"plotly-carto-darkmatter\":{type:\"raster\",attribution:a,tiles:[\"https://cartodb-basemaps-c.global.ssl.fastly.net/dark_all/{z}/{x}/{y}.png\"],tileSize:256}},layers:[{id:\"plotly-carto-darkmatter\",type:\"raster\",source:\"plotly-carto-darkmatter\",minzoom:0,maxzoom:22}]},\"stamen-terrain\":{id:\"stamen-terrain\",version:8,sources:{\"plotly-stamen-terrain\":{type:\"raster\",attribution:o,tiles:[\"https://stamen-tiles.a.ssl.fastly.net/terrain/{z}/{x}/{y}.png\"],tileSize:256}},layers:[{id:\"plotly-stamen-terrain\",type:\"raster\",source:\"plotly-stamen-terrain\",minzoom:0,maxzoom:22}]},\"stamen-toner\":{id:\"stamen-toner\",version:8,sources:{\"plotly-stamen-toner\":{type:\"raster\",attribution:o,tiles:[\"https://stamen-tiles.a.ssl.fastly.net/toner/{z}/{x}/{y}.png\"],tileSize:256}},layers:[{id:\"plotly-stamen-toner\",type:\"raster\",source:\"plotly-stamen-toner\",minzoom:0,maxzoom:22}]},\"stamen-watercolor\":{id:\"stamen-watercolor\",version:8,sources:{\"plotly-stamen-watercolor\":{type:\"raster\",attribution:['Map tiles by Stamen Design','under CC BY 3.0',\"|\",'Data by OpenStreetMap contributors','under CC BY SA'].join(\" \"),tiles:[\"https://stamen-tiles.a.ssl.fastly.net/watercolor/{z}/{x}/{y}.png\"],tileSize:256}},layers:[{id:\"plotly-stamen-watercolor\",type:\"raster\",source:\"plotly-stamen-watercolor\",minzoom:0,maxzoom:22}]}},l=n(s);e.exports={requiredVersion:\"1.10.1\",styleUrlPrefix:\"mapbox://styles/mapbox/\",styleUrlSuffix:\"v9\",styleValuesMapbox:[\"basic\",\"streets\",\"outdoors\",\"light\",\"dark\",\"satellite\",\"satellite-streets\"],styleValueDflt:\"basic\",stylesNonMapbox:s,styleValuesNonMapbox:l,traceLayerPrefix:\"plotly-trace-layer-\",layoutLayerPrefix:\"plotly-layout-layer-\",wrongVersionErrorMsg:[\"Your custom plotly.js bundle is not using the correct mapbox-gl version\",\"Please install mapbox-gl@1.10.1.\"].join(\"\\n\"),noAccessTokenErrorMsg:[\"Missing Mapbox access token.\",\"Mapbox trace type require a Mapbox access token to be registered.\",\"For example:\",\" Plotly.newPlot(gd, data, layout, { mapboxAccessToken: 'my-access-token' });\",\"More info here: https://www.mapbox.com/help/define-access-token/\"].join(\"\\n\"),missingStyleErrorMsg:[\"No valid mapbox style found, please set `mapbox.style` to one of:\",l.join(\", \"),\"or register a Mapbox access token to use a Mapbox-served style.\"].join(\"\\n\"),multipleTokensErrorMsg:[\"Set multiple mapbox access token across different mapbox subplot,\",\"using first token found as mapbox-gl does not allow multipleaccess tokens on the same page.\"].join(\"\\n\"),mapOnErrorMsg:\"Mapbox error.\",mapboxLogo:{path0:\"m 10.5,1.24 c -5.11,0 -9.25,4.15 -9.25,9.25 0,5.1 4.15,9.25 9.25,9.25 5.1,0 9.25,-4.15 9.25,-9.25 0,-5.11 -4.14,-9.25 -9.25,-9.25 z m 4.39,11.53 c -1.93,1.93 -4.78,2.31 -6.7,2.31 -0.7,0 -1.41,-0.05 -2.1,-0.16 0,0 -1.02,-5.64 2.14,-8.81 0.83,-0.83 1.95,-1.28 3.13,-1.28 1.27,0 2.49,0.51 3.39,1.42 1.84,1.84 1.89,4.75 0.14,6.52 z\",path1:\"M 10.5,-0.01 C 4.7,-0.01 0,4.7 0,10.49 c 0,5.79 4.7,10.5 10.5,10.5 5.8,0 10.5,-4.7 10.5,-10.5 C 20.99,4.7 16.3,-0.01 10.5,-0.01 Z m 0,19.75 c -5.11,0 -9.25,-4.15 -9.25,-9.25 0,-5.1 4.14,-9.26 9.25,-9.26 5.11,0 9.25,4.15 9.25,9.25 0,5.13 -4.14,9.26 -9.25,9.26 z\",path2:\"M 14.74,6.25 C 12.9,4.41 9.98,4.35 8.23,6.1 5.07,9.27 6.09,14.91 6.09,14.91 c 0,0 5.64,1.02 8.81,-2.14 C 16.64,11 16.59,8.09 14.74,6.25 Z m -2.27,4.09 -0.91,1.87 -0.9,-1.87 -1.86,-0.91 1.86,-0.9 0.9,-1.87 0.91,1.87 1.86,0.9 z\",polygon:\"11.56,12.21 10.66,10.34 8.8,9.43 10.66,8.53 11.56,6.66 12.47,8.53 14.33,9.43 12.47,10.34\"},styleRules:{map:\"overflow:hidden;position:relative;\",\"missing-css\":\"display:none;\",canary:\"background-color:salmon;\",\"ctrl-bottom-left\":\"position: absolute; pointer-events: none; z-index: 2; bottom: 0; left: 0;\",\"ctrl-bottom-right\":\"position: absolute; pointer-events: none; z-index: 2; right: 0; bottom: 0;\",ctrl:\"clear: both; pointer-events: auto; transform: translate(0, 0);\",\"ctrl-attrib.mapboxgl-compact .mapboxgl-ctrl-attrib-inner\":\"display: none;\",\"ctrl-attrib.mapboxgl-compact:hover .mapboxgl-ctrl-attrib-inner\":\"display: block; margin-top:2px\",\"ctrl-attrib.mapboxgl-compact:hover\":\"padding: 2px 24px 2px 4px; visibility: visible; margin-top: 6px;\",\"ctrl-attrib.mapboxgl-compact::after\":'content: \"\"; cursor: pointer; position: absolute; background-image: url(\\'data:image/svg+xml;charset=utf-8,%3Csvg viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"%3E %3Cpath fill=\"%23333333\" fill-rule=\"evenodd\" d=\"M4,10a6,6 0 1,0 12,0a6,6 0 1,0 -12,0 M9,7a1,1 0 1,0 2,0a1,1 0 1,0 -2,0 M9,10a1,1 0 1,1 2,0l0,3a1,1 0 1,1 -2,0\"/%3E %3C/svg%3E\\'); background-color: rgba(255, 255, 255, 0.5); width: 24px; height: 24px; box-sizing: border-box; border-radius: 12px;',\"ctrl-attrib.mapboxgl-compact\":\"min-height: 20px; padding: 0; margin: 10px; position: relative; background-color: #fff; border-radius: 3px 12px 12px 3px;\",\"ctrl-bottom-right > .mapboxgl-ctrl-attrib.mapboxgl-compact::after\":\"bottom: 0; right: 0\",\"ctrl-bottom-left > .mapboxgl-ctrl-attrib.mapboxgl-compact::after\":\"bottom: 0; left: 0\",\"ctrl-bottom-left .mapboxgl-ctrl\":\"margin: 0 0 10px 10px; float: left;\",\"ctrl-bottom-right .mapboxgl-ctrl\":\"margin: 0 10px 10px 0; float: right;\",\"ctrl-attrib\":\"color: rgba(0, 0, 0, 0.75); text-decoration: none; font-size: 12px\",\"ctrl-attrib a\":\"color: rgba(0, 0, 0, 0.75); text-decoration: none; font-size: 12px\",\"ctrl-attrib a:hover\":\"color: inherit; text-decoration: underline;\",\"ctrl-attrib .mapbox-improve-map\":\"font-weight: bold; margin-left: 2px;\",\"attrib-empty\":\"display: none;\",\"ctrl-logo\":'display:block; width: 21px; height: 21px; background-image: url(\\'data:image/svg+xml;charset=utf-8,%3C?xml version=\"1.0\" encoding=\"utf-8\"?%3E %3Csvg version=\"1.1\" id=\"Layer_1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\" viewBox=\"0 0 21 21\" style=\"enable-background:new 0 0 21 21;\" xml:space=\"preserve\"%3E%3Cg transform=\"translate(0,0.01)\"%3E%3Cpath d=\"m 10.5,1.24 c -5.11,0 -9.25,4.15 -9.25,9.25 0,5.1 4.15,9.25 9.25,9.25 5.1,0 9.25,-4.15 9.25,-9.25 0,-5.11 -4.14,-9.25 -9.25,-9.25 z m 4.39,11.53 c -1.93,1.93 -4.78,2.31 -6.7,2.31 -0.7,0 -1.41,-0.05 -2.1,-0.16 0,0 -1.02,-5.64 2.14,-8.81 0.83,-0.83 1.95,-1.28 3.13,-1.28 1.27,0 2.49,0.51 3.39,1.42 1.84,1.84 1.89,4.75 0.14,6.52 z\" style=\"opacity:0.9;fill:%23ffffff;enable-background:new\" class=\"st0\"/%3E%3Cpath d=\"M 10.5,-0.01 C 4.7,-0.01 0,4.7 0,10.49 c 0,5.79 4.7,10.5 10.5,10.5 5.8,0 10.5,-4.7 10.5,-10.5 C 20.99,4.7 16.3,-0.01 10.5,-0.01 Z m 0,19.75 c -5.11,0 -9.25,-4.15 -9.25,-9.25 0,-5.1 4.14,-9.26 9.25,-9.26 5.11,0 9.25,4.15 9.25,9.25 0,5.13 -4.14,9.26 -9.25,9.26 z\" style=\"opacity:0.35;enable-background:new\" class=\"st1\"/%3E%3Cpath d=\"M 14.74,6.25 C 12.9,4.41 9.98,4.35 8.23,6.1 5.07,9.27 6.09,14.91 6.09,14.91 c 0,0 5.64,1.02 8.81,-2.14 C 16.64,11 16.59,8.09 14.74,6.25 Z m -2.27,4.09 -0.91,1.87 -0.9,-1.87 -1.86,-0.91 1.86,-0.9 0.9,-1.87 0.91,1.87 1.86,0.9 z\" style=\"opacity:0.35;enable-background:new\" class=\"st1\"/%3E%3Cpolygon points=\"11.56,12.21 10.66,10.34 8.8,9.43 10.66,8.53 11.56,6.66 12.47,8.53 14.33,9.43 12.47,10.34 \" style=\"opacity:0.9;fill:%23ffffff;enable-background:new\" class=\"st0\"/%3E%3C/g%3E%3C/svg%3E\\')'}}},{\"../../lib/sort_object_keys\":538}],621:[function(t,e,r){\"use strict\";var n=t(\"../../lib\");e.exports=function(t,e){var r=t.split(\" \"),i=r[0],a=r[1],o=n.isArrayOrTypedArray(e)?n.mean(e):e,s=.5+o/100,l=1.5+o/100,c=[\"\",\"\"],u=[0,0];switch(i){case\"top\":c[0]=\"top\",u[1]=-l;break;case\"bottom\":c[0]=\"bottom\",u[1]=l}switch(a){case\"left\":c[1]=\"right\",u[0]=-s;break;case\"right\":c[1]=\"left\",u[0]=s}return{anchor:c[0]&&c[1]?c.join(\"-\"):c[0]?c[0]:c[1]?c[1]:\"center\",offset:u}}},{\"../../lib\":515}],622:[function(t,e,r){\"use strict\";var n=t(\"mapbox-gl/dist/mapbox-gl-unminified\"),i=t(\"../../lib\"),a=i.strTranslate,o=i.strScale,s=t(\"../../plots/get_data\").getSubplotCalcData,l=t(\"../../constants/xmlns_namespaces\"),c=t(\"@plotly/d3\"),u=t(\"../../components/drawing\"),f=t(\"../../lib/svg_text_utils\"),h=t(\"./mapbox\"),p=r.constants=t(\"./constants\");function d(t){return\"string\"==typeof t&&(-1!==p.styleValuesMapbox.indexOf(t)||0===t.indexOf(\"mapbox://\"))}r.name=\"mapbox\",r.attr=\"subplot\",r.idRoot=\"mapbox\",r.idRegex=r.attrRegex=i.counterRegex(\"mapbox\"),r.attributes={subplot:{valType:\"subplotid\",dflt:\"mapbox\",editType:\"calc\"}},r.layoutAttributes=t(\"./layout_attributes\"),r.supplyLayoutDefaults=t(\"./layout_defaults\"),r.plot=function(t){var e=t._fullLayout,r=t.calcdata,a=e._subplots.mapbox;if(n.version!==p.requiredVersion)throw new Error(p.wrongVersionErrorMsg);var o=function(t,e){var r=t._fullLayout;if(\"\"===t._context.mapboxAccessToken)return\"\";for(var n=[],a=[],o=!1,s=!1,l=0;l1&&i.warn(p.multipleTokensErrorMsg),n[0]):(a.length&&i.log([\"Listed mapbox access token(s)\",a.join(\",\"),\"but did not use a Mapbox map style, ignoring token(s).\"].join(\" \")),\"\")}(t,a);n.accessToken=o;for(var l=0;l_/2){var w=v.split(\"|\").join(\"
\");x.text(w).attr(\"data-unformatted\",w).call(f.convertToTspans,t),b=u.bBox(x.node())}x.attr(\"transform\",a(-3,8-b.height)),y.insert(\"rect\",\".static-attribution\").attr({x:-b.width-6,y:-b.height-3,width:b.width+6,height:b.height+3,fill:\"rgba(255, 255, 255, 0.75)\"});var T=1;b.width+6>_&&(T=_/(b.width+6));var k=[n.l+n.w*h.x[1],n.t+n.h*(1-h.y[0])];y.attr(\"transform\",a(k[0],k[1])+o(T))}},r.updateFx=function(t){for(var e=t._fullLayout,r=e._subplots.mapbox,n=0;n0){for(var r=0;r0}function u(t){var e={},r={};switch(t.type){case\"circle\":n.extendFlat(r,{\"circle-radius\":t.circle.radius,\"circle-color\":t.color,\"circle-opacity\":t.opacity});break;case\"line\":n.extendFlat(r,{\"line-width\":t.line.width,\"line-color\":t.color,\"line-opacity\":t.opacity,\"line-dasharray\":t.line.dash});break;case\"fill\":n.extendFlat(r,{\"fill-color\":t.color,\"fill-outline-color\":t.fill.outlinecolor,\"fill-opacity\":t.opacity});break;case\"symbol\":var i=t.symbol,o=a(i.textposition,i.iconsize);n.extendFlat(e,{\"icon-image\":i.icon+\"-15\",\"icon-size\":i.iconsize/10,\"text-field\":i.text,\"text-size\":i.textfont.size,\"text-anchor\":o.anchor,\"text-offset\":o.offset,\"symbol-placement\":i.placement}),n.extendFlat(r,{\"icon-color\":t.color,\"text-color\":i.textfont.color,\"text-opacity\":t.opacity});break;case\"raster\":n.extendFlat(r,{\"raster-fade-duration\":0,\"raster-opacity\":t.opacity})}return{layout:e,paint:r}}l.update=function(t){this.visible?this.needsNewImage(t)?this.updateImage(t):this.needsNewSource(t)?(this.removeLayer(),this.updateSource(t),this.updateLayer(t)):this.needsNewLayer(t)?this.updateLayer(t):this.updateStyle(t):(this.updateSource(t),this.updateLayer(t)),this.visible=c(t)},l.needsNewImage=function(t){return this.subplot.map.getSource(this.idSource)&&\"image\"===this.sourceType&&\"image\"===t.sourcetype&&(this.source!==t.source||JSON.stringify(this.coordinates)!==JSON.stringify(t.coordinates))},l.needsNewSource=function(t){return this.sourceType!==t.sourcetype||JSON.stringify(this.source)!==JSON.stringify(t.source)||this.layerType!==t.type},l.needsNewLayer=function(t){return this.layerType!==t.type||this.below!==this.subplot.belowLookup[\"layout-\"+this.index]},l.lookupBelow=function(){return this.subplot.belowLookup[\"layout-\"+this.index]},l.updateImage=function(t){this.subplot.map.getSource(this.idSource).updateImage({url:t.source,coordinates:t.coordinates});var e=this.findFollowingMapboxLayerId(this.lookupBelow());null!==e&&this.subplot.map.moveLayer(this.idLayer,e)},l.updateSource=function(t){var e=this.subplot.map;if(e.getSource(this.idSource)&&e.removeSource(this.idSource),this.sourceType=t.sourcetype,this.source=t.source,c(t)){var r=function(t){var e,r=t.sourcetype,n=t.source,a={type:r};\"geojson\"===r?e=\"data\":\"vector\"===r?e=\"string\"==typeof n?\"url\":\"tiles\":\"raster\"===r?(e=\"tiles\",a.tileSize=256):\"image\"===r&&(e=\"url\",a.coordinates=t.coordinates);a[e]=n,t.sourceattribution&&(a.attribution=i(t.sourceattribution));return a}(t);e.addSource(this.idSource,r)}},l.findFollowingMapboxLayerId=function(t){if(\"traces\"===t)for(var e=this.subplot.getMapLayers(),r=0;r1)for(r=0;r-1&&g(e.originalEvent,n,[r.xaxis],[r.yaxis],r.id,t),i.indexOf(\"event\")>-1&&c.click(n,e.originalEvent)}}},b.updateFx=function(t){var e=this,r=e.map,n=e.gd;if(!e.isStatic){var a,o=t.dragmode;a=function(t,r){r.isRect?(t.range={})[e.id]=[c([r.xmin,r.ymin]),c([r.xmax,r.ymax])]:(t.lassoPoints={})[e.id]=r.map(c)};var s=e.dragOptions;e.dragOptions=i.extendDeep(s||{},{dragmode:t.dragmode,element:e.div,gd:n,plotinfo:{id:e.id,domain:t[e.id].domain,xaxis:e.xaxis,yaxis:e.yaxis,fillRangeItems:a},xaxes:[e.xaxis],yaxes:[e.yaxis],subplot:e.id}),r.off(\"click\",e.onClickInPanHandler),h(o)||f(o)?(r.dragPan.disable(),r.on(\"zoomstart\",e.clearSelect),e.dragOptions.prepFn=function(t,r,n){p(t,r,n,e.dragOptions,o)},l.init(e.dragOptions)):(r.dragPan.enable(),r.off(\"zoomstart\",e.clearSelect),e.div.onmousedown=null,e.div.ontouchstart=null,e.div.removeEventListener(\"touchstart\",e.div._ontouchstart),e.onClickInPanHandler=e.onClickInPanFn(e.dragOptions),r.on(\"click\",e.onClickInPanHandler))}function c(t){var r=e.map.unproject(t);return[r.lng,r.lat]}},b.updateFramework=function(t){var e=t[this.id].domain,r=t._size,n=this.div.style;n.width=r.w*(e.x[1]-e.x[0])+\"px\",n.height=r.h*(e.y[1]-e.y[0])+\"px\",n.left=r.l+e.x[0]*r.w+\"px\",n.top=r.t+(1-e.y[1])*r.h+\"px\",this.xaxis._offset=r.l+e.x[0]*r.w,this.xaxis._length=r.w*(e.x[1]-e.x[0]),this.yaxis._offset=r.t+(1-e.y[1])*r.h,this.yaxis._length=r.h*(e.y[1]-e.y[0])},b.updateLayers=function(t){var e,r=t[this.id].layers,n=this.layerList;if(r.length!==n.length){for(e=0;e=e.width-20?(a[\"text-anchor\"]=\"start\",a.x=5):(a[\"text-anchor\"]=\"end\",a.x=e._paper.attr(\"width\")-7),r.attr(a);var o=r.select(\".js-link-to-tool\"),s=r.select(\".js-link-spacer\"),l=r.select(\".js-sourcelinks\");t._context.showSources&&t._context.showSources(t),t._context.showLink&&function(t,e){e.text(\"\");var r=e.append(\"a\").attr({\"xlink:xlink:href\":\"#\",class:\"link--impt link--embedview\",\"font-weight\":\"bold\"}).text(t._context.linkText+\" \"+String.fromCharCode(187));if(t._context.sendData)r.on(\"click\",(function(){b.sendDataToCloud(t)}));else{var n=window.location.pathname.split(\"/\"),i=window.location.search;r.attr({\"xlink:xlink:show\":\"new\",\"xlink:xlink:href\":\"/\"+n[2].split(\".\")[0]+\"/\"+n[1]+i})}}(t,o),s.text(o.text()&&l.text()?\" - \":\"\")}},b.sendDataToCloud=function(t){var e=(window.PLOTLYENV||{}).BASE_URL||t._context.plotlyServerURL;if(e){t.emit(\"plotly_beforeexport\");var r=n.select(t).append(\"div\").attr(\"id\",\"hiddenform\").style(\"display\",\"none\"),i=r.append(\"form\").attr({action:e+\"/external\",method:\"post\",target:\"_blank\"});return i.append(\"input\").attr({type:\"text\",name:\"data\"}).node().value=b.graphJson(t,!1,\"keepdata\"),i.node().submit(),r.remove(),t.emit(\"plotly_afterexport\"),!1}};var T=[\"days\",\"shortDays\",\"months\",\"shortMonths\",\"periods\",\"dateTime\",\"date\",\"time\",\"decimal\",\"thousands\",\"grouping\",\"currency\"],k=[\"year\",\"month\",\"dayMonth\",\"dayMonthYear\"];function A(t,e){var r=t._context.locale;r||(r=\"en-US\");var n=!1,i={};function a(t){for(var r=!0,a=0;a1&&z.length>1){for(s.getComponentMethod(\"grid\",\"sizeDefaults\")(c,l),o=0;o15&&z.length>15&&0===l.shapes.length&&0===l.images.length,b.linkSubplots(h,l,f,n),b.cleanPlot(h,l,f,n);var N=!(!n._has||!n._has(\"gl2d\")),j=!(!l._has||!l._has(\"gl2d\")),U=!(!n._has||!n._has(\"cartesian\"))||N,V=!(!l._has||!l._has(\"cartesian\"))||j;U&&!V?n._bgLayer.remove():V&&!U&&(l._shouldCreateBgLayer=!0),n._zoomlayer&&!t._dragging&&d({_fullLayout:n}),function(t,e){var r,n=[];e.meta&&(r=e._meta={meta:e.meta,layout:{meta:e.meta}});for(var i=0;i0){var f=1-2*s;n=Math.round(f*n),i=Math.round(f*i)}}var h=b.layoutAttributes.width.min,p=b.layoutAttributes.height.min;n1,m=!e.height&&Math.abs(r.height-i)>1;(m||d)&&(d&&(r.width=n),m&&(r.height=i)),t._initialAutoSize||(t._initialAutoSize={width:n,height:i}),b.sanitizeMargins(r)},b.supplyLayoutModuleDefaults=function(t,e,r,n){var i,a,o,l=s.componentsRegistry,c=e._basePlotModules,f=s.subplotsRegistry.cartesian;for(i in l)(o=l[i]).includeBasePlot&&o.includeBasePlot(t,e);for(var h in c.length||c.push(f),e._has(\"cartesian\")&&(s.getComponentMethod(\"grid\",\"contentDefaults\")(t,e),f.finalizeSubplots(t,e)),e._subplots)e._subplots[h].sort(u.subplotSort);for(a=0;a1&&(r.l/=v,r.r/=v)}if(p){var y=(r.t+r.b)/p;y>1&&(r.t/=y,r.b/=y)}var x=void 0!==r.xl?r.xl:r.x,_=void 0!==r.xr?r.xr:r.x,w=void 0!==r.yt?r.yt:r.y,T=void 0!==r.yb?r.yb:r.y;d[e]={l:{val:x,size:r.l+g},r:{val:_,size:r.r+g},b:{val:T,size:r.b+g},t:{val:w,size:r.t+g}},m[e]=1}else delete d[e],delete m[e];if(!n._replotting)return b.doAutoMargin(t)}},b.doAutoMargin=function(t){var e=t._fullLayout,r=e.width,n=e.height;e._size||(e._size={}),C(e);var i=e._size,a=e.margin,l=u.extendFlat({},i),c=a.l,f=a.r,h=a.t,d=a.b,m=e._pushmargin,g=e._pushmarginIds,v=e.minreducedwidth,y=e.minreducedheight;if(!1!==e.margin.autoexpand){for(var x in m)g[x]||delete m[x];for(var _ in m.base={l:{val:0,size:c},r:{val:1,size:f},t:{val:1,size:h},b:{val:0,size:d}},m){var w=m[_].l||{},T=m[_].b||{},k=w.val,A=w.size,M=T.val,S=T.size;for(var E in m){if(o(A)&&m[E].r){var L=m[E].r.val,P=m[E].r.size;if(L>k){var I=(A*L+(P-r)*k)/(L-k),O=(P*(1-k)+(A-r)*(1-L))/(L-k);I+O>c+f&&(c=I,f=O)}}if(o(S)&&m[E].t){var z=m[E].t.val,D=m[E].t.size;if(z>M){var R=(S*z+(D-n)*M)/(z-M),F=(D*(1-M)+(S-n)*(1-z))/(z-M);R+F>d+h&&(d=R,h=F)}}}}}var B=u.constrain(r-a.l-a.r,2,v),N=u.constrain(n-a.t-a.b,2,y),j=Math.max(0,r-B),U=Math.max(0,n-N);if(j){var V=(c+f)/j;V>1&&(c/=V,f/=V)}if(U){var H=(d+h)/U;H>1&&(d/=H,h/=H)}if(i.l=Math.round(c),i.r=Math.round(f),i.t=Math.round(h),i.b=Math.round(d),i.p=Math.round(a.pad),i.w=Math.round(r)-i.l-i.r,i.h=Math.round(n)-i.t-i.b,!e._replotting&&b.didMarginChange(l,i)){\"_redrawFromAutoMarginCount\"in e?e._redrawFromAutoMarginCount++:e._redrawFromAutoMarginCount=1;var q=3*(1+Object.keys(g).length);if(e._redrawFromAutoMarginCount0&&(t._transitioningWithDuration=!0),t._transitionData._interruptCallbacks.push((function(){n=!0})),r.redraw&&t._transitionData._interruptCallbacks.push((function(){return s.call(\"redraw\",t)})),t._transitionData._interruptCallbacks.push((function(){t.emit(\"plotly_transitioninterrupted\",[])}));var a=0,o=0;function l(){return a++,function(){o++,n||o!==a||function(e){if(!t._transitionData)return;(function(t){if(t)for(;t.length;)t.shift()})(t._transitionData._interruptCallbacks),Promise.resolve().then((function(){if(r.redraw)return s.call(\"redraw\",t)})).then((function(){t._transitioning=!1,t._transitioningWithDuration=!1,t.emit(\"plotly_transitioned\",[])})).then(e)}(i)}}r.runFn(l),setTimeout(l())}))}],a=u.syncOrAsync(i,t);return a&&a.then||(a=Promise.resolve()),a.then((function(){return t}))}b.didMarginChange=function(t,e){for(var r=0;r1)return!0}return!1},b.graphJson=function(t,e,r,n,i,a){(i&&e&&!t._fullData||i&&!e&&!t._fullLayout)&&b.supplyDefaults(t);var o=i?t._fullData:t.data,s=i?t._fullLayout:t.layout,l=(t._transitionData||{})._frames;function c(t,e){if(\"function\"==typeof t)return e?\"_function_\":null;if(u.isPlainObject(t)){var n,i={};return Object.keys(t).sort().forEach((function(a){if(-1===[\"_\",\"[\"].indexOf(a.charAt(0)))if(\"function\"!=typeof t[a]){if(\"keepdata\"===r){if(\"src\"===a.substr(a.length-3))return}else if(\"keepstream\"===r){if(\"string\"==typeof(n=t[a+\"src\"])&&n.indexOf(\":\")>0&&!u.isPlainObject(t.stream))return}else if(\"keepall\"!==r&&\"string\"==typeof(n=t[a+\"src\"])&&n.indexOf(\":\")>0)return;i[a]=c(t[a],e)}else e&&(i[a]=\"_function\")})),i}return Array.isArray(t)?t.map((function(t){return c(t,e)})):u.isTypedArray(t)?u.simpleMap(t,u.identity):u.isJSDate(t)?u.ms2DateTimeLocal(+t):t}var f={data:(o||[]).map((function(t){var r=c(t);return e&&delete r.fit,r}))};if(!e&&(f.layout=c(s),i)){var h=s._size;f.layout.computed={margin:{b:h.b,l:h.l,r:h.r,t:h.t}}}return l&&(f.frames=c(l)),a&&(f.config=c(t._context,!0)),\"object\"===n?f:JSON.stringify(f)},b.modifyFrames=function(t,e){var r,n,i,a=t._transitionData._frames,o=t._transitionData._frameHash;for(r=0;r=0;a--)if(s[a].enabled){r._indexToPoints=s[a]._indexToPoints;break}n&&n.calc&&(o=n.calc(t,r))}Array.isArray(o)&&o[0]||(o=[{x:h,y:h}]),o[0].t||(o[0].t={}),o[0].trace=r,d[e]=o}}for(z(o,c,f),i=0;i1e-10?t:0}function h(t,e,r){e=e||0,r=r||0;for(var n=t.length,i=new Array(n),a=0;a0?r:1/0})),i=n.mod(r+1,e.length);return[e[r],e[i]]},findIntersectionXY:c,findXYatLength:function(t,e,r,n){var i=-e*r,a=e*e+1,o=2*(e*i-r),s=i*i+r*r-t*t,l=Math.sqrt(o*o-4*a*s),c=(-o+l)/(2*a),u=(-o-l)/(2*a);return[[c,e*c+i+n],[u,e*u+i+n]]},clampTiny:f,pathPolygon:function(t,e,r,n,i,a){return\"M\"+h(u(t,e,r,n),i,a).join(\"L\")},pathPolygonAnnulus:function(t,e,r,n,i,a,o){var s,l;t=90||s>90&&l>=450?1:u<=0&&h<=0?0:Math.max(u,h);e=s<=180&&l>=180||s>180&&l>=540?-1:c>=0&&f>=0?0:Math.min(c,f);r=s<=270&&l>=270||s>270&&l>=630?-1:u>=0&&h>=0?0:Math.min(u,h);n=l>=360?1:c<=0&&f<=0?0:Math.max(c,f);return[e,r,n,i]}(p),b=x[2]-x[0],_=x[3]-x[1],w=h/f,T=Math.abs(_/b);w>T?(d=f,y=(h-(m=f*T))/n.h/2,g=[o[0],o[1]],v=[s[0]+y,s[1]-y]):(m=h,y=(f-(d=h/T))/n.w/2,g=[o[0]+y,o[1]-y],v=[s[0],s[1]]),this.xLength2=d,this.yLength2=m,this.xDomain2=g,this.yDomain2=v;var k,A=this.xOffset2=n.l+n.w*g[0],M=this.yOffset2=n.t+n.h*(1-v[1]),S=this.radius=d/b,E=this.innerRadius=this.getHole(e)*S,L=this.cx=A-S*x[0],C=this.cy=M+S*x[3],P=this.cxx=L-A,I=this.cyy=C-M,O=i.side;\"counterclockwise\"===O?(k=O,O=\"top\"):\"clockwise\"===O&&(k=O,O=\"bottom\"),this.radialAxis=this.mockAxis(t,e,i,{_id:\"x\",side:O,_trueSide:k,domain:[E/n.w,S/n.w]}),this.angularAxis=this.mockAxis(t,e,a,{side:\"right\",domain:[0,Math.PI],autorange:!1}),this.doAutoRange(t,e),this.updateAngularAxis(t,e),this.updateRadialAxis(t,e),this.updateRadialAxisTitle(t,e),this.xaxis=this.mockCartesianAxis(t,e,{_id:\"x\",domain:g}),this.yaxis=this.mockCartesianAxis(t,e,{_id:\"y\",domain:v});var z=this.pathSubplot();this.clipPaths.forTraces.select(\"path\").attr(\"d\",z).attr(\"transform\",l(P,I)),r.frontplot.attr(\"transform\",l(A,M)).call(u.setClipUrl,this._hasClipOnAxisFalse?null:this.clipIds.forTraces,this.gd),r.bg.attr(\"d\",z).attr(\"transform\",l(L,C)).call(c.fill,e.bgcolor)},N.mockAxis=function(t,e,r,n){var i=o.extendFlat({},r,n);return d(i,e,t),i},N.mockCartesianAxis=function(t,e,r){var n=this,i=n.isSmith,a=r._id,s=o.extendFlat({type:\"linear\"},r);p(s,t);var l={x:[0,2],y:[1,3]};return s.setRange=function(){var t=n.sectorBBox,r=l[a],i=n.radialAxis._rl,o=(i[1]-i[0])/(1-n.getHole(e));s.range=[t[r[0]]*o,t[r[1]]*o]},s.isPtWithinRange=\"x\"!==a||i?function(){return!0}:function(t){return n.isPtInside(t)},s.setRange(),s.setScale(),s},N.doAutoRange=function(t,e){var r=this.gd,n=this.radialAxis,i=this.getRadial(e);m(r,n);var a=n.range;i.range=a.slice(),i._input.range=a.slice(),n._rl=[n.r2l(a[0],null,\"gregorian\"),n.r2l(a[1],null,\"gregorian\")]},N.updateRadialAxis=function(t,e){var r=this,n=r.gd,i=r.layers,a=r.radius,u=r.innerRadius,f=r.cx,p=r.cy,d=r.getRadial(e),m=D(r.getSector(e)[0],360),g=r.radialAxis,v=u90&&m<=270&&(g.tickangle=180);var x=y?function(t){var e=O(r,C([t.x,0]));return l(e[0]-f,e[1]-p)}:function(t){return l(g.l2p(t.x)+u,0)},b=y?function(t){return I(r,t.x,-1/0,1/0)}:function(t){return r.pathArc(g.r2p(t.x)+u)},_=j(d);if(r.radialTickLayout!==_&&(i[\"radial-axis\"].selectAll(\".xtick\").remove(),r.radialTickLayout=_),v){g.setScale();var w=0,T=y?(g.tickvals||[]).filter((function(t){return t>=0})).map((function(t){return h.tickText(g,t,!0,!1)})):h.calcTicks(g),k=y?T:h.clipEnds(g,T),A=h.getTickSigns(g)[2];y&&((\"top\"===g.ticks&&\"bottom\"===g.side||\"bottom\"===g.ticks&&\"top\"===g.side)&&(A=-A),\"top\"===g.ticks&&\"top\"===g.side&&(w=-g.ticklen),\"bottom\"===g.ticks&&\"bottom\"===g.side&&(w=g.ticklen)),h.drawTicks(n,g,{vals:T,layer:i[\"radial-axis\"],path:h.makeTickPath(g,0,A),transFn:x,crisp:!1}),h.drawGrid(n,g,{vals:k,layer:i[\"radial-grid\"],path:b,transFn:o.noop,crisp:!1}),h.drawLabels(n,g,{vals:T,layer:i[\"radial-axis\"],transFn:x,labelFns:h.makeLabelFns(g,w)})}var M=r.radialAxisAngle=r.vangles?F(U(R(d.angle),r.vangles)):d.angle,S=l(f,p),E=S+s(-M);V(i[\"radial-axis\"],v&&(d.showticklabels||d.ticks),{transform:E}),V(i[\"radial-grid\"],v&&d.showgrid,{transform:y?\"\":S}),V(i[\"radial-line\"].select(\"line\"),v&&d.showline,{x1:y?-a:u,y1:0,x2:a,y2:0,transform:E}).attr(\"stroke-width\",d.linewidth).call(c.stroke,d.linecolor)},N.updateRadialAxisTitle=function(t,e,r){if(!this.isSmith){var n=this.gd,i=this.radius,a=this.cx,o=this.cy,s=this.getRadial(e),l=this.id+\"title\",c=0;if(s.title){var f=u.bBox(this.layers[\"radial-axis\"].node()).height,h=s.title.font.size,p=s.side;c=\"top\"===p?h:\"counterclockwise\"===p?-(f+.4*h):f+.8*h}var d=void 0!==r?r:this.radialAxisAngle,m=R(d),g=Math.cos(m),v=Math.sin(m),y=a+i/2*g+c*v,b=o-i/2*v+c*g;this.layers[\"radial-axis-title\"]=x.draw(n,l,{propContainer:s,propName:this.id+\".radialaxis.title\",placeholder:z(n,\"Click to enter radial axis title\"),attributes:{x:y,y:b,\"text-anchor\":\"middle\"},transform:{rotate:-d}})}},N.updateAngularAxis=function(t,e){var r=this,n=r.gd,i=r.layers,a=r.radius,u=r.innerRadius,f=r.cx,p=r.cy,d=r.getAngular(e),m=r.angularAxis,g=r.isSmith;g||(r.fillViewInitialKey(\"angularaxis.rotation\",d.rotation),m.setGeometry(),m.setScale());var v=g?function(t){var e=O(r,C([0,t.x]));return Math.atan2(e[0]-f,e[1]-p)-Math.PI/2}:function(t){return m.t2g(t.x)};\"linear\"===m.type&&\"radians\"===m.thetaunit&&(m.tick0=F(m.tick0),m.dtick=F(m.dtick));var y=function(t){return l(f+a*Math.cos(t),p-a*Math.sin(t))},x=g?function(t){var e=O(r,C([0,t.x]));return l(e[0],e[1])}:function(t){return y(v(t))},b=g?function(t){var e=O(r,C([0,t.x])),n=Math.atan2(e[0]-f,e[1]-p)-Math.PI/2;return l(e[0],e[1])+s(-F(n))}:function(t){var e=v(t);return y(e)+s(-F(e))},_=g?function(t){return P(r,t.x,0,1/0)}:function(t){var e=v(t),r=Math.cos(e),n=Math.sin(e);return\"M\"+[f+u*r,p-u*n]+\"L\"+[f+a*r,p-a*n]},w=h.makeLabelFns(m,0).labelStandoff,T={xFn:function(t){var e=v(t);return Math.cos(e)*w},yFn:function(t){var e=v(t),r=Math.sin(e)>0?.2:1;return-Math.sin(e)*(w+t.fontSize*r)+Math.abs(Math.cos(e))*(t.fontSize*M)},anchorFn:function(t){var e=v(t),r=Math.cos(e);return Math.abs(r)<.1?\"middle\":r>0?\"start\":\"end\"},heightFn:function(t,e,r){var n=v(t);return-.5*(1+Math.sin(n))*r}},k=j(d);r.angularTickLayout!==k&&(i[\"angular-axis\"].selectAll(\".\"+m._id+\"tick\").remove(),r.angularTickLayout=k);var A,S=g?[1/0].concat(m.tickvals||[]).map((function(t){return h.tickText(m,t,!0,!1)})):h.calcTicks(m);if(g&&(S[0].text=\"\\u221e\",S[0].fontSize*=1.75),\"linear\"===e.gridshape?(A=S.map(v),o.angleDelta(A[0],A[1])<0&&(A=A.slice().reverse())):A=null,r.vangles=A,\"category\"===m.type&&(S=S.filter((function(t){return o.isAngleInsideSector(v(t),r.sectorInRad)}))),m.visible){var E=\"inside\"===m.ticks?-1:1,L=(m.linewidth||1)/2;h.drawTicks(n,m,{vals:S,layer:i[\"angular-axis\"],path:\"M\"+E*L+\",0h\"+E*m.ticklen,transFn:b,crisp:!1}),h.drawGrid(n,m,{vals:S,layer:i[\"angular-grid\"],path:_,transFn:o.noop,crisp:!1}),h.drawLabels(n,m,{vals:S,layer:i[\"angular-axis\"],repositionOnUpdate:!0,transFn:x,labelFns:T})}V(i[\"angular-line\"].select(\"path\"),d.showline,{d:r.pathSubplot(),transform:l(f,p)}).attr(\"stroke-width\",d.linewidth).call(c.stroke,d.linecolor)},N.updateFx=function(t,e){this.gd._context.staticPlot||(!this.isSmith&&(this.updateAngularDrag(t),this.updateRadialDrag(t,e,0),this.updateRadialDrag(t,e,1)),this.updateHoverAndMainDrag(t))},N.updateHoverAndMainDrag=function(t){var e,r,s=this,c=s.isSmith,u=s.gd,f=s.layers,h=t._zoomlayer,p=S.MINZOOM,d=S.OFFEDGE,m=s.radius,x=s.innerRadius,T=s.cx,k=s.cy,A=s.cxx,M=s.cyy,L=s.sectorInRad,C=s.vangles,P=s.radialAxis,I=E.clampTiny,O=E.findXYatLength,z=E.findEnclosingVertexAngles,D=S.cornerHalfWidth,R=S.cornerLen/2,F=g.makeDragger(f,\"path\",\"maindrag\",!1===t.dragmode?\"none\":\"crosshair\");n.select(F).attr(\"d\",s.pathSubplot()).attr(\"transform\",l(T,k)),F.onmousemove=function(t){y.hover(u,t,s.id),u._fullLayout._lasthover=F,u._fullLayout._hoversubplot=s.id},F.onmouseout=function(t){u._dragging||v.unhover(u,t)};var B,N,j,U,V,H,q,G,Y,W={element:F,gd:u,subplot:s.id,plotinfo:{id:s.id,xaxis:s.xaxis,yaxis:s.yaxis},xaxes:[s.xaxis],yaxes:[s.yaxis]};function Z(t,e){return Math.sqrt(t*t+e*e)}function X(t,e){return Z(t-A,e-M)}function J(t,e){return Math.atan2(M-e,t-A)}function K(t,e){return[t*Math.cos(e),t*Math.sin(-e)]}function Q(t,e){if(0===t)return s.pathSector(2*D);var r=R/t,n=e-r,i=e+r,a=Math.max(0,Math.min(t,m)),o=a-D,l=a+D;return\"M\"+K(o,n)+\"A\"+[o,o]+\" 0,0,0 \"+K(o,i)+\"L\"+K(l,i)+\"A\"+[l,l]+\" 0,0,1 \"+K(l,n)+\"Z\"}function $(t,e,r){if(0===t)return s.pathSector(2*D);var n,i,a=K(t,e),o=K(t,r),l=I((a[0]+o[0])/2),c=I((a[1]+o[1])/2);if(l&&c){var u=c/l,f=-1/u,h=O(D,u,l,c);n=O(R,f,h[0][0],h[0][1]),i=O(R,f,h[1][0],h[1][1])}else{var p,d;c?(p=R,d=D):(p=D,d=R),n=[[l-p,c-d],[l+p,c-d]],i=[[l-p,c+d],[l+p,c+d]]}return\"M\"+n.join(\"L\")+\"L\"+i.reverse().join(\"L\")+\"Z\"}function tt(t,e){return e=Math.max(Math.min(e,m),x),tp?(t-1&&1===t&&_(e,u,[s.xaxis],[s.yaxis],s.id,W),r.indexOf(\"event\")>-1&&y.click(u,e,s.id)}W.prepFn=function(t,n,a){var l=u._fullLayout.dragmode,f=F.getBoundingClientRect();u._fullLayout._calcInverseTransform(u);var p=u._fullLayout._invTransform;e=u._fullLayout._invScaleX,r=u._fullLayout._invScaleY;var d=o.apply3DTransform(p)(n-f.left,a-f.top);if(B=d[0],N=d[1],C){var v=E.findPolygonOffset(m,L[0],L[1],C);B+=A+v[0],N+=M+v[1]}switch(l){case\"zoom\":W.clickFn=st,c||(W.moveFn=C?it:rt,W.doneFn=at,function(){j=null,U=null,V=s.pathSubplot(),H=!1;var t=u._fullLayout[s.id];q=i(t.bgcolor).getLuminance(),(G=g.makeZoombox(h,q,T,k,V)).attr(\"fill-rule\",\"evenodd\"),Y=g.makeCorners(h,T,k),w(u)}());break;case\"select\":case\"lasso\":b(t,n,a,W,l)}},v.init(W)},N.updateRadialDrag=function(t,e,r){var i=this,c=i.gd,u=i.layers,f=i.radius,h=i.innerRadius,p=i.cx,d=i.cy,m=i.radialAxis,y=S.radialDragBoxSize,x=y/2;if(m.visible){var b,_,T,M=R(i.radialAxisAngle),E=m._rl,L=E[0],C=E[1],P=E[r],I=.75*(E[1]-E[0])/(1-i.getHole(e))/f;r?(b=p+(f+x)*Math.cos(M),_=d-(f+x)*Math.sin(M),T=\"radialdrag\"):(b=p+(h-x)*Math.cos(M),_=d-(h-x)*Math.sin(M),T=\"radialdrag-inner\");var O,z,D,B=g.makeRectDragger(u,T,\"crosshair\",-x,-x,y,y),N={element:B,gd:c};!1===t.dragmode&&(N.dragmode=!1),V(n.select(B),m.visible&&h0==(r?D>L:Dn?function(t){return t<=0}:function(t){return t>=0};t.c2g=function(r){var n=t.c2l(r)-e;return(s(n)?n:0)+o},t.g2c=function(r){return t.l2c(r+e-o)},t.g2p=function(t){return t*a},t.c2p=function(e){return t.g2p(t.c2g(e))}}}(t,e);break;case\"angularaxis\":!function(t,e){var r=t.type;if(\"linear\"===r){var i=t.d2c,s=t.c2d;t.d2c=function(t,e){return function(t,e){return\"degrees\"===e?a(t):t}(i(t),e)},t.c2d=function(t,e){return s(function(t,e){return\"degrees\"===e?o(t):t}(t,e))}}t.makeCalcdata=function(e,i){var a,o,s=e[i],l=e._length,c=function(r){return t.d2c(r,e.thetaunit)};if(s){if(n.isTypedArray(s)&&\"linear\"===r){if(l===s.length)return s;if(s.subarray)return s.subarray(0,l)}for(a=new Array(l),o=0;o0?1:0}function i(t){var e=t[0],r=t[1];if(!isFinite(e)||!isFinite(r))return[1,0];var n=(e+1)*(e+1)+r*r;return[(e*e+r*r-1)/n,2*r/n]}function a(t,e){var r=e[0],n=e[1];return[r*t.radius+t.cx,-n*t.radius+t.cy]}function o(t,e){return e*t.radius}e.exports={smith:i,reactanceArc:function(t,e,r,n){var s=a(t,i([r,e])),l=s[0],c=s[1],u=a(t,i([n,e])),f=u[0],h=u[1];if(0===e)return[\"M\"+l+\",\"+c,\"L\"+f+\",\"+h].join(\" \");var p=o(t,1/Math.abs(e));return[\"M\"+l+\",\"+c,\"A\"+p+\",\"+p+\" 0 0,\"+(e<0?1:0)+\" \"+f+\",\"+h].join(\" \")},resistanceArc:function(t,e,r,s){var l=o(t,1/(e+1)),c=a(t,i([e,r])),u=c[0],f=c[1],h=a(t,i([e,s])),p=h[0],d=h[1];if(n(r)!==n(s)){var m=a(t,i([e,0]));return[\"M\"+u+\",\"+f,\"A\"+l+\",\"+l+\" 0 0,\"+(00){for(var n=[],i=0;i=u&&(h.min=0,d.min=0,g.min=0,t.aaxis&&delete t.aaxis.min,t.baxis&&delete t.baxis.min,t.caxis&&delete t.caxis.min)}function m(t,e,r,n){var i=h[e._name];function o(r,n){return a.coerce(t,e,i,r,n)}o(\"uirevision\",n.uirevision),e.type=\"linear\";var p=o(\"color\"),d=p!==i.color.dflt?p:r.font.color,m=e._name.charAt(0).toUpperCase(),g=\"Component \"+m,v=o(\"title.text\",g);e._hovertitle=v===g?v:m,a.coerceFont(o,\"title.font\",{family:r.font.family,size:a.bigFont(r.font.size),color:d}),o(\"min\"),u(t,e,o,\"linear\"),l(t,e,o,\"linear\"),s(t,e,o,\"linear\"),c(t,e,o,{outerTicks:!0}),o(\"showticklabels\")&&(a.coerceFont(o,\"tickfont\",{family:r.font.family,size:r.font.size,color:d}),o(\"tickangle\"),o(\"tickformat\")),f(t,e,o,{dfltColor:p,bgColor:r.bgColor,blend:60,showLine:!0,showGrid:!0,noZeroLine:!0,attributes:i}),o(\"hoverformat\"),o(\"layer\")}e.exports=function(t,e,r){o(t,e,r,{type:\"ternary\",attributes:h,handleDefaults:d,font:e.font,paper_bgcolor:e.paper_bgcolor})}},{\"../../components/color\":367,\"../../lib\":515,\"../../plot_api/plot_template\":555,\"../cartesian/line_grid_defaults\":581,\"../cartesian/prefix_suffix_defaults\":583,\"../cartesian/tick_label_defaults\":587,\"../cartesian/tick_mark_defaults\":588,\"../cartesian/tick_value_defaults\":589,\"../subplot_defaults\":641,\"./layout_attributes\":644}],646:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\"),i=t(\"tinycolor2\"),a=t(\"../../registry\"),o=t(\"../../lib\"),s=o.strTranslate,l=o._,c=t(\"../../components/color\"),u=t(\"../../components/drawing\"),f=t(\"../cartesian/set_convert\"),h=t(\"../../lib/extend\").extendFlat,p=t(\"../plots\"),d=t(\"../cartesian/axes\"),m=t(\"../../components/dragelement\"),g=t(\"../../components/fx\"),v=t(\"../../components/dragelement/helpers\"),y=v.freeMode,x=v.rectMode,b=t(\"../../components/titles\"),_=t(\"../../components/selections\").prepSelect,w=t(\"../../components/selections\").selectOnClick,T=t(\"../../components/selections\").clearOutline,k=t(\"../../components/selections\").clearSelectionsCache,A=t(\"../cartesian/constants\");function M(t,e){this.id=t.id,this.graphDiv=t.graphDiv,this.init(e),this.makeFramework(e),this.aTickLayout=null,this.bTickLayout=null,this.cTickLayout=null}e.exports=M;var S=M.prototype;S.init=function(t){this.container=t._ternarylayer,this.defs=t._defs,this.layoutId=t._uid,this.traceHash={},this.layers={}},S.plot=function(t,e){var r=e[this.id],n=e._size;this._hasClipOnAxisFalse=!1;for(var i=0;iE*b?i=(a=b)*E:a=(i=x)/E,o=v*i/x,l=y*a/b,r=e.l+e.w*m-i/2,n=e.t+e.h*(1-g)-a/2,p.x0=r,p.y0=n,p.w=i,p.h=a,p.sum=_,p.xaxis={type:\"linear\",range:[w+2*k-_,_-w-2*T],domain:[m-o/2,m+o/2],_id:\"x\"},f(p.xaxis,p.graphDiv._fullLayout),p.xaxis.setScale(),p.xaxis.isPtWithinRange=function(t){return t.a>=p.aaxis.range[0]&&t.a<=p.aaxis.range[1]&&t.b>=p.baxis.range[1]&&t.b<=p.baxis.range[0]&&t.c>=p.caxis.range[1]&&t.c<=p.caxis.range[0]},p.yaxis={type:\"linear\",range:[w,_-T-k],domain:[g-l/2,g+l/2],_id:\"y\"},f(p.yaxis,p.graphDiv._fullLayout),p.yaxis.setScale(),p.yaxis.isPtWithinRange=function(){return!0};var A=p.yaxis.domain[0],M=p.aaxis=h({},t.aaxis,{range:[w,_-T-k],side:\"left\",tickangle:(+t.aaxis.tickangle||0)-30,domain:[A,A+l*E],anchor:\"free\",position:0,_id:\"y\",_length:i});f(M,p.graphDiv._fullLayout),M.setScale();var S=p.baxis=h({},t.baxis,{range:[_-w-k,T],side:\"bottom\",domain:p.xaxis.domain,anchor:\"free\",position:0,_id:\"x\",_length:i});f(S,p.graphDiv._fullLayout),S.setScale();var L=p.caxis=h({},t.caxis,{range:[_-w-T,k],side:\"right\",tickangle:(+t.caxis.tickangle||0)+30,domain:[A,A+l*E],anchor:\"free\",position:0,_id:\"y\",_length:i});f(L,p.graphDiv._fullLayout),L.setScale();var C=\"M\"+r+\",\"+(n+a)+\"h\"+i+\"l-\"+i/2+\",-\"+a+\"Z\";p.clipDef.select(\"path\").attr(\"d\",C),p.layers.plotbg.select(\"path\").attr(\"d\",C);var P=\"M0,\"+a+\"h\"+i+\"l-\"+i/2+\",-\"+a+\"Z\";p.clipDefRelative.select(\"path\").attr(\"d\",P);var I=s(r,n);p.plotContainer.selectAll(\".scatterlayer,.maplayer\").attr(\"transform\",I),p.clipDefRelative.select(\"path\").attr(\"transform\",null);var O=s(r-S._offset,n+a);p.layers.baxis.attr(\"transform\",O),p.layers.bgrid.attr(\"transform\",O);var z=s(r+i/2,n)+\"rotate(30)\"+s(0,-M._offset);p.layers.aaxis.attr(\"transform\",z),p.layers.agrid.attr(\"transform\",z);var D=s(r+i/2,n)+\"rotate(-30)\"+s(0,-L._offset);p.layers.caxis.attr(\"transform\",D),p.layers.cgrid.attr(\"transform\",D),p.drawAxes(!0),p.layers.aline.select(\"path\").attr(\"d\",M.showline?\"M\"+r+\",\"+(n+a)+\"l\"+i/2+\",-\"+a:\"M0,0\").call(c.stroke,M.linecolor||\"#000\").style(\"stroke-width\",(M.linewidth||0)+\"px\"),p.layers.bline.select(\"path\").attr(\"d\",S.showline?\"M\"+r+\",\"+(n+a)+\"h\"+i:\"M0,0\").call(c.stroke,S.linecolor||\"#000\").style(\"stroke-width\",(S.linewidth||0)+\"px\"),p.layers.cline.select(\"path\").attr(\"d\",L.showline?\"M\"+(r+i/2)+\",\"+n+\"l\"+i/2+\",\"+a:\"M0,0\").call(c.stroke,L.linecolor||\"#000\").style(\"stroke-width\",(L.linewidth||0)+\"px\"),p.graphDiv._context.staticPlot||p.initInteractions(),u.setClipUrl(p.layers.frontplot,p._hasClipOnAxisFalse?null:p.clipId,p.graphDiv)},S.drawAxes=function(t){var e=this.graphDiv,r=this.id.substr(7)+\"title\",n=this.layers,i=this.aaxis,a=this.baxis,o=this.caxis;if(this.drawAx(i),this.drawAx(a),this.drawAx(o),t){var s=Math.max(i.showticklabels?i.tickfont.size/2:0,(o.showticklabels?.75*o.tickfont.size:0)+(\"outside\"===o.ticks?.87*o.ticklen:0)),c=(a.showticklabels?a.tickfont.size:0)+(\"outside\"===a.ticks?a.ticklen:0)+3;n[\"a-title\"]=b.draw(e,\"a\"+r,{propContainer:i,propName:this.id+\".aaxis.title\",placeholder:l(e,\"Click to enter Component A title\"),attributes:{x:this.x0+this.w/2,y:this.y0-i.title.font.size/3-s,\"text-anchor\":\"middle\"}}),n[\"b-title\"]=b.draw(e,\"b\"+r,{propContainer:a,propName:this.id+\".baxis.title\",placeholder:l(e,\"Click to enter Component B title\"),attributes:{x:this.x0-c,y:this.y0+this.h+.83*a.title.font.size+c,\"text-anchor\":\"middle\"}}),n[\"c-title\"]=b.draw(e,\"c\"+r,{propContainer:o,propName:this.id+\".caxis.title\",placeholder:l(e,\"Click to enter Component C title\"),attributes:{x:this.x0+this.w+c,y:this.y0+this.h+.83*o.title.font.size+c,\"text-anchor\":\"middle\"}})}},S.drawAx=function(t){var e,r=this.graphDiv,n=t._name,i=n.charAt(0),a=t._id,s=this.layers[n],l=i+\"tickLayout\",c=(e=t).ticks+String(e.ticklen)+String(e.showticklabels);this[l]!==c&&(s.selectAll(\".\"+a+\"tick\").remove(),this[l]=c),t.setScale();var u=d.calcTicks(t),f=d.clipEnds(t,u),h=d.makeTransTickFn(t),p=d.getTickSigns(t)[2],m=o.deg2rad(30),g=p*(t.linewidth||1)/2,v=p*t.ticklen,y=this.w,x=this.h,b=\"b\"===i?\"M0,\"+g+\"l\"+Math.sin(m)*v+\",\"+Math.cos(m)*v:\"M\"+g+\",0l\"+Math.cos(m)*v+\",\"+-Math.sin(m)*v,_={a:\"M0,0l\"+x+\",-\"+y/2,b:\"M0,0l-\"+y/2+\",-\"+x,c:\"M0,0l-\"+x+\",\"+y/2}[i];d.drawTicks(r,t,{vals:\"inside\"===t.ticks?f:u,layer:s,path:b,transFn:h,crisp:!1}),d.drawGrid(r,t,{vals:f,layer:this.layers[i+\"grid\"],path:_,transFn:h,crisp:!1}),d.drawLabels(r,t,{vals:u,layer:s,transFn:h,labelFns:d.makeLabelFns(t,0,30)})};var L=A.MINZOOM/2+.87,C=\"m-0.87,.5h\"+L+\"v3h-\"+(L+5.2)+\"l\"+(L/2+2.6)+\",-\"+(.87*L+4.5)+\"l2.6,1.5l-\"+L/2+\",\"+.87*L+\"Z\",P=\"m0.87,.5h-\"+L+\"v3h\"+(L+5.2)+\"l-\"+(L/2+2.6)+\",-\"+(.87*L+4.5)+\"l-2.6,1.5l\"+L/2+\",\"+.87*L+\"Z\",I=\"m0,1l\"+L/2+\",\"+.87*L+\"l2.6,-1.5l-\"+(L/2+2.6)+\",-\"+(.87*L+4.5)+\"l-\"+(L/2+2.6)+\",\"+(.87*L+4.5)+\"l2.6,1.5l\"+L/2+\",-\"+.87*L+\"Z\",O=!0;function z(t){n.select(t).selectAll(\".zoombox,.js-zoombox-backdrop,.js-zoombox-menu,.zoombox-corners\").remove()}S.clearOutline=function(){k(this.dragOptions),T(this.dragOptions.gd)},S.initInteractions=function(){var t,e,r,n,f,h,p,d,v,b,T,k,M=this,S=M.layers.plotbg.select(\"path\").node(),L=M.graphDiv,D=L._fullLayout._zoomlayer;function R(t){var e={};return e[M.id+\".aaxis.min\"]=t.a,e[M.id+\".baxis.min\"]=t.b,e[M.id+\".caxis.min\"]=t.c,e}function F(t,e){var r=L._fullLayout.clickmode;z(L),2===t&&(L.emit(\"plotly_doubleclick\",null),a.call(\"_guiRelayout\",L,R({a:0,b:0,c:0}))),r.indexOf(\"select\")>-1&&1===t&&w(e,L,[M.xaxis],[M.yaxis],M.id,M.dragOptions),r.indexOf(\"event\")>-1&&g.click(L,e,M.id)}function B(t,e){return 1-e/M.h}function N(t,e){return 1-(t+(M.h-e)/Math.sqrt(3))/M.w}function j(t,e){return(t-(M.h-e)/Math.sqrt(3))/M.w}function U(i,a){var o=r+i*t,s=n+a*e,l=Math.max(0,Math.min(1,B(0,n),B(0,s))),c=Math.max(0,Math.min(1,N(r,n),N(o,s))),u=Math.max(0,Math.min(1,j(r,n),j(o,s))),m=(l/2+u)*M.w,g=(1-l/2-c)*M.w,y=(m+g)/2,x=g-m,_=(1-l)*M.h,w=_-x/E;x.2?\"rgba(0,0,0,0.4)\":\"rgba(255,255,255,0.3)\").duration(200),k.transition().style(\"opacity\",1).duration(200),b=!0),L.emit(\"plotly_relayouting\",R(p))}function V(){z(L),p!==f&&(a.call(\"_guiRelayout\",L,R(p)),O&&L.data&&L._context.showTips&&(o.notifier(l(L,\"Double-click to zoom back out\"),\"long\"),O=!1))}function H(t,e){var r=t/M.xaxis._m,n=e/M.yaxis._m,i=[(p={a:f.a-n,b:f.b+(r+n)/2,c:f.c-(r-n)/2}).a,p.b,p.c].sort(o.sorterAsc),a=i.indexOf(p.a),l=i.indexOf(p.b),c=i.indexOf(p.c);i[0]<0&&(i[1]+i[0]/2<0?(i[2]+=i[0]+i[1],i[0]=i[1]=0):(i[2]+=i[0]/2,i[1]+=i[0]/2,i[0]=0),p={a:i[a],b:i[l],c:i[c]},e=(f.a-p.a)*M.yaxis._m,t=(f.c-p.c-f.b+p.b)*M.xaxis._m);var h=s(M.x0+t,M.y0+e);M.plotContainer.selectAll(\".scatterlayer,.maplayer\").attr(\"transform\",h);var d=s(-t,-e);M.clipDefRelative.select(\"path\").attr(\"transform\",d),M.aaxis.range=[p.a,M.sum-p.b-p.c],M.baxis.range=[M.sum-p.a-p.c,p.b],M.caxis.range=[M.sum-p.a-p.b,p.c],M.drawAxes(!1),M._hasClipOnAxisFalse&&M.plotContainer.select(\".scatterlayer\").selectAll(\".trace\").call(u.hideOutsideRangePoints,M),L.emit(\"plotly_relayouting\",R(p))}function q(){a.call(\"_guiRelayout\",L,R(p))}this.dragOptions={element:S,gd:L,plotinfo:{id:M.id,domain:L._fullLayout[M.id].domain,xaxis:M.xaxis,yaxis:M.yaxis},subplot:M.id,prepFn:function(a,l,u){M.dragOptions.xaxes=[M.xaxis],M.dragOptions.yaxes=[M.yaxis],t=L._fullLayout._invScaleX,e=L._fullLayout._invScaleY;var m=M.dragOptions.dragmode=L._fullLayout.dragmode;y(m)?M.dragOptions.minDrag=1:M.dragOptions.minDrag=void 0,\"zoom\"===m?(M.dragOptions.moveFn=U,M.dragOptions.clickFn=F,M.dragOptions.doneFn=V,function(t,e,a){var l=S.getBoundingClientRect();r=e-l.left,n=a-l.top,L._fullLayout._calcInverseTransform(L);var u=L._fullLayout._invTransform,m=o.apply3DTransform(u)(r,n);r=m[0],n=m[1],f={a:M.aaxis.range[0],b:M.baxis.range[1],c:M.caxis.range[1]},p=f,h=M.aaxis.range[1]-f.a,d=i(M.graphDiv._fullLayout[M.id].bgcolor).getLuminance(),v=\"M0,\"+M.h+\"L\"+M.w/2+\", 0L\"+M.w+\",\"+M.h+\"Z\",b=!1,T=D.append(\"path\").attr(\"class\",\"zoombox\").attr(\"transform\",s(M.x0,M.y0)).style({fill:d>.2?\"rgba(0,0,0,0)\":\"rgba(255,255,255,0)\",\"stroke-width\":0}).attr(\"d\",v),k=D.append(\"path\").attr(\"class\",\"zoombox-corners\").attr(\"transform\",s(M.x0,M.y0)).style({fill:c.background,stroke:c.defaultLine,\"stroke-width\":1,opacity:0}).attr(\"d\",\"M0,0Z\"),M.clearOutline(L)}(0,l,u)):\"pan\"===m?(M.dragOptions.moveFn=H,M.dragOptions.clickFn=F,M.dragOptions.doneFn=q,f={a:M.aaxis.range[0],b:M.baxis.range[1],c:M.caxis.range[1]},p=f,M.clearOutline(L)):(x(m)||y(m))&&_(a,l,u,M.dragOptions,m)}},S.onmousemove=function(t){g.hover(L,t,M.id),L._fullLayout._lasthover=S,L._fullLayout._hoversubplot=M.id},S.onmouseout=function(t){L._dragging||m.unhover(L,t)},m.init(this.dragOptions)}},{\"../../components/color\":367,\"../../components/dragelement\":386,\"../../components/dragelement/helpers\":385,\"../../components/drawing\":389,\"../../components/fx\":407,\"../../components/selections\":455,\"../../components/titles\":476,\"../../lib\":515,\"../../lib/extend\":505,\"../../registry\":647,\"../cartesian/axes\":566,\"../cartesian/constants\":573,\"../cartesian/set_convert\":585,\"../plots\":628,\"@plotly/d3\":58,tinycolor2:313}],647:[function(t,e,r){\"use strict\";var n=t(\"./lib/loggers\"),i=t(\"./lib/noop\"),a=t(\"./lib/push_unique\"),o=t(\"./lib/is_plain_object\"),s=t(\"./lib/dom\").addStyleRule,l=t(\"./lib/extend\"),c=t(\"./plots/attributes\"),u=t(\"./plots/layout_attributes\"),f=l.extendFlat,h=l.extendDeepAll;function p(t){var e=t.name,i=t.categories,a=t.meta;if(r.modules[e])n.log(\"Type \"+e+\" already registered\");else{r.subplotsRegistry[t.basePlotModule.name]||function(t){var e=t.name;if(r.subplotsRegistry[e])return void n.log(\"Plot type \"+e+\" already registered.\");for(var i in v(t),r.subplotsRegistry[e]=t,r.componentsRegistry)b(i,t.name)}(t.basePlotModule);for(var o={},l=0;l-1&&(f[p[r]].title={text:\"\"});for(r=0;r\")?\"\":e.html(t).text()}));return e.remove(),r}(_),_=(_=_.replace(/&(?!\\w+;|\\#[0-9]+;| \\#x[0-9A-F]+;)/g,\"&\")).replace(c,\"'\"),i.isIE()&&(_=(_=(_=_.replace(/\"/gi,\"'\")).replace(/(\\('#)([^']*)('\\))/gi,'(\"#$2\")')).replace(/(\\\\')/gi,'\"')),_}},{\"../components/color\":367,\"../components/drawing\":389,\"../constants/xmlns_namespaces\":492,\"../lib\":515,\"@plotly/d3\":58}],656:[function(t,e,r){\"use strict\";var n=t(\"../../lib\");e.exports=function(t,e){for(var r=0;rf+c||!n(u))}for(var p=0;pa))return e}return void 0!==r?r:t.dflt},r.coerceColor=function(t,e,r){return i(e).isValid()?e:void 0!==r?r:t.dflt},r.coerceEnumerated=function(t,e,r){return t.coerceNumber&&(e=+e),-1!==t.values.indexOf(e)?e:void 0!==r?r:t.dflt},r.getValue=function(t,e){var r;return Array.isArray(t)?e0?e+=r:u<0&&(e-=r)}return e}function z(t){var e=u,r=t.b,i=O(t);return n.inbox(r-e,i-e,_+(i-e)/(i-r)-1)}var D=t[f+\"a\"],R=t[h+\"a\"];m=Math.abs(D.r2c(D.range[1])-D.r2c(D.range[0]));var F=n.getDistanceFunction(i,p,d,(function(t){return(p(t)+d(t))/2}));if(n.getClosest(g,F,t),!1!==t.index&&g[t.index].p!==c){k||(L=function(t){return Math.min(A(t),t.p-y.bargroupwidth/2)},C=function(t){return Math.max(M(t),t.p+y.bargroupwidth/2)});var B=g[t.index],N=v.base?B.b+B.s:B.s;t[h+\"0\"]=t[h+\"1\"]=R.c2p(B[h],!0),t[h+\"LabelVal\"]=N;var j=y.extents[y.extents.round(B.p)];t[f+\"0\"]=D.c2p(x?L(B):j[0],!0),t[f+\"1\"]=D.c2p(x?C(B):j[1],!0);var U=void 0!==B.orig_p;return t[f+\"LabelVal\"]=U?B.orig_p:B.p,t.labelLabel=l(D,t[f+\"LabelVal\"],v[f+\"hoverformat\"]),t.valueLabel=l(R,t[h+\"LabelVal\"],v[h+\"hoverformat\"]),t.baseLabel=l(R,B.b,v[h+\"hoverformat\"]),t.spikeDistance=(function(t){var e=u,r=t.b,i=O(t);return n.inbox(r-e,i-e,w+(i-e)/(i-r)-1)}(B)+function(t){return P(A(t),M(t),w)}(B))/2,t[f+\"Spike\"]=D.c2p(B.p,!0),o(B,v,t),t.hovertemplate=v.hovertemplate,t}}function f(t,e){var r=e.mcc||t.marker.color,n=e.mlcc||t.marker.line.color,i=s(t,e);return a.opacity(r)?r:a.opacity(n)&&i?n:void 0}e.exports={hoverPoints:function(t,e,r,n,a){var o=u(t,e,r,n,a);if(o){var s=o.cd,l=s[0].trace,c=s[o.index];return o.color=f(l,c),i.getComponentMethod(\"errorbars\",\"hoverInfo\")(c,l,o),[o]}},hoverOnBars:u,getTraceColor:f}},{\"../../components/color\":367,\"../../components/fx\":407,\"../../constants/numerical\":491,\"../../lib\":515,\"../../plots/cartesian/axes\":566,\"../../registry\":647,\"./helpers\":663}],665:[function(t,e,r){\"use strict\";e.exports={attributes:t(\"./attributes\"),layoutAttributes:t(\"./layout_attributes\"),supplyDefaults:t(\"./defaults\").supplyDefaults,crossTraceDefaults:t(\"./defaults\").crossTraceDefaults,supplyLayoutDefaults:t(\"./layout_defaults\"),calc:t(\"./calc\"),crossTraceCalc:t(\"./cross_trace_calc\").crossTraceCalc,colorbar:t(\"../scatter/marker_colorbar\"),arraysToCalcdata:t(\"./arrays_to_calcdata\"),plot:t(\"./plot\").plot,style:t(\"./style\").style,styleOnSelect:t(\"./style\").styleOnSelect,hoverPoints:t(\"./hover\").hoverPoints,eventData:t(\"./event_data\"),selectPoints:t(\"./select\"),moduleType:\"trace\",name:\"bar\",basePlotModule:t(\"../../plots/cartesian\"),categories:[\"bar-like\",\"cartesian\",\"svg\",\"bar\",\"oriented\",\"errorBarsOK\",\"showLegend\",\"zoomScale\"],animatable:!0,meta:{}}},{\"../../plots/cartesian\":578,\"../scatter/marker_colorbar\":954,\"./arrays_to_calcdata\":656,\"./attributes\":657,\"./calc\":658,\"./cross_trace_calc\":660,\"./defaults\":661,\"./event_data\":662,\"./hover\":664,\"./layout_attributes\":666,\"./layout_defaults\":667,\"./plot\":668,\"./select\":669,\"./style\":671}],666:[function(t,e,r){\"use strict\";e.exports={barmode:{valType:\"enumerated\",values:[\"stack\",\"group\",\"overlay\",\"relative\"],dflt:\"group\",editType:\"calc\"},barnorm:{valType:\"enumerated\",values:[\"\",\"fraction\",\"percent\"],dflt:\"\",editType:\"calc\"},bargap:{valType:\"number\",min:0,max:1,editType:\"calc\"},bargroupgap:{valType:\"number\",min:0,max:1,dflt:0,editType:\"calc\"}}},{}],667:[function(t,e,r){\"use strict\";var n=t(\"../../registry\"),i=t(\"../../plots/cartesian/axes\"),a=t(\"../../lib\"),o=t(\"./layout_attributes\");e.exports=function(t,e,r){function s(r,n){return a.coerce(t,e,o,r,n)}for(var l=!1,c=!1,u=!1,f={},h=s(\"barmode\"),p=0;p0}function S(t){return\"auto\"===t?0:t}function E(t,e){var r=Math.PI/180*e,n=Math.abs(Math.sin(r)),i=Math.abs(Math.cos(r));return{x:t.width*i+t.height*n,y:t.width*n+t.height*i}}function L(t,e,r,n,i,a){var o=!!a.isHorizontal,s=!!a.constrained,l=a.angle||0,c=a.anchor||\"end\",u=\"end\"===c,f=\"start\"===c,h=((a.leftToRight||0)+1)/2,p=1-h,d=i.width,m=i.height,g=Math.abs(e-t),v=Math.abs(n-r),y=g>2*_&&v>2*_?_:0;g-=2*y,v-=2*y;var x=S(l);\"auto\"!==l||d<=g&&m<=v||!(d>g||m>v)||(d>v||m>g)&&d.01?q:function(t,e,r){return r&&t===e?t:Math.abs(t-e)>=2?q(t):t>e?Math.ceil(t):Math.floor(t)};B=G(B,N,D),N=G(N,B,D),j=G(j,U,!D),U=G(U,j,!D)}var Y=A(a.ensureSingle(I,\"path\"),P,g,v);if(Y.style(\"vector-effect\",\"non-scaling-stroke\").attr(\"d\",isNaN((N-B)*(U-j))||V&&t._context.staticPlot?\"M0,0Z\":\"M\"+B+\",\"+j+\"V\"+U+\"H\"+N+\"V\"+j+\"Z\").call(l.setClipUrl,e.layerClipId,t),!P.uniformtext.mode&&R){var W=l.makePointStyleFns(f);l.singlePointStyle(c,Y,f,W,t)}!function(t,e,r,n,i,s,c,f,p,g,v){var w,T=e.xaxis,M=e.yaxis,C=t._fullLayout;function P(e,r,n){return a.ensureSingle(e,\"text\").text(r).attr({class:\"bartext bartext-\"+w,\"text-anchor\":\"middle\",\"data-notex\":1}).call(l.font,n).call(o.convertToTspans,t)}var I=n[0].trace,O=\"h\"===I.orientation,z=function(t,e,r,n,i){var o,s=e[0].trace;o=s.texttemplate?function(t,e,r,n,i){var o=e[0].trace,s=a.castOption(o,r,\"texttemplate\");if(!s)return\"\";var l,c,f,h,p=\"histogram\"===o.type,d=\"waterfall\"===o.type,m=\"funnel\"===o.type,g=\"h\"===o.orientation;g?(l=\"y\",c=i,f=\"x\",h=n):(l=\"x\",c=n,f=\"y\",h=i);function v(t){return u(h,h.c2l(t),!0).text}var y=e[r],x={};x.label=y.p,x.labelLabel=x[l+\"Label\"]=(_=y.p,u(c,c.c2l(_),!0).text);var _;var w=a.castOption(o,y.i,\"text\");(0===w||w)&&(x.text=w);x.value=y.s,x.valueLabel=x[f+\"Label\"]=v(y.s);var T={};b(T,o,y.i),(p||void 0===T.x)&&(T.x=g?x.value:x.label);(p||void 0===T.y)&&(T.y=g?x.label:x.value);(p||void 0===T.xLabel)&&(T.xLabel=g?x.valueLabel:x.labelLabel);(p||void 0===T.yLabel)&&(T.yLabel=g?x.labelLabel:x.valueLabel);d&&(x.delta=+y.rawS||y.s,x.deltaLabel=v(x.delta),x.final=y.v,x.finalLabel=v(x.final),x.initial=x.final-x.delta,x.initialLabel=v(x.initial));m&&(x.value=y.s,x.valueLabel=v(x.value),x.percentInitial=y.begR,x.percentInitialLabel=a.formatPercent(y.begR),x.percentPrevious=y.difR,x.percentPreviousLabel=a.formatPercent(y.difR),x.percentTotal=y.sumR,x.percenTotalLabel=a.formatPercent(y.sumR));var k=a.castOption(o,y.i,\"customdata\");k&&(x.customdata=k);return a.texttemplateString(s,x,t._d3locale,T,x,o._meta||{})}(t,e,r,n,i):s.textinfo?function(t,e,r,n){var i=t[0].trace,o=\"h\"===i.orientation,s=\"waterfall\"===i.type,l=\"funnel\"===i.type;function c(t){return u(o?r:n,+t,!0).text}var f,h=i.textinfo,p=t[e],d=h.split(\"+\"),m=[],g=function(t){return-1!==d.indexOf(t)};g(\"label\")&&m.push((v=t[e].p,u(o?n:r,v,!0).text));var v;g(\"text\")&&(0===(f=a.castOption(i,p.i,\"text\"))||f)&&m.push(f);if(s){var y=+p.rawS||p.s,x=p.v,b=x-y;g(\"initial\")&&m.push(c(b)),g(\"delta\")&&m.push(c(y)),g(\"final\")&&m.push(c(x))}if(l){g(\"value\")&&m.push(c(p.s));var _=0;g(\"percent initial\")&&_++,g(\"percent previous\")&&_++,g(\"percent total\")&&_++;var w=_>1;g(\"percent initial\")&&(f=a.formatPercent(p.begR),w&&(f+=\" of initial\"),m.push(f)),g(\"percent previous\")&&(f=a.formatPercent(p.difR),w&&(f+=\" of previous\"),m.push(f)),g(\"percent total\")&&(f=a.formatPercent(p.sumR),w&&(f+=\" of total\"),m.push(f))}return m.join(\"
\")}(e,r,n,i):m.getValue(s.text,r);return m.coerceString(y,o)}(C,n,i,T,M);w=function(t,e){var r=m.getValue(t.textposition,e);return m.coerceEnumerated(x,r)}(I,i);var D=\"stack\"===g.mode||\"relative\"===g.mode,R=n[i],F=!D||R._outmost;if(!z||\"none\"===w||(R.isBlank||s===c||f===p)&&(\"auto\"===w||\"inside\"===w))return void r.select(\"text\").remove();var B=C.font,N=d.getBarColor(n[i],I),j=d.getInsideTextFont(I,i,B,N),U=d.getOutsideTextFont(I,i,B),V=r.datum();O?\"log\"===T.type&&V.s0<=0&&(s=T.range[0]=G*(X/Y):X>=Y*(Z/G);G>0&&Y>0&&(J||K||Q)?w=\"inside\":(w=\"outside\",H.remove(),H=null)}else w=\"inside\";if(!H){W=a.ensureUniformFontSize(t,\"outside\"===w?U:j);var $=(H=P(r,z,W)).attr(\"transform\");if(H.attr(\"transform\",\"\"),q=l.bBox(H.node()),G=q.width,Y=q.height,H.attr(\"transform\",$),G<=0||Y<=0)return void H.remove()}var tt,et,rt=I.textangle;\"outside\"===w?(et=\"both\"===I.constraintext||\"outside\"===I.constraintext,tt=function(t,e,r,n,i,a){var o,s=!!a.isHorizontal,l=!!a.constrained,c=a.angle||0,u=i.width,f=i.height,h=Math.abs(e-t),p=Math.abs(n-r);o=s?p>2*_?_:0:h>2*_?_:0;var d=1;l&&(d=s?Math.min(1,p/f):Math.min(1,h/u));var m=S(c),g=E(i,m),v=(s?g.x:g.y)/2,y=(i.left+i.right)/2,x=(i.top+i.bottom)/2,b=(t+e)/2,w=(r+n)/2,T=0,A=0,M=s?k(e,t):k(r,n);s?(b=e-M*o,T=M*v):(w=n+M*o,A=-M*v);return{textX:y,textY:x,targetX:b,targetY:w,anchorX:T,anchorY:A,scale:d,rotate:m}}(s,c,f,p,q,{isHorizontal:O,constrained:et,angle:rt})):(et=\"both\"===I.constraintext||\"inside\"===I.constraintext,tt=L(s,c,f,p,q,{isHorizontal:O,constrained:et,angle:rt,anchor:I.insidetextanchor}));tt.fontSize=W.size,h(\"histogram\"===I.type?\"bar\":I.type,tt,C),R.transform=tt;var nt=A(H,C,g,v);a.setTransormAndDisplay(nt,tt)}(t,e,I,r,p,B,N,j,U,g,v),e.layerClipId&&l.hideOutsideRangePoint(c,I.select(\"text\"),w,C,f.xcalendar,f.ycalendar)}));var j=!1===f.cliponaxis;l.setClipUrl(c,j?null:e.layerClipId,t)}));c.getComponentMethod(\"errorbars\",\"plot\")(t,I,e,g)},toMoveInsideBar:L}},{\"../../components/color\":367,\"../../components/drawing\":389,\"../../components/fx/helpers\":403,\"../../lib\":515,\"../../lib/svg_text_utils\":541,\"../../plots/cartesian/axes\":566,\"../../registry\":647,\"./attributes\":657,\"./constants\":659,\"./helpers\":663,\"./style\":671,\"./uniform_text\":673,\"@plotly/d3\":58,\"fast-isnumeric\":190}],669:[function(t,e,r){\"use strict\";function n(t,e,r,n,i){var a=e.c2p(n?t.s0:t.p0,!0),o=e.c2p(n?t.s1:t.p1,!0),s=r.c2p(n?t.p0:t.s0,!0),l=r.c2p(n?t.p1:t.s1,!0);return i?[(a+o)/2,(s+l)/2]:n?[o,(s+l)/2]:[(a+o)/2,l]}e.exports=function(t,e){var r,i=t.cd,a=t.xaxis,o=t.yaxis,s=i[0].trace,l=\"funnel\"===s.type,c=\"h\"===s.orientation,u=[];if(!1===e)for(r=0;r1||0===i.bargap&&0===i.bargroupgap&&!t[0].trace.marker.line.width)&&n.select(this).attr(\"shape-rendering\",\"crispEdges\")})),e.selectAll(\"g.points\").each((function(e){d(n.select(this),e[0].trace,t)})),s.getComponentMethod(\"errorbars\",\"style\")(e)},styleTextPoints:m,styleOnSelect:function(t,e,r){var i=e[0].trace;i.selectedpoints?function(t,e,r){a.selectedPointStyle(t.selectAll(\"path\"),e),function(t,e,r){t.each((function(t){var i,s=n.select(this);if(t.selected){i=o.ensureUniformFontSize(r,g(s,t,e,r));var l=e.selected.textfont&&e.selected.textfont.color;l&&(i.color=l),a.font(s,i)}else a.selectedTextStyle(s,e)}))}(t.selectAll(\"text\"),e,r)}(r,i,t):(d(r,i,t),s.getComponentMethod(\"errorbars\",\"style\")(r))},getInsideTextFont:y,getOutsideTextFont:x,getBarColor:_,resizeText:l}},{\"../../components/color\":367,\"../../components/drawing\":389,\"../../lib\":515,\"../../registry\":647,\"./attributes\":657,\"./helpers\":663,\"./uniform_text\":673,\"@plotly/d3\":58}],672:[function(t,e,r){\"use strict\";var n=t(\"../../components/color\"),i=t(\"../../components/colorscale/helpers\").hasColorscale,a=t(\"../../components/colorscale/defaults\"),o=t(\"../../lib\").coercePattern;e.exports=function(t,e,r,s,l){var c=r(\"marker.color\",s),u=i(t,\"marker\");u&&a(t,e,l,r,{prefix:\"marker.\",cLetter:\"c\"}),r(\"marker.line.color\",n.defaultLine),i(t,\"marker.line\")&&a(t,e,l,r,{prefix:\"marker.line.\",cLetter:\"c\"}),r(\"marker.line.width\"),r(\"marker.opacity\"),o(r,\"marker.pattern\",c,u),r(\"selected.marker.color\"),r(\"unselected.marker.color\")}},{\"../../components/color\":367,\"../../components/colorscale/defaults\":377,\"../../components/colorscale/helpers\":378,\"../../lib\":515}],673:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\"),i=t(\"../../lib\");function a(t){return\"_\"+t+\"Text_minsize\"}e.exports={recordMinTextSize:function(t,e,r){if(r.uniformtext.mode){var n=a(t),i=r.uniformtext.minsize,o=e.scale*e.fontSize;e.hide=o g.point\"}e.selectAll(s).each((function(t){var e=t.transform;if(e){e.scale=l&&e.hide?0:o/e.fontSize;var r=n.select(this).select(\"text\");i.setTransormAndDisplay(r,e)}}))}}}},{\"../../lib\":515,\"@plotly/d3\":58}],674:[function(t,e,r){\"use strict\";var n=t(\"../../plots/template_attributes\").hovertemplateAttrs,i=t(\"../../lib/extend\").extendFlat,a=t(\"../scatterpolar/attributes\"),o=t(\"../bar/attributes\");e.exports={r:a.r,theta:a.theta,r0:a.r0,dr:a.dr,theta0:a.theta0,dtheta:a.dtheta,thetaunit:a.thetaunit,base:i({},o.base,{}),offset:i({},o.offset,{}),width:i({},o.width,{}),text:i({},o.text,{}),hovertext:i({},o.hovertext,{}),marker:o.marker,hoverinfo:a.hoverinfo,hovertemplate:n(),selected:o.selected,unselected:o.unselected}},{\"../../lib/extend\":505,\"../../plots/template_attributes\":642,\"../bar/attributes\":657,\"../scatterpolar/attributes\":1011}],675:[function(t,e,r){\"use strict\";var n=t(\"../../components/colorscale/helpers\").hasColorscale,i=t(\"../../components/colorscale/calc\"),a=t(\"../bar/arrays_to_calcdata\"),o=t(\"../bar/cross_trace_calc\").setGroupPositions,s=t(\"../scatter/calc_selection\"),l=t(\"../../registry\").traceIs,c=t(\"../../lib\").extendFlat;e.exports={calc:function(t,e){for(var r=t._fullLayout,o=e.subplot,l=r[o].radialaxis,c=r[o].angularaxis,u=l.makeCalcdata(e,\"r\"),f=c.makeCalcdata(e,\"theta\"),h=e._length,p=new Array(h),d=u,m=f,g=0;gh.range[1]&&(x+=Math.PI);if(n.getClosest(c,(function(t){return m(y,x,[t.rp0,t.rp1],[t.thetag0,t.thetag1],d)?g+Math.min(1,Math.abs(t.thetag1-t.thetag0)/v)-1+(t.rp1-y)/(t.rp1-t.rp0)-1:1/0}),t),!1!==t.index){var b=c[t.index];t.x0=t.x1=b.ct[0],t.y0=t.y1=b.ct[1];var _=i.extendFlat({},b,{r:b.s,theta:b.p});return o(b,u,t),s(_,u,f,t),t.hovertemplate=u.hovertemplate,t.color=a(u,b),t.xLabelVal=t.yLabelVal=void 0,b.s<0&&(t.idealAlign=\"left\"),[t]}}},{\"../../components/fx\":407,\"../../lib\":515,\"../../plots/polar/helpers\":630,\"../bar/hover\":664,\"../scatterpolar/hover\":1015}],678:[function(t,e,r){\"use strict\";e.exports={moduleType:\"trace\",name:\"barpolar\",basePlotModule:t(\"../../plots/polar\"),categories:[\"polar\",\"bar\",\"showLegend\"],attributes:t(\"./attributes\"),layoutAttributes:t(\"./layout_attributes\"),supplyDefaults:t(\"./defaults\"),supplyLayoutDefaults:t(\"./layout_defaults\"),calc:t(\"./calc\").calc,crossTraceCalc:t(\"./calc\").crossTraceCalc,plot:t(\"./plot\"),colorbar:t(\"../scatter/marker_colorbar\"),formatLabels:t(\"../scatterpolar/format_labels\"),style:t(\"../bar/style\").style,styleOnSelect:t(\"../bar/style\").styleOnSelect,hoverPoints:t(\"./hover\"),selectPoints:t(\"../bar/select\"),meta:{}}},{\"../../plots/polar\":631,\"../bar/select\":669,\"../bar/style\":671,\"../scatter/marker_colorbar\":954,\"../scatterpolar/format_labels\":1014,\"./attributes\":674,\"./calc\":675,\"./defaults\":676,\"./hover\":677,\"./layout_attributes\":679,\"./layout_defaults\":680,\"./plot\":681}],679:[function(t,e,r){\"use strict\";e.exports={barmode:{valType:\"enumerated\",values:[\"stack\",\"overlay\"],dflt:\"stack\",editType:\"calc\"},bargap:{valType:\"number\",dflt:.1,min:0,max:1,editType:\"calc\"}}},{}],680:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"./layout_attributes\");e.exports=function(t,e,r){var a,o={};function s(r,o){return n.coerce(t[a]||{},e[a],i,r,o)}for(var l=0;l0?(c=o,u=l):(c=l,u=o);var f=[s.findEnclosingVertexAngles(c,t.vangles)[0],(c+u)/2,s.findEnclosingVertexAngles(u,t.vangles)[1]];return s.pathPolygonAnnulus(n,i,c,u,f,e,r)};return function(t,n,i,o){return a.pathAnnulus(t,n,i,o,e,r)}}(e),p=e.layers.frontplot.select(\"g.barlayer\");a.makeTraceGroups(p,r,\"trace bars\").each((function(){var r=n.select(this),s=a.ensureSingle(r,\"g\",\"points\").selectAll(\"g.point\").data(a.identity);s.enter().append(\"g\").style(\"vector-effect\",\"non-scaling-stroke\").style(\"stroke-miterlimit\",2).classed(\"point\",!0),s.exit().remove(),s.each((function(t){var e,r=n.select(this),o=t.rp0=u.c2p(t.s0),s=t.rp1=u.c2p(t.s1),p=t.thetag0=f.c2g(t.p0),d=t.thetag1=f.c2g(t.p1);if(i(o)&&i(s)&&i(p)&&i(d)&&o!==s&&p!==d){var m=u.c2g(t.s1),g=(p+d)/2;t.ct=[l.c2p(m*Math.cos(g)),c.c2p(m*Math.sin(g))],e=h(o,s,p,d)}else e=\"M0,0Z\";a.ensureSingle(r,\"path\").attr(\"d\",e)})),o.setClipUrl(r,e._hasClipOnAxisFalse?e.clipIds.forTraces:null,t)}))}},{\"../../components/drawing\":389,\"../../lib\":515,\"../../plots/polar/helpers\":630,\"@plotly/d3\":58,\"fast-isnumeric\":190}],682:[function(t,e,r){\"use strict\";var n=t(\"../scatter/attributes\"),i=t(\"../bar/attributes\"),a=t(\"../../components/color/attributes\"),o=t(\"../../plots/cartesian/axis_format_attributes\").axisHoverFormat,s=t(\"../../plots/template_attributes\").hovertemplateAttrs,l=t(\"../../lib/extend\").extendFlat,c=n.marker,u=c.line;e.exports={y:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},x:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},x0:{valType:\"any\",editType:\"calc+clearAxisTypes\"},y0:{valType:\"any\",editType:\"calc+clearAxisTypes\"},dx:{valType:\"number\",editType:\"calc\"},dy:{valType:\"number\",editType:\"calc\"},xperiod:n.xperiod,yperiod:n.yperiod,xperiod0:n.xperiod0,yperiod0:n.yperiod0,xperiodalignment:n.xperiodalignment,yperiodalignment:n.yperiodalignment,xhoverformat:o(\"x\"),yhoverformat:o(\"y\"),name:{valType:\"string\",editType:\"calc+clearAxisTypes\"},q1:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},median:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},q3:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},lowerfence:{valType:\"data_array\",editType:\"calc\"},upperfence:{valType:\"data_array\",editType:\"calc\"},notched:{valType:\"boolean\",editType:\"calc\"},notchwidth:{valType:\"number\",min:0,max:.5,dflt:.25,editType:\"calc\"},notchspan:{valType:\"data_array\",editType:\"calc\"},boxpoints:{valType:\"enumerated\",values:[\"all\",\"outliers\",\"suspectedoutliers\",!1],editType:\"calc\"},jitter:{valType:\"number\",min:0,max:1,editType:\"calc\"},pointpos:{valType:\"number\",min:-2,max:2,editType:\"calc\"},boxmean:{valType:\"enumerated\",values:[!0,\"sd\",!1],editType:\"calc\"},mean:{valType:\"data_array\",editType:\"calc\"},sd:{valType:\"data_array\",editType:\"calc\"},orientation:{valType:\"enumerated\",values:[\"v\",\"h\"],editType:\"calc+clearAxisTypes\"},quartilemethod:{valType:\"enumerated\",values:[\"linear\",\"exclusive\",\"inclusive\"],dflt:\"linear\",editType:\"calc\"},width:{valType:\"number\",min:0,dflt:0,editType:\"calc\"},marker:{outliercolor:{valType:\"color\",dflt:\"rgba(0, 0, 0, 0)\",editType:\"style\"},symbol:l({},c.symbol,{arrayOk:!1,editType:\"plot\"}),opacity:l({},c.opacity,{arrayOk:!1,dflt:1,editType:\"style\"}),angle:l({},c.angle,{arrayOk:!1,editType:\"calc\"}),size:l({},c.size,{arrayOk:!1,editType:\"calc\"}),color:l({},c.color,{arrayOk:!1,editType:\"style\"}),line:{color:l({},u.color,{arrayOk:!1,dflt:a.defaultLine,editType:\"style\"}),width:l({},u.width,{arrayOk:!1,dflt:0,editType:\"style\"}),outliercolor:{valType:\"color\",editType:\"style\"},outlierwidth:{valType:\"number\",min:0,dflt:1,editType:\"style\"},editType:\"style\"},editType:\"plot\"},line:{color:{valType:\"color\",editType:\"style\"},width:{valType:\"number\",min:0,dflt:2,editType:\"style\"},editType:\"plot\"},fillcolor:n.fillcolor,whiskerwidth:{valType:\"number\",min:0,max:1,dflt:.5,editType:\"calc\"},offsetgroup:i.offsetgroup,alignmentgroup:i.alignmentgroup,selected:{marker:n.selected.marker,editType:\"style\"},unselected:{marker:n.unselected.marker,editType:\"style\"},text:l({},n.text,{}),hovertext:l({},n.hovertext,{}),hovertemplate:s({}),hoveron:{valType:\"flaglist\",flags:[\"boxes\",\"points\"],dflt:\"boxes+points\",editType:\"style\"}}},{\"../../components/color/attributes\":366,\"../../lib/extend\":505,\"../../plots/cartesian/axis_format_attributes\":569,\"../../plots/template_attributes\":642,\"../bar/attributes\":657,\"../scatter/attributes\":936}],683:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"../../plots/cartesian/axes\"),a=t(\"../../plots/cartesian/align_period\"),o=t(\"../../lib\"),s=t(\"../../constants/numerical\").BADNUM,l=o._;e.exports=function(t,e){var r,c,y,x,b,_,w,T=t._fullLayout,k=i.getFromId(t,e.xaxis||\"x\"),A=i.getFromId(t,e.yaxis||\"y\"),M=[],S=\"violin\"===e.type?\"_numViolins\":\"_numBoxes\";\"h\"===e.orientation?(y=k,x=\"x\",b=A,_=\"y\",w=!!e.yperiodalignment):(y=A,x=\"y\",b=k,_=\"x\",w=!!e.xperiodalignment);var E,L,C,P,I,O,z=function(t,e,r,i){var s,l=e+\"0\"in t,c=\"d\"+e in t;if(e in t||l&&c){var u=r.makeCalcdata(t,e);return[a(t,r,e,u).vals,u]}s=l?t[e+\"0\"]:\"name\"in t&&(\"category\"===r.type||n(t.name)&&-1!==[\"linear\",\"log\"].indexOf(r.type)||o.isDateTime(t.name)&&\"date\"===r.type)?t.name:i;for(var f=\"multicategory\"===r.type?r.r2c_just_indices(s):r.d2c(s,0,t[e+\"calendar\"]),h=t._length,p=new Array(h),d=0;dE.uf};if(e._hasPreCompStats){var U=e[x],V=function(t){return y.d2c((e[t]||[])[r])},H=1/0,q=-1/0;for(r=0;r=E.q1&&E.q3>=E.med){var Y=V(\"lowerfence\");E.lf=Y!==s&&Y<=E.q1?Y:p(E,C,P);var W=V(\"upperfence\");E.uf=W!==s&&W>=E.q3?W:d(E,C,P);var Z=V(\"mean\");E.mean=Z!==s?Z:P?o.mean(C,P):(E.q1+E.q3)/2;var X=V(\"sd\");E.sd=Z!==s&&X>=0?X:P?o.stdev(C,P,E.mean):E.q3-E.q1,E.lo=m(E),E.uo=g(E);var J=V(\"notchspan\");J=J!==s&&J>0?J:v(E,P),E.ln=E.med-J,E.un=E.med+J;var K=E.lf,Q=E.uf;e.boxpoints&&C.length&&(K=Math.min(K,C[0]),Q=Math.max(Q,C[P-1])),e.notched&&(K=Math.min(K,E.ln),Q=Math.max(Q,E.un)),E.min=K,E.max=Q}else{var $;o.warn([\"Invalid input - make sure that q1 <= median <= q3\",\"q1 = \"+E.q1,\"median = \"+E.med,\"q3 = \"+E.q3].join(\"\\n\")),$=E.med!==s?E.med:E.q1!==s?E.q3!==s?(E.q1+E.q3)/2:E.q1:E.q3!==s?E.q3:0,E.med=$,E.q1=E.q3=$,E.lf=E.uf=$,E.mean=E.sd=$,E.ln=E.un=$,E.min=E.max=$}H=Math.min(H,E.min),q=Math.max(q,E.max),E.pts2=L.filter(j),M.push(E)}}e._extremes[y._id]=i.findExtremes(y,[H,q],{padded:!0})}else{var tt=y.makeCalcdata(e,x),et=function(t,e){for(var r=t.length,n=new Array(r+1),i=0;i=0&&it0){var ut,ft;if((E={}).pos=E[_]=B[r],L=E.pts=nt[r].sort(f),P=(C=E[x]=L.map(h)).length,E.min=C[0],E.max=C[P-1],E.mean=o.mean(C,P),E.sd=o.stdev(C,P,E.mean),E.med=o.interp(C,.5),P%2&&(lt||ct))lt?(ut=C.slice(0,P/2),ft=C.slice(P/2+1)):ct&&(ut=C.slice(0,P/2+1),ft=C.slice(P/2)),E.q1=o.interp(ut,.5),E.q3=o.interp(ft,.5);else E.q1=o.interp(C,.25),E.q3=o.interp(C,.75);E.lf=p(E,C,P),E.uf=d(E,C,P),E.lo=m(E),E.uo=g(E);var ht=v(E,P);E.ln=E.med-ht,E.un=E.med+ht,at=Math.min(at,E.ln),ot=Math.max(ot,E.un),E.pts2=L.filter(j),M.push(E)}e._extremes[y._id]=i.findExtremes(y,e.notched?tt.concat([at,ot]):tt,{padded:!0})}return function(t,e){if(o.isArrayOrTypedArray(e.selectedpoints))for(var r=0;r0?(M[0].t={num:T[S],dPos:N,posLetter:_,valLetter:x,labels:{med:l(t,\"median:\"),min:l(t,\"min:\"),q1:l(t,\"q1:\"),q3:l(t,\"q3:\"),max:l(t,\"max:\"),mean:\"sd\"===e.boxmean?l(t,\"mean \\xb1 \\u03c3:\"):l(t,\"mean:\"),lf:l(t,\"lower fence:\"),uf:l(t,\"upper fence:\")}},T[S]++,M):[{t:{empty:!0}}]};var c={text:\"tx\",hovertext:\"htx\"};function u(t,e,r){for(var n in c)o.isArrayOrTypedArray(e[n])&&(Array.isArray(r)?o.isArrayOrTypedArray(e[n][r[0]])&&(t[c[n]]=e[n][r[0]][r[1]]):t[c[n]]=e[n][r])}function f(t,e){return t.v-e.v}function h(t){return t.v}function p(t,e,r){return 0===r?t.q1:Math.min(t.q1,e[Math.min(o.findBin(2.5*t.q1-1.5*t.q3,e,!0)+1,r-1)])}function d(t,e,r){return 0===r?t.q3:Math.max(t.q3,e[Math.max(o.findBin(2.5*t.q3-1.5*t.q1,e),0)])}function m(t){return 4*t.q1-3*t.q3}function g(t){return 4*t.q3-3*t.q1}function v(t,e){return 0===e?0:1.57*(t.q3-t.q1)/Math.sqrt(e)}},{\"../../constants/numerical\":491,\"../../lib\":515,\"../../plots/cartesian/align_period\":563,\"../../plots/cartesian/axes\":566,\"fast-isnumeric\":190}],684:[function(t,e,r){\"use strict\";var n=t(\"../../plots/cartesian/axes\"),i=t(\"../../lib\"),a=t(\"../../plots/cartesian/constraints\").getAxisGroup,o=[\"v\",\"h\"];function s(t,e,r,o){var s,l,c,u=e.calcdata,f=e._fullLayout,h=o._id,p=h.charAt(0),d=[],m=0;for(s=0;s1,b=1-f[t+\"gap\"],_=1-f[t+\"groupgap\"];for(s=0;s0){var q=E.pointpos,G=E.jitter,Y=E.marker.size/2,W=0;q+G>=0&&((W=V*(q+G))>M?(H=!0,j=Y,B=W):W>R&&(j=Y,B=M)),W<=M&&(B=M);var Z=0;q-G<=0&&((Z=-V*(q-G))>S?(H=!0,U=Y,N=Z):Z>F&&(U=Y,N=S)),Z<=S&&(N=S)}else B=M,N=S;var X=new Array(c.length);for(l=0;l0?(g=\"v\",v=x>0?Math.min(_,b):Math.min(b)):x>0?(g=\"h\",v=Math.min(_)):v=0;if(v){e._length=v;var S=r(\"orientation\",g);e._hasPreCompStats?\"v\"===S&&0===x?(r(\"x0\",0),r(\"dx\",1)):\"h\"===S&&0===y&&(r(\"y0\",0),r(\"dy\",1)):\"v\"===S&&0===x?r(\"x0\"):\"h\"===S&&0===y&&r(\"y0\"),i.getComponentMethod(\"calendars\",\"handleTraceDefaults\")(t,e,[\"x\",\"y\"],a)}else e.visible=!1}function f(t,e,r,i){var a=i.prefix,o=n.coerce2(t,e,c,\"marker.outliercolor\"),s=r(\"marker.line.outliercolor\"),l=\"outliers\";e._hasPreCompStats?l=\"all\":(o||s)&&(l=\"suspectedoutliers\");var u=r(a+\"points\",l);u?(r(\"jitter\",\"all\"===u?.3:0),r(\"pointpos\",\"all\"===u?-1.5:0),r(\"marker.symbol\"),r(\"marker.opacity\"),r(\"marker.size\"),r(\"marker.angle\"),r(\"marker.color\",e.line.color),r(\"marker.line.color\"),r(\"marker.line.width\"),\"suspectedoutliers\"===u&&(r(\"marker.line.outliercolor\",e.marker.color),r(\"marker.line.outlierwidth\")),r(\"selected.marker.color\"),r(\"unselected.marker.color\"),r(\"selected.marker.size\"),r(\"unselected.marker.size\"),r(\"text\"),r(\"hovertext\")):delete e.marker;var f=r(\"hoveron\");\"all\"!==f&&-1===f.indexOf(\"points\")||r(\"hovertemplate\"),n.coerceSelectionMarkerOpacity(e,r)}e.exports={supplyDefaults:function(t,e,r,i){function s(r,i){return n.coerce(t,e,c,r,i)}if(u(t,e,s,i),!1!==e.visible){o(t,e,i,s),s(\"xhoverformat\"),s(\"yhoverformat\");var l=e._hasPreCompStats;l&&(s(\"lowerfence\"),s(\"upperfence\")),s(\"line.color\",(t.marker||{}).color||r),s(\"line.width\"),s(\"fillcolor\",a.addOpacity(e.line.color,.5));var h=!1;if(l){var p=s(\"mean\"),d=s(\"sd\");p&&p.length&&(h=!0,d&&d.length&&(h=\"sd\"))}s(\"boxmean\",h),s(\"whiskerwidth\"),s(\"width\"),s(\"quartilemethod\");var m=!1;if(l){var g=s(\"notchspan\");g&&g.length&&(m=!0)}else n.validate(t.notchwidth,c.notchwidth)&&(m=!0);s(\"notched\",m)&&s(\"notchwidth\"),f(t,e,s,{prefix:\"box\"})}},crossTraceDefaults:function(t,e){var r,i;function a(t){return n.coerce(i._input,i,c,t)}for(var o=0;ot.lo&&(x.so=!0)}return a}));h.enter().append(\"path\").classed(\"point\",!0),h.exit().remove(),h.call(a.translatePoints,o,s)}function l(t,e,r,a){var o,s,l=e.val,c=e.pos,u=!!c.rangebreaks,f=a.bPos,h=a.bPosPxOffset||0,p=r.boxmean||(r.meanline||{}).visible;Array.isArray(a.bdPos)?(o=a.bdPos[0],s=a.bdPos[1]):(o=a.bdPos,s=a.bdPos);var d=t.selectAll(\"path.mean\").data(\"box\"===r.type&&r.boxmean||\"violin\"===r.type&&r.box.visible&&r.meanline.visible?i.identity:[]);d.enter().append(\"path\").attr(\"class\",\"mean\").style({fill:\"none\",\"vector-effect\":\"non-scaling-stroke\"}),d.exit().remove(),d.each((function(t){var e=c.c2l(t.pos+f,!0),i=c.l2p(e-o)+h,a=c.l2p(e+s)+h,d=u?(i+a)/2:c.l2p(e)+h,m=l.c2p(t.mean,!0),g=l.c2p(t.mean-t.sd,!0),v=l.c2p(t.mean+t.sd,!0);\"h\"===r.orientation?n.select(this).attr(\"d\",\"M\"+m+\",\"+i+\"V\"+a+(\"sd\"===p?\"m0,0L\"+g+\",\"+d+\"L\"+m+\",\"+i+\"L\"+v+\",\"+d+\"Z\":\"\")):n.select(this).attr(\"d\",\"M\"+i+\",\"+m+\"H\"+a+(\"sd\"===p?\"m0,0L\"+d+\",\"+g+\"L\"+i+\",\"+m+\"L\"+d+\",\"+v+\"Z\":\"\"))}))}e.exports={plot:function(t,e,r,a){var c=e.xaxis,u=e.yaxis;i.makeTraceGroups(a,r,\"trace boxes\").each((function(t){var e,r,i=n.select(this),a=t[0],f=a.t,h=a.trace;(f.wdPos=f.bdPos*h.whiskerwidth,!0!==h.visible||f.empty)?i.remove():(\"h\"===h.orientation?(e=u,r=c):(e=c,r=u),o(i,{pos:e,val:r},h,f),s(i,{x:c,y:u},h,f),l(i,{pos:e,val:r},h,f))}))},plotBoxAndWhiskers:o,plotPoints:s,plotBoxMean:l}},{\"../../components/drawing\":389,\"../../lib\":515,\"@plotly/d3\":58}],692:[function(t,e,r){\"use strict\";e.exports=function(t,e){var r,n,i=t.cd,a=t.xaxis,o=t.yaxis,s=[];if(!1===e)for(r=0;r=10)return null;for(var i=1/0,a=-1/0,o=e.length,s=0;s0?Math.floor:Math.ceil,I=L>0?Math.ceil:Math.floor,O=L>0?Math.min:Math.max,z=L>0?Math.max:Math.min,D=P(S+C),R=I(E-C),F=[[f=M(S)]];for(a=D;a*L=0;i--)a[u-i]=t[f][i],o[u-i]=e[f][i];for(s.push({x:a,y:o,bicubic:l}),i=f,a=[],o=[];i>=0;i--)a[f-i]=t[i][0],o[f-i]=e[i][0];return s.push({x:a,y:o,bicubic:c}),s}},{}],706:[function(t,e,r){\"use strict\";var n=t(\"../../plots/cartesian/axes\"),i=t(\"../../lib/extend\").extendFlat;e.exports=function(t,e,r){var a,o,s,l,c,u,f,h,p,d,m,g,v,y,x=t[\"_\"+e],b=t[e+\"axis\"],_=b._gridlines=[],w=b._minorgridlines=[],T=b._boundarylines=[],k=t[\"_\"+r],A=t[r+\"axis\"];\"array\"===b.tickmode&&(b.tickvals=x.slice());var M=t._xctrl,S=t._yctrl,E=M[0].length,L=M.length,C=t._a.length,P=t._b.length;n.prepTicks(b),\"array\"===b.tickmode&&delete b.tickvals;var I=b.smoothing?3:1;function O(n){var i,a,o,s,l,c,u,f,p,d,m,g,v=[],y=[],x={};if(\"b\"===e)for(a=t.b2j(n),o=Math.floor(Math.max(0,Math.min(P-2,a))),s=a-o,x.length=P,x.crossLength=C,x.xy=function(e){return t.evalxy([],e,a)},x.dxy=function(e,r){return t.dxydi([],e,o,r,s)},i=0;i0&&(p=t.dxydi([],i-1,o,0,s),v.push(l[0]+p[0]/3),y.push(l[1]+p[1]/3),d=t.dxydi([],i-1,o,1,s),v.push(f[0]-d[0]/3),y.push(f[1]-d[1]/3)),v.push(f[0]),y.push(f[1]),l=f;else for(i=t.a2i(n),c=Math.floor(Math.max(0,Math.min(C-2,i))),u=i-c,x.length=C,x.crossLength=P,x.xy=function(e){return t.evalxy([],i,e)},x.dxy=function(e,r){return t.dxydj([],c,e,u,r)},a=0;a0&&(m=t.dxydj([],c,a-1,u,0),v.push(l[0]+m[0]/3),y.push(l[1]+m[1]/3),g=t.dxydj([],c,a-1,u,1),v.push(f[0]-g[0]/3),y.push(f[1]-g[1]/3)),v.push(f[0]),y.push(f[1]),l=f;return x.axisLetter=e,x.axis=b,x.crossAxis=A,x.value=n,x.constvar=r,x.index=h,x.x=v,x.y=y,x.smoothing=A.smoothing,x}function z(n){var i,a,o,s,l,c=[],u=[],f={};if(f.length=x.length,f.crossLength=k.length,\"b\"===e)for(o=Math.max(0,Math.min(P-2,n)),l=Math.min(1,Math.max(0,n-o)),f.xy=function(e){return t.evalxy([],e,n)},f.dxy=function(e,r){return t.dxydi([],e,o,r,l)},i=0;ix.length-1||_.push(i(z(o),{color:b.gridcolor,width:b.gridwidth,dash:b.griddash}));for(h=u;hx.length-1||m<0||m>x.length-1))for(g=x[s],v=x[m],a=0;ax[x.length-1]||w.push(i(O(d),{color:b.minorgridcolor,width:b.minorgridwidth,dash:b.minorgriddash}));b.startline&&T.push(i(z(0),{color:b.startlinecolor,width:b.startlinewidth})),b.endline&&T.push(i(z(x.length-1),{color:b.endlinecolor,width:b.endlinewidth}))}else{for(l=5e-15,u=(c=[Math.floor((x[x.length-1]-b.tick0)/b.dtick*(1+l)),Math.ceil((x[0]-b.tick0)/b.dtick/(1+l))].sort((function(t,e){return t-e})))[0],f=c[1],h=u;h<=f;h++)p=b.tick0+b.dtick*h,_.push(i(O(p),{color:b.gridcolor,width:b.gridwidth,dash:b.griddash}));for(h=u-1;hx[x.length-1]||w.push(i(O(d),{color:b.minorgridcolor,width:b.minorgridwidth,dash:b.minorgriddash}));b.startline&&T.push(i(O(x[0]),{color:b.startlinecolor,width:b.startlinewidth})),b.endline&&T.push(i(O(x[x.length-1]),{color:b.endlinecolor,width:b.endlinewidth}))}}},{\"../../lib/extend\":505,\"../../plots/cartesian/axes\":566}],707:[function(t,e,r){\"use strict\";var n=t(\"../../plots/cartesian/axes\"),i=t(\"../../lib/extend\").extendFlat;e.exports=function(t,e){var r,a,o,s=e._labels=[],l=e._gridlines;for(r=0;re.length&&(t=t.slice(0,e.length)):t=[],i=0;i90&&(p-=180,l=-l),{angle:p,flip:l,p:t.c2p(n,e,r),offsetMultplier:c}}},{}],721:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\"),i=t(\"../../components/drawing\"),a=t(\"./map_1d_array\"),o=t(\"./makepath\"),s=t(\"./orient_text\"),l=t(\"../../lib/svg_text_utils\"),c=t(\"../../lib\"),u=c.strRotate,f=c.strTranslate,h=t(\"../../constants/alignment\");function p(t,e,r,s,l,c){var u=\"const-\"+l+\"-lines\",f=r.selectAll(\".\"+u).data(c);f.enter().append(\"path\").classed(u,!0).style(\"vector-effect\",\"non-scaling-stroke\"),f.each((function(r){var s=r,l=s.x,c=s.y,u=a([],l,t.c2p),f=a([],c,e.c2p),h=\"M\"+o(u,f,s.smoothing);n.select(this).attr(\"d\",h).style(\"stroke-width\",s.width).style(\"stroke\",s.color).style(\"stroke-dasharray\",i.dashStyle(s.dash,s.width)).style(\"fill\",\"none\")})),f.exit().remove()}function d(t,e,r,a,o,c,h,p){var d=c.selectAll(\"text.\"+p).data(h);d.enter().append(\"text\").classed(p,!0);var m=0,g={};return d.each((function(o,c){var h;if(\"auto\"===o.axis.tickangle)h=s(a,e,r,o.xy,o.dxy);else{var p=(o.axis.tickangle+180)*Math.PI/180;h=s(a,e,r,o.xy,[Math.cos(p),Math.sin(p)])}c||(g={angle:h.angle,flip:h.flip});var d=(o.endAnchor?-1:1)*h.flip,v=n.select(this).attr({\"text-anchor\":d>0?\"start\":\"end\",\"data-notex\":1}).call(i.font,o.font).text(o.text).call(l.convertToTspans,t),y=i.bBox(this);v.attr(\"transform\",f(h.p[0],h.p[1])+u(h.angle)+f(o.axis.labelpadding*d,.3*y.height)),m=Math.max(m,y.width+o.axis.labelpadding)})),d.exit().remove(),g.maxExtent=m,g}e.exports=function(t,e,r,i){var l=e.xaxis,u=e.yaxis,f=t._fullLayout._clips;c.makeTraceGroups(i,r,\"trace\").each((function(e){var r=n.select(this),i=e[0],h=i.trace,m=h.aaxis,g=h.baxis,y=c.ensureSingle(r,\"g\",\"minorlayer\"),x=c.ensureSingle(r,\"g\",\"majorlayer\"),b=c.ensureSingle(r,\"g\",\"boundarylayer\"),_=c.ensureSingle(r,\"g\",\"labellayer\");r.style(\"opacity\",h.opacity),p(l,u,x,m,\"a\",m._gridlines),p(l,u,x,g,\"b\",g._gridlines),p(l,u,y,m,\"a\",m._minorgridlines),p(l,u,y,g,\"b\",g._minorgridlines),p(l,u,b,m,\"a-boundary\",m._boundarylines),p(l,u,b,g,\"b-boundary\",g._boundarylines);var w=d(t,l,u,h,i,_,m._labels,\"a-label\"),T=d(t,l,u,h,i,_,g._labels,\"b-label\");!function(t,e,r,n,i,a,o,l){var u,f,h,p,d=c.aggNums(Math.min,null,r.a),m=c.aggNums(Math.max,null,r.a),g=c.aggNums(Math.min,null,r.b),y=c.aggNums(Math.max,null,r.b);u=.5*(d+m),f=g,h=r.ab2xy(u,f,!0),p=r.dxyda_rough(u,f),void 0===o.angle&&c.extendFlat(o,s(r,i,a,h,r.dxydb_rough(u,f)));v(t,e,r,n,h,p,r.aaxis,i,a,o,\"a-title\"),u=d,f=.5*(g+y),h=r.ab2xy(u,f,!0),p=r.dxydb_rough(u,f),void 0===l.angle&&c.extendFlat(l,s(r,i,a,h,r.dxyda_rough(u,f)));v(t,e,r,n,h,p,r.baxis,i,a,l,\"b-title\")}(t,_,h,i,l,u,w,T),function(t,e,r,n,i){var s,l,u,f,h=r.select(\"#\"+t._clipPathId);h.size()||(h=r.append(\"clipPath\").classed(\"carpetclip\",!0));var p=c.ensureSingle(h,\"path\",\"carpetboundary\"),d=e.clipsegments,m=[];for(f=0;f90&&y<270,b=n.select(this);b.text(h.title.text).call(l.convertToTspans,t),x&&(_=(-l.lineCount(b)+g)*m*a-_),b.attr(\"transform\",f(e.p[0],e.p[1])+u(e.angle)+f(0,_)).attr(\"text-anchor\",\"middle\").call(i.font,h.title.font)})),b.exit().remove()}},{\"../../components/drawing\":389,\"../../constants/alignment\":483,\"../../lib\":515,\"../../lib/svg_text_utils\":541,\"./makepath\":718,\"./map_1d_array\":719,\"./orient_text\":720,\"@plotly/d3\":58}],722:[function(t,e,r){\"use strict\";var n=t(\"./constants\"),i=t(\"../../lib/search\").findBin,a=t(\"./compute_control_points\"),o=t(\"./create_spline_evaluator\"),s=t(\"./create_i_derivative_evaluator\"),l=t(\"./create_j_derivative_evaluator\");e.exports=function(t){var e=t._a,r=t._b,c=e.length,u=r.length,f=t.aaxis,h=t.baxis,p=e[0],d=e[c-1],m=r[0],g=r[u-1],v=e[e.length-1]-e[0],y=r[r.length-1]-r[0],x=v*n.RELATIVE_CULL_TOLERANCE,b=y*n.RELATIVE_CULL_TOLERANCE;p-=x,d+=x,m-=b,g+=b,t.isVisible=function(t,e){return t>p&&tm&&ed||eg},t.setScale=function(){var e=t._x,r=t._y,n=a(t._xctrl,t._yctrl,e,r,f.smoothing,h.smoothing);t._xctrl=n[0],t._yctrl=n[1],t.evalxy=o([t._xctrl,t._yctrl],c,u,f.smoothing,h.smoothing),t.dxydi=s([t._xctrl,t._yctrl],f.smoothing,h.smoothing),t.dxydj=l([t._xctrl,t._yctrl],f.smoothing,h.smoothing)},t.i2a=function(t){var r=Math.max(0,Math.floor(t[0]),c-2),n=t[0]-r;return(1-n)*e[r]+n*e[r+1]},t.j2b=function(t){var e=Math.max(0,Math.floor(t[1]),c-2),n=t[1]-e;return(1-n)*r[e]+n*r[e+1]},t.ij2ab=function(e){return[t.i2a(e[0]),t.j2b(e[1])]},t.a2i=function(t){var r=Math.max(0,Math.min(i(t,e),c-2)),n=e[r],a=e[r+1];return Math.max(0,Math.min(c-1,r+(t-n)/(a-n)))},t.b2j=function(t){var e=Math.max(0,Math.min(i(t,r),u-2)),n=r[e],a=r[e+1];return Math.max(0,Math.min(u-1,e+(t-n)/(a-n)))},t.ab2ij=function(e){return[t.a2i(e[0]),t.b2j(e[1])]},t.i2c=function(e,r){return t.evalxy([],e,r)},t.ab2xy=function(n,i,a){if(!a&&(ne[c-1]|ir[u-1]))return[!1,!1];var o=t.a2i(n),s=t.b2j(i),l=t.evalxy([],o,s);if(a){var f,h,p,d,m=0,g=0,v=[];ne[c-1]?(f=c-2,h=1,m=(n-e[c-1])/(e[c-1]-e[c-2])):h=o-(f=Math.max(0,Math.min(c-2,Math.floor(o)))),ir[u-1]?(p=u-2,d=1,g=(i-r[u-1])/(r[u-1]-r[u-2])):d=s-(p=Math.max(0,Math.min(u-2,Math.floor(s)))),m&&(t.dxydi(v,f,p,h,d),l[0]+=v[0]*m,l[1]+=v[1]*m),g&&(t.dxydj(v,f,p,h,d),l[0]+=v[0]*g,l[1]+=v[1]*g)}return l},t.c2p=function(t,e,r){return[e.c2p(t[0]),r.c2p(t[1])]},t.p2x=function(t,e,r){return[e.p2c(t[0]),r.p2c(t[1])]},t.dadi=function(t){var r=Math.max(0,Math.min(e.length-2,t));return e[r+1]-e[r]},t.dbdj=function(t){var e=Math.max(0,Math.min(r.length-2,t));return r[e+1]-r[e]},t.dxyda=function(e,r,n,i){var a=t.dxydi(null,e,r,n,i),o=t.dadi(e,n);return[a[0]/o,a[1]/o]},t.dxydb=function(e,r,n,i){var a=t.dxydj(null,e,r,n,i),o=t.dbdj(r,i);return[a[0]/o,a[1]/o]},t.dxyda_rough=function(e,r,n){var i=v*(n||.1),a=t.ab2xy(e+i,r,!0),o=t.ab2xy(e-i,r,!0);return[.5*(a[0]-o[0])/i,.5*(a[1]-o[1])/i]},t.dxydb_rough=function(e,r,n){var i=y*(n||.1),a=t.ab2xy(e,r+i,!0),o=t.ab2xy(e,r-i,!0);return[.5*(a[0]-o[0])/i,.5*(a[1]-o[1])/i]},t.dpdx=function(t){return t._m},t.dpdy=function(t){return t._m}}},{\"../../lib/search\":535,\"./compute_control_points\":710,\"./constants\":711,\"./create_i_derivative_evaluator\":712,\"./create_j_derivative_evaluator\":713,\"./create_spline_evaluator\":714}],723:[function(t,e,r){\"use strict\";var n=t(\"../../lib\");e.exports=function(t,e,r){var i,a,o,s=[],l=[],c=t[0].length,u=t.length;function f(e,r){var n,i=0,a=0;return e>0&&void 0!==(n=t[r][e-1])&&(a++,i+=n),e0&&void 0!==(n=t[r-1][e])&&(a++,i+=n),r0&&a0&&i1e-5);return n.log(\"Smoother converged to\",k,\"after\",A,\"iterations\"),t}},{\"../../lib\":515}],724:[function(t,e,r){\"use strict\";var n=t(\"../../lib\").isArray1D;e.exports=function(t,e,r){var i=r(\"x\"),a=i&&i.length,o=r(\"y\"),s=o&&o.length;if(!a&&!s)return!1;if(e._cheater=!i,a&&!n(i)||s&&!n(o))e._length=null;else{var l=a?i.length:1/0;s&&(l=Math.min(l,o.length)),e.a&&e.a.length&&(l=Math.min(l,e.a.length)),e.b&&e.b.length&&(l=Math.min(l,e.b.length)),e._length=l}return!0}},{\"../../lib\":515}],725:[function(t,e,r){\"use strict\";var n=t(\"../../plots/template_attributes\").hovertemplateAttrs,i=t(\"../scattergeo/attributes\"),a=t(\"../../components/colorscale/attributes\"),o=t(\"../../plots/attributes\"),s=t(\"../../components/color/attributes\").defaultLine,l=t(\"../../lib/extend\").extendFlat,c=i.marker.line;e.exports=l({locations:{valType:\"data_array\",editType:\"calc\"},locationmode:i.locationmode,z:{valType:\"data_array\",editType:\"calc\"},geojson:l({},i.geojson,{}),featureidkey:i.featureidkey,text:l({},i.text,{}),hovertext:l({},i.hovertext,{}),marker:{line:{color:l({},c.color,{dflt:s}),width:l({},c.width,{dflt:1}),editType:\"calc\"},opacity:{valType:\"number\",arrayOk:!0,min:0,max:1,dflt:1,editType:\"style\"},editType:\"calc\"},selected:{marker:{opacity:i.selected.marker.opacity,editType:\"plot\"},editType:\"plot\"},unselected:{marker:{opacity:i.unselected.marker.opacity,editType:\"plot\"},editType:\"plot\"},hoverinfo:l({},o.hoverinfo,{editType:\"calc\",flags:[\"location\",\"z\",\"text\",\"name\"]}),hovertemplate:n(),showlegend:l({},o.showlegend,{dflt:!1})},a(\"\",{cLetter:\"z\",editTypeOverride:\"calc\"}))},{\"../../components/color/attributes\":366,\"../../components/colorscale/attributes\":374,\"../../lib/extend\":505,\"../../plots/attributes\":562,\"../../plots/template_attributes\":642,\"../scattergeo/attributes\":978}],726:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"../../constants/numerical\").BADNUM,a=t(\"../../components/colorscale/calc\"),o=t(\"../scatter/arrays_to_calcdata\"),s=t(\"../scatter/calc_selection\");function l(t){return t&&\"string\"==typeof t}e.exports=function(t,e){var r,c=e._length,u=new Array(c);r=e.geojson?function(t){return l(t)||n(t)}:l;for(var f=0;f\")}(t,f,o),[t]}},{\"../../lib\":515,\"../../plots/cartesian/axes\":566,\"./attributes\":725}],730:[function(t,e,r){\"use strict\";e.exports={attributes:t(\"./attributes\"),supplyDefaults:t(\"./defaults\"),colorbar:t(\"../heatmap/colorbar\"),calc:t(\"./calc\"),calcGeoJSON:t(\"./plot\").calcGeoJSON,plot:t(\"./plot\").plot,style:t(\"./style\").style,styleOnSelect:t(\"./style\").styleOnSelect,hoverPoints:t(\"./hover\"),eventData:t(\"./event_data\"),selectPoints:t(\"./select\"),moduleType:\"trace\",name:\"choropleth\",basePlotModule:t(\"../../plots/geo\"),categories:[\"geo\",\"noOpacity\",\"showLegend\"],meta:{}}},{\"../../plots/geo\":598,\"../heatmap/colorbar\":804,\"./attributes\":725,\"./calc\":726,\"./defaults\":727,\"./event_data\":728,\"./hover\":729,\"./plot\":731,\"./select\":732,\"./style\":733}],731:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\"),i=t(\"../../lib\"),a=t(\"../../lib/geo_location_utils\"),o=t(\"../../lib/topojson_utils\").getTopojsonFeatures,s=t(\"../../plots/cartesian/autorange\").findExtremes,l=t(\"./style\").style;e.exports={calcGeoJSON:function(t,e){for(var r=t[0].trace,n=e[r.geo],i=n._subplot,l=r.locationmode,c=r._length,u=\"geojson-id\"===l?a.extractTraceFeature(t):o(r,i.topojson),f=[],h=[],p=0;p=0;n--){var i=r[n].id;if(\"string\"==typeof i&&0===i.indexOf(\"water\"))for(var a=n+1;a=0;r--)t.removeLayer(e[r][1])},s.dispose=function(){var t=this.subplot.map;this._removeLayers(),t.removeSource(this.sourceId)},e.exports=function(t,e){var r=e[0].trace,i=new o(t,r.uid),a=i.sourceId,s=n(e),l=i.below=t.belowLookup[\"trace-\"+r.uid];return t.map.addSource(a,{type:\"geojson\",data:s.geojson}),i._addLayers(s,l),e[0].trace._glTrace=i,i}},{\"../../plots/mapbox/constants\":620,\"./convert\":735}],739:[function(t,e,r){\"use strict\";var n=t(\"../../components/colorscale/attributes\"),i=t(\"../../plots/cartesian/axis_format_attributes\").axisHoverFormat,a=t(\"../../plots/template_attributes\").hovertemplateAttrs,o=t(\"../mesh3d/attributes\"),s=t(\"../../plots/attributes\"),l=t(\"../../lib/extend\").extendFlat,c={x:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},y:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},z:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},u:{valType:\"data_array\",editType:\"calc\"},v:{valType:\"data_array\",editType:\"calc\"},w:{valType:\"data_array\",editType:\"calc\"},sizemode:{valType:\"enumerated\",values:[\"scaled\",\"absolute\"],editType:\"calc\",dflt:\"scaled\"},sizeref:{valType:\"number\",editType:\"calc\",min:0},anchor:{valType:\"enumerated\",editType:\"calc\",values:[\"tip\",\"tail\",\"cm\",\"center\"],dflt:\"cm\"},text:{valType:\"string\",dflt:\"\",arrayOk:!0,editType:\"calc\"},hovertext:{valType:\"string\",dflt:\"\",arrayOk:!0,editType:\"calc\"},hovertemplate:a({editType:\"calc\"},{keys:[\"norm\"]}),uhoverformat:i(\"u\",1),vhoverformat:i(\"v\",1),whoverformat:i(\"w\",1),xhoverformat:i(\"x\"),yhoverformat:i(\"y\"),zhoverformat:i(\"z\"),showlegend:l({},s.showlegend,{dflt:!1})};l(c,n(\"\",{colorAttr:\"u/v/w norm\",showScaleDflt:!0,editTypeOverride:\"calc\"}));[\"opacity\",\"lightposition\",\"lighting\"].forEach((function(t){c[t]=o[t]})),c.hoverinfo=l({},s.hoverinfo,{editType:\"calc\",flags:[\"x\",\"y\",\"z\",\"u\",\"v\",\"w\",\"norm\",\"text\",\"name\"],dflt:\"x+y+z+norm+text+name\"}),c.transforms=void 0,e.exports=c},{\"../../components/colorscale/attributes\":374,\"../../lib/extend\":505,\"../../plots/attributes\":562,\"../../plots/cartesian/axis_format_attributes\":569,\"../../plots/template_attributes\":642,\"../mesh3d/attributes\":876}],740:[function(t,e,r){\"use strict\";var n=t(\"../../components/colorscale/calc\");e.exports=function(t,e){for(var r=e.u,i=e.v,a=e.w,o=Math.min(e.x.length,e.y.length,e.z.length,r.length,i.length,a.length),s=-1/0,l=1/0,c=0;co.level||o.starts.length&&a===o.level)}break;case\"constraint\":if(n.prefixBoundary=!1,n.edgepaths.length)return;var s=n.x.length,l=n.y.length,c=-1/0,u=1/0;for(r=0;r\":p>c&&(n.prefixBoundary=!0);break;case\"<\":(pc||n.starts.length&&h===u)&&(n.prefixBoundary=!0);break;case\"][\":f=Math.min(p[0],p[1]),h=Math.max(p[0],p[1]),fc&&(n.prefixBoundary=!0)}}}},{}],747:[function(t,e,r){\"use strict\";var n=t(\"../../components/colorscale\"),i=t(\"./make_color_map\"),a=t(\"./end_plus\");e.exports={min:\"zmin\",max:\"zmax\",calc:function(t,e,r){var o=e.contours,s=e.line,l=o.size||1,c=o.coloring,u=i(e,{isColorbar:!0});if(\"heatmap\"===c){var f=n.extractOpts(e);r._fillgradient=f.reversescale?n.flipScale(f.colorscale):f.colorscale,r._zrange=[f.min,f.max]}else\"fill\"===c&&(r._fillcolor=u);r._line={color:\"lines\"===c?u:s.color,width:!1!==o.showlines?s.width:0,dash:s.dash},r._levels={start:o.start,end:a(o),size:l}}}},{\"../../components/colorscale\":379,\"./end_plus\":755,\"./make_color_map\":760}],748:[function(t,e,r){\"use strict\";e.exports={BOTTOMSTART:[1,9,13,104,713],TOPSTART:[4,6,7,104,713],LEFTSTART:[8,12,14,208,1114],RIGHTSTART:[2,3,11,208,1114],NEWDELTA:[null,[-1,0],[0,-1],[-1,0],[1,0],null,[0,-1],[-1,0],[0,1],[0,1],null,[0,1],[1,0],[1,0],[0,-1]],CHOOSESADDLE:{104:[4,1],208:[2,8],713:[7,13],1114:[11,14]},SADDLEREMAINDER:{1:4,2:8,4:1,7:13,8:2,11:14,13:7,14:11},LABELDISTANCE:2,LABELINCREASE:10,LABELMIN:3,LABELMAX:10,LABELOPTIMIZER:{EDGECOST:1,ANGLECOST:1,NEIGHBORCOST:5,SAMELEVELFACTOR:10,SAMELEVELDISTANCE:5,MAXCOST:100,INITIALSEARCHPOINTS:10,ITERATIONS:5}}},{}],749:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"./label_defaults\"),a=t(\"../../components/color\"),o=a.addOpacity,s=a.opacity,l=t(\"../../constants/filter_ops\"),c=l.CONSTRAINT_REDUCTION,u=l.COMPARISON_OPS2;e.exports=function(t,e,r,a,l,f){var h,p,d,m=e.contours,g=r(\"contours.operation\");(m._operation=c[g],function(t,e){var r;-1===u.indexOf(e.operation)?(t(\"contours.value\",[0,1]),Array.isArray(e.value)?e.value.length>2?e.value=e.value.slice(2):0===e.length?e.value=[0,1]:e.length<2?(r=parseFloat(e.value[0]),e.value=[r,r+1]):e.value=[parseFloat(e.value[0]),parseFloat(e.value[1])]:n(e.value)&&(r=parseFloat(e.value),e.value=[r,r+1])):(t(\"contours.value\",0),n(e.value)||(Array.isArray(e.value)?e.value=parseFloat(e.value[0]):e.value=0))}(r,m),\"=\"===g?h=m.showlines=!0:(h=r(\"contours.showlines\"),d=r(\"fillcolor\",o((t.line||{}).color||l,.5))),h)&&(p=r(\"line.color\",d&&s(d)?o(e.fillcolor,1):l),r(\"line.width\",2),r(\"line.dash\"));r(\"line.smoothing\"),i(r,a,p,f)}},{\"../../components/color\":367,\"../../constants/filter_ops\":487,\"./label_defaults\":759,\"fast-isnumeric\":190}],750:[function(t,e,r){\"use strict\";var n=t(\"../../constants/filter_ops\"),i=t(\"fast-isnumeric\");function a(t,e){var r,a=Array.isArray(e);function o(t){return i(t)?+t:null}return-1!==n.COMPARISON_OPS2.indexOf(t)?r=o(a?e[0]:e):-1!==n.INTERVAL_OPS.indexOf(t)?r=a?[o(e[0]),o(e[1])]:[o(e),o(e)]:-1!==n.SET_OPS.indexOf(t)&&(r=a?e.map(o):[o(e)]),r}function o(t){return function(e){e=a(t,e);var r=Math.min(e[0],e[1]),n=Math.max(e[0],e[1]);return{start:r,end:n,size:n-r}}}function s(t){return function(e){return{start:e=a(t,e),end:1/0,size:1/0}}}e.exports={\"[]\":o(\"[]\"),\"][\":o(\"][\"),\">\":s(\">\"),\"<\":s(\"<\"),\"=\":s(\"=\")}},{\"../../constants/filter_ops\":487,\"fast-isnumeric\":190}],751:[function(t,e,r){\"use strict\";e.exports=function(t,e,r,n){var i=n(\"contours.start\"),a=n(\"contours.end\"),o=!1===i||!1===a,s=r(\"contours.size\");!(o?e.autocontour=!0:r(\"autocontour\",!1))&&s||r(\"ncontours\")}},{}],752:[function(t,e,r){\"use strict\";var n=t(\"../../lib\");function i(t){return n.extendFlat({},t,{edgepaths:n.extendDeep([],t.edgepaths),paths:n.extendDeep([],t.paths),starts:n.extendDeep([],t.starts)})}e.exports=function(t,e){var r,a,o,s=function(t){return t.reverse()},l=function(t){return t};switch(e){case\"=\":case\"<\":return t;case\">\":for(1!==t.length&&n.warn(\"Contour data invalid for the specified inequality operation.\"),a=t[0],r=0;r1e3){n.warn(\"Too many contours, clipping at 1000\",t);break}return l}},{\"../../lib\":515,\"./constraint_mapping\":750,\"./end_plus\":755}],755:[function(t,e,r){\"use strict\";e.exports=function(t){return t.end+t.size/1e6}},{}],756:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"./constants\");function a(t,e,r,n){return Math.abs(t[0]-e[0])20&&e?208===t||1114===t?n=0===r[0]?1:-1:a=0===r[1]?1:-1:-1!==i.BOTTOMSTART.indexOf(t)?a=1:-1!==i.LEFTSTART.indexOf(t)?n=1:-1!==i.TOPSTART.indexOf(t)?a=-1:n=-1;return[n,a]}(f,r,e),p=[s(t,e,[-h[0],-h[1]])],d=t.z.length,m=t.z[0].length,g=e.slice(),v=h.slice();for(c=0;c<1e4;c++){if(f>20?(f=i.CHOOSESADDLE[f][(h[0]||h[1])<0?0:1],t.crossings[u]=i.SADDLEREMAINDER[f]):delete t.crossings[u],!(h=i.NEWDELTA[f])){n.log(\"Found bad marching index:\",f,e,t.level);break}p.push(s(t,e,h)),e[0]+=h[0],e[1]+=h[1],u=e.join(\",\"),a(p[p.length-1],p[p.length-2],o,l)&&p.pop();var y=h[0]&&(e[0]<0||e[0]>m-2)||h[1]&&(e[1]<0||e[1]>d-2);if(e[0]===g[0]&&e[1]===g[1]&&h[0]===v[0]&&h[1]===v[1]||r&&y)break;f=t.crossings[u]}1e4===c&&n.log(\"Infinite loop in contour?\");var x,b,_,w,T,k,A,M,S,E,L,C,P,I,O,z=a(p[0],p[p.length-1],o,l),D=0,R=.2*t.smoothing,F=[],B=0;for(c=1;c=B;c--)if((x=F[c])=B&&x+F[b]M&&S--,t.edgepaths[S]=L.concat(p,E));break}V||(t.edgepaths[M]=p.concat(E))}for(M=0;Mt?0:1)+(e[0][1]>t?0:2)+(e[1][1]>t?0:4)+(e[1][0]>t?0:8);return 5===r||10===r?t>(e[0][0]+e[0][1]+e[1][0]+e[1][1])/4?5===r?713:1114:5===r?104:208:15===r?0:r}e.exports=function(t){var e,r,a,o,s,l,c,u,f,h=t[0].z,p=h.length,d=h[0].length,m=2===p||2===d;for(r=0;r=0&&(n=y,s=l):Math.abs(r[1]-n[1])<.01?Math.abs(r[1]-y[1])<.01&&(y[0]-r[0])*(n[0]-y[0])>=0&&(n=y,s=l):i.log(\"endpt to newendpt is not vert. or horz.\",r,n,y)}if(r=n,s>=0)break;f+=\"L\"+n}if(s===t.edgepaths.length){i.log(\"unclosed perimeter path\");break}h=s,(d=-1===p.indexOf(h))&&(h=p[0],f+=\"Z\")}for(h=0;hn.center?n.right-s:s-n.left)/(u+Math.abs(Math.sin(c)*o)),p=(l>n.middle?n.bottom-l:l-n.top)/(Math.abs(f)+Math.cos(c)*o);if(h<1||p<1)return 1/0;var d=v.EDGECOST*(1/(h-1)+1/(p-1));d+=v.ANGLECOST*c*c;for(var m=s-u,g=l-f,y=s+u,x=l+f,b=0;b2*v.MAXCOST)break;p&&(s/=2),l=(o=c-s/2)+1.5*s}if(h<=v.MAXCOST)return u},r.addLabelData=function(t,e,r,n){var i=e.fontSize,a=e.width+i/3,o=Math.max(0,e.height-i/3),s=t.x,l=t.y,c=t.theta,u=Math.sin(c),f=Math.cos(c),h=function(t,e){return[s+t*f-e*u,l+t*u+e*f]},p=[h(-a/2,-o/2),h(-a/2,o/2),h(a/2,o/2),h(a/2,-o/2)];r.push({text:e.text,x:s,y:l,dy:e.dy,theta:c,level:e.level,width:a,height:o}),n.push(p)},r.drawLabels=function(t,e,r,a,o){var l=t.selectAll(\"text\").data(e,(function(t){return t.text+\",\"+t.x+\",\"+t.y+\",\"+t.theta}));if(l.exit().remove(),l.enter().append(\"text\").attr({\"data-notex\":1,\"text-anchor\":\"middle\"}).each((function(t){var e=t.x+Math.sin(t.theta)*t.dy,i=t.y-Math.cos(t.theta)*t.dy;n.select(this).text(t.text).attr({x:e,y:i,transform:\"rotate(\"+180*t.theta/Math.PI+\" \"+e+\" \"+i+\")\"}).call(s.convertToTspans,r)})),o){for(var c=\"\",u=0;ur.end&&(r.start=r.end=(r.start+r.end)/2),t._input.contours||(t._input.contours={}),i.extendFlat(t._input.contours,{start:r.start,end:r.end,size:r.size}),t._input.autocontour=!0}else if(\"constraint\"!==r.type){var c,u=r.start,f=r.end,h=t._input.contours;if(u>f&&(r.start=h.start=f,f=r.end=h.end=u,u=r.start),!(r.size>0))c=u===f?1:a(u,f,t.ncontours).dtick,h.size=r.size=c}}},{\"../../lib\":515,\"../../plots/cartesian/axes\":566}],764:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\"),i=t(\"../../components/drawing\"),a=t(\"../heatmap/style\"),o=t(\"./make_color_map\");e.exports=function(t){var e=n.select(t).selectAll(\"g.contour\");e.style(\"opacity\",(function(t){return t[0].trace.opacity})),e.each((function(t){var e=n.select(this),r=t[0].trace,a=r.contours,s=r.line,l=a.size||1,c=a.start,u=\"constraint\"===a.type,f=!u&&\"lines\"===a.coloring,h=!u&&\"fill\"===a.coloring,p=f||h?o(r):null;e.selectAll(\"g.contourlevel\").each((function(t){n.select(this).selectAll(\"path\").call(i.lineGroupStyle,s.width,f?p(t.level):s.color,s.dash)}));var d=a.labelfont;if(e.selectAll(\"g.contourlabels text\").each((function(t){i.font(n.select(this),{family:d.family,size:d.size,color:d.color||(f?p(t.level):s.color)})})),u)e.selectAll(\"g.contourfill path\").style(\"fill\",r.fillcolor);else if(h){var m;e.selectAll(\"g.contourfill path\").style(\"fill\",(function(t){return void 0===m&&(m=t.level),p(t.level+.5*l)})),void 0===m&&(m=c),e.selectAll(\"g.contourbg path\").style(\"fill\",p(m-.5*l))}})),a(t)}},{\"../../components/drawing\":389,\"../heatmap/style\":814,\"./make_color_map\":760,\"@plotly/d3\":58}],765:[function(t,e,r){\"use strict\";var n=t(\"../../components/colorscale/defaults\"),i=t(\"./label_defaults\");e.exports=function(t,e,r,a,o){var s,l=r(\"contours.coloring\"),c=\"\";\"fill\"===l&&(s=r(\"contours.showlines\")),!1!==s&&(\"lines\"!==l&&(c=r(\"line.color\",\"#000\")),r(\"line.width\",.5),r(\"line.dash\")),\"none\"!==l&&(!0!==t.showlegend&&(e.showlegend=!1),e._dfltShowLegend=!1,n(t,e,a,r,{prefix:\"\",cLetter:\"z\"})),r(\"line.smoothing\"),i(r,a,c,o)}},{\"../../components/colorscale/defaults\":377,\"./label_defaults\":759}],766:[function(t,e,r){\"use strict\";var n=t(\"../heatmap/attributes\"),i=t(\"../contour/attributes\"),a=t(\"../../components/colorscale/attributes\"),o=t(\"../../lib/extend\").extendFlat,s=i.contours;e.exports=o({carpet:{valType:\"string\",editType:\"calc\"},z:n.z,a:n.x,a0:n.x0,da:n.dx,b:n.y,b0:n.y0,db:n.dy,text:n.text,hovertext:n.hovertext,transpose:n.transpose,atype:n.xtype,btype:n.ytype,fillcolor:i.fillcolor,autocontour:i.autocontour,ncontours:i.ncontours,contours:{type:s.type,start:s.start,end:s.end,size:s.size,coloring:{valType:\"enumerated\",values:[\"fill\",\"lines\",\"none\"],dflt:\"fill\",editType:\"calc\"},showlines:s.showlines,showlabels:s.showlabels,labelfont:s.labelfont,labelformat:s.labelformat,operation:s.operation,value:s.value,editType:\"calc\",impliedEdits:{autocontour:!1}},line:{color:i.line.color,width:i.line.width,dash:i.line.dash,smoothing:i.line.smoothing,editType:\"plot\"},transforms:void 0},a(\"\",{cLetter:\"z\",autoColorDflt:!1}))},{\"../../components/colorscale/attributes\":374,\"../../lib/extend\":505,\"../contour/attributes\":744,\"../heatmap/attributes\":801}],767:[function(t,e,r){\"use strict\";var n=t(\"../../components/colorscale/calc\"),i=t(\"../../lib\"),a=t(\"../heatmap/convert_column_xyz\"),o=t(\"../heatmap/clean_2d_array\"),s=t(\"../heatmap/interp2d\"),l=t(\"../heatmap/find_empties\"),c=t(\"../heatmap/make_bound_array\"),u=t(\"./defaults\"),f=t(\"../carpet/lookup_carpetid\"),h=t(\"../contour/set_contours\");e.exports=function(t,e){var r=e._carpetTrace=f(t,e);if(r&&r.visible&&\"legendonly\"!==r.visible){if(!e.a||!e.b){var p=t.data[r.index],d=t.data[e.index];d.a||(d.a=p.a),d.b||(d.b=p.b),u(d,e,e._defaultColor,t._fullLayout)}var m=function(t,e){var r,u,f,h,p,d,m,g=e._carpetTrace,v=g.aaxis,y=g.baxis;v._minDtick=0,y._minDtick=0,i.isArray1D(e.z)&&a(e,v,y,\"a\",\"b\",[\"z\"]);r=e._a=e._a||e.a,h=e._b=e._b||e.b,r=r?v.makeCalcdata(e,\"_a\"):[],h=h?y.makeCalcdata(e,\"_b\"):[],u=e.a0||0,f=e.da||1,p=e.b0||0,d=e.db||1,m=e._z=o(e._z||e.z,e.transpose),e._emptypoints=l(m),s(m,e._emptypoints);var x=i.maxRowLength(m),b=\"scaled\"===e.xtype?\"\":r,_=c(e,b,u,f,x,v),w=\"scaled\"===e.ytype?\"\":h,T=c(e,w,p,d,m.length,y),k={a:_,b:T,z:m};\"levels\"===e.contours.type&&\"none\"!==e.contours.coloring&&n(t,e,{vals:m,containerStr:\"\",cLetter:\"z\"});return[k]}(t,e);return h(e,e._z),m}}},{\"../../components/colorscale/calc\":375,\"../../lib\":515,\"../carpet/lookup_carpetid\":717,\"../contour/set_contours\":763,\"../heatmap/clean_2d_array\":803,\"../heatmap/convert_column_xyz\":805,\"../heatmap/find_empties\":807,\"../heatmap/interp2d\":810,\"../heatmap/make_bound_array\":812,\"./defaults\":768}],768:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../heatmap/xyz_defaults\"),a=t(\"./attributes\"),o=t(\"../contour/constraint_defaults\"),s=t(\"../contour/contours_defaults\"),l=t(\"../contour/style_defaults\");e.exports=function(t,e,r,c){function u(r,i){return n.coerce(t,e,a,r,i)}if(u(\"carpet\"),t.a&&t.b){if(!i(t,e,u,c,\"a\",\"b\"))return void(e.visible=!1);u(\"text\"),\"constraint\"===u(\"contours.type\")?o(t,e,u,c,r,{hasHover:!1}):(s(t,e,u,(function(r){return n.coerce2(t,e,a,r)})),l(t,e,u,c,{hasHover:!1}))}else e._defaultColor=r,e._length=null}},{\"../../lib\":515,\"../contour/constraint_defaults\":749,\"../contour/contours_defaults\":751,\"../contour/style_defaults\":765,\"../heatmap/xyz_defaults\":816,\"./attributes\":766}],769:[function(t,e,r){\"use strict\";e.exports={attributes:t(\"./attributes\"),supplyDefaults:t(\"./defaults\"),colorbar:t(\"../contour/colorbar\"),calc:t(\"./calc\"),plot:t(\"./plot\"),style:t(\"../contour/style\"),moduleType:\"trace\",name:\"contourcarpet\",basePlotModule:t(\"../../plots/cartesian\"),categories:[\"cartesian\",\"svg\",\"carpet\",\"contour\",\"symbols\",\"showLegend\",\"hasLines\",\"carpetDependent\",\"noHover\",\"noSortingByValue\"],meta:{}}},{\"../../plots/cartesian\":578,\"../contour/colorbar\":747,\"../contour/style\":764,\"./attributes\":766,\"./calc\":767,\"./defaults\":768,\"./plot\":770}],770:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\"),i=t(\"../carpet/map_1d_array\"),a=t(\"../carpet/makepath\"),o=t(\"../../components/drawing\"),s=t(\"../../lib\"),l=t(\"../contour/make_crossings\"),c=t(\"../contour/find_all_paths\"),u=t(\"../contour/plot\"),f=t(\"../contour/constants\"),h=t(\"../contour/convert_to_constraints\"),p=t(\"../contour/empty_pathinfo\"),d=t(\"../contour/close_boundaries\"),m=t(\"../carpet/lookup_carpetid\"),g=t(\"../carpet/axis_aligned_line\");function v(t,e,r){var n=t.getPointAtLength(e),i=t.getPointAtLength(r),a=i.x-n.x,o=i.y-n.y,s=Math.sqrt(a*a+o*o);return[a/s,o/s]}function y(t){var e=Math.sqrt(t[0]*t[0]+t[1]*t[1]);return[t[0]/e,t[1]/e]}function x(t,e){var r=Math.abs(t[0]*e[0]+t[1]*e[1]);return Math.sqrt(1-r*r)/r}e.exports=function(t,e,r,b){var _=e.xaxis,w=e.yaxis;s.makeTraceGroups(b,r,\"contour\").each((function(r){var b=n.select(this),T=r[0],k=T.trace,A=k._carpetTrace=m(t,k),M=t.calcdata[A.index][0];if(A.visible&&\"legendonly\"!==A.visible){var S=T.a,E=T.b,L=k.contours,C=p(L,e,T),P=\"constraint\"===L.type,I=L._operation,O=P?\"=\"===I?\"lines\":\"fill\":L.coloring,z=[[S[0],E[E.length-1]],[S[S.length-1],E[E.length-1]],[S[S.length-1],E[0]],[S[0],E[0]]];l(C);var D=1e-8*(S[S.length-1]-S[0]),R=1e-8*(E[E.length-1]-E[0]);c(C,D,R);var F,B,N,j,U=C;\"constraint\"===L.type&&(U=h(C,I)),function(t,e){var r,n,i,a,o,s,l,c,u;for(r=0;r=0;j--)F=M.clipsegments[j],B=i([],F.x,_.c2p),N=i([],F.y,w.c2p),B.reverse(),N.reverse(),V.push(a(B,N,F.bicubic));var H=\"M\"+V.join(\"L\")+\"Z\";!function(t,e,r,n,o,l){var c,u,f,h,p=s.ensureSingle(t,\"g\",\"contourbg\").selectAll(\"path\").data(\"fill\"!==l||o?[]:[0]);p.enter().append(\"path\"),p.exit().remove();var d=[];for(h=0;h=0&&(h=L,d=m):Math.abs(f[1]-h[1])=0&&(h=L,d=m):s.log(\"endpt to newendpt is not vert. or horz.\",f,h,L)}if(d>=0)break;y+=S(f,h),f=h}if(d===e.edgepaths.length){s.log(\"unclosed perimeter path\");break}u=d,(b=-1===x.indexOf(u))&&(u=x[0],y+=S(f,h)+\"Z\",f=null)}for(u=0;ug&&(n.max=g);n.len=n.max-n.min}(this,r,t,n,c,e.height),!(n.len<(e.width+e.height)*f.LABELMIN)))for(var i=Math.min(Math.ceil(n.len/I),f.LABELMAX),a=0;a0?+p[u]:0),f.push({type:\"Feature\",geometry:{type:\"Point\",coordinates:v},properties:y})}}var b=o.extractOpts(e),_=b.reversescale?o.flipScale(b.colorscale):b.colorscale,w=_[0][1],T=[\"interpolate\",[\"linear\"],[\"heatmap-density\"],0,a.opacity(w)<1?w:a.addOpacity(w,0)];for(u=1;u<_.length;u++)T.push(_[u][0],_[u][1]);var k=[\"interpolate\",[\"linear\"],[\"get\",\"z\"],b.min,0,b.max,1];return i.extendFlat(c.heatmap.paint,{\"heatmap-weight\":d?k:1/(b.max-b.min),\"heatmap-color\":T,\"heatmap-radius\":m?{type:\"identity\",property:\"r\"}:e.radius,\"heatmap-opacity\":e.opacity}),c.geojson={type:\"FeatureCollection\",features:f},c.heatmap.layout.visibility=\"visible\",c}},{\"../../components/color\":367,\"../../components/colorscale\":379,\"../../constants/numerical\":491,\"../../lib\":515,\"../../lib/geojson_utils\":509,\"fast-isnumeric\":190}],774:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../components/colorscale/defaults\"),a=t(\"./attributes\");e.exports=function(t,e,r,o){function s(r,i){return n.coerce(t,e,a,r,i)}var l=s(\"lon\")||[],c=s(\"lat\")||[],u=Math.min(l.length,c.length);u?(e._length=u,s(\"z\"),s(\"radius\"),s(\"below\"),s(\"text\"),s(\"hovertext\"),s(\"hovertemplate\"),i(t,e,o,s,{prefix:\"\",cLetter:\"z\"})):e.visible=!1}},{\"../../components/colorscale/defaults\":377,\"../../lib\":515,\"./attributes\":771}],775:[function(t,e,r){\"use strict\";e.exports=function(t,e){return t.lon=e.lon,t.lat=e.lat,t.z=e.z,t}},{}],776:[function(t,e,r){\"use strict\";var n=t(\"../../plots/cartesian/axes\"),i=t(\"../scattermapbox/hover\").hoverPoints,a=t(\"../scattermapbox/hover\").getExtraText;e.exports=function(t,e,r){var o=i(t,e,r);if(o){var s=o[0],l=s.cd,c=l[0].trace,u=l[s.index];if(delete s.color,\"z\"in u){var f=s.subplot.mockAxis;s.z=u.z,s.zLabel=n.tickText(f,f.c2l(u.z),\"hover\").text}return s.extraText=a(c,u,l[0].t.labels),[s]}}},{\"../../plots/cartesian/axes\":566,\"../scattermapbox/hover\":1007}],777:[function(t,e,r){\"use strict\";e.exports={attributes:t(\"./attributes\"),supplyDefaults:t(\"./defaults\"),colorbar:t(\"../heatmap/colorbar\"),formatLabels:t(\"../scattermapbox/format_labels\"),calc:t(\"./calc\"),plot:t(\"./plot\"),hoverPoints:t(\"./hover\"),eventData:t(\"./event_data\"),getBelow:function(t,e){for(var r=e.getMapLayers(),n=0;n=0;r--)t.removeLayer(e[r][1])},o.dispose=function(){var t=this.subplot.map;this._removeLayers(),t.removeSource(this.sourceId)},e.exports=function(t,e){var r=e[0].trace,i=new a(t,r.uid),o=i.sourceId,s=n(e),l=i.below=t.belowLookup[\"trace-\"+r.uid];return t.map.addSource(o,{type:\"geojson\",data:s.geojson}),i._addLayers(s,l),i}},{\"../../plots/mapbox/constants\":620,\"./convert\":773}],779:[function(t,e,r){\"use strict\";var n=t(\"../../lib\");e.exports=function(t,e){for(var r=0;r\"),l.color=function(t,e){var r=t.marker,i=e.mc||r.color,a=e.mlc||r.line.color,o=e.mlw||r.line.width;if(n(i))return i;if(n(a)&&o)return a}(u,h),[l]}}},{\"../../components/color\":367,\"../../lib\":515,\"../bar/hover\":664}],787:[function(t,e,r){\"use strict\";e.exports={attributes:t(\"./attributes\"),layoutAttributes:t(\"./layout_attributes\"),supplyDefaults:t(\"./defaults\").supplyDefaults,crossTraceDefaults:t(\"./defaults\").crossTraceDefaults,supplyLayoutDefaults:t(\"./layout_defaults\"),calc:t(\"./calc\"),crossTraceCalc:t(\"./cross_trace_calc\"),plot:t(\"./plot\"),style:t(\"./style\").style,hoverPoints:t(\"./hover\"),eventData:t(\"./event_data\"),selectPoints:t(\"../bar/select\"),moduleType:\"trace\",name:\"funnel\",basePlotModule:t(\"../../plots/cartesian\"),categories:[\"bar-like\",\"cartesian\",\"svg\",\"oriented\",\"showLegend\",\"zoomScale\"],meta:{}}},{\"../../plots/cartesian\":578,\"../bar/select\":669,\"./attributes\":780,\"./calc\":781,\"./cross_trace_calc\":783,\"./defaults\":784,\"./event_data\":785,\"./hover\":786,\"./layout_attributes\":788,\"./layout_defaults\":789,\"./plot\":790,\"./style\":791}],788:[function(t,e,r){\"use strict\";e.exports={funnelmode:{valType:\"enumerated\",values:[\"stack\",\"group\",\"overlay\"],dflt:\"stack\",editType:\"calc\"},funnelgap:{valType:\"number\",min:0,max:1,editType:\"calc\"},funnelgroupgap:{valType:\"number\",min:0,max:1,dflt:0,editType:\"calc\"}}},{}],789:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"./layout_attributes\");e.exports=function(t,e,r){var a=!1;function o(r,a){return n.coerce(t,e,i,r,a)}for(var s=0;s path\").each((function(t){if(!t.isBlank){var e=s.marker;n.select(this).call(a.fill,t.mc||e.color).call(a.stroke,t.mlc||e.line.color).call(i.dashLine,e.line.dash,t.mlw||e.line.width).style(\"opacity\",s.selectedpoints&&!t.selected?o:1)}})),c(r,s,t),r.selectAll(\".regions\").each((function(){n.select(this).selectAll(\"path\").style(\"stroke-width\",0).call(a.fill,s.connector.fillcolor)})),r.selectAll(\".lines\").each((function(){var t=s.connector.line;i.lineGroupStyle(n.select(this).selectAll(\"path\"),t.width,t.color,t.dash)}))}))}}},{\"../../components/color\":367,\"../../components/drawing\":389,\"../../constants/interactions\":490,\"../bar/style\":671,\"../bar/uniform_text\":673,\"@plotly/d3\":58}],792:[function(t,e,r){\"use strict\";var n=t(\"../pie/attributes\"),i=t(\"../../plots/attributes\"),a=t(\"../../plots/domain\").attributes,o=t(\"../../plots/template_attributes\").hovertemplateAttrs,s=t(\"../../plots/template_attributes\").texttemplateAttrs,l=t(\"../../lib/extend\").extendFlat;e.exports={labels:n.labels,label0:n.label0,dlabel:n.dlabel,values:n.values,marker:{colors:n.marker.colors,line:{color:l({},n.marker.line.color,{dflt:null}),width:l({},n.marker.line.width,{dflt:1}),editType:\"calc\"},editType:\"calc\"},text:n.text,hovertext:n.hovertext,scalegroup:l({},n.scalegroup,{}),textinfo:l({},n.textinfo,{flags:[\"label\",\"text\",\"value\",\"percent\"]}),texttemplate:s({editType:\"plot\"},{keys:[\"label\",\"color\",\"value\",\"text\",\"percent\"]}),hoverinfo:l({},i.hoverinfo,{flags:[\"label\",\"text\",\"value\",\"percent\",\"name\"]}),hovertemplate:o({},{keys:[\"label\",\"color\",\"value\",\"text\",\"percent\"]}),textposition:l({},n.textposition,{values:[\"inside\",\"none\"],dflt:\"inside\"}),textfont:n.textfont,insidetextfont:n.insidetextfont,title:{text:n.title.text,font:n.title.font,position:l({},n.title.position,{values:[\"top left\",\"top center\",\"top right\"],dflt:\"top center\"}),editType:\"plot\"},domain:a({name:\"funnelarea\",trace:!0,editType:\"calc\"}),aspectratio:{valType:\"number\",min:0,dflt:1,editType:\"plot\"},baseratio:{valType:\"number\",min:0,max:1,dflt:.333,editType:\"plot\"}}},{\"../../lib/extend\":505,\"../../plots/attributes\":562,\"../../plots/domain\":593,\"../../plots/template_attributes\":642,\"../pie/attributes\":910}],793:[function(t,e,r){\"use strict\";var n=t(\"../../plots/plots\");r.name=\"funnelarea\",r.plot=function(t,e,i,a){n.plotBasePlot(r.name,t,e,i,a)},r.clean=function(t,e,i,a){n.cleanBasePlot(r.name,t,e,i,a)}},{\"../../plots/plots\":628}],794:[function(t,e,r){\"use strict\";var n=t(\"../pie/calc\");e.exports={calc:function(t,e){return n.calc(t,e)},crossTraceCalc:function(t){n.crossTraceCalc(t,{type:\"funnelarea\"})}}},{\"../pie/calc\":912}],795:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"./attributes\"),a=t(\"../../plots/domain\").defaults,o=t(\"../bar/defaults\").handleText,s=t(\"../pie/defaults\").handleLabelsAndValues;e.exports=function(t,e,r,l){function c(r,a){return n.coerce(t,e,i,r,a)}var u=c(\"labels\"),f=c(\"values\"),h=s(u,f),p=h.len;if(e._hasLabels=h.hasLabels,e._hasValues=h.hasValues,!e._hasLabels&&e._hasValues&&(c(\"label0\"),c(\"dlabel\")),p){e._length=p,c(\"marker.line.width\")&&c(\"marker.line.color\",l.paper_bgcolor),c(\"marker.colors\"),c(\"scalegroup\");var d,m=c(\"text\"),g=c(\"texttemplate\");if(g||(d=c(\"textinfo\",Array.isArray(m)?\"text+percent\":\"percent\")),c(\"hovertext\"),c(\"hovertemplate\"),g||d&&\"none\"!==d){var v=c(\"textposition\");o(t,e,l,c,v,{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1})}a(e,l,c),c(\"title.text\")&&(c(\"title.position\"),n.coerceFont(c,\"title.font\",l.font)),c(\"aspectratio\"),c(\"baseratio\")}else e.visible=!1}},{\"../../lib\":515,\"../../plots/domain\":593,\"../bar/defaults\":661,\"../pie/defaults\":913,\"./attributes\":792}],796:[function(t,e,r){\"use strict\";e.exports={moduleType:\"trace\",name:\"funnelarea\",basePlotModule:t(\"./base_plot\"),categories:[\"pie-like\",\"funnelarea\",\"showLegend\"],attributes:t(\"./attributes\"),layoutAttributes:t(\"./layout_attributes\"),supplyDefaults:t(\"./defaults\"),supplyLayoutDefaults:t(\"./layout_defaults\"),calc:t(\"./calc\").calc,crossTraceCalc:t(\"./calc\").crossTraceCalc,plot:t(\"./plot\"),style:t(\"./style\"),styleOne:t(\"../pie/style_one\"),meta:{}}},{\"../pie/style_one\":921,\"./attributes\":792,\"./base_plot\":793,\"./calc\":794,\"./defaults\":795,\"./layout_attributes\":797,\"./layout_defaults\":798,\"./plot\":799,\"./style\":800}],797:[function(t,e,r){\"use strict\";var n=t(\"../pie/layout_attributes\").hiddenlabels;e.exports={hiddenlabels:n,funnelareacolorway:{valType:\"colorlist\",editType:\"calc\"},extendfunnelareacolors:{valType:\"boolean\",dflt:!0,editType:\"calc\"}}},{\"../pie/layout_attributes\":917}],798:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"./layout_attributes\");e.exports=function(t,e){function r(r,a){return n.coerce(t,e,i,r,a)}r(\"hiddenlabels\"),r(\"funnelareacolorway\",e.colorway),r(\"extendfunnelareacolors\")}},{\"../../lib\":515,\"./layout_attributes\":797}],799:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\"),i=t(\"../../components/drawing\"),a=t(\"../../lib\"),o=a.strScale,s=a.strTranslate,l=t(\"../../lib/svg_text_utils\"),c=t(\"../bar/plot\").toMoveInsideBar,u=t(\"../bar/uniform_text\"),f=u.recordMinTextSize,h=u.clearMinTextSize,p=t(\"../pie/helpers\"),d=t(\"../pie/plot\"),m=d.attachFxHandlers,g=d.determineInsideTextFont,v=d.layoutAreas,y=d.prerenderTitles,x=d.positionTitleOutside,b=d.formatSliceLabel;function _(t,e){return\"l\"+(e[0]-t[0])+\",\"+(e[1]-t[1])}e.exports=function(t,e){var r=t._context.staticPlot,u=t._fullLayout;h(\"funnelarea\",u),y(e,t),v(e,u._size),a.makeTraceGroups(u._funnelarealayer,e,\"trace\").each((function(e){var h=n.select(this),d=e[0],v=d.trace;!function(t){if(!t.length)return;var e=t[0],r=e.trace,n=r.aspectratio,i=r.baseratio;i>.999&&(i=.999);var a,o=Math.pow(i,2),s=e.vTotal,l=s,c=s*o/(1-o)/s;function u(){var t,e={x:t=Math.sqrt(c),y:-t};return[e.x,e.y]}var f,h,p=[];for(p.push(u()),f=t.length-1;f>-1;f--)if(!(h=t[f]).hidden){var d=h.v/l;c+=d,p.push(u())}var m=1/0,g=-1/0;for(f=0;f-1;f--)if(!(h=t[f]).hidden){var A=p[k+=1][0],M=p[k][1];h.TL=[-A,M],h.TR=[A,M],h.BL=w,h.BR=T,h.pxmid=(S=h.TR,E=h.BR,[.5*(S[0]+E[0]),.5*(S[1]+E[1])]),w=h.TL,T=h.TR}var S,E}(e),h.each((function(){var h=n.select(this).selectAll(\"g.slice\").data(e);h.enter().append(\"g\").classed(\"slice\",!0),h.exit().remove(),h.each((function(o,s){if(o.hidden)n.select(this).selectAll(\"path,g\").remove();else{o.pointNumber=o.i,o.curveNumber=v.index;var h=d.cx,y=d.cy,x=n.select(this),w=x.selectAll(\"path.surface\").data([o]);w.enter().append(\"path\").classed(\"surface\",!0).style({\"pointer-events\":r?\"none\":\"all\"}),x.call(m,t,e);var T=\"M\"+(h+o.TR[0])+\",\"+(y+o.TR[1])+_(o.TR,o.BR)+_(o.BR,o.BL)+_(o.BL,o.TL)+\"Z\";w.attr(\"d\",T),b(t,o,d);var k=p.castOption(v.textposition,o.pts),A=x.selectAll(\"g.slicetext\").data(o.text&&\"none\"!==k?[0]:[]);A.enter().append(\"g\").classed(\"slicetext\",!0),A.exit().remove(),A.each((function(){var r=a.ensureSingle(n.select(this),\"text\",\"\",(function(t){t.attr(\"data-notex\",1)})),p=a.ensureUniformFontSize(t,g(v,o,u.font));r.text(o.text).attr({class:\"slicetext\",transform:\"\",\"text-anchor\":\"middle\"}).call(i.font,p).call(l.convertToTspans,t);var d,m,x,b=i.bBox(r.node()),_=Math.min(o.BL[1],o.BR[1])+y,w=Math.max(o.TL[1],o.TR[1])+y;m=Math.max(o.TL[0],o.BL[0])+h,x=Math.min(o.TR[0],o.BR[0])+h,(d=c(m,x,_,w,b,{isHorizontal:!0,constrained:!0,angle:0,anchor:\"middle\"})).fontSize=p.size,f(v.type,d,u),e[s].transform=d,a.setTransormAndDisplay(r,d)}))}}));var y=n.select(this).selectAll(\"g.titletext\").data(v.title.text?[0]:[]);y.enter().append(\"g\").classed(\"titletext\",!0),y.exit().remove(),y.each((function(){var e=a.ensureSingle(n.select(this),\"text\",\"\",(function(t){t.attr(\"data-notex\",1)})),r=v.title.text;v._meta&&(r=a.templateString(r,v._meta)),e.text(r).attr({class:\"titletext\",transform:\"\",\"text-anchor\":\"middle\"}).call(i.font,v.title.font).call(l.convertToTspans,t);var c=x(d,u._size);e.attr(\"transform\",s(c.x,c.y)+o(Math.min(1,c.scale))+s(c.tx,c.ty))}))}))}))}},{\"../../components/drawing\":389,\"../../lib\":515,\"../../lib/svg_text_utils\":541,\"../bar/plot\":668,\"../bar/uniform_text\":673,\"../pie/helpers\":915,\"../pie/plot\":919,\"@plotly/d3\":58}],800:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\"),i=t(\"../pie/style_one\"),a=t(\"../bar/uniform_text\").resizeText;e.exports=function(t){var e=t._fullLayout._funnelarealayer.selectAll(\".trace\");a(t,e,\"funnelarea\"),e.each((function(t){var e=t[0].trace,r=n.select(this);r.style({opacity:e.opacity}),r.selectAll(\"path.surface\").each((function(t){n.select(this).call(i,t,e)}))}))}},{\"../bar/uniform_text\":673,\"../pie/style_one\":921,\"@plotly/d3\":58}],801:[function(t,e,r){\"use strict\";var n=t(\"../scatter/attributes\"),i=t(\"../../plots/attributes\"),a=t(\"../../plots/font_attributes\"),o=t(\"../../plots/cartesian/axis_format_attributes\").axisHoverFormat,s=t(\"../../plots/template_attributes\").hovertemplateAttrs,l=t(\"../../plots/template_attributes\").texttemplateAttrs,c=t(\"../../components/colorscale/attributes\"),u=t(\"../../lib/extend\").extendFlat;e.exports=u({z:{valType:\"data_array\",editType:\"calc\"},x:u({},n.x,{impliedEdits:{xtype:\"array\"}}),x0:u({},n.x0,{impliedEdits:{xtype:\"scaled\"}}),dx:u({},n.dx,{impliedEdits:{xtype:\"scaled\"}}),y:u({},n.y,{impliedEdits:{ytype:\"array\"}}),y0:u({},n.y0,{impliedEdits:{ytype:\"scaled\"}}),dy:u({},n.dy,{impliedEdits:{ytype:\"scaled\"}}),xperiod:u({},n.xperiod,{impliedEdits:{xtype:\"scaled\"}}),yperiod:u({},n.yperiod,{impliedEdits:{ytype:\"scaled\"}}),xperiod0:u({},n.xperiod0,{impliedEdits:{xtype:\"scaled\"}}),yperiod0:u({},n.yperiod0,{impliedEdits:{ytype:\"scaled\"}}),xperiodalignment:u({},n.xperiodalignment,{impliedEdits:{xtype:\"scaled\"}}),yperiodalignment:u({},n.yperiodalignment,{impliedEdits:{ytype:\"scaled\"}}),text:{valType:\"data_array\",editType:\"calc\"},hovertext:{valType:\"data_array\",editType:\"calc\"},transpose:{valType:\"boolean\",dflt:!1,editType:\"calc\"},xtype:{valType:\"enumerated\",values:[\"array\",\"scaled\"],editType:\"calc+clearAxisTypes\"},ytype:{valType:\"enumerated\",values:[\"array\",\"scaled\"],editType:\"calc+clearAxisTypes\"},zsmooth:{valType:\"enumerated\",values:[\"fast\",\"best\",!1],dflt:!1,editType:\"calc\"},hoverongaps:{valType:\"boolean\",dflt:!0,editType:\"none\"},connectgaps:{valType:\"boolean\",editType:\"calc\"},xgap:{valType:\"number\",dflt:0,min:0,editType:\"plot\"},ygap:{valType:\"number\",dflt:0,min:0,editType:\"plot\"},xhoverformat:o(\"x\"),yhoverformat:o(\"y\"),zhoverformat:o(\"z\",1),hovertemplate:s(),texttemplate:l({arrayOk:!1,editType:\"plot\"},{keys:[\"x\",\"y\",\"z\",\"text\"]}),textfont:a({editType:\"plot\",autoSize:!0,autoColor:!0,colorEditType:\"style\"}),showlegend:u({},i.showlegend,{dflt:!1})},{transforms:void 0},c(\"\",{cLetter:\"z\",autoColorDflt:!1}))},{\"../../components/colorscale/attributes\":374,\"../../lib/extend\":505,\"../../plots/attributes\":562,\"../../plots/cartesian/axis_format_attributes\":569,\"../../plots/font_attributes\":594,\"../../plots/template_attributes\":642,\"../scatter/attributes\":936}],802:[function(t,e,r){\"use strict\";var n=t(\"../../registry\"),i=t(\"../../lib\"),a=t(\"../../plots/cartesian/axes\"),o=t(\"../../plots/cartesian/align_period\"),s=t(\"../histogram2d/calc\"),l=t(\"../../components/colorscale/calc\"),c=t(\"./convert_column_xyz\"),u=t(\"./clean_2d_array\"),f=t(\"./interp2d\"),h=t(\"./find_empties\"),p=t(\"./make_bound_array\"),d=t(\"../../constants/numerical\").BADNUM;function m(t){for(var e=[],r=t.length,n=0;nD){O(\"x scale is not linear\");break}}if(x.length&&\"fast\"===P){var R=(x[x.length-1]-x[0])/(x.length-1),F=Math.abs(R/100);for(k=0;kF){O(\"y scale is not linear\");break}}}var B=i.maxRowLength(T),N=\"scaled\"===e.xtype?\"\":r,j=p(e,N,g,v,B,M),U=\"scaled\"===e.ytype?\"\":x,V=p(e,U,b,_,T.length,S);C||(e._extremes[M._id]=a.findExtremes(M,j),e._extremes[S._id]=a.findExtremes(S,V));var H={x:j,y:V,z:T,text:e._text||e.text,hovertext:e._hovertext||e.hovertext};if(e.xperiodalignment&&y&&(H.orig_x=y),e.yperiodalignment&&w&&(H.orig_y=w),N&&N.length===j.length-1&&(H.xCenter=N),U&&U.length===V.length-1&&(H.yCenter=U),L&&(H.xRanges=A.xRanges,H.yRanges=A.yRanges,H.pts=A.pts),E||l(t,e,{vals:T,cLetter:\"z\"}),E&&e.contours&&\"heatmap\"===e.contours.coloring){var q={type:\"contour\"===e.type?\"heatmap\":\"histogram2d\",xcalendar:e.xcalendar,ycalendar:e.ycalendar};H.xfill=p(q,N,g,v,B,M),H.yfill=p(q,U,b,_,T.length,S)}return[H]}},{\"../../components/colorscale/calc\":375,\"../../constants/numerical\":491,\"../../lib\":515,\"../../plots/cartesian/align_period\":563,\"../../plots/cartesian/axes\":566,\"../../registry\":647,\"../histogram2d/calc\":835,\"./clean_2d_array\":803,\"./convert_column_xyz\":805,\"./find_empties\":807,\"./interp2d\":810,\"./make_bound_array\":812}],803:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"../../lib\"),a=t(\"../../constants/numerical\").BADNUM;e.exports=function(t,e,r,o){var s,l,c,u,f,h;function p(t){if(n(t))return+t}if(e&&e.transpose){for(s=0,f=0;f=0;o--)(s=((f[[(r=(a=h[o])[0])-1,i=a[1]]]||m)[2]+(f[[r+1,i]]||m)[2]+(f[[r,i-1]]||m)[2]+(f[[r,i+1]]||m)[2])/20)&&(l[a]=[r,i,s],h.splice(o,1),c=!0);if(!c)throw\"findEmpties iterated with no new neighbors\";for(a in l)f[a]=l[a],u.push(l[a])}return u.sort((function(t,e){return e[2]-t[2]}))}},{\"../../lib\":515}],808:[function(t,e,r){\"use strict\";var n=t(\"../../components/fx\"),i=t(\"../../lib\"),a=t(\"../../plots/cartesian/axes\"),o=t(\"../../components/colorscale\").extractOpts;e.exports=function(t,e,r,s,l){l||(l={});var c,u,f,h,p=l.isContour,d=t.cd[0],m=d.trace,g=t.xa,v=t.ya,y=d.x,x=d.y,b=d.z,_=d.xCenter,w=d.yCenter,T=d.zmask,k=m.zhoverformat,A=y,M=x;if(!1!==t.index){try{f=Math.round(t.index[1]),h=Math.round(t.index[0])}catch(e){return void i.error(\"Error hovering on heatmap, pointNumber must be [row,col], found:\",t.index)}if(f<0||f>=b[0].length||h<0||h>b.length)return}else{if(n.inbox(e-y[0],e-y[y.length-1],0)>0||n.inbox(r-x[0],r-x[x.length-1],0)>0)return;if(p){var S;for(A=[2*y[0]-y[1]],S=1;Sm&&(v=Math.max(v,Math.abs(t[a][o]-d)/(g-m))))}return v}e.exports=function(t,e){var r,i=1;for(o(t,e),r=0;r.01;r++)i=o(t,e,a(i));return i>.01&&n.log(\"interp2d didn't converge quickly\",i),t}},{\"../../lib\":515}],811:[function(t,e,r){\"use strict\";var n=t(\"../../lib\");e.exports=function(t,e){t(\"texttemplate\");var r=n.extendFlat({},e.font,{color:\"auto\",size:\"auto\"});n.coerceFont(t,\"textfont\",r)}},{\"../../lib\":515}],812:[function(t,e,r){\"use strict\";var n=t(\"../../registry\"),i=t(\"../../lib\").isArrayOrTypedArray;e.exports=function(t,e,r,a,o,s){var l,c,u,f=[],h=n.traceIs(t,\"contour\"),p=n.traceIs(t,\"histogram\"),d=n.traceIs(t,\"gl2d\");if(i(e)&&e.length>1&&!p&&\"category\"!==s.type){var m=e.length;if(!(m<=o))return h?e.slice(0,o):e.slice(0,o+1);if(h||d)f=e.slice(0,o);else if(1===o)f=[e[0]-.5,e[0]+.5];else{for(f=[1.5*e[0]-.5*e[1]],u=1;u0;)_=w.c2p(R[S]),S--;for(_0;)M=T.c2p(F[S]),S--;if(MGt||Gt>T._length))for(E=Ut;EWt||Wt>w._length)){var Zt=u({x:Yt,y:qt},I,t._fullLayout);Zt.x=Yt,Zt.y=qt;var Xt=P.z[S][E];void 0===Xt?(Zt.z=\"\",Zt.zLabel=\"\"):(Zt.z=Xt,Zt.zLabel=s.tickText(Ft,Xt,\"hover\").text);var Jt=P.text&&P.text[S]&&P.text[S][E];void 0!==Jt&&!1!==Jt||(Jt=\"\"),Zt.text=Jt;var Kt=l.texttemplateString(Dt,Zt,t._fullLayout._d3locale,Zt,I._meta||{});if(Kt){var Qt=Kt.split(\"
\"),$t=Qt.length,te=0;for(L=0;L<$t;L++)te=Math.max(te,Qt[L].length);Ht.push({l:$t,c:te,t:Kt,x:Wt,y:Gt,z:Xt})}}}}var ee=I.textfont,re=ee.family,ne=ee.size,ie=t._fullLayout.font.size;if(!ne||\"auto\"===ne){var ae=1/0,oe=1/0,se=0,le=0;for(L=0;L0&&(a=!0);for(var l=0;la){var o=a-r[t];return r[t]=a,o}}return 0},max:function(t,e,r,i){var a=i[e];if(n(a)){if(a=Number(a),!n(r[t]))return r[t]=a,a;if(r[t]c?t>o?t>1.1*i?i:t>1.1*a?a:o:t>s?s:t>l?l:c:Math.pow(10,Math.floor(Math.log(t)/Math.LN10))}function p(t,e,r,n,a,s){if(n&&t>o){var l=d(e,a,s),c=d(r,a,s),u=t===i?0:1;return l[u]!==c[u]}return Math.floor(r/t)-Math.floor(e/t)>.1}function d(t,e,r){var n=e.c2d(t,i,r).split(\"-\");return\"\"===n[0]&&(n.unshift(),n[0]=\"-\"+n[0]),n}e.exports=function(t,e,r,n,a){var s,l,c=-1.1*e,h=-.1*e,p=t-h,d=r[0],m=r[1],g=Math.min(f(d+h,d+p,n,a),f(m+h,m+p,n,a)),v=Math.min(f(d+c,d+h,n,a),f(m+c,m+h,n,a));if(g>v&&vo){var y=s===i?1:6,x=s===i?\"M12\":\"M1\";return function(e,r){var o=n.c2d(e,i,a),s=o.indexOf(\"-\",y);s>0&&(o=o.substr(0,s));var c=n.d2c(o,0,a);if(cr.r2l(B)&&(j=o.tickIncrement(j,b.size,!0,p)),z.start=r.l2r(j),F||i.nestedProperty(e,v+\".start\").set(z.start)}var U=b.end,V=r.r2l(O.end),H=void 0!==V;if((b.endFound||H)&&V!==r.r2l(U)){var q=H?V:i.aggNums(Math.max,null,d);z.end=r.l2r(q),H||i.nestedProperty(e,v+\".start\").set(z.end)}var G=\"autobin\"+s;return!1===e._input[G]&&(e._input[v]=i.extendFlat({},e[v]||{}),delete e._input[G],delete e[G]),[z,d]}e.exports={calc:function(t,e){var r,a,p,d,m=[],g=[],v=\"h\"===e.orientation,y=o.getFromId(t,v?e.yaxis:e.xaxis),x=v?\"y\":\"x\",b={x:\"y\",y:\"x\"}[x],_=e[x+\"calendar\"],w=e.cumulative,T=h(t,e,y,x),k=T[0],A=T[1],M=\"string\"==typeof k.size,S=[],E=M?S:k,L=[],C=[],P=[],I=0,O=e.histnorm,z=e.histfunc,D=-1!==O.indexOf(\"density\");w.enabled&&D&&(O=O.replace(/ ?density$/,\"\"),D=!1);var R,F=\"max\"===z||\"min\"===z?null:0,B=l.count,N=c[O],j=!1,U=function(t){return y.r2c(t,0,_)};for(i.isArrayOrTypedArray(e[b])&&\"count\"!==z&&(R=e[b],j=\"avg\"===z,B=l[z]),r=U(k.start),p=U(k.end)+(r-o.tickIncrement(r,k.size,!1,_))/1e6;r=0&&d=0;n--)s(n);else if(\"increasing\"===e){for(n=1;n=0;n--)t[n]+=t[n+1];\"exclude\"===r&&(t.push(0),t.shift())}}(g,w.direction,w.currentbin);var K=Math.min(m.length,g.length),Q=[],$=0,tt=K-1;for(r=0;r=$;r--)if(g[r]){tt=r;break}for(r=$;r<=tt;r++)if(n(m[r])&&n(g[r])){var et={p:m[r],s:g[r],b:0};w.enabled||(et.pts=P[r],Y?et.ph0=et.ph1=P[r].length?A[P[r][0]]:m[r]:(e._computePh=!0,et.ph0=q(S[r]),et.ph1=q(S[r+1],!0))),Q.push(et)}return 1===Q.length&&(Q[0].width1=o.tickIncrement(Q[0].p,k.size,!1,_)-Q[0].p),s(Q,e),i.isArrayOrTypedArray(e.selectedpoints)&&i.tagSelected(Q,e,X),Q},calcAllAutoBins:h}},{\"../../lib\":515,\"../../plots/cartesian/axes\":566,\"../../registry\":647,\"../bar/arrays_to_calcdata\":656,\"./average\":822,\"./bin_functions\":824,\"./bin_label_vals\":825,\"./norm_functions\":833,\"fast-isnumeric\":190}],827:[function(t,e,r){\"use strict\";e.exports={eventDataKeys:[\"binNumber\"]}},{}],828:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../plots/cartesian/axis_ids\"),a=t(\"../../registry\").traceIs,o=t(\"../bar/defaults\").handleGroupingDefaults,s=n.nestedProperty,l=t(\"../../plots/cartesian/constraints\").getAxisGroup,c=[{aStr:{x:\"xbins.start\",y:\"ybins.start\"},name:\"start\"},{aStr:{x:\"xbins.end\",y:\"ybins.end\"},name:\"end\"},{aStr:{x:\"xbins.size\",y:\"ybins.size\"},name:\"size\"},{aStr:{x:\"nbinsx\",y:\"nbinsy\"},name:\"nbins\"}],u=[\"x\",\"y\"];e.exports=function(t,e){var r,f,h,p,d,m,g,v=e._histogramBinOpts={},y=[],x={},b=[];function _(t,e){return n.coerce(r._input,r,r._module.attributes,t,e)}function w(t){return\"v\"===t.orientation?\"x\":\"y\"}function T(t,r,a){var o=t.uid+\"__\"+a;r||(r=o);var s=function(t,r){return i.getFromTrace({_fullLayout:e},t,r).type}(t,a),l=t[a+\"calendar\"]||\"\",c=v[r],u=!0;c&&(s===c.axType&&l===c.calendar?(u=!1,c.traces.push(t),c.dirs.push(a)):(r=o,s!==c.axType&&n.warn([\"Attempted to group the bins of trace\",t.index,\"set on a\",\"type:\"+s,\"axis\",\"with bins on\",\"type:\"+c.axType,\"axis.\"].join(\" \")),l!==c.calendar&&n.warn([\"Attempted to group the bins of trace\",t.index,\"set with a\",l,\"calendar\",\"with bins\",c.calendar?\"on a \"+c.calendar+\" calendar\":\"w/o a set calendar\"].join(\" \")))),u&&(v[r]={traces:[t],dirs:[a],axType:s,calendar:t[a+\"calendar\"]||\"\"}),t[\"_\"+a+\"bingroup\"]=r}for(d=0;dS&&T.splice(S,T.length-S),M.length>S&&M.splice(S,M.length-S);var E=[],L=[],C=[],P=\"string\"==typeof w.size,I=\"string\"==typeof A.size,O=[],z=[],D=P?O:w,R=I?z:A,F=0,B=[],N=[],j=e.histnorm,U=e.histfunc,V=-1!==j.indexOf(\"density\"),H=\"max\"===U||\"min\"===U?null:0,q=a.count,G=o[j],Y=!1,W=[],Z=[],X=\"z\"in e?e.z:\"marker\"in e&&Array.isArray(e.marker.color)?e.marker.color:\"\";X&&\"count\"!==U&&(Y=\"avg\"===U,q=a[U]);var J=w.size,K=x(w.start),Q=x(w.end)+(K-i.tickIncrement(K,J,!1,v))/1e6;for(r=K;r=0&&p=0&&d-1,flipY:L.tiling.flip.indexOf(\"y\")>-1,orientation:L.tiling.orientation,pad:{inner:L.tiling.pad},maxDepth:L._maxDepth}).descendants(),z=1/0,D=-1/0;O.forEach((function(t){var e=t.depth;e>=L._maxDepth?(t.x0=t.x1=(t.x0+t.x1)/2,t.y0=t.y1=(t.y0+t.y1)/2):(z=Math.min(z,e),D=Math.max(D,e))})),p=p.data(O,u.getPtId),L._maxVisibleLayers=isFinite(D)?D-z+1:0,p.enter().append(\"g\").classed(\"slice\",!0),T(p,!1,{},[m,g],x),p.order();var R=null;if(w&&M){var F=u.getPtId(M);p.each((function(t){null===R&&u.getPtId(t)===F&&(R={x0:t.x0,x1:t.x1,y0:t.y0,y1:t.y1})}))}var B=function(){return R||{x0:0,x1:m,y0:0,y1:g}},N=p;return w&&(N=N.transition().each(\"end\",(function(){var e=n.select(this);u.setSliceCursor(e,t,{hideOnRoot:!0,hideOnLeaves:!1,isTransitioning:!1})}))),N.each((function(s){s._x0=v(s.x0),s._x1=v(s.x1),s._y0=y(s.y0),s._y1=y(s.y1),s._hoverX=v(s.x1-L.tiling.pad),s._hoverY=y(I?s.y1-L.tiling.pad/2:s.y0+L.tiling.pad/2);var p=n.select(this),d=i.ensureSingle(p,\"path\",\"surface\",(function(t){t.style(\"pointer-events\",S?\"none\":\"all\")}));w?d.transition().attrTween(\"d\",(function(t){var e=k(t,!1,B(),[m,g],{orientation:L.tiling.orientation,flipX:L.tiling.flip.indexOf(\"x\")>-1,flipY:L.tiling.flip.indexOf(\"y\")>-1});return function(t){return x(e(t))}})):d.attr(\"d\",x),p.call(f,r,t,e,{styleOne:l,eventDataKeys:c.eventDataKeys,transitionTime:c.CLICK_TRANSITION_TIME,transitionEasing:c.CLICK_TRANSITION_EASING}).call(u.setSliceCursor,t,{isTransitioning:t._transitioning}),d.call(l,s,L,{hovered:!1}),s.x0===s.x1||s.y0===s.y1?s._text=\"\":s._text=h(s,r,L,e,E)||\"\";var T=i.ensureSingle(p,\"g\",\"slicetext\"),M=i.ensureSingle(T,\"text\",\"\",(function(t){t.attr(\"data-notex\",1)})),O=i.ensureUniformFontSize(t,u.determineTextFont(L,s,E.font));M.text(s._text||\" \").classed(\"slicetext\",!0).attr(\"text-anchor\",P?\"end\":C?\"start\":\"middle\").call(a.font,O).call(o.convertToTspans,t),s.textBB=a.bBox(M.node()),s.transform=b(s,{fontSize:O.size}),s.transform.fontSize=O.size,w?M.transition().attrTween(\"transform\",(function(t){var e=A(t,!1,B(),[m,g]);return function(t){return _(e(t))}})):M.attr(\"transform\",_(s))})),R}},{\"../../components/drawing\":389,\"../../lib\":515,\"../../lib/svg_text_utils\":541,\"../sunburst/fx\":1063,\"../sunburst/helpers\":1064,\"../sunburst/plot\":1068,\"../treemap/constants\":1087,\"./partition\":851,\"./style\":853,\"@plotly/d3\":58}],848:[function(t,e,r){\"use strict\";e.exports={moduleType:\"trace\",name:\"icicle\",basePlotModule:t(\"./base_plot\"),categories:[],animatable:!0,attributes:t(\"./attributes\"),layoutAttributes:t(\"./layout_attributes\"),supplyDefaults:t(\"./defaults\"),supplyLayoutDefaults:t(\"./layout_defaults\"),calc:t(\"./calc\").calc,crossTraceCalc:t(\"./calc\").crossTraceCalc,plot:t(\"./plot\"),style:t(\"./style\").style,colorbar:t(\"../scatter/marker_colorbar\"),meta:{}}},{\"../scatter/marker_colorbar\":954,\"./attributes\":843,\"./base_plot\":844,\"./calc\":845,\"./defaults\":846,\"./layout_attributes\":849,\"./layout_defaults\":850,\"./plot\":852,\"./style\":853}],849:[function(t,e,r){\"use strict\";e.exports={iciclecolorway:{valType:\"colorlist\",editType:\"calc\"},extendiciclecolors:{valType:\"boolean\",dflt:!0,editType:\"calc\"}}},{}],850:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"./layout_attributes\");e.exports=function(t,e){function r(r,a){return n.coerce(t,e,i,r,a)}r(\"iciclecolorway\",e.colorway),r(\"extendiciclecolors\")}},{\"../../lib\":515,\"./layout_attributes\":849}],851:[function(t,e,r){\"use strict\";var n=t(\"d3-hierarchy\"),i=t(\"../treemap/flip_tree\");e.exports=function(t,e,r){var a=r.flipX,o=r.flipY,s=\"h\"===r.orientation,l=r.maxDepth,c=e[0],u=e[1];l&&(c=(t.height+1)*e[0]/Math.min(t.height+1,l),u=(t.height+1)*e[1]/Math.min(t.height+1,l));var f=n.partition().padding(r.pad.inner).size(s?[e[1],c]:[e[0],u])(t);return(s||a||o)&&i(f,e,{swapXY:s,flipX:a,flipY:o}),f}},{\"../treemap/flip_tree\":1092,\"d3-hierarchy\":115}],852:[function(t,e,r){\"use strict\";var n=t(\"../treemap/draw\"),i=t(\"./draw_descendants\");e.exports=function(t,e,r,a){return n(t,e,r,a,{type:\"icicle\",drawDescendants:i})}},{\"../treemap/draw\":1089,\"./draw_descendants\":847}],853:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\"),i=t(\"../../components/color\"),a=t(\"../../lib\"),o=t(\"../bar/uniform_text\").resizeText;function s(t,e,r){var n=e.data.data,o=!e.children,s=n.i,l=a.castOption(r,s,\"marker.line.color\")||i.defaultLine,c=a.castOption(r,s,\"marker.line.width\")||0;t.style(\"stroke-width\",c).call(i.fill,n.color).call(i.stroke,l).style(\"opacity\",o?r.leaf.opacity:null)}e.exports={style:function(t){var e=t._fullLayout._iciclelayer.selectAll(\".trace\");o(t,e,\"icicle\"),e.each((function(t){var e=n.select(this),r=t[0].trace;e.style(\"opacity\",r.opacity),e.selectAll(\"path.surface\").each((function(t){n.select(this).call(s,t,r)}))}))},styleOne:s}},{\"../../components/color\":367,\"../../lib\":515,\"../bar/uniform_text\":673,\"@plotly/d3\":58}],854:[function(t,e,r){\"use strict\";for(var n=t(\"../../plots/attributes\"),i=t(\"../../plots/template_attributes\").hovertemplateAttrs,a=t(\"../../lib/extend\").extendFlat,o=t(\"./constants\").colormodel,s=[\"rgb\",\"rgba\",\"rgba256\",\"hsl\",\"hsla\"],l=[],c=[],u=0;u0||n.inbox(r-o.y0,r-(o.y0+o.h*s.dy),0)>0)){var u,f=Math.floor((e-o.x0)/s.dx),h=Math.floor(Math.abs(r-o.y0)/s.dy);if(s._hasZ?u=o.z[h][f]:s._hasSource&&(u=s._canvas.el.getContext(\"2d\",{willReadFrequently:!0}).getImageData(f,h,1,1).data),u){var p,d=o.hi||s.hoverinfo;if(d){var m=d.split(\"+\");-1!==m.indexOf(\"all\")&&(m=[\"color\"]),-1!==m.indexOf(\"color\")&&(p=!0)}var g,v=a.colormodel[s.colormodel],y=v.colormodel||s.colormodel,x=y.length,b=s._scaler(u),_=v.suffix,w=[];(s.hovertemplate||p)&&(w.push(\"[\"+[b[0]+_[0],b[1]+_[1],b[2]+_[2]].join(\", \")),4===x&&w.push(\", \"+b[3]+_[3]),w.push(\"]\"),w=w.join(\"\"),t.extraText=y.toUpperCase()+\": \"+w),Array.isArray(s.hovertext)&&Array.isArray(s.hovertext[h])?g=s.hovertext[h][f]:Array.isArray(s.text)&&Array.isArray(s.text[h])&&(g=s.text[h][f]);var T=c.c2p(o.y0+(h+.5)*s.dy),k=o.x0+(f+.5)*s.dx,A=o.y0+(h+.5)*s.dy,M=\"[\"+u.slice(0,s.colormodel.length).join(\", \")+\"]\";return[i.extendFlat(t,{index:[h,f],x0:l.c2p(o.x0+f*s.dx),x1:l.c2p(o.x0+(f+1)*s.dx),y0:T,y1:T,color:b,xVal:k,xLabelVal:k,yVal:A,yLabelVal:A,zLabelVal:M,text:g,hovertemplateLabels:{zLabel:M,colorLabel:w,\"color[0]Label\":b[0]+_[0],\"color[1]Label\":b[1]+_[1],\"color[2]Label\":b[2]+_[2],\"color[3]Label\":b[3]+_[3]}})]}}}},{\"../../components/fx\":407,\"../../lib\":515,\"./constants\":856}],861:[function(t,e,r){\"use strict\";e.exports={attributes:t(\"./attributes\"),supplyDefaults:t(\"./defaults\"),calc:t(\"./calc\"),plot:t(\"./plot\"),style:t(\"./style\"),hoverPoints:t(\"./hover\"),eventData:t(\"./event_data\"),moduleType:\"trace\",name:\"image\",basePlotModule:t(\"../../plots/cartesian\"),categories:[\"cartesian\",\"svg\",\"2dMap\",\"noSortingByValue\"],animatable:!1,meta:{}}},{\"../../plots/cartesian\":578,\"./attributes\":854,\"./calc\":855,\"./defaults\":857,\"./event_data\":858,\"./hover\":860,\"./plot\":862,\"./style\":863}],862:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\"),i=t(\"../../lib\"),a=i.strTranslate,o=t(\"../../constants/xmlns_namespaces\"),s=t(\"./constants\"),l=i.isIOS()||i.isSafari()||i.isIE();e.exports=function(t,e,r,c){var u=e.xaxis,f=e.yaxis,h=!(l||t._context._exportedPlot);i.makeTraceGroups(c,r,\"im\").each((function(e){var r=n.select(this),l=e[0],c=l.trace,p=(\"fast\"===c.zsmooth||!1===c.zsmooth&&h)&&!c._hasZ&&c._hasSource&&\"linear\"===u.type&&\"linear\"===f.type;c._realImage=p;var d,m,g,v,y,x,b=l.z,_=l.x0,w=l.y0,T=l.w,k=l.h,A=c.dx,M=c.dy;for(x=0;void 0===d&&x0;)m=u.c2p(_+x*A),x--;for(x=0;void 0===v&&x0;)y=f.c2p(w+x*M),x--;if(mI[0];if(O||z){var D=d+S/2,R=v+E/2;C+=\"transform:\"+a(D+\"px\",R+\"px\")+\"scale(\"+(O?-1:1)+\",\"+(z?-1:1)+\")\"+a(-D+\"px\",-R+\"px\")+\";\"}}L.attr(\"style\",C);var F=new Promise((function(t){if(c._hasZ)t();else if(c._hasSource)if(c._canvas&&c._canvas.el.width===T&&c._canvas.el.height===k&&c._canvas.source===c.source)t();else{var e=document.createElement(\"canvas\");e.width=T,e.height=k;var r=e.getContext(\"2d\",{willReadFrequently:!0});c._image=c._image||new Image;var n=c._image;n.onload=function(){r.drawImage(n,0,0),c._canvas={el:e,source:c.source},t()},n.setAttribute(\"src\",c.source)}})).then((function(){var t;if(c._hasZ)t=B((function(t,e){return b[e][t]})).toDataURL(\"image/png\");else if(c._hasSource)if(p)t=c.source;else{var e=c._canvas.el.getContext(\"2d\",{willReadFrequently:!0}).getImageData(0,0,T,k).data;t=B((function(t,r){var n=4*(r*T+t);return[e[n],e[n+1],e[n+2],e[n+3]]})).toDataURL(\"image/png\")}L.attr({\"xlink:href\":t,height:E,width:S,x:d,y:v})}));t._promises.push(F)}function B(t){var e=document.createElement(\"canvas\");e.width=S,e.height=E;var r,n=e.getContext(\"2d\",{willReadFrequently:!0}),a=function(t){return i.constrain(Math.round(u.c2p(_+t*A)-d),0,S)},o=function(t){return i.constrain(Math.round(f.c2p(w+t*M)-v),0,E)},h=s.colormodel[c.colormodel],p=h.colormodel||c.colormodel,m=h.fmt;for(x=0;x0}function T(t){t.each((function(t){y.stroke(n.select(this),t.line.color)})).each((function(t){y.fill(n.select(this),t.color)})).style(\"stroke-width\",(function(t){return t.line.width}))}function k(t,e,r){var n=t._fullLayout,i=o.extendFlat({type:\"linear\",ticks:\"outside\",range:r,showline:!0},e),a={type:\"linear\",_id:\"x\"+e._id},s={letter:\"x\",font:n.font,noHover:!0,noTickson:!0};function l(t,e){return o.coerce(i,a,v,t,e)}return m(i,a,l,s,n),g(i,a,l,s),a}function A(t,e,r){return[Math.min(e/t.width,r/t.height),t,e+\"x\"+r]}function M(t,e,r,i){var a=document.createElementNS(\"http://www.w3.org/2000/svg\",\"text\"),o=n.select(a);return o.text(t).attr(\"x\",0).attr(\"y\",0).attr(\"text-anchor\",r).attr(\"data-unformatted\",t).call(p.convertToTspans,i).call(f.font,e),f.bBox(o.node())}function S(t,e,r,n,i,a){var s=\"_cache\"+e;t[s]&&t[s].key===i||(t[s]={key:i,value:r});var l=o.aggNums(a,null,[t[s].value,n],2);return t[s].value=l,l}e.exports=function(t,e,r,m){var g,v=t._fullLayout;w(r)&&m&&(g=m()),o.makeTraceGroups(v._indicatorlayer,e,\"trace\").each((function(e){var m,E,L,C,P,I=e[0].trace,O=n.select(this),z=I._hasGauge,D=I._isAngular,R=I._isBullet,F=I.domain,B={w:v._size.w*(F.x[1]-F.x[0]),h:v._size.h*(F.y[1]-F.y[0]),l:v._size.l+v._size.w*F.x[0],r:v._size.r+v._size.w*(1-F.x[1]),t:v._size.t+v._size.h*(1-F.y[1]),b:v._size.b+v._size.h*F.y[0]},N=B.l+B.w/2,j=B.t+B.h/2,U=Math.min(B.w/2,B.h),V=h.innerRadius*U,H=I.align||\"center\";if(E=j,z){if(D&&(m=N,E=j+U/2,L=function(t){return function(t,e){var r=Math.sqrt(t.width/2*(t.width/2)+t.height*t.height);return[e/r,t,e]}(t,.9*V)}),R){var q=h.bulletPadding,G=1-h.bulletNumberDomainSize+q;m=B.l+(G+(1-G)*b[H])*B.w,L=function(t){return A(t,(h.bulletNumberDomainSize-q)*B.w,B.h)}}}else m=B.l+b[H]*B.w,L=function(t){return A(t,B.w,B.h)};!function(t,e,r,i){var c,u,h,m=r[0].trace,g=i.numbersX,v=i.numbersY,T=m.align||\"center\",A=x[T],E=i.transitionOpts,L=i.onComplete,C=o.ensureSingle(e,\"g\",\"numbers\"),P=[];m._hasNumber&&P.push(\"number\");m._hasDelta&&(P.push(\"delta\"),\"left\"===m.delta.position&&P.reverse());var I=C.selectAll(\"text\").data(P);function O(e,r,n,i){if(!e.match(\"s\")||n>=0==i>=0||r(n).slice(-1).match(_)||r(i).slice(-1).match(_))return r;var a=e.slice().replace(\"s\",\"f\").replace(/\\d+/,(function(t){return parseInt(t)-1})),o=k(t,{tickformat:a});return function(t){return Math.abs(t)<1?d.tickText(o,t).text:r(t)}}I.enter().append(\"text\"),I.attr(\"text-anchor\",(function(){return A})).attr(\"class\",(function(t){return t})).attr(\"x\",null).attr(\"y\",null).attr(\"dx\",null).attr(\"dy\",null),I.exit().remove();var z,D=m.mode+m.align;m._hasDelta&&(z=function(){var e=k(t,{tickformat:m.delta.valueformat},m._range);e.setScale(),d.prepTicks(e);var i=function(t){return d.tickText(e,t).text},o=m.delta.suffix,s=m.delta.prefix,l=function(t){return m.delta.relative?t.relativeDelta:t.delta},c=function(t,e){return 0===t||\"number\"!=typeof t||isNaN(t)?\"-\":(t>0?m.delta.increasing.symbol:m.delta.decreasing.symbol)+s+e(t)+o},h=function(t){return t.delta>=0?m.delta.increasing.color:m.delta.decreasing.color};void 0===m._deltaLastValue&&(m._deltaLastValue=l(r[0]));var g=C.select(\"text.delta\");function v(){g.text(c(l(r[0]),i)).call(y.fill,h(r[0])).call(p.convertToTspans,t)}return g.call(f.font,m.delta.font).call(y.fill,h({delta:m._deltaLastValue})),w(E)?g.transition().duration(E.duration).ease(E.easing).tween(\"text\",(function(){var t=n.select(this),e=l(r[0]),o=m._deltaLastValue,s=O(m.delta.valueformat,i,o,e),u=a(o,e);return m._deltaLastValue=e,function(e){t.text(c(u(e),s)),t.call(y.fill,h({delta:u(e)}))}})).each(\"end\",(function(){v(),L&&L()})).each(\"interrupt\",(function(){v(),L&&L()})):v(),u=M(c(l(r[0]),i),m.delta.font,A,t),g}(),D+=m.delta.position+m.delta.font.size+m.delta.font.family+m.delta.valueformat,D+=m.delta.increasing.symbol+m.delta.decreasing.symbol,h=u);m._hasNumber&&(!function(){var e=k(t,{tickformat:m.number.valueformat},m._range);e.setScale(),d.prepTicks(e);var i=function(t){return d.tickText(e,t).text},o=m.number.suffix,s=m.number.prefix,l=C.select(\"text.number\");function u(){var e=\"number\"==typeof r[0].y?s+i(r[0].y)+o:\"-\";l.text(e).call(f.font,m.number.font).call(p.convertToTspans,t)}w(E)?l.transition().duration(E.duration).ease(E.easing).each(\"end\",(function(){u(),L&&L()})).each(\"interrupt\",(function(){u(),L&&L()})).attrTween(\"text\",(function(){var t=n.select(this),e=a(r[0].lastY,r[0].y);m._lastValue=r[0].y;var l=O(m.number.valueformat,i,r[0].lastY,r[0].y);return function(r){t.text(s+l(e(r))+o)}})):u(),c=M(s+i(r[0].y)+o,m.number.font,A,t)}(),D+=m.number.font.size+m.number.font.family+m.number.valueformat+m.number.suffix+m.number.prefix,h=c);if(m._hasDelta&&m._hasNumber){var R,F,B=[(c.left+c.right)/2,(c.top+c.bottom)/2],N=[(u.left+u.right)/2,(u.top+u.bottom)/2],j=.75*m.delta.font.size;\"left\"===m.delta.position&&(R=S(m,\"deltaPos\",0,-1*(c.width*b[m.align]+u.width*(1-b[m.align])+j),D,Math.min),F=B[1]-N[1],h={width:c.width+u.width+j,height:Math.max(c.height,u.height),left:u.left+R,right:c.right,top:Math.min(c.top,u.top+F),bottom:Math.max(c.bottom,u.bottom+F)}),\"right\"===m.delta.position&&(R=S(m,\"deltaPos\",0,c.width*(1-b[m.align])+u.width*b[m.align]+j,D,Math.max),F=B[1]-N[1],h={width:c.width+u.width+j,height:Math.max(c.height,u.height),left:c.left,right:u.right+R,top:Math.min(c.top,u.top+F),bottom:Math.max(c.bottom,u.bottom+F)}),\"bottom\"===m.delta.position&&(R=null,F=u.height,h={width:Math.max(c.width,u.width),height:c.height+u.height,left:Math.min(c.left,u.left),right:Math.max(c.right,u.right),top:c.bottom-c.height,bottom:c.bottom+u.height}),\"top\"===m.delta.position&&(R=null,F=c.top,h={width:Math.max(c.width,u.width),height:c.height+u.height,left:Math.min(c.left,u.left),right:Math.max(c.right,u.right),top:c.bottom-c.height-u.height,bottom:c.bottom}),z.attr({dx:R,dy:F})}(m._hasNumber||m._hasDelta)&&C.attr(\"transform\",(function(){var t=i.numbersScaler(h);D+=t[2];var e,r=S(m,\"numbersScale\",1,t[0],D,Math.min);m._scaleNumbers||(r=1),e=m._isAngular?v-r*h.bottom:v-r*(h.top+h.bottom)/2,m._numbersTop=r*h.top+e;var n=h[T];\"center\"===T&&(n=(h.left+h.right)/2);var a=g-r*n;return a=S(m,\"numbersTranslate\",0,a,D,Math.max),l(a,e)+s(r)}))}(t,O,e,{numbersX:m,numbersY:E,numbersScaler:L,transitionOpts:r,onComplete:g}),z&&(C={range:I.gauge.axis.range,color:I.gauge.bgcolor,line:{color:I.gauge.bordercolor,width:0},thickness:1},P={range:I.gauge.axis.range,color:\"rgba(0, 0, 0, 0)\",line:{color:I.gauge.bordercolor,width:I.gauge.borderwidth},thickness:1});var Y=O.selectAll(\"g.angular\").data(D?e:[]);Y.exit().remove();var W=O.selectAll(\"g.angularaxis\").data(D?e:[]);W.exit().remove(),D&&function(t,e,r,a){var o,s,f,h,p=r[0].trace,m=a.size,g=a.radius,v=a.innerRadius,y=a.gaugeBg,x=a.gaugeOutline,b=[m.l+m.w/2,m.t+m.h/2+g/2],_=a.gauge,A=a.layer,M=a.transitionOpts,S=a.onComplete,E=Math.PI/2;function L(t){var e=p.gauge.axis.range[0],r=(t-e)/(p.gauge.axis.range[1]-e)*Math.PI-E;return r<-E?-E:r>E?E:r}function C(t){return n.svg.arc().innerRadius((v+g)/2-t/2*(g-v)).outerRadius((v+g)/2+t/2*(g-v)).startAngle(-E)}function P(t){t.attr(\"d\",(function(t){return C(t.thickness).startAngle(L(t.range[0])).endAngle(L(t.range[1]))()}))}_.enter().append(\"g\").classed(\"angular\",!0),_.attr(\"transform\",l(b[0],b[1])),A.enter().append(\"g\").classed(\"angularaxis\",!0).classed(\"crisp\",!0),A.selectAll(\"g.xangularaxistick,path,text\").remove(),(o=k(t,p.gauge.axis)).type=\"linear\",o.range=p.gauge.axis.range,o._id=\"xangularaxis\",o.ticklabeloverflow=\"allow\",o.setScale();var I=function(t){return(o.range[0]-t.x)/(o.range[1]-o.range[0])*Math.PI+Math.PI},O={},z=d.makeLabelFns(o,0).labelStandoff;O.xFn=function(t){var e=I(t);return Math.cos(e)*z},O.yFn=function(t){var e=I(t),r=Math.sin(e)>0?.2:1;return-Math.sin(e)*(z+t.fontSize*r)+Math.abs(Math.cos(e))*(t.fontSize*u)},O.anchorFn=function(t){var e=I(t),r=Math.cos(e);return Math.abs(r)<.1?\"middle\":r>0?\"start\":\"end\"},O.heightFn=function(t,e,r){var n=I(t);return-.5*(1+Math.sin(n))*r};var D=function(t){return l(b[0]+g*Math.cos(t),b[1]-g*Math.sin(t))};f=function(t){return D(I(t))};if(s=d.calcTicks(o),h=d.getTickSigns(o)[2],o.visible){h=\"inside\"===o.ticks?-1:1;var R=(o.linewidth||1)/2;d.drawTicks(t,o,{vals:s,layer:A,path:\"M\"+h*R+\",0h\"+h*o.ticklen,transFn:function(t){var e=I(t);return D(e)+\"rotate(\"+-c(e)+\")\"}}),d.drawLabels(t,o,{vals:s,layer:A,transFn:f,labelFns:O})}var F=[y].concat(p.gauge.steps),B=_.selectAll(\"g.bg-arc\").data(F);B.enter().append(\"g\").classed(\"bg-arc\",!0).append(\"path\"),B.select(\"path\").call(P).call(T),B.exit().remove();var N=C(p.gauge.bar.thickness),j=_.selectAll(\"g.value-arc\").data([p.gauge.bar]);j.enter().append(\"g\").classed(\"value-arc\",!0).append(\"path\");var U=j.select(\"path\");w(M)?(U.transition().duration(M.duration).ease(M.easing).each(\"end\",(function(){S&&S()})).each(\"interrupt\",(function(){S&&S()})).attrTween(\"d\",(V=N,H=L(r[0].lastY),q=L(r[0].y),function(){var t=i(H,q);return function(e){return V.endAngle(t(e))()}})),p._lastValue=r[0].y):U.attr(\"d\",\"number\"==typeof r[0].y?N.endAngle(L(r[0].y)):\"M0,0Z\");var V,H,q;U.call(T),j.exit().remove(),F=[];var G=p.gauge.threshold.value;(G||0===G)&&F.push({range:[G,G],color:p.gauge.threshold.color,line:{color:p.gauge.threshold.line.color,width:p.gauge.threshold.line.width},thickness:p.gauge.threshold.thickness});var Y=_.selectAll(\"g.threshold-arc\").data(F);Y.enter().append(\"g\").classed(\"threshold-arc\",!0).append(\"path\"),Y.select(\"path\").call(P).call(T),Y.exit().remove();var W=_.selectAll(\"g.gauge-outline\").data([x]);W.enter().append(\"g\").classed(\"gauge-outline\",!0).append(\"path\"),W.select(\"path\").call(P).call(T),W.exit().remove()}(t,0,e,{radius:U,innerRadius:V,gauge:Y,layer:W,size:B,gaugeBg:C,gaugeOutline:P,transitionOpts:r,onComplete:g});var Z=O.selectAll(\"g.bullet\").data(R?e:[]);Z.exit().remove();var X=O.selectAll(\"g.bulletaxis\").data(R?e:[]);X.exit().remove(),R&&function(t,e,r,n){var i,a,o,s,c,u=r[0].trace,f=n.gauge,p=n.layer,m=n.gaugeBg,g=n.gaugeOutline,v=n.size,x=u.domain,b=n.transitionOpts,_=n.onComplete;f.enter().append(\"g\").classed(\"bullet\",!0),f.attr(\"transform\",l(v.l,v.t)),p.enter().append(\"g\").classed(\"bulletaxis\",!0).classed(\"crisp\",!0),p.selectAll(\"g.xbulletaxistick,path,text\").remove();var A=v.h,M=u.gauge.bar.thickness*A,S=x.x[0],E=x.x[0]+(x.x[1]-x.x[0])*(u._hasNumber||u._hasDelta?1-h.bulletNumberDomainSize:1);(i=k(t,u.gauge.axis))._id=\"xbulletaxis\",i.domain=[S,E],i.setScale(),a=d.calcTicks(i),o=d.makeTransTickFn(i),s=d.getTickSigns(i)[2],c=v.t+v.h,i.visible&&(d.drawTicks(t,i,{vals:\"inside\"===i.ticks?d.clipEnds(i,a):a,layer:p,path:d.makeTickPath(i,c,s),transFn:o}),d.drawLabels(t,i,{vals:a,layer:p,transFn:o,labelFns:d.makeLabelFns(i,c)}));function L(t){t.attr(\"width\",(function(t){return Math.max(0,i.c2p(t.range[1])-i.c2p(t.range[0]))})).attr(\"x\",(function(t){return i.c2p(t.range[0])})).attr(\"y\",(function(t){return.5*(1-t.thickness)*A})).attr(\"height\",(function(t){return t.thickness*A}))}var C=[m].concat(u.gauge.steps),P=f.selectAll(\"g.bg-bullet\").data(C);P.enter().append(\"g\").classed(\"bg-bullet\",!0).append(\"rect\"),P.select(\"rect\").call(L).call(T),P.exit().remove();var I=f.selectAll(\"g.value-bullet\").data([u.gauge.bar]);I.enter().append(\"g\").classed(\"value-bullet\",!0).append(\"rect\"),I.select(\"rect\").attr(\"height\",M).attr(\"y\",(A-M)/2).call(T),w(b)?I.select(\"rect\").transition().duration(b.duration).ease(b.easing).each(\"end\",(function(){_&&_()})).each(\"interrupt\",(function(){_&&_()})).attr(\"width\",Math.max(0,i.c2p(Math.min(u.gauge.axis.range[1],r[0].y)))):I.select(\"rect\").attr(\"width\",\"number\"==typeof r[0].y?Math.max(0,i.c2p(Math.min(u.gauge.axis.range[1],r[0].y))):0);I.exit().remove();var O=r.filter((function(){return u.gauge.threshold.value||0===u.gauge.threshold.value})),z=f.selectAll(\"g.threshold-bullet\").data(O);z.enter().append(\"g\").classed(\"threshold-bullet\",!0).append(\"line\"),z.select(\"line\").attr(\"x1\",i.c2p(u.gauge.threshold.value)).attr(\"x2\",i.c2p(u.gauge.threshold.value)).attr(\"y1\",(1-u.gauge.threshold.thickness)/2*A).attr(\"y2\",(1-(1-u.gauge.threshold.thickness)/2)*A).call(y.stroke,u.gauge.threshold.line.color).style(\"stroke-width\",u.gauge.threshold.line.width),z.exit().remove();var D=f.selectAll(\"g.gauge-outline\").data([g]);D.enter().append(\"g\").classed(\"gauge-outline\",!0).append(\"rect\"),D.select(\"rect\").call(L).call(T),D.exit().remove()}(t,0,e,{gauge:Z,layer:X,size:B,gaugeBg:C,gaugeOutline:P,transitionOpts:r,onComplete:g});var J=O.selectAll(\"text.title\").data(e);J.exit().remove(),J.enter().append(\"text\").classed(\"title\",!0),J.attr(\"text-anchor\",(function(){return R?x.right:x[I.title.align]})).text(I.title.text).call(f.font,I.title.font).call(p.convertToTspans,t),J.attr(\"transform\",(function(){var t,e=B.l+B.w*b[I.title.align],r=h.titlePadding,n=f.bBox(J.node());if(z){if(D)if(I.gauge.axis.visible)t=f.bBox(W.node()).top-r-n.bottom;else t=B.t+B.h/2-U/2-n.bottom-r;R&&(t=E-(n.top+n.bottom)/2,e=B.l-h.bulletPadding*B.w)}else t=I._numbersTop-r-n.bottom;return l(e,t)}))}))}},{\"../../components/color\":367,\"../../components/drawing\":389,\"../../constants/alignment\":483,\"../../lib\":515,\"../../lib/svg_text_utils\":541,\"../../plots/cartesian/axes\":566,\"../../plots/cartesian/axis_defaults\":568,\"../../plots/cartesian/layout_attributes\":579,\"../../plots/cartesian/position_defaults\":582,\"./constants\":867,\"@plotly/d3\":58,\"d3-interpolate\":116}],871:[function(t,e,r){\"use strict\";var n=t(\"../../components/colorscale/attributes\"),i=t(\"../../plots/cartesian/axis_format_attributes\").axisHoverFormat,a=t(\"../../plots/template_attributes\").hovertemplateAttrs,o=t(\"../mesh3d/attributes\"),s=t(\"../../plots/attributes\"),l=t(\"../../lib/extend\").extendFlat,c=t(\"../../plot_api/edit_types\").overrideAll;var u=e.exports=c(l({x:{valType:\"data_array\"},y:{valType:\"data_array\"},z:{valType:\"data_array\"},value:{valType:\"data_array\"},isomin:{valType:\"number\"},isomax:{valType:\"number\"},surface:{show:{valType:\"boolean\",dflt:!0},count:{valType:\"integer\",dflt:2,min:1},fill:{valType:\"number\",min:0,max:1,dflt:1},pattern:{valType:\"flaglist\",flags:[\"A\",\"B\",\"C\",\"D\",\"E\"],extras:[\"all\",\"odd\",\"even\"],dflt:\"all\"}},spaceframe:{show:{valType:\"boolean\",dflt:!1},fill:{valType:\"number\",min:0,max:1,dflt:.15}},slices:{x:{show:{valType:\"boolean\",dflt:!1},locations:{valType:\"data_array\",dflt:[]},fill:{valType:\"number\",min:0,max:1,dflt:1}},y:{show:{valType:\"boolean\",dflt:!1},locations:{valType:\"data_array\",dflt:[]},fill:{valType:\"number\",min:0,max:1,dflt:1}},z:{show:{valType:\"boolean\",dflt:!1},locations:{valType:\"data_array\",dflt:[]},fill:{valType:\"number\",min:0,max:1,dflt:1}}},caps:{x:{show:{valType:\"boolean\",dflt:!0},fill:{valType:\"number\",min:0,max:1,dflt:1}},y:{show:{valType:\"boolean\",dflt:!0},fill:{valType:\"number\",min:0,max:1,dflt:1}},z:{show:{valType:\"boolean\",dflt:!0},fill:{valType:\"number\",min:0,max:1,dflt:1}}},text:{valType:\"string\",dflt:\"\",arrayOk:!0},hovertext:{valType:\"string\",dflt:\"\",arrayOk:!0},hovertemplate:a(),xhoverformat:i(\"x\"),yhoverformat:i(\"y\"),zhoverformat:i(\"z\"),valuehoverformat:i(\"value\",1),showlegend:l({},s.showlegend,{dflt:!1})},n(\"\",{colorAttr:\"`value`\",showScaleDflt:!0,editTypeOverride:\"calc\"}),{opacity:o.opacity,lightposition:o.lightposition,lighting:o.lighting,flatshading:o.flatshading,contour:o.contour,hoverinfo:l({},s.hoverinfo)}),\"calc\",\"nested\");u.flatshading.dflt=!0,u.lighting.facenormalsepsilon.dflt=0,u.x.editType=u.y.editType=u.z.editType=u.value.editType=\"calc+clearAxisTypes\",u.transforms=void 0},{\"../../components/colorscale/attributes\":374,\"../../lib/extend\":505,\"../../plot_api/edit_types\":548,\"../../plots/attributes\":562,\"../../plots/cartesian/axis_format_attributes\":569,\"../../plots/template_attributes\":642,\"../mesh3d/attributes\":876}],872:[function(t,e,r){\"use strict\";var n=t(\"../../components/colorscale/calc\"),i=t(\"../streamtube/calc\").processGrid,a=t(\"../streamtube/calc\").filter;e.exports=function(t,e){e._len=Math.min(e.x.length,e.y.length,e.z.length,e.value.length),e._x=a(e.x,e._len),e._y=a(e.y,e._len),e._z=a(e.z,e._len),e._value=a(e.value,e._len);var r=i(e);e._gridFill=r.fill,e._Xs=r.Xs,e._Ys=r.Ys,e._Zs=r.Zs,e._len=r.len;for(var o=1/0,s=-1/0,l=0;l0;r--){var n=Math.min(e[r],e[r-1]),i=Math.max(e[r],e[r-1]);if(i>n&&n-1}function R(t,e){return null===t?e:t}function F(e,r,n){C();var i,a,o,l=[r],c=[n];if(s>=1)l=[r],c=[n];else if(s>0){var u=function(t,e){var r=t[0],n=t[1],i=t[2],a=function(t,e,r){for(var n=[],i=0;i-1?n[p]:L(d,m,v);h[p]=x>-1?x:I(d,m,v,R(e,y))}i=h[0],a=h[1],o=h[2],t._meshI.push(i),t._meshJ.push(a),t._meshK.push(o),++g}}function B(t,e,r,n){var i=t[3];in&&(i=n);for(var a=(t[3]-i)/(t[3]-e[3]+1e-9),o=[],s=0;s<4;s++)o[s]=(1-a)*t[s]+a*e[s];return o}function N(t,e,r){return t>=e&&t<=r}function j(t){var e=.001*(E-S);return t>=S-e&&t<=E+e}function U(e){for(var r=[],n=0;n<4;n++){var i=e[n];r.push([t._x[i],t._y[i],t._z[i],t._value[i]])}return r}function V(t,e,r,n,i,a){a||(a=1),r=[-1,-1,-1];var o=!1,s=[N(e[0][3],n,i),N(e[1][3],n,i),N(e[2][3],n,i)];if(!s[0]&&!s[1]&&!s[2])return!1;var l=function(t,e,r){return j(e[0][3])&&j(e[1][3])&&j(e[2][3])?(F(t,e,r),!0):a<3&&V(t,e,r,S,E,++a)};if(s[0]&&s[1]&&s[2])return l(t,e,r)||o;var c=!1;return[[0,1,2],[2,0,1],[1,2,0]].forEach((function(a){if(s[a[0]]&&s[a[1]]&&!s[a[2]]){var u=e[a[0]],f=e[a[1]],h=e[a[2]],p=B(h,u,n,i),d=B(h,f,n,i);o=l(t,[d,p,u],[-1,-1,r[a[0]]])||o,o=l(t,[u,f,d],[r[a[0]],r[a[1]],-1])||o,c=!0}})),c||[[0,1,2],[1,2,0],[2,0,1]].forEach((function(a){if(s[a[0]]&&!s[a[1]]&&!s[a[2]]){var u=e[a[0]],f=e[a[1]],h=e[a[2]],p=B(f,u,n,i),d=B(h,u,n,i);o=l(t,[d,p,u],[-1,-1,r[a[0]]])||o,c=!0}})),o}function H(t,e,r,n){var i=!1,a=U(e),o=[N(a[0][3],r,n),N(a[1][3],r,n),N(a[2][3],r,n),N(a[3][3],r,n)];if(!(o[0]||o[1]||o[2]||o[3]))return i;if(o[0]&&o[1]&&o[2]&&o[3])return m&&(i=function(t,e,r){var n=function(n,i,a){F(t,[e[n],e[i],e[a]],[r[n],r[i],r[a]])};n(0,1,2),n(3,0,1),n(2,3,0),n(1,2,3)}(t,a,e)||i),i;var s=!1;return[[0,1,2,3],[3,0,1,2],[2,3,0,1],[1,2,3,0]].forEach((function(l){if(o[l[0]]&&o[l[1]]&&o[l[2]]&&!o[l[3]]){var c=a[l[0]],u=a[l[1]],f=a[l[2]],h=a[l[3]];if(m)i=F(t,[c,u,f],[e[l[0]],e[l[1]],e[l[2]]])||i;else{var p=B(h,c,r,n),d=B(h,u,r,n),g=B(h,f,r,n);i=F(null,[p,d,g],[-1,-1,-1])||i}s=!0}})),s?i:([[0,1,2,3],[1,2,3,0],[2,3,0,1],[3,0,1,2],[0,2,3,1],[1,3,2,0]].forEach((function(l){if(o[l[0]]&&o[l[1]]&&!o[l[2]]&&!o[l[3]]){var c=a[l[0]],u=a[l[1]],f=a[l[2]],h=a[l[3]],p=B(f,c,r,n),d=B(f,u,r,n),g=B(h,u,r,n),v=B(h,c,r,n);m?(i=F(t,[c,v,p],[e[l[0]],-1,-1])||i,i=F(t,[u,d,g],[e[l[1]],-1,-1])||i):i=function(t,e,r){var n=function(n,i,a){F(t,[e[n],e[i],e[a]],[r[n],r[i],r[a]])};n(0,1,2),n(2,3,0)}(null,[p,d,g,v],[-1,-1,-1,-1])||i,s=!0}})),s||[[0,1,2,3],[1,2,3,0],[2,3,0,1],[3,0,1,2]].forEach((function(l){if(o[l[0]]&&!o[l[1]]&&!o[l[2]]&&!o[l[3]]){var c=a[l[0]],u=a[l[1]],f=a[l[2]],h=a[l[3]],p=B(u,c,r,n),d=B(f,c,r,n),g=B(h,c,r,n);m?(i=F(t,[c,p,d],[e[l[0]],-1,-1])||i,i=F(t,[c,d,g],[e[l[0]],-1,-1])||i,i=F(t,[c,g,p],[e[l[0]],-1,-1])||i):i=F(null,[p,d,g],[-1,-1,-1])||i,s=!0}})),i)}function q(t,e,r,n,i,a,o,s,l,c,u){var f=!1;return d&&(D(t,\"A\")&&(f=H(null,[e,r,n,a],c,u)||f),D(t,\"B\")&&(f=H(null,[r,n,i,l],c,u)||f),D(t,\"C\")&&(f=H(null,[r,a,o,l],c,u)||f),D(t,\"D\")&&(f=H(null,[n,a,s,l],c,u)||f),D(t,\"E\")&&(f=H(null,[r,n,a,l],c,u)||f)),m&&(f=H(t,[r,n,a,l],c,u)||f),f}function G(t,e,r,n,i,a,o,s){return[!0===s[0]||V(t,U([e,r,n]),[e,r,n],a,o),!0===s[1]||V(t,U([n,i,e]),[n,i,e],a,o)]}function Y(t,e,r,n,i,a,o,s,l){return s?G(t,e,r,i,n,a,o,l):G(t,r,i,n,e,a,o,l)}function W(t,e,r,n,i,a,o){var s,l,c,u,f=!1,h=function(){f=V(t,[s,l,c],[-1,-1,-1],i,a)||f,f=V(t,[c,u,s],[-1,-1,-1],i,a)||f},p=o[0],d=o[1],m=o[2];return p&&(s=O(U([k(e,r-0,n-0)])[0],U([k(e-1,r-0,n-0)])[0],p),l=O(U([k(e,r-0,n-1)])[0],U([k(e-1,r-0,n-1)])[0],p),c=O(U([k(e,r-1,n-1)])[0],U([k(e-1,r-1,n-1)])[0],p),u=O(U([k(e,r-1,n-0)])[0],U([k(e-1,r-1,n-0)])[0],p),h()),d&&(s=O(U([k(e-0,r,n-0)])[0],U([k(e-0,r-1,n-0)])[0],d),l=O(U([k(e-0,r,n-1)])[0],U([k(e-0,r-1,n-1)])[0],d),c=O(U([k(e-1,r,n-1)])[0],U([k(e-1,r-1,n-1)])[0],d),u=O(U([k(e-1,r,n-0)])[0],U([k(e-1,r-1,n-0)])[0],d),h()),m&&(s=O(U([k(e-0,r-0,n)])[0],U([k(e-0,r-0,n-1)])[0],m),l=O(U([k(e-0,r-1,n)])[0],U([k(e-0,r-1,n-1)])[0],m),c=O(U([k(e-1,r-1,n)])[0],U([k(e-1,r-1,n-1)])[0],m),u=O(U([k(e-1,r-0,n)])[0],U([k(e-1,r-0,n-1)])[0],m),h()),f}function Z(t,e,r,n,i,a,o,s,l,c,u,f){var h=t;return f?(d&&\"even\"===t&&(h=null),q(h,e,r,n,i,a,o,s,l,c,u)):(d&&\"odd\"===t&&(h=null),q(h,l,s,o,a,i,n,r,e,c,u))}function X(t,e,r,n,i){for(var a=[],o=0,s=0;sMath.abs(d-M)?[A,d]:[d,M];$(e,T[0],T[1])}}var L=[[Math.min(S,M),Math.max(S,M)],[Math.min(A,E),Math.max(A,E)]];[\"x\",\"y\",\"z\"].forEach((function(e){for(var r=[],n=0;n0&&(u.push(p.id),\"x\"===e?f.push([p.distRatio,0,0]):\"y\"===e?f.push([0,p.distRatio,0]):f.push([0,0,p.distRatio]))}else c=nt(1,\"x\"===e?b-1:\"y\"===e?_-1:w-1);u.length>0&&(r[i]=\"x\"===e?tt(null,u,a,o,f,r[i]):\"y\"===e?et(null,u,a,o,f,r[i]):rt(null,u,a,o,f,r[i]),i++),c.length>0&&(r[i]=\"x\"===e?X(null,c,a,o,r[i]):\"y\"===e?J(null,c,a,o,r[i]):K(null,c,a,o,r[i]),i++)}var d=t.caps[e];d.show&&d.fill&&(z(d.fill),r[i]=\"x\"===e?X(null,[0,b-1],a,o,r[i]):\"y\"===e?J(null,[0,_-1],a,o,r[i]):K(null,[0,w-1],a,o,r[i]),i++)}})),0===g&&P(),t._meshX=n,t._meshY=i,t._meshZ=a,t._meshIntensity=o,t._Xs=v,t._Ys=y,t._Zs=x}(),t}e.exports={findNearestOnAxis:l,generateIsoMeshes:h,createIsosurfaceTrace:function(t,e){var r=t.glplot.gl,i=n({gl:r}),a=new c(t,i,e.uid);return i._trace=a,a.update(e),t.glplot.add(i),a}}},{\"../../../stackgl_modules\":1133,\"../../components/colorscale\":379,\"../../lib/gl_format_color\":511,\"../../lib/str2rgbarray\":540,\"../../plots/gl3d/zip3\":618}],874:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../registry\"),a=t(\"./attributes\"),o=t(\"../../components/colorscale/defaults\");function s(t,e,r,n,a){var s=a(\"isomin\"),l=a(\"isomax\");null!=l&&null!=s&&s>l&&(e.isomin=null,e.isomax=null);var c=a(\"x\"),u=a(\"y\"),f=a(\"z\"),h=a(\"value\");c&&c.length&&u&&u.length&&f&&f.length&&h&&h.length?(i.getComponentMethod(\"calendars\",\"handleTraceDefaults\")(t,e,[\"x\",\"y\",\"z\"],n),a(\"valuehoverformat\"),[\"x\",\"y\",\"z\"].forEach((function(t){a(t+\"hoverformat\");var e=\"caps.\"+t;a(e+\".show\")&&a(e+\".fill\");var r=\"slices.\"+t;a(r+\".show\")&&(a(r+\".fill\"),a(r+\".locations\"))})),a(\"spaceframe.show\")&&a(\"spaceframe.fill\"),a(\"surface.show\")&&(a(\"surface.count\"),a(\"surface.fill\"),a(\"surface.pattern\")),a(\"contour.show\")&&(a(\"contour.color\"),a(\"contour.width\")),[\"text\",\"hovertext\",\"hovertemplate\",\"lighting.ambient\",\"lighting.diffuse\",\"lighting.specular\",\"lighting.roughness\",\"lighting.fresnel\",\"lighting.vertexnormalsepsilon\",\"lighting.facenormalsepsilon\",\"lightposition.x\",\"lightposition.y\",\"lightposition.z\",\"flatshading\",\"opacity\"].forEach((function(t){a(t)})),o(t,e,n,a,{prefix:\"\",cLetter:\"c\"}),e._length=null):e.visible=!1}e.exports={supplyDefaults:function(t,e,r,i){s(t,e,r,i,(function(r,i){return n.coerce(t,e,a,r,i)}))},supplyIsoDefaults:s}},{\"../../components/colorscale/defaults\":377,\"../../lib\":515,\"../../registry\":647,\"./attributes\":871}],875:[function(t,e,r){\"use strict\";e.exports={attributes:t(\"./attributes\"),supplyDefaults:t(\"./defaults\").supplyDefaults,calc:t(\"./calc\"),colorbar:{min:\"cmin\",max:\"cmax\"},plot:t(\"./convert\").createIsosurfaceTrace,moduleType:\"trace\",name:\"isosurface\",basePlotModule:t(\"../../plots/gl3d\"),categories:[\"gl3d\",\"showLegend\"],meta:{}}},{\"../../plots/gl3d\":607,\"./attributes\":871,\"./calc\":872,\"./convert\":873,\"./defaults\":874}],876:[function(t,e,r){\"use strict\";var n=t(\"../../components/colorscale/attributes\"),i=t(\"../../plots/cartesian/axis_format_attributes\").axisHoverFormat,a=t(\"../../plots/template_attributes\").hovertemplateAttrs,o=t(\"../surface/attributes\"),s=t(\"../../plots/attributes\"),l=t(\"../../lib/extend\").extendFlat;e.exports=l({x:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},y:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},z:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},i:{valType:\"data_array\",editType:\"calc\"},j:{valType:\"data_array\",editType:\"calc\"},k:{valType:\"data_array\",editType:\"calc\"},text:{valType:\"string\",dflt:\"\",arrayOk:!0,editType:\"calc\"},hovertext:{valType:\"string\",dflt:\"\",arrayOk:!0,editType:\"calc\"},hovertemplate:a({editType:\"calc\"}),xhoverformat:i(\"x\"),yhoverformat:i(\"y\"),zhoverformat:i(\"z\"),delaunayaxis:{valType:\"enumerated\",values:[\"x\",\"y\",\"z\"],dflt:\"z\",editType:\"calc\"},alphahull:{valType:\"number\",dflt:-1,editType:\"calc\"},intensity:{valType:\"data_array\",editType:\"calc\"},intensitymode:{valType:\"enumerated\",values:[\"vertex\",\"cell\"],dflt:\"vertex\",editType:\"calc\"},color:{valType:\"color\",editType:\"calc\"},vertexcolor:{valType:\"data_array\",editType:\"calc\"},facecolor:{valType:\"data_array\",editType:\"calc\"},transforms:void 0},n(\"\",{colorAttr:\"`intensity`\",showScaleDflt:!0,editTypeOverride:\"calc\"}),{opacity:o.opacity,flatshading:{valType:\"boolean\",dflt:!1,editType:\"calc\"},contour:{show:l({},o.contours.x.show,{}),color:o.contours.x.color,width:o.contours.x.width,editType:\"calc\"},lightposition:{x:l({},o.lightposition.x,{dflt:1e5}),y:l({},o.lightposition.y,{dflt:1e5}),z:l({},o.lightposition.z,{dflt:0}),editType:\"calc\"},lighting:l({vertexnormalsepsilon:{valType:\"number\",min:0,max:1,dflt:1e-12,editType:\"calc\"},facenormalsepsilon:{valType:\"number\",min:0,max:1,dflt:1e-6,editType:\"calc\"},editType:\"calc\"},o.lighting),hoverinfo:l({},s.hoverinfo,{editType:\"calc\"}),showlegend:l({},s.showlegend,{dflt:!1})})},{\"../../components/colorscale/attributes\":374,\"../../lib/extend\":505,\"../../plots/attributes\":562,\"../../plots/cartesian/axis_format_attributes\":569,\"../../plots/template_attributes\":642,\"../surface/attributes\":1070}],877:[function(t,e,r){\"use strict\";var n=t(\"../../components/colorscale/calc\");e.exports=function(t,e){e.intensity&&n(t,e,{vals:e.intensity,containerStr:\"\",cLetter:\"c\"})}},{\"../../components/colorscale/calc\":375}],878:[function(t,e,r){\"use strict\";var n=t(\"../../../stackgl_modules\").gl_mesh3d,i=t(\"../../../stackgl_modules\").delaunay_triangulate,a=t(\"../../../stackgl_modules\").alpha_shape,o=t(\"../../../stackgl_modules\").convex_hull,s=t(\"../../lib/gl_format_color\").parseColorScale,l=t(\"../../lib/str2rgbarray\"),c=t(\"../../components/colorscale\").extractOpts,u=t(\"../../plots/gl3d/zip3\");function f(t,e,r){this.scene=t,this.uid=r,this.mesh=e,this.name=\"\",this.color=\"#fff\",this.data=null,this.showContour=!1}var h=f.prototype;function p(t){for(var e=[],r=t.length,n=0;n=e-.5)return!1;return!0}h.handlePick=function(t){if(t.object===this.mesh){var e=t.index=t.data.index;t.data._cellCenter?t.traceCoordinate=t.data.dataCoordinate:t.traceCoordinate=[this.data.x[e],this.data.y[e],this.data.z[e]];var r=this.data.hovertext||this.data.text;return Array.isArray(r)&&void 0!==r[e]?t.textLabel=r[e]:r&&(t.textLabel=r),!0}},h.update=function(t){var e=this.scene,r=e.fullSceneLayout;this.data=t;var n,f=t.x.length,h=u(d(r.xaxis,t.x,e.dataScale[0],t.xcalendar),d(r.yaxis,t.y,e.dataScale[1],t.ycalendar),d(r.zaxis,t.z,e.dataScale[2],t.zcalendar));if(t.i&&t.j&&t.k){if(t.i.length!==t.j.length||t.j.length!==t.k.length||!g(t.i,f)||!g(t.j,f)||!g(t.k,f))return;n=u(m(t.i),m(t.j),m(t.k))}else n=0===t.alphahull?o(h):t.alphahull>0?a(t.alphahull,h):function(t,e){for(var r=[\"x\",\"y\",\"z\"].indexOf(t),n=[],a=e.length,o=0;ov):g=A>w,v=A;var M=c(w,T,k,A);M.pos=_,M.yc=(w+A)/2,M.i=b,M.dir=g?\"increasing\":\"decreasing\",M.x=M.pos,M.y=[k,T],y&&(M.orig_p=r[b]),d&&(M.tx=e.text[b]),m&&(M.htx=e.hovertext[b]),x.push(M)}else x.push({pos:_,empty:!0})}return e._extremes[l._id]=a.findExtremes(l,n.concat(h,f),{padded:!0}),x.length&&(x[0].t={labels:{open:i(t,\"open:\")+\" \",high:i(t,\"high:\")+\" \",low:i(t,\"low:\")+\" \",close:i(t,\"close:\")+\" \"}}),x}e.exports={calc:function(t,e){var r=a.getFromId(t,e.xaxis),i=a.getFromId(t,e.yaxis),s=function(t,e,r){var i=r._minDiff;if(!i){var a,s=t._fullData,l=[];for(i=1/0,a=0;a\"+c.labels[x]+n.hoverLabelText(s,b,l.yhoverformat):((y=i.extendFlat({},h)).y0=y.y1=_,y.yLabelVal=b,y.yLabel=c.labels[x]+n.hoverLabelText(s,b,l.yhoverformat),y.name=\"\",f.push(y),g[b]=y)}return f}function h(t,e,r,i){var a=t.cd,o=t.ya,l=a[0].trace,f=a[0].t,h=u(t,e,r,i);if(!h)return[];var p=a[h.index],d=h.index=p.i,m=p.dir;function g(t){return f.labels[t]+n.hoverLabelText(o,l[t][d],l.yhoverformat)}var v=p.hi||l.hoverinfo,y=v.split(\"+\"),x=\"all\"===v,b=x||-1!==y.indexOf(\"y\"),_=x||-1!==y.indexOf(\"text\"),w=b?[g(\"open\"),g(\"high\"),g(\"low\"),g(\"close\")+\" \"+c[m]]:[];return _&&s(p,l,w),h.extraText=w.join(\"
\"),h.y0=h.y1=o.c2p(p.yc,!0),[h]}e.exports={hoverPoints:function(t,e,r,n){return t.cd[0].trace.hoverlabel.split?f(t,e,r,n):h(t,e,r,n)},hoverSplit:f,hoverOnPoints:h}},{\"../../components/color\":367,\"../../components/fx\":407,\"../../constants/delta.js\":485,\"../../lib\":515,\"../../plots/cartesian/axes\":566}],885:[function(t,e,r){\"use strict\";e.exports={moduleType:\"trace\",name:\"ohlc\",basePlotModule:t(\"../../plots/cartesian\"),categories:[\"cartesian\",\"svg\",\"showLegend\"],meta:{},attributes:t(\"./attributes\"),supplyDefaults:t(\"./defaults\"),calc:t(\"./calc\").calc,plot:t(\"./plot\"),style:t(\"./style\"),hoverPoints:t(\"./hover\").hoverPoints,selectPoints:t(\"./select\")}},{\"../../plots/cartesian\":578,\"./attributes\":881,\"./calc\":882,\"./defaults\":883,\"./hover\":884,\"./plot\":887,\"./select\":888,\"./style\":889}],886:[function(t,e,r){\"use strict\";var n=t(\"../../registry\"),i=t(\"../../lib\");e.exports=function(t,e,r,a){var o=r(\"x\"),s=r(\"open\"),l=r(\"high\"),c=r(\"low\"),u=r(\"close\");if(r(\"hoverlabel.split\"),n.getComponentMethod(\"calendars\",\"handleTraceDefaults\")(t,e,[\"x\"],a),s&&l&&c&&u){var f=Math.min(s.length,l.length,c.length,u.length);return o&&(f=Math.min(f,i.minRowLength(o))),e._length=f,f}}},{\"../../lib\":515,\"../../registry\":647}],887:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\"),i=t(\"../../lib\");e.exports=function(t,e,r,a){var o=e.yaxis,s=e.xaxis,l=!!s.rangebreaks;i.makeTraceGroups(a,r,\"trace ohlc\").each((function(t){var e=n.select(this),r=t[0],a=r.t;if(!0!==r.trace.visible||a.empty)e.remove();else{var c=a.tickLen,u=e.selectAll(\"path\").data(i.identity);u.enter().append(\"path\"),u.exit().remove(),u.attr(\"d\",(function(t){if(t.empty)return\"M0,0Z\";var e=s.c2p(t.pos-c,!0),r=s.c2p(t.pos+c,!0),n=l?(e+r)/2:s.c2p(t.pos,!0);return\"M\"+e+\",\"+o.c2p(t.o,!0)+\"H\"+n+\"M\"+n+\",\"+o.c2p(t.h,!0)+\"V\"+o.c2p(t.l,!0)+\"M\"+r+\",\"+o.c2p(t.c,!0)+\"H\"+n}))}}))}},{\"../../lib\":515,\"@plotly/d3\":58}],888:[function(t,e,r){\"use strict\";e.exports=function(t,e){var r,n=t.cd,i=t.xaxis,a=t.yaxis,o=[],s=n[0].t.bPos||0;if(!1===e)for(r=0;r=t.length)return!1;if(void 0!==e[t[r]])return!1;e[t[r]]=!0}return!0}(t.map((function(t){return t.displayindex}))))for(e=0;e0;c&&(o=\"array\");var u=r(\"categoryorder\",o);\"array\"===u?(r(\"categoryarray\"),r(\"ticktext\")):(delete t.categoryarray,delete t.ticktext),c||\"array\"!==u||(e.categoryorder=\"trace\")}}e.exports=function(t,e,r,f){function h(r,i){return n.coerce(t,e,l,r,i)}var p=s(t,e,{name:\"dimensions\",handleItemDefaults:u}),d=function(t,e,r,o,s){s(\"line.shape\"),s(\"line.hovertemplate\");var l=s(\"line.color\",o.colorway[0]);if(i(t,\"line\")&&n.isArrayOrTypedArray(l)){if(l.length)return s(\"line.colorscale\"),a(t,e,o,s,{prefix:\"line.\",cLetter:\"c\"}),l.length;e.line.color=r}return 1/0}(t,e,r,f,h);o(e,f,h),Array.isArray(p)&&p.length||(e.visible=!1),c(e,p,\"values\",d),h(\"hoveron\"),h(\"hovertemplate\"),h(\"arrangement\"),h(\"bundlecolors\"),h(\"sortpaths\"),h(\"counts\");var m={family:f.font.family,size:Math.round(f.font.size),color:f.font.color};n.coerceFont(h,\"labelfont\",m);var g={family:f.font.family,size:Math.round(f.font.size/1.2),color:f.font.color};n.coerceFont(h,\"tickfont\",g)}},{\"../../components/colorscale/defaults\":377,\"../../components/colorscale/helpers\":378,\"../../lib\":515,\"../../plots/array_container_defaults\":561,\"../../plots/domain\":593,\"../parcoords/merge_length\":907,\"./attributes\":890}],894:[function(t,e,r){\"use strict\";e.exports={attributes:t(\"./attributes\"),supplyDefaults:t(\"./defaults\"),calc:t(\"./calc\"),plot:t(\"./plot\"),colorbar:{container:\"line\",min:\"cmin\",max:\"cmax\"},moduleType:\"trace\",name:\"parcats\",basePlotModule:t(\"./base_plot\"),categories:[\"noOpacity\"],meta:{}}},{\"./attributes\":890,\"./base_plot\":891,\"./calc\":892,\"./defaults\":893,\"./plot\":896}],895:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\"),i=t(\"d3-interpolate\").interpolateNumber,a=t(\"../../plot_api/plot_api\"),o=t(\"../../components/fx\"),s=t(\"../../lib\"),l=s.strTranslate,c=t(\"../../components/drawing\"),u=t(\"tinycolor2\"),f=t(\"../../lib/svg_text_utils\");function h(t,e,r,i){var a=e._context.staticPlot,o=t.map(F.bind(0,e,r)),u=i.selectAll(\"g.parcatslayer\").data([null]);u.enter().append(\"g\").attr(\"class\",\"parcatslayer\").style(\"pointer-events\",a?\"none\":\"all\");var h=u.selectAll(\"g.trace.parcats\").data(o,p),y=h.enter().append(\"g\").attr(\"class\",\"trace parcats\");h.attr(\"transform\",(function(t){return l(t.x,t.y)})),y.append(\"g\").attr(\"class\",\"paths\");var x=h.select(\"g.paths\").selectAll(\"path.path\").data((function(t){return t.paths}),p);x.attr(\"fill\",(function(t){return t.model.color}));var w=x.enter().append(\"path\").attr(\"class\",\"path\").attr(\"stroke-opacity\",0).attr(\"fill\",(function(t){return t.model.color})).attr(\"fill-opacity\",0);_(w),x.attr(\"d\",(function(t){return t.svgD})),w.empty()||x.sort(m),x.exit().remove(),x.on(\"mouseover\",g).on(\"mouseout\",v).on(\"click\",b),y.append(\"g\").attr(\"class\",\"dimensions\");var A=h.select(\"g.dimensions\").selectAll(\"g.dimension\").data((function(t){return t.dimensions}),p);A.enter().append(\"g\").attr(\"class\",\"dimension\"),A.attr(\"transform\",(function(t){return l(t.x,0)})),A.exit().remove();var M=A.selectAll(\"g.category\").data((function(t){return t.categories}),p),S=M.enter().append(\"g\").attr(\"class\",\"category\");M.attr(\"transform\",(function(t){return l(0,t.y)})),S.append(\"rect\").attr(\"class\",\"catrect\").attr(\"pointer-events\",\"none\"),M.select(\"rect.catrect\").attr(\"fill\",\"none\").attr(\"width\",(function(t){return t.width})).attr(\"height\",(function(t){return t.height})),T(S);var E=M.selectAll(\"rect.bandrect\").data((function(t){return t.bands}),p);E.each((function(){s.raiseToTop(this)})),E.attr(\"fill\",(function(t){return t.color}));var z=E.enter().append(\"rect\").attr(\"class\",\"bandrect\").attr(\"stroke-opacity\",0).attr(\"fill\",(function(t){return t.color})).attr(\"fill-opacity\",0);E.attr(\"fill\",(function(t){return t.color})).attr(\"width\",(function(t){return t.width})).attr(\"height\",(function(t){return t.height})).attr(\"y\",(function(t){return t.y})).attr(\"cursor\",(function(t){return\"fixed\"===t.parcatsViewModel.arrangement?\"default\":\"perpendicular\"===t.parcatsViewModel.arrangement?\"ns-resize\":\"move\"})),k(z),E.exit().remove(),S.append(\"text\").attr(\"class\",\"catlabel\").attr(\"pointer-events\",\"none\");var D=e._fullLayout.paper_bgcolor;M.select(\"text.catlabel\").attr(\"text-anchor\",(function(t){return d(t)?\"start\":\"end\"})).attr(\"alignment-baseline\",\"middle\").style(\"text-shadow\",f.makeTextShadow(D)).style(\"fill\",\"rgb(0, 0, 0)\").attr(\"x\",(function(t){return d(t)?t.width+5:-5})).attr(\"y\",(function(t){return t.height/2})).text((function(t){return t.model.categoryLabel})).each((function(t){c.font(n.select(this),t.parcatsViewModel.categorylabelfont),f.convertToTspans(n.select(this),e)})),S.append(\"text\").attr(\"class\",\"dimlabel\"),M.select(\"text.dimlabel\").attr(\"text-anchor\",\"middle\").attr(\"alignment-baseline\",\"baseline\").attr(\"cursor\",(function(t){return\"fixed\"===t.parcatsViewModel.arrangement?\"default\":\"ew-resize\"})).attr(\"x\",(function(t){return t.width/2})).attr(\"y\",-5).text((function(t,e){return 0===e?t.parcatsViewModel.model.dimensions[t.model.dimensionInd].dimensionLabel:null})).each((function(t){c.font(n.select(this),t.parcatsViewModel.labelfont)})),M.selectAll(\"rect.bandrect\").on(\"mouseover\",L).on(\"mouseout\",C),M.exit().remove(),A.call(n.behavior.drag().origin((function(t){return{x:t.x,y:0}})).on(\"dragstart\",P).on(\"drag\",I).on(\"dragend\",O)),h.each((function(t){t.traceSelection=n.select(this),t.pathSelection=n.select(this).selectAll(\"g.paths\").selectAll(\"path.path\"),t.dimensionSelection=n.select(this).selectAll(\"g.dimensions\").selectAll(\"g.dimension\")})),h.exit().remove()}function p(t){return t.key}function d(t){var e=t.parcatsViewModel.dimensions.length,r=t.parcatsViewModel.dimensions[e-1].model.dimensionInd;return t.model.dimensionInd===r}function m(t,e){return t.model.rawColor>e.model.rawColor?1:t.model.rawColor\"),L=n.mouse(f)[0];o.loneHover({trace:h,x:b-d.left+m.left,y:_-d.top+m.top,text:E,color:t.model.color,borderColor:\"black\",fontFamily:'Monaco, \"Courier New\", monospace',fontSize:10,fontColor:T,idealAlign:L1&&h.displayInd===f.dimensions.length-1?(i=c.left,a=\"left\"):(i=c.left+c.width,a=\"right\");var m=u.model.count,g=u.model.categoryLabel,v=m/u.parcatsViewModel.model.count,y={countLabel:m,categoryLabel:g,probabilityLabel:v.toFixed(3)},x=[];-1!==u.parcatsViewModel.hoverinfoItems.indexOf(\"count\")&&x.push([\"Count:\",y.countLabel].join(\" \")),-1!==u.parcatsViewModel.hoverinfoItems.indexOf(\"probability\")&&x.push([\"P(\"+y.categoryLabel+\"):\",y.probabilityLabel].join(\" \"));var b=x.join(\"
\");return{trace:p,x:o*(i-e.left),y:s*(d-e.top),text:b,color:\"lightgray\",borderColor:\"black\",fontFamily:'Monaco, \"Courier New\", monospace',fontSize:12,fontColor:\"black\",idealAlign:a,hovertemplate:p.hovertemplate,hovertemplateLabels:y,eventData:[{data:p._input,fullData:p,count:m,category:g,probability:v}]}}function L(t){if(!t.parcatsViewModel.dragDimension&&-1===t.parcatsViewModel.hoverinfoItems.indexOf(\"skip\")){if(n.mouse(this)[1]<-1)return;var e,r=t.parcatsViewModel.graphDiv,i=r._fullLayout,a=i._paperdiv.node().getBoundingClientRect(),l=t.parcatsViewModel.hoveron;if(\"color\"===l?(!function(t){var e=n.select(t).datum(),r=A(e);w(r),r.each((function(){s.raiseToTop(this)})),n.select(t.parentNode).selectAll(\"rect.bandrect\").filter((function(t){return t.color===e.color})).each((function(){s.raiseToTop(this),n.select(this).attr(\"stroke\",\"black\").attr(\"stroke-width\",1.5)}))}(this),S(this,\"plotly_hover\",n.event)):(!function(t){n.select(t.parentNode).selectAll(\"rect.bandrect\").each((function(t){var e=A(t);w(e),e.each((function(){s.raiseToTop(this)}))})),n.select(t.parentNode).select(\"rect.catrect\").attr(\"stroke\",\"black\").attr(\"stroke-width\",2.5)}(this),M(this,\"plotly_hover\",n.event)),-1===t.parcatsViewModel.hoverinfoItems.indexOf(\"none\"))\"category\"===l?e=E(r,a,this):\"color\"===l?e=function(t,e,r){t._fullLayout._calcInverseTransform(t);var i,a,o=t._fullLayout._invScaleX,s=t._fullLayout._invScaleY,l=r.getBoundingClientRect(),c=n.select(r).datum(),f=c.categoryViewModel,h=f.parcatsViewModel,p=h.model.dimensions[f.model.dimensionInd],d=h.trace,m=l.y+l.height/2;h.dimensions.length>1&&p.displayInd===h.dimensions.length-1?(i=l.left,a=\"left\"):(i=l.left+l.width,a=\"right\");var g=f.model.categoryLabel,v=c.parcatsViewModel.model.count,y=0;c.categoryViewModel.bands.forEach((function(t){t.color===c.color&&(y+=t.count)}));var x=f.model.count,b=0;h.pathSelection.each((function(t){t.model.color===c.color&&(b+=t.model.count)}));var _=y/v,w=y/b,T=y/x,k={countLabel:v,categoryLabel:g,probabilityLabel:_.toFixed(3)},A=[];-1!==f.parcatsViewModel.hoverinfoItems.indexOf(\"count\")&&A.push([\"Count:\",k.countLabel].join(\" \")),-1!==f.parcatsViewModel.hoverinfoItems.indexOf(\"probability\")&&(A.push(\"P(color \\u2229 \"+g+\"): \"+k.probabilityLabel),A.push(\"P(\"+g+\" | color): \"+w.toFixed(3)),A.push(\"P(color | \"+g+\"): \"+T.toFixed(3)));var M=A.join(\"
\"),S=u.mostReadable(c.color,[\"black\",\"white\"]);return{trace:d,x:o*(i-e.left),y:s*(m-e.top),text:M,color:c.color,borderColor:\"black\",fontFamily:'Monaco, \"Courier New\", monospace',fontColor:S,fontSize:10,idealAlign:a,hovertemplate:d.hovertemplate,hovertemplateLabels:k,eventData:[{data:d._input,fullData:d,category:g,count:v,probability:_,categorycount:x,colorcount:b,bandcolorcount:y}]}}(r,a,this):\"dimension\"===l&&(e=function(t,e,r){var i=[];return n.select(r.parentNode.parentNode).selectAll(\"g.category\").select(\"rect.catrect\").each((function(){i.push(E(t,e,this))})),i}(r,a,this)),e&&o.loneHover(e,{container:i._hoverlayer.node(),outerContainer:i._paper.node(),gd:r})}}function C(t){var e=t.parcatsViewModel;if(!e.dragDimension&&(_(e.pathSelection),T(e.dimensionSelection.selectAll(\"g.category\")),k(e.dimensionSelection.selectAll(\"g.category\").selectAll(\"rect.bandrect\")),o.loneUnhover(e.graphDiv._fullLayout._hoverlayer.node()),e.pathSelection.sort(m),-1===e.hoverinfoItems.indexOf(\"skip\"))){\"color\"===t.parcatsViewModel.hoveron?S(this,\"plotly_unhover\",n.event):M(this,\"plotly_unhover\",n.event)}}function P(t){\"fixed\"!==t.parcatsViewModel.arrangement&&(t.dragDimensionDisplayInd=t.model.displayInd,t.initialDragDimensionDisplayInds=t.parcatsViewModel.model.dimensions.map((function(t){return t.displayInd})),t.dragHasMoved=!1,t.dragCategoryDisplayInd=null,n.select(this).selectAll(\"g.category\").select(\"rect.catrect\").each((function(e){var r=n.mouse(this)[0],i=n.mouse(this)[1];-2<=r&&r<=e.width+2&&-2<=i&&i<=e.height+2&&(t.dragCategoryDisplayInd=e.model.displayInd,t.initialDragCategoryDisplayInds=t.model.categories.map((function(t){return t.displayInd})),e.model.dragY=e.y,s.raiseToTop(this.parentNode),n.select(this.parentNode).selectAll(\"rect.bandrect\").each((function(e){e.yf.y+f.height/2&&(o.model.displayInd=f.model.displayInd,f.model.displayInd=l),t.dragCategoryDisplayInd=o.model.displayInd}if(null===t.dragCategoryDisplayInd||\"freeform\"===t.parcatsViewModel.arrangement){a.model.dragX=n.event.x;var h=t.parcatsViewModel.dimensions[r],p=t.parcatsViewModel.dimensions[i];void 0!==h&&a.model.dragXp.x&&(a.model.displayInd=p.model.displayInd,p.model.displayInd=t.dragDimensionDisplayInd),t.dragDimensionDisplayInd=a.model.displayInd}j(t.parcatsViewModel),N(t.parcatsViewModel),R(t.parcatsViewModel),D(t.parcatsViewModel)}}function O(t){if(\"fixed\"!==t.parcatsViewModel.arrangement&&null!==t.dragDimensionDisplayInd){n.select(this).selectAll(\"text\").attr(\"font-weight\",\"normal\");var e={},r=z(t.parcatsViewModel),i=t.parcatsViewModel.model.dimensions.map((function(t){return t.displayInd})),o=t.initialDragDimensionDisplayInds.some((function(t,e){return t!==i[e]}));o&&i.forEach((function(r,n){var i=t.parcatsViewModel.model.dimensions[n].containerInd;e[\"dimensions[\"+i+\"].displayindex\"]=r}));var s=!1;if(null!==t.dragCategoryDisplayInd){var l=t.model.categories.map((function(t){return t.displayInd}));if(s=t.initialDragCategoryDisplayInds.some((function(t,e){return t!==l[e]}))){var c=t.model.categories.slice().sort((function(t,e){return t.displayInd-e.displayInd})),u=c.map((function(t){return t.categoryValue})),f=c.map((function(t){return t.categoryLabel}));e[\"dimensions[\"+t.model.containerInd+\"].categoryarray\"]=[u],e[\"dimensions[\"+t.model.containerInd+\"].ticktext\"]=[f],e[\"dimensions[\"+t.model.containerInd+\"].categoryorder\"]=\"array\"}}if(-1===t.parcatsViewModel.hoverinfoItems.indexOf(\"skip\")&&!t.dragHasMoved&&t.potentialClickBand&&(\"color\"===t.parcatsViewModel.hoveron?S(t.potentialClickBand,\"plotly_click\",n.event.sourceEvent):M(t.potentialClickBand,\"plotly_click\",n.event.sourceEvent)),t.model.dragX=null,null!==t.dragCategoryDisplayInd)t.parcatsViewModel.dimensions[t.dragDimensionDisplayInd].categories[t.dragCategoryDisplayInd].model.dragY=null,t.dragCategoryDisplayInd=null;t.dragDimensionDisplayInd=null,t.parcatsViewModel.dragDimension=null,t.dragHasMoved=null,t.potentialClickBand=null,j(t.parcatsViewModel),N(t.parcatsViewModel),n.transition().duration(300).ease(\"cubic-in-out\").each((function(){R(t.parcatsViewModel,!0),D(t.parcatsViewModel,!0)})).each(\"end\",(function(){(o||s)&&a.restyle(t.parcatsViewModel.graphDiv,e,[r])}))}}function z(t){for(var e,r=t.graphDiv._fullData,n=0;n=0;s--)u+=\"C\"+c[s]+\",\"+(e[s+1]+n)+\" \"+l[s]+\",\"+(e[s]+n)+\" \"+(t[s]+r[s])+\",\"+(e[s]+n),u+=\"l-\"+r[s]+\",0 \";return u+=\"Z\"}function N(t){var e=t.dimensions,r=t.model,n=e.map((function(t){return t.categories.map((function(t){return t.y}))})),i=t.model.dimensions.map((function(t){return t.categories.map((function(t){return t.displayInd}))})),a=t.model.dimensions.map((function(t){return t.displayInd})),o=t.dimensions.map((function(t){return t.model.dimensionInd})),s=e.map((function(t){return t.x})),l=e.map((function(t){return t.width})),c=[];for(var u in r.paths)r.paths.hasOwnProperty(u)&&c.push(r.paths[u]);function f(t){var e=t.categoryInds.map((function(t,e){return i[e][t]}));return o.map((function(t){return e[t]}))}c.sort((function(e,r){var n=f(e),i=f(r);return\"backward\"===t.sortpaths&&(n.reverse(),i.reverse()),n.push(e.valueInds[0]),i.push(r.valueInds[0]),t.bundlecolors&&(n.unshift(e.rawColor),i.unshift(r.rawColor)),ni?1:0}));for(var h=new Array(c.length),p=e[0].model.count,d=e[0].categories.map((function(t){return t.height})).reduce((function(t,e){return t+e})),m=0;m0?d*(v.count/p):0;for(var y,x=new Array(n.length),b=0;b1?(t.width-80-16)/(n-1):0)*i;var a,o,s,l,c,u=[],f=t.model.maxCats,h=e.categories.length,p=e.count,d=t.height-8*(f-1),m=8*(f-h)/2,g=e.categories.map((function(t){return{displayInd:t.displayInd,categoryInd:t.categoryInd}}));for(g.sort((function(t,e){return t.displayInd-e.displayInd})),c=0;c0?o.count/p*d:0,s={key:o.valueInds[0],model:o,width:16,height:a,y:null!==o.dragY?o.dragY:m,bands:[],parcatsViewModel:t},m=m+a+8,u.push(s);return{key:e.dimensionInd,x:null!==e.dragX?e.dragX:r,y:0,width:16,model:e,categories:u,parcatsViewModel:t,dragCategoryDisplayInd:null,dragDimensionDisplayInd:null,initialDragDimensionDisplayInds:null,initialDragCategoryDisplayInds:null,dragHasMoved:null,potentialClickBand:null}}e.exports=function(t,e,r,n){h(r,t,n,e)}},{\"../../components/drawing\":389,\"../../components/fx\":407,\"../../lib\":515,\"../../lib/svg_text_utils\":541,\"../../plot_api/plot_api\":552,\"@plotly/d3\":58,\"d3-interpolate\":116,tinycolor2:313}],896:[function(t,e,r){\"use strict\";var n=t(\"./parcats\");e.exports=function(t,e,r,i){var a=t._fullLayout,o=a._paper,s=a._size;n(t,o,e,{width:s.w,height:s.h,margin:{t:s.t,r:s.r,b:s.b,l:s.l}},r,i)}},{\"./parcats\":895}],897:[function(t,e,r){\"use strict\";var n=t(\"../../components/colorscale/attributes\"),i=t(\"../../plots/cartesian/layout_attributes\"),a=t(\"../../plots/font_attributes\"),o=t(\"../../plots/domain\").attributes,s=t(\"../../lib/extend\").extendFlat,l=t(\"../../plot_api/plot_template\").templatedArray;e.exports={domain:o({name:\"parcoords\",trace:!0,editType:\"plot\"}),labelangle:{valType:\"angle\",dflt:0,editType:\"plot\"},labelside:{valType:\"enumerated\",values:[\"top\",\"bottom\"],dflt:\"top\",editType:\"plot\"},labelfont:a({editType:\"plot\"}),tickfont:a({editType:\"plot\"}),rangefont:a({editType:\"plot\"}),dimensions:l(\"dimension\",{label:{valType:\"string\",editType:\"plot\"},tickvals:s({},i.tickvals,{editType:\"plot\"}),ticktext:s({},i.ticktext,{editType:\"plot\"}),tickformat:s({},i.tickformat,{editType:\"plot\"}),visible:{valType:\"boolean\",dflt:!0,editType:\"plot\"},range:{valType:\"info_array\",items:[{valType:\"number\",editType:\"plot\"},{valType:\"number\",editType:\"plot\"}],editType:\"plot\"},constraintrange:{valType:\"info_array\",freeLength:!0,dimensions:\"1-2\",items:[{valType:\"any\",editType:\"plot\"},{valType:\"any\",editType:\"plot\"}],editType:\"plot\"},multiselect:{valType:\"boolean\",dflt:!0,editType:\"plot\"},values:{valType:\"data_array\",editType:\"calc\"},editType:\"calc\"}),line:s({editType:\"calc\"},n(\"line\",{colorscaleDflt:\"Viridis\",autoColorDflt:!1,editTypeOverride:\"calc\"})),unselected:{line:{color:{valType:\"color\",dflt:\"#7f7f7f\",editType:\"plot\"},opacity:{valType:\"number\",min:0,max:1,dflt:\"auto\",editType:\"plot\"},editType:\"plot\"},editType:\"plot\"}}},{\"../../components/colorscale/attributes\":374,\"../../lib/extend\":505,\"../../plot_api/plot_template\":555,\"../../plots/cartesian/layout_attributes\":579,\"../../plots/domain\":593,\"../../plots/font_attributes\":594}],898:[function(t,e,r){\"use strict\";var n=t(\"./constants\"),i=t(\"@plotly/d3\"),a=t(\"../../lib/gup\").keyFun,o=t(\"../../lib/gup\").repeat,s=t(\"../../lib\").sorterAsc,l=t(\"../../lib\").strTranslate,c=n.bar.snapRatio;function u(t,e){return t*(1-c)+e*c}var f=n.bar.snapClose;function h(t,e){return t*(1-f)+e*f}function p(t,e,r,n){if(function(t,e){for(var r=0;r=e[r][0]&&t<=e[r][1])return!0;return!1}(r,n))return r;var i=t?-1:1,a=0,o=e.length-1;if(i<0){var s=a;a=o,o=s}for(var l=e[a],c=l,f=a;i*fe){h=r;break}}if(a=u,isNaN(a)&&(a=isNaN(f)||isNaN(h)?isNaN(f)?h:f:e-c[f][1]t[1]+r||e=.9*t[1]+.1*t[0]?\"n\":e<=.9*t[0]+.1*t[1]?\"s\":\"ns\"}(d,e);m&&(o.interval=l[a],o.intervalPix=d,o.region=m)}}if(t.ordinal&&!o.region){var g=t.unitTickvals,y=t.unitToPaddedPx.invert(e);for(r=0;r=x[0]&&y<=x[1]){o.clickableOrdinalRange=x;break}}}return o}function w(t,e){i.event.sourceEvent.stopPropagation();var r=e.height-i.mouse(t)[1]-2*n.verticalPadding,a=e.brush.svgBrush;a.wasDragged=!0,a._dragging=!0,a.grabbingBar?a.newExtent=[r-a.grabPoint,r+a.barLength-a.grabPoint].map(e.unitToPaddedPx.invert):a.newExtent=[a.startExtent,e.unitToPaddedPx.invert(r)].sort(s),e.brush.filterSpecified=!0,a.extent=a.stayingIntervals.concat([a.newExtent]),a.brushCallback(e),b(t.parentNode)}function T(t,e){var r=_(e,e.height-i.mouse(t)[1]-2*n.verticalPadding),a=\"crosshair\";r.clickableOrdinalRange?a=\"pointer\":r.region&&(a=r.region+\"-resize\"),i.select(document.body).style(\"cursor\",a)}function k(t){t.on(\"mousemove\",(function(t){i.event.preventDefault(),t.parent.inBrushDrag||T(this,t)})).on(\"mouseleave\",(function(t){t.parent.inBrushDrag||y()})).call(i.behavior.drag().on(\"dragstart\",(function(t){!function(t,e){i.event.sourceEvent.stopPropagation();var r=e.height-i.mouse(t)[1]-2*n.verticalPadding,a=e.unitToPaddedPx.invert(r),o=e.brush,s=_(e,r),l=s.interval,c=o.svgBrush;if(c.wasDragged=!1,c.grabbingBar=\"ns\"===s.region,c.grabbingBar){var u=l.map(e.unitToPaddedPx);c.grabPoint=r-u[0]-n.verticalPadding,c.barLength=u[1]-u[0]}c.clickableOrdinalRange=s.clickableOrdinalRange,c.stayingIntervals=e.multiselect&&o.filterSpecified?o.filter.getConsolidated():[],l&&(c.stayingIntervals=c.stayingIntervals.filter((function(t){return t[0]!==l[0]&&t[1]!==l[1]}))),c.startExtent=s.region?l[\"s\"===s.region?1:0]:a,e.parent.inBrushDrag=!0,c.brushStartCallback()}(this,t)})).on(\"drag\",(function(t){w(this,t)})).on(\"dragend\",(function(t){!function(t,e){var r=e.brush,n=r.filter,a=r.svgBrush;a._dragging||(T(t,e),w(t,e),e.brush.svgBrush.wasDragged=!1),a._dragging=!1,i.event.sourceEvent.stopPropagation();var o=a.grabbingBar;if(a.grabbingBar=!1,a.grabLocation=void 0,e.parent.inBrushDrag=!1,y(),!a.wasDragged)return a.wasDragged=void 0,a.clickableOrdinalRange?r.filterSpecified&&e.multiselect?a.extent.push(a.clickableOrdinalRange):(a.extent=[a.clickableOrdinalRange],r.filterSpecified=!0):o?(a.extent=a.stayingIntervals,0===a.extent.length&&M(r)):M(r),a.brushCallback(e),b(t.parentNode),void a.brushEndCallback(r.filterSpecified?n.getConsolidated():[]);var s=function(){n.set(n.getConsolidated())};if(e.ordinal){var l=e.unitTickvals;l[l.length-1]a.newExtent[0];a.extent=a.stayingIntervals.concat(c?[a.newExtent]:[]),a.extent.length||M(r),a.brushCallback(e),c?b(t.parentNode,s):(s(),b(t.parentNode))}else s();a.brushEndCallback(r.filterSpecified?n.getConsolidated():[])}(this,t)})))}function A(t,e){return t[0]-e[0]}function M(t){t.filterSpecified=!1,t.svgBrush.extent=[[-1/0,1/0]]}function S(t){for(var e,r=t.slice(),n=[],i=r.shift();i;){for(e=i.slice();(i=r.shift())&&i[0]<=e[1];)e[1]=Math.max(e[1],i[1]);n.push(e)}return 1===n.length&&n[0][0]>n[0][1]&&(n=[]),n}e.exports={makeBrush:function(t,e,r,n,i,a){var o,l=function(){var t,e,r=[];return{set:function(n){1===(r=n.map((function(t){return t.slice().sort(s)})).sort(A)).length&&r[0][0]===-1/0&&r[0][1]===1/0&&(r=[[0,-1]]),t=S(r),e=r.reduce((function(t,e){return[Math.min(t[0],e[0]),Math.max(t[1],e[1])]}),[1/0,-1/0])},get:function(){return r.slice()},getConsolidated:function(){return t},getBounds:function(){return e}}}();return l.set(r),{filter:l,filterSpecified:e,svgBrush:{extent:[],brushStartCallback:n,brushCallback:(o=i,function(t){var e=t.brush,r=function(t){return t.svgBrush.extent.map((function(t){return t.slice()}))}(e).slice();e.filter.set(r),o()}),brushEndCallback:a}}},ensureAxisBrush:function(t,e,r){var i=t.selectAll(\".\"+n.cn.axisBrush).data(o,a);i.enter().append(\"g\").classed(n.cn.axisBrush,!0),function(t,e,r){var i=r._context.staticPlot,a=t.selectAll(\".background\").data(o);a.enter().append(\"rect\").classed(\"background\",!0).call(d).call(m).style(\"pointer-events\",i?\"none\":\"auto\").attr(\"transform\",l(0,n.verticalPadding)),a.call(k).attr(\"height\",(function(t){return t.height-n.verticalPadding}));var s=t.selectAll(\".highlight-shadow\").data(o);s.enter().append(\"line\").classed(\"highlight-shadow\",!0).attr(\"x\",-n.bar.width/2).attr(\"stroke-width\",n.bar.width+n.bar.strokeWidth).attr(\"stroke\",e).attr(\"opacity\",n.bar.strokeOpacity).attr(\"stroke-linecap\",\"butt\"),s.attr(\"y1\",(function(t){return t.height})).call(x);var c=t.selectAll(\".highlight\").data(o);c.enter().append(\"line\").classed(\"highlight\",!0).attr(\"x\",-n.bar.width/2).attr(\"stroke-width\",n.bar.width-n.bar.strokeWidth).attr(\"stroke\",n.bar.fillColor).attr(\"opacity\",n.bar.fillOpacity).attr(\"stroke-linecap\",\"butt\"),c.attr(\"y1\",(function(t){return t.height})).call(x)}(i,e,r)},cleanRanges:function(t,e){if(Array.isArray(t[0])?(t=t.map((function(t){return t.sort(s)})),t=e.multiselect?S(t.sort(A)):[t[0]]):t=[t.sort(s)],e.tickvals){var r=e.tickvals.slice().sort(s);if(!(t=t.map((function(t){var e=[p(0,r,t[0],[]),p(1,r,t[1],[])];if(e[1]>e[0])return e})).filter((function(t){return t}))).length)return}return t.length>1?t:t[0]}}},{\"../../lib\":515,\"../../lib/gup\":512,\"./constants\":902,\"@plotly/d3\":58}],899:[function(t,e,r){\"use strict\";e.exports={attributes:t(\"./attributes\"),supplyDefaults:t(\"./defaults\"),calc:t(\"./calc\"),colorbar:{container:\"line\",min:\"cmin\",max:\"cmax\"},moduleType:\"trace\",name:\"parcoords\",basePlotModule:t(\"./base_plot\"),categories:[\"gl\",\"regl\",\"noOpacity\",\"noHover\"],meta:{}}},{\"./attributes\":897,\"./base_plot\":900,\"./calc\":901,\"./defaults\":903}],900:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\"),i=t(\"../../plots/get_data\").getModuleCalcData,a=t(\"./plot\"),o=t(\"../../constants/xmlns_namespaces\");r.name=\"parcoords\",r.plot=function(t){var e=i(t.calcdata,\"parcoords\")[0];e.length&&a(t,e)},r.clean=function(t,e,r,n){var i=n._has&&n._has(\"parcoords\"),a=e._has&&e._has(\"parcoords\");i&&!a&&(n._paperdiv.selectAll(\".parcoords\").remove(),n._glimages.selectAll(\"*\").remove())},r.toSVG=function(t){var e=t._fullLayout._glimages,r=n.select(t).selectAll(\".svg-container\");r.filter((function(t,e){return e===r.size()-1})).selectAll(\".gl-canvas-context, .gl-canvas-focus\").each((function(){var t=this.toDataURL(\"image/png\");e.append(\"svg:image\").attr({xmlns:o.svg,\"xlink:href\":t,preserveAspectRatio:\"none\",x:0,y:0,width:this.style.width,height:this.style.height})})),window.setTimeout((function(){n.selectAll(\"#filterBarPattern\").attr(\"id\",\"filterBarPattern\")}),60)}},{\"../../constants/xmlns_namespaces\":492,\"../../plots/get_data\":602,\"./plot\":909,\"@plotly/d3\":58}],901:[function(t,e,r){\"use strict\";var n=t(\"../../lib\").isArrayOrTypedArray,i=t(\"../../components/colorscale\"),a=t(\"../../lib/gup\").wrap;e.exports=function(t,e){var r,o;return i.hasColorscale(e,\"line\")&&n(e.line.color)?(r=e.line.color,o=i.extractOpts(e.line).colorscale,i.calc(t,e,{vals:r,containerStr:\"line\",cLetter:\"c\"})):(r=function(t){for(var e=new Array(t),r=0;rf&&(n.log(\"parcoords traces support up to \"+f+\" dimensions at the moment\"),d.splice(f));var m=s(t,e,{name:\"dimensions\",layout:l,handleItemDefaults:p}),g=function(t,e,r,o,s){var l=s(\"line.color\",r);if(i(t,\"line\")&&n.isArrayOrTypedArray(l)){if(l.length)return s(\"line.colorscale\"),a(t,e,o,s,{prefix:\"line.\",cLetter:\"c\"}),l.length;e.line.color=r}return 1/0}(t,e,r,l,u);o(e,l,u),Array.isArray(m)&&m.length||(e.visible=!1),h(e,m,\"values\",g);var v={family:l.font.family,size:Math.round(l.font.size/1.2),color:l.font.color};n.coerceFont(u,\"labelfont\",v),n.coerceFont(u,\"tickfont\",v),n.coerceFont(u,\"rangefont\",v),u(\"labelangle\"),u(\"labelside\"),u(\"unselected.line.color\"),u(\"unselected.line.opacity\")}},{\"../../components/colorscale/defaults\":377,\"../../components/colorscale/helpers\":378,\"../../lib\":515,\"../../plots/array_container_defaults\":561,\"../../plots/cartesian/axes\":566,\"../../plots/domain\":593,\"./attributes\":897,\"./axisbrush\":898,\"./constants\":902,\"./merge_length\":907}],904:[function(t,e,r){\"use strict\";var n=t(\"../../lib\").isTypedArray;r.convertTypedArray=function(t){return n(t)?Array.prototype.slice.call(t):t},r.isOrdinal=function(t){return!!t.tickvals},r.isVisible=function(t){return t.visible||!(\"visible\"in t)}},{\"../../lib\":515}],905:[function(t,e,r){\"use strict\";var n=t(\"./base_index\");n.plot=t(\"./plot\"),e.exports=n},{\"./base_index\":899,\"./plot\":909}],906:[function(t,e,r){\"use strict\";var n=t(\"glslify\"),i=n([\"precision highp float;\\n#define GLSLIFY 1\\n\\nvarying vec4 fragColor;\\n\\nattribute vec4 p01_04, p05_08, p09_12, p13_16,\\n p17_20, p21_24, p25_28, p29_32,\\n p33_36, p37_40, p41_44, p45_48,\\n p49_52, p53_56, p57_60, colors;\\n\\nuniform mat4 dim0A, dim1A, dim0B, dim1B, dim0C, dim1C, dim0D, dim1D,\\n loA, hiA, loB, hiB, loC, hiC, loD, hiD;\\n\\nuniform vec2 resolution, viewBoxPos, viewBoxSize;\\nuniform float maskHeight;\\nuniform float drwLayer; // 0: context, 1: focus, 2: pick\\nuniform vec4 contextColor;\\nuniform sampler2D maskTexture, palette;\\n\\nbool isPick = (drwLayer > 1.5);\\nbool isContext = (drwLayer < 0.5);\\n\\nconst vec4 ZEROS = vec4(0.0, 0.0, 0.0, 0.0);\\nconst vec4 UNITS = vec4(1.0, 1.0, 1.0, 1.0);\\n\\nfloat val(mat4 p, mat4 v) {\\n return dot(matrixCompMult(p, v) * UNITS, UNITS);\\n}\\n\\nfloat axisY(float ratio, mat4 A, mat4 B, mat4 C, mat4 D) {\\n float y1 = val(A, dim0A) + val(B, dim0B) + val(C, dim0C) + val(D, dim0D);\\n float y2 = val(A, dim1A) + val(B, dim1B) + val(C, dim1C) + val(D, dim1D);\\n return y1 * (1.0 - ratio) + y2 * ratio;\\n}\\n\\nint iMod(int a, int b) {\\n return a - b * (a / b);\\n}\\n\\nbool fOutside(float p, float lo, float hi) {\\n return (lo < hi) && (lo > p || p > hi);\\n}\\n\\nbool vOutside(vec4 p, vec4 lo, vec4 hi) {\\n return (\\n fOutside(p[0], lo[0], hi[0]) ||\\n fOutside(p[1], lo[1], hi[1]) ||\\n fOutside(p[2], lo[2], hi[2]) ||\\n fOutside(p[3], lo[3], hi[3])\\n );\\n}\\n\\nbool mOutside(mat4 p, mat4 lo, mat4 hi) {\\n return (\\n vOutside(p[0], lo[0], hi[0]) ||\\n vOutside(p[1], lo[1], hi[1]) ||\\n vOutside(p[2], lo[2], hi[2]) ||\\n vOutside(p[3], lo[3], hi[3])\\n );\\n}\\n\\nbool outsideBoundingBox(mat4 A, mat4 B, mat4 C, mat4 D) {\\n return mOutside(A, loA, hiA) ||\\n mOutside(B, loB, hiB) ||\\n mOutside(C, loC, hiC) ||\\n mOutside(D, loD, hiD);\\n}\\n\\nbool outsideRasterMask(mat4 A, mat4 B, mat4 C, mat4 D) {\\n mat4 pnts[4];\\n pnts[0] = A;\\n pnts[1] = B;\\n pnts[2] = C;\\n pnts[3] = D;\\n\\n for(int i = 0; i < 4; ++i) {\\n for(int j = 0; j < 4; ++j) {\\n for(int k = 0; k < 4; ++k) {\\n if(0 == iMod(\\n int(255.0 * texture2D(maskTexture,\\n vec2(\\n (float(i * 2 + j / 2) + 0.5) / 8.0,\\n (pnts[i][j][k] * (maskHeight - 1.0) + 1.0) / maskHeight\\n ))[3]\\n ) / int(pow(2.0, float(iMod(j * 4 + k, 8)))),\\n 2\\n )) return true;\\n }\\n }\\n }\\n return false;\\n}\\n\\nvec4 position(bool isContext, float v, mat4 A, mat4 B, mat4 C, mat4 D) {\\n float x = 0.5 * sign(v) + 0.5;\\n float y = axisY(x, A, B, C, D);\\n float z = 1.0 - abs(v);\\n\\n z += isContext ? 0.0 : 2.0 * float(\\n outsideBoundingBox(A, B, C, D) ||\\n outsideRasterMask(A, B, C, D)\\n );\\n\\n return vec4(\\n 2.0 * (vec2(x, y) * viewBoxSize + viewBoxPos) / resolution - 1.0,\\n z,\\n 1.0\\n );\\n}\\n\\nvoid main() {\\n mat4 A = mat4(p01_04, p05_08, p09_12, p13_16);\\n mat4 B = mat4(p17_20, p21_24, p25_28, p29_32);\\n mat4 C = mat4(p33_36, p37_40, p41_44, p45_48);\\n mat4 D = mat4(p49_52, p53_56, p57_60, ZEROS);\\n\\n float v = colors[3];\\n\\n gl_Position = position(isContext, v, A, B, C, D);\\n\\n fragColor =\\n isContext ? vec4(contextColor) :\\n isPick ? vec4(colors.rgb, 1.0) : texture2D(palette, vec2(abs(v), 0.5));\\n}\\n\"]),a=n([\"precision highp float;\\n#define GLSLIFY 1\\n\\nvarying vec4 fragColor;\\n\\nvoid main() {\\n gl_FragColor = fragColor;\\n}\\n\"]),o=t(\"./constants\").maxDimensionCount,s=t(\"../../lib\"),l=new Uint8Array(4),c=new Uint8Array(4),u={shape:[256,1],format:\"rgba\",type:\"uint8\",mag:\"nearest\",min:\"nearest\"};function f(t,e,r,n,i){var a=t._gl;a.enable(a.SCISSOR_TEST),a.scissor(e,r,n,i),t.clear({color:[0,0,0,0],depth:1})}function h(t,e,r,n,i,a){var o=a.key;r.drawCompleted||(!function(t){t.read({x:0,y:0,width:1,height:1,data:l})}(t),r.drawCompleted=!0),function s(l){var c=Math.min(n,i-l*n);0===l&&(window.cancelAnimationFrame(r.currentRafs[o]),delete r.currentRafs[o],f(t,a.scissorX,a.scissorY,a.scissorWidth,a.viewBoxSize[1])),r.clearOnly||(a.count=2*c,a.offset=2*l*n,e(a),l*n+c>>8*e)%256/255}function m(t,e,r){for(var n=new Array(8*e),i=0,a=0;au&&(u=t[i].dim1.canvasX,o=i);0===s&&f(T,0,0,r.canvasWidth,r.canvasHeight);var p=function(t){var e,r,n,i=[[],[]];for(n=0;n<64;n++){var a=!t&&no._length&&(S=S.slice(0,o._length));var L,C=o.tickvals;function P(t,e){return{val:t,text:L[e]}}function I(t,e){return t.val-e.val}if(Array.isArray(C)&&C.length){L=o.ticktext,Array.isArray(L)&&L.length?L.length>C.length?L=L.slice(0,C.length):C.length>L.length&&(C=C.slice(0,L.length)):L=C.map(a(o.tickformat));for(var O=1;O=r||l>=i)return;var c=t.lineLayer.readPixel(s,i-1-l),u=0!==c[3],f=u?c[2]+256*(c[1]+256*c[0]):null,h={x:s,y:l,clientX:e.clientX,clientY:e.clientY,dataIndex:t.model.key,curveNumber:f};f!==N&&(u?a.hover(h):a.unhover&&a.unhover(h),N=f)}})),B.style(\"opacity\",(function(t){return t.pick?0:1})),p.style(\"background\",\"rgba(255, 255, 255, 0)\");var j=p.selectAll(\".\"+y.cn.parcoords).data(F,d);j.exit().remove(),j.enter().append(\"g\").classed(y.cn.parcoords,!0).style(\"shape-rendering\",\"crispEdges\").style(\"pointer-events\",\"none\"),j.attr(\"transform\",(function(t){return c(t.model.translateX,t.model.translateY)}));var U=j.selectAll(\".\"+y.cn.parcoordsControlView).data(m,d);U.enter().append(\"g\").classed(y.cn.parcoordsControlView,!0),U.attr(\"transform\",(function(t){return c(t.model.pad.l,t.model.pad.t)}));var V=U.selectAll(\".\"+y.cn.yAxis).data((function(t){return t.dimensions}),d);V.enter().append(\"g\").classed(y.cn.yAxis,!0),U.each((function(t){O(V,t,T)})),B.each((function(t){if(t.viewModel){!t.lineLayer||a?t.lineLayer=b(this,t):t.lineLayer.update(t),(t.key||0===t.key)&&(t.viewModel[t.key]=t.lineLayer);var e=!t.context||a;t.lineLayer.render(t.viewModel.panels,e)}})),V.attr(\"transform\",(function(t){return c(t.xScale(t.xIndex),0)})),V.call(n.behavior.drag().origin((function(t){return t})).on(\"drag\",(function(t){var e=t.parent;R.linePickActive(!1),t.x=Math.max(-y.overdrag,Math.min(t.model.width+y.overdrag,n.event.x)),t.canvasX=t.x*t.model.canvasPixelRatio,V.sort((function(t,e){return t.x-e.x})).each((function(e,r){e.xIndex=r,e.x=t===e?e.x:e.xScale(e.xIndex),e.canvasX=e.x*e.model.canvasPixelRatio})),O(V,e,T),V.filter((function(e){return 0!==Math.abs(t.xIndex-e.xIndex)})).attr(\"transform\",(function(t){return c(t.xScale(t.xIndex),0)})),n.select(this).attr(\"transform\",c(t.x,0)),V.each((function(r,n,i){i===t.parent.key&&(e.dimensions[n]=r)})),e.contextLayer&&e.contextLayer.render(e.panels,!1,!E(e)),e.focusLayer.render&&e.focusLayer.render(e.panels)})).on(\"dragend\",(function(t){var e=t.parent;t.x=t.xScale(t.xIndex),t.canvasX=t.x*t.model.canvasPixelRatio,O(V,e,T),n.select(this).attr(\"transform\",(function(t){return c(t.x,0)})),e.contextLayer&&e.contextLayer.render(e.panels,!1,!E(e)),e.focusLayer&&e.focusLayer.render(e.panels),e.pickLayer&&e.pickLayer.render(e.panels,!0),R.linePickActive(!0),a&&a.axesMoved&&a.axesMoved(e.key,e.dimensions.map((function(t){return t.crossfilterDimensionIndex})))}))),V.exit().remove();var H=V.selectAll(\".\"+y.cn.axisOverlays).data(m,d);H.enter().append(\"g\").classed(y.cn.axisOverlays,!0),H.selectAll(\".\"+y.cn.axis).remove();var q=H.selectAll(\".\"+y.cn.axis).data(m,d);q.enter().append(\"g\").classed(y.cn.axis,!0),q.each((function(t){var e=t.model.height/t.model.tickDistance,r=t.domainScale,i=r.domain();n.select(this).call(n.svg.axis().orient(\"left\").tickSize(4).outerTickSize(2).ticks(e,t.tickFormat).tickValues(t.ordinal?i:null).tickFormat((function(e){return v.isOrdinal(t)?e:z(t.model.dimensions[t.visibleIndex],e)})).scale(r)),f.font(q.selectAll(\"text\"),t.model.tickFont)})),q.selectAll(\".domain, .tick>line\").attr(\"fill\",\"none\").attr(\"stroke\",\"black\").attr(\"stroke-opacity\",.25).attr(\"stroke-width\",\"1px\"),q.selectAll(\"text\").style(\"text-shadow\",u.makeTextShadow(A)).style(\"cursor\",\"default\");var G=H.selectAll(\".\"+y.cn.axisHeading).data(m,d);G.enter().append(\"g\").classed(y.cn.axisHeading,!0);var Y=G.selectAll(\".\"+y.cn.axisTitle).data(m,d);Y.enter().append(\"text\").classed(y.cn.axisTitle,!0).attr(\"text-anchor\",\"middle\").style(\"cursor\",\"ew-resize\").style(\"pointer-events\",o?\"none\":\"auto\"),Y.text((function(t){return t.label})).each((function(e){var r=n.select(this);f.font(r,e.model.labelFont),u.convertToTspans(r,t)})).attr(\"transform\",(function(t){var e=I(t.model.labelAngle,t.model.labelSide),r=y.axisTitleOffset;return(e.dir>0?\"\":c(0,2*r+t.model.height))+l(e.degrees)+c(-r*e.dx,-r*e.dy)})).attr(\"text-anchor\",(function(t){var e=I(t.model.labelAngle,t.model.labelSide);return 2*Math.abs(e.dx)>Math.abs(e.dy)?e.dir*e.dx<0?\"start\":\"end\":\"middle\"}));var W=H.selectAll(\".\"+y.cn.axisExtent).data(m,d);W.enter().append(\"g\").classed(y.cn.axisExtent,!0);var Z=W.selectAll(\".\"+y.cn.axisExtentTop).data(m,d);Z.enter().append(\"g\").classed(y.cn.axisExtentTop,!0),Z.attr(\"transform\",c(0,-y.axisExtentOffset));var X=Z.selectAll(\".\"+y.cn.axisExtentTopText).data(m,d);X.enter().append(\"text\").classed(y.cn.axisExtentTopText,!0).call(P),X.text((function(t){return D(t,!0)})).each((function(t){f.font(n.select(this),t.model.rangeFont)}));var J=W.selectAll(\".\"+y.cn.axisExtentBottom).data(m,d);J.enter().append(\"g\").classed(y.cn.axisExtentBottom,!0),J.attr(\"transform\",(function(t){return c(0,t.model.height+y.axisExtentOffset)}));var K=J.selectAll(\".\"+y.cn.axisExtentBottomText).data(m,d);K.enter().append(\"text\").classed(y.cn.axisExtentBottomText,!0).attr(\"dy\",\"0.75em\").call(P),K.text((function(t){return D(t,!1)})).each((function(t){f.font(n.select(this),t.model.rangeFont)})),x.ensureAxisBrush(H,A,t)}},{\"../../components/colorscale\":379,\"../../components/drawing\":389,\"../../lib\":515,\"../../lib/gup\":512,\"../../lib/svg_text_utils\":541,\"../../plots/cartesian/axes\":566,\"./axisbrush\":898,\"./constants\":902,\"./helpers\":904,\"./lines\":906,\"@plotly/d3\":58,\"color-rgba\":91}],909:[function(t,e,r){\"use strict\";var n=t(\"./parcoords\"),i=t(\"../../lib/prepare_regl\"),a=t(\"./helpers\").isVisible,o={};function s(t,e,r){var n=e.indexOf(r),i=t.indexOf(n);return-1===i&&(i+=e.length),i}(e.exports=function(t,e){var r=t._fullLayout;if(i(t,[],o)){var l={},c={},u={},f={},h=r._size;e.forEach((function(e,r){var n=e[0].trace;u[r]=n.index;var i=f[r]=n._fullInput.index;l[r]=t.data[i].dimensions,c[r]=t.data[i].dimensions.slice()}));n(t,e,{width:h.w,height:h.h,margin:{t:h.t,r:h.r,b:h.b,l:h.l}},{filterChanged:function(e,n,i){var a=c[e][n],o=i.map((function(t){return t.slice()})),s=\"dimensions[\"+n+\"].constraintrange\",l=r._tracePreGUI[t._fullData[u[e]]._fullInput.uid];if(void 0===l[s]){var h=a.constraintrange;l[s]=h||null}var p=t._fullData[u[e]].dimensions[n];o.length?(1===o.length&&(o=o[0]),a.constraintrange=o,p.constraintrange=o.slice(),o=[o]):(delete a.constraintrange,delete p.constraintrange,o=null);var d={};d[s]=o,t.emit(\"plotly_restyle\",[d,[f[e]]])},hover:function(e){t.emit(\"plotly_hover\",e)},unhover:function(e){t.emit(\"plotly_unhover\",e)},axesMoved:function(e,r){var n=function(t,e){return function(r,n){return s(t,e,r)-s(t,e,n)}}(r,c[e].filter(a));l[e].sort(n),c[e].filter((function(t){return!a(t)})).sort((function(t){return c[e].indexOf(t)})).forEach((function(t){l[e].splice(l[e].indexOf(t),1),l[e].splice(c[e].indexOf(t),0,t)})),t.emit(\"plotly_restyle\",[{dimensions:[l[e]]},[f[e]]])}})}}).reglPrecompiled=o},{\"../../lib/prepare_regl\":528,\"./helpers\":904,\"./parcoords\":908}],910:[function(t,e,r){\"use strict\";var n=t(\"../../plots/attributes\"),i=t(\"../../plots/domain\").attributes,a=t(\"../../plots/font_attributes\"),o=t(\"../../components/color/attributes\"),s=t(\"../../plots/template_attributes\").hovertemplateAttrs,l=t(\"../../plots/template_attributes\").texttemplateAttrs,c=t(\"../../lib/extend\").extendFlat,u=a({editType:\"plot\",arrayOk:!0,colorEditType:\"plot\"});e.exports={labels:{valType:\"data_array\",editType:\"calc\"},label0:{valType:\"number\",dflt:0,editType:\"calc\"},dlabel:{valType:\"number\",dflt:1,editType:\"calc\"},values:{valType:\"data_array\",editType:\"calc\"},marker:{colors:{valType:\"data_array\",editType:\"calc\"},line:{color:{valType:\"color\",dflt:o.defaultLine,arrayOk:!0,editType:\"style\"},width:{valType:\"number\",min:0,dflt:0,arrayOk:!0,editType:\"style\"},editType:\"calc\"},editType:\"calc\"},text:{valType:\"data_array\",editType:\"plot\"},hovertext:{valType:\"string\",dflt:\"\",arrayOk:!0,editType:\"style\"},scalegroup:{valType:\"string\",dflt:\"\",editType:\"calc\"},textinfo:{valType:\"flaglist\",flags:[\"label\",\"text\",\"value\",\"percent\"],extras:[\"none\"],editType:\"calc\"},hoverinfo:c({},n.hoverinfo,{flags:[\"label\",\"text\",\"value\",\"percent\",\"name\"]}),hovertemplate:s({},{keys:[\"label\",\"color\",\"value\",\"percent\",\"text\"]}),texttemplate:l({editType:\"plot\"},{keys:[\"label\",\"color\",\"value\",\"percent\",\"text\"]}),textposition:{valType:\"enumerated\",values:[\"inside\",\"outside\",\"auto\",\"none\"],dflt:\"auto\",arrayOk:!0,editType:\"plot\"},textfont:c({},u,{}),insidetextorientation:{valType:\"enumerated\",values:[\"horizontal\",\"radial\",\"tangential\",\"auto\"],dflt:\"auto\",editType:\"plot\"},insidetextfont:c({},u,{}),outsidetextfont:c({},u,{}),automargin:{valType:\"boolean\",dflt:!1,editType:\"plot\"},title:{text:{valType:\"string\",dflt:\"\",editType:\"plot\"},font:c({},u,{}),position:{valType:\"enumerated\",values:[\"top left\",\"top center\",\"top right\",\"middle center\",\"bottom left\",\"bottom center\",\"bottom right\"],editType:\"plot\"},editType:\"plot\"},domain:i({name:\"pie\",trace:!0,editType:\"calc\"}),hole:{valType:\"number\",min:0,max:1,dflt:0,editType:\"calc\"},sort:{valType:\"boolean\",dflt:!0,editType:\"calc\"},direction:{valType:\"enumerated\",values:[\"clockwise\",\"counterclockwise\"],dflt:\"counterclockwise\",editType:\"calc\"},rotation:{valType:\"angle\",dflt:0,editType:\"calc\"},pull:{valType:\"number\",min:0,max:1,dflt:0,arrayOk:!0,editType:\"calc\"},_deprecated:{title:{valType:\"string\",dflt:\"\",editType:\"calc\"},titlefont:c({},u,{}),titleposition:{valType:\"enumerated\",values:[\"top left\",\"top center\",\"top right\",\"middle center\",\"bottom left\",\"bottom center\",\"bottom right\"],editType:\"calc\"}}}},{\"../../components/color/attributes\":366,\"../../lib/extend\":505,\"../../plots/attributes\":562,\"../../plots/domain\":593,\"../../plots/font_attributes\":594,\"../../plots/template_attributes\":642}],911:[function(t,e,r){\"use strict\";var n=t(\"../../plots/plots\");r.name=\"pie\",r.plot=function(t,e,i,a){n.plotBasePlot(r.name,t,e,i,a)},r.clean=function(t,e,i,a){n.cleanBasePlot(r.name,t,e,i,a)}},{\"../../plots/plots\":628}],912:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"tinycolor2\"),a=t(\"../../components/color\"),o={};function s(t){return function(e,r){return!!e&&(!!(e=i(e)).isValid()&&(e=a.addOpacity(e,e.getAlpha()),t[r]||(t[r]=e),e))}}function l(t,e){var r,n=JSON.stringify(t),a=e[n];if(!a){for(a=t.slice(),r=0;r=0})),(\"funnelarea\"===e.type?v:e.sort)&&a.sort((function(t,e){return e.v-t.v})),a[0]&&(a[0].vTotal=g),a},crossTraceCalc:function(t,e){var r=(e||{}).type;r||(r=\"pie\");var n=t._fullLayout,i=t.calcdata,a=n[r+\"colorway\"],s=n[\"_\"+r+\"colormap\"];n[\"extend\"+r+\"colors\"]&&(a=l(a,o));for(var c=0,u=0;u0){s=!0;break}}s||(o=0)}return{hasLabels:r,hasValues:a,len:o}}e.exports={handleLabelsAndValues:l,supplyDefaults:function(t,e,r,n){function c(r,n){return i.coerce(t,e,a,r,n)}var u=l(c(\"labels\"),c(\"values\")),f=u.len;if(e._hasLabels=u.hasLabels,e._hasValues=u.hasValues,!e._hasLabels&&e._hasValues&&(c(\"label0\"),c(\"dlabel\")),f){e._length=f,c(\"marker.line.width\")&&c(\"marker.line.color\"),c(\"marker.colors\"),c(\"scalegroup\");var h,p=c(\"text\"),d=c(\"texttemplate\");if(d||(h=c(\"textinfo\",Array.isArray(p)?\"text+percent\":\"percent\")),c(\"hovertext\"),c(\"hovertemplate\"),d||h&&\"none\"!==h){var m=c(\"textposition\");s(t,e,n,c,m,{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1}),(Array.isArray(m)||\"auto\"===m||\"outside\"===m)&&c(\"automargin\"),(\"inside\"===m||\"auto\"===m||Array.isArray(m))&&c(\"insidetextorientation\")}o(e,n,c);var g=c(\"hole\");if(c(\"title.text\")){var v=c(\"title.position\",g?\"middle center\":\"top center\");g||\"middle center\"!==v||(e.title.position=\"top center\"),i.coerceFont(c,\"title.font\",n.font)}c(\"sort\"),c(\"direction\"),c(\"rotation\"),c(\"pull\")}else e.visible=!1}}},{\"../../lib\":515,\"../../plots/domain\":593,\"../bar/defaults\":661,\"./attributes\":910,\"fast-isnumeric\":190}],914:[function(t,e,r){\"use strict\";var n=t(\"../../components/fx/helpers\").appendArrayMultiPointValues;e.exports=function(t,e){var r={curveNumber:e.index,pointNumbers:t.pts,data:e._input,fullData:e,label:t.label,color:t.color,value:t.v,percent:t.percent,text:t.text,bbox:t.bbox,v:t.v};return 1===t.pts.length&&(r.pointNumber=r.i=t.pts[0]),n(r,e,t.pts),\"funnelarea\"===e.type&&(delete r.v,delete r.i),r}},{\"../../components/fx/helpers\":403}],915:[function(t,e,r){\"use strict\";var n=t(\"../../lib\");function i(t){return-1!==t.indexOf(\"e\")?t.replace(/[.]?0+e/,\"e\"):-1!==t.indexOf(\".\")?t.replace(/[.]?0+$/,\"\"):t}r.formatPiePercent=function(t,e){var r=i((100*t).toPrecision(3));return n.numSeparate(r,e)+\"%\"},r.formatPieValue=function(t,e){var r=i(t.toPrecision(10));return n.numSeparate(r,e)},r.getFirstFilled=function(t,e){if(Array.isArray(t))for(var r=0;r\"),name:f.hovertemplate||-1!==h.indexOf(\"name\")?f.name:void 0,idealAlign:t.pxmid[0]<0?\"left\":\"right\",color:g.castOption(_.bgcolor,t.pts)||t.color,borderColor:g.castOption(_.bordercolor,t.pts),fontFamily:g.castOption(w.family,t.pts),fontSize:g.castOption(w.size,t.pts),fontColor:g.castOption(w.color,t.pts),nameLength:g.castOption(_.namelength,t.pts),textAlign:g.castOption(_.align,t.pts),hovertemplate:g.castOption(f.hovertemplate,t.pts),hovertemplateLabels:t,eventData:[v(t,f)]},{container:r._hoverlayer.node(),outerContainer:r._paper.node(),gd:e,inOut_bbox:T}),t.bbox=T[0],c._hasHoverLabel=!0}c._hasHoverEvent=!0,e.emit(\"plotly_hover\",{points:[v(t,f)],event:n.event})}})),t.on(\"mouseout\",(function(t){var r=e._fullLayout,i=e._fullData[c.index],o=n.select(this).datum();c._hasHoverEvent&&(t.originalEvent=n.event,e.emit(\"plotly_unhover\",{points:[v(o,i)],event:n.event}),c._hasHoverEvent=!1),c._hasHoverLabel&&(a.loneUnhover(r._hoverlayer.node()),c._hasHoverLabel=!1)})),t.on(\"click\",(function(t){var r=e._fullLayout,i=e._fullData[c.index];e._dragging||!1===r.hovermode||(e._hoverdata=[v(t,i)],a.click(e,n.event))}))}function b(t,e,r){var n=g.castOption(t.insidetextfont.color,e.pts);!n&&t._input.textfont&&(n=g.castOption(t._input.textfont.color,e.pts));var i=g.castOption(t.insidetextfont.family,e.pts)||g.castOption(t.textfont.family,e.pts)||r.family,a=g.castOption(t.insidetextfont.size,e.pts)||g.castOption(t.textfont.size,e.pts)||r.size;return{color:n||o.contrast(e.color),family:i,size:a}}function _(t,e){for(var r,n,i=0;ie&&e>n||r=-4;g-=2)v(Math.PI*g,\"tan\");for(g=4;g>=-4;g-=2)v(Math.PI*(g+1),\"tan\")}if(f||p){for(g=4;g>=-4;g-=2)v(Math.PI*(g+1.5),\"rad\");for(g=4;g>=-4;g-=2)v(Math.PI*(g+.5),\"rad\")}}if(s||d||f){var y=Math.sqrt(t.width*t.width+t.height*t.height);if((a={scale:i*n*2/y,rCenter:1-i,rotate:0}).textPosAngle=(e.startangle+e.stopangle)/2,a.scale>=1)return a;m.push(a)}(d||p)&&((a=T(t,n,o,l,c)).textPosAngle=(e.startangle+e.stopangle)/2,m.push(a)),(d||h)&&((a=k(t,n,o,l,c)).textPosAngle=(e.startangle+e.stopangle)/2,m.push(a));for(var x=0,b=0,_=0;_=1)break}return m[x]}function T(t,e,r,n,i){e=Math.max(0,e-2*m);var a=t.width/t.height,o=S(a,n,e,r);return{scale:2*o/t.height,rCenter:A(a,o/e),rotate:M(i)}}function k(t,e,r,n,i){e=Math.max(0,e-2*m);var a=t.height/t.width,o=S(a,n,e,r);return{scale:2*o/t.width,rCenter:A(a,o/e),rotate:M(i+Math.PI/2)}}function A(t,e){return Math.cos(e)-t*e}function M(t){return(180/Math.PI*t+720)%180-90}function S(t,e,r,n){var i=t+1/(2*Math.tan(e));return r*Math.min(1/(Math.sqrt(i*i+.5)+i),n/(Math.sqrt(t*t+n/2)+t))}function E(t,e){return t.v!==e.vTotal||e.trace.hole?Math.min(1/(1+1/Math.sin(t.halfangle)),t.ring/2):1}function L(t,e){var r=e.pxmid[0],n=e.pxmid[1],i=t.width/2,a=t.height/2;return r<0&&(i*=-1),n<0&&(a*=-1),{scale:1,rCenter:1,rotate:0,x:i+Math.abs(a)*(i>0?1:-1)/2,y:a/(1+r*r/(n*n)),outside:!0}}function C(t,e){var r,n,i,a=t.trace,o={x:t.cx,y:t.cy},s={tx:0,ty:0};s.ty+=a.title.font.size,i=I(a),-1!==a.title.position.indexOf(\"top\")?(o.y-=(1+i)*t.r,s.ty-=t.titleBox.height):-1!==a.title.position.indexOf(\"bottom\")&&(o.y+=(1+i)*t.r);var l,c,u=(l=t.r,c=t.trace.aspectratio,l/(void 0===c?1:c)),f=e.w*(a.domain.x[1]-a.domain.x[0])/2;return-1!==a.title.position.indexOf(\"left\")?(f+=u,o.x-=(1+i)*u,s.tx+=t.titleBox.width/2):-1!==a.title.position.indexOf(\"center\")?f*=2:-1!==a.title.position.indexOf(\"right\")&&(f+=u,o.x+=(1+i)*u,s.tx-=t.titleBox.width/2),r=f/t.titleBox.width,n=P(t,e)/t.titleBox.height,{x:o.x,y:o.y,scale:Math.min(r,n),tx:s.tx,ty:s.ty}}function P(t,e){var r=t.trace,n=e.h*(r.domain.y[1]-r.domain.y[0]);return Math.min(t.titleBox.height,n/2)}function I(t){var e,r=t.pull;if(!r)return 0;if(Array.isArray(r))for(r=0,e=0;er&&(r=t.pull[e]);return r}function O(t,e){for(var r=[],n=0;n1?(c=r.r,u=c/i.aspectratio):(u=r.r,c=u*i.aspectratio),c*=(1+i.baseratio)/2,l=c*u}o=Math.min(o,l/r.vTotal)}for(n=0;n\")}if(a){var x=l.castOption(i,e.i,\"texttemplate\");if(x){var b=function(t){return{label:t.label,value:t.v,valueLabel:g.formatPieValue(t.v,n.separators),percent:t.v/r.vTotal,percentLabel:g.formatPiePercent(t.v/r.vTotal,n.separators),color:t.color,text:t.text,customdata:l.castOption(i,t.i,\"customdata\")}}(e),_=g.getFirstFilled(i.text,e.pts);(y(_)||\"\"===_)&&(b.text=_),e.text=l.texttemplateString(x,b,t._fullLayout._d3locale,b,i._meta||{})}else e.text=\"\"}}function R(t,e){var r=t.rotate*Math.PI/180,n=Math.cos(r),i=Math.sin(r),a=(e.left+e.right)/2,o=(e.top+e.bottom)/2;t.textX=a*n-o*i,t.textY=a*i+o*n,t.noCenter=!0}e.exports={plot:function(t,e){var r=t._context.staticPlot,a=t._fullLayout,h=a._size;d(\"pie\",a),_(e,t),O(e,h);var m=l.makeTraceGroups(a._pielayer,e,\"trace\").each((function(e){var d=n.select(this),m=e[0],v=m.trace;!function(t){var e,r,n,i=t[0],a=i.r,o=i.trace,s=g.getRotationAngle(o.rotation),l=2*Math.PI/i.vTotal,c=\"px0\",u=\"px1\";if(\"counterclockwise\"===o.direction){for(e=0;ei.vTotal/2?1:0,r.halfangle=Math.PI*Math.min(r.v/i.vTotal,.5),r.ring=1-o.hole,r.rInscribed=E(r,i))}(e),d.attr(\"stroke-linejoin\",\"round\"),d.each((function(){var y=n.select(this).selectAll(\"g.slice\").data(e);y.enter().append(\"g\").classed(\"slice\",!0),y.exit().remove();var _=[[[],[]],[[],[]]],T=!1;y.each((function(i,o){if(i.hidden)n.select(this).selectAll(\"path,g\").remove();else{i.pointNumber=i.i,i.curveNumber=v.index,_[i.pxmid[1]<0?0:1][i.pxmid[0]<0?0:1].push(i);var c=m.cx,u=m.cy,h=n.select(this),d=h.selectAll(\"path.surface\").data([i]);if(d.enter().append(\"path\").classed(\"surface\",!0).style({\"pointer-events\":r?\"none\":\"all\"}),h.call(x,t,e),v.pull){var y=+g.castOption(v.pull,i.pts)||0;y>0&&(c+=y*i.pxmid[0],u+=y*i.pxmid[1])}i.cxFinal=c,i.cyFinal=u;var k=v.hole;if(i.v===m.vTotal){var A=\"M\"+(c+i.px0[0])+\",\"+(u+i.px0[1])+P(i.px0,i.pxmid,!0,1)+P(i.pxmid,i.px0,!0,1)+\"Z\";k?d.attr(\"d\",\"M\"+(c+k*i.px0[0])+\",\"+(u+k*i.px0[1])+P(i.px0,i.pxmid,!1,k)+P(i.pxmid,i.px0,!1,k)+\"Z\"+A):d.attr(\"d\",A)}else{var M=P(i.px0,i.px1,!0,1);if(k){var S=1-k;d.attr(\"d\",\"M\"+(c+k*i.px1[0])+\",\"+(u+k*i.px1[1])+P(i.px1,i.px0,!1,k)+\"l\"+S*i.px0[0]+\",\"+S*i.px0[1]+M+\"Z\")}else d.attr(\"d\",\"M\"+c+\",\"+u+\"l\"+i.px0[0]+\",\"+i.px0[1]+M+\"Z\")}D(t,i,m);var E=g.castOption(v.textposition,i.pts),C=h.selectAll(\"g.slicetext\").data(i.text&&\"none\"!==E?[0]:[]);C.enter().append(\"g\").classed(\"slicetext\",!0),C.exit().remove(),C.each((function(){var r=l.ensureSingle(n.select(this),\"text\",\"\",(function(t){t.attr(\"data-notex\",1)})),h=l.ensureUniformFontSize(t,\"outside\"===E?function(t,e,r){var n=g.castOption(t.outsidetextfont.color,e.pts)||g.castOption(t.textfont.color,e.pts)||r.color,i=g.castOption(t.outsidetextfont.family,e.pts)||g.castOption(t.textfont.family,e.pts)||r.family,a=g.castOption(t.outsidetextfont.size,e.pts)||g.castOption(t.textfont.size,e.pts)||r.size;return{color:n,family:i,size:a}}(v,i,a.font):b(v,i,a.font));r.text(i.text).attr({class:\"slicetext\",transform:\"\",\"text-anchor\":\"middle\"}).call(s.font,h).call(f.convertToTspans,t);var d,y=s.bBox(r.node());if(\"outside\"===E)d=L(y,i);else if(d=w(y,i,m),\"auto\"===E&&d.scale<1){var x=l.ensureUniformFontSize(t,v.outsidetextfont);r.call(s.font,x),d=L(y=s.bBox(r.node()),i)}var _=d.textPosAngle,k=void 0===_?i.pxmid:z(m.r,_);if(d.targetX=c+k[0]*d.rCenter+(d.x||0),d.targetY=u+k[1]*d.rCenter+(d.y||0),R(d,y),d.outside){var A=d.targetY;i.yLabelMin=A-y.height/2,i.yLabelMid=A,i.yLabelMax=A+y.height/2,i.labelExtraX=0,i.labelExtraY=0,T=!0}d.fontSize=h.size,p(v.type,d,a),e[o].transform=d,l.setTransormAndDisplay(r,d)}))}function P(t,e,r,n){var a=n*(e[0]-t[0]),o=n*(e[1]-t[1]);return\"a\"+n*m.r+\",\"+n*m.r+\" 0 \"+i.largeArc+(r?\" 1 \":\" 0 \")+a+\",\"+o}}));var k=n.select(this).selectAll(\"g.titletext\").data(v.title.text?[0]:[]);if(k.enter().append(\"g\").classed(\"titletext\",!0),k.exit().remove(),k.each((function(){var e,r=l.ensureSingle(n.select(this),\"text\",\"\",(function(t){t.attr(\"data-notex\",1)})),i=v.title.text;v._meta&&(i=l.templateString(i,v._meta)),r.text(i).attr({class:\"titletext\",transform:\"\",\"text-anchor\":\"middle\"}).call(s.font,v.title.font).call(f.convertToTspans,t),e=\"middle center\"===v.title.position?function(t){var e=Math.sqrt(t.titleBox.width*t.titleBox.width+t.titleBox.height*t.titleBox.height);return{x:t.cx,y:t.cy,scale:t.trace.hole*t.r*2/e,tx:0,ty:-t.titleBox.height/2+t.trace.title.font.size}}(m):C(m,h),r.attr(\"transform\",u(e.x,e.y)+c(Math.min(1,e.scale))+u(e.tx,e.ty))})),T&&function(t,e){var r,n,i,a,o,s,l,c,u,f,h,p,d;function m(t,e){return t.pxmid[1]-e.pxmid[1]}function v(t,e){return e.pxmid[1]-t.pxmid[1]}function y(t,r){r||(r={});var i,c,u,h,p=r.labelExtraY+(n?r.yLabelMax:r.yLabelMin),d=n?t.yLabelMin:t.yLabelMax,m=n?t.yLabelMax:t.yLabelMin,v=t.cyFinal+o(t.px0[1],t.px1[1]),y=p-d;if(y*l>0&&(t.labelExtraY=y),Array.isArray(e.pull))for(c=0;c=(g.castOption(e.pull,u.pts)||0)||((t.pxmid[1]-u.pxmid[1])*l>0?(y=u.cyFinal+o(u.px0[1],u.px1[1])-d-t.labelExtraY)*l>0&&(t.labelExtraY+=y):(m+t.labelExtraY-v)*l>0&&(i=3*s*Math.abs(c-f.indexOf(t)),(h=u.cxFinal+a(u.px0[0],u.px1[0])+i-(t.cxFinal+t.pxmid[0])-t.labelExtraX)*s>0&&(t.labelExtraX+=h)))}for(n=0;n<2;n++)for(i=n?m:v,o=n?Math.max:Math.min,l=n?1:-1,r=0;r<2;r++){for(a=r?Math.max:Math.min,s=r?1:-1,(c=t[n][r]).sort(i),u=t[1-n][r],f=u.concat(c),p=[],h=0;hMath.abs(f)?s+=\"l\"+f*t.pxmid[0]/t.pxmid[1]+\",\"+f+\"H\"+(a+t.labelExtraX+c):s+=\"l\"+t.labelExtraX+\",\"+u+\"v\"+(f-u)+\"h\"+c}else s+=\"V\"+(t.yLabelMid+t.labelExtraY)+\"h\"+c;l.ensureSingle(r,\"path\",\"textline\").call(o.stroke,e.outsidetextfont.color).attr({\"stroke-width\":Math.min(2,e.outsidetextfont.size/8),d:s,fill:\"none\"})}else r.select(\"path.textline\").remove()}))}(y,v),T&&v.automargin){var A=s.bBox(d.node()),M=v.domain,S=h.w*(M.x[1]-M.x[0]),E=h.h*(M.y[1]-M.y[0]),P=(.5*S-m.r)/h.w,I=(.5*E-m.r)/h.h;i.autoMargin(t,\"pie.\"+v.uid+\".automargin\",{xl:M.x[0]-P,xr:M.x[1]+P,yb:M.y[0]-I,yt:M.y[1]+I,l:Math.max(m.cx-m.r-A.left,0),r:Math.max(A.right-(m.cx+m.r),0),b:Math.max(A.bottom-(m.cy+m.r),0),t:Math.max(m.cy-m.r-A.top,0),pad:5})}}))}));setTimeout((function(){m.selectAll(\"tspan\").each((function(){var t=n.select(this);t.attr(\"dy\")&&t.attr(\"dy\",t.attr(\"dy\"))}))}),0)},formatSliceLabel:D,transformInsideText:w,determineInsideTextFont:b,positionTitleOutside:C,prerenderTitles:_,layoutAreas:O,attachFxHandlers:x,computeTransform:R}},{\"../../components/color\":367,\"../../components/drawing\":389,\"../../components/fx\":407,\"../../lib\":515,\"../../lib/svg_text_utils\":541,\"../../plots/plots\":628,\"../bar/constants\":659,\"../bar/uniform_text\":673,\"./event_data\":914,\"./helpers\":915,\"@plotly/d3\":58}],920:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\"),i=t(\"./style_one\"),a=t(\"../bar/uniform_text\").resizeText;e.exports=function(t){var e=t._fullLayout._pielayer.selectAll(\".trace\");a(t,e,\"pie\"),e.each((function(t){var e=t[0].trace,r=n.select(this);r.style({opacity:e.opacity}),r.selectAll(\"path.surface\").each((function(t){n.select(this).call(i,t,e)}))}))}},{\"../bar/uniform_text\":673,\"./style_one\":921,\"@plotly/d3\":58}],921:[function(t,e,r){\"use strict\";var n=t(\"../../components/color\"),i=t(\"./helpers\").castOption;e.exports=function(t,e,r){var a=r.marker.line,o=i(a.color,e.pts)||n.defaultLine,s=i(a.width,e.pts)||0;t.style(\"stroke-width\",s).call(n.fill,e.color).call(n.stroke,o)}},{\"../../components/color\":367,\"./helpers\":915}],922:[function(t,e,r){\"use strict\";var n=t(\"../scatter/attributes\");e.exports={x:n.x,y:n.y,xy:{valType:\"data_array\",editType:\"calc\"},indices:{valType:\"data_array\",editType:\"calc\"},xbounds:{valType:\"data_array\",editType:\"calc\"},ybounds:{valType:\"data_array\",editType:\"calc\"},text:n.text,marker:{color:{valType:\"color\",arrayOk:!1,editType:\"calc\"},opacity:{valType:\"number\",min:0,max:1,dflt:1,arrayOk:!1,editType:\"calc\"},blend:{valType:\"boolean\",dflt:null,editType:\"calc\"},sizemin:{valType:\"number\",min:.1,max:2,dflt:.5,editType:\"calc\"},sizemax:{valType:\"number\",min:.1,dflt:20,editType:\"calc\"},border:{color:{valType:\"color\",arrayOk:!1,editType:\"calc\"},arearatio:{valType:\"number\",min:0,max:1,dflt:0,editType:\"calc\"},editType:\"calc\"},editType:\"calc\"},transforms:void 0}},{\"../scatter/attributes\":936}],923:[function(t,e,r){\"use strict\";var n=t(\"../../../stackgl_modules\").gl_pointcloud2d,i=t(\"../../lib/str2rgbarray\"),a=t(\"../../plots/cartesian/autorange\").findExtremes,o=t(\"../scatter/get_trace_color\");function s(t,e){this.scene=t,this.uid=e,this.type=\"pointcloud\",this.pickXData=[],this.pickYData=[],this.xData=[],this.yData=[],this.textLabels=[],this.color=\"rgb(0, 0, 0)\",this.name=\"\",this.hoverinfo=\"all\",this.idToIndex=new Int32Array(0),this.bounds=[0,0,0,0],this.pointcloudOptions={positions:new Float32Array(0),idToIndex:this.idToIndex,sizemin:.5,sizemax:12,color:[0,0,0,1],areaRatio:1,borderColor:[0,0,0,1]},this.pointcloud=n(t.glplot,this.pointcloudOptions),this.pointcloud._trace=this}var l=s.prototype;l.handlePick=function(t){var e=this.idToIndex[t.pointId];return{trace:this,dataCoord:t.dataCoord,traceCoord:this.pickXYData?[this.pickXYData[2*e],this.pickXYData[2*e+1]]:[this.pickXData[e],this.pickYData[e]],textLabel:Array.isArray(this.textLabels)?this.textLabels[e]:this.textLabels,color:this.color,name:this.name,pointIndex:e,hoverinfo:this.hoverinfo}},l.update=function(t){this.index=t.index,this.textLabels=t.text,this.name=t.name,this.hoverinfo=t.hoverinfo,this.bounds=[1/0,1/0,-1/0,-1/0],this.updateFast(t),this.color=o(t,{})},l.updateFast=function(t){var e,r,n,o,s,l,c=this.xData=this.pickXData=t.x,u=this.yData=this.pickYData=t.y,f=this.pickXYData=t.xy,h=t.xbounds&&t.ybounds,p=t.indices,d=this.bounds;if(f){if(n=f,e=f.length>>>1,h)d[0]=t.xbounds[0],d[2]=t.xbounds[1],d[1]=t.ybounds[0],d[3]=t.ybounds[1];else for(l=0;ld[2]&&(d[2]=o),sd[3]&&(d[3]=s);if(p)r=p;else for(r=new Int32Array(e),l=0;ld[2]&&(d[2]=o),sd[3]&&(d[3]=s);this.idToIndex=r,this.pointcloudOptions.idToIndex=r,this.pointcloudOptions.positions=n;var m=i(t.marker.color),g=i(t.marker.border.color),v=t.opacity*t.marker.opacity;m[3]*=v,this.pointcloudOptions.color=m;var y=t.marker.blend;if(null===y){y=c.length<100||u.length<100}this.pointcloudOptions.blend=y,g[3]*=v,this.pointcloudOptions.borderColor=g;var x=t.marker.sizemin,b=Math.max(t.marker.sizemax,t.marker.sizemin);this.pointcloudOptions.sizeMin=x,this.pointcloudOptions.sizeMax=b,this.pointcloudOptions.areaRatio=t.marker.border.arearatio,this.pointcloud.update(this.pointcloudOptions);var _=this.scene.xaxis,w=this.scene.yaxis,T=b/2||.5;t._extremes[_._id]=a(_,[d[0],d[2]],{ppad:T}),t._extremes[w._id]=a(w,[d[1],d[3]],{ppad:T})},l.dispose=function(){this.pointcloud.dispose()},e.exports=function(t,e){var r=new s(t,e.uid);return r.update(e),r}},{\"../../../stackgl_modules\":1133,\"../../lib/str2rgbarray\":540,\"../../plots/cartesian/autorange\":565,\"../scatter/get_trace_color\":946}],924:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"./attributes\");e.exports=function(t,e,r){function a(r,a){return n.coerce(t,e,i,r,a)}a(\"x\"),a(\"y\"),a(\"xbounds\"),a(\"ybounds\"),t.xy&&t.xy instanceof Float32Array&&(e.xy=t.xy),t.indices&&t.indices instanceof Int32Array&&(e.indices=t.indices),a(\"text\"),a(\"marker.color\",r),a(\"marker.opacity\"),a(\"marker.blend\"),a(\"marker.sizemin\"),a(\"marker.sizemax\"),a(\"marker.border.color\",r),a(\"marker.border.arearatio\"),e._length=null}},{\"../../lib\":515,\"./attributes\":922}],925:[function(t,e,r){\"use strict\";[\"*pointcloud* trace is deprecated!\",\"Please consider switching to the *scattergl* trace type.\"].join(\" \");e.exports={attributes:t(\"./attributes\"),supplyDefaults:t(\"./defaults\"),calc:t(\"../scatter3d/calc\"),plot:t(\"./convert\"),moduleType:\"trace\",name:\"pointcloud\",basePlotModule:t(\"../../plots/gl2d\"),categories:[\"gl\",\"gl2d\",\"showLegend\"],meta:{}}},{\"../../plots/gl2d\":605,\"../scatter3d/calc\":965,\"./attributes\":922,\"./convert\":923,\"./defaults\":924}],926:[function(t,e,r){\"use strict\";var n=t(\"../../plots/font_attributes\"),i=t(\"../../plots/attributes\"),a=t(\"../../components/color/attributes\"),o=t(\"../../components/fx/attributes\"),s=t(\"../../plots/domain\").attributes,l=t(\"../../plots/template_attributes\").hovertemplateAttrs,c=t(\"../../components/colorscale/attributes\"),u=t(\"../../plot_api/plot_template\").templatedArray,f=t(\"../../plots/cartesian/axis_format_attributes\").descriptionOnlyNumbers,h=t(\"../../lib/extend\").extendFlat,p=t(\"../../plot_api/edit_types\").overrideAll;(e.exports=p({hoverinfo:h({},i.hoverinfo,{flags:[],arrayOk:!1}),hoverlabel:o.hoverlabel,domain:s({name:\"sankey\",trace:!0}),orientation:{valType:\"enumerated\",values:[\"v\",\"h\"],dflt:\"h\"},valueformat:{valType:\"string\",dflt:\".3s\",description:f(\"value\")},valuesuffix:{valType:\"string\",dflt:\"\"},arrangement:{valType:\"enumerated\",values:[\"snap\",\"perpendicular\",\"freeform\",\"fixed\"],dflt:\"snap\"},textfont:n({}),customdata:void 0,node:{label:{valType:\"data_array\",dflt:[]},groups:{valType:\"info_array\",impliedEdits:{x:[],y:[]},dimensions:2,freeLength:!0,dflt:[],items:{valType:\"number\",editType:\"calc\"}},x:{valType:\"data_array\",dflt:[]},y:{valType:\"data_array\",dflt:[]},color:{valType:\"color\",arrayOk:!0},customdata:{valType:\"data_array\",editType:\"calc\"},line:{color:{valType:\"color\",dflt:a.defaultLine,arrayOk:!0},width:{valType:\"number\",min:0,dflt:.5,arrayOk:!0}},pad:{valType:\"number\",arrayOk:!1,min:0,dflt:20},thickness:{valType:\"number\",arrayOk:!1,min:1,dflt:20},hoverinfo:{valType:\"enumerated\",values:[\"all\",\"none\",\"skip\"],dflt:\"all\"},hoverlabel:o.hoverlabel,hovertemplate:l({},{keys:[\"value\",\"label\"]})},link:{arrowlen:{valType:\"number\",min:0,dflt:0},label:{valType:\"data_array\",dflt:[]},color:{valType:\"color\",arrayOk:!0},customdata:{valType:\"data_array\",editType:\"calc\"},line:{color:{valType:\"color\",dflt:a.defaultLine,arrayOk:!0},width:{valType:\"number\",min:0,dflt:0,arrayOk:!0}},source:{valType:\"data_array\",dflt:[]},target:{valType:\"data_array\",dflt:[]},value:{valType:\"data_array\",dflt:[]},hoverinfo:{valType:\"enumerated\",values:[\"all\",\"none\",\"skip\"],dflt:\"all\"},hoverlabel:o.hoverlabel,hovertemplate:l({},{keys:[\"value\",\"label\"]}),colorscales:u(\"concentrationscales\",{editType:\"calc\",label:{valType:\"string\",editType:\"calc\",dflt:\"\"},cmax:{valType:\"number\",editType:\"calc\",dflt:1},cmin:{valType:\"number\",editType:\"calc\",dflt:0},colorscale:h(c().colorscale,{dflt:[[0,\"white\"],[1,\"black\"]]})})}},\"calc\",\"nested\")).transforms=void 0},{\"../../components/color/attributes\":366,\"../../components/colorscale/attributes\":374,\"../../components/fx/attributes\":398,\"../../lib/extend\":505,\"../../plot_api/edit_types\":548,\"../../plot_api/plot_template\":555,\"../../plots/attributes\":562,\"../../plots/cartesian/axis_format_attributes\":569,\"../../plots/domain\":593,\"../../plots/font_attributes\":594,\"../../plots/template_attributes\":642}],927:[function(t,e,r){\"use strict\";var n=t(\"../../plot_api/edit_types\").overrideAll,i=t(\"../../plots/get_data\").getModuleCalcData,a=t(\"./plot\"),o=t(\"../../components/fx/layout_attributes\"),s=t(\"../../lib/setcursor\"),l=t(\"../../components/dragelement\"),c=t(\"../../components/selections\").prepSelect,u=t(\"../../lib\"),f=t(\"../../registry\");function h(t,e){var r=t._fullData[e],n=t._fullLayout,i=n.dragmode,a=\"pan\"===n.dragmode?\"move\":\"crosshair\",o=r._bgRect;if(o&&\"pan\"!==i&&\"zoom\"!==i){s(o,a);var h={_id:\"x\",c2p:u.identity,_offset:r._sankey.translateX,_length:r._sankey.width},p={_id:\"y\",c2p:u.identity,_offset:r._sankey.translateY,_length:r._sankey.height},d={gd:t,element:o.node(),plotinfo:{id:e,xaxis:h,yaxis:p,fillRangeItems:u.noop},subplot:e,xaxes:[h],yaxes:[p],doneFnCompleted:function(r){var n,i=t._fullData[e],a=i.node.groups.slice(),o=[];function s(t){for(var e=i._sankey.graph.nodes,r=0;ry&&(y=a.source[e]),a.target[e]>y&&(y=a.target[e]);var x,b=y+1;t.node._count=b;var _=t.node.groups,w={};for(e=0;e<_.length;e++){var T=_[e];for(x=0;x0&&s(E,b)&&s(L,b)&&(!w.hasOwnProperty(E)||!w.hasOwnProperty(L)||w[E]!==w[L])){w.hasOwnProperty(L)&&(L=w[L]),w.hasOwnProperty(E)&&(E=w[E]),L=+L,h[E=+E]=h[L]=!0;var C=\"\";a.label&&a.label[e]&&(C=a.label[e]);var P=null;C&&p.hasOwnProperty(C)&&(P=p[C]),c.push({pointNumber:e,label:C,color:u?a.color[e]:a.color,customdata:f?a.customdata[e]:a.customdata,concentrationscale:P,source:E,target:L,value:+S}),M.source.push(E),M.target.push(L)}}var I=b+_.length,O=o(r.color),z=o(r.customdata),D=[];for(e=0;eb-1,childrenNodes:[],pointNumber:e,label:R,color:O?r.color[e]:r.color,customdata:z?r.customdata[e]:r.customdata})}var F=!1;return function(t,e,r){for(var a=i.init2dArray(t,0),o=0;o1}))}(I,M.source,M.target)&&(F=!0),{circular:F,links:c,nodes:D,groups:_,groupLookup:w}}e.exports=function(t,e){var r=c(e);return a({circular:r.circular,_nodes:r.nodes,_links:r.links,_groups:r.groups,_groupLookup:r.groupLookup})}},{\"../../components/colorscale\":379,\"../../lib\":515,\"../../lib/gup\":512,\"strongly-connected-components\":307}],929:[function(t,e,r){\"use strict\";e.exports={nodeTextOffsetHorizontal:4,nodeTextOffsetVertical:3,nodePadAcross:10,sankeyIterations:50,forceIterations:5,forceTicksPerFrame:10,duration:500,ease:\"linear\",cn:{sankey:\"sankey\",sankeyLinks:\"sankey-links\",sankeyLink:\"sankey-link\",sankeyNodeSet:\"sankey-node-set\",sankeyNode:\"sankey-node\",nodeRect:\"node-rect\",nodeLabel:\"node-label\"}}},{}],930:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"./attributes\"),a=t(\"../../components/color\"),o=t(\"tinycolor2\"),s=t(\"../../plots/domain\").defaults,l=t(\"../../components/fx/hoverlabel_defaults\"),c=t(\"../../plot_api/plot_template\"),u=t(\"../../plots/array_container_defaults\");function f(t,e){function r(r,a){return n.coerce(t,e,i.link.colorscales,r,a)}r(\"label\"),r(\"cmin\"),r(\"cmax\"),r(\"colorscale\")}e.exports=function(t,e,r,h){function p(r,a){return n.coerce(t,e,i,r,a)}var d=n.extendDeep(h.hoverlabel,t.hoverlabel),m=t.node,g=c.newContainer(e,\"node\");function v(t,e){return n.coerce(m,g,i.node,t,e)}v(\"label\"),v(\"groups\"),v(\"x\"),v(\"y\"),v(\"pad\"),v(\"thickness\"),v(\"line.color\"),v(\"line.width\"),v(\"hoverinfo\",t.hoverinfo),l(m,g,v,d),v(\"hovertemplate\");var y=h.colorway;v(\"color\",g.label.map((function(t,e){return a.addOpacity(function(t){return y[t%y.length]}(e),.8)}))),v(\"customdata\");var x=t.link||{},b=c.newContainer(e,\"link\");function _(t,e){return n.coerce(x,b,i.link,t,e)}_(\"label\"),_(\"arrowlen\"),_(\"source\"),_(\"target\"),_(\"value\"),_(\"line.color\"),_(\"line.width\"),_(\"hoverinfo\",t.hoverinfo),l(x,b,_,d),_(\"hovertemplate\");var w,T=o(h.paper_bgcolor).getLuminance()<.333?\"rgba(255, 255, 255, 0.6)\":\"rgba(0, 0, 0, 0.2)\";_(\"color\",n.repeat(T,b.value.length)),_(\"customdata\"),u(x,b,{name:\"colorscales\",handleItemDefaults:f}),s(e,h,p),p(\"orientation\"),p(\"valueformat\"),p(\"valuesuffix\"),g.x.length&&g.y.length&&(w=\"freeform\"),p(\"arrangement\",w),n.coerceFont(p,\"textfont\",n.extendFlat({},h.font)),e._length=null}},{\"../../components/color\":367,\"../../components/fx/hoverlabel_defaults\":405,\"../../lib\":515,\"../../plot_api/plot_template\":555,\"../../plots/array_container_defaults\":561,\"../../plots/domain\":593,\"./attributes\":926,tinycolor2:313}],931:[function(t,e,r){\"use strict\";e.exports={attributes:t(\"./attributes\"),supplyDefaults:t(\"./defaults\"),calc:t(\"./calc\"),plot:t(\"./plot\"),moduleType:\"trace\",name:\"sankey\",basePlotModule:t(\"./base_plot\"),selectPoints:t(\"./select.js\"),categories:[\"noOpacity\"],meta:{}}},{\"./attributes\":926,\"./base_plot\":927,\"./calc\":928,\"./defaults\":930,\"./plot\":932,\"./select.js\":934}],932:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\"),i=t(\"../../lib\"),a=i.numberFormat,o=t(\"./render\"),s=t(\"../../components/fx\"),l=t(\"../../components/color\"),c=t(\"./constants\").cn,u=i._;function f(t){return\"\"!==t}function h(t,e){return t.filter((function(t){return t.key===e.traceId}))}function p(t,e){n.select(t).select(\"path\").style(\"fill-opacity\",e),n.select(t).select(\"rect\").style(\"fill-opacity\",e)}function d(t){n.select(t).select(\"text.name\").style(\"fill\",\"black\")}function m(t){return function(e){return-1!==t.node.sourceLinks.indexOf(e.link)||-1!==t.node.targetLinks.indexOf(e.link)}}function g(t){return function(e){return-1!==e.node.sourceLinks.indexOf(t.link)||-1!==e.node.targetLinks.indexOf(t.link)}}function v(t,e,r){e&&r&&h(r,e).selectAll(\".\"+c.sankeyLink).filter(m(e)).call(x.bind(0,e,r,!1))}function y(t,e,r){e&&r&&h(r,e).selectAll(\".\"+c.sankeyLink).filter(m(e)).call(b.bind(0,e,r,!1))}function x(t,e,r,n){var i=n.datum().link.label;n.style(\"fill-opacity\",(function(t){if(!t.link.concentrationscale)return.4})),i&&h(e,t).selectAll(\".\"+c.sankeyLink).filter((function(t){return t.link.label===i})).style(\"fill-opacity\",(function(t){if(!t.link.concentrationscale)return.4})),r&&h(e,t).selectAll(\".\"+c.sankeyNode).filter(g(t)).call(v)}function b(t,e,r,n){var i=n.datum().link.label;n.style(\"fill-opacity\",(function(t){return t.tinyColorAlpha})),i&&h(e,t).selectAll(\".\"+c.sankeyLink).filter((function(t){return t.link.label===i})).style(\"fill-opacity\",(function(t){return t.tinyColorAlpha})),r&&h(e,t).selectAll(c.sankeyNode).filter(g(t)).call(y)}function _(t,e){var r=t.hoverlabel||{},n=i.nestedProperty(r,e).get();return!Array.isArray(n)&&n}e.exports=function(t,e){for(var r=t._fullLayout,i=r._paper,h=r._size,m=0;m\"),color:_(o,\"bgcolor\")||l.addOpacity(m.color,1),borderColor:_(o,\"bordercolor\"),fontFamily:_(o,\"font.family\"),fontSize:_(o,\"font.size\"),fontColor:_(o,\"font.color\"),nameLength:_(o,\"namelength\"),textAlign:_(o,\"align\"),idealAlign:n.event.x\"),color:_(o,\"bgcolor\")||i.tinyColorHue,borderColor:_(o,\"bordercolor\"),fontFamily:_(o,\"font.family\"),fontSize:_(o,\"font.size\"),fontColor:_(o,\"font.color\"),nameLength:_(o,\"namelength\"),textAlign:_(o,\"align\"),idealAlign:\"left\",hovertemplate:o.hovertemplate,hovertemplateLabels:y,eventData:[i.node]},{container:r._hoverlayer.node(),outerContainer:r._paper.node(),gd:t});p(w,.85),d(w)}}},unhover:function(e,i,a){!1!==t._fullLayout.hovermode&&(n.select(e).call(y,i,a),\"skip\"!==i.node.trace.node.hoverinfo&&(i.node.fullData=i.node.trace,t.emit(\"plotly_unhover\",{event:n.event,points:[i.node]})),s.loneUnhover(r._hoverlayer.node()))},select:function(e,r,i){var a=r.node;a.originalEvent=n.event,t._hoverdata=[a],n.select(e).call(y,r,i),s.click(t,{target:!0})}}})}},{\"../../components/color\":367,\"../../components/fx\":407,\"../../lib\":515,\"./constants\":929,\"./render\":933,\"@plotly/d3\":58}],933:[function(t,e,r){\"use strict\";var n=t(\"d3-force\"),i=t(\"d3-interpolate\").interpolateNumber,a=t(\"@plotly/d3\"),o=t(\"@plotly/d3-sankey\"),s=t(\"@plotly/d3-sankey-circular\"),l=t(\"./constants\"),c=t(\"tinycolor2\"),u=t(\"../../components/color\"),f=t(\"../../components/drawing\"),h=t(\"../../lib\"),p=h.strTranslate,d=h.strRotate,m=t(\"../../lib/gup\"),g=m.keyFun,v=m.repeat,y=m.unwrap,x=t(\"../../lib/svg_text_utils\"),b=t(\"../../registry\"),_=t(\"../../constants/alignment\"),w=_.CAP_SHIFT,T=_.LINE_SPACING;function k(t,e,r){var n,i=y(e),a=i.trace,u=a.domain,f=\"h\"===a.orientation,p=a.node.pad,d=a.node.thickness,m=t.width*(u.x[1]-u.x[0]),g=t.height*(u.y[1]-u.y[0]),v=i._nodes,x=i._links,b=i.circular;(n=b?s.sankeyCircular().circularLinkGap(0):o.sankey()).iterations(l.sankeyIterations).size(f?[m,g]:[g,m]).nodeWidth(d).nodePadding(p).nodeId((function(t){return t.pointNumber})).nodes(v).links(x);var _,w,T,k=n();for(var A in n.nodePadding()=i||(r=i-e.y0)>1e-6&&(e.y0+=r,e.y1+=r),i=e.y1+p}))}(function(t){var e,r,n=t.map((function(t,e){return{x0:t.x0,index:e}})).sort((function(t,e){return t.x0-e.x0})),i=[],a=-1,o=-1/0;for(_=0;_o+d&&(a+=1,e=s.x0),o=s.x0,i[a]||(i[a]=[]),i[a].push(s),r=e-s.x0,s.x0+=r,s.x1+=r}return i}(v=k.nodes));n.update(k)}return{circular:b,key:r,trace:a,guid:h.randstr(),horizontal:f,width:m,height:g,nodePad:a.node.pad,nodeLineColor:a.node.line.color,nodeLineWidth:a.node.line.width,linkLineColor:a.link.line.color,linkLineWidth:a.link.line.width,linkArrowLength:a.link.arrowlen,valueFormat:a.valueformat,valueSuffix:a.valuesuffix,textFont:a.textfont,translateX:u.x[0]*t.width+t.margin.l,translateY:t.height-u.y[1]*t.height+t.margin.t,dragParallel:f?g:m,dragPerpendicular:f?m:g,arrangement:a.arrangement,sankey:n,graph:k,forceLayouts:{},interactionState:{dragInProgress:!1,hovered:!1}}}function A(t,e,r){var n=c(e.color),i=e.source.label+\"|\"+e.target.label+\"__\"+r;return e.trace=t.trace,e.curveNumber=t.trace.index,{circular:t.circular,key:i,traceId:t.key,pointNumber:e.pointNumber,link:e,tinyColorHue:u.tinyRGB(n),tinyColorAlpha:n.getAlpha(),linkPath:M,linkLineColor:t.linkLineColor,linkLineWidth:t.linkLineWidth,linkArrowLength:t.linkArrowLength,valueFormat:t.valueFormat,valueSuffix:t.valueSuffix,sankey:t.sankey,parent:t,interactionState:t.interactionState,flow:e.flow}}function M(){return function(t){var e=t.linkArrowLength;if(t.link.circular)return function(t,e){var r=t.width/2,n=t.circularPathData;return\"top\"===t.circularLinkType?\"M \"+(n.targetX-e)+\" \"+(n.targetY+r)+\" L\"+(n.rightInnerExtent-e)+\" \"+(n.targetY+r)+\"A\"+(n.rightLargeArcRadius+r)+\" \"+(n.rightSmallArcRadius+r)+\" 0 0 1 \"+(n.rightFullExtent-r-e)+\" \"+(n.targetY-n.rightSmallArcRadius)+\"L\"+(n.rightFullExtent-r-e)+\" \"+n.verticalRightInnerExtent+\"A\"+(n.rightLargeArcRadius+r)+\" \"+(n.rightLargeArcRadius+r)+\" 0 0 1 \"+(n.rightInnerExtent-e)+\" \"+(n.verticalFullExtent-r)+\"L\"+n.leftInnerExtent+\" \"+(n.verticalFullExtent-r)+\"A\"+(n.leftLargeArcRadius+r)+\" \"+(n.leftLargeArcRadius+r)+\" 0 0 1 \"+(n.leftFullExtent+r)+\" \"+n.verticalLeftInnerExtent+\"L\"+(n.leftFullExtent+r)+\" \"+(n.sourceY-n.leftSmallArcRadius)+\"A\"+(n.leftLargeArcRadius+r)+\" \"+(n.leftSmallArcRadius+r)+\" 0 0 1 \"+n.leftInnerExtent+\" \"+(n.sourceY+r)+\"L\"+n.sourceX+\" \"+(n.sourceY+r)+\"L\"+n.sourceX+\" \"+(n.sourceY-r)+\"L\"+n.leftInnerExtent+\" \"+(n.sourceY-r)+\"A\"+(n.leftLargeArcRadius-r)+\" \"+(n.leftSmallArcRadius-r)+\" 0 0 0 \"+(n.leftFullExtent-r)+\" \"+(n.sourceY-n.leftSmallArcRadius)+\"L\"+(n.leftFullExtent-r)+\" \"+n.verticalLeftInnerExtent+\"A\"+(n.leftLargeArcRadius-r)+\" \"+(n.leftLargeArcRadius-r)+\" 0 0 0 \"+n.leftInnerExtent+\" \"+(n.verticalFullExtent+r)+\"L\"+(n.rightInnerExtent-e)+\" \"+(n.verticalFullExtent+r)+\"A\"+(n.rightLargeArcRadius-r)+\" \"+(n.rightLargeArcRadius-r)+\" 0 0 0 \"+(n.rightFullExtent+r-e)+\" \"+n.verticalRightInnerExtent+\"L\"+(n.rightFullExtent+r-e)+\" \"+(n.targetY-n.rightSmallArcRadius)+\"A\"+(n.rightLargeArcRadius-r)+\" \"+(n.rightSmallArcRadius-r)+\" 0 0 0 \"+(n.rightInnerExtent-e)+\" \"+(n.targetY-r)+\"L\"+(n.targetX-e)+\" \"+(n.targetY-r)+(e>0?\"L\"+n.targetX+\" \"+n.targetY:\"\")+\"Z\":\"M \"+(n.targetX-e)+\" \"+(n.targetY-r)+\" L\"+(n.rightInnerExtent-e)+\" \"+(n.targetY-r)+\"A\"+(n.rightLargeArcRadius+r)+\" \"+(n.rightSmallArcRadius+r)+\" 0 0 0 \"+(n.rightFullExtent-r-e)+\" \"+(n.targetY+n.rightSmallArcRadius)+\"L\"+(n.rightFullExtent-r-e)+\" \"+n.verticalRightInnerExtent+\"A\"+(n.rightLargeArcRadius+r)+\" \"+(n.rightLargeArcRadius+r)+\" 0 0 0 \"+(n.rightInnerExtent-e)+\" \"+(n.verticalFullExtent+r)+\"L\"+n.leftInnerExtent+\" \"+(n.verticalFullExtent+r)+\"A\"+(n.leftLargeArcRadius+r)+\" \"+(n.leftLargeArcRadius+r)+\" 0 0 0 \"+(n.leftFullExtent+r)+\" \"+n.verticalLeftInnerExtent+\"L\"+(n.leftFullExtent+r)+\" \"+(n.sourceY+n.leftSmallArcRadius)+\"A\"+(n.leftLargeArcRadius+r)+\" \"+(n.leftSmallArcRadius+r)+\" 0 0 0 \"+n.leftInnerExtent+\" \"+(n.sourceY-r)+\"L\"+n.sourceX+\" \"+(n.sourceY-r)+\"L\"+n.sourceX+\" \"+(n.sourceY+r)+\"L\"+n.leftInnerExtent+\" \"+(n.sourceY+r)+\"A\"+(n.leftLargeArcRadius-r)+\" \"+(n.leftSmallArcRadius-r)+\" 0 0 1 \"+(n.leftFullExtent-r)+\" \"+(n.sourceY+n.leftSmallArcRadius)+\"L\"+(n.leftFullExtent-r)+\" \"+n.verticalLeftInnerExtent+\"A\"+(n.leftLargeArcRadius-r)+\" \"+(n.leftLargeArcRadius-r)+\" 0 0 1 \"+n.leftInnerExtent+\" \"+(n.verticalFullExtent-r)+\"L\"+(n.rightInnerExtent-e)+\" \"+(n.verticalFullExtent-r)+\"A\"+(n.rightLargeArcRadius-r)+\" \"+(n.rightLargeArcRadius-r)+\" 0 0 1 \"+(n.rightFullExtent+r-e)+\" \"+n.verticalRightInnerExtent+\"L\"+(n.rightFullExtent+r-e)+\" \"+(n.targetY+n.rightSmallArcRadius)+\"A\"+(n.rightLargeArcRadius-r)+\" \"+(n.rightSmallArcRadius-r)+\" 0 0 1 \"+(n.rightInnerExtent-e)+\" \"+(n.targetY+r)+\"L\"+(n.targetX-e)+\" \"+(n.targetY+r)+(e>0?\"L\"+n.targetX+\" \"+n.targetY:\"\")+\"Z\"}(t.link,e);var r=Math.abs((t.link.target.x0-t.link.source.x1)/2);e>r&&(e=r);var n=t.link.source.x1,a=t.link.target.x0-e,o=i(n,a),s=o(.5),l=o(.5),c=t.link.y0-t.link.width/2,u=t.link.y0+t.link.width/2,f=t.link.y1-t.link.width/2,h=t.link.y1+t.link.width/2,p=\"M\"+n+\",\"+c,d=\"C\"+s+\",\"+c+\" \"+l+\",\"+f+\" \"+a+\",\"+f,m=\"C\"+l+\",\"+h+\" \"+s+\",\"+u+\" \"+n+\",\"+u,g=e>0?\"L\"+(a+e)+\",\"+(f+t.link.width/2):\"\";return p+d+(g+=\"L\"+a+\",\"+h)+m+\"Z\"}}function S(t,e){var r=c(e.color),n=l.nodePadAcross,i=t.nodePad/2;e.dx=e.x1-e.x0,e.dy=e.y1-e.y0;var a=e.dx,o=Math.max(.5,e.dy),s=\"node_\"+e.pointNumber;return e.group&&(s=h.randstr()),e.trace=t.trace,e.curveNumber=t.trace.index,{index:e.pointNumber,key:s,partOfGroup:e.partOfGroup||!1,group:e.group,traceId:t.key,trace:t.trace,node:e,nodePad:t.nodePad,nodeLineColor:t.nodeLineColor,nodeLineWidth:t.nodeLineWidth,textFont:t.textFont,size:t.horizontal?t.height:t.width,visibleWidth:Math.ceil(a),visibleHeight:o,zoneX:-n,zoneY:-i,zoneWidth:a+2*n,zoneHeight:o+2*i,labelY:t.horizontal?e.dy/2+1:e.dx/2+1,left:1===e.originalLayer,sizeAcross:t.width,forceLayouts:t.forceLayouts,horizontal:t.horizontal,darkBackground:r.getBrightness()<=128,tinyColorHue:u.tinyRGB(r),tinyColorAlpha:r.getAlpha(),valueFormat:t.valueFormat,valueSuffix:t.valueSuffix,sankey:t.sankey,graph:t.graph,arrangement:t.arrangement,uniqueNodeLabelPathId:[t.guid,t.key,s].join(\"_\"),interactionState:t.interactionState,figure:t}}function E(t){t.attr(\"transform\",(function(t){return p(t.node.x0.toFixed(3),t.node.y0.toFixed(3))}))}function L(t){t.call(E)}function C(t,e){t.call(L),e.attr(\"d\",M())}function P(t){t.attr(\"width\",(function(t){return t.node.x1-t.node.x0})).attr(\"height\",(function(t){return t.visibleHeight}))}function I(t){return t.link.width>1||t.linkLineWidth>0}function O(t){return p(t.translateX,t.translateY)+(t.horizontal?\"matrix(1 0 0 1 0 0)\":\"matrix(0 1 1 0 0 0)\")}function z(t,e,r){t.on(\".basic\",null).on(\"mouseover.basic\",(function(t){t.interactionState.dragInProgress||t.partOfGroup||(r.hover(this,t,e),t.interactionState.hovered=[this,t])})).on(\"mousemove.basic\",(function(t){t.interactionState.dragInProgress||t.partOfGroup||(r.follow(this,t),t.interactionState.hovered=[this,t])})).on(\"mouseout.basic\",(function(t){t.interactionState.dragInProgress||t.partOfGroup||(r.unhover(this,t,e),t.interactionState.hovered=!1)})).on(\"click.basic\",(function(t){t.interactionState.hovered&&(r.unhover(this,t,e),t.interactionState.hovered=!1),t.interactionState.dragInProgress||t.partOfGroup||r.select(this,t,e)}))}function D(t,e,r,i){var o=a.behavior.drag().origin((function(t){return{x:t.node.x0+t.visibleWidth/2,y:t.node.y0+t.visibleHeight/2}})).on(\"dragstart\",(function(a){if(\"fixed\"!==a.arrangement&&(h.ensureSingle(i._fullLayout._infolayer,\"g\",\"dragcover\",(function(t){i._fullLayout._dragCover=t})),h.raiseToTop(this),a.interactionState.dragInProgress=a.node,F(a.node),a.interactionState.hovered&&(r.nodeEvents.unhover.apply(0,a.interactionState.hovered),a.interactionState.hovered=!1),\"snap\"===a.arrangement)){var o=a.traceId+\"|\"+a.key;a.forceLayouts[o]?a.forceLayouts[o].alpha(1):function(t,e,r,i){!function(t){for(var e=0;e0&&n.forceLayouts[e].alpha(0)}}(0,e,a,r)).stop()}(0,o,a),function(t,e,r,n,i){window.requestAnimationFrame((function a(){var o;for(o=0;o0)window.requestAnimationFrame(a);else{var s=r.node.originalX;r.node.x0=s-r.visibleWidth/2,r.node.x1=s+r.visibleWidth/2,R(r,i)}}))}(t,e,a,o,i)}})).on(\"drag\",(function(r){if(\"fixed\"!==r.arrangement){var n=a.event.x,i=a.event.y;\"snap\"===r.arrangement?(r.node.x0=n-r.visibleWidth/2,r.node.x1=n+r.visibleWidth/2,r.node.y0=i-r.visibleHeight/2,r.node.y1=i+r.visibleHeight/2):(\"freeform\"===r.arrangement&&(r.node.x0=n-r.visibleWidth/2,r.node.x1=n+r.visibleWidth/2),i=Math.max(0,Math.min(r.size-r.visibleHeight/2,i)),r.node.y0=i-r.visibleHeight/2,r.node.y1=i+r.visibleHeight/2),F(r.node),\"snap\"!==r.arrangement&&(r.sankey.update(r.graph),C(t.filter(B(r)),e))}})).on(\"dragend\",(function(t){if(\"fixed\"!==t.arrangement){t.interactionState.dragInProgress=!1;for(var e=0;el&&C[v].gap;)v--;for(x=C[v].s,m=C.length-1;m>v;m--)C[m].s=x;for(;lM[u]&&u=0;i--){var a=t[i];if(\"scatter\"===a.type&&a.xaxis===r.xaxis&&a.yaxis===r.yaxis){a.opacity=void 0;break}}}}}},{}],943:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../registry\"),a=t(\"./attributes\"),o=t(\"./constants\"),s=t(\"./subtypes\"),l=t(\"./xy_defaults\"),c=t(\"./period_defaults\"),u=t(\"./stack_defaults\"),f=t(\"./marker_defaults\"),h=t(\"./line_defaults\"),p=t(\"./line_shape_defaults\"),d=t(\"./text_defaults\"),m=t(\"./fillcolor_defaults\"),g=t(\"../../lib\").coercePattern;e.exports=function(t,e,r,v){function y(r,i){return n.coerce(t,e,a,r,i)}var x=l(t,e,v,y);if(x||(e.visible=!1),e.visible){c(t,e,v,y),y(\"xhoverformat\"),y(\"yhoverformat\");var b=u(t,e,v,y),_=!b&&x=Math.min(e,r)&&d<=Math.max(e,r)?0:1/0}var n=Math.max(3,t.mrc||0),i=1-1/n,a=Math.abs(h.c2p(t.x)-d);return a=Math.min(e,r)&&m<=Math.max(e,r)?0:1/0}var n=Math.max(3,t.mrc||0),i=1-1/n,a=Math.abs(p.c2p(t.y)-m);return aW!=(N=z[I][1])>=W&&(R=z[I-1][0],F=z[I][0],N-B&&(D=R+(F-R)*(W-B)/(N-B),H=Math.min(H,D),q=Math.max(q,D)));H=Math.max(H,0),q=Math.min(q,h._length);var Z=s.defaultLine;return s.opacity(f.fillcolor)?Z=f.fillcolor:s.opacity((f.line||{}).color)&&(Z=f.line.color),n.extendFlat(t,{distance:t.maxHoverDistance,x0:H,x1:q,y0:W,y1:W,color:Z,hovertemplate:!1}),delete t.index,f.text&&!Array.isArray(f.text)?t.text=String(f.text):t.text=f.name,[t]}}}},{\"../../components/color\":367,\"../../components/fx\":407,\"../../lib\":515,\"../../registry\":647,\"./get_trace_color\":946}],948:[function(t,e,r){\"use strict\";var n=t(\"./subtypes\");e.exports={hasLines:n.hasLines,hasMarkers:n.hasMarkers,hasText:n.hasText,isBubble:n.isBubble,attributes:t(\"./attributes\"),supplyDefaults:t(\"./defaults\"),crossTraceDefaults:t(\"./cross_trace_defaults\"),calc:t(\"./calc\").calc,crossTraceCalc:t(\"./cross_trace_calc\"),arraysToCalcdata:t(\"./arrays_to_calcdata\"),plot:t(\"./plot\"),colorbar:t(\"./marker_colorbar\"),formatLabels:t(\"./format_labels\"),style:t(\"./style\").style,styleOnSelect:t(\"./style\").styleOnSelect,hoverPoints:t(\"./hover\"),selectPoints:t(\"./select\"),animatable:!0,moduleType:\"trace\",name:\"scatter\",basePlotModule:t(\"../../plots/cartesian\"),categories:[\"cartesian\",\"svg\",\"symbols\",\"errorBarsOK\",\"showLegend\",\"scatter-like\",\"zoomScale\"],meta:{}}},{\"../../plots/cartesian\":578,\"./arrays_to_calcdata\":935,\"./attributes\":936,\"./calc\":937,\"./cross_trace_calc\":941,\"./cross_trace_defaults\":942,\"./defaults\":943,\"./format_labels\":945,\"./hover\":947,\"./marker_colorbar\":954,\"./plot\":957,\"./select\":958,\"./style\":960,\"./subtypes\":961}],949:[function(t,e,r){\"use strict\";var n=t(\"../../lib\").isArrayOrTypedArray,i=t(\"../../components/colorscale/helpers\").hasColorscale,a=t(\"../../components/colorscale/defaults\");e.exports=function(t,e,r,o,s,l){l||(l={});var c=(t.marker||{}).color;(s(\"line.color\",r),i(t,\"line\"))?a(t,e,o,s,{prefix:\"line.\",cLetter:\"c\"}):s(\"line.color\",!n(c)&&c||r);s(\"line.width\"),l.noDash||s(\"line.dash\"),l.backoff&&s(\"line.backoff\")}},{\"../../components/colorscale/defaults\":377,\"../../components/colorscale/helpers\":378,\"../../lib\":515}],950:[function(t,e,r){\"use strict\";var n=t(\"../../components/drawing\"),i=t(\"../../constants/numerical\"),a=i.BADNUM,o=i.LOG_CLIP,s=o+.5,l=o-.5,c=t(\"../../lib\"),u=c.segmentsIntersect,f=c.constrain,h=t(\"./constants\");e.exports=function(t,e){var r,i,o,p,d,m,g,v,y,x,b,_,w,T,k,A,M,S,E=e.trace||{},L=e.xaxis,C=e.yaxis,P=\"log\"===L.type,I=\"log\"===C.type,O=L._length,z=C._length,D=e.backoff,R=E.marker,F=e.connectGaps,B=e.baseTolerance,N=e.shape,j=\"linear\"===N,U=E.fill&&\"none\"!==E.fill,V=[],H=h.minTolerance,q=t.length,G=new Array(q),Y=0;function W(r){var n=t[r];if(!n)return!1;var i=e.linearized?L.l2p(n.x):L.c2p(n.x),o=e.linearized?C.l2p(n.y):C.c2p(n.y);if(i===a){if(P&&(i=L.c2p(n.x,!0)),i===a)return!1;I&&o===a&&(i*=Math.abs(L._m*z*(L._m>0?s:l)/(C._m*O*(C._m>0?s:l)))),i*=1e3}if(o===a){if(I&&(o=C.c2p(n.y,!0)),o===a)return!1;o*=1e3}return[i,o]}function Z(t,e,r,n){var i=r-t,a=n-e,o=.5-t,s=.5-e,l=i*i+a*a,c=i*o+a*s;if(c>0&&cot||t[1]lt)return[f(t[0],at,ot),f(t[1],st,lt)]}function ft(t,e){return t[0]===e[0]&&(t[0]===at||t[0]===ot)||(t[1]===e[1]&&(t[1]===st||t[1]===lt)||void 0)}function ht(t,e,r){return function(n,i){var a=ut(n),o=ut(i),s=[];if(a&&o&&ft(a,o))return s;a&&s.push(a),o&&s.push(o);var l=2*c.constrain((n[t]+i[t])/2,e,r)-((a||n)[t]+(o||i)[t]);l&&((a&&o?l>0==a[t]>o[t]?a:o:a||o)[t]+=l);return s}}function pt(t){var e=t[0],r=t[1],n=e===G[Y-1][0],i=r===G[Y-1][1];if(!n||!i)if(Y>1){var a=e===G[Y-2][0],o=r===G[Y-2][1];n&&(e===at||e===ot)&&a?o?Y--:G[Y-1]=t:i&&(r===st||r===lt)&&o?a?Y--:G[Y-1]=t:G[Y++]=t}else G[Y++]=t}function dt(t){G[Y-1][0]!==t[0]&&G[Y-1][1]!==t[1]&&pt([$,tt]),pt(t),et=null,$=tt=0}\"linear\"===N||\"spline\"===N?nt=function(t,e){for(var r=[],n=0,i=0;i<4;i++){var a=ct[i],o=u(t[0],t[1],e[0],e[1],a[0],a[1],a[2],a[3]);o&&(!n||Math.abs(o.x-r[0][0])>1||Math.abs(o.y-r[0][1])>1)&&(o=[o.x,o.y],n&&J(o,t)ot?ot:0,Q=e[1]lt?lt:0,K||Q){if(Y)if(et){var n=nt(et,e);n.length>1&&(dt(n[0]),G[Y++]=n[1])}else rt=nt(G[Y-1],e)[0],G[Y++]=rt;else G[Y++]=[K||e[0],Q||e[1]];var i=G[Y-1];K&&Q&&(i[0]!==K||i[1]!==Q)?(et&&($!==K&&tt!==Q?pt($&&tt?(a=et,s=(o=e)[0]-a[0],l=(o[1]-a[1])/s,(a[1]*o[0]-o[1]*a[0])/s>0?[l>0?at:ot,lt]:[l>0?ot:at,st]):[$||K,tt||Q]):$&&tt&&pt([$,tt])),pt([K,Q])):$-K&&tt-Q&&pt([K||$,Q||tt]),et=e,$=K,tt=Q}else et&&dt(nt(et,e)[0]),G[Y++]=e;var a,o,s,l}for(r=0;rX(m,vt))break;o=m,(w=y[0]*v[0]+y[1]*v[1])>b?(b=w,p=m,g=!1):w<_&&(_=w,d=m,g=!0)}if(g?(gt(p),o!==d&>(d)):(d!==i&>(d),o!==p&>(p)),gt(o),r>=t.length||!m)break;gt(m),i=m}}else gt(p)}et&&pt([$||et[0],tt||et[1]]),V.push(G.slice(0,Y))}var yt=N.slice(N.length-1);if(D&&\"h\"!==yt&&\"v\"!==yt){for(var xt=!1,bt=-1,_t=[],wt=0;wt=0?l=p:(l=p=h,h++),l0?Math.max(r,a):0}}},{\"fast-isnumeric\":190}],954:[function(t,e,r){\"use strict\";e.exports={container:\"marker\",min:\"cmin\",max:\"cmax\"}},{}],955:[function(t,e,r){\"use strict\";var n=t(\"../../components/color\"),i=t(\"../../components/colorscale/helpers\").hasColorscale,a=t(\"../../components/colorscale/defaults\"),o=t(\"./subtypes\");e.exports=function(t,e,r,s,l,c){var u=o.isBubble(t),f=(t.line||{}).color;(c=c||{},f&&(r=f),l(\"marker.symbol\"),l(\"marker.opacity\",u?.7:1),l(\"marker.size\"),c.noAngle||(l(\"marker.angle\"),c.noAngleRef||l(\"marker.angleref\"),c.noStandOff||l(\"marker.standoff\")),l(\"marker.color\",r),i(t,\"marker\")&&a(t,e,s,l,{prefix:\"marker.\",cLetter:\"c\"}),c.noSelect||(l(\"selected.marker.color\"),l(\"unselected.marker.color\"),l(\"selected.marker.size\"),l(\"unselected.marker.size\")),c.noLine||(l(\"marker.line.color\",f&&!Array.isArray(f)&&e.marker.color!==f?f:u?n.background:n.defaultLine),i(t,\"marker.line\")&&a(t,e,s,l,{prefix:\"marker.line.\",cLetter:\"c\"}),l(\"marker.line.width\",u?1:0)),u&&(l(\"marker.sizeref\"),l(\"marker.sizemin\"),l(\"marker.sizemode\")),c.gradient)&&(\"none\"!==l(\"marker.gradient.type\")&&l(\"marker.gradient.color\"))}},{\"../../components/color\":367,\"../../components/colorscale/defaults\":377,\"../../components/colorscale/helpers\":378,\"./subtypes\":961}],956:[function(t,e,r){\"use strict\";var n=t(\"../../lib\").dateTick0,i=t(\"../../constants/numerical\").ONEWEEK;function a(t,e){return n(e,t%i==0?1:0)}e.exports=function(t,e,r,n,i){if(i||(i={x:!0,y:!0}),i.x){var o=n(\"xperiod\");o&&(n(\"xperiod0\",a(o,e.xcalendar)),n(\"xperiodalignment\"))}if(i.y){var s=n(\"yperiod\");s&&(n(\"yperiod0\",a(s,e.ycalendar)),n(\"yperiodalignment\"))}}},{\"../../constants/numerical\":491,\"../../lib\":515}],957:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\"),i=t(\"../../registry\"),a=t(\"../../lib\"),o=a.ensureSingle,s=a.identity,l=t(\"../../components/drawing\"),c=t(\"./subtypes\"),u=t(\"./line_points\"),f=t(\"./link_traces\"),h=t(\"../../lib/polygon\").tester;function p(t,e,r,f,p,d,m){var g;!function(t,e,r,i,o){var s=r.xaxis,l=r.yaxis,u=n.extent(a.simpleMap(s.range,s.r2c)),f=n.extent(a.simpleMap(l.range,l.r2c)),h=i[0].trace;if(!c.hasMarkers(h))return;var p=h.marker.maxdisplayed;if(0===p)return;var d=i.filter((function(t){return t.x>=u[0]&&t.x<=u[1]&&t.y>=f[0]&&t.y<=f[1]})),m=Math.ceil(d.length/p),g=0;o.forEach((function(t,r){var n=t[0].trace;c.hasMarkers(n)&&n.marker.maxdisplayed>0&&r0;function y(t){return v?t.transition():t}var x=r.xaxis,b=r.yaxis,_=f[0].trace,w=_.line,T=n.select(d),k=o(T,\"g\",\"errorbars\"),A=o(T,\"g\",\"lines\"),M=o(T,\"g\",\"points\"),S=o(T,\"g\",\"text\");if(i.getComponentMethod(\"errorbars\",\"plot\")(t,k,r,m),!0===_.visible){var E,L;y(T).style(\"opacity\",_.opacity);var C=_.fill.charAt(_.fill.length-1);\"x\"!==C&&\"y\"!==C&&(C=\"\"),f[0][r.isRangePlot?\"nodeRangePlot3\":\"node3\"]=T;var P,I,O=\"\",z=[],D=_._prevtrace;D&&(O=D._prevRevpath||\"\",L=D._nextFill,z=D._polygons);var R,F,B,N,j,U,V,H=\"\",q=\"\",G=[],Y=a.noop;if(E=_._ownFill,c.hasLines(_)||\"none\"!==_.fill){for(L&&L.datum(f),-1!==[\"hv\",\"vh\",\"hvh\",\"vhv\"].indexOf(w.shape)?(R=l.steps(w.shape),F=l.steps(w.shape.split(\"\").reverse().join(\"\"))):R=F=\"spline\"===w.shape?function(t){var e=t[t.length-1];return t.length>1&&t[0][0]===e[0]&&t[0][1]===e[1]?l.smoothclosed(t.slice(1),w.smoothing):l.smoothopen(t,w.smoothing)}:function(t){return\"M\"+t.join(\"L\")},B=function(t){return F(t.reverse())},G=u(f,{xaxis:x,yaxis:b,trace:_,connectGaps:_.connectgaps,baseTolerance:Math.max(w.width||1,3)/4,shape:w.shape,backoff:w.backoff,simplify:w.simplify,fill:_.fill}),V=_._polygons=new Array(G.length),g=0;g1){var r=n.select(this);if(r.datum(f),t)y(r.style(\"opacity\",0).attr(\"d\",P).call(l.lineGroupStyle)).style(\"opacity\",1);else{var i=y(r);i.attr(\"d\",P),l.singleLineStyle(f,i)}}}}}var W=A.selectAll(\".js-line\").data(G);y(W.exit()).style(\"opacity\",0).remove(),W.each(Y(!1)),W.enter().append(\"path\").classed(\"js-line\",!0).style(\"vector-effect\",\"non-scaling-stroke\").call(l.lineGroupStyle).each(Y(!0)),l.setClipUrl(W,r.layerClipId,t),G.length?(E?(E.datum(f),N&&U&&(C?(\"y\"===C?N[1]=U[1]=b.c2p(0,!0):\"x\"===C&&(N[0]=U[0]=x.c2p(0,!0)),y(E).attr(\"d\",\"M\"+U+\"L\"+N+\"L\"+H.substr(1)).call(l.singleFillStyle,t)):y(E).attr(\"d\",H+\"Z\").call(l.singleFillStyle,t))):L&&(\"tonext\"===_.fill.substr(0,6)&&H&&O?(\"tonext\"===_.fill?y(L).attr(\"d\",H+\"Z\"+O+\"Z\").call(l.singleFillStyle,t):y(L).attr(\"d\",H+\"L\"+O.substr(1)+\"Z\").call(l.singleFillStyle,t),_._polygons=_._polygons.concat(z)):(X(L),_._polygons=null)),_._prevRevpath=q,_._prevPolygons=V):(E?X(E):L&&X(L),_._polygons=_._prevRevpath=_._prevPolygons=null),M.datum(f),S.datum(f),function(e,i,a){var o,u=a[0].trace,f=c.hasMarkers(u),h=c.hasText(u),p=tt(u),d=et,m=et;if(f||h){var g=s,_=u.stackgroup,w=_&&\"infer zero\"===t._fullLayout._scatterStackOpts[x._id+b._id][_].stackgaps;u.marker.maxdisplayed||u._needsCull?g=w?K:J:_&&!w&&(g=Q),f&&(d=g),h&&(m=g)}var T,k=(o=e.selectAll(\"path.point\").data(d,p)).enter().append(\"path\").classed(\"point\",!0);v&&k.call(l.pointStyle,u,t).call(l.translatePoints,x,b).style(\"opacity\",0).transition().style(\"opacity\",1),o.order(),f&&(T=l.makePointStyleFns(u)),o.each((function(e){var i=n.select(this),a=y(i);l.translatePoint(e,a,x,b)?(l.singlePointStyle(e,a,u,T,t),r.layerClipId&&l.hideOutsideRangePoint(e,a,x,b,u.xcalendar,u.ycalendar),u.customdata&&i.classed(\"plotly-customdata\",null!==e.data&&void 0!==e.data)):a.remove()})),v?o.exit().transition().style(\"opacity\",0).remove():o.exit().remove(),(o=i.selectAll(\"g\").data(m,p)).enter().append(\"g\").classed(\"textpoint\",!0).append(\"text\"),o.order(),o.each((function(t){var e=n.select(this),i=y(e.select(\"text\"));l.translatePoint(t,i,x,b)?r.layerClipId&&l.hideOutsideRangePoint(t,e,x,b,u.xcalendar,u.ycalendar):e.remove()})),o.selectAll(\"text\").call(l.textPointStyle,u,t).each((function(t){var e=x.c2p(t.x),r=b.c2p(t.y);n.select(this).selectAll(\"tspan.line\").each((function(){y(n.select(this)).attr({x:e,y:r})}))})),o.exit().remove()}(M,S,f);var Z=!1===_.cliponaxis?null:r.layerClipId;l.setClipUrl(M,Z,t),l.setClipUrl(S,Z,t)}function X(t){y(t).attr(\"d\",\"M0,0Z\")}function J(t){return t.filter((function(t){return!t.gap&&t.vis}))}function K(t){return t.filter((function(t){return t.vis}))}function Q(t){return t.filter((function(t){return!t.gap}))}function $(t){return t.id}function tt(t){if(t.ids)return $}function et(){return!1}}e.exports=function(t,e,r,i,a,c){var u,h,d=!a,m=!!a&&a.duration>0,g=f(t,e,r);((u=i.selectAll(\"g.trace\").data(g,(function(t){return t[0].trace.uid}))).enter().append(\"g\").attr(\"class\",(function(t){return\"trace scatter trace\"+t[0].trace.uid})).style(\"stroke-miterlimit\",2),u.order(),function(t,e,r){e.each((function(e){var i=o(n.select(this),\"g\",\"fills\");l.setClipUrl(i,r.layerClipId,t);var a=e[0].trace,c=[];a._ownfill&&c.push(\"_ownFill\"),a._nexttrace&&c.push(\"_nextFill\");var u=i.selectAll(\"g\").data(c,s);u.enter().append(\"g\"),u.exit().each((function(t){a[t]=null})).remove(),u.order().each((function(t){a[t]=o(n.select(this),\"path\",\"js-fill\")}))}))}(t,u,e),m)?(c&&(h=c()),n.transition().duration(a.duration).ease(a.easing).each(\"end\",(function(){h&&h()})).each(\"interrupt\",(function(){h&&h()})).each((function(){i.selectAll(\"g.trace\").each((function(r,n){p(t,n,e,r,g,this,a)}))}))):u.each((function(r,n){p(t,n,e,r,g,this,a)}));d&&u.exit().remove(),i.selectAll(\"path:not([d])\").remove()}},{\"../../components/drawing\":389,\"../../lib\":515,\"../../lib/polygon\":527,\"../../registry\":647,\"./line_points\":950,\"./link_traces\":952,\"./subtypes\":961,\"@plotly/d3\":58}],958:[function(t,e,r){\"use strict\";var n=t(\"./subtypes\");e.exports=function(t,e){var r,i,a,o,s=t.cd,l=t.xaxis,c=t.yaxis,u=[],f=s[0].trace;if(!n.hasMarkers(f)&&!n.hasText(f))return[];if(!1===e)for(r=0;r0){var h=i.c2l(u);i._lowerLogErrorBound||(i._lowerLogErrorBound=h),i._lowerErrorBound=Math.min(i._lowerLogErrorBound,h)}}else o[s]=[-l[0]*r,l[1]*r]}return o}e.exports=function(t,e,r){var n=[i(t.x,t.error_x,e[0],r.xaxis),i(t.y,t.error_y,e[1],r.yaxis),i(t.z,t.error_z,e[2],r.zaxis)],a=function(t){for(var e=0;e-1?-1:t.indexOf(\"right\")>-1?1:0}function b(t){return null==t?0:t.indexOf(\"top\")>-1?-1:t.indexOf(\"bottom\")>-1?1:0}function _(t,e){return e(4*t)}function w(t){return p[t]}function T(t,e,r,n,i){var a=null;if(l.isArrayOrTypedArray(t)){a=[];for(var o=0;o=0){var m=function(t,e,r){var n,i=(r+1)%3,a=(r+2)%3,o=[],l=[];for(n=0;n=0&&f(\"surfacecolor\",h||p);for(var d=[\"x\",\"y\",\"z\"],m=0;m<3;++m){var g=\"projection.\"+d[m];f(g+\".show\")&&(f(g+\".opacity\"),f(g+\".scale\"))}var v=n.getComponentMethod(\"errorbars\",\"supplyDefaults\");v(t,e,h||p||r,{axis:\"z\"}),v(t,e,h||p||r,{axis:\"y\",inherit:\"z\"}),v(t,e,h||p||r,{axis:\"x\",inherit:\"z\"})}else e.visible=!1}},{\"../../lib\":515,\"../../registry\":647,\"../scatter/line_defaults\":949,\"../scatter/marker_defaults\":955,\"../scatter/subtypes\":961,\"../scatter/text_defaults\":962,\"./attributes\":964}],969:[function(t,e,r){\"use strict\";e.exports={plot:t(\"./convert\"),attributes:t(\"./attributes\"),markerSymbols:t(\"../../constants/gl3d_markers\"),supplyDefaults:t(\"./defaults\"),colorbar:[{container:\"marker\",min:\"cmin\",max:\"cmax\"},{container:\"line\",min:\"cmin\",max:\"cmax\"}],calc:t(\"./calc\"),moduleType:\"trace\",name:\"scatter3d\",basePlotModule:t(\"../../plots/gl3d\"),categories:[\"gl3d\",\"symbols\",\"showLegend\",\"scatter-like\"],meta:{}}},{\"../../constants/gl3d_markers\":489,\"../../plots/gl3d\":607,\"./attributes\":964,\"./calc\":965,\"./convert\":967,\"./defaults\":968}],970:[function(t,e,r){\"use strict\";var n=t(\"../scatter/attributes\"),i=t(\"../../plots/attributes\"),a=t(\"../../plots/template_attributes\").hovertemplateAttrs,o=t(\"../../plots/template_attributes\").texttemplateAttrs,s=t(\"../../components/colorscale/attributes\"),l=t(\"../../lib/extend\").extendFlat,c=n.marker,u=n.line,f=c.line;e.exports={carpet:{valType:\"string\",editType:\"calc\"},a:{valType:\"data_array\",editType:\"calc\"},b:{valType:\"data_array\",editType:\"calc\"},mode:l({},n.mode,{dflt:\"markers\"}),text:l({},n.text,{}),texttemplate:o({editType:\"plot\"},{keys:[\"a\",\"b\",\"text\"]}),hovertext:l({},n.hovertext,{}),line:{color:u.color,width:u.width,dash:u.dash,backoff:u.backoff,shape:l({},u.shape,{values:[\"linear\",\"spline\"]}),smoothing:u.smoothing,editType:\"calc\"},connectgaps:n.connectgaps,fill:l({},n.fill,{values:[\"none\",\"toself\",\"tonext\"],dflt:\"none\"}),fillcolor:n.fillcolor,marker:l({symbol:c.symbol,opacity:c.opacity,maxdisplayed:c.maxdisplayed,angle:c.angle,angleref:c.angleref,standoff:c.standoff,size:c.size,sizeref:c.sizeref,sizemin:c.sizemin,sizemode:c.sizemode,line:l({width:f.width,editType:\"calc\"},s(\"marker.line\")),gradient:c.gradient,editType:\"calc\"},s(\"marker\")),textfont:n.textfont,textposition:n.textposition,selected:n.selected,unselected:n.unselected,hoverinfo:l({},i.hoverinfo,{flags:[\"a\",\"b\",\"text\",\"name\"]}),hoveron:n.hoveron,hovertemplate:a()}},{\"../../components/colorscale/attributes\":374,\"../../lib/extend\":505,\"../../plots/attributes\":562,\"../../plots/template_attributes\":642,\"../scatter/attributes\":936}],971:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"../scatter/colorscale_calc\"),a=t(\"../scatter/arrays_to_calcdata\"),o=t(\"../scatter/calc_selection\"),s=t(\"../scatter/calc\").calcMarkerSize,l=t(\"../carpet/lookup_carpetid\");e.exports=function(t,e){var r=e._carpetTrace=l(t,e);if(r&&r.visible&&\"legendonly\"!==r.visible){var c;e.xaxis=r.xaxis,e.yaxis=r.yaxis;var u,f,h=e._length,p=new Array(h),d=!1;for(c=0;c\")}return o}function y(t,e){var r;r=t.labelprefix&&t.labelprefix.length>0?t.labelprefix.replace(/ = $/,\"\"):t._hovertitle,g.push(r+\": \"+e.toFixed(3)+t.labelsuffix)}}},{\"../../lib\":515,\"../scatter/hover\":947}],976:[function(t,e,r){\"use strict\";e.exports={attributes:t(\"./attributes\"),supplyDefaults:t(\"./defaults\"),colorbar:t(\"../scatter/marker_colorbar\"),formatLabels:t(\"./format_labels\"),calc:t(\"./calc\"),plot:t(\"./plot\"),style:t(\"../scatter/style\").style,styleOnSelect:t(\"../scatter/style\").styleOnSelect,hoverPoints:t(\"./hover\"),selectPoints:t(\"../scatter/select\"),eventData:t(\"./event_data\"),moduleType:\"trace\",name:\"scattercarpet\",basePlotModule:t(\"../../plots/cartesian\"),categories:[\"svg\",\"carpet\",\"symbols\",\"showLegend\",\"carpetDependent\",\"zoomScale\"],meta:{}}},{\"../../plots/cartesian\":578,\"../scatter/marker_colorbar\":954,\"../scatter/select\":958,\"../scatter/style\":960,\"./attributes\":970,\"./calc\":971,\"./defaults\":972,\"./event_data\":973,\"./format_labels\":974,\"./hover\":975,\"./plot\":977}],977:[function(t,e,r){\"use strict\";var n=t(\"../scatter/plot\"),i=t(\"../../plots/cartesian/axes\"),a=t(\"../../components/drawing\");e.exports=function(t,e,r,o){var s,l,c,u=r[0][0].carpet,f=i.getFromId(t,u.xaxis||\"x\"),h=i.getFromId(t,u.yaxis||\"y\"),p={xaxis:f,yaxis:h,plot:e.plot};for(s=0;s\")}(c,m,t,l[0].t.labels),t.hovertemplate=c.hovertemplate,[t]}}},{\"../../components/fx\":407,\"../../constants/numerical\":491,\"../../lib\":515,\"../scatter/get_trace_color\":946,\"./attributes\":978}],984:[function(t,e,r){\"use strict\";e.exports={attributes:t(\"./attributes\"),supplyDefaults:t(\"./defaults\"),colorbar:t(\"../scatter/marker_colorbar\"),formatLabels:t(\"./format_labels\"),calc:t(\"./calc\"),calcGeoJSON:t(\"./plot\").calcGeoJSON,plot:t(\"./plot\").plot,style:t(\"./style\"),styleOnSelect:t(\"../scatter/style\").styleOnSelect,hoverPoints:t(\"./hover\"),eventData:t(\"./event_data\"),selectPoints:t(\"./select\"),moduleType:\"trace\",name:\"scattergeo\",basePlotModule:t(\"../../plots/geo\"),categories:[\"geo\",\"symbols\",\"showLegend\",\"scatter-like\"],meta:{}}},{\"../../plots/geo\":598,\"../scatter/marker_colorbar\":954,\"../scatter/style\":960,\"./attributes\":978,\"./calc\":979,\"./defaults\":980,\"./event_data\":981,\"./format_labels\":982,\"./hover\":983,\"./plot\":985,\"./select\":986,\"./style\":987}],985:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\"),i=t(\"../../lib\"),a=t(\"../../lib/topojson_utils\").getTopojsonFeatures,o=t(\"../../lib/geojson_utils\"),s=t(\"../../lib/geo_location_utils\"),l=t(\"../../plots/cartesian/autorange\").findExtremes,c=t(\"../../constants/numerical\").BADNUM,u=t(\"../scatter/calc\").calcMarkerSize,f=t(\"../scatter/subtypes\"),h=t(\"./style\");e.exports={calcGeoJSON:function(t,e){var r,n,i=t[0].trace,o=e[i.geo],f=o._subplot,h=i._length;if(Array.isArray(i.locations)){var p=i.locationmode,d=\"geojson-id\"===p?s.extractTraceFeature(t):a(i,f.topojson);for(r=0;r=g,w=2*b,T={},k=l.makeCalcdata(e,\"x\"),A=y.makeCalcdata(e,\"y\"),M=s(e,l,\"x\",k),S=s(e,y,\"y\",A),E=M.vals,L=S.vals;e._x=E,e._y=L,e.xperiodalignment&&(e._origX=k,e._xStarts=M.starts,e._xEnds=M.ends),e.yperiodalignment&&(e._origY=A,e._yStarts=S.starts,e._yEnds=S.ends);var C=new Array(w),P=new Array(b);for(r=0;r1&&i.extendFlat(s.line,p.linePositions(t,r,n));if(s.errorX||s.errorY){var l=p.errorBarPositions(t,r,n,a,o);s.errorX&&i.extendFlat(s.errorX,l.x),s.errorY&&i.extendFlat(s.errorY,l.y)}s.text&&(i.extendFlat(s.text,{positions:n},p.textPosition(t,r,s.text,s.marker)),i.extendFlat(s.textSel,{positions:n},p.textPosition(t,r,s.text,s.markerSel)),i.extendFlat(s.textUnsel,{positions:n},p.textPosition(t,r,s.text,s.markerUnsel)));return s}(t,0,e,C,E,L),z=d(t,x);return f(o,e),_?O.marker&&(I=O.marker.sizeAvg||Math.max(O.marker.size,3)):I=c(e,b),u(t,e,l,y,E,L,I),O.errorX&&v(e,l,O.errorX),O.errorY&&v(e,y,O.errorY),O.fill&&!z.fill2d&&(z.fill2d=!0),O.marker&&!z.scatter2d&&(z.scatter2d=!0),O.line&&!z.line2d&&(z.line2d=!0),!O.errorX&&!O.errorY||z.error2d||(z.error2d=!0),O.text&&!z.glText&&(z.glText=!0),O.marker&&(O.marker.snap=b),z.lineOptions.push(O.line),z.errorXOptions.push(O.errorX),z.errorYOptions.push(O.errorY),z.fillOptions.push(O.fill),z.markerOptions.push(O.marker),z.markerSelectedOptions.push(O.markerSel),z.markerUnselectedOptions.push(O.markerUnsel),z.textOptions.push(O.text),z.textSelectedOptions.push(O.textSel),z.textUnselectedOptions.push(O.textUnsel),z.selectBatch.push([]),z.unselectBatch.push([]),T._scene=z,T.index=z.count,T.x=E,T.y=L,T.positions=C,z.count++,[{x:!1,y:!1,t:T,trace:e}]}},{\"../../constants/numerical\":491,\"../../lib\":515,\"../../plots/cartesian/align_period\":563,\"../../plots/cartesian/autorange\":565,\"../../plots/cartesian/axis_ids\":570,\"../scatter/calc\":937,\"../scatter/colorscale_calc\":939,\"./constants\":991,\"./convert\":992,\"./scene_update\":1e3,\"@plotly/point-cluster\":59}],991:[function(t,e,r){\"use strict\";e.exports={TOO_MANY_POINTS:1e5,SYMBOL_SDF_SIZE:200,SYMBOL_SIZE:20,SYMBOL_STROKE:1,DOT_RE:/-dot/,OPEN_RE:/-open/,DASHES:{solid:[1],dot:[1,1],dash:[4,1],longdash:[8,1],dashdot:[4,1,1,1],longdashdot:[8,1,1,1]}}},{}],992:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"svg-path-sdf\"),a=t(\"color-normalize\"),o=t(\"../../registry\"),s=t(\"../../lib\"),l=t(\"../../components/drawing\"),c=t(\"../../plots/cartesian/axis_ids\"),u=t(\"../../lib/gl_format_color\").formatColor,f=t(\"../scatter/subtypes\"),h=t(\"../scatter/make_bubble_size_func\"),p=t(\"./helpers\"),d=t(\"./constants\"),m=t(\"../../constants/interactions\").DESELECTDIM,g={start:1,left:1,end:-1,right:-1,middle:0,center:0,bottom:1,top:-1},v=t(\"../../components/fx/helpers\").appendArrayPointValue;function y(t,e){var r,i=t._fullLayout,a=e._length,o=e.textfont,l=e.textposition,c=Array.isArray(l)?l:[l],u=o.color,f=o.size,h=o.family,p={},d=t._context.plotGlPixelRatio,m=e.texttemplate;if(m){p.text=[];var g=i._d3locale,y=Array.isArray(m),x=y?Math.min(m.length,a):a,b=y?function(t){return m[t]}:function(){return m};for(r=0;rd.TOO_MANY_POINTS||f.hasMarkers(e)?\"rect\":\"round\";if(c&&e.connectgaps){var h=n[0],p=n[1];for(i=0;i1?l[i]:l[0]:l,d=Array.isArray(c)?c.length>1?c[i]:c[0]:c,m=g[p],v=g[d],y=u?u/.8+1:0,x=-v*y-.5*v;o.offset[i]=[m*y/h,x/h]}}return o}}},{\"../../components/drawing\":389,\"../../components/fx/helpers\":403,\"../../constants/interactions\":490,\"../../lib\":515,\"../../lib/gl_format_color\":511,\"../../plots/cartesian/axis_ids\":570,\"../../registry\":647,\"../scatter/make_bubble_size_func\":953,\"../scatter/subtypes\":961,\"./constants\":991,\"./helpers\":996,\"color-normalize\":89,\"fast-isnumeric\":190,\"svg-path-sdf\":311}],993:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../registry\"),a=t(\"./helpers\"),o=t(\"./attributes\"),s=t(\"../scatter/constants\"),l=t(\"../scatter/subtypes\"),c=t(\"../scatter/xy_defaults\"),u=t(\"../scatter/period_defaults\"),f=t(\"../scatter/marker_defaults\"),h=t(\"../scatter/line_defaults\"),p=t(\"../scatter/fillcolor_defaults\"),d=t(\"../scatter/text_defaults\");e.exports=function(t,e,r,m){function g(r,i){return n.coerce(t,e,o,r,i)}var v=!!t.marker&&a.isOpenSymbol(t.marker.symbol),y=l.isBubble(t),x=c(t,e,m,g);if(x){u(t,e,m,g),g(\"xhoverformat\"),g(\"yhoverformat\");var b=x100},r.isDotSymbol=function(t){return\"string\"==typeof t?n.DOT_RE.test(t):t>200}},{\"./constants\":991}],997:[function(t,e,r){\"use strict\";var n=t(\"../../registry\"),i=t(\"../../lib\"),a=t(\"../scatter/get_trace_color\");function o(t,e,r,o){var s=t.xa,l=t.ya,c=t.distance,u=t.dxy,f=t.index,h={pointNumber:f,x:e[f],y:r[f]};h.tx=Array.isArray(o.text)?o.text[f]:o.text,h.htx=Array.isArray(o.hovertext)?o.hovertext[f]:o.hovertext,h.data=Array.isArray(o.customdata)?o.customdata[f]:o.customdata,h.tp=Array.isArray(o.textposition)?o.textposition[f]:o.textposition;var p=o.textfont;p&&(h.ts=i.isArrayOrTypedArray(p.size)?p.size[f]:p.size,h.tc=Array.isArray(p.color)?p.color[f]:p.color,h.tf=Array.isArray(p.family)?p.family[f]:p.family);var d=o.marker;d&&(h.ms=i.isArrayOrTypedArray(d.size)?d.size[f]:d.size,h.mo=i.isArrayOrTypedArray(d.opacity)?d.opacity[f]:d.opacity,h.mx=i.isArrayOrTypedArray(d.symbol)?d.symbol[f]:d.symbol,h.ma=i.isArrayOrTypedArray(d.angle)?d.angle[f]:d.angle,h.mc=i.isArrayOrTypedArray(d.color)?d.color[f]:d.color);var m=d&&d.line;m&&(h.mlc=Array.isArray(m.color)?m.color[f]:m.color,h.mlw=i.isArrayOrTypedArray(m.width)?m.width[f]:m.width);var g=d&&d.gradient;g&&\"none\"!==g.type&&(h.mgt=Array.isArray(g.type)?g.type[f]:g.type,h.mgc=Array.isArray(g.color)?g.color[f]:g.color);var v=s.c2p(h.x,!0),y=l.c2p(h.y,!0),x=h.mrc||1,b=o.hoverlabel;b&&(h.hbg=Array.isArray(b.bgcolor)?b.bgcolor[f]:b.bgcolor,h.hbc=Array.isArray(b.bordercolor)?b.bordercolor[f]:b.bordercolor,h.hts=i.isArrayOrTypedArray(b.font.size)?b.font.size[f]:b.font.size,h.htc=Array.isArray(b.font.color)?b.font.color[f]:b.font.color,h.htf=Array.isArray(b.font.family)?b.font.family[f]:b.font.family,h.hnl=i.isArrayOrTypedArray(b.namelength)?b.namelength[f]:b.namelength);var _=o.hoverinfo;_&&(h.hi=Array.isArray(_)?_[f]:_);var w=o.hovertemplate;w&&(h.ht=Array.isArray(w)?w[f]:w);var T={};T[t.index]=h;var k=o._origX,A=o._origY,M=i.extendFlat({},t,{color:a(o,h),x0:v-x,x1:v+x,xLabelVal:k?k[f]:h.x,y0:y-x,y1:y+x,yLabelVal:A?A[f]:h.y,cd:T,distance:c,spikeDistance:u,hovertemplate:h.ht});return h.htx?M.text=h.htx:h.tx?M.text=h.tx:o.text&&(M.text=o.text),i.fillText(h,o,M),n.getComponentMethod(\"errorbars\",\"hoverInfo\")(h,o,M),M}e.exports={hoverPoints:function(t,e,r,n){var i,a,s,l,c,u,f,h,p,d,m=t.cd,g=m[0].t,v=m[0].trace,y=t.xa,x=t.ya,b=g.x,_=g.y,w=y.c2p(e),T=x.c2p(r),k=t.distance;if(g.tree){var A=y.p2c(w-k),M=y.p2c(w+k),S=x.p2c(T-k),E=x.p2c(T+k);i=\"x\"===n?g.tree.range(Math.min(A,M),Math.min(x._rl[0],x._rl[1]),Math.max(A,M),Math.max(x._rl[0],x._rl[1])):g.tree.range(Math.min(A,M),Math.min(S,E),Math.max(A,M),Math.max(S,E))}else i=g.ids;var L=k;if(\"x\"===n){var C=!!v.xperiodalignment,P=!!v.yperiodalignment;for(u=0;u=Math.min(I,O)&&w<=Math.max(I,O)?0:1/0}if(f=Math.min(z,D)&&T<=Math.max(z,D)?0:1/0}d=Math.sqrt(f*f+h*h),s=i[u]}}}else for(u=i.length-1;u>-1;u--)l=b[a=i[u]],c=_[a],f=y.c2p(l)-w,h=x.c2p(c)-T,(p=Math.sqrt(f*f+h*h))y.glText.length){var T=_-y.glText.length;for(m=0;mr&&(isNaN(e[n])||isNaN(e[n+1]));)n-=2;t.positions=e.slice(r,n+2)}return t})),y.line2d.update(y.lineOptions)),y.error2d){var A=(y.errorXOptions||[]).concat(y.errorYOptions||[]);y.error2d.update(A)}y.scatter2d&&y.scatter2d.update(y.markerOptions),y.fillOrder=s.repeat(null,_),y.fill2d&&(y.fillOptions=y.fillOptions.map((function(t,e){var n=r[e];if(t&&n&&n[0]&&n[0].trace){var i,a,o=n[0],s=o.trace,l=o.t,c=y.lineOptions[e],u=[];s._ownfill&&u.push(e),s._nexttrace&&u.push(e+1),u.length&&(y.fillOrder[e]=u);var f,h,p=[],d=c&&c.positions||l.positions;if(\"tozeroy\"===s.fill){for(f=0;ff&&isNaN(d[h+1]);)h-=2;0!==d[f+1]&&(p=[d[f],0]),p=p.concat(d.slice(f,h+2)),0!==d[h+1]&&(p=p.concat([d[h],0]))}else if(\"tozerox\"===s.fill){for(f=0;ff&&isNaN(d[h]);)h-=2;0!==d[f]&&(p=[0,d[f+1]]),p=p.concat(d.slice(f,h+2)),0!==d[h]&&(p=p.concat([0,d[h+1]]))}else if(\"toself\"===s.fill||\"tonext\"===s.fill){for(p=[],i=0,t.splitNull=!0,a=0;a-1;for(m=0;m<_;m++){var L=r[m][0],C=L.trace,P=L.t,I=P.index,O=C._length,z=P.x,D=P.y;if(C.selectedpoints||S||E){if(S||(S=!0),C.selectedpoints){var R=y.selectBatch[I]=s.selIndices2selPoints(C),F={};for(g=0;g\")}function u(t){return t+\"\\xb0\"}}e.exports={hoverPoints:function(t,e,r){var o=t.cd,u=o[0].trace,f=t.xa,h=t.ya,p=t.subplot,d=[],m=l+u.uid+\"-circle\",g=u.cluster&&u.cluster.enabled;if(g){var v=p.map.queryRenderedFeatures(null,{layers:[m]});d=v.map((function(t){return t.id}))}var y=360*(e>=0?Math.floor((e+180)/360):Math.ceil((e-180)/360)),x=e-y;if(n.getClosest(o,(function(t){var e=t.lonlat;if(e[0]===s)return 1/0;if(g&&-1===d.indexOf(t.i+1))return 1/0;var n=i.modHalf(e[0],360),a=e[1],o=p.project([n,a]),l=o.x-f.c2p([x,a]),c=o.y-h.c2p([n,r]),u=Math.max(3,t.mrc||0);return Math.max(Math.sqrt(l*l+c*c)-u,1-3/u)}),t),!1!==t.index){var b=o[t.index],_=b.lonlat,w=[i.modHalf(_[0],360)+y,_[1]],T=f.c2p(w),k=h.c2p(w),A=b.mrc||1;t.x0=T-A,t.x1=T+A,t.y0=k-A,t.y1=k+A;var M={};M[u.subplot]={_subplot:p};var S=u._module.formatLabels(b,u,M);return t.lonLabel=S.lonLabel,t.latLabel=S.latLabel,t.color=a(u,b),t.extraText=c(u,b,o[0].t.labels),t.hovertemplate=u.hovertemplate,[t]}},getExtraText:c}},{\"../../components/fx\":407,\"../../constants/numerical\":491,\"../../lib\":515,\"../../plots/mapbox/constants\":620,\"../scatter/get_trace_color\":946}],1008:[function(t,e,r){\"use strict\";e.exports={attributes:t(\"./attributes\"),supplyDefaults:t(\"./defaults\"),colorbar:t(\"../scatter/marker_colorbar\"),formatLabels:t(\"./format_labels\"),calc:t(\"../scattergeo/calc\"),plot:t(\"./plot\"),hoverPoints:t(\"./hover\").hoverPoints,eventData:t(\"./event_data\"),selectPoints:t(\"./select\"),styleOnSelect:function(t,e){e&&e[0].trace._glTrace.update(e)},moduleType:\"trace\",name:\"scattermapbox\",basePlotModule:t(\"../../plots/mapbox\"),categories:[\"mapbox\",\"gl\",\"symbols\",\"showLegend\",\"scatter-like\"],meta:{}}},{\"../../plots/mapbox\":622,\"../scatter/marker_colorbar\":954,\"../scattergeo/calc\":979,\"./attributes\":1002,\"./defaults\":1004,\"./event_data\":1005,\"./format_labels\":1006,\"./hover\":1007,\"./plot\":1009,\"./select\":1010}],1009:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"./convert\"),a=t(\"../../plots/mapbox/constants\").traceLayerPrefix,o={cluster:[\"cluster\",\"clusterCount\",\"circle\"],nonCluster:[\"fill\",\"line\",\"circle\",\"symbol\"]};function s(t,e,r){this.type=\"scattermapbox\",this.subplot=t,this.uid=e,this.clusterEnabled=r,this.sourceIds={fill:\"source-\"+e+\"-fill\",line:\"source-\"+e+\"-line\",circle:\"source-\"+e+\"-circle\",symbol:\"source-\"+e+\"-symbol\",cluster:\"source-\"+e+\"-circle\",clusterCount:\"source-\"+e+\"-circle\"},this.layerIds={fill:a+e+\"-fill\",line:a+e+\"-line\",circle:a+e+\"-circle\",symbol:a+e+\"-symbol\",cluster:a+e+\"-cluster\",clusterCount:a+e+\"-cluster-count\"},this.below=null}var l=s.prototype;l.addSource=function(t,e,r){var i={type:\"geojson\",data:e.geojson};r&&r.enabled&&n.extendFlat(i,{cluster:!0,clusterMaxZoom:r.maxzoom}),this.subplot.map.addSource(this.sourceIds[t],i)},l.setSourceData=function(t,e){this.subplot.map.getSource(this.sourceIds[t]).setData(e.geojson)},l.addLayer=function(t,e,r){var n={type:e.type,id:this.layerIds[t],source:this.sourceIds[t],layout:e.layout,paint:e.paint};e.filter&&(n.filter=e.filter),this.subplot.addLayer(n,r)},l.update=function(t){var e,r,n,a=t[0].trace,s=this.subplot,l=s.map,c=i(s.gd,t),u=s.belowLookup[\"trace-\"+this.uid],f=!(!a.cluster||!a.cluster.enabled),h=!!this.clusterEnabled;if(u!==this.below){var p=o.nonCluster;for(e=p.length-1;e>=0;e--)r=p[e],l.removeLayer(this.layerIds[r]);for(e=0;e=0;e--)r=o.nonCluster[e],l.removeLayer(this.layerIds[r]),l.removeSource(this.sourceIds[r]);for(this.addSource(\"circle\",c.circle,a.cluster),e=0;e=0;r--){var n=e[r];t.removeLayer(this.layerIds[n]),t.removeSource(this.sourceIds[n])}},e.exports=function(t,e){var r,n,a,l=e[0].trace,c=l.cluster&&l.cluster.enabled,u=new s(t,l.uid,c),f=i(t.gd,e),h=u.below=t.belowLookup[\"trace-\"+l.uid];if(c)for(u.addSource(\"circle\",f.circle,l.cluster),r=0;r\")}}e.exports={hoverPoints:function(t,e,r,a){var o=n(t,e,r,a);if(o&&!1!==o[0].index){var s=o[0];if(void 0===s.index)return o;var l=t.subplot,c=s.cd[s.index],u=s.trace;if(l.isPtInside(c))return s.xLabelVal=void 0,s.yLabelVal=void 0,i(c,u,l,s),s.hovertemplate=u.hovertemplate,o}},makeHoverPointText:i}},{\"../scatter/hover\":947}],1016:[function(t,e,r){\"use strict\";e.exports={moduleType:\"trace\",name:\"scatterpolar\",basePlotModule:t(\"../../plots/polar\"),categories:[\"polar\",\"symbols\",\"showLegend\",\"scatter-like\"],attributes:t(\"./attributes\"),supplyDefaults:t(\"./defaults\").supplyDefaults,colorbar:t(\"../scatter/marker_colorbar\"),formatLabels:t(\"./format_labels\"),calc:t(\"./calc\"),plot:t(\"./plot\"),style:t(\"../scatter/style\").style,styleOnSelect:t(\"../scatter/style\").styleOnSelect,hoverPoints:t(\"./hover\").hoverPoints,selectPoints:t(\"../scatter/select\"),meta:{}}},{\"../../plots/polar\":631,\"../scatter/marker_colorbar\":954,\"../scatter/select\":958,\"../scatter/style\":960,\"./attributes\":1011,\"./calc\":1012,\"./defaults\":1013,\"./format_labels\":1014,\"./hover\":1015,\"./plot\":1017}],1017:[function(t,e,r){\"use strict\";var n=t(\"../scatter/plot\"),i=t(\"../../constants/numerical\").BADNUM;e.exports=function(t,e,r){for(var a=e.layers.frontplot.select(\"g.scatterlayer\"),o=e.xaxis,s=e.yaxis,l={xaxis:o,yaxis:s,plot:e.framework,layerClipId:e._hasClipOnAxisFalse?e.clipIds.forTraces:null},c=e.radialAxis,u=e.angularAxis,f=0;f=c&&(y.marker.cluster=d.tree),y.marker&&(y.markerSel.positions=y.markerUnsel.positions=y.marker.positions=_),y.line&&_.length>1&&l.extendFlat(y.line,s.linePositions(t,p,_)),y.text&&(l.extendFlat(y.text,{positions:_},s.textPosition(t,p,y.text,y.marker)),l.extendFlat(y.textSel,{positions:_},s.textPosition(t,p,y.text,y.markerSel)),l.extendFlat(y.textUnsel,{positions:_},s.textPosition(t,p,y.text,y.markerUnsel))),y.fill&&!h.fill2d&&(h.fill2d=!0),y.marker&&!h.scatter2d&&(h.scatter2d=!0),y.line&&!h.line2d&&(h.line2d=!0),y.text&&!h.glText&&(h.glText=!0),h.lineOptions.push(y.line),h.fillOptions.push(y.fill),h.markerOptions.push(y.marker),h.markerSelectedOptions.push(y.markerSel),h.markerUnselectedOptions.push(y.markerUnsel),h.textOptions.push(y.text),h.textSelectedOptions.push(y.textSel),h.textUnselectedOptions.push(y.textUnsel),h.selectBatch.push([]),h.unselectBatch.push([]),d.x=w,d.y=T,d.rawx=w,d.rawy=T,d.r=g,d.theta=v,d.positions=_,d._scene=h,d.index=h.count,h.count++}})),a(t,e,r)}},e.exports.reglPrecompiled={}},{\"../../lib\":515,\"../scattergl/constants\":991,\"../scattergl/convert\":992,\"../scattergl/plot\":999,\"../scattergl/scene_update\":1e3,\"@plotly/point-cluster\":59,\"fast-isnumeric\":190}],1026:[function(t,e,r){\"use strict\";var n=t(\"../../plots/template_attributes\").hovertemplateAttrs,i=t(\"../../plots/template_attributes\").texttemplateAttrs,a=t(\"../../lib/extend\").extendFlat,o=t(\"../scatter/attributes\"),s=t(\"../../plots/attributes\"),l=o.line;e.exports={mode:o.mode,real:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},imag:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},text:o.text,texttemplate:i({editType:\"plot\"},{keys:[\"real\",\"imag\",\"text\"]}),hovertext:o.hovertext,line:{color:l.color,width:l.width,dash:l.dash,backoff:l.backoff,shape:a({},l.shape,{values:[\"linear\",\"spline\"]}),smoothing:l.smoothing,editType:\"calc\"},connectgaps:o.connectgaps,marker:o.marker,cliponaxis:a({},o.cliponaxis,{dflt:!1}),textposition:o.textposition,textfont:o.textfont,fill:a({},o.fill,{values:[\"none\",\"toself\",\"tonext\"],dflt:\"none\"}),fillcolor:o.fillcolor,hoverinfo:a({},s.hoverinfo,{flags:[\"real\",\"imag\",\"text\",\"name\"]}),hoveron:o.hoveron,hovertemplate:n(),selected:o.selected,unselected:o.unselected}},{\"../../lib/extend\":505,\"../../plots/attributes\":562,\"../../plots/template_attributes\":642,\"../scatter/attributes\":936}],1027:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"../../constants/numerical\").BADNUM,a=t(\"../scatter/colorscale_calc\"),o=t(\"../scatter/arrays_to_calcdata\"),s=t(\"../scatter/calc_selection\"),l=t(\"../scatter/calc\").calcMarkerSize;e.exports=function(t,e){for(var r=t._fullLayout,c=e.subplot,u=r[c].realaxis,f=r[c].imaginaryaxis,h=u.makeCalcdata(e,\"real\"),p=f.makeCalcdata(e,\"imag\"),d=e._length,m=new Array(d),g=0;g\")}}e.exports={hoverPoints:function(t,e,r,a){var o=n(t,e,r,a);if(o&&!1!==o[0].index){var s=o[0];if(void 0===s.index)return o;var l=t.subplot,c=s.cd[s.index],u=s.trace;if(l.isPtInside(c))return s.xLabelVal=void 0,s.yLabelVal=void 0,i(c,u,l,s),s.hovertemplate=u.hovertemplate,o}},makeHoverPointText:i}},{\"../scatter/hover\":947}],1031:[function(t,e,r){\"use strict\";e.exports={moduleType:\"trace\",name:\"scattersmith\",basePlotModule:t(\"../../plots/smith\"),categories:[\"smith\",\"symbols\",\"showLegend\",\"scatter-like\"],attributes:t(\"./attributes\"),supplyDefaults:t(\"./defaults\"),colorbar:t(\"../scatter/marker_colorbar\"),formatLabels:t(\"./format_labels\"),calc:t(\"./calc\"),plot:t(\"./plot\"),style:t(\"../scatter/style\").style,styleOnSelect:t(\"../scatter/style\").styleOnSelect,hoverPoints:t(\"./hover\").hoverPoints,selectPoints:t(\"../scatter/select\"),meta:{}}},{\"../../plots/smith\":638,\"../scatter/marker_colorbar\":954,\"../scatter/select\":958,\"../scatter/style\":960,\"./attributes\":1026,\"./calc\":1027,\"./defaults\":1028,\"./format_labels\":1029,\"./hover\":1030,\"./plot\":1032}],1032:[function(t,e,r){\"use strict\";var n=t(\"../scatter/plot\"),i=t(\"../../constants/numerical\").BADNUM,a=t(\"../../plots/smith/helpers\").smith;e.exports=function(t,e,r){for(var o=e.layers.frontplot.select(\"g.scatterlayer\"),s=e.xaxis,l=e.yaxis,c={xaxis:s,yaxis:l,plot:e.framework,layerClipId:e._hasClipOnAxisFalse?e.clipIds.forTraces:null},u=0;u\"),o.hovertemplate=h.hovertemplate,a}function x(t,e){v.push(t._hovertitle+\": \"+e)}}},{\"../scatter/hover\":947}],1039:[function(t,e,r){\"use strict\";e.exports={attributes:t(\"./attributes\"),supplyDefaults:t(\"./defaults\"),colorbar:t(\"../scatter/marker_colorbar\"),formatLabels:t(\"./format_labels\"),calc:t(\"./calc\"),plot:t(\"./plot\"),style:t(\"../scatter/style\").style,styleOnSelect:t(\"../scatter/style\").styleOnSelect,hoverPoints:t(\"./hover\"),selectPoints:t(\"../scatter/select\"),eventData:t(\"./event_data\"),moduleType:\"trace\",name:\"scatterternary\",basePlotModule:t(\"../../plots/ternary\"),categories:[\"ternary\",\"symbols\",\"showLegend\",\"scatter-like\"],meta:{}}},{\"../../plots/ternary\":643,\"../scatter/marker_colorbar\":954,\"../scatter/select\":958,\"../scatter/style\":960,\"./attributes\":1033,\"./calc\":1034,\"./defaults\":1035,\"./event_data\":1036,\"./format_labels\":1037,\"./hover\":1038,\"./plot\":1040}],1040:[function(t,e,r){\"use strict\";var n=t(\"../scatter/plot\");e.exports=function(t,e,r){var i=e.plotContainer;i.select(\".scatterlayer\").selectAll(\"*\").remove();for(var a=e.xaxis,o=e.yaxis,s={xaxis:a,yaxis:o,plot:i,layerClipId:e._hasClipOnAxisFalse?e.clipIdRelative:null},l=e.layers.frontplot.select(\"g.scatterlayer\"),c=0;ch?b.sizeAvg||Math.max(b.size,3):a(e,x),p=0;pa&&l||i-1,P=!0;if(o(x)||!!p.selectedpoints||C){var I=p._length;if(p.selectedpoints){m.selectBatch=p.selectedpoints;var O=p.selectedpoints,z={};for(l=0;l1&&(u=m[y-1],h=g[y-1],d=v[y-1]),e=0;eu?\"-\":\"+\")+\"x\")).replace(\"y\",(f>h?\"-\":\"+\")+\"y\")).replace(\"z\",(p>d?\"-\":\"+\")+\"z\");var L=function(){y=0,M=[],S=[],E=[]};(!y||y2?t.slice(1,e-1):2===e?[(t[0]+t[1])/2]:t}function p(t){var e=t.length;return 1===e?[.5,.5]:[t[1]-t[0],t[e-1]-t[e-2]]}function d(t,e){var r=t.fullSceneLayout,i=t.dataScale,u=e._len,f={};function d(t,e){var n=r[e],o=i[c[e]];return a.simpleMap(t,(function(t){return n.d2l(t)*o}))}if(f.vectors=l(d(e._u,\"xaxis\"),d(e._v,\"yaxis\"),d(e._w,\"zaxis\"),u),!u)return{positions:[],cells:[]};var m=d(e._Xs,\"xaxis\"),g=d(e._Ys,\"yaxis\"),v=d(e._Zs,\"zaxis\");if(f.meshgrid=[m,g,v],f.gridFill=e._gridFill,e._slen)f.startingPositions=l(d(e._startsX,\"xaxis\"),d(e._startsY,\"yaxis\"),d(e._startsZ,\"zaxis\"));else{for(var y=g[0],x=h(m),b=h(v),_=new Array(x.length*b.length),w=0,T=0;T=0};v?(r=Math.min(g.length,x.length),l=function(t){return A(g[t])&&M(t)},f=function(t){return String(g[t])}):(r=Math.min(y.length,x.length),l=function(t){return A(y[t])&&M(t)},f=function(t){return String(y[t])}),_&&(r=Math.min(r,b.length));for(var S=0;S1){for(var P=a.randstr(),I=0;I\"),name:A||z(\"name\")?y.name:void 0,color:k(\"hoverlabel.bgcolor\")||x.color,borderColor:k(\"hoverlabel.bordercolor\"),fontFamily:k(\"hoverlabel.font.family\"),fontSize:k(\"hoverlabel.font.size\"),fontColor:k(\"hoverlabel.font.color\"),nameLength:k(\"hoverlabel.namelength\"),textAlign:k(\"hoverlabel.align\"),hovertemplate:A,hovertemplateLabels:P,eventData:l};g&&(F.x0=E-i.rInscribed*i.rpx1,F.x1=E+i.rInscribed*i.rpx1,F.idealAlign=i.pxmid[0]<0?\"left\":\"right\"),v&&(F.x=E,F.idealAlign=E<0?\"left\":\"right\");var B=[];o.loneHover(F,{container:a._hoverlayer.node(),outerContainer:a._paper.node(),gd:r,inOut_bbox:B}),l[0].bbox=B[0],d._hasHoverLabel=!0}if(v){var N=t.select(\"path.surface\");h.styleOne(N,i,y,{hovered:!0})}d._hasHoverEvent=!0,r.emit(\"plotly_hover\",{points:l||[f(i,y,h.eventDataKeys)],event:n.event})}})),t.on(\"mouseout\",(function(e){var i=r._fullLayout,a=r._fullData[d.index],s=n.select(this).datum();if(d._hasHoverEvent&&(e.originalEvent=n.event,r.emit(\"plotly_unhover\",{points:[f(s,a,h.eventDataKeys)],event:n.event}),d._hasHoverEvent=!1),d._hasHoverLabel&&(o.loneUnhover(i._hoverlayer.node()),d._hasHoverLabel=!1),v){var l=t.select(\"path.surface\");h.styleOne(l,s,a,{hovered:!1})}})),t.on(\"click\",(function(t){var e=r._fullLayout,a=r._fullData[d.index],s=g&&(c.isHierarchyRoot(t)||c.isLeaf(t)),u=c.getPtId(t),p=c.isEntry(t)?c.findEntryWithChild(m,u):c.findEntryWithLevel(m,u),v=c.getPtId(p),y={points:[f(t,a,h.eventDataKeys)],event:n.event};s||(y.nextLevel=v);var x=l.triggerHandler(r,\"plotly_\"+d.type+\"click\",y);if(!1!==x&&e.hovermode&&(r._hoverdata=[f(t,a,h.eventDataKeys)],o.click(r,n.event)),!s&&!1!==x&&!r._dragging&&!r._transitioning){i.call(\"_storeDirectGUIEdit\",a,e._tracePreGUI[a.uid],{level:a.level});var b={data:[{level:v}],traces:[d.index]},_={frame:{redraw:!1,duration:h.transitionTime},transition:{duration:h.transitionTime,easing:h.transitionEasing},mode:\"immediate\",fromcurrent:!0};o.loneUnhover(e._hoverlayer.node()),i.call(\"animate\",r,b,_)}}))}},{\"../../components/fx\":407,\"../../components/fx/helpers\":403,\"../../lib\":515,\"../../lib/events\":504,\"../../registry\":647,\"../pie/helpers\":915,\"./helpers\":1064,\"@plotly/d3\":58}],1064:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../components/color\"),a=t(\"../../lib/setcursor\"),o=t(\"../pie/helpers\");function s(t){return t.data.data.pid}r.findEntryWithLevel=function(t,e){var n;return e&&t.eachAfter((function(t){if(r.getPtId(t)===e)return n=t.copy()})),n||t},r.findEntryWithChild=function(t,e){var n;return t.eachAfter((function(t){for(var i=t.children||[],a=0;a0)},r.getMaxDepth=function(t){return t.maxdepth>=0?t.maxdepth:1/0},r.isHeader=function(t,e){return!(r.isLeaf(t)||t.depth===e._maxDepth-1)},r.getParent=function(t,e){return r.findEntryWithLevel(t,s(e))},r.listPath=function(t,e){var n=t.parent;if(!n)return[];var i=e?[n.data[e]]:[n];return r.listPath(n,e).concat(i)},r.getPath=function(t){return r.listPath(t,\"label\").join(\"/\")+\"/\"},r.formatValue=o.formatPieValue,r.formatPercent=function(t,e){var r=n.formatPercent(t,0);return\"0%\"===r&&(r=o.formatPiePercent(t,e)),r}},{\"../../components/color\":367,\"../../lib\":515,\"../../lib/setcursor\":536,\"../pie/helpers\":915}],1065:[function(t,e,r){\"use strict\";e.exports={moduleType:\"trace\",name:\"sunburst\",basePlotModule:t(\"./base_plot\"),categories:[],animatable:!0,attributes:t(\"./attributes\"),layoutAttributes:t(\"./layout_attributes\"),supplyDefaults:t(\"./defaults\"),supplyLayoutDefaults:t(\"./layout_defaults\"),calc:t(\"./calc\").calc,crossTraceCalc:t(\"./calc\").crossTraceCalc,plot:t(\"./plot\").plot,style:t(\"./style\").style,colorbar:t(\"../scatter/marker_colorbar\"),meta:{}}},{\"../scatter/marker_colorbar\":954,\"./attributes\":1058,\"./base_plot\":1059,\"./calc\":1060,\"./defaults\":1062,\"./layout_attributes\":1066,\"./layout_defaults\":1067,\"./plot\":1068,\"./style\":1069}],1066:[function(t,e,r){\"use strict\";e.exports={sunburstcolorway:{valType:\"colorlist\",editType:\"calc\"},extendsunburstcolors:{valType:\"boolean\",dflt:!0,editType:\"calc\"}}},{}],1067:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"./layout_attributes\");e.exports=function(t,e){function r(r,a){return n.coerce(t,e,i,r,a)}r(\"sunburstcolorway\",e.colorway),r(\"extendsunburstcolors\")}},{\"../../lib\":515,\"./layout_attributes\":1066}],1068:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\"),i=t(\"d3-hierarchy\"),a=t(\"d3-interpolate\").interpolate,o=t(\"../../components/drawing\"),s=t(\"../../lib\"),l=t(\"../../lib/svg_text_utils\"),c=t(\"../bar/uniform_text\"),u=c.recordMinTextSize,f=c.clearMinTextSize,h=t(\"../pie/plot\"),p=t(\"../pie/helpers\").getRotationAngle,d=h.computeTransform,m=h.transformInsideText,g=t(\"./style\").styleOne,v=t(\"../bar/style\").resizeText,y=t(\"./fx\"),x=t(\"./constants\"),b=t(\"./helpers\");function _(t,e,c,f){var h=t._context.staticPlot,v=t._fullLayout,_=!v.uniformtext.mode&&b.hasTransition(f),T=n.select(c).selectAll(\"g.slice\"),k=e[0],A=k.trace,M=k.hierarchy,S=b.findEntryWithLevel(M,A.level),E=b.getMaxDepth(A),L=v._size,C=A.domain,P=L.w*(C.x[1]-C.x[0]),I=L.h*(C.y[1]-C.y[0]),O=.5*Math.min(P,I),z=k.cx=L.l+L.w*(C.x[1]+C.x[0])/2,D=k.cy=L.t+L.h*(1-C.y[0])-I/2;if(!S)return T.remove();var R=null,F={};_&&T.each((function(t){F[b.getPtId(t)]={rpx0:t.rpx0,rpx1:t.rpx1,x0:t.x0,x1:t.x1,transform:t.transform},!R&&b.isEntry(t)&&(R=t)}));var B=function(t){return i.partition().size([2*Math.PI,t.height+1])(t)}(S).descendants(),N=S.height+1,j=0,U=E;k.hasMultipleRoots&&b.isHierarchyRoot(S)&&(B=B.slice(1),N-=1,j=1,U+=1),B=B.filter((function(t){return t.y1<=U}));var V=p(A.rotation);V&&B.forEach((function(t){t.x0+=V,t.x1+=V}));var H=Math.min(N,E),q=function(t){return(t-j)/H*O},G=function(t,e){return[t*Math.cos(e),-t*Math.sin(e)]},Y=function(t){return s.pathAnnulus(t.rpx0,t.rpx1,t.x0,t.x1,z,D)},W=function(t){return z+w(t)[0]*(t.transform.rCenter||0)+(t.transform.x||0)},Z=function(t){return D+w(t)[1]*(t.transform.rCenter||0)+(t.transform.y||0)};(T=T.data(B,b.getPtId)).enter().append(\"g\").classed(\"slice\",!0),_?T.exit().transition().each((function(){var t=n.select(this);t.select(\"path.surface\").transition().attrTween(\"d\",(function(t){var e=function(t){var e,r=b.getPtId(t),n=F[r],i=F[b.getPtId(S)];if(i){var o=(t.x1>i.x1?2*Math.PI:0)+V;e=t.rpx1X?2*Math.PI:0)+V;e={x0:i,x1:i}}else e={rpx0:O,rpx1:O},s.extendFlat(e,Q(t));else e={rpx0:0,rpx1:0};else e={x0:V,x1:V};return a(e,n)}(t);return function(t){return Y(e(t))}})):f.attr(\"d\",Y),c.call(y,S,t,e,{eventDataKeys:x.eventDataKeys,transitionTime:x.CLICK_TRANSITION_TIME,transitionEasing:x.CLICK_TRANSITION_EASING}).call(b.setSliceCursor,t,{hideOnRoot:!0,hideOnLeaves:!0,isTransitioning:t._transitioning}),f.call(g,i,A);var p=s.ensureSingle(c,\"g\",\"slicetext\"),w=s.ensureSingle(p,\"text\",\"\",(function(t){t.attr(\"data-notex\",1)})),T=s.ensureUniformFontSize(t,b.determineTextFont(A,i,v.font));w.text(r.formatSliceLabel(i,S,A,e,v)).classed(\"slicetext\",!0).attr(\"text-anchor\",\"middle\").call(o.font,T).call(l.convertToTspans,t);var M=o.bBox(w.node());i.transform=m(M,i,k),i.transform.targetX=W(i),i.transform.targetY=Z(i);var E=function(t,e){var r=t.transform;return d(r,e),r.fontSize=T.size,u(A.type,r,v),s.getTextTransform(r)};_?w.transition().attrTween(\"transform\",(function(t){var e=function(t){var e,r=F[b.getPtId(t)],n=t.transform;if(r)e=r;else if(e={rpx1:t.rpx1,transform:{textPosAngle:n.textPosAngle,scale:0,rotate:n.rotate,rCenter:n.rCenter,x:n.x,y:n.y}},R)if(t.parent)if(X){var i=t.x1>X?2*Math.PI:0;e.x0=e.x1=i}else s.extendFlat(e,Q(t));else e.x0=e.x1=V;else e.x0=e.x1=V;var o=a(e.transform.textPosAngle,t.transform.textPosAngle),l=a(e.rpx1,t.rpx1),c=a(e.x0,t.x0),f=a(e.x1,t.x1),h=a(e.transform.scale,n.scale),p=a(e.transform.rotate,n.rotate),d=0===n.rCenter?3:0===e.transform.rCenter?1/3:1,m=a(e.transform.rCenter,n.rCenter);return function(t){var e=l(t),r=c(t),i=f(t),a=function(t){return m(Math.pow(t,d))}(t),s={pxmid:G(e,(r+i)/2),rpx1:e,transform:{textPosAngle:o(t),rCenter:a,x:n.x,y:n.y}};return u(A.type,n,v),{transform:{targetX:W(s),targetY:Z(s),scale:h(t),rotate:p(t),rCenter:a}}}}(t);return function(t){return E(e(t),M)}})):w.attr(\"transform\",E(i,M))}))}function w(t){return e=t.rpx1,r=t.transform.textPosAngle,[e*Math.sin(r),-e*Math.cos(r)];var e,r}r.plot=function(t,e,r,i){var a,o,s=t._fullLayout,l=s._sunburstlayer,c=!r,u=!s.uniformtext.mode&&b.hasTransition(r);(f(\"sunburst\",s),(a=l.selectAll(\"g.trace.sunburst\").data(e,(function(t){return t[0].trace.uid}))).enter().append(\"g\").classed(\"trace\",!0).classed(\"sunburst\",!0).attr(\"stroke-linejoin\",\"round\"),a.order(),u)?(i&&(o=i()),n.transition().duration(r.duration).ease(r.easing).each(\"end\",(function(){o&&o()})).each(\"interrupt\",(function(){o&&o()})).each((function(){l.selectAll(\"g.trace\").each((function(e){_(t,e,this,r)}))}))):(a.each((function(e){_(t,e,this,r)})),s.uniformtext.mode&&v(t,s._sunburstlayer.selectAll(\".trace\"),\"sunburst\"));c&&a.exit().remove()},r.formatSliceLabel=function(t,e,r,n,i){var a=r.texttemplate,o=r.textinfo;if(!(a||o&&\"none\"!==o))return\"\";var l=i.separators,c=n[0],u=t.data.data,f=c.hierarchy,h=b.isHierarchyRoot(t),p=b.getParent(f,t),d=b.getValue(t);if(!a){var m,g=o.split(\"+\"),v=function(t){return-1!==g.indexOf(t)},y=[];if(v(\"label\")&&u.label&&y.push(u.label),u.hasOwnProperty(\"v\")&&v(\"value\")&&y.push(b.formatValue(u.v,l)),!h){v(\"current path\")&&y.push(b.getPath(t.data));var x=0;v(\"percent parent\")&&x++,v(\"percent entry\")&&x++,v(\"percent root\")&&x++;var _=x>1;if(x){var w,T=function(t){m=b.formatPercent(w,l),_&&(m+=\" of \"+t),y.push(m)};v(\"percent parent\")&&!h&&(w=d/b.getValue(p),T(\"parent\")),v(\"percent entry\")&&(w=d/b.getValue(e),T(\"entry\")),v(\"percent root\")&&(w=d/b.getValue(f),T(\"root\"))}}return v(\"text\")&&(m=s.castOption(r,u.i,\"text\"),s.isValidTextValue(m)&&y.push(m)),y.join(\"
\")}var k=s.castOption(r,u.i,\"texttemplate\");if(!k)return\"\";var A={};u.label&&(A.label=u.label),u.hasOwnProperty(\"v\")&&(A.value=u.v,A.valueLabel=b.formatValue(u.v,l)),A.currentPath=b.getPath(t.data),h||(A.percentParent=d/b.getValue(p),A.percentParentLabel=b.formatPercent(A.percentParent,l),A.parent=b.getPtLabel(p)),A.percentEntry=d/b.getValue(e),A.percentEntryLabel=b.formatPercent(A.percentEntry,l),A.entry=b.getPtLabel(e),A.percentRoot=d/b.getValue(f),A.percentRootLabel=b.formatPercent(A.percentRoot,l),A.root=b.getPtLabel(f),u.hasOwnProperty(\"color\")&&(A.color=u.color);var M=s.castOption(r,u.i,\"text\");return(s.isValidTextValue(M)||\"\"===M)&&(A.text=M),A.customdata=s.castOption(r,u.i,\"customdata\"),s.texttemplateString(k,A,i._d3locale,A,r._meta||{})}},{\"../../components/drawing\":389,\"../../lib\":515,\"../../lib/svg_text_utils\":541,\"../bar/style\":671,\"../bar/uniform_text\":673,\"../pie/helpers\":915,\"../pie/plot\":919,\"./constants\":1061,\"./fx\":1063,\"./helpers\":1064,\"./style\":1069,\"@plotly/d3\":58,\"d3-hierarchy\":115,\"d3-interpolate\":116}],1069:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\"),i=t(\"../../components/color\"),a=t(\"../../lib\"),o=t(\"../bar/uniform_text\").resizeText;function s(t,e,r){var n=e.data.data,o=!e.children,s=n.i,l=a.castOption(r,s,\"marker.line.color\")||i.defaultLine,c=a.castOption(r,s,\"marker.line.width\")||0;t.style(\"stroke-width\",c).call(i.fill,n.color).call(i.stroke,l).style(\"opacity\",o?r.leaf.opacity:null)}e.exports={style:function(t){var e=t._fullLayout._sunburstlayer.selectAll(\".trace\");o(t,e,\"sunburst\"),e.each((function(t){var e=n.select(this),r=t[0].trace;e.style(\"opacity\",r.opacity),e.selectAll(\"path.surface\").each((function(t){n.select(this).call(s,t,r)}))}))},styleOne:s}},{\"../../components/color\":367,\"../../lib\":515,\"../bar/uniform_text\":673,\"@plotly/d3\":58}],1070:[function(t,e,r){\"use strict\";var n=t(\"../../components/color\"),i=t(\"../../components/colorscale/attributes\"),a=t(\"../../plots/cartesian/axis_format_attributes\").axisHoverFormat,o=t(\"../../plots/template_attributes\").hovertemplateAttrs,s=t(\"../../plots/attributes\"),l=t(\"../../lib/extend\").extendFlat,c=t(\"../../plot_api/edit_types\").overrideAll;function u(t){return{show:{valType:\"boolean\",dflt:!1},start:{valType:\"number\",dflt:null,editType:\"plot\"},end:{valType:\"number\",dflt:null,editType:\"plot\"},size:{valType:\"number\",dflt:null,min:0,editType:\"plot\"},project:{x:{valType:\"boolean\",dflt:!1},y:{valType:\"boolean\",dflt:!1},z:{valType:\"boolean\",dflt:!1}},color:{valType:\"color\",dflt:n.defaultLine},usecolormap:{valType:\"boolean\",dflt:!1},width:{valType:\"number\",min:1,max:16,dflt:2},highlight:{valType:\"boolean\",dflt:!0},highlightcolor:{valType:\"color\",dflt:n.defaultLine},highlightwidth:{valType:\"number\",min:1,max:16,dflt:2}}}var f=e.exports=c(l({z:{valType:\"data_array\"},x:{valType:\"data_array\"},y:{valType:\"data_array\"},text:{valType:\"string\",dflt:\"\",arrayOk:!0},hovertext:{valType:\"string\",dflt:\"\",arrayOk:!0},hovertemplate:o(),xhoverformat:a(\"x\"),yhoverformat:a(\"y\"),zhoverformat:a(\"z\"),connectgaps:{valType:\"boolean\",dflt:!1,editType:\"calc\"},surfacecolor:{valType:\"data_array\"}},i(\"\",{colorAttr:\"z or surfacecolor\",showScaleDflt:!0,autoColorDflt:!1,editTypeOverride:\"calc\"}),{contours:{x:u(),y:u(),z:u()},hidesurface:{valType:\"boolean\",dflt:!1},lightposition:{x:{valType:\"number\",min:-1e5,max:1e5,dflt:10},y:{valType:\"number\",min:-1e5,max:1e5,dflt:1e4},z:{valType:\"number\",min:-1e5,max:1e5,dflt:0}},lighting:{ambient:{valType:\"number\",min:0,max:1,dflt:.8},diffuse:{valType:\"number\",min:0,max:1,dflt:.8},specular:{valType:\"number\",min:0,max:2,dflt:.05},roughness:{valType:\"number\",min:0,max:1,dflt:.5},fresnel:{valType:\"number\",min:0,max:5,dflt:.2}},opacity:{valType:\"number\",min:0,max:1,dflt:1},opacityscale:{valType:\"any\",editType:\"calc\"},_deprecated:{zauto:l({},i.zauto,{}),zmin:l({},i.zmin,{}),zmax:l({},i.zmax,{})},hoverinfo:l({},s.hoverinfo),showlegend:l({},s.showlegend,{dflt:!1})}),\"calc\",\"nested\");f.x.editType=f.y.editType=f.z.editType=\"calc+clearAxisTypes\",f.transforms=void 0},{\"../../components/color\":367,\"../../components/colorscale/attributes\":374,\"../../lib/extend\":505,\"../../plot_api/edit_types\":548,\"../../plots/attributes\":562,\"../../plots/cartesian/axis_format_attributes\":569,\"../../plots/template_attributes\":642}],1071:[function(t,e,r){\"use strict\";var n=t(\"../../components/colorscale/calc\");e.exports=function(t,e){e.surfacecolor?n(t,e,{vals:e.surfacecolor,containerStr:\"\",cLetter:\"c\"}):n(t,e,{vals:e.z,containerStr:\"\",cLetter:\"c\"})}},{\"../../components/colorscale/calc\":375}],1072:[function(t,e,r){\"use strict\";var n=t(\"../../../stackgl_modules\").gl_surface3d,i=t(\"../../../stackgl_modules\").ndarray,a=t(\"../../../stackgl_modules\").ndarray_linear_interpolate.d2,o=t(\"../heatmap/interp2d\"),s=t(\"../heatmap/find_empties\"),l=t(\"../../lib\").isArrayOrTypedArray,c=t(\"../../lib/gl_format_color\").parseColorScale,u=t(\"../../lib/str2rgbarray\"),f=t(\"../../components/colorscale\").extractOpts;function h(t,e,r){this.scene=t,this.uid=r,this.surface=e,this.data=null,this.showContour=[!1,!1,!1],this.contourStart=[null,null,null],this.contourEnd=[null,null,null],this.contourSize=[0,0,0],this.minValues=[1/0,1/0,1/0],this.maxValues=[-1/0,-1/0,-1/0],this.dataScaleX=1,this.dataScaleY=1,this.refineData=!0,this.objectOffset=[0,0,0]}var p=h.prototype;p.getXat=function(t,e,r,n){var i=l(this.data.x)?l(this.data.x[0])?this.data.x[e][t]:this.data.x[t]:t;return void 0===r?i:n.d2l(i,0,r)},p.getYat=function(t,e,r,n){var i=l(this.data.y)?l(this.data.y[0])?this.data.y[e][t]:this.data.y[e]:e;return void 0===r?i:n.d2l(i,0,r)},p.getZat=function(t,e,r,n){var i=this.data.z[e][t];return null===i&&this.data.connectgaps&&this.data._interpolatedZ&&(i=this.data._interpolatedZ[e][t]),void 0===r?i:n.d2l(i,0,r)},p.handlePick=function(t){if(t.object===this.surface){var e=(t.data.index[0]-1)/this.dataScaleX-1,r=(t.data.index[1]-1)/this.dataScaleY-1,n=Math.max(Math.min(Math.round(e),this.data.z[0].length-1),0),i=Math.max(Math.min(Math.round(r),this.data._ylength-1),0);t.index=[n,i],t.traceCoordinate=[this.getXat(n,i),this.getYat(n,i),this.getZat(n,i)],t.dataCoordinate=[this.getXat(n,i,this.data.xcalendar,this.scene.fullSceneLayout.xaxis),this.getYat(n,i,this.data.ycalendar,this.scene.fullSceneLayout.yaxis),this.getZat(n,i,this.data.zcalendar,this.scene.fullSceneLayout.zaxis)];for(var a=0;a<3;a++){var o=t.dataCoordinate[a];null!=o&&(t.dataCoordinate[a]*=this.scene.dataScale[a])}var s=this.data.hovertext||this.data.text;return Array.isArray(s)&&s[i]&&void 0!==s[i][n]?t.textLabel=s[i][n]:t.textLabel=s||\"\",t.data.dataCoordinate=t.dataCoordinate.slice(),this.surface.highlight(t.data),this.scene.glplot.spikes.position=t.dataCoordinate,!0}};var d=[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509,521,523,541,547,557,563,569,571,577,587,593,599,601,607,613,617,619,631,641,643,647,653,659,661,673,677,683,691,701,709,719,727,733,739,743,751,757,761,769,773,787,797,809,811,821,823,827,829,839,853,857,859,863,877,881,883,887,907,911,919,929,937,941,947,953,967,971,977,983,991,997,1009,1013,1019,1021,1031,1033,1039,1049,1051,1061,1063,1069,1087,1091,1093,1097,1103,1109,1117,1123,1129,1151,1153,1163,1171,1181,1187,1193,1201,1213,1217,1223,1229,1231,1237,1249,1259,1277,1279,1283,1289,1291,1297,1301,1303,1307,1319,1321,1327,1361,1367,1373,1381,1399,1409,1423,1427,1429,1433,1439,1447,1451,1453,1459,1471,1481,1483,1487,1489,1493,1499,1511,1523,1531,1543,1549,1553,1559,1567,1571,1579,1583,1597,1601,1607,1609,1613,1619,1621,1627,1637,1657,1663,1667,1669,1693,1697,1699,1709,1721,1723,1733,1741,1747,1753,1759,1777,1783,1787,1789,1801,1811,1823,1831,1847,1861,1867,1871,1873,1877,1879,1889,1901,1907,1913,1931,1933,1949,1951,1973,1979,1987,1993,1997,1999,2003,2011,2017,2027,2029,2039,2053,2063,2069,2081,2083,2087,2089,2099,2111,2113,2129,2131,2137,2141,2143,2153,2161,2179,2203,2207,2213,2221,2237,2239,2243,2251,2267,2269,2273,2281,2287,2293,2297,2309,2311,2333,2339,2341,2347,2351,2357,2371,2377,2381,2383,2389,2393,2399,2411,2417,2423,2437,2441,2447,2459,2467,2473,2477,2503,2521,2531,2539,2543,2549,2551,2557,2579,2591,2593,2609,2617,2621,2633,2647,2657,2659,2663,2671,2677,2683,2687,2689,2693,2699,2707,2711,2713,2719,2729,2731,2741,2749,2753,2767,2777,2789,2791,2797,2801,2803,2819,2833,2837,2843,2851,2857,2861,2879,2887,2897,2903,2909,2917,2927,2939,2953,2957,2963,2969,2971,2999];function m(t,e){if(t0){r=d[n];break}return r}function y(t,e){if(!(t<1||e<1)){for(var r=g(t),n=g(e),i=1,a=0;a_;)r--,r/=v(r),++r1?n:1},p.refineCoords=function(t){for(var e=this.dataScaleX,r=this.dataScaleY,n=t[0].shape[0],a=t[0].shape[1],o=0|Math.floor(t[0].shape[0]*e+1),s=0|Math.floor(t[0].shape[1]*r+1),l=1+n+1,c=1+a+1,u=i(new Float32Array(l*c),[l,c]),f=[1/e,0,0,0,1/r,0,0,0,1],h=0;h0&&null!==this.contourStart[t]&&null!==this.contourEnd[t]&&this.contourEnd[t]>this.contourStart[t]))for(i[t]=!0,e=this.contourStart[t];ea&&(this.minValues[e]=a),this.maxValues[e]\",maxDimensionCount:60,overdrag:45,releaseTransitionDuration:120,releaseTransitionEase:\"cubic-out\",scrollbarCaptureWidth:18,scrollbarHideDelay:1e3,scrollbarHideDuration:1e3,scrollbarOffset:5,scrollbarWidth:8,transitionDuration:100,transitionEase:\"cubic-out\",uplift:5,wrapSpacer:\" \",wrapSplitCharacter:\" \",cn:{table:\"table\",tableControlView:\"table-control-view\",scrollBackground:\"scroll-background\",yColumn:\"y-column\",columnBlock:\"column-block\",scrollAreaClip:\"scroll-area-clip\",scrollAreaClipRect:\"scroll-area-clip-rect\",columnBoundary:\"column-boundary\",columnBoundaryClippath:\"column-boundary-clippath\",columnBoundaryRect:\"column-boundary-rect\",columnCells:\"column-cells\",columnCell:\"column-cell\",cellRect:\"cell-rect\",cellText:\"cell-text\",cellTextHolder:\"cell-text-holder\",scrollbarKit:\"scrollbar-kit\",scrollbar:\"scrollbar\",scrollbarSlider:\"scrollbar-slider\",scrollbarGlyph:\"scrollbar-glyph\",scrollbarCaptureZone:\"scrollbar-capture-zone\"}}},{}],1079:[function(t,e,r){\"use strict\";var n=t(\"./constants\"),i=t(\"../../lib/extend\").extendFlat,a=t(\"fast-isnumeric\");function o(t){if(Array.isArray(t)){for(var e=0,r=0;r=e||c===t.length-1)&&(n[i]=o,o.key=l++,o.firstRowIndex=s,o.lastRowIndex=c,o={firstRowIndex:null,lastRowIndex:null,rows:[]},i+=a,s=c+1,a=0);return n}e.exports=function(t,e){var r=l(e.cells.values),p=function(t){return t.slice(e.header.values.length,t.length)},d=l(e.header.values);d.length&&!d[0].length&&(d[0]=[\"\"],d=l(d));var m=d.concat(p(r).map((function(){return c((d[0]||[\"\"]).length)}))),g=e.domain,v=Math.floor(t._fullLayout._size.w*(g.x[1]-g.x[0])),y=Math.floor(t._fullLayout._size.h*(g.y[1]-g.y[0])),x=e.header.values.length?m[0].map((function(){return e.header.height})):[n.emptyHeaderHeight],b=r.length?r[0].map((function(){return e.cells.height})):[],_=x.reduce(s,0),w=h(b,y-_+n.uplift),T=f(h(x,_),[]),k=f(w,T),A={},M=e._fullInput.columnorder.concat(p(r.map((function(t,e){return e})))),S=m.map((function(t,r){var n=Array.isArray(e.columnwidth)?e.columnwidth[Math.min(r,e.columnwidth.length-1)]:e.columnwidth;return a(n)?Number(n):1})),E=S.reduce(s,0);S=S.map((function(t){return t/E*v}));var L=Math.max(o(e.header.line.width),o(e.cells.line.width)),C={key:e.uid+t._context.staticPlot,translateX:g.x[0]*t._fullLayout._size.w,translateY:t._fullLayout._size.h*(1-g.y[1]),size:t._fullLayout._size,width:v,maxLineWidth:L,height:y,columnOrder:M,groupHeight:y,rowBlocks:k,headerRowBlocks:T,scrollY:0,cells:i({},e.cells,{values:r}),headerCells:i({},e.header,{values:m}),gdColumns:m.map((function(t){return t[0]})),gdColumnsOriginalOrder:m.map((function(t){return t[0]})),prevPages:[0,0],scrollbarState:{scrollbarScrollInProgress:!1},columns:m.map((function(t,e){var r=A[t];return A[t]=(r||0)+1,{key:t+\"__\"+A[t],label:t,specIndex:e,xIndex:M[e],xScale:u,x:void 0,calcdata:void 0,columnWidth:S[e]}}))};return C.columns.forEach((function(t){t.calcdata=C,t.x=u(t)})),C}},{\"../../lib/extend\":505,\"./constants\":1078,\"fast-isnumeric\":190}],1080:[function(t,e,r){\"use strict\";var n=t(\"../../lib/extend\").extendFlat;r.splitToPanels=function(t){var e=[0,0],r=n({},t,{key:\"header\",type:\"header\",page:0,prevPages:e,currentRepaint:[null,null],dragHandle:!0,values:t.calcdata.headerCells.values[t.specIndex],rowBlocks:t.calcdata.headerRowBlocks,calcdata:n({},t.calcdata,{cells:t.calcdata.headerCells})});return[n({},t,{key:\"cells1\",type:\"cells\",page:0,prevPages:e,currentRepaint:[null,null],dragHandle:!1,values:t.calcdata.cells.values[t.specIndex],rowBlocks:t.calcdata.rowBlocks}),n({},t,{key:\"cells2\",type:\"cells\",page:1,prevPages:e,currentRepaint:[null,null],dragHandle:!1,values:t.calcdata.cells.values[t.specIndex],rowBlocks:t.calcdata.rowBlocks}),r]},r.splitToCells=function(t){var e=function(t){var e=t.rowBlocks[t.page],r=e?e.rows[0].rowIndex:0,n=e?r+e.rows.length:0;return[r,n]}(t);return(t.values||[]).slice(e[0],e[1]).map((function(r,n){return{keyWithinBlock:n+(\"string\"==typeof r&&r.match(/[<$&> ]/)?\"_keybuster_\"+Math.random():\"\"),key:e[0]+n,column:t,calcdata:t.calcdata,page:t.page,rowBlocks:t.rowBlocks,value:r}}))}},{\"../../lib/extend\":505}],1081:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"./attributes\"),a=t(\"../../plots/domain\").defaults;e.exports=function(t,e,r,o){function s(r,a){return n.coerce(t,e,i,r,a)}a(e,o,s),s(\"columnwidth\"),s(\"header.values\"),s(\"header.format\"),s(\"header.align\"),s(\"header.prefix\"),s(\"header.suffix\"),s(\"header.height\"),s(\"header.line.width\"),s(\"header.line.color\"),s(\"header.fill.color\"),n.coerceFont(s,\"header.font\",n.extendFlat({},o.font)),function(t,e){for(var r=t.columnorder||[],n=t.header.values.length,i=r.slice(0,n),a=i.slice().sort((function(t,e){return t-e})),o=i.map((function(t){return a.indexOf(t)})),s=o.length;s/i),l=!o||s;t.mayHaveMarkup=o&&i.match(/[<&>]/);var c,u=\"string\"==typeof(c=i)&&c.match(n.latexCheck);t.latex=u;var f,h,p=u?\"\":T(t.calcdata.cells.prefix,e,r)||\"\",d=u?\"\":T(t.calcdata.cells.suffix,e,r)||\"\",m=u?null:T(t.calcdata.cells.format,e,r)||null,g=p+(m?a(m)(t.value):t.value)+d;if(t.wrappingNeeded=!t.wrapped&&!l&&!u&&(f=w(g)),t.cellHeightMayIncrease=s||u||t.mayHaveMarkup||(void 0===f?w(g):f),t.needsConvertToTspans=t.mayHaveMarkup||t.wrappingNeeded||t.latex,t.wrappingNeeded){var v=(\" \"===n.wrapSplitCharacter?g.replace(/i&&n.push(a),i+=l}return n}(i,l,s);1===c.length&&(c[0]===i.length-1?c.unshift(c[0]-1):c.push(c[0]+1)),c[0]%2&&c.reverse(),e.each((function(t,e){t.page=c[e],t.scrollY=l})),e.attr(\"transform\",(function(t){var e=D(t.rowBlocks,t.page)-t.scrollY;return u(0,e)})),t&&(C(t,r,e,c,n.prevPages,n,0),C(t,r,e,c,n.prevPages,n,1),x(r,t))}}function L(t,e,r,a){return function(o){var s=o.calcdata?o.calcdata:o,l=e.filter((function(t){return s.key===t.key})),c=r||s.scrollbarState.dragMultiplier,u=s.scrollY;s.scrollY=void 0===a?s.scrollY+c*i.event.dy:a;var f=l.selectAll(\".\"+n.cn.yColumn).selectAll(\".\"+n.cn.columnBlock).filter(A);return E(t,f,l),s.scrollY===u}}function C(t,e,r,n,i,a,o){n[o]!==i[o]&&(clearTimeout(a.currentRepaint[o]),a.currentRepaint[o]=setTimeout((function(){var a=r.filter((function(t,e){return e===o&&n[e]!==i[e]}));b(t,e,a,r),i[o]=n[o]})))}function P(t,e,r,a){return function(){var o=i.select(e.parentNode);o.each((function(t){var e=t.fragments;o.selectAll(\"tspan.line\").each((function(t,r){e[r].width=this.getComputedTextLength()}));var r,i,a=e[e.length-1].width,s=e.slice(0,-1),l=[],c=0,u=t.column.columnWidth-2*n.cellPad;for(t.value=\"\";s.length;)c+(i=(r=s.shift()).width+a)>u&&(t.value+=l.join(n.wrapSpacer)+n.lineBreaker,l=[],c=0),l.push(r.text),c+=i;c&&(t.value+=l.join(n.wrapSpacer)),t.wrapped=!0})),o.selectAll(\"tspan.line\").remove(),_(o.select(\".\"+n.cn.cellText),r,t,a),i.select(e.parentNode.parentNode).call(z)}}function I(t,e,r,a,o){return function(){if(!o.settledY){var s=i.select(e.parentNode),l=B(o),c=o.key-l.firstRowIndex,f=l.rows[c].rowHeight,h=o.cellHeightMayIncrease?e.parentNode.getBoundingClientRect().height+2*n.cellPad:f,p=Math.max(h,f);p-l.rows[c].rowHeight&&(l.rows[c].rowHeight=p,t.selectAll(\".\"+n.cn.columnCell).call(z),E(null,t.filter(A),0),x(r,a,!0)),s.attr(\"transform\",(function(){var t=this.parentNode.getBoundingClientRect(),e=i.select(this.parentNode).select(\".\"+n.cn.cellRect).node().getBoundingClientRect(),r=this.transform.baseVal.consolidate(),a=e.top-t.top+(r?r.matrix.f:n.cellPad);return u(O(o,i.select(this.parentNode).select(\".\"+n.cn.cellTextHolder).node().getBoundingClientRect().width),a)})),o.settledY=!0}}}function O(t,e){switch(t.align){case\"left\":return n.cellPad;case\"right\":return t.column.columnWidth-(e||0)-n.cellPad;case\"center\":return(t.column.columnWidth-(e||0))/2;default:return n.cellPad}}function z(t){t.attr(\"transform\",(function(t){var e=t.rowBlocks[0].auxiliaryBlocks.reduce((function(t,e){return t+R(e,1/0)}),0),r=R(B(t),t.key);return u(0,r+e)})).selectAll(\".\"+n.cn.cellRect).attr(\"height\",(function(t){return(e=B(t),r=t.key,e.rows[r-e.firstRowIndex]).rowHeight;var e,r}))}function D(t,e){for(var r=0,n=e-1;n>=0;n--)r+=F(t[n]);return r}function R(t,e){for(var r=0,n=0;n\",\"<\",\"|\",\"/\",\"\\\\\"],dflt:\">\",editType:\"plot\"},thickness:{valType:\"number\",min:12,editType:\"plot\"},textfont:u({},s.textfont,{}),editType:\"calc\"},text:s.text,textinfo:l.textinfo,texttemplate:i({editType:\"plot\"},{keys:c.eventDataKeys.concat([\"label\",\"value\"])}),hovertext:s.hovertext,hoverinfo:l.hoverinfo,hovertemplate:n({},{keys:c.eventDataKeys}),textfont:s.textfont,insidetextfont:s.insidetextfont,outsidetextfont:u({},s.outsidetextfont,{}),textposition:{valType:\"enumerated\",values:[\"top left\",\"top center\",\"top right\",\"middle left\",\"middle center\",\"middle right\",\"bottom left\",\"bottom center\",\"bottom right\"],dflt:\"top left\",editType:\"plot\"},sort:s.sort,root:l.root,domain:o({name:\"treemap\",trace:!0,editType:\"calc\"})}},{\"../../components/colorscale/attributes\":374,\"../../lib/extend\":505,\"../../plots/domain\":593,\"../../plots/template_attributes\":642,\"../pie/attributes\":910,\"../sunburst/attributes\":1058,\"./constants\":1087}],1085:[function(t,e,r){\"use strict\";var n=t(\"../../plots/plots\");r.name=\"treemap\",r.plot=function(t,e,i,a){n.plotBasePlot(r.name,t,e,i,a)},r.clean=function(t,e,i,a){n.cleanBasePlot(r.name,t,e,i,a)}},{\"../../plots/plots\":628}],1086:[function(t,e,r){\"use strict\";var n=t(\"../sunburst/calc\");r.calc=function(t,e){return n.calc(t,e)},r.crossTraceCalc=function(t){return n._runCrossTraceCalc(\"treemap\",t)}},{\"../sunburst/calc\":1060}],1087:[function(t,e,r){\"use strict\";e.exports={CLICK_TRANSITION_TIME:750,CLICK_TRANSITION_EASING:\"poly\",eventDataKeys:[\"currentPath\",\"root\",\"entry\",\"percentRoot\",\"percentEntry\",\"percentParent\"],gapWithPathbar:1}},{}],1088:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"./attributes\"),a=t(\"../../components/color\"),o=t(\"../../plots/domain\").defaults,s=t(\"../bar/defaults\").handleText,l=t(\"../bar/constants\").TEXTPAD,c=t(\"../../components/colorscale\"),u=c.hasColorscale,f=c.handleDefaults;e.exports=function(t,e,r,c){function h(r,a){return n.coerce(t,e,i,r,a)}var p=h(\"labels\"),d=h(\"parents\");if(p&&p.length&&d&&d.length){var m=h(\"values\");m&&m.length?h(\"branchvalues\"):h(\"count\"),h(\"level\"),h(\"maxdepth\"),\"squarify\"===h(\"tiling.packing\")&&h(\"tiling.squarifyratio\"),h(\"tiling.flip\"),h(\"tiling.pad\");var g=h(\"text\");h(\"texttemplate\"),e.texttemplate||h(\"textinfo\",Array.isArray(g)?\"text+label\":\"label\"),h(\"hovertext\"),h(\"hovertemplate\");var v=h(\"pathbar.visible\");s(t,e,c,h,\"auto\",{hasPathbar:v,moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1}),h(\"textposition\");var y=-1!==e.textposition.indexOf(\"bottom\");h(\"marker.line.width\")&&h(\"marker.line.color\",c.paper_bgcolor);var x=h(\"marker.colors\");(e._hasColorscale=u(t,\"marker\",\"colors\")||(t.marker||{}).coloraxis)?f(t,e,c,h,{prefix:\"marker.\",cLetter:\"c\"}):h(\"marker.depthfade\",!(x||[]).length);var b=2*e.textfont.size;h(\"marker.pad.t\",y?b/4:b),h(\"marker.pad.l\",b/4),h(\"marker.pad.r\",b/4),h(\"marker.pad.b\",y?b:b/4),e._hovered={marker:{line:{width:2,color:a.contrast(c.paper_bgcolor)}}},v&&(h(\"pathbar.thickness\",e.pathbar.textfont.size+2*l),h(\"pathbar.side\"),h(\"pathbar.edgeshape\")),h(\"sort\"),h(\"root.color\"),o(e,c,h),e._length=null}else e.visible=!1}},{\"../../components/color\":367,\"../../components/colorscale\":379,\"../../lib\":515,\"../../plots/domain\":593,\"../bar/constants\":659,\"../bar/defaults\":661,\"./attributes\":1084}],1089:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\"),i=t(\"../sunburst/helpers\"),a=t(\"../bar/uniform_text\").clearMinTextSize,o=t(\"../bar/style\").resizeText,s=t(\"./plot_one\");e.exports=function(t,e,r,l,c){var u,f,h=c.type,p=c.drawDescendants,d=t._fullLayout,m=d[\"_\"+h+\"layer\"],g=!r;(a(h,d),(u=m.selectAll(\"g.trace.\"+h).data(e,(function(t){return t[0].trace.uid}))).enter().append(\"g\").classed(\"trace\",!0).classed(h,!0),u.order(),!d.uniformtext.mode&&i.hasTransition(r))?(l&&(f=l()),n.transition().duration(r.duration).ease(r.easing).each(\"end\",(function(){f&&f()})).each(\"interrupt\",(function(){f&&f()})).each((function(){m.selectAll(\"g.trace\").each((function(e){s(t,e,this,r,p)}))}))):(u.each((function(e){s(t,e,this,r,p)})),d.uniformtext.mode&&o(t,m.selectAll(\".trace\"),h));g&&u.exit().remove()}},{\"../bar/style\":671,\"../bar/uniform_text\":673,\"../sunburst/helpers\":1064,\"./plot_one\":1098,\"@plotly/d3\":58}],1090:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\"),i=t(\"../../lib\"),a=t(\"../../components/drawing\"),o=t(\"../../lib/svg_text_utils\"),s=t(\"./partition\"),l=t(\"./style\").styleOne,c=t(\"./constants\"),u=t(\"../sunburst/helpers\"),f=t(\"../sunburst/fx\");e.exports=function(t,e,r,h,p){var d=p.barDifY,m=p.width,g=p.height,v=p.viewX,y=p.viewY,x=p.pathSlice,b=p.toMoveInsideSlice,_=p.strTransform,w=p.hasTransition,T=p.handleSlicesExit,k=p.makeUpdateSliceInterpolator,A=p.makeUpdateTextInterpolator,M={},S=t._context.staticPlot,E=t._fullLayout,L=e[0],C=L.trace,P=L.hierarchy,I=m/C._entryDepth,O=u.listPath(r.data,\"id\"),z=s(P.copy(),[m,g],{packing:\"dice\",pad:{inner:0,top:0,left:0,right:0,bottom:0}}).descendants();(z=z.filter((function(t){var e=O.indexOf(t.data.id);return-1!==e&&(t.x0=I*e,t.x1=I*(e+1),t.y0=d,t.y1=d+g,t.onPathbar=!0,!0)}))).reverse(),(h=h.data(z,u.getPtId)).enter().append(\"g\").classed(\"pathbar\",!0),T(h,!0,M,[m,g],x),h.order();var D=h;w&&(D=D.transition().each(\"end\",(function(){var e=n.select(this);u.setSliceCursor(e,t,{hideOnRoot:!1,hideOnLeaves:!1,isTransitioning:!1})}))),D.each((function(s){s._x0=v(s.x0),s._x1=v(s.x1),s._y0=y(s.y0),s._y1=y(s.y1),s._hoverX=v(s.x1-Math.min(m,g)/2),s._hoverY=y(s.y1-g/2);var h=n.select(this),p=i.ensureSingle(h,\"path\",\"surface\",(function(t){t.style(\"pointer-events\",S?\"none\":\"all\")}));w?p.transition().attrTween(\"d\",(function(t){var e=k(t,!0,M,[m,g]);return function(t){return x(e(t))}})):p.attr(\"d\",x),h.call(f,r,t,e,{styleOne:l,eventDataKeys:c.eventDataKeys,transitionTime:c.CLICK_TRANSITION_TIME,transitionEasing:c.CLICK_TRANSITION_EASING}).call(u.setSliceCursor,t,{hideOnRoot:!1,hideOnLeaves:!1,isTransitioning:t._transitioning}),p.call(l,s,C,{hovered:!1}),s._text=(u.getPtLabel(s)||\"\").split(\"
\").join(\" \")||\"\";var d=i.ensureSingle(h,\"g\",\"slicetext\"),T=i.ensureSingle(d,\"text\",\"\",(function(t){t.attr(\"data-notex\",1)})),L=i.ensureUniformFontSize(t,u.determineTextFont(C,s,E.font,{onPathbar:!0}));T.text(s._text||\" \").classed(\"slicetext\",!0).attr(\"text-anchor\",\"start\").call(a.font,L).call(o.convertToTspans,t),s.textBB=a.bBox(T.node()),s.transform=b(s,{fontSize:L.size,onPathbar:!0}),s.transform.fontSize=L.size,w?T.transition().attrTween(\"transform\",(function(t){var e=A(t,!0,M,[m,g]);return function(t){return _(e(t))}})):T.attr(\"transform\",_(s))}))}},{\"../../components/drawing\":389,\"../../lib\":515,\"../../lib/svg_text_utils\":541,\"../sunburst/fx\":1063,\"../sunburst/helpers\":1064,\"./constants\":1087,\"./partition\":1096,\"./style\":1099,\"@plotly/d3\":58}],1091:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\"),i=t(\"../../lib\"),a=t(\"../../components/drawing\"),o=t(\"../../lib/svg_text_utils\"),s=t(\"./partition\"),l=t(\"./style\").styleOne,c=t(\"./constants\"),u=t(\"../sunburst/helpers\"),f=t(\"../sunburst/fx\"),h=t(\"../sunburst/plot\").formatSliceLabel;e.exports=function(t,e,r,p,d){var m=d.width,g=d.height,v=d.viewX,y=d.viewY,x=d.pathSlice,b=d.toMoveInsideSlice,_=d.strTransform,w=d.hasTransition,T=d.handleSlicesExit,k=d.makeUpdateSliceInterpolator,A=d.makeUpdateTextInterpolator,M=d.prevEntry,S=t._context.staticPlot,E=t._fullLayout,L=e[0].trace,C=-1!==L.textposition.indexOf(\"left\"),P=-1!==L.textposition.indexOf(\"right\"),I=-1!==L.textposition.indexOf(\"bottom\"),O=!I&&!L.marker.pad.t||I&&!L.marker.pad.b,z=s(r,[m,g],{packing:L.tiling.packing,squarifyratio:L.tiling.squarifyratio,flipX:L.tiling.flip.indexOf(\"x\")>-1,flipY:L.tiling.flip.indexOf(\"y\")>-1,pad:{inner:L.tiling.pad,top:L.marker.pad.t,left:L.marker.pad.l,right:L.marker.pad.r,bottom:L.marker.pad.b}}).descendants(),D=1/0,R=-1/0;z.forEach((function(t){var e=t.depth;e>=L._maxDepth?(t.x0=t.x1=(t.x0+t.x1)/2,t.y0=t.y1=(t.y0+t.y1)/2):(D=Math.min(D,e),R=Math.max(R,e))})),p=p.data(z,u.getPtId),L._maxVisibleLayers=isFinite(R)?R-D+1:0,p.enter().append(\"g\").classed(\"slice\",!0),T(p,!1,{},[m,g],x),p.order();var F=null;if(w&&M){var B=u.getPtId(M);p.each((function(t){null===F&&u.getPtId(t)===B&&(F={x0:t.x0,x1:t.x1,y0:t.y0,y1:t.y1})}))}var N=function(){return F||{x0:0,x1:m,y0:0,y1:g}},j=p;return w&&(j=j.transition().each(\"end\",(function(){var e=n.select(this);u.setSliceCursor(e,t,{hideOnRoot:!0,hideOnLeaves:!1,isTransitioning:!1})}))),j.each((function(s){var p=u.isHeader(s,L);s._x0=v(s.x0),s._x1=v(s.x1),s._y0=y(s.y0),s._y1=y(s.y1),s._hoverX=v(s.x1-L.marker.pad.r),s._hoverY=y(I?s.y1-L.marker.pad.b/2:s.y0+L.marker.pad.t/2);var d=n.select(this),T=i.ensureSingle(d,\"path\",\"surface\",(function(t){t.style(\"pointer-events\",S?\"none\":\"all\")}));w?T.transition().attrTween(\"d\",(function(t){var e=k(t,!1,N(),[m,g]);return function(t){return x(e(t))}})):T.attr(\"d\",x),d.call(f,r,t,e,{styleOne:l,eventDataKeys:c.eventDataKeys,transitionTime:c.CLICK_TRANSITION_TIME,transitionEasing:c.CLICK_TRANSITION_EASING}).call(u.setSliceCursor,t,{isTransitioning:t._transitioning}),T.call(l,s,L,{hovered:!1}),s.x0===s.x1||s.y0===s.y1?s._text=\"\":s._text=p?O?\"\":u.getPtLabel(s)||\"\":h(s,r,L,e,E)||\"\";var M=i.ensureSingle(d,\"g\",\"slicetext\"),z=i.ensureSingle(M,\"text\",\"\",(function(t){t.attr(\"data-notex\",1)})),D=i.ensureUniformFontSize(t,u.determineTextFont(L,s,E.font));z.text(s._text||\" \").classed(\"slicetext\",!0).attr(\"text-anchor\",P?\"end\":C||p?\"start\":\"middle\").call(a.font,D).call(o.convertToTspans,t),s.textBB=a.bBox(z.node()),s.transform=b(s,{fontSize:D.size,isHeader:p}),s.transform.fontSize=D.size,w?z.transition().attrTween(\"transform\",(function(t){var e=A(t,!1,N(),[m,g]);return function(t){return _(e(t))}})):z.attr(\"transform\",_(s))})),F}},{\"../../components/drawing\":389,\"../../lib\":515,\"../../lib/svg_text_utils\":541,\"../sunburst/fx\":1063,\"../sunburst/helpers\":1064,\"../sunburst/plot\":1068,\"./constants\":1087,\"./partition\":1096,\"./style\":1099,\"@plotly/d3\":58}],1092:[function(t,e,r){\"use strict\";e.exports=function t(e,r,n){var i;n.swapXY&&(i=e.x0,e.x0=e.y0,e.y0=i,i=e.x1,e.x1=e.y1,e.y1=i),n.flipX&&(i=e.x0,e.x0=r[0]-e.x1,e.x1=r[0]-i),n.flipY&&(i=e.y0,e.y0=r[1]-e.y1,e.y1=r[1]-i);var a=e.children;if(a)for(var o=0;o-1?C+O:-(I+O):0,D={x0:P,x1:P,y0:z,y1:z+I},R=function(t,e,r){var n=v.tiling.pad,i=function(t){return t-n<=e.x0},a=function(t){return t+n>=e.x1},o=function(t){return t-n<=e.y0},s=function(t){return t+n>=e.y1};return t.x0===e.x0&&t.x1===e.x1&&t.y0===e.y0&&t.y1===e.y1?{x0:t.x0,x1:t.x1,y0:t.y0,y1:t.y1}:{x0:i(t.x0-n)?0:a(t.x0-n)?r[0]:t.x0,x1:i(t.x1+n)?0:a(t.x1+n)?r[0]:t.x1,y0:o(t.y0-n)?0:s(t.y0-n)?r[1]:t.y0,y1:o(t.y1+n)?0:s(t.y1+n)?r[1]:t.y1}},F=null,B={},N={},j=null,U=function(t,e){return e?B[h(t)]:N[h(t)]},V=function(t,e,r,n){if(e)return B[h(x)]||D;var i=N[v.level]||r;return function(t){return t.data.depth-b.data.depth=(n-=(y?g:g.r)-s)){var x=(r+n)/2;r=x,n=x}var b;f?i<(b=a-(y?g:g.b))&&b\"===tt?(l.x-=a,c.x-=a,u.x-=a,f.x-=a):\"/\"===tt?(u.x-=a,f.x-=a,o.x-=a/2,s.x-=a/2):\"\\\\\"===tt?(l.x-=a,c.x-=a,o.x-=a/2,s.x-=a/2):\"<\"===tt&&(o.x-=a,s.x-=a),$(l),$(f),$(o),$(c),$(u),$(s),\"M\"+K(l.x,l.y)+\"L\"+K(c.x,c.y)+\"L\"+K(s.x,s.y)+\"L\"+K(u.x,u.y)+\"L\"+K(f.x,f.y)+\"L\"+K(o.x,o.y)+\"Z\"},toMoveInsideSlice:et,makeUpdateSliceInterpolator:nt,makeUpdateTextInterpolator:it,handleSlicesExit:at,hasTransition:A,strTransform:ot}):w.remove()}},{\"../../lib\":515,\"../bar/constants\":659,\"../bar/plot\":668,\"../bar/uniform_text\":673,\"../sunburst/helpers\":1064,\"./constants\":1087,\"./draw_ancestors\":1090,\"@plotly/d3\":58,\"d3-interpolate\":116}],1099:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\"),i=t(\"../../components/color\"),a=t(\"../../lib\"),o=t(\"../sunburst/helpers\"),s=t(\"../bar/uniform_text\").resizeText;function l(t,e,r,n){var s,l,c=(n||{}).hovered,u=e.data.data,f=u.i,h=u.color,p=o.isHierarchyRoot(e),d=1;if(c)s=r._hovered.marker.line.color,l=r._hovered.marker.line.width;else if(p&&h===r.root.color)d=100,s=\"rgba(0,0,0,0)\",l=0;else if(s=a.castOption(r,f,\"marker.line.color\")||i.defaultLine,l=a.castOption(r,f,\"marker.line.width\")||0,!r._hasColorscale&&!e.onPathbar){var m=r.marker.depthfade;if(m){var g,v=i.combine(i.addOpacity(r._backgroundColor,.75),h);if(!0===m){var y=o.getMaxDepth(r);g=isFinite(y)?o.isLeaf(e)?0:r._maxVisibleLayers-(e.data.depth-r._entryDepth):e.data.height+1}else g=e.data.depth-r._entryDepth,r._atRootLevel||g++;if(g>0)for(var x=0;x0){var b,_,w,T,k,A=t.xa,M=t.ya;\"h\"===d.orientation?(k=e,b=\"y\",w=M,_=\"x\",T=A):(k=r,b=\"x\",w=A,_=\"y\",T=M);var S=p[t.index];if(k>=S.span[0]&&k<=S.span[1]){var E=i.extendFlat({},t),L=T.c2p(k,!0),C=s.getKdeValue(S,d,k),P=s.getPositionOnKdePath(S,d,L),I=w._offset,O=w._length;E[b+\"0\"]=P[0],E[b+\"1\"]=P[1],E[_+\"0\"]=E[_+\"1\"]=L,E[_+\"Label\"]=_+\": \"+a.hoverLabelText(T,k,d[_+\"hoverformat\"])+\", \"+p[0].t.labels.kde+\" \"+C.toFixed(3);for(var z=0,D=0;D\")),u.color=function(t,e){var r=t[e.dir].marker,n=r.color,a=r.line.color,o=r.line.width;if(i(n))return n;if(i(a)&&o)return a}(h,g),[u]}function k(t){return n(m,t,h[d+\"hoverformat\"])}}},{\"../../components/color\":367,\"../../constants/delta.js\":485,\"../../plots/cartesian/axes\":566,\"../bar/hover\":664}],1122:[function(t,e,r){\"use strict\";e.exports={attributes:t(\"./attributes\"),layoutAttributes:t(\"./layout_attributes\"),supplyDefaults:t(\"./defaults\").supplyDefaults,crossTraceDefaults:t(\"./defaults\").crossTraceDefaults,supplyLayoutDefaults:t(\"./layout_defaults\"),calc:t(\"./calc\"),crossTraceCalc:t(\"./cross_trace_calc\"),plot:t(\"./plot\"),style:t(\"./style\").style,hoverPoints:t(\"./hover\"),eventData:t(\"./event_data\"),selectPoints:t(\"../bar/select\"),moduleType:\"trace\",name:\"waterfall\",basePlotModule:t(\"../../plots/cartesian\"),categories:[\"bar-like\",\"cartesian\",\"svg\",\"oriented\",\"showLegend\",\"zoomScale\"],meta:{}}},{\"../../plots/cartesian\":578,\"../bar/select\":669,\"./attributes\":1115,\"./calc\":1116,\"./cross_trace_calc\":1118,\"./defaults\":1119,\"./event_data\":1120,\"./hover\":1121,\"./layout_attributes\":1123,\"./layout_defaults\":1124,\"./plot\":1125,\"./style\":1126}],1123:[function(t,e,r){\"use strict\";e.exports={waterfallmode:{valType:\"enumerated\",values:[\"group\",\"overlay\"],dflt:\"group\",editType:\"calc\"},waterfallgap:{valType:\"number\",min:0,max:1,editType:\"calc\"},waterfallgroupgap:{valType:\"number\",min:0,max:1,dflt:0,editType:\"calc\"}}},{}],1124:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"./layout_attributes\");e.exports=function(t,e,r){var a=!1;function o(r,a){return n.coerce(t,e,i,r,a)}for(var s=0;s0&&(g+=h?\"M\"+f[0]+\",\"+d[1]+\"V\"+d[0]:\"M\"+f[1]+\",\"+d[0]+\"H\"+f[0]),\"between\"!==p&&(r.isSum||s path\").each((function(t){if(!t.isBlank){var e=s[t.dir].marker;n.select(this).call(a.fill,e.color).call(a.stroke,e.line.color).call(i.dashLine,e.line.dash,e.line.width).style(\"opacity\",s.selectedpoints&&!t.selected?o:1)}})),c(r,s,t),r.selectAll(\".lines\").each((function(){var t=s.connector.line;i.lineGroupStyle(n.select(this).selectAll(\"path\"),t.width,t.color,t.dash)}))}))}}},{\"../../components/color\":367,\"../../components/drawing\":389,\"../../constants/interactions\":490,\"../bar/style\":671,\"../bar/uniform_text\":673,\"@plotly/d3\":58}],1127:[function(t,e,r){\"use strict\";var n=t(\"../plots/cartesian/axes\"),i=t(\"../lib\"),a=t(\"../plot_api/plot_schema\"),o=t(\"./helpers\").pointsAccessorFunction,s=t(\"../constants/numerical\").BADNUM;r.moduleType=\"transform\",r.name=\"aggregate\";var l=r.attributes={enabled:{valType:\"boolean\",dflt:!0,editType:\"calc\"},groups:{valType:\"string\",strict:!0,noBlank:!0,arrayOk:!0,dflt:\"x\",editType:\"calc\"},aggregations:{_isLinkedToArray:\"aggregation\",target:{valType:\"string\",editType:\"calc\"},func:{valType:\"enumerated\",values:[\"count\",\"sum\",\"avg\",\"median\",\"mode\",\"rms\",\"stddev\",\"min\",\"max\",\"first\",\"last\",\"change\",\"range\"],dflt:\"first\",editType:\"calc\"},funcmode:{valType:\"enumerated\",values:[\"sample\",\"population\"],dflt:\"sample\",editType:\"calc\"},enabled:{valType:\"boolean\",dflt:!0,editType:\"calc\"},editType:\"calc\"},editType:\"calc\"},c=l.aggregations;function u(t,e,r,a){if(a.enabled){for(var o=a.target,l=i.nestedProperty(e,o),c=l.get(),u=function(t,e){var r=t.func,n=e.d2c,a=e.c2d;switch(r){case\"count\":return f;case\"first\":return h;case\"last\":return p;case\"sum\":return function(t,e){for(var r=0,i=0;ii&&(i=u,o=c)}}return i?a(o):s};case\"rms\":return function(t,e){for(var r=0,i=0,o=0;o\":return function(t){return h(t)>s};case\">=\":return function(t){return h(t)>=s};case\"[]\":return function(t){var e=h(t);return e>=s[0]&&e<=s[1]};case\"()\":return function(t){var e=h(t);return e>s[0]&&e=s[0]&&es[0]&&e<=s[1]};case\"][\":return function(t){var e=h(t);return e<=s[0]||e>=s[1]};case\")(\":return function(t){var e=h(t);return es[1]};case\"](\":return function(t){var e=h(t);return e<=s[0]||e>s[1]};case\")[\":return function(t){var e=h(t);return e=s[1]};case\"{}\":return function(t){return-1!==s.indexOf(h(t))};case\"}{\":return function(t){return-1===s.indexOf(h(t))}}}(r,a.getDataToCoordFunc(t,e,s,i),h),x={},b={},_=0;d?(g=function(t){x[t.astr]=n.extendDeep([],t.get()),t.set(new Array(f))},v=function(t,e){var r=x[t.astr][e];t.get()[e]=r}):(g=function(t){x[t.astr]=n.extendDeep([],t.get()),t.set([])},v=function(t,e){var r=x[t.astr][e];t.get().push(r)}),k(g);for(var w=o(e.transforms,r),T=0;T1?\"%{group} (%{trace})\":\"%{group}\");var l=t.styles,c=o.styles=[];if(l)for(a=0;a0?o-4:o;for(r=0;r>16&255,l[u++]=e>>8&255,l[u++]=255&e;2===s&&(e=i[t.charCodeAt(r)]<<2|i[t.charCodeAt(r+1)]>>4,l[u++]=255&e);1===s&&(e=i[t.charCodeAt(r)]<<10|i[t.charCodeAt(r+1)]<<4|i[t.charCodeAt(r+2)]>>2,l[u++]=e>>8&255,l[u++]=255&e);return l},r.fromByteArray=function(t){for(var e,r=t.length,i=r%3,a=[],o=0,s=r-i;os?s:o+16383));1===i?(e=t[r-1],a.push(n[e>>2]+n[e<<4&63]+\"==\")):2===i&&(e=(t[r-2]<<8)+t[r-1],a.push(n[e>>10]+n[e>>4&63]+n[e<<2&63]+\"=\"));return a.join(\"\")};for(var n=[],i=[],a=\"undefined\"!=typeof Uint8Array?Uint8Array:Array,o=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\",s=0,l=o.length;s0)throw new Error(\"Invalid string. Length must be a multiple of 4\");var r=t.indexOf(\"=\");return-1===r&&(r=e),[r,r===e?0:4-r%4]}function u(t,e,r){for(var i,a,o=[],s=e;s>18&63]+n[a>>12&63]+n[a>>6&63]+n[63&a]);return o.join(\"\")}i[\"-\".charCodeAt(0)]=62,i[\"_\".charCodeAt(0)]=63},{}],2:[function(t,e,r){},{}],3:[function(t,e,r){(function(e){(function(){\n", + "/*!\n", + " * The buffer module from node.js, for the browser.\n", + " *\n", + " * @author Feross Aboukhadijeh \n", + " * @license MIT\n", + " */\n", + "\"use strict\";var e=t(\"base64-js\"),n=t(\"ieee754\");r.Buffer=a,r.SlowBuffer=function(t){+t!=t&&(t=0);return a.alloc(+t)},r.INSPECT_MAX_BYTES=50;function i(t){if(t>2147483647)throw new RangeError('The value \"'+t+'\" is invalid for option \"size\"');var e=new Uint8Array(t);return e.__proto__=a.prototype,e}function a(t,e,r){if(\"number\"==typeof t){if(\"string\"==typeof e)throw new TypeError('The \"string\" argument must be of type string. Received type number');return l(t)}return o(t,e,r)}function o(t,e,r){if(\"string\"==typeof t)return function(t,e){\"string\"==typeof e&&\"\"!==e||(e=\"utf8\");if(!a.isEncoding(e))throw new TypeError(\"Unknown encoding: \"+e);var r=0|f(t,e),n=i(r),o=n.write(t,e);o!==r&&(n=n.slice(0,o));return n}(t,e);if(ArrayBuffer.isView(t))return c(t);if(null==t)throw TypeError(\"The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type \"+typeof t);if(B(t,ArrayBuffer)||t&&B(t.buffer,ArrayBuffer))return function(t,e,r){if(e<0||t.byteLength=2147483647)throw new RangeError(\"Attempt to allocate Buffer larger than maximum size: 0x\"+2147483647..toString(16)+\" bytes\");return 0|t}function f(t,e){if(a.isBuffer(t))return t.length;if(ArrayBuffer.isView(t)||B(t,ArrayBuffer))return t.byteLength;if(\"string\"!=typeof t)throw new TypeError('The \"string\" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof t);var r=t.length,n=arguments.length>2&&!0===arguments[2];if(!n&&0===r)return 0;for(var i=!1;;)switch(e){case\"ascii\":case\"latin1\":case\"binary\":return r;case\"utf8\":case\"utf-8\":return D(t).length;case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return 2*r;case\"hex\":return r>>>1;case\"base64\":return R(t).length;default:if(i)return n?-1:D(t).length;e=(\"\"+e).toLowerCase(),i=!0}}function h(t,e,r){var n=!1;if((void 0===e||e<0)&&(e=0),e>this.length)return\"\";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return\"\";if((r>>>=0)<=(e>>>=0))return\"\";for(t||(t=\"utf8\");;)switch(t){case\"hex\":return M(this,e,r);case\"utf8\":case\"utf-8\":return T(this,e,r);case\"ascii\":return k(this,e,r);case\"latin1\":case\"binary\":return A(this,e,r);case\"base64\":return w(this,e,r);case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return S(this,e,r);default:if(n)throw new TypeError(\"Unknown encoding: \"+t);t=(t+\"\").toLowerCase(),n=!0}}function p(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function d(t,e,r,n,i){if(0===t.length)return-1;if(\"string\"==typeof r?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),N(r=+r)&&(r=i?0:t.length-1),r<0&&(r=t.length+r),r>=t.length){if(i)return-1;r=t.length-1}else if(r<0){if(!i)return-1;r=0}if(\"string\"==typeof e&&(e=a.from(e,n)),a.isBuffer(e))return 0===e.length?-1:m(t,e,r,n,i);if(\"number\"==typeof e)return e&=255,\"function\"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(t,e,r):Uint8Array.prototype.lastIndexOf.call(t,e,r):m(t,[e],r,n,i);throw new TypeError(\"val must be string, number or Buffer\")}function m(t,e,r,n,i){var a,o=1,s=t.length,l=e.length;if(void 0!==n&&(\"ucs2\"===(n=String(n).toLowerCase())||\"ucs-2\"===n||\"utf16le\"===n||\"utf-16le\"===n)){if(t.length<2||e.length<2)return-1;o=2,s/=2,l/=2,r/=2}function c(t,e){return 1===o?t[e]:t.readUInt16BE(e*o)}if(i){var u=-1;for(a=r;as&&(r=s-l),a=r;a>=0;a--){for(var f=!0,h=0;hi&&(n=i):n=i;var a=e.length;n>a/2&&(n=a/2);for(var o=0;o>8,i=r%256,a.push(i),a.push(n);return a}(e,t.length-r),t,r,n)}function w(t,r,n){return 0===r&&n===t.length?e.fromByteArray(t):e.fromByteArray(t.slice(r,n))}function T(t,e,r){r=Math.min(t.length,r);for(var n=[],i=e;i239?4:c>223?3:c>191?2:1;if(i+f<=r)switch(f){case 1:c<128&&(u=c);break;case 2:128==(192&(a=t[i+1]))&&(l=(31&c)<<6|63&a)>127&&(u=l);break;case 3:a=t[i+1],o=t[i+2],128==(192&a)&&128==(192&o)&&(l=(15&c)<<12|(63&a)<<6|63&o)>2047&&(l<55296||l>57343)&&(u=l);break;case 4:a=t[i+1],o=t[i+2],s=t[i+3],128==(192&a)&&128==(192&o)&&128==(192&s)&&(l=(15&c)<<18|(63&a)<<12|(63&o)<<6|63&s)>65535&&l<1114112&&(u=l)}null===u?(u=65533,f=1):u>65535&&(u-=65536,n.push(u>>>10&1023|55296),u=56320|1023&u),n.push(u),i+=f}return function(t){var e=t.length;if(e<=4096)return String.fromCharCode.apply(String,t);var r=\"\",n=0;for(;ne&&(t+=\" ... \"),\"\"},a.prototype.compare=function(t,e,r,n,i){if(B(t,Uint8Array)&&(t=a.from(t,t.offset,t.byteLength)),!a.isBuffer(t))throw new TypeError('The \"target\" argument must be one of type Buffer or Uint8Array. Received type '+typeof t);if(void 0===e&&(e=0),void 0===r&&(r=t?t.length:0),void 0===n&&(n=0),void 0===i&&(i=this.length),e<0||r>t.length||n<0||i>this.length)throw new RangeError(\"out of range index\");if(n>=i&&e>=r)return 0;if(n>=i)return-1;if(e>=r)return 1;if(this===t)return 0;for(var o=(i>>>=0)-(n>>>=0),s=(r>>>=0)-(e>>>=0),l=Math.min(o,s),c=this.slice(n,i),u=t.slice(e,r),f=0;f>>=0,isFinite(r)?(r>>>=0,void 0===n&&(n=\"utf8\")):(n=r,r=void 0)}var i=this.length-e;if((void 0===r||r>i)&&(r=i),t.length>0&&(r<0||e<0)||e>this.length)throw new RangeError(\"Attempt to write outside buffer bounds\");n||(n=\"utf8\");for(var a=!1;;)switch(n){case\"hex\":return g(this,t,e,r);case\"utf8\":case\"utf-8\":return v(this,t,e,r);case\"ascii\":return y(this,t,e,r);case\"latin1\":case\"binary\":return x(this,t,e,r);case\"base64\":return b(this,t,e,r);case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return _(this,t,e,r);default:if(a)throw new TypeError(\"Unknown encoding: \"+n);n=(\"\"+n).toLowerCase(),a=!0}},a.prototype.toJSON=function(){return{type:\"Buffer\",data:Array.prototype.slice.call(this._arr||this,0)}};function k(t,e,r){var n=\"\";r=Math.min(t.length,r);for(var i=e;in)&&(r=n);for(var i=\"\",a=e;ar)throw new RangeError(\"Trying to access beyond buffer length\")}function L(t,e,r,n,i,o){if(!a.isBuffer(t))throw new TypeError('\"buffer\" argument must be a Buffer instance');if(e>i||et.length)throw new RangeError(\"Index out of range\")}function C(t,e,r,n,i,a){if(r+n>t.length)throw new RangeError(\"Index out of range\");if(r<0)throw new RangeError(\"Index out of range\")}function P(t,e,r,i,a){return e=+e,r>>>=0,a||C(t,0,r,4),n.write(t,e,r,i,23,4),r+4}function I(t,e,r,i,a){return e=+e,r>>>=0,a||C(t,0,r,8),n.write(t,e,r,i,52,8),r+8}a.prototype.slice=function(t,e){var r=this.length;(t=~~t)<0?(t+=r)<0&&(t=0):t>r&&(t=r),(e=void 0===e?r:~~e)<0?(e+=r)<0&&(e=0):e>r&&(e=r),e>>=0,e>>>=0,r||E(t,e,this.length);for(var n=this[t],i=1,a=0;++a>>=0,e>>>=0,r||E(t,e,this.length);for(var n=this[t+--e],i=1;e>0&&(i*=256);)n+=this[t+--e]*i;return n},a.prototype.readUInt8=function(t,e){return t>>>=0,e||E(t,1,this.length),this[t]},a.prototype.readUInt16LE=function(t,e){return t>>>=0,e||E(t,2,this.length),this[t]|this[t+1]<<8},a.prototype.readUInt16BE=function(t,e){return t>>>=0,e||E(t,2,this.length),this[t]<<8|this[t+1]},a.prototype.readUInt32LE=function(t,e){return t>>>=0,e||E(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},a.prototype.readUInt32BE=function(t,e){return t>>>=0,e||E(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},a.prototype.readIntLE=function(t,e,r){t>>>=0,e>>>=0,r||E(t,e,this.length);for(var n=this[t],i=1,a=0;++a=(i*=128)&&(n-=Math.pow(2,8*e)),n},a.prototype.readIntBE=function(t,e,r){t>>>=0,e>>>=0,r||E(t,e,this.length);for(var n=e,i=1,a=this[t+--n];n>0&&(i*=256);)a+=this[t+--n]*i;return a>=(i*=128)&&(a-=Math.pow(2,8*e)),a},a.prototype.readInt8=function(t,e){return t>>>=0,e||E(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},a.prototype.readInt16LE=function(t,e){t>>>=0,e||E(t,2,this.length);var r=this[t]|this[t+1]<<8;return 32768&r?4294901760|r:r},a.prototype.readInt16BE=function(t,e){t>>>=0,e||E(t,2,this.length);var r=this[t+1]|this[t]<<8;return 32768&r?4294901760|r:r},a.prototype.readInt32LE=function(t,e){return t>>>=0,e||E(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},a.prototype.readInt32BE=function(t,e){return t>>>=0,e||E(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},a.prototype.readFloatLE=function(t,e){return t>>>=0,e||E(t,4,this.length),n.read(this,t,!0,23,4)},a.prototype.readFloatBE=function(t,e){return t>>>=0,e||E(t,4,this.length),n.read(this,t,!1,23,4)},a.prototype.readDoubleLE=function(t,e){return t>>>=0,e||E(t,8,this.length),n.read(this,t,!0,52,8)},a.prototype.readDoubleBE=function(t,e){return t>>>=0,e||E(t,8,this.length),n.read(this,t,!1,52,8)},a.prototype.writeUIntLE=function(t,e,r,n){(t=+t,e>>>=0,r>>>=0,n)||L(this,t,e,r,Math.pow(2,8*r)-1,0);var i=1,a=0;for(this[e]=255&t;++a>>=0,r>>>=0,n)||L(this,t,e,r,Math.pow(2,8*r)-1,0);var i=r-1,a=1;for(this[e+i]=255&t;--i>=0&&(a*=256);)this[e+i]=t/a&255;return e+r},a.prototype.writeUInt8=function(t,e,r){return t=+t,e>>>=0,r||L(this,t,e,1,255,0),this[e]=255&t,e+1},a.prototype.writeUInt16LE=function(t,e,r){return t=+t,e>>>=0,r||L(this,t,e,2,65535,0),this[e]=255&t,this[e+1]=t>>>8,e+2},a.prototype.writeUInt16BE=function(t,e,r){return t=+t,e>>>=0,r||L(this,t,e,2,65535,0),this[e]=t>>>8,this[e+1]=255&t,e+2},a.prototype.writeUInt32LE=function(t,e,r){return t=+t,e>>>=0,r||L(this,t,e,4,4294967295,0),this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=255&t,e+4},a.prototype.writeUInt32BE=function(t,e,r){return t=+t,e>>>=0,r||L(this,t,e,4,4294967295,0),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},a.prototype.writeIntLE=function(t,e,r,n){if(t=+t,e>>>=0,!n){var i=Math.pow(2,8*r-1);L(this,t,e,r,i-1,-i)}var a=0,o=1,s=0;for(this[e]=255&t;++a>0)-s&255;return e+r},a.prototype.writeIntBE=function(t,e,r,n){if(t=+t,e>>>=0,!n){var i=Math.pow(2,8*r-1);L(this,t,e,r,i-1,-i)}var a=r-1,o=1,s=0;for(this[e+a]=255&t;--a>=0&&(o*=256);)t<0&&0===s&&0!==this[e+a+1]&&(s=1),this[e+a]=(t/o>>0)-s&255;return e+r},a.prototype.writeInt8=function(t,e,r){return t=+t,e>>>=0,r||L(this,t,e,1,127,-128),t<0&&(t=255+t+1),this[e]=255&t,e+1},a.prototype.writeInt16LE=function(t,e,r){return t=+t,e>>>=0,r||L(this,t,e,2,32767,-32768),this[e]=255&t,this[e+1]=t>>>8,e+2},a.prototype.writeInt16BE=function(t,e,r){return t=+t,e>>>=0,r||L(this,t,e,2,32767,-32768),this[e]=t>>>8,this[e+1]=255&t,e+2},a.prototype.writeInt32LE=function(t,e,r){return t=+t,e>>>=0,r||L(this,t,e,4,2147483647,-2147483648),this[e]=255&t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24,e+4},a.prototype.writeInt32BE=function(t,e,r){return t=+t,e>>>=0,r||L(this,t,e,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},a.prototype.writeFloatLE=function(t,e,r){return P(this,t,e,!0,r)},a.prototype.writeFloatBE=function(t,e,r){return P(this,t,e,!1,r)},a.prototype.writeDoubleLE=function(t,e,r){return I(this,t,e,!0,r)},a.prototype.writeDoubleBE=function(t,e,r){return I(this,t,e,!1,r)},a.prototype.copy=function(t,e,r,n){if(!a.isBuffer(t))throw new TypeError(\"argument should be a Buffer\");if(r||(r=0),n||0===n||(n=this.length),e>=t.length&&(e=t.length),e||(e=0),n>0&&n=this.length)throw new RangeError(\"Index out of range\");if(n<0)throw new RangeError(\"sourceEnd out of bounds\");n>this.length&&(n=this.length),t.length-e=0;--o)t[o+e]=this[o+r];else Uint8Array.prototype.set.call(t,this.subarray(r,n),e);return i},a.prototype.fill=function(t,e,r,n){if(\"string\"==typeof t){if(\"string\"==typeof e?(n=e,e=0,r=this.length):\"string\"==typeof r&&(n=r,r=this.length),void 0!==n&&\"string\"!=typeof n)throw new TypeError(\"encoding must be a string\");if(\"string\"==typeof n&&!a.isEncoding(n))throw new TypeError(\"Unknown encoding: \"+n);if(1===t.length){var i=t.charCodeAt(0);(\"utf8\"===n&&i<128||\"latin1\"===n)&&(t=i)}}else\"number\"==typeof t&&(t&=255);if(e<0||this.length>>=0,r=void 0===r?this.length:r>>>0,t||(t=0),\"number\"==typeof t)for(o=e;o55295&&r<57344){if(!i){if(r>56319){(e-=3)>-1&&a.push(239,191,189);continue}if(o+1===n){(e-=3)>-1&&a.push(239,191,189);continue}i=r;continue}if(r<56320){(e-=3)>-1&&a.push(239,191,189),i=r;continue}r=65536+(i-55296<<10|r-56320)}else i&&(e-=3)>-1&&a.push(239,191,189);if(i=null,r<128){if((e-=1)<0)break;a.push(r)}else if(r<2048){if((e-=2)<0)break;a.push(r>>6|192,63&r|128)}else if(r<65536){if((e-=3)<0)break;a.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error(\"Invalid code point\");if((e-=4)<0)break;a.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return a}function R(t){return e.toByteArray(function(t){if((t=(t=t.split(\"=\")[0]).trim().replace(O,\"\")).length<2)return\"\";for(;t.length%4!=0;)t+=\"=\";return t}(t))}function F(t,e,r,n){for(var i=0;i=e.length||i>=t.length);++i)e[i+r]=t[i];return i}function B(t,e){return t instanceof e||null!=t&&null!=t.constructor&&null!=t.constructor.name&&t.constructor.name===e.name}function N(t){return t!=t}}).call(this)}).call(this,t(\"buffer\").Buffer)},{\"base64-js\":1,buffer:3,ieee754:4}],4:[function(t,e,r){r.read=function(t,e,r,n,i){var a,o,s=8*i-n-1,l=(1<>1,u=-7,f=r?i-1:0,h=r?-1:1,p=t[e+f];for(f+=h,a=p&(1<<-u)-1,p>>=-u,u+=s;u>0;a=256*a+t[e+f],f+=h,u-=8);for(o=a&(1<<-u)-1,a>>=-u,u+=n;u>0;o=256*o+t[e+f],f+=h,u-=8);if(0===a)a=1-c;else{if(a===l)return o?NaN:1/0*(p?-1:1);o+=Math.pow(2,n),a-=c}return(p?-1:1)*o*Math.pow(2,a-n)},r.write=function(t,e,r,n,i,a){var o,s,l,c=8*a-i-1,u=(1<>1,h=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,p=n?0:a-1,d=n?1:-1,m=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(s=isNaN(e)?1:0,o=u):(o=Math.floor(Math.log(e)/Math.LN2),e*(l=Math.pow(2,-o))<1&&(o--,l*=2),(e+=o+f>=1?h/l:h*Math.pow(2,1-f))*l>=2&&(o++,l/=2),o+f>=u?(s=0,o=u):o+f>=1?(s=(e*l-1)*Math.pow(2,i),o+=f):(s=e*Math.pow(2,f-1)*Math.pow(2,i),o=0));i>=8;t[r+p]=255&s,p+=d,s/=256,i-=8);for(o=o<0;t[r+p]=255&o,p+=d,o/=256,c-=8);t[r+p-d]|=128*m}},{}],5:[function(t,e,r){var n,i,a=e.exports={};function o(){throw new Error(\"setTimeout has not been defined\")}function s(){throw new Error(\"clearTimeout has not been defined\")}function l(t){if(n===setTimeout)return setTimeout(t,0);if((n===o||!n)&&setTimeout)return n=setTimeout,setTimeout(t,0);try{return n(t,0)}catch(e){try{return n.call(null,t,0)}catch(e){return n.call(this,t,0)}}}!function(){try{n=\"function\"==typeof setTimeout?setTimeout:o}catch(t){n=o}try{i=\"function\"==typeof clearTimeout?clearTimeout:s}catch(t){i=s}}();var c,u=[],f=!1,h=-1;function p(){f&&c&&(f=!1,c.length?u=c.concat(u):h=-1,u.length&&d())}function d(){if(!f){var t=l(p);f=!0;for(var e=u.length;e;){for(c=u,u=[];++h1)for(var r=1;r0?c=c.ushln(f):f<0&&(u=u.ushln(-f));return s(c,u)}},{\"./div\":17,\"./is-rat\":19,\"./lib/is-bn\":23,\"./lib/num-to-bn\":24,\"./lib/rationalize\":25,\"./lib/str-to-bn\":26}],19:[function(t,e,r){\"use strict\";var n=t(\"./lib/is-bn\");e.exports=function(t){return Array.isArray(t)&&2===t.length&&n(t[0])&&n(t[1])}},{\"./lib/is-bn\":23}],20:[function(t,e,r){\"use strict\";var n=t(\"bn.js\");e.exports=function(t){return t.cmp(new n(0))}},{\"bn.js\":33}],21:[function(t,e,r){\"use strict\";var n=t(\"./bn-sign\");e.exports=function(t){var e=t.length,r=t.words,i=0;if(1===e)i=r[0];else if(2===e)i=r[0]+67108864*r[1];else for(var a=0;a20)return 52;return r+32}},{\"bit-twiddle\":32,\"double-bits\":64}],23:[function(t,e,r){\"use strict\";t(\"bn.js\");e.exports=function(t){return t&&\"object\"==typeof t&&Boolean(t.words)}},{\"bn.js\":33}],24:[function(t,e,r){\"use strict\";var n=t(\"bn.js\"),i=t(\"double-bits\");e.exports=function(t){var e=i.exponent(t);return e<52?new n(t):new n(t*Math.pow(2,52-e)).ushln(e-52)}},{\"bn.js\":33,\"double-bits\":64}],25:[function(t,e,r){\"use strict\";var n=t(\"./num-to-bn\"),i=t(\"./bn-sign\");e.exports=function(t,e){var r=i(t),a=i(e);if(0===r)return[n(0),n(1)];if(0===a)return[n(0),n(0)];a<0&&(t=t.neg(),e=e.neg());var o=t.gcd(e);if(o.cmpn(1))return[t.div(o),e.div(o)];return[t,e]}},{\"./bn-sign\":20,\"./num-to-bn\":24}],26:[function(t,e,r){\"use strict\";var n=t(\"bn.js\");e.exports=function(t){return new n(t)}},{\"bn.js\":33}],27:[function(t,e,r){\"use strict\";var n=t(\"./lib/rationalize\");e.exports=function(t,e){return n(t[0].mul(e[0]),t[1].mul(e[1]))}},{\"./lib/rationalize\":25}],28:[function(t,e,r){\"use strict\";var n=t(\"./lib/bn-sign\");e.exports=function(t){return n(t[0])*n(t[1])}},{\"./lib/bn-sign\":20}],29:[function(t,e,r){\"use strict\";var n=t(\"./lib/rationalize\");e.exports=function(t,e){return n(t[0].mul(e[1]).sub(t[1].mul(e[0])),t[1].mul(e[1]))}},{\"./lib/rationalize\":25}],30:[function(t,e,r){\"use strict\";var n=t(\"./lib/bn-to-num\"),i=t(\"./lib/ctz\");e.exports=function(t){var e=t[0],r=t[1];if(0===e.cmpn(0))return 0;var a=e.abs().divmod(r.abs()),o=a.div,s=n(o),l=a.mod,c=e.negative!==r.negative?-1:1;if(0===l.cmpn(0))return c*s;if(s){var u=i(s)+4,f=n(l.ushln(u).divRound(r));return c*(s+f*Math.pow(2,-u))}var h=r.bitLength()-l.bitLength()+53;f=n(l.ushln(h).divRound(r));return h<1023?c*f*Math.pow(2,-h):(f*=Math.pow(2,-1023),c*f*Math.pow(2,1023-h))}},{\"./lib/bn-to-num\":21,\"./lib/ctz\":22}],31:[function(t,e,r){\"use strict\";function n(t,e,r,n,i){for(var a=i+1;n<=i;){var o=n+i>>>1,s=t[o];(void 0!==r?r(s,e):s-e)>=0?(a=o,i=o-1):n=o+1}return a}function i(t,e,r,n,i){for(var a=i+1;n<=i;){var o=n+i>>>1,s=t[o];(void 0!==r?r(s,e):s-e)>0?(a=o,i=o-1):n=o+1}return a}function a(t,e,r,n,i){for(var a=n-1;n<=i;){var o=n+i>>>1,s=t[o];(void 0!==r?r(s,e):s-e)<0?(a=o,n=o+1):i=o-1}return a}function o(t,e,r,n,i){for(var a=n-1;n<=i;){var o=n+i>>>1,s=t[o];(void 0!==r?r(s,e):s-e)<=0?(a=o,n=o+1):i=o-1}return a}function s(t,e,r,n,i){for(;n<=i;){var a=n+i>>>1,o=t[a],s=void 0!==r?r(o,e):o-e;if(0===s)return a;s<=0?n=a+1:i=a-1}return-1}function l(t,e,r,n,i,a){return\"function\"==typeof r?a(t,e,r,void 0===n?0:0|n,void 0===i?t.length-1:0|i):a(t,e,void 0,void 0===r?0:0|r,void 0===n?t.length-1:0|n)}e.exports={ge:function(t,e,r,i,a){return l(t,e,r,i,a,n)},gt:function(t,e,r,n,a){return l(t,e,r,n,a,i)},lt:function(t,e,r,n,i){return l(t,e,r,n,i,a)},le:function(t,e,r,n,i){return l(t,e,r,n,i,o)},eq:function(t,e,r,n,i){return l(t,e,r,n,i,s)}}},{}],32:[function(t,e,r){\"use strict\";function n(t){var e=32;return(t&=-t)&&e--,65535&t&&(e-=16),16711935&t&&(e-=8),252645135&t&&(e-=4),858993459&t&&(e-=2),1431655765&t&&(e-=1),e}r.INT_BITS=32,r.INT_MAX=2147483647,r.INT_MIN=-1<<31,r.sign=function(t){return(t>0)-(t<0)},r.abs=function(t){var e=t>>31;return(t^e)-e},r.min=function(t,e){return e^(t^e)&-(t65535)<<4,e|=r=((t>>>=e)>255)<<3,e|=r=((t>>>=r)>15)<<2,(e|=r=((t>>>=r)>3)<<1)|(t>>>=r)>>1},r.log10=function(t){return t>=1e9?9:t>=1e8?8:t>=1e7?7:t>=1e6?6:t>=1e5?5:t>=1e4?4:t>=1e3?3:t>=100?2:t>=10?1:0},r.popCount=function(t){return 16843009*((t=(858993459&(t-=t>>>1&1431655765))+(t>>>2&858993459))+(t>>>4)&252645135)>>>24},r.countTrailingZeros=n,r.nextPow2=function(t){return t+=0===t,--t,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,(t|=t>>>16)+1},r.prevPow2=function(t){return t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,(t|=t>>>16)-(t>>>1)},r.parity=function(t){return t^=t>>>16,t^=t>>>8,t^=t>>>4,27030>>>(t&=15)&1};var i=new Array(256);!function(t){for(var e=0;e<256;++e){var r=e,n=e,i=7;for(r>>>=1;r;r>>>=1)n<<=1,n|=1&r,--i;t[e]=n<>>8&255]<<16|i[t>>>16&255]<<8|i[t>>>24&255]},r.interleave2=function(t,e){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t&=65535)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e&=65535)|e<<8))|e<<4))|e<<2))|e<<1))<<1},r.deinterleave2=function(t,e){return(t=65535&((t=16711935&((t=252645135&((t=858993459&((t=t>>>e&1431655765)|t>>>1))|t>>>2))|t>>>4))|t>>>16))<<16>>16},r.interleave3=function(t,e,r){return t=1227133513&((t=3272356035&((t=251719695&((t=4278190335&((t&=1023)|t<<16))|t<<8))|t<<4))|t<<2),(t|=(e=1227133513&((e=3272356035&((e=251719695&((e=4278190335&((e&=1023)|e<<16))|e<<8))|e<<4))|e<<2))<<1)|(r=1227133513&((r=3272356035&((r=251719695&((r=4278190335&((r&=1023)|r<<16))|r<<8))|r<<4))|r<<2))<<2},r.deinterleave3=function(t,e){return(t=1023&((t=4278190335&((t=251719695&((t=3272356035&((t=t>>>e&1227133513)|t>>>2))|t>>>4))|t>>>8))|t>>>16))<<22>>22},r.nextCombination=function(t){var e=t|t-1;return e+1|(~e&-~e)-1>>>n(t)+1}},{}],33:[function(t,e,r){!function(e,r){\"use strict\";function n(t,e){if(!t)throw new Error(e||\"Assertion failed\")}function i(t,e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}function a(t,e,r){if(a.isBN(t))return t;this.negative=0,this.words=null,this.length=0,this.red=null,null!==t&&(\"le\"!==e&&\"be\"!==e||(r=e,e=10),this._init(t||0,e||10,r||\"be\"))}var o;\"object\"==typeof e?e.exports=a:r.BN=a,a.BN=a,a.wordSize=26;try{o=\"undefined\"!=typeof window&&void 0!==window.Buffer?window.Buffer:t(\"buffer\").Buffer}catch(t){}function s(t,e){var r=t.charCodeAt(e);return r>=65&&r<=70?r-55:r>=97&&r<=102?r-87:r-48&15}function l(t,e,r){var n=s(t,r);return r-1>=e&&(n|=s(t,r-1)<<4),n}function c(t,e,r,n){for(var i=0,a=Math.min(t.length,r),o=e;o=49?s-49+10:s>=17?s-17+10:s}return i}a.isBN=function(t){return t instanceof a||null!==t&&\"object\"==typeof t&&t.constructor.wordSize===a.wordSize&&Array.isArray(t.words)},a.max=function(t,e){return t.cmp(e)>0?t:e},a.min=function(t,e){return t.cmp(e)<0?t:e},a.prototype._init=function(t,e,r){if(\"number\"==typeof t)return this._initNumber(t,e,r);if(\"object\"==typeof t)return this._initArray(t,e,r);\"hex\"===e&&(e=16),n(e===(0|e)&&e>=2&&e<=36);var i=0;\"-\"===(t=t.toString().replace(/\\s+/g,\"\"))[0]&&(i++,this.negative=1),i=0;i-=3)o=t[i]|t[i-1]<<8|t[i-2]<<16,this.words[a]|=o<>>26-s&67108863,(s+=24)>=26&&(s-=26,a++);else if(\"le\"===r)for(i=0,a=0;i>>26-s&67108863,(s+=24)>=26&&(s-=26,a++);return this.strip()},a.prototype._parseHex=function(t,e,r){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var n=0;n=e;n-=2)i=l(t,e,n)<=18?(a-=18,o+=1,this.words[o]|=i>>>26):a+=8;else for(n=(t.length-e)%2==0?e+1:e;n=18?(a-=18,o+=1,this.words[o]|=i>>>26):a+=8;this.strip()},a.prototype._parseBase=function(t,e,r){this.words=[0],this.length=1;for(var n=0,i=1;i<=67108863;i*=e)n++;n--,i=i/e|0;for(var a=t.length-r,o=a%n,s=Math.min(a,a-o)+r,l=0,u=r;u1&&0===this.words[this.length-1];)this.length--;return this._normSign()},a.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},a.prototype.inspect=function(){return(this.red?\"\"};var u=[\"\",\"0\",\"00\",\"000\",\"0000\",\"00000\",\"000000\",\"0000000\",\"00000000\",\"000000000\",\"0000000000\",\"00000000000\",\"000000000000\",\"0000000000000\",\"00000000000000\",\"000000000000000\",\"0000000000000000\",\"00000000000000000\",\"000000000000000000\",\"0000000000000000000\",\"00000000000000000000\",\"000000000000000000000\",\"0000000000000000000000\",\"00000000000000000000000\",\"000000000000000000000000\",\"0000000000000000000000000\"],f=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],h=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function p(t,e,r){r.negative=e.negative^t.negative;var n=t.length+e.length|0;r.length=n,n=n-1|0;var i=0|t.words[0],a=0|e.words[0],o=i*a,s=67108863&o,l=o/67108864|0;r.words[0]=s;for(var c=1;c>>26,f=67108863&l,h=Math.min(c,e.length-1),p=Math.max(0,c-t.length+1);p<=h;p++){var d=c-p|0;u+=(o=(i=0|t.words[d])*(a=0|e.words[p])+f)/67108864|0,f=67108863&o}r.words[c]=0|f,l=0|u}return 0!==l?r.words[c]=0|l:r.length--,r.strip()}a.prototype.toString=function(t,e){var r;if(e=0|e||1,16===(t=t||10)||\"hex\"===t){r=\"\";for(var i=0,a=0,o=0;o>>24-i&16777215)||o!==this.length-1?u[6-l.length]+l+r:l+r,(i+=2)>=26&&(i-=26,o--)}for(0!==a&&(r=a.toString(16)+r);r.length%e!=0;)r=\"0\"+r;return 0!==this.negative&&(r=\"-\"+r),r}if(t===(0|t)&&t>=2&&t<=36){var c=f[t],p=h[t];r=\"\";var d=this.clone();for(d.negative=0;!d.isZero();){var m=d.modn(p).toString(t);r=(d=d.idivn(p)).isZero()?m+r:u[c-m.length]+m+r}for(this.isZero()&&(r=\"0\"+r);r.length%e!=0;)r=\"0\"+r;return 0!==this.negative&&(r=\"-\"+r),r}n(!1,\"Base should be between 2 and 36\")},a.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&n(!1,\"Number can only safely store up to 53 bits\"),0!==this.negative?-t:t},a.prototype.toJSON=function(){return this.toString(16)},a.prototype.toBuffer=function(t,e){return n(void 0!==o),this.toArrayLike(o,t,e)},a.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)},a.prototype.toArrayLike=function(t,e,r){var i=this.byteLength(),a=r||Math.max(1,i);n(i<=a,\"byte array longer than desired length\"),n(a>0,\"Requested array length <= 0\"),this.strip();var o,s,l=\"le\"===e,c=new t(a),u=this.clone();if(l){for(s=0;!u.isZero();s++)o=u.andln(255),u.iushrn(8),c[s]=o;for(;s=4096&&(r+=13,e>>>=13),e>=64&&(r+=7,e>>>=7),e>=8&&(r+=4,e>>>=4),e>=2&&(r+=2,e>>>=2),r+e},a.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,r=0;return 0==(8191&e)&&(r+=13,e>>>=13),0==(127&e)&&(r+=7,e>>>=7),0==(15&e)&&(r+=4,e>>>=4),0==(3&e)&&(r+=2,e>>>=2),0==(1&e)&&r++,r},a.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},a.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;et.length?this.clone().ior(t):t.clone().ior(this)},a.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},a.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var r=0;rt.length?this.clone().iand(t):t.clone().iand(this)},a.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},a.prototype.iuxor=function(t){var e,r;this.length>t.length?(e=this,r=t):(e=t,r=this);for(var n=0;nt.length?this.clone().ixor(t):t.clone().ixor(this)},a.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},a.prototype.inotn=function(t){n(\"number\"==typeof t&&t>=0);var e=0|Math.ceil(t/26),r=t%26;this._expand(e),r>0&&e--;for(var i=0;i0&&(this.words[i]=~this.words[i]&67108863>>26-r),this.strip()},a.prototype.notn=function(t){return this.clone().inotn(t)},a.prototype.setn=function(t,e){n(\"number\"==typeof t&&t>=0);var r=t/26|0,i=t%26;return this._expand(r+1),this.words[r]=e?this.words[r]|1<t.length?(r=this,n=t):(r=t,n=this);for(var i=0,a=0;a>>26;for(;0!==i&&a>>26;if(this.length=r.length,0!==i)this.words[this.length]=i,this.length++;else if(r!==this)for(;at.length?this.clone().iadd(t):t.clone().iadd(this)},a.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var r,n,i=this.cmp(t);if(0===i)return this.negative=0,this.length=1,this.words[0]=0,this;i>0?(r=this,n=t):(r=t,n=this);for(var a=0,o=0;o>26,this.words[o]=67108863&e;for(;0!==a&&o>26,this.words[o]=67108863&e;if(0===a&&o>>13,p=0|o[1],d=8191&p,m=p>>>13,g=0|o[2],v=8191&g,y=g>>>13,x=0|o[3],b=8191&x,_=x>>>13,w=0|o[4],T=8191&w,k=w>>>13,A=0|o[5],M=8191&A,S=A>>>13,E=0|o[6],L=8191&E,C=E>>>13,P=0|o[7],I=8191&P,O=P>>>13,z=0|o[8],D=8191&z,R=z>>>13,F=0|o[9],B=8191&F,N=F>>>13,j=0|s[0],U=8191&j,V=j>>>13,H=0|s[1],q=8191&H,G=H>>>13,Y=0|s[2],W=8191&Y,Z=Y>>>13,X=0|s[3],J=8191&X,K=X>>>13,Q=0|s[4],$=8191&Q,tt=Q>>>13,et=0|s[5],rt=8191&et,nt=et>>>13,it=0|s[6],at=8191&it,ot=it>>>13,st=0|s[7],lt=8191&st,ct=st>>>13,ut=0|s[8],ft=8191&ut,ht=ut>>>13,pt=0|s[9],dt=8191&pt,mt=pt>>>13;r.negative=t.negative^e.negative,r.length=19;var gt=(c+(n=Math.imul(f,U))|0)+((8191&(i=(i=Math.imul(f,V))+Math.imul(h,U)|0))<<13)|0;c=((a=Math.imul(h,V))+(i>>>13)|0)+(gt>>>26)|0,gt&=67108863,n=Math.imul(d,U),i=(i=Math.imul(d,V))+Math.imul(m,U)|0,a=Math.imul(m,V);var vt=(c+(n=n+Math.imul(f,q)|0)|0)+((8191&(i=(i=i+Math.imul(f,G)|0)+Math.imul(h,q)|0))<<13)|0;c=((a=a+Math.imul(h,G)|0)+(i>>>13)|0)+(vt>>>26)|0,vt&=67108863,n=Math.imul(v,U),i=(i=Math.imul(v,V))+Math.imul(y,U)|0,a=Math.imul(y,V),n=n+Math.imul(d,q)|0,i=(i=i+Math.imul(d,G)|0)+Math.imul(m,q)|0,a=a+Math.imul(m,G)|0;var yt=(c+(n=n+Math.imul(f,W)|0)|0)+((8191&(i=(i=i+Math.imul(f,Z)|0)+Math.imul(h,W)|0))<<13)|0;c=((a=a+Math.imul(h,Z)|0)+(i>>>13)|0)+(yt>>>26)|0,yt&=67108863,n=Math.imul(b,U),i=(i=Math.imul(b,V))+Math.imul(_,U)|0,a=Math.imul(_,V),n=n+Math.imul(v,q)|0,i=(i=i+Math.imul(v,G)|0)+Math.imul(y,q)|0,a=a+Math.imul(y,G)|0,n=n+Math.imul(d,W)|0,i=(i=i+Math.imul(d,Z)|0)+Math.imul(m,W)|0,a=a+Math.imul(m,Z)|0;var xt=(c+(n=n+Math.imul(f,J)|0)|0)+((8191&(i=(i=i+Math.imul(f,K)|0)+Math.imul(h,J)|0))<<13)|0;c=((a=a+Math.imul(h,K)|0)+(i>>>13)|0)+(xt>>>26)|0,xt&=67108863,n=Math.imul(T,U),i=(i=Math.imul(T,V))+Math.imul(k,U)|0,a=Math.imul(k,V),n=n+Math.imul(b,q)|0,i=(i=i+Math.imul(b,G)|0)+Math.imul(_,q)|0,a=a+Math.imul(_,G)|0,n=n+Math.imul(v,W)|0,i=(i=i+Math.imul(v,Z)|0)+Math.imul(y,W)|0,a=a+Math.imul(y,Z)|0,n=n+Math.imul(d,J)|0,i=(i=i+Math.imul(d,K)|0)+Math.imul(m,J)|0,a=a+Math.imul(m,K)|0;var bt=(c+(n=n+Math.imul(f,$)|0)|0)+((8191&(i=(i=i+Math.imul(f,tt)|0)+Math.imul(h,$)|0))<<13)|0;c=((a=a+Math.imul(h,tt)|0)+(i>>>13)|0)+(bt>>>26)|0,bt&=67108863,n=Math.imul(M,U),i=(i=Math.imul(M,V))+Math.imul(S,U)|0,a=Math.imul(S,V),n=n+Math.imul(T,q)|0,i=(i=i+Math.imul(T,G)|0)+Math.imul(k,q)|0,a=a+Math.imul(k,G)|0,n=n+Math.imul(b,W)|0,i=(i=i+Math.imul(b,Z)|0)+Math.imul(_,W)|0,a=a+Math.imul(_,Z)|0,n=n+Math.imul(v,J)|0,i=(i=i+Math.imul(v,K)|0)+Math.imul(y,J)|0,a=a+Math.imul(y,K)|0,n=n+Math.imul(d,$)|0,i=(i=i+Math.imul(d,tt)|0)+Math.imul(m,$)|0,a=a+Math.imul(m,tt)|0;var _t=(c+(n=n+Math.imul(f,rt)|0)|0)+((8191&(i=(i=i+Math.imul(f,nt)|0)+Math.imul(h,rt)|0))<<13)|0;c=((a=a+Math.imul(h,nt)|0)+(i>>>13)|0)+(_t>>>26)|0,_t&=67108863,n=Math.imul(L,U),i=(i=Math.imul(L,V))+Math.imul(C,U)|0,a=Math.imul(C,V),n=n+Math.imul(M,q)|0,i=(i=i+Math.imul(M,G)|0)+Math.imul(S,q)|0,a=a+Math.imul(S,G)|0,n=n+Math.imul(T,W)|0,i=(i=i+Math.imul(T,Z)|0)+Math.imul(k,W)|0,a=a+Math.imul(k,Z)|0,n=n+Math.imul(b,J)|0,i=(i=i+Math.imul(b,K)|0)+Math.imul(_,J)|0,a=a+Math.imul(_,K)|0,n=n+Math.imul(v,$)|0,i=(i=i+Math.imul(v,tt)|0)+Math.imul(y,$)|0,a=a+Math.imul(y,tt)|0,n=n+Math.imul(d,rt)|0,i=(i=i+Math.imul(d,nt)|0)+Math.imul(m,rt)|0,a=a+Math.imul(m,nt)|0;var wt=(c+(n=n+Math.imul(f,at)|0)|0)+((8191&(i=(i=i+Math.imul(f,ot)|0)+Math.imul(h,at)|0))<<13)|0;c=((a=a+Math.imul(h,ot)|0)+(i>>>13)|0)+(wt>>>26)|0,wt&=67108863,n=Math.imul(I,U),i=(i=Math.imul(I,V))+Math.imul(O,U)|0,a=Math.imul(O,V),n=n+Math.imul(L,q)|0,i=(i=i+Math.imul(L,G)|0)+Math.imul(C,q)|0,a=a+Math.imul(C,G)|0,n=n+Math.imul(M,W)|0,i=(i=i+Math.imul(M,Z)|0)+Math.imul(S,W)|0,a=a+Math.imul(S,Z)|0,n=n+Math.imul(T,J)|0,i=(i=i+Math.imul(T,K)|0)+Math.imul(k,J)|0,a=a+Math.imul(k,K)|0,n=n+Math.imul(b,$)|0,i=(i=i+Math.imul(b,tt)|0)+Math.imul(_,$)|0,a=a+Math.imul(_,tt)|0,n=n+Math.imul(v,rt)|0,i=(i=i+Math.imul(v,nt)|0)+Math.imul(y,rt)|0,a=a+Math.imul(y,nt)|0,n=n+Math.imul(d,at)|0,i=(i=i+Math.imul(d,ot)|0)+Math.imul(m,at)|0,a=a+Math.imul(m,ot)|0;var Tt=(c+(n=n+Math.imul(f,lt)|0)|0)+((8191&(i=(i=i+Math.imul(f,ct)|0)+Math.imul(h,lt)|0))<<13)|0;c=((a=a+Math.imul(h,ct)|0)+(i>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,n=Math.imul(D,U),i=(i=Math.imul(D,V))+Math.imul(R,U)|0,a=Math.imul(R,V),n=n+Math.imul(I,q)|0,i=(i=i+Math.imul(I,G)|0)+Math.imul(O,q)|0,a=a+Math.imul(O,G)|0,n=n+Math.imul(L,W)|0,i=(i=i+Math.imul(L,Z)|0)+Math.imul(C,W)|0,a=a+Math.imul(C,Z)|0,n=n+Math.imul(M,J)|0,i=(i=i+Math.imul(M,K)|0)+Math.imul(S,J)|0,a=a+Math.imul(S,K)|0,n=n+Math.imul(T,$)|0,i=(i=i+Math.imul(T,tt)|0)+Math.imul(k,$)|0,a=a+Math.imul(k,tt)|0,n=n+Math.imul(b,rt)|0,i=(i=i+Math.imul(b,nt)|0)+Math.imul(_,rt)|0,a=a+Math.imul(_,nt)|0,n=n+Math.imul(v,at)|0,i=(i=i+Math.imul(v,ot)|0)+Math.imul(y,at)|0,a=a+Math.imul(y,ot)|0,n=n+Math.imul(d,lt)|0,i=(i=i+Math.imul(d,ct)|0)+Math.imul(m,lt)|0,a=a+Math.imul(m,ct)|0;var kt=(c+(n=n+Math.imul(f,ft)|0)|0)+((8191&(i=(i=i+Math.imul(f,ht)|0)+Math.imul(h,ft)|0))<<13)|0;c=((a=a+Math.imul(h,ht)|0)+(i>>>13)|0)+(kt>>>26)|0,kt&=67108863,n=Math.imul(B,U),i=(i=Math.imul(B,V))+Math.imul(N,U)|0,a=Math.imul(N,V),n=n+Math.imul(D,q)|0,i=(i=i+Math.imul(D,G)|0)+Math.imul(R,q)|0,a=a+Math.imul(R,G)|0,n=n+Math.imul(I,W)|0,i=(i=i+Math.imul(I,Z)|0)+Math.imul(O,W)|0,a=a+Math.imul(O,Z)|0,n=n+Math.imul(L,J)|0,i=(i=i+Math.imul(L,K)|0)+Math.imul(C,J)|0,a=a+Math.imul(C,K)|0,n=n+Math.imul(M,$)|0,i=(i=i+Math.imul(M,tt)|0)+Math.imul(S,$)|0,a=a+Math.imul(S,tt)|0,n=n+Math.imul(T,rt)|0,i=(i=i+Math.imul(T,nt)|0)+Math.imul(k,rt)|0,a=a+Math.imul(k,nt)|0,n=n+Math.imul(b,at)|0,i=(i=i+Math.imul(b,ot)|0)+Math.imul(_,at)|0,a=a+Math.imul(_,ot)|0,n=n+Math.imul(v,lt)|0,i=(i=i+Math.imul(v,ct)|0)+Math.imul(y,lt)|0,a=a+Math.imul(y,ct)|0,n=n+Math.imul(d,ft)|0,i=(i=i+Math.imul(d,ht)|0)+Math.imul(m,ft)|0,a=a+Math.imul(m,ht)|0;var At=(c+(n=n+Math.imul(f,dt)|0)|0)+((8191&(i=(i=i+Math.imul(f,mt)|0)+Math.imul(h,dt)|0))<<13)|0;c=((a=a+Math.imul(h,mt)|0)+(i>>>13)|0)+(At>>>26)|0,At&=67108863,n=Math.imul(B,q),i=(i=Math.imul(B,G))+Math.imul(N,q)|0,a=Math.imul(N,G),n=n+Math.imul(D,W)|0,i=(i=i+Math.imul(D,Z)|0)+Math.imul(R,W)|0,a=a+Math.imul(R,Z)|0,n=n+Math.imul(I,J)|0,i=(i=i+Math.imul(I,K)|0)+Math.imul(O,J)|0,a=a+Math.imul(O,K)|0,n=n+Math.imul(L,$)|0,i=(i=i+Math.imul(L,tt)|0)+Math.imul(C,$)|0,a=a+Math.imul(C,tt)|0,n=n+Math.imul(M,rt)|0,i=(i=i+Math.imul(M,nt)|0)+Math.imul(S,rt)|0,a=a+Math.imul(S,nt)|0,n=n+Math.imul(T,at)|0,i=(i=i+Math.imul(T,ot)|0)+Math.imul(k,at)|0,a=a+Math.imul(k,ot)|0,n=n+Math.imul(b,lt)|0,i=(i=i+Math.imul(b,ct)|0)+Math.imul(_,lt)|0,a=a+Math.imul(_,ct)|0,n=n+Math.imul(v,ft)|0,i=(i=i+Math.imul(v,ht)|0)+Math.imul(y,ft)|0,a=a+Math.imul(y,ht)|0;var Mt=(c+(n=n+Math.imul(d,dt)|0)|0)+((8191&(i=(i=i+Math.imul(d,mt)|0)+Math.imul(m,dt)|0))<<13)|0;c=((a=a+Math.imul(m,mt)|0)+(i>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,n=Math.imul(B,W),i=(i=Math.imul(B,Z))+Math.imul(N,W)|0,a=Math.imul(N,Z),n=n+Math.imul(D,J)|0,i=(i=i+Math.imul(D,K)|0)+Math.imul(R,J)|0,a=a+Math.imul(R,K)|0,n=n+Math.imul(I,$)|0,i=(i=i+Math.imul(I,tt)|0)+Math.imul(O,$)|0,a=a+Math.imul(O,tt)|0,n=n+Math.imul(L,rt)|0,i=(i=i+Math.imul(L,nt)|0)+Math.imul(C,rt)|0,a=a+Math.imul(C,nt)|0,n=n+Math.imul(M,at)|0,i=(i=i+Math.imul(M,ot)|0)+Math.imul(S,at)|0,a=a+Math.imul(S,ot)|0,n=n+Math.imul(T,lt)|0,i=(i=i+Math.imul(T,ct)|0)+Math.imul(k,lt)|0,a=a+Math.imul(k,ct)|0,n=n+Math.imul(b,ft)|0,i=(i=i+Math.imul(b,ht)|0)+Math.imul(_,ft)|0,a=a+Math.imul(_,ht)|0;var St=(c+(n=n+Math.imul(v,dt)|0)|0)+((8191&(i=(i=i+Math.imul(v,mt)|0)+Math.imul(y,dt)|0))<<13)|0;c=((a=a+Math.imul(y,mt)|0)+(i>>>13)|0)+(St>>>26)|0,St&=67108863,n=Math.imul(B,J),i=(i=Math.imul(B,K))+Math.imul(N,J)|0,a=Math.imul(N,K),n=n+Math.imul(D,$)|0,i=(i=i+Math.imul(D,tt)|0)+Math.imul(R,$)|0,a=a+Math.imul(R,tt)|0,n=n+Math.imul(I,rt)|0,i=(i=i+Math.imul(I,nt)|0)+Math.imul(O,rt)|0,a=a+Math.imul(O,nt)|0,n=n+Math.imul(L,at)|0,i=(i=i+Math.imul(L,ot)|0)+Math.imul(C,at)|0,a=a+Math.imul(C,ot)|0,n=n+Math.imul(M,lt)|0,i=(i=i+Math.imul(M,ct)|0)+Math.imul(S,lt)|0,a=a+Math.imul(S,ct)|0,n=n+Math.imul(T,ft)|0,i=(i=i+Math.imul(T,ht)|0)+Math.imul(k,ft)|0,a=a+Math.imul(k,ht)|0;var Et=(c+(n=n+Math.imul(b,dt)|0)|0)+((8191&(i=(i=i+Math.imul(b,mt)|0)+Math.imul(_,dt)|0))<<13)|0;c=((a=a+Math.imul(_,mt)|0)+(i>>>13)|0)+(Et>>>26)|0,Et&=67108863,n=Math.imul(B,$),i=(i=Math.imul(B,tt))+Math.imul(N,$)|0,a=Math.imul(N,tt),n=n+Math.imul(D,rt)|0,i=(i=i+Math.imul(D,nt)|0)+Math.imul(R,rt)|0,a=a+Math.imul(R,nt)|0,n=n+Math.imul(I,at)|0,i=(i=i+Math.imul(I,ot)|0)+Math.imul(O,at)|0,a=a+Math.imul(O,ot)|0,n=n+Math.imul(L,lt)|0,i=(i=i+Math.imul(L,ct)|0)+Math.imul(C,lt)|0,a=a+Math.imul(C,ct)|0,n=n+Math.imul(M,ft)|0,i=(i=i+Math.imul(M,ht)|0)+Math.imul(S,ft)|0,a=a+Math.imul(S,ht)|0;var Lt=(c+(n=n+Math.imul(T,dt)|0)|0)+((8191&(i=(i=i+Math.imul(T,mt)|0)+Math.imul(k,dt)|0))<<13)|0;c=((a=a+Math.imul(k,mt)|0)+(i>>>13)|0)+(Lt>>>26)|0,Lt&=67108863,n=Math.imul(B,rt),i=(i=Math.imul(B,nt))+Math.imul(N,rt)|0,a=Math.imul(N,nt),n=n+Math.imul(D,at)|0,i=(i=i+Math.imul(D,ot)|0)+Math.imul(R,at)|0,a=a+Math.imul(R,ot)|0,n=n+Math.imul(I,lt)|0,i=(i=i+Math.imul(I,ct)|0)+Math.imul(O,lt)|0,a=a+Math.imul(O,ct)|0,n=n+Math.imul(L,ft)|0,i=(i=i+Math.imul(L,ht)|0)+Math.imul(C,ft)|0,a=a+Math.imul(C,ht)|0;var Ct=(c+(n=n+Math.imul(M,dt)|0)|0)+((8191&(i=(i=i+Math.imul(M,mt)|0)+Math.imul(S,dt)|0))<<13)|0;c=((a=a+Math.imul(S,mt)|0)+(i>>>13)|0)+(Ct>>>26)|0,Ct&=67108863,n=Math.imul(B,at),i=(i=Math.imul(B,ot))+Math.imul(N,at)|0,a=Math.imul(N,ot),n=n+Math.imul(D,lt)|0,i=(i=i+Math.imul(D,ct)|0)+Math.imul(R,lt)|0,a=a+Math.imul(R,ct)|0,n=n+Math.imul(I,ft)|0,i=(i=i+Math.imul(I,ht)|0)+Math.imul(O,ft)|0,a=a+Math.imul(O,ht)|0;var Pt=(c+(n=n+Math.imul(L,dt)|0)|0)+((8191&(i=(i=i+Math.imul(L,mt)|0)+Math.imul(C,dt)|0))<<13)|0;c=((a=a+Math.imul(C,mt)|0)+(i>>>13)|0)+(Pt>>>26)|0,Pt&=67108863,n=Math.imul(B,lt),i=(i=Math.imul(B,ct))+Math.imul(N,lt)|0,a=Math.imul(N,ct),n=n+Math.imul(D,ft)|0,i=(i=i+Math.imul(D,ht)|0)+Math.imul(R,ft)|0,a=a+Math.imul(R,ht)|0;var It=(c+(n=n+Math.imul(I,dt)|0)|0)+((8191&(i=(i=i+Math.imul(I,mt)|0)+Math.imul(O,dt)|0))<<13)|0;c=((a=a+Math.imul(O,mt)|0)+(i>>>13)|0)+(It>>>26)|0,It&=67108863,n=Math.imul(B,ft),i=(i=Math.imul(B,ht))+Math.imul(N,ft)|0,a=Math.imul(N,ht);var Ot=(c+(n=n+Math.imul(D,dt)|0)|0)+((8191&(i=(i=i+Math.imul(D,mt)|0)+Math.imul(R,dt)|0))<<13)|0;c=((a=a+Math.imul(R,mt)|0)+(i>>>13)|0)+(Ot>>>26)|0,Ot&=67108863;var zt=(c+(n=Math.imul(B,dt))|0)+((8191&(i=(i=Math.imul(B,mt))+Math.imul(N,dt)|0))<<13)|0;return c=((a=Math.imul(N,mt))+(i>>>13)|0)+(zt>>>26)|0,zt&=67108863,l[0]=gt,l[1]=vt,l[2]=yt,l[3]=xt,l[4]=bt,l[5]=_t,l[6]=wt,l[7]=Tt,l[8]=kt,l[9]=At,l[10]=Mt,l[11]=St,l[12]=Et,l[13]=Lt,l[14]=Ct,l[15]=Pt,l[16]=It,l[17]=Ot,l[18]=zt,0!==c&&(l[19]=c,r.length++),r};function m(t,e,r){return(new g).mulp(t,e,r)}function g(t,e){this.x=t,this.y=e}Math.imul||(d=p),a.prototype.mulTo=function(t,e){var r=this.length+t.length;return 10===this.length&&10===t.length?d(this,t,e):r<63?p(this,t,e):r<1024?function(t,e,r){r.negative=e.negative^t.negative,r.length=t.length+e.length;for(var n=0,i=0,a=0;a>>26)|0)>>>26,o&=67108863}r.words[a]=s,n=o,o=i}return 0!==n?r.words[a]=n:r.length--,r.strip()}(this,t,e):m(this,t,e)},g.prototype.makeRBT=function(t){for(var e=new Array(t),r=a.prototype._countBits(t)-1,n=0;n>=1;return n},g.prototype.permute=function(t,e,r,n,i,a){for(var o=0;o>>=1)i++;return 1<>>=13,r[2*o+1]=8191&a,a>>>=13;for(o=2*e;o>=26,e+=i/67108864|0,e+=a>>>26,this.words[r]=67108863&a}return 0!==e&&(this.words[r]=e,this.length++),this},a.prototype.muln=function(t){return this.clone().imuln(t)},a.prototype.sqr=function(){return this.mul(this)},a.prototype.isqr=function(){return this.imul(this.clone())},a.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),r=0;r>>i}return e}(t);if(0===e.length)return new a(1);for(var r=this,n=0;n=0);var e,r=t%26,i=(t-r)/26,a=67108863>>>26-r<<26-r;if(0!==r){var o=0;for(e=0;e>>26-r}o&&(this.words[e]=o,this.length++)}if(0!==i){for(e=this.length-1;e>=0;e--)this.words[e+i]=this.words[e];for(e=0;e=0),i=e?(e-e%26)/26:0;var a=t%26,o=Math.min((t-a)/26,this.length),s=67108863^67108863>>>a<o)for(this.length-=o,c=0;c=0&&(0!==u||c>=i);c--){var f=0|this.words[c];this.words[c]=u<<26-a|f>>>a,u=f&s}return l&&0!==u&&(l.words[l.length++]=u),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},a.prototype.ishrn=function(t,e,r){return n(0===this.negative),this.iushrn(t,e,r)},a.prototype.shln=function(t){return this.clone().ishln(t)},a.prototype.ushln=function(t){return this.clone().iushln(t)},a.prototype.shrn=function(t){return this.clone().ishrn(t)},a.prototype.ushrn=function(t){return this.clone().iushrn(t)},a.prototype.testn=function(t){n(\"number\"==typeof t&&t>=0);var e=t%26,r=(t-e)/26,i=1<=0);var e=t%26,r=(t-e)/26;if(n(0===this.negative,\"imaskn works only with positive numbers\"),this.length<=r)return this;if(0!==e&&r++,this.length=Math.min(r,this.length),0!==e){var i=67108863^67108863>>>e<=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},a.prototype.isubn=function(t){if(n(\"number\"==typeof t),n(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e>26)-(l/67108864|0),this.words[i+r]=67108863&a}for(;i>26,this.words[i+r]=67108863&a;if(0===s)return this.strip();for(n(-1===s),s=0,i=0;i>26,this.words[i]=67108863&a;return this.negative=1,this.strip()},a.prototype._wordDiv=function(t,e){var r=(this.length,t.length),n=this.clone(),i=t,o=0|i.words[i.length-1];0!==(r=26-this._countBits(o))&&(i=i.ushln(r),n.iushln(r),o=0|i.words[i.length-1]);var s,l=n.length-i.length;if(\"mod\"!==e){(s=new a(null)).length=l+1,s.words=new Array(s.length);for(var c=0;c=0;f--){var h=67108864*(0|n.words[i.length+f])+(0|n.words[i.length+f-1]);for(h=Math.min(h/o|0,67108863),n._ishlnsubmul(i,h,f);0!==n.negative;)h--,n.negative=0,n._ishlnsubmul(i,1,f),n.isZero()||(n.negative^=1);s&&(s.words[f]=h)}return s&&s.strip(),n.strip(),\"div\"!==e&&0!==r&&n.iushrn(r),{div:s||null,mod:n}},a.prototype.divmod=function(t,e,r){return n(!t.isZero()),this.isZero()?{div:new a(0),mod:new a(0)}:0!==this.negative&&0===t.negative?(s=this.neg().divmod(t,e),\"mod\"!==e&&(i=s.div.neg()),\"div\"!==e&&(o=s.mod.neg(),r&&0!==o.negative&&o.iadd(t)),{div:i,mod:o}):0===this.negative&&0!==t.negative?(s=this.divmod(t.neg(),e),\"mod\"!==e&&(i=s.div.neg()),{div:i,mod:s.mod}):0!=(this.negative&t.negative)?(s=this.neg().divmod(t.neg(),e),\"div\"!==e&&(o=s.mod.neg(),r&&0!==o.negative&&o.isub(t)),{div:s.div,mod:o}):t.length>this.length||this.cmp(t)<0?{div:new a(0),mod:this}:1===t.length?\"div\"===e?{div:this.divn(t.words[0]),mod:null}:\"mod\"===e?{div:null,mod:new a(this.modn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new a(this.modn(t.words[0]))}:this._wordDiv(t,e);var i,o,s},a.prototype.div=function(t){return this.divmod(t,\"div\",!1).div},a.prototype.mod=function(t){return this.divmod(t,\"mod\",!1).mod},a.prototype.umod=function(t){return this.divmod(t,\"mod\",!0).mod},a.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var r=0!==e.div.negative?e.mod.isub(t):e.mod,n=t.ushrn(1),i=t.andln(1),a=r.cmp(n);return a<0||1===i&&0===a?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},a.prototype.modn=function(t){n(t<=67108863);for(var e=(1<<26)%t,r=0,i=this.length-1;i>=0;i--)r=(e*r+(0|this.words[i]))%t;return r},a.prototype.idivn=function(t){n(t<=67108863);for(var e=0,r=this.length-1;r>=0;r--){var i=(0|this.words[r])+67108864*e;this.words[r]=i/t|0,e=i%t}return this.strip()},a.prototype.divn=function(t){return this.clone().idivn(t)},a.prototype.egcd=function(t){n(0===t.negative),n(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var i=new a(1),o=new a(0),s=new a(0),l=new a(1),c=0;e.isEven()&&r.isEven();)e.iushrn(1),r.iushrn(1),++c;for(var u=r.clone(),f=e.clone();!e.isZero();){for(var h=0,p=1;0==(e.words[0]&p)&&h<26;++h,p<<=1);if(h>0)for(e.iushrn(h);h-- >0;)(i.isOdd()||o.isOdd())&&(i.iadd(u),o.isub(f)),i.iushrn(1),o.iushrn(1);for(var d=0,m=1;0==(r.words[0]&m)&&d<26;++d,m<<=1);if(d>0)for(r.iushrn(d);d-- >0;)(s.isOdd()||l.isOdd())&&(s.iadd(u),l.isub(f)),s.iushrn(1),l.iushrn(1);e.cmp(r)>=0?(e.isub(r),i.isub(s),o.isub(l)):(r.isub(e),s.isub(i),l.isub(o))}return{a:s,b:l,gcd:r.iushln(c)}},a.prototype._invmp=function(t){n(0===t.negative),n(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var i,o=new a(1),s=new a(0),l=r.clone();e.cmpn(1)>0&&r.cmpn(1)>0;){for(var c=0,u=1;0==(e.words[0]&u)&&c<26;++c,u<<=1);if(c>0)for(e.iushrn(c);c-- >0;)o.isOdd()&&o.iadd(l),o.iushrn(1);for(var f=0,h=1;0==(r.words[0]&h)&&f<26;++f,h<<=1);if(f>0)for(r.iushrn(f);f-- >0;)s.isOdd()&&s.iadd(l),s.iushrn(1);e.cmp(r)>=0?(e.isub(r),o.isub(s)):(r.isub(e),s.isub(o))}return(i=0===e.cmpn(1)?o:s).cmpn(0)<0&&i.iadd(t),i},a.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),r=t.clone();e.negative=0,r.negative=0;for(var n=0;e.isEven()&&r.isEven();n++)e.iushrn(1),r.iushrn(1);for(;;){for(;e.isEven();)e.iushrn(1);for(;r.isEven();)r.iushrn(1);var i=e.cmp(r);if(i<0){var a=e;e=r,r=a}else if(0===i||0===r.cmpn(1))break;e.isub(r)}return r.iushln(n)},a.prototype.invm=function(t){return this.egcd(t).a.umod(t)},a.prototype.isEven=function(){return 0==(1&this.words[0])},a.prototype.isOdd=function(){return 1==(1&this.words[0])},a.prototype.andln=function(t){return this.words[0]&t},a.prototype.bincn=function(t){n(\"number\"==typeof t);var e=t%26,r=(t-e)/26,i=1<>>26,s&=67108863,this.words[o]=s}return 0!==a&&(this.words[o]=a,this.length++),this},a.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},a.prototype.cmpn=function(t){var e,r=t<0;if(0!==this.negative&&!r)return-1;if(0===this.negative&&r)return 1;if(this.strip(),this.length>1)e=1;else{r&&(t=-t),n(t<=67108863,\"Number is too big\");var i=0|this.words[0];e=i===t?0:it.length)return 1;if(this.length=0;r--){var n=0|this.words[r],i=0|t.words[r];if(n!==i){ni&&(e=1);break}}return e},a.prototype.gtn=function(t){return 1===this.cmpn(t)},a.prototype.gt=function(t){return 1===this.cmp(t)},a.prototype.gten=function(t){return this.cmpn(t)>=0},a.prototype.gte=function(t){return this.cmp(t)>=0},a.prototype.ltn=function(t){return-1===this.cmpn(t)},a.prototype.lt=function(t){return-1===this.cmp(t)},a.prototype.lten=function(t){return this.cmpn(t)<=0},a.prototype.lte=function(t){return this.cmp(t)<=0},a.prototype.eqn=function(t){return 0===this.cmpn(t)},a.prototype.eq=function(t){return 0===this.cmp(t)},a.red=function(t){return new T(t)},a.prototype.toRed=function(t){return n(!this.red,\"Already a number in reduction context\"),n(0===this.negative,\"red works only with positives\"),t.convertTo(this)._forceRed(t)},a.prototype.fromRed=function(){return n(this.red,\"fromRed works only with numbers in reduction context\"),this.red.convertFrom(this)},a.prototype._forceRed=function(t){return this.red=t,this},a.prototype.forceRed=function(t){return n(!this.red,\"Already a number in reduction context\"),this._forceRed(t)},a.prototype.redAdd=function(t){return n(this.red,\"redAdd works only with red numbers\"),this.red.add(this,t)},a.prototype.redIAdd=function(t){return n(this.red,\"redIAdd works only with red numbers\"),this.red.iadd(this,t)},a.prototype.redSub=function(t){return n(this.red,\"redSub works only with red numbers\"),this.red.sub(this,t)},a.prototype.redISub=function(t){return n(this.red,\"redISub works only with red numbers\"),this.red.isub(this,t)},a.prototype.redShl=function(t){return n(this.red,\"redShl works only with red numbers\"),this.red.shl(this,t)},a.prototype.redMul=function(t){return n(this.red,\"redMul works only with red numbers\"),this.red._verify2(this,t),this.red.mul(this,t)},a.prototype.redIMul=function(t){return n(this.red,\"redMul works only with red numbers\"),this.red._verify2(this,t),this.red.imul(this,t)},a.prototype.redSqr=function(){return n(this.red,\"redSqr works only with red numbers\"),this.red._verify1(this),this.red.sqr(this)},a.prototype.redISqr=function(){return n(this.red,\"redISqr works only with red numbers\"),this.red._verify1(this),this.red.isqr(this)},a.prototype.redSqrt=function(){return n(this.red,\"redSqrt works only with red numbers\"),this.red._verify1(this),this.red.sqrt(this)},a.prototype.redInvm=function(){return n(this.red,\"redInvm works only with red numbers\"),this.red._verify1(this),this.red.invm(this)},a.prototype.redNeg=function(){return n(this.red,\"redNeg works only with red numbers\"),this.red._verify1(this),this.red.neg(this)},a.prototype.redPow=function(t){return n(this.red&&!t.red,\"redPow(normalNum)\"),this.red._verify1(this),this.red.pow(this,t)};var v={k256:null,p224:null,p192:null,p25519:null};function y(t,e){this.name=t,this.p=new a(e,16),this.n=this.p.bitLength(),this.k=new a(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function x(){y.call(this,\"k256\",\"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f\")}function b(){y.call(this,\"p224\",\"ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001\")}function _(){y.call(this,\"p192\",\"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff\")}function w(){y.call(this,\"25519\",\"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed\")}function T(t){if(\"string\"==typeof t){var e=a._prime(t);this.m=e.p,this.prime=e}else n(t.gtn(1),\"modulus must be greater than 1\"),this.m=t,this.prime=null}function k(t){T.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new a(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}y.prototype._tmp=function(){var t=new a(null);return t.words=new Array(Math.ceil(this.n/13)),t},y.prototype.ireduce=function(t){var e,r=t;do{this.split(r,this.tmp),e=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength()}while(e>this.n);var n=e0?r.isub(this.p):void 0!==r.strip?r.strip():r._strip(),r},y.prototype.split=function(t,e){t.iushrn(this.n,0,e)},y.prototype.imulK=function(t){return t.imul(this.k)},i(x,y),x.prototype.split=function(t,e){for(var r=Math.min(t.length,9),n=0;n>>22,i=a}i>>>=22,t.words[n-10]=i,0===i&&t.length>10?t.length-=10:t.length-=9},x.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,r=0;r>>=26,t.words[r]=i,e=n}return 0!==e&&(t.words[t.length++]=e),t},a._prime=function(t){if(v[t])return v[t];var e;if(\"k256\"===t)e=new x;else if(\"p224\"===t)e=new b;else if(\"p192\"===t)e=new _;else{if(\"p25519\"!==t)throw new Error(\"Unknown prime \"+t);e=new w}return v[t]=e,e},T.prototype._verify1=function(t){n(0===t.negative,\"red works only with positives\"),n(t.red,\"red works only with red numbers\")},T.prototype._verify2=function(t,e){n(0==(t.negative|e.negative),\"red works only with positives\"),n(t.red&&t.red===e.red,\"red works only with red numbers\")},T.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):t.umod(this.m)._forceRed(this)},T.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},T.prototype.add=function(t,e){this._verify2(t,e);var r=t.add(e);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},T.prototype.iadd=function(t,e){this._verify2(t,e);var r=t.iadd(e);return r.cmp(this.m)>=0&&r.isub(this.m),r},T.prototype.sub=function(t,e){this._verify2(t,e);var r=t.sub(e);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},T.prototype.isub=function(t,e){this._verify2(t,e);var r=t.isub(e);return r.cmpn(0)<0&&r.iadd(this.m),r},T.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},T.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},T.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},T.prototype.isqr=function(t){return this.imul(t,t.clone())},T.prototype.sqr=function(t){return this.mul(t,t)},T.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(n(e%2==1),3===e){var r=this.m.add(new a(1)).iushrn(2);return this.pow(t,r)}for(var i=this.m.subn(1),o=0;!i.isZero()&&0===i.andln(1);)o++,i.iushrn(1);n(!i.isZero());var s=new a(1).toRed(this),l=s.redNeg(),c=this.m.subn(1).iushrn(1),u=this.m.bitLength();for(u=new a(2*u*u).toRed(this);0!==this.pow(u,c).cmp(l);)u.redIAdd(l);for(var f=this.pow(u,i),h=this.pow(t,i.addn(1).iushrn(1)),p=this.pow(t,i),d=o;0!==p.cmp(s);){for(var m=p,g=0;0!==m.cmp(s);g++)m=m.redSqr();n(g=0;n--){for(var c=e.words[n],u=l-1;u>=0;u--){var f=c>>u&1;i!==r[0]&&(i=this.sqr(i)),0!==f||0!==o?(o<<=1,o|=f,(4===++s||0===n&&0===u)&&(i=this.mul(i,r[o]),s=0,o=0)):s=0}l=26}return i},T.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},T.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},a.mont=function(t){return new k(t)},i(k,T),k.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},k.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},k.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var r=t.imul(e),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),a=i;return i.cmp(this.m)>=0?a=i.isub(this.m):i.cmpn(0)<0&&(a=i.iadd(this.m)),a._forceRed(this)},k.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new a(0)._forceRed(this);var r=t.mul(e),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),o=i;return i.cmp(this.m)>=0?o=i.isub(this.m):i.cmpn(0)<0&&(o=i.iadd(this.m)),o._forceRed(this)},k.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(void 0===e||e,this)},{buffer:2}],34:[function(t,e,r){\"use strict\";e.exports=function(t){var e,r,n,i=t.length,a=0;for(e=0;e>>1;if(!(u<=0)){var f,h=i.mallocDouble(2*u*s),p=i.mallocInt32(s);if((s=l(t,u,h,p))>0){if(1===u&&n)a.init(s),f=a.sweepComplete(u,r,0,s,h,p,0,s,h,p);else{var d=i.mallocDouble(2*u*c),m=i.mallocInt32(c);(c=l(e,u,d,m))>0&&(a.init(s+c),f=1===u?a.sweepBipartite(u,r,0,s,h,p,0,c,d,m):o(u,r,n,s,h,p,c,d,m),i.free(d),i.free(m))}i.free(h),i.free(p)}return f}}}function u(t,e){n.push([t,e])}function f(t){return n=[],c(t,t,u,!0),n}function h(t,e){return n=[],c(t,e,u,!1),n}},{\"./lib/intersect\":37,\"./lib/sweep\":41,\"typedarray-pool\":308}],36:[function(t,e,r){\"use strict\";function n(t){return t?function(t,e,r,n,i,a,o,s,l,c,u){return i-n>l-s?function(t,e,r,n,i,a,o,s,l,c,u){for(var f=2*t,h=n,p=f*n;hc-l?n?function(t,e,r,n,i,a,o,s,l,c,u){for(var f=2*t,h=n,p=f*n;h0;){var L=6*(S-=1),C=v[L],P=v[L+1],I=v[L+2],O=v[L+3],z=v[L+4],D=v[L+5],R=2*S,F=y[R],B=y[R+1],N=1&D,j=!!(16&D),U=u,V=w,H=k,q=A;if(N&&(U=k,V=A,H=u,q=w),!(2&D&&(I=p(t,C,P,I,U,V,B),P>=I)||4&D&&(P=d(t,C,P,I,U,V,F))>=I)){var G=I-P,Y=z-O;if(j){if(t*G*(G+Y)<1<<22){if(void 0!==(M=l.scanComplete(t,C,e,P,I,U,V,O,z,H,q)))return M;continue}}else{if(t*Math.min(G,Y)<128){if(void 0!==(M=o(t,C,e,N,P,I,U,V,O,z,H,q)))return M;continue}if(t*G*Y<1<<22){if(void 0!==(M=l.scanBipartite(t,C,e,N,P,I,U,V,O,z,H,q)))return M;continue}}var W=f(t,C,P,I,U,V,F,B);if(P=p0)&&!(p1>=hi)\"),h=u(\"lo===p0\"),p=u(\"lo>>1,f=2*t,h=u,p=o[f*u+e];for(;l=y?(h=v,p=y):g>=b?(h=m,p=g):(h=x,p=b):y>=b?(h=v,p=y):b>=g?(h=m,p=g):(h=x,p=b);for(var _=f*(c-1),w=f*h,T=0;Tr&&i[f+e]>c;--u,f-=o){for(var h=f,p=f+o,d=0;dh;++h,l+=s){if(i[l+f]===o)if(u===h)u+=1,c+=s;else{for(var p=0;s>p;++p){var d=i[l+p];i[l+p]=i[c],i[c++]=d}var m=a[h];a[h]=a[u],a[u++]=m}}return u},\"loh;++h,l+=s){if(i[l+f]p;++p){var d=i[l+p];i[l+p]=i[c],i[c++]=d}var m=a[h];a[h]=a[u],a[u++]=m}}return u},\"lo<=p0\":function(t,e,r,n,i,a,o){for(var s=2*t,l=s*r,c=l,u=r,f=t+e,h=r;n>h;++h,l+=s){if(i[l+f]<=o)if(u===h)u+=1,c+=s;else{for(var p=0;s>p;++p){var d=i[l+p];i[l+p]=i[c],i[c++]=d}var m=a[h];a[h]=a[u],a[u++]=m}}return u},\"hi<=p0\":function(t,e,r,n,i,a,o){for(var s=2*t,l=s*r,c=l,u=r,f=t+e,h=r;n>h;++h,l+=s){if(i[l+f]<=o)if(u===h)u+=1,c+=s;else{for(var p=0;s>p;++p){var d=i[l+p];i[l+p]=i[c],i[c++]=d}var m=a[h];a[h]=a[u],a[u++]=m}}return u},\"lop;++p,l+=s){var d=i[l+f],m=i[l+h];if(dg;++g){var v=i[l+g];i[l+g]=i[c],i[c++]=v}var y=a[p];a[p]=a[u],a[u++]=y}}return u},\"lo<=p0&&p0<=hi\":function(t,e,r,n,i,a,o){for(var s=2*t,l=s*r,c=l,u=r,f=e,h=t+e,p=r;n>p;++p,l+=s){var d=i[l+f],m=i[l+h];if(d<=o&&o<=m)if(u===p)u+=1,c+=s;else{for(var g=0;s>g;++g){var v=i[l+g];i[l+g]=i[c],i[c++]=v}var y=a[p];a[p]=a[u],a[u++]=y}}return u},\"!(lo>=p0)&&!(p1>=hi)\":function(t,e,r,n,i,a,o,s){for(var l=2*t,c=l*r,u=c,f=r,h=e,p=t+e,d=r;n>d;++d,c+=l){var m=i[c+h],g=i[c+p];if(!(m>=o||s>=g))if(f===d)f+=1,u+=l;else{for(var v=0;l>v;++v){var y=i[c+v];i[c+v]=i[u],i[u++]=y}var x=a[d];a[d]=a[f],a[f++]=x}}return f}}},{}],40:[function(t,e,r){\"use strict\";e.exports=function(t,e){e<=128?n(0,e-1,t):function t(e,r,u){var f=(r-e+1)/6|0,h=e+f,p=r-f,d=e+r>>1,m=d-f,g=d+f,v=h,y=m,x=d,b=g,_=p,w=e+1,T=r-1,k=0;l(v,y,u)&&(k=v,v=y,y=k);l(b,_,u)&&(k=b,b=_,_=k);l(v,x,u)&&(k=v,v=x,x=k);l(y,x,u)&&(k=y,y=x,x=k);l(v,b,u)&&(k=v,v=b,b=k);l(x,b,u)&&(k=x,x=b,b=k);l(y,_,u)&&(k=y,y=_,_=k);l(y,x,u)&&(k=y,y=x,x=k);l(b,_,u)&&(k=b,b=_,_=k);for(var A=u[2*y],M=u[2*y+1],S=u[2*b],E=u[2*b+1],L=2*v,C=2*x,P=2*_,I=2*h,O=2*d,z=2*p,D=0;D<2;++D){var R=u[L+D],F=u[C+D],B=u[P+D];u[I+D]=R,u[O+D]=F,u[z+D]=B}a(m,e,u),a(g,r,u);for(var N=w;N<=T;++N)if(c(N,A,M,u))N!==w&&i(N,w,u),++w;else if(!c(N,S,E,u))for(;;){if(c(T,S,E,u)){c(T,A,M,u)?(o(N,w,T,u),++w,--T):(i(N,T,u),--T);break}if(--Tt;){var c=r[l-2],u=r[l-1];if(cr[e+1])}function c(t,e,r,n){var i=n[t*=2];return i>>1;a(h,M);var S=0,E=0;for(w=0;w=1<<28)p(l,c,E--,L=L-(1<<28)|0);else if(L>=0)p(o,s,S--,L);else if(L<=-(1<<28)){L=-L-(1<<28)|0;for(var C=0;C>>1;a(h,E);var L=0,C=0,P=0;for(k=0;k>1==h[2*k+3]>>1&&(O=2,k+=1),I<0){for(var z=-(I>>1)-1,D=0;D>1)-1;0===O?p(o,s,L--,z):1===O?p(l,c,C--,z):2===O&&p(u,f,P--,z)}}},scanBipartite:function(t,e,r,n,i,l,c,u,f,m,g,v){var y=0,x=2*t,b=e,_=e+t,w=1,T=1;n?T=1<<28:w=1<<28;for(var k=i;k>>1;a(h,E);var L=0;for(k=0;k=1<<28?(P=!n,A-=1<<28):(P=!!n,A-=1),P)d(o,s,L++,A);else{var I=v[A],O=x*A,z=g[O+e+1],D=g[O+e+1+t];t:for(var R=0;R>>1;a(h,w);var T=0;for(y=0;y=1<<28)o[T++]=x-(1<<28);else{var A=p[x-=1],M=m*x,S=f[M+e+1],E=f[M+e+1+t];t:for(var L=0;L=0;--L)if(o[L]===x){for(O=L+1;O0;){for(var p=r.pop(),d=(s=r.pop(),u=-1,f=-1,l=o[s],1);d=0||(e.flip(s,p),i(t,e,r,u,s,f),i(t,e,r,s,f,u),i(t,e,r,f,p,u),i(t,e,r,p,u,f)))}}},{\"binary-search-bounds\":31,\"robust-in-sphere\":282}],44:[function(t,e,r){\"use strict\";var n,i=t(\"binary-search-bounds\");function a(t,e,r,n,i,a,o){this.cells=t,this.neighbor=e,this.flags=n,this.constraint=r,this.active=i,this.next=a,this.boundary=o}function o(t,e){return t[0]-e[0]||t[1]-e[1]||t[2]-e[2]}e.exports=function(t,e,r){var n=function(t,e){for(var r=t.cells(),n=r.length,i=0;i0||l.length>0;){for(;s.length>0;){var p=s.pop();if(c[p]!==-i){c[p]=i;u[p];for(var d=0;d<3;++d){var m=h[3*p+d];m>=0&&0===c[m]&&(f[3*p+d]?l.push(m):(s.push(m),c[m]=i))}}}var g=l;l=s,s=g,l.length=0,i=-i}var v=function(t,e,r){for(var n=0,i=0;i1&&i(r[h[p-2]],r[h[p-1]],a)>0;)t.push([h[p-1],h[p-2],o]),p-=1;h.length=p,h.push(o);var d=f.upperIds;for(p=d.length;p>1&&i(r[d[p-2]],r[d[p-1]],a)<0;)t.push([d[p-2],d[p-1],o]),p-=1;d.length=p,d.push(o)}}function u(t,e){var r;return(r=t.a[0]d[0]&&i.push(new o(d,p,2,l),new o(p,d,1,l))}i.sort(s);for(var m=i[0].a[0]-(1+Math.abs(i[0].a[0]))*Math.pow(2,-52),g=[new a([m,1],[m,0],-1,[],[],[],[])],v=[],y=(l=0,i.length);l=0}}(),a.removeTriangle=function(t,e,r){var n=this.stars;o(n[t],e,r),o(n[e],r,t),o(n[r],t,e)},a.addTriangle=function(t,e,r){var n=this.stars;n[t].push(e,r),n[e].push(r,t),n[r].push(t,e)},a.opposite=function(t,e){for(var r=this.stars[e],n=1,i=r.length;ne[2]?1:0)}function v(t,e,r){if(0!==t.length){if(e)for(var n=0;n=0;--a){var x=e[u=(S=n[a])[0]],b=x[0],_=x[1],w=t[b],T=t[_];if((w[0]-T[0]||w[1]-T[1])<0){var k=b;b=_,_=k}x[0]=b;var A,M=x[1]=S[1];for(i&&(A=x[2]);a>0&&n[a-1][0]===u;){var S,E=(S=n[--a])[1];i?e.push([M,E,A]):e.push([M,E]),M=E}i?e.push([M,_,A]):e.push([M,_])}return h}(t,e,h,g,r));return v(e,y,r),!!y||(h.length>0||g.length>0)}},{\"./lib/rat-seg-intersect\":51,\"big-rat\":18,\"big-rat/cmp\":16,\"big-rat/to-float\":30,\"box-intersect\":35,nextafter:260,\"rat-vec\":273,\"robust-segment-intersect\":287,\"union-find\":309}],51:[function(t,e,r){\"use strict\";e.exports=function(t,e,r,n){var a=s(e,t),f=s(n,r),h=u(a,f);if(0===o(h))return null;var p=s(t,r),d=u(f,p),m=i(d,h),g=c(a,m);return l(t,g)};var n=t(\"big-rat/mul\"),i=t(\"big-rat/div\"),a=t(\"big-rat/sub\"),o=t(\"big-rat/sign\"),s=t(\"rat-vec/sub\"),l=t(\"rat-vec/add\"),c=t(\"rat-vec/muls\");function u(t,e){return a(n(t[0],e[1]),n(t[1],e[0]))}},{\"big-rat/div\":17,\"big-rat/mul\":27,\"big-rat/sign\":28,\"big-rat/sub\":29,\"rat-vec/add\":272,\"rat-vec/muls\":274,\"rat-vec/sub\":275}],52:[function(t,e,r){e.exports={jet:[{index:0,rgb:[0,0,131]},{index:.125,rgb:[0,60,170]},{index:.375,rgb:[5,255,255]},{index:.625,rgb:[255,255,0]},{index:.875,rgb:[250,0,0]},{index:1,rgb:[128,0,0]}],hsv:[{index:0,rgb:[255,0,0]},{index:.169,rgb:[253,255,2]},{index:.173,rgb:[247,255,2]},{index:.337,rgb:[0,252,4]},{index:.341,rgb:[0,252,10]},{index:.506,rgb:[1,249,255]},{index:.671,rgb:[2,0,253]},{index:.675,rgb:[8,0,253]},{index:.839,rgb:[255,0,251]},{index:.843,rgb:[255,0,245]},{index:1,rgb:[255,0,6]}],hot:[{index:0,rgb:[0,0,0]},{index:.3,rgb:[230,0,0]},{index:.6,rgb:[255,210,0]},{index:1,rgb:[255,255,255]}],spring:[{index:0,rgb:[255,0,255]},{index:1,rgb:[255,255,0]}],summer:[{index:0,rgb:[0,128,102]},{index:1,rgb:[255,255,102]}],autumn:[{index:0,rgb:[255,0,0]},{index:1,rgb:[255,255,0]}],winter:[{index:0,rgb:[0,0,255]},{index:1,rgb:[0,255,128]}],bone:[{index:0,rgb:[0,0,0]},{index:.376,rgb:[84,84,116]},{index:.753,rgb:[169,200,200]},{index:1,rgb:[255,255,255]}],copper:[{index:0,rgb:[0,0,0]},{index:.804,rgb:[255,160,102]},{index:1,rgb:[255,199,127]}],greys:[{index:0,rgb:[0,0,0]},{index:1,rgb:[255,255,255]}],yignbu:[{index:0,rgb:[8,29,88]},{index:.125,rgb:[37,52,148]},{index:.25,rgb:[34,94,168]},{index:.375,rgb:[29,145,192]},{index:.5,rgb:[65,182,196]},{index:.625,rgb:[127,205,187]},{index:.75,rgb:[199,233,180]},{index:.875,rgb:[237,248,217]},{index:1,rgb:[255,255,217]}],greens:[{index:0,rgb:[0,68,27]},{index:.125,rgb:[0,109,44]},{index:.25,rgb:[35,139,69]},{index:.375,rgb:[65,171,93]},{index:.5,rgb:[116,196,118]},{index:.625,rgb:[161,217,155]},{index:.75,rgb:[199,233,192]},{index:.875,rgb:[229,245,224]},{index:1,rgb:[247,252,245]}],yiorrd:[{index:0,rgb:[128,0,38]},{index:.125,rgb:[189,0,38]},{index:.25,rgb:[227,26,28]},{index:.375,rgb:[252,78,42]},{index:.5,rgb:[253,141,60]},{index:.625,rgb:[254,178,76]},{index:.75,rgb:[254,217,118]},{index:.875,rgb:[255,237,160]},{index:1,rgb:[255,255,204]}],bluered:[{index:0,rgb:[0,0,255]},{index:1,rgb:[255,0,0]}],rdbu:[{index:0,rgb:[5,10,172]},{index:.35,rgb:[106,137,247]},{index:.5,rgb:[190,190,190]},{index:.6,rgb:[220,170,132]},{index:.7,rgb:[230,145,90]},{index:1,rgb:[178,10,28]}],picnic:[{index:0,rgb:[0,0,255]},{index:.1,rgb:[51,153,255]},{index:.2,rgb:[102,204,255]},{index:.3,rgb:[153,204,255]},{index:.4,rgb:[204,204,255]},{index:.5,rgb:[255,255,255]},{index:.6,rgb:[255,204,255]},{index:.7,rgb:[255,153,255]},{index:.8,rgb:[255,102,204]},{index:.9,rgb:[255,102,102]},{index:1,rgb:[255,0,0]}],rainbow:[{index:0,rgb:[150,0,90]},{index:.125,rgb:[0,0,200]},{index:.25,rgb:[0,25,255]},{index:.375,rgb:[0,152,255]},{index:.5,rgb:[44,255,150]},{index:.625,rgb:[151,255,0]},{index:.75,rgb:[255,234,0]},{index:.875,rgb:[255,111,0]},{index:1,rgb:[255,0,0]}],portland:[{index:0,rgb:[12,51,131]},{index:.25,rgb:[10,136,186]},{index:.5,rgb:[242,211,56]},{index:.75,rgb:[242,143,56]},{index:1,rgb:[217,30,30]}],blackbody:[{index:0,rgb:[0,0,0]},{index:.2,rgb:[230,0,0]},{index:.4,rgb:[230,210,0]},{index:.7,rgb:[255,255,255]},{index:1,rgb:[160,200,255]}],earth:[{index:0,rgb:[0,0,130]},{index:.1,rgb:[0,180,180]},{index:.2,rgb:[40,210,40]},{index:.4,rgb:[230,230,50]},{index:.6,rgb:[120,70,20]},{index:1,rgb:[255,255,255]}],electric:[{index:0,rgb:[0,0,0]},{index:.15,rgb:[30,0,100]},{index:.4,rgb:[120,0,100]},{index:.6,rgb:[160,90,0]},{index:.8,rgb:[230,200,0]},{index:1,rgb:[255,250,220]}],alpha:[{index:0,rgb:[255,255,255,0]},{index:1,rgb:[255,255,255,1]}],viridis:[{index:0,rgb:[68,1,84]},{index:.13,rgb:[71,44,122]},{index:.25,rgb:[59,81,139]},{index:.38,rgb:[44,113,142]},{index:.5,rgb:[33,144,141]},{index:.63,rgb:[39,173,129]},{index:.75,rgb:[92,200,99]},{index:.88,rgb:[170,220,50]},{index:1,rgb:[253,231,37]}],inferno:[{index:0,rgb:[0,0,4]},{index:.13,rgb:[31,12,72]},{index:.25,rgb:[85,15,109]},{index:.38,rgb:[136,34,106]},{index:.5,rgb:[186,54,85]},{index:.63,rgb:[227,89,51]},{index:.75,rgb:[249,140,10]},{index:.88,rgb:[249,201,50]},{index:1,rgb:[252,255,164]}],magma:[{index:0,rgb:[0,0,4]},{index:.13,rgb:[28,16,68]},{index:.25,rgb:[79,18,123]},{index:.38,rgb:[129,37,129]},{index:.5,rgb:[181,54,122]},{index:.63,rgb:[229,80,100]},{index:.75,rgb:[251,135,97]},{index:.88,rgb:[254,194,135]},{index:1,rgb:[252,253,191]}],plasma:[{index:0,rgb:[13,8,135]},{index:.13,rgb:[75,3,161]},{index:.25,rgb:[125,3,168]},{index:.38,rgb:[168,34,150]},{index:.5,rgb:[203,70,121]},{index:.63,rgb:[229,107,93]},{index:.75,rgb:[248,148,65]},{index:.88,rgb:[253,195,40]},{index:1,rgb:[240,249,33]}],warm:[{index:0,rgb:[125,0,179]},{index:.13,rgb:[172,0,187]},{index:.25,rgb:[219,0,170]},{index:.38,rgb:[255,0,130]},{index:.5,rgb:[255,63,74]},{index:.63,rgb:[255,123,0]},{index:.75,rgb:[234,176,0]},{index:.88,rgb:[190,228,0]},{index:1,rgb:[147,255,0]}],cool:[{index:0,rgb:[125,0,179]},{index:.13,rgb:[116,0,218]},{index:.25,rgb:[98,74,237]},{index:.38,rgb:[68,146,231]},{index:.5,rgb:[0,204,197]},{index:.63,rgb:[0,247,146]},{index:.75,rgb:[0,255,88]},{index:.88,rgb:[40,255,8]},{index:1,rgb:[147,255,0]}],\"rainbow-soft\":[{index:0,rgb:[125,0,179]},{index:.1,rgb:[199,0,180]},{index:.2,rgb:[255,0,121]},{index:.3,rgb:[255,108,0]},{index:.4,rgb:[222,194,0]},{index:.5,rgb:[150,255,0]},{index:.6,rgb:[0,255,55]},{index:.7,rgb:[0,246,150]},{index:.8,rgb:[50,167,222]},{index:.9,rgb:[103,51,235]},{index:1,rgb:[124,0,186]}],bathymetry:[{index:0,rgb:[40,26,44]},{index:.13,rgb:[59,49,90]},{index:.25,rgb:[64,76,139]},{index:.38,rgb:[63,110,151]},{index:.5,rgb:[72,142,158]},{index:.63,rgb:[85,174,163]},{index:.75,rgb:[120,206,163]},{index:.88,rgb:[187,230,172]},{index:1,rgb:[253,254,204]}],cdom:[{index:0,rgb:[47,15,62]},{index:.13,rgb:[87,23,86]},{index:.25,rgb:[130,28,99]},{index:.38,rgb:[171,41,96]},{index:.5,rgb:[206,67,86]},{index:.63,rgb:[230,106,84]},{index:.75,rgb:[242,149,103]},{index:.88,rgb:[249,193,135]},{index:1,rgb:[254,237,176]}],chlorophyll:[{index:0,rgb:[18,36,20]},{index:.13,rgb:[25,63,41]},{index:.25,rgb:[24,91,59]},{index:.38,rgb:[13,119,72]},{index:.5,rgb:[18,148,80]},{index:.63,rgb:[80,173,89]},{index:.75,rgb:[132,196,122]},{index:.88,rgb:[175,221,162]},{index:1,rgb:[215,249,208]}],density:[{index:0,rgb:[54,14,36]},{index:.13,rgb:[89,23,80]},{index:.25,rgb:[110,45,132]},{index:.38,rgb:[120,77,178]},{index:.5,rgb:[120,113,213]},{index:.63,rgb:[115,151,228]},{index:.75,rgb:[134,185,227]},{index:.88,rgb:[177,214,227]},{index:1,rgb:[230,241,241]}],\"freesurface-blue\":[{index:0,rgb:[30,4,110]},{index:.13,rgb:[47,14,176]},{index:.25,rgb:[41,45,236]},{index:.38,rgb:[25,99,212]},{index:.5,rgb:[68,131,200]},{index:.63,rgb:[114,156,197]},{index:.75,rgb:[157,181,203]},{index:.88,rgb:[200,208,216]},{index:1,rgb:[241,237,236]}],\"freesurface-red\":[{index:0,rgb:[60,9,18]},{index:.13,rgb:[100,17,27]},{index:.25,rgb:[142,20,29]},{index:.38,rgb:[177,43,27]},{index:.5,rgb:[192,87,63]},{index:.63,rgb:[205,125,105]},{index:.75,rgb:[216,162,148]},{index:.88,rgb:[227,199,193]},{index:1,rgb:[241,237,236]}],oxygen:[{index:0,rgb:[64,5,5]},{index:.13,rgb:[106,6,15]},{index:.25,rgb:[144,26,7]},{index:.38,rgb:[168,64,3]},{index:.5,rgb:[188,100,4]},{index:.63,rgb:[206,136,11]},{index:.75,rgb:[220,174,25]},{index:.88,rgb:[231,215,44]},{index:1,rgb:[248,254,105]}],par:[{index:0,rgb:[51,20,24]},{index:.13,rgb:[90,32,35]},{index:.25,rgb:[129,44,34]},{index:.38,rgb:[159,68,25]},{index:.5,rgb:[182,99,19]},{index:.63,rgb:[199,134,22]},{index:.75,rgb:[212,171,35]},{index:.88,rgb:[221,210,54]},{index:1,rgb:[225,253,75]}],phase:[{index:0,rgb:[145,105,18]},{index:.13,rgb:[184,71,38]},{index:.25,rgb:[186,58,115]},{index:.38,rgb:[160,71,185]},{index:.5,rgb:[110,97,218]},{index:.63,rgb:[50,123,164]},{index:.75,rgb:[31,131,110]},{index:.88,rgb:[77,129,34]},{index:1,rgb:[145,105,18]}],salinity:[{index:0,rgb:[42,24,108]},{index:.13,rgb:[33,50,162]},{index:.25,rgb:[15,90,145]},{index:.38,rgb:[40,118,137]},{index:.5,rgb:[59,146,135]},{index:.63,rgb:[79,175,126]},{index:.75,rgb:[120,203,104]},{index:.88,rgb:[193,221,100]},{index:1,rgb:[253,239,154]}],temperature:[{index:0,rgb:[4,35,51]},{index:.13,rgb:[23,51,122]},{index:.25,rgb:[85,59,157]},{index:.38,rgb:[129,79,143]},{index:.5,rgb:[175,95,130]},{index:.63,rgb:[222,112,101]},{index:.75,rgb:[249,146,66]},{index:.88,rgb:[249,196,65]},{index:1,rgb:[232,250,91]}],turbidity:[{index:0,rgb:[34,31,27]},{index:.13,rgb:[65,50,41]},{index:.25,rgb:[98,69,52]},{index:.38,rgb:[131,89,57]},{index:.5,rgb:[161,112,59]},{index:.63,rgb:[185,140,66]},{index:.75,rgb:[202,174,88]},{index:.88,rgb:[216,209,126]},{index:1,rgb:[233,246,171]}],\"velocity-blue\":[{index:0,rgb:[17,32,64]},{index:.13,rgb:[35,52,116]},{index:.25,rgb:[29,81,156]},{index:.38,rgb:[31,113,162]},{index:.5,rgb:[50,144,169]},{index:.63,rgb:[87,173,176]},{index:.75,rgb:[149,196,189]},{index:.88,rgb:[203,221,211]},{index:1,rgb:[254,251,230]}],\"velocity-green\":[{index:0,rgb:[23,35,19]},{index:.13,rgb:[24,64,38]},{index:.25,rgb:[11,95,45]},{index:.38,rgb:[39,123,35]},{index:.5,rgb:[95,146,12]},{index:.63,rgb:[152,165,18]},{index:.75,rgb:[201,186,69]},{index:.88,rgb:[233,216,137]},{index:1,rgb:[255,253,205]}],cubehelix:[{index:0,rgb:[0,0,0]},{index:.07,rgb:[22,5,59]},{index:.13,rgb:[60,4,105]},{index:.2,rgb:[109,1,135]},{index:.27,rgb:[161,0,147]},{index:.33,rgb:[210,2,142]},{index:.4,rgb:[251,11,123]},{index:.47,rgb:[255,29,97]},{index:.53,rgb:[255,54,69]},{index:.6,rgb:[255,85,46]},{index:.67,rgb:[255,120,34]},{index:.73,rgb:[255,157,37]},{index:.8,rgb:[241,191,57]},{index:.87,rgb:[224,220,93]},{index:.93,rgb:[218,241,142]},{index:1,rgb:[227,253,198]}]}},{}],53:[function(t,e,r){\"use strict\";var n=t(\"./colorScale\"),i=t(\"lerp\");function a(t){return[t[0]/255,t[1]/255,t[2]/255,t[3]]}function o(t){for(var e,r=\"#\",n=0;n<3;++n)r+=(\"00\"+(e=(e=t[n]).toString(16))).substr(e.length);return r}function s(t){return\"rgba(\"+t.join(\",\")+\")\"}e.exports=function(t){var e,r,l,c,u,f,h,p,d,m;t||(t={});p=(t.nshades||72)-1,h=t.format||\"hex\",(f=t.colormap)||(f=\"jet\");if(\"string\"==typeof f){if(f=f.toLowerCase(),!n[f])throw Error(f+\" not a supported colorscale\");u=n[f]}else{if(!Array.isArray(f))throw Error(\"unsupported colormap option\",f);u=f.slice()}if(u.length>p+1)throw new Error(f+\" map requires nshades to be at least size \"+u.length);d=Array.isArray(t.alpha)?2!==t.alpha.length?[1,1]:t.alpha.slice():\"number\"==typeof t.alpha?[t.alpha,t.alpha]:[1,1];e=u.map((function(t){return Math.round(t.index*p)})),d[0]=Math.min(Math.max(d[0],0),1),d[1]=Math.min(Math.max(d[1],0),1);var g=u.map((function(t,e){var r=u[e].index,n=u[e].rgb.slice();return 4===n.length&&n[3]>=0&&n[3]<=1||(n[3]=d[0]+(d[1]-d[0])*r),n})),v=[];for(m=0;m0||l(t,e,a)?-1:1:0===s?c>0||l(t,e,r)?1:-1:i(c-s)}var h=n(t,e,r);return h>0?o>0&&n(t,e,a)>0?1:-1:h<0?o>0||n(t,e,a)>0?1:-1:n(t,e,a)>0||l(t,e,r)?1:-1};var n=t(\"robust-orientation\"),i=t(\"signum\"),a=t(\"two-sum\"),o=t(\"robust-product\"),s=t(\"robust-sum\");function l(t,e,r){var n=a(t[0],-e[0]),i=a(t[1],-e[1]),l=a(r[0],-e[0]),c=a(r[1],-e[1]),u=s(o(n,l),o(i,c));return u[u.length-1]>=0}},{\"robust-orientation\":284,\"robust-product\":285,\"robust-sum\":289,signum:55,\"two-sum\":307}],55:[function(t,e,r){\"use strict\";e.exports=function(t){return t<0?-1:t>0?1:0}},{}],56:[function(t,e,r){e.exports=function(t,e){var r=t.length,a=t.length-e.length;if(a)return a;switch(r){case 0:return 0;case 1:return t[0]-e[0];case 2:return t[0]+t[1]-e[0]-e[1]||n(t[0],t[1])-n(e[0],e[1]);case 3:var o=t[0]+t[1],s=e[0]+e[1];if(a=o+t[2]-(s+e[2]))return a;var l=n(t[0],t[1]),c=n(e[0],e[1]);return n(l,t[2])-n(c,e[2])||n(l+t[2],o)-n(c+e[2],s);case 4:var u=t[0],f=t[1],h=t[2],p=t[3],d=e[0],m=e[1],g=e[2],v=e[3];return u+f+h+p-(d+m+g+v)||n(u,f,h,p)-n(d,m,g,v,d)||n(u+f,u+h,u+p,f+h,f+p,h+p)-n(d+m,d+g,d+v,m+g,m+v,g+v)||n(u+f+h,u+f+p,u+h+p,f+h+p)-n(d+m+g,d+m+v,d+g+v,m+g+v);default:for(var y=t.slice().sort(i),x=e.slice().sort(i),b=0;bt[r][0]&&(r=n);return er?[[r],[e]]:[[e]]}},{}],60:[function(t,e,r){\"use strict\";e.exports=function(t){var e=n(t),r=e.length;if(r<=2)return[];for(var i=new Array(r),a=e[r-1],o=0;o=e[l]&&(s+=1);a[o]=s}}return t}(n(a,!0),r)}};var n=t(\"incremental-convex-hull\"),i=t(\"affine-hull\")},{\"affine-hull\":10,\"incremental-convex-hull\":233}],62:[function(t,e,r){\"use strict\";e.exports=function(t,e,r,n,i,a){var o=i-1,s=i*i,l=o*o,c=(1+2*i)*l,u=i*l,f=s*(3-2*i),h=s*o;if(t.length){a||(a=new Array(t.length));for(var p=t.length-1;p>=0;--p)a[p]=c*t[p]+u*e[p]+f*r[p]+h*n[p];return a}return c*t+u*e+f*r+h*n},e.exports.derivative=function(t,e,r,n,i,a){var o=6*i*i-6*i,s=3*i*i-4*i+1,l=-6*i*i+6*i,c=3*i*i-2*i;if(t.length){a||(a=new Array(t.length));for(var u=t.length-1;u>=0;--u)a[u]=o*t[u]+s*e[u]+l*r[u]+c*n[u];return a}return o*t+s*e+l*r[u]+c*n}},{}],63:[function(t,e,r){\"use strict\";var n=t(\"incremental-convex-hull\"),i=t(\"uniq\");function a(t,e){this.point=t,this.index=e}function o(t,e){for(var r=t.point,n=e.point,i=r.length,a=0;a=2)return!1;t[r]=n}return!0})):_.filter((function(t){for(var e=0;e<=s;++e){var r=v[t[e]];if(r<0)return!1;t[e]=r}return!0}));if(1&s)for(u=0;u<_.length;++u){h=(b=_[u])[0];b[0]=b[1],b[1]=h}return _}},{\"incremental-convex-hull\":233,uniq:310}],64:[function(t,e,r){(function(t){(function(){var r=!1;if(\"undefined\"!=typeof Float64Array){var n=new Float64Array(1),i=new Uint32Array(n.buffer);if(n[0]=1,r=!0,1072693248===i[1]){e.exports=function(t){return n[0]=t,[i[0],i[1]]},e.exports.pack=function(t,e){return i[0]=t,i[1]=e,n[0]},e.exports.lo=function(t){return n[0]=t,i[0]},e.exports.hi=function(t){return n[0]=t,i[1]}}else if(1072693248===i[0]){e.exports=function(t){return n[0]=t,[i[1],i[0]]},e.exports.pack=function(t,e){return i[1]=t,i[0]=e,n[0]},e.exports.lo=function(t){return n[0]=t,i[1]},e.exports.hi=function(t){return n[0]=t,i[0]}}else r=!1}if(!r){var a=new t(8);e.exports=function(t){return a.writeDoubleLE(t,0,!0),[a.readUInt32LE(0,!0),a.readUInt32LE(4,!0)]},e.exports.pack=function(t,e){return a.writeUInt32LE(t,0,!0),a.writeUInt32LE(e,4,!0),a.readDoubleLE(0,!0)},e.exports.lo=function(t){return a.writeDoubleLE(t,0,!0),a.readUInt32LE(0,!0)},e.exports.hi=function(t){return a.writeDoubleLE(t,0,!0),a.readUInt32LE(4,!0)}}e.exports.sign=function(t){return e.exports.hi(t)>>>31},e.exports.exponent=function(t){return(e.exports.hi(t)<<1>>>21)-1023},e.exports.fraction=function(t){var r=e.exports.lo(t),n=e.exports.hi(t),i=1048575&n;return 2146435072&n&&(i+=1<<20),[r,i]},e.exports.denormalized=function(t){return!(2146435072&e.exports.hi(t))}}).call(this)}).call(this,t(\"buffer\").Buffer)},{buffer:3}],65:[function(t,e,r){\"use strict\";e.exports=function(t,e){switch(void 0===e&&(e=0),typeof t){case\"number\":if(t>0)return function(t,e){var r,n;for(r=new Array(t),n=0;n=r-1){h=l.length-1;var d=t-e[r-1];for(p=0;p=r-1)for(var u=s.length-1,f=(e[r-1],0);f=0;--r)if(t[--e])return!1;return!0},s.jump=function(t){var e=this.lastT(),r=this.dimension;if(!(t0;--f)n.push(a(l[f-1],c[f-1],arguments[f])),i.push(0)}},s.push=function(t){var e=this.lastT(),r=this.dimension;if(!(t1e-6?1/s:0;this._time.push(t);for(var h=r;h>0;--h){var p=a(c[h-1],u[h-1],arguments[h]);n.push(p),i.push((p-n[o++])*f)}}},s.set=function(t){var e=this.dimension;if(!(t0;--l)r.push(a(o[l-1],s[l-1],arguments[l])),n.push(0)}},s.move=function(t){var e=this.lastT(),r=this.dimension;if(!(t<=e||arguments.length!==r+1)){var n=this._state,i=this._velocity,o=n.length-this.dimension,s=this.bounds,l=s[0],c=s[1],u=t-e,f=u>1e-6?1/u:0;this._time.push(t);for(var h=r;h>0;--h){var p=arguments[h];n.push(a(l[h-1],c[h-1],n[o++]+p)),i.push(p*f)}}},s.idle=function(t){var e=this.lastT();if(!(t=0;--f)n.push(a(l[f],c[f],n[o]+u*i[o])),i.push(0),o+=1}}},{\"binary-search-bounds\":31,\"cubic-hermite\":62}],69:[function(t,e,r){\"use strict\";e.exports=function(t){return new s(t||m,null)};function n(t,e,r,n,i,a){this._color=t,this.key=e,this.value=r,this.left=n,this.right=i,this._count=a}function i(t){return new n(t._color,t.key,t.value,t.left,t.right,t._count)}function a(t,e){return new n(t,e.key,e.value,e.left,e.right,e._count)}function o(t){t._count=1+(t.left?t.left._count:0)+(t.right?t.right._count:0)}function s(t,e){this._compare=t,this.root=e}var l=s.prototype;function c(t,e){var r;if(e.left&&(r=c(t,e.left)))return r;return(r=t(e.key,e.value))||(e.right?c(t,e.right):void 0)}function u(t,e,r,n){if(e(t,n.key)<=0){var i;if(n.left)if(i=u(t,e,r,n.left))return i;if(i=r(n.key,n.value))return i}if(n.right)return u(t,e,r,n.right)}function f(t,e,r,n,i){var a,o=r(t,i.key),s=r(e,i.key);if(o<=0){if(i.left&&(a=f(t,e,r,n,i.left)))return a;if(s>0&&(a=n(i.key,i.value)))return a}if(s>0&&i.right)return f(t,e,r,n,i.right)}function h(t,e){this.tree=t,this._stack=e}Object.defineProperty(l,\"keys\",{get:function(){var t=[];return this.forEach((function(e,r){t.push(e)})),t}}),Object.defineProperty(l,\"values\",{get:function(){var t=[];return this.forEach((function(e,r){t.push(r)})),t}}),Object.defineProperty(l,\"length\",{get:function(){return this.root?this.root._count:0}}),l.insert=function(t,e){for(var r=this._compare,i=this.root,l=[],c=[];i;){var u=r(t,i.key);l.push(i),c.push(u),i=u<=0?i.left:i.right}l.push(new n(0,t,e,null,null,1));for(var f=l.length-2;f>=0;--f){i=l[f];c[f]<=0?l[f]=new n(i._color,i.key,i.value,l[f+1],i.right,i._count+1):l[f]=new n(i._color,i.key,i.value,i.left,l[f+1],i._count+1)}for(f=l.length-1;f>1;--f){var h=l[f-1];i=l[f];if(1===h._color||1===i._color)break;var p=l[f-2];if(p.left===h)if(h.left===i){if(!(d=p.right)||0!==d._color){if(p._color=0,p.left=h.right,h._color=1,h.right=p,l[f-2]=h,l[f-1]=i,o(p),o(h),f>=3)(m=l[f-3]).left===p?m.left=h:m.right=h;break}h._color=1,p.right=a(1,d),p._color=0,f-=1}else{if(!(d=p.right)||0!==d._color){if(h.right=i.left,p._color=0,p.left=i.right,i._color=1,i.left=h,i.right=p,l[f-2]=i,l[f-1]=h,o(p),o(h),o(i),f>=3)(m=l[f-3]).left===p?m.left=i:m.right=i;break}h._color=1,p.right=a(1,d),p._color=0,f-=1}else if(h.right===i){if(!(d=p.left)||0!==d._color){if(p._color=0,p.right=h.left,h._color=1,h.left=p,l[f-2]=h,l[f-1]=i,o(p),o(h),f>=3)(m=l[f-3]).right===p?m.right=h:m.left=h;break}h._color=1,p.left=a(1,d),p._color=0,f-=1}else{var d;if(!(d=p.left)||0!==d._color){var m;if(h.left=i.right,p._color=0,p.right=i.left,i._color=1,i.right=h,i.left=p,l[f-2]=i,l[f-1]=h,o(p),o(h),o(i),f>=3)(m=l[f-3]).right===p?m.right=i:m.left=i;break}h._color=1,p.left=a(1,d),p._color=0,f-=1}}return l[0]._color=1,new s(r,l[0])},l.forEach=function(t,e,r){if(this.root)switch(arguments.length){case 1:return c(t,this.root);case 2:return u(e,this._compare,t,this.root);case 3:if(this._compare(e,r)>=0)return;return f(e,r,this._compare,t,this.root)}},Object.defineProperty(l,\"begin\",{get:function(){for(var t=[],e=this.root;e;)t.push(e),e=e.left;return new h(this,t)}}),Object.defineProperty(l,\"end\",{get:function(){for(var t=[],e=this.root;e;)t.push(e),e=e.right;return new h(this,t)}}),l.at=function(t){if(t<0)return new h(this,[]);for(var e=this.root,r=[];;){if(r.push(e),e.left){if(t=e.right._count)break;e=e.right}return new h(this,[])},l.ge=function(t){for(var e=this._compare,r=this.root,n=[],i=0;r;){var a=e(t,r.key);n.push(r),a<=0&&(i=n.length),r=a<=0?r.left:r.right}return n.length=i,new h(this,n)},l.gt=function(t){for(var e=this._compare,r=this.root,n=[],i=0;r;){var a=e(t,r.key);n.push(r),a<0&&(i=n.length),r=a<0?r.left:r.right}return n.length=i,new h(this,n)},l.lt=function(t){for(var e=this._compare,r=this.root,n=[],i=0;r;){var a=e(t,r.key);n.push(r),a>0&&(i=n.length),r=a<=0?r.left:r.right}return n.length=i,new h(this,n)},l.le=function(t){for(var e=this._compare,r=this.root,n=[],i=0;r;){var a=e(t,r.key);n.push(r),a>=0&&(i=n.length),r=a<0?r.left:r.right}return n.length=i,new h(this,n)},l.find=function(t){for(var e=this._compare,r=this.root,n=[];r;){var i=e(t,r.key);if(n.push(r),0===i)return new h(this,n);r=i<=0?r.left:r.right}return new h(this,[])},l.remove=function(t){var e=this.find(t);return e?e.remove():this},l.get=function(t){for(var e=this._compare,r=this.root;r;){var n=e(t,r.key);if(0===n)return r.value;r=n<=0?r.left:r.right}};var p=h.prototype;function d(t,e){t.key=e.key,t.value=e.value,t.left=e.left,t.right=e.right,t._color=e._color,t._count=e._count}function m(t,e){return te?1:0}Object.defineProperty(p,\"valid\",{get:function(){return this._stack.length>0}}),Object.defineProperty(p,\"node\",{get:function(){return this._stack.length>0?this._stack[this._stack.length-1]:null},enumerable:!0}),p.clone=function(){return new h(this.tree,this._stack.slice())},p.remove=function(){var t=this._stack;if(0===t.length)return this.tree;var e=new Array(t.length),r=t[t.length-1];e[e.length-1]=new n(r._color,r.key,r.value,r.left,r.right,r._count);for(var l=t.length-2;l>=0;--l){(r=t[l]).left===t[l+1]?e[l]=new n(r._color,r.key,r.value,e[l+1],r.right,r._count):e[l]=new n(r._color,r.key,r.value,r.left,e[l+1],r._count)}if((r=e[e.length-1]).left&&r.right){var c=e.length;for(r=r.left;r.right;)e.push(r),r=r.right;var u=e[c-1];e.push(new n(r._color,u.key,u.value,r.left,r.right,r._count)),e[c-1].key=r.key,e[c-1].value=r.value;for(l=e.length-2;l>=c;--l)r=e[l],e[l]=new n(r._color,r.key,r.value,r.left,e[l+1],r._count);e[c-1].left=e[c]}if(0===(r=e[e.length-1])._color){var f=e[e.length-2];f.left===r?f.left=null:f.right===r&&(f.right=null),e.pop();for(l=0;l=0;--l){if(e=t[l],0===l)return void(e._color=1);if((r=t[l-1]).left===e){if((n=r.right).right&&0===n.right._color){if(s=(n=r.right=i(n)).right=i(n.right),r.right=n.left,n.left=r,n.right=s,n._color=r._color,e._color=1,r._color=1,s._color=1,o(r),o(n),l>1)(c=t[l-2]).left===r?c.left=n:c.right=n;return void(t[l-1]=n)}if(n.left&&0===n.left._color){if(s=(n=r.right=i(n)).left=i(n.left),r.right=s.left,n.left=s.right,s.left=r,s.right=n,s._color=r._color,r._color=1,n._color=1,e._color=1,o(r),o(n),o(s),l>1)(c=t[l-2]).left===r?c.left=s:c.right=s;return void(t[l-1]=s)}if(1===n._color){if(0===r._color)return r._color=1,void(r.right=a(0,n));r.right=a(0,n);continue}n=i(n),r.right=n.left,n.left=r,n._color=r._color,r._color=0,o(r),o(n),l>1&&((c=t[l-2]).left===r?c.left=n:c.right=n),t[l-1]=n,t[l]=r,l+11)(c=t[l-2]).right===r?c.right=n:c.left=n;return void(t[l-1]=n)}if(n.right&&0===n.right._color){if(s=(n=r.left=i(n)).right=i(n.right),r.left=s.right,n.right=s.left,s.right=r,s.left=n,s._color=r._color,r._color=1,n._color=1,e._color=1,o(r),o(n),o(s),l>1)(c=t[l-2]).right===r?c.right=s:c.left=s;return void(t[l-1]=s)}if(1===n._color){if(0===r._color)return r._color=1,void(r.left=a(0,n));r.left=a(0,n);continue}var c;n=i(n),r.left=n.right,n.right=r,n._color=r._color,r._color=0,o(r),o(n),l>1&&((c=t[l-2]).right===r?c.right=n:c.left=n),t[l-1]=n,t[l]=r,l+10)return this._stack[this._stack.length-1].key},enumerable:!0}),Object.defineProperty(p,\"value\",{get:function(){if(this._stack.length>0)return this._stack[this._stack.length-1].value},enumerable:!0}),Object.defineProperty(p,\"index\",{get:function(){var t=0,e=this._stack;if(0===e.length){var r=this.tree.root;return r?r._count:0}e[e.length-1].left&&(t=e[e.length-1].left._count);for(var n=e.length-2;n>=0;--n)e[n+1]===e[n].right&&(++t,e[n].left&&(t+=e[n].left._count));return t},enumerable:!0}),p.next=function(){var t=this._stack;if(0!==t.length){var e=t[t.length-1];if(e.right)for(e=e.right;e;)t.push(e),e=e.left;else for(t.pop();t.length>0&&t[t.length-1].right===e;)e=t[t.length-1],t.pop()}},Object.defineProperty(p,\"hasNext\",{get:function(){var t=this._stack;if(0===t.length)return!1;if(t[t.length-1].right)return!0;for(var e=t.length-1;e>0;--e)if(t[e-1].left===t[e])return!0;return!1}}),p.update=function(t){var e=this._stack;if(0===e.length)throw new Error(\"Can't update empty node!\");var r=new Array(e.length),i=e[e.length-1];r[r.length-1]=new n(i._color,i.key,t,i.left,i.right,i._count);for(var a=e.length-2;a>=0;--a)(i=e[a]).left===e[a+1]?r[a]=new n(i._color,i.key,i.value,r[a+1],i.right,i._count):r[a]=new n(i._color,i.key,i.value,i.left,r[a+1],i._count);return new s(this.tree._compare,r[0])},p.prev=function(){var t=this._stack;if(0!==t.length){var e=t[t.length-1];if(e.left)for(e=e.left;e;)t.push(e),e=e.right;else for(t.pop();t.length>0&&t[t.length-1].left===e;)e=t[t.length-1],t.pop()}},Object.defineProperty(p,\"hasPrev\",{get:function(){var t=this._stack;if(0===t.length)return!1;if(t[t.length-1].left)return!0;for(var e=t.length-1;e>0;--e)if(t[e-1].right===t[e])return!0;return!1}})},{}],70:[function(t,e,r){\"use strict\";e.exports=function(t,e){var r=new u(t);return r.update(e),r};var n=t(\"./lib/text.js\"),i=t(\"./lib/lines.js\"),a=t(\"./lib/background.js\"),o=t(\"./lib/cube.js\"),s=t(\"./lib/ticks.js\"),l=new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]);function c(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}function u(t){this.gl=t,this.pixelRatio=1,this.bounds=[[-10,-10,-10],[10,10,10]],this.ticks=[[],[],[]],this.autoTicks=!0,this.tickSpacing=[1,1,1],this.tickEnable=[!0,!0,!0],this.tickFont=[\"sans-serif\",\"sans-serif\",\"sans-serif\"],this.tickSize=[12,12,12],this.tickAngle=[0,0,0],this.tickAlign=[\"auto\",\"auto\",\"auto\"],this.tickColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.tickPad=[10,10,10],this.lastCubeProps={cubeEdges:[0,0,0],axis:[0,0,0]},this.labels=[\"x\",\"y\",\"z\"],this.labelEnable=[!0,!0,!0],this.labelFont=\"sans-serif\",this.labelSize=[20,20,20],this.labelAngle=[0,0,0],this.labelAlign=[\"auto\",\"auto\",\"auto\"],this.labelColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.labelPad=[10,10,10],this.lineEnable=[!0,!0,!0],this.lineMirror=[!1,!1,!1],this.lineWidth=[1,1,1],this.lineColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.lineTickEnable=[!0,!0,!0],this.lineTickMirror=[!1,!1,!1],this.lineTickLength=[0,0,0],this.lineTickWidth=[1,1,1],this.lineTickColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.gridEnable=[!0,!0,!0],this.gridWidth=[1,1,1],this.gridColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.zeroEnable=[!0,!0,!0],this.zeroLineColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.zeroLineWidth=[2,2,2],this.backgroundEnable=[!1,!1,!1],this.backgroundColor=[[.8,.8,.8,.5],[.8,.8,.8,.5],[.8,.8,.8,.5]],this._firstInit=!0,this._text=null,this._lines=null,this._background=a(t)}var f=u.prototype;function h(){this.primalOffset=[0,0,0],this.primalMinor=[0,0,0],this.mirrorOffset=[0,0,0],this.mirrorMinor=[0,0,0]}f.update=function(t){function e(e,r,n){if(n in t){var i,a=t[n],o=this[n];(e?Array.isArray(a)&&Array.isArray(a[0]):Array.isArray(a))?this[n]=i=[r(a[0]),r(a[1]),r(a[2])]:this[n]=i=[r(a),r(a),r(a)];for(var s=0;s<3;++s)if(i[s]!==o[s])return!0}return!1}t=t||{};var r,a=e.bind(this,!1,Number),o=e.bind(this,!1,Boolean),l=e.bind(this,!1,String),c=e.bind(this,!0,(function(t){if(Array.isArray(t)){if(3===t.length)return[+t[0],+t[1],+t[2],1];if(4===t.length)return[+t[0],+t[1],+t[2],+t[3]]}return[0,0,0,1]})),u=!1,f=!1;if(\"bounds\"in t)for(var h=t.bounds,p=0;p<2;++p)for(var d=0;d<3;++d)h[p][d]!==this.bounds[p][d]&&(f=!0),this.bounds[p][d]=h[p][d];if(\"ticks\"in t){r=t.ticks,u=!0,this.autoTicks=!1;for(p=0;p<3;++p)this.tickSpacing[p]=0}else a(\"tickSpacing\")&&(this.autoTicks=!0,f=!0);if(this._firstInit&&(\"ticks\"in t||\"tickSpacing\"in t||(this.autoTicks=!0),f=!0,u=!0,this._firstInit=!1),f&&this.autoTicks&&(r=s.create(this.bounds,this.tickSpacing),u=!0),u){for(p=0;p<3;++p)r[p].sort((function(t,e){return t.x-e.x}));s.equal(r,this.ticks)?u=!1:this.ticks=r}o(\"tickEnable\"),l(\"tickFont\")&&(u=!0),a(\"tickSize\"),a(\"tickAngle\"),a(\"tickPad\"),c(\"tickColor\");var m=l(\"labels\");l(\"labelFont\")&&(m=!0),o(\"labelEnable\"),a(\"labelSize\"),a(\"labelPad\"),c(\"labelColor\"),o(\"lineEnable\"),o(\"lineMirror\"),a(\"lineWidth\"),c(\"lineColor\"),o(\"lineTickEnable\"),o(\"lineTickMirror\"),a(\"lineTickLength\"),a(\"lineTickWidth\"),c(\"lineTickColor\"),o(\"gridEnable\"),a(\"gridWidth\"),c(\"gridColor\"),o(\"zeroEnable\"),c(\"zeroLineColor\"),a(\"zeroLineWidth\"),o(\"backgroundEnable\"),c(\"backgroundColor\"),this._text?this._text&&(m||u)&&this._text.update(this.bounds,this.labels,this.labelFont,this.ticks,this.tickFont):this._text=n(this.gl,this.bounds,this.labels,this.labelFont,this.ticks,this.tickFont),this._lines&&u&&(this._lines.dispose(),this._lines=null),this._lines||(this._lines=i(this.gl,this.bounds,this.ticks))};var p=[new h,new h,new h];function d(t,e,r,n,i){for(var a=t.primalOffset,o=t.primalMinor,s=t.mirrorOffset,l=t.mirrorMinor,c=n[e],u=0;u<3;++u)if(e!==u){var f=a,h=s,p=o,d=l;c&1<0?(p[u]=-1,d[u]=0):(p[u]=0,d[u]=1)}}var m=[0,0,0],g={model:l,view:l,projection:l,_ortho:!1};f.isOpaque=function(){return!0},f.isTransparent=function(){return!1},f.drawTransparent=function(t){};var v=[0,0,0],y=[0,0,0],x=[0,0,0];f.draw=function(t){t=t||g;for(var e=this.gl,r=t.model||l,n=t.view||l,i=t.projection||l,a=this.bounds,s=t._ortho||!1,u=o(r,n,i,a,s),f=u.cubeEdges,h=u.axis,b=n[12],_=n[13],w=n[14],T=n[15],k=(s?2:1)*this.pixelRatio*(i[3]*b+i[7]*_+i[11]*w+i[15]*T)/e.drawingBufferHeight,A=0;A<3;++A)this.lastCubeProps.cubeEdges[A]=f[A],this.lastCubeProps.axis[A]=h[A];var M=p;for(A=0;A<3;++A)d(p[A],A,this.bounds,f,h);e=this.gl;var S,E=m;for(A=0;A<3;++A)this.backgroundEnable[A]?E[A]=h[A]:E[A]=0;this._background.draw(r,n,i,a,E,this.backgroundColor),this._lines.bind(r,n,i,this);for(A=0;A<3;++A){var L=[0,0,0];h[A]>0?L[A]=a[1][A]:L[A]=a[0][A];for(var C=0;C<2;++C){var P=(A+1+C)%3,I=(A+1+(1^C))%3;this.gridEnable[P]&&this._lines.drawGrid(P,I,this.bounds,L,this.gridColor[P],this.gridWidth[P]*this.pixelRatio)}for(C=0;C<2;++C){P=(A+1+C)%3,I=(A+1+(1^C))%3;this.zeroEnable[I]&&Math.min(a[0][I],a[1][I])<=0&&Math.max(a[0][I],a[1][I])>=0&&this._lines.drawZero(P,I,this.bounds,L,this.zeroLineColor[I],this.zeroLineWidth[I]*this.pixelRatio)}}for(A=0;A<3;++A){this.lineEnable[A]&&this._lines.drawAxisLine(A,this.bounds,M[A].primalOffset,this.lineColor[A],this.lineWidth[A]*this.pixelRatio),this.lineMirror[A]&&this._lines.drawAxisLine(A,this.bounds,M[A].mirrorOffset,this.lineColor[A],this.lineWidth[A]*this.pixelRatio);var O=c(v,M[A].primalMinor),z=c(y,M[A].mirrorMinor),D=this.lineTickLength;for(C=0;C<3;++C){var R=k/r[5*C];O[C]*=D[C]*R,z[C]*=D[C]*R}this.lineTickEnable[A]&&this._lines.drawAxisTicks(A,M[A].primalOffset,O,this.lineTickColor[A],this.lineTickWidth[A]*this.pixelRatio),this.lineTickMirror[A]&&this._lines.drawAxisTicks(A,M[A].mirrorOffset,z,this.lineTickColor[A],this.lineTickWidth[A]*this.pixelRatio)}this._lines.unbind(),this._text.bind(r,n,i,this.pixelRatio);var F,B;function N(t){(B=[0,0,0])[t]=1}function j(t,e,r){var n=(t+1)%3,i=(t+2)%3,a=e[n],o=e[i],s=r[n],l=r[i];a>0&&l>0||a>0&&l<0||a<0&&l>0||a<0&&l<0?N(n):(o>0&&s>0||o>0&&s<0||o<0&&s>0||o<0&&s<0)&&N(i)}for(A=0;A<3;++A){var U=M[A].primalMinor,V=M[A].mirrorMinor,H=c(x,M[A].primalOffset);for(C=0;C<3;++C)this.lineTickEnable[A]&&(H[C]+=k*U[C]*Math.max(this.lineTickLength[C],0)/r[5*C]);var q=[0,0,0];if(q[A]=1,this.tickEnable[A]){-3600===this.tickAngle[A]?(this.tickAngle[A]=0,this.tickAlign[A]=\"auto\"):this.tickAlign[A]=-1,F=1,\"auto\"===(S=[this.tickAlign[A],.5,F])[0]?S[0]=0:S[0]=parseInt(\"\"+S[0]),B=[0,0,0],j(A,U,V);for(C=0;C<3;++C)H[C]+=k*U[C]*this.tickPad[C]/r[5*C];this._text.drawTicks(A,this.tickSize[A],this.tickAngle[A],H,this.tickColor[A],q,B,S)}if(this.labelEnable[A]){F=0,B=[0,0,0],this.labels[A].length>4&&(N(A),F=1),\"auto\"===(S=[this.labelAlign[A],.5,F])[0]?S[0]=0:S[0]=parseInt(\"\"+S[0]);for(C=0;C<3;++C)H[C]+=k*U[C]*this.labelPad[C]/r[5*C];H[A]+=.5*(a[0][A]+a[1][A]),this._text.drawLabel(A,this.labelSize[A],this.labelAngle[A],H,this.labelColor[A],[0,0,0],B,S)}}this._text.unbind()},f.dispose=function(){this._text.dispose(),this._lines.dispose(),this._background.dispose(),this._lines=null,this._text=null,this._background=null,this.gl=null}},{\"./lib/background.js\":71,\"./lib/cube.js\":72,\"./lib/lines.js\":73,\"./lib/text.js\":75,\"./lib/ticks.js\":76}],71:[function(t,e,r){\"use strict\";e.exports=function(t){for(var e=[],r=[],s=0,l=0;l<3;++l)for(var c=(l+1)%3,u=(l+2)%3,f=[0,0,0],h=[0,0,0],p=-1;p<=1;p+=2){r.push(s,s+2,s+1,s+1,s+2,s+3),f[l]=p,h[l]=p;for(var d=-1;d<=1;d+=2){f[c]=d;for(var m=-1;m<=1;m+=2)f[u]=m,e.push(f[0],f[1],f[2],h[0],h[1],h[2]),s+=1}var g=c;c=u,u=g}var v=n(t,new Float32Array(e)),y=n(t,new Uint16Array(r),t.ELEMENT_ARRAY_BUFFER),x=i(t,[{buffer:v,type:t.FLOAT,size:3,offset:0,stride:24},{buffer:v,type:t.FLOAT,size:3,offset:12,stride:24}],y),b=a(t);return b.attributes.position.location=0,b.attributes.normal.location=1,new o(t,v,x,b)};var n=t(\"gl-buffer\"),i=t(\"gl-vao\"),a=t(\"./shaders\").bg;function o(t,e,r,n){this.gl=t,this.buffer=e,this.vao=r,this.shader=n}var s=o.prototype;s.draw=function(t,e,r,n,i,a){for(var o=!1,s=0;s<3;++s)o=o||i[s];if(o){var l=this.gl;l.enable(l.POLYGON_OFFSET_FILL),l.polygonOffset(1,2),this.shader.bind(),this.shader.uniforms={model:t,view:e,projection:r,bounds:n,enable:i,colors:a},this.vao.bind(),this.vao.draw(this.gl.TRIANGLES,36),this.vao.unbind(),l.disable(l.POLYGON_OFFSET_FILL)}},s.dispose=function(){this.vao.dispose(),this.buffer.dispose(),this.shader.dispose()}},{\"./shaders\":74,\"gl-buffer\":78,\"gl-vao\":150}],72:[function(t,e,r){\"use strict\";e.exports=function(t,e,r,a,p){i(s,e,t),i(s,r,s);for(var y=0,x=0;x<2;++x){u[2]=a[x][2];for(var b=0;b<2;++b){u[1]=a[b][1];for(var _=0;_<2;++_)u[0]=a[_][0],h(l[y],u,s),y+=1}}var w=-1;for(x=0;x<8;++x){for(var T=l[x][3],k=0;k<3;++k)c[x][k]=l[x][k]/T;p&&(c[x][2]*=-1),T<0&&(w<0||c[x][2]E&&(w|=1<E&&(w|=1<c[x][1])&&(R=x);var F=-1;for(x=0;x<3;++x){if((N=R^1<c[B][0]&&(B=N)}var j=m;j[0]=j[1]=j[2]=0,j[n.log2(F^R)]=R&F,j[n.log2(R^B)]=R&B;var U=7^B;U===w||U===D?(U=7^F,j[n.log2(B^U)]=U&B):j[n.log2(F^U)]=U&F;var V=g,H=w;for(A=0;A<3;++A)V[A]=H&1< HALF_PI) && (b <= ONE_AND_HALF_PI)) ?\\n b - PI :\\n b;\\n}\\n\\nfloat look_horizontal_or_vertical(float a, float ratio) {\\n // ratio controls the ratio between being horizontal to (vertical + horizontal)\\n // if ratio is set to 0.5 then it is 50%, 50%.\\n // when using a higher ratio e.g. 0.75 the result would\\n // likely be more horizontal than vertical.\\n\\n float b = positive_angle(a);\\n\\n return\\n (b < ( ratio) * HALF_PI) ? 0.0 :\\n (b < (2.0 - ratio) * HALF_PI) ? -HALF_PI :\\n (b < (2.0 + ratio) * HALF_PI) ? 0.0 :\\n (b < (4.0 - ratio) * HALF_PI) ? HALF_PI :\\n 0.0;\\n}\\n\\nfloat roundTo(float a, float b) {\\n return float(b * floor((a + 0.5 * b) / b));\\n}\\n\\nfloat look_round_n_directions(float a, int n) {\\n float b = positive_angle(a);\\n float div = TWO_PI / float(n);\\n float c = roundTo(b, div);\\n return look_upwards(c);\\n}\\n\\nfloat applyAlignOption(float rawAngle, float delta) {\\n return\\n (option > 2) ? look_round_n_directions(rawAngle + delta, option) : // option 3-n: round to n directions\\n (option == 2) ? look_horizontal_or_vertical(rawAngle + delta, hv_ratio) : // horizontal or vertical\\n (option == 1) ? rawAngle + delta : // use free angle, and flip to align with one direction of the axis\\n (option == 0) ? look_upwards(rawAngle) : // use free angle, and stay upwards\\n (option ==-1) ? 0.0 : // useful for backward compatibility, all texts remains horizontal\\n rawAngle; // otherwise return back raw input angle\\n}\\n\\nbool isAxisTitle = (axis.x == 0.0) &&\\n (axis.y == 0.0) &&\\n (axis.z == 0.0);\\n\\nvoid main() {\\n //Compute world offset\\n float axisDistance = position.z;\\n vec3 dataPosition = axisDistance * axis + offset;\\n\\n float beta = angle; // i.e. user defined attributes for each tick\\n\\n float axisAngle;\\n float clipAngle;\\n float flip;\\n\\n if (enableAlign) {\\n axisAngle = (isAxisTitle) ? HALF_PI :\\n computeViewAngle(dataPosition, dataPosition + axis);\\n clipAngle = computeViewAngle(dataPosition, dataPosition + alignDir);\\n\\n axisAngle += (sin(axisAngle) < 0.0) ? PI : 0.0;\\n clipAngle += (sin(clipAngle) < 0.0) ? PI : 0.0;\\n\\n flip = (dot(vec2(cos(axisAngle), sin(axisAngle)),\\n vec2(sin(clipAngle),-cos(clipAngle))) > 0.0) ? 1.0 : 0.0;\\n\\n beta += applyAlignOption(clipAngle, flip * PI);\\n }\\n\\n //Compute plane offset\\n vec2 planeCoord = position.xy * pixelScale;\\n\\n mat2 planeXform = scale * mat2(\\n cos(beta), sin(beta),\\n -sin(beta), cos(beta)\\n );\\n\\n vec2 viewOffset = 2.0 * planeXform * planeCoord / resolution;\\n\\n //Compute clip position\\n vec3 clipPosition = project(dataPosition);\\n\\n //Apply text offset in clip coordinates\\n clipPosition += vec3(viewOffset, 0.0);\\n\\n //Done\\n gl_Position = vec4(clipPosition, 1.0);\\n}\"]),l=n([\"precision highp float;\\n#define GLSLIFY 1\\n\\nuniform vec4 color;\\nvoid main() {\\n gl_FragColor = color;\\n}\"]);r.text=function(t){return i(t,s,l,null,[{name:\"position\",type:\"vec3\"}])};var c=n([\"precision highp float;\\n#define GLSLIFY 1\\n\\nattribute vec3 position;\\nattribute vec3 normal;\\n\\nuniform mat4 model, view, projection;\\nuniform vec3 enable;\\nuniform vec3 bounds[2];\\n\\nvarying vec3 colorChannel;\\n\\nvoid main() {\\n\\n vec3 signAxis = sign(bounds[1] - bounds[0]);\\n\\n vec3 realNormal = signAxis * normal;\\n\\n if(dot(realNormal, enable) > 0.0) {\\n vec3 minRange = min(bounds[0], bounds[1]);\\n vec3 maxRange = max(bounds[0], bounds[1]);\\n vec3 nPosition = mix(minRange, maxRange, 0.5 * (position + 1.0));\\n gl_Position = projection * view * model * vec4(nPosition, 1.0);\\n } else {\\n gl_Position = vec4(0,0,0,0);\\n }\\n\\n colorChannel = abs(realNormal);\\n}\"]),u=n([\"precision highp float;\\n#define GLSLIFY 1\\n\\nuniform vec4 colors[3];\\n\\nvarying vec3 colorChannel;\\n\\nvoid main() {\\n gl_FragColor = colorChannel.x * colors[0] +\\n colorChannel.y * colors[1] +\\n colorChannel.z * colors[2];\\n}\"]);r.bg=function(t){return i(t,c,u,null,[{name:\"position\",type:\"vec3\"},{name:\"normal\",type:\"vec3\"}])}},{\"gl-shader\":132,glslify:231}],75:[function(t,e,r){(function(r){(function(){\"use strict\";e.exports=function(t,e,r,a,s,l){var u=n(t),f=i(t,[{buffer:u,size:3}]),h=o(t);h.attributes.position.location=0;var p=new c(t,h,u,f);return p.update(e,r,a,s,l),p};var n=t(\"gl-buffer\"),i=t(\"gl-vao\"),a=t(\"vectorize-text\"),o=t(\"./shaders\").text,s=window||r.global||{},l=s.__TEXT_CACHE||{};s.__TEXT_CACHE={};function c(t,e,r,n){this.gl=t,this.shader=e,this.buffer=r,this.vao=n,this.tickOffset=this.tickCount=this.labelOffset=this.labelCount=null}var u=c.prototype,f=[0,0];u.bind=function(t,e,r,n){this.vao.bind(),this.shader.bind();var i=this.shader.uniforms;i.model=t,i.view=e,i.projection=r,i.pixelScale=n,f[0]=this.gl.drawingBufferWidth,f[1]=this.gl.drawingBufferHeight,this.shader.uniforms.resolution=f},u.unbind=function(){this.vao.unbind()},u.update=function(t,e,r,n,i){var o=[];function s(t,e,r,n,i,s){var c=l[r];c||(c=l[r]={});var u=c[e];u||(u=c[e]=function(t,e){try{return a(t,e)}catch(e){return console.warn('error vectorizing text:\"'+t+'\" error:',e),{cells:[],positions:[]}}}(e,{triangles:!0,font:r,textAlign:\"center\",textBaseline:\"middle\",lineSpacing:i,styletags:s}));for(var f=(n||12)/12,h=u.positions,p=u.cells,d=0,m=p.length;d=0;--v){var y=h[g[v]];o.push(f*y[0],-f*y[1],t)}}for(var c=[0,0,0],u=[0,0,0],f=[0,0,0],h=[0,0,0],p={breaklines:!0,bolds:!0,italics:!0,subscripts:!0,superscripts:!0},d=0;d<3;++d){f[d]=o.length/3|0,s(.5*(t[0][d]+t[1][d]),e[d],r[d],12,1.25,p),h[d]=(o.length/3|0)-f[d],c[d]=o.length/3|0;for(var m=0;m=0&&(i=r.length-n-1);var a=Math.pow(10,i),o=Math.round(t*e*a),s=o+\"\";if(s.indexOf(\"e\")>=0)return s;var l=o/a,c=o%a;o<0?(l=0|-Math.ceil(l),c=0|-c):(l=0|Math.floor(l),c|=0);var u=\"\"+l;if(o<0&&(u=\"-\"+u),i){for(var f=\"\"+c;f.length=t[0][i];--o)a.push({x:o*e[i],text:n(e[i],o)});r.push(a)}return r},r.equal=function(t,e){for(var r=0;r<3;++r){if(t[r].length!==e[r].length)return!1;for(var n=0;nr)throw new Error(\"gl-buffer: If resizing buffer, must not specify offset\");return t.bufferSubData(e,a,i),r}function u(t,e){for(var r=n.malloc(t.length,e),i=t.length,a=0;a=0;--n){if(e[n]!==r)return!1;r*=t[n]}return!0}(t.shape,t.stride))0===t.offset&&t.data.length===t.shape[0]?this.length=c(this.gl,this.type,this.length,this.usage,t.data,e):this.length=c(this.gl,this.type,this.length,this.usage,t.data.subarray(t.offset,t.shape[0]),e);else{var s=n.malloc(t.size,r),l=a(s,t.shape);i.assign(l,t),this.length=c(this.gl,this.type,this.length,this.usage,e<0?s:s.subarray(0,t.size),e),n.free(s)}}else if(Array.isArray(t)){var f;f=this.type===this.gl.ELEMENT_ARRAY_BUFFER?u(t,\"uint16\"):u(t,\"float32\"),this.length=c(this.gl,this.type,this.length,this.usage,e<0?f:f.subarray(0,t.length),e),n.free(f)}else if(\"object\"==typeof t&&\"number\"==typeof t.length)this.length=c(this.gl,this.type,this.length,this.usage,t,e);else{if(\"number\"!=typeof t&&void 0!==t)throw new Error(\"gl-buffer: Invalid data type\");if(e>=0)throw new Error(\"gl-buffer: Cannot specify offset when resizing buffer\");(t|=0)<=0&&(t=1),this.gl.bufferData(this.type,0|t,this.usage),this.length=t}},e.exports=function(t,e,r,n){if(r=r||t.ARRAY_BUFFER,n=n||t.DYNAMIC_DRAW,r!==t.ARRAY_BUFFER&&r!==t.ELEMENT_ARRAY_BUFFER)throw new Error(\"gl-buffer: Invalid type for webgl buffer, must be either gl.ARRAY_BUFFER or gl.ELEMENT_ARRAY_BUFFER\");if(n!==t.DYNAMIC_DRAW&&n!==t.STATIC_DRAW&&n!==t.STREAM_DRAW)throw new Error(\"gl-buffer: Invalid usage for buffer, must be either gl.DYNAMIC_DRAW, gl.STATIC_DRAW or gl.STREAM_DRAW\");var i=t.createBuffer(),a=new s(t,r,i,0,n);return a.update(e),a}},{ndarray:259,\"ndarray-ops\":254,\"typedarray-pool\":308}],79:[function(t,e,r){\"use strict\";var n=t(\"gl-vec3\");e.exports=function(t,e){var r=t.positions,i=t.vectors,a={positions:[],vertexIntensity:[],vertexIntensityBounds:t.vertexIntensityBounds,vectors:[],cells:[],coneOffset:t.coneOffset,colormap:t.colormap};if(0===t.positions.length)return e&&(e[0]=[0,0,0],e[1]=[0,0,0]),a;for(var o=0,s=1/0,l=-1/0,c=1/0,u=-1/0,f=1/0,h=-1/0,p=null,d=null,m=[],g=1/0,v=!1,y=0;yo&&(o=n.length(b)),y){var _=2*n.distance(p,x)/(n.length(d)+n.length(b));_?(g=Math.min(g,_),v=!1):v=!0}v||(p=x,d=b),m.push(b)}var w=[s,c,f],T=[l,u,h];e&&(e[0]=w,e[1]=T),0===o&&(o=1);var k=1/o;isFinite(g)||(g=1),a.vectorScale=g;var A=t.coneSize||.5;t.absoluteConeSize&&(A=t.absoluteConeSize*k),a.coneScale=A;y=0;for(var M=0;y=1},p.isTransparent=function(){return this.opacity<1},p.pickSlots=1,p.setPickBase=function(t){this.pickId=t},p.update=function(t){t=t||{};var e=this.gl;this.dirty=!0,\"lightPosition\"in t&&(this.lightPosition=t.lightPosition),\"opacity\"in t&&(this.opacity=t.opacity),\"ambient\"in t&&(this.ambientLight=t.ambient),\"diffuse\"in t&&(this.diffuseLight=t.diffuse),\"specular\"in t&&(this.specularLight=t.specular),\"roughness\"in t&&(this.roughness=t.roughness),\"fresnel\"in t&&(this.fresnel=t.fresnel),void 0!==t.tubeScale&&(this.tubeScale=t.tubeScale),void 0!==t.vectorScale&&(this.vectorScale=t.vectorScale),void 0!==t.coneScale&&(this.coneScale=t.coneScale),void 0!==t.coneOffset&&(this.coneOffset=t.coneOffset),t.colormap&&(this.texture.shape=[256,256],this.texture.minFilter=e.LINEAR_MIPMAP_LINEAR,this.texture.magFilter=e.LINEAR,this.texture.setPixels(function(t){for(var e=u({colormap:t,nshades:256,format:\"rgba\"}),r=new Uint8Array(1024),n=0;n<256;++n){for(var i=e[n],a=0;a<3;++a)r[4*n+a]=i[a];r[4*n+3]=255*i[3]}return c(r,[256,256,4],[4,0,1])}(t.colormap)),this.texture.generateMipmap());var r=t.cells,n=t.positions,i=t.vectors;if(n&&r&&i){var a=[],o=[],s=[],l=[],f=[];this.cells=r,this.positions=n,this.vectors=i;var h=t.meshColor||[1,1,1,1],p=t.vertexIntensity,d=1/0,m=-1/0;if(p)if(t.vertexIntensityBounds)d=+t.vertexIntensityBounds[0],m=+t.vertexIntensityBounds[1];else for(var g=0;g0){var m=this.triShader;m.bind(),m.uniforms=c,this.triangleVAO.bind(),e.drawArrays(e.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind()}},p.drawPick=function(t){t=t||{};for(var e=this.gl,r=t.model||f,n=t.view||f,i=t.projection||f,a=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],o=0;o<3;++o)a[0][o]=Math.max(a[0][o],this.clipBounds[0][o]),a[1][o]=Math.min(a[1][o],this.clipBounds[1][o]);this._model=[].slice.call(r),this._view=[].slice.call(n),this._projection=[].slice.call(i),this._resolution=[e.drawingBufferWidth,e.drawingBufferHeight];var s={model:r,view:n,projection:i,clipBounds:a,tubeScale:this.tubeScale,vectorScale:this.vectorScale,coneScale:this.coneScale,coneOffset:this.coneOffset,pickId:this.pickId/255},l=this.pickShader;l.bind(),l.uniforms=s,this.triangleCount>0&&(this.triangleVAO.bind(),e.drawArrays(e.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind())},p.pick=function(t){if(!t)return null;if(t.id!==this.pickId)return null;var e=t.value[0]+256*t.value[1]+65536*t.value[2],r=this.cells[e],n=this.positions[r[1]].slice(0,3),i={position:n,dataCoordinate:n,index:Math.floor(r[1]/48)};return\"cone\"===this.traceType?i.index=Math.floor(r[1]/48):\"streamtube\"===this.traceType&&(i.intensity=this.intensity[r[1]],i.velocity=this.vectors[r[1]].slice(0,3),i.divergence=this.vectors[r[1]][3],i.index=e),i},p.dispose=function(){this.texture.dispose(),this.triShader.dispose(),this.pickShader.dispose(),this.triangleVAO.dispose(),this.trianglePositions.dispose(),this.triangleVectors.dispose(),this.triangleColors.dispose(),this.triangleUVs.dispose(),this.triangleIds.dispose()},e.exports=function(t,e,r){var n=r.shaders;1===arguments.length&&(t=(e=t).gl);var s=d(t,n),l=m(t,n),u=o(t,c(new Uint8Array([255,255,255,255]),[1,1,4]));u.generateMipmap(),u.minFilter=t.LINEAR_MIPMAP_LINEAR,u.magFilter=t.LINEAR;var f=i(t),p=i(t),g=i(t),v=i(t),y=i(t),x=a(t,[{buffer:f,type:t.FLOAT,size:4},{buffer:y,type:t.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:g,type:t.FLOAT,size:4},{buffer:v,type:t.FLOAT,size:2},{buffer:p,type:t.FLOAT,size:4}]),b=new h(t,u,s,l,f,p,y,g,v,x,r.traceType||\"cone\");return b.update(e),b}},{colormap:53,\"gl-buffer\":78,\"gl-mat4/invert\":98,\"gl-mat4/multiply\":100,\"gl-shader\":132,\"gl-texture2d\":146,\"gl-vao\":150,ndarray:259}],81:[function(t,e,r){var n=t(\"glslify\"),i=n([\"precision highp float;\\n\\nprecision highp float;\\n#define GLSLIFY 1\\n\\nvec3 getOrthogonalVector(vec3 v) {\\n // Return up-vector for only-z vector.\\n // Return ax + by + cz = 0, a point that lies on the plane that has v as a normal and that isn't (0,0,0).\\n // From the above if-statement we have ||a|| > 0 U ||b|| > 0.\\n // Assign z = 0, x = -b, y = a:\\n // a*-b + b*a + c*0 = -ba + ba + 0 = 0\\n if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) {\\n return normalize(vec3(-v.y, v.x, 0.0));\\n } else {\\n return normalize(vec3(0.0, v.z, -v.y));\\n }\\n}\\n\\n// Calculate the cone vertex and normal at the given index.\\n//\\n// The returned vertex is for a cone with its top at origin and height of 1.0,\\n// pointing in the direction of the vector attribute.\\n//\\n// Each cone is made up of a top vertex, a center base vertex and base perimeter vertices.\\n// These vertices are used to make up the triangles of the cone by the following:\\n// segment + 0 top vertex\\n// segment + 1 perimeter vertex a+1\\n// segment + 2 perimeter vertex a\\n// segment + 3 center base vertex\\n// segment + 4 perimeter vertex a\\n// segment + 5 perimeter vertex a+1\\n// Where segment is the number of the radial segment * 6 and a is the angle at that radial segment.\\n// To go from index to segment, floor(index / 6)\\n// To go from segment to angle, 2*pi * (segment/segmentCount)\\n// To go from index to segment index, index - (segment*6)\\n//\\nvec3 getConePosition(vec3 d, float rawIndex, float coneOffset, out vec3 normal) {\\n\\n const float segmentCount = 8.0;\\n\\n float index = rawIndex - floor(rawIndex /\\n (segmentCount * 6.0)) *\\n (segmentCount * 6.0);\\n\\n float segment = floor(0.001 + index/6.0);\\n float segmentIndex = index - (segment*6.0);\\n\\n normal = -normalize(d);\\n\\n if (segmentIndex > 2.99 && segmentIndex < 3.01) {\\n return mix(vec3(0.0), -d, coneOffset);\\n }\\n\\n float nextAngle = (\\n (segmentIndex > 0.99 && segmentIndex < 1.01) ||\\n (segmentIndex > 4.99 && segmentIndex < 5.01)\\n ) ? 1.0 : 0.0;\\n float angle = 2.0 * 3.14159 * ((segment + nextAngle) / segmentCount);\\n\\n vec3 v1 = mix(d, vec3(0.0), coneOffset);\\n vec3 v2 = v1 - d;\\n\\n vec3 u = getOrthogonalVector(d);\\n vec3 v = normalize(cross(u, d));\\n\\n vec3 x = u * cos(angle) * length(d)*0.25;\\n vec3 y = v * sin(angle) * length(d)*0.25;\\n vec3 v3 = v2 + x + y;\\n if (segmentIndex < 3.0) {\\n vec3 tx = u * sin(angle);\\n vec3 ty = v * -cos(angle);\\n vec3 tangent = tx + ty;\\n normal = normalize(cross(v3 - v1, tangent));\\n }\\n\\n if (segmentIndex == 0.0) {\\n return mix(d, vec3(0.0), coneOffset);\\n }\\n return v3;\\n}\\n\\nattribute vec3 vector;\\nattribute vec4 color, position;\\nattribute vec2 uv;\\n\\nuniform float vectorScale, coneScale, coneOffset;\\nuniform mat4 model, view, projection, inverseModel;\\nuniform vec3 eyePosition, lightPosition;\\n\\nvarying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;\\nvarying vec4 f_color;\\nvarying vec2 f_uv;\\n\\nvoid main() {\\n // Scale the vector magnitude to stay constant with\\n // model & view changes.\\n vec3 normal;\\n vec3 XYZ = getConePosition(mat3(model) * ((vectorScale * coneScale) * vector), position.w, coneOffset, normal);\\n vec4 conePosition = model * vec4(position.xyz, 1.0) + vec4(XYZ, 0.0);\\n\\n //Lighting geometry parameters\\n vec4 cameraCoordinate = view * conePosition;\\n cameraCoordinate.xyz /= cameraCoordinate.w;\\n f_lightDirection = lightPosition - cameraCoordinate.xyz;\\n f_eyeDirection = eyePosition - cameraCoordinate.xyz;\\n f_normal = normalize((vec4(normal, 0.0) * inverseModel).xyz);\\n\\n // vec4 m_position = model * vec4(conePosition, 1.0);\\n vec4 t_position = view * conePosition;\\n gl_Position = projection * t_position;\\n\\n f_color = color;\\n f_data = conePosition.xyz;\\n f_position = position.xyz;\\n f_uv = uv;\\n}\\n\"]),a=n([\"#extension GL_OES_standard_derivatives : enable\\n\\nprecision highp float;\\n#define GLSLIFY 1\\n\\nfloat beckmannDistribution(float x, float roughness) {\\n float NdotH = max(x, 0.0001);\\n float cos2Alpha = NdotH * NdotH;\\n float tan2Alpha = (cos2Alpha - 1.0) / cos2Alpha;\\n float roughness2 = roughness * roughness;\\n float denom = 3.141592653589793 * roughness2 * cos2Alpha * cos2Alpha;\\n return exp(tan2Alpha / roughness2) / denom;\\n}\\n\\nfloat cookTorranceSpecular(\\n vec3 lightDirection,\\n vec3 viewDirection,\\n vec3 surfaceNormal,\\n float roughness,\\n float fresnel) {\\n\\n float VdotN = max(dot(viewDirection, surfaceNormal), 0.0);\\n float LdotN = max(dot(lightDirection, surfaceNormal), 0.0);\\n\\n //Half angle vector\\n vec3 H = normalize(lightDirection + viewDirection);\\n\\n //Geometric term\\n float NdotH = max(dot(surfaceNormal, H), 0.0);\\n float VdotH = max(dot(viewDirection, H), 0.000001);\\n float LdotH = max(dot(lightDirection, H), 0.000001);\\n float G1 = (2.0 * NdotH * VdotN) / VdotH;\\n float G2 = (2.0 * NdotH * LdotN) / LdotH;\\n float G = min(1.0, min(G1, G2));\\n \\n //Distribution term\\n float D = beckmannDistribution(NdotH, roughness);\\n\\n //Fresnel term\\n float F = pow(1.0 - VdotN, fresnel);\\n\\n //Multiply terms and done\\n return G * F * D / max(3.14159265 * VdotN, 0.000001);\\n}\\n\\nbool outOfRange(float a, float b, float p) {\\n return ((p > max(a, b)) || \\n (p < min(a, b)));\\n}\\n\\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y));\\n}\\n\\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y) ||\\n outOfRange(a.z, b.z, p.z));\\n}\\n\\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\\n return outOfRange(a.xyz, b.xyz, p.xyz);\\n}\\n\\nuniform vec3 clipBounds[2];\\nuniform float roughness, fresnel, kambient, kdiffuse, kspecular, opacity;\\nuniform sampler2D texture;\\n\\nvarying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;\\nvarying vec4 f_color;\\nvarying vec2 f_uv;\\n\\nvoid main() {\\n if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\\n vec3 N = normalize(f_normal);\\n vec3 L = normalize(f_lightDirection);\\n vec3 V = normalize(f_eyeDirection);\\n\\n if(gl_FrontFacing) {\\n N = -N;\\n }\\n\\n float specular = min(1.0, max(0.0, cookTorranceSpecular(L, V, N, roughness, fresnel)));\\n float diffuse = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0);\\n\\n vec4 surfaceColor = f_color * texture2D(texture, f_uv);\\n vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular, 1.0);\\n\\n gl_FragColor = litColor * opacity;\\n}\\n\"]),o=n([\"precision highp float;\\n\\nprecision highp float;\\n#define GLSLIFY 1\\n\\nvec3 getOrthogonalVector(vec3 v) {\\n // Return up-vector for only-z vector.\\n // Return ax + by + cz = 0, a point that lies on the plane that has v as a normal and that isn't (0,0,0).\\n // From the above if-statement we have ||a|| > 0 U ||b|| > 0.\\n // Assign z = 0, x = -b, y = a:\\n // a*-b + b*a + c*0 = -ba + ba + 0 = 0\\n if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) {\\n return normalize(vec3(-v.y, v.x, 0.0));\\n } else {\\n return normalize(vec3(0.0, v.z, -v.y));\\n }\\n}\\n\\n// Calculate the cone vertex and normal at the given index.\\n//\\n// The returned vertex is for a cone with its top at origin and height of 1.0,\\n// pointing in the direction of the vector attribute.\\n//\\n// Each cone is made up of a top vertex, a center base vertex and base perimeter vertices.\\n// These vertices are used to make up the triangles of the cone by the following:\\n// segment + 0 top vertex\\n// segment + 1 perimeter vertex a+1\\n// segment + 2 perimeter vertex a\\n// segment + 3 center base vertex\\n// segment + 4 perimeter vertex a\\n// segment + 5 perimeter vertex a+1\\n// Where segment is the number of the radial segment * 6 and a is the angle at that radial segment.\\n// To go from index to segment, floor(index / 6)\\n// To go from segment to angle, 2*pi * (segment/segmentCount)\\n// To go from index to segment index, index - (segment*6)\\n//\\nvec3 getConePosition(vec3 d, float rawIndex, float coneOffset, out vec3 normal) {\\n\\n const float segmentCount = 8.0;\\n\\n float index = rawIndex - floor(rawIndex /\\n (segmentCount * 6.0)) *\\n (segmentCount * 6.0);\\n\\n float segment = floor(0.001 + index/6.0);\\n float segmentIndex = index - (segment*6.0);\\n\\n normal = -normalize(d);\\n\\n if (segmentIndex > 2.99 && segmentIndex < 3.01) {\\n return mix(vec3(0.0), -d, coneOffset);\\n }\\n\\n float nextAngle = (\\n (segmentIndex > 0.99 && segmentIndex < 1.01) ||\\n (segmentIndex > 4.99 && segmentIndex < 5.01)\\n ) ? 1.0 : 0.0;\\n float angle = 2.0 * 3.14159 * ((segment + nextAngle) / segmentCount);\\n\\n vec3 v1 = mix(d, vec3(0.0), coneOffset);\\n vec3 v2 = v1 - d;\\n\\n vec3 u = getOrthogonalVector(d);\\n vec3 v = normalize(cross(u, d));\\n\\n vec3 x = u * cos(angle) * length(d)*0.25;\\n vec3 y = v * sin(angle) * length(d)*0.25;\\n vec3 v3 = v2 + x + y;\\n if (segmentIndex < 3.0) {\\n vec3 tx = u * sin(angle);\\n vec3 ty = v * -cos(angle);\\n vec3 tangent = tx + ty;\\n normal = normalize(cross(v3 - v1, tangent));\\n }\\n\\n if (segmentIndex == 0.0) {\\n return mix(d, vec3(0.0), coneOffset);\\n }\\n return v3;\\n}\\n\\nattribute vec4 vector;\\nattribute vec4 position;\\nattribute vec4 id;\\n\\nuniform mat4 model, view, projection;\\nuniform float vectorScale, coneScale, coneOffset;\\n\\nvarying vec3 f_position;\\nvarying vec4 f_id;\\n\\nvoid main() {\\n vec3 normal;\\n vec3 XYZ = getConePosition(mat3(model) * ((vectorScale * coneScale) * vector.xyz), position.w, coneOffset, normal);\\n vec4 conePosition = model * vec4(position.xyz, 1.0) + vec4(XYZ, 0.0);\\n gl_Position = projection * view * conePosition;\\n f_id = id;\\n f_position = position.xyz;\\n}\\n\"]),s=n([\"precision highp float;\\n#define GLSLIFY 1\\n\\nbool outOfRange(float a, float b, float p) {\\n return ((p > max(a, b)) || \\n (p < min(a, b)));\\n}\\n\\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y));\\n}\\n\\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y) ||\\n outOfRange(a.z, b.z, p.z));\\n}\\n\\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\\n return outOfRange(a.xyz, b.xyz, p.xyz);\\n}\\n\\nuniform vec3 clipBounds[2];\\nuniform float pickId;\\n\\nvarying vec3 f_position;\\nvarying vec4 f_id;\\n\\nvoid main() {\\n if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\\n\\n gl_FragColor = vec4(pickId, f_id.xyz);\\n}\"]);r.meshShader={vertex:i,fragment:a,attributes:[{name:\"position\",type:\"vec4\"},{name:\"color\",type:\"vec4\"},{name:\"uv\",type:\"vec2\"},{name:\"vector\",type:\"vec3\"}]},r.pickShader={vertex:o,fragment:s,attributes:[{name:\"position\",type:\"vec4\"},{name:\"id\",type:\"vec4\"},{name:\"vector\",type:\"vec3\"}]}},{glslify:231}],82:[function(t,e,r){e.exports={0:\"NONE\",1:\"ONE\",2:\"LINE_LOOP\",3:\"LINE_STRIP\",4:\"TRIANGLES\",5:\"TRIANGLE_STRIP\",6:\"TRIANGLE_FAN\",256:\"DEPTH_BUFFER_BIT\",512:\"NEVER\",513:\"LESS\",514:\"EQUAL\",515:\"LEQUAL\",516:\"GREATER\",517:\"NOTEQUAL\",518:\"GEQUAL\",519:\"ALWAYS\",768:\"SRC_COLOR\",769:\"ONE_MINUS_SRC_COLOR\",770:\"SRC_ALPHA\",771:\"ONE_MINUS_SRC_ALPHA\",772:\"DST_ALPHA\",773:\"ONE_MINUS_DST_ALPHA\",774:\"DST_COLOR\",775:\"ONE_MINUS_DST_COLOR\",776:\"SRC_ALPHA_SATURATE\",1024:\"STENCIL_BUFFER_BIT\",1028:\"FRONT\",1029:\"BACK\",1032:\"FRONT_AND_BACK\",1280:\"INVALID_ENUM\",1281:\"INVALID_VALUE\",1282:\"INVALID_OPERATION\",1285:\"OUT_OF_MEMORY\",1286:\"INVALID_FRAMEBUFFER_OPERATION\",2304:\"CW\",2305:\"CCW\",2849:\"LINE_WIDTH\",2884:\"CULL_FACE\",2885:\"CULL_FACE_MODE\",2886:\"FRONT_FACE\",2928:\"DEPTH_RANGE\",2929:\"DEPTH_TEST\",2930:\"DEPTH_WRITEMASK\",2931:\"DEPTH_CLEAR_VALUE\",2932:\"DEPTH_FUNC\",2960:\"STENCIL_TEST\",2961:\"STENCIL_CLEAR_VALUE\",2962:\"STENCIL_FUNC\",2963:\"STENCIL_VALUE_MASK\",2964:\"STENCIL_FAIL\",2965:\"STENCIL_PASS_DEPTH_FAIL\",2966:\"STENCIL_PASS_DEPTH_PASS\",2967:\"STENCIL_REF\",2968:\"STENCIL_WRITEMASK\",2978:\"VIEWPORT\",3024:\"DITHER\",3042:\"BLEND\",3088:\"SCISSOR_BOX\",3089:\"SCISSOR_TEST\",3106:\"COLOR_CLEAR_VALUE\",3107:\"COLOR_WRITEMASK\",3317:\"UNPACK_ALIGNMENT\",3333:\"PACK_ALIGNMENT\",3379:\"MAX_TEXTURE_SIZE\",3386:\"MAX_VIEWPORT_DIMS\",3408:\"SUBPIXEL_BITS\",3410:\"RED_BITS\",3411:\"GREEN_BITS\",3412:\"BLUE_BITS\",3413:\"ALPHA_BITS\",3414:\"DEPTH_BITS\",3415:\"STENCIL_BITS\",3553:\"TEXTURE_2D\",4352:\"DONT_CARE\",4353:\"FASTEST\",4354:\"NICEST\",5120:\"BYTE\",5121:\"UNSIGNED_BYTE\",5122:\"SHORT\",5123:\"UNSIGNED_SHORT\",5124:\"INT\",5125:\"UNSIGNED_INT\",5126:\"FLOAT\",5386:\"INVERT\",5890:\"TEXTURE\",6401:\"STENCIL_INDEX\",6402:\"DEPTH_COMPONENT\",6406:\"ALPHA\",6407:\"RGB\",6408:\"RGBA\",6409:\"LUMINANCE\",6410:\"LUMINANCE_ALPHA\",7680:\"KEEP\",7681:\"REPLACE\",7682:\"INCR\",7683:\"DECR\",7936:\"VENDOR\",7937:\"RENDERER\",7938:\"VERSION\",9728:\"NEAREST\",9729:\"LINEAR\",9984:\"NEAREST_MIPMAP_NEAREST\",9985:\"LINEAR_MIPMAP_NEAREST\",9986:\"NEAREST_MIPMAP_LINEAR\",9987:\"LINEAR_MIPMAP_LINEAR\",10240:\"TEXTURE_MAG_FILTER\",10241:\"TEXTURE_MIN_FILTER\",10242:\"TEXTURE_WRAP_S\",10243:\"TEXTURE_WRAP_T\",10497:\"REPEAT\",10752:\"POLYGON_OFFSET_UNITS\",16384:\"COLOR_BUFFER_BIT\",32769:\"CONSTANT_COLOR\",32770:\"ONE_MINUS_CONSTANT_COLOR\",32771:\"CONSTANT_ALPHA\",32772:\"ONE_MINUS_CONSTANT_ALPHA\",32773:\"BLEND_COLOR\",32774:\"FUNC_ADD\",32777:\"BLEND_EQUATION_RGB\",32778:\"FUNC_SUBTRACT\",32779:\"FUNC_REVERSE_SUBTRACT\",32819:\"UNSIGNED_SHORT_4_4_4_4\",32820:\"UNSIGNED_SHORT_5_5_5_1\",32823:\"POLYGON_OFFSET_FILL\",32824:\"POLYGON_OFFSET_FACTOR\",32854:\"RGBA4\",32855:\"RGB5_A1\",32873:\"TEXTURE_BINDING_2D\",32926:\"SAMPLE_ALPHA_TO_COVERAGE\",32928:\"SAMPLE_COVERAGE\",32936:\"SAMPLE_BUFFERS\",32937:\"SAMPLES\",32938:\"SAMPLE_COVERAGE_VALUE\",32939:\"SAMPLE_COVERAGE_INVERT\",32968:\"BLEND_DST_RGB\",32969:\"BLEND_SRC_RGB\",32970:\"BLEND_DST_ALPHA\",32971:\"BLEND_SRC_ALPHA\",33071:\"CLAMP_TO_EDGE\",33170:\"GENERATE_MIPMAP_HINT\",33189:\"DEPTH_COMPONENT16\",33306:\"DEPTH_STENCIL_ATTACHMENT\",33635:\"UNSIGNED_SHORT_5_6_5\",33648:\"MIRRORED_REPEAT\",33901:\"ALIASED_POINT_SIZE_RANGE\",33902:\"ALIASED_LINE_WIDTH_RANGE\",33984:\"TEXTURE0\",33985:\"TEXTURE1\",33986:\"TEXTURE2\",33987:\"TEXTURE3\",33988:\"TEXTURE4\",33989:\"TEXTURE5\",33990:\"TEXTURE6\",33991:\"TEXTURE7\",33992:\"TEXTURE8\",33993:\"TEXTURE9\",33994:\"TEXTURE10\",33995:\"TEXTURE11\",33996:\"TEXTURE12\",33997:\"TEXTURE13\",33998:\"TEXTURE14\",33999:\"TEXTURE15\",34e3:\"TEXTURE16\",34001:\"TEXTURE17\",34002:\"TEXTURE18\",34003:\"TEXTURE19\",34004:\"TEXTURE20\",34005:\"TEXTURE21\",34006:\"TEXTURE22\",34007:\"TEXTURE23\",34008:\"TEXTURE24\",34009:\"TEXTURE25\",34010:\"TEXTURE26\",34011:\"TEXTURE27\",34012:\"TEXTURE28\",34013:\"TEXTURE29\",34014:\"TEXTURE30\",34015:\"TEXTURE31\",34016:\"ACTIVE_TEXTURE\",34024:\"MAX_RENDERBUFFER_SIZE\",34041:\"DEPTH_STENCIL\",34055:\"INCR_WRAP\",34056:\"DECR_WRAP\",34067:\"TEXTURE_CUBE_MAP\",34068:\"TEXTURE_BINDING_CUBE_MAP\",34069:\"TEXTURE_CUBE_MAP_POSITIVE_X\",34070:\"TEXTURE_CUBE_MAP_NEGATIVE_X\",34071:\"TEXTURE_CUBE_MAP_POSITIVE_Y\",34072:\"TEXTURE_CUBE_MAP_NEGATIVE_Y\",34073:\"TEXTURE_CUBE_MAP_POSITIVE_Z\",34074:\"TEXTURE_CUBE_MAP_NEGATIVE_Z\",34076:\"MAX_CUBE_MAP_TEXTURE_SIZE\",34338:\"VERTEX_ATTRIB_ARRAY_ENABLED\",34339:\"VERTEX_ATTRIB_ARRAY_SIZE\",34340:\"VERTEX_ATTRIB_ARRAY_STRIDE\",34341:\"VERTEX_ATTRIB_ARRAY_TYPE\",34342:\"CURRENT_VERTEX_ATTRIB\",34373:\"VERTEX_ATTRIB_ARRAY_POINTER\",34466:\"NUM_COMPRESSED_TEXTURE_FORMATS\",34467:\"COMPRESSED_TEXTURE_FORMATS\",34660:\"BUFFER_SIZE\",34661:\"BUFFER_USAGE\",34816:\"STENCIL_BACK_FUNC\",34817:\"STENCIL_BACK_FAIL\",34818:\"STENCIL_BACK_PASS_DEPTH_FAIL\",34819:\"STENCIL_BACK_PASS_DEPTH_PASS\",34877:\"BLEND_EQUATION_ALPHA\",34921:\"MAX_VERTEX_ATTRIBS\",34922:\"VERTEX_ATTRIB_ARRAY_NORMALIZED\",34930:\"MAX_TEXTURE_IMAGE_UNITS\",34962:\"ARRAY_BUFFER\",34963:\"ELEMENT_ARRAY_BUFFER\",34964:\"ARRAY_BUFFER_BINDING\",34965:\"ELEMENT_ARRAY_BUFFER_BINDING\",34975:\"VERTEX_ATTRIB_ARRAY_BUFFER_BINDING\",35040:\"STREAM_DRAW\",35044:\"STATIC_DRAW\",35048:\"DYNAMIC_DRAW\",35632:\"FRAGMENT_SHADER\",35633:\"VERTEX_SHADER\",35660:\"MAX_VERTEX_TEXTURE_IMAGE_UNITS\",35661:\"MAX_COMBINED_TEXTURE_IMAGE_UNITS\",35663:\"SHADER_TYPE\",35664:\"FLOAT_VEC2\",35665:\"FLOAT_VEC3\",35666:\"FLOAT_VEC4\",35667:\"INT_VEC2\",35668:\"INT_VEC3\",35669:\"INT_VEC4\",35670:\"BOOL\",35671:\"BOOL_VEC2\",35672:\"BOOL_VEC3\",35673:\"BOOL_VEC4\",35674:\"FLOAT_MAT2\",35675:\"FLOAT_MAT3\",35676:\"FLOAT_MAT4\",35678:\"SAMPLER_2D\",35680:\"SAMPLER_CUBE\",35712:\"DELETE_STATUS\",35713:\"COMPILE_STATUS\",35714:\"LINK_STATUS\",35715:\"VALIDATE_STATUS\",35716:\"INFO_LOG_LENGTH\",35717:\"ATTACHED_SHADERS\",35718:\"ACTIVE_UNIFORMS\",35719:\"ACTIVE_UNIFORM_MAX_LENGTH\",35720:\"SHADER_SOURCE_LENGTH\",35721:\"ACTIVE_ATTRIBUTES\",35722:\"ACTIVE_ATTRIBUTE_MAX_LENGTH\",35724:\"SHADING_LANGUAGE_VERSION\",35725:\"CURRENT_PROGRAM\",36003:\"STENCIL_BACK_REF\",36004:\"STENCIL_BACK_VALUE_MASK\",36005:\"STENCIL_BACK_WRITEMASK\",36006:\"FRAMEBUFFER_BINDING\",36007:\"RENDERBUFFER_BINDING\",36048:\"FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE\",36049:\"FRAMEBUFFER_ATTACHMENT_OBJECT_NAME\",36050:\"FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL\",36051:\"FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE\",36053:\"FRAMEBUFFER_COMPLETE\",36054:\"FRAMEBUFFER_INCOMPLETE_ATTACHMENT\",36055:\"FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT\",36057:\"FRAMEBUFFER_INCOMPLETE_DIMENSIONS\",36061:\"FRAMEBUFFER_UNSUPPORTED\",36064:\"COLOR_ATTACHMENT0\",36096:\"DEPTH_ATTACHMENT\",36128:\"STENCIL_ATTACHMENT\",36160:\"FRAMEBUFFER\",36161:\"RENDERBUFFER\",36162:\"RENDERBUFFER_WIDTH\",36163:\"RENDERBUFFER_HEIGHT\",36164:\"RENDERBUFFER_INTERNAL_FORMAT\",36168:\"STENCIL_INDEX8\",36176:\"RENDERBUFFER_RED_SIZE\",36177:\"RENDERBUFFER_GREEN_SIZE\",36178:\"RENDERBUFFER_BLUE_SIZE\",36179:\"RENDERBUFFER_ALPHA_SIZE\",36180:\"RENDERBUFFER_DEPTH_SIZE\",36181:\"RENDERBUFFER_STENCIL_SIZE\",36194:\"RGB565\",36336:\"LOW_FLOAT\",36337:\"MEDIUM_FLOAT\",36338:\"HIGH_FLOAT\",36339:\"LOW_INT\",36340:\"MEDIUM_INT\",36341:\"HIGH_INT\",36346:\"SHADER_COMPILER\",36347:\"MAX_VERTEX_UNIFORM_VECTORS\",36348:\"MAX_VARYING_VECTORS\",36349:\"MAX_FRAGMENT_UNIFORM_VECTORS\",37440:\"UNPACK_FLIP_Y_WEBGL\",37441:\"UNPACK_PREMULTIPLY_ALPHA_WEBGL\",37442:\"CONTEXT_LOST_WEBGL\",37443:\"UNPACK_COLORSPACE_CONVERSION_WEBGL\",37444:\"BROWSER_DEFAULT_WEBGL\"}},{}],83:[function(t,e,r){var n=t(\"./1.0/numbers\");e.exports=function(t){return n[t]}},{\"./1.0/numbers\":82}],84:[function(t,e,r){\"use strict\";e.exports=function(t){var e=t.gl,r=n(e),o=i(e,[{buffer:r,type:e.FLOAT,size:3,offset:0,stride:40},{buffer:r,type:e.FLOAT,size:4,offset:12,stride:40},{buffer:r,type:e.FLOAT,size:3,offset:28,stride:40}]),l=a(e);l.attributes.position.location=0,l.attributes.color.location=1,l.attributes.offset.location=2;var c=new s(e,r,o,l);return c.update(t),c};var n=t(\"gl-buffer\"),i=t(\"gl-vao\"),a=t(\"./shaders/index\"),o=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function s(t,e,r,n){this.gl=t,this.shader=n,this.buffer=e,this.vao=r,this.pixelRatio=1,this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.lineWidth=[1,1,1],this.capSize=[10,10,10],this.lineCount=[0,0,0],this.lineOffset=[0,0,0],this.opacity=1,this.hasAlpha=!1}var l=s.prototype;function c(t,e){for(var r=0;r<3;++r)t[0][r]=Math.min(t[0][r],e[r]),t[1][r]=Math.max(t[1][r],e[r])}l.isOpaque=function(){return!this.hasAlpha},l.isTransparent=function(){return this.hasAlpha},l.drawTransparent=l.draw=function(t){var e=this.gl,r=this.shader.uniforms;this.shader.bind();var n=r.view=t.view||o,i=r.projection=t.projection||o;r.model=t.model||o,r.clipBounds=this.clipBounds,r.opacity=this.opacity;var a=n[12],s=n[13],l=n[14],c=n[15],u=(t._ortho||!1?2:1)*this.pixelRatio*(i[3]*a+i[7]*s+i[11]*l+i[15]*c)/e.drawingBufferHeight;this.vao.bind();for(var f=0;f<3;++f)e.lineWidth(this.lineWidth[f]*this.pixelRatio),r.capSize=this.capSize[f]*u,this.lineCount[f]&&e.drawArrays(e.LINES,this.lineOffset[f],this.lineCount[f]);this.vao.unbind()};var u=function(){for(var t=new Array(3),e=0;e<3;++e){for(var r=[],n=1;n<=2;++n)for(var i=-1;i<=1;i+=2){var a=[0,0,0];a[(n+e)%3]=i,r.push(a)}t[e]=r}return t}();function f(t,e,r,n){for(var i=u[n],a=0;a0)(m=u.slice())[s]+=p[1][s],i.push(u[0],u[1],u[2],d[0],d[1],d[2],d[3],0,0,0,m[0],m[1],m[2],d[0],d[1],d[2],d[3],0,0,0),c(this.bounds,m),o+=2+f(i,m,d,s)}}this.lineCount[s]=o-this.lineOffset[s]}this.buffer.update(i)}},l.dispose=function(){this.shader.dispose(),this.buffer.dispose(),this.vao.dispose()}},{\"./shaders/index\":85,\"gl-buffer\":78,\"gl-vao\":150}],85:[function(t,e,r){\"use strict\";var n=t(\"glslify\"),i=t(\"gl-shader\"),a=n([\"precision highp float;\\n#define GLSLIFY 1\\n\\nattribute vec3 position, offset;\\nattribute vec4 color;\\nuniform mat4 model, view, projection;\\nuniform float capSize;\\nvarying vec4 fragColor;\\nvarying vec3 fragPosition;\\n\\nvoid main() {\\n vec4 worldPosition = model * vec4(position, 1.0);\\n worldPosition = (worldPosition / worldPosition.w) + vec4(capSize * offset, 0.0);\\n gl_Position = projection * view * worldPosition;\\n fragColor = color;\\n fragPosition = position;\\n}\"]),o=n([\"precision highp float;\\n#define GLSLIFY 1\\n\\nbool outOfRange(float a, float b, float p) {\\n return ((p > max(a, b)) || \\n (p < min(a, b)));\\n}\\n\\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y));\\n}\\n\\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y) ||\\n outOfRange(a.z, b.z, p.z));\\n}\\n\\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\\n return outOfRange(a.xyz, b.xyz, p.xyz);\\n}\\n\\nuniform vec3 clipBounds[2];\\nuniform float opacity;\\nvarying vec3 fragPosition;\\nvarying vec4 fragColor;\\n\\nvoid main() {\\n if (\\n outOfRange(clipBounds[0], clipBounds[1], fragPosition) ||\\n fragColor.a * opacity == 0.\\n ) discard;\\n\\n gl_FragColor = opacity * fragColor;\\n}\"]);e.exports=function(t){return i(t,a,o,null,[{name:\"position\",type:\"vec3\"},{name:\"color\",type:\"vec4\"},{name:\"offset\",type:\"vec3\"}])}},{\"gl-shader\":132,glslify:231}],86:[function(t,e,r){\"use strict\";var n=t(\"gl-texture2d\");e.exports=function(t,e,r,n){i||(i=t.FRAMEBUFFER_UNSUPPORTED,a=t.FRAMEBUFFER_INCOMPLETE_ATTACHMENT,o=t.FRAMEBUFFER_INCOMPLETE_DIMENSIONS,s=t.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT);var c=t.getExtension(\"WEBGL_draw_buffers\");!l&&c&&function(t,e){var r=t.getParameter(e.MAX_COLOR_ATTACHMENTS_WEBGL);l=new Array(r+1);for(var n=0;n<=r;++n){for(var i=new Array(r),a=0;au||r<0||r>u)throw new Error(\"gl-fbo: Parameters are too large for FBO\");var f=1;if(\"color\"in(n=n||{})){if((f=Math.max(0|n.color,0))<0)throw new Error(\"gl-fbo: Must specify a nonnegative number of colors\");if(f>1){if(!c)throw new Error(\"gl-fbo: Multiple draw buffer extension not supported\");if(f>t.getParameter(c.MAX_COLOR_ATTACHMENTS_WEBGL))throw new Error(\"gl-fbo: Context does not support \"+f+\" draw buffers\")}}var h=t.UNSIGNED_BYTE,p=t.getExtension(\"OES_texture_float\");if(n.float&&f>0){if(!p)throw new Error(\"gl-fbo: Context does not support floating point textures\");h=t.FLOAT}else n.preferFloat&&f>0&&p&&(h=t.FLOAT);var m=!0;\"depth\"in n&&(m=!!n.depth);var g=!1;\"stencil\"in n&&(g=!!n.stencil);return new d(t,e,r,h,f,m,g,c)};var i,a,o,s,l=null;function c(t){return[t.getParameter(t.FRAMEBUFFER_BINDING),t.getParameter(t.RENDERBUFFER_BINDING),t.getParameter(t.TEXTURE_BINDING_2D)]}function u(t,e){t.bindFramebuffer(t.FRAMEBUFFER,e[0]),t.bindRenderbuffer(t.RENDERBUFFER,e[1]),t.bindTexture(t.TEXTURE_2D,e[2])}function f(t){switch(t){case i:throw new Error(\"gl-fbo: Framebuffer unsupported\");case a:throw new Error(\"gl-fbo: Framebuffer incomplete attachment\");case o:throw new Error(\"gl-fbo: Framebuffer incomplete dimensions\");case s:throw new Error(\"gl-fbo: Framebuffer incomplete missing attachment\");default:throw new Error(\"gl-fbo: Framebuffer failed for unspecified reason\")}}function h(t,e,r,i,a,o){if(!i)return null;var s=n(t,e,r,a,i);return s.magFilter=t.NEAREST,s.minFilter=t.NEAREST,s.mipSamples=1,s.bind(),t.framebufferTexture2D(t.FRAMEBUFFER,o,t.TEXTURE_2D,s.handle,0),s}function p(t,e,r,n,i){var a=t.createRenderbuffer();return t.bindRenderbuffer(t.RENDERBUFFER,a),t.renderbufferStorage(t.RENDERBUFFER,n,e,r),t.framebufferRenderbuffer(t.FRAMEBUFFER,i,t.RENDERBUFFER,a),a}function d(t,e,r,n,i,a,o,s){this.gl=t,this._shape=[0|e,0|r],this._destroyed=!1,this._ext=s,this.color=new Array(i);for(var d=0;d1&&s.drawBuffersWEBGL(l[o]);var y=r.getExtension(\"WEBGL_depth_texture\");y?d?t.depth=h(r,i,a,y.UNSIGNED_INT_24_8_WEBGL,r.DEPTH_STENCIL,r.DEPTH_STENCIL_ATTACHMENT):m&&(t.depth=h(r,i,a,r.UNSIGNED_SHORT,r.DEPTH_COMPONENT,r.DEPTH_ATTACHMENT)):m&&d?t._depth_rb=p(r,i,a,r.DEPTH_STENCIL,r.DEPTH_STENCIL_ATTACHMENT):m?t._depth_rb=p(r,i,a,r.DEPTH_COMPONENT16,r.DEPTH_ATTACHMENT):d&&(t._depth_rb=p(r,i,a,r.STENCIL_INDEX,r.STENCIL_ATTACHMENT));var x=r.checkFramebufferStatus(r.FRAMEBUFFER);if(x!==r.FRAMEBUFFER_COMPLETE){t._destroyed=!0,r.bindFramebuffer(r.FRAMEBUFFER,null),r.deleteFramebuffer(t.handle),t.handle=null,t.depth&&(t.depth.dispose(),t.depth=null),t._depth_rb&&(r.deleteRenderbuffer(t._depth_rb),t._depth_rb=null);for(v=0;vi||r<0||r>i)throw new Error(\"gl-fbo: Can't resize FBO, invalid dimensions\");t._shape[0]=e,t._shape[1]=r;for(var a=c(n),o=0;o>8*p&255;this.pickOffset=r,i.bind();var d=i.uniforms;d.viewTransform=t,d.pickOffset=e,d.shape=this.shape;var m=i.attributes;return this.positionBuffer.bind(),m.position.pointer(),this.weightBuffer.bind(),m.weight.pointer(s.UNSIGNED_BYTE,!1),this.idBuffer.bind(),m.pickId.pointer(s.UNSIGNED_BYTE,!1),s.drawArrays(s.TRIANGLES,0,o),r+this.shape[0]*this.shape[1]}}}(),f.pick=function(t,e,r){var n=this.pickOffset,i=this.shape[0]*this.shape[1];if(r=n+i)return null;var a=r-n,o=this.xData,s=this.yData;return{object:this,pointId:a,dataCoord:[o[a%this.shape[0]],s[a/this.shape[0]|0]]}},f.update=function(t){var e=(t=t||{}).shape||[0,0],r=t.x||i(e[0]),o=t.y||i(e[1]),s=t.z||new Float32Array(e[0]*e[1]),l=!1!==t.zsmooth;this.xData=r,this.yData=o;var c,u,f,p,d=t.colorLevels||[0],m=t.colorValues||[0,0,0,1],g=d.length,v=this.bounds;l?(c=v[0]=r[0],u=v[1]=o[0],f=v[2]=r[r.length-1],p=v[3]=o[o.length-1]):(c=v[0]=r[0]+(r[1]-r[0])/2,u=v[1]=o[0]+(o[1]-o[0])/2,f=v[2]=r[r.length-1]+(r[r.length-1]-r[r.length-2])/2,p=v[3]=o[o.length-1]+(o[o.length-1]-o[o.length-2])/2);var y=1/(f-c),x=1/(p-u),b=e[0],_=e[1];this.shape=[b,_];var w=(l?(b-1)*(_-1):b*_)*(h.length>>>1);this.numVertices=w;for(var T=a.mallocUint8(4*w),k=a.mallocFloat32(2*w),A=a.mallocUint8(2*w),M=a.mallocUint32(w),S=0,E=l?b-1:b,L=l?_-1:_,C=0;C max(a, b)) || \\n (p < min(a, b)));\\n}\\n\\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y));\\n}\\n\\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y) ||\\n outOfRange(a.z, b.z, p.z));\\n}\\n\\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\\n return outOfRange(a.xyz, b.xyz, p.xyz);\\n}\\n\\nuniform vec3 clipBounds[2];\\nuniform sampler2D dashTexture;\\nuniform float dashScale;\\nuniform float opacity;\\n\\nvarying vec3 worldPosition;\\nvarying float pixelArcLength;\\nvarying vec4 fragColor;\\n\\nvoid main() {\\n if (\\n outOfRange(clipBounds[0], clipBounds[1], worldPosition) ||\\n fragColor.a * opacity == 0.\\n ) discard;\\n\\n float dashWeight = texture2D(dashTexture, vec2(dashScale * pixelArcLength, 0)).r;\\n if(dashWeight < 0.5) {\\n discard;\\n }\\n gl_FragColor = fragColor * opacity;\\n}\\n\"]),s=n([\"precision highp float;\\n#define GLSLIFY 1\\n\\n#define FLOAT_MAX 1.70141184e38\\n#define FLOAT_MIN 1.17549435e-38\\n\\n// https://github.com/mikolalysenko/glsl-read-float/blob/master/index.glsl\\nvec4 packFloat(float v) {\\n float av = abs(v);\\n\\n //Handle special cases\\n if(av < FLOAT_MIN) {\\n return vec4(0.0, 0.0, 0.0, 0.0);\\n } else if(v > FLOAT_MAX) {\\n return vec4(127.0, 128.0, 0.0, 0.0) / 255.0;\\n } else if(v < -FLOAT_MAX) {\\n return vec4(255.0, 128.0, 0.0, 0.0) / 255.0;\\n }\\n\\n vec4 c = vec4(0,0,0,0);\\n\\n //Compute exponent and mantissa\\n float e = floor(log2(av));\\n float m = av * pow(2.0, -e) - 1.0;\\n\\n //Unpack mantissa\\n c[1] = floor(128.0 * m);\\n m -= c[1] / 128.0;\\n c[2] = floor(32768.0 * m);\\n m -= c[2] / 32768.0;\\n c[3] = floor(8388608.0 * m);\\n\\n //Unpack exponent\\n float ebias = e + 127.0;\\n c[0] = floor(ebias / 2.0);\\n ebias -= c[0] * 2.0;\\n c[1] += floor(ebias) * 128.0;\\n\\n //Unpack sign bit\\n c[0] += 128.0 * step(0.0, -v);\\n\\n //Scale back to range\\n return c / 255.0;\\n}\\n\\nbool outOfRange(float a, float b, float p) {\\n return ((p > max(a, b)) || \\n (p < min(a, b)));\\n}\\n\\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y));\\n}\\n\\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y) ||\\n outOfRange(a.z, b.z, p.z));\\n}\\n\\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\\n return outOfRange(a.xyz, b.xyz, p.xyz);\\n}\\n\\nuniform float pickId;\\nuniform vec3 clipBounds[2];\\n\\nvarying vec3 worldPosition;\\nvarying float pixelArcLength;\\nvarying vec4 fragColor;\\n\\nvoid main() {\\n if (outOfRange(clipBounds[0], clipBounds[1], worldPosition)) discard;\\n\\n gl_FragColor = vec4(pickId/255.0, packFloat(pixelArcLength).xyz);\\n}\"]),l=[{name:\"position\",type:\"vec3\"},{name:\"nextPosition\",type:\"vec3\"},{name:\"arcLength\",type:\"float\"},{name:\"lineWidth\",type:\"float\"},{name:\"color\",type:\"vec4\"}];r.createShader=function(t){return i(t,a,o,null,l)},r.createPickShader=function(t){return i(t,a,s,null,l)}},{\"gl-shader\":132,glslify:231}],91:[function(t,e,r){\"use strict\";e.exports=function(t){var e=t.gl||t.scene&&t.scene.gl,r=f(e);r.attributes.position.location=0,r.attributes.nextPosition.location=1,r.attributes.arcLength.location=2,r.attributes.lineWidth.location=3,r.attributes.color.location=4;var o=h(e);o.attributes.position.location=0,o.attributes.nextPosition.location=1,o.attributes.arcLength.location=2,o.attributes.lineWidth.location=3,o.attributes.color.location=4;for(var s=n(e),l=i(e,[{buffer:s,size:3,offset:0,stride:48},{buffer:s,size:3,offset:12,stride:48},{buffer:s,size:1,offset:24,stride:48},{buffer:s,size:1,offset:28,stride:48},{buffer:s,size:4,offset:32,stride:48}]),u=c(new Array(1024),[256,1,4]),p=0;p<1024;++p)u.data[p]=255;var d=a(e,u);d.wrap=e.REPEAT;var m=new v(e,r,o,s,l,d);return m.update(t),m};var n=t(\"gl-buffer\"),i=t(\"gl-vao\"),a=t(\"gl-texture2d\"),o=new Uint8Array(4),s=new Float32Array(o.buffer);var l=t(\"binary-search-bounds\"),c=t(\"ndarray\"),u=t(\"./lib/shaders\"),f=u.createShader,h=u.createPickShader,p=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function d(t,e){for(var r=0,n=0;n<3;++n){var i=t[n]-e[n];r+=i*i}return Math.sqrt(r)}function m(t){for(var e=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],r=0;r<3;++r)e[0][r]=Math.max(t[0][r],e[0][r]),e[1][r]=Math.min(t[1][r],e[1][r]);return e}function g(t,e,r,n){this.arcLength=t,this.position=e,this.index=r,this.dataCoordinate=n}function v(t,e,r,n,i,a){this.gl=t,this.shader=e,this.pickShader=r,this.buffer=n,this.vao=i,this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.points=[],this.arcLength=[],this.vertexCount=0,this.bounds=[[0,0,0],[0,0,0]],this.pickId=0,this.lineWidth=1,this.texture=a,this.dashScale=1,this.opacity=1,this.hasAlpha=!1,this.dirty=!0,this.pixelRatio=1}var y=v.prototype;y.isTransparent=function(){return this.hasAlpha},y.isOpaque=function(){return!this.hasAlpha},y.pickSlots=1,y.setPickBase=function(t){this.pickId=t},y.drawTransparent=y.draw=function(t){if(this.vertexCount){var e=this.gl,r=this.shader,n=this.vao;r.bind(),r.uniforms={model:t.model||p,view:t.view||p,projection:t.projection||p,clipBounds:m(this.clipBounds),dashTexture:this.texture.bind(),dashScale:this.dashScale/this.arcLength[this.arcLength.length-1],opacity:this.opacity,screenShape:[e.drawingBufferWidth,e.drawingBufferHeight],pixelRatio:this.pixelRatio},n.bind(),n.draw(e.TRIANGLE_STRIP,this.vertexCount),n.unbind()}},y.drawPick=function(t){if(this.vertexCount){var e=this.gl,r=this.pickShader,n=this.vao;r.bind(),r.uniforms={model:t.model||p,view:t.view||p,projection:t.projection||p,pickId:this.pickId,clipBounds:m(this.clipBounds),screenShape:[e.drawingBufferWidth,e.drawingBufferHeight],pixelRatio:this.pixelRatio},n.bind(),n.draw(e.TRIANGLE_STRIP,this.vertexCount),n.unbind()}},y.update=function(t){var e,r;this.dirty=!0;var n=!!t.connectGaps;\"dashScale\"in t&&(this.dashScale=t.dashScale),this.hasAlpha=!1,\"opacity\"in t&&(this.opacity=+t.opacity,this.opacity<1&&(this.hasAlpha=!0));var i=[],a=[],o=[],s=0,u=0,f=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],h=t.position||t.positions;if(h){var p=t.color||t.colors||[0,0,0,1],m=t.lineWidth||1,g=!1;t:for(e=1;e0){for(var w=0;w<24;++w)i.push(i[i.length-12]);u+=2,g=!0}continue t}f[0][r]=Math.min(f[0][r],b[r],_[r]),f[1][r]=Math.max(f[1][r],b[r],_[r])}Array.isArray(p[0])?(v=p.length>e-1?p[e-1]:p.length>0?p[p.length-1]:[0,0,0,1],y=p.length>e?p[e]:p.length>0?p[p.length-1]:[0,0,0,1]):v=y=p,3===v.length&&(v=[v[0],v[1],v[2],1]),3===y.length&&(y=[y[0],y[1],y[2],1]),!this.hasAlpha&&v[3]<1&&(this.hasAlpha=!0),x=Array.isArray(m)?m.length>e-1?m[e-1]:m.length>0?m[m.length-1]:[0,0,0,1]:m;var T=s;if(s+=d(b,_),g){for(r=0;r<2;++r)i.push(b[0],b[1],b[2],_[0],_[1],_[2],T,x,v[0],v[1],v[2],v[3]);u+=2,g=!1}i.push(b[0],b[1],b[2],_[0],_[1],_[2],T,x,v[0],v[1],v[2],v[3],b[0],b[1],b[2],_[0],_[1],_[2],T,-x,v[0],v[1],v[2],v[3],_[0],_[1],_[2],b[0],b[1],b[2],s,-x,y[0],y[1],y[2],y[3],_[0],_[1],_[2],b[0],b[1],b[2],s,x,y[0],y[1],y[2],y[3]),u+=4}}if(this.buffer.update(i),a.push(s),o.push(h[h.length-1].slice()),this.bounds=f,this.vertexCount=u,this.points=o,this.arcLength=a,\"dashes\"in t){var k=t.dashes.slice();for(k.unshift(0),e=1;e1.0001)return null;v+=g[f]}if(Math.abs(v-1)>.001)return null;return[h,s(t,g),g]}},{barycentric:14,\"polytope-closest-point/lib/closest_point_2d.js\":270}],111:[function(t,e,r){var n=t(\"glslify\"),i=n([\"precision highp float;\\n#define GLSLIFY 1\\n\\nattribute vec3 position, normal;\\nattribute vec4 color;\\nattribute vec2 uv;\\n\\nuniform mat4 model\\n , view\\n , projection\\n , inverseModel;\\nuniform vec3 eyePosition\\n , lightPosition;\\n\\nvarying vec3 f_normal\\n , f_lightDirection\\n , f_eyeDirection\\n , f_data;\\nvarying vec4 f_color;\\nvarying vec2 f_uv;\\n\\nvec4 project(vec3 p) {\\n return projection * view * model * vec4(p, 1.0);\\n}\\n\\nvoid main() {\\n gl_Position = project(position);\\n\\n //Lighting geometry parameters\\n vec4 cameraCoordinate = view * vec4(position , 1.0);\\n cameraCoordinate.xyz /= cameraCoordinate.w;\\n f_lightDirection = lightPosition - cameraCoordinate.xyz;\\n f_eyeDirection = eyePosition - cameraCoordinate.xyz;\\n f_normal = normalize((vec4(normal, 0.0) * inverseModel).xyz);\\n\\n f_color = color;\\n f_data = position;\\n f_uv = uv;\\n}\\n\"]),a=n([\"#extension GL_OES_standard_derivatives : enable\\n\\nprecision highp float;\\n#define GLSLIFY 1\\n\\nfloat beckmannDistribution(float x, float roughness) {\\n float NdotH = max(x, 0.0001);\\n float cos2Alpha = NdotH * NdotH;\\n float tan2Alpha = (cos2Alpha - 1.0) / cos2Alpha;\\n float roughness2 = roughness * roughness;\\n float denom = 3.141592653589793 * roughness2 * cos2Alpha * cos2Alpha;\\n return exp(tan2Alpha / roughness2) / denom;\\n}\\n\\nfloat cookTorranceSpecular(\\n vec3 lightDirection,\\n vec3 viewDirection,\\n vec3 surfaceNormal,\\n float roughness,\\n float fresnel) {\\n\\n float VdotN = max(dot(viewDirection, surfaceNormal), 0.0);\\n float LdotN = max(dot(lightDirection, surfaceNormal), 0.0);\\n\\n //Half angle vector\\n vec3 H = normalize(lightDirection + viewDirection);\\n\\n //Geometric term\\n float NdotH = max(dot(surfaceNormal, H), 0.0);\\n float VdotH = max(dot(viewDirection, H), 0.000001);\\n float LdotH = max(dot(lightDirection, H), 0.000001);\\n float G1 = (2.0 * NdotH * VdotN) / VdotH;\\n float G2 = (2.0 * NdotH * LdotN) / LdotH;\\n float G = min(1.0, min(G1, G2));\\n \\n //Distribution term\\n float D = beckmannDistribution(NdotH, roughness);\\n\\n //Fresnel term\\n float F = pow(1.0 - VdotN, fresnel);\\n\\n //Multiply terms and done\\n return G * F * D / max(3.14159265 * VdotN, 0.000001);\\n}\\n\\n//#pragma glslify: beckmann = require(glsl-specular-beckmann) // used in gl-surface3d\\n\\nbool outOfRange(float a, float b, float p) {\\n return ((p > max(a, b)) || \\n (p < min(a, b)));\\n}\\n\\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y));\\n}\\n\\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y) ||\\n outOfRange(a.z, b.z, p.z));\\n}\\n\\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\\n return outOfRange(a.xyz, b.xyz, p.xyz);\\n}\\n\\nuniform vec3 clipBounds[2];\\nuniform float roughness\\n , fresnel\\n , kambient\\n , kdiffuse\\n , kspecular;\\nuniform sampler2D texture;\\n\\nvarying vec3 f_normal\\n , f_lightDirection\\n , f_eyeDirection\\n , f_data;\\nvarying vec4 f_color;\\nvarying vec2 f_uv;\\n\\nvoid main() {\\n if (f_color.a == 0.0 ||\\n outOfRange(clipBounds[0], clipBounds[1], f_data)\\n ) discard;\\n\\n vec3 N = normalize(f_normal);\\n vec3 L = normalize(f_lightDirection);\\n vec3 V = normalize(f_eyeDirection);\\n\\n if(gl_FrontFacing) {\\n N = -N;\\n }\\n\\n float specular = min(1.0, max(0.0, cookTorranceSpecular(L, V, N, roughness, fresnel)));\\n //float specular = max(0.0, beckmann(L, V, N, roughness)); // used in gl-surface3d\\n\\n float diffuse = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0);\\n\\n vec4 surfaceColor = vec4(f_color.rgb, 1.0) * texture2D(texture, f_uv);\\n vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular, 1.0);\\n\\n gl_FragColor = litColor * f_color.a;\\n}\\n\"]),o=n([\"precision highp float;\\n#define GLSLIFY 1\\n\\nattribute vec3 position;\\nattribute vec4 color;\\nattribute vec2 uv;\\n\\nuniform mat4 model, view, projection;\\n\\nvarying vec4 f_color;\\nvarying vec3 f_data;\\nvarying vec2 f_uv;\\n\\nvoid main() {\\n gl_Position = projection * view * model * vec4(position, 1.0);\\n f_color = color;\\n f_data = position;\\n f_uv = uv;\\n}\"]),s=n([\"precision highp float;\\n#define GLSLIFY 1\\n\\nbool outOfRange(float a, float b, float p) {\\n return ((p > max(a, b)) || \\n (p < min(a, b)));\\n}\\n\\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y));\\n}\\n\\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y) ||\\n outOfRange(a.z, b.z, p.z));\\n}\\n\\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\\n return outOfRange(a.xyz, b.xyz, p.xyz);\\n}\\n\\nuniform vec3 clipBounds[2];\\nuniform sampler2D texture;\\nuniform float opacity;\\n\\nvarying vec4 f_color;\\nvarying vec3 f_data;\\nvarying vec2 f_uv;\\n\\nvoid main() {\\n if (outOfRange(clipBounds[0], clipBounds[1], f_data)) discard;\\n\\n gl_FragColor = f_color * texture2D(texture, f_uv) * opacity;\\n}\"]),l=n([\"precision highp float;\\n#define GLSLIFY 1\\n\\nbool outOfRange(float a, float b, float p) {\\n return ((p > max(a, b)) || \\n (p < min(a, b)));\\n}\\n\\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y));\\n}\\n\\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y) ||\\n outOfRange(a.z, b.z, p.z));\\n}\\n\\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\\n return outOfRange(a.xyz, b.xyz, p.xyz);\\n}\\n\\nattribute vec3 position;\\nattribute vec4 color;\\nattribute vec2 uv;\\nattribute float pointSize;\\n\\nuniform mat4 model, view, projection;\\nuniform vec3 clipBounds[2];\\n\\nvarying vec4 f_color;\\nvarying vec2 f_uv;\\n\\nvoid main() {\\n if (outOfRange(clipBounds[0], clipBounds[1], position)) {\\n\\n gl_Position = vec4(0.0, 0.0 ,0.0 ,0.0);\\n } else {\\n gl_Position = projection * view * model * vec4(position, 1.0);\\n }\\n gl_PointSize = pointSize;\\n f_color = color;\\n f_uv = uv;\\n}\"]),c=n([\"precision highp float;\\n#define GLSLIFY 1\\n\\nuniform sampler2D texture;\\nuniform float opacity;\\n\\nvarying vec4 f_color;\\nvarying vec2 f_uv;\\n\\nvoid main() {\\n vec2 pointR = gl_PointCoord.xy - vec2(0.5, 0.5);\\n if(dot(pointR, pointR) > 0.25) {\\n discard;\\n }\\n gl_FragColor = f_color * texture2D(texture, f_uv) * opacity;\\n}\"]),u=n([\"precision highp float;\\n#define GLSLIFY 1\\n\\nattribute vec3 position;\\nattribute vec4 id;\\n\\nuniform mat4 model, view, projection;\\n\\nvarying vec3 f_position;\\nvarying vec4 f_id;\\n\\nvoid main() {\\n gl_Position = projection * view * model * vec4(position, 1.0);\\n f_id = id;\\n f_position = position;\\n}\"]),f=n([\"precision highp float;\\n#define GLSLIFY 1\\n\\nbool outOfRange(float a, float b, float p) {\\n return ((p > max(a, b)) || \\n (p < min(a, b)));\\n}\\n\\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y));\\n}\\n\\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y) ||\\n outOfRange(a.z, b.z, p.z));\\n}\\n\\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\\n return outOfRange(a.xyz, b.xyz, p.xyz);\\n}\\n\\nuniform vec3 clipBounds[2];\\nuniform float pickId;\\n\\nvarying vec3 f_position;\\nvarying vec4 f_id;\\n\\nvoid main() {\\n if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\\n\\n gl_FragColor = vec4(pickId, f_id.xyz);\\n}\"]),h=n([\"precision highp float;\\n#define GLSLIFY 1\\n\\nbool outOfRange(float a, float b, float p) {\\n return ((p > max(a, b)) || \\n (p < min(a, b)));\\n}\\n\\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y));\\n}\\n\\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y) ||\\n outOfRange(a.z, b.z, p.z));\\n}\\n\\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\\n return outOfRange(a.xyz, b.xyz, p.xyz);\\n}\\n\\nattribute vec3 position;\\nattribute float pointSize;\\nattribute vec4 id;\\n\\nuniform mat4 model, view, projection;\\nuniform vec3 clipBounds[2];\\n\\nvarying vec3 f_position;\\nvarying vec4 f_id;\\n\\nvoid main() {\\n if (outOfRange(clipBounds[0], clipBounds[1], position)) {\\n\\n gl_Position = vec4(0.0, 0.0, 0.0, 0.0);\\n } else {\\n gl_Position = projection * view * model * vec4(position, 1.0);\\n gl_PointSize = pointSize;\\n }\\n f_id = id;\\n f_position = position;\\n}\"]),p=n([\"precision highp float;\\n#define GLSLIFY 1\\n\\nattribute vec3 position;\\n\\nuniform mat4 model, view, projection;\\n\\nvoid main() {\\n gl_Position = projection * view * model * vec4(position, 1.0);\\n}\"]),d=n([\"precision highp float;\\n#define GLSLIFY 1\\n\\nuniform vec3 contourColor;\\n\\nvoid main() {\\n gl_FragColor = vec4(contourColor, 1.0);\\n}\\n\"]);r.meshShader={vertex:i,fragment:a,attributes:[{name:\"position\",type:\"vec3\"},{name:\"normal\",type:\"vec3\"},{name:\"color\",type:\"vec4\"},{name:\"uv\",type:\"vec2\"}]},r.wireShader={vertex:o,fragment:s,attributes:[{name:\"position\",type:\"vec3\"},{name:\"color\",type:\"vec4\"},{name:\"uv\",type:\"vec2\"}]},r.pointShader={vertex:l,fragment:c,attributes:[{name:\"position\",type:\"vec3\"},{name:\"color\",type:\"vec4\"},{name:\"uv\",type:\"vec2\"},{name:\"pointSize\",type:\"float\"}]},r.pickShader={vertex:u,fragment:f,attributes:[{name:\"position\",type:\"vec3\"},{name:\"id\",type:\"vec4\"}]},r.pointPickShader={vertex:h,fragment:f,attributes:[{name:\"position\",type:\"vec3\"},{name:\"pointSize\",type:\"float\"},{name:\"id\",type:\"vec4\"}]},r.contourShader={vertex:p,fragment:d,attributes:[{name:\"position\",type:\"vec3\"}]}},{glslify:231}],112:[function(t,e,r){\"use strict\";var n=t(\"gl-shader\"),i=t(\"gl-buffer\"),a=t(\"gl-vao\"),o=t(\"gl-texture2d\"),s=t(\"normals\"),l=t(\"gl-mat4/multiply\"),c=t(\"gl-mat4/invert\"),u=t(\"ndarray\"),f=t(\"colormap\"),h=t(\"simplicial-complex-contour\"),p=t(\"typedarray-pool\"),d=t(\"./lib/shaders\"),m=t(\"./lib/closest-point\"),g=d.meshShader,v=d.wireShader,y=d.pointShader,x=d.pickShader,b=d.pointPickShader,_=d.contourShader,w=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function T(t,e,r,n,i,a,o,s,l,c,u,f,h,p,d,m,g,v,y,x,b,_,T,k,A,M,S){this.gl=t,this.pixelRatio=1,this.cells=[],this.positions=[],this.intensity=[],this.texture=e,this.dirty=!0,this.triShader=r,this.lineShader=n,this.pointShader=i,this.pickShader=a,this.pointPickShader=o,this.contourShader=s,this.trianglePositions=l,this.triangleColors=u,this.triangleNormals=h,this.triangleUVs=f,this.triangleIds=c,this.triangleVAO=p,this.triangleCount=0,this.lineWidth=1,this.edgePositions=d,this.edgeColors=g,this.edgeUVs=v,this.edgeIds=m,this.edgeVAO=y,this.edgeCount=0,this.pointPositions=x,this.pointColors=_,this.pointUVs=T,this.pointSizes=k,this.pointIds=b,this.pointVAO=A,this.pointCount=0,this.contourLineWidth=1,this.contourPositions=M,this.contourVAO=S,this.contourCount=0,this.contourColor=[0,0,0],this.contourEnable=!0,this.pickVertex=!0,this.pickId=1,this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.lightPosition=[1e5,1e5,0],this.ambientLight=.8,this.diffuseLight=.8,this.specularLight=2,this.roughness=.5,this.fresnel=1.5,this.opacity=1,this.hasAlpha=!1,this.opacityscale=!1,this._model=w,this._view=w,this._projection=w,this._resolution=[1,1]}var k=T.prototype;function A(t,e){if(!e)return 1;if(!e.length)return 1;for(var r=0;rt&&r>0){var n=(e[r][0]-t)/(e[r][0]-e[r-1][0]);return e[r][1]*(1-n)+n*e[r-1][1]}}return 1}function M(t){var e=n(t,g.vertex,g.fragment);return e.attributes.position.location=0,e.attributes.color.location=2,e.attributes.uv.location=3,e.attributes.normal.location=4,e}function S(t){var e=n(t,v.vertex,v.fragment);return e.attributes.position.location=0,e.attributes.color.location=2,e.attributes.uv.location=3,e}function E(t){var e=n(t,y.vertex,y.fragment);return e.attributes.position.location=0,e.attributes.color.location=2,e.attributes.uv.location=3,e.attributes.pointSize.location=4,e}function L(t){var e=n(t,x.vertex,x.fragment);return e.attributes.position.location=0,e.attributes.id.location=1,e}function C(t){var e=n(t,b.vertex,b.fragment);return e.attributes.position.location=0,e.attributes.id.location=1,e.attributes.pointSize.location=4,e}function P(t){var e=n(t,_.vertex,_.fragment);return e.attributes.position.location=0,e}k.isOpaque=function(){return!this.hasAlpha},k.isTransparent=function(){return this.hasAlpha},k.pickSlots=1,k.setPickBase=function(t){this.pickId=t},k.highlight=function(t){if(t&&this.contourEnable){for(var e=h(this.cells,this.intensity,t.intensity),r=e.cells,n=e.vertexIds,i=e.vertexWeights,a=r.length,o=p.mallocFloat32(6*a),s=0,l=0;l0&&((f=this.triShader).bind(),f.uniforms=s,this.triangleVAO.bind(),e.drawArrays(e.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind());this.edgeCount>0&&this.lineWidth>0&&((f=this.lineShader).bind(),f.uniforms=s,this.edgeVAO.bind(),e.lineWidth(this.lineWidth*this.pixelRatio),e.drawArrays(e.LINES,0,2*this.edgeCount),this.edgeVAO.unbind());this.pointCount>0&&((f=this.pointShader).bind(),f.uniforms=s,this.pointVAO.bind(),e.drawArrays(e.POINTS,0,this.pointCount),this.pointVAO.unbind());this.contourEnable&&this.contourCount>0&&this.contourLineWidth>0&&((f=this.contourShader).bind(),f.uniforms=s,this.contourVAO.bind(),e.drawArrays(e.LINES,0,this.contourCount),this.contourVAO.unbind())},k.drawPick=function(t){t=t||{};for(var e=this.gl,r=t.model||w,n=t.view||w,i=t.projection||w,a=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],o=0;o<3;++o)a[0][o]=Math.max(a[0][o],this.clipBounds[0][o]),a[1][o]=Math.min(a[1][o],this.clipBounds[1][o]);this._model=[].slice.call(r),this._view=[].slice.call(n),this._projection=[].slice.call(i),this._resolution=[e.drawingBufferWidth,e.drawingBufferHeight];var s,l={model:r,view:n,projection:i,clipBounds:a,pickId:this.pickId/255};((s=this.pickShader).bind(),s.uniforms=l,this.triangleCount>0&&(this.triangleVAO.bind(),e.drawArrays(e.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind()),this.edgeCount>0&&(this.edgeVAO.bind(),e.lineWidth(this.lineWidth*this.pixelRatio),e.drawArrays(e.LINES,0,2*this.edgeCount),this.edgeVAO.unbind()),this.pointCount>0)&&((s=this.pointPickShader).bind(),s.uniforms=l,this.pointVAO.bind(),e.drawArrays(e.POINTS,0,this.pointCount),this.pointVAO.unbind())},k.pick=function(t){if(!t)return null;if(t.id!==this.pickId)return null;for(var e=t.value[0]+256*t.value[1]+65536*t.value[2],r=this.cells[e],n=this.positions,i=new Array(r.length),a=0;ai[k]&&(r.uniforms.dataAxis=c,r.uniforms.screenOffset=u,r.uniforms.color=g[t],r.uniforms.angle=v[t],a.drawArrays(a.TRIANGLES,i[k],i[A]-i[k]))),y[t]&&T&&(u[1^t]-=M*p*x[t],r.uniforms.dataAxis=f,r.uniforms.screenOffset=u,r.uniforms.color=b[t],r.uniforms.angle=_[t],a.drawArrays(a.TRIANGLES,w,T)),u[1^t]=M*s[2+(1^t)]-1,d[t+2]&&(u[1^t]+=M*p*m[t+2],ki[k]&&(r.uniforms.dataAxis=c,r.uniforms.screenOffset=u,r.uniforms.color=g[t+2],r.uniforms.angle=v[t+2],a.drawArrays(a.TRIANGLES,i[k],i[A]-i[k]))),y[t+2]&&T&&(u[1^t]+=M*p*x[t+2],r.uniforms.dataAxis=f,r.uniforms.screenOffset=u,r.uniforms.color=b[t+2],r.uniforms.angle=_[t+2],a.drawArrays(a.TRIANGLES,w,T))}),m.drawTitle=function(){var t=[0,0],e=[0,0];return function(){var r=this.plot,n=this.shader,i=r.gl,a=r.screenBox,o=r.titleCenter,s=r.titleAngle,l=r.titleColor,c=r.pixelRatio;if(this.titleCount){for(var u=0;u<2;++u)e[u]=2*(o[u]*c-a[u])/(a[2+u]-a[u])-1;n.bind(),n.uniforms.dataAxis=t,n.uniforms.screenOffset=e,n.uniforms.angle=s,n.uniforms.color=l,i.drawArrays(i.TRIANGLES,this.titleOffset,this.titleCount)}}}(),m.bind=(h=[0,0],p=[0,0],d=[0,0],function(){var t=this.plot,e=this.shader,r=t._tickBounds,n=t.dataBox,i=t.screenBox,a=t.viewBox;e.bind();for(var o=0;o<2;++o){var s=r[o],l=r[o+2]-s,c=.5*(n[o+2]+n[o]),u=n[o+2]-n[o],f=a[o],m=a[o+2]-f,g=i[o],v=i[o+2]-g;p[o]=2*l/u*m/v,h[o]=2*(s-c)/u*m/v}d[1]=2*t.pixelRatio/(i[3]-i[1]),d[0]=d[1]*(i[3]-i[1])/(i[2]-i[0]),e.uniforms.dataScale=p,e.uniforms.dataShift=h,e.uniforms.textScale=d,this.vbo.bind(),e.attributes.textCoordinate.pointer()}),m.update=function(t){var e,r,n,i,o,s=[],l=t.ticks,c=t.bounds;for(o=0;o<2;++o){var u=[Math.floor(s.length/3)],f=[-1/0],h=l[o];for(e=0;e=0){var m=e[d]-n[d]*(e[d+2]-e[d])/(n[d+2]-n[d]);0===d?o.drawLine(m,e[1],m,e[3],p[d],h[d]):o.drawLine(e[0],m,e[2],m,p[d],h[d])}}for(d=0;d=0;--t)this.objects[t].dispose();this.objects.length=0;for(t=this.overlays.length-1;t>=0;--t)this.overlays[t].dispose();this.overlays.length=0,this.gl=null},c.addObject=function(t){this.objects.indexOf(t)<0&&(this.objects.push(t),this.setDirty())},c.removeObject=function(t){for(var e=this.objects,r=0;rMath.abs(e))c.rotate(a,0,0,-t*r*Math.PI*d.rotateSpeed/window.innerWidth);else if(!d._ortho){var o=-d.zoomSpeed*i*e/window.innerHeight*(a-c.lastT())/20;c.pan(a,0,0,f*(Math.exp(o)-1))}}}),!0)},d.enableMouseListeners(),d};var n=t(\"right-now\"),i=t(\"3d-view\"),a=t(\"mouse-change\"),o=t(\"mouse-wheel\"),s=t(\"mouse-event-offset\"),l=t(\"has-passive-events\")},{\"3d-view\":7,\"has-passive-events\":232,\"mouse-change\":247,\"mouse-event-offset\":248,\"mouse-wheel\":250,\"right-now\":278}],120:[function(t,e,r){var n=t(\"glslify\"),i=t(\"gl-shader\"),a=n([\"precision mediump float;\\n#define GLSLIFY 1\\nattribute vec2 position;\\nvarying vec2 uv;\\nvoid main() {\\n uv = position;\\n gl_Position = vec4(position, 0, 1);\\n}\"]),o=n([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nuniform sampler2D accumBuffer;\\nvarying vec2 uv;\\n\\nvoid main() {\\n vec4 accum = texture2D(accumBuffer, 0.5 * (uv + 1.0));\\n gl_FragColor = min(vec4(1,1,1,1), accum);\\n}\"]);e.exports=function(t){return i(t,a,o,null,[{name:\"position\",type:\"vec2\"}])}},{\"gl-shader\":132,glslify:231}],121:[function(t,e,r){\"use strict\";var n=t(\"./camera.js\"),i=t(\"gl-axes3d\"),a=t(\"gl-axes3d/properties\"),o=t(\"gl-spikes3d\"),s=t(\"gl-select-static\"),l=t(\"gl-fbo\"),c=t(\"a-big-triangle\"),u=t(\"mouse-change\"),f=t(\"gl-mat4/perspective\"),h=t(\"gl-mat4/ortho\"),p=t(\"./lib/shader\"),d=t(\"is-mobile\")({tablet:!0,featureDetect:!0});function m(){this.mouse=[-1,-1],this.screen=null,this.distance=1/0,this.index=null,this.dataCoordinate=null,this.dataPosition=null,this.object=null,this.data=null}function g(t){var e=Math.round(Math.log(Math.abs(t))/Math.log(10));if(e<0){var r=Math.round(Math.pow(10,-e));return Math.ceil(t*r)/r}if(e>0){r=Math.round(Math.pow(10,e));return Math.ceil(t/r)*r}return Math.ceil(t)}function v(t){return\"boolean\"!=typeof t||t}e.exports={createScene:function(t){(t=t||{}).camera=t.camera||{};var e=t.canvas;if(!e){if(e=document.createElement(\"canvas\"),t.container)t.container.appendChild(e);else document.body.appendChild(e)}var r=t.gl;r||(t.glOptions&&(d=!!t.glOptions.preserveDrawingBuffer),r=function(t,e){var r=null;try{(r=t.getContext(\"webgl\",e))||(r=t.getContext(\"experimental-webgl\",e))}catch(t){return null}return r}(e,t.glOptions||{premultipliedAlpha:!0,antialias:!0,preserveDrawingBuffer:d}));if(!r)throw new Error(\"webgl not supported\");var y=t.bounds||[[-10,-10,-10],[10,10,10]],x=new m,b=l(r,r.drawingBufferWidth,r.drawingBufferHeight,{preferFloat:!d}),_=p(r),w=t.cameraObject&&!0===t.cameraObject._ortho||t.camera.projection&&\"orthographic\"===t.camera.projection.type||!1,T={eye:t.camera.eye||[2,0,0],center:t.camera.center||[0,0,0],up:t.camera.up||[0,1,0],zoomMin:t.camera.zoomMax||.1,zoomMax:t.camera.zoomMin||100,mode:t.camera.mode||\"turntable\",_ortho:w},k=t.axes||{},A=i(r,k);A.enable=!k.disable;var M=t.spikes||{},S=o(r,M),E=[],L=[],C=[],P=[],I=!0,O=!0,z=new Array(16),D=new Array(16),R={view:null,projection:z,model:D,_ortho:!1},F=(O=!0,[r.drawingBufferWidth,r.drawingBufferHeight]),B=t.cameraObject||n(e,T),N={gl:r,contextLost:!1,pixelRatio:t.pixelRatio||1,canvas:e,selection:x,camera:B,axes:A,axesPixels:null,spikes:S,bounds:y,objects:E,shape:F,aspect:t.aspectRatio||[1,1,1],pickRadius:t.pickRadius||10,zNear:t.zNear||.01,zFar:t.zFar||1e3,fovy:t.fovy||Math.PI/4,clearColor:t.clearColor||[0,0,0,0],autoResize:v(t.autoResize),autoBounds:v(t.autoBounds),autoScale:!!t.autoScale,autoCenter:v(t.autoCenter),clipToBounds:v(t.clipToBounds),snapToData:!!t.snapToData,onselect:t.onselect||null,onrender:t.onrender||null,onclick:t.onclick||null,cameraParams:R,oncontextloss:null,mouseListener:null,_stopped:!1,getAspectratio:function(){return{x:this.aspect[0],y:this.aspect[1],z:this.aspect[2]}},setAspectratio:function(t){this.aspect[0]=t.x,this.aspect[1]=t.y,this.aspect[2]=t.z,O=!0},setBounds:function(t,e){this.bounds[0][t]=e.min,this.bounds[1][t]=e.max},setClearColor:function(t){this.clearColor=t},clearRGBA:function(){this.gl.clearColor(this.clearColor[0],this.clearColor[1],this.clearColor[2],this.clearColor[3]),this.gl.clear(this.gl.COLOR_BUFFER_BIT|this.gl.DEPTH_BUFFER_BIT)}},j=[r.drawingBufferWidth/N.pixelRatio|0,r.drawingBufferHeight/N.pixelRatio|0];function U(){if(!N._stopped&&N.autoResize){var t=e.parentNode,r=1,n=1;t&&t!==document.body?(r=t.clientWidth,n=t.clientHeight):(r=window.innerWidth,n=window.innerHeight);var i=0|Math.ceil(r*N.pixelRatio),a=0|Math.ceil(n*N.pixelRatio);if(i!==e.width||a!==e.height){e.width=i,e.height=a;var o=e.style;o.position=o.position||\"absolute\",o.left=\"0px\",o.top=\"0px\",o.width=r+\"px\",o.height=n+\"px\",I=!0}}}N.autoResize&&U();function V(){for(var t=E.length,e=P.length,n=0;n0&&0===C[e-1];)C.pop(),P.pop().dispose()}function H(){if(N.contextLost)return!0;r.isContextLost()&&(N.contextLost=!0,N.mouseListener.enabled=!1,N.selection.object=null,N.oncontextloss&&N.oncontextloss())}window.addEventListener(\"resize\",U),N.update=function(t){N._stopped||(t=t||{},I=!0,O=!0)},N.add=function(t){N._stopped||(t.axes=A,E.push(t),L.push(-1),I=!0,O=!0,V())},N.remove=function(t){if(!N._stopped){var e=E.indexOf(t);e<0||(E.splice(e,1),L.pop(),I=!0,O=!0,V())}},N.dispose=function(){if(!N._stopped&&(N._stopped=!0,window.removeEventListener(\"resize\",U),e.removeEventListener(\"webglcontextlost\",H),N.mouseListener.enabled=!1,!N.contextLost)){A.dispose(),S.dispose();for(var t=0;tx.distance)continue;for(var c=0;c 1.0) {\\n discard;\\n }\\n baseColor = mix(borderColor, color, step(radius, centerFraction));\\n gl_FragColor = vec4(baseColor.rgb * baseColor.a, baseColor.a);\\n }\\n}\\n\"]),r.pickVertex=n([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nattribute vec2 position;\\nattribute vec4 pickId;\\n\\nuniform mat3 matrix;\\nuniform float pointSize;\\nuniform vec4 pickOffset;\\n\\nvarying vec4 fragId;\\n\\nvoid main() {\\n vec3 hgPosition = matrix * vec3(position, 1);\\n gl_Position = vec4(hgPosition.xy, 0, hgPosition.z);\\n gl_PointSize = pointSize;\\n\\n vec4 id = pickId + pickOffset;\\n id.y += floor(id.x / 256.0);\\n id.x -= floor(id.x / 256.0) * 256.0;\\n\\n id.z += floor(id.y / 256.0);\\n id.y -= floor(id.y / 256.0) * 256.0;\\n\\n id.w += floor(id.z / 256.0);\\n id.z -= floor(id.z / 256.0) * 256.0;\\n\\n fragId = id;\\n}\\n\"]),r.pickFragment=n([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nvarying vec4 fragId;\\n\\nvoid main() {\\n float radius = length(2.0 * gl_PointCoord.xy - 1.0);\\n if(radius > 1.0) {\\n discard;\\n }\\n gl_FragColor = fragId / 255.0;\\n}\\n\"])},{glslify:231}],123:[function(t,e,r){\"use strict\";var n=t(\"gl-shader\"),i=t(\"gl-buffer\"),a=t(\"typedarray-pool\"),o=t(\"./lib/shader\");function s(t,e,r,n,i){this.plot=t,this.offsetBuffer=e,this.pickBuffer=r,this.shader=n,this.pickShader=i,this.sizeMin=.5,this.sizeMinCap=2,this.sizeMax=20,this.areaRatio=1,this.pointCount=0,this.color=[1,0,0,1],this.borderColor=[0,0,0,1],this.blend=!1,this.pickOffset=0,this.points=null}e.exports=function(t,e){var r=t.gl,a=i(r),l=i(r),c=n(r,o.pointVertex,o.pointFragment),u=n(r,o.pickVertex,o.pickFragment),f=new s(t,a,l,c,u);return f.update(e),t.addObject(f),f};var l,c,u=s.prototype;u.dispose=function(){this.shader.dispose(),this.pickShader.dispose(),this.offsetBuffer.dispose(),this.pickBuffer.dispose(),this.plot.removeObject(this)},u.update=function(t){var e;function r(e,r){return e in t?t[e]:r}t=t||{},this.sizeMin=r(\"sizeMin\",.5),this.sizeMax=r(\"sizeMax\",20),this.color=r(\"color\",[1,0,0,1]).slice(),this.areaRatio=r(\"areaRatio\",1),this.borderColor=r(\"borderColor\",[0,0,0,1]).slice(),this.blend=r(\"blend\",!1);var n=t.positions.length>>>1,i=t.positions instanceof Float32Array,o=t.idToIndex instanceof Int32Array&&t.idToIndex.length>=n,s=t.positions,l=i?s:a.mallocFloat32(s.length),c=o?t.idToIndex:a.mallocInt32(n);if(i||l.set(s),!o)for(l.set(s),e=0;e>>1;for(r=0;r=e[0]&&a<=e[2]&&o>=e[1]&&o<=e[3]&&n++}return n}(this.points,i),u=this.plot.pickPixelRatio*Math.max(Math.min(this.sizeMinCap,this.sizeMin),Math.min(this.sizeMax,this.sizeMax/Math.pow(s,.33333)));l[0]=2/a,l[4]=2/o,l[6]=-2*i[0]/a-1,l[7]=-2*i[1]/o-1,this.offsetBuffer.bind(),r.bind(),r.attributes.position.pointer(),r.uniforms.matrix=l,r.uniforms.color=this.color,r.uniforms.borderColor=this.borderColor,r.uniforms.pointCloud=u<5,r.uniforms.pointSize=u,r.uniforms.centerFraction=Math.min(1,Math.max(0,Math.sqrt(1-this.areaRatio))),e&&(c[0]=255&t,c[1]=t>>8&255,c[2]=t>>16&255,c[3]=t>>24&255,this.pickBuffer.bind(),r.attributes.pickId.pointer(n.UNSIGNED_BYTE),r.uniforms.pickOffset=c,this.pickOffset=t);var f=n.getParameter(n.BLEND),h=n.getParameter(n.DITHER);return f&&!this.blend&&n.disable(n.BLEND),h&&n.disable(n.DITHER),n.drawArrays(n.POINTS,0,this.pointCount),f&&!this.blend&&n.enable(n.BLEND),h&&n.enable(n.DITHER),t+this.pointCount}),u.draw=u.unifiedDraw,u.drawPick=u.unifiedDraw,u.pick=function(t,e,r){var n=this.pickOffset,i=this.pointCount;if(r=n+i)return null;var a=r-n,o=this.points;return{object:this,pointId:a,dataCoord:[o[2*a],o[2*a+1]]}}},{\"./lib/shader\":122,\"gl-buffer\":78,\"gl-shader\":132,\"typedarray-pool\":308}],124:[function(t,e,r){e.exports=function(t,e,r,n){var i,a,o,s,l,c=e[0],u=e[1],f=e[2],h=e[3],p=r[0],d=r[1],m=r[2],g=r[3];(a=c*p+u*d+f*m+h*g)<0&&(a=-a,p=-p,d=-d,m=-m,g=-g);1-a>1e-6?(i=Math.acos(a),o=Math.sin(i),s=Math.sin((1-n)*i)/o,l=Math.sin(n*i)/o):(s=1-n,l=n);return t[0]=s*c+l*p,t[1]=s*u+l*d,t[2]=s*f+l*m,t[3]=s*h+l*g,t}},{}],125:[function(t,e,r){\"use strict\";e.exports=function(t){return t||0===t?t.toString():\"\"}},{}],126:[function(t,e,r){\"use strict\";var n=t(\"vectorize-text\");e.exports=function(t,e,r){var a=i[e];a||(a=i[e]={});if(t in a)return a[t];var o={textAlign:\"center\",textBaseline:\"middle\",lineHeight:1,font:e,lineSpacing:1.25,styletags:{breaklines:!0,bolds:!0,italics:!0,subscripts:!0,superscripts:!0},triangles:!0},s=n(t,o);o.triangles=!1;var l,c,u=n(t,o);if(r&&1!==r){for(l=0;l max(a, b)) || \\n (p < min(a, b)));\\n}\\n\\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y));\\n}\\n\\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y) ||\\n outOfRange(a.z, b.z, p.z));\\n}\\n\\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\\n return outOfRange(a.xyz, b.xyz, p.xyz);\\n}\\n\\nattribute vec3 position;\\nattribute vec4 color;\\nattribute vec2 glyph;\\nattribute vec4 id;\\n\\nuniform vec4 highlightId;\\nuniform float highlightScale;\\nuniform mat4 model, view, projection;\\nuniform vec3 clipBounds[2];\\n\\nvarying vec4 interpColor;\\nvarying vec4 pickId;\\nvarying vec3 dataCoordinate;\\n\\nvoid main() {\\n if (outOfRange(clipBounds[0], clipBounds[1], position)) {\\n\\n gl_Position = vec4(0,0,0,0);\\n } else {\\n float scale = 1.0;\\n if(distance(highlightId, id) < 0.0001) {\\n scale = highlightScale;\\n }\\n\\n vec4 worldPosition = model * vec4(position, 1);\\n vec4 viewPosition = view * worldPosition;\\n viewPosition = viewPosition / viewPosition.w;\\n vec4 clipPosition = projection * (viewPosition + scale * vec4(glyph.x, -glyph.y, 0, 0));\\n\\n gl_Position = clipPosition;\\n interpColor = color;\\n pickId = id;\\n dataCoordinate = position;\\n }\\n}\"]),o=i([\"precision highp float;\\n#define GLSLIFY 1\\n\\nbool outOfRange(float a, float b, float p) {\\n return ((p > max(a, b)) || \\n (p < min(a, b)));\\n}\\n\\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y));\\n}\\n\\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y) ||\\n outOfRange(a.z, b.z, p.z));\\n}\\n\\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\\n return outOfRange(a.xyz, b.xyz, p.xyz);\\n}\\n\\nattribute vec3 position;\\nattribute vec4 color;\\nattribute vec2 glyph;\\nattribute vec4 id;\\n\\nuniform mat4 model, view, projection;\\nuniform vec2 screenSize;\\nuniform vec3 clipBounds[2];\\nuniform float highlightScale, pixelRatio;\\nuniform vec4 highlightId;\\n\\nvarying vec4 interpColor;\\nvarying vec4 pickId;\\nvarying vec3 dataCoordinate;\\n\\nvoid main() {\\n if (outOfRange(clipBounds[0], clipBounds[1], position)) {\\n\\n gl_Position = vec4(0,0,0,0);\\n } else {\\n float scale = pixelRatio;\\n if(distance(highlightId.bgr, id.bgr) < 0.001) {\\n scale *= highlightScale;\\n }\\n\\n vec4 worldPosition = model * vec4(position, 1.0);\\n vec4 viewPosition = view * worldPosition;\\n vec4 clipPosition = projection * viewPosition;\\n clipPosition /= clipPosition.w;\\n\\n gl_Position = clipPosition + vec4(screenSize * scale * vec2(glyph.x, -glyph.y), 0.0, 0.0);\\n interpColor = color;\\n pickId = id;\\n dataCoordinate = position;\\n }\\n}\"]),s=i([\"precision highp float;\\n#define GLSLIFY 1\\n\\nbool outOfRange(float a, float b, float p) {\\n return ((p > max(a, b)) || \\n (p < min(a, b)));\\n}\\n\\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y));\\n}\\n\\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y) ||\\n outOfRange(a.z, b.z, p.z));\\n}\\n\\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\\n return outOfRange(a.xyz, b.xyz, p.xyz);\\n}\\n\\nattribute vec3 position;\\nattribute vec4 color;\\nattribute vec2 glyph;\\nattribute vec4 id;\\n\\nuniform float highlightScale;\\nuniform vec4 highlightId;\\nuniform vec3 axes[2];\\nuniform mat4 model, view, projection;\\nuniform vec2 screenSize;\\nuniform vec3 clipBounds[2];\\nuniform float scale, pixelRatio;\\n\\nvarying vec4 interpColor;\\nvarying vec4 pickId;\\nvarying vec3 dataCoordinate;\\n\\nvoid main() {\\n if (outOfRange(clipBounds[0], clipBounds[1], position)) {\\n\\n gl_Position = vec4(0,0,0,0);\\n } else {\\n float lscale = pixelRatio * scale;\\n if(distance(highlightId, id) < 0.0001) {\\n lscale *= highlightScale;\\n }\\n\\n vec4 clipCenter = projection * view * model * vec4(position, 1);\\n vec3 dataPosition = position + 0.5*lscale*(axes[0] * glyph.x + axes[1] * glyph.y) * clipCenter.w * screenSize.y;\\n vec4 clipPosition = projection * view * model * vec4(dataPosition, 1);\\n\\n gl_Position = clipPosition;\\n interpColor = color;\\n pickId = id;\\n dataCoordinate = dataPosition;\\n }\\n}\\n\"]),l=i([\"precision highp float;\\n#define GLSLIFY 1\\n\\nbool outOfRange(float a, float b, float p) {\\n return ((p > max(a, b)) || \\n (p < min(a, b)));\\n}\\n\\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y));\\n}\\n\\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y) ||\\n outOfRange(a.z, b.z, p.z));\\n}\\n\\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\\n return outOfRange(a.xyz, b.xyz, p.xyz);\\n}\\n\\nuniform vec3 fragClipBounds[2];\\nuniform float opacity;\\n\\nvarying vec4 interpColor;\\nvarying vec3 dataCoordinate;\\n\\nvoid main() {\\n if (\\n outOfRange(fragClipBounds[0], fragClipBounds[1], dataCoordinate) ||\\n interpColor.a * opacity == 0.\\n ) discard;\\n gl_FragColor = interpColor * opacity;\\n}\\n\"]),c=i([\"precision highp float;\\n#define GLSLIFY 1\\n\\nbool outOfRange(float a, float b, float p) {\\n return ((p > max(a, b)) || \\n (p < min(a, b)));\\n}\\n\\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y));\\n}\\n\\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y) ||\\n outOfRange(a.z, b.z, p.z));\\n}\\n\\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\\n return outOfRange(a.xyz, b.xyz, p.xyz);\\n}\\n\\nuniform vec3 fragClipBounds[2];\\nuniform float pickGroup;\\n\\nvarying vec4 pickId;\\nvarying vec3 dataCoordinate;\\n\\nvoid main() {\\n if (outOfRange(fragClipBounds[0], fragClipBounds[1], dataCoordinate)) discard;\\n\\n gl_FragColor = vec4(pickGroup, pickId.bgr);\\n}\"]),u=[{name:\"position\",type:\"vec3\"},{name:\"color\",type:\"vec4\"},{name:\"glyph\",type:\"vec2\"},{name:\"id\",type:\"vec4\"}],f={vertex:a,fragment:l,attributes:u},h={vertex:o,fragment:l,attributes:u},p={vertex:s,fragment:l,attributes:u},d={vertex:a,fragment:c,attributes:u},m={vertex:o,fragment:c,attributes:u},g={vertex:s,fragment:c,attributes:u};function v(t,e){var r=n(t,e),i=r.attributes;return i.position.location=0,i.color.location=1,i.glyph.location=2,i.id.location=3,r}r.createPerspective=function(t){return v(t,f)},r.createOrtho=function(t){return v(t,h)},r.createProject=function(t){return v(t,p)},r.createPickPerspective=function(t){return v(t,d)},r.createPickOrtho=function(t){return v(t,m)},r.createPickProject=function(t){return v(t,g)}},{\"gl-shader\":132,glslify:231}],128:[function(t,e,r){\"use strict\";var n=t(\"is-string-blank\"),i=t(\"gl-buffer\"),a=t(\"gl-vao\"),o=t(\"typedarray-pool\"),s=t(\"gl-mat4/multiply\"),l=t(\"./lib/shaders\"),c=t(\"./lib/glyphs\"),u=t(\"./lib/get-simple-string\"),f=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function h(t,e){var r=t[0],n=t[1],i=t[2],a=t[3];return t[0]=e[0]*r+e[4]*n+e[8]*i+e[12]*a,t[1]=e[1]*r+e[5]*n+e[9]*i+e[13]*a,t[2]=e[2]*r+e[6]*n+e[10]*i+e[14]*a,t[3]=e[3]*r+e[7]*n+e[11]*i+e[15]*a,t}function p(t,e,r,n){return h(n,n),h(n,n),h(n,n)}function d(t,e){this.index=t,this.dataCoordinate=this.position=e}function m(t){return!0===t||t>1?1:t}function g(t,e,r,n,i,a,o,s,l,c,u,f){this.gl=t,this.pixelRatio=1,this.shader=e,this.orthoShader=r,this.projectShader=n,this.pointBuffer=i,this.colorBuffer=a,this.glyphBuffer=o,this.idBuffer=s,this.vao=l,this.vertexCount=0,this.lineVertexCount=0,this.opacity=1,this.hasAlpha=!1,this.lineWidth=0,this.projectScale=[2/3,2/3,2/3],this.projectOpacity=[1,1,1],this.projectHasAlpha=!1,this.pickId=0,this.pickPerspectiveShader=c,this.pickOrthoShader=u,this.pickProjectShader=f,this.points=[],this._selectResult=new d(0,[0,0,0]),this.useOrtho=!0,this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.axesProject=[!0,!0,!0],this.axesBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.highlightId=[1,1,1,1],this.highlightScale=2,this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.dirty=!0}e.exports=function(t){var e=t.gl,r=l.createPerspective(e),n=l.createOrtho(e),o=l.createProject(e),s=l.createPickPerspective(e),c=l.createPickOrtho(e),u=l.createPickProject(e),f=i(e),h=i(e),p=i(e),d=i(e),m=a(e,[{buffer:f,size:3,type:e.FLOAT},{buffer:h,size:4,type:e.FLOAT},{buffer:p,size:2,type:e.FLOAT},{buffer:d,size:4,type:e.UNSIGNED_BYTE,normalized:!0}]),v=new g(e,r,n,o,f,h,p,d,m,s,c,u);return v.update(t),v};var v=g.prototype;v.pickSlots=1,v.setPickBase=function(t){this.pickId=t},v.isTransparent=function(){if(this.hasAlpha)return!0;for(var t=0;t<3;++t)if(this.axesProject[t]&&this.projectHasAlpha)return!0;return!1},v.isOpaque=function(){if(!this.hasAlpha)return!0;for(var t=0;t<3;++t)if(this.axesProject[t]&&!this.projectHasAlpha)return!0;return!1};var y=[0,0],x=[0,0,0],b=[0,0,0],_=[0,0,0,1],w=[0,0,0,1],T=f.slice(),k=[0,0,0],A=[[0,0,0],[0,0,0]];function M(t){return t[0]=t[1]=t[2]=0,t}function S(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=1,t}function E(t,e,r,n){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[r]=n,t}function L(t,e,r,n){var i,a=e.axesProject,o=e.gl,l=t.uniforms,c=r.model||f,u=r.view||f,h=r.projection||f,d=e.axesBounds,m=function(t){for(var e=A,r=0;r<2;++r)for(var n=0;n<3;++n)e[r][n]=Math.max(Math.min(t[r][n],1e8),-1e8);return e}(e.clipBounds);i=e.axes&&e.axes.lastCubeProps?e.axes.lastCubeProps.axis:[1,1,1],y[0]=2/o.drawingBufferWidth,y[1]=2/o.drawingBufferHeight,t.bind(),l.view=u,l.projection=h,l.screenSize=y,l.highlightId=e.highlightId,l.highlightScale=e.highlightScale,l.clipBounds=m,l.pickGroup=e.pickId/255,l.pixelRatio=n;for(var g=0;g<3;++g)if(a[g]){l.scale=e.projectScale[g],l.opacity=e.projectOpacity[g];for(var v=T,L=0;L<16;++L)v[L]=0;for(L=0;L<4;++L)v[5*L]=1;v[5*g]=0,i[g]<0?v[12+g]=d[0][g]:v[12+g]=d[1][g],s(v,c,v),l.model=v;var C=(g+1)%3,P=(g+2)%3,I=M(x),O=M(b);I[C]=1,O[P]=1;var z=p(0,0,0,S(_,I)),D=p(0,0,0,S(w,O));if(Math.abs(z[1])>Math.abs(D[1])){var R=z;z=D,D=R,R=I,I=O,O=R;var F=C;C=P,P=F}z[0]<0&&(I[C]=-1),D[1]>0&&(O[P]=-1);var B=0,N=0;for(L=0;L<4;++L)B+=Math.pow(c[4*C+L],2),N+=Math.pow(c[4*P+L],2);I[C]/=Math.sqrt(B),O[P]/=Math.sqrt(N),l.axes[0]=I,l.axes[1]=O,l.fragClipBounds[0]=E(k,m[0],g,-1e8),l.fragClipBounds[1]=E(k,m[1],g,1e8),e.vao.bind(),e.vao.draw(o.TRIANGLES,e.vertexCount),e.lineWidth>0&&(o.lineWidth(e.lineWidth*n),e.vao.draw(o.LINES,e.lineVertexCount,e.vertexCount)),e.vao.unbind()}}var C=[[-1e8,-1e8,-1e8],[1e8,1e8,1e8]];function P(t,e,r,n,i,a,o){var s=r.gl;if((a===r.projectHasAlpha||o)&&L(e,r,n,i),a===r.hasAlpha||o){t.bind();var l=t.uniforms;l.model=n.model||f,l.view=n.view||f,l.projection=n.projection||f,y[0]=2/s.drawingBufferWidth,y[1]=2/s.drawingBufferHeight,l.screenSize=y,l.highlightId=r.highlightId,l.highlightScale=r.highlightScale,l.fragClipBounds=C,l.clipBounds=r.axes.bounds,l.opacity=r.opacity,l.pickGroup=r.pickId/255,l.pixelRatio=i,r.vao.bind(),r.vao.draw(s.TRIANGLES,r.vertexCount),r.lineWidth>0&&(s.lineWidth(r.lineWidth*i),r.vao.draw(s.LINES,r.lineVertexCount,r.vertexCount)),r.vao.unbind()}}function I(t,e,r,i){var a;a=Array.isArray(t)?e=this.pointCount||e<0)return null;var r=this.points[e],n=this._selectResult;n.index=e;for(var i=0;i<3;++i)n.position[i]=n.dataCoordinate[i]=r[i];return n},v.highlight=function(t){if(t){var e=t.index,r=255&e,n=e>>8&255,i=e>>16&255;this.highlightId=[r/255,n/255,i/255,0]}else this.highlightId=[1,1,1,1]},v.update=function(t){if(\"perspective\"in(t=t||{})&&(this.useOrtho=!t.perspective),\"orthographic\"in t&&(this.useOrtho=!!t.orthographic),\"lineWidth\"in t&&(this.lineWidth=t.lineWidth),\"project\"in t)if(Array.isArray(t.project))this.axesProject=t.project;else{var e=!!t.project;this.axesProject=[e,e,e]}if(\"projectScale\"in t)if(Array.isArray(t.projectScale))this.projectScale=t.projectScale.slice();else{var r=+t.projectScale;this.projectScale=[r,r,r]}if(this.projectHasAlpha=!1,\"projectOpacity\"in t){if(Array.isArray(t.projectOpacity))this.projectOpacity=t.projectOpacity.slice();else{r=+t.projectOpacity;this.projectOpacity=[r,r,r]}for(var n=0;n<3;++n)this.projectOpacity[n]=m(this.projectOpacity[n]),this.projectOpacity[n]<1&&(this.projectHasAlpha=!0)}this.hasAlpha=!1,\"opacity\"in t&&(this.opacity=m(t.opacity),this.opacity<1&&(this.hasAlpha=!0)),this.dirty=!0;var i,a,s=t.position,l=t.font||\"normal\",c=t.alignment||[0,0];if(2===c.length)i=c[0],a=c[1];else{i=[],a=[];for(n=0;n0){var O=0,z=x,D=[0,0,0,1],R=[0,0,0,1],F=Array.isArray(p)&&Array.isArray(p[0]),B=Array.isArray(v)&&Array.isArray(v[0]);t:for(n=0;n<_;++n){y+=1;for(w=s[n],T=0;T<3;++T){if(isNaN(w[T])||!isFinite(w[T]))continue t;f[T]=Math.max(f[T],w[T]),u[T]=Math.min(u[T],w[T])}k=(N=I(h,n,l,this.pixelRatio)).mesh,A=N.lines,M=N.bounds;var N,j=N.visible;if(j)if(Array.isArray(p)){if(3===(U=F?n0?1-M[0][0]:Y<0?1+M[1][0]:1,W*=W>0?1-M[0][1]:W<0?1+M[1][1]:1],X=k.cells||[],J=k.positions||[];for(T=0;T0){var v=r*u;o.drawBox(f-v,h-v,p+v,h+v,a),o.drawBox(f-v,d-v,p+v,d+v,a),o.drawBox(f-v,h-v,f+v,d+v,a),o.drawBox(p-v,h-v,p+v,d+v,a)}}}},s.update=function(t){t=t||{},this.innerFill=!!t.innerFill,this.outerFill=!!t.outerFill,this.innerColor=(t.innerColor||[0,0,0,.5]).slice(),this.outerColor=(t.outerColor||[0,0,0,.5]).slice(),this.borderColor=(t.borderColor||[0,0,0,1]).slice(),this.borderWidth=t.borderWidth||0,this.selectBox=(t.selectBox||this.selectBox).slice()},s.dispose=function(){this.boxBuffer.dispose(),this.boxShader.dispose(),this.plot.removeOverlay(this)}},{\"./lib/shaders\":129,\"gl-buffer\":78,\"gl-shader\":132}],131:[function(t,e,r){\"use strict\";e.exports=function(t,e){var r=e[0],a=e[1],o=n(t,r,a,{}),s=i.mallocUint8(r*a*4);return new l(t,o,s)};var n=t(\"gl-fbo\"),i=t(\"typedarray-pool\"),a=t(\"ndarray\"),o=t(\"bit-twiddle\").nextPow2;function s(t,e,r,n,i){this.coord=[t,e],this.id=r,this.value=n,this.distance=i}function l(t,e,r){this.gl=t,this.fbo=e,this.buffer=r,this._readTimeout=null;var n=this;this._readCallback=function(){n.gl&&(e.bind(),t.readPixels(0,0,e.shape[0],e.shape[1],t.RGBA,t.UNSIGNED_BYTE,n.buffer),n._readTimeout=null)}}var c=l.prototype;Object.defineProperty(c,\"shape\",{get:function(){return this.gl?this.fbo.shape.slice():[0,0]},set:function(t){if(this.gl){this.fbo.shape=t;var e=this.fbo.shape[0],r=this.fbo.shape[1];if(r*e*4>this.buffer.length){i.free(this.buffer);for(var n=this.buffer=i.mallocUint8(o(r*e*4)),a=0;ar)for(t=r;te)for(t=e;t=0){for(var T=0|w.type.charAt(w.type.length-1),k=new Array(T),A=0;A=0;)M+=1;_[y]=M}var S=new Array(r.length);function E(){h.program=o.program(p,h._vref,h._fref,b,_);for(var t=0;t=0){if((d=h.charCodeAt(h.length-1)-48)<2||d>4)throw new n(\"\",\"Invalid data type for attribute \"+f+\": \"+h);s(t,e,p[0],i,d,a,f)}else{if(!(h.indexOf(\"mat\")>=0))throw new n(\"\",\"Unknown data type for attribute \"+f+\": \"+h);var d;if((d=h.charCodeAt(h.length-1)-48)<2||d>4)throw new n(\"\",\"Invalid data type for attribute \"+f+\": \"+h);l(t,e,p,i,d,a,f)}}}return a};var n=t(\"./GLError\");function i(t,e,r,n,i,a){this._gl=t,this._wrapper=e,this._index=r,this._locations=n,this._dimension=i,this._constFunc=a}var a=i.prototype;a.pointer=function(t,e,r,n){var i=this._gl,a=this._locations[this._index];i.vertexAttribPointer(a,this._dimension,t||i.FLOAT,!!e,r||0,n||0),i.enableVertexAttribArray(a)},a.set=function(t,e,r,n){return this._constFunc(this._locations[this._index],t,e,r,n)},Object.defineProperty(a,\"location\",{get:function(){return this._locations[this._index]},set:function(t){return t!==this._locations[this._index]&&(this._locations[this._index]=0|t,this._wrapper.program=null),0|t}});var o=[function(t,e,r){return void 0===r.length?t.vertexAttrib1f(e,r):t.vertexAttrib1fv(e,r)},function(t,e,r,n){return void 0===r.length?t.vertexAttrib2f(e,r,n):t.vertexAttrib2fv(e,r)},function(t,e,r,n,i){return void 0===r.length?t.vertexAttrib3f(e,r,n,i):t.vertexAttrib3fv(e,r)},function(t,e,r,n,i,a){return void 0===r.length?t.vertexAttrib4f(e,r,n,i,a):t.vertexAttrib4fv(e,r)}];function s(t,e,r,n,a,s,l){var c=o[a],u=new i(t,e,r,n,a,c);Object.defineProperty(s,l,{set:function(e){return t.disableVertexAttribArray(n[r]),c(t,n[r],e),e},get:function(){return u},enumerable:!0})}function l(t,e,r,n,i,a,o){for(var l=new Array(i),c=new Array(i),u=0;u4)throw new i(\"\",\"Invalid uniform dimension type for matrix \"+name+\": \"+v);t[\"uniformMatrix\"+g+\"fv\"](s[u],!1,f);break}throw new i(\"\",\"Unknown uniform data type for \"+name+\": \"+v)}if((g=v.charCodeAt(v.length-1)-48)<2||g>4)throw new i(\"\",\"Invalid data type\");switch(v.charAt(0)){case\"b\":case\"i\":t[\"uniform\"+g+\"iv\"](s[u],f);break;case\"v\":t[\"uniform\"+g+\"fv\"](s[u],f);break;default:throw new i(\"\",\"Unrecognized data type for vector \"+name+\": \"+v)}}}}}}function c(t,e,n){if(\"object\"==typeof n){var c=u(n);Object.defineProperty(t,e,{get:a(c),set:l(n),enumerable:!0,configurable:!1})}else s[n]?Object.defineProperty(t,e,{get:(f=n,function(t,e,r){return t.getUniform(e.program,r[f])}),set:l(n),enumerable:!0,configurable:!1}):t[e]=function(t){switch(t){case\"bool\":return!1;case\"int\":case\"sampler2D\":case\"samplerCube\":case\"float\":return 0;default:var e=t.indexOf(\"vec\");if(0<=e&&e<=1&&t.length===4+e){if((r=t.charCodeAt(t.length-1)-48)<2||r>4)throw new i(\"\",\"Invalid data type\");return\"b\"===t.charAt(0)?o(r,!1):o(r,0)}if(0===t.indexOf(\"mat\")&&4===t.length){var r;if((r=t.charCodeAt(t.length-1)-48)<2||r>4)throw new i(\"\",\"Invalid uniform dimension type for matrix \"+name+\": \"+t);return o(r*r,0)}throw new i(\"\",\"Unknown uniform data type for \"+name+\": \"+t)}}(r[n].type);var f}function u(t){var e;if(Array.isArray(t)){e=new Array(t.length);for(var r=0;r1){s[0]in a||(a[s[0]]=[]),a=a[s[0]];for(var l=1;l1)for(var l=0;l 0 U ||b|| > 0.\\n // Assign z = 0, x = -b, y = a:\\n // a*-b + b*a + c*0 = -ba + ba + 0 = 0\\n if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) {\\n return normalize(vec3(-v.y, v.x, 0.0));\\n } else {\\n return normalize(vec3(0.0, v.z, -v.y));\\n }\\n}\\n\\n// Calculate the tube vertex and normal at the given index.\\n//\\n// The returned vertex is for a tube ring with its center at origin, radius of length(d), pointing in the direction of d.\\n//\\n// Each tube segment is made up of a ring of vertices.\\n// These vertices are used to make up the triangles of the tube by connecting them together in the vertex array.\\n// The indexes of tube segments run from 0 to 8.\\n//\\nvec3 getTubePosition(vec3 d, float index, out vec3 normal) {\\n float segmentCount = 8.0;\\n\\n float angle = 2.0 * 3.14159 * (index / segmentCount);\\n\\n vec3 u = getOrthogonalVector(d);\\n vec3 v = normalize(cross(u, d));\\n\\n vec3 x = u * cos(angle) * length(d);\\n vec3 y = v * sin(angle) * length(d);\\n vec3 v3 = x + y;\\n\\n normal = normalize(v3);\\n\\n return v3;\\n}\\n\\nattribute vec4 vector;\\nattribute vec4 color, position;\\nattribute vec2 uv;\\n\\nuniform float vectorScale, tubeScale;\\nuniform mat4 model, view, projection, inverseModel;\\nuniform vec3 eyePosition, lightPosition;\\n\\nvarying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;\\nvarying vec4 f_color;\\nvarying vec2 f_uv;\\n\\nvoid main() {\\n // Scale the vector magnitude to stay constant with\\n // model & view changes.\\n vec3 normal;\\n vec3 XYZ = getTubePosition(mat3(model) * (tubeScale * vector.w * normalize(vector.xyz)), position.w, normal);\\n vec4 tubePosition = model * vec4(position.xyz, 1.0) + vec4(XYZ, 0.0);\\n\\n //Lighting geometry parameters\\n vec4 cameraCoordinate = view * tubePosition;\\n cameraCoordinate.xyz /= cameraCoordinate.w;\\n f_lightDirection = lightPosition - cameraCoordinate.xyz;\\n f_eyeDirection = eyePosition - cameraCoordinate.xyz;\\n f_normal = normalize((vec4(normal, 0.0) * inverseModel).xyz);\\n\\n // vec4 m_position = model * vec4(tubePosition, 1.0);\\n vec4 t_position = view * tubePosition;\\n gl_Position = projection * t_position;\\n\\n f_color = color;\\n f_data = tubePosition.xyz;\\n f_position = position.xyz;\\n f_uv = uv;\\n}\\n\"]),a=n([\"#extension GL_OES_standard_derivatives : enable\\n\\nprecision highp float;\\n#define GLSLIFY 1\\n\\nfloat beckmannDistribution(float x, float roughness) {\\n float NdotH = max(x, 0.0001);\\n float cos2Alpha = NdotH * NdotH;\\n float tan2Alpha = (cos2Alpha - 1.0) / cos2Alpha;\\n float roughness2 = roughness * roughness;\\n float denom = 3.141592653589793 * roughness2 * cos2Alpha * cos2Alpha;\\n return exp(tan2Alpha / roughness2) / denom;\\n}\\n\\nfloat cookTorranceSpecular(\\n vec3 lightDirection,\\n vec3 viewDirection,\\n vec3 surfaceNormal,\\n float roughness,\\n float fresnel) {\\n\\n float VdotN = max(dot(viewDirection, surfaceNormal), 0.0);\\n float LdotN = max(dot(lightDirection, surfaceNormal), 0.0);\\n\\n //Half angle vector\\n vec3 H = normalize(lightDirection + viewDirection);\\n\\n //Geometric term\\n float NdotH = max(dot(surfaceNormal, H), 0.0);\\n float VdotH = max(dot(viewDirection, H), 0.000001);\\n float LdotH = max(dot(lightDirection, H), 0.000001);\\n float G1 = (2.0 * NdotH * VdotN) / VdotH;\\n float G2 = (2.0 * NdotH * LdotN) / LdotH;\\n float G = min(1.0, min(G1, G2));\\n \\n //Distribution term\\n float D = beckmannDistribution(NdotH, roughness);\\n\\n //Fresnel term\\n float F = pow(1.0 - VdotN, fresnel);\\n\\n //Multiply terms and done\\n return G * F * D / max(3.14159265 * VdotN, 0.000001);\\n}\\n\\nbool outOfRange(float a, float b, float p) {\\n return ((p > max(a, b)) || \\n (p < min(a, b)));\\n}\\n\\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y));\\n}\\n\\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y) ||\\n outOfRange(a.z, b.z, p.z));\\n}\\n\\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\\n return outOfRange(a.xyz, b.xyz, p.xyz);\\n}\\n\\nuniform vec3 clipBounds[2];\\nuniform float roughness, fresnel, kambient, kdiffuse, kspecular, opacity;\\nuniform sampler2D texture;\\n\\nvarying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;\\nvarying vec4 f_color;\\nvarying vec2 f_uv;\\n\\nvoid main() {\\n if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\\n vec3 N = normalize(f_normal);\\n vec3 L = normalize(f_lightDirection);\\n vec3 V = normalize(f_eyeDirection);\\n\\n if(gl_FrontFacing) {\\n N = -N;\\n }\\n\\n float specular = min(1.0, max(0.0, cookTorranceSpecular(L, V, N, roughness, fresnel)));\\n float diffuse = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0);\\n\\n vec4 surfaceColor = f_color * texture2D(texture, f_uv);\\n vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular, 1.0);\\n\\n gl_FragColor = litColor * opacity;\\n}\\n\"]),o=n([\"precision highp float;\\n\\nprecision highp float;\\n#define GLSLIFY 1\\n\\nvec3 getOrthogonalVector(vec3 v) {\\n // Return up-vector for only-z vector.\\n // Return ax + by + cz = 0, a point that lies on the plane that has v as a normal and that isn't (0,0,0).\\n // From the above if-statement we have ||a|| > 0 U ||b|| > 0.\\n // Assign z = 0, x = -b, y = a:\\n // a*-b + b*a + c*0 = -ba + ba + 0 = 0\\n if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) {\\n return normalize(vec3(-v.y, v.x, 0.0));\\n } else {\\n return normalize(vec3(0.0, v.z, -v.y));\\n }\\n}\\n\\n// Calculate the tube vertex and normal at the given index.\\n//\\n// The returned vertex is for a tube ring with its center at origin, radius of length(d), pointing in the direction of d.\\n//\\n// Each tube segment is made up of a ring of vertices.\\n// These vertices are used to make up the triangles of the tube by connecting them together in the vertex array.\\n// The indexes of tube segments run from 0 to 8.\\n//\\nvec3 getTubePosition(vec3 d, float index, out vec3 normal) {\\n float segmentCount = 8.0;\\n\\n float angle = 2.0 * 3.14159 * (index / segmentCount);\\n\\n vec3 u = getOrthogonalVector(d);\\n vec3 v = normalize(cross(u, d));\\n\\n vec3 x = u * cos(angle) * length(d);\\n vec3 y = v * sin(angle) * length(d);\\n vec3 v3 = x + y;\\n\\n normal = normalize(v3);\\n\\n return v3;\\n}\\n\\nattribute vec4 vector;\\nattribute vec4 position;\\nattribute vec4 id;\\n\\nuniform mat4 model, view, projection;\\nuniform float tubeScale;\\n\\nvarying vec3 f_position;\\nvarying vec4 f_id;\\n\\nvoid main() {\\n vec3 normal;\\n vec3 XYZ = getTubePosition(mat3(model) * (tubeScale * vector.w * normalize(vector.xyz)), position.w, normal);\\n vec4 tubePosition = model * vec4(position.xyz, 1.0) + vec4(XYZ, 0.0);\\n\\n gl_Position = projection * view * tubePosition;\\n f_id = id;\\n f_position = position.xyz;\\n}\\n\"]),s=n([\"precision highp float;\\n#define GLSLIFY 1\\n\\nbool outOfRange(float a, float b, float p) {\\n return ((p > max(a, b)) || \\n (p < min(a, b)));\\n}\\n\\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y));\\n}\\n\\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y) ||\\n outOfRange(a.z, b.z, p.z));\\n}\\n\\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\\n return outOfRange(a.xyz, b.xyz, p.xyz);\\n}\\n\\nuniform vec3 clipBounds[2];\\nuniform float pickId;\\n\\nvarying vec3 f_position;\\nvarying vec4 f_id;\\n\\nvoid main() {\\n if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\\n\\n gl_FragColor = vec4(pickId, f_id.xyz);\\n}\"]);r.meshShader={vertex:i,fragment:a,attributes:[{name:\"position\",type:\"vec4\"},{name:\"color\",type:\"vec4\"},{name:\"uv\",type:\"vec2\"},{name:\"vector\",type:\"vec4\"}]},r.pickShader={vertex:o,fragment:s,attributes:[{name:\"position\",type:\"vec4\"},{name:\"id\",type:\"vec4\"},{name:\"vector\",type:\"vec4\"}]}},{glslify:231}],143:[function(t,e,r){\"use strict\";var n=t(\"gl-vec3\"),i=t(\"gl-vec4\"),a=[\"xyz\",\"xzy\",\"yxz\",\"yzx\",\"zxy\",\"zyx\"],o=function(t,e,r,a){for(var o=0,s=0;s0)for(T=0;T<8;T++){var k=(T+1)%8;c.push(h[T],p[T],p[k],p[k],h[k],h[T]),f.push(y,v,v,v,y,y),d.push(m,g,g,g,m,m);var A=c.length;u.push([A-6,A-5,A-4],[A-3,A-2,A-1])}var M=h;h=p,p=M;var S=y;y=v,v=S;var E=m;m=g,g=E}return{positions:c,cells:u,vectors:f,vertexIntensity:d}}(t,r,a,o)})),f=[],h=[],p=[],d=[];for(s=0;se)return r-1}return r},l=function(t,e,r){return tr?r:t},c=function(t){var e=1/0;t.sort((function(t,e){return t-e}));for(var r=t.length,n=1;nf-1||y>h-1||x>p-1)return n.create();var b,_,w,T,k,A,M=a[0][d],S=a[0][v],E=a[1][m],L=a[1][y],C=a[2][g],P=(o-M)/(S-M),I=(c-E)/(L-E),O=(u-C)/(a[2][x]-C);switch(isFinite(P)||(P=.5),isFinite(I)||(I=.5),isFinite(O)||(O=.5),r.reversedX&&(d=f-1-d,v=f-1-v),r.reversedY&&(m=h-1-m,y=h-1-y),r.reversedZ&&(g=p-1-g,x=p-1-x),r.filled){case 5:k=g,A=x,w=m*p,T=y*p,b=d*p*h,_=v*p*h;break;case 4:k=g,A=x,b=d*p,_=v*p,w=m*p*f,T=y*p*f;break;case 3:w=m,T=y,k=g*h,A=x*h,b=d*h*p,_=v*h*p;break;case 2:w=m,T=y,b=d*h,_=v*h,k=g*h*f,A=x*h*f;break;case 1:b=d,_=v,k=g*f,A=x*f,w=m*f*p,T=y*f*p;break;default:b=d,_=v,w=m*f,T=y*f,k=g*f*h,A=x*f*h}var z=i[b+w+k],D=i[b+w+A],R=i[b+T+k],F=i[b+T+A],B=i[_+w+k],N=i[_+w+A],j=i[_+T+k],U=i[_+T+A],V=n.create(),H=n.create(),q=n.create(),G=n.create();n.lerp(V,z,B,P),n.lerp(H,D,N,P),n.lerp(q,R,j,P),n.lerp(G,F,U,P);var Y=n.create(),W=n.create();n.lerp(Y,V,q,I),n.lerp(W,H,G,I);var Z=n.create();return n.lerp(Z,Y,W,O),Z}(e,t,p)},m=t.getDivergence||function(t,e){var r=n.create(),i=1e-4;n.add(r,t,[i,0,0]);var a=d(r);n.subtract(a,a,e),n.scale(a,a,1/i),n.add(r,t,[0,i,0]);var o=d(r);n.subtract(o,o,e),n.scale(o,o,1/i),n.add(r,t,[0,0,i]);var s=d(r);return n.subtract(s,s,e),n.scale(s,s,1/i),n.add(r,a,o),n.add(r,r,s),r},g=[],v=e[0][0],y=e[0][1],x=e[0][2],b=e[1][0],_=e[1][1],w=e[1][2],T=function(t){var e=t[0],r=t[1],n=t[2];return!(eb||r_||nw)},k=10*n.distance(e[0],e[1])/i,A=k*k,M=1,S=0,E=r.length;E>1&&(M=function(t){for(var e=[],r=[],n=[],i={},a={},o={},s=t.length,l=0;lS&&(S=F),D.push(F),g.push({points:P,velocities:I,divergences:D});for(var B=0;B<100*i&&P.lengthA&&n.scale(N,N,k/Math.sqrt(j)),n.add(N,N,C),O=d(N),n.squaredDistance(z,N)-A>-1e-4*A){P.push(N),z=N,I.push(O);R=m(N,O),F=n.length(R);isFinite(F)&&F>S&&(S=F),D.push(F)}C=N}}var U=o(g,t.colormap,S,M);return f?U.tubeScale=f:(0===S&&(S=1),U.tubeScale=.5*u*M/S),U};var u=t(\"./lib/shaders\"),f=t(\"gl-cone3d\").createMesh;e.exports.createTubeMesh=function(t,e){return f(t,e,{shaders:u,traceType:\"streamtube\"})}},{\"./lib/shaders\":142,\"gl-cone3d\":79,\"gl-vec3\":169,\"gl-vec4\":205}],144:[function(t,e,r){var n=t(\"gl-shader\"),i=t(\"glslify\"),a=i([\"precision highp float;\\n#define GLSLIFY 1\\n\\nattribute vec4 uv;\\nattribute vec3 f;\\nattribute vec3 normal;\\n\\nuniform vec3 objectOffset;\\nuniform mat4 model, view, projection, inverseModel;\\nuniform vec3 lightPosition, eyePosition;\\nuniform sampler2D colormap;\\n\\nvarying float value, kill;\\nvarying vec3 worldCoordinate;\\nvarying vec2 planeCoordinate;\\nvarying vec3 lightDirection, eyeDirection, surfaceNormal;\\nvarying vec4 vColor;\\n\\nvoid main() {\\n vec3 localCoordinate = vec3(uv.zw, f.x);\\n worldCoordinate = objectOffset + localCoordinate;\\n vec4 worldPosition = model * vec4(worldCoordinate, 1.0);\\n vec4 clipPosition = projection * view * worldPosition;\\n gl_Position = clipPosition;\\n kill = f.y;\\n value = f.z;\\n planeCoordinate = uv.xy;\\n\\n vColor = texture2D(colormap, vec2(value, value));\\n\\n //Lighting geometry parameters\\n vec4 cameraCoordinate = view * worldPosition;\\n cameraCoordinate.xyz /= cameraCoordinate.w;\\n lightDirection = lightPosition - cameraCoordinate.xyz;\\n eyeDirection = eyePosition - cameraCoordinate.xyz;\\n surfaceNormal = normalize((vec4(normal,0) * inverseModel).xyz);\\n}\\n\"]),o=i([\"precision highp float;\\n#define GLSLIFY 1\\n\\nfloat beckmannDistribution(float x, float roughness) {\\n float NdotH = max(x, 0.0001);\\n float cos2Alpha = NdotH * NdotH;\\n float tan2Alpha = (cos2Alpha - 1.0) / cos2Alpha;\\n float roughness2 = roughness * roughness;\\n float denom = 3.141592653589793 * roughness2 * cos2Alpha * cos2Alpha;\\n return exp(tan2Alpha / roughness2) / denom;\\n}\\n\\nfloat beckmannSpecular(\\n vec3 lightDirection,\\n vec3 viewDirection,\\n vec3 surfaceNormal,\\n float roughness) {\\n return beckmannDistribution(dot(surfaceNormal, normalize(lightDirection + viewDirection)), roughness);\\n}\\n\\nbool outOfRange(float a, float b, float p) {\\n return ((p > max(a, b)) || \\n (p < min(a, b)));\\n}\\n\\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y));\\n}\\n\\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y) ||\\n outOfRange(a.z, b.z, p.z));\\n}\\n\\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\\n return outOfRange(a.xyz, b.xyz, p.xyz);\\n}\\n\\nuniform vec3 lowerBound, upperBound;\\nuniform float contourTint;\\nuniform vec4 contourColor;\\nuniform sampler2D colormap;\\nuniform vec3 clipBounds[2];\\nuniform float roughness, fresnel, kambient, kdiffuse, kspecular, opacity;\\nuniform float vertexColor;\\n\\nvarying float value, kill;\\nvarying vec3 worldCoordinate;\\nvarying vec3 lightDirection, eyeDirection, surfaceNormal;\\nvarying vec4 vColor;\\n\\nvoid main() {\\n if (\\n kill > 0.0 ||\\n vColor.a == 0.0 ||\\n outOfRange(clipBounds[0], clipBounds[1], worldCoordinate)\\n ) discard;\\n\\n vec3 N = normalize(surfaceNormal);\\n vec3 V = normalize(eyeDirection);\\n vec3 L = normalize(lightDirection);\\n\\n if(gl_FrontFacing) {\\n N = -N;\\n }\\n\\n float specular = max(beckmannSpecular(L, V, N, roughness), 0.);\\n float diffuse = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0);\\n\\n //decide how to interpolate color \\u2014 in vertex or in fragment\\n vec4 surfaceColor =\\n step(vertexColor, .5) * texture2D(colormap, vec2(value, value)) +\\n step(.5, vertexColor) * vColor;\\n\\n vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular, 1.0);\\n\\n gl_FragColor = mix(litColor, contourColor, contourTint) * opacity;\\n}\\n\"]),s=i([\"precision highp float;\\n#define GLSLIFY 1\\n\\nattribute vec4 uv;\\nattribute float f;\\n\\nuniform vec3 objectOffset;\\nuniform mat3 permutation;\\nuniform mat4 model, view, projection;\\nuniform float height, zOffset;\\nuniform sampler2D colormap;\\n\\nvarying float value, kill;\\nvarying vec3 worldCoordinate;\\nvarying vec2 planeCoordinate;\\nvarying vec3 lightDirection, eyeDirection, surfaceNormal;\\nvarying vec4 vColor;\\n\\nvoid main() {\\n vec3 dataCoordinate = permutation * vec3(uv.xy, height);\\n worldCoordinate = objectOffset + dataCoordinate;\\n vec4 worldPosition = model * vec4(worldCoordinate, 1.0);\\n\\n vec4 clipPosition = projection * view * worldPosition;\\n clipPosition.z += zOffset;\\n\\n gl_Position = clipPosition;\\n value = f + objectOffset.z;\\n kill = -1.0;\\n planeCoordinate = uv.zw;\\n\\n vColor = texture2D(colormap, vec2(value, value));\\n\\n //Don't do lighting for contours\\n surfaceNormal = vec3(1,0,0);\\n eyeDirection = vec3(0,1,0);\\n lightDirection = vec3(0,0,1);\\n}\\n\"]),l=i([\"precision highp float;\\n#define GLSLIFY 1\\n\\nbool outOfRange(float a, float b, float p) {\\n return ((p > max(a, b)) || \\n (p < min(a, b)));\\n}\\n\\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y));\\n}\\n\\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y) ||\\n outOfRange(a.z, b.z, p.z));\\n}\\n\\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\\n return outOfRange(a.xyz, b.xyz, p.xyz);\\n}\\n\\nuniform vec2 shape;\\nuniform vec3 clipBounds[2];\\nuniform float pickId;\\n\\nvarying float value, kill;\\nvarying vec3 worldCoordinate;\\nvarying vec2 planeCoordinate;\\nvarying vec3 surfaceNormal;\\n\\nvec2 splitFloat(float v) {\\n float vh = 255.0 * v;\\n float upper = floor(vh);\\n float lower = fract(vh);\\n return vec2(upper / 255.0, floor(lower * 16.0) / 16.0);\\n}\\n\\nvoid main() {\\n if ((kill > 0.0) ||\\n (outOfRange(clipBounds[0], clipBounds[1], worldCoordinate))) discard;\\n\\n vec2 ux = splitFloat(planeCoordinate.x / shape.x);\\n vec2 uy = splitFloat(planeCoordinate.y / shape.y);\\n gl_FragColor = vec4(pickId, ux.x, uy.x, ux.y + (uy.y/16.0));\\n}\\n\"]);r.createShader=function(t){var e=n(t,a,o,null,[{name:\"uv\",type:\"vec4\"},{name:\"f\",type:\"vec3\"},{name:\"normal\",type:\"vec3\"}]);return e.attributes.uv.location=0,e.attributes.f.location=1,e.attributes.normal.location=2,e},r.createPickShader=function(t){var e=n(t,a,l,null,[{name:\"uv\",type:\"vec4\"},{name:\"f\",type:\"vec3\"},{name:\"normal\",type:\"vec3\"}]);return e.attributes.uv.location=0,e.attributes.f.location=1,e.attributes.normal.location=2,e},r.createContourShader=function(t){var e=n(t,s,o,null,[{name:\"uv\",type:\"vec4\"},{name:\"f\",type:\"float\"}]);return e.attributes.uv.location=0,e.attributes.f.location=1,e},r.createPickContourShader=function(t){var e=n(t,s,l,null,[{name:\"uv\",type:\"vec4\"},{name:\"f\",type:\"float\"}]);return e.attributes.uv.location=0,e.attributes.f.location=1,e}},{\"gl-shader\":132,glslify:231}],145:[function(t,e,r){\"use strict\";e.exports=function(t){var e=t.gl,r=y(e),n=b(e),s=x(e),l=_(e),c=i(e),u=a(e,[{buffer:c,size:4,stride:40,offset:0},{buffer:c,size:3,stride:40,offset:16},{buffer:c,size:3,stride:40,offset:28}]),f=i(e),h=a(e,[{buffer:f,size:4,stride:20,offset:0},{buffer:f,size:1,stride:20,offset:16}]),p=i(e),d=a(e,[{buffer:p,size:2,type:e.FLOAT}]),m=o(e,1,256,e.RGBA,e.UNSIGNED_BYTE);m.minFilter=e.LINEAR,m.magFilter=e.LINEAR;var g=new M(e,[0,0],[[0,0,0],[0,0,0]],r,n,c,u,m,s,l,f,h,p,d,[0,0,0]),v={levels:[[],[],[]]};for(var w in t)v[w]=t[w];return v.colormap=v.colormap||\"jet\",g.update(v),g};var n=t(\"bit-twiddle\"),i=t(\"gl-buffer\"),a=t(\"gl-vao\"),o=t(\"gl-texture2d\"),s=t(\"typedarray-pool\"),l=t(\"colormap\"),c=t(\"ndarray-ops\"),u=t(\"ndarray-pack\"),f=t(\"ndarray\"),h=t(\"surface-nets\"),p=t(\"gl-mat4/multiply\"),d=t(\"gl-mat4/invert\"),m=t(\"binary-search-bounds\"),g=t(\"ndarray-gradient\"),v=t(\"./lib/shaders\"),y=v.createShader,x=v.createContourShader,b=v.createPickShader,_=v.createPickContourShader,w=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],T=[[0,0],[0,1],[1,0],[1,1],[1,0],[0,1]],k=[[0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0]];function A(t,e,r,n,i){this.position=t,this.index=e,this.uv=r,this.level=n,this.dataCoordinate=i}!function(){for(var t=0;t<3;++t){var e=k[t],r=(t+2)%3;e[(t+1)%3+0]=1,e[r+3]=1,e[t+6]=1}}();function M(t,e,r,n,i,a,o,l,c,u,h,p,d,m,g){this.gl=t,this.shape=e,this.bounds=r,this.objectOffset=g,this.intensityBounds=[],this._shader=n,this._pickShader=i,this._coordinateBuffer=a,this._vao=o,this._colorMap=l,this._contourShader=c,this._contourPickShader=u,this._contourBuffer=h,this._contourVAO=p,this._contourOffsets=[[],[],[]],this._contourCounts=[[],[],[]],this._vertexCount=0,this._pickResult=new A([0,0,0],[0,0],[0,0],[0,0,0],[0,0,0]),this._dynamicBuffer=d,this._dynamicVAO=m,this._dynamicOffsets=[0,0,0],this._dynamicCounts=[0,0,0],this.contourWidth=[1,1,1],this.contourLevels=[[1],[1],[1]],this.contourTint=[0,0,0],this.contourColor=[[.5,.5,.5,1],[.5,.5,.5,1],[.5,.5,.5,1]],this.showContour=!0,this.showSurface=!0,this.enableHighlight=[!0,!0,!0],this.highlightColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.highlightTint=[1,1,1],this.highlightLevel=[-1,-1,-1],this.enableDynamic=[!0,!0,!0],this.dynamicLevel=[NaN,NaN,NaN],this.dynamicColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.dynamicTint=[1,1,1],this.dynamicWidth=[1,1,1],this.axesBounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.surfaceProject=[!1,!1,!1],this.contourProject=[[!1,!1,!1],[!1,!1,!1],[!1,!1,!1]],this.colorBounds=[!1,!1],this._field=[f(s.mallocFloat(1024),[0,0]),f(s.mallocFloat(1024),[0,0]),f(s.mallocFloat(1024),[0,0])],this.pickId=1,this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.snapToData=!1,this.pixelRatio=1,this.opacity=1,this.lightPosition=[10,1e4,0],this.ambientLight=.8,this.diffuseLight=.8,this.specularLight=2,this.roughness=.5,this.fresnel=1.5,this.vertexColor=0,this.dirty=!0}var S=M.prototype;S.genColormap=function(t,e){var r=!1,n=u([l({colormap:t,nshades:256,format:\"rgba\"}).map((function(t,n){var i=e?function(t,e){if(!e)return 1;if(!e.length)return 1;for(var r=0;rt&&r>0){var n=(e[r][0]-t)/(e[r][0]-e[r-1][0]);return e[r][1]*(1-n)+n*e[r-1][1]}}return 1}(n/255,e):t[3];return i<1&&(r=!0),[t[0],t[1],t[2],255*i]}))]);return c.divseq(n,255),this.hasAlphaScale=r,n},S.isTransparent=function(){return this.opacity<1||this.hasAlphaScale},S.isOpaque=function(){return!this.isTransparent()},S.pickSlots=1,S.setPickBase=function(t){this.pickId=t};var E=[0,0,0],L={showSurface:!1,showContour:!1,projections:[w.slice(),w.slice(),w.slice()],clipBounds:[[[0,0,0],[0,0,0]],[[0,0,0],[0,0,0]],[[0,0,0],[0,0,0]]]};function C(t,e){var r,n,i,a=e.axes&&e.axes.lastCubeProps.axis||E,o=e.showSurface,s=e.showContour;for(r=0;r<3;++r)for(o=o||e.surfaceProject[r],n=0;n<3;++n)s=s||e.contourProject[r][n];for(r=0;r<3;++r){var l=L.projections[r];for(n=0;n<16;++n)l[n]=0;for(n=0;n<4;++n)l[5*n]=1;l[5*r]=0,l[12+r]=e.axesBounds[+(a[r]>0)][r],p(l,t.model,l);var c=L.clipBounds[r];for(i=0;i<2;++i)for(n=0;n<3;++n)c[i][n]=t.clipBounds[i][n];c[0][r]=-1e8,c[1][r]=1e8}return L.showSurface=o,L.showContour=s,L}var P={model:w,view:w,projection:w,inverseModel:w.slice(),lowerBound:[0,0,0],upperBound:[0,0,0],colorMap:0,clipBounds:[[0,0,0],[0,0,0]],height:0,contourTint:0,contourColor:[0,0,0,1],permutation:[1,0,0,0,1,0,0,0,1],zOffset:-1e-4,objectOffset:[0,0,0],kambient:1,kdiffuse:1,kspecular:1,lightPosition:[1e3,1e3,1e3],eyePosition:[0,0,0],roughness:1,fresnel:1,opacity:1,vertexColor:0},I=w.slice(),O=[1,0,0,0,1,0,0,0,1];function z(t,e){t=t||{};var r=this.gl;r.disable(r.CULL_FACE),this._colorMap.bind(0);var n=P;n.model=t.model||w,n.view=t.view||w,n.projection=t.projection||w,n.lowerBound=[this.bounds[0][0],this.bounds[0][1],this.colorBounds[0]||this.bounds[0][2]],n.upperBound=[this.bounds[1][0],this.bounds[1][1],this.colorBounds[1]||this.bounds[1][2]],n.objectOffset=this.objectOffset,n.contourColor=this.contourColor[0],n.inverseModel=d(n.inverseModel,n.model);for(var i=0;i<2;++i)for(var a=n.clipBounds[i],o=0;o<3;++o)a[o]=Math.min(Math.max(this.clipBounds[i][o],-1e8),1e8);n.kambient=this.ambientLight,n.kdiffuse=this.diffuseLight,n.kspecular=this.specularLight,n.roughness=this.roughness,n.fresnel=this.fresnel,n.opacity=this.opacity,n.height=0,n.permutation=O,n.vertexColor=this.vertexColor;var s=I;for(p(s,n.view,n.model),p(s,n.projection,s),d(s,s),i=0;i<3;++i)n.eyePosition[i]=s[12+i]/s[15];var l=s[15];for(i=0;i<3;++i)l+=this.lightPosition[i]*s[4*i+3];for(i=0;i<3;++i){var c=s[12+i];for(o=0;o<3;++o)c+=s[4*o+i]*this.lightPosition[o];n.lightPosition[i]=c/l}var u=C(n,this);if(u.showSurface){for(this._shader.bind(),this._shader.uniforms=n,this._vao.bind(),this.showSurface&&this._vertexCount&&this._vao.draw(r.TRIANGLES,this._vertexCount),i=0;i<3;++i)this.surfaceProject[i]&&this.vertexCount&&(this._shader.uniforms.model=u.projections[i],this._shader.uniforms.clipBounds=u.clipBounds[i],this._vao.draw(r.TRIANGLES,this._vertexCount));this._vao.unbind()}if(u.showContour){var f=this._contourShader;n.kambient=1,n.kdiffuse=0,n.kspecular=0,n.opacity=1,f.bind(),f.uniforms=n;var h=this._contourVAO;for(h.bind(),i=0;i<3;++i)for(f.uniforms.permutation=k[i],r.lineWidth(this.contourWidth[i]*this.pixelRatio),o=0;o>4)/16)/255,i=Math.floor(n),a=n-i,o=e[1]*(t.value[1]+(15&t.value[2])/16)/255,s=Math.floor(o),l=o-s;i+=1,s+=1;var c=r.position;c[0]=c[1]=c[2]=0;for(var u=0;u<2;++u)for(var f=u?a:1-a,h=0;h<2;++h)for(var p=i+u,d=s+h,g=f*(h?l:1-l),v=0;v<3;++v)c[v]+=this._field[v].get(p,d)*g;for(var y=this._pickResult.level,x=0;x<3;++x)if(y[x]=m.le(this.contourLevels[x],c[x]),y[x]<0)this.contourLevels[x].length>0&&(y[x]=0);else if(y[x]Math.abs(_-c[x])&&(y[x]+=1)}for(r.index[0]=a<.5?i:i+1,r.index[1]=l<.5?s:s+1,r.uv[0]=n/e[0],r.uv[1]=o/e[1],v=0;v<3;++v)r.dataCoordinate[v]=this._field[v].get(r.index[0],r.index[1]);return r},S.padField=function(t,e){var r=e.shape.slice(),n=t.shape.slice();c.assign(t.lo(1,1).hi(r[0],r[1]),e),c.assign(t.lo(1).hi(r[0],1),e.hi(r[0],1)),c.assign(t.lo(1,n[1]-1).hi(r[0],1),e.lo(0,r[1]-1).hi(r[0],1)),c.assign(t.lo(0,1).hi(1,r[1]),e.hi(1)),c.assign(t.lo(n[0]-1,1).hi(1,r[1]),e.lo(r[0]-1)),t.set(0,0,e.get(0,0)),t.set(0,n[1]-1,e.get(0,r[1]-1)),t.set(n[0]-1,0,e.get(r[0]-1,0)),t.set(n[0]-1,n[1]-1,e.get(r[0]-1,r[1]-1))},S.update=function(t){t=t||{},this.objectOffset=t.objectOffset||this.objectOffset,this.dirty=!0,\"contourWidth\"in t&&(this.contourWidth=R(t.contourWidth,Number)),\"showContour\"in t&&(this.showContour=R(t.showContour,Boolean)),\"showSurface\"in t&&(this.showSurface=!!t.showSurface),\"contourTint\"in t&&(this.contourTint=R(t.contourTint,Boolean)),\"contourColor\"in t&&(this.contourColor=B(t.contourColor)),\"contourProject\"in t&&(this.contourProject=R(t.contourProject,(function(t){return R(t,Boolean)}))),\"surfaceProject\"in t&&(this.surfaceProject=t.surfaceProject),\"dynamicColor\"in t&&(this.dynamicColor=B(t.dynamicColor)),\"dynamicTint\"in t&&(this.dynamicTint=R(t.dynamicTint,Number)),\"dynamicWidth\"in t&&(this.dynamicWidth=R(t.dynamicWidth,Number)),\"opacity\"in t&&(this.opacity=t.opacity),\"opacityscale\"in t&&(this.opacityscale=t.opacityscale),\"colorBounds\"in t&&(this.colorBounds=t.colorBounds),\"vertexColor\"in t&&(this.vertexColor=t.vertexColor?1:0),\"colormap\"in t&&this._colorMap.setPixels(this.genColormap(t.colormap,this.opacityscale));var e=t.field||t.coords&&t.coords[2]||null,r=!1;if(e||(e=this._field[2].shape[0]||this._field[2].shape[2]?this._field[2].lo(1,1).hi(this._field[2].shape[0]-2,this._field[2].shape[1]-2):this._field[2].hi(0,0)),\"field\"in t||\"coords\"in t){var i=(e.shape[0]+2)*(e.shape[1]+2);i>this._field[2].data.length&&(s.freeFloat(this._field[2].data),this._field[2].data=s.mallocFloat(n.nextPow2(i))),this._field[2]=f(this._field[2].data,[e.shape[0]+2,e.shape[1]+2]),this.padField(this._field[2],e),this.shape=e.shape.slice();for(var a=this.shape,o=0;o<2;++o)this._field[2].size>this._field[o].data.length&&(s.freeFloat(this._field[o].data),this._field[o].data=s.mallocFloat(this._field[2].size)),this._field[o]=f(this._field[o].data,[a[0]+2,a[1]+2]);if(t.coords){var l=t.coords;if(!Array.isArray(l)||3!==l.length)throw new Error(\"gl-surface: invalid coordinates for x/y\");for(o=0;o<2;++o){var c=l[o];for(v=0;v<2;++v)if(c.shape[v]!==a[v])throw new Error(\"gl-surface: coords have incorrect shape\");this.padField(this._field[o],c)}}else if(t.ticks){var u=t.ticks;if(!Array.isArray(u)||2!==u.length)throw new Error(\"gl-surface: invalid ticks\");for(o=0;o<2;++o){var p=u[o];if((Array.isArray(p)||p.length)&&(p=f(p)),p.shape[0]!==a[o])throw new Error(\"gl-surface: invalid tick length\");var d=f(p.data,a);d.stride[o]=p.stride[0],d.stride[1^o]=0,this.padField(this._field[o],d)}}else{for(o=0;o<2;++o){var m=[0,0];m[o]=1,this._field[o]=f(this._field[o].data,[a[0]+2,a[1]+2],m,0)}this._field[0].set(0,0,0);for(var v=0;v0){for(var xt=0;xt<5;++xt)Q.pop();U-=1}continue t}Q.push(nt[0],nt[1],ot[0],ot[1],nt[2]),U+=1}}rt.push(U)}this._contourOffsets[$]=et,this._contourCounts[$]=rt}var bt=s.mallocFloat(Q.length);for(o=0;oi||r<0||r>i)throw new Error(\"gl-texture2d: Invalid texture size\");return t._shape=[e,r],t.bind(),n.texImage2D(n.TEXTURE_2D,0,t.format,e,r,0,t.format,t.type,null),t._mipLevels=[0],t}function p(t,e,r,n,i,a){this.gl=t,this.handle=e,this.format=i,this.type=a,this._shape=[r,n],this._mipLevels=[0],this._magFilter=t.NEAREST,this._minFilter=t.NEAREST,this._wrapS=t.CLAMP_TO_EDGE,this._wrapT=t.CLAMP_TO_EDGE,this._anisoSamples=1;var o=this,s=[this._wrapS,this._wrapT];Object.defineProperties(s,[{get:function(){return o._wrapS},set:function(t){return o.wrapS=t}},{get:function(){return o._wrapT},set:function(t){return o.wrapT=t}}]),this._wrapVector=s;var l=[this._shape[0],this._shape[1]];Object.defineProperties(l,[{get:function(){return o._shape[0]},set:function(t){return o.width=t}},{get:function(){return o._shape[1]},set:function(t){return o.height=t}}]),this._shapeVector=l}var d=p.prototype;function m(t,e){return 3===t.length?1===e[2]&&e[1]===t[0]*t[2]&&e[0]===t[2]:1===e[0]&&e[1]===t[0]}function g(t){var e=t.createTexture();return t.bindTexture(t.TEXTURE_2D,e),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.NEAREST),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,t.NEAREST),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),e}function v(t,e,r,n,i){var a=t.getParameter(t.MAX_TEXTURE_SIZE);if(e<0||e>a||r<0||r>a)throw new Error(\"gl-texture2d: Invalid texture shape\");if(i===t.FLOAT&&!t.getExtension(\"OES_texture_float\"))throw new Error(\"gl-texture2d: Floating point textures not supported on this platform\");var o=g(t);return t.texImage2D(t.TEXTURE_2D,0,n,e,r,0,n,i,null),new p(t,o,e,r,n,i)}function y(t,e,r,n,i,a){var o=g(t);return t.texImage2D(t.TEXTURE_2D,0,i,i,a,e),new p(t,o,r,n,i,a)}function x(t,e){var r=e.dtype,o=e.shape.slice(),s=t.getParameter(t.MAX_TEXTURE_SIZE);if(o[0]<0||o[0]>s||o[1]<0||o[1]>s)throw new Error(\"gl-texture2d: Invalid texture size\");var l=m(o,e.stride.slice()),c=0;\"float32\"===r?c=t.FLOAT:\"float64\"===r?(c=t.FLOAT,l=!1,r=\"float32\"):\"uint8\"===r?c=t.UNSIGNED_BYTE:(c=t.UNSIGNED_BYTE,l=!1,r=\"uint8\");var u,h,d=0;if(2===o.length)d=t.LUMINANCE,o=[o[0],o[1],1],e=n(e.data,o,[e.stride[0],e.stride[1],1],e.offset);else{if(3!==o.length)throw new Error(\"gl-texture2d: Invalid shape for texture\");if(1===o[2])d=t.ALPHA;else if(2===o[2])d=t.LUMINANCE_ALPHA;else if(3===o[2])d=t.RGB;else{if(4!==o[2])throw new Error(\"gl-texture2d: Invalid shape for pixel coords\");d=t.RGBA}}c!==t.FLOAT||t.getExtension(\"OES_texture_float\")||(c=t.UNSIGNED_BYTE,l=!1);var v=e.size;if(l)u=0===e.offset&&e.data.length===v?e.data:e.data.subarray(e.offset,e.offset+v);else{var y=[o[2],o[2]*o[0],1];h=a.malloc(v,r);var x=n(h,o,y,0);\"float32\"!==r&&\"float64\"!==r||c!==t.UNSIGNED_BYTE?i.assign(x,e):f(x,e),u=h.subarray(0,v)}var b=g(t);return t.texImage2D(t.TEXTURE_2D,0,d,o[0],o[1],0,d,c,u),l||a.free(h),new p(t,b,o[0],o[1],d,c)}Object.defineProperties(d,{minFilter:{get:function(){return this._minFilter},set:function(t){this.bind();var e=this.gl;if(this.type===e.FLOAT&&o.indexOf(t)>=0&&(e.getExtension(\"OES_texture_float_linear\")||(t=e.NEAREST)),s.indexOf(t)<0)throw new Error(\"gl-texture2d: Unknown filter mode \"+t);return e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,t),this._minFilter=t}},magFilter:{get:function(){return this._magFilter},set:function(t){this.bind();var e=this.gl;if(this.type===e.FLOAT&&o.indexOf(t)>=0&&(e.getExtension(\"OES_texture_float_linear\")||(t=e.NEAREST)),s.indexOf(t)<0)throw new Error(\"gl-texture2d: Unknown filter mode \"+t);return e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,t),this._magFilter=t}},mipSamples:{get:function(){return this._anisoSamples},set:function(t){var e=this._anisoSamples;if(this._anisoSamples=0|Math.max(t,1),e!==this._anisoSamples){var r=this.gl.getExtension(\"EXT_texture_filter_anisotropic\");r&&this.gl.texParameterf(this.gl.TEXTURE_2D,r.TEXTURE_MAX_ANISOTROPY_EXT,this._anisoSamples)}return this._anisoSamples}},wrapS:{get:function(){return this._wrapS},set:function(t){if(this.bind(),l.indexOf(t)<0)throw new Error(\"gl-texture2d: Unknown wrap mode \"+t);return this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_WRAP_S,t),this._wrapS=t}},wrapT:{get:function(){return this._wrapT},set:function(t){if(this.bind(),l.indexOf(t)<0)throw new Error(\"gl-texture2d: Unknown wrap mode \"+t);return this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_WRAP_T,t),this._wrapT=t}},wrap:{get:function(){return this._wrapVector},set:function(t){if(Array.isArray(t)||(t=[t,t]),2!==t.length)throw new Error(\"gl-texture2d: Must specify wrap mode for rows and columns\");for(var e=0;e<2;++e)if(l.indexOf(t[e])<0)throw new Error(\"gl-texture2d: Unknown wrap mode \"+t);this._wrapS=t[0],this._wrapT=t[1];var r=this.gl;return this.bind(),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_S,this._wrapS),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_T,this._wrapT),t}},shape:{get:function(){return this._shapeVector},set:function(t){if(Array.isArray(t)){if(2!==t.length)throw new Error(\"gl-texture2d: Invalid texture shape\")}else t=[0|t,0|t];return h(this,0|t[0],0|t[1]),[0|t[0],0|t[1]]}},width:{get:function(){return this._shape[0]},set:function(t){return h(this,t|=0,this._shape[1]),t}},height:{get:function(){return this._shape[1]},set:function(t){return t|=0,h(this,this._shape[0],t),t}}}),d.bind=function(t){var e=this.gl;return void 0!==t&&e.activeTexture(e.TEXTURE0+(0|t)),e.bindTexture(e.TEXTURE_2D,this.handle),void 0!==t?0|t:e.getParameter(e.ACTIVE_TEXTURE)-e.TEXTURE0},d.dispose=function(){this.gl.deleteTexture(this.handle)},d.generateMipmap=function(){this.bind(),this.gl.generateMipmap(this.gl.TEXTURE_2D);for(var t=Math.min(this._shape[0],this._shape[1]),e=0;t>0;++e,t>>>=1)this._mipLevels.indexOf(e)<0&&this._mipLevels.push(e)},d.setPixels=function(t,e,r,o){var s=this.gl;this.bind(),Array.isArray(e)?(o=r,r=0|e[1],e=0|e[0]):(e=e||0,r=r||0),o=o||0;var l=u(t)?t:t.raw;if(l){this._mipLevels.indexOf(o)<0?(s.texImage2D(s.TEXTURE_2D,0,this.format,this.format,this.type,l),this._mipLevels.push(o)):s.texSubImage2D(s.TEXTURE_2D,o,e,r,this.format,this.type,l)}else{if(!(t.shape&&t.stride&&t.data))throw new Error(\"gl-texture2d: Unsupported data type\");if(t.shape.length<2||e+t.shape[1]>this._shape[1]>>>o||r+t.shape[0]>this._shape[0]>>>o||e<0||r<0)throw new Error(\"gl-texture2d: Texture dimensions are out of bounds\");!function(t,e,r,o,s,l,c,u){var h=u.dtype,p=u.shape.slice();if(p.length<2||p.length>3)throw new Error(\"gl-texture2d: Invalid ndarray, must be 2d or 3d\");var d=0,g=0,v=m(p,u.stride.slice());\"float32\"===h?d=t.FLOAT:\"float64\"===h?(d=t.FLOAT,v=!1,h=\"float32\"):\"uint8\"===h?d=t.UNSIGNED_BYTE:(d=t.UNSIGNED_BYTE,v=!1,h=\"uint8\");if(2===p.length)g=t.LUMINANCE,p=[p[0],p[1],1],u=n(u.data,p,[u.stride[0],u.stride[1],1],u.offset);else{if(3!==p.length)throw new Error(\"gl-texture2d: Invalid shape for texture\");if(1===p[2])g=t.ALPHA;else if(2===p[2])g=t.LUMINANCE_ALPHA;else if(3===p[2])g=t.RGB;else{if(4!==p[2])throw new Error(\"gl-texture2d: Invalid shape for pixel coords\");g=t.RGBA}p[2]}g!==t.LUMINANCE&&g!==t.ALPHA||s!==t.LUMINANCE&&s!==t.ALPHA||(g=s);if(g!==s)throw new Error(\"gl-texture2d: Incompatible texture format for setPixels\");var y=u.size,x=c.indexOf(o)<0;x&&c.push(o);if(d===l&&v)0===u.offset&&u.data.length===y?x?t.texImage2D(t.TEXTURE_2D,o,s,p[0],p[1],0,s,l,u.data):t.texSubImage2D(t.TEXTURE_2D,o,e,r,p[0],p[1],s,l,u.data):x?t.texImage2D(t.TEXTURE_2D,o,s,p[0],p[1],0,s,l,u.data.subarray(u.offset,u.offset+y)):t.texSubImage2D(t.TEXTURE_2D,o,e,r,p[0],p[1],s,l,u.data.subarray(u.offset,u.offset+y));else{var b;b=l===t.FLOAT?a.mallocFloat32(y):a.mallocUint8(y);var _=n(b,p,[p[2],p[2]*p[0],1]);d===t.FLOAT&&l===t.UNSIGNED_BYTE?f(_,u):i.assign(_,u),x?t.texImage2D(t.TEXTURE_2D,o,s,p[0],p[1],0,s,l,b.subarray(0,y)):t.texSubImage2D(t.TEXTURE_2D,o,e,r,p[0],p[1],s,l,b.subarray(0,y)),l===t.FLOAT?a.freeFloat32(b):a.freeUint8(b)}}(s,e,r,o,this.format,this.type,this._mipLevels,t)}}},{ndarray:259,\"ndarray-ops\":254,\"typedarray-pool\":308}],147:[function(t,e,r){\"use strict\";e.exports=function(t,e,r){e?e.bind():t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,null);var n=0|t.getParameter(t.MAX_VERTEX_ATTRIBS);if(r){if(r.length>n)throw new Error(\"gl-vao: Too many vertex attributes\");for(var i=0;i1?0:Math.acos(s)};var n=t(\"./fromValues\"),i=t(\"./normalize\"),a=t(\"./dot\")},{\"./dot\":162,\"./fromValues\":168,\"./normalize\":179}],153:[function(t,e,r){e.exports=function(t,e){return t[0]=Math.ceil(e[0]),t[1]=Math.ceil(e[1]),t[2]=Math.ceil(e[2]),t}},{}],154:[function(t,e,r){e.exports=function(t){var e=new Float32Array(3);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e}},{}],155:[function(t,e,r){e.exports=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}},{}],156:[function(t,e,r){e.exports=function(){var t=new Float32Array(3);return t[0]=0,t[1]=0,t[2]=0,t}},{}],157:[function(t,e,r){e.exports=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=r[0],s=r[1],l=r[2];return t[0]=i*l-a*s,t[1]=a*o-n*l,t[2]=n*s-i*o,t}},{}],158:[function(t,e,r){e.exports=t(\"./distance\")},{\"./distance\":159}],159:[function(t,e,r){e.exports=function(t,e){var r=e[0]-t[0],n=e[1]-t[1],i=e[2]-t[2];return Math.sqrt(r*r+n*n+i*i)}},{}],160:[function(t,e,r){e.exports=t(\"./divide\")},{\"./divide\":161}],161:[function(t,e,r){e.exports=function(t,e,r){return t[0]=e[0]/r[0],t[1]=e[1]/r[1],t[2]=e[2]/r[2],t}},{}],162:[function(t,e,r){e.exports=function(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}},{}],163:[function(t,e,r){e.exports=1e-6},{}],164:[function(t,e,r){e.exports=function(t,e){var r=t[0],i=t[1],a=t[2],o=e[0],s=e[1],l=e[2];return Math.abs(r-o)<=n*Math.max(1,Math.abs(r),Math.abs(o))&&Math.abs(i-s)<=n*Math.max(1,Math.abs(i),Math.abs(s))&&Math.abs(a-l)<=n*Math.max(1,Math.abs(a),Math.abs(l))};var n=t(\"./epsilon\")},{\"./epsilon\":163}],165:[function(t,e,r){e.exports=function(t,e){return t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]}},{}],166:[function(t,e,r){e.exports=function(t,e){return t[0]=Math.floor(e[0]),t[1]=Math.floor(e[1]),t[2]=Math.floor(e[2]),t}},{}],167:[function(t,e,r){e.exports=function(t,e,r,i,a,o){var s,l;e||(e=3);r||(r=0);l=i?Math.min(i*e+r,t.length):t.length;for(s=r;s0&&(a=1/Math.sqrt(a),t[0]=e[0]*a,t[1]=e[1]*a,t[2]=e[2]*a);return t}},{}],180:[function(t,e,r){e.exports=function(t,e){e=e||1;var r=2*Math.random()*Math.PI,n=2*Math.random()-1,i=Math.sqrt(1-n*n)*e;return t[0]=Math.cos(r)*i,t[1]=Math.sin(r)*i,t[2]=n*e,t}},{}],181:[function(t,e,r){e.exports=function(t,e,r,n){var i=r[1],a=r[2],o=e[1]-i,s=e[2]-a,l=Math.sin(n),c=Math.cos(n);return t[0]=e[0],t[1]=i+o*c-s*l,t[2]=a+o*l+s*c,t}},{}],182:[function(t,e,r){e.exports=function(t,e,r,n){var i=r[0],a=r[2],o=e[0]-i,s=e[2]-a,l=Math.sin(n),c=Math.cos(n);return t[0]=i+s*l+o*c,t[1]=e[1],t[2]=a+s*c-o*l,t}},{}],183:[function(t,e,r){e.exports=function(t,e,r,n){var i=r[0],a=r[1],o=e[0]-i,s=e[1]-a,l=Math.sin(n),c=Math.cos(n);return t[0]=i+o*c-s*l,t[1]=a+o*l+s*c,t[2]=e[2],t}},{}],184:[function(t,e,r){e.exports=function(t,e){return t[0]=Math.round(e[0]),t[1]=Math.round(e[1]),t[2]=Math.round(e[2]),t}},{}],185:[function(t,e,r){e.exports=function(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t}},{}],186:[function(t,e,r){e.exports=function(t,e,r,n){return t[0]=e[0]+r[0]*n,t[1]=e[1]+r[1]*n,t[2]=e[2]+r[2]*n,t}},{}],187:[function(t,e,r){e.exports=function(t,e,r,n){return t[0]=e,t[1]=r,t[2]=n,t}},{}],188:[function(t,e,r){e.exports=t(\"./squaredDistance\")},{\"./squaredDistance\":190}],189:[function(t,e,r){e.exports=t(\"./squaredLength\")},{\"./squaredLength\":191}],190:[function(t,e,r){e.exports=function(t,e){var r=e[0]-t[0],n=e[1]-t[1],i=e[2]-t[2];return r*r+n*n+i*i}},{}],191:[function(t,e,r){e.exports=function(t){var e=t[0],r=t[1],n=t[2];return e*e+r*r+n*n}},{}],192:[function(t,e,r){e.exports=t(\"./subtract\")},{\"./subtract\":193}],193:[function(t,e,r){e.exports=function(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t[2]=e[2]-r[2],t}},{}],194:[function(t,e,r){e.exports=function(t,e,r){var n=e[0],i=e[1],a=e[2];return t[0]=n*r[0]+i*r[3]+a*r[6],t[1]=n*r[1]+i*r[4]+a*r[7],t[2]=n*r[2]+i*r[5]+a*r[8],t}},{}],195:[function(t,e,r){e.exports=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=r[3]*n+r[7]*i+r[11]*a+r[15];return o=o||1,t[0]=(r[0]*n+r[4]*i+r[8]*a+r[12])/o,t[1]=(r[1]*n+r[5]*i+r[9]*a+r[13])/o,t[2]=(r[2]*n+r[6]*i+r[10]*a+r[14])/o,t}},{}],196:[function(t,e,r){e.exports=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=r[0],s=r[1],l=r[2],c=r[3],u=c*n+s*a-l*i,f=c*i+l*n-o*a,h=c*a+o*i-s*n,p=-o*n-s*i-l*a;return t[0]=u*c+p*-o+f*-l-h*-s,t[1]=f*c+p*-s+h*-o-u*-l,t[2]=h*c+p*-l+u*-s-f*-o,t}},{}],197:[function(t,e,r){e.exports=function(t,e,r){return t[0]=e[0]+r[0],t[1]=e[1]+r[1],t[2]=e[2]+r[2],t[3]=e[3]+r[3],t}},{}],198:[function(t,e,r){e.exports=function(t){var e=new Float32Array(4);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e}},{}],199:[function(t,e,r){e.exports=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t}},{}],200:[function(t,e,r){e.exports=function(){var t=new Float32Array(4);return t[0]=0,t[1]=0,t[2]=0,t[3]=0,t}},{}],201:[function(t,e,r){e.exports=function(t,e){var r=e[0]-t[0],n=e[1]-t[1],i=e[2]-t[2],a=e[3]-t[3];return Math.sqrt(r*r+n*n+i*i+a*a)}},{}],202:[function(t,e,r){e.exports=function(t,e,r){return t[0]=e[0]/r[0],t[1]=e[1]/r[1],t[2]=e[2]/r[2],t[3]=e[3]/r[3],t}},{}],203:[function(t,e,r){e.exports=function(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]+t[3]*e[3]}},{}],204:[function(t,e,r){e.exports=function(t,e,r,n){var i=new Float32Array(4);return i[0]=t,i[1]=e,i[2]=r,i[3]=n,i}},{}],205:[function(t,e,r){e.exports={create:t(\"./create\"),clone:t(\"./clone\"),fromValues:t(\"./fromValues\"),copy:t(\"./copy\"),set:t(\"./set\"),add:t(\"./add\"),subtract:t(\"./subtract\"),multiply:t(\"./multiply\"),divide:t(\"./divide\"),min:t(\"./min\"),max:t(\"./max\"),scale:t(\"./scale\"),scaleAndAdd:t(\"./scaleAndAdd\"),distance:t(\"./distance\"),squaredDistance:t(\"./squaredDistance\"),length:t(\"./length\"),squaredLength:t(\"./squaredLength\"),negate:t(\"./negate\"),inverse:t(\"./inverse\"),normalize:t(\"./normalize\"),dot:t(\"./dot\"),lerp:t(\"./lerp\"),random:t(\"./random\"),transformMat4:t(\"./transformMat4\"),transformQuat:t(\"./transformQuat\")}},{\"./add\":197,\"./clone\":198,\"./copy\":199,\"./create\":200,\"./distance\":201,\"./divide\":202,\"./dot\":203,\"./fromValues\":204,\"./inverse\":206,\"./length\":207,\"./lerp\":208,\"./max\":209,\"./min\":210,\"./multiply\":211,\"./negate\":212,\"./normalize\":213,\"./random\":214,\"./scale\":215,\"./scaleAndAdd\":216,\"./set\":217,\"./squaredDistance\":218,\"./squaredLength\":219,\"./subtract\":220,\"./transformMat4\":221,\"./transformQuat\":222}],206:[function(t,e,r){e.exports=function(t,e){return t[0]=1/e[0],t[1]=1/e[1],t[2]=1/e[2],t[3]=1/e[3],t}},{}],207:[function(t,e,r){e.exports=function(t){var e=t[0],r=t[1],n=t[2],i=t[3];return Math.sqrt(e*e+r*r+n*n+i*i)}},{}],208:[function(t,e,r){e.exports=function(t,e,r,n){var i=e[0],a=e[1],o=e[2],s=e[3];return t[0]=i+n*(r[0]-i),t[1]=a+n*(r[1]-a),t[2]=o+n*(r[2]-o),t[3]=s+n*(r[3]-s),t}},{}],209:[function(t,e,r){e.exports=function(t,e,r){return t[0]=Math.max(e[0],r[0]),t[1]=Math.max(e[1],r[1]),t[2]=Math.max(e[2],r[2]),t[3]=Math.max(e[3],r[3]),t}},{}],210:[function(t,e,r){e.exports=function(t,e,r){return t[0]=Math.min(e[0],r[0]),t[1]=Math.min(e[1],r[1]),t[2]=Math.min(e[2],r[2]),t[3]=Math.min(e[3],r[3]),t}},{}],211:[function(t,e,r){e.exports=function(t,e,r){return t[0]=e[0]*r[0],t[1]=e[1]*r[1],t[2]=e[2]*r[2],t[3]=e[3]*r[3],t}},{}],212:[function(t,e,r){e.exports=function(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=-e[3],t}},{}],213:[function(t,e,r){e.exports=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=r*r+n*n+i*i+a*a;o>0&&(o=1/Math.sqrt(o),t[0]=r*o,t[1]=n*o,t[2]=i*o,t[3]=a*o);return t}},{}],214:[function(t,e,r){var n=t(\"./normalize\"),i=t(\"./scale\");e.exports=function(t,e){return e=e||1,t[0]=Math.random(),t[1]=Math.random(),t[2]=Math.random(),t[3]=Math.random(),n(t,t),i(t,t,e),t}},{\"./normalize\":213,\"./scale\":215}],215:[function(t,e,r){e.exports=function(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t[3]=e[3]*r,t}},{}],216:[function(t,e,r){e.exports=function(t,e,r,n){return t[0]=e[0]+r[0]*n,t[1]=e[1]+r[1]*n,t[2]=e[2]+r[2]*n,t[3]=e[3]+r[3]*n,t}},{}],217:[function(t,e,r){e.exports=function(t,e,r,n,i){return t[0]=e,t[1]=r,t[2]=n,t[3]=i,t}},{}],218:[function(t,e,r){e.exports=function(t,e){var r=e[0]-t[0],n=e[1]-t[1],i=e[2]-t[2],a=e[3]-t[3];return r*r+n*n+i*i+a*a}},{}],219:[function(t,e,r){e.exports=function(t){var e=t[0],r=t[1],n=t[2],i=t[3];return e*e+r*r+n*n+i*i}},{}],220:[function(t,e,r){e.exports=function(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t[2]=e[2]-r[2],t[3]=e[3]-r[3],t}},{}],221:[function(t,e,r){e.exports=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3];return t[0]=r[0]*n+r[4]*i+r[8]*a+r[12]*o,t[1]=r[1]*n+r[5]*i+r[9]*a+r[13]*o,t[2]=r[2]*n+r[6]*i+r[10]*a+r[14]*o,t[3]=r[3]*n+r[7]*i+r[11]*a+r[15]*o,t}},{}],222:[function(t,e,r){e.exports=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=r[0],s=r[1],l=r[2],c=r[3],u=c*n+s*a-l*i,f=c*i+l*n-o*a,h=c*a+o*i-s*n,p=-o*n-s*i-l*a;return t[0]=u*c+p*-o+f*-l-h*-s,t[1]=f*c+p*-s+h*-o-u*-l,t[2]=h*c+p*-l+u*-s-f*-o,t[3]=e[3],t}},{}],223:[function(t,e,r){var n=t(\"glsl-tokenizer\"),i=t(\"atob-lite\");e.exports=function(t){for(var e=Array.isArray(t)?t:n(t),r=0;r0)continue;r=t.slice(0,1).join(\"\")}return A(r),v+=r.length,(p=p.slice(r.length)).length}}function I(){return/[^a-fA-F0-9]/.test(e)?(A(p.join(\"\")),h=999,u):(p.push(e),r=e,u+1)}function O(){return\".\"===e||/[eE]/.test(e)?(p.push(e),h=5,r=e,u+1):\"x\"===e&&1===p.length&&\"0\"===p[0]?(h=11,p.push(e),r=e,u+1):/[^\\d]/.test(e)?(A(p.join(\"\")),h=999,u):(p.push(e),r=e,u+1)}function z(){return\"f\"===e&&(p.push(e),r=e,u+=1),/[eE]/.test(e)?(p.push(e),r=e,u+1):(\"-\"!==e&&\"+\"!==e||!/[eE]/.test(r))&&/[^\\d]/.test(e)?(A(p.join(\"\")),h=999,u):(p.push(e),r=e,u+1)}function D(){if(/[^\\d\\w_]/.test(e)){var t=p.join(\"\");return h=k[t]?8:T[t]?7:6,A(p.join(\"\")),h=999,u}return p.push(e),r=e,u+1}};var n=t(\"./lib/literals\"),i=t(\"./lib/operators\"),a=t(\"./lib/builtins\"),o=t(\"./lib/literals-300es\"),s=t(\"./lib/builtins-300es\"),l=[\"block-comment\",\"line-comment\",\"preprocessor\",\"operator\",\"integer\",\"float\",\"ident\",\"builtin\",\"keyword\",\"whitespace\",\"eof\",\"integer\"]},{\"./lib/builtins\":226,\"./lib/builtins-300es\":225,\"./lib/literals\":228,\"./lib/literals-300es\":227,\"./lib/operators\":229}],225:[function(t,e,r){var n=t(\"./builtins\");n=n.slice().filter((function(t){return!/^(gl\\_|texture)/.test(t)})),e.exports=n.concat([\"gl_VertexID\",\"gl_InstanceID\",\"gl_Position\",\"gl_PointSize\",\"gl_FragCoord\",\"gl_FrontFacing\",\"gl_FragDepth\",\"gl_PointCoord\",\"gl_MaxVertexAttribs\",\"gl_MaxVertexUniformVectors\",\"gl_MaxVertexOutputVectors\",\"gl_MaxFragmentInputVectors\",\"gl_MaxVertexTextureImageUnits\",\"gl_MaxCombinedTextureImageUnits\",\"gl_MaxTextureImageUnits\",\"gl_MaxFragmentUniformVectors\",\"gl_MaxDrawBuffers\",\"gl_MinProgramTexelOffset\",\"gl_MaxProgramTexelOffset\",\"gl_DepthRangeParameters\",\"gl_DepthRange\",\"trunc\",\"round\",\"roundEven\",\"isnan\",\"isinf\",\"floatBitsToInt\",\"floatBitsToUint\",\"intBitsToFloat\",\"uintBitsToFloat\",\"packSnorm2x16\",\"unpackSnorm2x16\",\"packUnorm2x16\",\"unpackUnorm2x16\",\"packHalf2x16\",\"unpackHalf2x16\",\"outerProduct\",\"transpose\",\"determinant\",\"inverse\",\"texture\",\"textureSize\",\"textureProj\",\"textureLod\",\"textureOffset\",\"texelFetch\",\"texelFetchOffset\",\"textureProjOffset\",\"textureLodOffset\",\"textureProjLod\",\"textureProjLodOffset\",\"textureGrad\",\"textureGradOffset\",\"textureProjGrad\",\"textureProjGradOffset\"])},{\"./builtins\":226}],226:[function(t,e,r){e.exports=[\"abs\",\"acos\",\"all\",\"any\",\"asin\",\"atan\",\"ceil\",\"clamp\",\"cos\",\"cross\",\"dFdx\",\"dFdy\",\"degrees\",\"distance\",\"dot\",\"equal\",\"exp\",\"exp2\",\"faceforward\",\"floor\",\"fract\",\"gl_BackColor\",\"gl_BackLightModelProduct\",\"gl_BackLightProduct\",\"gl_BackMaterial\",\"gl_BackSecondaryColor\",\"gl_ClipPlane\",\"gl_ClipVertex\",\"gl_Color\",\"gl_DepthRange\",\"gl_DepthRangeParameters\",\"gl_EyePlaneQ\",\"gl_EyePlaneR\",\"gl_EyePlaneS\",\"gl_EyePlaneT\",\"gl_Fog\",\"gl_FogCoord\",\"gl_FogFragCoord\",\"gl_FogParameters\",\"gl_FragColor\",\"gl_FragCoord\",\"gl_FragData\",\"gl_FragDepth\",\"gl_FragDepthEXT\",\"gl_FrontColor\",\"gl_FrontFacing\",\"gl_FrontLightModelProduct\",\"gl_FrontLightProduct\",\"gl_FrontMaterial\",\"gl_FrontSecondaryColor\",\"gl_LightModel\",\"gl_LightModelParameters\",\"gl_LightModelProducts\",\"gl_LightProducts\",\"gl_LightSource\",\"gl_LightSourceParameters\",\"gl_MaterialParameters\",\"gl_MaxClipPlanes\",\"gl_MaxCombinedTextureImageUnits\",\"gl_MaxDrawBuffers\",\"gl_MaxFragmentUniformComponents\",\"gl_MaxLights\",\"gl_MaxTextureCoords\",\"gl_MaxTextureImageUnits\",\"gl_MaxTextureUnits\",\"gl_MaxVaryingFloats\",\"gl_MaxVertexAttribs\",\"gl_MaxVertexTextureImageUnits\",\"gl_MaxVertexUniformComponents\",\"gl_ModelViewMatrix\",\"gl_ModelViewMatrixInverse\",\"gl_ModelViewMatrixInverseTranspose\",\"gl_ModelViewMatrixTranspose\",\"gl_ModelViewProjectionMatrix\",\"gl_ModelViewProjectionMatrixInverse\",\"gl_ModelViewProjectionMatrixInverseTranspose\",\"gl_ModelViewProjectionMatrixTranspose\",\"gl_MultiTexCoord0\",\"gl_MultiTexCoord1\",\"gl_MultiTexCoord2\",\"gl_MultiTexCoord3\",\"gl_MultiTexCoord4\",\"gl_MultiTexCoord5\",\"gl_MultiTexCoord6\",\"gl_MultiTexCoord7\",\"gl_Normal\",\"gl_NormalMatrix\",\"gl_NormalScale\",\"gl_ObjectPlaneQ\",\"gl_ObjectPlaneR\",\"gl_ObjectPlaneS\",\"gl_ObjectPlaneT\",\"gl_Point\",\"gl_PointCoord\",\"gl_PointParameters\",\"gl_PointSize\",\"gl_Position\",\"gl_ProjectionMatrix\",\"gl_ProjectionMatrixInverse\",\"gl_ProjectionMatrixInverseTranspose\",\"gl_ProjectionMatrixTranspose\",\"gl_SecondaryColor\",\"gl_TexCoord\",\"gl_TextureEnvColor\",\"gl_TextureMatrix\",\"gl_TextureMatrixInverse\",\"gl_TextureMatrixInverseTranspose\",\"gl_TextureMatrixTranspose\",\"gl_Vertex\",\"greaterThan\",\"greaterThanEqual\",\"inversesqrt\",\"length\",\"lessThan\",\"lessThanEqual\",\"log\",\"log2\",\"matrixCompMult\",\"max\",\"min\",\"mix\",\"mod\",\"normalize\",\"not\",\"notEqual\",\"pow\",\"radians\",\"reflect\",\"refract\",\"sign\",\"sin\",\"smoothstep\",\"sqrt\",\"step\",\"tan\",\"texture2D\",\"texture2DLod\",\"texture2DProj\",\"texture2DProjLod\",\"textureCube\",\"textureCubeLod\",\"texture2DLodEXT\",\"texture2DProjLodEXT\",\"textureCubeLodEXT\",\"texture2DGradEXT\",\"texture2DProjGradEXT\",\"textureCubeGradEXT\"]},{}],227:[function(t,e,r){var n=t(\"./literals\");e.exports=n.slice().concat([\"layout\",\"centroid\",\"smooth\",\"case\",\"mat2x2\",\"mat2x3\",\"mat2x4\",\"mat3x2\",\"mat3x3\",\"mat3x4\",\"mat4x2\",\"mat4x3\",\"mat4x4\",\"uvec2\",\"uvec3\",\"uvec4\",\"samplerCubeShadow\",\"sampler2DArray\",\"sampler2DArrayShadow\",\"isampler2D\",\"isampler3D\",\"isamplerCube\",\"isampler2DArray\",\"usampler2D\",\"usampler3D\",\"usamplerCube\",\"usampler2DArray\",\"coherent\",\"restrict\",\"readonly\",\"writeonly\",\"resource\",\"atomic_uint\",\"noperspective\",\"patch\",\"sample\",\"subroutine\",\"common\",\"partition\",\"active\",\"filter\",\"image1D\",\"image2D\",\"image3D\",\"imageCube\",\"iimage1D\",\"iimage2D\",\"iimage3D\",\"iimageCube\",\"uimage1D\",\"uimage2D\",\"uimage3D\",\"uimageCube\",\"image1DArray\",\"image2DArray\",\"iimage1DArray\",\"iimage2DArray\",\"uimage1DArray\",\"uimage2DArray\",\"image1DShadow\",\"image2DShadow\",\"image1DArrayShadow\",\"image2DArrayShadow\",\"imageBuffer\",\"iimageBuffer\",\"uimageBuffer\",\"sampler1DArray\",\"sampler1DArrayShadow\",\"isampler1D\",\"isampler1DArray\",\"usampler1D\",\"usampler1DArray\",\"isampler2DRect\",\"usampler2DRect\",\"samplerBuffer\",\"isamplerBuffer\",\"usamplerBuffer\",\"sampler2DMS\",\"isampler2DMS\",\"usampler2DMS\",\"sampler2DMSArray\",\"isampler2DMSArray\",\"usampler2DMSArray\"])},{\"./literals\":228}],228:[function(t,e,r){e.exports=[\"precision\",\"highp\",\"mediump\",\"lowp\",\"attribute\",\"const\",\"uniform\",\"varying\",\"break\",\"continue\",\"do\",\"for\",\"while\",\"if\",\"else\",\"in\",\"out\",\"inout\",\"float\",\"int\",\"uint\",\"void\",\"bool\",\"true\",\"false\",\"discard\",\"return\",\"mat2\",\"mat3\",\"mat4\",\"vec2\",\"vec3\",\"vec4\",\"ivec2\",\"ivec3\",\"ivec4\",\"bvec2\",\"bvec3\",\"bvec4\",\"sampler1D\",\"sampler2D\",\"sampler3D\",\"samplerCube\",\"sampler1DShadow\",\"sampler2DShadow\",\"struct\",\"asm\",\"class\",\"union\",\"enum\",\"typedef\",\"template\",\"this\",\"packed\",\"goto\",\"switch\",\"default\",\"inline\",\"noinline\",\"volatile\",\"public\",\"static\",\"extern\",\"external\",\"interface\",\"long\",\"short\",\"double\",\"half\",\"fixed\",\"unsigned\",\"input\",\"output\",\"hvec2\",\"hvec3\",\"hvec4\",\"dvec2\",\"dvec3\",\"dvec4\",\"fvec2\",\"fvec3\",\"fvec4\",\"sampler2DRect\",\"sampler3DRect\",\"sampler2DRectShadow\",\"sizeof\",\"cast\",\"namespace\",\"using\"]},{}],229:[function(t,e,r){e.exports=[\"<<=\",\">>=\",\"++\",\"--\",\"<<\",\">>\",\"<=\",\">=\",\"==\",\"!=\",\"&&\",\"||\",\"+=\",\"-=\",\"*=\",\"/=\",\"%=\",\"&=\",\"^^\",\"^=\",\"|=\",\"(\",\")\",\"[\",\"]\",\".\",\"!\",\"~\",\"*\",\"/\",\"%\",\"+\",\"-\",\"<\",\">\",\"&\",\"^\",\"|\",\"?\",\":\",\"=\",\",\",\";\",\"{\",\"}\"]},{}],230:[function(t,e,r){var n=t(\"./index\");e.exports=function(t,e){var r=n(e),i=[];return i=(i=i.concat(r(t))).concat(r(null))}},{\"./index\":224}],231:[function(t,e,r){e.exports=function(t){\"string\"==typeof t&&(t=[t]);for(var e=[].slice.call(arguments,1),r=[],n=0;n0;)for(var s=(t=o.pop()).adjacent,l=0;l<=r;++l){var c=s[l];if(c.boundary&&!(c.lastVisited<=-n)){for(var u=c.vertices,f=0;f<=r;++f){var h=u[f];i[f]=h<0?e:a[h]}var p=this.orient();if(p>0)return c;c.lastVisited=-n,0===p&&o.push(c)}}return null},u.walk=function(t,e){var r=this.vertices.length-1,n=this.dimension,i=this.vertices,a=this.tuple,o=e?this.interior.length*Math.random()|0:this.interior.length-1,s=this.interior[o];t:for(;!s.boundary;){for(var l=s.vertices,c=s.adjacent,u=0;u<=n;++u)a[u]=i[l[u]];s.lastVisited=r;for(u=0;u<=n;++u){var f=c[u];if(!(f.lastVisited>=r)){var h=a[u];a[u]=t;var p=this.orient();if(a[u]=h,p<0){s=f;continue t}f.boundary?f.lastVisited=-r:f.lastVisited=r}}return}return s},u.addPeaks=function(t,e){var r=this.vertices.length-1,n=this.dimension,i=this.vertices,l=this.tuple,c=this.interior,u=this.simplices,f=[e];e.lastVisited=r,e.vertices[e.vertices.indexOf(-1)]=r,e.boundary=!1,c.push(e);for(var h=[];f.length>0;){var p=(e=f.pop()).vertices,d=e.adjacent,m=p.indexOf(r);if(!(m<0))for(var g=0;g<=n;++g)if(g!==m){var v=d[g];if(v.boundary&&!(v.lastVisited>=r)){var y=v.vertices;if(v.lastVisited!==-r){for(var x=0,b=0;b<=n;++b)y[b]<0?(x=b,l[b]=t):l[b]=i[y[b]];if(this.orient()>0){y[x]=r,v.boundary=!1,c.push(v),f.push(v),v.lastVisited=r;continue}v.lastVisited=-r}var _=v.adjacent,w=p.slice(),T=d.slice(),k=new a(w,T,!0);u.push(k);var A=_.indexOf(e);if(!(A<0)){_[A]=k,T[m]=v,w[g]=-1,T[g]=e,d[g]=k,k.flip();for(b=0;b<=n;++b){var M=w[b];if(!(M<0||M===r)){for(var S=new Array(n-1),E=0,L=0;L<=n;++L){var C=w[L];C<0||L===b||(S[E++]=C)}h.push(new o(S,k,b))}}}}}}h.sort(s);for(g=0;g+1=0?o[l++]=s[u]:c=1&u;if(c===(1&t)){var f=o[0];o[0]=o[1],o[1]=f}e.push(o)}}return e}},{\"robust-orientation\":284,\"simplicial-complex\":293}],234:[function(t,e,r){\"use strict\";var n=t(\"binary-search-bounds\");function i(t,e,r,n,i){this.mid=t,this.left=e,this.right=r,this.leftPoints=n,this.rightPoints=i,this.count=(e?e.count:0)+(r?r.count:0)+n.length}e.exports=function(t){if(!t||0===t.length)return new v(null);return new v(g(t))};var a=i.prototype;function o(t,e){t.mid=e.mid,t.left=e.left,t.right=e.right,t.leftPoints=e.leftPoints,t.rightPoints=e.rightPoints,t.count=e.count}function s(t,e){var r=g(e);t.mid=r.mid,t.left=r.left,t.right=r.right,t.leftPoints=r.leftPoints,t.rightPoints=r.rightPoints,t.count=r.count}function l(t,e){var r=t.intervals([]);r.push(e),s(t,r)}function c(t,e){var r=t.intervals([]),n=r.indexOf(e);return n<0?0:(r.splice(n,1),s(t,r),1)}function u(t,e,r){for(var n=0;n=0&&t[n][1]>=e;--n){var i=r(t[n]);if(i)return i}}function h(t,e){for(var r=0;r>1],a=[],o=[],s=[];for(r=0;r3*(e+1)?l(this,t):this.left.insert(t):this.left=g([t]);else if(t[0]>this.mid)this.right?4*(this.right.count+1)>3*(e+1)?l(this,t):this.right.insert(t):this.right=g([t]);else{var r=n.ge(this.leftPoints,t,d),i=n.ge(this.rightPoints,t,m);this.leftPoints.splice(r,0,t),this.rightPoints.splice(i,0,t)}},a.remove=function(t){var e=this.count-this.leftPoints;if(t[1]3*(e-1)?c(this,t):2===(s=this.left.remove(t))?(this.left=null,this.count-=1,1):(1===s&&(this.count-=1),s):0;if(t[0]>this.mid)return this.right?4*(this.left?this.left.count:0)>3*(e-1)?c(this,t):2===(s=this.right.remove(t))?(this.right=null,this.count-=1,1):(1===s&&(this.count-=1),s):0;if(1===this.count)return this.leftPoints[0]===t?2:0;if(1===this.leftPoints.length&&this.leftPoints[0]===t){if(this.left&&this.right){for(var r=this,i=this.left;i.right;)r=i,i=i.right;if(r===this)i.right=this.right;else{var a=this.left,s=this.right;r.count-=i.count,r.right=i.left,i.left=a,i.right=s}o(this,i),this.count=(this.left?this.left.count:0)+(this.right?this.right.count:0)+this.leftPoints.length}else this.left?o(this,this.left):o(this,this.right);return 1}for(a=n.ge(this.leftPoints,t,d);athis.mid){var r;if(this.right)if(r=this.right.queryPoint(t,e))return r;return f(this.rightPoints,t,e)}return h(this.leftPoints,e)},a.queryInterval=function(t,e,r){var n;if(tthis.mid&&this.right&&(n=this.right.queryInterval(t,e,r)))return n;return ethis.mid?f(this.rightPoints,t,r):h(this.leftPoints,r)};var y=v.prototype;y.insert=function(t){this.root?this.root.insert(t):this.root=new i(t[0],null,null,[t],[t])},y.remove=function(t){if(this.root){var e=this.root.remove(t);return 2===e&&(this.root=null),0!==e}return!1},y.queryPoint=function(t,e){if(this.root)return this.root.queryPoint(t,e)},y.queryInterval=function(t,e,r){if(t<=e&&this.root)return this.root.queryInterval(t,e,r)},Object.defineProperty(y,\"count\",{get:function(){return this.root?this.root.count:0}}),Object.defineProperty(y,\"intervals\",{get:function(){return this.root?this.root.intervals([]):[]}})},{\"binary-search-bounds\":31}],235:[function(t,e,r){\"use strict\";e.exports=function(t){for(var e=new Array(t),r=0;r\n", + " * @license MIT\n", + " */\n", + "e.exports=function(t){return null!=t&&(n(t)||function(t){return\"function\"==typeof t.readFloatLE&&\"function\"==typeof t.slice&&n(t.slice(0,0))}(t)||!!t._isBuffer)}},{}],238:[function(t,e,r){\"use strict\";e.exports=a,e.exports.isMobile=a,e.exports.default=a;var n=/(android|bb\\d+|meego).+mobile|avantgo|bada\\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\\/|plucker|pocket|psp|series[46]0|symbian|treo|up\\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i,i=/(android|bb\\d+|meego).+mobile|avantgo|bada\\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\\/|plucker|pocket|psp|series[46]0|symbian|treo|up\\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino|android|ipad|playbook|silk/i;function a(t){t||(t={});var e=t.ua;if(e||\"undefined\"==typeof navigator||(e=navigator.userAgent),e&&e.headers&&\"string\"==typeof e.headers[\"user-agent\"]&&(e=e.headers[\"user-agent\"]),\"string\"!=typeof e)return!1;var r=t.tablet?i.test(e):n.test(e);return!r&&t.tablet&&t.featureDetect&&navigator&&navigator.maxTouchPoints>1&&-1!==e.indexOf(\"Macintosh\")&&-1!==e.indexOf(\"Safari\")&&(r=!0),r}},{}],239:[function(t,e,r){\"use strict\";e.exports=function(t){for(var e,r=t.length,n=0;n13)&&32!==e&&133!==e&&160!==e&&5760!==e&&6158!==e&&(e<8192||e>8205)&&8232!==e&&8233!==e&&8239!==e&&8287!==e&&8288!==e&&12288!==e&&65279!==e)return!1;return!0}},{}],240:[function(t,e,r){e.exports=function(t,e,r){return t*(1-r)+e*r}},{}],241:[function(t,e,r){var n=t(\"./normalize\"),i=t(\"gl-mat4/create\"),a=t(\"gl-mat4/clone\"),o=t(\"gl-mat4/determinant\"),s=t(\"gl-mat4/invert\"),l=t(\"gl-mat4/transpose\"),c={length:t(\"gl-vec3/length\"),normalize:t(\"gl-vec3/normalize\"),dot:t(\"gl-vec3/dot\"),cross:t(\"gl-vec3/cross\")},u=i(),f=i(),h=[0,0,0,0],p=[[0,0,0],[0,0,0],[0,0,0]],d=[0,0,0];function m(t,e,r,n,i){t[0]=e[0]*n+r[0]*i,t[1]=e[1]*n+r[1]*i,t[2]=e[2]*n+r[2]*i}e.exports=function(t,e,r,i,g,v){if(e||(e=[0,0,0]),r||(r=[0,0,0]),i||(i=[0,0,0]),g||(g=[0,0,0,1]),v||(v=[0,0,0,1]),!n(u,t))return!1;if(a(f,u),f[3]=0,f[7]=0,f[11]=0,f[15]=1,Math.abs(o(f)<1e-8))return!1;var y,x,b,_,w,T,k,A=u[3],M=u[7],S=u[11],E=u[12],L=u[13],C=u[14],P=u[15];if(0!==A||0!==M||0!==S){if(h[0]=A,h[1]=M,h[2]=S,h[3]=P,!s(f,f))return!1;l(f,f),y=g,b=f,_=(x=h)[0],w=x[1],T=x[2],k=x[3],y[0]=b[0]*_+b[4]*w+b[8]*T+b[12]*k,y[1]=b[1]*_+b[5]*w+b[9]*T+b[13]*k,y[2]=b[2]*_+b[6]*w+b[10]*T+b[14]*k,y[3]=b[3]*_+b[7]*w+b[11]*T+b[15]*k}else g[0]=g[1]=g[2]=0,g[3]=1;if(e[0]=E,e[1]=L,e[2]=C,function(t,e){t[0][0]=e[0],t[0][1]=e[1],t[0][2]=e[2],t[1][0]=e[4],t[1][1]=e[5],t[1][2]=e[6],t[2][0]=e[8],t[2][1]=e[9],t[2][2]=e[10]}(p,u),r[0]=c.length(p[0]),c.normalize(p[0],p[0]),i[0]=c.dot(p[0],p[1]),m(p[1],p[1],p[0],1,-i[0]),r[1]=c.length(p[1]),c.normalize(p[1],p[1]),i[0]/=r[1],i[1]=c.dot(p[0],p[2]),m(p[2],p[2],p[0],1,-i[1]),i[2]=c.dot(p[1],p[2]),m(p[2],p[2],p[1],1,-i[2]),r[2]=c.length(p[2]),c.normalize(p[2],p[2]),i[1]/=r[2],i[2]/=r[2],c.cross(d,p[1],p[2]),c.dot(p[0],d)<0)for(var I=0;I<3;I++)r[I]*=-1,p[I][0]*=-1,p[I][1]*=-1,p[I][2]*=-1;return v[0]=.5*Math.sqrt(Math.max(1+p[0][0]-p[1][1]-p[2][2],0)),v[1]=.5*Math.sqrt(Math.max(1-p[0][0]+p[1][1]-p[2][2],0)),v[2]=.5*Math.sqrt(Math.max(1-p[0][0]-p[1][1]+p[2][2],0)),v[3]=.5*Math.sqrt(Math.max(1+p[0][0]+p[1][1]+p[2][2],0)),p[2][1]>p[1][2]&&(v[0]=-v[0]),p[0][2]>p[2][0]&&(v[1]=-v[1]),p[1][0]>p[0][1]&&(v[2]=-v[2]),!0}},{\"./normalize\":242,\"gl-mat4/clone\":92,\"gl-mat4/create\":93,\"gl-mat4/determinant\":94,\"gl-mat4/invert\":98,\"gl-mat4/transpose\":109,\"gl-vec3/cross\":157,\"gl-vec3/dot\":162,\"gl-vec3/length\":172,\"gl-vec3/normalize\":179}],242:[function(t,e,r){e.exports=function(t,e){var r=e[15];if(0===r)return!1;for(var n=1/r,i=0;i<16;i++)t[i]=e[i]*n;return!0}},{}],243:[function(t,e,r){var n=t(\"gl-vec3/lerp\"),i=t(\"mat4-recompose\"),a=t(\"mat4-decompose\"),o=t(\"gl-mat4/determinant\"),s=t(\"quat-slerp\"),l=f(),c=f(),u=f();function f(){return{translate:h(),scale:h(1),skew:h(),perspective:[0,0,0,1],quaternion:[0,0,0,1]}}function h(t){return[t||0,t||0,t||0]}e.exports=function(t,e,r,f){if(0===o(e)||0===o(r))return!1;var h=a(e,l.translate,l.scale,l.skew,l.perspective,l.quaternion),p=a(r,c.translate,c.scale,c.skew,c.perspective,c.quaternion);return!(!h||!p)&&(n(u.translate,l.translate,c.translate,f),n(u.skew,l.skew,c.skew,f),n(u.scale,l.scale,c.scale,f),n(u.perspective,l.perspective,c.perspective,f),s(u.quaternion,l.quaternion,c.quaternion,f),i(t,u.translate,u.scale,u.skew,u.perspective,u.quaternion),!0)}},{\"gl-mat4/determinant\":94,\"gl-vec3/lerp\":173,\"mat4-decompose\":241,\"mat4-recompose\":244,\"quat-slerp\":271}],244:[function(t,e,r){var n={identity:t(\"gl-mat4/identity\"),translate:t(\"gl-mat4/translate\"),multiply:t(\"gl-mat4/multiply\"),create:t(\"gl-mat4/create\"),scale:t(\"gl-mat4/scale\"),fromRotationTranslation:t(\"gl-mat4/fromRotationTranslation\")},i=(n.create(),n.create());e.exports=function(t,e,r,a,o,s){return n.identity(t),n.fromRotationTranslation(t,s,e),t[3]=o[0],t[7]=o[1],t[11]=o[2],t[15]=o[3],n.identity(i),0!==a[2]&&(i[9]=a[2],n.multiply(t,t,i)),0!==a[1]&&(i[9]=0,i[8]=a[1],n.multiply(t,t,i)),0!==a[0]&&(i[8]=0,i[4]=a[0],n.multiply(t,t,i)),n.scale(t,t,r),t}},{\"gl-mat4/create\":93,\"gl-mat4/fromRotationTranslation\":96,\"gl-mat4/identity\":97,\"gl-mat4/multiply\":100,\"gl-mat4/scale\":107,\"gl-mat4/translate\":108}],245:[function(t,e,r){\"use strict\";var n=t(\"binary-search-bounds\"),i=t(\"mat4-interpolate\"),a=t(\"gl-mat4/invert\"),o=t(\"gl-mat4/rotateX\"),s=t(\"gl-mat4/rotateY\"),l=t(\"gl-mat4/rotateZ\"),c=t(\"gl-mat4/lookAt\"),u=t(\"gl-mat4/translate\"),f=(t(\"gl-mat4/scale\"),t(\"gl-vec3/normalize\")),h=[0,0,0];function p(t){this._components=t.slice(),this._time=[0],this.prevMatrix=t.slice(),this.nextMatrix=t.slice(),this.computedMatrix=t.slice(),this.computedInverse=t.slice(),this.computedEye=[0,0,0],this.computedUp=[0,0,0],this.computedCenter=[0,0,0],this.computedRadius=[0],this._limits=[-1/0,1/0]}e.exports=function(t){return new p((t=t||{}).matrix||[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1])};var d=p.prototype;d.recalcMatrix=function(t){var e=this._time,r=n.le(e,t),o=this.computedMatrix;if(!(r<0)){var s=this._components;if(r===e.length-1)for(var l=16*r,c=0;c<16;++c)o[c]=s[l++];else{var u=e[r+1]-e[r],h=(l=16*r,this.prevMatrix),p=!0;for(c=0;c<16;++c)h[c]=s[l++];var d=this.nextMatrix;for(c=0;c<16;++c)d[c]=s[l++],p=p&&h[c]===d[c];if(u<1e-6||p)for(c=0;c<16;++c)o[c]=h[c];else i(o,h,d,(t-e[r])/u)}var m=this.computedUp;m[0]=o[1],m[1]=o[5],m[2]=o[9],f(m,m);var g=this.computedInverse;a(g,o);var v=this.computedEye,y=g[15];v[0]=g[12]/y,v[1]=g[13]/y,v[2]=g[14]/y;var x=this.computedCenter,b=Math.exp(this.computedRadius[0]);for(c=0;c<3;++c)x[c]=v[c]-o[2+4*c]*b}},d.idle=function(t){if(!(t1&&n(t[o[u-2]],t[o[u-1]],c)<=0;)u-=1,o.pop();for(o.push(l),u=s.length;u>1&&n(t[s[u-2]],t[s[u-1]],c)>=0;)u-=1,s.pop();s.push(l)}r=new Array(s.length+o.length-2);for(var f=0,h=(i=0,o.length);i0;--p)r[f++]=s[p];return r};var n=t(\"robust-orientation\")[3]},{\"robust-orientation\":284}],247:[function(t,e,r){\"use strict\";e.exports=function(t,e){e||(e=t,t=window);var r=0,i=0,a=0,o={shift:!1,alt:!1,control:!1,meta:!1},s=!1;function l(t){var e=!1;return\"altKey\"in t&&(e=e||t.altKey!==o.alt,o.alt=!!t.altKey),\"shiftKey\"in t&&(e=e||t.shiftKey!==o.shift,o.shift=!!t.shiftKey),\"ctrlKey\"in t&&(e=e||t.ctrlKey!==o.control,o.control=!!t.ctrlKey),\"metaKey\"in t&&(e=e||t.metaKey!==o.meta,o.meta=!!t.metaKey),e}function c(t,s){var c=n.x(s),u=n.y(s);\"buttons\"in s&&(t=0|s.buttons),(t!==r||c!==i||u!==a||l(s))&&(r=0|t,i=c||0,a=u||0,e&&e(r,i,a,o))}function u(t){c(0,t)}function f(){(r||i||a||o.shift||o.alt||o.meta||o.control)&&(i=a=0,r=0,o.shift=o.alt=o.control=o.meta=!1,e&&e(0,0,0,o))}function h(t){l(t)&&e&&e(r,i,a,o)}function p(t){0===n.buttons(t)?c(0,t):c(r,t)}function d(t){c(r|n.buttons(t),t)}function m(t){c(r&~n.buttons(t),t)}function g(){s||(s=!0,t.addEventListener(\"mousemove\",p),t.addEventListener(\"mousedown\",d),t.addEventListener(\"mouseup\",m),t.addEventListener(\"mouseleave\",u),t.addEventListener(\"mouseenter\",u),t.addEventListener(\"mouseout\",u),t.addEventListener(\"mouseover\",u),t.addEventListener(\"blur\",f),t.addEventListener(\"keyup\",h),t.addEventListener(\"keydown\",h),t.addEventListener(\"keypress\",h),t!==window&&(window.addEventListener(\"blur\",f),window.addEventListener(\"keyup\",h),window.addEventListener(\"keydown\",h),window.addEventListener(\"keypress\",h)))}g();var v={element:t};return Object.defineProperties(v,{enabled:{get:function(){return s},set:function(e){e?g():function(){if(!s)return;s=!1,t.removeEventListener(\"mousemove\",p),t.removeEventListener(\"mousedown\",d),t.removeEventListener(\"mouseup\",m),t.removeEventListener(\"mouseleave\",u),t.removeEventListener(\"mouseenter\",u),t.removeEventListener(\"mouseout\",u),t.removeEventListener(\"mouseover\",u),t.removeEventListener(\"blur\",f),t.removeEventListener(\"keyup\",h),t.removeEventListener(\"keydown\",h),t.removeEventListener(\"keypress\",h),t!==window&&(window.removeEventListener(\"blur\",f),window.removeEventListener(\"keyup\",h),window.removeEventListener(\"keydown\",h),window.removeEventListener(\"keypress\",h))}()},enumerable:!0},buttons:{get:function(){return r},enumerable:!0},x:{get:function(){return i},enumerable:!0},y:{get:function(){return a},enumerable:!0},mods:{get:function(){return o},enumerable:!0}}),v};var n=t(\"mouse-event\")},{\"mouse-event\":249}],248:[function(t,e,r){var n={left:0,top:0};e.exports=function(t,e,r){e=e||t.currentTarget||t.srcElement,Array.isArray(r)||(r=[0,0]);var i=t.clientX||0,a=t.clientY||0,o=(s=e,s===window||s===document||s===document.body?n:s.getBoundingClientRect());var s;return r[0]=i-o.left,r[1]=a-o.top,r}},{}],249:[function(t,e,r){\"use strict\";function n(t){return t.target||t.srcElement||window}r.buttons=function(t){if(\"object\"==typeof t){if(\"buttons\"in t)return t.buttons;if(\"which\"in t){if(2===(e=t.which))return 4;if(3===e)return 2;if(e>0)return 1<=0)return 1< 0\");\"function\"!=typeof t.vertex&&e(\"Must specify vertex creation function\");\"function\"!=typeof t.cell&&e(\"Must specify cell creation function\");\"function\"!=typeof t.phase&&e(\"Must specify phase function\");for(var s=t.getters||[],l=new Array(a),c=0;c=0?l[c]=!0:l[c]=!1;return function(t,e,r,a,o,s){var l=[s,o].join(\",\");return(0,i[l])(t,e,r,n.mallocUint32,n.freeUint32)}(t.vertex,t.cell,t.phase,0,r,l)};var i={\"false,0,1\":function(t,e,r,n,i){return function(a,o,s,l){var c,u=0|a.shape[0],f=0|a.shape[1],h=a.data,p=0|a.offset,d=0|a.stride[0],m=0|a.stride[1],g=p,v=0|-d,y=0,x=0|-m,b=0,_=-d-m|0,w=0,T=0|d,k=m-d*u|0,A=0,M=0,S=0,E=2*u|0,L=n(E),C=n(E),P=0,I=0,O=-1,z=-1,D=0,R=0|-u,F=0|u,B=0,N=-u-1|0,j=u-1|0,U=0,V=0,H=0;for(A=0;A0){if(M=1,L[P++]=r(h[g],o,s,l),g+=T,u>0)for(A=1,c=h[g],I=L[P]=r(c,o,s,l),D=L[P+O],B=L[P+R],U=L[P+N],I===D&&I===B&&I===U||(y=h[g+v],b=h[g+x],w=h[g+_],t(A,M,c,y,b,w,I,D,B,U,o,s,l),V=C[P]=S++),P+=1,g+=T,A=2;A0)for(A=1,c=h[g],I=L[P]=r(c,o,s,l),D=L[P+O],B=L[P+R],U=L[P+N],I===D&&I===B&&I===U||(y=h[g+v],b=h[g+x],w=h[g+_],t(A,M,c,y,b,w,I,D,B,U,o,s,l),V=C[P]=S++,U!==B&&e(C[P+R],V,b,w,B,U,o,s,l)),P+=1,g+=T,A=2;A0){if(A=1,L[P++]=r(h[g],o,s,l),g+=T,f>0)for(M=1,c=h[g],I=L[P]=r(c,o,s,l),B=L[P+R],D=L[P+O],U=L[P+N],I===B&&I===D&&I===U||(y=h[g+v],b=h[g+x],w=h[g+_],t(A,M,c,y,b,w,I,B,D,U,o,s,l),V=C[P]=S++),P+=1,g+=T,M=2;M0)for(M=1,c=h[g],I=L[P]=r(c,o,s,l),B=L[P+R],D=L[P+O],U=L[P+N],I===B&&I===D&&I===U||(y=h[g+v],b=h[g+x],w=h[g+_],t(A,M,c,y,b,w,I,B,D,U,o,s,l),V=C[P]=S++,U!==B&&e(C[P+R],V,w,y,U,B,o,s,l)),P+=1,g+=T,M=2;M2&&a[1]>2&&n(i.pick(-1,-1).lo(1,1).hi(a[0]-2,a[1]-2),t.pick(-1,-1,0).lo(1,1).hi(a[0]-2,a[1]-2),t.pick(-1,-1,1).lo(1,1).hi(a[0]-2,a[1]-2)),a[1]>2&&(r(i.pick(0,-1).lo(1).hi(a[1]-2),t.pick(0,-1,1).lo(1).hi(a[1]-2)),e(t.pick(0,-1,0).lo(1).hi(a[1]-2))),a[1]>2&&(r(i.pick(a[0]-1,-1).lo(1).hi(a[1]-2),t.pick(a[0]-1,-1,1).lo(1).hi(a[1]-2)),e(t.pick(a[0]-1,-1,0).lo(1).hi(a[1]-2))),a[0]>2&&(r(i.pick(-1,0).lo(1).hi(a[0]-2),t.pick(-1,0,0).lo(1).hi(a[0]-2)),e(t.pick(-1,0,1).lo(1).hi(a[0]-2))),a[0]>2&&(r(i.pick(-1,a[1]-1).lo(1).hi(a[0]-2),t.pick(-1,a[1]-1,0).lo(1).hi(a[0]-2)),e(t.pick(-1,a[1]-1,1).lo(1).hi(a[0]-2))),t.set(0,0,0,0),t.set(0,0,1,0),t.set(a[0]-1,0,0,0),t.set(a[0]-1,0,1,0),t.set(0,a[1]-1,0,0),t.set(0,a[1]-1,1,0),t.set(a[0]-1,a[1]-1,0,0),t.set(a[0]-1,a[1]-1,1,0),t}}e.exports=function(t,e,r){return Array.isArray(r)||(r=n(e.dimension,\"string\"==typeof r?r:\"clamp\")),0===e.size?t:0===e.dimension?(t.set(0),t):function(t){var e=t.join();if(a=u[e])return a;for(var r=t.length,n=[f,h],i=1;i<=r;++i)n.push(p(i));var a=d.apply(void 0,n);return u[e]=a,a}(r)(t,e)}},{dup:65}],253:[function(t,e,r){\"use strict\";function n(t,e){var r=Math.floor(e),n=e-r,i=0<=r&&r0;){x<64?(l=x,x=0):(l=64,x-=64);for(var b=0|t[1];b>0;){b<64?(c=b,b=0):(c=64,b-=64),n=v+x*f+b*h,o=y+x*d+b*m;var _=0,w=0,T=0,k=p,A=f-u*p,M=h-l*f,S=g,E=d-u*g,L=m-l*d;for(T=0;T0;){m<64?(l=m,m=0):(l=64,m-=64);for(var g=0|t[0];g>0;){g<64?(s=g,g=0):(s=64,g-=64),n=p+m*u+g*c,o=d+m*h+g*f;var v=0,y=0,x=u,b=c-l*u,_=h,w=f-l*h;for(y=0;y0;){y<64?(c=y,y=0):(c=64,y-=64);for(var x=0|t[0];x>0;){x<64?(s=x,x=0):(s=64,x-=64);for(var b=0|t[1];b>0;){b<64?(l=b,b=0):(l=64,b-=64),n=g+y*h+x*u+b*f,o=v+y*m+x*p+b*d;var _=0,w=0,T=0,k=h,A=u-c*h,M=f-s*u,S=m,E=p-c*m,L=d-s*p;for(T=0;Tr;){v=0,y=m-o;e:for(g=0;gb)break e;y+=f,v+=h}for(v=m,y=m-o,g=0;g>1,q=H-j,G=H+j,Y=U,W=q,Z=H,X=G,J=V,K=i+1,Q=a-1,$=!0,tt=0,et=0,rt=0,nt=f,it=e(nt),at=e(nt);A=l*Y,M=l*W,N=s;t:for(k=0;k0){g=Y,Y=W,W=g;break t}if(rt<0)break t;N+=p}A=l*X,M=l*J,N=s;t:for(k=0;k0){g=X,X=J,J=g;break t}if(rt<0)break t;N+=p}A=l*Y,M=l*Z,N=s;t:for(k=0;k0){g=Y,Y=Z,Z=g;break t}if(rt<0)break t;N+=p}A=l*W,M=l*Z,N=s;t:for(k=0;k0){g=W,W=Z,Z=g;break t}if(rt<0)break t;N+=p}A=l*Y,M=l*X,N=s;t:for(k=0;k0){g=Y,Y=X,X=g;break t}if(rt<0)break t;N+=p}A=l*Z,M=l*X,N=s;t:for(k=0;k0){g=Z,Z=X,X=g;break t}if(rt<0)break t;N+=p}A=l*W,M=l*J,N=s;t:for(k=0;k0){g=W,W=J,J=g;break t}if(rt<0)break t;N+=p}A=l*W,M=l*Z,N=s;t:for(k=0;k0){g=W,W=Z,Z=g;break t}if(rt<0)break t;N+=p}A=l*X,M=l*J,N=s;t:for(k=0;k0){g=X,X=J,J=g;break t}if(rt<0)break t;N+=p}for(A=l*Y,M=l*W,S=l*Z,E=l*X,L=l*J,C=l*U,P=l*H,I=l*V,B=0,N=s,k=0;k0)){if(rt<0){for(A=l*b,M=l*K,S=l*Q,N=s,k=0;k0)for(;;){_=s+Q*l,B=0;t:for(k=0;k0)){_=s+Q*l,B=0;t:for(k=0;kV){t:for(;;){for(_=s+K*l,B=0,N=s,k=0;k1&&n?s(r,n[0],n[1]):s(r)}(t,e,l);return n(l,c)}},{\"typedarray-pool\":308}],258:[function(t,e,r){\"use strict\";var n=t(\"./lib/compile_sort.js\"),i={};e.exports=function(t){var e=t.order,r=t.dtype,a=[e,r].join(\":\"),o=i[a];return o||(i[a]=o=n(e,r)),o(t),t}},{\"./lib/compile_sort.js\":257}],259:[function(t,e,r){var n=t(\"is-buffer\"),i=\"undefined\"!=typeof Float64Array;function a(t,e){return t[0]-e[0]}function o(){var t,e=this.stride,r=new Array(e.length);for(t=0;t=0&&(e+=a*(r=0|t),i-=r),new n(this.data,i,a,e)},i.step=function(t){var e=this.shape[0],r=this.stride[0],i=this.offset,a=0,o=Math.ceil;return\"number\"==typeof t&&((a=0|t)<0?(i+=r*(e-1),e=o(-e/a)):e=o(e/a),r*=a),new n(this.data,e,r,i)},i.transpose=function(t){t=void 0===t?0:0|t;var e=this.shape,r=this.stride;return new n(this.data,e[t],r[t],this.offset)},i.pick=function(t){var r=[],n=[],i=this.offset;return\"number\"==typeof t&&t>=0?i=i+this.stride[0]*t|0:(r.push(this.shape[0]),n.push(this.stride[0])),(0,e[r.length+1])(this.data,r,n,i)},function(t,e,r,i){return new n(t,e[0],r[0],i)}},2:function(t,e,r){function n(t,e,r,n,i,a){this.data=t,this.shape=[e,r],this.stride=[n,i],this.offset=0|a}var i=n.prototype;return i.dtype=t,i.dimension=2,Object.defineProperty(i,\"size\",{get:function(){return this.shape[0]*this.shape[1]}}),Object.defineProperty(i,\"order\",{get:function(){return Math.abs(this.stride[0])>Math.abs(this.stride[1])?[1,0]:[0,1]}}),i.set=function(e,r,n){return\"generic\"===t?this.data.set(this.offset+this.stride[0]*e+this.stride[1]*r,n):this.data[this.offset+this.stride[0]*e+this.stride[1]*r]=n},i.get=function(e,r){return\"generic\"===t?this.data.get(this.offset+this.stride[0]*e+this.stride[1]*r):this.data[this.offset+this.stride[0]*e+this.stride[1]*r]},i.index=function(t,e){return this.offset+this.stride[0]*t+this.stride[1]*e},i.hi=function(t,e){return new n(this.data,\"number\"!=typeof t||t<0?this.shape[0]:0|t,\"number\"!=typeof e||e<0?this.shape[1]:0|e,this.stride[0],this.stride[1],this.offset)},i.lo=function(t,e){var r=this.offset,i=0,a=this.shape[0],o=this.shape[1],s=this.stride[0],l=this.stride[1];return\"number\"==typeof t&&t>=0&&(r+=s*(i=0|t),a-=i),\"number\"==typeof e&&e>=0&&(r+=l*(i=0|e),o-=i),new n(this.data,a,o,s,l,r)},i.step=function(t,e){var r=this.shape[0],i=this.shape[1],a=this.stride[0],o=this.stride[1],s=this.offset,l=0,c=Math.ceil;return\"number\"==typeof t&&((l=0|t)<0?(s+=a*(r-1),r=c(-r/l)):r=c(r/l),a*=l),\"number\"==typeof e&&((l=0|e)<0?(s+=o*(i-1),i=c(-i/l)):i=c(i/l),o*=l),new n(this.data,r,i,a,o,s)},i.transpose=function(t,e){t=void 0===t?0:0|t,e=void 0===e?1:0|e;var r=this.shape,i=this.stride;return new n(this.data,r[t],r[e],i[t],i[e],this.offset)},i.pick=function(t,r){var n=[],i=[],a=this.offset;return\"number\"==typeof t&&t>=0?a=a+this.stride[0]*t|0:(n.push(this.shape[0]),i.push(this.stride[0])),\"number\"==typeof r&&r>=0?a=a+this.stride[1]*r|0:(n.push(this.shape[1]),i.push(this.stride[1])),(0,e[n.length+1])(this.data,n,i,a)},function(t,e,r,i){return new n(t,e[0],e[1],r[0],r[1],i)}},3:function(t,e,r){function n(t,e,r,n,i,a,o,s){this.data=t,this.shape=[e,r,n],this.stride=[i,a,o],this.offset=0|s}var i=n.prototype;return i.dtype=t,i.dimension=3,Object.defineProperty(i,\"size\",{get:function(){return this.shape[0]*this.shape[1]*this.shape[2]}}),Object.defineProperty(i,\"order\",{get:function(){var t=Math.abs(this.stride[0]),e=Math.abs(this.stride[1]),r=Math.abs(this.stride[2]);return t>e?e>r?[2,1,0]:t>r?[1,2,0]:[1,0,2]:t>r?[2,0,1]:r>e?[0,1,2]:[0,2,1]}}),i.set=function(e,r,n,i){return\"generic\"===t?this.data.set(this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n,i):this.data[this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n]=i},i.get=function(e,r,n){return\"generic\"===t?this.data.get(this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n):this.data[this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n]},i.index=function(t,e,r){return this.offset+this.stride[0]*t+this.stride[1]*e+this.stride[2]*r},i.hi=function(t,e,r){return new n(this.data,\"number\"!=typeof t||t<0?this.shape[0]:0|t,\"number\"!=typeof e||e<0?this.shape[1]:0|e,\"number\"!=typeof r||r<0?this.shape[2]:0|r,this.stride[0],this.stride[1],this.stride[2],this.offset)},i.lo=function(t,e,r){var i=this.offset,a=0,o=this.shape[0],s=this.shape[1],l=this.shape[2],c=this.stride[0],u=this.stride[1],f=this.stride[2];return\"number\"==typeof t&&t>=0&&(i+=c*(a=0|t),o-=a),\"number\"==typeof e&&e>=0&&(i+=u*(a=0|e),s-=a),\"number\"==typeof r&&r>=0&&(i+=f*(a=0|r),l-=a),new n(this.data,o,s,l,c,u,f,i)},i.step=function(t,e,r){var i=this.shape[0],a=this.shape[1],o=this.shape[2],s=this.stride[0],l=this.stride[1],c=this.stride[2],u=this.offset,f=0,h=Math.ceil;return\"number\"==typeof t&&((f=0|t)<0?(u+=s*(i-1),i=h(-i/f)):i=h(i/f),s*=f),\"number\"==typeof e&&((f=0|e)<0?(u+=l*(a-1),a=h(-a/f)):a=h(a/f),l*=f),\"number\"==typeof r&&((f=0|r)<0?(u+=c*(o-1),o=h(-o/f)):o=h(o/f),c*=f),new n(this.data,i,a,o,s,l,c,u)},i.transpose=function(t,e,r){t=void 0===t?0:0|t,e=void 0===e?1:0|e,r=void 0===r?2:0|r;var i=this.shape,a=this.stride;return new n(this.data,i[t],i[e],i[r],a[t],a[e],a[r],this.offset)},i.pick=function(t,r,n){var i=[],a=[],o=this.offset;return\"number\"==typeof t&&t>=0?o=o+this.stride[0]*t|0:(i.push(this.shape[0]),a.push(this.stride[0])),\"number\"==typeof r&&r>=0?o=o+this.stride[1]*r|0:(i.push(this.shape[1]),a.push(this.stride[1])),\"number\"==typeof n&&n>=0?o=o+this.stride[2]*n|0:(i.push(this.shape[2]),a.push(this.stride[2])),(0,e[i.length+1])(this.data,i,a,o)},function(t,e,r,i){return new n(t,e[0],e[1],e[2],r[0],r[1],r[2],i)}},4:function(t,e,r){function n(t,e,r,n,i,a,o,s,l,c){this.data=t,this.shape=[e,r,n,i],this.stride=[a,o,s,l],this.offset=0|c}var i=n.prototype;return i.dtype=t,i.dimension=4,Object.defineProperty(i,\"size\",{get:function(){return this.shape[0]*this.shape[1]*this.shape[2]*this.shape[3]}}),Object.defineProperty(i,\"order\",{get:r}),i.set=function(e,r,n,i,a){return\"generic\"===t?this.data.set(this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n+this.stride[3]*i,a):this.data[this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n+this.stride[3]*i]=a},i.get=function(e,r,n,i){return\"generic\"===t?this.data.get(this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n+this.stride[3]*i):this.data[this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n+this.stride[3]*i]},i.index=function(t,e,r,n){return this.offset+this.stride[0]*t+this.stride[1]*e+this.stride[2]*r+this.stride[3]*n},i.hi=function(t,e,r,i){return new n(this.data,\"number\"!=typeof t||t<0?this.shape[0]:0|t,\"number\"!=typeof e||e<0?this.shape[1]:0|e,\"number\"!=typeof r||r<0?this.shape[2]:0|r,\"number\"!=typeof i||i<0?this.shape[3]:0|i,this.stride[0],this.stride[1],this.stride[2],this.stride[3],this.offset)},i.lo=function(t,e,r,i){var a=this.offset,o=0,s=this.shape[0],l=this.shape[1],c=this.shape[2],u=this.shape[3],f=this.stride[0],h=this.stride[1],p=this.stride[2],d=this.stride[3];return\"number\"==typeof t&&t>=0&&(a+=f*(o=0|t),s-=o),\"number\"==typeof e&&e>=0&&(a+=h*(o=0|e),l-=o),\"number\"==typeof r&&r>=0&&(a+=p*(o=0|r),c-=o),\"number\"==typeof i&&i>=0&&(a+=d*(o=0|i),u-=o),new n(this.data,s,l,c,u,f,h,p,d,a)},i.step=function(t,e,r,i){var a=this.shape[0],o=this.shape[1],s=this.shape[2],l=this.shape[3],c=this.stride[0],u=this.stride[1],f=this.stride[2],h=this.stride[3],p=this.offset,d=0,m=Math.ceil;return\"number\"==typeof t&&((d=0|t)<0?(p+=c*(a-1),a=m(-a/d)):a=m(a/d),c*=d),\"number\"==typeof e&&((d=0|e)<0?(p+=u*(o-1),o=m(-o/d)):o=m(o/d),u*=d),\"number\"==typeof r&&((d=0|r)<0?(p+=f*(s-1),s=m(-s/d)):s=m(s/d),f*=d),\"number\"==typeof i&&((d=0|i)<0?(p+=h*(l-1),l=m(-l/d)):l=m(l/d),h*=d),new n(this.data,a,o,s,l,c,u,f,h,p)},i.transpose=function(t,e,r,i){t=void 0===t?0:0|t,e=void 0===e?1:0|e,r=void 0===r?2:0|r,i=void 0===i?3:0|i;var a=this.shape,o=this.stride;return new n(this.data,a[t],a[e],a[r],a[i],o[t],o[e],o[r],o[i],this.offset)},i.pick=function(t,r,n,i){var a=[],o=[],s=this.offset;return\"number\"==typeof t&&t>=0?s=s+this.stride[0]*t|0:(a.push(this.shape[0]),o.push(this.stride[0])),\"number\"==typeof r&&r>=0?s=s+this.stride[1]*r|0:(a.push(this.shape[1]),o.push(this.stride[1])),\"number\"==typeof n&&n>=0?s=s+this.stride[2]*n|0:(a.push(this.shape[2]),o.push(this.stride[2])),\"number\"==typeof i&&i>=0?s=s+this.stride[3]*i|0:(a.push(this.shape[3]),o.push(this.stride[3])),(0,e[a.length+1])(this.data,a,o,s)},function(t,e,r,i){return new n(t,e[0],e[1],e[2],e[3],r[0],r[1],r[2],r[3],i)}},5:function(t,e,r){function n(t,e,r,n,i,a,o,s,l,c,u,f){this.data=t,this.shape=[e,r,n,i,a],this.stride=[o,s,l,c,u],this.offset=0|f}var i=n.prototype;return i.dtype=t,i.dimension=5,Object.defineProperty(i,\"size\",{get:function(){return this.shape[0]*this.shape[1]*this.shape[2]*this.shape[3]*this.shape[4]}}),Object.defineProperty(i,\"order\",{get:r}),i.set=function(e,r,n,i,a,o){return\"generic\"===t?this.data.set(this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n+this.stride[3]*i+this.stride[4]*a,o):this.data[this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n+this.stride[3]*i+this.stride[4]*a]=o},i.get=function(e,r,n,i,a){return\"generic\"===t?this.data.get(this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n+this.stride[3]*i+this.stride[4]*a):this.data[this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n+this.stride[3]*i+this.stride[4]*a]},i.index=function(t,e,r,n,i){return this.offset+this.stride[0]*t+this.stride[1]*e+this.stride[2]*r+this.stride[3]*n+this.stride[4]*i},i.hi=function(t,e,r,i,a){return new n(this.data,\"number\"!=typeof t||t<0?this.shape[0]:0|t,\"number\"!=typeof e||e<0?this.shape[1]:0|e,\"number\"!=typeof r||r<0?this.shape[2]:0|r,\"number\"!=typeof i||i<0?this.shape[3]:0|i,\"number\"!=typeof a||a<0?this.shape[4]:0|a,this.stride[0],this.stride[1],this.stride[2],this.stride[3],this.stride[4],this.offset)},i.lo=function(t,e,r,i,a){var o=this.offset,s=0,l=this.shape[0],c=this.shape[1],u=this.shape[2],f=this.shape[3],h=this.shape[4],p=this.stride[0],d=this.stride[1],m=this.stride[2],g=this.stride[3],v=this.stride[4];return\"number\"==typeof t&&t>=0&&(o+=p*(s=0|t),l-=s),\"number\"==typeof e&&e>=0&&(o+=d*(s=0|e),c-=s),\"number\"==typeof r&&r>=0&&(o+=m*(s=0|r),u-=s),\"number\"==typeof i&&i>=0&&(o+=g*(s=0|i),f-=s),\"number\"==typeof a&&a>=0&&(o+=v*(s=0|a),h-=s),new n(this.data,l,c,u,f,h,p,d,m,g,v,o)},i.step=function(t,e,r,i,a){var o=this.shape[0],s=this.shape[1],l=this.shape[2],c=this.shape[3],u=this.shape[4],f=this.stride[0],h=this.stride[1],p=this.stride[2],d=this.stride[3],m=this.stride[4],g=this.offset,v=0,y=Math.ceil;return\"number\"==typeof t&&((v=0|t)<0?(g+=f*(o-1),o=y(-o/v)):o=y(o/v),f*=v),\"number\"==typeof e&&((v=0|e)<0?(g+=h*(s-1),s=y(-s/v)):s=y(s/v),h*=v),\"number\"==typeof r&&((v=0|r)<0?(g+=p*(l-1),l=y(-l/v)):l=y(l/v),p*=v),\"number\"==typeof i&&((v=0|i)<0?(g+=d*(c-1),c=y(-c/v)):c=y(c/v),d*=v),\"number\"==typeof a&&((v=0|a)<0?(g+=m*(u-1),u=y(-u/v)):u=y(u/v),m*=v),new n(this.data,o,s,l,c,u,f,h,p,d,m,g)},i.transpose=function(t,e,r,i,a){t=void 0===t?0:0|t,e=void 0===e?1:0|e,r=void 0===r?2:0|r,i=void 0===i?3:0|i,a=void 0===a?4:0|a;var o=this.shape,s=this.stride;return new n(this.data,o[t],o[e],o[r],o[i],o[a],s[t],s[e],s[r],s[i],s[a],this.offset)},i.pick=function(t,r,n,i,a){var o=[],s=[],l=this.offset;return\"number\"==typeof t&&t>=0?l=l+this.stride[0]*t|0:(o.push(this.shape[0]),s.push(this.stride[0])),\"number\"==typeof r&&r>=0?l=l+this.stride[1]*r|0:(o.push(this.shape[1]),s.push(this.stride[1])),\"number\"==typeof n&&n>=0?l=l+this.stride[2]*n|0:(o.push(this.shape[2]),s.push(this.stride[2])),\"number\"==typeof i&&i>=0?l=l+this.stride[3]*i|0:(o.push(this.shape[3]),s.push(this.stride[3])),\"number\"==typeof a&&a>=0?l=l+this.stride[4]*a|0:(o.push(this.shape[4]),s.push(this.stride[4])),(0,e[o.length+1])(this.data,o,s,l)},function(t,e,r,i){return new n(t,e[0],e[1],e[2],e[3],e[4],r[0],r[1],r[2],r[3],r[4],i)}}};function l(t,e){var r=-1===e?\"T\":String(e),n=s[r];return-1===e?n(t):0===e?n(t,c[t][0]):n(t,c[t],o)}var c={generic:[],buffer:[],array:[],float32:[],float64:[],int8:[],int16:[],int32:[],uint8_clamped:[],uint8:[],uint16:[],uint32:[],bigint64:[],biguint64:[]};e.exports=function(t,e,r,a){if(void 0===t)return(0,c.array[0])([]);\"number\"==typeof t&&(t=[t]),void 0===e&&(e=[t.length]);var o=e.length;if(void 0===r){r=new Array(o);for(var s=o-1,u=1;s>=0;--s)r[s]=u,u*=e[s]}if(void 0===a){a=0;for(s=0;st==t>0?a===-1>>>0?(r+=1,a=0):a+=1:0===a?(a=-1>>>0,r-=1):a-=1;return n.pack(a,r)}},{\"double-bits\":64}],261:[function(t,e,r){r.vertexNormals=function(t,e,r){for(var n=e.length,i=new Array(n),a=void 0===r?1e-6:r,o=0;oa){var b=i[c],_=1/Math.sqrt(g*y);for(x=0;x<3;++x){var w=(x+1)%3,T=(x+2)%3;b[x]+=_*(v[w]*m[T]-v[T]*m[w])}}}for(o=0;oa)for(_=1/Math.sqrt(k),x=0;x<3;++x)b[x]*=_;else for(x=0;x<3;++x)b[x]=0}return i},r.faceNormals=function(t,e,r){for(var n=t.length,i=new Array(n),a=void 0===r?1e-6:r,o=0;oa?1/Math.sqrt(p):0;for(c=0;c<3;++c)h[c]*=p;i[o]=h}return i}},{}],262:[function(t,e,r){\"use strict\";e.exports=function(t,e,r,n,i,a,o,s,l,c){var u=e+a+c;if(f>0){var f=Math.sqrt(u+1);t[0]=.5*(o-l)/f,t[1]=.5*(s-n)/f,t[2]=.5*(r-a)/f,t[3]=.5*f}else{var h=Math.max(e,a,c);f=Math.sqrt(2*h-u+1);e>=h?(t[0]=.5*f,t[1]=.5*(i+r)/f,t[2]=.5*(s+n)/f,t[3]=.5*(o-l)/f):a>=h?(t[0]=.5*(r+i)/f,t[1]=.5*f,t[2]=.5*(l+o)/f,t[3]=.5*(s-n)/f):(t[0]=.5*(n+s)/f,t[1]=.5*(o+l)/f,t[2]=.5*f,t[3]=.5*(r-i)/f)}return t}},{}],263:[function(t,e,r){\"use strict\";e.exports=function(t){var e=(t=t||{}).center||[0,0,0],r=t.rotation||[0,0,0,1],n=t.radius||1;e=[].slice.call(e,0,3),u(r=[].slice.call(r,0,4),r);var i=new f(r,e,Math.log(n));i.setDistanceLimits(t.zoomMin,t.zoomMax),(\"eye\"in t||\"up\"in t)&&i.lookAt(0,t.eye,t.center,t.up);return i};var n=t(\"filtered-vector\"),i=t(\"gl-mat4/lookAt\"),a=t(\"gl-mat4/fromQuat\"),o=t(\"gl-mat4/invert\"),s=t(\"./lib/quatFromFrame\");function l(t,e,r){return Math.sqrt(Math.pow(t,2)+Math.pow(e,2)+Math.pow(r,2))}function c(t,e,r,n){return Math.sqrt(Math.pow(t,2)+Math.pow(e,2)+Math.pow(r,2)+Math.pow(n,2))}function u(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=c(r,n,i,a);o>1e-6?(t[0]=r/o,t[1]=n/o,t[2]=i/o,t[3]=a/o):(t[0]=t[1]=t[2]=0,t[3]=1)}function f(t,e,r){this.radius=n([r]),this.center=n(e),this.rotation=n(t),this.computedRadius=this.radius.curve(0),this.computedCenter=this.center.curve(0),this.computedRotation=this.rotation.curve(0),this.computedUp=[.1,0,0],this.computedEye=[.1,0,0],this.computedMatrix=[.1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],this.recalcMatrix(0)}var h=f.prototype;h.lastT=function(){return Math.max(this.radius.lastT(),this.center.lastT(),this.rotation.lastT())},h.recalcMatrix=function(t){this.radius.curve(t),this.center.curve(t),this.rotation.curve(t);var e=this.computedRotation;u(e,e);var r=this.computedMatrix;a(r,e);var n=this.computedCenter,i=this.computedEye,o=this.computedUp,s=Math.exp(this.computedRadius[0]);i[0]=n[0]+s*r[2],i[1]=n[1]+s*r[6],i[2]=n[2]+s*r[10],o[0]=r[1],o[1]=r[5],o[2]=r[9];for(var l=0;l<3;++l){for(var c=0,f=0;f<3;++f)c+=r[l+4*f]*i[f];r[12+l]=-c}},h.getMatrix=function(t,e){this.recalcMatrix(t);var r=this.computedMatrix;if(e){for(var n=0;n<16;++n)e[n]=r[n];return e}return r},h.idle=function(t){this.center.idle(t),this.radius.idle(t),this.rotation.idle(t)},h.flush=function(t){this.center.flush(t),this.radius.flush(t),this.rotation.flush(t)},h.pan=function(t,e,r,n){e=e||0,r=r||0,n=n||0,this.recalcMatrix(t);var i=this.computedMatrix,a=i[1],o=i[5],s=i[9],c=l(a,o,s);a/=c,o/=c,s/=c;var u=i[0],f=i[4],h=i[8],p=u*a+f*o+h*s,d=l(u-=a*p,f-=o*p,h-=s*p);u/=d,f/=d,h/=d;var m=i[2],g=i[6],v=i[10],y=m*a+g*o+v*s,x=m*u+g*f+v*h,b=l(m-=y*a+x*u,g-=y*o+x*f,v-=y*s+x*h);m/=b,g/=b,v/=b;var _=u*e+a*r,w=f*e+o*r,T=h*e+s*r;this.center.move(t,_,w,T);var k=Math.exp(this.computedRadius[0]);k=Math.max(1e-4,k+n),this.radius.set(t,Math.log(k))},h.rotate=function(t,e,r,n){this.recalcMatrix(t),e=e||0,r=r||0;var i=this.computedMatrix,a=i[0],o=i[4],s=i[8],u=i[1],f=i[5],h=i[9],p=i[2],d=i[6],m=i[10],g=e*a+r*u,v=e*o+r*f,y=e*s+r*h,x=-(d*y-m*v),b=-(m*g-p*y),_=-(p*v-d*g),w=Math.sqrt(Math.max(0,1-Math.pow(x,2)-Math.pow(b,2)-Math.pow(_,2))),T=c(x,b,_,w);T>1e-6?(x/=T,b/=T,_/=T,w/=T):(x=b=_=0,w=1);var k=this.computedRotation,A=k[0],M=k[1],S=k[2],E=k[3],L=A*w+E*x+M*_-S*b,C=M*w+E*b+S*x-A*_,P=S*w+E*_+A*b-M*x,I=E*w-A*x-M*b-S*_;if(n){x=p,b=d,_=m;var O=Math.sin(n)/l(x,b,_);x*=O,b*=O,_*=O,I=I*(w=Math.cos(e))-(L=L*w+I*x+C*_-P*b)*x-(C=C*w+I*b+P*x-L*_)*b-(P=P*w+I*_+L*b-C*x)*_}var z=c(L,C,P,I);z>1e-6?(L/=z,C/=z,P/=z,I/=z):(L=C=P=0,I=1),this.rotation.set(t,L,C,P,I)},h.lookAt=function(t,e,r,n){this.recalcMatrix(t),r=r||this.computedCenter,e=e||this.computedEye,n=n||this.computedUp;var a=this.computedMatrix;i(a,e,r,n);var o=this.computedRotation;s(o,a[0],a[1],a[2],a[4],a[5],a[6],a[8],a[9],a[10]),u(o,o),this.rotation.set(t,o[0],o[1],o[2],o[3]);for(var l=0,c=0;c<3;++c)l+=Math.pow(r[c]-e[c],2);this.radius.set(t,.5*Math.log(Math.max(l,1e-6))),this.center.set(t,r[0],r[1],r[2])},h.translate=function(t,e,r,n){this.center.move(t,e||0,r||0,n||0)},h.setMatrix=function(t,e){var r=this.computedRotation;s(r,e[0],e[1],e[2],e[4],e[5],e[6],e[8],e[9],e[10]),u(r,r),this.rotation.set(t,r[0],r[1],r[2],r[3]);var n=this.computedMatrix;o(n,e);var i=n[15];if(Math.abs(i)>1e-6){var a=n[12]/i,l=n[13]/i,c=n[14]/i;this.recalcMatrix(t);var f=Math.exp(this.computedRadius[0]);this.center.set(t,a-n[2]*f,l-n[6]*f,c-n[10]*f),this.radius.idle(t)}else this.center.idle(t),this.radius.idle(t)},h.setDistance=function(t,e){e>0&&this.radius.set(t,Math.log(e))},h.setDistanceLimits=function(t,e){t=t>0?Math.log(t):-1/0,e=e>0?Math.log(e):1/0,e=Math.max(e,t),this.radius.bounds[0][0]=t,this.radius.bounds[1][0]=e},h.getDistanceLimits=function(t){var e=this.radius.bounds;return t?(t[0]=Math.exp(e[0][0]),t[1]=Math.exp(e[1][0]),t):[Math.exp(e[0][0]),Math.exp(e[1][0])]},h.toJSON=function(){return this.recalcMatrix(this.lastT()),{center:this.computedCenter.slice(),rotation:this.computedRotation.slice(),distance:Math.log(this.computedRadius[0]),zoomMin:this.radius.bounds[0][0],zoomMax:this.radius.bounds[1][0]}},h.fromJSON=function(t){var e=this.lastT(),r=t.center;r&&this.center.set(e,r[0],r[1],r[2]);var n=t.rotation;n&&this.rotation.set(e,n[0],n[1],n[2],n[3]);var i=t.distance;i&&i>0&&this.radius.set(e,Math.log(i)),this.setDistanceLimits(t.zoomMin,t.zoomMax)}},{\"./lib/quatFromFrame\":262,\"filtered-vector\":68,\"gl-mat4/fromQuat\":95,\"gl-mat4/invert\":98,\"gl-mat4/lookAt\":99}],264:[function(t,e,r){\n", + "/*!\n", + " * pad-left \n", + " *\n", + " * Copyright (c) 2014-2015, Jon Schlinkert.\n", + " * Licensed under the MIT license.\n", + " */\n", + "\"use strict\";var n=t(\"repeat-string\");e.exports=function(t,e,r){return n(r=void 0!==r?r+\"\":\" \",e)+t}},{\"repeat-string\":277}],265:[function(t,e,r){e.exports=function(t,e){e||(e=[0,\"\"]),t=String(t);var r=parseFloat(t,10);return e[0]=r,e[1]=t.match(/[\\d.\\-\\+]*\\s*(.*)/)[1]||\"\",e}},{}],266:[function(t,e,r){\"use strict\";e.exports=function(t,e){for(var r=0|e.length,i=t.length,a=[new Array(r),new Array(r)],o=0;o0){o=a[u][r][0],l=u;break}s=o[1^l];for(var f=0;f<2;++f)for(var h=a[f][r],p=0;p0&&(o=d,s=m,l=f)}return i||o&&c(o,l),s}function f(t,r){var i=a[r][t][0],o=[t];c(i,r);for(var s=i[1^r];;){for(;s!==t;)o.push(s),s=u(o[o.length-2],s,!1);if(a[0][t].length+a[1][t].length===0)break;var l=o[o.length-1],f=t,h=o[1],p=u(l,f,!0);if(n(e[l],e[f],e[h],e[p])<0)break;o.push(t),s=u(l,f)}return o}function h(t,e){return e[1]===e[e.length-1]}for(o=0;o0;){a[0][o].length;var m=f(o,p);h(0,m)?d.push.apply(d,m):(d.length>0&&l.push(d),d=m)}d.length>0&&l.push(d)}return l};var n=t(\"compare-angle\")},{\"compare-angle\":54}],267:[function(t,e,r){\"use strict\";e.exports=function(t,e){for(var r=n(t,e.length),i=new Array(e.length),a=new Array(e.length),o=[],s=0;s0;){var c=o.pop();i[c]=!1;var u=r[c];for(s=0;s0}))).length,g=new Array(m),v=new Array(m);for(p=0;p0;){var B=R.pop(),N=E[B];l(N,(function(t,e){return t-e}));var j,U=N.length,V=F[B];if(0===V){var H=d[B];j=[H]}for(p=0;p=0))if(F[q]=1^V,R.push(q),0===V)D(H=d[q])||(H.reverse(),j.push(H))}0===V&&r.push(j)}return r};var n=t(\"edges-to-adjacency-list\"),i=t(\"planar-dual\"),a=t(\"point-in-big-polygon\"),o=t(\"two-product\"),s=t(\"robust-sum\"),l=t(\"uniq\"),c=t(\"./lib/trim-leaves\");function u(t,e){for(var r=new Array(t),n=0;n0&&e[i]===r[0]))return 1;a=t[i-1]}for(var s=1;a;){var l=a.key,c=n(r,l[0],l[1]);if(l[0][0]0))return 0;s=-1,a=a.right}else if(c>0)a=a.left;else{if(!(c<0))return 0;s=1,a=a.right}}return s}}(v.slabs,v.coordinates);return 0===a.length?y:function(t,e){return function(r){return t(r[0],r[1])?0:e(r)}}(l(a),y)};var n=t(\"robust-orientation\")[3],i=t(\"slab-decomposition\"),a=t(\"interval-tree-1d\"),o=t(\"binary-search-bounds\");function s(){return!0}function l(t){for(var e={},r=0;r=c?(k=1,y=c+2*h+d):y=h*(k=-h/c)+d):(k=0,p>=0?(A=0,y=d):-p>=f?(A=1,y=f+2*p+d):y=p*(A=-p/f)+d);else if(A<0)A=0,h>=0?(k=0,y=d):-h>=c?(k=1,y=c+2*h+d):y=h*(k=-h/c)+d;else{var M=1/T;y=(k*=M)*(c*k+u*(A*=M)+2*h)+A*(u*k+f*A+2*p)+d}else k<0?(b=f+p)>(x=u+h)?(_=b-x)>=(w=c-2*u+f)?(k=1,A=0,y=c+2*h+d):y=(k=_/w)*(c*k+u*(A=1-k)+2*h)+A*(u*k+f*A+2*p)+d:(k=0,b<=0?(A=1,y=f+2*p+d):p>=0?(A=0,y=d):y=p*(A=-p/f)+d):A<0?(b=c+h)>(x=u+p)?(_=b-x)>=(w=c-2*u+f)?(A=1,k=0,y=f+2*p+d):y=(k=1-(A=_/w))*(c*k+u*A+2*h)+A*(u*k+f*A+2*p)+d:(A=0,b<=0?(k=1,y=c+2*h+d):h>=0?(k=0,y=d):y=h*(k=-h/c)+d):(_=f+p-u-h)<=0?(k=0,A=1,y=f+2*p+d):_>=(w=c-2*u+f)?(k=1,A=0,y=c+2*h+d):y=(k=_/w)*(c*k+u*(A=1-k)+2*h)+A*(u*k+f*A+2*p)+d;var S=1-k-A;for(l=0;l0){var c=t[r-1];if(0===n(s,c)&&a(c)!==l){r-=1;continue}}t[r++]=s}}return t.length=r,t}},{\"cell-orientation\":47,\"compare-cell\":56,\"compare-oriented-cell\":57}],277:[function(t,e,r){\n", + "/*!\n", + " * repeat-string \n", + " *\n", + " * Copyright (c) 2014-2015, Jon Schlinkert.\n", + " * Licensed under the MIT License.\n", + " */\n", + "\"use strict\";var n,i=\"\";e.exports=function(t,e){if(\"string\"!=typeof t)throw new TypeError(\"expected a string\");if(1===e)return t;if(2===e)return t+t;var r=t.length*e;if(n!==t||void 0===n)n=t,i=\"\";else if(i.length>=r)return i.substr(0,r);for(;r>i.length&&e>1;)1&e&&(i+=t),e>>=1,t+=t;return i=(i+=t).substr(0,r)}},{}],278:[function(t,e,r){(function(t){(function(){e.exports=t.performance&&t.performance.now?function(){return performance.now()}:Date.now||function(){return+new Date}}).call(this)}).call(this,void 0!==n?n:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{})},{}],279:[function(t,e,r){\"use strict\";e.exports=function(t){for(var e=t.length,r=t[t.length-1],n=e,i=e-2;i>=0;--i){var a=r,o=t[i];(l=o-((r=a+o)-a))&&(t[--n]=r,r=l)}var s=0;for(i=n;i0){if(a<=0)return o;n=i+a}else{if(!(i<0))return o;if(a>=0)return o;n=-(i+a)}var s=33306690738754716e-32*n;return o>=s||o<=-s?o:f(t,e,r)},function(t,e,r,n){var i=t[0]-n[0],a=e[0]-n[0],o=r[0]-n[0],s=t[1]-n[1],l=e[1]-n[1],c=r[1]-n[1],u=t[2]-n[2],f=e[2]-n[2],p=r[2]-n[2],d=a*c,m=o*l,g=o*s,v=i*c,y=i*l,x=a*s,b=u*(d-m)+f*(g-v)+p*(y-x),_=7771561172376103e-31*((Math.abs(d)+Math.abs(m))*Math.abs(u)+(Math.abs(g)+Math.abs(v))*Math.abs(f)+(Math.abs(y)+Math.abs(x))*Math.abs(p));return b>_||-b>_?b:h(t,e,r,n)}];function d(t){var e=p[t.length];return e||(e=p[t.length]=u(t.length)),e.apply(void 0,t)}function m(t,e,r,n,i,a,o){return function(e,r,s,l,c){switch(arguments.length){case 0:case 1:return 0;case 2:return n(e,r);case 3:return i(e,r,s);case 4:return a(e,r,s,l);case 5:return o(e,r,s,l,c)}for(var u=new Array(arguments.length),f=0;f0&&o>0||a<0&&o<0)return!1;var s=n(r,t,e),l=n(i,t,e);if(s>0&&l>0||s<0&&l<0)return!1;if(0===a&&0===o&&0===s&&0===l)return function(t,e,r,n){for(var i=0;i<2;++i){var a=t[i],o=e[i],s=Math.min(a,o),l=Math.max(a,o),c=r[i],u=n[i],f=Math.min(c,u);if(Math.max(c,u)=n?(i=f,(l+=1)=n?(i=f,(l+=1)>1,c=e[2*l+1];if(c===a)return l;a>1,c=e[2*l+1];if(c===a)return l;a>1,c=e[2*l+1];if(c===a)return l;a>1,s=a(t[o],e);s<=0?(0===s&&(i=o),r=o+1):s>0&&(n=o-1)}return i}function u(t,e){for(var r=new Array(t.length),i=0,o=r.length;i=t.length||0!==a(t[g],s)););}return r}function f(t,e){if(e<0)return[];for(var r=[],i=(1<>>u&1&&c.push(i[u]);e.push(c)}return s(e)},r.skeleton=f,r.boundary=function(t){for(var e=[],r=0,n=t.length;r>1:(t>>1)-1}function x(t){for(var e=v(t);;){var r=e,n=2*t+1,i=2*(t+1),a=t;if(n0;){var r=y(t);if(r>=0)if(e0){var t=k[0];return g(0,M-1),M-=1,x(0),t}return-1}function w(t,e){var r=k[t];return c[r]===e?t:(c[r]=-1/0,b(t),_(),c[r]=e,b((M+=1)-1))}function T(t){if(!u[t]){u[t]=!0;var e=s[t],r=l[t];s[r]>=0&&(s[r]=e),l[e]>=0&&(l[e]=r),A[e]>=0&&w(A[e],m(e)),A[r]>=0&&w(A[r],m(r))}}var k=[],A=new Array(a);for(f=0;f>1;f>=0;--f)x(f);for(;;){var S=_();if(S<0||c[S]>r)break;T(S)}var E=[];for(f=0;f=0&&r>=0&&e!==r){var n=A[e],i=A[r];n!==i&&C.push([n,i])}})),i.unique(i.normalize(C)),{positions:E,edges:C}};var n=t(\"robust-orientation\"),i=t(\"simplicial-complex\")},{\"robust-orientation\":284,\"simplicial-complex\":295}],298:[function(t,e,r){\"use strict\";e.exports=function(t,e){var r,a,o,s;if(e[0][0]e[1][0]))return i(e,t);r=e[1],a=e[0]}if(t[0][0]t[1][0]))return-i(t,e);o=t[1],s=t[0]}var l=n(r,a,s),c=n(r,a,o);if(l<0){if(c<=0)return l}else if(l>0){if(c>=0)return l}else if(c)return c;if(l=n(s,o,a),c=n(s,o,r),l<0){if(c<=0)return l}else if(l>0){if(c>=0)return l}else if(c)return c;return a[0]-s[0]};var n=t(\"robust-orientation\");function i(t,e){var r,i,a,o;if(e[0][0]e[1][0])){var s=Math.min(t[0][1],t[1][1]),l=Math.max(t[0][1],t[1][1]),c=Math.min(e[0][1],e[1][1]),u=Math.max(e[0][1],e[1][1]);return lu?s-u:l-u}r=e[1],i=e[0]}t[0][1]0)if(e[0]!==o[1][0])r=t,t=t.right;else{if(l=c(t.right,e))return l;t=t.left}else{if(e[0]!==o[1][0])return t;var l;if(l=c(t.right,e))return l;t=t.left}}return r}function u(t,e,r,n){this.y=t,this.index=e,this.start=r,this.closed=n}function f(t,e,r,n){this.x=t,this.segment=e,this.create=r,this.index=n}s.prototype.castUp=function(t){var e=n.le(this.coordinates,t[0]);if(e<0)return-1;this.slabs[e];var r=c(this.slabs[e],t),i=-1;if(r&&(i=r.value),this.coordinates[e]===t[0]){var s=null;if(r&&(s=r.key),e>0){var u=c(this.slabs[e-1],t);u&&(s?o(u.key,s)>0&&(s=u.key,i=u.value):(i=u.value,s=u.key))}var f=this.horizontal[e];if(f.length>0){var h=n.ge(f,t[1],l);if(h=f.length)return i;p=f[h]}}if(p.start)if(s){var d=a(s[0],s[1],[t[0],p.y]);s[0][0]>s[1][0]&&(d=-d),d>0&&(i=p.index)}else i=p.index;else p.y!==t[1]&&(i=p.index)}}}return i}},{\"./lib/order-segments\":298,\"binary-search-bounds\":31,\"functional-red-black-tree\":69,\"robust-orientation\":284}],300:[function(t,e,r){\"use strict\";var n=t(\"robust-dot-product\"),i=t(\"robust-sum\");function a(t,e){var r=i(n(t,e),[e[e.length-1]]);return r[r.length-1]}function o(t,e,r,n){var i=-e/(n-e);i<0?i=0:i>1&&(i=1);for(var a=1-i,o=t.length,s=new Array(o),l=0;l0||i>0&&u<0){var f=o(s,u,l,i);r.push(f),n.push(f.slice())}u<0?n.push(l.slice()):u>0?r.push(l.slice()):(r.push(l.slice()),n.push(l.slice())),i=u}return{positive:r,negative:n}},e.exports.positive=function(t,e){for(var r=[],n=a(t[t.length-1],e),i=t[t.length-1],s=t[0],l=0;l0||n>0&&c<0)&&r.push(o(i,c,s,n)),c>=0&&r.push(s.slice()),n=c}return r},e.exports.negative=function(t,e){for(var r=[],n=a(t[t.length-1],e),i=t[t.length-1],s=t[0],l=0;l0||n>0&&c<0)&&r.push(o(i,c,s,n)),c<=0&&r.push(s.slice()),n=c}return r}},{\"robust-dot-product\":281,\"robust-sum\":289}],301:[function(t,e,r){!function(){\"use strict\";var t={not_string:/[^s]/,not_bool:/[^t]/,not_type:/[^T]/,not_primitive:/[^v]/,number:/[diefg]/,numeric_arg:/[bcdiefguxX]/,json:/[j]/,not_json:/[^j]/,text:/^[^\\x25]+/,modulo:/^\\x25{2}/,placeholder:/^\\x25(?:([1-9]\\d*)\\$|\\(([^)]+)\\))?(\\+)?(0|'[^$])?(-)?(\\d+)?(?:\\.(\\d+))?([b-gijostTuvxX])/,key:/^([a-z_][a-z_\\d]*)/i,key_access:/^\\.([a-z_][a-z_\\d]*)/i,index_access:/^\\[(\\d+)\\]/,sign:/^[+-]/};function e(t){return i(o(t),arguments)}function n(t,r){return e.apply(null,[t].concat(r||[]))}function i(r,n){var i,a,o,s,l,c,u,f,h,p=1,d=r.length,m=\"\";for(a=0;a=0),s.type){case\"b\":i=parseInt(i,10).toString(2);break;case\"c\":i=String.fromCharCode(parseInt(i,10));break;case\"d\":case\"i\":i=parseInt(i,10);break;case\"j\":i=JSON.stringify(i,null,s.width?parseInt(s.width):0);break;case\"e\":i=s.precision?parseFloat(i).toExponential(s.precision):parseFloat(i).toExponential();break;case\"f\":i=s.precision?parseFloat(i).toFixed(s.precision):parseFloat(i);break;case\"g\":i=s.precision?String(Number(i.toPrecision(s.precision))):parseFloat(i);break;case\"o\":i=(parseInt(i,10)>>>0).toString(8);break;case\"s\":i=String(i),i=s.precision?i.substring(0,s.precision):i;break;case\"t\":i=String(!!i),i=s.precision?i.substring(0,s.precision):i;break;case\"T\":i=Object.prototype.toString.call(i).slice(8,-1).toLowerCase(),i=s.precision?i.substring(0,s.precision):i;break;case\"u\":i=parseInt(i,10)>>>0;break;case\"v\":i=i.valueOf(),i=s.precision?i.substring(0,s.precision):i;break;case\"x\":i=(parseInt(i,10)>>>0).toString(16);break;case\"X\":i=(parseInt(i,10)>>>0).toString(16).toUpperCase()}t.json.test(s.type)?m+=i:(!t.number.test(s.type)||f&&!s.sign?h=\"\":(h=f?\"+\":\"-\",i=i.toString().replace(t.sign,\"\")),c=s.pad_char?\"0\"===s.pad_char?\"0\":s.pad_char.charAt(1):\" \",u=s.width-(h+i).length,l=s.width&&u>0?c.repeat(u):\"\",m+=s.align?h+i+l:\"0\"===c?h+l+i:l+h+i)}return m}var a=Object.create(null);function o(e){if(a[e])return a[e];for(var r,n=e,i=[],o=0;n;){if(null!==(r=t.text.exec(n)))i.push(r[0]);else if(null!==(r=t.modulo.exec(n)))i.push(\"%\");else{if(null===(r=t.placeholder.exec(n)))throw new SyntaxError(\"[sprintf] unexpected placeholder\");if(r[2]){o|=1;var s=[],l=r[2],c=[];if(null===(c=t.key.exec(l)))throw new SyntaxError(\"[sprintf] failed to parse named argument key\");for(s.push(c[1]);\"\"!==(l=l.substring(c[0].length));)if(null!==(c=t.key_access.exec(l)))s.push(c[1]);else{if(null===(c=t.index_access.exec(l)))throw new SyntaxError(\"[sprintf] failed to parse named argument key\");s.push(c[1])}r[2]=s}else o|=2;if(3===o)throw new Error(\"[sprintf] mixing positional and named placeholders is not (yet) supported\");i.push({placeholder:r[0],param_no:r[1],keys:r[2],sign:r[3],pad_char:r[4],align:r[5],width:r[6],precision:r[7],type:r[8]})}n=n.substring(r[0].length)}return a[e]=i}void 0!==r&&(r.sprintf=e,r.vsprintf=n),\"undefined\"!=typeof window&&(window.sprintf=e,window.vsprintf=n)}()},{}],302:[function(t,e,r){\"use strict\";e.exports=function(t,e){if(t.dimension<=0)return{positions:[],cells:[]};if(1===t.dimension)return function(t,e){for(var r=i(t,e),n=r.length,a=new Array(n),o=new Array(n),s=0;sn|0},vertex:function(t,e,r,n,i,a,o,s,l,c,u,f,h){var p=(o<<0)+(s<<1)+(l<<2)+(c<<3)|0;if(0!==p&&15!==p)switch(p){case 0:u.push([t-.5,e-.5]);break;case 1:u.push([t-.25-.25*(n+r-2*h)/(r-n),e-.25-.25*(i+r-2*h)/(r-i)]);break;case 2:u.push([t-.75-.25*(-n-r+2*h)/(n-r),e-.25-.25*(a+n-2*h)/(n-a)]);break;case 3:u.push([t-.5,e-.5-.5*(i+r+a+n-4*h)/(r-i+n-a)]);break;case 4:u.push([t-.25-.25*(a+i-2*h)/(i-a),e-.75-.25*(-i-r+2*h)/(i-r)]);break;case 5:u.push([t-.5-.5*(n+r+a+i-4*h)/(r-n+i-a),e-.5]);break;case 6:u.push([t-.5-.25*(-n-r+a+i)/(n-r+i-a),e-.5-.25*(-i-r+a+n)/(i-r+n-a)]);break;case 7:u.push([t-.75-.25*(a+i-2*h)/(i-a),e-.75-.25*(a+n-2*h)/(n-a)]);break;case 8:u.push([t-.75-.25*(-a-i+2*h)/(a-i),e-.75-.25*(-a-n+2*h)/(a-n)]);break;case 9:u.push([t-.5-.25*(n+r+-a-i)/(r-n+a-i),e-.5-.25*(i+r+-a-n)/(r-i+a-n)]);break;case 10:u.push([t-.5-.5*(-n-r-a-i+4*h)/(n-r+a-i),e-.5]);break;case 11:u.push([t-.25-.25*(-a-i+2*h)/(a-i),e-.75-.25*(i+r-2*h)/(r-i)]);break;case 12:u.push([t-.5,e-.5-.5*(-i-r-a-n+4*h)/(i-r+a-n)]);break;case 13:u.push([t-.75-.25*(n+r-2*h)/(r-n),e-.25-.25*(-a-n+2*h)/(a-n)]);break;case 14:u.push([t-.25-.25*(-n-r+2*h)/(n-r),e-.25-.25*(-i-r+2*h)/(i-r)]);break;case 15:u.push([t-.5,e-.5])}},cell:function(t,e,r,n,i,a,o,s,l){i?s.push([t,e]):s.push([e,t])}});return function(t,e){var r=[],i=[];return n(t,r,i,e),{positions:r,cells:i}}}};var o={}},{\"ndarray-extract-contour\":251,\"zero-crossings\":318}],303:[function(t,e,r){(function(r){(function(){\"use strict\";e.exports=function t(e,r,i){i=i||{};var o=a[e];o||(o=a[e]={\" \":{data:new Float32Array(0),shape:.2}});var s=o[r];if(!s)if(r.length<=1||!/\\d/.test(r))s=o[r]=function(t){for(var e=t.cells,r=t.positions,n=new Float32Array(6*e.length),i=0,a=0,o=0;o0&&(f+=.02);var p=new Float32Array(u),d=0,m=-.5*f;for(h=0;hMath.max(r,n)?i[2]=1:r>Math.max(e,n)?i[0]=1:i[1]=1;for(var a=0,o=0,l=0;l<3;++l)a+=t[l]*t[l],o+=i[l]*t[l];for(l=0;l<3;++l)i[l]-=o/a*t[l];return s(i,i),i}function h(t,e,r,i,a,o,s,l){this.center=n(r),this.up=n(i),this.right=n(a),this.radius=n([o]),this.angle=n([s,l]),this.angle.bounds=[[-1/0,-Math.PI/2],[1/0,Math.PI/2]],this.setDistanceLimits(t,e),this.computedCenter=this.center.curve(0),this.computedUp=this.up.curve(0),this.computedRight=this.right.curve(0),this.computedRadius=this.radius.curve(0),this.computedAngle=this.angle.curve(0),this.computedToward=[0,0,0],this.computedEye=[0,0,0],this.computedMatrix=new Array(16);for(var c=0;c<16;++c)this.computedMatrix[c]=.5;this.recalcMatrix(0)}var p=h.prototype;p.setDistanceLimits=function(t,e){t=t>0?Math.log(t):-1/0,e=e>0?Math.log(e):1/0,e=Math.max(e,t),this.radius.bounds[0][0]=t,this.radius.bounds[1][0]=e},p.getDistanceLimits=function(t){var e=this.radius.bounds[0];return t?(t[0]=Math.exp(e[0][0]),t[1]=Math.exp(e[1][0]),t):[Math.exp(e[0][0]),Math.exp(e[1][0])]},p.recalcMatrix=function(t){this.center.curve(t),this.up.curve(t),this.right.curve(t),this.radius.curve(t),this.angle.curve(t);for(var e=this.computedUp,r=this.computedRight,n=0,i=0,a=0;a<3;++a)i+=e[a]*r[a],n+=e[a]*e[a];var l=Math.sqrt(n),u=0;for(a=0;a<3;++a)r[a]-=e[a]*i/n,u+=r[a]*r[a],e[a]/=l;var f=Math.sqrt(u);for(a=0;a<3;++a)r[a]/=f;var h=this.computedToward;o(h,e,r),s(h,h);var p=Math.exp(this.computedRadius[0]),d=this.computedAngle[0],m=this.computedAngle[1],g=Math.cos(d),v=Math.sin(d),y=Math.cos(m),x=Math.sin(m),b=this.computedCenter,_=g*y,w=v*y,T=x,k=-g*x,A=-v*x,M=y,S=this.computedEye,E=this.computedMatrix;for(a=0;a<3;++a){var L=_*r[a]+w*h[a]+T*e[a];E[4*a+1]=k*r[a]+A*h[a]+M*e[a],E[4*a+2]=L,E[4*a+3]=0}var C=E[1],P=E[5],I=E[9],O=E[2],z=E[6],D=E[10],R=P*D-I*z,F=I*O-C*D,B=C*z-P*O,N=c(R,F,B);R/=N,F/=N,B/=N,E[0]=R,E[4]=F,E[8]=B;for(a=0;a<3;++a)S[a]=b[a]+E[2+4*a]*p;for(a=0;a<3;++a){u=0;for(var j=0;j<3;++j)u+=E[a+4*j]*S[j];E[12+a]=-u}E[15]=1},p.getMatrix=function(t,e){this.recalcMatrix(t);var r=this.computedMatrix;if(e){for(var n=0;n<16;++n)e[n]=r[n];return e}return r};var d=[0,0,0];p.rotate=function(t,e,r,n){if(this.angle.move(t,e,r),n){this.recalcMatrix(t);var i=this.computedMatrix;d[0]=i[2],d[1]=i[6],d[2]=i[10];for(var o=this.computedUp,s=this.computedRight,l=this.computedToward,c=0;c<3;++c)i[4*c]=o[c],i[4*c+1]=s[c],i[4*c+2]=l[c];a(i,i,n,d);for(c=0;c<3;++c)o[c]=i[4*c],s[c]=i[4*c+1];this.up.set(t,o[0],o[1],o[2]),this.right.set(t,s[0],s[1],s[2])}},p.pan=function(t,e,r,n){e=e||0,r=r||0,n=n||0,this.recalcMatrix(t);var i=this.computedMatrix,a=(Math.exp(this.computedRadius[0]),i[1]),o=i[5],s=i[9],l=c(a,o,s);a/=l,o/=l,s/=l;var u=i[0],f=i[4],h=i[8],p=u*a+f*o+h*s,d=c(u-=a*p,f-=o*p,h-=s*p),m=(u/=d)*e+a*r,g=(f/=d)*e+o*r,v=(h/=d)*e+s*r;this.center.move(t,m,g,v);var y=Math.exp(this.computedRadius[0]);y=Math.max(1e-4,y+n),this.radius.set(t,Math.log(y))},p.translate=function(t,e,r,n){this.center.move(t,e||0,r||0,n||0)},p.setMatrix=function(t,e,r,n){var a=1;\"number\"==typeof r&&(a=0|r),(a<0||a>3)&&(a=1);var o=(a+2)%3;e||(this.recalcMatrix(t),e=this.computedMatrix);var s=e[a],l=e[a+4],f=e[a+8];if(n){var h=Math.abs(s),p=Math.abs(l),d=Math.abs(f),m=Math.max(h,p,d);h===m?(s=s<0?-1:1,l=f=0):d===m?(f=f<0?-1:1,s=l=0):(l=l<0?-1:1,s=f=0)}else{var g=c(s,l,f);s/=g,l/=g,f/=g}var v,y,x=e[o],b=e[o+4],_=e[o+8],w=x*s+b*l+_*f,T=c(x-=s*w,b-=l*w,_-=f*w),k=l*(_/=T)-f*(b/=T),A=f*(x/=T)-s*_,M=s*b-l*x,S=c(k,A,M);if(k/=S,A/=S,M/=S,this.center.jump(t,q,G,Y),this.radius.idle(t),this.up.jump(t,s,l,f),this.right.jump(t,x,b,_),2===a){var E=e[1],L=e[5],C=e[9],P=E*x+L*b+C*_,I=E*k+L*A+C*M;v=R<0?-Math.PI/2:Math.PI/2,y=Math.atan2(I,P)}else{var O=e[2],z=e[6],D=e[10],R=O*s+z*l+D*f,F=O*x+z*b+D*_,B=O*k+z*A+D*M;v=Math.asin(u(R)),y=Math.atan2(B,F)}this.angle.jump(t,y,v),this.recalcMatrix(t);var N=e[2],j=e[6],U=e[10],V=this.computedMatrix;i(V,e);var H=V[15],q=V[12]/H,G=V[13]/H,Y=V[14]/H,W=Math.exp(this.computedRadius[0]);this.center.jump(t,q-N*W,G-j*W,Y-U*W)},p.lastT=function(){return Math.max(this.center.lastT(),this.up.lastT(),this.right.lastT(),this.radius.lastT(),this.angle.lastT())},p.idle=function(t){this.center.idle(t),this.up.idle(t),this.right.idle(t),this.radius.idle(t),this.angle.idle(t)},p.flush=function(t){this.center.flush(t),this.up.flush(t),this.right.flush(t),this.radius.flush(t),this.angle.flush(t)},p.setDistance=function(t,e){e>0&&this.radius.set(t,Math.log(e))},p.lookAt=function(t,e,r,n){this.recalcMatrix(t),e=e||this.computedEye,r=r||this.computedCenter;var i=(n=n||this.computedUp)[0],a=n[1],o=n[2],s=c(i,a,o);if(!(s<1e-6)){i/=s,a/=s,o/=s;var l=e[0]-r[0],f=e[1]-r[1],h=e[2]-r[2],p=c(l,f,h);if(!(p<1e-6)){l/=p,f/=p,h/=p;var d=this.computedRight,m=d[0],g=d[1],v=d[2],y=i*m+a*g+o*v,x=c(m-=y*i,g-=y*a,v-=y*o);if(!(x<.01&&(x=c(m=a*h-o*f,g=o*l-i*h,v=i*f-a*l))<1e-6)){m/=x,g/=x,v/=x,this.up.set(t,i,a,o),this.right.set(t,m,g,v),this.center.set(t,r[0],r[1],r[2]),this.radius.set(t,Math.log(p));var b=a*v-o*g,_=o*m-i*v,w=i*g-a*m,T=c(b,_,w),k=i*l+a*f+o*h,A=m*l+g*f+v*h,M=(b/=T)*l+(_/=T)*f+(w/=T)*h,S=Math.asin(u(k)),E=Math.atan2(M,A),L=this.angle._state,C=L[L.length-1],P=L[L.length-2];C%=2*Math.PI;var I=Math.abs(C+2*Math.PI-E),O=Math.abs(C-E),z=Math.abs(C-2*Math.PI-E);I0?r.pop():new ArrayBuffer(t)}function d(t){return new Uint8Array(p(t),0,t)}function m(t){return new Uint16Array(p(2*t),0,t)}function g(t){return new Uint32Array(p(4*t),0,t)}function v(t){return new Int8Array(p(t),0,t)}function y(t){return new Int16Array(p(2*t),0,t)}function x(t){return new Int32Array(p(4*t),0,t)}function b(t){return new Float32Array(p(4*t),0,t)}function _(t){return new Float64Array(p(8*t),0,t)}function w(t){return o?new Uint8ClampedArray(p(t),0,t):d(t)}function T(t){return s?new BigUint64Array(p(8*t),0,t):null}function k(t){return l?new BigInt64Array(p(8*t),0,t):null}function A(t){return new DataView(p(t),0,t)}function M(t){t=n.nextPow2(t);var e=n.log2(t),r=f[e];return r.length>0?r.pop():new a(t)}r.free=function(t){if(a.isBuffer(t))f[n.log2(t.length)].push(t);else{if(\"[object ArrayBuffer]\"!==Object.prototype.toString.call(t)&&(t=t.buffer),!t)return;var e=t.length||t.byteLength,r=0|n.log2(e);u[r].push(t)}},r.freeUint8=r.freeUint16=r.freeUint32=r.freeBigUint64=r.freeInt8=r.freeInt16=r.freeInt32=r.freeBigInt64=r.freeFloat32=r.freeFloat=r.freeFloat64=r.freeDouble=r.freeUint8Clamped=r.freeDataView=function(t){h(t.buffer)},r.freeArrayBuffer=h,r.freeBuffer=function(t){f[n.log2(t.length)].push(t)},r.malloc=function(t,e){if(void 0===e||\"arraybuffer\"===e)return p(t);switch(e){case\"uint8\":return d(t);case\"uint16\":return m(t);case\"uint32\":return g(t);case\"int8\":return v(t);case\"int16\":return y(t);case\"int32\":return x(t);case\"float\":case\"float32\":return b(t);case\"double\":case\"float64\":return _(t);case\"uint8_clamped\":return w(t);case\"bigint64\":return k(t);case\"biguint64\":return T(t);case\"buffer\":return M(t);case\"data\":case\"dataview\":return A(t);default:return null}return null},r.mallocArrayBuffer=p,r.mallocUint8=d,r.mallocUint16=m,r.mallocUint32=g,r.mallocInt8=v,r.mallocInt16=y,r.mallocInt32=x,r.mallocFloat32=r.mallocFloat=b,r.mallocFloat64=r.mallocDouble=_,r.mallocUint8Clamped=w,r.mallocBigUint64=T,r.mallocBigInt64=k,r.mallocDataView=A,r.mallocBuffer=M,r.clearCache=function(){for(var t=0;t<32;++t)c.UINT8[t].length=0,c.UINT16[t].length=0,c.UINT32[t].length=0,c.INT8[t].length=0,c.INT16[t].length=0,c.INT32[t].length=0,c.FLOAT[t].length=0,c.DOUBLE[t].length=0,c.BIGUINT64[t].length=0,c.BIGINT64[t].length=0,c.UINT8C[t].length=0,u[t].length=0,f[t].length=0}}).call(this)}).call(this,void 0!==n?n:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{})},{\"bit-twiddle\":32,buffer:3,dup:65}],309:[function(t,e,r){\"use strict\";function n(t){this.roots=new Array(t),this.ranks=new Array(t);for(var e=0;e0&&(a=n.size),n.lineSpacing&&n.lineSpacing>0&&(o=n.lineSpacing),n.styletags&&n.styletags.breaklines&&(s.breaklines=!!n.styletags.breaklines),n.styletags&&n.styletags.bolds&&(s.bolds=!!n.styletags.bolds),n.styletags&&n.styletags.italics&&(s.italics=!!n.styletags.italics),n.styletags&&n.styletags.subscripts&&(s.subscripts=!!n.styletags.subscripts),n.styletags&&n.styletags.superscripts&&(s.superscripts=!!n.styletags.superscripts));return r.font=[n.fontStyle,n.fontVariant,n.fontWeight,a+\"px\",n.font].filter((function(t){return t})).join(\" \"),r.textAlign=\"start\",r.textBaseline=\"alphabetic\",r.direction=\"ltr\",h(function(t,e,r,n,a,o){r=r.replace(/\\n/g,\"\"),r=!0===o.breaklines?r.replace(/\\/g,\"\\n\"):r.replace(/\\/g,\" \");var s=\"\",l=[];for(p=0;p-1?parseInt(t[1+i]):0,l=a>-1?parseInt(r[1+a]):0;s!==l&&(n=n.replace(S(),\"?px \"),g*=Math.pow(.75,l-s),n=n.replace(\"?px \",S())),m+=.25*x*(l-s)}if(!0===o.superscripts){var c=t.indexOf(\"+\"),u=r.indexOf(\"+\"),f=c>-1?parseInt(t[1+c]):0,h=u>-1?parseInt(r[1+u]):0;f!==h&&(n=n.replace(S(),\"?px \"),g*=Math.pow(.75,h-f),n=n.replace(\"?px \",S())),m-=.25*x*(h-f)}if(!0===o.bolds){var p=t.indexOf(\"b|\")>-1,d=r.indexOf(\"b|\")>-1;!p&&d&&(n=v?n.replace(\"italic \",\"italic bold \"):\"bold \"+n),p&&!d&&(n=n.replace(\"bold \",\"\"))}if(!0===o.italics){var v=t.indexOf(\"i|\")>-1,y=r.indexOf(\"i|\")>-1;!v&&y&&(n=\"italic \"+n),v&&!y&&(n=n.replace(\"italic \",\"\"))}e.font=n}for(h=0;h\",a=\"\",o=i.length,s=a.length,l=\"+\"===e[0]||\"-\"===e[0],c=0,u=-s;c>-1&&-1!==(c=r.indexOf(i,c))&&-1!==(u=r.indexOf(a,c+o))&&!(u<=c);){for(var f=c;f=u)n[f]=null,r=r.substr(0,f)+\" \"+r.substr(f+1);else if(null!==n[f]){var h=n[f].indexOf(e[0]);-1===h?n[f]+=e:l&&(n[f]=n[f].substr(0,h+1)+(1+parseInt(n[f][h+1]))+n[f].substr(h+2))}var p=c+o,d=r.substr(p,u-p).indexOf(i);c=-1!==d?d:u+s}return n}function u(t,e){var r=n(t,128);return e?a(r.cells,r.positions,.25):{edges:r.cells,positions:r.positions}}function f(t,e,r,n){var i=u(t,n),a=function(t,e,r){for(var n=e.textAlign||\"start\",i=e.textBaseline||\"alphabetic\",a=[1<<30,1<<30],o=[0,0],s=t.length,l=0;l=0?e[a]:i}))},has___:{value:y((function(e){var n=v(e);return n?r in n:t.indexOf(e)>=0}))},set___:{value:y((function(n,i){var a,o=v(n);return o?o[r]=i:(a=t.indexOf(n))>=0?e[a]=i:(a=t.length,e[a]=i,t[a]=n),this}))},delete___:{value:y((function(n){var i,a,o=v(n);return o?r in o&&delete o[r]:!((i=t.indexOf(n))<0)&&(a=t.length-1,t[i]=void 0,e[i]=e[a],t[i]=t[a],t.length=a,e.length=a,!0)}))}})};d.prototype=Object.create(Object.prototype,{get:{value:function(t,e){return this.get___(t,e)},writable:!0,configurable:!0},has:{value:function(t){return this.has___(t)},writable:!0,configurable:!0},set:{value:function(t,e){return this.set___(t,e)},writable:!0,configurable:!0},delete:{value:function(t){return this.delete___(t)},writable:!0,configurable:!0}}),\"function\"==typeof r?function(){function n(){this instanceof d||x();var e,n=new r,i=void 0,a=!1;return e=t?function(t,e){return n.set(t,e),n.has(t)||(i||(i=new d),i.set(t,e)),this}:function(t,e){if(a)try{n.set(t,e)}catch(r){i||(i=new d),i.set___(t,e)}else n.set(t,e);return this},Object.create(d.prototype,{get___:{value:y((function(t,e){return i?n.has(t)?n.get(t):i.get___(t,e):n.get(t,e)}))},has___:{value:y((function(t){return n.has(t)||!!i&&i.has___(t)}))},set___:{value:y(e)},delete___:{value:y((function(t){var e=!!n.delete(t);return i&&i.delete___(t)||e}))},permitHostObjects___:{value:y((function(t){if(t!==m)throw new Error(\"bogus call to permitHostObjects___\");a=!0}))}})}t&&\"undefined\"!=typeof Proxy&&(Proxy=void 0),n.prototype=d.prototype,e.exports=n,Object.defineProperty(WeakMap.prototype,\"constructor\",{value:WeakMap,enumerable:!1,configurable:!0,writable:!0})}():(\"undefined\"!=typeof Proxy&&(Proxy=void 0),e.exports=d)}function m(t){t.permitHostObjects___&&t.permitHostObjects___(m)}function g(t){return!(\"weakmap:\"==t.substr(0,\"weakmap:\".length)&&\"___\"===t.substr(t.length-3))}function v(t){if(t!==Object(t))throw new TypeError(\"Not an object: \"+t);var e=t[l];if(e&&e.key===t)return e;if(s(t)){e={key:t};try{return o(t,l,{value:e,writable:!1,enumerable:!1,configurable:!1}),e}catch(t){return}}}function y(t){return t.prototype=null,Object.freeze(t)}function x(){h||\"undefined\"==typeof console||(h=!0,console.warn(\"WeakMap should be invoked as new WeakMap(), not WeakMap(). This will be an error in the future.\"))}}()},{}],314:[function(t,e,r){var n=t(\"./hidden-store.js\");e.exports=function(){var t={};return function(e){if((\"object\"!=typeof e||null===e)&&\"function\"!=typeof e)throw new Error(\"Weakmap-shim: Key must be object\");var r=e.valueOf(t);return r&&r.identity===t?r:n(e,t)}}},{\"./hidden-store.js\":315}],315:[function(t,e,r){e.exports=function(t,e){var r={identity:e},n=t.valueOf;return Object.defineProperty(t,\"valueOf\",{value:function(t){return t!==e?n.apply(this,arguments):r},writable:!0}),r}},{}],316:[function(t,e,r){var n=t(\"./create-store.js\");e.exports=function(){var t=n();return{get:function(e,r){var n=t(e);return n.hasOwnProperty(\"value\")?n.value:r},set:function(e,r){return t(e).value=r,this},has:function(e){return\"value\"in t(e)},delete:function(e){return delete t(e).value}}}},{\"./create-store.js\":314}],317:[function(t,e,r){\"use strict\";var n,i=function(){return function(t,e,r,n,i,a){var o=t[0],s=r[0],l=[0],c=s;n|=0;var u=0,f=s;for(u=0;u=0!=p>=0&&i.push(l[0]+.5+.5*(h+p)/(h-p)),n+=f,++l[0]}}};e.exports=(n={funcName:{funcName:\"zeroCrossings\"}.funcName},function(t){var e={};return function(r,n,i){var a=r.dtype,o=r.order,s=[a,o.join()].join(),l=e[s];return l||(e[s]=l=t([a,o])),l(r.shape.slice(0),r.data,r.stride,0|r.offset,n,i)}}(i.bind(void 0,n)))},{}],318:[function(t,e,r){\"use strict\";e.exports=function(t,e){var r=[];return e=+e||0,n(t.hi(t.shape[0]-1),r,e),r};var n=t(\"./lib/zc-core\")},{\"./lib/zc-core\":317}]},{},[6])(6)}))}).call(this)}).call(this,\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{})},{}]},{},[27])(27)}));\n", + " });\n", + " require(['plotly'], function(Plotly) {\n", + " window._Plotly = Plotly;\n", + " });\n", + " }\n", + " \n", + " " + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.plotly.v1+json": { + "config": { + "plotlyServerURL": "https://plot.ly" + }, + "data": [ + { + "hovertemplate": "variable=0
index=%{x}
value=%{y}", + "legendgroup": "0", + "line": { + "color": "#636efa", + "dash": "solid" + }, + "marker": { + "symbol": "circle" + }, + "mode": "lines", + "name": "0", + "orientation": "v", + "showlegend": true, + "type": "scatter", + "x": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79 + ], + "xaxis": "x", + "y": [ + 356165.375, + 3276475.75, + 472512.5625, + 771304, + 1469738.625, + 1002372.625, + 298333.5, + 179822.828125, + 663062.75, + 751399.125, + 606331.875, + 371334.34375, + 209323.546875, + 309925.25, + 421409.25, + 397993.5625, + 278064.9375, + 192368.6875, + 198555.421875, + 239556, + 435894.125, + 2827608, + 646560.125, + 779647.125, + 1362884.75, + 910526.875, + 377167.375, + 329538.4375, + 605171.6875, + 731123.8125, + 546407.75, + 300554.59375, + 227654, + 324713.0625, + 423314.59375, + 405835.75, + 299213.375, + 213558.21875, + 210458.25, + 254759.25, + 771276.4375, + 3226808.5, + 1577988.125, + 1615436.25, + 2082256.5, + 1729511.125, + 1233635.75, + 1156415.125, + 1363056.125, + 1472627.125, + 1323667.875, + 1112064.25, + 1046052.1875, + 1105315.625, + 1168898.75, + 1141020, + 1053563, + 982765, + 953213.0625, + 931967.5, + 459769.5, + 5033157, + 2155062.75, + 1746094, + 2065178.125, + 1714100.25, + 1228958.375, + 1155272.5, + 1374052, + 1474654, + 1306818.75, + 1078758.625, + 1019954.125, + 1106608.5, + 1189736.25, + 1145679, + 1035898.125, + 972639.1875, + 990046.3125, + 1036384.875 + ], + "yaxis": "y" + } + ], + "layout": { + "autosize": true, + "legend": { + "title": { + "text": "variable" + }, + "tracegroupgap": 0 + }, + "margin": { + "t": 60 + }, + "template": { + "data": { + "bar": [ + { + "error_x": { + "color": "#2a3f5f" + }, + "error_y": { + "color": "#2a3f5f" + }, + "marker": { + "line": { + "color": "#E5ECF6", + "width": 0.5 + }, + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "bar" + } + ], + "barpolar": [ + { + "marker": { + "line": { + "color": "#E5ECF6", + "width": 0.5 + }, + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "barpolar" + } + ], + "carpet": [ + { + "aaxis": { + "endlinecolor": "#2a3f5f", + "gridcolor": "white", + "linecolor": "white", + "minorgridcolor": "white", + "startlinecolor": "#2a3f5f" + }, + "baxis": { + "endlinecolor": "#2a3f5f", + "gridcolor": "white", + "linecolor": "white", + "minorgridcolor": "white", + "startlinecolor": "#2a3f5f" + }, + "type": "carpet" + } + ], + "choropleth": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "choropleth" + } + ], + "contour": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "contour" + } + ], + "contourcarpet": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "contourcarpet" + } + ], + "heatmap": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "heatmap" + } + ], + "heatmapgl": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "heatmapgl" + } + ], + "histogram": [ + { + "marker": { + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "histogram" + } + ], + "histogram2d": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "histogram2d" + } + ], + "histogram2dcontour": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "histogram2dcontour" + } + ], + "mesh3d": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "mesh3d" + } + ], + "parcoords": [ + { + "line": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "parcoords" + } + ], + "pie": [ + { + "automargin": true, + "type": "pie" + } + ], + "scatter": [ + { + "fillpattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + }, + "type": "scatter" + } + ], + "scatter3d": [ + { + "line": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatter3d" + } + ], + "scattercarpet": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattercarpet" + } + ], + "scattergeo": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattergeo" + } + ], + "scattergl": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattergl" + } + ], + "scattermapbox": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattermapbox" + } + ], + "scatterpolar": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterpolar" + } + ], + "scatterpolargl": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterpolargl" + } + ], + "scatterternary": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterternary" + } + ], + "surface": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "surface" + } + ], + "table": [ + { + "cells": { + "fill": { + "color": "#EBF0F8" + }, + "line": { + "color": "white" + } + }, + "header": { + "fill": { + "color": "#C8D4E3" + }, + "line": { + "color": "white" + } + }, + "type": "table" + } + ] + }, + "layout": { + "annotationdefaults": { + "arrowcolor": "#2a3f5f", + "arrowhead": 0, + "arrowwidth": 1 + }, + "autotypenumbers": "strict", + "coloraxis": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "colorscale": { + "diverging": [ + [ + 0, + "#8e0152" + ], + [ + 0.1, + "#c51b7d" + ], + [ + 0.2, + "#de77ae" + ], + [ + 0.3, + "#f1b6da" + ], + [ + 0.4, + "#fde0ef" + ], + [ + 0.5, + "#f7f7f7" + ], + [ + 0.6, + "#e6f5d0" + ], + [ + 0.7, + "#b8e186" + ], + [ + 0.8, + "#7fbc41" + ], + [ + 0.9, + "#4d9221" + ], + [ + 1, + "#276419" + ] + ], + "sequential": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "sequentialminus": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ] + }, + "colorway": [ + "#636efa", + "#EF553B", + "#00cc96", + "#ab63fa", + "#FFA15A", + "#19d3f3", + "#FF6692", + "#B6E880", + "#FF97FF", + "#FECB52" + ], + "font": { + "color": "#2a3f5f" + }, + "geo": { + "bgcolor": "white", + "lakecolor": "white", + "landcolor": "#E5ECF6", + "showlakes": true, + "showland": true, + "subunitcolor": "white" + }, + "hoverlabel": { + "align": "left" + }, + "hovermode": "closest", + "mapbox": { + "style": "light" + }, + "paper_bgcolor": "white", + "plot_bgcolor": "#E5ECF6", + "polar": { + "angularaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "bgcolor": "#E5ECF6", + "radialaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + } + }, + "scene": { + "xaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white" + }, + "yaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white" + }, + "zaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white" + } + }, + "shapedefaults": { + "line": { + "color": "#2a3f5f" + } + }, + "ternary": { + "aaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "baxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "bgcolor": "#E5ECF6", + "caxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + } + }, + "title": { + "x": 0.05 + }, + "xaxis": { + "automargin": true, + "gridcolor": "white", + "linecolor": "white", + "ticks": "", + "title": { + "standoff": 15 + }, + "zerolinecolor": "white", + "zerolinewidth": 2 + }, + "yaxis": { + "automargin": true, + "gridcolor": "white", + "linecolor": "white", + "ticks": "", + "title": { + "standoff": 15 + }, + "zerolinecolor": "white", + "zerolinewidth": 2 + } + } + }, + "xaxis": { + "anchor": "y", + "autorange": true, + "domain": [ + 0, + 1 + ], + "range": [ + 0, + 79 + ], + "title": { + "text": "index" + }, + "type": "linear" + }, + "yaxis": { + "anchor": "x", + "autorange": true, + "domain": [ + 0, + 1 + ], + "range": [ + -89806.84809027775, + 5302786.676215278 + ], + "title": { + "text": "value" + }, + "type": "linear" + } + } + }, + "image/png": "iVBORw0KGgoAAAANSUhEUgAABogAAAFoCAYAAABkPHknAAAAAXNSR0IArs4c6QAAIABJREFUeF7s3Qm8TPX/x/H3OWcIZSklJO0r7aW/VilFeyoqKb8W7WnTgtJCG2mXFiGVFloJlVYtiFJJ+6JdSXauO2f+jzO3W4l7zfI9c893zmsej9/j8Xtw5nM+3+fnNGbmPeccJ5VKpcQDAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAgNgIOAVFsZs1CEUAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAIG0AAERBwICCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAgggEDMBAqKYDZzlIoAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIERBwDCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggEDMBAiIYjZwlosAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIEBBxDCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACMRMgIIrZwFkuAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIEBAxDGAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCMRMgIAoZgNnuQgggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAARHHAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCAQMwECopgNnOUigAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAgREHAMIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAQMwECIhiNnCWiwACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggQEHEMIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIxEyAgitnAWS4CCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAgggQEDEMYAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIxEyAgChmA2e5CCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAABEccAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIBAzAQKimA2c5SKAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACBEQcAwgggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIBAzAQIiGI2cJaLAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCBAQcQwggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAjETICCK2cBZLgIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCBAQMQxgAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAgjETICAKGYDZ7kIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAERxwACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAgggEDMBAqKYDZzlIoAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIERBwDCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggEDMBAiIYjZwlosAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIEBBxDCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACMRMgIIrZwFkuAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIEBAxDGAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCMRMgIAoZgNnuQgggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAARHHAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCAQMwECopgNnOUigAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAgREHAMIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAQMwECIhiNnCWiwACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggQEHEMIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIxEyAgitnAWS4CCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAgggQEDEMYAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIxEyAgChmA2e5CCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAABEccAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIBAzAQKimA2c5SKAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACBEQcAwgggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIBAzAQIiGI2cJaLAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCBAQcQwggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAjETICCK2cBZLgIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCBAQMQxgAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAgjETICAKGYDZ7kIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAERxwACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAgggEDMBAqKYDZzlIoAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIERBwDCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggEDMBAiIYjZwlosAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIEBBxDCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACMRMgIIrZwFkuAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIEBAxDGAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCMRMgIAoZgNnuQgggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAARHHAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCAQMwECopgNnOUigAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAgREBo6Bn+YsMVCFEghEX2D9tWvot3nL5Pup6DdLhwjkKbBGNVdr1aymOfOX5VmJpyNgh8A6tatr8bKklpYk7WiYLhHIQ8B1pAZr19Qvf/A+Pg9GnmqRwFo1E3IdR/MXL7eoa1pFIHeB4LPr7/OWKcln19wReaY1AtUTruqsWS19zPNAIMoCjevXjHJ7se2NgMjA6AmIDCBSwgoBAiIrxkSThgQIiAxBUsYaAQIia0ZFowYECIgMIFLCKgECIqvGRbMGBAiIDCBSwhoBAiJrRhX7RgmIonkIEBAZmAsBkQFESlghQEBkxZho0pAAAZEhSMpYI0BAZM2oaNSAAAGRAURKWCVAQGTVuGjWgAABkQFESlgjQEBkzahi3ygBUTQPAQIiA3MhIDKASAkrBAiIrBgTTRoSICAyBEkZawQIiKwZFY0aECAgMoBICasECIisGhfNGhAgIDKASAlrBAiIrBlV7BslIIrmIUBAZGAuBEQGEClhhQABkRVjoklDAgREhiApY40AAZE1o6JRAwIERAYQKWGVAAGRVeOiWQMCBEQGEClhjQABkTWjin2jBETRPAQIiAzMhYDIACIlrBAgILJiTDRpSICAyBAkZawRICCyZlQ0akCAgMgAIiWsEiAgsmpcNGtAgIDIACIlrBEgILJmVLFvlIAomocAAZGBuRAQGUCkhBUCBERWjIkmDQkQEBmCpIw1AgRE1oyKRg0IEBAZQKSEVQIERFaNi2YNCBAQGUCkhDUCBETWjCr2jRIQRfMQICAyMBcCIgOIlLBCgIDIijHRpCEBAiJDkJSxRoCAyJpR0agBAQIiA4iUsEqAgMiqcdGsAQECIgOIlLBGgIDImlHFvlECon8OgWkffa7O512vKWMHqVbNGqs8Nu5/ZLTGvjJJTw2+LtRjJ7YB0ZuTPtKZl92yAm61agl98NID6T87vEtP/fb7XE14csDfQypNJtX2+O5asGiJJo255+/nEhCFeoxSPEICBEQRGgathC5AQBQ6MTuImAABUcQGQjuhChAQhcpL8QgKEBBFcCi0FKoAAVGovBSPmAABUcQGQjsVChRzQNRv4GN64ZV39erI2zI6AgiIMmIKd6MgILru1mEa+cC1f+/IkVR7rVp/B0RLli5Tp/YHqEuHtuk/GzPhXd1+/0jNW7CIgCjc8VA9ogIERBEdDG2FIkBAFAorRSMsQEAU4eHQmnEBAiLjpBSMuAABUcQHRHvGBQiIjJNSMMICBEQRHg6trSBQzAHRJ59/q59+naMD9t4lo6kTEGXEFO5GQUDU9/bhGvfozavcUXAGUcfDW+nBEWM1bkQ/VUt46nDG1TrioL10x+BRBEThjofqERUgIIroYGgrFAEColBYKRphAQKiCA+H1owLEBAZJ6VgxAUIiCI+INozLmAyIJo7z5GTkurVSxnvk4IImBAgIDKhSI1CCFR1QHRZn3s1e85cDbn18r+Xm0z6an3shep64qHq1L6Nrrj+fk1+f6bm/Dlftdesqd133laXn3uC1l2nbvo5gx56ThMmTlOXjm01cOgzmvXjr7q/X3d99OnXK1wO7uFRL+mRp17W7N/nKrhq2dabN9XFZ3TQdttsmq5THhDd2bebBj30rD7/6nttvGEjXdP9f9ph283S2/z3EnO+n0r/2ZOjX9OcufO1cZP1dXaXI9Vmn13zGl+sLzF3To9btXbd2qqzVi212GkbdTv9mPT/Dx5BQNSrW2cNHjFGbfdroSaN1tPAYc/ogtOPVdfu/VcIiGb/uSyvIfBkBGwRWLdOdf2xsES+b0vH9IlAFgLB573gVNK/HtUTjmrVSOjPhcuzKMKmCNgrUHfNalpaktSy5bzI2ztFOs9UIAiI1qmzhn6fx/v4TM3Yzm6BWjU8uY6jhUtK7V4I3cdP4D/v0TMFCD67zl1YomSeb2vGvii9+ZarXXZM6eijCIgy9We7wgpU8xytVSuhuQv47FpYefaWrUCDemtk+xSj27877ROdetHNeumx/mrccN107Tfena7zr7xTr4+6XXXrrKlbBj2h5ltvrI2aNEyHMDfd9ag2adpIt193Xnr7ICAKMoItNmmiE49uk741zfbbbKrRL7+zQkD0+LOvyHFdbbPFRkomkxry2Nh0KPTaqNvlee7fAVFQ5/gjW2vdderpoZHj9d0Pv6b7C0Kl/wZEN989Qu9MnaEe55+YziqmTP9UV/Ubokfu6qVmW22cs1VsA6K58xbo19/mqm6dtfTL7Dnp4a9Xv65uvebcNGZ5QOSnfPW9bbiaNG6gE47aX3Vqr7lSQFSa7zuOnMfHExEorEDwApZMBm+KeWNcWHn2VgiB0qSU8P7Zk+M46S9SkiSiheBnHxEQ8FxHfkpKpXiNj8A4aKEAAgnPFe/jCwDNLiIhELynCR4+r/GRmAdNZC7w3/fomT7T1GfXIY/4mjQ1pU02dnTZ+W6mu2c7BAoqwGfXgnKzszwEgvffVfkIPusedHx3tT94H5150uHpVi6+ZqCC/4b6X3XWKlsbOfr19NXE3nj6jvTfBwFREAY9M6SPEt4/XyL9N8z5b7HgTKN2nS7T8w/doE2bNvo7IJr8wiCtWatGevPf5vyZPpvpjj7na789dlohIJq/cLH2PuI8PX5v7/TZSOWP86+8Qxs3aaiLzuiQM21sA6L/ir3/8Rc6udsNmv7y4PRBUR4Qtdhp6/Sl5UpKStODn/7JVysFRD/NWZLzAHgiAjYJcIk5m6ZFr/kKcIm5fAV5vm0CXGLOtonRbz4CXGIuHz2ea6MAl5izcWr0nI+AqUvMDXnI0zffOqpeTep1BWfg5TMTnhueAJeYC8+WymYFqvoSc8FqBg57Vs+/+JbGPnKzFixcrH3ad9PA6y9Qy12bpRf78Wff6PFnX1VwT6F5CxZp3vxFSqV8vTfuvvTfl19i7sn7rl4B578B0ezf/9TwkS+mg6DgTKQFixbrz3kL0wFP8602+TsgmjJ2UPospPLHfsdcoFOPPyR9dtK/a0798HOddP71qxzIIfv/n26+8sych0VA9BfdW1M+VnAdwonP3pn+k38HRNM++kK+72vXHbYiIMr5UOOJxSBAQFQMU2QNmQoQEGUqxXbFIkBAVCyTZB2ZCBAQZaLENsUkQEBUTNNkLZkImAqI7rjb0+9zys7A635hqWrXzmTvbINAYQUIiArrzd5yF4hCQPTz7D/UpuPFGn5nD3357Y+6d/jz6Uu6BSeMfDTza514bl8d2qal2u63uxqsW0/vTf9Mt973RFYB0eIlS3XwiZdrw8brpYOeDRs3UHCvo+POuna1AdE+R52v0zsdqs7HHLhCQDTlg0/V5YIb9cqTt2r99dbOfQireGZsA6LBI15Qk0braodmm6fTu143DdYu22+pK87rtFJA9G83ziAyevxRzDIBAiLLBka7eQkQEOXFx5MtFCAgsnBotJyzAAFRznQ80VIBAiJLB0fbOQuYCoj63pjQspKyNk7unNRmm3Ap3pyHwhNDEyAgCo2WwoYFohAQBUs67ZJ+atJwPX313Y9quWtznX3yEemVBmcXjZ3wbvoycOWP8a9NUc8b788qIApCpeBKZcFl6eqvXSddKrjdzV5/XSKuojOIgvsPHXziZXp04JXaYdvNVgiIgucH4dGVF56sDoe1WmEyQfgUXFo110dsA6Knx76poU+M0w8//abaa9XSgfvupgu7HquaNaqnLf99BtG/cQmIcj3UeF4xCBAQFcMUWUOmAgREmUqxXbEIEBAVyyRZRyYCBESZKLFNMQkQEBXTNFlLJgImAqKS5VKfGxJ/7+6Qdr52383PZPdsg0BBBQiICsrNzvIQiEpA9MKESbqq32AtK1muF0f0V6P166dXNe7Vybq8773q0a2zmm7QQJ9+MUsPjRyv+QsWZRUQ/frbXLU57mJ1at8mfS+hH36erSeee1UfffrNSmcQBXlEcNLK3HkLdefgUVqvfj3d1++SdD//vWxd39uH65lxE3X+qUenn7Nw0VJNmDhV665TN33WUa6P2AZEuYKt6nncg8ikJrWiLEBAFOXp0JtpAQIi06LUi7oAAVHUJ0R/JgUIiExqUssGAQIiG6ZEjyYFTAREwaXlgkvMlT9a7Obr0HYERCbnRC0zAgREZhypEr5AVAKikpLlanX0BWq21Sa6v39ZGBM8UqmU+g96XE+/8KaWlya1x67N1HzrTXTv8OeyCoiCWqNfeke3PTAyff+hrTdvqk7tD0jf3ua/9yDae/ftNH3GVypZXqp9W+6oqy48SfXqrpXu578BUXCmUHDCy1MvvJE+6SXYbrutN1XXEw/V9ttulvMACYhypvvniQREBhApYYUAAZEVY6JJQwIERIYgKWONAAGRNaOiUQMCBEQGEClhlQABkVXjolkDAiYCom9nOXpw6D8B0aab+OrSmYDIwHgoYViAgMgwKOVCE4hKQBTaAi0tTEBkYHAERAYQKWGFAAGRFWOiSUMCBESGICljjQABkTWjolEDAgREBhApYZUAAZFV46JZAwImAqKPZjh6cpSnxo1T+uknR2utldKlFyUNdEcJBMwKEBCZ9aRaeAIEROHZ5lOZgCgfvb+eS0BkAJESVggQEFkxJpo0JEBAZAiSMtYIEBBZMyoaNSBAQGQAkRJWCRAQWTUumjUgYCIgeuddV2NfdNXy/3wF/z949Lq8VNXLbl3NA4HICBAQRWYUNLIaAQKiaB4iBEQG5kJAZACRElYIEBBZMSaaNCRAQGQIkjLWCBAQWTMqGjUgQEBkAJESVgkQEFk1Lpo1IGAiIBr/kqO33vHU7iBf70119Nvvjk4/JakNm6QMdEgJBMwJEBCZs6RSuAIEROH65lqdgChXuX89j4DIACIlrBAgILJiTDRpSICAyBAkZawRICCyZlQ0akCAgMgAIiWsEiAgsmpcNGtAwERANPIpVx9+7KrDMUl9PMPRJzNdHXl4UjvvSEBkYESUMChAQGQQk1KhChAQhcqbc3ECopzp/nkiAZEBREpYIUBAZMWYaNKQAAGRIUjKWCNAQGTNqGjUgAABkQFESlglQEBk1bho1oCAiYDowWGevv3O0SknJ/XV145ef9PVni19HdTGN9AhJRAwJ0BAZM6SSuEKEBCF65trdQKiXOX+9TwCIgOIlLBCgIDIijHRpCEBAiJDkJSxRoCAyJpR0agBAQIiA4iUsEqAgMiqcdGsAQETAdFtd3v6Y46jbucm9eNP0sinPG25ha8TjycgMjAiShgUICAyiEmpUAUIiELlzbk4AVHOdP88kYDIACIlrBAgILJiTDRpSICAyBAkZawRICCyZlQ0akCAgMgAIiWsEiAgsmpcNGtAwERAdN0NCS1fLvXuVarZv0r33J/Q2mundOF5SQMdUgIBcwIEROYsqRSuAAFRuL65VicgylXuX88jIDKASAkrBAiIrBgTTRoSICAyBEkZawQIiKwZFY0aECAgMoBICasECIisGhfNGhDINyBauky6/qaEaqwh9bisVMmkdE3fRLqz3j1L5XkGmqQEAoYECIgMQVImdAECotCJc9oBAVFObCs+iYDIACIlrBAgILJiTDRpSICAyBAkZawRICCyZlQ0akCAgMgAIiWsEiAgsmpcNGtAIN+A6LffHd050NN666Z03tllZwwNuMPTn386OqtrqRo1NNAkJRAwJEBAZAiSMqELEBCFTpzTDgiIcmIjIDLARgkLBQiILBwaLecsQECUMx1PtFSAgMjSwdF2TgIERDmx8SSLBQiILB4ereckkG9A9NU3joYN97TpJil16VwWEA1/1NMXXzo6tn1S2zVP5dQXT0IgDAECojBUqRmGAAFRxaoff/aNru4/VF9+84MaN1xXV5zXSXvvvn0YY1ipJgGRAWbOIDKASAkrBAiIrBgTTRoSICAyBEkZawQIiKwZFY0aECAgMoBICasECIisGhfNGhDINyCa/pGjUU972nH7lNofWRYQjXvR1dvvumq1j6/WrXwDXVICATMCBERmHKkSvgAB0aqNly8v1UEndNfxR+6vjke01utvf6Brb31I40f00zr1aoc+GAIiA8QERAYQKWGFAAGRFWOiSUMCBESGICljjQABkTWjolEDAgREBhApYZUAAZFV46JZAwL5BkQT33b14suu9trD14EHlIVBU6c5ena0p2bb+up4DAGRgTFRwpAAAZEhSMqELkBAtGriye9/qm5X3qG3nrtbbvBBRVKHM67WcUe0VvuD9wl9LgREBogJiAwgUsIKAQIiK8ZEk4YECIgMQVLGGgECImtGRaMGBAiIDCBSwioBAiKrxkWzBgTyDYjGjnf1ziRX7Q7y1XL3sjBo1veOHhjiqUED6dwzSw10SQkEzAgQEJlxpEr4AlEJiJYuk76bVfhLhdaoIW20YVkA9O/HE8+9qlFj3tDj9/b++48vvW6Q1l9vHV18ZofQB0NAZICYgMgAIiWsECAgsmJMNGlIgIDIECRlrBEgILJmVDRqQICAyAAiJawSICCyalw0a0Ag34Do8VGeZsxw1OHopJo3K/sSsaRE6nNjQo4j9e5ZKtc10CglEDAgQEBkAJESBRGISkD07ayU+txS+KA/CIeu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lzq6/mYvfQWA4EoAq3o8MMRTcPZop+OS2mpL3s/bclwUc58ERMU8Xda2KoFMAqIhD3n65ltHXTontekm5l+r77onodm/SaefktSGTczXZ/IIlAsQEHEs2CJAQBTNSRU8IKqI4cHHXtDk92dq0E0XR1PKcED01tuuxr/squXuvtodtOKXhUFwFARInY7ztdWWfJFo3QFRxA0TEBXxcFlaaAFR+bXNgx3ssF1KRx/FJSY43KIpQEAUzbnQVTgC+QREX33taNjDnppskFLXU1f9mv76G64mvOZq9918HcLNycMZIlWzEiAgyoqLjYtAIJOA6I67Pf0+x9F5Zye13rrmA5zHn3Q1Y6arIw9PaucdzdcvgjGxBEMCBESGICkTugABUejEOe0gMgHRG+9O1wVX3aVpL96f00Kq8km5nEFUfvPaww7xtdsuK4ZA419y9dY7rtrs72vvPQmIqnK27HtFAQIijog4CZg6g+ipZz19MN1J0wVnhQZnh/JAIIoCBERRnAo9hSWQT0A08W1XL77spt/DB+/lV/Uov68or/thTZC62QoQEGUrxva2C2QSEPW9MaFlJVKPS0tVo4b5FQc/FAh+MLBnS18HteG7HfPCVCwXICDiWLBFgIAompOq8oAolUppztz5uv6ORzTzi2819pGboylVSVe5BETll53430lJbbLxir8kmfaBo2ee87TD9ikdfSRfJFp3QBRxwwRERTxclraSgKmA6O5BCf06+5/yXIOcgy2qAgREUZ0MfYUhkE9ANPIpTx9+7OiwQ5LabZdV/yI8lZKu7+dp2VJHl1yQVJ06/HI8jDlSM3MBAqLMrdiyOARWFxCVLJf63JCQ60pX9wrn/s8ffuRo5NOettzC14nHExAVx5EVzVUQEEVzLnS1sgABUTSPioIHRM1adVmlRK2aNXRTz65qvdfO0ZQyHBDd0M/TkiWOLrskqTVrrfiB8ccfHd072FPjRimdeToBkXUHRBE3TEBUxMNlaaEERKWl0rXXl92cdr31UvrtN0cnn+hrs035gMghFz0BAqLozYSOwhPIJyC6c5Cn32Y7OuPUpDbYoOLgp/zm54e289ViN173w5smlTMRICDKRIltiklgdQHRH3Md3Xanp3XWSemCkM7w/3W2o7sHeVpn7ZQuOI/vdorp+IraWgiIojYR+qlIgIAomsdGwQOi197+YCWJ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oMgEks/w5Eder/7172nlu+24bVzYvUNsvOG66X8nVwv1H3lN/G7OS7Fqi+bRod2P48xObYusS+US+JfA5wsWRXI+n4SjTZo0jqMP3Sd+3uXYaNK4UbrIeY2jJW8CDz42J4aMvT7unT4q/SHAv798d83btPVDoGEEBEQN4+xdCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQKZERAQZWYUCiFAgAABAgQIECBAgAABAgQIECBAgAABAgQINIyAgKhhnL0LAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQCAzAgKizIxCIQQIECBAgAABAgQIECBAgAABAgQIECBAgACBhhEQEDWMs3chQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECGRGQECUmVEohAABAgQIECBAgAABAgQIECBAgAABAgQIECDQMAICooZx9i4ECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgcwICIgyMwqFECBAgAABAgQIECBAgAABAgQIECBAgAABAgQaRkBA1DDO3oUAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgkBkBAVFmRqEQAgQIECBAgAABAgQIECBAgAABAgQIECBAgEDDCAiIGsbZuxAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEMiMgIMrMKBRCgAABAgQIECBAgAABAgQIECBAgAABAgQIEGgYAQFRwzh7FwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBAZgQERJkZhUIIECBAgAABAgQIECBAgAABAgQIECBAgAABAg0jICBqGGfvQoAAAQIECBAgQIAAAQIECBAgQIAAAQIECBDIjICAKDOjUAgBAgQIECBAgAABAgQIECBAgAABAgQIECBAoGEEBEQN4+xdCBAgQIAAAQIECBBoAIH5n3wW+7Q9J2765YD4/rZbNMA7egsCBAgQIECAAAECBAgUp4CAqDjnpmoCBAgQIECAAAECuRM47vSBseVmG8WIfmfUuDcBUY3pbEiAAAECBAgQIECAQIkJCIhKbODaJUCAAAECBAgQIJBVgceeeiFWW7VF7Pz9rWtcooCoxnQ2JECAAAECBAgQIECgxAQERCU2cO0SIECAAAECBAgQyKrA6X1GxxabbRR9z+mQlrjDgZ3jwu4nx7PPvxKPPvlcrNFqtTjzlLbR/oj9q1v49J8LYvjl0+L+3zwTTZs2iV133DYe+u2cZW4x9+fX58WoCTNizh/+HKu2bB57775DnH/2T2PNNVaL626eHWMn3xLTJ14U22+9ebrf5P1O7TUyJo/uHXvuvH1WudRFgAABAgQIECBAgACBWgkIiGrFZ2MCBAgQIECAAAECBOpKYHkBUfNmTaPzCT+JHbbfMh56fG7ceucjcdcNI2KzTdZP37Zzz0vio48/i/JT28Waa7SKp+e+HOOuua06IHrnvY/i2C794pTjD43Df7xXLFj4RYycMD1aNm8W44aWR1VVVZzVd2y89fZ7ccvkQbGkoiKO6dwvTmh7QJx+8pF11Zr9ECBAgAABAgQIECBAIHMCAqLMjURBBAgQIECAAAECBEpTYHkB0aUDzo6D998tBVmypCJ2P6xbDL2gaxzeZq/43ZyXouu5o+Luqf8KjL5+i7nRk26KN+e9G+Mu7l6N+sprb8Wxp/aP3987OZIAKtnmmC79o/UPfxDJFUkLFi6MiZf0irKystIchK4JECBAgAABAgQIECgJAQFRSYxZkwQIECBAgAABAgSyL7C8gGjcxeXR+kc/qC5+/2PL46xT2sYJbQ+MK6fdGTfNejgeuOnS6n//ekDUpeeIeGruy8ttPgmWNt90g/Tfnp77p+jSa0RssO5aMfOqwent57wIECBAgAABAgQIECCQZwEBUZ6nqzcCBAgQIECAAAECRSRQSEB0QPse0a3jUWlAdPX0u9Nbzt0zbeR/DIh+1uOS9HZ0g/t0+a8SyfOJOvcYEauu2jxuu3pIbLje2kUkp1QCBAgQIECAAAECBAisvICAaOXNbEGAAAECBAgQIECAQD0IrGxAdN+jz0afwRPjkdvGxlprtEor+nD+p7HfMd2rn0E0fNy0eOSJ52LWlGHRrGmT6qorK5dGo0arpP+dXHWU3HKuy4mHxUOPz4mKisq4bmzf6n+vh1btkgABAgQIECBAgAABAv9zAQHR/3wECiBAgAABAgQIECBAIBFY2YDoi8VL4uATe8dWm28cJ7c7KN7/8OOYOvP+eP1v71QHRG+9/V6063pR7LD9ltH1p4fHWmu2ipf/8ma6LrmVXFVVVZx5wZioqoqYNKJX/OP9+XFMl35x0jFtovup7QyGAAECBAgQIECAAAECuRUQEOV2tBojQIAAAQIECBAgUFwCKxsQJd09/9JrMXD0tfHmvHdj6y02TYOiC4ZNrg6IkjV/eWNeXHblzHj2hVdi8eIlsdkmG6TPNepxWvv0OUZTbr437rj24lh37TVSsDsfeDIuGDo5rhrdJ/ba9bvFhahaAgQIECBAgAABAgQIFCggICoQyjICBAgQIECAAAECBAgQIECAAAECBAgQIECAQF4EBER5maQ+CBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIFCgiICoSyjAABAgQIECBAgAABAgQIECBAgAABAgQIECCQFwEBUV4mqQ8CBAgQIECAAAECBAgQIECAAAECBAgQIECAQIECAqICoSwjQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECORFQECUl0nqgwABAgQIECBAgAABAgQIECBAgAABAgQIECBQoICAqEAoywgQIECAAAECBAgQIECAAAECBAgQIECAAAECeREQEOVlkvogQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBQoICAqEMoyAgQIECBAgAABAgQIECBAgAABAgQIECBAgEBeBAREeZmkPggQIECAAAECBAgQIECAAAECBAgQIECAAAECBQoIiAqEsowAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgkBcBAVFeJqkPAgQIECBAgAABAgQIECBAgAABAgQIECBAgECBAgKiAqEsI0CAAAECBAgQIECAAAECBAgQIECAAAECBAjkRUBAlJdJ6oMAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgUKCAgKhAKMsIECBAgAABAgQIECBAgAABAgQIECBAgAABAnkREBDlZZL6IECAAAECBAgQIECAAAECBAgQIECAAAECBAgUKCAgKhDKMgIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBAXgQERHmZpD4IECBAgAABAgQIECBAgAABAgQIECBAgAABAgUKCIgKhLKMAAECBAgQIECAAAECBAgQIECAAAECBAgQIJAXAQFRXiapDwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBAgQICogKhLCNAgAABAgQIECBAgAABAgQIECBAgAABAgQI5EVAQJSXSeqDAAECBAgQIECAAAECBAgQIECAAAECBAgQIFCggICoQCjLCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQJ5ERAQ5WWS+iBAgAABAgQIECBAgAABAgQIECBAgAABAgQIFCggICoQyjICBAgQIECAAAECBAgQIECAAAECBAgQIECAQF4EBER5maQ+CBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIFCgiICoSyjAABAgQIECBAgAABAgQIECBAgAABAgQIECCQFwEBUV4mqQ8CBAgQIECAAAECBAgQIECAAAECBAgQIECAQIECAqICoSwjQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECORFQECUl0nqgwABAgQIECBAgAABAgQIECBAgAABAgQIECBQoICAqEAoywgQIECAAAECBAgQIECAAAECBAgQIECAAAECeREQEOVlkvogQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBQoICAqEMoyAgQIECBAgAABAgQIECBAgAABAgQIECBAgEBeBAREeZmkPggQIECAAAECBAgQIECAAAECBAgQIECAAAECBQoIiAqEsowAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgkBcBAVFeJqkPAgQIECBAgAABAgQIECBAgAABAgQIECBAgECBAgKiAqEsI0CAAAECBAgQIECAAAECBAgQIECAAAECBAjkRUBAlJdJ6oMAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgUKCAgKhAKMsIECBAgAABAgQIECBAgAABAgQIECBAgAABAnkREBDlZZL6IECAAAECBAgQIECAAAECBAgQIECAAAECBAgUKPD/5VsJ8RG6TnoAAAAASUVORK5CYII=", + "text/html": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "px.line(experiment_log[\"optim_step_loss\"])" + ] + }, + { + "cell_type": "markdown", + "id": "bbfc6c60-9165-4d42-8319-30ad63d04c87", + "metadata": {}, + "source": [ + "#### Compute Time" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "7095fe6a-f49a-4872-937c-2c88b6de7c56", + "metadata": {}, + "outputs": [ + { + "data": { + "application/vnd.plotly.v1+json": { + "config": { + "plotlyServerURL": "https://plot.ly" + }, + "data": [ + { + "hovertemplate": "variable=0
index=%{x}
value=%{y}", + "legendgroup": "0", + "line": { + "color": "#636efa", + "dash": "solid" + }, + "marker": { + "symbol": "circle" + }, + "mode": "lines", + "name": "0", + "orientation": "v", + "showlegend": true, + "type": "scatter", + "x": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79 + ], + "xaxis": "x", + "y": [ + 14.306980848312378, + 1.7229454517364502, + 0.8751192092895508, + 0.908710241317749, + 0.9375195503234863, + 0.8952019214630127, + 0.8013200759887695, + 0.7566206455230713, + 1.2874276638031006, + 0.8323378562927246, + 0.9417579174041748, + 0.9577157497406006, + 0.8509109020233154, + 0.7887217998504639, + 0.7157809734344482, + 0.7666513919830322, + 0.8173155784606934, + 0.8410108089447021, + 0.8154892921447754, + 0.7553300857543945, + 14.372217893600464, + 1.0752148628234863, + 1.6142261028289795, + 0.8035976886749268, + 0.9273309707641602, + 0.8441898822784424, + 0.8438124656677246, + 0.7926371097564697, + 0.7949042320251465, + 0.8076822757720947, + 0.7766985893249512, + 0.739966869354248, + 0.7059621810913086, + 0.7164638042449951, + 0.7442140579223633, + 0.7315945625305176, + 0.7470834255218506, + 0.7132830619812012, + 0.6908671855926514, + 0.6932640075683594, + 14.34319281578064, + 1.3582699298858643, + 1.178931713104248, + 1.1756277084350586, + 1.1094050407409668, + 1.0364387035369873, + 1.0507855415344238, + 1.0963857173919678, + 1.112532615661621, + 1.0965301990509033, + 1.081279993057251, + 1.1242544651031494, + 1.0941400527954102, + 1.1071491241455078, + 1.1089603900909424, + 1.091747760772705, + 1.073655605316162, + 1.0131034851074219, + 0.965550422668457, + 0.9283106327056885, + 14.210015058517456, + 1.6526694297790527, + 1.3052425384521484, + 1.1219844818115234, + 0.9870486259460449, + 0.9543344974517822, + 1.004276990890503, + 1.0634963512420654, + 1.106065034866333, + 1.1001698970794678, + 1.086082935333252, + 1.0415122509002686, + 1.006507158279419, + 0.992821455001831, + 0.9843471050262451, + 0.9528298377990723, + 0.9857883453369141, + 1.0233571529388428, + 1.013206958770752, + 1.0150070190429688 + ], + "yaxis": "y" + } + ], + "layout": { + "autosize": true, + "legend": { + "title": { + "text": "variable" + }, + "tracegroupgap": 0 + }, + "margin": { + "t": 60 + }, + "template": { + "data": { + "bar": [ + { + "error_x": { + "color": "#2a3f5f" + }, + "error_y": { + "color": "#2a3f5f" + }, + "marker": { + "line": { + "color": "#E5ECF6", + "width": 0.5 + }, + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "bar" + } + ], + "barpolar": [ + { + "marker": { + "line": { + "color": "#E5ECF6", + "width": 0.5 + }, + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "barpolar" + } + ], + "carpet": [ + { + "aaxis": { + "endlinecolor": "#2a3f5f", + "gridcolor": "white", + "linecolor": "white", + "minorgridcolor": "white", + "startlinecolor": "#2a3f5f" + }, + "baxis": { + "endlinecolor": "#2a3f5f", + "gridcolor": "white", + "linecolor": "white", + "minorgridcolor": "white", + "startlinecolor": "#2a3f5f" + }, + "type": "carpet" + } + ], + "choropleth": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "choropleth" + } + ], + "contour": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "contour" + } + ], + "contourcarpet": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "contourcarpet" + } + ], + "heatmap": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "heatmap" + } + ], + "heatmapgl": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "heatmapgl" + } + ], + "histogram": [ + { + "marker": { + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "histogram" + } + ], + "histogram2d": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "histogram2d" + } + ], + "histogram2dcontour": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "histogram2dcontour" + } + ], + "mesh3d": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "mesh3d" + } + ], + "parcoords": [ + { + "line": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "parcoords" + } + ], + "pie": [ + { + "automargin": true, + "type": "pie" + } + ], + "scatter": [ + { + "fillpattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + }, + "type": "scatter" + } + ], + "scatter3d": [ + { + "line": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatter3d" + } + ], + "scattercarpet": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattercarpet" + } + ], + "scattergeo": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattergeo" + } + ], + "scattergl": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattergl" + } + ], + "scattermapbox": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattermapbox" + } + ], + "scatterpolar": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterpolar" + } + ], + "scatterpolargl": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterpolargl" + } + ], + "scatterternary": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterternary" + } + ], + "surface": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "surface" + } + ], + "table": [ + { + "cells": { + "fill": { + "color": "#EBF0F8" + }, + "line": { + "color": "white" + } + }, + "header": { + "fill": { + "color": "#C8D4E3" + }, + "line": { + "color": "white" + } + }, + "type": "table" + } + ] + }, + "layout": { + "annotationdefaults": { + "arrowcolor": "#2a3f5f", + "arrowhead": 0, + "arrowwidth": 1 + }, + "autotypenumbers": "strict", + "coloraxis": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "colorscale": { + "diverging": [ + [ + 0, + "#8e0152" + ], + [ + 0.1, + "#c51b7d" + ], + [ + 0.2, + "#de77ae" + ], + [ + 0.3, + "#f1b6da" + ], + [ + 0.4, + "#fde0ef" + ], + [ + 0.5, + "#f7f7f7" + ], + [ + 0.6, + "#e6f5d0" + ], + [ + 0.7, + "#b8e186" + ], + [ + 0.8, + "#7fbc41" + ], + [ + 0.9, + "#4d9221" + ], + [ + 1, + "#276419" + ] + ], + "sequential": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "sequentialminus": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ] + }, + "colorway": [ + "#636efa", + "#EF553B", + "#00cc96", + "#ab63fa", + "#FFA15A", + "#19d3f3", + "#FF6692", + "#B6E880", + "#FF97FF", + "#FECB52" + ], + "font": { + "color": "#2a3f5f" + }, + "geo": { + "bgcolor": "white", + "lakecolor": "white", + "landcolor": "#E5ECF6", + "showlakes": true, + "showland": true, + "subunitcolor": "white" + }, + "hoverlabel": { + "align": "left" + }, + "hovermode": "closest", + "mapbox": { + "style": "light" + }, + "paper_bgcolor": "white", + "plot_bgcolor": "#E5ECF6", + "polar": { + "angularaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "bgcolor": "#E5ECF6", + "radialaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + } + }, + "scene": { + "xaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white" + }, + "yaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white" + }, + "zaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white" + } + }, + "shapedefaults": { + "line": { + "color": "#2a3f5f" + } + }, + "ternary": { + "aaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "baxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "bgcolor": "#E5ECF6", + "caxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + } + }, + "title": { + "x": 0.05 + }, + "xaxis": { + "automargin": true, + "gridcolor": "white", + "linecolor": "white", + "ticks": "", + "title": { + "standoff": 15 + }, + "zerolinecolor": "white", + "zerolinewidth": 2 + }, + "yaxis": { + "automargin": true, + "gridcolor": "white", + "linecolor": "white", + "ticks": "", + "title": { + "standoff": 15 + }, + "zerolinecolor": "white", + "zerolinewidth": 2 + } + } + }, + "xaxis": { + "anchor": "y", + "autorange": true, + "domain": [ + 0, + 1 + ], + "range": [ + 0, + 79 + ], + "title": { + "text": "index" + }, + "type": "linear" + }, + "yaxis": { + "anchor": "x", + "autorange": true, + "domain": [ + 0, + 1 + ], + "range": [ + -0.06920785374111593, + 15.13229293293423 + ], + "title": { + "text": "value" + }, + "type": "linear" + } + } + }, + "image/png": "iVBORw0KGgoAAAANSUhEUgAABogAAAFoCAYAAABkPHknAAAAAXNSR0IArs4c6QAAIABJREFUeF7s3Qm4TWX///HPWmsbI2Qo0kBzSdKoQRKV0kRpkGbSKElp8MQvGlSKooFCkhJpUBkaNNFcSvOkOUXGCHuv/bvW1nEOzrCdc6+z7732e/+v57p+/9r7Xt/79V3Pfs5en7Xu20kmk0nxQgABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQyBkBh4AoZ3rNRBFAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQACBlAABEScCAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIJBjAgREOdZwposAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIEBBxDiCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACOSZAQJRjDWe6CCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAABEecAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIJBjAgREOdZwposAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIEBBxDiCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACOSZAQJRjDWe6CCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAABEecAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIJBjAgREOdZwposAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIEBBxDiCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACOSZAQJRjDWe6CCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAABEecAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIJBjAgREOdZwposAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIEBBxDiCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACOSZAQJRjDWe6CCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAABEecAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIJBjAgREOdZwposAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIEBBxDiCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACOSZAQJRjDWe6CCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAABEecAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIJBjAgREOdZwposAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIEBBxDiCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACOSZAQJRjDWe6CCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAABEecAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIJBjAgREOdZwposAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIEBBxDiCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACOSZAQJRjDWe6CCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAABEecAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIJBjAgREOdZwposAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIEBBxDiCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACOSZAQJRjDWe6CCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAABEecAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIJBjAgREOdZwposAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIEBBxDiCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACOSZAQJRjDWe6CCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAABEecAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIJBjAgREOdZwposAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIEBBxDiCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACOSZAQJRjDWe6CCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAABEecAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIJBjAgREOdZwposAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIEBBxDiCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACOSZAQJRjDWe6CCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAABEecAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIJBjAgREOdZwposAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIEBBxDiCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACOSZAQJRjDWe6CCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAABEecAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIJBjAgREOdZwposAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIEBBxDiCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACOSZAQJRjDWe6CCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAABEecAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIJBjAgREOdZwposAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIEBBxDiCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACOSZAQPRfw5cuX6Hzet6mrp3b66hW+607Dd5451N1v+bO9U6LChVi+njGyBw7VZguAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIREWAgEjSkJGT9PTUN7Rw0VLd3veijQKim+4ao4kj/29dzx1J1atVjco5wDwQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAgxwQIiAo0/JRu/XTBGcduFBANHDJWUx8blGOnBtNFAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQACBqAoQEKUREF1y3V2qVaO6Nq9WVfvvvZt6dD059X/nvX5buDKq5wfzQmA9gS1rVdZfS1bJ95PIIBB5gUoVXFWrUkELl66K/FyZIAKBwBbVK2rFqoT+XZ0ABIHIC7iOVK9WFf3xN3/HR77ZTDAlUK1KTK7jaOmKNYggkBMCwW/XBUtWKcFv15zod65PsmLM1eabVUid87wQsFmgQe0qNpeXs7UREJUQEC1askzz/1qkGptX0x9/LtSd909Q3do1dFf/S9d98p9/4zl7AjHx3BKoUslLXThMkg/lVuNzZLbBee0Ea4j+9/JcRxViLhfLc6T/TFMKQtF4IsmFFE6GnBAIvu6rVIppxSr+js+JhjPJ1N80wXm/Ou6jgUBWCWz4N3q6xfPbNV0p3hcFAdd1FIRE3OgVhW5Gew6bVY5Fe4JZOjsCohICog37+tHc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K0BqPIQEoktgS4JIeuGe2b2/Pc2iLGr+8DPjMfWLr/HyE/2jWxGWjAS2QsAdPdGv9wU4oIUzdahs0rM2YRjgOZ/Np9AI3HbfCHsaluZNdsPiP5fhhjsew5GHtMDVl3Sy12s5+oxeOPe0tuh0fGt8OHUW/jfwSUx8biC2qVW90FCwPkVIYHNBxOuaImwEBV7ldz/6Ar8tWmrPdlGubBnc/8QYzJ2/EC8+2s8eYdHj5gft1z5XnYvFS5bh4t53o+81XXDkoS0KnAyrV6gEevcfBpky955busOyLFzdd6h9nXPlhafwuqZQg856QUZIy9pb53c6dhMavHdl4yABEghCgIIoADUZpn/XkFEY/9bHSCaTOOLgfdCvV5dNrH2AZHkICUSGwOvvTMVt9z+DtWvXwwJQoXxZewHztq33s8soC5gPfXocli5bgaa774L+116AnevXjUz5WRAS8EPgjgefxcgxk/51yKCbL7VHE/Gc74cm940DAVmP4qUJH2Dhb3+ietXK6HD0gbjs/JNKphuSEXW3Dh6OHxb8inp1aqF3985oc/A+cagay0gCGQlsLoh4XZMRGXeIGQE5h0snrx9+/NUu+b7NGuPGK89CvTq17b9ltNDNA5/Ep198jUoVyuOsU47CpeeeGLNasrgksJHAP6vXQq7nRY6WKZPASccegssv6IgyCcPeidc1bC2FRuCdyV+g/33P4M1Rg+yOAKU33rsWWrRZHxLIDQEKotxwZi4kQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkEBkCFESRCQULQgIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAK5IUBBlBvOzIUESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAEIkOAgigyoWBBSIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESCA3BCiIcsOZuZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZBAZAhQEEUmFCwICZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACeSGAAVRbjgzFxIgARIgARIgARIgARIgARIgARIgARIggf+3d+8hVpdpAMcfi9RSGY3KbigaEkZGUpG7RXanshpG3bU2w2Y0u5GaJWnYzbQcm8Ia0JrubGLW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AQIECBAgQIAAAQIECBAgQIAAgVwEBKJcNmkOAgQIECBAgAABAgQIECBAgAABAgQIECBAgECigECUCOUYAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQCAXAYEol02agwABAgQIECBAgAABAgQIECBAgAABAgQIECCQKCAQJUI5RoAAAQIECBAgQIAAAQIECBAgQIAAAQIECBDIRUAgymWT5iBAgAABAgQIECBAgAABAgQIECBAgAABAgQIJAoIRIlQjhEgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEchEQiHLZpDkIECBAgAABAgQIECBAgAABAgQIECBAgAABAokCAlEilGMECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgVwEBKJcNmkOAgQIECBAgAABAgQIECBAgAABAgQIECBAgECigECUCOUYAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQCAXAYEol02agwABAgQIECBAgAABAgQIECBAgAABAgQIECCQKCAQJUI5RoAAAQIECBAgQIAAAQIECBAgQIAAAQIECBDIRUAgymWT5iBAgAABAgQIECBAgAABAgQIECBAgAABAgQIJAoIRIlQjhEgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEchEQiHLZpDkIECBAgAABAgQIECBAgAABAgQIECBAgAABAokCAlEilGMECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgVwEBKJcNmkOAgQIECBAgAABAgQIECBAgAABAgQIECBAgECigECUCOUYAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQCAXAYEol02agwABAgQIECBAgAABAgQIECBAgAABAgQIECCQKCAQJUI5RoAAAQIECBAgQIAAAQIECBAgQIAAAQIECBDIRUAgymWT5iBAgAABAgQIECBAgAABAgQIECBAgAABAgQIJAoIRIlQjhEgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEchEQiHLZpDkIECBAgAABAgQIECBAgAABAgQIECBAgAABAokCAlEilGMECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgVwEBKJcNmkOAgQIECBAgAABAgQIECBAgAABAgQIECBAgECigECUCOUYAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQCAXAYEol02agwABAgQIECBAgAABAgQIECBAgAABAgQIECCQKCAQJUI5RoAAAQIECBAgQIAAAQIECBAgQIAAAQIECBDIRUAgymWT5iBAgAABAgQIECBAgAABAgQIECBAgAABAgQIJAoIRIlQjhEgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEchEQiHLZpDkIECBAgAABAgQIECBAgAABAgQIECBAgAABAokCAlEilGMECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgVwEBKJcNmkOAgQIECBAgAABAgQIECBAgAABAgQIECBAgECiwPdG1jimZBQTZQAAAABJRU5ErkJggg==", + "text/html": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "px.line(experiment_log[\"optim_step_time\"])" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "533983bc-f2e0-4e11-afde-1b4e1e9da77d", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python [conda env:grn]", + "language": "python", + "name": "conda-env-grn-py" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.15" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/examples/biomodel_29.py b/examples/biomodel_29.py index 125210b..307335b 100644 --- a/examples/biomodel_29.py +++ b/examples/biomodel_29.py @@ -6,6 +6,7 @@ from sbmltoodejax import jaxfuncs t0 = 0.0 + y0 = jnp.array([800.0, 0.0, 0.0, 0.0]) y_indexes = {'M': 0, 'MpY': 1, 'Mpp': 2, 'MpT': 3} @@ -18,15 +19,15 @@ class RateofSpeciesChange(eqx.Module): n_reactions = 7 n_raterules = 0 + stoichiometricMatrix = jnp.array([[-1.0, 0.0, -1.0, 0.0, 0.0, 1.0, 1.0], [1.0, -1.0, 0.0, 0.0, 0.0, 0.0, -1.0], [0.0, 1.0, 0.0, 1.0, -1.0, 0.0, 0.0], [0.0, 0.0, 1.0, -1.0, 1.0, -1.0, 0.0]], dtype=jnp.float32) + @jit def __call__(self, y, t, w, c): rateRuleVector = jnp.array([0.0, 0.0, 0.0, 0.0], dtype=jnp.float32) - stoichiometricMatrix = jnp.array([[-1.0, 0.0, -1.0, 0.0, 0.0, 1.0, 1.0], [1.0, -1.0, 0.0, 0.0, 0.0, 0.0, -1.0], [0.0, 1.0, 0.0, 1.0, -1.0, 0.0, 0.0], [0.0, 0.0, 1.0, -1.0, 1.0, -1.0, 0.0]], dtype=jnp.float32) - reactionVelocities = self.calc_reaction_velocities(y, w, c, t) - rateOfSpeciesChange = stoichiometricMatrix @ reactionVelocities + rateRuleVector + rateOfSpeciesChange = self.stoichiometricMatrix @ reactionVelocities + rateRuleVector return rateOfSpeciesChange @@ -108,15 +109,14 @@ def __init__(self, deltaT=0.1, atol=1e-06, rtol=1e-12, mxstep=5000000): self.deltaT = deltaT self.modelstepfunc = ModelStep(atol=atol, rtol=rtol, mxstep=mxstep) - def __call__(self, n_steps, y0=jnp.array([800.0, 0.0, 0.0, 0.0]), w0=jnp.array([]), c=jnp.array([180.0, 100.0, 410.0, 1.08, 40.0, 0.007, 20.0, 0.008, 300.0, 0.45, 22.0, 0.084, 18.0, 0.06, 34.0, 0.108, 40.0, 1.0]), t0=0.0 ): + def __call__(self, n_steps, y0=jnp.array([800.0, 0.0, 0.0, 0.0]), w0=jnp.array([]), c=jnp.array([180.0, 100.0, 410.0, 1.08, 40.0, 0.007, 20.0, 0.008, 300.0, 0.45, 22.0, 0.084, 18.0, 0.06, 34.0, 0.108, 40.0, 1.0]), t0=0.0): @jit def f(carry, x): y, w, c, t = carry - return self.modelstepfunc(y, w, c, t, self.deltaT), (y, w) - (y, w, c, t), (ys, ws) = lax.scan(f, (y0, w0, c, t0), jnp.arange(n_steps)) - ys = jnp.concatenate([y0[:, jnp.newaxis], jnp.moveaxis(ys, 0, -1)], axis=-1) - ws = jnp.concatenate([w0[:, jnp.newaxis], jnp.moveaxis(ws, 0, -1)], axis=-1) - times = jnp.arange(t0, t0 + (n_steps+1) * self.deltaT, self.deltaT) - return ys, ws, times + return self.modelstepfunc(y, w, c, t, self.deltaT), (y, w, t) + (y, w, c, t), (ys, ws, ts) = lax.scan(f, (y0, w0, c, t0), jnp.arange(n_steps)) + ys = jnp.moveaxis(ys, 0, -1) + ws = jnp.moveaxis(ws, 0, -1) + return ys, ws, ts diff --git a/examples/create_modules.py b/examples/create_modules.py new file mode 100644 index 0000000..536f3a7 --- /dev/null +++ b/examples/create_modules.py @@ -0,0 +1,221 @@ +from autodiscjax import DictTree +import autodiscjax.modules.imgepwrappers as imgep +import autodiscjax.modules.grnwrappers as grn +from autodiscjax.modules import optimizers +from autodiscjax.utils.misc import wall_elastic_collision, wall_force_field_collision +import importlib +from jax import vmap +import jax.numpy as jnp +import jax.tree_util as jtu +import sbmltoodejax + +def create_system_rollout_module(system_rollout_config): + biomodel_xml_body = sbmltoodejax.biomodels_api.get_content_for_model(system_rollout_config.biomodel_id) + model_data = sbmltoodejax.parse.ParseSBMLFile(biomodel_xml_body) + sbmltoodejax.modulegeneration.GenerateModel(model_data, system_rollout_config.biomodel_odejax_filepath) + spec = importlib.util.spec_from_file_location("JaxBioModelSpec", system_rollout_config.biomodel_odejax_filepath) + module = importlib.util.module_from_spec(spec) + spec.loader.exec_module(module) + grnstep_cls = getattr(module, "ModelStep") + grnstep = grnstep_cls(atol=system_rollout_config.atol, + rtol=system_rollout_config.rtol, + mxstep=system_rollout_config.mxstep) + y0 = getattr(module, "y0") + w0 = getattr(module, "w0") + c = getattr(module, "c") + t0 = getattr(module, "t0") + y0 = jnp.tile(y0, (system_rollout_config.batch_size, 1)) + w0 = jnp.tile(w0, (system_rollout_config.batch_size, 1)) + c = jnp.tile(c, (system_rollout_config.batch_size, 1)) + system_rollout = grn.GRNRollout(n_steps=system_rollout_config.n_system_steps, y0=y0, w0=w0, c=c, t0=t0, + deltaT=system_rollout_config.deltaT, grn_step=grnstep) + return system_rollout + +def create_rollout_statistics_encoder_module(system_rollout): + rollout_statistics_encoder = grn.GRNRolloutStatisticsEncoder(y_shape=system_rollout.out_shape.ys, + time_window=jnp.r_[-100:0], + is_stable_std_epsilon=1e-2, + is_converging_filter_size=50, + is_periodic_max_frequency_threshold=40, deltaT=system_rollout.deltaT) + return rollout_statistics_encoder + +def create_intervention_module(intervention_config): + intervention_fn = grn.PiecewiseSetConstantIntervention( + time_to_interval_fn=grn.TimeToInterval(intervals=intervention_config.controlled_intervals)) + intervention_params_tree = DictTree() + for y_idx in intervention_config.controlled_node_ids: + intervention_params_tree.y[y_idx] = "placeholder" + intervention_params_treedef = jtu.tree_structure(intervention_params_tree) + intervention_params_shape = jtu.tree_map(lambda _: (len(intervention_config.controlled_intervals),), intervention_params_tree) + batched_intervention_params_shape = jtu.tree_map(lambda shape: (intervention_config.batch_size,) + shape, intervention_params_shape, + is_leaf=lambda node: isinstance(node, tuple)) + intervention_params_dtype = jtu.tree_map(lambda _: jnp.float32, intervention_params_tree) + + intervention_low = DictTree(intervention_config.low) + intervention_low = jtu.tree_map(lambda val, shape, dtype: val * jnp.ones(shape=shape, dtype=dtype), + intervention_low, batched_intervention_params_shape, + intervention_params_dtype) + intervention_high = DictTree(intervention_config.high) + intervention_high = jtu.tree_map(lambda val, shape, dtype: val * jnp.ones(shape=shape, dtype=dtype), + intervention_high, batched_intervention_params_shape, + intervention_params_dtype) + random_intervention_generator = imgep.UniformRandomGenerator(intervention_params_treedef, + batched_intervention_params_shape, + intervention_params_dtype, + intervention_low, intervention_high) + return random_intervention_generator, intervention_fn + +def create_perturbation_module(perturbation_config): + if perturbation_config.perturbation_type == "null": + perturbation_fn = grn.NullIntervention() + perturbation_params_tree = "placeholder" + perturbation_params_treedef = jtu.tree_structure(perturbation_params_tree) + perturbation_params_dtype = jtu.tree_map(lambda _: jnp.float32, perturbation_params_tree) + perturbation_params_shape = jtu.tree_map(lambda _: (0, ), perturbation_params_tree) + + perturbation_generator = imgep.EmptyArrayGenerator(perturbation_params_treedef, perturbation_params_shape, perturbation_params_dtype) + + elif perturbation_config.perturbation_type == "add": + perturbation_fn = grn.PiecewiseAddConstantIntervention( + time_to_interval_fn=grn.TimeToInterval(intervals=perturbation_config.perturbed_intervals)) + + perturbation_params_tree = DictTree() + for y_idx in perturbation_config.perturbed_node_ids: + perturbation_params_tree.y[y_idx] = "placeholder" + perturbation_params_treedef = jtu.tree_structure(perturbation_params_tree) + perturbation_params_shape = jtu.tree_map(lambda _: (len(perturbation_config.perturbed_intervals),), + perturbation_params_tree) + batched_perturbation_params_shape = jtu.tree_map(lambda shape: (perturbation_config.batch_size,) + shape, + perturbation_params_shape, + is_leaf=lambda node: isinstance(node, tuple)) + perturbation_params_dtype = jtu.tree_map(lambda _: jnp.float32, perturbation_params_tree) + + + perturbation_generator = grn.NoisePerturbationGenerator(perturbation_params_treedef, + batched_perturbation_params_shape, + perturbation_params_dtype, + std=perturbation_config.std) + + elif perturbation_config.perturbation_type == "wall": + if perturbation_config.wall_type == "elastic": + collision_fn = jtu.Partial(vmap(vmap(wall_elastic_collision, in_axes=(None, None, 0, 0), out_axes=(0, 0)), in_axes=(0, 0, 0, 0), out_axes=(0, 0))) + elif perturbation_config.wall_type == "force_field": + collision_fn = jtu.Partial(vmap(vmap(wall_force_field_collision, in_axes=(None, None, 0, 0), out_axes=(0, 0)), in_axes=(0, 0, 0, 0), out_axes=(0, 0))) + perturbation_fn = grn.PiecewiseWallCollisionIntervention( + time_to_interval_fn=grn.TimeToInterval(intervals=perturbation_config.perturbed_intervals), collision_fn=collision_fn) + + perturbation_params_tree = DictTree() + for y_idx in perturbation_config.perturbed_node_ids: + perturbation_params_tree.y[y_idx] = "placeholder" + perturbation_params_treedef = jtu.tree_structure(perturbation_params_tree) + n_walls = len(perturbation_config.walls_target_intersection_steps) + perturbation_params_shape = jtu.tree_map(lambda _: (n_walls, 2, len(perturbation_config.perturbed_intervals),), + perturbation_params_tree) + batched_perturbation_params_shape = jtu.tree_map(lambda shape: (perturbation_config.batch_size,) + shape, + perturbation_params_shape, + is_leaf=lambda node: isinstance(node, tuple)) + perturbation_params_dtype = jtu.tree_map(lambda _: jnp.float32, perturbation_params_tree) + + + perturbation_generator = grn.WallPerturbationGenerator(perturbation_params_treedef, + batched_perturbation_params_shape, + perturbation_params_dtype, + perturbation_config.walls_target_intersection_steps, + perturbation_config.walls_length) + + elif perturbation_config.perturbation_type == "wall": + raise NotImplementedError + + else: + raise ValueError + + return perturbation_generator, perturbation_fn + +def create_goal_embedding_encoder_module(goal_embedding_encoder_config): + goal_embedding_tree = "placeholder" + goal_embedding_treedef = jtu.tree_structure(goal_embedding_tree) + goal_embedding_shape = jtu.tree_map(lambda _: (len(goal_embedding_encoder_config.observed_node_ids),), goal_embedding_tree) + batched_goal_embedding_shape = jtu.tree_map(lambda shape: (goal_embedding_encoder_config.batch_size,) + shape, goal_embedding_shape, + is_leaf=lambda node: isinstance(node, tuple)) + goal_embedding_dtype = jtu.tree_map(lambda _: jnp.float32, goal_embedding_tree) + goal_filter_fn = jtu.Partial(lambda system_outputs: system_outputs.ys[:, goal_embedding_encoder_config.observed_node_ids, -1]) + goal_embedding_encoder = imgep.FilterGoalEmbeddingEncoder(goal_embedding_treedef, batched_goal_embedding_shape, + goal_embedding_dtype, goal_filter_fn) + return goal_embedding_encoder + + +def create_goal_generator_module(goal_embedding_encoder, goal_generator_config): + if goal_generator_config.generator_type == "hypercube_sampling": + goal_generator = imgep.HypercubeGoalGenerator(goal_embedding_encoder.out_treedef, goal_embedding_encoder.out_shape, goal_embedding_encoder.out_dtype, + goal_generator_config.hypercube_scaling) + + elif goal_generator_config.generator_type == "IMFlow_sampling": + goal_generator = imgep.IMFlowGoalGenerator(goal_embedding_encoder.out_treedef, goal_embedding_encoder.out_shape, goal_embedding_encoder.out_dtype, + imgep.LearningProgressIM(), goal_generator_config.IM_grad_scaling, + goal_generator_config.random_popsize, goal_generator_config.selected_popsize, goal_generator_config.flow_noise) + else: + raise ValueError + + return goal_generator + + +def create_goal_achievement_loss_module(goal_achievement_loss_config): + goal_achievement_loss = imgep.L2GoalAchievementLoss() + return goal_achievement_loss + +def create_gc_intervention_selector_module(gc_intervention_selector_config): + intervention_selector_tree = "placeholder" + intervention_selector_treedef = jtu.tree_structure(intervention_selector_tree) + batched_intervention_selector_shape = jtu.tree_map(lambda _: (gc_intervention_selector_config.batch_size,), intervention_selector_tree) + intervention_selector_dtype = jtu.tree_map(lambda _: jnp.int32, intervention_selector_tree) + gc_intervention_selector = imgep.NearestNeighborInterventionSelector(intervention_selector_treedef, + batched_intervention_selector_shape, + intervention_selector_dtype, gc_intervention_selector_config.k) + return gc_intervention_selector + +def create_gc_intervention_optimizer_module(random_intervention_generator, gc_intervention_optimizer_config): + if gc_intervention_optimizer_config.optimizer_type == "SGD": + optimizer = optimizers.SGDOptimizer(random_intervention_generator.low, + random_intervention_generator.high, + gc_intervention_optimizer_config.n_optim_steps, + jtu.tree_map( + lambda low, high: gc_intervention_optimizer_config.lr * (high - low), + random_intervention_generator.low, + random_intervention_generator.high)) + + elif gc_intervention_optimizer_config.optimizer_type == "OpenES": + optimizer = optimizers.OpenESOptimizer(random_intervention_generator.low, + random_intervention_generator.high, + gc_intervention_optimizer_config.n_optim_steps, + jtu.tree_map( + lambda low, high: gc_intervention_optimizer_config.lr * (high - low), + random_intervention_generator.low, + random_intervention_generator.high), + gc_intervention_optimizer_config.n_workers, + jtu.tree_map( + lambda low, high: gc_intervention_optimizer_config.noise_std * (high - low), + random_intervention_generator.low, + random_intervention_generator.high), + ) + + elif gc_intervention_optimizer_config.optimizer_type == "EA": + optimizer = optimizers.EAOptimizer(random_intervention_generator.low, + random_intervention_generator.high, + gc_intervention_optimizer_config.n_optim_steps, + gc_intervention_optimizer_config.n_workers, + jtu.tree_map( + lambda low, high: gc_intervention_optimizer_config.noise_std * ( + high - low), + random_intervention_generator.low, + random_intervention_generator.high), + ) + + else: + raise ValueError + + gc_intervention_optimizer = imgep.BaseGCInterventionOptimizer(random_intervention_generator.out_treedef, + random_intervention_generator.out_shape, + random_intervention_generator.out_dtype, + optimizer) + + return gc_intervention_optimizer \ No newline at end of file diff --git a/examples/evaluation_config.py b/examples/evaluation_config.py new file mode 100644 index 0000000..b35d1be --- /dev/null +++ b/examples/evaluation_config.py @@ -0,0 +1,30 @@ +from addict import Dict +import jax.numpy as jnp + +batch_size = None + +def get_perturbation_config(): + config = Dict() + config.batch_size = batch_size + + # config.perturbation_type = "add" + # config.perturbed_intervals = [[0, 10]] + # config.perturbed_node_ids = [0, 1, 2, 3] + # config.std = 0.1 + + config.perturbation_type = "wall" + config.wall_type = "elastic" + config.perturbed_intervals = [[0, 10]] + config.perturbed_node_ids = [0, 1] + config.walls_target_intersection_steps = [100, 300] + config.walls_length = jnp.array([0.1, 0.1]) + return config + +def get_pipeline_config(): + config = Dict() + config.jax_platform_name = "cpu" + config.seed = 0 + config.n_perturbations = 5 + config.evaluation_data_save_folder = "evaluation_data/" + config.evaluation_logging_save_folder = "evaluation_logging/" + return config diff --git a/examples/experiment_config.py b/examples/experiment_config.py new file mode 100644 index 0000000..94b5f38 --- /dev/null +++ b/examples/experiment_config.py @@ -0,0 +1,94 @@ +from addict import Dict + +batch_size = 50 + +def get_system_rollout_config(): + config = Dict() + config.biomodel_id = 29 + config.biomodel_odejax_filepath = "biomodel_29.py" + config.atol = 1e-6 + config.rtol = 1e-12 + config.mxstep = 50000 + config.deltaT = 0.1 + config.batch_size = batch_size + config.n_system_steps = 500 + return config + +def get_intervention_config(): + config = Dict() + config.controlled_intervals = [[0, 1e-5]] + config.controlled_node_ids = [0, 1, 2, 3] + + config.low = Dict() + config.high = Dict() + for y_idx in config.controlled_node_ids: + config.low.y[y_idx] = [91.93025, 100.43926, 15.655377, 53.970665][y_idx] + config.high.y[y_idx] = [7866.401, 4771.8975, 1377.4222, 1086.2181][y_idx] + + config.batch_size = batch_size + return config + +def get_perturbation_config(): + config = Dict() + config.perturbation_type = "null" + return config + +def get_goal_embedding_encoder_config(): + config = Dict() + config.observed_node_ids = [2, 3] + config.batch_size = batch_size + return config + +def get_goal_generator_config(): + config = Dict() + + # config.generator_type = "hypercube_sampling" + # config.hypercube_scaling = 1.5 + + config.generator_type = "IMFlow_sampling" + config.IM_grad_scaling = 0.1 + config.random_popsize = 0.2 + config.selected_popsize = 0.2 + config.flow_noise = 0.1 + return config + +def get_goal_achievement_loss_config(): + config = Dict() + return config + +def get_gc_intervention_selector_config(): + config = Dict() + config.k = 1 + config.batch_size = batch_size + return config + +def get_gc_intervention_optimizer_config(): + config = Dict() + + # config.optimizer_type = "EA" + # config.n_optim_steps = 20 + # config.lr = 0.2 + # config.n_workers = 50 + # config.noise_std = 0.1 + + config.optimizer_type = "SGD" + config.n_optim_steps = 20 + config.lr = 0.2 + + # config.optimizer_type = "OpenES" + # config.n_optim_steps = 20 + # config.lr = 0.2 + # config.n_workers = 100 + # config.noise_std = 0.2 + + return config + +def get_pipeline_config(): + config = Dict() + config.jax_platform_name = "cpu" + config.seed = 0 + config.n_random_batches = 1 + config.n_imgep_batches = 4 + config.experiment_data_save_folder = "experiment_data/" + config.experiment_logging_save_folder = "experiment_logging/" + return config diff --git a/examples/run_imgep_evaluation.py b/examples/run_imgep_evaluation.py index 85181ce..9d33506 100644 --- a/examples/run_imgep_evaluation.py +++ b/examples/run_imgep_evaluation.py @@ -1,85 +1,43 @@ from autodiscjax import DictTree from autodiscjax.experiment_pipelines import run_imgep_evaluation -import autodiscjax.modules.imgepwrappers as imgep -import autodiscjax.modules.grnwrappers as grn -import importlib -import jax.numpy as jnp -import jax.tree_util as jtu -import sbmltoodejax - -jax_platform_name = "cpu" -seed = 0 -n_perturbations = 50 -biomodel_id = 29 -biomodel_odejax_filepath = f"biomodel_{biomodel_id}.py" -n_system_steps = 1000 -deltaT = 0.1 -atol = 1e-6 -rtol = 1e-12 -mxstep = 50000 -experiment_save_folder = "experiment_data/" -evaluation_save_folder = "evaluation_data/" - -# Load history from the experiment -experiment_history = DictTree.load(experiment_save_folder+"experiment_history.pickle") -batch_size = len(experiment_history.reached_goal_embedding_library) - -# Prepare PyTree structures/shape/dtype -intervention_fn = grn.PiecewiseSetConstantIntervention(time_to_interval_fn=grn.TimeToInterval(intervals=[[0,1], [5,6]])) -intervention_params_library = experiment_history.intervention_params_library - -perturbation_fn = grn.PiecewiseAddConstantIntervention(time_to_interval_fn=grn.TimeToInterval(intervals=[[0,10]])) -perturbation_params_tree = DictTree() -perturbation_params_tree.c[0] = "placeholder" -perturbation_params_tree.c[1] = "placeholder" -perturbation_params_treedef = jtu.tree_structure(perturbation_params_tree) -perturbation_params_shape = jtu.tree_map(lambda _: (1, ), perturbation_params_tree) -batched_perturbation_params_shape = jtu.tree_map(lambda shape: (batch_size, )+shape, perturbation_params_shape, is_leaf=lambda node: isinstance(node, tuple)) -perturbation_params_dtype = jtu.tree_map(lambda _: jnp.float32, perturbation_params_tree) - -goal_embedding_tree = "placeholder" -goal_embedding_treedef = jtu.tree_structure(goal_embedding_tree) -goal_embedding_shape = jtu.tree_map(lambda _: (2, ), goal_embedding_tree) -batched_goal_embedding_shape = jtu.tree_map(lambda shape: (batch_size, )+shape, goal_embedding_shape, is_leaf=lambda node: isinstance(node, tuple)) -goal_embedding_dtype = jtu.tree_map(lambda _: jnp.float32, goal_embedding_tree) - -# Create Modules -perturbation_mean = jtu.tree_map(lambda shape, dtype: jnp.zeros(shape=shape, dtype=dtype), perturbation_params_shape, perturbation_params_dtype, is_leaf=lambda node: isinstance(node, tuple)) -perturbation_std = jtu.tree_map(lambda shape, dtype: jnp.ones(shape=shape, dtype=dtype), perturbation_params_shape, perturbation_params_dtype, is_leaf=lambda node: isinstance(node, tuple)) -perturbation_generator = imgep.NormalRandomGenerator(perturbation_params_treedef, batched_perturbation_params_shape, perturbation_params_dtype, - perturbation_mean, perturbation_std) - - - -biomodel_xml_body = sbmltoodejax.biomodels_api.get_content_for_model(biomodel_id) -model_data = sbmltoodejax.parse.ParseSBMLFile(biomodel_xml_body) -sbmltoodejax.modulegeneration.GenerateModel(model_data, biomodel_odejax_filepath) -spec = importlib.util.spec_from_file_location("JaxBioModelSpec", biomodel_odejax_filepath) -module = importlib.util.module_from_spec(spec) -spec.loader.exec_module(module) -grnstep_cls = getattr(module, "ModelStep") -grnstep = grnstep_cls(atol=atol, rtol=rtol, mxstep=mxstep) -y0 = getattr(module, "y0") -w0 = getattr(module, "w0") -c = getattr(module, "c") -t0 = getattr(module, "t0") -y0 = jnp.tile(y0, (batch_size, 1)) -w0 = jnp.tile(w0, (batch_size, 1)) -c = jnp.tile(c, (batch_size, 1)) -system_rollout = grn.GRNRollout(n_steps=n_system_steps, y0=y0, w0=w0, c=c, t0=t0, deltaT=deltaT, - grn_step=grnstep) - -rollout_statistics_encoder = grn.GRNRolloutStatisticsEncoder(y_shape=system_rollout.out_shape.y, time_window=jnp.r_[-100:0], - is_stable_std_epsilon=1e-2, is_converging_filter_size=50, - is_periodic_max_frequency_threshold=40, deltaT=deltaT) - -goal_filter_fn = jtu.Partial(lambda system_outputs: system_outputs.y[:, (2, 3), -1]) -goal_embedding_encoder = imgep.FilterGoalEmbeddingEncoder(goal_embedding_treedef, batched_goal_embedding_shape, goal_embedding_dtype, goal_filter_fn) - - -# Run Experiment -run_imgep_evaluation(jax_platform_name, seed, n_perturbations, evaluation_save_folder, - intervention_params_library, intervention_fn, - perturbation_generator, perturbation_fn, - system_rollout, rollout_statistics_encoder, - goal_embedding_encoder, out_sanity_check=True) \ No newline at end of file +import evaluation_config +import experiment_config +import exputils.data.logging as log +from create_modules import * + +if __name__ == "__main__": + # Load history of interventions from the experiment + experiment_history = DictTree.load(experiment_config.get_pipeline_config().experiment_data_save_folder + "experiment_history.pickle") + experiment_intervention_params_library = experiment_history.intervention_params_library + experiment_system_output_library = experiment_history.system_output_library + + # Set batch size to the length of experiment data + experiment_config.batch_size = len(jtu.tree_leaves(experiment_intervention_params_library)[0]) + evaluation_config.batch_size = experiment_config.batch_size + + # Create System Modules + system_rollout_config = experiment_config.get_system_rollout_config() + system_rollout = create_system_rollout_module(system_rollout_config) + rollout_statistics_encoder = create_rollout_statistics_encoder_module(system_rollout) + + # Create Intervention Modules + intervention_config = experiment_config.get_intervention_config() + _, intervention_fn = create_intervention_module(intervention_config) + + # Create Perturbation Modules + perturbation_config = evaluation_config.get_perturbation_config() + perturbation_generator, perturbation_fn = create_perturbation_module(perturbation_config) + + # Run Evaluation Pipeline + pipeline_config = evaluation_config.get_pipeline_config() + ## Set Log + log.reset() + log.set_directory(pipeline_config.evaluation_logging_save_folder) + run_imgep_evaluation(pipeline_config.jax_platform_name, pipeline_config.seed, + pipeline_config.n_perturbations, pipeline_config.evaluation_data_save_folder, + experiment_system_output_library, experiment_intervention_params_library, intervention_fn, + perturbation_generator, perturbation_fn, + system_rollout, rollout_statistics_encoder, + out_sanity_check=True, save_modules=False) + ## Save Log + log.save() \ No newline at end of file diff --git a/examples/run_imgep_experiment.py b/examples/run_imgep_experiment.py index cc09494..abe3718 100644 --- a/examples/run_imgep_experiment.py +++ b/examples/run_imgep_experiment.py @@ -1,123 +1,52 @@ -from autodiscjax import DictTree from autodiscjax.experiment_pipelines import run_imgep_experiment -import autodiscjax.modules.imgepwrappers as imgep -import autodiscjax.modules.grnwrappers as grn -import importlib -import jax.numpy as jnp -import jax.tree_util as jtu -import sbmltoodejax - -jax_platform_name = "cpu" -seed = 0 -biomodel_id = 29 -biomodel_odejax_filepath = f"biomodel_{biomodel_id}.py" -n_random_batches = 1 -n_imgep_batches = 4 -n_system_steps = 200 -n_optim_steps = 5 -lr = 0.2 -batch_size = 100 -hypercube_scaling = 1.5 -rmin = 0.1 -rmax = 10.0 -deltaT = 0.1 -atol = 1e-6 -rtol = 1e-12 -mxstep = 50000 -save_folder = "experiment_data/" - - -# Prepare PyTree structures/shape/dtype -intervention_fn = grn.PiecewiseSetConstantIntervention(time_to_interval_fn=grn.TimeToInterval(intervals=[[0,1], [5,6]])) -intervention_params_tree = DictTree() -intervention_params_tree.y[0] = "placeholder" -intervention_params_tree.y[1] = "placeholder" -intervention_params_treedef = jtu.tree_structure(intervention_params_tree) -intervention_params_shape = jtu.tree_map(lambda _: (2, ), intervention_params_tree) -batched_intervention_params_shape = jtu.tree_map(lambda shape: (batch_size, )+shape, intervention_params_shape, is_leaf=lambda node: isinstance(node, tuple)) -intervention_params_dtype = jtu.tree_map(lambda _: jnp.float32, intervention_params_tree) - -perturbation_fn = grn.PiecewiseAddConstantIntervention(time_to_interval_fn=grn.TimeToInterval(intervals=[[0,10]])) -perturbation_params_tree = DictTree() -perturbation_params_tree.c[0] = "placeholder" -perturbation_params_tree.c[1] = "placeholder" -perturbation_params_treedef = jtu.tree_structure(perturbation_params_tree) -perturbation_params_shape = jtu.tree_map(lambda _: (1, ), perturbation_params_tree) -batched_perturbation_params_shape = jtu.tree_map(lambda shape: (batch_size, )+shape, perturbation_params_shape, is_leaf=lambda node: isinstance(node, tuple)) -perturbation_params_dtype = jtu.tree_map(lambda _: jnp.float32, perturbation_params_tree) - -goal_embedding_tree = "placeholder" -goal_embedding_treedef = jtu.tree_structure(goal_embedding_tree) -goal_embedding_shape = jtu.tree_map(lambda _: (2, ), goal_embedding_tree) -batched_goal_embedding_shape = jtu.tree_map(lambda shape: (batch_size, )+shape, goal_embedding_shape, is_leaf=lambda node: isinstance(node, tuple)) -goal_embedding_dtype = jtu.tree_map(lambda _: jnp.float32, goal_embedding_tree) - -intervention_selector_tree = "placeholder" -intervention_selector_treedef = jtu.tree_structure(intervention_selector_tree) -batched_intervention_selector_shape = jtu.tree_map(lambda _: (batch_size, ), intervention_selector_tree) -intervention_selector_dtype = jtu.tree_map(lambda _: jnp.int32, intervention_selector_tree) - -# Create Modules -intervention_params_low = DictTree() -intervention_params_low.y[0] = rmin*198.5128 -intervention_params_low.y[1] = rmin*0. -intervention_params_high = DictTree() -intervention_params_high.y[0] = rmax*800. -intervention_params_high.y[1] = rmax*387.24646 -intervention_low = jtu.tree_map(lambda val, shape, dtype: val*jnp.ones(shape=shape, dtype=dtype), intervention_params_low, batched_intervention_params_shape, intervention_params_dtype) -intervention_high = jtu.tree_map(lambda val, shape, dtype: val*jnp.ones(shape=shape, dtype=dtype), intervention_params_high, batched_intervention_params_shape, intervention_params_dtype) -random_intervention_generator = imgep.UniformRandomGenerator(intervention_params_treedef, batched_intervention_params_shape, intervention_params_dtype, - intervention_low, intervention_high) - -perturbation_mean = jtu.tree_map(lambda shape, dtype: jnp.zeros(shape=shape, dtype=dtype), perturbation_params_shape, perturbation_params_dtype, is_leaf=lambda node: isinstance(node, tuple)) -perturbation_std = jtu.tree_map(lambda shape, dtype: jnp.zeros(shape=shape, dtype=dtype), perturbation_params_shape, perturbation_params_dtype, is_leaf=lambda node: isinstance(node, tuple)) -perturbation_generator = imgep.NormalRandomGenerator(perturbation_params_treedef, batched_perturbation_params_shape, perturbation_params_dtype, - perturbation_mean, perturbation_std) - - - - -biomodel_xml_body = sbmltoodejax.biomodels_api.get_content_for_model(biomodel_id) -model_data = sbmltoodejax.parse.ParseSBMLFile(biomodel_xml_body) -sbmltoodejax.modulegeneration.GenerateModel(model_data, biomodel_odejax_filepath) -spec = importlib.util.spec_from_file_location("JaxBioModelSpec", biomodel_odejax_filepath) -module = importlib.util.module_from_spec(spec) -spec.loader.exec_module(module) -grnstep_cls = getattr(module, "ModelStep") -grnstep = grnstep_cls(atol=atol, rtol=rtol, mxstep=mxstep) -y0 = getattr(module, "y0") -w0 = getattr(module, "w0") -c = getattr(module, "c") -t0 = getattr(module, "t0") -y0 = jnp.tile(y0, (batch_size, 1)) -w0 = jnp.tile(w0, (batch_size, 1)) -c = jnp.tile(c, (batch_size, 1)) -system_rollout = grn.GRNRollout(n_steps=n_system_steps, y0=y0, w0=w0, c=c, t0=t0, deltaT=deltaT, - grn_step=grnstep) - -rollout_statistics_encoder = grn.GRNRolloutStatisticsEncoder(y_shape=system_rollout.out_shape.y, time_window=jnp.r_[-100:0], - is_stable_std_epsilon=1e-2, is_converging_filter_size=50, - is_periodic_max_frequency_threshold=40, deltaT=deltaT) -goal_generator = imgep.HypercubeGoalGenerator(goal_embedding_treedef, batched_goal_embedding_shape, goal_embedding_dtype, hypercube_scaling) - -k=1 -gc_intervention_selector = imgep.NearestNeighborInterventionSelector(intervention_selector_treedef, batched_intervention_selector_shape, intervention_selector_dtype, k) - -def goal_achievement_loss(reached_goals_embeddings, target_goals_embeddings): - return jnp.square(reached_goals_embeddings-target_goals_embeddings).sum() - -gc_intervention_optimizer = imgep.SGDInterventionOptimizer(intervention_params_treedef, batched_intervention_params_shape, intervention_params_dtype, - n_optim_steps, jtu.tree_map(lambda low, high: lr*(high-low), intervention_params_low, intervention_params_high)) - - -goal_filter_fn = jtu.Partial(lambda system_outputs: system_outputs.y[:, (2, 3), -1]) -goal_embedding_encoder = imgep.FilterGoalEmbeddingEncoder(goal_embedding_treedef, batched_goal_embedding_shape, goal_embedding_dtype, goal_filter_fn) - - -# Run Experiment -run_imgep_experiment(jax_platform_name, seed, n_random_batches, n_imgep_batches, save_folder, - random_intervention_generator, intervention_fn, - perturbation_generator, perturbation_fn, - system_rollout, rollout_statistics_encoder, - goal_generator, gc_intervention_selector, gc_intervention_optimizer, - goal_embedding_encoder, goal_achievement_loss, out_sanity_check=True) \ No newline at end of file +import experiment_config +import exputils.data.logging as log +from create_modules import * + +if __name__ == "__main__": + + # Create System Modules + system_rollout_config = experiment_config.get_system_rollout_config() + system_rollout = create_system_rollout_module(system_rollout_config) + rollout_statistics_encoder = create_rollout_statistics_encoder_module(system_rollout) + + # Create Intervention Modules + intervention_config = experiment_config.get_intervention_config() + random_intervention_generator, intervention_fn = create_intervention_module(intervention_config) + + # Create Perturbation Modules + perturbation_config = experiment_config.get_perturbation_config() + perturbation_generator, perturbation_fn = create_perturbation_module(perturbation_config) + + # Create IMGEP modules + ## Goal Embedding Encoder, Generator and Achievement Loss + goal_embedding_encoder_config = experiment_config.get_goal_embedding_encoder_config() + goal_embedding_encoder = create_goal_embedding_encoder_module(goal_embedding_encoder_config) + goal_generator_config = experiment_config.get_goal_generator_config() + goal_generator = create_goal_generator_module(goal_embedding_encoder, goal_generator_config) + goal_achievement_loss_config = experiment_config.get_goal_achievement_loss_config() + goal_achievement_loss = create_goal_achievement_loss_module(goal_achievement_loss_config) + + ## Goal-Conditioned Intervention Selector and Optimizer + gc_intervention_selector_config = experiment_config.get_gc_intervention_selector_config() + gc_intervention_selector = create_gc_intervention_selector_module(gc_intervention_selector_config) + gc_intervention_optimizer_config = experiment_config.get_gc_intervention_optimizer_config() + gc_intervention_optimizer = create_gc_intervention_optimizer_module(random_intervention_generator, gc_intervention_optimizer_config) + + # Run IMGEP Pipeline + pipeline_config = experiment_config.get_pipeline_config() + ## Set Log + log.reset() + log.set_directory(pipeline_config.experiment_logging_save_folder) + ## Run + run_imgep_experiment(pipeline_config.jax_platform_name, pipeline_config.seed, + pipeline_config.n_random_batches, pipeline_config.n_imgep_batches, + pipeline_config.experiment_data_save_folder, + random_intervention_generator, intervention_fn, + perturbation_generator, perturbation_fn, + system_rollout, rollout_statistics_encoder, + goal_generator, gc_intervention_selector, gc_intervention_optimizer, + goal_embedding_encoder, goal_achievement_loss, + out_sanity_check=True, save_modules=False) + ## Save Log + log.save() \ No newline at end of file diff --git a/test/test_grn_modules.py b/test/test_grn_modules.py new file mode 100644 index 0000000..ed422ab --- /dev/null +++ b/test/test_grn_modules.py @@ -0,0 +1,136 @@ +from autodiscjax import DictTree +import autodiscjax.modules.grnwrappers as grn +from autodiscjax.utils.misc import wall_sticky_collision, wall_elastic_collision, wall_force_field_collision +import importlib +from jax import vmap +import jax.numpy as jnp +import jax.random as jrandom +import jax.tree_util as jtu +import matplotlib.pyplot as plt +import sbmltoodejax +from tempfile import NamedTemporaryFile + + +def test_wall_intervention(): + key = jrandom.PRNGKey(0) + + # Load the system + biomodel_id = 341 + biomodel_odejax_file = NamedTemporaryFile(suffix=".py") + biomodel_xml_body = sbmltoodejax.biomodels_api.get_content_for_model(biomodel_id) + model_data = sbmltoodejax.parse.ParseSBMLFile(biomodel_xml_body) + sbmltoodejax.modulegeneration.GenerateModel(model_data, biomodel_odejax_file.name) + spec = importlib.util.spec_from_file_location("ModelSpec", biomodel_odejax_file.name) + module = importlib.util.module_from_spec(spec) + spec.loader.exec_module(module) + grnstep_cls = getattr(module, "ModelStep") + grnstep = grnstep_cls() + y0 = getattr(module, "y0") + w0 = getattr(module, "w0") + c = getattr(module, "c") + t0 = getattr(module, "t0") + system_rollout = grn.GRNRollout(n_steps=100, y0=y0, w0=w0, c=c, t0=t0, + deltaT=0.1, grn_step=grnstep) + + # Default Rollout + key, subkey = jrandom.split(key) + default_system_outputs = system_rollout(subkey) + ys = default_system_outputs.ys + + + # Prepare Wall Intervention + wall_target_node_idx = 0 + wall_other_node_idx = 1 + time_intervals = [[0, 10]] + n_walls = 1 + target_intersection_idx = ys.shape[-1] // 2 + wall_target_pos = ys[wall_target_node_idx, target_intersection_idx] + wall_other_pos = ys[wall_other_node_idx, target_intersection_idx] + wall_length = 0.1*(ys[wall_other_node_idx].max() - ys[wall_other_node_idx].min()) + intervention_params = DictTree() + intervention_params.y[wall_target_node_idx] = wall_target_pos * jnp.ones((n_walls, 2, len(time_intervals))) + intervention_params.y[wall_other_node_idx] = jnp.array([wall_other_pos-wall_length/2., wall_other_pos+wall_length/2.]).reshape((n_walls, 2, len(time_intervals))) * jnp.ones((n_walls, 2, len(time_intervals))) + + collision_fn = jtu.Partial(vmap(wall_elastic_collision, in_axes=(None, None, 0, 0), out_axes=(0,0))) + intervention_fn = grn.PiecewiseWallCollisionIntervention(time_to_interval_fn=grn.TimeToInterval(intervals=time_intervals), collision_fn=collision_fn) + + + # Rollout with wall + key, subkey = jrandom.split(key) + wall_system_outputs = system_rollout(subkey, intervention_fn, intervention_params) + + # Show results + plt.figure() + plt.plot(ys[wall_target_node_idx], ys[wall_other_node_idx]) + plt.plot(wall_system_outputs.ys[wall_target_node_idx], wall_system_outputs.ys[wall_other_node_idx]) + plt.plot(intervention_params.y[wall_target_node_idx].squeeze(), intervention_params.y[wall_other_node_idx].squeeze()) + plt.show() + +def test_wall_intervention_batch_mode(): + key = jrandom.PRNGKey(0) + batch_size = 5 + + # Load the system + biomodel_id = 341 + biomodel_odejax_file = NamedTemporaryFile(suffix=".py") + biomodel_xml_body = sbmltoodejax.biomodels_api.get_content_for_model(biomodel_id) + model_data = sbmltoodejax.parse.ParseSBMLFile(biomodel_xml_body) + sbmltoodejax.modulegeneration.GenerateModel(model_data, biomodel_odejax_file.name) + spec = importlib.util.spec_from_file_location("ModelSpec", biomodel_odejax_file.name) + module = importlib.util.module_from_spec(spec) + spec.loader.exec_module(module) + grnstep_cls = getattr(module, "ModelStep") + grnstep = grnstep_cls() + y0 = getattr(module, "y0") + w0 = getattr(module, "w0") + c = getattr(module, "c") + t0 = getattr(module, "t0") + key, subkey = jrandom.split(key) + y0 = jrandom.uniform(subkey, shape=(batch_size, )+y0.shape, minval=0., maxval=300.) + w0 = jnp.tile(w0, (batch_size, 1)) + system_rollout = grn.GRNRollout(n_steps=100, y0=y0, w0=w0, c=c, t0=t0, + deltaT=0.1, grn_step=grnstep) + + # Default Rollout + key, subkey = jrandom.split(key) + default_system_outputs = system_rollout(subkey) + ys = default_system_outputs.ys + + # Prepare Wall Intervention + wall_target_node_idx = 0 + wall_other_node_idx = 1 + time_intervals = [[0, 10]] + n_walls = 2 + target_intersection_ids = [ys.shape[-1] // 4, 3 * ys.shape[-1] // 4] + wall_target_pos = ys[:, wall_target_node_idx, target_intersection_ids] + wall_other_pos = ys[:, wall_other_node_idx, target_intersection_ids] + wall_length = 0.1 * (ys[:, wall_other_node_idx].max(-1) - ys[:, wall_other_node_idx].min(-1)) + intervention_params = DictTree() + intervention_params.y[wall_target_node_idx] = jnp.repeat(wall_target_pos[..., jnp.newaxis, jnp.newaxis], 2, 2) + intervention_params.y[wall_other_node_idx] = jnp.stack( + [wall_other_pos - wall_length[:, jnp.newaxis] / 2., wall_other_pos + wall_length[:, jnp.newaxis] / 2.], + axis=-1).reshape( + (batch_size, n_walls, 2, len(time_intervals))) * jnp.ones((batch_size, n_walls, 2, len(time_intervals))) + + collision_fn = jtu.Partial( + vmap(vmap(wall_elastic_collision, in_axes=(None, None, 0, 0), out_axes=(0, 0)), in_axes=(0, 0, 0, 0), + out_axes=(0, 0))) + intervention_fn = grn.PiecewiseWallCollisionIntervention( + time_to_interval_fn=grn.TimeToInterval(intervals=time_intervals), collision_fn=collision_fn) + + # Rollout with wall + key, subkey = jrandom.split(key) + wall_system_outputs = system_rollout(subkey, intervention_fn, intervention_params) + + # Show results + for batch_idx in range(batch_size): + plt.figure() + plt.plot(ys[batch_idx, wall_target_node_idx], ys[batch_idx, wall_other_node_idx]) + plt.plot(wall_system_outputs.ys[batch_idx, wall_target_node_idx], + wall_system_outputs.ys[batch_idx, wall_other_node_idx]) + plt.plot(intervention_params.y[wall_target_node_idx][batch_idx, 0].squeeze(), + intervention_params.y[wall_other_node_idx][batch_idx, 0].squeeze()) + plt.plot(intervention_params.y[wall_target_node_idx][batch_idx, 1].squeeze(), + intervention_params.y[wall_other_node_idx][batch_idx, 1].squeeze()) + plt.show() + diff --git a/test/test_imgep_modules.py b/test/test_imgep_modules.py index 751b2e9..ae3f9ee 100644 --- a/test/test_imgep_modules.py +++ b/test/test_imgep_modules.py @@ -44,7 +44,7 @@ def test_im_flow_goal_generator(): # Assert that all next goals are on the upper-right side of the grid assert next_goals.shape == (batch_size, gs_ndim) - assert (next_goals > jnp.array([0.4, 0.4])).all() + assert (next_goals[:, 0] > 0.5).all() # import matplotlib.pyplot as plt # plt.figure()