From b6a3a48d4946d7b1b7d96d4ec0e8930df64657e9 Mon Sep 17 00:00:00 2001 From: Kristian Holsheimer Date: Fri, 22 Jul 2022 07:17:44 +0100 Subject: [PATCH] Fix multidiscrete preprocessor (#22) * fix preprocessor for MultiDiscrete spaces * fix deprecation warnings * upgrade requirements * v0.1.11 * add --quiet flag to colab install cell --- coax/__init__.py | 10 +- coax/_base/test_case.py | 4 +- coax/_core/base_func.py | 2 +- coax/_core/base_stochastic_func_type1.py | 6 +- coax/_core/base_stochastic_func_type2.py | 4 +- coax/_core/q.py | 4 +- coax/_core/transition_model.py | 6 +- coax/_core/v.py | 2 +- coax/experience_replay/_prioritized.py | 2 +- coax/experience_replay/_simple.py | 2 +- coax/proba_dists/_composite.py | 6 + coax/proba_dists/_composite_test.py | 7 + coax/regularizers/_nstep_entropy.py | 2 +- coax/reward_tracing/_base.py | 2 +- coax/utils/_array.py | 11 +- coax/utils/_array_test.py | 2 +- doc/_intersphinx/haiku.inv | Bin 10057 -> 10279 bytes doc/_intersphinx/haiku.txt | 20 +- doc/_intersphinx/jax.inv | Bin 22067 -> 33623 bytes doc/_intersphinx/jax.txt | 551 +++- doc/_intersphinx/numpy.inv | Bin 75701 -> 77133 bytes doc/_intersphinx/numpy.txt | 150 +- doc/_intersphinx/python3.inv | Bin 112869 -> 125537 bytes doc/_intersphinx/python3.txt | 1933 ++++++++++++- doc/_intersphinx/rllib.inv | Bin 30069 -> 0 bytes doc/_intersphinx/rllib.txt | 2554 ----------------- doc/_intersphinx/sklearn.inv | Bin 72500 -> 73624 bytes doc/_intersphinx/sklearn.txt | 232 +- doc/_notebooks/atari/apex_dqn.ipynb | 2 +- doc/_notebooks/atari/ddpg.ipynb | 2 +- doc/_notebooks/atari/dqn.ipynb | 2 +- doc/_notebooks/atari/dqn_boltzmann.ipynb | 2 +- doc/_notebooks/atari/dqn_per.ipynb | 2 +- doc/_notebooks/atari/dqn_soft.ipynb | 2 +- doc/_notebooks/atari/dqn_type1.ipynb | 2 +- doc/_notebooks/atari/ppo.ipynb | 2 +- doc/_notebooks/cartpole/a2c.ipynb | 2 +- doc/_notebooks/cartpole/dqn.ipynb | 2 +- doc/_notebooks/cartpole/iqn.ipynb | 2 +- doc/_notebooks/cartpole/model_based.ipynb | 2 +- doc/_notebooks/frozen_lake/a2c.ipynb | 2 +- doc/_notebooks/frozen_lake/ddpg.ipynb | 2 +- .../frozen_lake/double_qlearning.ipynb | 2 +- .../frozen_lake/expected_sarsa.ipynb | 2 +- doc/_notebooks/frozen_lake/ppo.ipynb | 2 +- doc/_notebooks/frozen_lake/qlearning.ipynb | 2 +- doc/_notebooks/frozen_lake/reinforce.ipynb | 2 +- doc/_notebooks/frozen_lake/sarsa.ipynb | 2 +- .../stochastic_double_qlearning.ipynb | 2 +- .../stochastic_expected_sarsa.ipynb | 2 +- .../frozen_lake/stochastic_qlearning.ipynb | 2 +- .../frozen_lake/stochastic_sarsa.ipynb | 2 +- doc/_notebooks/frozen_lake/td3.ipynb | 2 +- doc/_notebooks/linear_regression/haiku.ipynb | 4 +- doc/_notebooks/linear_regression/jax.ipynb | 4 +- doc/_notebooks/pendulum/ddpg.ipynb | 2 +- doc/_notebooks/pendulum/dsac.ipynb | 2 +- doc/_notebooks/pendulum/ppo.ipynb | 2 +- doc/_notebooks/pendulum/sac.ipynb | 2 +- doc/_notebooks/pendulum/td3.ipynb | 2 +- doc/_notebooks/pendulum/td4.ipynb | 2 +- doc/_notebooks/prerequisites/haiku.ipynb | 2 +- doc/_notebooks/prerequisites/jax.ipynb | 2 +- doc/_notebooks/stubs/a2c.ipynb | 2 +- doc/_notebooks/stubs/ddpg.ipynb | 2 +- doc/_notebooks/stubs/dqn.ipynb | 2 +- doc/_notebooks/stubs/dqn_per.ipynb | 2 +- doc/_notebooks/stubs/iqn.ipynb | 2 +- doc/_notebooks/stubs/ppo.ipynb | 2 +- doc/_notebooks/stubs/qlearning.ipynb | 2 +- doc/_notebooks/stubs/reinforce.ipynb | 2 +- doc/_notebooks/stubs/sarsa.ipynb | 2 +- doc/_notebooks/stubs/soft_qlearning.ipynb | 2 +- doc/_notebooks/stubs/td3.ipynb | 2 +- doc/conf.py | 1 - doc/create_notebooks.py | 2 +- doc/examples/linear_regression/haiku.py | 2 +- doc/examples/linear_regression/jax.py | 2 +- .../pendulum/experiments/ddpg_standalone.py | 2 +- doc/release_notes.rst | 21 + doc/versions.html | 2 +- requirements.dev.txt | 4 +- requirements.doc.txt | 4 +- requirements.txt | 10 +- upgrade_requirements.py | 17 +- 85 files changed, 2813 insertions(+), 2862 deletions(-) delete mode 100644 doc/_intersphinx/rllib.inv delete mode 100644 doc/_intersphinx/rllib.txt diff --git a/coax/__init__.py b/coax/__init__.py index 169abdc..0e3c8dd 100644 --- a/coax/__init__.py +++ b/coax/__init__.py @@ -1,4 +1,4 @@ -__version__ = '0.1.10' +__version__ = '0.1.11' # expose specific classes and functions @@ -73,8 +73,8 @@ import gym -if 'ConnectFour-v0' in gym.envs.registry.env_specs: - del gym.envs.registry.env_specs['ConnectFour-v0'] +if 'ConnectFour-v0' in gym.envs.registry: + del gym.envs.registry['ConnectFour-v0'] gym.envs.register( id='ConnectFour-v0', @@ -82,8 +82,8 @@ ) -if 'FrozenLakeNonSlippery-v0' in gym.envs.registry.env_specs: - del gym.envs.registry.env_specs['FrozenLakeNonSlippery-v0'] +if 'FrozenLakeNonSlippery-v0' in gym.envs.registry: + del gym.envs.registry['FrozenLakeNonSlippery-v0'] gym.envs.register( id='FrozenLakeNonSlippery-v0', diff --git a/coax/_base/test_case.py b/coax/_base/test_case.py index 7d1d659..11c40ea 100644 --- a/coax/_base/test_case.py +++ b/coax/_base/test_case.py @@ -322,13 +322,13 @@ def assertArrayNotEqual(self, x, y, margin=margin): def assertPytreeAlmostEqual(self, x, y, decimal=None): decimal = decimal or self.decimal - jax.tree_multimap( + jax.tree_map( lambda x, y: onp.testing.assert_array_almost_equal( x, y, decimal=decimal), x, y) def assertPytreeNotEqual(self, x, y, margin=None): margin = margin or self.margin - reldiff = jax.tree_multimap( + reldiff = jax.tree_map( lambda a, b: abs(2 * (a - b) / (a + b + 1e-16)), x, y) maxdiff = max(jnp.max(d) for d in jax.tree_leaves(reldiff)) assert float(maxdiff) > margin diff --git a/coax/_core/base_func.py b/coax/_core/base_func.py index 4d0d19d..50f8f3e 100644 --- a/coax/_core/base_func.py +++ b/coax/_core/base_func.py @@ -85,7 +85,7 @@ def __init__(self, func, observation_space, action_space=None, random_seed=None) self._check_output(output, example_data.output) def soft_update_func(old, new, tau): - return jax.tree_multimap(lambda a, b: (1 - tau) * a + tau * b, old, new) + return jax.tree_map(lambda a, b: (1 - tau) * a + tau * b, old, new) self._soft_update_func = jit(soft_update_func) diff --git a/coax/_core/base_stochastic_func_type1.py b/coax/_core/base_stochastic_func_type1.py index bf1c8b3..b888215 100644 --- a/coax/_core/base_stochastic_func_type1.py +++ b/coax/_core/base_stochastic_func_type1.py @@ -217,12 +217,12 @@ def example_data( # input: state observations S = [safe_sample(env.observation_space, rnd) for _ in range(batch_size)] S = [observation_preprocessor(next(rngs), s) for s in S] - S = jax.tree_multimap(lambda *x: jnp.concatenate(x, axis=0), *S) + S = jax.tree_map(lambda *x: jnp.concatenate(x, axis=0), *S) # input: actions A = [safe_sample(env.action_space, rnd) for _ in range(batch_size)] A = [action_preprocessor(next(rngs), a) for a in A] - A = jax.tree_multimap(lambda *x: jnp.concatenate(x, axis=0), *A) + A = jax.tree_map(lambda *x: jnp.concatenate(x, axis=0), *A) # output: type1 dist_params_type1 = jax.tree_map( @@ -425,7 +425,7 @@ def _check_output(self, actual, expected): f"found leaves of type: {bad_types}") if not all(a.shape == b.shape for a, b in zip(actual_leaves, expected_leaves)): - shapes_tree = jax.tree_multimap( + shapes_tree = jax.tree_map( lambda a, b: f"{a.shape} {'!=' if a.shape != b.shape else '=='} {b.shape}", actual, expected) raise TypeError(f"found leaves with unexpected shapes: {shapes_tree}") diff --git a/coax/_core/base_stochastic_func_type2.py b/coax/_core/base_stochastic_func_type2.py index 84299e2..5ae1fac 100644 --- a/coax/_core/base_stochastic_func_type2.py +++ b/coax/_core/base_stochastic_func_type2.py @@ -158,7 +158,7 @@ def example_data( # input: state observations S = [safe_sample(env.observation_space, rnd) for _ in range(batch_size)] S = [observation_preprocessor(next(rngs), s) for s in S] - S = jax.tree_multimap(lambda *x: jnp.concatenate(x, axis=0), *S) + S = jax.tree_map(lambda *x: jnp.concatenate(x, axis=0), *S) # output dist_params = jax.tree_map( @@ -201,7 +201,7 @@ def _check_output(self, actual, expected): f"found leaves of type: {bad_types}") if not all(a.shape == b.shape for a, b in zip(actual_leaves, expected_leaves)): - shapes_tree = jax.tree_multimap( + shapes_tree = jax.tree_map( lambda a, b: f"{a.shape} {'!=' if a.shape != b.shape else '=='} {b.shape}", actual, expected) raise TypeError(f"found leaves with unexpected shapes: {shapes_tree}") diff --git a/coax/_core/q.py b/coax/_core/q.py index 033cf41..05f83b9 100644 --- a/coax/_core/q.py +++ b/coax/_core/q.py @@ -226,12 +226,12 @@ def example_data( # input: state observations S = [safe_sample(env.observation_space, rnd) for _ in range(batch_size)] S = [observation_preprocessor(next(rngs), s) for s in S] - S = jax.tree_multimap(lambda *x: jnp.concatenate(x, axis=0), *S) + S = jax.tree_map(lambda *x: jnp.concatenate(x, axis=0), *S) # input: actions A = [safe_sample(env.action_space, rnd) for _ in range(batch_size)] A = [action_preprocessor(next(rngs), a) for a in A] - A = jax.tree_multimap(lambda *x: jnp.concatenate(x, axis=0), *A) + A = jax.tree_map(lambda *x: jnp.concatenate(x, axis=0), *A) # output: type1 q1_data = ExampleData( diff --git a/coax/_core/transition_model.py b/coax/_core/transition_model.py index 45040c8..2d5833f 100644 --- a/coax/_core/transition_model.py +++ b/coax/_core/transition_model.py @@ -240,12 +240,12 @@ def example_data( # input: state observations S = [safe_sample(env.observation_space, rnd) for _ in range(batch_size)] S = [observation_preprocessor(next(rngs), s) for s in S] - S = jax.tree_multimap(lambda *x: jnp.concatenate(x, axis=0), *S) + S = jax.tree_map(lambda *x: jnp.concatenate(x, axis=0), *S) # input: actions A = [safe_sample(env.action_space, rnd) for _ in range(batch_size)] A = [action_preprocessor(next(rngs), a) for a in A] - A = jax.tree_multimap(lambda *x: jnp.concatenate(x, axis=0), *A) + A = jax.tree_map(lambda *x: jnp.concatenate(x, axis=0), *A) # output: type1 S_next_type1 = jax.tree_map(lambda x: jnp.asarray(rnd.randn(batch_size, *x.shape[1:])), S) @@ -312,7 +312,7 @@ def _check_output(self, actual, expected): f"found leaves of type: {bad_types}") if not all(a.shape == b.shape for a, b in zip(actual_leaves, expected_leaves)): - shapes_tree = jax.tree_multimap( + shapes_tree = jax.tree_map( lambda a, b: f"{a.shape} {'!=' if a.shape != b.shape else '=='} {b.shape}", actual, expected) raise TypeError(f"found leaves with unexpected shapes: {shapes_tree}") diff --git a/coax/_core/v.py b/coax/_core/v.py index b7f2815..01d6ab9 100644 --- a/coax/_core/v.py +++ b/coax/_core/v.py @@ -123,7 +123,7 @@ def example_data(cls, env, observation_preprocessor=None, batch_size=1, random_s # input: state observations S = [safe_sample(env.observation_space, rnd) for _ in range(batch_size)] S = [observation_preprocessor(next(rngs), s) for s in S] - S = jax.tree_multimap(lambda *x: jnp.concatenate(x, axis=0), *S) + S = jax.tree_map(lambda *x: jnp.concatenate(x, axis=0), *S) return ExampleData( inputs=Inputs(args=ArgsType2(S=S, is_training=True), static_argnums=(1,)), diff --git a/coax/experience_replay/_prioritized.py b/coax/experience_replay/_prioritized.py index fbd58dd..fa761f0 100644 --- a/coax/experience_replay/_prioritized.py +++ b/coax/experience_replay/_prioritized.py @@ -222,7 +222,7 @@ def __iter__(self): def _concatenate_leaves(pytrees): - return jax.tree_multimap(lambda *leaves: onp.concatenate(leaves, axis=0), *pytrees) + return jax.tree_map(lambda *leaves: onp.concatenate(leaves, axis=0), *pytrees) @onp.vectorize diff --git a/coax/experience_replay/_simple.py b/coax/experience_replay/_simple.py index 906c4f1..797b990 100644 --- a/coax/experience_replay/_simple.py +++ b/coax/experience_replay/_simple.py @@ -80,7 +80,7 @@ def sample(self, batch_size=32): random.setstate(self._random_state) transitions = random.sample(self._storage, batch_size) self._random_state = random.getstate() - return jax.tree_multimap(lambda *leaves: onp.concatenate(leaves, axis=0), *transitions) + return jax.tree_map(lambda *leaves: onp.concatenate(leaves, axis=0), *transitions) def clear(self): r""" Clear the experience replay buffer. """ diff --git a/coax/proba_dists/_composite.py b/coax/proba_dists/_composite.py index 7f33d75..eb1615b 100644 --- a/coax/proba_dists/_composite.py +++ b/coax/proba_dists/_composite.py @@ -263,6 +263,12 @@ def preprocess_variate(self, rng, X): if self._structure_type == StructureType.LEAF: return self._structure.preprocess_variate(next(rngs), X) + if isinstance(self.space, (gym.spaces.MultiDiscrete, gym.spaces.MultiBinary)): + assert self._structure_type == StructureType.LIST + return [ + dist.preprocess_variate(next(rngs), X[..., i]) + for i, dist in enumerate(self._structure)] + if self._structure_type == StructureType.LIST: return [ dist.preprocess_variate(next(rngs), X[i]) diff --git a/coax/proba_dists/_composite_test.py b/coax/proba_dists/_composite_test.py index 8528d08..6e91f57 100644 --- a/coax/proba_dists/_composite_test.py +++ b/coax/proba_dists/_composite_test.py @@ -259,3 +259,10 @@ def test_prepostprocess_variate(self): self.assertNotIn(X_raw['multidiscrete'][0], space['multidiscrete']) self.assertIn(X_clean['multidiscrete'][0], space['multidiscrete']) self.assertIn(x_clean['multidiscrete'], space['multidiscrete']) + # Check if bijective. + X_clean_ = dist.postprocess_variate( + next(self.rngs), dist.preprocess_variate(next(self.rngs), X_clean), batch_mode=True) + x_clean_ = dist.postprocess_variate( + next(self.rngs), dist.preprocess_variate(next(self.rngs), x_clean), batch_mode=False) + self.assertPytreeAlmostEqual(X_clean_, X_clean) + self.assertPytreeAlmostEqual(x_clean_, x_clean) diff --git a/coax/regularizers/_nstep_entropy.py b/coax/regularizers/_nstep_entropy.py index 9cbed45..c7eff80 100644 --- a/coax/regularizers/_nstep_entropy.py +++ b/coax/regularizers/_nstep_entropy.py @@ -92,7 +92,7 @@ def f(s_next): self.f.observation_preprocessor( next(rngs), s_next), True) n_states = transition_batch.extra_info['states'] - dist_params, _ = jax.vmap(f)(jax.tree_util.tree_multimap( + dist_params, _ = jax.vmap(f)(jax.tree_util.tree_map( lambda *t: jnp.stack(t), *n_states)) dist_params = jax.tree_util.tree_map( lambda t: jnp.take(t, self._n, axis=0), dist_params) diff --git a/coax/reward_tracing/_base.py b/coax/reward_tracing/_base.py index 9b18e69..8285cce 100644 --- a/coax/reward_tracing/_base.py +++ b/coax/reward_tracing/_base.py @@ -90,4 +90,4 @@ def flush(self): while self: transitions.append(self.pop()) - return jax.tree_multimap(lambda *leaves: onp.concatenate(leaves, axis=0), *transitions) + return jax.tree_map(lambda *leaves: onp.concatenate(leaves, axis=0), *transitions) diff --git a/coax/utils/_array.py b/coax/utils/_array.py index 6d5be87..d473965 100644 --- a/coax/utils/_array.py +++ b/coax/utils/_array.py @@ -230,7 +230,7 @@ def test_leaves(a, b): if jax.tree_structure(y) != jax.tree_structure(y0): return False try: - jax.tree_multimap(test_leaves, y, y0) + jax.tree_map(test_leaves, y, y0) except AssertionError: return False return True @@ -625,7 +625,7 @@ def get_transition_batch(env, batch_size=1, gamma=0.9, random_seed=None): def batch_sample(space): max_seed = onp.iinfo('int32').max X = [safe_sample(space, seed=rnd.randint(max_seed)) for _ in range(batch_size)] - return jax.tree_multimap(lambda *leaves: onp.stack(leaves, axis=0), *X) + return jax.tree_map(lambda *leaves: onp.stack(leaves, axis=0), *X) return TransitionBatch( S=batch_sample(env.observation_space), @@ -1059,16 +1059,19 @@ def _check_leaf_batch_size(pytree): def stack_trees(*trees): """ - Stack + Apply :func:`jnp.stack ` to the leaves of a pytree. + Parameters ---------- trees : sequence of pytrees with ndarray leaves A typical example are pytrees containing the parameters and function states of a model that should be used in a function which is vectorized by `jax.vmap`. The trees have to have the same pytree structure. + Returns ------- pytree : pytree with ndarray leaves A tuple of pytrees. + """ - return jax.tree_util.tree_multimap(lambda *args: jnp.stack(args), *zip(*trees)) + return jax.tree_util.tree_map(lambda *args: jnp.stack(args), *zip(*trees)) diff --git a/coax/utils/_array_test.py b/coax/utils/_array_test.py index 91a8035..3a793d0 100644 --- a/coax/utils/_array_test.py +++ b/coax/utils/_array_test.py @@ -94,7 +94,7 @@ def test_default_preprocessor(self): self.assertArrayShape(default_preprocessor(dct)(next(rngs), dct.sample())['mds'][0], (1, 3)) self.assertArrayShape(default_preprocessor(dct)(next(rngs), dct.sample())['mds'][1], (1, 5)) - mds_batch = jax.tree_multimap(lambda *x: jnp.stack(x), *(mds.sample() for _ in range(7))) + mds_batch = jax.tree_map(lambda *x: jnp.stack(x), *(mds.sample() for _ in range(7))) self.assertArrayShape(default_preprocessor(mds)(next(rngs), mds_batch)[0], (7, 3)) self.assertArrayShape(default_preprocessor(mds)(next(rngs), mds_batch)[1], (7, 5)) diff --git a/doc/_intersphinx/haiku.inv b/doc/_intersphinx/haiku.inv index 68b07297d7996139f1dc73a102e6d873d428607c..08ee1ccbd8dbc4474883b3d3cb44b550cd76f9be 100644 GIT binary patch delta 10153 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 Sf~))#TL~{O;Qt4xXMl_RRvV)L diff --git a/doc/_intersphinx/haiku.txt b/doc/_intersphinx/haiku.txt index 43c5375..f9f398d 100644 --- a/doc/_intersphinx/haiku.txt +++ b/doc/_intersphinx/haiku.txt @@ -30,6 +30,7 @@ py:attribute haiku.TransformedWithState.init api.html#haiku.TransformedWithState.init haiku.experimental.ArraySpec.dtype api.html#haiku.experimental.ArraySpec.dtype haiku.experimental.ArraySpec.shape api.html#haiku.experimental.ArraySpec.shape + haiku.experimental.DO_NOT_STORE api.html#haiku.experimental.DO_NOT_STORE haiku.experimental.MethodInvocation.args_spec api.html#haiku.experimental.MethodInvocation.args_spec haiku.experimental.MethodInvocation.call_stack api.html#haiku.experimental.MethodInvocation.call_stack haiku.experimental.MethodInvocation.context api.html#haiku.experimental.MethodInvocation.context @@ -161,7 +162,9 @@ py:function haiku.expand_apply api.html#haiku.expand_apply haiku.experimental.abstract_to_dot api.html#haiku.experimental.abstract_to_dot haiku.experimental.check_jax_usage api.html#haiku.experimental.check_jax_usage + haiku.experimental.current_name api.html#haiku.experimental.current_name haiku.experimental.eval_summary api.html#haiku.experimental.eval_summary + haiku.experimental.fast_eval_shape api.html#haiku.experimental.fast_eval_shape haiku.experimental.jaxpr_info.as_html api.html#haiku.experimental.jaxpr_info.as_html haiku.experimental.jaxpr_info.as_html_page api.html#haiku.experimental.jaxpr_info.as_html_page haiku.experimental.jaxpr_info.css api.html#haiku.experimental.jaxpr_info.css @@ -178,6 +181,8 @@ py:function haiku.experimental.profiler_name_scopes api.html#haiku.experimental.profiler_name_scopes haiku.experimental.tabulate api.html#haiku.experimental.tabulate haiku.experimental.to_dot api.html#haiku.experimental.to_dot + haiku.experimental.transparent_lift api.html#haiku.experimental.transparent_lift + haiku.experimental.transparent_lift_with_state api.html#haiku.experimental.transparent_lift_with_state haiku.fori_loop api.html#haiku.fori_loop haiku.get_channel_index api.html#haiku.get_channel_index haiku.get_parameter api.html#haiku.get_parameter @@ -411,6 +416,7 @@ std:label /api.rst#create-from-padfn create_from_padfn : api.html#create-from-padfn /api.rst#create-from-tuple create_from_tuple : api.html#create-from-tuple /api.rst#css css : api.html#css + /api.rst#current-name current_name : api.html#current-name /api.rst#current-policy current_policy : api.html#current-policy /api.rst#custom-creator custom_creator : api.html#custom-creator /api.rst#custom-getter custom_getter : api.html#custom-getter @@ -420,6 +426,7 @@ std:label /api.rst#depthwiseconv1d DepthwiseConv1D : api.html#depthwiseconv1d /api.rst#depthwiseconv2d DepthwiseConv2D : api.html#depthwiseconv2d /api.rst#depthwiseconv3d DepthwiseConv3D : api.html#depthwiseconv3d + /api.rst#do-not-store DO_NOT_STORE : api.html#do-not-store /api.rst#dropout Dropout : api.html#dropout /api.rst#dynamic-unroll dynamic_unroll : api.html#dynamic-unroll /api.rst#emaparamstree EMAParamsTree : api.html#emaparamstree @@ -431,6 +438,7 @@ std:label /api.rst#expand-apply expand_apply : api.html#expand-apply /api.rst#exponentialmovingaverage ExponentialMovingAverage : api.html#exponentialmovingaverage /api.rst#expression Expression : api.html#expression + /api.rst#fast-eval-shape fast_eval_shape : api.html#fast-eval-shape /api.rst#filter filter : api.html#filter /api.rst#flatten Flatten : api.html#flatten /api.rst#fori-loop fori_loop : api.html#fori-loop @@ -536,7 +544,10 @@ std:label /api.rst#haiku.experimental.arrayspec.dtype haiku.experimental.ArraySpec.dtype : api.html#haiku.experimental.ArraySpec.dtype /api.rst#haiku.experimental.arrayspec.shape haiku.experimental.ArraySpec.shape : api.html#haiku.experimental.ArraySpec.shape /api.rst#haiku.experimental.check_jax_usage haiku.experimental.check_jax_usage : api.html#haiku.experimental.check_jax_usage + /api.rst#haiku.experimental.current_name haiku.experimental.current_name : api.html#haiku.experimental.current_name + /api.rst#haiku.experimental.do_not_store haiku.experimental.DO_NOT_STORE : api.html#haiku.experimental.DO_NOT_STORE /api.rst#haiku.experimental.eval_summary haiku.experimental.eval_summary : api.html#haiku.experimental.eval_summary + /api.rst#haiku.experimental.fast_eval_shape haiku.experimental.fast_eval_shape : api.html#haiku.experimental.fast_eval_shape /api.rst#haiku.experimental.jaxpr_info.as_html haiku.experimental.jaxpr_info.as_html : api.html#haiku.experimental.jaxpr_info.as_html /api.rst#haiku.experimental.jaxpr_info.as_html_page haiku.experimental.jaxpr_info.as_html_page: api.html#haiku.experimental.jaxpr_info.as_html_page /api.rst#haiku.experimental.jaxpr_info.css haiku.experimental.jaxpr_info.css : api.html#haiku.experimental.jaxpr_info.css @@ -568,6 +579,8 @@ std:label /api.rst#haiku.experimental.profiler_name_scopes haiku.experimental.profiler_name_scopes : api.html#haiku.experimental.profiler_name_scopes /api.rst#haiku.experimental.tabulate haiku.experimental.tabulate : api.html#haiku.experimental.tabulate /api.rst#haiku.experimental.to_dot haiku.experimental.to_dot : api.html#haiku.experimental.to_dot + /api.rst#haiku.experimental.transparent_lift haiku.experimental.transparent_lift : api.html#haiku.experimental.transparent_lift + /api.rst#haiku.experimental.transparent_lift_with_state haiku.experimental.transparent_lift_with_state: api.html#haiku.experimental.transparent_lift_with_state /api.rst#haiku.exponentialmovingaverage haiku.ExponentialMovingAverage : api.html#haiku.ExponentialMovingAverage /api.rst#haiku.exponentialmovingaverage.__call__ haiku.ExponentialMovingAverage.__call__ : api.html#haiku.ExponentialMovingAverage.__call__ /api.rst#haiku.exponentialmovingaverage.__init__ haiku.ExponentialMovingAverage.__init__ : api.html#haiku.ExponentialMovingAverage.__init__ @@ -801,8 +814,8 @@ std:label /api.rst#id1 Linear : api.html#id1 /api.rst#id11 ResNet : api.html#id11 /api.rst#id12 VectorQuantizer : api.html#id12 - /api.rst#id13 Module : api.html#id13 - /api.rst#id14 Utilities : api.html#id14 + /api.rst#id15 Module : api.html#id15 + /api.rst#id16 Utilities : api.html#id16 /api.rst#id2 dropout : api.html#id2 /api.rst#identity Identity : api.html#identity /api.rst#identitycore IdentityCore : api.html#identitycore @@ -920,6 +933,8 @@ std:label /api.rst#transformed Transformed : api.html#transformed /api.rst#transformedwithstate TransformedWithState : api.html#transformedwithstate /api.rst#transparent transparent : api.html#transparent + /api.rst#transparent-lift transparent_lift : api.html#transparent-lift + /api.rst#transparent-lift-with-state transparent_lift_with_state : api.html#transparent-lift-with-state /api.rst#traverse traverse : api.html#traverse /api.rst#tree-bytes tree_bytes : api.html#tree-bytes /api.rst#tree-size tree_size : api.html#tree-size @@ -969,6 +984,7 @@ std:label /notebooks/jax2tf.ipynb#saving Saving : notebooks/jax2tf.html#Saving /notebooks/jax2tf.ipynb#train-using-tensorflow Train using TensorFlow : notebooks/jax2tf.html#Train-using-TensorFlow /notebooks/non_trainable.ipynb Training a subset of parameters : notebooks/non_trainable.html + /notebooks/non_trainable.ipynb#freezing-layers-with-optax Freezing layers with Optax : notebooks/non_trainable.html#Freezing-layers-with-Optax /notebooks/non_trainable.ipynb#training-a-subset-of-parameters Training a subset of parameters : notebooks/non_trainable.html#Training-a-subset-of-parameters /notebooks/parameter_sharing.ipynb Parameter sharing in Haiku : notebooks/parameter_sharing.html /notebooks/parameter_sharing.ipynb#case-1:-all-modules-have-the-same-names,-and-the-same-shape Case 1: All modules have the same names, and the same shape: notebooks/parameter_sharing.html#Case-1:-All-modules-have-the-same-names,-and-the-same-shape diff --git a/doc/_intersphinx/jax.inv b/doc/_intersphinx/jax.inv index d24df754f56b19b8d381ee0d7b0286650dca4f37..c9ee66e30ae5539dbb798093038527f02e7fc694 100644 GIT binary patch literal 33623 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 literal 22067 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�sXO_Um z#Qd!wbhoo63f5G`K_zzWUQ1`Mbvj`27{86^`~~b0xKW%_ccSy^-g5@;HkX>&tz9VV zPHeO@dXo{j)M95f{9<-YFrnYuMb~0(Sj^;#2?*{#w8J$8n8G4um^6f9e7>$2p9#g7 zG#^+i?77irW+!UVuVzC8nGX5wr$67Ul0UHSwJC2a(djh*F+k1Cib4ir@`^Ff68`DG z+ z?$>;0|Gd$Ee<)>B4ocs)%hicoB>Rv#!Nl}R?DUPVIc$Qa^eJjq_R<`?4`u2nx@CdQ z!Vr7^nTh*hL)Xhwp>JKq&{mtzkAh6+KPTVlJLgR!8?$v@!PG&UbT^)J7|ezO6>k+U zgS*xu*)c!8_D3x-yq|~Dr`MY^SDg(S+Scs7)yi7vqf~M8k&13>_q_XqFG$6eINMX- ztv#Yre=KeK&5wWm^oPIx_~}LswT9>yS94Hr-8-h~4Am9!W?VI}TNff&kT%S9R^Qw7 zo1abk8llfm;eYSuY2Sy1PJL=!`v^E|=+Vqd3!uY!TzrJCZSbhIsw{~#TELx2M?0rzy z_Pm%7dm${FNi#zK;Z9fQ4D|hq>)URBtIezKR_<^0k-uHc?}hxnAERz;l&OHG*naY^ z<;rHh)q%fxFo>H`XM?PBcWZCZXyBha>$PX5$Kj^ej~aKM{C^xm^d?^4+)BLoTI3&D zod)n5elfefO=0@i$f4KA&i$0GmM^#FV2+FWV#tc?=eAi0YPvz*h|b)I^pDXD^MLZ0 z5BjQnVXC@4nZ6>|7TCM1LI0?eVIOMQb>jjL|722cmqE8v(CvrOjny~$+SASV(`mdw zW3(yib{Td1;lP{uPCotCG1XQ6Kij3lN9ywWSUK4<^~0z#w<+!1eK@qkc(Y)2EyIT* zC~(9dKKailbUk%{7|)jZ8ve;7jrHcok@Hu}x$zu*|IiQO?!VozCw2o? zmVeeoSpDM1u`T&&*y#p>X%zpPNxU&zv9JR-`rG@D_kZ|!Z!feR>&9zjCWM0d7=GK` zd|Q^h=B|$0i*ANKm`iWlVheLUPPaAm5xw~=PF&x-%r)Uo!HejR{`mUHuWrX}If9df zY33&NiJ7G_|GEN*W^M2RbecLjnYd^0=cLISc zg)ga3xcQTLF2D!kf83fe5)LALo`d~n{<$A&TU-27E&SQv+_sPFZ+|vf z-<3_y1PN{>s|*MDJeUf_YWKFLGi~&uNiy967L5{fwa?8G6EJnwO!Dy}HZP=8ZK~F_ z$%c+U6N)rf*R5!7dvkS_i>vFu>L`2Pm`>KMY5cK1DE9a=>50>+oaBaLmUP&Q?FH{s z=lh2Hdr(v1@ARv&du?0q_P)uQ`)ihZeG}AgCJs}#n;moJ)J3pUE#ma!-s}xr=+^|r zln5@7P%zWN*v0J?2ppIEPy~}%8}VBbW53A^K3>wEMiq0jl$DRJ0m42&>ySR@Et!jm z^}$-mb+ci|>Tz=erWAXP;sHHu36hZ?ba#|pUzED4?|_PhD-q{44fA~Debni3xi(!8 ziBW4Q+b+tr3WV&UG4_ci&_;leZ7c=`Zr-5)0ozy%>{gP9qWxkMFxyk*1v||$st&L2dU+|=>z3c0=@Z%N#bVJBlfTqA+oqOIS?qMx zY{Yk>5oSsNc&poFFEQ)56?1wET#{_x-Fm~VRTNO`SJm9)FZJVo7~7y}pNwGVjAbow z4YX~nUqE-Wpzg}n_H1n9TzAKM4#_HN8V}k=&I3i^*wKe&s9JdL@W$-qcRA zDdt_mKJnY_accbm`it2|P(LeN*U672V;K;64K;l^x~|@qt_$OKZ{Cz+Z4uwsabtyZ zdqkfV;H|ZNy&W@LL4UF*&%eLgsh)-34r}?#RvG>mc4Oy^ZgkrGTXTQ6JuU9fk;9v_ zP_i+%j?P(_N2-6L-1a`L`pW)kRNqeOpL~jbb2fW-|52J*LSycS`2|xqi%+sCevo~6 zWM*rx!W4D!lM+(*Bmcku^S}SE{f)ObpO5_Jw&c97MogW`@_k)|IdVF(>^pLHE!|0`$_4aqva zy}cQjJK!HoY{&H#ik#}_L6lE+^DMYfbN>9s_McPQ0@NQxW4Z{;iGIW?$VN0@FZwO} zv&jn&q#5ULc~zL@J@oBxhn$~4Huv)E%m}GDXgcq!@9wb8 zO5!YjW+(mL$u1gcZuXpYueZItRr-aZGi|b|+v7v4Zp$MtpY$J_xAS1=(su^5LtWq4 zL4?k9N&DCj;3&&xTxA+b@%JLzh1-2-%@nBBUSW}kuMtlj!TLeGcw8o)qy9#_dYl3s zPOCnqv0I5U4l`=ko2eErOl=1SVTE)2Rp;HzLu)?ogW@`YZ^p8)XR;ID&f@vNn_=1; zmw#h+`w$J+Y%}u6^LqA|LCc93HcFI-6jF z+RZ1po$gkN8u1r5{a})R@M9Iz*u}Mj7Oq46b{xA{3|jp4$8pdCybk{P!wY9m_Q0ji iq7mL&;q8a%-yP*l{!OdvSF5l5kmUH(`TqeA=a3I$^fQqF diff --git a/doc/_intersphinx/jax.txt b/doc/_intersphinx/jax.txt index 45a5899..461a57d 100644 --- a/doc/_intersphinx/jax.txt +++ b/doc/_intersphinx/jax.txt @@ -63,10 +63,9 @@ py:class jax._src.lax.slicing.ScatterDimensionNumbers jax.lax.html#jax.lax.ScatterDimensionNumbers jax._src.numpy.ndarray.ndarray _autosummary/jax.numpy.ndarray.html#jax.numpy.ndarray jax._src.profiler.StepTraceAnnotation _autosummary/jax.profiler.StepTraceAnnotation.html#jax.profiler.StepTraceAnnotation - jax._src.profiler.StepTraceContext _autosummary/jax.profiler.StepTraceContext.html#jax.profiler.StepTraceContext jax._src.profiler.TraceAnnotation _autosummary/jax.profiler.TraceAnnotation.html#jax.profiler.TraceAnnotation - jax._src.profiler.TraceContext _autosummary/jax.profiler.TraceContext.html#jax.profiler.TraceContext jax._src.scipy.optimize.minimize.OptimizeResults _autosummary/jax.scipy.optimize.OptimizeResults.html#jax.scipy.optimize.OptimizeResults + jax._src.scipy.stats.kde.gaussian_kde _autosummary/jax.scipy.stats.gaussian_kde.html#jax.scipy.stats.gaussian_kde jax._src.tree_util.Partial _autosummary/jax.tree_util.Partial.html#jax.tree_util.Partial jax.core.ClosedJaxpr _autosummary/jax.core.ClosedJaxpr.html#jax.core.ClosedJaxpr jax.core.Jaxpr _autosummary/jax.core.Jaxpr.html#jax.core.Jaxpr @@ -124,15 +123,13 @@ py:class jax.numpy.uint8 _autosummary/jax.numpy.uint8.html#jax.numpy.uint8 jax.numpy.unsignedinteger _autosummary/jax.numpy.unsignedinteger.html#jax.numpy.unsignedinteger jax.profiler.StepTraceAnnotation _autosummary/jax.profiler.StepTraceAnnotation.html#jax.profiler.StepTraceAnnotation - jax.profiler.StepTraceContext _autosummary/jax.profiler.StepTraceContext.html#jax.profiler.StepTraceContext jax.profiler.TraceAnnotation _autosummary/jax.profiler.TraceAnnotation.html#jax.profiler.TraceAnnotation - jax.profiler.TraceContext _autosummary/jax.profiler.TraceContext.html#jax.profiler.TraceContext jax.scipy.optimize.OptimizeResults _autosummary/jax.scipy.optimize.OptimizeResults.html#jax.scipy.optimize.OptimizeResults + jax.scipy.stats.gaussian_kde _autosummary/jax.scipy.stats.gaussian_kde.html#jax.scipy.stats.gaussian_kde jax.tree_util.Partial _autosummary/jax.tree_util.Partial.html#jax.tree_util.Partial jaxlib.xla_extension.Device _autosummary/jaxlib.xla_extension.Device.html#jaxlib.xla_extension.Device jaxlib.xla_extension.DeviceArray jax.numpy.html#jaxlib.xla_extension.DeviceArray jaxlib.xla_extension.DeviceArrayBase jax.numpy.html#jaxlib.xla_extension.DeviceArrayBase - jaxlib.xla_extension.GpuDevice _autosummary/jaxlib.xla_extension.GpuDevice.html#jaxlib.xla_extension.GpuDevice jaxlib.xla_extension.TpuDevice _autosummary/jaxlib.xla_extension.TpuDevice.html#jaxlib.xla_extension.TpuDevice numpy.character _autosummary/jax.numpy.character.html#jax.numpy.character numpy.complexfloating _autosummary/jax.numpy.complexfloating.html#jax.numpy.complexfloating @@ -153,6 +150,7 @@ py:data jax.config _autosummary/jax.config.html#jax.config jax.debug_infs _autosummary/jax.debug_infs.html#jax.debug_infs jax.debug_nans _autosummary/jax.debug_nans.html#jax.debug_nans + jax.default_device _autosummary/jax.default_device.html#jax.default_device jax.default_matmul_precision _autosummary/jax.default_matmul_precision.html#jax.default_matmul_precision jax.default_prng_impl _autosummary/jax.default_prng_impl.html#jax.default_prng_impl jax.enable_checks _autosummary/jax.enable_checks.html#jax.enable_checks @@ -164,7 +162,6 @@ py:data jax.numpy.index_exp _autosummary/jax.numpy.index_exp.html#jax.numpy.index_exp jax.numpy.linalg.det _autosummary/jax.numpy.linalg.det.html#jax.numpy.linalg.det jax.numpy.linalg.pinv _autosummary/jax.numpy.linalg.pinv.html#jax.numpy.linalg.pinv - jax.numpy.linalg.slogdet _autosummary/jax.numpy.linalg.slogdet.html#jax.numpy.linalg.slogdet jax.numpy.logaddexp _autosummary/jax.numpy.logaddexp.html#jax.numpy.logaddexp jax.numpy.logaddexp2 _autosummary/jax.numpy.logaddexp2.html#jax.numpy.logaddexp2 jax.numpy.mgrid _autosummary/jax.numpy.mgrid.html#jax.numpy.mgrid @@ -247,6 +244,20 @@ py:function jax.experimental.jet.jet jax.experimental.jet.html#jax.experimental.jet.jet jax.experimental.maps.xmap _autosummary/jax.experimental.maps.xmap.html#jax.experimental.maps.xmap jax.experimental.pjit.pjit jax.experimental.pjit.html#jax.experimental.pjit.pjit + jax.experimental.sparse.bcoo_broadcast_in_dim _autosummary/jax.experimental.sparse.bcoo_broadcast_in_dim.html#jax.experimental.sparse.bcoo_broadcast_in_dim + jax.experimental.sparse.bcoo_concatenate _autosummary/jax.experimental.sparse.bcoo_concatenate.html#jax.experimental.sparse.bcoo_concatenate + jax.experimental.sparse.bcoo_dot_general _autosummary/jax.experimental.sparse.bcoo_dot_general.html#jax.experimental.sparse.bcoo_dot_general + jax.experimental.sparse.bcoo_dot_general_sampled _autosummary/jax.experimental.sparse.bcoo_dot_general_sampled.html#jax.experimental.sparse.bcoo_dot_general_sampled + jax.experimental.sparse.bcoo_extract _autosummary/jax.experimental.sparse.bcoo_extract.html#jax.experimental.sparse.bcoo_extract + jax.experimental.sparse.bcoo_fromdense _autosummary/jax.experimental.sparse.bcoo_fromdense.html#jax.experimental.sparse.bcoo_fromdense + jax.experimental.sparse.bcoo_multiply_dense _autosummary/jax.experimental.sparse.bcoo_multiply_dense.html#jax.experimental.sparse.bcoo_multiply_dense + jax.experimental.sparse.bcoo_multiply_sparse _autosummary/jax.experimental.sparse.bcoo_multiply_sparse.html#jax.experimental.sparse.bcoo_multiply_sparse + jax.experimental.sparse.bcoo_reduce_sum _autosummary/jax.experimental.sparse.bcoo_reduce_sum.html#jax.experimental.sparse.bcoo_reduce_sum + jax.experimental.sparse.bcoo_reshape _autosummary/jax.experimental.sparse.bcoo_reshape.html#jax.experimental.sparse.bcoo_reshape + jax.experimental.sparse.bcoo_sort_indices _autosummary/jax.experimental.sparse.bcoo_sort_indices.html#jax.experimental.sparse.bcoo_sort_indices + jax.experimental.sparse.bcoo_sum_duplicates _autosummary/jax.experimental.sparse.bcoo_sum_duplicates.html#jax.experimental.sparse.bcoo_sum_duplicates + jax.experimental.sparse.bcoo_todense _autosummary/jax.experimental.sparse.bcoo_todense.html#jax.experimental.sparse.bcoo_todense + jax.experimental.sparse.bcoo_transpose _autosummary/jax.experimental.sparse.bcoo_transpose.html#jax.experimental.sparse.bcoo_transpose jax.experimental.sparse.sparsify _autosummary/jax.experimental.sparse.sparsify.html#jax.experimental.sparse.sparsify jax.flatten_util.ravel_pytree _autosummary/jax.flatten_util.ravel_pytree.html#jax.flatten_util.ravel_pytree jax.grad _autosummary/jax.grad.html#jax.grad @@ -421,6 +432,7 @@ py:function jax.local_devices _autosummary/jax.local_devices.html#jax.local_devices jax.make_jaxpr _autosummary/jax.make_jaxpr.html#jax.make_jaxpr jax.named_call _autosummary/jax.named_call.html#jax.named_call + jax.named_scope _autosummary/jax.named_scope.html#jax.named_scope jax.nn.celu _autosummary/jax.nn.celu.html#jax.nn.celu jax.nn.elu _autosummary/jax.nn.elu.html#jax.nn.elu jax.nn.gelu _autosummary/jax.nn.gelu.html#jax.nn.gelu @@ -586,6 +598,7 @@ py:function jax.numpy.fmin _autosummary/jax.numpy.fmin.html#jax.numpy.fmin jax.numpy.fmod _autosummary/jax.numpy.fmod.html#jax.numpy.fmod jax.numpy.frexp _autosummary/jax.numpy.frexp.html#jax.numpy.frexp + jax.numpy.from_dlpack _autosummary/jax.numpy.from_dlpack.html#jax.numpy.from_dlpack jax.numpy.frombuffer _autosummary/jax.numpy.frombuffer.html#jax.numpy.frombuffer jax.numpy.fromfile _autosummary/jax.numpy.fromfile.html#jax.numpy.fromfile jax.numpy.fromfunction _autosummary/jax.numpy.fromfunction.html#jax.numpy.fromfunction @@ -656,6 +669,7 @@ py:function jax.numpy.linalg.multi_dot _autosummary/jax.numpy.linalg.multi_dot.html#jax.numpy.linalg.multi_dot jax.numpy.linalg.norm _autosummary/jax.numpy.linalg.norm.html#jax.numpy.linalg.norm jax.numpy.linalg.qr _autosummary/jax.numpy.linalg.qr.html#jax.numpy.linalg.qr + jax.numpy.linalg.slogdet _autosummary/jax.numpy.linalg.slogdet.html#jax.numpy.linalg.slogdet jax.numpy.linalg.solve _autosummary/jax.numpy.linalg.solve.html#jax.numpy.linalg.solve jax.numpy.linalg.svd _autosummary/jax.numpy.linalg.svd.html#jax.numpy.linalg.svd jax.numpy.linalg.tensorinv _autosummary/jax.numpy.linalg.tensorinv.html#jax.numpy.linalg.tensorinv @@ -822,8 +836,8 @@ py:function jax.profiler.start_trace _autosummary/jax.profiler.start_trace.html#jax.profiler.start_trace jax.profiler.stop_trace _autosummary/jax.profiler.stop_trace.html#jax.profiler.stop_trace jax.profiler.trace _autosummary/jax.profiler.trace.html#jax.profiler.trace - jax.profiler.trace_function _autosummary/jax.profiler.trace_function.html#jax.profiler.trace_function jax.random.PRNGKey _autosummary/jax.random.PRNGKey.html#jax.random.PRNGKey + jax.random.ball _autosummary/jax.random.ball.html#jax.random.ball jax.random.bernoulli _autosummary/jax.random.bernoulli.html#jax.random.bernoulli jax.random.beta _autosummary/jax.random.beta.html#jax.random.beta jax.random.categorical _autosummary/jax.random.categorical.html#jax.random.categorical @@ -834,6 +848,7 @@ py:function jax.random.exponential _autosummary/jax.random.exponential.html#jax.random.exponential jax.random.fold_in _autosummary/jax.random.fold_in.html#jax.random.fold_in jax.random.gamma _autosummary/jax.random.gamma.html#jax.random.gamma + jax.random.generalized_normal _autosummary/jax.random.generalized_normal.html#jax.random.generalized_normal jax.random.gumbel _autosummary/jax.random.gumbel.html#jax.random.gumbel jax.random.laplace _autosummary/jax.random.laplace.html#jax.random.laplace jax.random.loggamma _autosummary/jax.random.loggamma.html#jax.random.loggamma @@ -864,6 +879,7 @@ py:function jax.scipy.linalg.eigh_tridiagonal _autosummary/jax.scipy.linalg.eigh_tridiagonal.html#jax.scipy.linalg.eigh_tridiagonal jax.scipy.linalg.expm _autosummary/jax.scipy.linalg.expm.html#jax.scipy.linalg.expm jax.scipy.linalg.expm_frechet _autosummary/jax.scipy.linalg.expm_frechet.html#jax.scipy.linalg.expm_frechet + jax.scipy.linalg.funm _autosummary/jax.scipy.linalg.funm.html#jax.scipy.linalg.funm jax.scipy.linalg.inv _autosummary/jax.scipy.linalg.inv.html#jax.scipy.linalg.inv jax.scipy.linalg.lu _autosummary/jax.scipy.linalg.lu.html#jax.scipy.linalg.lu jax.scipy.linalg.lu_factor _autosummary/jax.scipy.linalg.lu_factor.html#jax.scipy.linalg.lu_factor @@ -933,6 +949,9 @@ py:function jax.scipy.stats.expon.pdf _autosummary/jax.scipy.stats.expon.pdf.html#jax.scipy.stats.expon.pdf jax.scipy.stats.gamma.logpdf _autosummary/jax.scipy.stats.gamma.logpdf.html#jax.scipy.stats.gamma.logpdf jax.scipy.stats.gamma.pdf _autosummary/jax.scipy.stats.gamma.pdf.html#jax.scipy.stats.gamma.pdf + jax.scipy.stats.gennorm.cdf _autosummary/jax.scipy.stats.gennorm.cdf.html#jax.scipy.stats.gennorm.cdf + jax.scipy.stats.gennorm.logpdf _autosummary/jax.scipy.stats.gennorm.logpdf.html#jax.scipy.stats.gennorm.logpdf + jax.scipy.stats.gennorm.pdf _autosummary/jax.scipy.stats.gennorm.pdf.html#jax.scipy.stats.gennorm.pdf jax.scipy.stats.geom.logpmf _autosummary/jax.scipy.stats.geom.logpmf.html#jax.scipy.stats.geom.logpmf jax.scipy.stats.geom.pmf _autosummary/jax.scipy.stats.geom.pmf.html#jax.scipy.stats.geom.pmf jax.scipy.stats.laplace.cdf _autosummary/jax.scipy.stats.laplace.cdf.html#jax.scipy.stats.laplace.cdf @@ -1023,10 +1042,16 @@ py:method jax.numpy.uint8.__init__ _autosummary/jax.numpy.uint8.html#jax.numpy.uint8.__init__ jax.numpy.unsignedinteger.__init__ _autosummary/jax.numpy.unsignedinteger.html#jax.numpy.unsignedinteger.__init__ jax.profiler.StepTraceAnnotation.__init__ _autosummary/jax.profiler.StepTraceAnnotation.html#jax.profiler.StepTraceAnnotation.__init__ - jax.profiler.StepTraceContext.__init__ _autosummary/jax.profiler.StepTraceContext.html#jax.profiler.StepTraceContext.__init__ jax.profiler.TraceAnnotation.__init__ _autosummary/jax.profiler.TraceAnnotation.html#jax.profiler.TraceAnnotation.__init__ - jax.profiler.TraceContext.__init__ _autosummary/jax.profiler.TraceContext.html#jax.profiler.TraceContext.__init__ jax.scipy.optimize.OptimizeResults.__init__ _autosummary/jax.scipy.optimize.OptimizeResults.html#jax.scipy.optimize.OptimizeResults.__init__ + jax.scipy.stats.gaussian_kde.__init__ _autosummary/jax.scipy.stats.gaussian_kde.html#jax.scipy.stats.gaussian_kde.__init__ + jax.scipy.stats.gaussian_kde.evaluate _autosummary/jax.scipy.stats.gaussian_kde.evaluate.html#jax.scipy.stats.gaussian_kde.evaluate + jax.scipy.stats.gaussian_kde.integrate_box_1d _autosummary/jax.scipy.stats.gaussian_kde.integrate_box_1d.html#jax.scipy.stats.gaussian_kde.integrate_box_1d + jax.scipy.stats.gaussian_kde.integrate_gaussian _autosummary/jax.scipy.stats.gaussian_kde.integrate_gaussian.html#jax.scipy.stats.gaussian_kde.integrate_gaussian + jax.scipy.stats.gaussian_kde.integrate_kde _autosummary/jax.scipy.stats.gaussian_kde.integrate_kde.html#jax.scipy.stats.gaussian_kde.integrate_kde + jax.scipy.stats.gaussian_kde.logpdf _autosummary/jax.scipy.stats.gaussian_kde.logpdf.html#jax.scipy.stats.gaussian_kde.logpdf + jax.scipy.stats.gaussian_kde.pdf _autosummary/jax.scipy.stats.gaussian_kde.pdf.html#jax.scipy.stats.gaussian_kde.pdf + jax.scipy.stats.gaussian_kde.resample _autosummary/jax.scipy.stats.gaussian_kde.resample.html#jax.scipy.stats.gaussian_kde.resample jax.tree_util.Partial.__init__ _autosummary/jax.tree_util.Partial.html#jax.tree_util.Partial.__init__ jaxlib.xla_extension.Device.__init__ _autosummary/jaxlib.xla_extension.Device.html#jaxlib.xla_extension.Device.__init__ jaxlib.xla_extension.DeviceArray.all jax.numpy.html#jaxlib.xla_extension.DeviceArray.all @@ -1084,7 +1109,6 @@ py:method jaxlib.xla_extension.DeviceArray.var jax.numpy.html#jaxlib.xla_extension.DeviceArray.var jaxlib.xla_extension.DeviceArray.xla_dynamic_shape jax.numpy.html#jaxlib.xla_extension.DeviceArray.xla_dynamic_shape jaxlib.xla_extension.DeviceArray.xla_shape jax.numpy.html#jaxlib.xla_extension.DeviceArray.xla_shape - jaxlib.xla_extension.GpuDevice.__init__ _autosummary/jaxlib.xla_extension.GpuDevice.html#jaxlib.xla_extension.GpuDevice.__init__ jaxlib.xla_extension.TpuDevice.__init__ _autosummary/jaxlib.xla_extension.TpuDevice.html#jaxlib.xla_extension.TpuDevice.__init__ py:module jax.core jax_internal_api.html#module-jax.core @@ -1127,6 +1151,7 @@ py:module jax.scipy.stats.dirichlet jax.scipy.html#module-jax.scipy.stats.dirichlet jax.scipy.stats.expon jax.scipy.html#module-jax.scipy.stats.expon jax.scipy.stats.gamma jax.scipy.html#module-jax.scipy.stats.gamma + jax.scipy.stats.gennorm jax.scipy.html#module-jax.scipy.stats.gennorm jax.scipy.stats.geom jax.scipy.html#module-jax.scipy.stats.geom jax.scipy.stats.laplace jax.scipy.html#module-jax.scipy.stats.laplace jax.scipy.stats.logistic jax.scipy.html#module-jax.scipy.stats.logistic @@ -1157,6 +1182,7 @@ std:doc _autosummary/jax.debug_infs jax.debug_infs : _autosummary/jax.debug_infs.html _autosummary/jax.debug_nans jax.debug_nans : _autosummary/jax.debug_nans.html _autosummary/jax.default_backend jax.default_backend : _autosummary/jax.default_backend.html + _autosummary/jax.default_device jax.default_device : _autosummary/jax.default_device.html _autosummary/jax.default_matmul_precision jax.default_matmul_precision : _autosummary/jax.default_matmul_precision.html _autosummary/jax.default_prng_impl jax.default_prng_impl : _autosummary/jax.default_prng_impl.html _autosummary/jax.device_count jax.device_count : _autosummary/jax.device_count.html @@ -1187,6 +1213,20 @@ std:doc _autosummary/jax.experimental.maps.Mesh jax.experimental.maps.Mesh : _autosummary/jax.experimental.maps.Mesh.html _autosummary/jax.experimental.maps.xmap jax.experimental.maps.xmap : _autosummary/jax.experimental.maps.xmap.html _autosummary/jax.experimental.sparse.BCOO jax.experimental.sparse.BCOO : _autosummary/jax.experimental.sparse.BCOO.html + _autosummary/jax.experimental.sparse.bcoo_broadcast_in_dim jax.experimental.sparse.bcoo_broadcast_in_dim: _autosummary/jax.experimental.sparse.bcoo_broadcast_in_dim.html + _autosummary/jax.experimental.sparse.bcoo_concatenate jax.experimental.sparse.bcoo_concatenate: _autosummary/jax.experimental.sparse.bcoo_concatenate.html + _autosummary/jax.experimental.sparse.bcoo_dot_general jax.experimental.sparse.bcoo_dot_general: _autosummary/jax.experimental.sparse.bcoo_dot_general.html + _autosummary/jax.experimental.sparse.bcoo_dot_general_sampled jax.experimental.sparse.bcoo_dot_general_sampled: _autosummary/jax.experimental.sparse.bcoo_dot_general_sampled.html + _autosummary/jax.experimental.sparse.bcoo_extract jax.experimental.sparse.bcoo_extract : _autosummary/jax.experimental.sparse.bcoo_extract.html + _autosummary/jax.experimental.sparse.bcoo_fromdense jax.experimental.sparse.bcoo_fromdense : _autosummary/jax.experimental.sparse.bcoo_fromdense.html + _autosummary/jax.experimental.sparse.bcoo_multiply_dense jax.experimental.sparse.bcoo_multiply_dense: _autosummary/jax.experimental.sparse.bcoo_multiply_dense.html + _autosummary/jax.experimental.sparse.bcoo_multiply_sparse jax.experimental.sparse.bcoo_multiply_sparse: _autosummary/jax.experimental.sparse.bcoo_multiply_sparse.html + _autosummary/jax.experimental.sparse.bcoo_reduce_sum jax.experimental.sparse.bcoo_reduce_sum : _autosummary/jax.experimental.sparse.bcoo_reduce_sum.html + _autosummary/jax.experimental.sparse.bcoo_reshape jax.experimental.sparse.bcoo_reshape : _autosummary/jax.experimental.sparse.bcoo_reshape.html + _autosummary/jax.experimental.sparse.bcoo_sort_indices jax.experimental.sparse.bcoo_sort_indices: _autosummary/jax.experimental.sparse.bcoo_sort_indices.html + _autosummary/jax.experimental.sparse.bcoo_sum_duplicates jax.experimental.sparse.bcoo_sum_duplicates: _autosummary/jax.experimental.sparse.bcoo_sum_duplicates.html + _autosummary/jax.experimental.sparse.bcoo_todense jax.experimental.sparse.bcoo_todense : _autosummary/jax.experimental.sparse.bcoo_todense.html + _autosummary/jax.experimental.sparse.bcoo_transpose jax.experimental.sparse.bcoo_transpose : _autosummary/jax.experimental.sparse.bcoo_transpose.html _autosummary/jax.experimental.sparse.sparsify jax.experimental.sparse.sparsify : _autosummary/jax.experimental.sparse.sparsify.html _autosummary/jax.flatten_util.ravel_pytree jax.flatten_util.ravel_pytree : _autosummary/jax.flatten_util.ravel_pytree.html _autosummary/jax.grad jax.grad : _autosummary/jax.grad.html @@ -1362,6 +1402,7 @@ std:doc _autosummary/jax.log_compiles jax.log_compiles : _autosummary/jax.log_compiles.html _autosummary/jax.make_jaxpr jax.make_jaxpr : _autosummary/jax.make_jaxpr.html _autosummary/jax.named_call jax.named_call : _autosummary/jax.named_call.html + _autosummary/jax.named_scope jax.named_scope : _autosummary/jax.named_scope.html _autosummary/jax.nn.celu jax.nn.celu : _autosummary/jax.nn.celu.html _autosummary/jax.nn.elu jax.nn.elu : _autosummary/jax.nn.elu.html _autosummary/jax.nn.gelu jax.nn.gelu : _autosummary/jax.nn.gelu.html @@ -1547,6 +1588,7 @@ std:doc _autosummary/jax.numpy.fmin jax.numpy.fmin : _autosummary/jax.numpy.fmin.html _autosummary/jax.numpy.fmod jax.numpy.fmod : _autosummary/jax.numpy.fmod.html _autosummary/jax.numpy.frexp jax.numpy.frexp : _autosummary/jax.numpy.frexp.html + _autosummary/jax.numpy.from_dlpack jax.numpy.from_dlpack : _autosummary/jax.numpy.from_dlpack.html _autosummary/jax.numpy.frombuffer jax.numpy.frombuffer : _autosummary/jax.numpy.frombuffer.html _autosummary/jax.numpy.fromfile jax.numpy.fromfile : _autosummary/jax.numpy.fromfile.html _autosummary/jax.numpy.fromfunction jax.numpy.fromfunction : _autosummary/jax.numpy.fromfunction.html @@ -1809,9 +1851,7 @@ std:doc _autosummary/jax.process_count jax.process_count : _autosummary/jax.process_count.html _autosummary/jax.process_index jax.process_index : _autosummary/jax.process_index.html _autosummary/jax.profiler.StepTraceAnnotation jax.profiler.StepTraceAnnotation : _autosummary/jax.profiler.StepTraceAnnotation.html - _autosummary/jax.profiler.StepTraceContext jax.profiler.StepTraceContext : _autosummary/jax.profiler.StepTraceContext.html _autosummary/jax.profiler.TraceAnnotation jax.profiler.TraceAnnotation : _autosummary/jax.profiler.TraceAnnotation.html - _autosummary/jax.profiler.TraceContext jax.profiler.TraceContext : _autosummary/jax.profiler.TraceContext.html _autosummary/jax.profiler.annotate_function jax.profiler.annotate_function : _autosummary/jax.profiler.annotate_function.html _autosummary/jax.profiler.device_memory_profile jax.profiler.device_memory_profile : _autosummary/jax.profiler.device_memory_profile.html _autosummary/jax.profiler.save_device_memory_profile jax.profiler.save_device_memory_profile : _autosummary/jax.profiler.save_device_memory_profile.html @@ -1819,8 +1859,8 @@ std:doc _autosummary/jax.profiler.start_trace jax.profiler.start_trace : _autosummary/jax.profiler.start_trace.html _autosummary/jax.profiler.stop_trace jax.profiler.stop_trace : _autosummary/jax.profiler.stop_trace.html _autosummary/jax.profiler.trace jax.profiler.trace : _autosummary/jax.profiler.trace.html - _autosummary/jax.profiler.trace_function jax.profiler.trace_function : _autosummary/jax.profiler.trace_function.html _autosummary/jax.random.PRNGKey jax.random.PRNGKey : _autosummary/jax.random.PRNGKey.html + _autosummary/jax.random.ball jax.random.ball : _autosummary/jax.random.ball.html _autosummary/jax.random.bernoulli jax.random.bernoulli : _autosummary/jax.random.bernoulli.html _autosummary/jax.random.beta jax.random.beta : _autosummary/jax.random.beta.html _autosummary/jax.random.categorical jax.random.categorical : _autosummary/jax.random.categorical.html @@ -1831,6 +1871,7 @@ std:doc _autosummary/jax.random.exponential jax.random.exponential : _autosummary/jax.random.exponential.html _autosummary/jax.random.fold_in jax.random.fold_in : _autosummary/jax.random.fold_in.html _autosummary/jax.random.gamma jax.random.gamma : _autosummary/jax.random.gamma.html + _autosummary/jax.random.generalized_normal jax.random.generalized_normal : _autosummary/jax.random.generalized_normal.html _autosummary/jax.random.gumbel jax.random.gumbel : _autosummary/jax.random.gumbel.html _autosummary/jax.random.laplace jax.random.laplace : _autosummary/jax.random.laplace.html _autosummary/jax.random.loggamma jax.random.loggamma : _autosummary/jax.random.loggamma.html @@ -1861,6 +1902,7 @@ std:doc _autosummary/jax.scipy.linalg.eigh_tridiagonal jax.scipy.linalg.eigh_tridiagonal : _autosummary/jax.scipy.linalg.eigh_tridiagonal.html _autosummary/jax.scipy.linalg.expm jax.scipy.linalg.expm : _autosummary/jax.scipy.linalg.expm.html _autosummary/jax.scipy.linalg.expm_frechet jax.scipy.linalg.expm_frechet : _autosummary/jax.scipy.linalg.expm_frechet.html + _autosummary/jax.scipy.linalg.funm jax.scipy.linalg.funm : _autosummary/jax.scipy.linalg.funm.html _autosummary/jax.scipy.linalg.inv jax.scipy.linalg.inv : _autosummary/jax.scipy.linalg.inv.html _autosummary/jax.scipy.linalg.lu jax.scipy.linalg.lu : _autosummary/jax.scipy.linalg.lu.html _autosummary/jax.scipy.linalg.lu_factor jax.scipy.linalg.lu_factor : _autosummary/jax.scipy.linalg.lu_factor.html @@ -1936,6 +1978,17 @@ std:doc _autosummary/jax.scipy.stats.expon.pdf jax.scipy.stats.expon.pdf : _autosummary/jax.scipy.stats.expon.pdf.html _autosummary/jax.scipy.stats.gamma.logpdf jax.scipy.stats.gamma.logpdf : _autosummary/jax.scipy.stats.gamma.logpdf.html _autosummary/jax.scipy.stats.gamma.pdf jax.scipy.stats.gamma.pdf : _autosummary/jax.scipy.stats.gamma.pdf.html + _autosummary/jax.scipy.stats.gaussian_kde jax.scipy.stats.gaussian_kde : _autosummary/jax.scipy.stats.gaussian_kde.html + _autosummary/jax.scipy.stats.gaussian_kde.evaluate jax.scipy.stats.gaussian_kde.evaluate : _autosummary/jax.scipy.stats.gaussian_kde.evaluate.html + _autosummary/jax.scipy.stats.gaussian_kde.integrate_box_1d jax.scipy.stats.gaussian_kde.integrate_box_1d: _autosummary/jax.scipy.stats.gaussian_kde.integrate_box_1d.html + _autosummary/jax.scipy.stats.gaussian_kde.integrate_gaussian jax.scipy.stats.gaussian_kde.integrate_gaussian: _autosummary/jax.scipy.stats.gaussian_kde.integrate_gaussian.html + _autosummary/jax.scipy.stats.gaussian_kde.integrate_kde jax.scipy.stats.gaussian_kde.integrate_kde: _autosummary/jax.scipy.stats.gaussian_kde.integrate_kde.html + _autosummary/jax.scipy.stats.gaussian_kde.logpdf jax.scipy.stats.gaussian_kde.logpdf : _autosummary/jax.scipy.stats.gaussian_kde.logpdf.html + _autosummary/jax.scipy.stats.gaussian_kde.pdf jax.scipy.stats.gaussian_kde.pdf : _autosummary/jax.scipy.stats.gaussian_kde.pdf.html + _autosummary/jax.scipy.stats.gaussian_kde.resample jax.scipy.stats.gaussian_kde.resample : _autosummary/jax.scipy.stats.gaussian_kde.resample.html + _autosummary/jax.scipy.stats.gennorm.cdf jax.scipy.stats.gennorm.cdf : _autosummary/jax.scipy.stats.gennorm.cdf.html + _autosummary/jax.scipy.stats.gennorm.logpdf jax.scipy.stats.gennorm.logpdf : _autosummary/jax.scipy.stats.gennorm.logpdf.html + _autosummary/jax.scipy.stats.gennorm.pdf jax.scipy.stats.gennorm.pdf : _autosummary/jax.scipy.stats.gennorm.pdf.html _autosummary/jax.scipy.stats.geom.logpmf jax.scipy.stats.geom.logpmf : _autosummary/jax.scipy.stats.geom.logpmf.html _autosummary/jax.scipy.stats.geom.pmf jax.scipy.stats.geom.pmf : _autosummary/jax.scipy.stats.geom.pmf.html _autosummary/jax.scipy.stats.laplace.cdf jax.scipy.stats.laplace.cdf : _autosummary/jax.scipy.stats.laplace.cdf.html @@ -1984,7 +2037,6 @@ std:doc _autosummary/jax.vmap jax.vmap : _autosummary/jax.vmap.html _autosummary/jax.xla_computation jax.xla_computation : _autosummary/jax.xla_computation.html _autosummary/jaxlib.xla_extension.Device jaxlib.xla_extension.Device : _autosummary/jaxlib.xla_extension.Device.html - _autosummary/jaxlib.xla_extension.GpuDevice jaxlib.xla_extension.GpuDevice : _autosummary/jaxlib.xla_extension.GpuDevice.html _autosummary/jaxlib.xla_extension.TpuDevice jaxlib.xla_extension.TpuDevice : _autosummary/jaxlib.xla_extension.TpuDevice.html api_compatibility API compatibility : api_compatibility.html async_dispatch Asynchronous dispatch : async_dispatch.html @@ -1999,6 +2051,7 @@ std:doc design_notes/jax_versioning Jax and Jaxlib versioning : design_notes/jax_versioning.html design_notes/omnistaging Omnistaging : design_notes/omnistaging.html design_notes/prng JAX PRNG Design : design_notes/prng.html + design_notes/sequencing_effects Sequencing side-effects in JAX : design_notes/sequencing_effects.html design_notes/type_promotion Design of Type Promotion Semantics for JAX: design_notes/type_promotion.html developer Building from source : developer.html device_memory_profiling Device Memory Profiling : device_memory_profiling.html @@ -2066,10 +2119,249 @@ std:doc transfer_guard Transfer guard : transfer_guard.html type_promotion Type promotion semantics : type_promotion.html std:label + api-compatibility API compatibility : api_compatibility.html#api-compatibility + api_compatibility.md#api-compatibility API compatibility : api_compatibility.html#id1 + api_compatibility.md#what-is-covered What is covered? : api_compatibility.html#what-is-covered + api_compatibility.md#what-is-not-covered What is not covered? : api_compatibility.html#what-is-not-covered async-dispatch Asynchronous dispatch : async_dispatch.html#async-dispatch + autodidax.ipynb#adding-cond Adding cond : autodidax.html#adding-cond + autodidax.ipynb#autodidax-jax-core-from-scratch Autodidax: JAX core from scratch : autodidax.html#autodidax-jax-core-from-scratch + autodidax.ipynb#building-jaxprs-with-tracing Building jaxprs with tracing : autodidax.html#building-jaxprs-with-tracing + autodidax.ipynb#evaluation-interpreter Evaluation interpreter : autodidax.html#evaluation-interpreter + autodidax.ipynb#forward-mode-autodiff-with-jvp Forward-mode autodiff with jvp : autodidax.html#forward-mode-autodiff-with-jvp + autodidax.ipynb#jax-core-machinery JAX core machinery : autodidax.html#jax-core-machinery + autodidax.ipynb#jaxpr-data-structures Jaxpr data structures : autodidax.html#jaxpr-data-structures + autodidax.ipynb#linearize linearize : autodidax.html#linearize + autodidax.ipynb#on-the-fly-final-style-and-staged-initial-style-processing On-the-fly ("final style") and staged ("initial style") processing: autodidax.html#on-the-fly-final-style-and-staged-initial-style-processing + autodidax.ipynb#part-1-transformations-as-interpreters-standard-evaluation-jvp-and-vmap Part 1: Transformations as interpreters: standard evaluation, jvp, and vmap: autodidax.html#part-1-transformations-as-interpreters-standard-evaluation-jvp-and-vmap + autodidax.ipynb#part-2-jaxprs Part 2: Jaxprs : autodidax.html#part-2-jaxprs + autodidax.ipynb#part-3-jit-simplified Part 3: jit, simplified : autodidax.html#part-3-jit-simplified + autodidax.ipynb#part-4-linearize-and-vjp-and-grad Part 4: linearize and vjp (and grad!) : autodidax.html#part-4-linearize-and-vjp-and-grad + autodidax.ipynb#part-5-the-control-flow-primitives-cond Part 5: the control flow primitives cond: autodidax.html#part-5-the-control-flow-primitives-cond + autodidax.ipynb#pytrees-and-flattening-user-functions-inputs-and-outputs Pytrees and flattening user functions' inputs and outputs: autodidax.html#pytrees-and-flattening-user-functions-inputs-and-outputs + autodidax.ipynb#vectorized-batching-with-vmap Vectorized batching with vmap : autodidax.html#vectorized-batching-with-vmap + autodidax.ipynb#vjp-and-grad vjp and grad : autodidax.html#vjp-and-grad ble1990 _autosummary/jax.lax.associative_scan.html#ble1990 boost _autosummary/jax.scipy.special.gammaincc.html#boost + changelog.md#change-log Change log : changelog.html#change-log + changelog.md#jax-0158-january-28-2020 jax 0.1.58 (January 28, 2020) : changelog.html#jax-0-1-58-january-28-2020 + changelog.md#jax-0159-february-11-2020 jax 0.1.59 (February 11, 2020) : changelog.html#jax-0-1-59-february-11-2020 + changelog.md#jax-0160-march-17-2020 jax 0.1.60 (March 17, 2020) : changelog.html#jax-0-1-60-march-17-2020 + changelog.md#jax-0161-march-17-2020 jax 0.1.61 (March 17, 2020) : changelog.html#jax-0-1-61-march-17-2020 + changelog.md#jax-0162-march-21-2020 jax 0.1.62 (March 21, 2020) : changelog.html#jax-0-1-62-march-21-2020 + changelog.md#jax-0163-april-12-2020 jax 0.1.63 (April 12, 2020) : changelog.html#jax-0-1-63-april-12-2020 + changelog.md#jax-0164-april-21-2020 jax 0.1.64 (April 21, 2020) : changelog.html#jax-0-1-64-april-21-2020 + changelog.md#jax-0165-april-30-2020 jax 0.1.65 (April 30, 2020) : changelog.html#jax-0-1-65-april-30-2020 + changelog.md#jax-0166-may-5-2020 jax 0.1.66 (May 5, 2020) : changelog.html#jax-0-1-66-may-5-2020 + changelog.md#jax-0167-may-12-2020 jax 0.1.67 (May 12, 2020) : changelog.html#jax-0-1-67-may-12-2020 + changelog.md#jax-0168-may-21-2020 jax 0.1.68 (May 21, 2020) : changelog.html#jax-0-1-68-may-21-2020 + changelog.md#jax-0169-june-3-2020 jax 0.1.69 (June 3, 2020) : changelog.html#jax-0-1-69-june-3-2020 + changelog.md#jax-0170-june-8-2020 jax 0.1.70 (June 8, 2020) : changelog.html#jax-0-1-70-june-8-2020 + changelog.md#jax-0171-june-25-2020 jax 0.1.71 (June 25, 2020) : changelog.html#jax-0-1-71-june-25-2020 + changelog.md#jax-0172-june-28-2020 jax 0.1.72 (June 28, 2020) : changelog.html#jax-0-1-72-june-28-2020 + changelog.md#jax-0173-july-22-2020 jax 0.1.73 (July 22, 2020) : changelog.html#jax-0-1-73-july-22-2020 + changelog.md#jax-0174-july-29-2020 jax 0.1.74 (July 29, 2020) : changelog.html#jax-0-1-74-july-29-2020 + changelog.md#jax-0175-july-30-2020 jax 0.1.75 (July 30, 2020) : changelog.html#jax-0-1-75-july-30-2020 + changelog.md#jax-0176-september-8-2020 jax 0.1.76 (September 8, 2020) : changelog.html#jax-0-1-76-september-8-2020 + changelog.md#jax-0177-september-15-2020 jax (0.1.77) (September 15 2020) : changelog.html#jax-0-1-77-september-15-2020 + changelog.md#jax-020-september-23-2020 jax (0.2.0) (September 23 2020) : changelog.html#jax-0-2-0-september-23-2020 + changelog.md#jax-021-october-6-2020 jax 0.2.1 (October 6 2020) : changelog.html#jax-0-2-1-october-6-2020 + changelog.md#jax-0210-march-5-2021 jax 0.2.10 (March 5 2021) : changelog.html#jax-0-2-10-march-5-2021 + changelog.md#jax-0211-march-23-2021 jax 0.2.11 (March 23 2021) : changelog.html#jax-0-2-11-march-23-2021 + changelog.md#jax-0212-april-1-2021 jax 0.2.12 (April 1 2021) : changelog.html#jax-0-2-12-april-1-2021 + changelog.md#jax-0213-may-3-2021 jax 0.2.13 (May 3 2021) : changelog.html#jax-0-2-13-may-3-2021 + changelog.md#jax-0214-june-10-2021 jax 0.2.14 (June 10 2021) : changelog.html#jax-0-2-14-june-10-2021 + changelog.md#jax-0215-june-23-2021 jax 0.2.15 (June 23 2021) : changelog.html#jax-0-2-15-june-23-2021 + changelog.md#jax-0216-june-23-2021 jax 0.2.16 (June 23 2021) : changelog.html#jax-0-2-16-june-23-2021 + changelog.md#jax-0217-july-9-2021 jax 0.2.17 (July 9 2021) : changelog.html#jax-0-2-17-july-9-2021 + changelog.md#jax-0218-july-21-2021 jax 0.2.18 (July 21 2021) : changelog.html#jax-0-2-18-july-21-2021 + changelog.md#jax-0219-aug-12-2021 jax 0.2.19 (Aug 12, 2021) : changelog.html#jax-0-2-19-aug-12-2021 + changelog.md#jax-022-october-13-2020 jax 0.2.2 (October 13 2020) : changelog.html#jax-0-2-2-october-13-2020 + changelog.md#jax-0220-sept-2-2021 jax 0.2.20 (Sept 2, 2021) : changelog.html#jax-0-2-20-sept-2-2021 + changelog.md#jax-0221-sept-23-2021 jax 0.2.21 (Sept 23, 2021) : changelog.html#jax-0-2-21-sept-23-2021 + changelog.md#jax-0222-oct-12-2021 jax 0.2.22 (Oct 12, 2021) : changelog.html#jax-0-2-22-oct-12-2021 + changelog.md#jax-0224-oct-19-2021 jax 0.2.24 (Oct 19, 2021) : changelog.html#jax-0-2-24-oct-19-2021 + changelog.md#jax-0225-nov-10-2021 jax 0.2.25 (Nov 10, 2021) : changelog.html#jax-0-2-25-nov-10-2021 + changelog.md#jax-0226-dec-8-2021 jax 0.2.26 (Dec 8, 2021) : changelog.html#jax-0-2-26-dec-8-2021 + changelog.md#jax-0227-jan-18-2022 jax 0.2.27 (Jan 18 2022) : changelog.html#jax-0-2-27-jan-18-2022 + changelog.md#jax-0228-feb-1-2022 jax 0.2.28 (Feb 1, 2022) : changelog.html#jax-0-2-28-feb-1-2022 + changelog.md#jax-023-october-14-2020 jax 0.2.3 (October 14 2020) : changelog.html#jax-0-2-3-october-14-2020 + changelog.md#jax-024-october-19-2020 jax 0.2.4 (October 19 2020) : changelog.html#jax-0-2-4-october-19-2020 + changelog.md#jax-025-october-27-2020 jax 0.2.5 (October 27 2020) : changelog.html#jax-0-2-5-october-27-2020 + changelog.md#jax-026-nov-18-2020 jax 0.2.6 (Nov 18 2020) : changelog.html#jax-0-2-6-nov-18-2020 + changelog.md#jax-027-dec-4-2020 jax 0.2.7 (Dec 4 2020) : changelog.html#jax-0-2-7-dec-4-2020 + changelog.md#jax-028-january-12-2021 jax 0.2.8 (January 12 2021) : changelog.html#jax-0-2-8-january-12-2021 + changelog.md#jax-029-january-26-2021 jax 0.2.9 (January 26 2021) : changelog.html#jax-0-2-9-january-26-2021 + changelog.md#jax-030-feb-10-2022 jax 0.3.0 (Feb 10, 2022) : changelog.html#jax-0-3-0-feb-10-2022 + changelog.md#jax-031-feb-18-2022 jax 0.3.1 (Feb 18, 2022) : changelog.html#jax-0-3-1-feb-18-2022 + changelog.md#jax-0310-may-3-2022 jax 0.3.10 (May 3, 2022) : changelog.html#jax-0-3-10-may-3-2022 + changelog.md#jax-0311-may-15-2022 jax 0.3.11 (May 15, 2022) : changelog.html#jax-0-3-11-may-15-2022 + changelog.md#jax-0312-may-15-2022 jax 0.3.12 (May 15, 2022) : changelog.html#jax-0-3-12-may-15-2022 + changelog.md#jax-0313-may-16-2022 jax 0.3.13 (May 16, 2022) : changelog.html#jax-0-3-13-may-16-2022 + changelog.md#jax-0314-june-27-2022 jax 0.3.14 (June 27, 2022) : changelog.html#jax-0-3-14-june-27-2022 + changelog.md#jax-0315-unreleased jax 0.3.15 (Unreleased) : changelog.html#jax-0-3-15-unreleased + changelog.md#jax-032-march-16-2022 jax 0.3.2 (March 16, 2022) : changelog.html#jax-0-3-2-march-16-2022 + changelog.md#jax-033-march-17-2022 jax 0.3.3 (March 17, 2022) : changelog.html#jax-0-3-3-march-17-2022 + changelog.md#jax-034-march-18-2022 jax 0.3.4 (March 18, 2022) : changelog.html#jax-0-3-4-march-18-2022 + changelog.md#jax-035-april-7-2022 jax 0.3.5 (April 7, 2022) : changelog.html#jax-0-3-5-april-7-2022 + changelog.md#jax-036-april-12-2022 jax 0.3.6 (April 12, 2022) : changelog.html#jax-0-3-6-april-12-2022 + changelog.md#jax-037-april-15-2022 jax 0.3.7 (April 15, 2022) : changelog.html#jax-0-3-7-april-15-2022 + changelog.md#jax-038-april-29-2022 jax 0.3.8 (April 29 2022) : changelog.html#jax-0-3-8-april-29-2022 + changelog.md#jax-039-may-2-2022 jax 0.3.9 (May 2, 2022) : changelog.html#jax-0-3-9-may-2-2022 + changelog.md#jaxlib-0138-january-29-2020 jaxlib 0.1.38 (January 29, 2020) : changelog.html#jaxlib-0-1-38-january-29-2020 + changelog.md#jaxlib-0139-february-11-2020 jaxlib 0.1.39 (February 11, 2020) : changelog.html#jaxlib-0-1-39-february-11-2020 + changelog.md#jaxlib-0140-march-4-2020 jaxlib 0.1.40 (March 4, 2020) : changelog.html#jaxlib-0-1-40-march-4-2020 + changelog.md#jaxlib-0142-march-19-2020 jaxlib 0.1.42 (March 19, 2020) : changelog.html#jaxlib-0-1-42-march-19-2020 + changelog.md#jaxlib-0143-march-31-2020 jaxlib 0.1.43 (March 31, 2020) : changelog.html#jaxlib-0-1-43-march-31-2020 + changelog.md#jaxlib-0144-april-16-2020 jaxlib 0.1.44 (April 16, 2020) : changelog.html#jaxlib-0-1-44-april-16-2020 + changelog.md#jaxlib-0145-april-21-2020 jaxlib 0.1.45 (April 21, 2020) : changelog.html#jaxlib-0-1-45-april-21-2020 + changelog.md#jaxlib-0146-may-5-2020 jaxlib 0.1.46 (May 5, 2020) : changelog.html#jaxlib-0-1-46-may-5-2020 + changelog.md#jaxlib-0147-may-8-2020 jaxlib 0.1.47 (May 8, 2020) : changelog.html#jaxlib-0-1-47-may-8-2020 + changelog.md#jaxlib-0148-june-12-2020 jaxlib 0.1.48 (June 12, 2020) : changelog.html#jaxlib-0-1-48-june-12-2020 + changelog.md#jaxlib-0149-june-19-2020 jaxlib 0.1.49 (June 19, 2020) : changelog.html#jaxlib-0-1-49-june-19-2020 + changelog.md#jaxlib-0150-june-25-2020 jaxlib 0.1.50 (June 25, 2020) : changelog.html#jaxlib-0-1-50-june-25-2020 + changelog.md#jaxlib-0151-july-2-2020 jaxlib 0.1.51 (July 2, 2020) : changelog.html#jaxlib-0-1-51-july-2-2020 + changelog.md#jaxlib-0152-july-22-2020 jaxlib 0.1.52 (July 22, 2020) : changelog.html#jaxlib-0-1-52-july-22-2020 + changelog.md#jaxlib-0155-september-8-2020 jaxlib 0.1.55 (September 8, 2020) : changelog.html#jaxlib-0-1-55-september-8-2020 + changelog.md#jaxlib-0156-october-14-2020 jaxlib 0.1.56 (October 14, 2020) : changelog.html#jaxlib-0-1-56-october-14-2020 + changelog.md#jaxlib-0157-november-12-2020 jaxlib 0.1.57 (November 12 2020) : changelog.html#jaxlib-0-1-57-november-12-2020 + changelog.md#jaxlib-0158-january-12ish-2021 jaxlib 0.1.58 (January 12ish 2021) : changelog.html#jaxlib-0-1-58-january-12ish-2021 + changelog.md#jaxlib-0159-january-15-2021 jaxlib 0.1.59 (January 15 2021) : changelog.html#jaxlib-0-1-59-january-15-2021 + changelog.md#jaxlib-0160-febuary-3-2021 jaxlib 0.1.60 (Febuary 3 2021) : changelog.html#jaxlib-0-1-60-febuary-3-2021 + changelog.md#jaxlib-0161-february-12-2021 jaxlib 0.1.61 (February 12 2021) : changelog.html#jaxlib-0-1-61-february-12-2021 + changelog.md#jaxlib-0162-march-9-2021 jaxlib 0.1.62 (March 9 2021) : changelog.html#jaxlib-0-1-62-march-9-2021 + changelog.md#jaxlib-0163-march-17-2021 jaxlib 0.1.63 (March 17 2021) : changelog.html#jaxlib-0-1-63-march-17-2021 + changelog.md#jaxlib-0164-march-18-2021 jaxlib 0.1.64 (March 18 2021) : changelog.html#jaxlib-0-1-64-march-18-2021 + changelog.md#jaxlib-0165-april-7-2021 jaxlib 0.1.65 (April 7 2021) : changelog.html#jaxlib-0-1-65-april-7-2021 + changelog.md#jaxlib-0166-may-11-2021 jaxlib 0.1.66 (May 11 2021) : changelog.html#jaxlib-0-1-66-may-11-2021 + changelog.md#jaxlib-0167-may-17-2021 jaxlib 0.1.67 (May 17 2021) : changelog.html#jaxlib-0-1-67-may-17-2021 + changelog.md#jaxlib-0168-june-23-2021 jaxlib 0.1.68 (June 23 2021) : changelog.html#jaxlib-0-1-68-june-23-2021 + changelog.md#jaxlib-0169-july-9-2021 jaxlib 0.1.69 (July 9 2021) : changelog.html#jaxlib-0-1-69-july-9-2021 + changelog.md#jaxlib-0170-aug-9-2021 jaxlib 0.1.70 (Aug 9, 2021) : changelog.html#jaxlib-0-1-70-aug-9-2021 + changelog.md#jaxlib-0171-sep-1-2021 jaxlib 0.1.71 (Sep 1, 2021) : changelog.html#jaxlib-0-1-71-sep-1-2021 + changelog.md#jaxlib-0172-oct-12-2021 jaxlib 0.1.72 (Oct 12, 2021) : changelog.html#jaxlib-0-1-72-oct-12-2021 + changelog.md#jaxlib-0173-oct-18-2021 jaxlib 0.1.73 (Oct 18, 2021) : changelog.html#jaxlib-0-1-73-oct-18-2021 + changelog.md#jaxlib-0174-nov-17-2021 jaxlib 0.1.74 (Nov 17, 2021) : changelog.html#jaxlib-0-1-74-nov-17-2021 + changelog.md#jaxlib-0175-dec-8-2021 jaxlib 0.1.75 (Dec 8, 2021) : changelog.html#jaxlib-0-1-75-dec-8-2021 + changelog.md#jaxlib-0176-jan-27-2022 jaxlib 0.1.76 (Jan 27, 2022) : changelog.html#jaxlib-0-1-76-jan-27-2022 + changelog.md#jaxlib-030-feb-10-2022 jaxlib 0.3.0 (Feb 10, 2022) : changelog.html#jaxlib-0-3-0-feb-10-2022 + changelog.md#jaxlib-0310-may-3-2022 jaxlib 0.3.10 (May 3, 2022) : changelog.html#jaxlib-0-3-10-may-3-2022 + changelog.md#jaxlib-0314-june-27-2022 jaxlib 0.3.14 (June 27, 2022) : changelog.html#jaxlib-0-3-14-june-27-2022 + changelog.md#jaxlib-0315-unreleased jaxlib 0.3.15 (Unreleased) : changelog.html#jaxlib-0-3-15-unreleased + changelog.md#jaxlib-032-march-16-2022 jaxlib 0.3.2 (March 16, 2022) : changelog.html#jaxlib-0-3-2-march-16-2022 + changelog.md#jaxlib-035-april-7-2022 jaxlib 0.3.5 (April 7, 2022) : changelog.html#jaxlib-0-3-5-april-7-2022 + changelog.md#jaxlib-037-april-15-2022 jaxlib 0.3.7 (April 15, 2022) : changelog.html#jaxlib-0-3-7-april-15-2022 + changelog.md#notable-bug-fixes Notable bug fixes : changelog.html#notable-bug-fixes + contributing.md#contributing-code-using-pull-requests Contributing code using pull requests : contributing.html#contributing-code-using-pull-requests + contributing.md#contributing-to-jax Contributing to JAX : contributing.html#contributing-to-jax + contributing.md#full-github-test-suite Full GitHub test suite : contributing.html#full-github-test-suite + contributing.md#google-contributor-license-agreement Google contributor license agreement : contributing.html#google-contributor-license-agreement + contributing.md#jax-pull-request-checklist JAX pull request checklist : contributing.html#jax-pull-request-checklist + contributing.md#linting-and-type-checking Linting and Type-checking : contributing.html#linting-and-type-checking + contributing.md#restricted-test-suite Restricted test suite : contributing.html#restricted-test-suite + contributing.md#single-change-commits-and-pull-requests Single-change commits and pull requests : contributing.html#single-change-commits-and-pull-requests + contributing.md#ways-to-contribute Ways to contribute : contributing.html#ways-to-contribute ct _autosummary/jax.numpy.fft.fft.html#ct + custom_vjp_update.md#custom_vjp-and-nondiff_argnums-update-guide custom_vjp and nondiff_argnums update guide: custom_vjp_update.html#custom-vjp-and-nondiff-argnums-update-guide + custom_vjp_update.md#explanation Explanation : custom_vjp_update.html#explanation + custom_vjp_update.md#what-to-update What to update : custom_vjp_update.html#what-to-update + deprecation.md#python-and-numpy-version-support-policy Python and NumPy version support policy : deprecation.html#python-and-numpy-version-support-policy + design_notes/custom_derivatives.md#api API : design_notes/custom_derivatives.html#api + design_notes/custom_derivatives.md#contents Contents : design_notes/custom_derivatives.html#contents + design_notes/custom_derivatives.md#custom-jvpvjp-rules-for-jax-transformable-functions Custom JVP/VJP rules for JAX-transformable functions: design_notes/custom_derivatives.html#custom-jvp-vjp-rules-for-jax-transformable-functions + design_notes/custom_derivatives.md#goals Goals : design_notes/custom_derivatives.html#goals + design_notes/custom_derivatives.md#implementation-notes Implementation notes : design_notes/custom_derivatives.html#implementation-notes + design_notes/custom_derivatives.md#main-problem-descriptions Main problem descriptions : design_notes/custom_derivatives.html#main-problem-descriptions + design_notes/custom_derivatives.md#non-goals Non-goals : design_notes/custom_derivatives.html#non-goals + design_notes/custom_derivatives.md#solution-idea Solution idea : design_notes/custom_derivatives.html#solution-idea + design_notes/custom_derivatives.md#the-python-flexibility-problem The Python flexibility problem : design_notes/custom_derivatives.html#the-python-flexibility-problem + design_notes/custom_derivatives.md#the-vmap-removes-custom-jvp-semantics-problem The vmap-removes-custom-jvp semantics problem: design_notes/custom_derivatives.html#the-vmap-removes-custom-jvp-semantics-problem + design_notes/jax_versioning.md#how-are-jax-and-jaxlib-versioned How are jax and jaxlib versioned? : design_notes/jax_versioning.html#how-are-jax-and-jaxlib-versioned + design_notes/jax_versioning.md#how-can-i-safely-make-changes-to-the-api-of-jaxlib How can I safely make changes to the API of jaxlib?: design_notes/jax_versioning.html#how-can-i-safely-make-changes-to-the-api-of-jaxlib + design_notes/jax_versioning.md#how-do-we-make-changes-across-the-jax-and-jaxlib-boundary-between-releases How do we make changes across the jax and jaxlib boundary between releases?: design_notes/jax_versioning.html#how-do-we-make-changes-across-the-jax-and-jaxlib-boundary-between-releases + design_notes/jax_versioning.md#how-is-the-source-to-jaxlib-laid-out How is the source to jaxlib laid out? : design_notes/jax_versioning.html#how-is-the-source-to-jaxlib-laid-out + design_notes/jax_versioning.md#jax-and-jaxlib-versioning Jax and Jaxlib versioning : design_notes/jax_versioning.html#jax-and-jaxlib-versioning + design_notes/jax_versioning.md#why-are-jax-and-jaxlib-separate-packages Why are jax and jaxlib separate packages?: design_notes/jax_versioning.html#why-are-jax-and-jaxlib-separate-packages + design_notes/omnistaging.md#contents Contents : design_notes/omnistaging.html#contents + design_notes/omnistaging.md#dependence-on-jax-internal-apis-that-changed Dependence on JAX internal APIs that changed: design_notes/omnistaging.html#dependence-on-jax-internal-apis-that-changed + design_notes/omnistaging.md#how-can-i-disable-omnistaging-for-now How can I disable omnistaging for now? : design_notes/omnistaging.html#how-can-i-disable-omnistaging-for-now + design_notes/omnistaging.md#how-do-i-fix-bugs-exposed-by-omnistaging How do I fix bugs exposed by omnistaging?: design_notes/omnistaging.html#how-do-i-fix-bugs-exposed-by-omnistaging + design_notes/omnistaging.md#how-do-i-know-if-omnistaging-broke-my-code How do I know if omnistaging broke my code?: design_notes/omnistaging.html#how-do-i-know-if-omnistaging-broke-my-code + design_notes/omnistaging.md#omnistaging Omnistaging : design_notes/omnistaging.html#omnistaging + design_notes/omnistaging.md#side-effects Side-effects : design_notes/omnistaging.html#side-effects + design_notes/omnistaging.md#slightly-less-toy-example Slightly less toy example : design_notes/omnistaging.html#slightly-less-toy-example + design_notes/omnistaging.md#small-numerical-differences-based-on-xla-optimizations Small numerical differences based on XLA optimizations: design_notes/omnistaging.html#small-numerical-differences-based-on-xla-optimizations + design_notes/omnistaging.md#tldr tl;dr : design_notes/omnistaging.html#tl-dr + design_notes/omnistaging.md#toy-example Toy example : design_notes/omnistaging.html#toy-example + design_notes/omnistaging.md#triggering-xla-compile-time-bugs Triggering XLA compile time bugs : design_notes/omnistaging.html#triggering-xla-compile-time-bugs + design_notes/omnistaging.md#using-jaxnumpy-for-shape-computations Using jax.numpy for shape computations : design_notes/omnistaging.html#using-jax-numpy-for-shape-computations + design_notes/omnistaging.md#what-is-omnistaging-and-why-is-it-useful What is "omnistaging" and why is it useful?: design_notes/omnistaging.html#what-is-omnistaging-and-why-is-it-useful + design_notes/omnistaging.md#what-issues-can-arise-when-omnistaging-is-switched-on What issues can arise when omnistaging is switched on?: design_notes/omnistaging.html#what-issues-can-arise-when-omnistaging-is-switched-on + design_notes/omnistaging.md#whats-going-on What's going on? : design_notes/omnistaging.html#what-s-going-on + design_notes/prng.md#contents Contents : design_notes/prng.html#contents + design_notes/prng.md#design Design : design_notes/prng.html#design + design_notes/prng.md#jax-prng-design JAX PRNG Design : design_notes/prng.html#jax-prng-design + design_notes/prng.md#more-realistic-example-user-programs More realistic example user programs : design_notes/prng.html#more-realistic-example-user-programs + design_notes/prng.md#three-programming-models-and-toy-example-programs Three programming models and toy example programs: design_notes/prng.html#three-programming-models-and-toy-example-programs + design_notes/prng.md#tradeoffs-and-alternatives Tradeoffs and alternatives : design_notes/prng.html#tradeoffs-and-alternatives + design_notes/sequencing_effects.md#adding-compiler-tokens Adding compiler tokens : design_notes/sequencing_effects.html#adding-compiler-tokens + design_notes/sequencing_effects.md#background Background : design_notes/sequencing_effects.html#background + design_notes/sequencing_effects.md#blocking-on-output-tokens Blocking on output tokens : design_notes/sequencing_effects.html#blocking-on-output-tokens + design_notes/sequencing_effects.md#enforcing-ordered-effects Enforcing ordered effects : design_notes/sequencing_effects.html#enforcing-ordered-effects + design_notes/sequencing_effects.md#managing-runtime-tokens Managing runtime tokens : design_notes/sequencing_effects.html#managing-runtime-tokens + design_notes/sequencing_effects.md#motivation Motivation : design_notes/sequencing_effects.html#motivation + design_notes/sequencing_effects.md#overview Overview : design_notes/sequencing_effects.html#overview + design_notes/sequencing_effects.md#runtime-tokens-vs-compiler-tokens Runtime tokens vs. compiler tokens : design_notes/sequencing_effects.html#runtime-tokens-vs-compiler-tokens + design_notes/sequencing_effects.md#sequencing-side-effects-in-jax Sequencing side-effects in JAX : design_notes/sequencing_effects.html#sequencing-side-effects-in-jax + design_notes/sequencing_effects.md#some-more-details Some more details : design_notes/sequencing_effects.html#some-more-details + design_notes/type_promotion.ipynb#appendix-example-type-promotion-tables Appendix: Example Type Promotion Tables : design_notes/type_promotion.html#appendix-example-type-promotion-tables + design_notes/type_promotion.ipynb#combining-lattices Combining Lattices : design_notes/type_promotion.html#combining-lattices + design_notes/type_promotion.ipynb#design-of-type-promotion-semantics-for-jax Design of Type Promotion Semantics for JAX: design_notes/type_promotion.html#design-of-type-promotion-semantics-for-jax + design_notes/type_promotion.ipynb#enter-python-scalars Enter Python Scalars : design_notes/type_promotion.html#enter-python-scalars + design_notes/type_promotion.ipynb#goals-of-jax-type-promotion Goals of JAX Type Promotion : design_notes/type_promotion.html#goals-of-jax-type-promotion + design_notes/type_promotion.ipynb#how-to-handle-uint64 How to handle uint64? : design_notes/type_promotion.html#how-to-handle-uint64 + design_notes/type_promotion.ipynb#jax-type-promotion-jaxlax JAX Type Promotion: jax.lax : design_notes/type_promotion.html#jax-type-promotion-jax-lax + design_notes/type_promotion.ipynb#jax-type-promotion-jaxnumpy JAX Type Promotion: jax.numpy : design_notes/type_promotion.html#jax-type-promotion-jax-numpy + design_notes/type_promotion.ipynb#mixed-promotion-float-and-complex Mixed Promotion: Float and Complex : design_notes/type_promotion.html#mixed-promotion-float-and-complex + design_notes/type_promotion.ipynb#mixed-promotion-integer-and-floating Mixed Promotion: Integer and Floating : design_notes/type_promotion.html#mixed-promotion-integer-and-floating + design_notes/type_promotion.ipynb#mixed-promotion-signed--unsigned-integers Mixed Promotion: Signed & Unsigned Integers: design_notes/type_promotion.html#mixed-promotion-signed-unsigned-integers + design_notes/type_promotion.ipynb#numpy-type-promotion NumPy Type Promotion : design_notes/type_promotion.html#numpy-type-promotion + design_notes/type_promotion.ipynb#option-0-leave-integerfloating-mixed-precision-undefined Option 0: Leave integer/floating mixed precision undefined: design_notes/type_promotion.html#option-0-leave-integer-floating-mixed-precision-undefined + design_notes/type_promotion.ipynb#option-1-avoiding-all-precision-loss Option 1: Avoiding All Precision Loss : design_notes/type_promotion.html#option-1-avoiding-all-precision-loss + design_notes/type_promotion.ipynb#option-2-avoid-most-wider-than-necessary-promotions Option 2: Avoid most wider-than-necessary promotions: design_notes/type_promotion.html#option-2-avoid-most-wider-than-necessary-promotions + design_notes/type_promotion.ipynb#option-3-avoid-all-wider-than-necessary-promotions Option 3: Avoid all wider-than-necessary promotions: design_notes/type_promotion.html#option-3-avoid-all-wider-than-necessary-promotions + design_notes/type_promotion.ipynb#properties-of-a-type-promotion-lattice Properties of a Type Promotion Lattice : design_notes/type_promotion.html#properties-of-a-type-promotion-lattice + design_notes/type_promotion.ipynb#pytorch-type-promotion PyTorch Type Promotion : design_notes/type_promotion.html#pytorch-type-promotion + design_notes/type_promotion.ipynb#stepping-back-tables-and-lattices Stepping Back: Tables and Lattices : design_notes/type_promotion.html#stepping-back-tables-and-lattices + design_notes/type_promotion.ipynb#tensorflow-type-promotion Tensorflow Type Promotion : design_notes/type_promotion.html#tensorflow-type-promotion + design_notes/type_promotion.ipynb#type-promotion-in-jax Type Promotion in JAX : design_notes/type_promotion.html#type-promotion-in-jax + design_notes/type_promotion.ipynb#type-promotion-within-categories Type Promotion within Categories : design_notes/type_promotion.html#type-promotion-within-categories + developer.md#additional-notes-for-building-jaxlib-from-source-on-windows Additional Notes for Building jaxlib from source on Windows: developer.html#additional-notes-for-building-jaxlib-from-source-on-windows + developer.md#building-from-source Building from source : developer.html#building-from-source + developer.md#building-jaxlib-from-source Building jaxlib from source : developer.html#building-jaxlib-from-source + developer.md#building-jaxlib-from-source-with-a-modified-tensorflow-repository Building jaxlib from source with a modified TensorFlow repository.: developer.html#building-jaxlib-from-source-with-a-modified-tensorflow-repository + developer.md#building-or-installing-jaxlib Building or installing jaxlib : developer.html#building-or-installing-jaxlib + developer.md#controlling-test-behavior Controlling test behavior : developer.html#controlling-test-behavior + developer.md#creating-new-notebooks Creating new notebooks : developer.html#creating-new-notebooks + developer.md#doctests Doctests : developer.html#doctests + developer.md#documentation-building-on-readthedocsio Documentation building on readthedocs.io: developer.html#documentation-building-on-readthedocs-io + developer.md#editing-ipynb Editing ipynb : developer.html#editing-ipynb + developer.md#editing-md Editing md : developer.html#editing-md + developer.md#installing-jax Installing jax : developer.html#installing-jax + developer.md#installing-jaxlib-with-pip Installing jaxlib with pip : developer.html#installing-jaxlib-with-pip + developer.md#linting Linting : developer.html#linting + developer.md#notebooks-within-the-sphinx-build Notebooks within the sphinx build : developer.html#notebooks-within-the-sphinx-build + developer.md#running-the-tests Running the tests : developer.html#running-the-tests + developer.md#syncing-notebooks Syncing notebooks : developer.html#syncing-notebooks + developer.md#type-checking Type checking : developer.html#type-checking + developer.md#update-documentation Update documentation : developer.html#update-documentation + developer.md#update-notebooks Update notebooks : developer.html#id1 + developer.md#using-bazel Using Bazel : developer.html#using-bazel + developer.md#using-pytest Using pytest : developer.html#using-pytest + device_memory_profiling.md#debugging-memory-leaks Debugging memory leaks : device_memory_profiling.html#debugging-memory-leaks + device_memory_profiling.md#device-memory-profiling Device Memory Profiling : device_memory_profiling.html#device-memory-profiling + device_memory_profiling.md#installation Installation : device_memory_profiling.html#installation + device_memory_profiling.md#understanding-how-a-jax-program-is-using-gpu-or-tpu-memory Understanding how a JAX program is using GPU or TPU memory: device_memory_profiling.html#understanding-how-a-jax-program-is-using-gpu-or-tpu-memory dlmf _autosummary/jax.scipy.special.zeta.html#dlmf extending-pytrees Extending pytrees : pytrees.html#extending-pytrees faq-benchmark Benchmarking JAX code : faq.html#faq-benchmark @@ -2077,21 +2369,250 @@ std:label faq-different-kinds-of-jax-values Different kinds of JAX values : faq.html#faq-different-kinds-of-jax-values faq-donation Buffer donation : faq.html#faq-donation faq-jax-vs-numpy Is JAX faster than NumPy? : faq.html#faq-jax-vs-numpy + faq-jit-class-methods How to use jit with methods? : faq.html#faq-jit-class-methods faq-jit-numerics jit changes the exact numerics of outputs: faq.html#faq-jit-numerics faq-slow-compile jit decorated function is very slow to compile: faq.html#faq-slow-compile genindex Index : genindex.html jacobian-vector-product Jacobian-Vector products (JVPs, aka forward-mode autodiff): notebooks/autodiff_cookbook.html#jacobian-vector-product + jax-101/01-jax-basics.ipynb#auxiliary-data Auxiliary data : jax-101/01-jax-basics.html#auxiliary-data + jax-101/01-jax-basics.ipynb#differences-from-numpy Differences from NumPy : jax-101/01-jax-basics.html#differences-from-numpy + jax-101/01-jax-basics.ipynb#getting-started-with-jax-numpy Getting started with JAX numpy : jax-101/01-jax-basics.html#getting-started-with-jax-numpy + jax-101/01-jax-basics.ipynb#jax-as-accelerated-numpy JAX As Accelerated NumPy : jax-101/01-jax-basics.html#jax-as-accelerated-numpy + jax-101/01-jax-basics.ipynb#jax-first-transformation-grad JAX first transformation: grad : jax-101/01-jax-basics.html#jax-first-transformation-grad + jax-101/01-jax-basics.ipynb#value-and-grad Value and Grad : jax-101/01-jax-basics.html#value-and-grad + jax-101/01-jax-basics.ipynb#your-first-jax-training-loop Your first JAX training loop : jax-101/01-jax-basics.html#your-first-jax-training-loop + jax-101/02-jitting.ipynb#caching Caching : jax-101/02-jitting.html#caching + jax-101/02-jitting.ipynb#how-jax-transforms-work How JAX transforms work : jax-101/02-jitting.html#how-jax-transforms-work + jax-101/02-jitting.ipynb#jit-compiling-a-function JIT compiling a function : jax-101/02-jitting.html#jit-compiling-a-function + jax-101/02-jitting.ipynb#just-in-time-compilation-with-jax Just In Time Compilation with JAX : jax-101/02-jitting.html#just-in-time-compilation-with-jax + jax-101/02-jitting.ipynb#when-to-use-jit When to use JIT : jax-101/02-jitting.html#when-to-use-jit + jax-101/02-jitting.ipynb#why-cant-we-just-jit-everything Why can't we just JIT everything? : jax-101/02-jitting.html#why-can-t-we-just-jit-everything + jax-101/03-vectorization.ipynb#automatic-vectorization Automatic Vectorization : jax-101/03-vectorization.html#automatic-vectorization + jax-101/03-vectorization.ipynb#automatic-vectorization-in-jax Automatic Vectorization in JAX : jax-101/03-vectorization.html#automatic-vectorization-in-jax + jax-101/03-vectorization.ipynb#combining-transformations Combining transformations : jax-101/03-vectorization.html#combining-transformations + jax-101/03-vectorization.ipynb#manual-vectorization Manual Vectorization : jax-101/03-vectorization.html#manual-vectorization + jax-101/04-advanced-autodiff.ipynb#advanced-automatic-differentiation-in-jax Advanced Automatic Differentiation in JAX: jax-101/04-advanced-autodiff.html#advanced-automatic-differentiation-in-jax + jax-101/04-advanced-autodiff.ipynb#higher-order-derivatives Higher-order derivatives : jax-101/04-advanced-autodiff.html#higher-order-derivatives + jax-101/04-advanced-autodiff.ipynb#higher-order-optimization Higher order optimization : jax-101/04-advanced-autodiff.html#higher-order-optimization + jax-101/04-advanced-autodiff.ipynb#per-example-gradients Per-example gradients : jax-101/04-advanced-autodiff.html#per-example-gradients + jax-101/04-advanced-autodiff.ipynb#stopping-gradients Stopping gradients : jax-101/04-advanced-autodiff.html#stopping-gradients + jax-101/04-advanced-autodiff.ipynb#straight-through-estimator-using-stop_gradient Straight-through estimator using stop_gradient: jax-101/04-advanced-autodiff.html#straight-through-estimator-using-stop-gradient + jax-101/05-random-numbers.ipynb#pseudo-random-numbers-in-jax Pseudo Random Numbers in JAX : jax-101/05-random-numbers.html#pseudo-random-numbers-in-jax + jax-101/05-random-numbers.ipynb#random-numbers-in-jax Random numbers in JAX : jax-101/05-random-numbers.html#random-numbers-in-jax + jax-101/05-random-numbers.ipynb#random-numbers-in-numpy Random numbers in NumPy : jax-101/05-random-numbers.html#random-numbers-in-numpy + jax-101/05.1-pytrees.ipynb#common-pytree-functions Common pytree functions : jax-101/05.1-pytrees.html#common-pytree-functions + jax-101/05.1-pytrees.ipynb#common-pytree-gotchas-and-patterns Common pytree gotchas and patterns : jax-101/05.1-pytrees.html#common-pytree-gotchas-and-patterns + jax-101/05.1-pytrees.ipynb#custom-pytree-nodes Custom pytree nodes : jax-101/05.1-pytrees.html#custom-pytree-nodes + jax-101/05.1-pytrees.ipynb#example-ml-model-parameters Example: ML model parameters : jax-101/05.1-pytrees.html#example-ml-model-parameters + jax-101/05.1-pytrees.ipynb#gotchas Gotchas : jax-101/05.1-pytrees.html#gotchas + jax-101/05.1-pytrees.ipynb#more-information More Information : jax-101/05.1-pytrees.html#more-information + jax-101/05.1-pytrees.ipynb#patterns Patterns : jax-101/05.1-pytrees.html#patterns + jax-101/05.1-pytrees.ipynb#what-is-a-pytree What is a pytree? : jax-101/05.1-pytrees.html#what-is-a-pytree + jax-101/05.1-pytrees.ipynb#why-pytrees Why pytrees? : jax-101/05.1-pytrees.html#why-pytrees + jax-101/05.1-pytrees.ipynb#working-with-pytrees Working with Pytrees : jax-101/05.1-pytrees.html#working-with-pytrees + jax-101/06-parallelism.ipynb#aside-hosts-and-devices-in-jax Aside: hosts and devices in JAX : jax-101/06-parallelism.html#aside-hosts-and-devices-in-jax + jax-101/06-parallelism.ipynb#colab-tpu-setup Colab TPU Setup : jax-101/06-parallelism.html#colab-tpu-setup + jax-101/06-parallelism.ipynb#communication-between-devices Communication between devices : jax-101/06-parallelism.html#communication-between-devices + jax-101/06-parallelism.ipynb#example Example : jax-101/06-parallelism.html#example + jax-101/06-parallelism.ipynb#nesting-jaxpmap-and-jaxvmap Nesting jax.pmap and jax.vmap : jax-101/06-parallelism.html#nesting-jax-pmap-and-jax-vmap + jax-101/06-parallelism.ipynb#parallel-evaluation-in-jax Parallel Evaluation in JAX : jax-101/06-parallelism.html#parallel-evaluation-in-jax + jax-101/06-parallelism.ipynb#pmap-and-jit pmap and jit : jax-101/06-parallelism.html#pmap-and-jit + jax-101/06-parallelism.ipynb#specifying-in_axes Specifying in_axes : jax-101/06-parallelism.html#specifying-in-axes + jax-101/06-parallelism.ipynb#the-basics The basics : jax-101/06-parallelism.html#the-basics + jax-101/07-state.ipynb#a-general-strategy A general strategy : jax-101/07-state.html#a-general-strategy + jax-101/07-state.ipynb#a-simple-example-counter A simple example: Counter : jax-101/07-state.html#a-simple-example-counter + jax-101/07-state.ipynb#motivation Motivation : jax-101/07-state.html#motivation + jax-101/07-state.ipynb#simple-worked-example-linear-regression Simple worked example: Linear Regression: jax-101/07-state.html#simple-worked-example-linear-regression + jax-101/07-state.ipynb#stateful-computations-in-jax Stateful Computations in JAX : jax-101/07-state.html#stateful-computations-in-jax + jax-101/07-state.ipynb#taking-it-further Taking it further : jax-101/07-state.html#taking-it-further + jax-101/07-state.ipynb#the-solution-explicit-state The solution: explicit state : jax-101/07-state.html#the-solution-explicit-state + jax-101/08-pjit.md#--partitionspecnone-x - PartitionSpec(None, 'x') : jax-101/08-pjit.html#partitionspec-none-x + jax-101/08-pjit.md#--partitionspecnone-y - PartitionSpec(None, 'y') : jax-101/08-pjit.html#partitionspec-none-y + jax-101/08-pjit.md#--partitionspecx-none - PartitionSpec('x', None) : jax-101/08-pjit.html#partitionspec-x-none + jax-101/08-pjit.md#--partitionspecx-y-none - PartitionSpec((“x”, “y”), None) : jax-101/08-pjit.html#partitionspec-x-y-none + jax-101/08-pjit.md#--partitionspecy-none - PartitionSpec('y', None) : jax-101/08-pjit.html#partitionspec-y-none + jax-101/08-pjit.md#background Background : jax-101/08-pjit.html#background + jax-101/08-pjit.md#how-it-works How it works: : jax-101/08-pjit.html#how-it-works + jax-101/08-pjit.md#in_axis_resources--out_axis_resources in_axis_resources & out_axis_resources : jax-101/08-pjit.html#in-axis-resources-out-axis-resources + jax-101/08-pjit.md#in_axis_resources--out_axis_resources-1 in_axis_resources & out_axis_resources : jax-101/08-pjit.html#id4 + jax-101/08-pjit.md#input-data Input Data : jax-101/08-pjit.html#input-data + jax-101/08-pjit.md#input-data-1 Input data : jax-101/08-pjit.html#id3 + jax-101/08-pjit.md#introduction-to-pjit Introduction to pjit : jax-101/08-pjit.html#introduction-to-pjit + jax-101/08-pjit.md#mesh Mesh : jax-101/08-pjit.html#mesh + jax-101/08-pjit.md#mesh-1 Mesh : jax-101/08-pjit.html#id2 + jax-101/08-pjit.md#more-information-on-partitionspec More information on PartitionSpec: : jax-101/08-pjit.html#more-information-on-partitionspec + jax-101/08-pjit.md#multiple-host-example Multiple Host Example : jax-101/08-pjit.html#multiple-host-example + jax-101/08-pjit.md#putting-everything-together Putting everything together : jax-101/08-pjit.html#putting-everything-together + jax-101/08-pjit.md#putting-everything-together-1 Putting everything together : jax-101/08-pjit.html#id5 + jax-101/08-pjit.md#setup Setup : jax-101/08-pjit.html#setup + jax-101/08-pjit.md#setup-1 Setup : jax-101/08-pjit.html#id1 + jax-101/08-pjit.md#single-host-example Single Host Example : jax-101/08-pjit.html#single-host-example jax-errors JAX Errors : errors.html#jax-errors jax-grad Automatic differentiation : jax.html#jax-grad jax-jit Just-in-time compilation (jit) : jax.html#jax-jit jax-parallel-operators Parallel operators : jax.lax.html#jax-parallel-operators lax-control-flow Control flow operators : jax.lax.html#lax-control-flow modindex Module Index : py-modindex.html + multi_process.md#introduction Introduction : multi_process.html#introduction + multi_process.md#launching-jax-processes Launching JAX processes : multi_process.html#launching-jax-processes + multi_process.md#local-vs-global-devices Local vs. global devices : multi_process.html#local-vs-global-devices + multi_process.md#multi-process-programming-model Multi-process programming model : multi_process.html#multi-process-programming-model + multi_process.md#running-multi-process-computations Running multi-process computations : multi_process.html#running-multi-process-computations + multi_process.md#using-jax-in-multi-host-and-multi-process-environments Using JAX in multi-host and multi-process environments: multi_process.html#using-jax-in-multi-host-and-multi-process-environments multiple_installs Multiple TensorBoard installs : profiling.html#multiple-installs + notebooks/Common_Gotchas_in_JAX.ipynb#-control-flow 🔪 Control Flow : notebooks/Common_Gotchas_in_JAX.html#control-flow + notebooks/Common_Gotchas_in_JAX.ipynb#-double-64bit-precision 🔪 Double (64bit) precision : notebooks/Common_Gotchas_in_JAX.html#double-64bit-precision + notebooks/Common_Gotchas_in_JAX.ipynb#-in-place-updates 🔪 In-Place Updates : notebooks/Common_Gotchas_in_JAX.html#in-place-updates + notebooks/Common_Gotchas_in_JAX.ipynb#-jax---the-sharp-bits- 🔪 JAX - The Sharp Bits 🔪 : notebooks/Common_Gotchas_in_JAX.html#jax-the-sharp-bits + notebooks/Common_Gotchas_in_JAX.ipynb#-miscellaneous-divergences-from-numpy 🔪 Miscellaneous Divergences from NumPy : notebooks/Common_Gotchas_in_JAX.html#miscellaneous-divergences-from-numpy + notebooks/Common_Gotchas_in_JAX.ipynb#-nans 🔪 NaNs : notebooks/Common_Gotchas_in_JAX.html#nans + notebooks/Common_Gotchas_in_JAX.ipynb#-non-array-inputs-numpy-vs-jax 🔪 Non-array inputs: NumPy vs. JAX : notebooks/Common_Gotchas_in_JAX.html#non-array-inputs-numpy-vs-jax + notebooks/Common_Gotchas_in_JAX.ipynb#-out-of-bounds-indexing 🔪 Out-of-Bounds Indexing : notebooks/Common_Gotchas_in_JAX.html#out-of-bounds-indexing + notebooks/Common_Gotchas_in_JAX.ipynb#-pure-functions 🔪 Pure functions : notebooks/Common_Gotchas_in_JAX.html#pure-functions + notebooks/Common_Gotchas_in_JAX.ipynb#-python-control_flow--autodiff- ✔ python control_flow + autodiff ✔ : notebooks/Common_Gotchas_in_JAX.html#python-control-flow-autodiff + notebooks/Common_Gotchas_in_JAX.ipynb#-random-numbers 🔪 Random Numbers : notebooks/Common_Gotchas_in_JAX.html#random-numbers + notebooks/Common_Gotchas_in_JAX.ipynb#array-updates-with-other-operations Array updates with other operations : notebooks/Common_Gotchas_in_JAX.html#array-updates-with-other-operations + notebooks/Common_Gotchas_in_JAX.ipynb#array-updates-xatidxsety Array updates: x.at[idx].set(y) : notebooks/Common_Gotchas_in_JAX.html#array-updates-x-at-idx-set-y + notebooks/Common_Gotchas_in_JAX.ipynb#caveats Caveats : notebooks/Common_Gotchas_in_JAX.html#caveats + notebooks/Common_Gotchas_in_JAX.ipynb#debugging-nans Debugging NaNs : notebooks/Common_Gotchas_in_JAX.html#debugging-nans + notebooks/Common_Gotchas_in_JAX.ipynb#fin Fin. : notebooks/Common_Gotchas_in_JAX.html#fin + notebooks/Common_Gotchas_in_JAX.ipynb#jax-prng JAX PRNG : notebooks/Common_Gotchas_in_JAX.html#jax-prng + notebooks/Common_Gotchas_in_JAX.ipynb#python-control-flow--jit python control flow + JIT : notebooks/Common_Gotchas_in_JAX.html#python-control-flow-jit + notebooks/Common_Gotchas_in_JAX.ipynb#rngs-and-state RNGs and State : notebooks/Common_Gotchas_in_JAX.html#rngs-and-state + notebooks/Common_Gotchas_in_JAX.ipynb#structured-control-flow-primitives Structured control flow primitives : notebooks/Common_Gotchas_in_JAX.html#structured-control-flow-primitives + notebooks/Custom_derivative_rules_for_Python_code.ipynb#basic-usage-of-jaxcustom_jvp-and-jaxcustom_vjp-apis Basic usage of jax.custom_jvp and jax.custom_vjp APIs: notebooks/Custom_derivative_rules_for_Python_code.html#basic-usage-of-jax-custom-jvp-and-jax-custom-vjp-apis + notebooks/Custom_derivative_rules_for_Python_code.ipynb#custom-derivative-rules-for-jax-transformable-python-functions Custom derivative rules for JAX-transformable Python functions: notebooks/Custom_derivative_rules_for_Python_code.html#custom-derivative-rules-for-jax-transformable-python-functions + notebooks/Custom_derivative_rules_for_Python_code.ipynb#custom-jvps-with-jaxcustom_jvp Custom JVPs with jax.custom_jvp : notebooks/Custom_derivative_rules_for_Python_code.html#custom-jvps-with-jax-custom-jvp + notebooks/Custom_derivative_rules_for_Python_code.ipynb#custom-vjps-with-jaxcustom_vjp Custom VJPs with jax.custom_vjp : notebooks/Custom_derivative_rules_for_Python_code.html#custom-vjps-with-jax-custom-vjp + notebooks/Custom_derivative_rules_for_Python_code.ipynb#enforcing-a-differentiation-convention Enforcing a differentiation convention : notebooks/Custom_derivative_rules_for_Python_code.html#enforcing-a-differentiation-convention + notebooks/Custom_derivative_rules_for_Python_code.ipynb#example-problems Example problems : notebooks/Custom_derivative_rules_for_Python_code.html#example-problems + notebooks/Custom_derivative_rules_for_Python_code.ipynb#gradient-clipping Gradient clipping : notebooks/Custom_derivative_rules_for_Python_code.html#gradient-clipping + notebooks/Custom_derivative_rules_for_Python_code.ipynb#handling--non-differentiable-arguments Handling non-differentiable arguments : notebooks/Custom_derivative_rules_for_Python_code.html#handling-non-differentiable-arguments + notebooks/Custom_derivative_rules_for_Python_code.ipynb#implicit-function-differentiation-of-iterative-implementations Implicit function differentiation of iterative implementations: notebooks/Custom_derivative_rules_for_Python_code.html#implicit-function-differentiation-of-iterative-implementations + notebooks/Custom_derivative_rules_for_Python_code.ipynb#more-features-and-details More features and details : notebooks/Custom_derivative_rules_for_Python_code.html#more-features-and-details + notebooks/Custom_derivative_rules_for_Python_code.ipynb#numerical-stability Numerical stability : notebooks/Custom_derivative_rules_for_Python_code.html#numerical-stability + notebooks/Custom_derivative_rules_for_Python_code.ipynb#python-debugging Python debugging : notebooks/Custom_derivative_rules_for_Python_code.html#python-debugging + notebooks/Custom_derivative_rules_for_Python_code.ipynb#tldr TL;DR : notebooks/Custom_derivative_rules_for_Python_code.html#tl-dr + notebooks/Custom_derivative_rules_for_Python_code.ipynb#use-jaxcustom_jvp-to-define-forward-mode-and-indirectly-reverse-mode-rules Use jax.custom_jvp to define forward-mode (and, indirectly, reverse-mode) rules: notebooks/Custom_derivative_rules_for_Python_code.html#use-jax-custom-jvp-to-define-forward-mode-and-indirectly-reverse-mode-rules + notebooks/Custom_derivative_rules_for_Python_code.ipynb#use-jaxcustom_vjp-to-define-custom-reverse-mode-only-rules Use jax.custom_vjp to define custom reverse-mode-only rules: notebooks/Custom_derivative_rules_for_Python_code.html#use-jax-custom-vjp-to-define-custom-reverse-mode-only-rules + notebooks/Custom_derivative_rules_for_Python_code.ipynb#working-with-list--tuple--dict-containers-and-other-pytrees Working with list / tuple / dict containers (and other pytrees): notebooks/Custom_derivative_rules_for_Python_code.html#working-with-list-tuple-dict-containers-and-other-pytrees + notebooks/How_JAX_primitives_work.ipynb#batching Batching : notebooks/How_JAX_primitives_work.html#batching + notebooks/How_JAX_primitives_work.ipynb#defining-new-jax-primitives Defining new JAX primitives : notebooks/How_JAX_primitives_work.html#defining-new-jax-primitives + notebooks/How_JAX_primitives_work.ipynb#forward-differentiation Forward differentiation : notebooks/How_JAX_primitives_work.html#forward-differentiation + notebooks/How_JAX_primitives_work.ipynb#how-jax-primitives-work How JAX primitives work : notebooks/How_JAX_primitives_work.html#how-jax-primitives-work + notebooks/How_JAX_primitives_work.ipynb#jit JIT : notebooks/How_JAX_primitives_work.html#jit + notebooks/How_JAX_primitives_work.ipynb#primal-evaluation-rules Primal evaluation rules : notebooks/How_JAX_primitives_work.html#primal-evaluation-rules + notebooks/How_JAX_primitives_work.ipynb#reverse-differentiation Reverse differentiation : notebooks/How_JAX_primitives_work.html#reverse-differentiation + notebooks/How_JAX_primitives_work.ipynb#using-existing-primitives Using existing primitives : notebooks/How_JAX_primitives_work.html#using-existing-primitives + notebooks/Neural_Network_and_Data_Loading.ipynb#auto-batching-predictions Auto-batching predictions : notebooks/Neural_Network_and_Data_Loading.html#auto-batching-predictions + notebooks/Neural_Network_and_Data_Loading.ipynb#data-loading-with-pytorch Data Loading with PyTorch : notebooks/Neural_Network_and_Data_Loading.html#data-loading-with-pytorch + notebooks/Neural_Network_and_Data_Loading.ipynb#hyperparameters Hyperparameters : notebooks/Neural_Network_and_Data_Loading.html#hyperparameters + notebooks/Neural_Network_and_Data_Loading.ipynb#training-a-simple-neural-network-with-pytorch-data-loading Training a Simple Neural Network, with PyTorch Data Loading: notebooks/Neural_Network_and_Data_Loading.html#training-a-simple-neural-network-with-pytorch-data-loading + notebooks/Neural_Network_and_Data_Loading.ipynb#training-loop Training Loop : notebooks/Neural_Network_and_Data_Loading.html#training-loop + notebooks/Neural_Network_and_Data_Loading.ipynb#utility-and-loss-functions Utility and loss functions : notebooks/Neural_Network_and_Data_Loading.html#utility-and-loss-functions + notebooks/Writing_custom_interpreters_in_Jax.ipynb#1-tracing-a-function 1. Tracing a function : notebooks/Writing_custom_interpreters_in_Jax.html#tracing-a-function + notebooks/Writing_custom_interpreters_in_Jax.ipynb#2-evaluating-a-jaxpr 2. Evaluating a Jaxpr : notebooks/Writing_custom_interpreters_in_Jax.html#evaluating-a-jaxpr + notebooks/Writing_custom_interpreters_in_Jax.ipynb#custom-inverse-jaxpr-interpreter Custom inverse Jaxpr interpreter : notebooks/Writing_custom_interpreters_in_Jax.html#custom-inverse-jaxpr-interpreter + notebooks/Writing_custom_interpreters_in_Jax.ipynb#exercises-for-the-reader Exercises for the reader : notebooks/Writing_custom_interpreters_in_Jax.html#exercises-for-the-reader + notebooks/Writing_custom_interpreters_in_Jax.ipynb#jaxpr-tracer Jaxpr tracer : notebooks/Writing_custom_interpreters_in_Jax.html#jaxpr-tracer + notebooks/Writing_custom_interpreters_in_Jax.ipynb#what-is-jax-doing What is JAX doing? : notebooks/Writing_custom_interpreters_in_Jax.html#what-is-jax-doing + notebooks/Writing_custom_interpreters_in_Jax.ipynb#why-are-jaxprs-useful Why are Jaxprs useful? : notebooks/Writing_custom_interpreters_in_Jax.html#why-are-jaxprs-useful + notebooks/Writing_custom_interpreters_in_Jax.ipynb#writing-custom-jaxpr-interpreters-in-jax Writing custom Jaxpr interpreters in JAX: notebooks/Writing_custom_interpreters_in_Jax.html#writing-custom-jaxpr-interpreters-in-jax + notebooks/Writing_custom_interpreters_in_Jax.ipynb#your-first-interpreter-invert Your first interpreter: invert : notebooks/Writing_custom_interpreters_in_Jax.html#your-first-interpreter-invert + notebooks/autodiff_cookbook.ipynb#checking-against-numerical-differences Checking against numerical differences : notebooks/autodiff_cookbook.html#checking-against-numerical-differences + notebooks/autodiff_cookbook.ipynb#complex-numbers-and-differentiation Complex numbers and differentiation : notebooks/autodiff_cookbook.html#complex-numbers-and-differentiation + notebooks/autodiff_cookbook.ipynb#composing-vjps-jvps-and-vmap Composing VJPs, JVPs, and vmap : notebooks/autodiff_cookbook.html#composing-vjps-jvps-and-vmap + notebooks/autodiff_cookbook.ipynb#differentiating-with-respect-to-nested-lists-tuples-and-dicts Differentiating with respect to nested lists, tuples, and dicts: notebooks/autodiff_cookbook.html#differentiating-with-respect-to-nested-lists-tuples-and-dicts + notebooks/autodiff_cookbook.ipynb#evaluate-a-function-and-its-gradient-using-value_and_grad Evaluate a function and its gradient using value_and_grad: notebooks/autodiff_cookbook.html#evaluate-a-function-and-its-gradient-using-value-and-grad + notebooks/autodiff_cookbook.ipynb#gradients Gradients : notebooks/autodiff_cookbook.html#gradients + notebooks/autodiff_cookbook.ipynb#hessian-vector-products-using-both-forward--and-reverse-mode Hessian-vector products using both forward- and reverse-mode: notebooks/autodiff_cookbook.html#hessian-vector-products-using-both-forward-and-reverse-mode + notebooks/autodiff_cookbook.ipynb#hessian-vector-products-with-grad-of-grad Hessian-vector products with grad-of-grad: notebooks/autodiff_cookbook.html#hessian-vector-products-with-grad-of-grad + notebooks/autodiff_cookbook.ipynb#how-its-made-two-foundational-autodiff-functions How it's made: two foundational autodiff functions: notebooks/autodiff_cookbook.html#how-it-s-made-two-foundational-autodiff-functions + notebooks/autodiff_cookbook.ipynb#jacobian-matrix-and-matrix-jacobian-products Jacobian-Matrix and Matrix-Jacobian products: notebooks/autodiff_cookbook.html#jacobian-matrix-and-matrix-jacobian-products + notebooks/autodiff_cookbook.ipynb#jacobian-vector-products-jvps-aka-forward-mode-autodiff Jacobian-Vector products (JVPs, aka forward-mode autodiff): notebooks/autodiff_cookbook.html#jacobian-vector-products-jvps-aka-forward-mode-autodiff + notebooks/autodiff_cookbook.ipynb#jacobians-and-hessians-using-jacfwd-and-jacrev Jacobians and Hessians using jacfwd and jacrev: notebooks/autodiff_cookbook.html#jacobians-and-hessians-using-jacfwd-and-jacrev + notebooks/autodiff_cookbook.ipynb#more-advanced-autodiff More advanced autodiff : notebooks/autodiff_cookbook.html#more-advanced-autodiff + notebooks/autodiff_cookbook.ipynb#starting-with-grad Starting with grad : notebooks/autodiff_cookbook.html#starting-with-grad + notebooks/autodiff_cookbook.ipynb#the-autodiff-cookbook The Autodiff Cookbook : notebooks/autodiff_cookbook.html#the-autodiff-cookbook + notebooks/autodiff_cookbook.ipynb#the-implementation-of-jacfwd-and-jacrev The implementation of jacfwd and jacrev : notebooks/autodiff_cookbook.html#the-implementation-of-jacfwd-and-jacrev + notebooks/autodiff_cookbook.ipynb#vector-jacobian-products-vjps-aka-reverse-mode-autodiff Vector-Jacobian products (VJPs, aka reverse-mode autodiff): notebooks/autodiff_cookbook.html#vector-jacobian-products-vjps-aka-reverse-mode-autodiff + notebooks/autodiff_cookbook.ipynb#vector-valued-gradients-with-vjps Vector-valued gradients with VJPs : notebooks/autodiff_cookbook.html#vector-valued-gradients-with-vjps + notebooks/convolutions.ipynb#1d-convolutions 1D Convolutions : notebooks/convolutions.html#d-convolutions + notebooks/convolutions.ipynb#3d-convolutions 3D Convolutions : notebooks/convolutions.html#id1 + notebooks/convolutions.ipynb#basic-n-dimensional-convolution Basic N-dimensional Convolution : notebooks/convolutions.html#basic-n-dimensional-convolution + notebooks/convolutions.ipynb#basic-one-dimensional-convolution Basic One-dimensional Convolution : notebooks/convolutions.html#basic-one-dimensional-convolution + notebooks/convolutions.ipynb#convolutions-in-jax Convolutions in JAX : notebooks/convolutions.html#convolutions-in-jax + notebooks/convolutions.ipynb#dimension-numbers-define-dimensional-layout-for-conv_general_dilated Dimension Numbers define dimensional layout for conv_general_dilated: notebooks/convolutions.html#dimension-numbers-define-dimensional-layout-for-conv-general-dilated + notebooks/convolutions.ipynb#general-convolutions General Convolutions : notebooks/convolutions.html#general-convolutions + notebooks/convolutions.ipynb#laxconv-and-laxconv_with_general_padding lax.conv and lax.conv_with_general_padding: notebooks/convolutions.html#lax-conv-and-lax-conv-with-general-padding + notebooks/neural_network_with_tfds_data.ipynb#auto-batching-predictions Auto-batching predictions : notebooks/neural_network_with_tfds_data.html#auto-batching-predictions + notebooks/neural_network_with_tfds_data.ipynb#data-loading-with-tensorflowdatasets Data Loading with tensorflow/datasets : notebooks/neural_network_with_tfds_data.html#data-loading-with-tensorflow-datasets + notebooks/neural_network_with_tfds_data.ipynb#hyperparameters Hyperparameters : notebooks/neural_network_with_tfds_data.html#hyperparameters + notebooks/neural_network_with_tfds_data.ipynb#training-a-simple-neural-network-with-tensorflowdatasets-data-loading Training a Simple Neural Network, with tensorflow/datasets Data Loading: notebooks/neural_network_with_tfds_data.html#training-a-simple-neural-network-with-tensorflow-datasets-data-loading + notebooks/neural_network_with_tfds_data.ipynb#training-loop Training Loop : notebooks/neural_network_with_tfds_data.html#training-loop + notebooks/neural_network_with_tfds_data.ipynb#utility-and-loss-functions Utility and loss functions : notebooks/neural_network_with_tfds_data.html#utility-and-loss-functions + notebooks/quickstart.ipynb#auto-vectorization-with Auto-vectorization with vmap() : notebooks/quickstart.html#auto-vectorization-with-vmap + notebooks/quickstart.ipynb#jax-quickstart JAX Quickstart : notebooks/quickstart.html#jax-quickstart + notebooks/quickstart.ipynb#multiplying-matrices Multiplying Matrices : notebooks/quickstart.html#multiplying-matrices + notebooks/quickstart.ipynb#taking-derivatives-with Taking derivatives with grad() : notebooks/quickstart.html#taking-derivatives-with-grad + notebooks/quickstart.ipynb#using--to-speed-up-functions Using jit() to speed up functions : notebooks/quickstart.html#using-jit-to-speed-up-functions + notebooks/thinking_in_jax.ipynb#how-to-think-in-jax How to Think in JAX : notebooks/thinking_in_jax.html#how-to-think-in-jax + notebooks/thinking_in_jax.ipynb#jax-vs-numpy JAX vs. NumPy : notebooks/thinking_in_jax.html#jax-vs-numpy + notebooks/thinking_in_jax.ipynb#jit-mechanics-tracing-and-static-variables JIT mechanics: tracing and static variables: notebooks/thinking_in_jax.html#jit-mechanics-tracing-and-static-variables + notebooks/thinking_in_jax.ipynb#numpy-lax--xla-jax-api-layering NumPy, lax & XLA: JAX API layering : notebooks/thinking_in_jax.html#numpy-lax-xla-jax-api-layering + notebooks/thinking_in_jax.ipynb#static-vs-traced-operations Static vs Traced Operations : notebooks/thinking_in_jax.html#static-vs-traced-operations + notebooks/thinking_in_jax.ipynb#to-jit-or-not-to-jit To JIT or not to JIT : notebooks/thinking_in_jax.html#to-jit-or-not-to-jit + notebooks/vmapped_log_probs.ipynb#autobatched-with-vmap Autobatched with vmap : notebooks/vmapped_log_probs.html#autobatched-with-vmap + notebooks/vmapped_log_probs.ipynb#autobatching-log-densities-example Autobatching log-densities example : notebooks/vmapped_log_probs.html#autobatching-log-densities-example + notebooks/vmapped_log_probs.ipynb#define-the-elbo-and-its-gradient Define the ELBO and its gradient : notebooks/vmapped_log_probs.html#define-the-elbo-and-its-gradient + notebooks/vmapped_log_probs.ipynb#display-the-results Display the results : notebooks/vmapped_log_probs.html#display-the-results + notebooks/vmapped_log_probs.ipynb#generate-a-fake-binary-classification-dataset Generate a fake binary classification dataset: notebooks/vmapped_log_probs.html#generate-a-fake-binary-classification-dataset + notebooks/vmapped_log_probs.ipynb#manually-batched Manually batched : notebooks/vmapped_log_probs.html#manually-batched + notebooks/vmapped_log_probs.ipynb#non-batched Non-batched : notebooks/vmapped_log_probs.html#non-batched + notebooks/vmapped_log_probs.ipynb#optimize-the-elbo-using-sgd Optimize the ELBO using SGD : notebooks/vmapped_log_probs.html#optimize-the-elbo-using-sgd + notebooks/vmapped_log_probs.ipynb#self-contained-variational-inference-example Self-contained variational inference example: notebooks/vmapped_log_probs.html#self-contained-variational-inference-example + notebooks/vmapped_log_probs.ipynb#set-up-the-batched-log-joint-function Set up the (batched) log-joint function : notebooks/vmapped_log_probs.html#set-up-the-batched-log-joint-function + notebooks/vmapped_log_probs.ipynb#write-the-log-joint-function-for-the-model Write the log-joint function for the model: notebooks/vmapped_log_probs.html#write-the-log-joint-function-for-the-model + notebooks/xmap_tutorial.ipynb#broadcasting Broadcasting : notebooks/xmap_tutorial.html#broadcasting + notebooks/xmap_tutorial.ipynb#but-where-do-those-resource-names-come-from But... where do those resource names come from?: notebooks/xmap_tutorial.html#but-where-do-those-resource-names-come-from + notebooks/xmap_tutorial.ipynb#collectives Collectives : notebooks/xmap_tutorial.html#collectives + notebooks/xmap_tutorial.ipynb#einsum einsum : notebooks/xmap_tutorial.html#einsum + notebooks/xmap_tutorial.ipynb#from-positions-to-names-in-a-toy-neural-network From positions to names in a toy neural network: notebooks/xmap_tutorial.html#from-positions-to-names-in-a-toy-neural-network + notebooks/xmap_tutorial.ipynb#interactions-with-positional-axes Interactions with positional axes : notebooks/xmap_tutorial.html#interactions-with-positional-axes + notebooks/xmap_tutorial.ipynb#introducing-and-eliminating-named-axes Introducing and eliminating named axes : notebooks/xmap_tutorial.html#introducing-and-eliminating-named-axes + notebooks/xmap_tutorial.ipynb#is-my-data-replicated-or-partitioned-where-is-it Is my data replicated? Or partitioned? Where is it?: notebooks/xmap_tutorial.html#is-my-data-replicated-or-partitioned-where-is-it + notebooks/xmap_tutorial.ipynb#named-axes-and-easy-to-revise-parallelism Named axes and easy-to-revise parallelism: notebooks/xmap_tutorial.html#named-axes-and-easy-to-revise-parallelism + notebooks/xmap_tutorial.ipynb#named-axis-propagation Named axis propagation : notebooks/xmap_tutorial.html#named-axis-propagation + notebooks/xmap_tutorial.ipynb#parallelism-support Parallelism support : notebooks/xmap_tutorial.html#parallelism-support + notebooks/xmap_tutorial.ipynb#porting-positional-code-to-named-code Porting positional code to named code : notebooks/xmap_tutorial.html#porting-positional-code-to-named-code + notebooks/xmap_tutorial.ipynb#preliminaries Preliminaries : notebooks/xmap_tutorial.html#preliminaries + notebooks/xmap_tutorial.ipynb#reductions Reductions : notebooks/xmap_tutorial.html#reductions + notebooks/xmap_tutorial.ipynb#tensors-with-named-axes Tensors with named axes : notebooks/xmap_tutorial.html#tensors-with-named-axes + notebooks/xmap_tutorial.ipynb#why-axis_resources-and-not-a-more-direct-mapping-to-hardware Why axis_resources and not a more direct mapping to hardware?: notebooks/xmap_tutorial.html#why-axis-resources-and-not-a-more-direct-mapping-to-hardware pr-checklist JAX pull request checklist : contributing.html#pr-checklist + profiling.md#adding-custom-trace-events Adding custom trace events : profiling.html#adding-custom-trace-events + profiling.md#installation Installation : profiling.html#installation + profiling.md#manual-capture Manual capture : profiling.html#manual-capture + profiling.md#manual-capture-via-tensorboard Manual capture via TensorBoard : profiling.html#manual-capture-via-tensorboard + profiling.md#nsight Nsight : profiling.html#nsight + profiling.md#profiling-jax-programs Profiling JAX programs : profiling.html#profiling-jax-programs + profiling.md#programmatic-capture Programmatic capture : profiling.html#programmatic-capture + profiling.md#remote-profiling Remote profiling : profiling.html#remote-profiling + profiling.md#tensorboard-profiling TensorBoard profiling : profiling.html#tensorboard-profiling + profiling.md#troubleshooting Troubleshooting : profiling.html#troubleshooting + profiling.md#viewing-program-traces-with-perfetto Viewing program traces with Perfetto : profiling.html#viewing-program-traces-with-perfetto py-modindex Python Module Index : py-modindex.html pytrees Pytrees : pytrees.html#pytrees - remote_profiling Profiling on a remote machine : profiling.html#remote-profiling + pytrees.md#applying-optional-parameters-to-pytrees Applying optional parameters to pytrees : pytrees.html#applying-optional-parameters-to-pytrees + pytrees.md#custom-pytrees-and-initialization Custom PyTrees and Initialization : pytrees.html#custom-pytrees-and-initialization + pytrees.md#developer-information Developer information : pytrees.html#developer-information + pytrees.md#extending-pytrees Extending pytrees : pytrees.html#id2 + pytrees.md#internal-pytree-handling Internal pytree handling : pytrees.html#internal-pytree-handling + pytrees.md#pytrees Pytrees : pytrees.html#id1 + pytrees.md#pytrees-and-jax-functions Pytrees and JAX functions : pytrees.html#pytrees-and-jax-functions + pytrees.md#viewing-the-pytree-definition-of-an-object Viewing the pytree definition of an object: pytrees.html#viewing-the-pytree-definition-of-an-object + pytrees.md#what-is-a-pytree What is a pytree? : pytrees.html#what-is-a-pytree + remote_profiling Profiling on a remote machine : profiling.html#id1 running-tests Running the tests : developer.html#running-tests search Search Page : search.html syntactic-sugar-for-ops jax.ops.html#syntactic-sugar-for-ops diff --git a/doc/_intersphinx/numpy.inv b/doc/_intersphinx/numpy.inv index f3e875a99d930aa3eb2e80935c005101a5ddfbf6..1f93190ee2ddaf37522002cd583a3eddcaedfcb1 100644 GIT binary patch literal 77133 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 BXQ==H diff --git a/doc/_intersphinx/numpy.txt b/doc/_intersphinx/numpy.txt index 27ffeb7..389958a 100644 --- a/doc/_intersphinx/numpy.txt +++ b/doc/_intersphinx/numpy.txt @@ -252,6 +252,7 @@ c:function PyArray_FROM_OF reference/c-api/array.html#c.PyArray_FROM_OF PyArray_FROM_OT reference/c-api/array.html#c.PyArray_FROM_OT PyArray_FROM_OTF reference/c-api/array.html#c.PyArray_FROM_OTF + PyArray_FailUnlessWriteable reference/c-api/array.html#c.PyArray_FailUnlessWriteable PyArray_FieldNames reference/c-api/array.html#c.PyArray_FieldNames PyArray_FillObjectArray reference/c-api/array.html#c.PyArray_FillObjectArray PyArray_FillWithScalar reference/c-api/array.html#c.PyArray_FillWithScalar @@ -404,7 +405,6 @@ c:function PyArray_SetField reference/c-api/array.html#c.PyArray_SetField PyArray_SetNumericOps reference/c-api/array.html#c.PyArray_SetNumericOps PyArray_SetStringFunction reference/c-api/array.html#c.PyArray_SetStringFunction - PyArray_SetUpdateIfCopyBase reference/c-api/array.html#c.PyArray_SetUpdateIfCopyBase PyArray_SetWritebackIfCopyBase reference/c-api/array.html#c.PyArray_SetWritebackIfCopyBase PyArray_SimpleNew reference/c-api/array.html#c.PyArray_SimpleNew PyArray_SimpleNewFromData reference/c-api/array.html#c.PyArray_SimpleNewFromData @@ -743,11 +743,10 @@ c:functionParam PyArray_ArrayType.op reference/c-api/array.html#c.PyArray_ArrayType PyArray_ArrayType.outtype reference/c-api/array.html#c.PyArray_ArrayType PyArray_AsCArray.dims reference/c-api/array.html#c.PyArray_AsCArray - PyArray_AsCArray.itemsize reference/c-api/array.html#c.PyArray_AsCArray PyArray_AsCArray.nd reference/c-api/array.html#c.PyArray_AsCArray PyArray_AsCArray.op reference/c-api/array.html#c.PyArray_AsCArray PyArray_AsCArray.ptr reference/c-api/array.html#c.PyArray_AsCArray - PyArray_AsCArray.typenum reference/c-api/array.html#c.PyArray_AsCArray + PyArray_AsCArray.typedescr reference/c-api/array.html#c.PyArray_AsCArray PyArray_AxisConverter.axis reference/c-api/array.html#c.PyArray_AxisConverter PyArray_AxisConverter.obj reference/c-api/array.html#c.PyArray_AxisConverter PyArray_BASE.arr reference/c-api/array.html#c.PyArray_BASE @@ -936,6 +935,8 @@ c:functionParam PyArray_FROM_OTF.obj reference/c-api/array.html#c.PyArray_FROM_OTF PyArray_FROM_OTF.requirements reference/c-api/array.html#c.PyArray_FROM_OTF PyArray_FROM_OTF.typenum reference/c-api/array.html#c.PyArray_FROM_OTF + PyArray_FailUnlessWriteable.name reference/c-api/array.html#c.PyArray_FailUnlessWriteable + PyArray_FailUnlessWriteable.obj reference/c-api/array.html#c.PyArray_FailUnlessWriteable PyArray_FieldNames.dict reference/c-api/array.html#c.PyArray_FieldNames PyArray_FillObjectArray.arr reference/c-api/array.html#c.PyArray_FillObjectArray PyArray_FillObjectArray.obj reference/c-api/array.html#c.PyArray_FillObjectArray @@ -1246,8 +1247,6 @@ c:functionParam PyArray_SetNumericOps.dict reference/c-api/array.html#c.PyArray_SetNumericOps PyArray_SetStringFunction.op reference/c-api/array.html#c.PyArray_SetStringFunction PyArray_SetStringFunction.repr reference/c-api/array.html#c.PyArray_SetStringFunction - PyArray_SetUpdateIfCopyBase.arr reference/c-api/array.html#c.PyArray_SetUpdateIfCopyBase - PyArray_SetUpdateIfCopyBase.base reference/c-api/array.html#c.PyArray_SetUpdateIfCopyBase PyArray_SetWritebackIfCopyBase.arr reference/c-api/array.html#c.PyArray_SetWritebackIfCopyBase PyArray_SetWritebackIfCopyBase.base reference/c-api/array.html#c.PyArray_SetWritebackIfCopyBase PyArray_SimpleNew.dims reference/c-api/array.html#c.PyArray_SimpleNew @@ -1776,7 +1775,6 @@ c:macro NPY_ARRAY_OUT_ARRAY reference/c-api/array.html#c.NPY_ARRAY_OUT_ARRAY NPY_ARRAY_OUT_ARRAY.NPY_ARRAY_OUT_FARRAY reference/c-api/array.html#c.NPY_ARRAY_OUT_ARRAY.NPY_ARRAY_OUT_FARRAY NPY_ARRAY_OWNDATA reference/c-api/array.html#c.NPY_ARRAY_OWNDATA - NPY_ARRAY_UPDATEIFCOPY reference/c-api/array.html#c.NPY_ARRAY_UPDATEIFCOPY NPY_ARRAY_UPDATE_ALL reference/c-api/array.html#c.NPY_ARRAY_UPDATE_ALL NPY_ARRAY_WRITEABLE reference/c-api/array.html#c.NPY_ARRAY_WRITEABLE NPY_ARRAY_WRITEBACKIFCOPY reference/c-api/array.html#c.NPY_ARRAY_WRITEBACKIFCOPY @@ -1932,7 +1930,6 @@ c:macro PyArray_FromAny.NPY_ARRAY_FARRAY_RO reference/c-api/array.html#c.PyArray_FromAny.NPY_ARRAY_FARRAY_RO PyArray_FromAny.NPY_ARRAY_FORCECAST reference/c-api/array.html#c.PyArray_FromAny.NPY_ARRAY_FORCECAST PyArray_FromAny.NPY_ARRAY_F_CONTIGUOUS reference/c-api/array.html#c.PyArray_FromAny.NPY_ARRAY_F_CONTIGUOUS - PyArray_FromAny.NPY_ARRAY_UPDATEIFCOPY reference/c-api/array.html#c.PyArray_FromAny.NPY_ARRAY_UPDATEIFCOPY PyArray_FromAny.NPY_ARRAY_WRITEABLE reference/c-api/array.html#c.PyArray_FromAny.NPY_ARRAY_WRITEABLE PyArray_FromAny.NPY_ARRAY_WRITEBACKIFCOPY reference/c-api/array.html#c.PyArray_FromAny.NPY_ARRAY_WRITEBACKIFCOPY PyArray_GetEndianness.NPY_CPU_BIG reference/c-api/config.html#c.PyArray_GetEndianness.NPY_CPU_BIG @@ -2057,6 +2054,7 @@ c:member PyArray_Chunk.flags reference/c-api/types-and-structures.html#c.PyArray_Chunk.flags PyArray_Chunk.len reference/c-api/types-and-structures.html#c.PyArray_Chunk.len PyArray_Chunk.ptr reference/c-api/types-and-structures.html#c.PyArray_Chunk.ptr + PyArray_Descr.alignment reference/c-api/types-and-structures.html#c.PyArray_Descr.alignment PyArray_Descr.byteorder reference/c-api/types-and-structures.html#c.PyArray_Descr.byteorder PyArray_Descr.flags reference/c-api/types-and-structures.html#c.PyArray_Descr.flags PyArray_Descr.kind reference/c-api/types-and-structures.html#c.PyArray_Descr.kind @@ -2467,6 +2465,7 @@ py:attribute numpy.singlecomplex reference/arrays.scalars.html#numpy.singlecomplex numpy.string_ reference/arrays.scalars.html#numpy.string_ numpy.testing.Tester reference/generated/numpy.testing.Tester.html#numpy.testing.Tester + numpy.testing.clear_and_catch_warnings.class_modules reference/generated/numpy.testing.clear_and_catch_warnings.class_modules.html#numpy.testing.clear_and_catch_warnings.class_modules numpy.ufunc.identity reference/generated/numpy.ufunc.identity.html#numpy.ufunc.identity numpy.ufunc.nargs reference/generated/numpy.ufunc.nargs.html#numpy.ufunc.nargs numpy.ufunc.nin reference/generated/numpy.ufunc.nin.html#numpy.ufunc.nin @@ -2563,7 +2562,9 @@ py:class numpy.signedinteger reference/arrays.scalars.html#numpy.signedinteger numpy.single reference/arrays.scalars.html#numpy.single numpy.str_ reference/arrays.scalars.html#numpy.str_ + numpy.testing._private.utils.clear_and_catch_warnings reference/generated/numpy.testing.clear_and_catch_warnings.html#numpy.testing.clear_and_catch_warnings numpy.testing._private.utils.suppress_warnings reference/generated/numpy.testing.suppress_warnings.html#numpy.testing.suppress_warnings + numpy.testing.clear_and_catch_warnings reference/generated/numpy.testing.clear_and_catch_warnings.html#numpy.testing.clear_and_catch_warnings numpy.testing.suppress_warnings reference/generated/numpy.testing.suppress_warnings.html#numpy.testing.suppress_warnings numpy.timedelta64 reference/arrays.scalars.html#numpy.timedelta64 numpy.typing.NBitBase reference/typing.html#numpy.typing.NBitBase @@ -2804,7 +2805,6 @@ py:function numpy.asfarray reference/generated/numpy.asfarray.html#numpy.asfarray numpy.asfortranarray reference/generated/numpy.asfortranarray.html#numpy.asfortranarray numpy.asmatrix reference/generated/numpy.asmatrix.html#numpy.asmatrix - numpy.asscalar reference/generated/numpy.asscalar.html#numpy.asscalar numpy.atleast_1d reference/generated/numpy.atleast_1d.html#numpy.atleast_1d numpy.atleast_2d reference/generated/numpy.atleast_2d.html#numpy.atleast_2d numpy.atleast_3d reference/generated/numpy.atleast_3d.html#numpy.atleast_3d @@ -2986,6 +2986,15 @@ py:function numpy.ediff1d reference/generated/numpy.ediff1d.html#numpy.ediff1d numpy.einsum reference/generated/numpy.einsum.html#numpy.einsum numpy.einsum_path reference/generated/numpy.einsum_path.html#numpy.einsum_path + numpy.emath.arccos reference/generated/numpy.emath.arccos.html#numpy.emath.arccos + numpy.emath.arcsin reference/generated/numpy.emath.arcsin.html#numpy.emath.arcsin + numpy.emath.arctanh reference/generated/numpy.emath.arctanh.html#numpy.emath.arctanh + numpy.emath.log reference/generated/numpy.emath.log.html#numpy.emath.log + numpy.emath.log10 reference/generated/numpy.emath.log10.html#numpy.emath.log10 + numpy.emath.log2 reference/generated/numpy.emath.log2.html#numpy.emath.log2 + numpy.emath.logn reference/generated/numpy.emath.logn.html#numpy.emath.logn + numpy.emath.power reference/generated/numpy.emath.power.html#numpy.emath.power + numpy.emath.sqrt reference/generated/numpy.emath.sqrt.html#numpy.emath.sqrt numpy.empty reference/generated/numpy.empty.html#numpy.empty numpy.empty_like reference/generated/numpy.empty_like.html#numpy.empty_like numpy.expand_dims reference/generated/numpy.expand_dims.html#numpy.expand_dims @@ -3021,6 +3030,7 @@ py:function numpy.flipud reference/generated/numpy.flipud.html#numpy.flipud numpy.format_float_positional reference/generated/numpy.format_float_positional.html#numpy.format_float_positional numpy.format_float_scientific reference/generated/numpy.format_float_scientific.html#numpy.format_float_scientific + numpy.from_dlpack reference/generated/numpy.from_dlpack.html#numpy.from_dlpack numpy.frombuffer reference/generated/numpy.frombuffer.html#numpy.frombuffer numpy.fromfile reference/generated/numpy.fromfile.html#numpy.fromfile numpy.fromfunction reference/generated/numpy.fromfunction.html#numpy.fromfunction @@ -3072,6 +3082,7 @@ py:function numpy.issubclass_ reference/generated/numpy.issubclass_.html#numpy.issubclass_ numpy.issubdtype reference/generated/numpy.issubdtype.html#numpy.issubdtype numpy.issubsctype reference/generated/numpy.issubsctype.html#numpy.issubsctype + numpy.iterable reference/generated/numpy.iterable.html#numpy.iterable numpy.ix_ reference/generated/numpy.ix_.html#numpy.ix_ numpy.kaiser reference/generated/numpy.kaiser.html#numpy.kaiser numpy.kron reference/generated/numpy.kron.html#numpy.kron @@ -3109,15 +3120,6 @@ py:function numpy.lib.recfunctions.stack_arrays user/basics.rec.html#numpy.lib.recfunctions.stack_arrays numpy.lib.recfunctions.structured_to_unstructured user/basics.rec.html#numpy.lib.recfunctions.structured_to_unstructured numpy.lib.recfunctions.unstructured_to_structured user/basics.rec.html#numpy.lib.recfunctions.unstructured_to_structured - numpy.lib.scimath.arccos reference/generated/numpy.lib.scimath.arccos.html#numpy.lib.scimath.arccos - numpy.lib.scimath.arcsin reference/generated/numpy.lib.scimath.arcsin.html#numpy.lib.scimath.arcsin - numpy.lib.scimath.arctanh reference/generated/numpy.lib.scimath.arctanh.html#numpy.lib.scimath.arctanh - numpy.lib.scimath.log reference/generated/numpy.lib.scimath.log.html#numpy.lib.scimath.log - numpy.lib.scimath.log10 reference/generated/numpy.lib.scimath.log10.html#numpy.lib.scimath.log10 - numpy.lib.scimath.log2 reference/generated/numpy.lib.scimath.log2.html#numpy.lib.scimath.log2 - numpy.lib.scimath.logn reference/generated/numpy.lib.scimath.logn.html#numpy.lib.scimath.logn - numpy.lib.scimath.power reference/generated/numpy.lib.scimath.power.html#numpy.lib.scimath.power - numpy.lib.scimath.sqrt reference/generated/numpy.lib.scimath.sqrt.html#numpy.lib.scimath.sqrt numpy.lib.stride_tricks.as_strided reference/generated/numpy.lib.stride_tricks.as_strided.html#numpy.lib.stride_tricks.as_strided numpy.lib.stride_tricks.sliding_window_view reference/generated/numpy.lib.stride_tricks.sliding_window_view.html#numpy.lib.stride_tricks.sliding_window_view numpy.linalg.cholesky reference/generated/numpy.linalg.cholesky.html#numpy.linalg.cholesky @@ -3212,6 +3214,7 @@ py:function numpy.ma.median reference/generated/numpy.ma.median.html#numpy.ma.median numpy.ma.min reference/generated/numpy.ma.min.html#numpy.ma.min numpy.ma.minimum_fill_value reference/generated/numpy.ma.minimum_fill_value.html#numpy.ma.minimum_fill_value + numpy.ma.ndenumerate reference/generated/numpy.ma.ndenumerate.html#numpy.ma.ndenumerate numpy.ma.notmasked_contiguous reference/generated/numpy.ma.notmasked_contiguous.html#numpy.ma.notmasked_contiguous numpy.ma.notmasked_edges reference/generated/numpy.ma.notmasked_edges.html#numpy.ma.notmasked_edges numpy.ma.outer reference/generated/numpy.ma.outer.html#numpy.ma.outer @@ -3553,6 +3556,7 @@ py:function numpy.take_along_axis reference/generated/numpy.take_along_axis.html#numpy.take_along_axis numpy.tensordot reference/generated/numpy.tensordot.html#numpy.tensordot numpy.test reference/testing.html#numpy.test + numpy.testing.assert_ reference/generated/numpy.testing.assert_.html#numpy.testing.assert_ numpy.testing.assert_allclose reference/generated/numpy.testing.assert_allclose.html#numpy.testing.assert_allclose numpy.testing.assert_almost_equal reference/generated/numpy.testing.assert_almost_equal.html#numpy.testing.assert_almost_equal numpy.testing.assert_approx_equal reference/generated/numpy.testing.assert_approx_equal.html#numpy.testing.assert_approx_equal @@ -3562,6 +3566,8 @@ py:function numpy.testing.assert_array_less reference/generated/numpy.testing.assert_array_less.html#numpy.testing.assert_array_less numpy.testing.assert_array_max_ulp reference/generated/numpy.testing.assert_array_max_ulp.html#numpy.testing.assert_array_max_ulp numpy.testing.assert_equal reference/generated/numpy.testing.assert_equal.html#numpy.testing.assert_equal + numpy.testing.assert_no_gc_cycles reference/generated/numpy.testing.assert_no_gc_cycles.html#numpy.testing.assert_no_gc_cycles + numpy.testing.assert_no_warnings reference/generated/numpy.testing.assert_no_warnings.html#numpy.testing.assert_no_warnings numpy.testing.assert_raises reference/generated/numpy.testing.assert_raises.html#numpy.testing.assert_raises numpy.testing.assert_raises_regex reference/generated/numpy.testing.assert_raises_regex.html#numpy.testing.assert_raises_regex numpy.testing.assert_string_equal reference/generated/numpy.testing.assert_string_equal.html#numpy.testing.assert_string_equal @@ -3573,6 +3579,8 @@ py:function numpy.testing.dec.slow reference/generated/numpy.testing.dec.slow.html#numpy.testing.dec.slow numpy.testing.decorate_methods reference/generated/numpy.testing.decorate_methods.html#numpy.testing.decorate_methods numpy.testing.extbuild.build_and_import_extension reference/testing.html#numpy.testing.extbuild.build_and_import_extension + numpy.testing.measure reference/generated/numpy.testing.measure.html#numpy.testing.measure + numpy.testing.print_assert_equal reference/generated/numpy.testing.print_assert_equal.html#numpy.testing.print_assert_equal numpy.testing.run_module_suite reference/generated/numpy.testing.run_module_suite.html#numpy.testing.run_module_suite numpy.testing.rundocs reference/generated/numpy.testing.rundocs.html#numpy.testing.rundocs numpy.tile reference/generated/numpy.tile.html#numpy.tile @@ -3804,6 +3812,7 @@ py:method numpy.distutils.ccompiler_opt.CCompilerOpt.cache_flush reference/generated/numpy.distutils.ccompiler_opt.CCompilerOpt.cache_flush.html#numpy.distutils.ccompiler_opt.CCompilerOpt.cache_flush numpy.distutils.ccompiler_opt.CCompilerOpt.cache_hash reference/generated/numpy.distutils.ccompiler_opt.CCompilerOpt.cache_hash.html#numpy.distutils.ccompiler_opt.CCompilerOpt.cache_hash numpy.distutils.ccompiler_opt.CCompilerOpt.cc_normalize_flags reference/generated/numpy.distutils.ccompiler_opt.CCompilerOpt.cc_normalize_flags.html#numpy.distutils.ccompiler_opt.CCompilerOpt.cc_normalize_flags + numpy.distutils.ccompiler_opt.CCompilerOpt.cc_test_cexpr reference/generated/numpy.distutils.ccompiler_opt.CCompilerOpt.cc_test_cexpr.html#numpy.distutils.ccompiler_opt.CCompilerOpt.cc_test_cexpr numpy.distutils.ccompiler_opt.CCompilerOpt.cc_test_flags reference/generated/numpy.distutils.ccompiler_opt.CCompilerOpt.cc_test_flags.html#numpy.distutils.ccompiler_opt.CCompilerOpt.cc_test_flags numpy.distutils.ccompiler_opt.CCompilerOpt.conf_features_partial reference/generated/numpy.distutils.ccompiler_opt.CCompilerOpt.conf_features_partial.html#numpy.distutils.ccompiler_opt.CCompilerOpt.conf_features_partial numpy.distutils.ccompiler_opt.CCompilerOpt.cpu_baseline_flags reference/generated/numpy.distutils.ccompiler_opt.CCompilerOpt.cpu_baseline_flags.html#numpy.distutils.ccompiler_opt.CCompilerOpt.cpu_baseline_flags @@ -4742,12 +4751,12 @@ py:module numpy.distutils.misc_util reference/distutils/misc_util.html#module-numpy.distutils.misc_util numpy.doc.constants reference/constants.html#module-numpy.doc.constants numpy.dual reference/routines.dual.html#module-numpy.dual + numpy.emath reference/routines.emath.html#module-numpy.emath numpy.f2py f2py/usage.html#module-numpy.f2py numpy.fft reference/routines.fft.html#module-numpy.fft numpy.lib.arraysetops reference/generated/numpy.lib.arraysetops.html#module-numpy.lib.arraysetops numpy.lib.format reference/generated/numpy.lib.format.html#module-numpy.lib.format numpy.lib.recfunctions user/basics.rec.html#module-numpy.lib.recfunctions - numpy.lib.scimath reference/routines.emath.html#module-numpy.lib.scimath numpy.linalg reference/routines.linalg.html#module-numpy.linalg numpy.ma reference/maskedarray.generic.html#module-numpy.ma numpy.matlib reference/routines.matlib.html#module-numpy.matlib @@ -4835,22 +4844,32 @@ std:doc f2py/buildtools/index F2PY and Build Systems : f2py/buildtools/index.html f2py/buildtools/meson Using via meson : f2py/buildtools/meson.html f2py/buildtools/skbuild Using via scikit-build : f2py/buildtools/skbuild.html + f2py/f2py-examples F2PY examples : f2py/f2py-examples.html + f2py/f2py-reference F2PY reference manual : f2py/f2py-reference.html + f2py/f2py-testing F2PY test suite : f2py/f2py-testing.html + f2py/f2py-user F2PY user guide : f2py/f2py-user.html f2py/f2py.getting-started Three ways to wrap - getting started : f2py/f2py.getting-started.html f2py/index F2PY user guide and reference manual : f2py/index.html f2py/python-usage Using F2PY bindings in Python : f2py/python-usage.html f2py/signature-file Signature file : f2py/signature-file.html f2py/usage Using F2PY : f2py/usage.html + f2py/windows/conda F2PY and Conda on Windows : f2py/windows/conda.html + f2py/windows/index F2PY and Windows : f2py/windows/index.html + f2py/windows/intel F2PY and Windows Intel Fortran : f2py/windows/intel.html + f2py/windows/msys2 F2PY and Windows with MSYS2 : f2py/windows/msys2.html + f2py/windows/pgi F2PY and PGI Fortran on Windows : f2py/windows/pgi.html getting_started Getting started : getting_started.html glossary Glossary : glossary.html index NumPy documentation : index.html license NumPy license : license.html reference/alignment Memory Alignment : reference/alignment.html + reference/array_api Array API Standard Compatibility : reference/array_api.html reference/arrays Array objects : reference/arrays.html reference/arrays.classes Standard array subclasses : reference/arrays.classes.html reference/arrays.datetime Datetimes and Timedeltas : reference/arrays.datetime.html reference/arrays.dtypes Data type objects (dtype) : reference/arrays.dtypes.html reference/arrays.indexing Indexing routines : reference/arrays.indexing.html - reference/arrays.interface The Array Interface : reference/arrays.interface.html + reference/arrays.interface The array interface protocol : reference/arrays.interface.html reference/arrays.ndarray The N-dimensional array (ndarray) : reference/arrays.ndarray.html reference/arrays.nditer Iterating Over Arrays : reference/arrays.nditer.html reference/arrays.nditer.cython Putting the Inner Loop in Cython : reference/arrays.nditer.cython.html @@ -4870,6 +4889,7 @@ std:doc reference/distutils Packaging (numpy.distutils) : reference/distutils.html reference/distutils/misc_util distutils.misc_util : reference/distutils/misc_util.html reference/distutils_guide NumPy Distutils - Users Guide : reference/distutils_guide.html + reference/distutils_status_migration Status of numpy.distutils and migration advice: reference/distutils_status_migration.html reference/generated/numpy.AxisError numpy.AxisError : reference/generated/numpy.AxisError.html reference/generated/numpy.DataSource numpy.DataSource : reference/generated/numpy.DataSource.html reference/generated/numpy.DataSource.abspath numpy.DataSource.abspath : reference/generated/numpy.DataSource.abspath.html @@ -4916,7 +4936,6 @@ std:doc reference/generated/numpy.asfarray numpy.asfarray : reference/generated/numpy.asfarray.html reference/generated/numpy.asfortranarray numpy.asfortranarray : reference/generated/numpy.asfortranarray.html reference/generated/numpy.asmatrix numpy.asmatrix : reference/generated/numpy.asmatrix.html - reference/generated/numpy.asscalar numpy.asscalar : reference/generated/numpy.asscalar.html reference/generated/numpy.atleast_1d numpy.atleast_1d : reference/generated/numpy.atleast_1d.html reference/generated/numpy.atleast_2d numpy.atleast_2d : reference/generated/numpy.atleast_2d.html reference/generated/numpy.atleast_3d numpy.atleast_3d : reference/generated/numpy.atleast_3d.html @@ -5287,6 +5306,7 @@ std:doc reference/generated/numpy.distutils.ccompiler_opt.CCompilerOpt.cache_flush numpy.distutils.ccompiler_opt.CCompilerOpt.cache_flush: reference/generated/numpy.distutils.ccompiler_opt.CCompilerOpt.cache_flush.html reference/generated/numpy.distutils.ccompiler_opt.CCompilerOpt.cache_hash numpy.distutils.ccompiler_opt.CCompilerOpt.cache_hash: reference/generated/numpy.distutils.ccompiler_opt.CCompilerOpt.cache_hash.html reference/generated/numpy.distutils.ccompiler_opt.CCompilerOpt.cc_normalize_flags numpy.distutils.ccompiler_opt.CCompilerOpt.cc_normalize_flags: reference/generated/numpy.distutils.ccompiler_opt.CCompilerOpt.cc_normalize_flags.html + reference/generated/numpy.distutils.ccompiler_opt.CCompilerOpt.cc_test_cexpr numpy.distutils.ccompiler_opt.CCompilerOpt.cc_test_cexpr: reference/generated/numpy.distutils.ccompiler_opt.CCompilerOpt.cc_test_cexpr.html reference/generated/numpy.distutils.ccompiler_opt.CCompilerOpt.cc_test_flags numpy.distutils.ccompiler_opt.CCompilerOpt.cc_test_flags: reference/generated/numpy.distutils.ccompiler_opt.CCompilerOpt.cc_test_flags.html reference/generated/numpy.distutils.ccompiler_opt.CCompilerOpt.conf_c_prefix numpy.distutils.ccompiler_opt.CCompilerOpt.conf_c_prefix: reference/generated/numpy.distutils.ccompiler_opt.CCompilerOpt.conf_c_prefix.html reference/generated/numpy.distutils.ccompiler_opt.CCompilerOpt.conf_c_prefix_ numpy.distutils.ccompiler_opt.CCompilerOpt.conf_c_prefix_: reference/generated/numpy.distutils.ccompiler_opt.CCompilerOpt.conf_c_prefix_.html @@ -5385,6 +5405,15 @@ std:doc reference/generated/numpy.ediff1d numpy.ediff1d : reference/generated/numpy.ediff1d.html reference/generated/numpy.einsum numpy.einsum : reference/generated/numpy.einsum.html reference/generated/numpy.einsum_path numpy.einsum_path : reference/generated/numpy.einsum_path.html + reference/generated/numpy.emath.arccos numpy.emath.arccos : reference/generated/numpy.emath.arccos.html + reference/generated/numpy.emath.arcsin numpy.emath.arcsin : reference/generated/numpy.emath.arcsin.html + reference/generated/numpy.emath.arctanh numpy.emath.arctanh : reference/generated/numpy.emath.arctanh.html + reference/generated/numpy.emath.log numpy.emath.log : reference/generated/numpy.emath.log.html + reference/generated/numpy.emath.log10 numpy.emath.log10 : reference/generated/numpy.emath.log10.html + reference/generated/numpy.emath.log2 numpy.emath.log2 : reference/generated/numpy.emath.log2.html + reference/generated/numpy.emath.logn numpy.emath.logn : reference/generated/numpy.emath.logn.html + reference/generated/numpy.emath.power numpy.emath.power : reference/generated/numpy.emath.power.html + reference/generated/numpy.emath.sqrt numpy.emath.sqrt : reference/generated/numpy.emath.sqrt.html reference/generated/numpy.empty numpy.empty : reference/generated/numpy.empty.html reference/generated/numpy.empty_like numpy.empty_like : reference/generated/numpy.empty_like.html reference/generated/numpy.equal numpy.equal : reference/generated/numpy.equal.html @@ -5441,6 +5470,7 @@ std:doc reference/generated/numpy.format_float_scientific numpy.format_float_scientific : reference/generated/numpy.format_float_scientific.html reference/generated/numpy.format_parser numpy.format_parser : reference/generated/numpy.format_parser.html reference/generated/numpy.frexp numpy.frexp : reference/generated/numpy.frexp.html + reference/generated/numpy.from_dlpack numpy.from_dlpack : reference/generated/numpy.from_dlpack.html reference/generated/numpy.frombuffer numpy.frombuffer : reference/generated/numpy.frombuffer.html reference/generated/numpy.fromfile numpy.fromfile : reference/generated/numpy.fromfile.html reference/generated/numpy.fromfunction numpy.fromfunction : reference/generated/numpy.fromfunction.html @@ -5528,6 +5558,7 @@ std:doc reference/generated/numpy.issubclass_ numpy.issubclass_ : reference/generated/numpy.issubclass_.html reference/generated/numpy.issubdtype numpy.issubdtype : reference/generated/numpy.issubdtype.html reference/generated/numpy.issubsctype numpy.issubsctype : reference/generated/numpy.issubsctype.html + reference/generated/numpy.iterable numpy.iterable : reference/generated/numpy.iterable.html reference/generated/numpy.ix_ numpy.ix_ : reference/generated/numpy.ix_.html reference/generated/numpy.kaiser numpy.kaiser : reference/generated/numpy.kaiser.html reference/generated/numpy.kron numpy.kron : reference/generated/numpy.kron.html @@ -5556,15 +5587,6 @@ std:doc reference/generated/numpy.lib.format.write_array_header_1_0 numpy.lib.format.write_array_header_1_0 : reference/generated/numpy.lib.format.write_array_header_1_0.html reference/generated/numpy.lib.format.write_array_header_2_0 numpy.lib.format.write_array_header_2_0 : reference/generated/numpy.lib.format.write_array_header_2_0.html reference/generated/numpy.lib.mixins.NDArrayOperatorsMixin numpy.lib.mixins.NDArrayOperatorsMixin : reference/generated/numpy.lib.mixins.NDArrayOperatorsMixin.html - reference/generated/numpy.lib.scimath.arccos numpy.lib.scimath.arccos : reference/generated/numpy.lib.scimath.arccos.html - reference/generated/numpy.lib.scimath.arcsin numpy.lib.scimath.arcsin : reference/generated/numpy.lib.scimath.arcsin.html - reference/generated/numpy.lib.scimath.arctanh numpy.lib.scimath.arctanh : reference/generated/numpy.lib.scimath.arctanh.html - reference/generated/numpy.lib.scimath.log numpy.lib.scimath.log : reference/generated/numpy.lib.scimath.log.html - reference/generated/numpy.lib.scimath.log10 numpy.lib.scimath.log10 : reference/generated/numpy.lib.scimath.log10.html - reference/generated/numpy.lib.scimath.log2 numpy.lib.scimath.log2 : reference/generated/numpy.lib.scimath.log2.html - reference/generated/numpy.lib.scimath.logn numpy.lib.scimath.logn : reference/generated/numpy.lib.scimath.logn.html - reference/generated/numpy.lib.scimath.power numpy.lib.scimath.power : reference/generated/numpy.lib.scimath.power.html - reference/generated/numpy.lib.scimath.sqrt numpy.lib.scimath.sqrt : reference/generated/numpy.lib.scimath.sqrt.html reference/generated/numpy.lib.stride_tricks.as_strided numpy.lib.stride_tricks.as_strided : reference/generated/numpy.lib.stride_tricks.as_strided.html reference/generated/numpy.lib.stride_tricks.sliding_window_view numpy.lib.stride_tricks.sliding_window_view: reference/generated/numpy.lib.stride_tricks.sliding_window_view.html reference/generated/numpy.lib.user_array.container numpy.lib.user_array.container : reference/generated/numpy.lib.user_array.container.html @@ -6015,6 +6037,7 @@ std:doc reference/generated/numpy.ma.min numpy.ma.min : reference/generated/numpy.ma.min.html reference/generated/numpy.ma.minimum_fill_value numpy.ma.minimum_fill_value : reference/generated/numpy.ma.minimum_fill_value.html reference/generated/numpy.ma.mr_ numpy.ma.mr_ : reference/generated/numpy.ma.mr_.html + reference/generated/numpy.ma.ndenumerate numpy.ma.ndenumerate : reference/generated/numpy.ma.ndenumerate.html reference/generated/numpy.ma.nonzero numpy.ma.nonzero : reference/generated/numpy.ma.nonzero.html reference/generated/numpy.ma.notmasked_contiguous numpy.ma.notmasked_contiguous : reference/generated/numpy.ma.notmasked_contiguous.html reference/generated/numpy.ma.notmasked_edges numpy.ma.notmasked_edges : reference/generated/numpy.ma.notmasked_edges.html @@ -7003,6 +7026,7 @@ std:doc reference/generated/numpy.testing.Tester.bench numpy.testing.Tester.bench : reference/generated/numpy.testing.Tester.bench.html reference/generated/numpy.testing.Tester.prepare_test_args numpy.testing.Tester.prepare_test_args : reference/generated/numpy.testing.Tester.prepare_test_args.html reference/generated/numpy.testing.Tester.test numpy.testing.Tester.test : reference/generated/numpy.testing.Tester.test.html + reference/generated/numpy.testing.assert_ numpy.testing.assert_ : reference/generated/numpy.testing.assert_.html reference/generated/numpy.testing.assert_allclose numpy.testing.assert_allclose : reference/generated/numpy.testing.assert_allclose.html reference/generated/numpy.testing.assert_almost_equal numpy.testing.assert_almost_equal : reference/generated/numpy.testing.assert_almost_equal.html reference/generated/numpy.testing.assert_approx_equal numpy.testing.assert_approx_equal : reference/generated/numpy.testing.assert_approx_equal.html @@ -7012,16 +7036,22 @@ std:doc reference/generated/numpy.testing.assert_array_less numpy.testing.assert_array_less : reference/generated/numpy.testing.assert_array_less.html reference/generated/numpy.testing.assert_array_max_ulp numpy.testing.assert_array_max_ulp : reference/generated/numpy.testing.assert_array_max_ulp.html reference/generated/numpy.testing.assert_equal numpy.testing.assert_equal : reference/generated/numpy.testing.assert_equal.html + reference/generated/numpy.testing.assert_no_gc_cycles numpy.testing.assert_no_gc_cycles : reference/generated/numpy.testing.assert_no_gc_cycles.html + reference/generated/numpy.testing.assert_no_warnings numpy.testing.assert_no_warnings : reference/generated/numpy.testing.assert_no_warnings.html reference/generated/numpy.testing.assert_raises numpy.testing.assert_raises : reference/generated/numpy.testing.assert_raises.html reference/generated/numpy.testing.assert_raises_regex numpy.testing.assert_raises_regex : reference/generated/numpy.testing.assert_raises_regex.html reference/generated/numpy.testing.assert_string_equal numpy.testing.assert_string_equal : reference/generated/numpy.testing.assert_string_equal.html reference/generated/numpy.testing.assert_warns numpy.testing.assert_warns : reference/generated/numpy.testing.assert_warns.html + reference/generated/numpy.testing.clear_and_catch_warnings numpy.testing.clear_and_catch_warnings : reference/generated/numpy.testing.clear_and_catch_warnings.html + reference/generated/numpy.testing.clear_and_catch_warnings.class_modules numpy.testing.clear_and_catch_warnings.class_modules: reference/generated/numpy.testing.clear_and_catch_warnings.class_modules.html reference/generated/numpy.testing.dec.deprecated numpy.testing.dec.deprecated : reference/generated/numpy.testing.dec.deprecated.html reference/generated/numpy.testing.dec.knownfailureif numpy.testing.dec.knownfailureif : reference/generated/numpy.testing.dec.knownfailureif.html reference/generated/numpy.testing.dec.setastest numpy.testing.dec.setastest : reference/generated/numpy.testing.dec.setastest.html reference/generated/numpy.testing.dec.skipif numpy.testing.dec.skipif : reference/generated/numpy.testing.dec.skipif.html reference/generated/numpy.testing.dec.slow numpy.testing.dec.slow : reference/generated/numpy.testing.dec.slow.html reference/generated/numpy.testing.decorate_methods numpy.testing.decorate_methods : reference/generated/numpy.testing.decorate_methods.html + reference/generated/numpy.testing.measure numpy.testing.measure : reference/generated/numpy.testing.measure.html + reference/generated/numpy.testing.print_assert_equal numpy.testing.print_assert_equal : reference/generated/numpy.testing.print_assert_equal.html reference/generated/numpy.testing.run_module_suite numpy.testing.run_module_suite : reference/generated/numpy.testing.run_module_suite.html reference/generated/numpy.testing.rundocs numpy.testing.rundocs : reference/generated/numpy.testing.rundocs.html reference/generated/numpy.testing.suppress_warnings numpy.testing.suppress_warnings : reference/generated/numpy.testing.suppress_warnings.html @@ -7291,7 +7321,7 @@ std:doc reference/routines.datetime Datetime Support Functions : reference/routines.datetime.html reference/routines.dtype Data type routines : reference/routines.dtype.html reference/routines.dual Optionally SciPy-accelerated routines (numpy.dual): reference/routines.dual.html - reference/routines.emath Mathematical functions with automatic domain (numpy.emath): reference/routines.emath.html + reference/routines.emath Mathematical functions with automatic domain: reference/routines.emath.html reference/routines.err Floating point error handling : reference/routines.err.html reference/routines.fft Discrete Fourier Transform (numpy.fft) : reference/routines.fft.html reference/routines.functional Functional programming : reference/routines.functional.html @@ -7320,7 +7350,10 @@ std:doc reference/routines.statistics Statistics : reference/routines.statistics.html reference/routines.testing Test Support (numpy.testing) : reference/routines.testing.html reference/routines.window Window functions : reference/routines.window.html - reference/simd/simd-optimizations SIMD Optimizations : reference/simd/simd-optimizations.html + reference/simd/build-options CPU build options : reference/simd/build-options.html + reference/simd/how-it-works How does the CPU dispatcher work? : reference/simd/how-it-works.html + reference/simd/index CPU/SIMD Optimizations : reference/simd/index.html + reference/simd/simd-optimizations : reference/simd/simd-optimizations.html reference/swig NumPy and SWIG : reference/swig.html reference/swig.interface-file numpy.i: a SWIG Interface File for NumPy: reference/swig.interface-file.html reference/swig.testing Testing the numpy.i Typemaps : reference/swig.testing.html @@ -7389,8 +7422,14 @@ std:doc release/1.21.2-notes NumPy 1.21.2 Release Notes : release/1.21.2-notes.html release/1.21.3-notes NumPy 1.21.3 Release Notes : release/1.21.3-notes.html release/1.21.4-notes NumPy 1.21.4 Release Notes : release/1.21.4-notes.html + release/1.21.5-notes NumPy 1.21.5 Release Notes : release/1.21.5-notes.html + release/1.21.6-notes NumPy 1.21.6 Release Notes : release/1.21.6-notes.html release/1.22.0-notes NumPy 1.22.0 Release Notes : release/1.22.0-notes.html release/1.22.1-notes NumPy 1.22.1 Release Notes : release/1.22.1-notes.html + release/1.22.2-notes NumPy 1.22.2 Release Notes : release/1.22.2-notes.html + release/1.22.3-notes NumPy 1.22.3 Release Notes : release/1.22.3-notes.html + release/1.22.4-notes NumPy 1.22.4 Release Notes : release/1.22.4-notes.html + release/1.23.0-notes NumPy 1.23.0 Release Notes : release/1.23.0-notes.html release/1.3.0-notes NumPy 1.3.0 Release Notes : release/1.3.0-notes.html release/1.4.0-notes NumPy 1.4.0 Release Notes : release/1.4.0-notes.html release/1.5.0-notes NumPy 1.5.0 Release Notes : release/1.5.0-notes.html @@ -7415,6 +7454,7 @@ std:doc user/basics.creation Array creation : user/basics.creation.html user/basics.dispatch Writing custom array containers : user/basics.dispatch.html user/basics.indexing Indexing on ndarrays : user/basics.indexing.html + user/basics.interoperability Interoperability with NumPy : user/basics.interoperability.html user/basics.io I/O with NumPy : user/basics.io.html user/basics.io.genfromtxt Importing data with genfromtxt : user/basics.io.genfromtxt.html user/basics.rec Structured arrays : user/basics.rec.html @@ -7429,6 +7469,7 @@ std:doc user/c-info.ufunc-tutorial Writing your own ufunc : user/c-info.ufunc-tutorial.html user/depending_on_numpy For downstream package authors : user/depending_on_numpy.html user/how-to-how-to How to write a NumPy how-to : user/how-to-how-to.html + user/how-to-index How to index ndarrays : user/how-to-index.html user/how-to-io Reading and writing files : user/how-to-io.html user/howtos_index NumPy How Tos : user/howtos_index.html user/index NumPy user guide : user/index.html @@ -7448,6 +7489,13 @@ std:label array-ufunc __array_ufunc__ for ufuncs : user/basics.subclassing.html#array-ufunc array-wrap __array_wrap__ for ufuncs and other functions: user/basics.subclassing.html#array-wrap array.ndarray.methods Array methods : reference/arrays.ndarray.html#array-ndarray-methods + array_api Array API Standard Compatibility : reference/array_api.html#array-api + array_api-differences Table of Differences between numpy.array_api and numpy: reference/array_api.html#array-api-differences + array_api-linear-algebra-differences Linear Algebra Differences : reference/array_api.html#array-api-linear-algebra-differences + array_api-name-changes Function Name Changes : reference/array_api.html#array-api-name-changes + array_api-set-functions-differences Set Functions Differences : reference/array_api.html#array-api-set-functions-differences + array_api-type-promotion-differences Type Promotion Differences : reference/array_api.html#array-api-type-promotion-differences + array_api-type-strictness Type Strictness : reference/array_api.html#array-api-type-strictness arrays Array objects : reference/arrays.html#arrays arrays.broadcasting.broadcastable Broadcastable arrays : user/basics.broadcasting.html#arrays-broadcasting-broadcastable arrays.classes Standard array subclasses : reference/arrays.classes.html#arrays-classes @@ -7460,7 +7508,7 @@ std:label arrays.dtypes.timeunits reference/arrays.datetime.html#arrays-dtypes-timeunits arrays.indexing Indexing routines : reference/arrays.indexing.html#arrays-indexing arrays.indexing.fields Field access : user/basics.indexing.html#arrays-indexing-fields - arrays.interface The Array Interface : reference/arrays.interface.html#arrays-interface + arrays.interface The array interface protocol : reference/arrays.interface.html#arrays-interface arrays.ndarray The N-dimensional array (ndarray) : reference/arrays.ndarray.html#arrays-ndarray arrays.ndarray.array-interface Array interface : reference/arrays.ndarray.html#arrays-ndarray-array-interface arrays.ndarray.attributes Array attributes : reference/arrays.ndarray.html#arrays-ndarray-attributes @@ -7471,12 +7519,15 @@ std:label arrays.scalars.character-codes Built-in scalar types : reference/arrays.scalars.html#arrays-scalars-character-codes asking-for-merging Asking for your changes to be merged with the main repo: dev/development_workflow.html#asking-for-merging assigning-values-to-indexed-arrays Assigning values to indexed arrays : user/basics.indexing.html#assigning-values-to-indexed-arrays + basic-indexing Basic indexing : user/basics.indexing.html#basic-indexing basics.broadcasting Broadcasting : user/basics.broadcasting.html#basics-broadcasting basics.copies-and-views Copies and views : user/basics.copies.html#basics-copies-and-views basics.dispatch Writing custom array containers : user/basics.dispatch.html#basics-dispatch basics.indexing Indexing on ndarrays : user/basics.indexing.html#basics-indexing + basics.interoperability Interoperability with NumPy : user/basics.interoperability.html#basics-interoperability basics.subclassing Subclassing ndarray : user/basics.subclassing.html#basics-subclassing basics.types Data types : user/basics.types.html#basics-types + boolean-indexing Boolean array indexing : user/basics.indexing.html#boolean-indexing broadcasting-rules Broadcasting rules : user/quickstart.html#broadcasting-rules broadcasting.figure-1 Figure 1 : user/basics.broadcasting.html#broadcasting-figure-1 broadcasting.figure-2 Figure 2 : user/basics.broadcasting.html#broadcasting-figure-2 @@ -7488,6 +7539,7 @@ std:label c-api NumPy C-API : reference/c-api/index.html#c-api c-api.generalized-ufuncs Generalized Universal Function API : reference/c-api/generalized-ufuncs.html#c-api-generalized-ufuncs c-code-explanations NumPy C code explanations : dev/internals.code-explanations.html#c-code-explanations + c-expressions C expressions : f2py/signature-file.html#c-expressions call-back arguments Call-back arguments : f2py/python-usage.html#call-back-arguments classDoxyLimbo dev/howto-docs.html#classDoxyLimbo classDoxyLimbo_1a097c2d3d62ef8696ca0f4f9af875be48 dev/howto-docs.html#classDoxyLimbo_1a097c2d3d62ef8696ca0f4f9af875be48 @@ -7507,7 +7559,9 @@ std:label development-setup Setting up git for NumPy development : dev/gitwash/development_setup.html#development-setup development-workflow Development workflow : dev/development_workflow.html#development-workflow devindex Contributing to NumPy : dev/index.html#devindex - dispatchable-sources 5- Dispatch-able sources and configuration statements: reference/simd/simd-optimizations.html#dispatchable-sources + dimensional-indexing-tools Dimensional indexing tools : user/basics.indexing.html#dimensional-indexing-tools + dispatchable-sources 5- Dispatch-able sources and configuration statements: reference/simd/how-it-works.html#dispatchable-sources + distutils-status-migration Status of numpy.distutils and migration advice: reference/distutils_status_migration.html#distutils-status-migration distutils-user-guide NumPy Distutils - Users Guide : reference/distutils_guide.html#distutils-user-guide doc_c_code Documenting C/C++ Code : dev/howto-docs.html#doc-c-code docstring_intro Docstrings : dev/howto-docs.html#docstring-intro @@ -7519,18 +7573,29 @@ std:label extending_cython_example Extending numpy.random via Cython : reference/random/examples/cython/index.html#extending-cython-example external f2py/signature-file.html#external f2py F2PY user guide and reference manual : f2py/index.html#f2py + f2py-attributes Attributes : f2py/signature-file.html#f2py-attributes f2py-bldsys F2PY and Build Systems : f2py/buildtools/index.html#f2py-bldsys f2py-cmake Using via cmake : f2py/buildtools/cmake.html#f2py-cmake f2py-distutils Using via numpy.distutils : f2py/buildtools/distutils.html#f2py-distutils + f2py-examples F2PY examples : f2py/f2py-examples.html#f2py-examples f2py-getting-started Three ways to wrap - getting started : f2py/f2py.getting-started.html#f2py-getting-started f2py-meson Using via meson : f2py/buildtools/meson.html#f2py-meson + f2py-reference F2PY reference manual : f2py/f2py-reference.html#f2py-reference f2py-skbuild Using via scikit-build : f2py/buildtools/skbuild.html#f2py-skbuild + f2py-testing F2PY test suite : f2py/f2py-testing.html#f2py-testing + f2py-user F2PY user guide : f2py/f2py-user.html#f2py-user + f2py-win-conda F2PY and Conda on Windows : f2py/windows/conda.html#f2py-win-conda + f2py-win-intel F2PY and Windows Intel Fortran : f2py/windows/intel.html#f2py-win-intel + f2py-win-msys2 F2PY and Windows with MSYS2 : f2py/windows/msys2.html#f2py-win-msys2 + f2py-win-pgi F2PY and PGI Fortran on Windows : f2py/windows/pgi.html#f2py-win-pgi + f2py-windows F2PY and Windows : f2py/windows/index.html#f2py-windows flat-iterator-indexing Flat Iterator indexing : user/basics.indexing.html#flat-iterator-indexing following-latest dev/gitwash/following_latest.html#following-latest for-downstream-package-authors For downstream package authors : user/depending_on_numpy.html#for-downstream-package-authors forking Create a NumPy fork : dev/gitwash/development_setup.html#forking frozen reference/c-api/generalized-ufuncs.html#frozen general-broadcasting-rules General Broadcasting Rules : user/basics.broadcasting.html#general-broadcasting-rules + generator-handling-axis-parameter Handling the axis parameter : reference/random/generator.html#generator-handling-axis-parameter genindex Index : genindex.html git-config-basic Overview : dev/gitwash/configure_git.html#git-config-basic git-development Git for development : dev/gitwash/index.html#git-development @@ -7538,6 +7603,7 @@ std:label global_state Global State : reference/global_state.html#global-state guidelines Guidelines : dev/index.html#guidelines how-to-how-to How to write a NumPy how-to : user/how-to-how-to.html#how-to-how-to + how-to-index.rst How to index ndarrays : user/how-to-index.html#how-to-index-rst how-to-io Reading and writing files : user/how-to-io.html#how-to-io how-to-io-large-arrays Write or read large arrays : user/how-to-io.html#how-to-io-large-arrays how-to-io-pickle-file Save/restore using a pickle file : user/how-to-io.html#how-to-io-pickle-file @@ -7547,6 +7613,7 @@ std:label howto-document Documentation style : dev/howto-docs.html#howto-document howtos NumPy How Tos : user/howtos_index.html#howtos independent-streams Independent Streams : reference/random/parallel.html#independent-streams + indexing-operations Indexing operations : user/basics.copies.html#indexing-operations install-git dev/gitwash/index.html#install-git legacy Legacy Random Generation : reference/random/legacy.html#legacy linking-to-upstream dev/gitwash/development_setup.html#linking-to-upstream @@ -7565,11 +7632,17 @@ std:label numpy-for-matlab-users NumPy for MATLAB users : user/numpy-for-matlab-users.html#numpy-for-matlab-users numpy-for-matlab-users.notes Notes : user/numpy-for-matlab-users.html#numpy-for-matlab-users-notes numpy-internals Internal organization of NumPy arrays : dev/internals.html#numpy-internals + numpy-setuptools-interaction Interaction of numpy.disutils with setuptools: reference/distutils_status_migration.html#numpy-setuptools-interaction numpy.ma.constants Constants of the numpy.ma module : reference/maskedarray.baseclass.html#numpy-ma-constants numpy_docs_mainpage NumPy documentation : index.html#numpy-docs-mainpage numpy_tutorials NumPy tutorials : dev/howto-docs.html#numpy-tutorials numpyrandom reference/random/index.html#numpyrandom + numpysimd CPU/SIMD Optimizations : reference/simd/index.html#numpysimd offsets-and-alignment Automatic Byte Offsets and Alignment : user/basics.rec.html#offsets-and-alignment + opt-build-report Build report : reference/simd/build-options.html#opt-build-report + opt-platform-differences Platform differences : reference/simd/build-options.html#opt-platform-differences + opt-special-options Special Options : reference/simd/build-options.html#opt-special-options + opt-supported-features Supported Features : reference/simd/build-options.html#opt-supported-features overflow-errors Overflow Errors : user/basics.types.html#overflow-errors parallel-builds Parallel builds : user/building.html#parallel-builds parallel-jumped Jumping the BitGenerator state : reference/random/parallel.html#parallel-jumped @@ -7868,6 +7941,8 @@ std:label re85a9a53b4f0-3 reference/random/generated/numpy.random.logseries.html#re85a9a53b4f0-3 re85a9a53b4f0-4 reference/random/generated/numpy.random.logseries.html#re85a9a53b4f0-4 re860718f5533-1 reference/generated/numpy.MachAr.html#re860718f5533-1 + re9eadf7a166b-1 reference/generated/numpy.from_dlpack.html#re9eadf7a166b-1 + re9eadf7a166b-2 reference/generated/numpy.from_dlpack.html#re9eadf7a166b-2 rebasing-on-main Rebasing on main : dev/development_workflow.html#rebasing-on-main rec505eafac9d-1 reference/generated/numpy.linalg.pinv.html#rec505eafac9d-1 recommended-development-setup Recommended development setup : dev/development_environment.html#recommended-development-setup @@ -7926,18 +8001,23 @@ std:label seedsequence-spawn SeedSequence spawning : reference/random/parallel.html#seedsequence-spawn set-up-and-configure-a-github-account Create a GitHub account : dev/gitwash/development_setup.html#set-up-and-configure-a-github-account set-up-fork Make the local copy : dev/gitwash/development_setup.html#set-up-fork + shortcomings Datetime64 shortcomings : reference/arrays.datetime.html#shortcomings single-element-indexing Single element indexing : user/basics.indexing.html#single-element-indexing sized-aliases Sized aliases : reference/arrays.scalars.html#sized-aliases - special-options Special options : reference/simd/simd-optimizations.html#special-options + slicing-and-striding Slicing and striding : user/basics.indexing.html#slicing-and-striding + special-attributes-and-methods Special attributes and methods : reference/arrays.classes.html#special-attributes-and-methods + specific-array-subtyping Specific features of ndarray sub-typing : user/c-info.beyond-basics.html#specific-array-subtyping string-dtype-note reference/arrays.dtypes.html#string-dtype-note structured_arrays Structured arrays : user/basics.rec.html#structured-arrays + structured_dtype_comparison_and_promotion Structure Comparison and Promotion : user/basics.rec.html#structured-dtype-comparison-and-promotion stylistic-guidelines Stylistic Guidelines : dev/index.html#stylistic-guidelines - tables-diff reference/simd/simd-optimizations.html#tables-diff + table-f2py-winsup-mat Support matrix, exe implies a Windows installer: f2py/windows/index.html#table-f2py-winsup-mat templating Conversion of .src files using Templates: reference/distutils_guide.html#templating testing-builds Testing builds : dev/development_environment.html#testing-builds testing-guidelines Testing Guidelines : reference/testing.html#testing-guidelines titles Field Titles : user/basics.rec.html#titles tutorials_howtos_explanations Documentation framework : dev/howto-docs.html#tutorials-howtos-explanations + type-declarations Type declarations : f2py/signature-file.html#type-declarations typing reference/typing.html#typing ufuncs Universal functions (ufunc) : reference/ufuncs.html#ufuncs ufuncs-basics Universal functions (ufunc) basics : user/basics.ufuncs.html#ufuncs-basics diff --git a/doc/_intersphinx/python3.inv b/doc/_intersphinx/python3.inv index dc787596dc285a13faf2e49735cc3be05b70349b..262d953fc470bb2e72fdd2e7ed48935238bb5ea9 100644 GIT binary patch literal 125537 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�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 R$jgS7?;UoQ{|_Mn2Son?vGxD} diff --git a/doc/_intersphinx/python3.txt b/doc/_intersphinx/python3.txt index bf50bbb..2c937ec 100644 --- a/doc/_intersphinx/python3.txt +++ b/doc/_intersphinx/python3.txt @@ -121,6 +121,7 @@ c:function PyCoro_New c-api/coro.html#c.PyCoro_New PyDateTime_Check c-api/datetime.html#c.PyDateTime_Check PyDateTime_CheckExact c-api/datetime.html#c.PyDateTime_CheckExact + PyDateTime_DATE_GET_FOLD c-api/datetime.html#c.PyDateTime_DATE_GET_FOLD PyDateTime_DATE_GET_HOUR c-api/datetime.html#c.PyDateTime_DATE_GET_HOUR PyDateTime_DATE_GET_MICROSECOND c-api/datetime.html#c.PyDateTime_DATE_GET_MICROSECOND PyDateTime_DATE_GET_MINUTE c-api/datetime.html#c.PyDateTime_DATE_GET_MINUTE @@ -135,6 +136,7 @@ c:function PyDateTime_GET_DAY c-api/datetime.html#c.PyDateTime_GET_DAY PyDateTime_GET_MONTH c-api/datetime.html#c.PyDateTime_GET_MONTH PyDateTime_GET_YEAR c-api/datetime.html#c.PyDateTime_GET_YEAR + PyDateTime_TIME_GET_FOLD c-api/datetime.html#c.PyDateTime_TIME_GET_FOLD PyDateTime_TIME_GET_HOUR c-api/datetime.html#c.PyDateTime_TIME_GET_HOUR PyDateTime_TIME_GET_MICROSECOND c-api/datetime.html#c.PyDateTime_TIME_GET_MICROSECOND PyDateTime_TIME_GET_MINUTE c-api/datetime.html#c.PyDateTime_TIME_GET_MINUTE @@ -892,6 +894,7 @@ c:function Py_CompileStringFlags c-api/veryhigh.html#c.Py_CompileStringFlags Py_CompileStringObject c-api/veryhigh.html#c.Py_CompileStringObject Py_DECREF c-api/refcounting.html#c.Py_DECREF + Py_DecRef c-api/refcounting.html#c.Py_DecRef Py_DecodeLocale c-api/sys.html#c.Py_DecodeLocale Py_EncodeLocale c-api/sys.html#c.Py_EncodeLocale Py_EndInterpreter c-api/init.html#c.Py_EndInterpreter @@ -916,6 +919,7 @@ c:function Py_GetVersion c-api/init.html#c.Py_GetVersion Py_INCREF c-api/refcounting.html#c.Py_INCREF Py_IS_TYPE c-api/structures.html#c.Py_IS_TYPE + Py_IncRef c-api/refcounting.html#c.Py_IncRef Py_Initialize c-api/init.html#c.Py_Initialize Py_InitializeEx c-api/init.html#c.Py_InitializeEx Py_InitializeFromConfig c-api/init_config.html#c.Py_InitializeFromConfig @@ -981,6 +985,1725 @@ c:function _Py_c_prod c-api/complex.html#c._Py_c_prod _Py_c_quot c-api/complex.html#c._Py_c_quot _Py_c_sum c-api/complex.html#c._Py_c_sum +c:functionParam + PyAIter_Check.o c-api/iter.html#c.PyAIter_Check + PyAnySet_Check.p c-api/set.html#c.PyAnySet_Check + PyAnySet_CheckExact.p c-api/set.html#c.PyAnySet_CheckExact + PyArg_Parse.args c-api/arg.html#c.PyArg_Parse + PyArg_Parse.format c-api/arg.html#c.PyArg_Parse + PyArg_ParseTuple.args c-api/arg.html#c.PyArg_ParseTuple + PyArg_ParseTuple.format c-api/arg.html#c.PyArg_ParseTuple + PyArg_ParseTupleAndKeywords.args c-api/arg.html#c.PyArg_ParseTupleAndKeywords + PyArg_ParseTupleAndKeywords.format c-api/arg.html#c.PyArg_ParseTupleAndKeywords + PyArg_ParseTupleAndKeywords.keywords c-api/arg.html#c.PyArg_ParseTupleAndKeywords + PyArg_ParseTupleAndKeywords.kw c-api/arg.html#c.PyArg_ParseTupleAndKeywords + PyArg_UnpackTuple.args c-api/arg.html#c.PyArg_UnpackTuple + PyArg_UnpackTuple.max c-api/arg.html#c.PyArg_UnpackTuple + PyArg_UnpackTuple.min c-api/arg.html#c.PyArg_UnpackTuple + PyArg_UnpackTuple.name c-api/arg.html#c.PyArg_UnpackTuple + PyArg_VaParse.args c-api/arg.html#c.PyArg_VaParse + PyArg_VaParse.format c-api/arg.html#c.PyArg_VaParse + PyArg_VaParse.vargs c-api/arg.html#c.PyArg_VaParse + PyArg_VaParseTupleAndKeywords.args c-api/arg.html#c.PyArg_VaParseTupleAndKeywords + PyArg_VaParseTupleAndKeywords.format c-api/arg.html#c.PyArg_VaParseTupleAndKeywords + PyArg_VaParseTupleAndKeywords.keywords c-api/arg.html#c.PyArg_VaParseTupleAndKeywords + PyArg_VaParseTupleAndKeywords.kw c-api/arg.html#c.PyArg_VaParseTupleAndKeywords + PyArg_VaParseTupleAndKeywords.vargs c-api/arg.html#c.PyArg_VaParseTupleAndKeywords + PyBool_Check.o c-api/bool.html#c.PyBool_Check + PyBool_FromLong.v c-api/bool.html#c.PyBool_FromLong + PyBuffer_FillContiguousStrides.itemsize c-api/buffer.html#c.PyBuffer_FillContiguousStrides + PyBuffer_FillContiguousStrides.ndims c-api/buffer.html#c.PyBuffer_FillContiguousStrides + PyBuffer_FillContiguousStrides.order c-api/buffer.html#c.PyBuffer_FillContiguousStrides + PyBuffer_FillContiguousStrides.shape c-api/buffer.html#c.PyBuffer_FillContiguousStrides + PyBuffer_FillContiguousStrides.strides c-api/buffer.html#c.PyBuffer_FillContiguousStrides + PyBuffer_FillInfo.buf c-api/buffer.html#c.PyBuffer_FillInfo + PyBuffer_FillInfo.exporter c-api/buffer.html#c.PyBuffer_FillInfo + PyBuffer_FillInfo.flags c-api/buffer.html#c.PyBuffer_FillInfo + PyBuffer_FillInfo.len c-api/buffer.html#c.PyBuffer_FillInfo + PyBuffer_FillInfo.readonly c-api/buffer.html#c.PyBuffer_FillInfo + PyBuffer_FillInfo.view c-api/buffer.html#c.PyBuffer_FillInfo + PyBuffer_FromContiguous.buf c-api/buffer.html#c.PyBuffer_FromContiguous + PyBuffer_FromContiguous.fort c-api/buffer.html#c.PyBuffer_FromContiguous + PyBuffer_FromContiguous.len c-api/buffer.html#c.PyBuffer_FromContiguous + PyBuffer_FromContiguous.view c-api/buffer.html#c.PyBuffer_FromContiguous + PyBuffer_GetPointer.indices c-api/buffer.html#c.PyBuffer_GetPointer + PyBuffer_GetPointer.view c-api/buffer.html#c.PyBuffer_GetPointer + PyBuffer_IsContiguous.order c-api/buffer.html#c.PyBuffer_IsContiguous + PyBuffer_IsContiguous.view c-api/buffer.html#c.PyBuffer_IsContiguous + PyBuffer_Release.view c-api/buffer.html#c.PyBuffer_Release + PyBuffer_SizeFromFormat.format c-api/buffer.html#c.PyBuffer_SizeFromFormat + PyBuffer_ToContiguous.buf c-api/buffer.html#c.PyBuffer_ToContiguous + PyBuffer_ToContiguous.len c-api/buffer.html#c.PyBuffer_ToContiguous + PyBuffer_ToContiguous.order c-api/buffer.html#c.PyBuffer_ToContiguous + PyBuffer_ToContiguous.src c-api/buffer.html#c.PyBuffer_ToContiguous + PyByteArray_AS_STRING.bytearray c-api/bytearray.html#c.PyByteArray_AS_STRING + PyByteArray_AsString.bytearray c-api/bytearray.html#c.PyByteArray_AsString + PyByteArray_Check.o c-api/bytearray.html#c.PyByteArray_Check + PyByteArray_CheckExact.o c-api/bytearray.html#c.PyByteArray_CheckExact + PyByteArray_Concat.a c-api/bytearray.html#c.PyByteArray_Concat + PyByteArray_Concat.b c-api/bytearray.html#c.PyByteArray_Concat + PyByteArray_FromObject.o c-api/bytearray.html#c.PyByteArray_FromObject + PyByteArray_FromStringAndSize.len c-api/bytearray.html#c.PyByteArray_FromStringAndSize + PyByteArray_FromStringAndSize.string c-api/bytearray.html#c.PyByteArray_FromStringAndSize + PyByteArray_GET_SIZE.bytearray c-api/bytearray.html#c.PyByteArray_GET_SIZE + PyByteArray_Resize.bytearray c-api/bytearray.html#c.PyByteArray_Resize + PyByteArray_Resize.len c-api/bytearray.html#c.PyByteArray_Resize + PyByteArray_Size.bytearray c-api/bytearray.html#c.PyByteArray_Size + PyBytes_AS_STRING.string c-api/bytes.html#c.PyBytes_AS_STRING + PyBytes_AsString.o c-api/bytes.html#c.PyBytes_AsString + PyBytes_AsStringAndSize.buffer c-api/bytes.html#c.PyBytes_AsStringAndSize + PyBytes_AsStringAndSize.length c-api/bytes.html#c.PyBytes_AsStringAndSize + PyBytes_AsStringAndSize.obj c-api/bytes.html#c.PyBytes_AsStringAndSize + PyBytes_Check.o c-api/bytes.html#c.PyBytes_Check + PyBytes_CheckExact.o c-api/bytes.html#c.PyBytes_CheckExact + PyBytes_Concat.bytes c-api/bytes.html#c.PyBytes_Concat + PyBytes_Concat.newpart c-api/bytes.html#c.PyBytes_Concat + PyBytes_ConcatAndDel.bytes c-api/bytes.html#c.PyBytes_ConcatAndDel + PyBytes_ConcatAndDel.newpart c-api/bytes.html#c.PyBytes_ConcatAndDel + PyBytes_FromFormat.format c-api/bytes.html#c.PyBytes_FromFormat + PyBytes_FromFormatV.format c-api/bytes.html#c.PyBytes_FromFormatV + PyBytes_FromFormatV.vargs c-api/bytes.html#c.PyBytes_FromFormatV + PyBytes_FromObject.o c-api/bytes.html#c.PyBytes_FromObject + PyBytes_FromString.v c-api/bytes.html#c.PyBytes_FromString + PyBytes_FromStringAndSize.len c-api/bytes.html#c.PyBytes_FromStringAndSize + PyBytes_FromStringAndSize.v c-api/bytes.html#c.PyBytes_FromStringAndSize + PyBytes_GET_SIZE.o c-api/bytes.html#c.PyBytes_GET_SIZE + PyBytes_Size.o c-api/bytes.html#c.PyBytes_Size + PyCallIter_New.callable c-api/iterator.html#c.PyCallIter_New + PyCallIter_New.sentinel c-api/iterator.html#c.PyCallIter_New + PyCallable_Check.o c-api/call.html#c.PyCallable_Check + PyCapsule_CheckExact.p c-api/capsule.html#c.PyCapsule_CheckExact + PyCapsule_GetContext.capsule c-api/capsule.html#c.PyCapsule_GetContext + PyCapsule_GetDestructor.capsule c-api/capsule.html#c.PyCapsule_GetDestructor + PyCapsule_GetName.capsule c-api/capsule.html#c.PyCapsule_GetName + PyCapsule_GetPointer.capsule c-api/capsule.html#c.PyCapsule_GetPointer + PyCapsule_GetPointer.name c-api/capsule.html#c.PyCapsule_GetPointer + PyCapsule_Import.name c-api/capsule.html#c.PyCapsule_Import + PyCapsule_Import.no_block c-api/capsule.html#c.PyCapsule_Import + PyCapsule_IsValid.capsule c-api/capsule.html#c.PyCapsule_IsValid + PyCapsule_IsValid.name c-api/capsule.html#c.PyCapsule_IsValid + PyCapsule_New.destructor c-api/capsule.html#c.PyCapsule_New + PyCapsule_New.name c-api/capsule.html#c.PyCapsule_New + PyCapsule_New.pointer c-api/capsule.html#c.PyCapsule_New + PyCapsule_SetContext.capsule c-api/capsule.html#c.PyCapsule_SetContext + PyCapsule_SetContext.context c-api/capsule.html#c.PyCapsule_SetContext + PyCapsule_SetDestructor.capsule c-api/capsule.html#c.PyCapsule_SetDestructor + PyCapsule_SetDestructor.destructor c-api/capsule.html#c.PyCapsule_SetDestructor + PyCapsule_SetName.capsule c-api/capsule.html#c.PyCapsule_SetName + PyCapsule_SetName.name c-api/capsule.html#c.PyCapsule_SetName + PyCapsule_SetPointer.capsule c-api/capsule.html#c.PyCapsule_SetPointer + PyCapsule_SetPointer.pointer c-api/capsule.html#c.PyCapsule_SetPointer + PyCell_GET.cell c-api/cell.html#c.PyCell_GET + PyCell_Get.cell c-api/cell.html#c.PyCell_Get + PyCell_New.ob c-api/cell.html#c.PyCell_New + PyCell_SET.cell c-api/cell.html#c.PyCell_SET + PyCell_SET.value c-api/cell.html#c.PyCell_SET + PyCell_Set.cell c-api/cell.html#c.PyCell_Set + PyCell_Set.value c-api/cell.html#c.PyCell_Set + PyCode_Addr2Line.byte_offset c-api/code.html#c.PyCode_Addr2Line + PyCode_Addr2Line.co c-api/code.html#c.PyCode_Addr2Line + PyCode_Check.co c-api/code.html#c.PyCode_Check + PyCode_GetNumFree.co c-api/code.html#c.PyCode_GetNumFree + PyCode_New.argcount c-api/code.html#c.PyCode_New + PyCode_New.cellvars c-api/code.html#c.PyCode_New + PyCode_New.code c-api/code.html#c.PyCode_New + PyCode_New.consts c-api/code.html#c.PyCode_New + PyCode_New.filename c-api/code.html#c.PyCode_New + PyCode_New.firstlineno c-api/code.html#c.PyCode_New + PyCode_New.flags c-api/code.html#c.PyCode_New + PyCode_New.freevars c-api/code.html#c.PyCode_New + PyCode_New.kwonlyargcount c-api/code.html#c.PyCode_New + PyCode_New.lnotab c-api/code.html#c.PyCode_New + PyCode_New.name c-api/code.html#c.PyCode_New + PyCode_New.names c-api/code.html#c.PyCode_New + PyCode_New.nlocals c-api/code.html#c.PyCode_New + PyCode_New.stacksize c-api/code.html#c.PyCode_New + PyCode_New.varnames c-api/code.html#c.PyCode_New + PyCode_NewEmpty.filename c-api/code.html#c.PyCode_NewEmpty + PyCode_NewEmpty.firstlineno c-api/code.html#c.PyCode_NewEmpty + PyCode_NewEmpty.funcname c-api/code.html#c.PyCode_NewEmpty + PyCode_NewWithPosOnlyArgs.argcount c-api/code.html#c.PyCode_NewWithPosOnlyArgs + PyCode_NewWithPosOnlyArgs.cellvars c-api/code.html#c.PyCode_NewWithPosOnlyArgs + PyCode_NewWithPosOnlyArgs.code c-api/code.html#c.PyCode_NewWithPosOnlyArgs + PyCode_NewWithPosOnlyArgs.consts c-api/code.html#c.PyCode_NewWithPosOnlyArgs + PyCode_NewWithPosOnlyArgs.filename c-api/code.html#c.PyCode_NewWithPosOnlyArgs + PyCode_NewWithPosOnlyArgs.firstlineno c-api/code.html#c.PyCode_NewWithPosOnlyArgs + PyCode_NewWithPosOnlyArgs.flags c-api/code.html#c.PyCode_NewWithPosOnlyArgs + PyCode_NewWithPosOnlyArgs.freevars c-api/code.html#c.PyCode_NewWithPosOnlyArgs + PyCode_NewWithPosOnlyArgs.kwonlyargcount c-api/code.html#c.PyCode_NewWithPosOnlyArgs + PyCode_NewWithPosOnlyArgs.lnotab c-api/code.html#c.PyCode_NewWithPosOnlyArgs + PyCode_NewWithPosOnlyArgs.name c-api/code.html#c.PyCode_NewWithPosOnlyArgs + PyCode_NewWithPosOnlyArgs.names c-api/code.html#c.PyCode_NewWithPosOnlyArgs + PyCode_NewWithPosOnlyArgs.nlocals c-api/code.html#c.PyCode_NewWithPosOnlyArgs + PyCode_NewWithPosOnlyArgs.posonlyargcount c-api/code.html#c.PyCode_NewWithPosOnlyArgs + PyCode_NewWithPosOnlyArgs.stacksize c-api/code.html#c.PyCode_NewWithPosOnlyArgs + PyCode_NewWithPosOnlyArgs.varnames c-api/code.html#c.PyCode_NewWithPosOnlyArgs + PyCodec_BackslashReplaceErrors.exc c-api/codec.html#c.PyCodec_BackslashReplaceErrors + PyCodec_Decode.encoding c-api/codec.html#c.PyCodec_Decode + PyCodec_Decode.errors c-api/codec.html#c.PyCodec_Decode + PyCodec_Decode.object c-api/codec.html#c.PyCodec_Decode + PyCodec_Decoder.encoding c-api/codec.html#c.PyCodec_Decoder + PyCodec_Encode.encoding c-api/codec.html#c.PyCodec_Encode + PyCodec_Encode.errors c-api/codec.html#c.PyCodec_Encode + PyCodec_Encode.object c-api/codec.html#c.PyCodec_Encode + PyCodec_Encoder.encoding c-api/codec.html#c.PyCodec_Encoder + PyCodec_IgnoreErrors.exc c-api/codec.html#c.PyCodec_IgnoreErrors + PyCodec_IncrementalDecoder.encoding c-api/codec.html#c.PyCodec_IncrementalDecoder + PyCodec_IncrementalDecoder.errors c-api/codec.html#c.PyCodec_IncrementalDecoder + PyCodec_IncrementalEncoder.encoding c-api/codec.html#c.PyCodec_IncrementalEncoder + PyCodec_IncrementalEncoder.errors c-api/codec.html#c.PyCodec_IncrementalEncoder + PyCodec_KnownEncoding.encoding c-api/codec.html#c.PyCodec_KnownEncoding + PyCodec_LookupError.name c-api/codec.html#c.PyCodec_LookupError + PyCodec_NameReplaceErrors.exc c-api/codec.html#c.PyCodec_NameReplaceErrors + PyCodec_Register.search_function c-api/codec.html#c.PyCodec_Register + PyCodec_RegisterError.error c-api/codec.html#c.PyCodec_RegisterError + PyCodec_RegisterError.name c-api/codec.html#c.PyCodec_RegisterError + PyCodec_ReplaceErrors.exc c-api/codec.html#c.PyCodec_ReplaceErrors + PyCodec_StreamReader.encoding c-api/codec.html#c.PyCodec_StreamReader + PyCodec_StreamReader.errors c-api/codec.html#c.PyCodec_StreamReader + PyCodec_StreamReader.stream c-api/codec.html#c.PyCodec_StreamReader + PyCodec_StreamWriter.encoding c-api/codec.html#c.PyCodec_StreamWriter + PyCodec_StreamWriter.errors c-api/codec.html#c.PyCodec_StreamWriter + PyCodec_StreamWriter.stream c-api/codec.html#c.PyCodec_StreamWriter + PyCodec_StrictErrors.exc c-api/codec.html#c.PyCodec_StrictErrors + PyCodec_Unregister.search_function c-api/codec.html#c.PyCodec_Unregister + PyCodec_XMLCharRefReplaceErrors.exc c-api/codec.html#c.PyCodec_XMLCharRefReplaceErrors + PyComplex_AsCComplex.op c-api/complex.html#c.PyComplex_AsCComplex + PyComplex_Check.p c-api/complex.html#c.PyComplex_Check + PyComplex_CheckExact.p c-api/complex.html#c.PyComplex_CheckExact + PyComplex_FromCComplex.v c-api/complex.html#c.PyComplex_FromCComplex + PyComplex_FromDoubles.imag c-api/complex.html#c.PyComplex_FromDoubles + PyComplex_FromDoubles.real c-api/complex.html#c.PyComplex_FromDoubles + PyComplex_ImagAsDouble.op c-api/complex.html#c.PyComplex_ImagAsDouble + PyComplex_RealAsDouble.op c-api/complex.html#c.PyComplex_RealAsDouble + PyConfig.PyConfig_Clear.config c-api/init_config.html#c.PyConfig.PyConfig_Clear + PyConfig.PyConfig_InitIsolatedConfig.config c-api/init_config.html#c.PyConfig.PyConfig_InitIsolatedConfig + PyConfig.PyConfig_InitPythonConfig.config c-api/init_config.html#c.PyConfig.PyConfig_InitPythonConfig + PyConfig.PyConfig_Read.config c-api/init_config.html#c.PyConfig.PyConfig_Read + PyConfig.PyConfig_SetArgv.argc c-api/init_config.html#c.PyConfig.PyConfig_SetArgv + PyConfig.PyConfig_SetArgv.argv c-api/init_config.html#c.PyConfig.PyConfig_SetArgv + PyConfig.PyConfig_SetArgv.config c-api/init_config.html#c.PyConfig.PyConfig_SetArgv + PyConfig.PyConfig_SetBytesArgv.argc c-api/init_config.html#c.PyConfig.PyConfig_SetBytesArgv + PyConfig.PyConfig_SetBytesArgv.argv c-api/init_config.html#c.PyConfig.PyConfig_SetBytesArgv + PyConfig.PyConfig_SetBytesArgv.config c-api/init_config.html#c.PyConfig.PyConfig_SetBytesArgv + PyConfig.PyConfig_SetBytesString.config c-api/init_config.html#c.PyConfig.PyConfig_SetBytesString + PyConfig.PyConfig_SetBytesString.config_str c-api/init_config.html#c.PyConfig.PyConfig_SetBytesString + PyConfig.PyConfig_SetBytesString.str c-api/init_config.html#c.PyConfig.PyConfig_SetBytesString + PyConfig.PyConfig_SetString.config c-api/init_config.html#c.PyConfig.PyConfig_SetString + PyConfig.PyConfig_SetString.config_str c-api/init_config.html#c.PyConfig.PyConfig_SetString + PyConfig.PyConfig_SetString.str c-api/init_config.html#c.PyConfig.PyConfig_SetString + PyConfig.PyConfig_SetWideStringList.config c-api/init_config.html#c.PyConfig.PyConfig_SetWideStringList + PyConfig.PyConfig_SetWideStringList.items c-api/init_config.html#c.PyConfig.PyConfig_SetWideStringList + PyConfig.PyConfig_SetWideStringList.length c-api/init_config.html#c.PyConfig.PyConfig_SetWideStringList + PyConfig.PyConfig_SetWideStringList.list c-api/init_config.html#c.PyConfig.PyConfig_SetWideStringList + PyContextToken_CheckExact.o c-api/contextvars.html#c.PyContextToken_CheckExact + PyContextVar_CheckExact.o c-api/contextvars.html#c.PyContextVar_CheckExact + PyContextVar_Get.default_value c-api/contextvars.html#c.PyContextVar_Get + PyContextVar_Get.value c-api/contextvars.html#c.PyContextVar_Get + PyContextVar_Get.var c-api/contextvars.html#c.PyContextVar_Get + PyContextVar_New.def c-api/contextvars.html#c.PyContextVar_New + PyContextVar_New.name c-api/contextvars.html#c.PyContextVar_New + PyContextVar_Reset.token c-api/contextvars.html#c.PyContextVar_Reset + PyContextVar_Reset.var c-api/contextvars.html#c.PyContextVar_Reset + PyContextVar_Set.value c-api/contextvars.html#c.PyContextVar_Set + PyContextVar_Set.var c-api/contextvars.html#c.PyContextVar_Set + PyContext_CheckExact.o c-api/contextvars.html#c.PyContext_CheckExact + PyContext_Copy.ctx c-api/contextvars.html#c.PyContext_Copy + PyContext_Enter.ctx c-api/contextvars.html#c.PyContext_Enter + PyContext_Exit.ctx c-api/contextvars.html#c.PyContext_Exit + PyCoro_CheckExact.ob c-api/coro.html#c.PyCoro_CheckExact + PyCoro_New.frame c-api/coro.html#c.PyCoro_New + PyCoro_New.name c-api/coro.html#c.PyCoro_New + PyCoro_New.qualname c-api/coro.html#c.PyCoro_New + PyDateTime_Check.ob c-api/datetime.html#c.PyDateTime_Check + PyDateTime_CheckExact.ob c-api/datetime.html#c.PyDateTime_CheckExact + PyDateTime_DATE_GET_FOLD.o c-api/datetime.html#c.PyDateTime_DATE_GET_FOLD + PyDateTime_DATE_GET_HOUR.o c-api/datetime.html#c.PyDateTime_DATE_GET_HOUR + PyDateTime_DATE_GET_MICROSECOND.o c-api/datetime.html#c.PyDateTime_DATE_GET_MICROSECOND + PyDateTime_DATE_GET_MINUTE.o c-api/datetime.html#c.PyDateTime_DATE_GET_MINUTE + PyDateTime_DATE_GET_SECOND.o c-api/datetime.html#c.PyDateTime_DATE_GET_SECOND + PyDateTime_DATE_GET_TZINFO.o c-api/datetime.html#c.PyDateTime_DATE_GET_TZINFO + PyDateTime_DELTA_GET_DAYS.o c-api/datetime.html#c.PyDateTime_DELTA_GET_DAYS + PyDateTime_DELTA_GET_MICROSECONDS.o c-api/datetime.html#c.PyDateTime_DELTA_GET_MICROSECONDS + PyDateTime_DELTA_GET_SECONDS.o c-api/datetime.html#c.PyDateTime_DELTA_GET_SECONDS + PyDateTime_FromDateAndTime.day c-api/datetime.html#c.PyDateTime_FromDateAndTime + PyDateTime_FromDateAndTime.hour c-api/datetime.html#c.PyDateTime_FromDateAndTime + PyDateTime_FromDateAndTime.minute c-api/datetime.html#c.PyDateTime_FromDateAndTime + PyDateTime_FromDateAndTime.month c-api/datetime.html#c.PyDateTime_FromDateAndTime + PyDateTime_FromDateAndTime.second c-api/datetime.html#c.PyDateTime_FromDateAndTime + PyDateTime_FromDateAndTime.usecond c-api/datetime.html#c.PyDateTime_FromDateAndTime + PyDateTime_FromDateAndTime.year c-api/datetime.html#c.PyDateTime_FromDateAndTime + PyDateTime_FromDateAndTimeAndFold.day c-api/datetime.html#c.PyDateTime_FromDateAndTimeAndFold + PyDateTime_FromDateAndTimeAndFold.fold c-api/datetime.html#c.PyDateTime_FromDateAndTimeAndFold + PyDateTime_FromDateAndTimeAndFold.hour c-api/datetime.html#c.PyDateTime_FromDateAndTimeAndFold + PyDateTime_FromDateAndTimeAndFold.minute c-api/datetime.html#c.PyDateTime_FromDateAndTimeAndFold + PyDateTime_FromDateAndTimeAndFold.month c-api/datetime.html#c.PyDateTime_FromDateAndTimeAndFold + PyDateTime_FromDateAndTimeAndFold.second c-api/datetime.html#c.PyDateTime_FromDateAndTimeAndFold + PyDateTime_FromDateAndTimeAndFold.usecond c-api/datetime.html#c.PyDateTime_FromDateAndTimeAndFold + PyDateTime_FromDateAndTimeAndFold.year c-api/datetime.html#c.PyDateTime_FromDateAndTimeAndFold + PyDateTime_FromTimestamp.args c-api/datetime.html#c.PyDateTime_FromTimestamp + PyDateTime_GET_DAY.o c-api/datetime.html#c.PyDateTime_GET_DAY + PyDateTime_GET_MONTH.o c-api/datetime.html#c.PyDateTime_GET_MONTH + PyDateTime_GET_YEAR.o c-api/datetime.html#c.PyDateTime_GET_YEAR + PyDateTime_TIME_GET_FOLD.o c-api/datetime.html#c.PyDateTime_TIME_GET_FOLD + PyDateTime_TIME_GET_HOUR.o c-api/datetime.html#c.PyDateTime_TIME_GET_HOUR + PyDateTime_TIME_GET_MICROSECOND.o c-api/datetime.html#c.PyDateTime_TIME_GET_MICROSECOND + PyDateTime_TIME_GET_MINUTE.o c-api/datetime.html#c.PyDateTime_TIME_GET_MINUTE + PyDateTime_TIME_GET_SECOND.o c-api/datetime.html#c.PyDateTime_TIME_GET_SECOND + PyDateTime_TIME_GET_TZINFO.o c-api/datetime.html#c.PyDateTime_TIME_GET_TZINFO + PyDate_Check.ob c-api/datetime.html#c.PyDate_Check + PyDate_CheckExact.ob c-api/datetime.html#c.PyDate_CheckExact + PyDate_FromDate.day c-api/datetime.html#c.PyDate_FromDate + PyDate_FromDate.month c-api/datetime.html#c.PyDate_FromDate + PyDate_FromDate.year c-api/datetime.html#c.PyDate_FromDate + PyDate_FromTimestamp.args c-api/datetime.html#c.PyDate_FromTimestamp + PyDelta_Check.ob c-api/datetime.html#c.PyDelta_Check + PyDelta_CheckExact.ob c-api/datetime.html#c.PyDelta_CheckExact + PyDelta_FromDSU.days c-api/datetime.html#c.PyDelta_FromDSU + PyDelta_FromDSU.seconds c-api/datetime.html#c.PyDelta_FromDSU + PyDelta_FromDSU.useconds c-api/datetime.html#c.PyDelta_FromDSU + PyDescr_IsData.descr c-api/descriptor.html#c.PyDescr_IsData + PyDescr_NewClassMethod.method c-api/descriptor.html#c.PyDescr_NewClassMethod + PyDescr_NewClassMethod.type c-api/descriptor.html#c.PyDescr_NewClassMethod + PyDescr_NewGetSet.getset c-api/descriptor.html#c.PyDescr_NewGetSet + PyDescr_NewGetSet.type c-api/descriptor.html#c.PyDescr_NewGetSet + PyDescr_NewMember.meth c-api/descriptor.html#c.PyDescr_NewMember + PyDescr_NewMember.type c-api/descriptor.html#c.PyDescr_NewMember + PyDescr_NewMethod.meth c-api/descriptor.html#c.PyDescr_NewMethod + PyDescr_NewMethod.type c-api/descriptor.html#c.PyDescr_NewMethod + PyDescr_NewWrapper.type c-api/descriptor.html#c.PyDescr_NewWrapper + PyDescr_NewWrapper.wrapped c-api/descriptor.html#c.PyDescr_NewWrapper + PyDescr_NewWrapper.wrapper c-api/descriptor.html#c.PyDescr_NewWrapper + PyDictProxy_New.mapping c-api/dict.html#c.PyDictProxy_New + PyDict_Check.p c-api/dict.html#c.PyDict_Check + PyDict_CheckExact.p c-api/dict.html#c.PyDict_CheckExact + PyDict_Clear.p c-api/dict.html#c.PyDict_Clear + PyDict_Contains.key c-api/dict.html#c.PyDict_Contains + PyDict_Contains.p c-api/dict.html#c.PyDict_Contains + PyDict_Copy.p c-api/dict.html#c.PyDict_Copy + PyDict_DelItem.key c-api/dict.html#c.PyDict_DelItem + PyDict_DelItem.p c-api/dict.html#c.PyDict_DelItem + PyDict_DelItemString.key c-api/dict.html#c.PyDict_DelItemString + PyDict_DelItemString.p c-api/dict.html#c.PyDict_DelItemString + PyDict_GetItem.key c-api/dict.html#c.PyDict_GetItem + PyDict_GetItem.p c-api/dict.html#c.PyDict_GetItem + PyDict_GetItemString.key c-api/dict.html#c.PyDict_GetItemString + PyDict_GetItemString.p c-api/dict.html#c.PyDict_GetItemString + PyDict_GetItemWithError.key c-api/dict.html#c.PyDict_GetItemWithError + PyDict_GetItemWithError.p c-api/dict.html#c.PyDict_GetItemWithError + PyDict_Items.p c-api/dict.html#c.PyDict_Items + PyDict_Keys.p c-api/dict.html#c.PyDict_Keys + PyDict_Merge.a c-api/dict.html#c.PyDict_Merge + PyDict_Merge.b c-api/dict.html#c.PyDict_Merge + PyDict_Merge.override c-api/dict.html#c.PyDict_Merge + PyDict_MergeFromSeq2.a c-api/dict.html#c.PyDict_MergeFromSeq2 + PyDict_MergeFromSeq2.override c-api/dict.html#c.PyDict_MergeFromSeq2 + PyDict_MergeFromSeq2.seq2 c-api/dict.html#c.PyDict_MergeFromSeq2 + PyDict_Next.p c-api/dict.html#c.PyDict_Next + PyDict_Next.pkey c-api/dict.html#c.PyDict_Next + PyDict_Next.ppos c-api/dict.html#c.PyDict_Next + PyDict_Next.pvalue c-api/dict.html#c.PyDict_Next + PyDict_SetDefault.defaultobj c-api/dict.html#c.PyDict_SetDefault + PyDict_SetDefault.key c-api/dict.html#c.PyDict_SetDefault + PyDict_SetDefault.p c-api/dict.html#c.PyDict_SetDefault + PyDict_SetItem.key c-api/dict.html#c.PyDict_SetItem + PyDict_SetItem.p c-api/dict.html#c.PyDict_SetItem + PyDict_SetItem.val c-api/dict.html#c.PyDict_SetItem + PyDict_SetItemString.key c-api/dict.html#c.PyDict_SetItemString + PyDict_SetItemString.p c-api/dict.html#c.PyDict_SetItemString + PyDict_SetItemString.val c-api/dict.html#c.PyDict_SetItemString + PyDict_Size.p c-api/dict.html#c.PyDict_Size + PyDict_Update.a c-api/dict.html#c.PyDict_Update + PyDict_Update.b c-api/dict.html#c.PyDict_Update + PyDict_Values.p c-api/dict.html#c.PyDict_Values + PyErr_ExceptionMatches.exc c-api/exceptions.html#c.PyErr_ExceptionMatches + PyErr_Fetch.ptraceback c-api/exceptions.html#c.PyErr_Fetch + PyErr_Fetch.ptype c-api/exceptions.html#c.PyErr_Fetch + PyErr_Fetch.pvalue c-api/exceptions.html#c.PyErr_Fetch + PyErr_Format.exception c-api/exceptions.html#c.PyErr_Format + PyErr_Format.format c-api/exceptions.html#c.PyErr_Format + PyErr_FormatV.exception c-api/exceptions.html#c.PyErr_FormatV + PyErr_FormatV.format c-api/exceptions.html#c.PyErr_FormatV + PyErr_FormatV.vargs c-api/exceptions.html#c.PyErr_FormatV + PyErr_GetExcInfo.ptraceback c-api/exceptions.html#c.PyErr_GetExcInfo + PyErr_GetExcInfo.ptype c-api/exceptions.html#c.PyErr_GetExcInfo + PyErr_GetExcInfo.pvalue c-api/exceptions.html#c.PyErr_GetExcInfo + PyErr_GivenExceptionMatches.exc c-api/exceptions.html#c.PyErr_GivenExceptionMatches + PyErr_GivenExceptionMatches.given c-api/exceptions.html#c.PyErr_GivenExceptionMatches + PyErr_NewException.base c-api/exceptions.html#c.PyErr_NewException + PyErr_NewException.dict c-api/exceptions.html#c.PyErr_NewException + PyErr_NewException.name c-api/exceptions.html#c.PyErr_NewException + PyErr_NewExceptionWithDoc.base c-api/exceptions.html#c.PyErr_NewExceptionWithDoc + PyErr_NewExceptionWithDoc.dict c-api/exceptions.html#c.PyErr_NewExceptionWithDoc + PyErr_NewExceptionWithDoc.doc c-api/exceptions.html#c.PyErr_NewExceptionWithDoc + PyErr_NewExceptionWithDoc.name c-api/exceptions.html#c.PyErr_NewExceptionWithDoc + PyErr_NormalizeException.exc c-api/exceptions.html#c.PyErr_NormalizeException + PyErr_NormalizeException.tb c-api/exceptions.html#c.PyErr_NormalizeException + PyErr_NormalizeException.val c-api/exceptions.html#c.PyErr_NormalizeException + PyErr_PrintEx.set_sys_last_vars c-api/exceptions.html#c.PyErr_PrintEx + PyErr_ResourceWarning.format c-api/exceptions.html#c.PyErr_ResourceWarning + PyErr_ResourceWarning.source c-api/exceptions.html#c.PyErr_ResourceWarning + PyErr_ResourceWarning.stack_level c-api/exceptions.html#c.PyErr_ResourceWarning + PyErr_Restore.traceback c-api/exceptions.html#c.PyErr_Restore + PyErr_Restore.type c-api/exceptions.html#c.PyErr_Restore + PyErr_Restore.value c-api/exceptions.html#c.PyErr_Restore + PyErr_SetExcFromWindowsErr.ierr c-api/exceptions.html#c.PyErr_SetExcFromWindowsErr + PyErr_SetExcFromWindowsErr.type c-api/exceptions.html#c.PyErr_SetExcFromWindowsErr + PyErr_SetExcFromWindowsErrWithFilename.filename c-api/exceptions.html#c.PyErr_SetExcFromWindowsErrWithFilename + PyErr_SetExcFromWindowsErrWithFilename.ierr c-api/exceptions.html#c.PyErr_SetExcFromWindowsErrWithFilename + PyErr_SetExcFromWindowsErrWithFilename.type c-api/exceptions.html#c.PyErr_SetExcFromWindowsErrWithFilename + PyErr_SetExcFromWindowsErrWithFilenameObject.filename c-api/exceptions.html#c.PyErr_SetExcFromWindowsErrWithFilenameObject + PyErr_SetExcFromWindowsErrWithFilenameObject.ierr c-api/exceptions.html#c.PyErr_SetExcFromWindowsErrWithFilenameObject + PyErr_SetExcFromWindowsErrWithFilenameObject.type c-api/exceptions.html#c.PyErr_SetExcFromWindowsErrWithFilenameObject + PyErr_SetExcFromWindowsErrWithFilenameObjects.filename c-api/exceptions.html#c.PyErr_SetExcFromWindowsErrWithFilenameObjects + PyErr_SetExcFromWindowsErrWithFilenameObjects.filename2 c-api/exceptions.html#c.PyErr_SetExcFromWindowsErrWithFilenameObjects + PyErr_SetExcFromWindowsErrWithFilenameObjects.ierr c-api/exceptions.html#c.PyErr_SetExcFromWindowsErrWithFilenameObjects + PyErr_SetExcFromWindowsErrWithFilenameObjects.type c-api/exceptions.html#c.PyErr_SetExcFromWindowsErrWithFilenameObjects + PyErr_SetExcInfo.traceback c-api/exceptions.html#c.PyErr_SetExcInfo + PyErr_SetExcInfo.type c-api/exceptions.html#c.PyErr_SetExcInfo + PyErr_SetExcInfo.value c-api/exceptions.html#c.PyErr_SetExcInfo + PyErr_SetFromErrno.type c-api/exceptions.html#c.PyErr_SetFromErrno + PyErr_SetFromErrnoWithFilename.filename c-api/exceptions.html#c.PyErr_SetFromErrnoWithFilename + PyErr_SetFromErrnoWithFilename.type c-api/exceptions.html#c.PyErr_SetFromErrnoWithFilename + PyErr_SetFromErrnoWithFilenameObject.filenameObject c-api/exceptions.html#c.PyErr_SetFromErrnoWithFilenameObject + PyErr_SetFromErrnoWithFilenameObject.type c-api/exceptions.html#c.PyErr_SetFromErrnoWithFilenameObject + PyErr_SetFromErrnoWithFilenameObjects.filenameObject c-api/exceptions.html#c.PyErr_SetFromErrnoWithFilenameObjects + PyErr_SetFromErrnoWithFilenameObjects.filenameObject2 c-api/exceptions.html#c.PyErr_SetFromErrnoWithFilenameObjects + PyErr_SetFromErrnoWithFilenameObjects.type c-api/exceptions.html#c.PyErr_SetFromErrnoWithFilenameObjects + PyErr_SetFromWindowsErr.ierr c-api/exceptions.html#c.PyErr_SetFromWindowsErr + PyErr_SetFromWindowsErrWithFilename.filename c-api/exceptions.html#c.PyErr_SetFromWindowsErrWithFilename + PyErr_SetFromWindowsErrWithFilename.ierr c-api/exceptions.html#c.PyErr_SetFromWindowsErrWithFilename + PyErr_SetImportError.msg c-api/exceptions.html#c.PyErr_SetImportError + PyErr_SetImportError.name c-api/exceptions.html#c.PyErr_SetImportError + PyErr_SetImportError.path c-api/exceptions.html#c.PyErr_SetImportError + PyErr_SetImportErrorSubclass.exception c-api/exceptions.html#c.PyErr_SetImportErrorSubclass + PyErr_SetImportErrorSubclass.msg c-api/exceptions.html#c.PyErr_SetImportErrorSubclass + PyErr_SetImportErrorSubclass.name c-api/exceptions.html#c.PyErr_SetImportErrorSubclass + PyErr_SetImportErrorSubclass.path c-api/exceptions.html#c.PyErr_SetImportErrorSubclass + PyErr_SetInterruptEx.signum c-api/exceptions.html#c.PyErr_SetInterruptEx + PyErr_SetNone.type c-api/exceptions.html#c.PyErr_SetNone + PyErr_SetObject.type c-api/exceptions.html#c.PyErr_SetObject + PyErr_SetObject.value c-api/exceptions.html#c.PyErr_SetObject + PyErr_SetString.message c-api/exceptions.html#c.PyErr_SetString + PyErr_SetString.type c-api/exceptions.html#c.PyErr_SetString + PyErr_SyntaxLocation.filename c-api/exceptions.html#c.PyErr_SyntaxLocation + PyErr_SyntaxLocation.lineno c-api/exceptions.html#c.PyErr_SyntaxLocation + PyErr_SyntaxLocationEx.col_offset c-api/exceptions.html#c.PyErr_SyntaxLocationEx + PyErr_SyntaxLocationEx.filename c-api/exceptions.html#c.PyErr_SyntaxLocationEx + PyErr_SyntaxLocationEx.lineno c-api/exceptions.html#c.PyErr_SyntaxLocationEx + PyErr_SyntaxLocationObject.col_offset c-api/exceptions.html#c.PyErr_SyntaxLocationObject + PyErr_SyntaxLocationObject.filename c-api/exceptions.html#c.PyErr_SyntaxLocationObject + PyErr_SyntaxLocationObject.lineno c-api/exceptions.html#c.PyErr_SyntaxLocationObject + PyErr_WarnEx.category c-api/exceptions.html#c.PyErr_WarnEx + PyErr_WarnEx.message c-api/exceptions.html#c.PyErr_WarnEx + PyErr_WarnEx.stack_level c-api/exceptions.html#c.PyErr_WarnEx + PyErr_WarnExplicit.category c-api/exceptions.html#c.PyErr_WarnExplicit + PyErr_WarnExplicit.filename c-api/exceptions.html#c.PyErr_WarnExplicit + PyErr_WarnExplicit.lineno c-api/exceptions.html#c.PyErr_WarnExplicit + PyErr_WarnExplicit.message c-api/exceptions.html#c.PyErr_WarnExplicit + PyErr_WarnExplicit.module c-api/exceptions.html#c.PyErr_WarnExplicit + PyErr_WarnExplicit.registry c-api/exceptions.html#c.PyErr_WarnExplicit + PyErr_WarnExplicitObject.category c-api/exceptions.html#c.PyErr_WarnExplicitObject + PyErr_WarnExplicitObject.filename c-api/exceptions.html#c.PyErr_WarnExplicitObject + PyErr_WarnExplicitObject.lineno c-api/exceptions.html#c.PyErr_WarnExplicitObject + PyErr_WarnExplicitObject.message c-api/exceptions.html#c.PyErr_WarnExplicitObject + PyErr_WarnExplicitObject.module c-api/exceptions.html#c.PyErr_WarnExplicitObject + PyErr_WarnExplicitObject.registry c-api/exceptions.html#c.PyErr_WarnExplicitObject + PyErr_WarnFormat.category c-api/exceptions.html#c.PyErr_WarnFormat + PyErr_WarnFormat.format c-api/exceptions.html#c.PyErr_WarnFormat + PyErr_WarnFormat.stack_level c-api/exceptions.html#c.PyErr_WarnFormat + PyErr_WriteUnraisable.obj c-api/exceptions.html#c.PyErr_WriteUnraisable + PyEval_AcquireThread.tstate c-api/init.html#c.PyEval_AcquireThread + PyEval_EvalCode.co c-api/veryhigh.html#c.PyEval_EvalCode + PyEval_EvalCode.globals c-api/veryhigh.html#c.PyEval_EvalCode + PyEval_EvalCode.locals c-api/veryhigh.html#c.PyEval_EvalCode + PyEval_EvalCodeEx.argcount c-api/veryhigh.html#c.PyEval_EvalCodeEx + PyEval_EvalCodeEx.args c-api/veryhigh.html#c.PyEval_EvalCodeEx + PyEval_EvalCodeEx.closure c-api/veryhigh.html#c.PyEval_EvalCodeEx + PyEval_EvalCodeEx.co c-api/veryhigh.html#c.PyEval_EvalCodeEx + PyEval_EvalCodeEx.defcount c-api/veryhigh.html#c.PyEval_EvalCodeEx + PyEval_EvalCodeEx.defs c-api/veryhigh.html#c.PyEval_EvalCodeEx + PyEval_EvalCodeEx.globals c-api/veryhigh.html#c.PyEval_EvalCodeEx + PyEval_EvalCodeEx.kwcount c-api/veryhigh.html#c.PyEval_EvalCodeEx + PyEval_EvalCodeEx.kwdefs c-api/veryhigh.html#c.PyEval_EvalCodeEx + PyEval_EvalCodeEx.kws c-api/veryhigh.html#c.PyEval_EvalCodeEx + PyEval_EvalCodeEx.locals c-api/veryhigh.html#c.PyEval_EvalCodeEx + PyEval_EvalFrame.f c-api/veryhigh.html#c.PyEval_EvalFrame + PyEval_EvalFrameEx.f c-api/veryhigh.html#c.PyEval_EvalFrameEx + PyEval_EvalFrameEx.throwflag c-api/veryhigh.html#c.PyEval_EvalFrameEx + PyEval_GetFuncDesc.func c-api/reflection.html#c.PyEval_GetFuncDesc + PyEval_GetFuncName.func c-api/reflection.html#c.PyEval_GetFuncName + PyEval_MergeCompilerFlags.cf c-api/veryhigh.html#c.PyEval_MergeCompilerFlags + PyEval_ReleaseThread.tstate c-api/init.html#c.PyEval_ReleaseThread + PyEval_RestoreThread.tstate c-api/init.html#c.PyEval_RestoreThread + PyEval_SetProfile.func c-api/init.html#c.PyEval_SetProfile + PyEval_SetProfile.obj c-api/init.html#c.PyEval_SetProfile + PyEval_SetTrace.func c-api/init.html#c.PyEval_SetTrace + PyEval_SetTrace.obj c-api/init.html#c.PyEval_SetTrace + PyException_GetCause.ex c-api/exceptions.html#c.PyException_GetCause + PyException_GetContext.ex c-api/exceptions.html#c.PyException_GetContext + PyException_GetTraceback.ex c-api/exceptions.html#c.PyException_GetTraceback + PyException_SetCause.cause c-api/exceptions.html#c.PyException_SetCause + PyException_SetCause.ex c-api/exceptions.html#c.PyException_SetCause + PyException_SetContext.ctx c-api/exceptions.html#c.PyException_SetContext + PyException_SetContext.ex c-api/exceptions.html#c.PyException_SetContext + PyException_SetTraceback.ex c-api/exceptions.html#c.PyException_SetTraceback + PyException_SetTraceback.tb c-api/exceptions.html#c.PyException_SetTraceback + PyFile_FromFd.buffering c-api/file.html#c.PyFile_FromFd + PyFile_FromFd.closefd c-api/file.html#c.PyFile_FromFd + PyFile_FromFd.encoding c-api/file.html#c.PyFile_FromFd + PyFile_FromFd.errors c-api/file.html#c.PyFile_FromFd + PyFile_FromFd.fd c-api/file.html#c.PyFile_FromFd + PyFile_FromFd.mode c-api/file.html#c.PyFile_FromFd + PyFile_FromFd.name c-api/file.html#c.PyFile_FromFd + PyFile_FromFd.newline c-api/file.html#c.PyFile_FromFd + PyFile_GetLine.n c-api/file.html#c.PyFile_GetLine + PyFile_GetLine.p c-api/file.html#c.PyFile_GetLine + PyFile_SetOpenCodeHook.handler c-api/file.html#c.PyFile_SetOpenCodeHook + PyFile_WriteObject.flags c-api/file.html#c.PyFile_WriteObject + PyFile_WriteObject.obj c-api/file.html#c.PyFile_WriteObject + PyFile_WriteObject.p c-api/file.html#c.PyFile_WriteObject + PyFile_WriteString.p c-api/file.html#c.PyFile_WriteString + PyFile_WriteString.s c-api/file.html#c.PyFile_WriteString + PyFloat_AS_DOUBLE.pyfloat c-api/float.html#c.PyFloat_AS_DOUBLE + PyFloat_AsDouble.pyfloat c-api/float.html#c.PyFloat_AsDouble + PyFloat_Check.p c-api/float.html#c.PyFloat_Check + PyFloat_CheckExact.p c-api/float.html#c.PyFloat_CheckExact + PyFloat_FromDouble.v c-api/float.html#c.PyFloat_FromDouble + PyFloat_FromString.str c-api/float.html#c.PyFloat_FromString + PyFrame_GetBack.frame c-api/reflection.html#c.PyFrame_GetBack + PyFrame_GetCode.frame c-api/reflection.html#c.PyFrame_GetCode + PyFrame_GetLineNumber.frame c-api/reflection.html#c.PyFrame_GetLineNumber + PyFrozenSet_Check.p c-api/set.html#c.PyFrozenSet_Check + PyFrozenSet_CheckExact.p c-api/set.html#c.PyFrozenSet_CheckExact + PyFrozenSet_New.iterable c-api/set.html#c.PyFrozenSet_New + PyFunction_Check.o c-api/function.html#c.PyFunction_Check + PyFunction_GetAnnotations.op c-api/function.html#c.PyFunction_GetAnnotations + PyFunction_GetClosure.op c-api/function.html#c.PyFunction_GetClosure + PyFunction_GetCode.op c-api/function.html#c.PyFunction_GetCode + PyFunction_GetDefaults.op c-api/function.html#c.PyFunction_GetDefaults + PyFunction_GetGlobals.op c-api/function.html#c.PyFunction_GetGlobals + PyFunction_GetModule.op c-api/function.html#c.PyFunction_GetModule + PyFunction_New.code c-api/function.html#c.PyFunction_New + PyFunction_New.globals c-api/function.html#c.PyFunction_New + PyFunction_NewWithQualName.code c-api/function.html#c.PyFunction_NewWithQualName + PyFunction_NewWithQualName.globals c-api/function.html#c.PyFunction_NewWithQualName + PyFunction_NewWithQualName.qualname c-api/function.html#c.PyFunction_NewWithQualName + PyFunction_SetAnnotations.annotations c-api/function.html#c.PyFunction_SetAnnotations + PyFunction_SetAnnotations.op c-api/function.html#c.PyFunction_SetAnnotations + PyFunction_SetClosure.closure c-api/function.html#c.PyFunction_SetClosure + PyFunction_SetClosure.op c-api/function.html#c.PyFunction_SetClosure + PyFunction_SetDefaults.defaults c-api/function.html#c.PyFunction_SetDefaults + PyFunction_SetDefaults.op c-api/function.html#c.PyFunction_SetDefaults + PyGen_Check.ob c-api/gen.html#c.PyGen_Check + PyGen_CheckExact.ob c-api/gen.html#c.PyGen_CheckExact + PyGen_New.frame c-api/gen.html#c.PyGen_New + PyGen_NewWithQualName.frame c-api/gen.html#c.PyGen_NewWithQualName + PyGen_NewWithQualName.name c-api/gen.html#c.PyGen_NewWithQualName + PyGen_NewWithQualName.qualname c-api/gen.html#c.PyGen_NewWithQualName + PyImport_AddModule.name c-api/import.html#c.PyImport_AddModule + PyImport_AddModuleObject.name c-api/import.html#c.PyImport_AddModuleObject + PyImport_AppendInittab.initfunc c-api/import.html#c.PyImport_AppendInittab + PyImport_AppendInittab.name c-api/import.html#c.PyImport_AppendInittab + PyImport_ExecCodeModule.co c-api/import.html#c.PyImport_ExecCodeModule + PyImport_ExecCodeModule.name c-api/import.html#c.PyImport_ExecCodeModule + PyImport_ExecCodeModuleEx.co c-api/import.html#c.PyImport_ExecCodeModuleEx + PyImport_ExecCodeModuleEx.name c-api/import.html#c.PyImport_ExecCodeModuleEx + PyImport_ExecCodeModuleEx.pathname c-api/import.html#c.PyImport_ExecCodeModuleEx + PyImport_ExecCodeModuleObject.co c-api/import.html#c.PyImport_ExecCodeModuleObject + PyImport_ExecCodeModuleObject.cpathname c-api/import.html#c.PyImport_ExecCodeModuleObject + PyImport_ExecCodeModuleObject.name c-api/import.html#c.PyImport_ExecCodeModuleObject + PyImport_ExecCodeModuleObject.pathname c-api/import.html#c.PyImport_ExecCodeModuleObject + PyImport_ExecCodeModuleWithPathnames.co c-api/import.html#c.PyImport_ExecCodeModuleWithPathnames + PyImport_ExecCodeModuleWithPathnames.cpathname c-api/import.html#c.PyImport_ExecCodeModuleWithPathnames + PyImport_ExecCodeModuleWithPathnames.name c-api/import.html#c.PyImport_ExecCodeModuleWithPathnames + PyImport_ExecCodeModuleWithPathnames.pathname c-api/import.html#c.PyImport_ExecCodeModuleWithPathnames + PyImport_ExtendInittab.newtab c-api/import.html#c.PyImport_ExtendInittab + PyImport_GetImporter.path c-api/import.html#c.PyImport_GetImporter + PyImport_GetModule.name c-api/import.html#c.PyImport_GetModule + PyImport_Import.name c-api/import.html#c.PyImport_Import + PyImport_ImportFrozenModule.name c-api/import.html#c.PyImport_ImportFrozenModule + PyImport_ImportFrozenModuleObject.name c-api/import.html#c.PyImport_ImportFrozenModuleObject + PyImport_ImportModule.name c-api/import.html#c.PyImport_ImportModule + PyImport_ImportModuleEx.fromlist c-api/import.html#c.PyImport_ImportModuleEx + PyImport_ImportModuleEx.globals c-api/import.html#c.PyImport_ImportModuleEx + PyImport_ImportModuleEx.locals c-api/import.html#c.PyImport_ImportModuleEx + PyImport_ImportModuleEx.name c-api/import.html#c.PyImport_ImportModuleEx + PyImport_ImportModuleLevel.fromlist c-api/import.html#c.PyImport_ImportModuleLevel + PyImport_ImportModuleLevel.globals c-api/import.html#c.PyImport_ImportModuleLevel + PyImport_ImportModuleLevel.level c-api/import.html#c.PyImport_ImportModuleLevel + PyImport_ImportModuleLevel.locals c-api/import.html#c.PyImport_ImportModuleLevel + PyImport_ImportModuleLevel.name c-api/import.html#c.PyImport_ImportModuleLevel + PyImport_ImportModuleLevelObject.fromlist c-api/import.html#c.PyImport_ImportModuleLevelObject + PyImport_ImportModuleLevelObject.globals c-api/import.html#c.PyImport_ImportModuleLevelObject + PyImport_ImportModuleLevelObject.level c-api/import.html#c.PyImport_ImportModuleLevelObject + PyImport_ImportModuleLevelObject.locals c-api/import.html#c.PyImport_ImportModuleLevelObject + PyImport_ImportModuleLevelObject.name c-api/import.html#c.PyImport_ImportModuleLevelObject + PyImport_ImportModuleNoBlock.name c-api/import.html#c.PyImport_ImportModuleNoBlock + PyImport_ReloadModule.m c-api/import.html#c.PyImport_ReloadModule + PyIndex_Check.o c-api/number.html#c.PyIndex_Check + PyInstanceMethod_Check.o c-api/method.html#c.PyInstanceMethod_Check + PyInstanceMethod_Function.im c-api/method.html#c.PyInstanceMethod_Function + PyInstanceMethod_GET_FUNCTION.im c-api/method.html#c.PyInstanceMethod_GET_FUNCTION + PyInstanceMethod_New.func c-api/method.html#c.PyInstanceMethod_New + PyInterpreterState_Clear.interp c-api/init.html#c.PyInterpreterState_Clear + PyInterpreterState_Delete.interp c-api/init.html#c.PyInterpreterState_Delete + PyInterpreterState_GetDict.interp c-api/init.html#c.PyInterpreterState_GetDict + PyInterpreterState_GetID.interp c-api/init.html#c.PyInterpreterState_GetID + PyInterpreterState_Next.interp c-api/init.html#c.PyInterpreterState_Next + PyInterpreterState_ThreadHead.interp c-api/init.html#c.PyInterpreterState_ThreadHead + PyIter_Check.o c-api/iter.html#c.PyIter_Check + PyIter_Next.o c-api/iter.html#c.PyIter_Next + PyIter_Send.arg c-api/iter.html#c.PyIter_Send + PyIter_Send.iter c-api/iter.html#c.PyIter_Send + PyIter_Send.presult c-api/iter.html#c.PyIter_Send + PyList_Append.item c-api/list.html#c.PyList_Append + PyList_Append.list c-api/list.html#c.PyList_Append + PyList_AsTuple.list c-api/list.html#c.PyList_AsTuple + PyList_Check.p c-api/list.html#c.PyList_Check + PyList_CheckExact.p c-api/list.html#c.PyList_CheckExact + PyList_GET_ITEM.i c-api/list.html#c.PyList_GET_ITEM + PyList_GET_ITEM.list c-api/list.html#c.PyList_GET_ITEM + PyList_GET_SIZE.list c-api/list.html#c.PyList_GET_SIZE + PyList_GetItem.index c-api/list.html#c.PyList_GetItem + PyList_GetItem.list c-api/list.html#c.PyList_GetItem + PyList_GetSlice.high c-api/list.html#c.PyList_GetSlice + PyList_GetSlice.list c-api/list.html#c.PyList_GetSlice + PyList_GetSlice.low c-api/list.html#c.PyList_GetSlice + PyList_Insert.index c-api/list.html#c.PyList_Insert + PyList_Insert.item c-api/list.html#c.PyList_Insert + PyList_Insert.list c-api/list.html#c.PyList_Insert + PyList_New.len c-api/list.html#c.PyList_New + PyList_Reverse.list c-api/list.html#c.PyList_Reverse + PyList_SET_ITEM.i c-api/list.html#c.PyList_SET_ITEM + PyList_SET_ITEM.list c-api/list.html#c.PyList_SET_ITEM + PyList_SET_ITEM.o c-api/list.html#c.PyList_SET_ITEM + PyList_SetItem.index c-api/list.html#c.PyList_SetItem + PyList_SetItem.item c-api/list.html#c.PyList_SetItem + PyList_SetItem.list c-api/list.html#c.PyList_SetItem + PyList_SetSlice.high c-api/list.html#c.PyList_SetSlice + PyList_SetSlice.itemlist c-api/list.html#c.PyList_SetSlice + PyList_SetSlice.list c-api/list.html#c.PyList_SetSlice + PyList_SetSlice.low c-api/list.html#c.PyList_SetSlice + PyList_Size.list c-api/list.html#c.PyList_Size + PyList_Sort.list c-api/list.html#c.PyList_Sort + PyLong_AsDouble.pylong c-api/long.html#c.PyLong_AsDouble + PyLong_AsLong.obj c-api/long.html#c.PyLong_AsLong + PyLong_AsLongAndOverflow.obj c-api/long.html#c.PyLong_AsLongAndOverflow + PyLong_AsLongAndOverflow.overflow c-api/long.html#c.PyLong_AsLongAndOverflow + PyLong_AsLongLong.obj c-api/long.html#c.PyLong_AsLongLong + PyLong_AsLongLongAndOverflow.obj c-api/long.html#c.PyLong_AsLongLongAndOverflow + PyLong_AsLongLongAndOverflow.overflow c-api/long.html#c.PyLong_AsLongLongAndOverflow + PyLong_AsSize_t.pylong c-api/long.html#c.PyLong_AsSize_t + PyLong_AsSsize_t.pylong c-api/long.html#c.PyLong_AsSsize_t + PyLong_AsUnsignedLong.pylong c-api/long.html#c.PyLong_AsUnsignedLong + PyLong_AsUnsignedLongLong.pylong c-api/long.html#c.PyLong_AsUnsignedLongLong + PyLong_AsUnsignedLongLongMask.obj c-api/long.html#c.PyLong_AsUnsignedLongLongMask + PyLong_AsUnsignedLongMask.obj c-api/long.html#c.PyLong_AsUnsignedLongMask + PyLong_AsVoidPtr.pylong c-api/long.html#c.PyLong_AsVoidPtr + PyLong_Check.p c-api/long.html#c.PyLong_Check + PyLong_CheckExact.p c-api/long.html#c.PyLong_CheckExact + PyLong_FromDouble.v c-api/long.html#c.PyLong_FromDouble + PyLong_FromLong.v c-api/long.html#c.PyLong_FromLong + PyLong_FromLongLong.v c-api/long.html#c.PyLong_FromLongLong + PyLong_FromSize_t.v c-api/long.html#c.PyLong_FromSize_t + PyLong_FromSsize_t.v c-api/long.html#c.PyLong_FromSsize_t + PyLong_FromString.base c-api/long.html#c.PyLong_FromString + PyLong_FromString.pend c-api/long.html#c.PyLong_FromString + PyLong_FromString.str c-api/long.html#c.PyLong_FromString + PyLong_FromUnicodeObject.base c-api/long.html#c.PyLong_FromUnicodeObject + PyLong_FromUnicodeObject.u c-api/long.html#c.PyLong_FromUnicodeObject + PyLong_FromUnsignedLong.v c-api/long.html#c.PyLong_FromUnsignedLong + PyLong_FromUnsignedLongLong.v c-api/long.html#c.PyLong_FromUnsignedLongLong + PyLong_FromVoidPtr.p c-api/long.html#c.PyLong_FromVoidPtr + PyMapping_Check.o c-api/mapping.html#c.PyMapping_Check + PyMapping_DelItem.key c-api/mapping.html#c.PyMapping_DelItem + PyMapping_DelItem.o c-api/mapping.html#c.PyMapping_DelItem + PyMapping_DelItemString.key c-api/mapping.html#c.PyMapping_DelItemString + PyMapping_DelItemString.o c-api/mapping.html#c.PyMapping_DelItemString + PyMapping_GetItemString.key c-api/mapping.html#c.PyMapping_GetItemString + PyMapping_GetItemString.o c-api/mapping.html#c.PyMapping_GetItemString + PyMapping_HasKey.key c-api/mapping.html#c.PyMapping_HasKey + PyMapping_HasKey.o c-api/mapping.html#c.PyMapping_HasKey + PyMapping_HasKeyString.key c-api/mapping.html#c.PyMapping_HasKeyString + PyMapping_HasKeyString.o c-api/mapping.html#c.PyMapping_HasKeyString + PyMapping_Items.o c-api/mapping.html#c.PyMapping_Items + PyMapping_Keys.o c-api/mapping.html#c.PyMapping_Keys + PyMapping_Length.o c-api/mapping.html#c.PyMapping_Length + PyMapping_SetItemString.key c-api/mapping.html#c.PyMapping_SetItemString + PyMapping_SetItemString.o c-api/mapping.html#c.PyMapping_SetItemString + PyMapping_SetItemString.v c-api/mapping.html#c.PyMapping_SetItemString + PyMapping_Size.o c-api/mapping.html#c.PyMapping_Size + PyMapping_Values.o c-api/mapping.html#c.PyMapping_Values + PyMarshal_ReadLastObjectFromFile.file c-api/marshal.html#c.PyMarshal_ReadLastObjectFromFile + PyMarshal_ReadLongFromFile.file c-api/marshal.html#c.PyMarshal_ReadLongFromFile + PyMarshal_ReadObjectFromFile.file c-api/marshal.html#c.PyMarshal_ReadObjectFromFile + PyMarshal_ReadObjectFromString.data c-api/marshal.html#c.PyMarshal_ReadObjectFromString + PyMarshal_ReadObjectFromString.len c-api/marshal.html#c.PyMarshal_ReadObjectFromString + PyMarshal_ReadShortFromFile.file c-api/marshal.html#c.PyMarshal_ReadShortFromFile + PyMarshal_WriteLongToFile.file c-api/marshal.html#c.PyMarshal_WriteLongToFile + PyMarshal_WriteLongToFile.value c-api/marshal.html#c.PyMarshal_WriteLongToFile + PyMarshal_WriteLongToFile.version c-api/marshal.html#c.PyMarshal_WriteLongToFile + PyMarshal_WriteObjectToFile.file c-api/marshal.html#c.PyMarshal_WriteObjectToFile + PyMarshal_WriteObjectToFile.value c-api/marshal.html#c.PyMarshal_WriteObjectToFile + PyMarshal_WriteObjectToFile.version c-api/marshal.html#c.PyMarshal_WriteObjectToFile + PyMarshal_WriteObjectToString.value c-api/marshal.html#c.PyMarshal_WriteObjectToString + PyMarshal_WriteObjectToString.version c-api/marshal.html#c.PyMarshal_WriteObjectToString + PyMem_Calloc.elsize c-api/memory.html#c.PyMem_Calloc + PyMem_Calloc.nelem c-api/memory.html#c.PyMem_Calloc + PyMem_Del.p c-api/memory.html#c.PyMem_Del + PyMem_Free.p c-api/memory.html#c.PyMem_Free + PyMem_GetAllocator.allocator c-api/memory.html#c.PyMem_GetAllocator + PyMem_GetAllocator.domain c-api/memory.html#c.PyMem_GetAllocator + PyMem_Malloc.n c-api/memory.html#c.PyMem_Malloc + PyMem_New.n c-api/memory.html#c.PyMem_New + PyMem_RawCalloc.elsize c-api/memory.html#c.PyMem_RawCalloc + PyMem_RawCalloc.nelem c-api/memory.html#c.PyMem_RawCalloc + PyMem_RawFree.p c-api/memory.html#c.PyMem_RawFree + PyMem_RawMalloc.n c-api/memory.html#c.PyMem_RawMalloc + PyMem_RawRealloc.n c-api/memory.html#c.PyMem_RawRealloc + PyMem_RawRealloc.p c-api/memory.html#c.PyMem_RawRealloc + PyMem_Realloc.n c-api/memory.html#c.PyMem_Realloc + PyMem_Realloc.p c-api/memory.html#c.PyMem_Realloc + PyMem_Resize.n c-api/memory.html#c.PyMem_Resize + PyMem_Resize.p c-api/memory.html#c.PyMem_Resize + PyMem_SetAllocator.allocator c-api/memory.html#c.PyMem_SetAllocator + PyMem_SetAllocator.domain c-api/memory.html#c.PyMem_SetAllocator + PyMember_GetOne.m c-api/structures.html#c.PyMember_GetOne + PyMember_GetOne.obj_addr c-api/structures.html#c.PyMember_GetOne + PyMember_SetOne.m c-api/structures.html#c.PyMember_SetOne + PyMember_SetOne.o c-api/structures.html#c.PyMember_SetOne + PyMember_SetOne.obj_addr c-api/structures.html#c.PyMember_SetOne + PyMemoryView_Check.obj c-api/memoryview.html#c.PyMemoryView_Check + PyMemoryView_FromBuffer.view c-api/memoryview.html#c.PyMemoryView_FromBuffer + PyMemoryView_FromMemory.flags c-api/memoryview.html#c.PyMemoryView_FromMemory + PyMemoryView_FromMemory.mem c-api/memoryview.html#c.PyMemoryView_FromMemory + PyMemoryView_FromMemory.size c-api/memoryview.html#c.PyMemoryView_FromMemory + PyMemoryView_FromObject.obj c-api/memoryview.html#c.PyMemoryView_FromObject + PyMemoryView_GET_BASE.mview c-api/memoryview.html#c.PyMemoryView_GET_BASE + PyMemoryView_GET_BUFFER.mview c-api/memoryview.html#c.PyMemoryView_GET_BUFFER + PyMemoryView_GetContiguous.buffertype c-api/memoryview.html#c.PyMemoryView_GetContiguous + PyMemoryView_GetContiguous.obj c-api/memoryview.html#c.PyMemoryView_GetContiguous + PyMemoryView_GetContiguous.order c-api/memoryview.html#c.PyMemoryView_GetContiguous + PyMethod_Check.o c-api/method.html#c.PyMethod_Check + PyMethod_Function.meth c-api/method.html#c.PyMethod_Function + PyMethod_GET_FUNCTION.meth c-api/method.html#c.PyMethod_GET_FUNCTION + PyMethod_GET_SELF.meth c-api/method.html#c.PyMethod_GET_SELF + PyMethod_New.func c-api/method.html#c.PyMethod_New + PyMethod_New.self c-api/method.html#c.PyMethod_New + PyMethod_Self.meth c-api/method.html#c.PyMethod_Self + PyModuleDef_Init.def c-api/module.html#c.PyModuleDef_Init + PyModule_AddFunctions.functions c-api/module.html#c.PyModule_AddFunctions + PyModule_AddFunctions.module c-api/module.html#c.PyModule_AddFunctions + PyModule_AddIntConstant.module c-api/module.html#c.PyModule_AddIntConstant + PyModule_AddIntConstant.name c-api/module.html#c.PyModule_AddIntConstant + PyModule_AddIntConstant.value c-api/module.html#c.PyModule_AddIntConstant + PyModule_AddIntMacro.module c-api/module.html#c.PyModule_AddIntMacro + PyModule_AddObject.module c-api/module.html#c.PyModule_AddObject + PyModule_AddObject.name c-api/module.html#c.PyModule_AddObject + PyModule_AddObject.value c-api/module.html#c.PyModule_AddObject + PyModule_AddObjectRef.module c-api/module.html#c.PyModule_AddObjectRef + PyModule_AddObjectRef.name c-api/module.html#c.PyModule_AddObjectRef + PyModule_AddObjectRef.value c-api/module.html#c.PyModule_AddObjectRef + PyModule_AddStringConstant.module c-api/module.html#c.PyModule_AddStringConstant + PyModule_AddStringConstant.name c-api/module.html#c.PyModule_AddStringConstant + PyModule_AddStringConstant.value c-api/module.html#c.PyModule_AddStringConstant + PyModule_AddStringMacro.module c-api/module.html#c.PyModule_AddStringMacro + PyModule_AddType.module c-api/module.html#c.PyModule_AddType + PyModule_AddType.type c-api/module.html#c.PyModule_AddType + PyModule_Check.p c-api/module.html#c.PyModule_Check + PyModule_CheckExact.p c-api/module.html#c.PyModule_CheckExact + PyModule_Create.def c-api/module.html#c.PyModule_Create + PyModule_Create2.def c-api/module.html#c.PyModule_Create2 + PyModule_Create2.module_api_version c-api/module.html#c.PyModule_Create2 + PyModule_ExecDef.def c-api/module.html#c.PyModule_ExecDef + PyModule_ExecDef.module c-api/module.html#c.PyModule_ExecDef + PyModule_FromDefAndSpec.def c-api/module.html#c.PyModule_FromDefAndSpec + PyModule_FromDefAndSpec.spec c-api/module.html#c.PyModule_FromDefAndSpec + PyModule_FromDefAndSpec2.def c-api/module.html#c.PyModule_FromDefAndSpec2 + PyModule_FromDefAndSpec2.module_api_version c-api/module.html#c.PyModule_FromDefAndSpec2 + PyModule_FromDefAndSpec2.spec c-api/module.html#c.PyModule_FromDefAndSpec2 + PyModule_GetDef.module c-api/module.html#c.PyModule_GetDef + PyModule_GetDict.module c-api/module.html#c.PyModule_GetDict + PyModule_GetFilename.module c-api/module.html#c.PyModule_GetFilename + PyModule_GetFilenameObject.module c-api/module.html#c.PyModule_GetFilenameObject + PyModule_GetName.module c-api/module.html#c.PyModule_GetName + PyModule_GetNameObject.module c-api/module.html#c.PyModule_GetNameObject + PyModule_GetState.module c-api/module.html#c.PyModule_GetState + PyModule_New.name c-api/module.html#c.PyModule_New + PyModule_NewObject.name c-api/module.html#c.PyModule_NewObject + PyModule_SetDocString.docstring c-api/module.html#c.PyModule_SetDocString + PyModule_SetDocString.module c-api/module.html#c.PyModule_SetDocString + PyNumber_Absolute.o c-api/number.html#c.PyNumber_Absolute + PyNumber_Add.o1 c-api/number.html#c.PyNumber_Add + PyNumber_Add.o2 c-api/number.html#c.PyNumber_Add + PyNumber_And.o1 c-api/number.html#c.PyNumber_And + PyNumber_And.o2 c-api/number.html#c.PyNumber_And + PyNumber_AsSsize_t.exc c-api/number.html#c.PyNumber_AsSsize_t + PyNumber_AsSsize_t.o c-api/number.html#c.PyNumber_AsSsize_t + PyNumber_Check.o c-api/number.html#c.PyNumber_Check + PyNumber_Divmod.o1 c-api/number.html#c.PyNumber_Divmod + PyNumber_Divmod.o2 c-api/number.html#c.PyNumber_Divmod + PyNumber_Float.o c-api/number.html#c.PyNumber_Float + PyNumber_FloorDivide.o1 c-api/number.html#c.PyNumber_FloorDivide + PyNumber_FloorDivide.o2 c-api/number.html#c.PyNumber_FloorDivide + PyNumber_InPlaceAdd.o1 c-api/number.html#c.PyNumber_InPlaceAdd + PyNumber_InPlaceAdd.o2 c-api/number.html#c.PyNumber_InPlaceAdd + PyNumber_InPlaceAnd.o1 c-api/number.html#c.PyNumber_InPlaceAnd + PyNumber_InPlaceAnd.o2 c-api/number.html#c.PyNumber_InPlaceAnd + PyNumber_InPlaceFloorDivide.o1 c-api/number.html#c.PyNumber_InPlaceFloorDivide + PyNumber_InPlaceFloorDivide.o2 c-api/number.html#c.PyNumber_InPlaceFloorDivide + PyNumber_InPlaceLshift.o1 c-api/number.html#c.PyNumber_InPlaceLshift + PyNumber_InPlaceLshift.o2 c-api/number.html#c.PyNumber_InPlaceLshift + PyNumber_InPlaceMatrixMultiply.o1 c-api/number.html#c.PyNumber_InPlaceMatrixMultiply + PyNumber_InPlaceMatrixMultiply.o2 c-api/number.html#c.PyNumber_InPlaceMatrixMultiply + PyNumber_InPlaceMultiply.o1 c-api/number.html#c.PyNumber_InPlaceMultiply + PyNumber_InPlaceMultiply.o2 c-api/number.html#c.PyNumber_InPlaceMultiply + PyNumber_InPlaceOr.o1 c-api/number.html#c.PyNumber_InPlaceOr + PyNumber_InPlaceOr.o2 c-api/number.html#c.PyNumber_InPlaceOr + PyNumber_InPlacePower.o1 c-api/number.html#c.PyNumber_InPlacePower + PyNumber_InPlacePower.o2 c-api/number.html#c.PyNumber_InPlacePower + PyNumber_InPlacePower.o3 c-api/number.html#c.PyNumber_InPlacePower + PyNumber_InPlaceRemainder.o1 c-api/number.html#c.PyNumber_InPlaceRemainder + PyNumber_InPlaceRemainder.o2 c-api/number.html#c.PyNumber_InPlaceRemainder + PyNumber_InPlaceRshift.o1 c-api/number.html#c.PyNumber_InPlaceRshift + PyNumber_InPlaceRshift.o2 c-api/number.html#c.PyNumber_InPlaceRshift + PyNumber_InPlaceSubtract.o1 c-api/number.html#c.PyNumber_InPlaceSubtract + PyNumber_InPlaceSubtract.o2 c-api/number.html#c.PyNumber_InPlaceSubtract + PyNumber_InPlaceTrueDivide.o1 c-api/number.html#c.PyNumber_InPlaceTrueDivide + PyNumber_InPlaceTrueDivide.o2 c-api/number.html#c.PyNumber_InPlaceTrueDivide + PyNumber_InPlaceXor.o1 c-api/number.html#c.PyNumber_InPlaceXor + PyNumber_InPlaceXor.o2 c-api/number.html#c.PyNumber_InPlaceXor + PyNumber_Index.o c-api/number.html#c.PyNumber_Index + PyNumber_Invert.o c-api/number.html#c.PyNumber_Invert + PyNumber_Long.o c-api/number.html#c.PyNumber_Long + PyNumber_Lshift.o1 c-api/number.html#c.PyNumber_Lshift + PyNumber_Lshift.o2 c-api/number.html#c.PyNumber_Lshift + PyNumber_MatrixMultiply.o1 c-api/number.html#c.PyNumber_MatrixMultiply + PyNumber_MatrixMultiply.o2 c-api/number.html#c.PyNumber_MatrixMultiply + PyNumber_Multiply.o1 c-api/number.html#c.PyNumber_Multiply + PyNumber_Multiply.o2 c-api/number.html#c.PyNumber_Multiply + PyNumber_Negative.o c-api/number.html#c.PyNumber_Negative + PyNumber_Or.o1 c-api/number.html#c.PyNumber_Or + PyNumber_Or.o2 c-api/number.html#c.PyNumber_Or + PyNumber_Positive.o c-api/number.html#c.PyNumber_Positive + PyNumber_Power.o1 c-api/number.html#c.PyNumber_Power + PyNumber_Power.o2 c-api/number.html#c.PyNumber_Power + PyNumber_Power.o3 c-api/number.html#c.PyNumber_Power + PyNumber_Remainder.o1 c-api/number.html#c.PyNumber_Remainder + PyNumber_Remainder.o2 c-api/number.html#c.PyNumber_Remainder + PyNumber_Rshift.o1 c-api/number.html#c.PyNumber_Rshift + PyNumber_Rshift.o2 c-api/number.html#c.PyNumber_Rshift + PyNumber_Subtract.o1 c-api/number.html#c.PyNumber_Subtract + PyNumber_Subtract.o2 c-api/number.html#c.PyNumber_Subtract + PyNumber_ToBase.base c-api/number.html#c.PyNumber_ToBase + PyNumber_ToBase.n c-api/number.html#c.PyNumber_ToBase + PyNumber_TrueDivide.o1 c-api/number.html#c.PyNumber_TrueDivide + PyNumber_TrueDivide.o2 c-api/number.html#c.PyNumber_TrueDivide + PyNumber_Xor.o1 c-api/number.html#c.PyNumber_Xor + PyNumber_Xor.o2 c-api/number.html#c.PyNumber_Xor + PyOS_FSPath.path c-api/sys.html#c.PyOS_FSPath + PyOS_double_to_string.flags c-api/conversion.html#c.PyOS_double_to_string + PyOS_double_to_string.format_code c-api/conversion.html#c.PyOS_double_to_string + PyOS_double_to_string.precision c-api/conversion.html#c.PyOS_double_to_string + PyOS_double_to_string.ptype c-api/conversion.html#c.PyOS_double_to_string + PyOS_double_to_string.val c-api/conversion.html#c.PyOS_double_to_string + PyOS_getsig.i c-api/sys.html#c.PyOS_getsig + PyOS_setsig.h c-api/sys.html#c.PyOS_setsig + PyOS_setsig.i c-api/sys.html#c.PyOS_setsig + PyOS_snprintf.format c-api/conversion.html#c.PyOS_snprintf + PyOS_snprintf.size c-api/conversion.html#c.PyOS_snprintf + PyOS_snprintf.str c-api/conversion.html#c.PyOS_snprintf + PyOS_stricmp.s1 c-api/conversion.html#c.PyOS_stricmp + PyOS_stricmp.s2 c-api/conversion.html#c.PyOS_stricmp + PyOS_string_to_double.endptr c-api/conversion.html#c.PyOS_string_to_double + PyOS_string_to_double.overflow_exception c-api/conversion.html#c.PyOS_string_to_double + PyOS_string_to_double.s c-api/conversion.html#c.PyOS_string_to_double + PyOS_strnicmp.s1 c-api/conversion.html#c.PyOS_strnicmp + PyOS_strnicmp.s2 c-api/conversion.html#c.PyOS_strnicmp + PyOS_strnicmp.size c-api/conversion.html#c.PyOS_strnicmp + PyOS_vsnprintf.format c-api/conversion.html#c.PyOS_vsnprintf + PyOS_vsnprintf.size c-api/conversion.html#c.PyOS_vsnprintf + PyOS_vsnprintf.str c-api/conversion.html#c.PyOS_vsnprintf + PyOS_vsnprintf.va c-api/conversion.html#c.PyOS_vsnprintf + PyObject_ASCII.o c-api/object.html#c.PyObject_ASCII + PyObject_AsCharBuffer.buffer c-api/objbuffer.html#c.PyObject_AsCharBuffer + PyObject_AsCharBuffer.buffer_len c-api/objbuffer.html#c.PyObject_AsCharBuffer + PyObject_AsCharBuffer.obj c-api/objbuffer.html#c.PyObject_AsCharBuffer + PyObject_AsFileDescriptor.p c-api/file.html#c.PyObject_AsFileDescriptor + PyObject_AsReadBuffer.buffer c-api/objbuffer.html#c.PyObject_AsReadBuffer + PyObject_AsReadBuffer.buffer_len c-api/objbuffer.html#c.PyObject_AsReadBuffer + PyObject_AsReadBuffer.obj c-api/objbuffer.html#c.PyObject_AsReadBuffer + PyObject_AsWriteBuffer.buffer c-api/objbuffer.html#c.PyObject_AsWriteBuffer + PyObject_AsWriteBuffer.buffer_len c-api/objbuffer.html#c.PyObject_AsWriteBuffer + PyObject_AsWriteBuffer.obj c-api/objbuffer.html#c.PyObject_AsWriteBuffer + PyObject_Bytes.o c-api/object.html#c.PyObject_Bytes + PyObject_Call.args c-api/call.html#c.PyObject_Call + PyObject_Call.callable c-api/call.html#c.PyObject_Call + PyObject_Call.kwargs c-api/call.html#c.PyObject_Call + PyObject_CallFunction.callable c-api/call.html#c.PyObject_CallFunction + PyObject_CallFunction.format c-api/call.html#c.PyObject_CallFunction + PyObject_CallFunctionObjArgs.callable c-api/call.html#c.PyObject_CallFunctionObjArgs + PyObject_CallMethod.format c-api/call.html#c.PyObject_CallMethod + PyObject_CallMethod.name c-api/call.html#c.PyObject_CallMethod + PyObject_CallMethod.obj c-api/call.html#c.PyObject_CallMethod + PyObject_CallMethodNoArgs.name c-api/call.html#c.PyObject_CallMethodNoArgs + PyObject_CallMethodNoArgs.obj c-api/call.html#c.PyObject_CallMethodNoArgs + PyObject_CallMethodObjArgs.name c-api/call.html#c.PyObject_CallMethodObjArgs + PyObject_CallMethodObjArgs.obj c-api/call.html#c.PyObject_CallMethodObjArgs + PyObject_CallMethodOneArg.arg c-api/call.html#c.PyObject_CallMethodOneArg + PyObject_CallMethodOneArg.name c-api/call.html#c.PyObject_CallMethodOneArg + PyObject_CallMethodOneArg.obj c-api/call.html#c.PyObject_CallMethodOneArg + PyObject_CallNoArgs.callable c-api/call.html#c.PyObject_CallNoArgs + PyObject_CallObject.args c-api/call.html#c.PyObject_CallObject + PyObject_CallObject.callable c-api/call.html#c.PyObject_CallObject + PyObject_CallOneArg.arg c-api/call.html#c.PyObject_CallOneArg + PyObject_CallOneArg.callable c-api/call.html#c.PyObject_CallOneArg + PyObject_Calloc.elsize c-api/memory.html#c.PyObject_Calloc + PyObject_Calloc.nelem c-api/memory.html#c.PyObject_Calloc + PyObject_CheckBuffer.obj c-api/buffer.html#c.PyObject_CheckBuffer + PyObject_CheckReadBuffer.o c-api/objbuffer.html#c.PyObject_CheckReadBuffer + PyObject_Del.op c-api/allocation.html#c.PyObject_Del + PyObject_DelAttr.attr_name c-api/object.html#c.PyObject_DelAttr + PyObject_DelAttr.o c-api/object.html#c.PyObject_DelAttr + PyObject_DelAttrString.attr_name c-api/object.html#c.PyObject_DelAttrString + PyObject_DelAttrString.o c-api/object.html#c.PyObject_DelAttrString + PyObject_DelItem.key c-api/object.html#c.PyObject_DelItem + PyObject_DelItem.o c-api/object.html#c.PyObject_DelItem + PyObject_Dir.o c-api/object.html#c.PyObject_Dir + PyObject_Free.p c-api/memory.html#c.PyObject_Free + PyObject_GC_Del.op c-api/gcsupport.html#c.PyObject_GC_Del + PyObject_GC_IsFinalized.op c-api/gcsupport.html#c.PyObject_GC_IsFinalized + PyObject_GC_IsTracked.op c-api/gcsupport.html#c.PyObject_GC_IsTracked + PyObject_GC_New.type c-api/gcsupport.html#c.PyObject_GC_New + PyObject_GC_NewVar.size c-api/gcsupport.html#c.PyObject_GC_NewVar + PyObject_GC_NewVar.type c-api/gcsupport.html#c.PyObject_GC_NewVar + PyObject_GC_Resize.newsize c-api/gcsupport.html#c.PyObject_GC_Resize + PyObject_GC_Resize.op c-api/gcsupport.html#c.PyObject_GC_Resize + PyObject_GC_Track.op c-api/gcsupport.html#c.PyObject_GC_Track + PyObject_GC_UnTrack.op c-api/gcsupport.html#c.PyObject_GC_UnTrack + PyObject_GenericGetAttr.name c-api/object.html#c.PyObject_GenericGetAttr + PyObject_GenericGetAttr.o c-api/object.html#c.PyObject_GenericGetAttr + PyObject_GenericGetDict.context c-api/object.html#c.PyObject_GenericGetDict + PyObject_GenericGetDict.o c-api/object.html#c.PyObject_GenericGetDict + PyObject_GenericSetAttr.name c-api/object.html#c.PyObject_GenericSetAttr + PyObject_GenericSetAttr.o c-api/object.html#c.PyObject_GenericSetAttr + PyObject_GenericSetAttr.value c-api/object.html#c.PyObject_GenericSetAttr + PyObject_GenericSetDict.context c-api/object.html#c.PyObject_GenericSetDict + PyObject_GenericSetDict.o c-api/object.html#c.PyObject_GenericSetDict + PyObject_GenericSetDict.value c-api/object.html#c.PyObject_GenericSetDict + PyObject_GetAIter.o c-api/object.html#c.PyObject_GetAIter + PyObject_GetArenaAllocator.allocator c-api/memory.html#c.PyObject_GetArenaAllocator + PyObject_GetAttr.attr_name c-api/object.html#c.PyObject_GetAttr + PyObject_GetAttr.o c-api/object.html#c.PyObject_GetAttr + PyObject_GetAttrString.attr_name c-api/object.html#c.PyObject_GetAttrString + PyObject_GetAttrString.o c-api/object.html#c.PyObject_GetAttrString + PyObject_GetBuffer.exporter c-api/buffer.html#c.PyObject_GetBuffer + PyObject_GetBuffer.flags c-api/buffer.html#c.PyObject_GetBuffer + PyObject_GetBuffer.view c-api/buffer.html#c.PyObject_GetBuffer + PyObject_GetItem.key c-api/object.html#c.PyObject_GetItem + PyObject_GetItem.o c-api/object.html#c.PyObject_GetItem + PyObject_GetIter.o c-api/object.html#c.PyObject_GetIter + PyObject_HasAttr.attr_name c-api/object.html#c.PyObject_HasAttr + PyObject_HasAttr.o c-api/object.html#c.PyObject_HasAttr + PyObject_HasAttrString.attr_name c-api/object.html#c.PyObject_HasAttrString + PyObject_HasAttrString.o c-api/object.html#c.PyObject_HasAttrString + PyObject_Hash.o c-api/object.html#c.PyObject_Hash + PyObject_HashNotImplemented.o c-api/object.html#c.PyObject_HashNotImplemented + PyObject_IS_GC.obj c-api/gcsupport.html#c.PyObject_IS_GC + PyObject_Init.op c-api/allocation.html#c.PyObject_Init + PyObject_Init.type c-api/allocation.html#c.PyObject_Init + PyObject_InitVar.op c-api/allocation.html#c.PyObject_InitVar + PyObject_InitVar.size c-api/allocation.html#c.PyObject_InitVar + PyObject_InitVar.type c-api/allocation.html#c.PyObject_InitVar + PyObject_IsInstance.cls c-api/object.html#c.PyObject_IsInstance + PyObject_IsInstance.inst c-api/object.html#c.PyObject_IsInstance + PyObject_IsSubclass.cls c-api/object.html#c.PyObject_IsSubclass + PyObject_IsSubclass.derived c-api/object.html#c.PyObject_IsSubclass + PyObject_IsTrue.o c-api/object.html#c.PyObject_IsTrue + PyObject_Length.o c-api/object.html#c.PyObject_Length + PyObject_LengthHint.defaultvalue c-api/object.html#c.PyObject_LengthHint + PyObject_LengthHint.o c-api/object.html#c.PyObject_LengthHint + PyObject_Malloc.n c-api/memory.html#c.PyObject_Malloc + PyObject_New.type c-api/allocation.html#c.PyObject_New + PyObject_NewVar.size c-api/allocation.html#c.PyObject_NewVar + PyObject_NewVar.type c-api/allocation.html#c.PyObject_NewVar + PyObject_Not.o c-api/object.html#c.PyObject_Not + PyObject_Print.flags c-api/object.html#c.PyObject_Print + PyObject_Print.fp c-api/object.html#c.PyObject_Print + PyObject_Print.o c-api/object.html#c.PyObject_Print + PyObject_Realloc.n c-api/memory.html#c.PyObject_Realloc + PyObject_Realloc.p c-api/memory.html#c.PyObject_Realloc + PyObject_Repr.o c-api/object.html#c.PyObject_Repr + PyObject_RichCompare.o1 c-api/object.html#c.PyObject_RichCompare + PyObject_RichCompare.o2 c-api/object.html#c.PyObject_RichCompare + PyObject_RichCompare.opid c-api/object.html#c.PyObject_RichCompare + PyObject_RichCompareBool.o1 c-api/object.html#c.PyObject_RichCompareBool + PyObject_RichCompareBool.o2 c-api/object.html#c.PyObject_RichCompareBool + PyObject_RichCompareBool.opid c-api/object.html#c.PyObject_RichCompareBool + PyObject_SetArenaAllocator.allocator c-api/memory.html#c.PyObject_SetArenaAllocator + PyObject_SetAttr.attr_name c-api/object.html#c.PyObject_SetAttr + PyObject_SetAttr.o c-api/object.html#c.PyObject_SetAttr + PyObject_SetAttr.v c-api/object.html#c.PyObject_SetAttr + PyObject_SetAttrString.attr_name c-api/object.html#c.PyObject_SetAttrString + PyObject_SetAttrString.o c-api/object.html#c.PyObject_SetAttrString + PyObject_SetAttrString.v c-api/object.html#c.PyObject_SetAttrString + PyObject_SetItem.key c-api/object.html#c.PyObject_SetItem + PyObject_SetItem.o c-api/object.html#c.PyObject_SetItem + PyObject_SetItem.v c-api/object.html#c.PyObject_SetItem + PyObject_Size.o c-api/object.html#c.PyObject_Size + PyObject_Str.o c-api/object.html#c.PyObject_Str + PyObject_Type.o c-api/object.html#c.PyObject_Type + PyObject_TypeCheck.o c-api/object.html#c.PyObject_TypeCheck + PyObject_TypeCheck.type c-api/object.html#c.PyObject_TypeCheck + PyObject_Vectorcall.args c-api/call.html#c.PyObject_Vectorcall + PyObject_Vectorcall.callable c-api/call.html#c.PyObject_Vectorcall + PyObject_Vectorcall.kwnames c-api/call.html#c.PyObject_Vectorcall + PyObject_Vectorcall.nargsf c-api/call.html#c.PyObject_Vectorcall + PyObject_VectorcallDict.args c-api/call.html#c.PyObject_VectorcallDict + PyObject_VectorcallDict.callable c-api/call.html#c.PyObject_VectorcallDict + PyObject_VectorcallDict.kwdict c-api/call.html#c.PyObject_VectorcallDict + PyObject_VectorcallDict.nargsf c-api/call.html#c.PyObject_VectorcallDict + PyObject_VectorcallMethod.args c-api/call.html#c.PyObject_VectorcallMethod + PyObject_VectorcallMethod.kwnames c-api/call.html#c.PyObject_VectorcallMethod + PyObject_VectorcallMethod.name c-api/call.html#c.PyObject_VectorcallMethod + PyObject_VectorcallMethod.nargsf c-api/call.html#c.PyObject_VectorcallMethod + PyPreConfig.PyPreConfig_InitIsolatedConfig.preconfig c-api/init_config.html#c.PyPreConfig.PyPreConfig_InitIsolatedConfig + PyPreConfig.PyPreConfig_InitPythonConfig.preconfig c-api/init_config.html#c.PyPreConfig.PyPreConfig_InitPythonConfig + PyRun_AnyFile.filename c-api/veryhigh.html#c.PyRun_AnyFile + PyRun_AnyFile.fp c-api/veryhigh.html#c.PyRun_AnyFile + PyRun_AnyFileEx.closeit c-api/veryhigh.html#c.PyRun_AnyFileEx + PyRun_AnyFileEx.filename c-api/veryhigh.html#c.PyRun_AnyFileEx + PyRun_AnyFileEx.fp c-api/veryhigh.html#c.PyRun_AnyFileEx + PyRun_AnyFileExFlags.closeit c-api/veryhigh.html#c.PyRun_AnyFileExFlags + PyRun_AnyFileExFlags.filename c-api/veryhigh.html#c.PyRun_AnyFileExFlags + PyRun_AnyFileExFlags.flags c-api/veryhigh.html#c.PyRun_AnyFileExFlags + PyRun_AnyFileExFlags.fp c-api/veryhigh.html#c.PyRun_AnyFileExFlags + PyRun_AnyFileFlags.filename c-api/veryhigh.html#c.PyRun_AnyFileFlags + PyRun_AnyFileFlags.flags c-api/veryhigh.html#c.PyRun_AnyFileFlags + PyRun_AnyFileFlags.fp c-api/veryhigh.html#c.PyRun_AnyFileFlags + PyRun_File.filename c-api/veryhigh.html#c.PyRun_File + PyRun_File.fp c-api/veryhigh.html#c.PyRun_File + PyRun_File.globals c-api/veryhigh.html#c.PyRun_File + PyRun_File.locals c-api/veryhigh.html#c.PyRun_File + PyRun_File.start c-api/veryhigh.html#c.PyRun_File + PyRun_FileEx.closeit c-api/veryhigh.html#c.PyRun_FileEx + PyRun_FileEx.filename c-api/veryhigh.html#c.PyRun_FileEx + PyRun_FileEx.fp c-api/veryhigh.html#c.PyRun_FileEx + PyRun_FileEx.globals c-api/veryhigh.html#c.PyRun_FileEx + PyRun_FileEx.locals c-api/veryhigh.html#c.PyRun_FileEx + PyRun_FileEx.start c-api/veryhigh.html#c.PyRun_FileEx + PyRun_FileExFlags.closeit c-api/veryhigh.html#c.PyRun_FileExFlags + PyRun_FileExFlags.filename c-api/veryhigh.html#c.PyRun_FileExFlags + PyRun_FileExFlags.flags c-api/veryhigh.html#c.PyRun_FileExFlags + PyRun_FileExFlags.fp c-api/veryhigh.html#c.PyRun_FileExFlags + PyRun_FileExFlags.globals c-api/veryhigh.html#c.PyRun_FileExFlags + PyRun_FileExFlags.locals c-api/veryhigh.html#c.PyRun_FileExFlags + PyRun_FileExFlags.start c-api/veryhigh.html#c.PyRun_FileExFlags + PyRun_FileFlags.filename c-api/veryhigh.html#c.PyRun_FileFlags + PyRun_FileFlags.flags c-api/veryhigh.html#c.PyRun_FileFlags + PyRun_FileFlags.fp c-api/veryhigh.html#c.PyRun_FileFlags + PyRun_FileFlags.globals c-api/veryhigh.html#c.PyRun_FileFlags + PyRun_FileFlags.locals c-api/veryhigh.html#c.PyRun_FileFlags + PyRun_FileFlags.start c-api/veryhigh.html#c.PyRun_FileFlags + PyRun_InteractiveLoop.filename c-api/veryhigh.html#c.PyRun_InteractiveLoop + PyRun_InteractiveLoop.fp c-api/veryhigh.html#c.PyRun_InteractiveLoop + PyRun_InteractiveLoopFlags.filename c-api/veryhigh.html#c.PyRun_InteractiveLoopFlags + PyRun_InteractiveLoopFlags.flags c-api/veryhigh.html#c.PyRun_InteractiveLoopFlags + PyRun_InteractiveLoopFlags.fp c-api/veryhigh.html#c.PyRun_InteractiveLoopFlags + PyRun_InteractiveOne.filename c-api/veryhigh.html#c.PyRun_InteractiveOne + PyRun_InteractiveOne.fp c-api/veryhigh.html#c.PyRun_InteractiveOne + PyRun_InteractiveOneFlags.filename c-api/veryhigh.html#c.PyRun_InteractiveOneFlags + PyRun_InteractiveOneFlags.flags c-api/veryhigh.html#c.PyRun_InteractiveOneFlags + PyRun_InteractiveOneFlags.fp c-api/veryhigh.html#c.PyRun_InteractiveOneFlags + PyRun_SimpleFile.filename c-api/veryhigh.html#c.PyRun_SimpleFile + PyRun_SimpleFile.fp c-api/veryhigh.html#c.PyRun_SimpleFile + PyRun_SimpleFileEx.closeit c-api/veryhigh.html#c.PyRun_SimpleFileEx + PyRun_SimpleFileEx.filename c-api/veryhigh.html#c.PyRun_SimpleFileEx + PyRun_SimpleFileEx.fp c-api/veryhigh.html#c.PyRun_SimpleFileEx + PyRun_SimpleFileExFlags.closeit c-api/veryhigh.html#c.PyRun_SimpleFileExFlags + PyRun_SimpleFileExFlags.filename c-api/veryhigh.html#c.PyRun_SimpleFileExFlags + PyRun_SimpleFileExFlags.flags c-api/veryhigh.html#c.PyRun_SimpleFileExFlags + PyRun_SimpleFileExFlags.fp c-api/veryhigh.html#c.PyRun_SimpleFileExFlags + PyRun_SimpleString.command c-api/veryhigh.html#c.PyRun_SimpleString + PyRun_SimpleStringFlags.command c-api/veryhigh.html#c.PyRun_SimpleStringFlags + PyRun_SimpleStringFlags.flags c-api/veryhigh.html#c.PyRun_SimpleStringFlags + PyRun_String.globals c-api/veryhigh.html#c.PyRun_String + PyRun_String.locals c-api/veryhigh.html#c.PyRun_String + PyRun_String.start c-api/veryhigh.html#c.PyRun_String + PyRun_String.str c-api/veryhigh.html#c.PyRun_String + PyRun_StringFlags.flags c-api/veryhigh.html#c.PyRun_StringFlags + PyRun_StringFlags.globals c-api/veryhigh.html#c.PyRun_StringFlags + PyRun_StringFlags.locals c-api/veryhigh.html#c.PyRun_StringFlags + PyRun_StringFlags.start c-api/veryhigh.html#c.PyRun_StringFlags + PyRun_StringFlags.str c-api/veryhigh.html#c.PyRun_StringFlags + PySeqIter_New.seq c-api/iterator.html#c.PySeqIter_New + PySequence_Check.o c-api/sequence.html#c.PySequence_Check + PySequence_Concat.o1 c-api/sequence.html#c.PySequence_Concat + PySequence_Concat.o2 c-api/sequence.html#c.PySequence_Concat + PySequence_Contains.o c-api/sequence.html#c.PySequence_Contains + PySequence_Contains.value c-api/sequence.html#c.PySequence_Contains + PySequence_Count.o c-api/sequence.html#c.PySequence_Count + PySequence_Count.value c-api/sequence.html#c.PySequence_Count + PySequence_DelItem.i c-api/sequence.html#c.PySequence_DelItem + PySequence_DelItem.o c-api/sequence.html#c.PySequence_DelItem + PySequence_DelSlice.i1 c-api/sequence.html#c.PySequence_DelSlice + PySequence_DelSlice.i2 c-api/sequence.html#c.PySequence_DelSlice + PySequence_DelSlice.o c-api/sequence.html#c.PySequence_DelSlice + PySequence_Fast.m c-api/sequence.html#c.PySequence_Fast + PySequence_Fast.o c-api/sequence.html#c.PySequence_Fast + PySequence_Fast_GET_ITEM.i c-api/sequence.html#c.PySequence_Fast_GET_ITEM + PySequence_Fast_GET_ITEM.o c-api/sequence.html#c.PySequence_Fast_GET_ITEM + PySequence_Fast_GET_SIZE.o c-api/sequence.html#c.PySequence_Fast_GET_SIZE + PySequence_Fast_ITEMS.o c-api/sequence.html#c.PySequence_Fast_ITEMS + PySequence_GetItem.i c-api/sequence.html#c.PySequence_GetItem + PySequence_GetItem.o c-api/sequence.html#c.PySequence_GetItem + PySequence_GetSlice.i1 c-api/sequence.html#c.PySequence_GetSlice + PySequence_GetSlice.i2 c-api/sequence.html#c.PySequence_GetSlice + PySequence_GetSlice.o c-api/sequence.html#c.PySequence_GetSlice + PySequence_ITEM.i c-api/sequence.html#c.PySequence_ITEM + PySequence_ITEM.o c-api/sequence.html#c.PySequence_ITEM + PySequence_InPlaceConcat.o1 c-api/sequence.html#c.PySequence_InPlaceConcat + PySequence_InPlaceConcat.o2 c-api/sequence.html#c.PySequence_InPlaceConcat + PySequence_InPlaceRepeat.count c-api/sequence.html#c.PySequence_InPlaceRepeat + PySequence_InPlaceRepeat.o c-api/sequence.html#c.PySequence_InPlaceRepeat + PySequence_Index.o c-api/sequence.html#c.PySequence_Index + PySequence_Index.value c-api/sequence.html#c.PySequence_Index + PySequence_Length.o c-api/sequence.html#c.PySequence_Length + PySequence_List.o c-api/sequence.html#c.PySequence_List + PySequence_Repeat.count c-api/sequence.html#c.PySequence_Repeat + PySequence_Repeat.o c-api/sequence.html#c.PySequence_Repeat + PySequence_SetItem.i c-api/sequence.html#c.PySequence_SetItem + PySequence_SetItem.o c-api/sequence.html#c.PySequence_SetItem + PySequence_SetItem.v c-api/sequence.html#c.PySequence_SetItem + PySequence_SetSlice.i1 c-api/sequence.html#c.PySequence_SetSlice + PySequence_SetSlice.i2 c-api/sequence.html#c.PySequence_SetSlice + PySequence_SetSlice.o c-api/sequence.html#c.PySequence_SetSlice + PySequence_SetSlice.v c-api/sequence.html#c.PySequence_SetSlice + PySequence_Size.o c-api/sequence.html#c.PySequence_Size + PySequence_Tuple.o c-api/sequence.html#c.PySequence_Tuple + PySet_Add.key c-api/set.html#c.PySet_Add + PySet_Add.set c-api/set.html#c.PySet_Add + PySet_Check.p c-api/set.html#c.PySet_Check + PySet_CheckExact.p c-api/set.html#c.PySet_CheckExact + PySet_Clear.set c-api/set.html#c.PySet_Clear + PySet_Contains.anyset c-api/set.html#c.PySet_Contains + PySet_Contains.key c-api/set.html#c.PySet_Contains + PySet_Discard.key c-api/set.html#c.PySet_Discard + PySet_Discard.set c-api/set.html#c.PySet_Discard + PySet_GET_SIZE.anyset c-api/set.html#c.PySet_GET_SIZE + PySet_New.iterable c-api/set.html#c.PySet_New + PySet_Pop.set c-api/set.html#c.PySet_Pop + PySet_Size.anyset c-api/set.html#c.PySet_Size + PySignal_SetWakeupFd.fd c-api/exceptions.html#c.PySignal_SetWakeupFd + PySlice_AdjustIndices.length c-api/slice.html#c.PySlice_AdjustIndices + PySlice_AdjustIndices.start c-api/slice.html#c.PySlice_AdjustIndices + PySlice_AdjustIndices.step c-api/slice.html#c.PySlice_AdjustIndices + PySlice_AdjustIndices.stop c-api/slice.html#c.PySlice_AdjustIndices + PySlice_Check.ob c-api/slice.html#c.PySlice_Check + PySlice_GetIndices.length c-api/slice.html#c.PySlice_GetIndices + PySlice_GetIndices.slice c-api/slice.html#c.PySlice_GetIndices + PySlice_GetIndices.start c-api/slice.html#c.PySlice_GetIndices + PySlice_GetIndices.step c-api/slice.html#c.PySlice_GetIndices + PySlice_GetIndices.stop c-api/slice.html#c.PySlice_GetIndices + PySlice_GetIndicesEx.length c-api/slice.html#c.PySlice_GetIndicesEx + PySlice_GetIndicesEx.slice c-api/slice.html#c.PySlice_GetIndicesEx + PySlice_GetIndicesEx.slicelength c-api/slice.html#c.PySlice_GetIndicesEx + PySlice_GetIndicesEx.start c-api/slice.html#c.PySlice_GetIndicesEx + PySlice_GetIndicesEx.step c-api/slice.html#c.PySlice_GetIndicesEx + PySlice_GetIndicesEx.stop c-api/slice.html#c.PySlice_GetIndicesEx + PySlice_New.start c-api/slice.html#c.PySlice_New + PySlice_New.step c-api/slice.html#c.PySlice_New + PySlice_New.stop c-api/slice.html#c.PySlice_New + PySlice_Unpack.slice c-api/slice.html#c.PySlice_Unpack + PySlice_Unpack.start c-api/slice.html#c.PySlice_Unpack + PySlice_Unpack.step c-api/slice.html#c.PySlice_Unpack + PySlice_Unpack.stop c-api/slice.html#c.PySlice_Unpack + PyState_AddModule.def c-api/module.html#c.PyState_AddModule + PyState_AddModule.module c-api/module.html#c.PyState_AddModule + PyState_FindModule.def c-api/module.html#c.PyState_FindModule + PyState_RemoveModule.def c-api/module.html#c.PyState_RemoveModule + PyStatus.PyStatus_Error.err_msg c-api/init_config.html#c.PyStatus.PyStatus_Error + PyStatus.PyStatus_Exception.status c-api/init_config.html#c.PyStatus.PyStatus_Exception + PyStatus.PyStatus_Exit.exitcode c-api/init_config.html#c.PyStatus.PyStatus_Exit + PyStatus.PyStatus_IsError.status c-api/init_config.html#c.PyStatus.PyStatus_IsError + PyStatus.PyStatus_IsExit.status c-api/init_config.html#c.PyStatus.PyStatus_IsExit + PyStatus.Py_ExitStatusException.status c-api/init_config.html#c.PyStatus.Py_ExitStatusException + PyStructSequence_GET_ITEM.p c-api/tuple.html#c.PyStructSequence_GET_ITEM + PyStructSequence_GET_ITEM.pos c-api/tuple.html#c.PyStructSequence_GET_ITEM + PyStructSequence_GetItem.p c-api/tuple.html#c.PyStructSequence_GetItem + PyStructSequence_GetItem.pos c-api/tuple.html#c.PyStructSequence_GetItem + PyStructSequence_InitType.desc c-api/tuple.html#c.PyStructSequence_InitType + PyStructSequence_InitType.type c-api/tuple.html#c.PyStructSequence_InitType + PyStructSequence_InitType2.desc c-api/tuple.html#c.PyStructSequence_InitType2 + PyStructSequence_InitType2.type c-api/tuple.html#c.PyStructSequence_InitType2 + PyStructSequence_New.type c-api/tuple.html#c.PyStructSequence_New + PyStructSequence_NewType.desc c-api/tuple.html#c.PyStructSequence_NewType + PyStructSequence_SET_ITEM.o c-api/tuple.html#c.PyStructSequence_SET_ITEM + PyStructSequence_SET_ITEM.p c-api/tuple.html#c.PyStructSequence_SET_ITEM + PyStructSequence_SET_ITEM.pos c-api/tuple.html#c.PyStructSequence_SET_ITEM + PyStructSequence_SetItem.o c-api/tuple.html#c.PyStructSequence_SetItem + PyStructSequence_SetItem.p c-api/tuple.html#c.PyStructSequence_SetItem + PyStructSequence_SetItem.pos c-api/tuple.html#c.PyStructSequence_SetItem + PySys_AddAuditHook.hook c-api/sys.html#c.PySys_AddAuditHook + PySys_AddAuditHook.userData c-api/sys.html#c.PySys_AddAuditHook + PySys_AddWarnOption.s c-api/sys.html#c.PySys_AddWarnOption + PySys_AddWarnOptionUnicode.unicode c-api/sys.html#c.PySys_AddWarnOptionUnicode + PySys_AddXOption.s c-api/sys.html#c.PySys_AddXOption + PySys_Audit.event c-api/sys.html#c.PySys_Audit + PySys_Audit.format c-api/sys.html#c.PySys_Audit + PySys_FormatStderr.format c-api/sys.html#c.PySys_FormatStderr + PySys_FormatStdout.format c-api/sys.html#c.PySys_FormatStdout + PySys_GetObject.name c-api/sys.html#c.PySys_GetObject + PySys_SetArgv.argc c-api/init.html#c.PySys_SetArgv + PySys_SetArgv.argv c-api/init.html#c.PySys_SetArgv + PySys_SetArgvEx.argc c-api/init.html#c.PySys_SetArgvEx + PySys_SetArgvEx.argv c-api/init.html#c.PySys_SetArgvEx + PySys_SetArgvEx.updatepath c-api/init.html#c.PySys_SetArgvEx + PySys_SetObject.name c-api/sys.html#c.PySys_SetObject + PySys_SetObject.v c-api/sys.html#c.PySys_SetObject + PySys_SetPath.path c-api/sys.html#c.PySys_SetPath + PySys_WriteStderr.format c-api/sys.html#c.PySys_WriteStderr + PySys_WriteStdout.format c-api/sys.html#c.PySys_WriteStdout + PyTZInfo_Check.ob c-api/datetime.html#c.PyTZInfo_Check + PyTZInfo_CheckExact.ob c-api/datetime.html#c.PyTZInfo_CheckExact + PyThreadState_Clear.tstate c-api/init.html#c.PyThreadState_Clear + PyThreadState_Delete.tstate c-api/init.html#c.PyThreadState_Delete + PyThreadState_GetFrame.tstate c-api/init.html#c.PyThreadState_GetFrame + PyThreadState_GetID.tstate c-api/init.html#c.PyThreadState_GetID + PyThreadState_GetInterpreter.tstate c-api/init.html#c.PyThreadState_GetInterpreter + PyThreadState_New.interp c-api/init.html#c.PyThreadState_New + PyThreadState_Next.tstate c-api/init.html#c.PyThreadState_Next + PyThreadState_SetAsyncExc.exc c-api/init.html#c.PyThreadState_SetAsyncExc + PyThreadState_SetAsyncExc.id c-api/init.html#c.PyThreadState_SetAsyncExc + PyThreadState_Swap.tstate c-api/init.html#c.PyThreadState_Swap + PyThread_delete_key.key c-api/init.html#c.PyThread_delete_key + PyThread_delete_key_value.key c-api/init.html#c.PyThread_delete_key_value + PyThread_get_key_value.key c-api/init.html#c.PyThread_get_key_value + PyThread_set_key_value.key c-api/init.html#c.PyThread_set_key_value + PyThread_set_key_value.value c-api/init.html#c.PyThread_set_key_value + PyThread_tss_create.key c-api/init.html#c.PyThread_tss_create + PyThread_tss_delete.key c-api/init.html#c.PyThread_tss_delete + PyThread_tss_free.key c-api/init.html#c.PyThread_tss_free + PyThread_tss_get.key c-api/init.html#c.PyThread_tss_get + PyThread_tss_is_created.key c-api/init.html#c.PyThread_tss_is_created + PyThread_tss_set.key c-api/init.html#c.PyThread_tss_set + PyThread_tss_set.value c-api/init.html#c.PyThread_tss_set + PyTimeZone_FromOffset.offset c-api/datetime.html#c.PyTimeZone_FromOffset + PyTimeZone_FromOffsetAndName.name c-api/datetime.html#c.PyTimeZone_FromOffsetAndName + PyTimeZone_FromOffsetAndName.offset c-api/datetime.html#c.PyTimeZone_FromOffsetAndName + PyTime_Check.ob c-api/datetime.html#c.PyTime_Check + PyTime_CheckExact.ob c-api/datetime.html#c.PyTime_CheckExact + PyTime_FromTime.hour c-api/datetime.html#c.PyTime_FromTime + PyTime_FromTime.minute c-api/datetime.html#c.PyTime_FromTime + PyTime_FromTime.second c-api/datetime.html#c.PyTime_FromTime + PyTime_FromTime.usecond c-api/datetime.html#c.PyTime_FromTime + PyTime_FromTimeAndFold.fold c-api/datetime.html#c.PyTime_FromTimeAndFold + PyTime_FromTimeAndFold.hour c-api/datetime.html#c.PyTime_FromTimeAndFold + PyTime_FromTimeAndFold.minute c-api/datetime.html#c.PyTime_FromTimeAndFold + PyTime_FromTimeAndFold.second c-api/datetime.html#c.PyTime_FromTimeAndFold + PyTime_FromTimeAndFold.usecond c-api/datetime.html#c.PyTime_FromTimeAndFold + PyTraceMalloc_Track.domain c-api/memory.html#c.PyTraceMalloc_Track + PyTraceMalloc_Track.ptr c-api/memory.html#c.PyTraceMalloc_Track + PyTraceMalloc_Track.size c-api/memory.html#c.PyTraceMalloc_Track + PyTraceMalloc_Untrack.domain c-api/memory.html#c.PyTraceMalloc_Untrack + PyTraceMalloc_Untrack.ptr c-api/memory.html#c.PyTraceMalloc_Untrack + PyTuple_Check.p c-api/tuple.html#c.PyTuple_Check + PyTuple_CheckExact.p c-api/tuple.html#c.PyTuple_CheckExact + PyTuple_GET_ITEM.p c-api/tuple.html#c.PyTuple_GET_ITEM + PyTuple_GET_ITEM.pos c-api/tuple.html#c.PyTuple_GET_ITEM + PyTuple_GET_SIZE.p c-api/tuple.html#c.PyTuple_GET_SIZE + PyTuple_GetItem.p c-api/tuple.html#c.PyTuple_GetItem + PyTuple_GetItem.pos c-api/tuple.html#c.PyTuple_GetItem + PyTuple_GetSlice.high c-api/tuple.html#c.PyTuple_GetSlice + PyTuple_GetSlice.low c-api/tuple.html#c.PyTuple_GetSlice + PyTuple_GetSlice.p c-api/tuple.html#c.PyTuple_GetSlice + PyTuple_New.len c-api/tuple.html#c.PyTuple_New + PyTuple_Pack.n c-api/tuple.html#c.PyTuple_Pack + PyTuple_SET_ITEM.o c-api/tuple.html#c.PyTuple_SET_ITEM + PyTuple_SET_ITEM.p c-api/tuple.html#c.PyTuple_SET_ITEM + PyTuple_SET_ITEM.pos c-api/tuple.html#c.PyTuple_SET_ITEM + PyTuple_SetItem.o c-api/tuple.html#c.PyTuple_SetItem + PyTuple_SetItem.p c-api/tuple.html#c.PyTuple_SetItem + PyTuple_SetItem.pos c-api/tuple.html#c.PyTuple_SetItem + PyTuple_Size.p c-api/tuple.html#c.PyTuple_Size + PyType_Check.o c-api/type.html#c.PyType_Check + PyType_CheckExact.o c-api/type.html#c.PyType_CheckExact + PyType_FromModuleAndSpec.bases c-api/type.html#c.PyType_FromModuleAndSpec + PyType_FromModuleAndSpec.module c-api/type.html#c.PyType_FromModuleAndSpec + PyType_FromModuleAndSpec.spec c-api/type.html#c.PyType_FromModuleAndSpec + PyType_FromSpec.spec c-api/type.html#c.PyType_FromSpec + PyType_FromSpecWithBases.bases c-api/type.html#c.PyType_FromSpecWithBases + PyType_FromSpecWithBases.spec c-api/type.html#c.PyType_FromSpecWithBases + PyType_GenericAlloc.nitems c-api/type.html#c.PyType_GenericAlloc + PyType_GenericAlloc.type c-api/type.html#c.PyType_GenericAlloc + PyType_GenericNew.args c-api/type.html#c.PyType_GenericNew + PyType_GenericNew.kwds c-api/type.html#c.PyType_GenericNew + PyType_GenericNew.type c-api/type.html#c.PyType_GenericNew + PyType_GetFlags.type c-api/type.html#c.PyType_GetFlags + PyType_GetModule.type c-api/type.html#c.PyType_GetModule + PyType_GetModuleState.type c-api/type.html#c.PyType_GetModuleState + PyType_GetSlot.slot c-api/type.html#c.PyType_GetSlot + PyType_GetSlot.type c-api/type.html#c.PyType_GetSlot + PyType_HasFeature.feature c-api/type.html#c.PyType_HasFeature + PyType_HasFeature.o c-api/type.html#c.PyType_HasFeature + PyType_IS_GC.o c-api/type.html#c.PyType_IS_GC + PyType_IsSubtype.a c-api/type.html#c.PyType_IsSubtype + PyType_IsSubtype.b c-api/type.html#c.PyType_IsSubtype + PyType_Modified.type c-api/type.html#c.PyType_Modified + PyType_Ready.type c-api/type.html#c.PyType_Ready + PyUnicodeDecodeError_Create.encoding c-api/exceptions.html#c.PyUnicodeDecodeError_Create + PyUnicodeDecodeError_Create.end c-api/exceptions.html#c.PyUnicodeDecodeError_Create + PyUnicodeDecodeError_Create.length c-api/exceptions.html#c.PyUnicodeDecodeError_Create + PyUnicodeDecodeError_Create.object c-api/exceptions.html#c.PyUnicodeDecodeError_Create + PyUnicodeDecodeError_Create.reason c-api/exceptions.html#c.PyUnicodeDecodeError_Create + PyUnicodeDecodeError_Create.start c-api/exceptions.html#c.PyUnicodeDecodeError_Create + PyUnicodeDecodeError_GetEncoding.exc c-api/exceptions.html#c.PyUnicodeDecodeError_GetEncoding + PyUnicodeDecodeError_GetEnd.end c-api/exceptions.html#c.PyUnicodeDecodeError_GetEnd + PyUnicodeDecodeError_GetEnd.exc c-api/exceptions.html#c.PyUnicodeDecodeError_GetEnd + PyUnicodeDecodeError_GetObject.exc c-api/exceptions.html#c.PyUnicodeDecodeError_GetObject + PyUnicodeDecodeError_GetReason.exc c-api/exceptions.html#c.PyUnicodeDecodeError_GetReason + PyUnicodeDecodeError_GetStart.exc c-api/exceptions.html#c.PyUnicodeDecodeError_GetStart + PyUnicodeDecodeError_GetStart.start c-api/exceptions.html#c.PyUnicodeDecodeError_GetStart + PyUnicodeDecodeError_SetEnd.end c-api/exceptions.html#c.PyUnicodeDecodeError_SetEnd + PyUnicodeDecodeError_SetEnd.exc c-api/exceptions.html#c.PyUnicodeDecodeError_SetEnd + PyUnicodeDecodeError_SetReason.exc c-api/exceptions.html#c.PyUnicodeDecodeError_SetReason + PyUnicodeDecodeError_SetReason.reason c-api/exceptions.html#c.PyUnicodeDecodeError_SetReason + PyUnicodeDecodeError_SetStart.exc c-api/exceptions.html#c.PyUnicodeDecodeError_SetStart + PyUnicodeDecodeError_SetStart.start c-api/exceptions.html#c.PyUnicodeDecodeError_SetStart + PyUnicodeEncodeError_Create.encoding c-api/exceptions.html#c.PyUnicodeEncodeError_Create + PyUnicodeEncodeError_Create.end c-api/exceptions.html#c.PyUnicodeEncodeError_Create + PyUnicodeEncodeError_Create.length c-api/exceptions.html#c.PyUnicodeEncodeError_Create + PyUnicodeEncodeError_Create.object c-api/exceptions.html#c.PyUnicodeEncodeError_Create + PyUnicodeEncodeError_Create.reason c-api/exceptions.html#c.PyUnicodeEncodeError_Create + PyUnicodeEncodeError_Create.start c-api/exceptions.html#c.PyUnicodeEncodeError_Create + PyUnicodeEncodeError_GetEncoding.exc c-api/exceptions.html#c.PyUnicodeEncodeError_GetEncoding + PyUnicodeEncodeError_GetEnd.end c-api/exceptions.html#c.PyUnicodeEncodeError_GetEnd + PyUnicodeEncodeError_GetEnd.exc c-api/exceptions.html#c.PyUnicodeEncodeError_GetEnd + PyUnicodeEncodeError_GetObject.exc c-api/exceptions.html#c.PyUnicodeEncodeError_GetObject + PyUnicodeEncodeError_GetReason.exc c-api/exceptions.html#c.PyUnicodeEncodeError_GetReason + PyUnicodeEncodeError_GetStart.exc c-api/exceptions.html#c.PyUnicodeEncodeError_GetStart + PyUnicodeEncodeError_GetStart.start c-api/exceptions.html#c.PyUnicodeEncodeError_GetStart + PyUnicodeEncodeError_SetEnd.end c-api/exceptions.html#c.PyUnicodeEncodeError_SetEnd + PyUnicodeEncodeError_SetEnd.exc c-api/exceptions.html#c.PyUnicodeEncodeError_SetEnd + PyUnicodeEncodeError_SetReason.exc c-api/exceptions.html#c.PyUnicodeEncodeError_SetReason + PyUnicodeEncodeError_SetReason.reason c-api/exceptions.html#c.PyUnicodeEncodeError_SetReason + PyUnicodeEncodeError_SetStart.exc c-api/exceptions.html#c.PyUnicodeEncodeError_SetStart + PyUnicodeEncodeError_SetStart.start c-api/exceptions.html#c.PyUnicodeEncodeError_SetStart + PyUnicodeTranslateError_Create.end c-api/exceptions.html#c.PyUnicodeTranslateError_Create + PyUnicodeTranslateError_Create.length c-api/exceptions.html#c.PyUnicodeTranslateError_Create + PyUnicodeTranslateError_Create.object c-api/exceptions.html#c.PyUnicodeTranslateError_Create + PyUnicodeTranslateError_Create.reason c-api/exceptions.html#c.PyUnicodeTranslateError_Create + PyUnicodeTranslateError_Create.start c-api/exceptions.html#c.PyUnicodeTranslateError_Create + PyUnicodeTranslateError_GetEnd.end c-api/exceptions.html#c.PyUnicodeTranslateError_GetEnd + PyUnicodeTranslateError_GetEnd.exc c-api/exceptions.html#c.PyUnicodeTranslateError_GetEnd + PyUnicodeTranslateError_GetObject.exc c-api/exceptions.html#c.PyUnicodeTranslateError_GetObject + PyUnicodeTranslateError_GetReason.exc c-api/exceptions.html#c.PyUnicodeTranslateError_GetReason + PyUnicodeTranslateError_GetStart.exc c-api/exceptions.html#c.PyUnicodeTranslateError_GetStart + PyUnicodeTranslateError_GetStart.start c-api/exceptions.html#c.PyUnicodeTranslateError_GetStart + PyUnicodeTranslateError_SetEnd.end c-api/exceptions.html#c.PyUnicodeTranslateError_SetEnd + PyUnicodeTranslateError_SetEnd.exc c-api/exceptions.html#c.PyUnicodeTranslateError_SetEnd + PyUnicodeTranslateError_SetReason.exc c-api/exceptions.html#c.PyUnicodeTranslateError_SetReason + PyUnicodeTranslateError_SetReason.reason c-api/exceptions.html#c.PyUnicodeTranslateError_SetReason + PyUnicodeTranslateError_SetStart.exc c-api/exceptions.html#c.PyUnicodeTranslateError_SetStart + PyUnicodeTranslateError_SetStart.start c-api/exceptions.html#c.PyUnicodeTranslateError_SetStart + PyUnicode_1BYTE_DATA.o c-api/unicode.html#c.PyUnicode_1BYTE_DATA + PyUnicode_2BYTE_DATA.o c-api/unicode.html#c.PyUnicode_2BYTE_DATA + PyUnicode_4BYTE_DATA.o c-api/unicode.html#c.PyUnicode_4BYTE_DATA + PyUnicode_AS_DATA.o c-api/unicode.html#c.PyUnicode_AS_DATA + PyUnicode_AS_UNICODE.o c-api/unicode.html#c.PyUnicode_AS_UNICODE + PyUnicode_AsASCIIString.unicode c-api/unicode.html#c.PyUnicode_AsASCIIString + PyUnicode_AsCharmapString.mapping c-api/unicode.html#c.PyUnicode_AsCharmapString + PyUnicode_AsCharmapString.unicode c-api/unicode.html#c.PyUnicode_AsCharmapString + PyUnicode_AsEncodedString.encoding c-api/unicode.html#c.PyUnicode_AsEncodedString + PyUnicode_AsEncodedString.errors c-api/unicode.html#c.PyUnicode_AsEncodedString + PyUnicode_AsEncodedString.unicode c-api/unicode.html#c.PyUnicode_AsEncodedString + PyUnicode_AsLatin1String.unicode c-api/unicode.html#c.PyUnicode_AsLatin1String + PyUnicode_AsMBCSString.unicode c-api/unicode.html#c.PyUnicode_AsMBCSString + PyUnicode_AsRawUnicodeEscapeString.unicode c-api/unicode.html#c.PyUnicode_AsRawUnicodeEscapeString + PyUnicode_AsUCS4.buffer c-api/unicode.html#c.PyUnicode_AsUCS4 + PyUnicode_AsUCS4.buflen c-api/unicode.html#c.PyUnicode_AsUCS4 + PyUnicode_AsUCS4.copy_null c-api/unicode.html#c.PyUnicode_AsUCS4 + PyUnicode_AsUCS4.u c-api/unicode.html#c.PyUnicode_AsUCS4 + PyUnicode_AsUCS4Copy.u c-api/unicode.html#c.PyUnicode_AsUCS4Copy + PyUnicode_AsUTF16String.unicode c-api/unicode.html#c.PyUnicode_AsUTF16String + PyUnicode_AsUTF32String.unicode c-api/unicode.html#c.PyUnicode_AsUTF32String + PyUnicode_AsUTF8.unicode c-api/unicode.html#c.PyUnicode_AsUTF8 + PyUnicode_AsUTF8AndSize.size c-api/unicode.html#c.PyUnicode_AsUTF8AndSize + PyUnicode_AsUTF8AndSize.unicode c-api/unicode.html#c.PyUnicode_AsUTF8AndSize + PyUnicode_AsUTF8String.unicode c-api/unicode.html#c.PyUnicode_AsUTF8String + PyUnicode_AsUnicode.unicode c-api/unicode.html#c.PyUnicode_AsUnicode + PyUnicode_AsUnicodeAndSize.size c-api/unicode.html#c.PyUnicode_AsUnicodeAndSize + PyUnicode_AsUnicodeAndSize.unicode c-api/unicode.html#c.PyUnicode_AsUnicodeAndSize + PyUnicode_AsUnicodeEscapeString.unicode c-api/unicode.html#c.PyUnicode_AsUnicodeEscapeString + PyUnicode_AsWideChar.size c-api/unicode.html#c.PyUnicode_AsWideChar + PyUnicode_AsWideChar.unicode c-api/unicode.html#c.PyUnicode_AsWideChar + PyUnicode_AsWideChar.w c-api/unicode.html#c.PyUnicode_AsWideChar + PyUnicode_AsWideCharString.size c-api/unicode.html#c.PyUnicode_AsWideCharString + PyUnicode_AsWideCharString.unicode c-api/unicode.html#c.PyUnicode_AsWideCharString + PyUnicode_Check.o c-api/unicode.html#c.PyUnicode_Check + PyUnicode_CheckExact.o c-api/unicode.html#c.PyUnicode_CheckExact + PyUnicode_Compare.left c-api/unicode.html#c.PyUnicode_Compare + PyUnicode_Compare.right c-api/unicode.html#c.PyUnicode_Compare + PyUnicode_CompareWithASCIIString.string c-api/unicode.html#c.PyUnicode_CompareWithASCIIString + PyUnicode_CompareWithASCIIString.uni c-api/unicode.html#c.PyUnicode_CompareWithASCIIString + PyUnicode_Concat.left c-api/unicode.html#c.PyUnicode_Concat + PyUnicode_Concat.right c-api/unicode.html#c.PyUnicode_Concat + PyUnicode_Contains.container c-api/unicode.html#c.PyUnicode_Contains + PyUnicode_Contains.element c-api/unicode.html#c.PyUnicode_Contains + PyUnicode_CopyCharacters.from c-api/unicode.html#c.PyUnicode_CopyCharacters + PyUnicode_CopyCharacters.from_start c-api/unicode.html#c.PyUnicode_CopyCharacters + PyUnicode_CopyCharacters.how_many c-api/unicode.html#c.PyUnicode_CopyCharacters + PyUnicode_CopyCharacters.to c-api/unicode.html#c.PyUnicode_CopyCharacters + PyUnicode_CopyCharacters.to_start c-api/unicode.html#c.PyUnicode_CopyCharacters + PyUnicode_Count.end c-api/unicode.html#c.PyUnicode_Count + PyUnicode_Count.start c-api/unicode.html#c.PyUnicode_Count + PyUnicode_Count.str c-api/unicode.html#c.PyUnicode_Count + PyUnicode_Count.substr c-api/unicode.html#c.PyUnicode_Count + PyUnicode_DATA.o c-api/unicode.html#c.PyUnicode_DATA + PyUnicode_Decode.encoding c-api/unicode.html#c.PyUnicode_Decode + PyUnicode_Decode.errors c-api/unicode.html#c.PyUnicode_Decode + PyUnicode_Decode.s c-api/unicode.html#c.PyUnicode_Decode + PyUnicode_Decode.size c-api/unicode.html#c.PyUnicode_Decode + PyUnicode_DecodeASCII.errors c-api/unicode.html#c.PyUnicode_DecodeASCII + PyUnicode_DecodeASCII.s c-api/unicode.html#c.PyUnicode_DecodeASCII + PyUnicode_DecodeASCII.size c-api/unicode.html#c.PyUnicode_DecodeASCII + PyUnicode_DecodeCharmap.data c-api/unicode.html#c.PyUnicode_DecodeCharmap + PyUnicode_DecodeCharmap.errors c-api/unicode.html#c.PyUnicode_DecodeCharmap + PyUnicode_DecodeCharmap.mapping c-api/unicode.html#c.PyUnicode_DecodeCharmap + PyUnicode_DecodeCharmap.size c-api/unicode.html#c.PyUnicode_DecodeCharmap + PyUnicode_DecodeFSDefault.s c-api/unicode.html#c.PyUnicode_DecodeFSDefault + PyUnicode_DecodeFSDefaultAndSize.s c-api/unicode.html#c.PyUnicode_DecodeFSDefaultAndSize + PyUnicode_DecodeFSDefaultAndSize.size c-api/unicode.html#c.PyUnicode_DecodeFSDefaultAndSize + PyUnicode_DecodeLatin1.errors c-api/unicode.html#c.PyUnicode_DecodeLatin1 + PyUnicode_DecodeLatin1.s c-api/unicode.html#c.PyUnicode_DecodeLatin1 + PyUnicode_DecodeLatin1.size c-api/unicode.html#c.PyUnicode_DecodeLatin1 + PyUnicode_DecodeLocale.errors c-api/unicode.html#c.PyUnicode_DecodeLocale + PyUnicode_DecodeLocale.str c-api/unicode.html#c.PyUnicode_DecodeLocale + PyUnicode_DecodeLocaleAndSize.errors c-api/unicode.html#c.PyUnicode_DecodeLocaleAndSize + PyUnicode_DecodeLocaleAndSize.len c-api/unicode.html#c.PyUnicode_DecodeLocaleAndSize + PyUnicode_DecodeLocaleAndSize.str c-api/unicode.html#c.PyUnicode_DecodeLocaleAndSize + PyUnicode_DecodeMBCS.errors c-api/unicode.html#c.PyUnicode_DecodeMBCS + PyUnicode_DecodeMBCS.s c-api/unicode.html#c.PyUnicode_DecodeMBCS + PyUnicode_DecodeMBCS.size c-api/unicode.html#c.PyUnicode_DecodeMBCS + PyUnicode_DecodeMBCSStateful.consumed c-api/unicode.html#c.PyUnicode_DecodeMBCSStateful + PyUnicode_DecodeMBCSStateful.errors c-api/unicode.html#c.PyUnicode_DecodeMBCSStateful + PyUnicode_DecodeMBCSStateful.s c-api/unicode.html#c.PyUnicode_DecodeMBCSStateful + PyUnicode_DecodeMBCSStateful.size c-api/unicode.html#c.PyUnicode_DecodeMBCSStateful + PyUnicode_DecodeRawUnicodeEscape.errors c-api/unicode.html#c.PyUnicode_DecodeRawUnicodeEscape + PyUnicode_DecodeRawUnicodeEscape.s c-api/unicode.html#c.PyUnicode_DecodeRawUnicodeEscape + PyUnicode_DecodeRawUnicodeEscape.size c-api/unicode.html#c.PyUnicode_DecodeRawUnicodeEscape + PyUnicode_DecodeUTF16.byteorder c-api/unicode.html#c.PyUnicode_DecodeUTF16 + PyUnicode_DecodeUTF16.errors c-api/unicode.html#c.PyUnicode_DecodeUTF16 + PyUnicode_DecodeUTF16.s c-api/unicode.html#c.PyUnicode_DecodeUTF16 + PyUnicode_DecodeUTF16.size c-api/unicode.html#c.PyUnicode_DecodeUTF16 + PyUnicode_DecodeUTF16Stateful.byteorder c-api/unicode.html#c.PyUnicode_DecodeUTF16Stateful + PyUnicode_DecodeUTF16Stateful.consumed c-api/unicode.html#c.PyUnicode_DecodeUTF16Stateful + PyUnicode_DecodeUTF16Stateful.errors c-api/unicode.html#c.PyUnicode_DecodeUTF16Stateful + PyUnicode_DecodeUTF16Stateful.s c-api/unicode.html#c.PyUnicode_DecodeUTF16Stateful + PyUnicode_DecodeUTF16Stateful.size c-api/unicode.html#c.PyUnicode_DecodeUTF16Stateful + PyUnicode_DecodeUTF32.byteorder c-api/unicode.html#c.PyUnicode_DecodeUTF32 + PyUnicode_DecodeUTF32.errors c-api/unicode.html#c.PyUnicode_DecodeUTF32 + PyUnicode_DecodeUTF32.s c-api/unicode.html#c.PyUnicode_DecodeUTF32 + PyUnicode_DecodeUTF32.size c-api/unicode.html#c.PyUnicode_DecodeUTF32 + PyUnicode_DecodeUTF32Stateful.byteorder c-api/unicode.html#c.PyUnicode_DecodeUTF32Stateful + PyUnicode_DecodeUTF32Stateful.consumed c-api/unicode.html#c.PyUnicode_DecodeUTF32Stateful + PyUnicode_DecodeUTF32Stateful.errors c-api/unicode.html#c.PyUnicode_DecodeUTF32Stateful + PyUnicode_DecodeUTF32Stateful.s c-api/unicode.html#c.PyUnicode_DecodeUTF32Stateful + PyUnicode_DecodeUTF32Stateful.size c-api/unicode.html#c.PyUnicode_DecodeUTF32Stateful + PyUnicode_DecodeUTF7.errors c-api/unicode.html#c.PyUnicode_DecodeUTF7 + PyUnicode_DecodeUTF7.s c-api/unicode.html#c.PyUnicode_DecodeUTF7 + PyUnicode_DecodeUTF7.size c-api/unicode.html#c.PyUnicode_DecodeUTF7 + PyUnicode_DecodeUTF7Stateful.consumed c-api/unicode.html#c.PyUnicode_DecodeUTF7Stateful + PyUnicode_DecodeUTF7Stateful.errors c-api/unicode.html#c.PyUnicode_DecodeUTF7Stateful + PyUnicode_DecodeUTF7Stateful.s c-api/unicode.html#c.PyUnicode_DecodeUTF7Stateful + PyUnicode_DecodeUTF7Stateful.size c-api/unicode.html#c.PyUnicode_DecodeUTF7Stateful + PyUnicode_DecodeUTF8.errors c-api/unicode.html#c.PyUnicode_DecodeUTF8 + PyUnicode_DecodeUTF8.s c-api/unicode.html#c.PyUnicode_DecodeUTF8 + PyUnicode_DecodeUTF8.size c-api/unicode.html#c.PyUnicode_DecodeUTF8 + PyUnicode_DecodeUTF8Stateful.consumed c-api/unicode.html#c.PyUnicode_DecodeUTF8Stateful + PyUnicode_DecodeUTF8Stateful.errors c-api/unicode.html#c.PyUnicode_DecodeUTF8Stateful + PyUnicode_DecodeUTF8Stateful.s c-api/unicode.html#c.PyUnicode_DecodeUTF8Stateful + PyUnicode_DecodeUTF8Stateful.size c-api/unicode.html#c.PyUnicode_DecodeUTF8Stateful + PyUnicode_DecodeUnicodeEscape.errors c-api/unicode.html#c.PyUnicode_DecodeUnicodeEscape + PyUnicode_DecodeUnicodeEscape.s c-api/unicode.html#c.PyUnicode_DecodeUnicodeEscape + PyUnicode_DecodeUnicodeEscape.size c-api/unicode.html#c.PyUnicode_DecodeUnicodeEscape + PyUnicode_Encode.encoding c-api/unicode.html#c.PyUnicode_Encode + PyUnicode_Encode.errors c-api/unicode.html#c.PyUnicode_Encode + PyUnicode_Encode.s c-api/unicode.html#c.PyUnicode_Encode + PyUnicode_Encode.size c-api/unicode.html#c.PyUnicode_Encode + PyUnicode_EncodeASCII.errors c-api/unicode.html#c.PyUnicode_EncodeASCII + PyUnicode_EncodeASCII.s c-api/unicode.html#c.PyUnicode_EncodeASCII + PyUnicode_EncodeASCII.size c-api/unicode.html#c.PyUnicode_EncodeASCII + PyUnicode_EncodeCharmap.errors c-api/unicode.html#c.PyUnicode_EncodeCharmap + PyUnicode_EncodeCharmap.mapping c-api/unicode.html#c.PyUnicode_EncodeCharmap + PyUnicode_EncodeCharmap.s c-api/unicode.html#c.PyUnicode_EncodeCharmap + PyUnicode_EncodeCharmap.size c-api/unicode.html#c.PyUnicode_EncodeCharmap + PyUnicode_EncodeCodePage.code_page c-api/unicode.html#c.PyUnicode_EncodeCodePage + PyUnicode_EncodeCodePage.errors c-api/unicode.html#c.PyUnicode_EncodeCodePage + PyUnicode_EncodeCodePage.unicode c-api/unicode.html#c.PyUnicode_EncodeCodePage + PyUnicode_EncodeFSDefault.unicode c-api/unicode.html#c.PyUnicode_EncodeFSDefault + PyUnicode_EncodeLatin1.errors c-api/unicode.html#c.PyUnicode_EncodeLatin1 + PyUnicode_EncodeLatin1.s c-api/unicode.html#c.PyUnicode_EncodeLatin1 + PyUnicode_EncodeLatin1.size c-api/unicode.html#c.PyUnicode_EncodeLatin1 + PyUnicode_EncodeLocale.errors c-api/unicode.html#c.PyUnicode_EncodeLocale + PyUnicode_EncodeLocale.unicode c-api/unicode.html#c.PyUnicode_EncodeLocale + PyUnicode_EncodeMBCS.errors c-api/unicode.html#c.PyUnicode_EncodeMBCS + PyUnicode_EncodeMBCS.s c-api/unicode.html#c.PyUnicode_EncodeMBCS + PyUnicode_EncodeMBCS.size c-api/unicode.html#c.PyUnicode_EncodeMBCS + PyUnicode_EncodeRawUnicodeEscape.s c-api/unicode.html#c.PyUnicode_EncodeRawUnicodeEscape + PyUnicode_EncodeRawUnicodeEscape.size c-api/unicode.html#c.PyUnicode_EncodeRawUnicodeEscape + PyUnicode_EncodeUTF16.byteorder c-api/unicode.html#c.PyUnicode_EncodeUTF16 + PyUnicode_EncodeUTF16.errors c-api/unicode.html#c.PyUnicode_EncodeUTF16 + PyUnicode_EncodeUTF16.s c-api/unicode.html#c.PyUnicode_EncodeUTF16 + PyUnicode_EncodeUTF16.size c-api/unicode.html#c.PyUnicode_EncodeUTF16 + PyUnicode_EncodeUTF32.byteorder c-api/unicode.html#c.PyUnicode_EncodeUTF32 + PyUnicode_EncodeUTF32.errors c-api/unicode.html#c.PyUnicode_EncodeUTF32 + PyUnicode_EncodeUTF32.s c-api/unicode.html#c.PyUnicode_EncodeUTF32 + PyUnicode_EncodeUTF32.size c-api/unicode.html#c.PyUnicode_EncodeUTF32 + PyUnicode_EncodeUTF7.base64SetO c-api/unicode.html#c.PyUnicode_EncodeUTF7 + PyUnicode_EncodeUTF7.base64WhiteSpace c-api/unicode.html#c.PyUnicode_EncodeUTF7 + PyUnicode_EncodeUTF7.errors c-api/unicode.html#c.PyUnicode_EncodeUTF7 + PyUnicode_EncodeUTF7.s c-api/unicode.html#c.PyUnicode_EncodeUTF7 + PyUnicode_EncodeUTF7.size c-api/unicode.html#c.PyUnicode_EncodeUTF7 + PyUnicode_EncodeUTF8.errors c-api/unicode.html#c.PyUnicode_EncodeUTF8 + PyUnicode_EncodeUTF8.s c-api/unicode.html#c.PyUnicode_EncodeUTF8 + PyUnicode_EncodeUTF8.size c-api/unicode.html#c.PyUnicode_EncodeUTF8 + PyUnicode_EncodeUnicodeEscape.s c-api/unicode.html#c.PyUnicode_EncodeUnicodeEscape + PyUnicode_EncodeUnicodeEscape.size c-api/unicode.html#c.PyUnicode_EncodeUnicodeEscape + PyUnicode_FSConverter.obj c-api/unicode.html#c.PyUnicode_FSConverter + PyUnicode_FSConverter.result c-api/unicode.html#c.PyUnicode_FSConverter + PyUnicode_FSDecoder.obj c-api/unicode.html#c.PyUnicode_FSDecoder + PyUnicode_FSDecoder.result c-api/unicode.html#c.PyUnicode_FSDecoder + PyUnicode_Fill.fill_char c-api/unicode.html#c.PyUnicode_Fill + PyUnicode_Fill.length c-api/unicode.html#c.PyUnicode_Fill + PyUnicode_Fill.start c-api/unicode.html#c.PyUnicode_Fill + PyUnicode_Fill.unicode c-api/unicode.html#c.PyUnicode_Fill + PyUnicode_Find.direction c-api/unicode.html#c.PyUnicode_Find + PyUnicode_Find.end c-api/unicode.html#c.PyUnicode_Find + PyUnicode_Find.start c-api/unicode.html#c.PyUnicode_Find + PyUnicode_Find.str c-api/unicode.html#c.PyUnicode_Find + PyUnicode_Find.substr c-api/unicode.html#c.PyUnicode_Find + PyUnicode_FindChar.ch c-api/unicode.html#c.PyUnicode_FindChar + PyUnicode_FindChar.direction c-api/unicode.html#c.PyUnicode_FindChar + PyUnicode_FindChar.end c-api/unicode.html#c.PyUnicode_FindChar + PyUnicode_FindChar.start c-api/unicode.html#c.PyUnicode_FindChar + PyUnicode_FindChar.str c-api/unicode.html#c.PyUnicode_FindChar + PyUnicode_Format.args c-api/unicode.html#c.PyUnicode_Format + PyUnicode_Format.format c-api/unicode.html#c.PyUnicode_Format + PyUnicode_FromEncodedObject.encoding c-api/unicode.html#c.PyUnicode_FromEncodedObject + PyUnicode_FromEncodedObject.errors c-api/unicode.html#c.PyUnicode_FromEncodedObject + PyUnicode_FromEncodedObject.obj c-api/unicode.html#c.PyUnicode_FromEncodedObject + PyUnicode_FromFormat.format c-api/unicode.html#c.PyUnicode_FromFormat + PyUnicode_FromFormatV.format c-api/unicode.html#c.PyUnicode_FromFormatV + PyUnicode_FromFormatV.vargs c-api/unicode.html#c.PyUnicode_FromFormatV + PyUnicode_FromKindAndData.buffer c-api/unicode.html#c.PyUnicode_FromKindAndData + PyUnicode_FromKindAndData.kind c-api/unicode.html#c.PyUnicode_FromKindAndData + PyUnicode_FromKindAndData.size c-api/unicode.html#c.PyUnicode_FromKindAndData + PyUnicode_FromObject.obj c-api/unicode.html#c.PyUnicode_FromObject + PyUnicode_FromString.u c-api/unicode.html#c.PyUnicode_FromString + PyUnicode_FromStringAndSize.size c-api/unicode.html#c.PyUnicode_FromStringAndSize + PyUnicode_FromStringAndSize.u c-api/unicode.html#c.PyUnicode_FromStringAndSize + PyUnicode_FromUnicode.size c-api/unicode.html#c.PyUnicode_FromUnicode + PyUnicode_FromUnicode.u c-api/unicode.html#c.PyUnicode_FromUnicode + PyUnicode_FromWideChar.size c-api/unicode.html#c.PyUnicode_FromWideChar + PyUnicode_FromWideChar.w c-api/unicode.html#c.PyUnicode_FromWideChar + PyUnicode_GET_DATA_SIZE.o c-api/unicode.html#c.PyUnicode_GET_DATA_SIZE + PyUnicode_GET_LENGTH.o c-api/unicode.html#c.PyUnicode_GET_LENGTH + PyUnicode_GET_SIZE.o c-api/unicode.html#c.PyUnicode_GET_SIZE + PyUnicode_GetLength.unicode c-api/unicode.html#c.PyUnicode_GetLength + PyUnicode_GetSize.unicode c-api/unicode.html#c.PyUnicode_GetSize + PyUnicode_InternFromString.v c-api/unicode.html#c.PyUnicode_InternFromString + PyUnicode_InternInPlace.string c-api/unicode.html#c.PyUnicode_InternInPlace + PyUnicode_IsIdentifier.o c-api/unicode.html#c.PyUnicode_IsIdentifier + PyUnicode_Join.separator c-api/unicode.html#c.PyUnicode_Join + PyUnicode_Join.seq c-api/unicode.html#c.PyUnicode_Join + PyUnicode_KIND.o c-api/unicode.html#c.PyUnicode_KIND + PyUnicode_New.maxchar c-api/unicode.html#c.PyUnicode_New + PyUnicode_New.size c-api/unicode.html#c.PyUnicode_New + PyUnicode_READ.data c-api/unicode.html#c.PyUnicode_READ + PyUnicode_READ.index c-api/unicode.html#c.PyUnicode_READ + PyUnicode_READ.kind c-api/unicode.html#c.PyUnicode_READ + PyUnicode_READY.o c-api/unicode.html#c.PyUnicode_READY + PyUnicode_READ_CHAR.index c-api/unicode.html#c.PyUnicode_READ_CHAR + PyUnicode_READ_CHAR.o c-api/unicode.html#c.PyUnicode_READ_CHAR + PyUnicode_ReadChar.index c-api/unicode.html#c.PyUnicode_ReadChar + PyUnicode_ReadChar.unicode c-api/unicode.html#c.PyUnicode_ReadChar + PyUnicode_Replace.maxcount c-api/unicode.html#c.PyUnicode_Replace + PyUnicode_Replace.replstr c-api/unicode.html#c.PyUnicode_Replace + PyUnicode_Replace.str c-api/unicode.html#c.PyUnicode_Replace + PyUnicode_Replace.substr c-api/unicode.html#c.PyUnicode_Replace + PyUnicode_RichCompare.left c-api/unicode.html#c.PyUnicode_RichCompare + PyUnicode_RichCompare.op c-api/unicode.html#c.PyUnicode_RichCompare + PyUnicode_RichCompare.right c-api/unicode.html#c.PyUnicode_RichCompare + PyUnicode_Split.maxsplit c-api/unicode.html#c.PyUnicode_Split + PyUnicode_Split.s c-api/unicode.html#c.PyUnicode_Split + PyUnicode_Split.sep c-api/unicode.html#c.PyUnicode_Split + PyUnicode_Splitlines.keepend c-api/unicode.html#c.PyUnicode_Splitlines + PyUnicode_Splitlines.s c-api/unicode.html#c.PyUnicode_Splitlines + PyUnicode_Substring.end c-api/unicode.html#c.PyUnicode_Substring + PyUnicode_Substring.start c-api/unicode.html#c.PyUnicode_Substring + PyUnicode_Substring.str c-api/unicode.html#c.PyUnicode_Substring + PyUnicode_Tailmatch.direction c-api/unicode.html#c.PyUnicode_Tailmatch + PyUnicode_Tailmatch.end c-api/unicode.html#c.PyUnicode_Tailmatch + PyUnicode_Tailmatch.start c-api/unicode.html#c.PyUnicode_Tailmatch + PyUnicode_Tailmatch.str c-api/unicode.html#c.PyUnicode_Tailmatch + PyUnicode_Tailmatch.substr c-api/unicode.html#c.PyUnicode_Tailmatch + PyUnicode_TransformDecimalToASCII.s c-api/unicode.html#c.PyUnicode_TransformDecimalToASCII + PyUnicode_TransformDecimalToASCII.size c-api/unicode.html#c.PyUnicode_TransformDecimalToASCII + PyUnicode_Translate.errors c-api/unicode.html#c.PyUnicode_Translate + PyUnicode_Translate.str c-api/unicode.html#c.PyUnicode_Translate + PyUnicode_Translate.table c-api/unicode.html#c.PyUnicode_Translate + PyUnicode_TranslateCharmap.errors c-api/unicode.html#c.PyUnicode_TranslateCharmap + PyUnicode_TranslateCharmap.mapping c-api/unicode.html#c.PyUnicode_TranslateCharmap + PyUnicode_TranslateCharmap.s c-api/unicode.html#c.PyUnicode_TranslateCharmap + PyUnicode_TranslateCharmap.size c-api/unicode.html#c.PyUnicode_TranslateCharmap + PyUnicode_WRITE.data c-api/unicode.html#c.PyUnicode_WRITE + PyUnicode_WRITE.index c-api/unicode.html#c.PyUnicode_WRITE + PyUnicode_WRITE.kind c-api/unicode.html#c.PyUnicode_WRITE + PyUnicode_WRITE.value c-api/unicode.html#c.PyUnicode_WRITE + PyUnicode_WriteChar.character c-api/unicode.html#c.PyUnicode_WriteChar + PyUnicode_WriteChar.index c-api/unicode.html#c.PyUnicode_WriteChar + PyUnicode_WriteChar.unicode c-api/unicode.html#c.PyUnicode_WriteChar + PyVectorcall_Call.callable c-api/call.html#c.PyVectorcall_Call + PyVectorcall_Call.dict c-api/call.html#c.PyVectorcall_Call + PyVectorcall_Call.tuple c-api/call.html#c.PyVectorcall_Call + PyVectorcall_Function.op c-api/call.html#c.PyVectorcall_Function + PyVectorcall_NARGS.nargsf c-api/call.html#c.PyVectorcall_NARGS + PyWeakref_GET_OBJECT.ref c-api/weakref.html#c.PyWeakref_GET_OBJECT + PyWeakref_GetObject.ref c-api/weakref.html#c.PyWeakref_GetObject + PyWeakref_NewProxy.callback c-api/weakref.html#c.PyWeakref_NewProxy + PyWeakref_NewProxy.ob c-api/weakref.html#c.PyWeakref_NewProxy + PyWeakref_NewRef.callback c-api/weakref.html#c.PyWeakref_NewRef + PyWeakref_NewRef.ob c-api/weakref.html#c.PyWeakref_NewRef + PyWideStringList.PyWideStringList_Append.item c-api/init_config.html#c.PyWideStringList.PyWideStringList_Append + PyWideStringList.PyWideStringList_Append.list c-api/init_config.html#c.PyWideStringList.PyWideStringList_Append + PyWideStringList.PyWideStringList_Insert.index c-api/init_config.html#c.PyWideStringList.PyWideStringList_Insert + PyWideStringList.PyWideStringList_Insert.item c-api/init_config.html#c.PyWideStringList.PyWideStringList_Insert + PyWideStringList.PyWideStringList_Insert.list c-api/init_config.html#c.PyWideStringList.PyWideStringList_Insert + Py_AddPendingCall.arg c-api/init.html#c.Py_AddPendingCall + Py_AddPendingCall.func c-api/init.html#c.Py_AddPendingCall + Py_AtExit.func c-api/sys.html#c.Py_AtExit + Py_BuildValue.format c-api/arg.html#c.Py_BuildValue + Py_BytesMain.argc c-api/veryhigh.html#c.Py_BytesMain + Py_BytesMain.argv c-api/veryhigh.html#c.Py_BytesMain + Py_CLEAR.o c-api/refcounting.html#c.Py_CLEAR + Py_CompileString.filename c-api/veryhigh.html#c.Py_CompileString + Py_CompileString.start c-api/veryhigh.html#c.Py_CompileString + Py_CompileString.str c-api/veryhigh.html#c.Py_CompileString + Py_CompileStringExFlags.filename c-api/veryhigh.html#c.Py_CompileStringExFlags + Py_CompileStringExFlags.flags c-api/veryhigh.html#c.Py_CompileStringExFlags + Py_CompileStringExFlags.optimize c-api/veryhigh.html#c.Py_CompileStringExFlags + Py_CompileStringExFlags.start c-api/veryhigh.html#c.Py_CompileStringExFlags + Py_CompileStringExFlags.str c-api/veryhigh.html#c.Py_CompileStringExFlags + Py_CompileStringFlags.filename c-api/veryhigh.html#c.Py_CompileStringFlags + Py_CompileStringFlags.flags c-api/veryhigh.html#c.Py_CompileStringFlags + Py_CompileStringFlags.start c-api/veryhigh.html#c.Py_CompileStringFlags + Py_CompileStringFlags.str c-api/veryhigh.html#c.Py_CompileStringFlags + Py_CompileStringObject.filename c-api/veryhigh.html#c.Py_CompileStringObject + Py_CompileStringObject.flags c-api/veryhigh.html#c.Py_CompileStringObject + Py_CompileStringObject.optimize c-api/veryhigh.html#c.Py_CompileStringObject + Py_CompileStringObject.start c-api/veryhigh.html#c.Py_CompileStringObject + Py_CompileStringObject.str c-api/veryhigh.html#c.Py_CompileStringObject + Py_DECREF.o c-api/refcounting.html#c.Py_DECREF + Py_DecRef.o c-api/refcounting.html#c.Py_DecRef + Py_DecodeLocale.arg c-api/sys.html#c.Py_DecodeLocale + Py_DecodeLocale.size c-api/sys.html#c.Py_DecodeLocale + Py_EncodeLocale.error_pos c-api/sys.html#c.Py_EncodeLocale + Py_EncodeLocale.text c-api/sys.html#c.Py_EncodeLocale + Py_EndInterpreter.tstate c-api/init.html#c.Py_EndInterpreter + Py_EnterRecursiveCall.where c-api/exceptions.html#c.Py_EnterRecursiveCall + Py_Exit.status c-api/sys.html#c.Py_Exit + Py_FatalError.message c-api/sys.html#c.Py_FatalError + Py_FdIsInteractive.filename c-api/sys.html#c.Py_FdIsInteractive + Py_FdIsInteractive.fp c-api/sys.html#c.Py_FdIsInteractive + Py_GenericAlias.args c-api/typehints.html#c.Py_GenericAlias + Py_GenericAlias.origin c-api/typehints.html#c.Py_GenericAlias + Py_GetArgcArgv.argc c-api/init_config.html#c.Py_GetArgcArgv + Py_GetArgcArgv.argv c-api/init_config.html#c.Py_GetArgcArgv + Py_INCREF.o c-api/refcounting.html#c.Py_INCREF + Py_IS_TYPE.o c-api/structures.html#c.Py_IS_TYPE + Py_IS_TYPE.type c-api/structures.html#c.Py_IS_TYPE + Py_IncRef.o c-api/refcounting.html#c.Py_IncRef + Py_InitializeEx.initsigs c-api/init.html#c.Py_InitializeEx + Py_InitializeFromConfig.config c-api/init_config.html#c.Py_InitializeFromConfig + Py_Is.x c-api/structures.html#c.Py_Is + Py_Is.y c-api/structures.html#c.Py_Is + Py_IsFalse.x c-api/structures.html#c.Py_IsFalse + Py_IsNone.x c-api/structures.html#c.Py_IsNone + Py_IsTrue.x c-api/structures.html#c.Py_IsTrue + Py_Main.argc c-api/veryhigh.html#c.Py_Main + Py_Main.argv c-api/veryhigh.html#c.Py_Main + Py_NewRef.o c-api/refcounting.html#c.Py_NewRef + Py_PreInitialize.preconfig c-api/init_config.html#c.Py_PreInitialize + Py_PreInitializeFromArgs.argc c-api/init_config.html#c.Py_PreInitializeFromArgs + Py_PreInitializeFromArgs.argv c-api/init_config.html#c.Py_PreInitializeFromArgs + Py_PreInitializeFromArgs.preconfig c-api/init_config.html#c.Py_PreInitializeFromArgs + Py_PreInitializeFromBytesArgs.argc c-api/init_config.html#c.Py_PreInitializeFromBytesArgs + Py_PreInitializeFromBytesArgs.argv c-api/init_config.html#c.Py_PreInitializeFromBytesArgs + Py_PreInitializeFromBytesArgs.preconfig c-api/init_config.html#c.Py_PreInitializeFromBytesArgs + Py_REFCNT.o c-api/structures.html#c.Py_REFCNT + Py_ReprEnter.object c-api/exceptions.html#c.Py_ReprEnter + Py_ReprLeave.object c-api/exceptions.html#c.Py_ReprLeave + Py_SET_REFCNT.o c-api/structures.html#c.Py_SET_REFCNT + Py_SET_REFCNT.refcnt c-api/structures.html#c.Py_SET_REFCNT + Py_SET_SIZE.o c-api/structures.html#c.Py_SET_SIZE + Py_SET_SIZE.size c-api/structures.html#c.Py_SET_SIZE + Py_SET_TYPE.o c-api/structures.html#c.Py_SET_TYPE + Py_SET_TYPE.type c-api/structures.html#c.Py_SET_TYPE + Py_SIZE.o c-api/structures.html#c.Py_SIZE + Py_SetProgramName.name c-api/init.html#c.Py_SetProgramName + Py_SetPythonHome.home c-api/init.html#c.Py_SetPythonHome + Py_SetStandardStreamEncoding.encoding c-api/init.html#c.Py_SetStandardStreamEncoding + Py_SetStandardStreamEncoding.errors c-api/init.html#c.Py_SetStandardStreamEncoding + Py_TYPE.o c-api/structures.html#c.Py_TYPE + Py_UNICODE_ISALNUM.ch c-api/unicode.html#c.Py_UNICODE_ISALNUM + Py_UNICODE_ISALPHA.ch c-api/unicode.html#c.Py_UNICODE_ISALPHA + Py_UNICODE_ISDECIMAL.ch c-api/unicode.html#c.Py_UNICODE_ISDECIMAL + Py_UNICODE_ISDIGIT.ch c-api/unicode.html#c.Py_UNICODE_ISDIGIT + Py_UNICODE_ISLINEBREAK.ch c-api/unicode.html#c.Py_UNICODE_ISLINEBREAK + Py_UNICODE_ISLOWER.ch c-api/unicode.html#c.Py_UNICODE_ISLOWER + Py_UNICODE_ISNUMERIC.ch c-api/unicode.html#c.Py_UNICODE_ISNUMERIC + Py_UNICODE_ISPRINTABLE.ch c-api/unicode.html#c.Py_UNICODE_ISPRINTABLE + Py_UNICODE_ISSPACE.ch c-api/unicode.html#c.Py_UNICODE_ISSPACE + Py_UNICODE_ISTITLE.ch c-api/unicode.html#c.Py_UNICODE_ISTITLE + Py_UNICODE_ISUPPER.ch c-api/unicode.html#c.Py_UNICODE_ISUPPER + Py_UNICODE_TODECIMAL.ch c-api/unicode.html#c.Py_UNICODE_TODECIMAL + Py_UNICODE_TODIGIT.ch c-api/unicode.html#c.Py_UNICODE_TODIGIT + Py_UNICODE_TOLOWER.ch c-api/unicode.html#c.Py_UNICODE_TOLOWER + Py_UNICODE_TONUMERIC.ch c-api/unicode.html#c.Py_UNICODE_TONUMERIC + Py_UNICODE_TOTITLE.ch c-api/unicode.html#c.Py_UNICODE_TOTITLE + Py_UNICODE_TOUPPER.ch c-api/unicode.html#c.Py_UNICODE_TOUPPER + Py_VISIT.o c-api/gcsupport.html#c.Py_VISIT + Py_VaBuildValue.format c-api/arg.html#c.Py_VaBuildValue + Py_VaBuildValue.vargs c-api/arg.html#c.Py_VaBuildValue + Py_XDECREF.o c-api/refcounting.html#c.Py_XDECREF + Py_XINCREF.o c-api/refcounting.html#c.Py_XINCREF + Py_XNewRef.o c-api/refcounting.html#c.Py_XNewRef + Py_mod_create.create_module.def c-api/module.html#c.Py_mod_create.create_module + Py_mod_create.create_module.spec c-api/module.html#c.Py_mod_create.create_module + Py_mod_exec.exec_module.module c-api/module.html#c.Py_mod_exec.exec_module + _PyBytes_Resize.bytes c-api/bytes.html#c._PyBytes_Resize + _PyBytes_Resize.newsize c-api/bytes.html#c._PyBytes_Resize + _PyInterpreterState_GetEvalFrameFunc.interp c-api/init.html#c._PyInterpreterState_GetEvalFrameFunc + _PyInterpreterState_SetEvalFrameFunc.eval_frame c-api/init.html#c._PyInterpreterState_SetEvalFrameFunc + _PyInterpreterState_SetEvalFrameFunc.interp c-api/init.html#c._PyInterpreterState_SetEvalFrameFunc + _PyObject_New.type c-api/allocation.html#c._PyObject_New + _PyObject_NewVar.size c-api/allocation.html#c._PyObject_NewVar + _PyObject_NewVar.type c-api/allocation.html#c._PyObject_NewVar + _PyTuple_Resize.newsize c-api/tuple.html#c._PyTuple_Resize + _PyTuple_Resize.p c-api/tuple.html#c._PyTuple_Resize + _Py_c_diff.left c-api/complex.html#c._Py_c_diff + _Py_c_diff.right c-api/complex.html#c._Py_c_diff + _Py_c_neg.num c-api/complex.html#c._Py_c_neg + _Py_c_pow.exp c-api/complex.html#c._Py_c_pow + _Py_c_pow.num c-api/complex.html#c._Py_c_pow + _Py_c_prod.left c-api/complex.html#c._Py_c_prod + _Py_c_prod.right c-api/complex.html#c._Py_c_prod + _Py_c_quot.dividend c-api/complex.html#c._Py_c_quot + _Py_c_quot.divisor c-api/complex.html#c._Py_c_quot + _Py_c_sum.left c-api/complex.html#c._Py_c_sum + _Py_c_sum.right c-api/complex.html#c._Py_c_sum c:macro PY_MAJOR_VERSION c-api/apiabiversion.html#c.PY_MAJOR_VERSION PY_MICRO_VERSION c-api/apiabiversion.html#c.PY_MICRO_VERSION @@ -1048,14 +2771,21 @@ c:macro Py_mod_exec c-api/module.html#c.Py_mod_exec Py_tss_NEEDS_INIT c-api/init.html#c.Py_tss_NEEDS_INIT c:member + CO_FUTURE_DIVISION c-api/veryhigh.html#c.CO_FUTURE_DIVISION PyAsyncMethods.am_aiter c-api/typeobj.html#c.PyAsyncMethods.am_aiter PyAsyncMethods.am_anext c-api/typeobj.html#c.PyAsyncMethods.am_anext PyAsyncMethods.am_await c-api/typeobj.html#c.PyAsyncMethods.am_await PyAsyncMethods.am_send c-api/typeobj.html#c.PyAsyncMethods.am_send PyBufferProcs.bf_getbuffer c-api/typeobj.html#c.PyBufferProcs.bf_getbuffer PyBufferProcs.bf_releasebuffer c-api/typeobj.html#c.PyBufferProcs.bf_releasebuffer + PyByteArray_Type c-api/bytearray.html#c.PyByteArray_Type + PyBytes_Type c-api/bytes.html#c.PyBytes_Type + PyCallIter_Type c-api/iterator.html#c.PyCallIter_Type + PyCell_Type c-api/cell.html#c.PyCell_Type + PyCode_Type c-api/code.html#c.PyCode_Type PyCompilerFlags.cf_feature_version c-api/veryhigh.html#c.PyCompilerFlags.cf_feature_version PyCompilerFlags.cf_flags c-api/veryhigh.html#c.PyCompilerFlags.cf_flags + PyComplex_Type c-api/complex.html#c.PyComplex_Type PyConfig.argv c-api/init_config.html#c.PyConfig.argv PyConfig.base_exec_prefix c-api/init_config.html#c.PyConfig.base_exec_prefix PyConfig.base_executable c-api/init_config.html#c.PyConfig.base_executable @@ -1110,9 +2840,24 @@ c:member PyConfig.warnoptions c-api/init_config.html#c.PyConfig.warnoptions PyConfig.write_bytecode c-api/init_config.html#c.PyConfig.write_bytecode PyConfig.xoptions c-api/init_config.html#c.PyConfig.xoptions + PyContextToken_Type c-api/contextvars.html#c.PyContextToken_Type + PyContextVar_Type c-api/contextvars.html#c.PyContextVar_Type + PyContext_Type c-api/contextvars.html#c.PyContext_Type + PyCoro_Type c-api/coro.html#c.PyCoro_Type + PyDateTime_TimeZone_UTC c-api/datetime.html#c.PyDateTime_TimeZone_UTC + PyDict_Type c-api/dict.html#c.PyDict_Type + PyFloat_Type c-api/float.html#c.PyFloat_Type + PyFrozenSet_Type c-api/set.html#c.PyFrozenSet_Type + PyFunction_Type c-api/function.html#c.PyFunction_Type + PyGen_Type c-api/gen.html#c.PyGen_Type + PyImport_FrozenModules c-api/import.html#c.PyImport_FrozenModules + PyInstanceMethod_Type c-api/method.html#c.PyInstanceMethod_Type + PyList_Type c-api/list.html#c.PyList_Type + PyLong_Type c-api/long.html#c.PyLong_Type PyMappingMethods.mp_ass_subscript c-api/typeobj.html#c.PyMappingMethods.mp_ass_subscript PyMappingMethods.mp_length c-api/typeobj.html#c.PyMappingMethods.mp_length PyMappingMethods.mp_subscript c-api/typeobj.html#c.PyMappingMethods.mp_subscript + PyMethod_Type c-api/method.html#c.PyMethod_Type PyModuleDef.m_base c-api/module.html#c.PyModuleDef.m_base PyModuleDef.m_clear c-api/module.html#c.PyModuleDef.m_clear PyModuleDef.m_doc c-api/module.html#c.PyModuleDef.m_doc @@ -1125,6 +2870,7 @@ c:member PyModuleDef.m_traverse c-api/module.html#c.PyModuleDef.m_traverse PyModuleDef_Slot.slot c-api/module.html#c.PyModuleDef_Slot.slot PyModuleDef_Slot.value c-api/module.html#c.PyModuleDef_Slot.value + PyModule_Type c-api/module.html#c.PyModule_Type PyNumberMethods.nb_absolute c-api/typeobj.html#c.PyNumberMethods.nb_absolute PyNumberMethods.nb_add c-api/typeobj.html#c.PyNumberMethods.nb_add PyNumberMethods.nb_and c-api/typeobj.html#c.PyNumberMethods.nb_and @@ -1161,6 +2907,8 @@ c:member PyNumberMethods.nb_subtract c-api/typeobj.html#c.PyNumberMethods.nb_subtract PyNumberMethods.nb_true_divide c-api/typeobj.html#c.PyNumberMethods.nb_true_divide PyNumberMethods.nb_xor c-api/typeobj.html#c.PyNumberMethods.nb_xor + PyOS_InputHook c-api/veryhigh.html#c.PyOS_InputHook + PyOS_ReadlineFunctionPointer c-api/veryhigh.html#c.PyOS_ReadlineFunctionPointer PyObject._ob_next c-api/typeobj.html#c.PyObject._ob_next PyObject._ob_prev c-api/typeobj.html#c.PyObject._ob_prev PyObject.ob_refcnt c-api/typeobj.html#c.PyObject.ob_refcnt @@ -1175,6 +2923,8 @@ c:member PyPreConfig.parse_argv c-api/init_config.html#c.PyPreConfig.parse_argv PyPreConfig.use_environment c-api/init_config.html#c.PyPreConfig.use_environment PyPreConfig.utf8_mode c-api/init_config.html#c.PyPreConfig.utf8_mode + PyProperty_Type c-api/descriptor.html#c.PyProperty_Type + PySeqIter_Type c-api/iterator.html#c.PySeqIter_Type PySequenceMethods.sq_ass_item c-api/typeobj.html#c.PySequenceMethods.sq_ass_item PySequenceMethods.sq_concat c-api/typeobj.html#c.PySequenceMethods.sq_concat PySequenceMethods.sq_contains c-api/typeobj.html#c.PySequenceMethods.sq_contains @@ -1183,9 +2933,21 @@ c:member PySequenceMethods.sq_item c-api/typeobj.html#c.PySequenceMethods.sq_item PySequenceMethods.sq_length c-api/typeobj.html#c.PySequenceMethods.sq_length PySequenceMethods.sq_repeat c-api/typeobj.html#c.PySequenceMethods.sq_repeat + PySet_Type c-api/set.html#c.PySet_Type + PySlice_Type c-api/slice.html#c.PySlice_Type PyStatus.err_msg c-api/init_config.html#c.PyStatus.err_msg PyStatus.exitcode c-api/init_config.html#c.PyStatus.exitcode PyStatus.func c-api/init_config.html#c.PyStatus.func + PyStructSequence_UnnamedField c-api/tuple.html#c.PyStructSequence_UnnamedField + PyTrace_CALL c-api/init.html#c.PyTrace_CALL + PyTrace_C_CALL c-api/init.html#c.PyTrace_C_CALL + PyTrace_C_EXCEPTION c-api/init.html#c.PyTrace_C_EXCEPTION + PyTrace_C_RETURN c-api/init.html#c.PyTrace_C_RETURN + PyTrace_EXCEPTION c-api/init.html#c.PyTrace_EXCEPTION + PyTrace_LINE c-api/init.html#c.PyTrace_LINE + PyTrace_OPCODE c-api/init.html#c.PyTrace_OPCODE + PyTrace_RETURN c-api/init.html#c.PyTrace_RETURN + PyTuple_Type c-api/tuple.html#c.PyTuple_Type PyTypeObject.tp_alloc c-api/typeobj.html#c.PyTypeObject.tp_alloc PyTypeObject.tp_as_async c-api/typeobj.html#c.PyTypeObject.tp_as_async PyTypeObject.tp_as_buffer c-api/typeobj.html#c.PyTypeObject.tp_as_buffer @@ -1241,9 +3003,34 @@ c:member PyType_Spec.PyType_Spec.itemsize c-api/type.html#c.PyType_Spec.PyType_Spec.itemsize PyType_Spec.PyType_Spec.name c-api/type.html#c.PyType_Spec.PyType_Spec.name PyType_Spec.PyType_Spec.slots c-api/type.html#c.PyType_Spec.PyType_Spec.slots + PyType_Type c-api/type.html#c.PyType_Type + PyUnicode_Type c-api/unicode.html#c.PyUnicode_Type PyVarObject.ob_size c-api/typeobj.html#c.PyVarObject.ob_size PyWideStringList.items c-api/init_config.html#c.PyWideStringList.items PyWideStringList.length c-api/init_config.html#c.PyWideStringList.length + Py_BytesWarningFlag c-api/init.html#c.Py_BytesWarningFlag + Py_DebugFlag c-api/init.html#c.Py_DebugFlag + Py_DontWriteBytecodeFlag c-api/init.html#c.Py_DontWriteBytecodeFlag + Py_Ellipsis c-api/slice.html#c.Py_Ellipsis + Py_False c-api/bool.html#c.Py_False + Py_FrozenFlag c-api/init.html#c.Py_FrozenFlag + Py_GenericAliasType c-api/typehints.html#c.Py_GenericAliasType + Py_HashRandomizationFlag c-api/init.html#c.Py_HashRandomizationFlag + Py_IgnoreEnvironmentFlag c-api/init.html#c.Py_IgnoreEnvironmentFlag + Py_InspectFlag c-api/init.html#c.Py_InspectFlag + Py_InteractiveFlag c-api/init.html#c.Py_InteractiveFlag + Py_IsolatedFlag c-api/init.html#c.Py_IsolatedFlag + Py_LegacyWindowsFSEncodingFlag c-api/init.html#c.Py_LegacyWindowsFSEncodingFlag + Py_LegacyWindowsStdioFlag c-api/init.html#c.Py_LegacyWindowsStdioFlag + Py_NoSiteFlag c-api/init.html#c.Py_NoSiteFlag + Py_NoUserSiteDirectory c-api/init.html#c.Py_NoUserSiteDirectory + Py_None c-api/none.html#c.Py_None + Py_NotImplemented c-api/object.html#c.Py_NotImplemented + Py_OptimizeFlag c-api/init.html#c.Py_OptimizeFlag + Py_QuietFlag c-api/init.html#c.Py_QuietFlag + Py_True c-api/bool.html#c.Py_True + Py_UnbufferedStdioFlag c-api/init.html#c.Py_UnbufferedStdioFlag + Py_VerboseFlag c-api/init.html#c.Py_VerboseFlag Py_buffer.buf c-api/buffer.html#c.Py_buffer.buf Py_buffer.format c-api/buffer.html#c.Py_buffer.format Py_buffer.internal c-api/buffer.html#c.Py_buffer.internal @@ -1255,6 +3042,14 @@ c:member Py_buffer.shape c-api/buffer.html#c.Py_buffer.shape Py_buffer.strides c-api/buffer.html#c.Py_buffer.strides Py_buffer.suboffsets c-api/buffer.html#c.Py_buffer.suboffsets + Py_eval_input c-api/veryhigh.html#c.Py_eval_input + Py_file_input c-api/veryhigh.html#c.Py_file_input + Py_single_input c-api/veryhigh.html#c.Py_single_input + _Py_NoneStruct c-api/allocation.html#c._Py_NoneStruct +c:struct + PyCompilerFlags c-api/veryhigh.html#c.PyCompilerFlags + _frozen c-api/import.html#c._frozen + _inittab c-api/import.html#c._inittab c:type PyASCIIObject c-api/unicode.html#c.PyASCIIObject PyAsyncMethods c-api/typeobj.html#c.PyAsyncMethods @@ -1269,7 +3064,6 @@ c:type PyCellObject c-api/cell.html#c.PyCellObject PyCodeObject c-api/code.html#c.PyCodeObject PyCompactUnicodeObject c-api/unicode.html#c.PyCompactUnicodeObject - PyCompilerFlags c-api/veryhigh.html#c.PyCompilerFlags PyComplexObject c-api/complex.html#c.PyComplexObject PyConfig c-api/init_config.html#c.PyConfig PyContext c-api/contextvars.html#c.PyContext @@ -1316,13 +3110,12 @@ c:type Py_UNICODE c-api/unicode.html#c.Py_UNICODE Py_buffer c-api/buffer.html#c.Py_buffer Py_complex c-api/complex.html#c.Py_complex + Py_ssize_t c-api/intro.html#c.Py_ssize_t Py_tracefunc c-api/init.html#c.Py_tracefunc Py_tss_t c-api/init.html#c.Py_tss_t _PyCFunctionFast c-api/structures.html#c._PyCFunctionFast _PyCFunctionFastWithKeywords c-api/structures.html#c._PyCFunctionFastWithKeywords _PyFrameEvalFunction c-api/init.html#c._PyFrameEvalFunction - _frozen c-api/import.html#c._frozen - _inittab c-api/import.html#c._inittab allocfunc c-api/typeobj.html#c.allocfunc binaryfunc c-api/typeobj.html#c.binaryfunc descrgetfunc c-api/typeobj.html#c.descrgetfunc @@ -1354,75 +3147,6 @@ c:type unaryfunc c-api/typeobj.html#c.unaryfunc vectorcallfunc c-api/call.html#c.vectorcallfunc visitproc c-api/gcsupport.html#c.visitproc -c:var - CO_FUTURE_DIVISION c-api/veryhigh.html#c.CO_FUTURE_DIVISION - PyByteArray_Type c-api/bytearray.html#c.PyByteArray_Type - PyBytes_Type c-api/bytes.html#c.PyBytes_Type - PyCallIter_Type c-api/iterator.html#c.PyCallIter_Type - PyCell_Type c-api/cell.html#c.PyCell_Type - PyCode_Type c-api/code.html#c.PyCode_Type - PyComplex_Type c-api/complex.html#c.PyComplex_Type - PyContextToken_Type c-api/contextvars.html#c.PyContextToken_Type - PyContextVar_Type c-api/contextvars.html#c.PyContextVar_Type - PyContext_Type c-api/contextvars.html#c.PyContext_Type - PyCoro_Type c-api/coro.html#c.PyCoro_Type - PyDateTime_TimeZone_UTC c-api/datetime.html#c.PyDateTime_TimeZone_UTC - PyDict_Type c-api/dict.html#c.PyDict_Type - PyFloat_Type c-api/float.html#c.PyFloat_Type - PyFrozenSet_Type c-api/set.html#c.PyFrozenSet_Type - PyFunction_Type c-api/function.html#c.PyFunction_Type - PyGen_Type c-api/gen.html#c.PyGen_Type - PyImport_FrozenModules c-api/import.html#c.PyImport_FrozenModules - PyInstanceMethod_Type c-api/method.html#c.PyInstanceMethod_Type - PyList_Type c-api/list.html#c.PyList_Type - PyLong_Type c-api/long.html#c.PyLong_Type - PyMethod_Type c-api/method.html#c.PyMethod_Type - PyModule_Type c-api/module.html#c.PyModule_Type - PyOS_InputHook c-api/veryhigh.html#c.PyOS_InputHook - PyOS_ReadlineFunctionPointer c-api/veryhigh.html#c.PyOS_ReadlineFunctionPointer - PyProperty_Type c-api/descriptor.html#c.PyProperty_Type - PySeqIter_Type c-api/iterator.html#c.PySeqIter_Type - PySet_Type c-api/set.html#c.PySet_Type - PySlice_Type c-api/slice.html#c.PySlice_Type - PyStructSequence_UnnamedField c-api/tuple.html#c.PyStructSequence_UnnamedField - PyTrace_CALL c-api/init.html#c.PyTrace_CALL - PyTrace_C_CALL c-api/init.html#c.PyTrace_C_CALL - PyTrace_C_EXCEPTION c-api/init.html#c.PyTrace_C_EXCEPTION - PyTrace_C_RETURN c-api/init.html#c.PyTrace_C_RETURN - PyTrace_EXCEPTION c-api/init.html#c.PyTrace_EXCEPTION - PyTrace_LINE c-api/init.html#c.PyTrace_LINE - PyTrace_OPCODE c-api/init.html#c.PyTrace_OPCODE - PyTrace_RETURN c-api/init.html#c.PyTrace_RETURN - PyTuple_Type c-api/tuple.html#c.PyTuple_Type - PyType_Type c-api/type.html#c.PyType_Type - PyUnicode_Type c-api/unicode.html#c.PyUnicode_Type - Py_BytesWarningFlag c-api/init.html#c.Py_BytesWarningFlag - Py_DebugFlag c-api/init.html#c.Py_DebugFlag - Py_DontWriteBytecodeFlag c-api/init.html#c.Py_DontWriteBytecodeFlag - Py_Ellipsis c-api/slice.html#c.Py_Ellipsis - Py_False c-api/bool.html#c.Py_False - Py_FrozenFlag c-api/init.html#c.Py_FrozenFlag - Py_GenericAliasType c-api/typehints.html#c.Py_GenericAliasType - Py_HashRandomizationFlag c-api/init.html#c.Py_HashRandomizationFlag - Py_IgnoreEnvironmentFlag c-api/init.html#c.Py_IgnoreEnvironmentFlag - Py_InspectFlag c-api/init.html#c.Py_InspectFlag - Py_InteractiveFlag c-api/init.html#c.Py_InteractiveFlag - Py_IsolatedFlag c-api/init.html#c.Py_IsolatedFlag - Py_LegacyWindowsFSEncodingFlag c-api/init.html#c.Py_LegacyWindowsFSEncodingFlag - Py_LegacyWindowsStdioFlag c-api/init.html#c.Py_LegacyWindowsStdioFlag - Py_NoSiteFlag c-api/init.html#c.Py_NoSiteFlag - Py_NoUserSiteDirectory c-api/init.html#c.Py_NoUserSiteDirectory - Py_None c-api/none.html#c.Py_None - Py_NotImplemented c-api/object.html#c.Py_NotImplemented - Py_OptimizeFlag c-api/init.html#c.Py_OptimizeFlag - Py_QuietFlag c-api/init.html#c.Py_QuietFlag - Py_True c-api/bool.html#c.Py_True - Py_UnbufferedStdioFlag c-api/init.html#c.Py_UnbufferedStdioFlag - Py_VerboseFlag c-api/init.html#c.Py_VerboseFlag - Py_eval_input c-api/veryhigh.html#c.Py_eval_input - Py_file_input c-api/veryhigh.html#c.Py_file_input - Py_single_input c-api/veryhigh.html#c.Py_single_input - _Py_NoneStruct c-api/allocation.html#c._Py_NoneStruct py:attribute BaseException.args library/exceptions.html#BaseException.args BlockingIOError.characters_written library/exceptions.html#BlockingIOError.characters_written @@ -1468,11 +3192,11 @@ py:attribute asyncio.Queue.maxsize library/asyncio-queue.html#asyncio.Queue.maxsize asyncio.Server.sockets library/asyncio-eventloop.html#asyncio.Server.sockets asyncio.StreamWriter.transport library/asyncio-stream.html#asyncio.StreamWriter.transport - asyncio.asyncio.subprocess.Process.pid library/asyncio-subprocess.html#asyncio.asyncio.subprocess.Process.pid - asyncio.asyncio.subprocess.Process.returncode library/asyncio-subprocess.html#asyncio.asyncio.subprocess.Process.returncode - asyncio.asyncio.subprocess.Process.stderr library/asyncio-subprocess.html#asyncio.asyncio.subprocess.Process.stderr - asyncio.asyncio.subprocess.Process.stdin library/asyncio-subprocess.html#asyncio.asyncio.subprocess.Process.stdin - asyncio.asyncio.subprocess.Process.stdout library/asyncio-subprocess.html#asyncio.asyncio.subprocess.Process.stdout + asyncio.subprocess.Process.pid library/asyncio-subprocess.html#asyncio.subprocess.Process.pid + asyncio.subprocess.Process.returncode library/asyncio-subprocess.html#asyncio.subprocess.Process.returncode + asyncio.subprocess.Process.stderr library/asyncio-subprocess.html#asyncio.subprocess.Process.stderr + asyncio.subprocess.Process.stdin library/asyncio-subprocess.html#asyncio.subprocess.Process.stdin + asyncio.subprocess.Process.stdout library/asyncio-subprocess.html#asyncio.subprocess.Process.stdout bz2.BZ2Decompressor.eof library/bz2.html#bz2.BZ2Decompressor.eof bz2.BZ2Decompressor.needs_input library/bz2.html#bz2.BZ2Decompressor.needs_input bz2.BZ2Decompressor.unused_data library/bz2.html#bz2.BZ2Decompressor.unused_data @@ -1876,6 +3600,7 @@ py:attribute logging.StreamHandler.terminator library/logging.handlers.html#logging.StreamHandler.terminator logging.handlers.BaseRotatingHandler.namer library/logging.handlers.html#logging.handlers.BaseRotatingHandler.namer logging.handlers.BaseRotatingHandler.rotator library/logging.handlers.html#logging.handlers.BaseRotatingHandler.rotator + logging.handlers.QueueHandler.listener library/logging.handlers.html#logging.handlers.QueueHandler.listener logging.lastResort library/logging.html#logging.lastResort lzma.LZMADecompressor.check library/lzma.html#lzma.LZMADecompressor.check lzma.LZMADecompressor.eof library/lzma.html#lzma.LZMADecompressor.eof @@ -2191,6 +3916,9 @@ py:attribute threading.Thread.ident library/threading.html#threading.Thread.ident threading.Thread.name library/threading.html#threading.Thread.name threading.Thread.native_id library/threading.html#threading.Thread.native_id + tkinter.Tk.children library/tkinter.html#tkinter.Tk.children + tkinter.Tk.master library/tkinter.html#tkinter.Tk.master + tkinter.Tk.tk library/tkinter.html#tkinter.Tk.tk tkinter.scrolledtext.ScrolledText.frame library/tkinter.scrolledtext.html#tkinter.scrolledtext.ScrolledText.frame tkinter.scrolledtext.ScrolledText.vbar library/tkinter.scrolledtext.html#tkinter.scrolledtext.ScrolledText.vbar traceback.TracebackException.__cause__ library/traceback.html#traceback.TracebackException.__cause__ @@ -2557,7 +4285,7 @@ py:class asyncio.WindowsProactorEventLoopPolicy library/asyncio-policy.html#asyncio.WindowsProactorEventLoopPolicy asyncio.WindowsSelectorEventLoopPolicy library/asyncio-policy.html#asyncio.WindowsSelectorEventLoopPolicy asyncio.WriteTransport library/asyncio-protocol.html#asyncio.WriteTransport - asyncio.asyncio.subprocess.Process library/asyncio-subprocess.html#asyncio.asyncio.subprocess.Process + asyncio.subprocess.Process library/asyncio-subprocess.html#asyncio.subprocess.Process asyncore.dispatcher library/asyncore.html#asyncore.dispatcher asyncore.dispatcher_with_send library/asyncore.html#asyncore.dispatcher_with_send asyncore.file_dispatcher library/asyncore.html#asyncore.file_dispatcher @@ -2636,7 +4364,6 @@ py:class contextlib.AsyncExitStack library/contextlib.html#contextlib.AsyncExitStack contextlib.ContextDecorator library/contextlib.html#contextlib.ContextDecorator contextlib.ExitStack library/contextlib.html#contextlib.ExitStack - contextlib.aclosing library/contextlib.html#contextlib.aclosing contextvars.Context library/contextvars.html#contextvars.Context contextvars.ContextVar library/contextvars.html#contextvars.ContextVar contextvars.Token library/contextvars.html#contextvars.Token @@ -3026,6 +4753,7 @@ py:class socketserver.UnixStreamServer library/socketserver.html#socketserver.UnixStreamServer sqlite3.Connection library/sqlite3.html#sqlite3.Connection sqlite3.Cursor library/sqlite3.html#sqlite3.Cursor + sqlite3.PrepareProtocol library/sqlite3.html#sqlite3.PrepareProtocol sqlite3.Row library/sqlite3.html#sqlite3.Row ssl.AlertDescription library/ssl.html#ssl.AlertDescription ssl.MemoryBIO library/ssl.html#ssl.MemoryBIO @@ -3370,9 +5098,9 @@ py:data ast.PyCF_TYPE_COMMENTS library/ast.html#ast.PyCF_TYPE_COMMENTS asynchat.async_chat.ac_in_buffer_size library/asynchat.html#asynchat.async_chat.ac_in_buffer_size asynchat.async_chat.ac_out_buffer_size library/asynchat.html#asynchat.async_chat.ac_out_buffer_size - asyncio.asyncio.subprocess.DEVNULL library/asyncio-subprocess.html#asyncio.asyncio.subprocess.DEVNULL - asyncio.asyncio.subprocess.PIPE library/asyncio-subprocess.html#asyncio.asyncio.subprocess.PIPE - asyncio.asyncio.subprocess.STDOUT library/asyncio-subprocess.html#asyncio.asyncio.subprocess.STDOUT + asyncio.subprocess.DEVNULL library/asyncio-subprocess.html#asyncio.subprocess.DEVNULL + asyncio.subprocess.PIPE library/asyncio-subprocess.html#asyncio.subprocess.PIPE + asyncio.subprocess.STDOUT library/asyncio-subprocess.html#asyncio.subprocess.STDOUT calendar.FRIDAY library/calendar.html#calendar.FRIDAY calendar.MONDAY library/calendar.html#calendar.MONDAY calendar.SATURDAY library/calendar.html#calendar.SATURDAY @@ -4748,9 +6476,12 @@ py:exception socket.gaierror library/socket.html#socket.gaierror socket.herror library/socket.html#socket.herror socket.timeout library/socket.html#socket.timeout + sqlite3.DataError library/sqlite3.html#sqlite3.DataError sqlite3.DatabaseError library/sqlite3.html#sqlite3.DatabaseError sqlite3.Error library/sqlite3.html#sqlite3.Error sqlite3.IntegrityError library/sqlite3.html#sqlite3.IntegrityError + sqlite3.InterfaceError library/sqlite3.html#sqlite3.InterfaceError + sqlite3.InternalError library/sqlite3.html#sqlite3.InternalError sqlite3.NotSupportedError library/sqlite3.html#sqlite3.NotSupportedError sqlite3.OperationalError library/sqlite3.html#sqlite3.OperationalError sqlite3.ProgrammingError library/sqlite3.html#sqlite3.ProgrammingError @@ -5055,6 +6786,7 @@ py:function compileall.compile_path library/compileall.html#compileall.compile_path concurrent.futures.as_completed library/concurrent.futures.html#concurrent.futures.as_completed concurrent.futures.wait library/concurrent.futures.html#concurrent.futures.wait + contextlib.aclosing library/contextlib.html#contextlib.aclosing contextlib.asynccontextmanager library/contextlib.html#contextlib.asynccontextmanager contextlib.closing library/contextlib.html#contextlib.closing contextlib.contextmanager library/contextlib.html#contextlib.contextmanager @@ -5746,6 +7478,7 @@ py:function msvcrt.ungetch library/msvcrt.html#msvcrt.ungetch msvcrt.ungetwch library/msvcrt.html#msvcrt.ungetwch multiprocessing.Array library/multiprocessing.html#multiprocessing.Array + multiprocessing.Manager library/multiprocessing.html#multiprocessing.Manager multiprocessing.Pipe library/multiprocessing.html#multiprocessing.Pipe multiprocessing.Value library/multiprocessing.html#multiprocessing.Value multiprocessing.active_children library/multiprocessing.html#multiprocessing.active_children @@ -5769,7 +7502,6 @@ py:function multiprocessing.sharedctypes.RawValue library/multiprocessing.html#multiprocessing.sharedctypes.RawValue multiprocessing.sharedctypes.Value library/multiprocessing.html#multiprocessing.sharedctypes.Value multiprocessing.sharedctypes.copy library/multiprocessing.html#multiprocessing.sharedctypes.copy - multiprocessing.sharedctypes.multiprocessing.Manager library/multiprocessing.html#multiprocessing.sharedctypes.multiprocessing.Manager multiprocessing.sharedctypes.synchronized library/multiprocessing.html#multiprocessing.sharedctypes.synchronized next library/functions.html#next nis.cat library/nis.html#nis.cat @@ -6979,6 +8711,8 @@ py:function xml.dom.pulldom.parse library/xml.dom.pulldom.html#xml.dom.pulldom.parse xml.dom.pulldom.parseString library/xml.dom.pulldom.html#xml.dom.pulldom.parseString xml.dom.registerDOMImplementation library/xml.dom.html#xml.dom.registerDOMImplementation + xml.etree.ElementInclude.default_loader library/xml.etree.elementtree.html#xml.etree.ElementInclude.default_loader + xml.etree.ElementInclude.include library/xml.etree.elementtree.html#xml.etree.ElementInclude.include xml.etree.ElementTree.Comment library/xml.etree.elementtree.html#xml.etree.ElementTree.Comment xml.etree.ElementTree.ProcessingInstruction library/xml.etree.elementtree.html#xml.etree.ElementTree.ProcessingInstruction xml.etree.ElementTree.SubElement library/xml.etree.elementtree.html#xml.etree.ElementTree.SubElement @@ -6995,8 +8729,6 @@ py:function xml.etree.ElementTree.register_namespace library/xml.etree.elementtree.html#xml.etree.ElementTree.register_namespace xml.etree.ElementTree.tostring library/xml.etree.elementtree.html#xml.etree.ElementTree.tostring xml.etree.ElementTree.tostringlist library/xml.etree.elementtree.html#xml.etree.ElementTree.tostringlist - xml.etree.ElementTree.xml.etree.ElementInclude.default_loader library/xml.etree.elementtree.html#xml.etree.ElementTree.xml.etree.ElementInclude.default_loader - xml.etree.ElementTree.xml.etree.ElementInclude.include library/xml.etree.elementtree.html#xml.etree.ElementTree.xml.etree.ElementInclude.include xml.parsers.expat.ErrorString library/pyexpat.html#xml.parsers.expat.ErrorString xml.parsers.expat.ParserCreate library/pyexpat.html#xml.parsers.expat.ParserCreate xml.sax.make_parser library/xml.sax.html#xml.sax.make_parser @@ -7221,11 +8953,6 @@ py:method asyncio.WriteTransport.write library/asyncio-protocol.html#asyncio.WriteTransport.write asyncio.WriteTransport.write_eof library/asyncio-protocol.html#asyncio.WriteTransport.write_eof asyncio.WriteTransport.writelines library/asyncio-protocol.html#asyncio.WriteTransport.writelines - asyncio.asyncio.subprocess.Process.communicate library/asyncio-subprocess.html#asyncio.asyncio.subprocess.Process.communicate - asyncio.asyncio.subprocess.Process.kill library/asyncio-subprocess.html#asyncio.asyncio.subprocess.Process.kill - asyncio.asyncio.subprocess.Process.send_signal library/asyncio-subprocess.html#asyncio.asyncio.subprocess.Process.send_signal - asyncio.asyncio.subprocess.Process.terminate library/asyncio-subprocess.html#asyncio.asyncio.subprocess.Process.terminate - asyncio.asyncio.subprocess.Process.wait library/asyncio-subprocess.html#asyncio.asyncio.subprocess.Process.wait asyncio.loop.add_reader library/asyncio-eventloop.html#asyncio.loop.add_reader asyncio.loop.add_signal_handler library/asyncio-eventloop.html#asyncio.loop.add_signal_handler asyncio.loop.add_writer library/asyncio-eventloop.html#asyncio.loop.add_writer @@ -7277,6 +9004,11 @@ py:method asyncio.loop.subprocess_exec library/asyncio-eventloop.html#asyncio.loop.subprocess_exec asyncio.loop.subprocess_shell library/asyncio-eventloop.html#asyncio.loop.subprocess_shell asyncio.loop.time library/asyncio-eventloop.html#asyncio.loop.time + asyncio.subprocess.Process.communicate library/asyncio-subprocess.html#asyncio.subprocess.Process.communicate + asyncio.subprocess.Process.kill library/asyncio-subprocess.html#asyncio.subprocess.Process.kill + asyncio.subprocess.Process.send_signal library/asyncio-subprocess.html#asyncio.subprocess.Process.send_signal + asyncio.subprocess.Process.terminate library/asyncio-subprocess.html#asyncio.subprocess.Process.terminate + asyncio.subprocess.Process.wait library/asyncio-subprocess.html#asyncio.subprocess.Process.wait asyncore.dispatcher.accept library/asyncore.html#asyncore.dispatcher.accept asyncore.dispatcher.bind library/asyncore.html#asyncore.dispatcher.bind asyncore.dispatcher.close library/asyncore.html#asyncore.dispatcher.close @@ -9515,6 +11247,8 @@ py:method test.support.BasicTestRunner.run library/test.html#test.support.BasicTestRunner.run test.support.Matcher.match_value library/test.html#test.support.Matcher.match_value test.support.Matcher.matches library/test.html#test.support.Matcher.matches + test.support.SaveSignals.restore library/test.html#test.support.SaveSignals.restore + test.support.SaveSignals.save library/test.html#test.support.SaveSignals.save test.support.bytecode_helper.BytecodeTestCase.assertInBytecode library/test.html#test.support.bytecode_helper.BytecodeTestCase.assertInBytecode test.support.bytecode_helper.BytecodeTestCase.assertNotInBytecode library/test.html#test.support.bytecode_helper.BytecodeTestCase.assertNotInBytecode test.support.bytecode_helper.BytecodeTestCase.get_disassembly_as_string library/test.html#test.support.bytecode_helper.BytecodeTestCase.get_disassembly_as_string @@ -10924,7 +12658,7 @@ std:doc howto/urllib2 HOWTO Fetch Internet Resources Using The urllib Package: howto/urllib2.html install/index Installing Python Modules (Legacy version): install/index.html installing/index Installing Python Modules : installing/index.html - library/2to3 2to3 - Automated Python 2 to 3 code translation: library/2to3.html + library/2to3 2to3 — Automated Python 2 to 3 code translation: library/2to3.html library/__future__ __future__ — Future statement definitions: library/__future__.html library/__main__ __main__ — Top-level code environment : library/__main__.html library/_thread _thread — Low-level threading API : library/_thread.html @@ -11096,7 +12830,7 @@ std:doc library/msilib msilib — Read and write Microsoft Installer files: library/msilib.html library/msvcrt msvcrt — Useful routines from the MS VC++ runtime: library/msvcrt.html library/multiprocessing multiprocessing — Process-based parallelism: library/multiprocessing.html - library/multiprocessing.shared_memory multiprocessing.shared_memory — Provides shared memory for direct access across processes: library/multiprocessing.shared_memory.html + library/multiprocessing.shared_memory multiprocessing.shared_memory — Shared memory for direct access across processes: library/multiprocessing.shared_memory.html library/netdata Internet Data Handling : library/netdata.html library/netrc netrc — netrc file processing : library/netrc.html library/nis nis — Interface to Sun’s NIS (Yellow Pages): library/nis.html @@ -11371,7 +13105,7 @@ std:label 25modules New, Improved, and Removed Modules : whatsnew/2.5.html#modules 26acks Acknowledgements : whatsnew/2.6.html#acks 2to3-fixers Fixers : library/2to3.html#to3-fixers - 2to3-reference 2to3 - Automated Python 2 to 3 code translation: library/2to3.html#to3-reference + 2to3-reference 2to3 — Automated Python 2 to 3 code translation: library/2to3.html#to3-reference 2to3-using Using 2to3 : library/2to3.html#to3-using 37-platform-support-removals Platform Support Removals : whatsnew/3.7.html#platform-support-removals 64-bit-access-rights 64-bit Specific : library/winreg.html#bit-access-rights @@ -11523,7 +13257,7 @@ std:label bpo-36085-whatsnew whatsnew/3.8.html#bpo-36085-whatsnew break The break statement : reference/simple_stmts.html#break browser-controllers Browser Controller Objects : library/webbrowser.html#browser-controllers - bsd0 ZERO-CLAUSE BSD LICENSE FOR CODE IN THE PYTHON 3.10.4 DOCUMENTATION: license.html#bsd0 + bsd0 ZERO-CLAUSE BSD LICENSE FOR CODE IN THE PYTHON 3.10.5 DOCUMENTATION: license.html#bsd0 buffer-request-types Buffer request types : c-api/buffer.html#buffer-request-types buffer-structs Buffer Object Structures : c-api/typeobj.html#buffer-structs buffer-structure Buffer structure : c-api/buffer.html#buffer-structure @@ -11616,6 +13350,7 @@ std:label contributing-to-python Getting started contributing to Python yourself: bugs.html#contributing-to-python conversions Arithmetic conversions : reference/expressions.html#conversions converting-argument-sequence Converting an argument sequence to a string on Windows: library/subprocess.html#converting-argument-sequence + cookbook-ref-links Other resources : howto/logging-cookbook.html#cookbook-ref-links cookbook-rotator-namer Using a rotator and namer to customize log rotation processing: howto/logging-cookbook.html#cookbook-rotator-namer cookie-example Example : library/http.cookies.html#cookie-example cookie-jar-objects CookieJar and FileCookieJar Objects : library/http.cookiejar.html#cookie-jar-objects @@ -11796,7 +13531,7 @@ std:label dtd-handler-objects DTDHandler Objects : library/xml.sax.handler.html#dtd-handler-objects dynamic-features Interaction with dynamic features : reference/executionmodel.html#dynamic-features dynamic-linking Differences Between Unix and Windows : extending/windows.html#dynamic-linking - editing-and-navigation Editing and navigation : library/idle.html#editing-and-navigation + editing-and-navigation Editing and Navigation : library/idle.html#editing-and-navigation editors Editors and IDEs : using/editors.html#editors efficient_string_concatenation What is the most efficient way to concatenate many strings together?: faq/programming.html#efficient-string-concatenation elementinclude-functions Functions : library/xml.etree.elementtree.html#elementinclude-functions @@ -11825,6 +13560,7 @@ std:label epoch library/time.html#epoch epoll-objects Edge and Level Trigger Polling (epoll) Objects: library/select.html#epoll-objects error-handlers Error Handlers : library/codecs.html#error-handlers + escape-sequences reference/lexical_analysis.html#escape-sequences evalorder Evaluation order : reference/expressions.html#evalorder event-objects Event Objects : library/threading.html#event-objects examples-imp Examples : library/imp.html#examples-imp @@ -11957,6 +13693,7 @@ std:label http-redirect-handler HTTPRedirectHandler Objects : library/urllib.request.html#http-redirect-handler http-server-cli library/http.server.html#http-server-cli http-status-codes HTTP status codes : library/http.html#http-status-codes + http.server-security Security Considerations : library/http.server.html#http-server-security http_error_nnn library/urllib.request.html#http-error-nnn httpconnection-objects HTTPConnection Objects : library/http.client.html#httpconnection-objects httpmessage-objects HTTPMessage Objects : library/http.client.html#httpmessage-objects @@ -12380,7 +14117,7 @@ std:label proxy-basic-auth-handler ProxyBasicAuthHandler Objects : library/urllib.request.html#proxy-basic-auth-handler proxy-digest-auth-handler ProxyDigestAuthHandler Objects : library/urllib.request.html#proxy-digest-auth-handler proxy-handler ProxyHandler Objects : library/urllib.request.html#proxy-handler - psf-license PSF LICENSE AGREEMENT FOR PYTHON 3.10.4 : license.html#psf-license + psf-license PSF LICENSE AGREEMENT FOR PYTHON 3.10.5 : license.html#psf-license publishing-python-packages Reading the Python Packaging User Guide : distributing/index.html#publishing-python-packages pure-embedding Pure Embedding : extending/embedding.html#pure-embedding pure-mod Pure Python distribution (by module) : distutils/examples.html#pure-mod @@ -12516,6 +14253,9 @@ std:label specialattrs Special Attributes : library/stdtypes.html#specialattrs specialnames Special method names : reference/datamodel.html#specialnames spoken-messages Speaking logging messages : howto/logging-cookbook.html#spoken-messages + sqlite3-adapter-converter-recipes Adapter and Converter Recipes : library/sqlite3.html#sqlite3-adapter-converter-recipes + sqlite3-conform Letting your object adapt itself : library/sqlite3.html#sqlite3-conform + sqlite3-connection-context-manager Using the connection as a context manager: library/sqlite3.html#sqlite3-connection-context-manager sqlite3-connection-objects Connection Objects : library/sqlite3.html#sqlite3-connection-objects sqlite3-controlling-transactions Controlling Transactions : library/sqlite3.html#sqlite3-controlling-transactions sqlite3-cursor-objects Cursor Objects : library/sqlite3.html#sqlite3-cursor-objects @@ -12524,6 +14264,7 @@ std:label sqlite3-placeholders library/sqlite3.html#sqlite3-placeholders sqlite3-row-objects Row Objects : library/sqlite3.html#sqlite3-row-objects sqlite3-types SQLite and Python types : library/sqlite3.html#sqlite3-types + sqlite3-uri-tricks SQLite URI tricks : library/sqlite3.html#sqlite3-uri-tricks ssl-certificates Certificates : library/ssl.html#ssl-certificates ssl-nonblocking Notes on non-blocking sockets : library/ssl.html#ssl-nonblocking ssl-security Security considerations : library/ssl.html#ssl-security diff --git a/doc/_intersphinx/rllib.inv b/doc/_intersphinx/rllib.inv deleted file mode 100644 index e4b02ae4d316ffd9eabd2d83b4d698bc43eaf1f7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 30069 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%0DBuz2osu5|n6z%**#B>kY4+pGLk=-@L$<9o9B%m> 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 : _includes/_contribute.html - _includes/_help : _includes/_help.html - _includes/clusters/announcement : _includes/clusters/announcement.html - _includes/clusters/announcement_bottom : _includes/clusters/announcement_bottom.html - _includes/core/announcement : _includes/core/announcement.html - _includes/core/announcement_bottom : _includes/core/announcement_bottom.html - _includes/data/announcement : _includes/data/announcement.html - _includes/data/announcement_bottom : _includes/data/announcement_bottom.html - _includes/overview/announcement : _includes/overview/announcement.html - _includes/overview/announcement_bottom : _includes/overview/announcement_bottom.html - _includes/rllib/announcement : _includes/rllib/announcement.html - _includes/rllib/announcement_bottom : _includes/rllib/announcement_bottom.html - _includes/rllib/we_are_hiring : _includes/rllib/we_are_hiring.html - _includes/serve/announcement : _includes/serve/announcement.html - _includes/serve/announcement_bottom : _includes/serve/announcement_bottom.html - _includes/train/announcement : _includes/train/announcement.html - _includes/train/announcement_bottom : _includes/train/announcement_bottom.html - _includes/tune/announcement : _includes/tune/announcement.html - _includes/tune/announcement_bottom : _includes/tune/announcement_bottom.html - cluster/api Ray Cluster API : cluster/api.html - cluster/aws-tips AWS Configurations : cluster/aws-tips.html - cluster/cloud Launching Cloud Clusters : cluster/cloud.html - cluster/commands Cluster Launcher Commands : cluster/commands.html - cluster/config Cluster YAML Configuration Options : cluster/config.html - cluster/deploy Ray with Cluster Managers : cluster/deploy.html - cluster/examples/slurm-basic slurm-basic.sh : cluster/examples/slurm-basic.html - cluster/examples/slurm-launch slurm-launch.py : cluster/examples/slurm-launch.html - cluster/examples/slurm-template slurm-template.sh : cluster/examples/slurm-template.html - cluster/guide Cluster Deployment Guide : cluster/guide.html - cluster/index Ray Cluster Overview : cluster/index.html - cluster/job-submission Ray Job Submission : cluster/job-submission.html - cluster/jobs-package-ref Ray Job Submission API : cluster/jobs-package-ref.html - cluster/kuberay Deploying with KubeRay (experimental) : cluster/kuberay.html - cluster/kubernetes Deploying on Kubernetes : cluster/kubernetes.html - cluster/kubernetes-advanced Ray Operator Advanced Configuration : cluster/kubernetes-advanced.html - cluster/kubernetes-gpu GPU Usage with Kubernetes : cluster/kubernetes-gpu.html - cluster/kubernetes-manual Deploying a Static Ray Cluster on Kubernetes: cluster/kubernetes-manual.html - cluster/lsf Deploying on LSF : cluster/lsf.html - cluster/quickstart Ray Cluster Quick Start : cluster/quickstart.html - cluster/ray-client Ray Client: Interactive Development : cluster/ray-client.html - cluster/reference Ray Cluster Config YAML and CLI : cluster/reference.html - cluster/sdk Autoscaler SDK : cluster/sdk.html - cluster/slurm Deploying on Slurm : cluster/slurm.html - cluster/user-guide Deployment Guide : cluster/user-guide.html - cluster/we_are_hiring : cluster/we_are_hiring.html - cluster/yarn Deploying on YARN : cluster/yarn.html - data/advanced-pipelines Advanced Pipeline Usage : data/advanced-pipelines.html - data/creating-datasets Creating Datasets : data/creating-datasets.html - data/custom-data Using Custom Datasources : data/custom-data.html - data/dask-on-ray Using Dask on Ray : data/dask-on-ray.html - data/dataset Ray Datasets: Distributed Data Loading and Compute: data/dataset.html - data/dataset-ml-preprocessing ML Preprocessing : data/dataset-ml-preprocessing.html - data/dataset-tensor-support Working with Tensors : data/dataset-tensor-support.html - data/examples/big_data_ingestion Example: Large-scale ML Ingest : data/examples/big_data_ingestion.html - data/exchanging-datasets Exchanging Datasets : data/exchanging-datasets.html - data/getting-started Getting Started : data/getting-started.html - data/integrations Integrations : data/integrations.html - data/key-concepts Key Concepts : data/key-concepts.html - data/mars-on-ray Using Mars on Ray : data/mars-on-ray.html - data/modin/index Using Pandas on Ray (Modin) : data/modin/index.html - data/package-ref Ray Datasets API : data/package-ref.html - data/performance-tips Performance Tips and Tuning : data/performance-tips.html - data/pipelining-compute Pipelining Compute : data/pipelining-compute.html - data/random-access Random Data Access (Experimental) : data/random-access.html - data/raydp Using Spark on Ray (RayDP) : data/raydp.html - data/saving-datasets Saving Datasets : data/saving-datasets.html - data/transforming-datasets Transforming Datasets : data/transforming-datasets.html - data/user-guide User Guides : data/user-guide.html - index Welcome to the Ray documentation : index.html - ray-air/getting-started Ray AI Runtime (alpha) : ray-air/getting-started.html - ray-contribute/debugging Debugging (internal) : ray-contribute/debugging.html - ray-contribute/development Building Ray from Source : ray-contribute/development.html - ray-contribute/docs Contributing to the Ray Documentation : ray-contribute/docs.html - ray-contribute/fake-autoscaler Testing Autoscaling Locally : ray-contribute/fake-autoscaler.html - ray-contribute/getting-involved Getting Involved / Contributing : ray-contribute/getting-involved.html - ray-contribute/involvement : ray-contribute/involvement.html - ray-contribute/profiling Profiling (internal) : ray-contribute/profiling.html - ray-contribute/whitepaper Architecture Whitepaper : ray-contribute/whitepaper.html - ray-core/actors Actors : ray-core/actors.html - ray-core/actors/actor-utils Utility Classes : ray-core/actors/actor-utils.html - ray-core/actors/async_api AsyncIO / Concurrency for Actors : ray-core/actors/async_api.html - ray-core/actors/concurrency_group_api Limiting Concurrency Per-Method with Concurrency Groups: ray-core/actors/concurrency_group_api.html - ray-core/actors/fault-tolerance Fault Tolerance : ray-core/actors/fault-tolerance.html - ray-core/actors/named-actors Named Actors : ray-core/actors/named-actors.html - ray-core/actors/patterns/actor-sync Pattern: Multi-node synchronization using an Actor: ray-core/actors/patterns/actor-sync.html - ray-core/actors/patterns/concurrent-operations-async-actor Pattern: Concurrent operations with async actor: ray-core/actors/patterns/concurrent-operations-async-actor.html - ray-core/actors/patterns/fault-tolerance-actor-checkpointing Pattern: Fault Tolerance with Actor Checkpointing: ray-core/actors/patterns/fault-tolerance-actor-checkpointing.html - ray-core/actors/patterns/index Actor Design Patterns : ray-core/actors/patterns/index.html - ray-core/actors/patterns/overlapping-computation-communication Pattern: Overlapping computation and communication: ray-core/actors/patterns/overlapping-computation-communication.html - ray-core/actors/patterns/tree-of-actors Pattern: Tree of actors : ray-core/actors/patterns/tree-of-actors.html - ray-core/actors/terminating-actors Terminating Actors : ray-core/actors/terminating-actors.html - ray-core/advanced Miscellaneous Topics : ray-core/advanced.html - ray-core/configure Configuring Ray : ray-core/configure.html - ray-core/cross-language Cross-Language Programming : ray-core/cross-language.html - ray-core/examples/dask_xgboost/dask_xgboost XGBoost-Ray with Dask : ray-core/examples/dask_xgboost/dask_xgboost.html - ray-core/examples/modin_xgboost/modin_xgboost XGBoost-Ray with Modin : ray-core/examples/modin_xgboost/modin_xgboost.html - ray-core/examples/overview Ray Tutorials and Examples : ray-core/examples/overview.html - ray-core/examples/plot_example-a3c Asynchronous Advantage Actor Critic (A3C): ray-core/examples/plot_example-a3c.html - ray-core/examples/plot_example-lm Fault-Tolerant Fairseq Training : ray-core/examples/plot_example-lm.html - ray-core/examples/plot_hyperparameter Simple Parallel Model Selection : ray-core/examples/plot_hyperparameter.html - ray-core/examples/plot_lbfgs Batch L-BFGS : ray-core/examples/plot_lbfgs.html - ray-core/examples/plot_parameter_server Parameter Server : ray-core/examples/plot_parameter_server.html - ray-core/examples/plot_pong_example Learning to Play Pong : ray-core/examples/plot_pong_example.html - ray-core/examples/testing-tips Tips for testing Ray programs : ray-core/examples/testing-tips.html - ray-core/examples/using-ray-with-pytorch-lightning Using Ray with Pytorch Lightning : ray-core/examples/using-ray-with-pytorch-lightning.html - ray-core/handling-dependencies Environment Dependencies : ray-core/handling-dependencies.html - ray-core/key-concepts Key Concepts : ray-core/key-concepts.html - ray-core/more-topics More Topics : ray-core/more-topics.html - ray-core/namespaces Using Namespaces : ray-core/namespaces.html - ray-core/objects Objects : ray-core/objects.html - ray-core/objects/fault-tolerance Fault Tolerance : ray-core/objects/fault-tolerance.html - ray-core/objects/memory-management Memory Management : ray-core/objects/memory-management.html - ray-core/objects/object-spilling Object Spilling : ray-core/objects/object-spilling.html - ray-core/objects/serialization Serialization : ray-core/objects/serialization.html - ray-core/package-ref Ray Core API : ray-core/package-ref.html - ray-core/placement-group Placement Groups : ray-core/placement-group.html - ray-core/ray-dashboard Ray Dashboard : ray-core/ray-dashboard.html - ray-core/starting-ray Starting Ray : ray-core/starting-ray.html - ray-core/tasks Tasks : ray-core/tasks.html - ray-core/tasks/fault-tolerance Fault Tolerance : ray-core/tasks/fault-tolerance.html - ray-core/tasks/nested-tasks Nested Remote Functions : ray-core/tasks/nested-tasks.html - ray-core/tasks/patterns/closure-capture Antipattern: Closure capture of large / unserializable object: ray-core/tasks/patterns/closure-capture.html - ray-core/tasks/patterns/fine-grained-tasks Antipattern: Too fine-grained tasks : ray-core/tasks/patterns/fine-grained-tasks.html - ray-core/tasks/patterns/global-variables Antipattern: Unnecessary call of ray.get in a task: ray-core/tasks/patterns/global-variables.html - ray-core/tasks/patterns/index Task Design Patterns : ray-core/tasks/patterns/index.html - ray-core/tasks/patterns/limit-tasks Pattern: Using ray.wait to limit the number of in-flight tasks: ray-core/tasks/patterns/limit-tasks.html - ray-core/tasks/patterns/map-reduce Pattern: Map and reduce : ray-core/tasks/patterns/map-reduce.html - ray-core/tasks/patterns/ray-get-loop Antipattern: Calling ray.get in a loop : ray-core/tasks/patterns/ray-get-loop.html - ray-core/tasks/patterns/redefine-task-actor-loop Antipattern: Redefining task or actor in loop: ray-core/tasks/patterns/redefine-task-actor-loop.html - ray-core/tasks/patterns/submission-order Antipattern: Processing results in submission order using ray.get: ray-core/tasks/patterns/submission-order.html - ray-core/tasks/patterns/too-many-results Antipattern: Fetching too many results at once with ray.get: ray-core/tasks/patterns/too-many-results.html - ray-core/tasks/patterns/tree-of-tasks Pattern: Tree of tasks : ray-core/tasks/patterns/tree-of-tasks.html - ray-core/tasks/patterns/unnecessary-ray-get Antipattern: Accessing Global Variable in Tasks/Actors: ray-core/tasks/patterns/unnecessary-ray-get.html - ray-core/tasks/resources Specifying Required Resources : ray-core/tasks/resources.html - ray-core/tasks/using-ray-with-gpus GPU Support : ray-core/tasks/using-ray-with-gpus.html - ray-core/tips-for-first-time Tips for first-time users : ray-core/tips-for-first-time.html - ray-core/troubleshooting Debugging and Profiling : ray-core/troubleshooting.html - ray-core/user-guide User Guides : ray-core/user-guide.html - ray-core/using-ray-with-jupyter Working with Jupyter Notebooks & JupyterLab: ray-core/using-ray-with-jupyter.html - ray-core/walkthrough Ray Core Walkthrough : ray-core/walkthrough.html - ray-more-libs/index More Ray ML Libraries : ray-more-libs/index.html - ray-more-libs/joblib Distributed Scikit-learn / Joblib : ray-more-libs/joblib.html - ray-more-libs/lightgbm-ray Distributed LightGBM on Ray : ray-more-libs/lightgbm-ray.html - ray-more-libs/multiprocessing Distributed multiprocessing.Pool : ray-more-libs/multiprocessing.html - ray-more-libs/ray-collective Ray Collective Communication Lib : ray-more-libs/ray-collective.html - ray-more-libs/ray-lightning Distributed PyTorch Lightning Training on Ray: ray-more-libs/ray-lightning.html - ray-more-libs/xgboost-ray Distributed XGBoost on Ray : ray-more-libs/xgboost-ray.html - ray-observability/index Observability : ray-observability/index.html - ray-observability/ray-debugging Ray Debugger : ray-observability/ray-debugging.html - ray-observability/ray-logging Logging : ray-observability/ray-logging.html - ray-observability/ray-metrics Exporting Metrics : ray-observability/ray-metrics.html - ray-observability/ray-tracing Tracing : ray-observability/ray-tracing.html - ray-overview/doc_test/README Tests for ray.io code snippets : ray-overview/doc_test/README.html - ray-overview/index Getting Started Guide : ray-overview/index.html - ray-overview/installation Installing Ray : ray-overview/installation.html - ray-overview/learn-more Learn More : ray-overview/learn-more.html - ray-overview/ray-libraries Ecosystem : ray-overview/ray-libraries.html - ray-references/api API References : ray-references/api.html - ray-references/faq FAQ : ray-references/faq.html - raysgd/raysgd RaySGD: Distributed Training Wrappers : raysgd/raysgd.html - raysgd/raysgd_pytorch Distributed PyTorch : raysgd/raysgd_pytorch.html - raysgd/raysgd_ref RaySGD API Reference : raysgd/raysgd_ref.html - raysgd/raysgd_tensorflow Distributed TensorFlow : raysgd/raysgd_tensorflow.html - raysgd/raysgd_tune RaySGD Hyperparameter Tuning : raysgd/raysgd_tune.html - rllib/core-concepts Key Concepts : rllib/core-concepts.html - rllib/feature_overview : rllib/feature_overview.html - rllib/index RLlib: Industry-Grade Reinforcement Learning: rllib/index.html - rllib/package_ref/env Environments : rllib/package_ref/env.html - rllib/package_ref/env/base_env BaseEnv API : rllib/package_ref/env/base_env.html - rllib/package_ref/env/external_env ExternalEnv API : rllib/package_ref/env/external_env.html - rllib/package_ref/env/multi_agent_env MultiAgentEnv API : rllib/package_ref/env/multi_agent_env.html - rllib/package_ref/env/vector_env VectorEnv API : rllib/package_ref/env/vector_env.html - rllib/package_ref/evaluation Evaluation and Environment Rollout : rllib/package_ref/evaluation.html - rllib/package_ref/evaluation/policy_map PolicyMap (ray.rllib.policy.policy_map.PolicyMap): rllib/package_ref/evaluation/policy_map.html - rllib/package_ref/evaluation/rollout_worker RolloutWorker : rllib/package_ref/evaluation/rollout_worker.html - rllib/package_ref/evaluation/sample_batch Sample Batches : rllib/package_ref/evaluation/sample_batch.html - rllib/package_ref/evaluation/samplers Environment Samplers : rllib/package_ref/evaluation/samplers.html - rllib/package_ref/evaluation/worker_set WorkerSet : rllib/package_ref/evaluation/worker_set.html - rllib/package_ref/execution Distributed Execution API : rllib/package_ref/execution.html - rllib/package_ref/index Ray RLlib API : rllib/package_ref/index.html - rllib/package_ref/models Model APIs : rllib/package_ref/models.html - rllib/package_ref/offline Offline RL : rllib/package_ref/offline.html - rllib/package_ref/policy Policies : rllib/package_ref/policy.html - rllib/package_ref/policy/custom_policies Building Custom Policy Classes : rllib/package_ref/policy/custom_policies.html - rllib/package_ref/policy/policy Base Policy class (ray.rllib.policy.policy.Policy): rllib/package_ref/policy/policy.html - rllib/package_ref/policy/tf_policies TensorFlow-Specific Sub-Classes : rllib/package_ref/policy/tf_policies.html - rllib/package_ref/policy/torch_policy Torch-Specific Policy: TorchPolicy : rllib/package_ref/policy/torch_policy.html - rllib/package_ref/trainer Trainer API : rllib/package_ref/trainer.html - rllib/package_ref/utils RLlib Utilities : rllib/package_ref/utils.html - rllib/package_ref/utils/annotations RLlib Annotations/Decorators : rllib/package_ref/utils/annotations.html - rllib/package_ref/utils/deprecation Deprecation Tools/Utils : rllib/package_ref/utils/deprecation.html - rllib/package_ref/utils/exploration Exploration API : rllib/package_ref/utils/exploration.html - rllib/package_ref/utils/framework Deep Learning Framework (tf vs torch) Utilities: rllib/package_ref/utils/framework.html - rllib/package_ref/utils/numpy Numpy Utility Functions : rllib/package_ref/utils/numpy.html - rllib/package_ref/utils/schedules Schedules API : rllib/package_ref/utils/schedules.html - rllib/package_ref/utils/tf_utils TensorFlow Utility Functions : rllib/package_ref/utils/tf_utils.html - rllib/package_ref/utils/torch_utils PyTorch Utility Functions : rllib/package_ref/utils/torch_utils.html - rllib/rllib-algorithms Algorithms : rllib/rllib-algorithms.html - rllib/rllib-concepts How To Customize Policies : rllib/rllib-concepts.html - rllib/rllib-dev How To Contribute to RLlib : rllib/rllib-dev.html - rllib/rllib-env Environments : rllib/rllib-env.html - rllib/rllib-examples Examples : rllib/rllib-examples.html - rllib/rllib-models Models, Preprocessors, and Action Distributions: rllib/rllib-models.html - rllib/rllib-offline Working With Offline Data : rllib/rllib-offline.html - rllib/rllib-sample-collection Sample Collections and Trajectory Views : rllib/rllib-sample-collection.html - rllib/rllib-training Training APIs : rllib/rllib-training.html - rllib/user-guides User Guides : rllib/user-guides.html - serve/architecture Serve Architecture : serve/architecture.html - serve/core-apis Core API: Deployments : serve/core-apis.html - serve/deployment Deploying Ray Serve : serve/deployment.html - serve/deployment-graph Deployment Graph : serve/deployment-graph.html - serve/end_to_end_tutorial End-to-End Tutorial : serve/end_to_end_tutorial.html - serve/faq Ray Serve FAQ : serve/faq.html - serve/http-servehandle Calling Deployments via HTTP and Python : serve/http-servehandle.html - serve/index Serve: Scalable and Programmable Serving: serve/index.html - serve/ml-models Serving ML Models : serve/ml-models.html - serve/package-ref Ray Serve API : serve/package-ref.html - serve/performance Performance Tuning : serve/performance.html - serve/tutorials/batch Batching Tutorial : serve/tutorials/batch.html - serve/tutorials/index Advanced Tutorials : serve/tutorials/index.html - serve/tutorials/pytorch PyTorch Tutorial : serve/tutorials/pytorch.html - serve/tutorials/rllib Serving RLlib Models : serve/tutorials/rllib.html - serve/tutorials/sklearn Scikit-Learn Tutorial : serve/tutorials/sklearn.html - serve/tutorials/tensorflow Keras and Tensorflow Tutorial : serve/tutorials/tensorflow.html - serve/tutorials/web-server-integration Integration with Existing Web Servers : serve/tutorials/web-server-integration.html - train/api Ray Train API : train/api.html - train/architecture Ray Train Architecture : train/architecture.html - train/examples Ray Train Examples : train/examples.html - train/examples/horovod/horovod_example horovod_example : train/examples/horovod/horovod_example.html - train/examples/mlflow_fashion_mnist_example mlflow_fashion_mnist_example : train/examples/mlflow_fashion_mnist_example.html - train/examples/tensorflow_linear_dataset_example tensorflow_linear_dataset_example : train/examples/tensorflow_linear_dataset_example.html - train/examples/tensorflow_mnist_example tensorflow_mnist_example : train/examples/tensorflow_mnist_example.html - train/examples/torch_data_prefetch_benchmark/benchmark_example Torch Data Prefetching Benchmark : train/examples/torch_data_prefetch_benchmark/benchmark_example.html - train/examples/train_fashion_mnist_example train_fashion_mnist_example : train/examples/train_fashion_mnist_example.html - train/examples/train_linear_dataset_example train_linear_dataset_example : train/examples/train_linear_dataset_example.html - train/examples/train_linear_example train_linear_example : train/examples/train_linear_example.html - train/examples/transformers/transformers_example transformers_example : train/examples/transformers/transformers_example.html - train/examples/tune_cifar_pytorch_pbt_example tune_cifar_pytorch_pbt_example : train/examples/tune_cifar_pytorch_pbt_example.html - train/examples/tune_linear_dataset_example tune_linear_dataset_example : train/examples/tune_linear_dataset_example.html - train/examples/tune_linear_example tune_linear_example : train/examples/tune_linear_example.html - train/examples/tune_tensorflow_mnist_example tune_tensorflow_mnist_example : train/examples/tune_tensorflow_mnist_example.html - train/migration-guide Migrating from Ray SGD to Ray Train : train/migration-guide.html - train/train Ray Train: Distributed Deep Learning : train/train.html - train/user_guide Ray Train User Guide : train/user_guide.html - tune/api_docs/analysis Analysis (tune.analysis) : tune/api_docs/analysis.html - tune/api_docs/cli Tune CLI (Experimental) : tune/api_docs/cli.html - tune/api_docs/client Tune Client API : tune/api_docs/client.html - tune/api_docs/env Environment variables : tune/api_docs/env.html - tune/api_docs/execution Execution (tune.run, tune.Experiment) : tune/api_docs/execution.html - tune/api_docs/integration External library integrations (tune.integration): tune/api_docs/integration.html - tune/api_docs/internals Tune Internals : tune/api_docs/internals.html - tune/api_docs/logging Loggers (tune.logger) : tune/api_docs/logging.html - tune/api_docs/overview Ray Tune API : tune/api_docs/overview.html - tune/api_docs/reporters Console Output (Reporters) : tune/api_docs/reporters.html - tune/api_docs/schedulers Trial Schedulers (tune.schedulers) : tune/api_docs/schedulers.html - tune/api_docs/search_space Search Space API : tune/api_docs/search_space.html - tune/api_docs/sklearn Scikit-Learn API (tune.sklearn) : tune/api_docs/sklearn.html - tune/api_docs/stoppers Stopping mechanisms (tune.stopper) : tune/api_docs/stoppers.html - tune/api_docs/suggestion Search Algorithms (tune.suggest) : tune/api_docs/suggestion.html - tune/api_docs/trainable Training (tune.Trainable, tune.report) : tune/api_docs/trainable.html - tune/examples/horovod_simple Using Horovod with Tune : tune/examples/horovod_simple.html - tune/examples/hyperopt_example Running Tune experiments with HyperOpt : tune/examples/hyperopt_example.html - tune/examples/includes/async_hyperband_example Asynchronous HyperBand Example : tune/examples/includes/async_hyperband_example.html - tune/examples/includes/ax_example AX Example : tune/examples/includes/ax_example.html - tune/examples/includes/bayesopt_example BayesOpt Example : tune/examples/includes/bayesopt_example.html - tune/examples/includes/blendsearch_example Blendsearch Example : tune/examples/includes/blendsearch_example.html - tune/examples/includes/bohb_example BOHB Example : tune/examples/includes/bohb_example.html - tune/examples/includes/cfo_example CFO Example : tune/examples/includes/cfo_example.html - tune/examples/includes/custom_func_checkpointing Custom Checkpointing Example : tune/examples/includes/custom_func_checkpointing.html - tune/examples/includes/ddp_mnist_torch DDP Mnist Torch Example : tune/examples/includes/ddp_mnist_torch.html - tune/examples/includes/dragonfly_example Dragonfly Example : tune/examples/includes/dragonfly_example.html - tune/examples/includes/durable_trainable_example Durable Trainable Example : tune/examples/includes/durable_trainable_example.html - tune/examples/includes/genetic_example Genetic Search Example : tune/examples/includes/genetic_example.html - tune/examples/includes/hebo_example HEBO Example : tune/examples/includes/hebo_example.html - tune/examples/includes/hyperband_example HyperBand Example : tune/examples/includes/hyperband_example.html - tune/examples/includes/hyperband_function_example HyperBand Function Example : tune/examples/includes/hyperband_function_example.html - tune/examples/includes/hyperopt_conditional_search_space_example Hyperopt Conditional Search Space Example: tune/examples/includes/hyperopt_conditional_search_space_example.html - tune/examples/includes/logging_example Logging Example : tune/examples/includes/logging_example.html - tune/examples/includes/mlflow_example MLflow Example : tune/examples/includes/mlflow_example.html - tune/examples/includes/mlflow_ptl_example MLflow PyTorch Lightning Example : tune/examples/includes/mlflow_ptl_example.html - tune/examples/includes/mnist_ptl_mini MNIST PyTorch Lightning Example : tune/examples/includes/mnist_ptl_mini.html - tune/examples/includes/mnist_pytorch MNIST PyTorch Example : tune/examples/includes/mnist_pytorch.html - tune/examples/includes/mnist_pytorch_trainable MNIST PyTorch Trainable Example : tune/examples/includes/mnist_pytorch_trainable.html - tune/examples/includes/nevergrad_example Nevergrad Example : tune/examples/includes/nevergrad_example.html - tune/examples/includes/optuna_define_by_run_example Optuna Define-By-Run Example : tune/examples/includes/optuna_define_by_run_example.html - tune/examples/includes/optuna_example Optuna Example : tune/examples/includes/optuna_example.html - tune/examples/includes/optuna_multiobjective_example Optuna Multi-Objective Example : tune/examples/includes/optuna_multiobjective_example.html - tune/examples/includes/pb2_example PB2 Example : tune/examples/includes/pb2_example.html - tune/examples/includes/pb2_ppo_example PB2 PPO Example : tune/examples/includes/pb2_ppo_example.html - tune/examples/includes/pbt_convnet_function_example PBT ConvNet Example : tune/examples/includes/pbt_convnet_function_example.html - tune/examples/includes/pbt_example PBT Example : tune/examples/includes/pbt_example.html - tune/examples/includes/pbt_function PBT Function Example : tune/examples/includes/pbt_function.html - tune/examples/includes/pbt_memnn_example Memory NN Example : tune/examples/includes/pbt_memnn_example.html - tune/examples/includes/pbt_tune_cifar10_with_keras Keras Cifar10 Example : tune/examples/includes/pbt_tune_cifar10_with_keras.html - tune/examples/includes/sigopt_example SigOpt Example : tune/examples/includes/sigopt_example.html - tune/examples/includes/sigopt_multi_objective_example SigOpt Multi-Objective Example : tune/examples/includes/sigopt_multi_objective_example.html - tune/examples/includes/sigopt_prior_beliefs_example SigOpt Prior Belief Example : tune/examples/includes/sigopt_prior_beliefs_example.html - tune/examples/includes/skopt_example SkOpt Example : tune/examples/includes/skopt_example.html - tune/examples/includes/tf_mnist_example TensorFlow MNIST Example : tune/examples/includes/tf_mnist_example.html - tune/examples/includes/tune_basic_example tune_basic_example : tune/examples/includes/tune_basic_example.html - tune/examples/includes/tune_cifar10_gluon tune_cifar10_gluon : tune/examples/includes/tune_cifar10_gluon.html - tune/examples/includes/xgboost_dynamic_resources_example XGBoost Dynamic Resources Example : tune/examples/includes/xgboost_dynamic_resources_example.html - tune/examples/includes/zoopt_example ZOOpt Example : tune/examples/includes/zoopt_example.html - tune/examples/index Examples : tune/examples/index.html - tune/examples/lightgbm_example Using LightGBM with Tune : tune/examples/lightgbm_example.html - tune/examples/mxnet_example Using MXNet with Tune : tune/examples/mxnet_example.html - tune/examples/pbt_ppo_example Using RLlib with Tune : tune/examples/pbt_ppo_example.html - tune/examples/pbt_transformers Using |:hugging_face:| Huggingface Transformers with Tune: tune/examples/pbt_transformers.html - tune/examples/tune-comet Using Comet with Tune : tune/examples/tune-comet.html - tune/examples/tune-mlflow Using MLflow with Tune : tune/examples/tune-mlflow.html - tune/examples/tune-pytorch-cifar How to use Tune with PyTorch : tune/examples/tune-pytorch-cifar.html - tune/examples/tune-pytorch-lightning Using PyTorch Lightning with Tune : tune/examples/tune-pytorch-lightning.html - tune/examples/tune-serve-integration-mnist Model selection and serving with Ray Tune and Ray Serve: tune/examples/tune-serve-integration-mnist.html - tune/examples/tune-sklearn Tune’s Scikit Learn Adapters : tune/examples/tune-sklearn.html - tune/examples/tune-wandb Using Weights & Biases with Tune : tune/examples/tune-wandb.html - tune/examples/tune-xgboost Tuning XGBoost parameters : tune/examples/tune-xgboost.html - tune/examples/tune_mnist_keras Using Keras & TensorFlow with Tune : tune/examples/tune_mnist_keras.html - tune/faq Ray Tune FAQ : tune/faq.html - tune/getting-started Getting Started : tune/getting-started.html - tune/index Tune: Scalable Hyperparameter Tuning : tune/index.html - tune/key-concepts Key Concepts : tune/key-concepts.html - tune/tutorials/overview User Guides : tune/tutorials/overview.html - tune/tutorials/tune-advanced-tutorial A Guide to Population Based Training : tune/tutorials/tune-advanced-tutorial.html - tune/tutorials/tune-checkpoints A Guide To Using Checkpoints : tune/tutorials/tune-checkpoints.html - tune/tutorials/tune-distributed Tune Distributed Experiments : tune/tutorials/tune-distributed.html - tune/tutorials/tune-lifecycle How does Tune work? : tune/tutorials/tune-lifecycle.html - tune/tutorials/tune-metrics A Guide To Callbacks & Metrics in Tune : tune/tutorials/tune-metrics.html - tune/tutorials/tune-output A Guide To Logging & Outputs in Tune : tune/tutorials/tune-output.html - tune/tutorials/tune-resources A Guide To Parallelism and Resources : tune/tutorials/tune-resources.html - tune/tutorials/tune-scalability Scalability and Overhead Benchmarks : tune/tutorials/tune-scalability.html - tune/tutorials/tune-search-spaces Working with Tune Search Spaces : tune/tutorials/tune-search-spaces.html - tune/tutorials/tune-stopping Stopping and Resuming Tune Trials : tune/tutorials/tune-stopping.html - workflows/actors Virtual Actors : workflows/actors.html - workflows/advanced Advanced Topics : workflows/advanced.html - workflows/basics Workflow Basics : workflows/basics.html - workflows/comparison API Comparisons : workflows/comparison.html - workflows/concepts Workflows: Fast, Durable Application Flows: workflows/concepts.html - workflows/events Events : workflows/events.html - workflows/management Workflow Management : workflows/management.html - workflows/metadata Workflow Metadata : workflows/metadata.html - workflows/package-ref Ray Workflows API : workflows/package-ref.html -std:label - a3c Advantage Actor-Critic (A2C, A3C) : rllib/rllib-algorithms.html#a3c - actor-fault-tolerance Fault Tolerance : ray-core/actors/fault-tolerance.html#actor-fault-tolerance - actor-guide Actors : ray-core/actors.html#actor-guide - actor-lifetimes Actor Lifetimes : ray-core/actors/named-actors.html#actor-lifetimes - actor-patterns Actor Design Patterns : ray-core/actors/patterns/index.html#actor-patterns - actor-resource-guide ray-core/actors.html#actor-resource-guide - additional-instruments Additional Instruments : ray-observability/ray-tracing.html#additional-instruments - air-serve-integration Serving : ray-air/getting-started.html#air-serve-integration - alphazero Single-Player Alpha Zero (contrib/AlphaZero): rllib/rllib-algorithms.html#alphazero - annotations-reference-docs RLlib Annotations/Decorators : rllib/package_ref/utils/annotations.html#annotations-reference-docs - apex Distributed Prioritized Experience Replay (Ape-X): rllib/rllib-algorithms.html#apex - apple-silcon-supprt M1 Mac (Apple Silicon) Support : ray-overview/installation.html#apple-silcon-supprt - application-level-metrics Application-level Metrics : ray-observability/ray-metrics.html#application-level-metrics - appo Asynchronous Proximal Policy Optimization (APPO): rllib/rllib-algorithms.html#appo - ars Augmented Random Search (ARS) : rllib/rllib-algorithms.html#ars - async-actors AsyncIO for Actors : ray-core/actors/async_api.html#async-actors - attention Implementing custom Attention Networks : rllib/rllib-models.html#attention - auto_lstm_and_attention Built-in auto-LSTM, and auto-Attention Wrappers: rllib/rllib-models.html#auto-lstm-and-attention - aws-cluster AWS Configurations : cluster/aws-tips.html#aws-cluster - aws-cluster-efs Using Amazon EFS : cluster/aws-tips.html#aws-cluster-efs - aws-cluster-s3 Configure worker nodes to access Amazon S3: cluster/aws-tips.html#aws-cluster-s3 - backend-logging Backend logging : ray-contribute/debugging.html#backend-logging - backwards-compat Backwards Compatibility : raysgd/raysgd_pytorch.html#backwards-compat - bandits Contextual Bandits : rllib/rllib-algorithms.html#bandits - base-env-reference-docs BaseEnv API : rllib/package_ref/env/base_env.html#base-env-reference-docs - basetorchtrainable-doc BaseTorchTrainable : raysgd/raysgd_ref.html#basetorchtrainable-doc - bayesopt Bayesian Optimization (tune.suggest.bayesopt.BayesOptSearch): tune/api_docs/suggestion.html#bayesopt - bc Behavior Cloning (BC; derived from MARWIL implementation): rllib/rllib-algorithms.html#bc - blendsearch BlendSearch (tune.suggest.flaml.BlendSearch): tune/api_docs/suggestion.html#blendsearch - building-ray Building Ray from Source : ray-contribute/development.html#building-ray - byo-algo Custom Search Algorithms (tune.suggest.Searcher): tune/api_docs/suggestion.html#byo-algo - cfo CFO (tune.suggest.flaml.CFO) : tune/api_docs/suggestion.html#cfo - cluster-cloud Launching Cloud Clusters : cluster/cloud.html#cluster-cloud - cluster-commands Cluster Launcher Commands : cluster/commands.html#cluster-commands - cluster-config Cluster YAML Configuration Options : cluster/config.html#cluster-config - cluster-configuration-auth auth : cluster/config.html#cluster-configuration-auth - cluster-configuration-auth-type Auth : cluster/config.html#cluster-configuration-auth-type - cluster-configuration-availability-zone provider.availability_zone : cluster/config.html#cluster-configuration-availability-zone - cluster-configuration-available-node-types available_node_types : cluster/config.html#cluster-configuration-available-node-types - cluster-configuration-cache-stopped-nodes provider.cache_stopped_nodes : cluster/config.html#cluster-configuration-cache-stopped-nodes - cluster-configuration-cluster-name cluster_name : cluster/config.html#cluster-configuration-cluster-name - cluster-configuration-cluster-synced-files cluster_synced_files : cluster/config.html#cluster-configuration-cluster-synced-files - cluster-configuration-container-name docker.container_name : cluster/config.html#cluster-configuration-container-name - cluster-configuration-cpu available_node_types..node_type.resources.CPU: cluster/config.html#cluster-configuration-cpu - cluster-configuration-disable-automatic-runtime-detection docker.disable_automatic_runtime_detection: cluster/config.html#cluster-configuration-disable-automatic-runtime-detection - cluster-configuration-disable-shm-size-detection docker.disable_shm_size_detection : cluster/config.html#cluster-configuration-disable-shm-size-detection - cluster-configuration-docker docker : cluster/config.html#cluster-configuration-docker - cluster-configuration-docker-type Docker : cluster/config.html#cluster-configuration-docker-type - cluster-configuration-file-mounts file_mounts : cluster/config.html#cluster-configuration-file-mounts - cluster-configuration-file-mounts-type File mounts : cluster/config.html#cluster-configuration-file-mounts-type - cluster-configuration-gpu available_node_types..node_type.resources.GPU: cluster/config.html#cluster-configuration-gpu - cluster-configuration-group-name security_group.GroupName : cluster/config.html#cluster-configuration-group-name - cluster-configuration-head-image docker.head_image : cluster/config.html#cluster-configuration-head-image - cluster-configuration-head-node-type head_node_type : cluster/config.html#cluster-configuration-head-node-type - cluster-configuration-head-run-options docker.head_run_options : cluster/config.html#cluster-configuration-head-run-options - cluster-configuration-head-setup-commands head_setup_commands : cluster/config.html#cluster-configuration-head-setup-commands - cluster-configuration-head-start-ray-commands head_start_ray_commands : cluster/config.html#cluster-configuration-head-start-ray-commands - cluster-configuration-idle-timeout-minutes idle_timeout_minutes : cluster/config.html#cluster-configuration-idle-timeout-minutes - cluster-configuration-image docker.image : cluster/config.html#cluster-configuration-image - cluster-configuration-initialization-commands initialization_commands : cluster/config.html#cluster-configuration-initialization-commands - cluster-configuration-ip-permissions security_group.IpPermissions : cluster/config.html#cluster-configuration-ip-permissions - cluster-configuration-location provider.location : cluster/config.html#cluster-configuration-location - cluster-configuration-max-workers max_workers : cluster/config.html#cluster-configuration-max-workers - cluster-configuration-memory available_node_types..node_type.resources.memory: cluster/config.html#cluster-configuration-memory - cluster-configuration-node-config available_node_types..node_type.node_config: cluster/config.html#cluster-configuration-node-config - cluster-configuration-node-config-type Node config : cluster/config.html#cluster-configuration-node-config-type - cluster-configuration-node-docker available_node_types..docker: cluster/config.html#cluster-configuration-node-docker - cluster-configuration-node-docker-type Node Docker : cluster/config.html#cluster-configuration-node-docker-type - cluster-configuration-node-max-workers available_node_types..node_type.max_workers: cluster/config.html#cluster-configuration-node-max-workers - cluster-configuration-node-min-workers available_node_types..node_type.min_workers: cluster/config.html#cluster-configuration-node-min-workers - cluster-configuration-node-type-worker-setup-commands available_node_types..node_type.worker_setup_commands: cluster/config.html#cluster-configuration-node-type-worker-setup-commands - cluster-configuration-node-types-type Node types : cluster/config.html#cluster-configuration-node-types-type - cluster-configuration-object-store-memory available_node_types..node_type.resources.object-store-memory: cluster/config.html#cluster-configuration-object-store-memory - cluster-configuration-project-id provider.project_id : cluster/config.html#cluster-configuration-project-id - cluster-configuration-provider provider : cluster/config.html#cluster-configuration-provider - cluster-configuration-provider-type Provider : cluster/config.html#cluster-configuration-provider-type - cluster-configuration-pull-before-run docker.pull_before_run : cluster/config.html#cluster-configuration-pull-before-run - cluster-configuration-region provider.region : cluster/config.html#cluster-configuration-region - cluster-configuration-resource-group provider.resource_group : cluster/config.html#cluster-configuration-resource-group - cluster-configuration-resources available_node_types..node_type.resources: cluster/config.html#cluster-configuration-resources - cluster-configuration-resources-type Resources : cluster/config.html#cluster-configuration-resources-type - cluster-configuration-rsync-exclude rsync_exclude : cluster/config.html#cluster-configuration-rsync-exclude - cluster-configuration-rsync-filter rsync_filter : cluster/config.html#cluster-configuration-rsync-filter - cluster-configuration-run-options docker.run_options : cluster/config.html#cluster-configuration-run-options - cluster-configuration-security-group provider.security_group : cluster/config.html#cluster-configuration-security-group - cluster-configuration-security-group-type Security Group : cluster/config.html#cluster-configuration-security-group-type - cluster-configuration-setup-commands setup_commands : cluster/config.html#cluster-configuration-setup-commands - cluster-configuration-ssh-private-key auth.ssh_private_key : cluster/config.html#cluster-configuration-ssh-private-key - cluster-configuration-ssh-public-key auth.ssh_public_key : cluster/config.html#cluster-configuration-ssh-public-key - cluster-configuration-ssh-user auth.ssh_user : cluster/config.html#cluster-configuration-ssh-user - cluster-configuration-subscription-id provider.subscription_id : cluster/config.html#cluster-configuration-subscription-id - cluster-configuration-type provider.type : cluster/config.html#cluster-configuration-type - cluster-configuration-upscaling-speed upscaling_speed : cluster/config.html#cluster-configuration-upscaling-speed - cluster-configuration-worker-image docker.worker_image : cluster/config.html#cluster-configuration-worker-image - cluster-configuration-worker-run-options docker.worker_run_options : cluster/config.html#cluster-configuration-worker-run-options - cluster-configuration-worker-setup-commands worker_setup_commands : cluster/config.html#cluster-configuration-worker-setup-commands - cluster-configuration-worker-start-ray-commands worker_start_ray_commands : cluster/config.html#cluster-configuration-worker-start-ray-commands - cluster-index Ray Cluster Overview : cluster/index.html#cluster-index - cluster-private-setup Local On Premise Cluster (List of nodes): cluster/cloud.html#cluster-private-setup - cluster-reference Ray Cluster Config YAML and CLI : cluster/reference.html#cluster-reference - code_search_path Code Search Path : ray-core/configure.html#code-search-path - communicating-with-ray-tune tune/examples/tune-pytorch-cifar.html#communicating-with-ray-tune - configuring-a-deployment Configuring a Deployment : serve/core-apis.html#configuring-a-deployment - configuring-ray Configuring Ray : ray-core/configure.html#configuring-ray - core-walkthrough Ray Core Walkthrough : ray-core/walkthrough.html#core-walkthrough - cql Conservative Q-Learning (CQL) : rllib/rllib-algorithms.html#cql - creating_datasets Creating Datasets : data/creating-datasets.html#creating-datasets - cross_language Cross-Language Programming : ray-core/cross-language.html#cross-language - curiosity Curiosity (ICM: Intrinsic Curiosity Module): rllib/rllib-algorithms.html#curiosity - custom-metric-api-ref Custom Metrics APIs : ray-core/package-ref.html#custom-metric-api-ref - custom-policies-reference-docs Building Custom Policy Classes : rllib/package_ref/policy/custom_policies.html#custom-policies-reference-docs - customevaluation Customized Evaluation During Training : rllib/rllib-training.html#customevaluation - dask-on-ray Using Dask on Ray : data/dask-on-ray.html#dask-on-ray - dask-on-ray-annotations data/dask-on-ray.html#dask-on-ray-annotations - dask-on-ray-callbacks data/dask-on-ray.html#dask-on-ray-callbacks - dask-on-ray-out-of-core data/dask-on-ray.html#dask-on-ray-out-of-core - dask-on-ray-persist data/dask-on-ray.html#dask-on-ray-persist - dask-on-ray-scheduler data/dask-on-ray.html#dask-on-ray-scheduler - dask-on-ray-shuffle-optimization data/dask-on-ray.html#dask-on-ray-shuffle-optimization - data-compatibility Datasource Compatibility : data/dataset.html#data-compatibility - data-ml-ingest-example Example: Large-scale ML Ingest : data/examples/big_data_ingestion.html#data-ml-ingest-example - data-talks Learn More : data/dataset.html#data-talks - data_api Ray Datasets API : data/package-ref.html#data-api - data_integrations Integrations : data/integrations.html#data-integrations - data_key_concepts Key Concepts : data/key-concepts.html#data-key-concepts - data_performance_tips Performance Tips and Tuning : data/performance-tips.html#data-performance-tips - data_pipeline_usage Advanced Pipeline Usage : data/advanced-pipelines.html#data-pipeline-usage - data_user_guide User Guides : data/user-guide.html#data-user-guide - dataset-api Dataset API : data/package-ref.html#dataset-api - dataset-pipeline-api DatasetPipeline API : data/package-ref.html#dataset-pipeline-api - dataset-pipeline-per-epoch-shuffle Per-Epoch Shuffle Pipeline : data/advanced-pipelines.html#dataset-pipeline-per-epoch-shuffle - dataset-pipeline-ray-train Distributed Ingest with Ray Train : data/advanced-pipelines.html#dataset-pipeline-ray-train - dataset_concept Datasets : data/key-concepts.html#dataset-concept - dataset_execution_concept Dataset Execution Model : data/key-concepts.html#dataset-execution-concept - dataset_pipeline_concept Dataset Pipelines : data/key-concepts.html#dataset-pipeline-concept - dataset_pipelines_quick_start Dataset Pipelines Quick Start : data/getting-started.html#dataset-pipelines-quick-start - datasets Ray Datasets: Distributed Data Loading and Compute: data/dataset.html#datasets - datasets-ml-preprocessing ML Preprocessing : data/dataset-ml-preprocessing.html#datasets-ml-preprocessing - datasets_getting_started Getting Started : data/getting-started.html#datasets-getting-started - datasets_tensor_support Working with Tensors : data/dataset-tensor-support.html#datasets-tensor-support - ddpg Deep Deterministic Policy Gradients (DDPG, TD3): rllib/rllib-algorithms.html#ddpg - ddppo Decentralized Distributed Proximal Policy Optimization (DD-PPO): rllib/rllib-algorithms.html#ddppo - default-concurrency-group Default Concurrency Group : ray-core/actors/concurrency_group_api.html#default-concurrency-group - defining-concurrency-groups Defining Concurrency Groups : ray-core/actors/concurrency_group_api.html#defining-concurrency-groups - deployment-api Deployment API : serve/package-ref.html#deployment-api - deployment-guide Cluster Deployment Guide : cluster/guide.html#deployment-guide - deprecation-reference-docs Deprecation Tools/Utils : rllib/package_ref/utils/deprecation.html#deprecation-reference-docs - docker-images Docker Source Images : ray-overview/installation.html#docker-images - docs-contribute Contributing to the Ray Documentation : ray-contribute/docs.html#docs-contribute - dqn Deep Q Networks (DQN, Rainbow, Parametric DQN): rllib/rllib-algorithms.html#dqn - dragonfly Dragonfly (tune.suggest.dragonfly.DragonflySearch): tune/api_docs/suggestion.html#dragonfly - dreamer Dreamer : rllib/rllib-algorithms.html#dreamer - end_to_end_tutorial End-to-End Tutorial : serve/end_to_end_tutorial.html#end-to-end-tutorial - env-reference-docs Environments : rllib/package_ref/env.html#env-reference-docs - es Evolution Strategies : rllib/rllib-algorithms.html#es - evaluation-reference-docs Evaluation and Environment Rollout : rllib/package_ref/evaluation.html#evaluation-reference-docs - exchanging_datasets Exchanging Datasets : data/exchanging-datasets.html#exchanging-datasets - execution-reference-docs Distributed Execution API : rllib/package_ref/execution.html#execution-reference-docs - exp-analysis-docstring ExperimentAnalysis (tune.ExperimentAnalysis): tune/api_docs/analysis.html#exp-analysis-docstring - exploration-api Customizing Exploration Behavior : rllib/rllib-training.html#exploration-api - exploration-reference-docs Exploration API : rllib/package_ref/utils/exploration.html#exploration-reference-docs - external-env-reference-docs ExternalEnv API : rllib/package_ref/env/external_env.html#external-env-reference-docs - fake-multinode Testing Autoscaling Locally : ray-contribute/fake-autoscaler.html#fake-multinode - fake-multinode-docker Testing containerized multi nodes locally with Docker compose: ray-contribute/fake-autoscaler.html#fake-multinode-docker - frameworks-reference-docs Deep Learning Framework (tf vs torch) Utilities: rllib/package_ref/utils/framework.html#frameworks-reference-docs - genindex Index : genindex.html - gentle-intro Getting Started Guide : ray-overview/index.html#gentle-intro - getting-involved Getting Involved / Contributing : ray-contribute/getting-involved.html#getting-involved - handling_dependencies Environment Dependencies : ray-core/handling-dependencies.html#handling-dependencies - helm-config Helm chart configuration : cluster/kubernetes-advanced.html#helm-config - how-do-you-use-the-ray-client How do you use the Ray Client? : cluster/ray-client.html#how-do-you-use-the-ray-client - impala Importance Weighted Actor-Learner Architecture (IMPALA): rllib/rllib-algorithms.html#impala - install-nightlies Daily Releases (Nightlies) : ray-overview/installation.html#install-nightlies - installation Installing Ray : ray-overview/installation.html#installation - java-driver-options Driver Options : ray-core/configure.html#java-driver-options - job-info-ref JobInfo : cluster/jobs-package-ref.html#job-info-ref - job-status-ref JobStatus : cluster/jobs-package-ref.html#job-status-ref - job-submission-client-ref JobSubmissionClient : cluster/jobs-package-ref.html#job-submission-client-ref - jobs-overview Ray Job Submission : cluster/job-submission.html#jobs-overview - k8s-advanced Ray Operator Advanced Configuration : cluster/kubernetes-advanced.html#k8s-advanced - k8s-cleanup Cleaning up resources : cluster/kubernetes-advanced.html#k8s-cleanup - k8s-cleanup-basic Cleanup : cluster/kubernetes.html#k8s-cleanup-basic - k8s-gpus GPU Usage with Kubernetes : cluster/kubernetes-gpu.html#k8s-gpus - k8s-restarts Restart behavior : cluster/kubernetes-advanced.html#k8s-restarts - lightgbm-ray Distributed LightGBM on Ray : ray-more-libs/lightgbm-ray.html#lightgbm-ray - lightgbm-ray-tuning Hyperparameter Tuning : ray-more-libs/lightgbm-ray.html#lightgbm-ray-tuning - limiter ConcurrencyLimiter (tune.suggest.ConcurrencyLimiter): tune/api_docs/suggestion.html#limiter - lints Linear Thompson Sampling (BanditLinTSTrainer): rllib/rllib-algorithms.html#lints - linucb Linear Upper Confidence Bound (BanditLinUCBTrainer): rllib/rllib-algorithms.html#linucb - local-mode-tips Tip 2: Use ray.init(local_mode=True) if possible: ray-core/examples/testing-tips.html#local-mode-tips - local_mode Local mode : ray-core/starting-ray.html#local-mode - logger-interface LoggerCallback : tune/api_docs/logging.html#logger-interface - loggers-docstring Loggers (tune.logger) : tune/api_docs/logging.html#loggers-docstring - logging-directory-structure ray-observability/ray-logging.html#id1 - maddpg Multi-Agent Deep Deterministic Policy Gradient (contrib/MADDPG): rllib/rllib-algorithms.html#maddpg - maml Model-Agnostic Meta-Learning (MAML) : rllib/rllib-algorithms.html#maml - manual-cluster Manual Ray Cluster Setup : cluster/cloud.html#manual-cluster - mars-on-ray Using Mars on Ray : data/mars-on-ray.html#mars-on-ray - marwil Monotonic Advantage Re-Weighted Imitation Learning (MARWIL): rllib/rllib-algorithms.html#marwil - mbmpo Model-Based Meta-Policy-Optimization (MB-MPO): rllib/rllib-algorithms.html#mbmpo - memory Memory Management : ray-core/objects/memory-management.html#memory - model-reference-docs Model APIs : rllib/package_ref/models.html#model-reference-docs - modin-on-ray Using Pandas on Ray (Modin) : data/modin/index.html#modin-on-ray - modindex Module Index : py-modindex.html - monitor-cluster Monitoring cluster status (ray dashboard/status): cluster/commands.html#monitor-cluster - multi-agent-env-reference-docs MultiAgentEnv API : rllib/package_ref/env/multi_agent_env.html#multi-agent-env-reference-docs - multi-node-metrics Getting Started (Multi-nodes) : ray-observability/ray-metrics.html#multi-node-metrics - namespaces-guide Using Namespaces : ray-core/namespaces.html#namespaces-guide - nevergrad Nevergrad (tune.suggest.nevergrad.NevergradSearch): tune/api_docs/suggestion.html#nevergrad - no-helm Deploying without Helm : cluster/kubernetes-advanced.html#no-helm - numpy-reference-docs Numpy Utility Functions : rllib/package_ref/utils/numpy.html#numpy-reference-docs - object-reconstruction ray-core/tasks/fault-tolerance.html#object-reconstruction - object-spilling ray-core/objects/object-spilling.html#id1 - objects-in-ray Objects : ray-core/objects.html#objects-in-ray - offline-reference-docs Offline RL : rllib/package_ref/offline.html#offline-reference-docs - omp-num-thread-note ray-core/configure.html#omp-num-thread-note - package-ref-debugging-apis Debugging APIs : ray-core/package-ref.html#package-ref-debugging-apis - pg Policy Gradients : rllib/rllib-algorithms.html#pg - pgroup-strategy Strategy types : ray-core/placement-group.html#pgroup-strategy - pipelining_datasets Pipelining Compute : data/pipelining-compute.html#pipelining-datasets - placement-group-lifetimes Placement Group Lifetimes : ray-core/placement-group.html#placement-group-lifetimes - plasma-store Plasma Object Store : ray-core/objects/serialization.html#plasma-store - policy-base-class-reference-docs Base Policy class (ray.rllib.policy.policy.Policy): rllib/package_ref/policy/policy.html#policy-base-class-reference-docs - policy-map-docs PolicyMap (ray.rllib.policy.policy_map.PolicyMap): rllib/package_ref/evaluation/policy_map.html#policy-map-docs - policy-reference-docs Policies : rllib/package_ref/policy.html#policy-reference-docs - ppo Proximal Policy Optimization (PPO) : rllib/rllib-algorithms.html#ppo - py-modindex Python Module Index : py-modindex.html - python-develop Building Ray (Python Only) : ray-contribute/development.html#python-develop - qmix QMIX Monotonic Value Factorisation (QMIX, VDN, IQN): rllib/rllib-algorithms.html#qmix - r2d2 Recurrent Replay Distributed DQN (R2D2) : rllib/rllib-algorithms.html#r2d2 - ray-attach-doc ray attach : ray-core/package-ref.html#ray-attach-doc - ray-available_resources-ref ray.available_resources : ray-core/package-ref.html#ray-available-resources-ref - ray-cancel-ref ray.cancel : ray-core/package-ref.html#ray-cancel-ref - ray-cli The Ray Command Line API : ray-core/package-ref.html#ray-cli - ray-client Ray Client: Interactive Development : cluster/ray-client.html#ray-client - ray-cluster_resources-ref ray.cluster_resources : ray-core/package-ref.html#ray-cluster-resources-ref - ray-collective ray-more-libs/ray-collective.html#ray-collective - ray-dashboard Ray Dashboard : ray-core/ray-dashboard.html#ray-dashboard - ray-down-doc ray down : ray-core/package-ref.html#ray-down-doc - ray-exec-doc ray exec : ray-core/package-ref.html#ray-exec-doc - ray-get-loop Antipattern: Calling ray.get in a loop : ray-core/tasks/patterns/ray-get-loop.html#ray-get-loop - ray-get-ref ray.get : ray-core/package-ref.html#ray-get-ref - ray-get_actor-ref ray.get_actor : ray-core/package-ref.html#ray-get-actor-ref - ray-get_gpu_ids-ref ray.get_gpu_ids : ray-core/package-ref.html#ray-get-gpu-ids-ref - ray-get_head_ip-doc ray get_head_ip : ray-core/package-ref.html#ray-get-head-ip-doc - ray-helm Installing the Ray Operator with Helm : cluster/kubernetes.html#ray-helm - ray-init-ref ray.init : ray-core/package-ref.html#ray-init-ref - ray-install-java Install Ray Java with Maven : ray-overview/installation.html#ray-install-java - ray-is_initialized-ref ray.is_initialized : ray-core/package-ref.html#ray-is-initialized-ref - ray-job-apis Ray Job Submission APIs : cluster/job-submission.html#ray-job-apis - ray-job-cli CLI : cluster/job-submission.html#ray-job-cli - ray-job-list-doc ray job list : cluster/jobs-package-ref.html#ray-job-list-doc - ray-job-logs-doc ray job logs : cluster/jobs-package-ref.html#ray-job-logs-doc - ray-job-rest-api REST API : cluster/job-submission.html#ray-job-rest-api - ray-job-sdk Python SDK : cluster/job-submission.html#ray-job-sdk - ray-job-status-doc ray job status : cluster/jobs-package-ref.html#ray-job-status-doc - ray-job-stop-doc ray job stop : cluster/jobs-package-ref.html#ray-job-stop-doc - ray-job-submission-api-ref Ray Job Submission API : cluster/jobs-package-ref.html#ray-job-submission-api-ref - ray-job-submission-cli-ref Job Submission CLI : cluster/jobs-package-ref.html#ray-job-submission-cli-ref - ray-job-submission-sdk-ref Job Submission SDK : cluster/jobs-package-ref.html#ray-job-submission-sdk-ref - ray-job-submit-doc ray job submit : cluster/jobs-package-ref.html#ray-job-submit-doc - ray-joblib Distributed Scikit-learn / Joblib : ray-more-libs/joblib.html#ray-joblib - ray-k8s-client Running Ray programs with Ray Jobs Submission: cluster/kubernetes.html#ray-k8s-client - ray-k8s-dashboard cluster/kubernetes.html#ray-k8s-dashboard - ray-k8s-deploy Deploying on Kubernetes : cluster/kubernetes.html#ray-k8s-deploy - ray-k8s-monitor Observability : cluster/kubernetes.html#ray-k8s-monitor - ray-k8s-static Deploying a Static Ray Cluster on Kubernetes: cluster/kubernetes-manual.html#ray-k8s-static - ray-kill-ref ray.kill : ray-core/package-ref.html#ray-kill-ref - ray-lightning Distributed PyTorch Lightning Training on Ray: ray-more-libs/ray-lightning.html#ray-lightning - ray-lightning-tuning Hyperparameter Tuning with Ray Tune : ray-more-libs/ray-lightning.html#ray-lightning-tuning - ray-lsf-deploy Deploying on LSF : cluster/lsf.html#ray-lsf-deploy - ray-memory-doc ray memory : ray-core/package-ref.html#ray-memory-doc - ray-method-ref ray.method : ray-core/package-ref.html#ray-method-ref - ray-metrics Exporting Metrics : ray-observability/ray-metrics.html#ray-metrics - ray-monitor-doc ray monitor : ray-core/package-ref.html#ray-monitor-doc - ray-multiprocessing Distributed multiprocessing.Pool : ray-more-libs/multiprocessing.html#ray-multiprocessing - ray-nodes-ref ray.nodes : ray-core/package-ref.html#ray-nodes-ref - ray-object-refs Passing object refs to remote functions : ray-core/tasks.html#ray-object-refs - ray-operator The Ray Kubernetes Operator : cluster/kubernetes.html#ray-operator - ray-oss-list Ecosystem : ray-overview/ray-libraries.html#ray-oss-list - ray-placement-group-doc-ref ray-core/placement-group.html#ray-placement-group-doc-ref - ray-placement-group-ft-ref ray-core/placement-group.html#ray-placement-group-ft-ref - ray-placement-group-lifecycle-ref ray-core/placement-group.html#ray-placement-group-lifecycle-ref - ray-placement-group-ref Placement Group APIs : ray-core/package-ref.html#ray-placement-group-ref - ray-ports Ports configurations : ray-core/configure.html#ray-ports - ray-put-ref ray.put : ray-core/package-ref.html#ray-put-ref - ray-queue-ref ray-core/package-ref.html#ray-queue-ref - ray-remote-classes Actors : ray-core/actors.html#ray-remote-classes - ray-remote-functions Tasks : ray-core/tasks.html#ray-remote-functions - ray-remote-ref ray.remote : ray-core/package-ref.html#ray-remote-ref - ray-rsync Synchronizing files from the cluster (ray rsync-up/down): cluster/commands.html#ray-rsync - ray-serve-instance-lifetime Lifetime of a Ray Serve Instance : serve/deployment.html#ray-serve-instance-lifetime - ray-shutdown-ref ray.shutdown : ray-core/package-ref.html#ray-shutdown-ref - ray-slurm-deploy Deploying on Slurm : cluster/slurm.html#ray-slurm-deploy - ray-slurm-headers sbatch directives : cluster/slurm.html#ray-slurm-headers - ray-stack-doc ray stack : ray-core/package-ref.html#ray-stack-doc - ray-start-doc ray start : ray-core/package-ref.html#ray-start-doc - ray-status-doc ray status : ray-core/package-ref.html#ray-status-doc - ray-stop-doc ray stop : ray-core/package-ref.html#ray-stop-doc - ray-submit-doc ray submit : ray-core/package-ref.html#ray-submit-doc - ray-timeline-doc ray timeline : ray-core/package-ref.html#ray-timeline-doc - ray-timeline-ref ray.timeline : ray-core/package-ref.html#ray-timeline-ref - ray-train-tftrainer-example TFTrainer Example : raysgd/raysgd_tensorflow.html#ray-train-tftrainer-example - ray-up-doc ray up : ray-core/package-ref.html#ray-up-doc - ray-wait-ref ray.wait : ray-core/package-ref.html#ray-wait-ref - ray-yarn-deploy Deploying on YARN : cluster/yarn.html#ray-yarn-deploy - ray_anaconda Installing Ray with Anaconda : ray-overview/installation.html#ray-anaconda - ray_datasets_quick_start Dataset Quick Start : data/getting-started.html#ray-datasets-quick-start - rayserve Serve: Scalable and Programmable Serving: serve/index.html#rayserve - rayserve-overview serve/index.html#rayserve-overview - raysgd-custom-training Custom Training and Validation : raysgd/raysgd_pytorch.html#raysgd-custom-training - raysgd-torch-examples TorchTrainer Examples : raysgd/raysgd_pytorch.html#raysgd-torch-examples - raysgd-tune RaySGD Hyperparameter Tuning : raysgd/raysgd_tune.html#raysgd-tune - raytrialexecutor-docstring RayTrialExecutor : tune/api_docs/internals.html#raytrialexecutor-docstring - re3 RE3 (Random Encoders for Efficient Exploration): rllib/rllib-algorithms.html#re3 - ref-autoscaler-sdk Autoscaler SDK : cluster/sdk.html#ref-autoscaler-sdk - ref-autoscaler-sdk-request-resources ray.autoscaler.sdk.request_resources : cluster/sdk.html#ref-autoscaler-sdk-request-resources - ref-cloud-setup Ray with cloud providers : cluster/cloud.html#ref-cloud-setup - ref-cluster-quick-start Ray Cluster Quick Start : cluster/quickstart.html#ref-cluster-quick-start - ref-cluster-setup Ray with Cluster Managers : cluster/deploy.html#ref-cluster-setup - ref-creator-operator CreatorOperator : raysgd/raysgd_ref.html#ref-creator-operator - ref-deployment-guide Deployment Guide : cluster/user-guide.html#ref-deployment-guide - ref-torch-operator PyTorch TrainingOperator : raysgd/raysgd_ref.html#ref-torch-operator - ref-torch-trainer TorchTrainer : raysgd/raysgd_ref.html#ref-torch-trainer - ref-utils Utils : raysgd/raysgd_ref.html#ref-utils - remote-span-processors Remote Span Processors : ray-observability/ray-tracing.html#remote-span-processors - remote-uris Remote URIs : ray-core/handling-dependencies.html#remote-uris - repeater Repeated Evaluations (tune.suggest.Repeater): tune/api_docs/suggestion.html#repeater - resource-requirements Specifying Required Resources : ray-core/tasks/resources.html#resource-requirements - resources-docstring PlacementGroupFactory : tune/api_docs/internals.html#resources-docstring - rllib-core-concepts Key Concepts : rllib/core-concepts.html#rllib-core-concepts - rllib-feature-guide RLlib Feature Guides : rllib/user-guides.html#rllib-feature-guide - rllib-guides User Guides : rllib/user-guides.html#rllib-guides - rllib-index RLlib: Industry-Grade Reinforcement Learning: rllib/index.html#rllib-index - rllib-reference-docs Ray RLlib API : rllib/package_ref/index.html#rllib-reference-docs - rllib-scaling-guide rllib/rllib-training.html#rllib-scaling-guide - rnns Implementing custom Recurrent Networks : rllib/rllib-models.html#rnns - rolloutworker-reference-docs RolloutWorker : rllib/package_ref/evaluation/rollout_worker.html#rolloutworker-reference-docs - rsync-checkpointing A simple local/rsync checkpointing example: tune/tutorials/tune-checkpoints.html#rsync-checkpointing - rte-per-job Specifying a Runtime Environment Per-Job: ray-core/handling-dependencies.html#rte-per-job - rte-per-task-actor Specifying a Runtime Environment Per-Task or Per-Actor: ray-core/handling-dependencies.html#rte-per-task-actor - runtime-context-apis Runtime Context APIs : ray-core/package-ref.html#runtime-context-apis - runtime-env-apis Runtime Env APIs : ray-core/package-ref.html#runtime-env-apis - runtime-environments Runtime environments : ray-core/handling-dependencies.html#runtime-environments - runtime-environments-api-ref API Reference : ray-core/handling-dependencies.html#runtime-environments-api-ref - sac Soft Actor Critic (SAC) : rllib/rllib-algorithms.html#sac - sample-batch-reference-docs Sample Batches : rllib/package_ref/evaluation/sample_batch.html#sample-batch-reference-docs - sampler-docs Environment Samplers : rllib/package_ref/evaluation/samplers.html#sampler-docs - saving_datasets Saving Datasets : data/saving-datasets.html#saving-datasets - schedule-reference-docs Schedules API : rllib/package_ref/utils/schedules.html#schedule-reference-docs - schedulers-ref Schedulers : tune/key-concepts.html#schedulers-ref - search Search Page : search.html - serialization-guide Serialization : ray-core/objects/serialization.html#serialization-guide - serve-architecture Serve Architecture : serve/architecture.html#serve-architecture - serve-batch-tutorial Batching Tutorial : serve/tutorials/batch.html#serve-batch-tutorial - serve-batching Request Batching : serve/ml-models.html#serve-batching - serve-cpus-gpus Resource Management (CPUs, GPUs) : serve/core-apis.html#serve-cpus-gpus - serve-deploy-tutorial Deploying Ray Serve : serve/deployment.html#serve-deploy-tutorial - serve-deployment-graph Deployment Graph : serve/deployment-graph.html#serve-deployment-graph - serve-faq Ray Serve FAQ : serve/faq.html#serve-faq - serve-fastapi-http FastAPI HTTP Deployments : serve/http-servehandle.html#serve-fastapi-http - serve-ft-detail How does Serve handle fault tolerance? : serve/architecture.html#serve-ft-detail - serve-handle-explainer ServeHandle: Calling Deployments from Python: serve/http-servehandle.html#serve-handle-explainer - serve-http-adapters HTTP Adapters : serve/http-servehandle.html#serve-http-adapters - serve-model-composition Model Composition : serve/ml-models.html#serve-model-composition - serve-monitoring Monitoring : serve/deployment.html#serve-monitoring - serve-ndarray-schema serve/http-servehandle.html#serve-ndarray-schema - serve-pytorch-tutorial PyTorch Tutorial : serve/tutorials/pytorch.html#serve-pytorch-tutorial - serve-rllib-tutorial Serving RLlib Models : serve/tutorials/rllib.html#serve-rllib-tutorial - serve-sklearn-tutorial Scikit-Learn Tutorial : serve/tutorials/sklearn.html#serve-sklearn-tutorial - serve-sync-async-handles Sync and Async Handles : serve/http-servehandle.html#serve-sync-async-handles - serve-tensorflow-tutorial Keras and Tensorflow Tutorial : serve/tutorials/tensorflow.html#serve-tensorflow-tutorial - serve-tutorials Serve Tutorials : serve/tutorials/index.html#serve-tutorials - serve-web-server-integration-tutorial Integration with Existing Web Servers : serve/tutorials/web-server-integration.html#serve-web-server-integration-tutorial - serve_quickstart Ray Serve Quickstart : serve/index.html#serve-quickstart - servehandle-api ServeHandle API : serve/package-ref.html#servehandle-api - setting-the-concurrency-group-at-runtime Setting the Concurrency Group at Runtime: ray-core/actors/concurrency_group_api.html#setting-the-concurrency-group-at-runtime - sgd-index RaySGD: Distributed Training Wrappers : raysgd/raysgd.html#sgd-index - sgd-migration Migrating from Ray SGD to Ray Train : train/migration-guide.html#sgd-migration - sgd-migration-logic Training Logic : train/migration-guide.html#sgd-migration-logic - sgd-migration-trainer Interacting with the Trainer : train/migration-guide.html#sgd-migration-trainer - sgd-migration-tune Hyperparameter Tuning with Ray Tune : train/migration-guide.html#sgd-migration-tune - sgd-v2-examples Ray Train Examples : train/examples.html#sgd-v2-examples - shim Shim Instantiation (tune.create_searcher): tune/api_docs/suggestion.html#shim - sigopt SigOpt (tune.suggest.sigopt.SigOptSearch): tune/api_docs/suggestion.html#sigopt - skopt Scikit-Optimize (tune.suggest.skopt.SkOptSearch): tune/api_docs/suggestion.html#skopt - slateq SlateQ : rllib/rllib-algorithms.html#slateq - slurm-basic slurm-basic.sh : cluster/examples/slurm-basic.html#slurm-basic - slurm-launch slurm-launch.py : cluster/examples/slurm-launch.html#slurm-launch - slurm-network-ray SLURM networking caveats : cluster/slurm.html#slurm-network-ray - slurm-template slurm-template.sh : cluster/examples/slurm-template.html#slurm-template - spark-on-ray Using Spark on Ray (RayDP) : data/raydp.html#spark-on-ray - start-ray-cli Starting Ray via the CLI (ray start) : ray-core/starting-ray.html#start-ray-cli - start-ray-init Starting Ray on a single machine : ray-core/starting-ray.html#start-ray-init - start-ray-up Launching a Ray cluster (ray up) : ray-core/starting-ray.html#start-ray-up - suggest-tunebohb BOHB (tune.suggest.bohb.TuneBOHB) : tune/api_docs/suggestion.html#suggest-tunebohb - task-fault-tolerance Fault Tolerance : ray-core/tasks/fault-tolerance.html#task-fault-tolerance - task-patterns Task Design Patterns : ray-core/tasks/patterns/index.html#task-patterns - temp-dir-log-files Logging and Debugging : ray-core/configure.html#temp-dir-log-files - tensorboard How to log to TensorBoard? : tune/tutorials/tune-output.html#tensorboard - tensorflow-models Custom TensorFlow Models : rllib/rllib-models.html#tensorflow-models - tf-policies-reference-docs TensorFlow-Specific Sub-Classes : rllib/package_ref/policy/tf_policies.html#tf-policies-reference-docs - tf-utils-reference-docs TensorFlow Utility Functions : rllib/package_ref/utils/tf_utils.html#tf-utils-reference-docs - threaded-actors Threaded Actors : ray-core/actors/async_api.html#threaded-actors - torch-amp Automatic Mixed Precision : train/user_guide.html#torch-amp - torch-guide Distributed PyTorch : raysgd/raysgd_pytorch.html#torch-guide - torch-models Custom PyTorch Models : rllib/rllib-models.html#torch-models - torch-policies-reference-docs Torch-Specific Policy: TorchPolicy : rllib/package_ref/policy/torch_policy.html#torch-policies-reference-docs - torch-utils-reference-docs PyTorch Utility Functions : rllib/package_ref/utils/torch_utils.html#torch-utils-reference-docs - tracer-provider Tracer Provider : ray-observability/ray-tracing.html#tracer-provider - train-api Ray Train API : train/api.html#train-api - train-api-backend-config Backend Configurations : train/api.html#train-api-backend-config - train-api-backend-interfaces Backend interfaces (for developers only): train/api.html#train-api-backend-interfaces - train-api-callback TrainingCallback : train/api.html#train-api-callback - train-api-checkpoint-strategy CheckpointStrategy : train/api.html#train-api-checkpoint-strategy - train-api-func-utils Training Function Utilities : train/api.html#train-api-func-utils - train-api-horovod-config HorovodConfig : train/api.html#train-api-horovod-config - train-api-iterator TrainingIterator : train/api.html#train-api-iterator - train-api-json-logger-callback JsonLoggerCallback : train/api.html#train-api-json-logger-callback - train-api-mlflow-logger-callback MLflowLoggerCallback : train/api.html#train-api-mlflow-logger-callback - train-api-print-callback PrintCallback : train/api.html#train-api-print-callback - train-api-results-preprocessor ResultsPreprocessor : train/api.html#train-api-results-preprocessor - train-api-tbx-logger-callback TBXLoggerCallback : train/api.html#train-api-tbx-logger-callback - train-api-tensorflow-config TensorflowConfig : train/api.html#train-api-tensorflow-config - train-api-tensorflow-utils TensorFlow Training Function Utilities : train/api.html#train-api-tensorflow-utils - train-api-torch-config TorchConfig : train/api.html#train-api-torch-config - train-api-torch-prepare-data-loader train.torch.prepare_data_loader : train/api.html#train-api-torch-prepare-data-loader - train-api-torch-tensorboard-profiler-callback TorchTensorboardProfilerCallback : train/api.html#train-api-torch-tensorboard-profiler-callback - train-api-torch-utils PyTorch Training Function Utilities : train/api.html#train-api-torch-utils - train-api-torch-worker-profiler train.torch.accelerate : train/api.html#train-api-torch-worker-profiler - train-api-trainer Trainer : train/api.html#train-api-trainer - train-arch Ray Train Architecture : train/architecture.html#train-arch - train-arch-executor Executor : train/architecture.html#train-arch-executor - train-backends Backends : train/user_guide.html#train-backends - train-backwards-compatibility Backwards Compatibility with Ray SGD : train/user_guide.html#train-backwards-compatibility - train-builtin-callbacks Built-in Callbacks : train/user_guide.html#train-builtin-callbacks - train-callbacks Callbacks : train/user_guide.html#train-callbacks - train-checkpointing Checkpointing : train/user_guide.html#train-checkpointing - train-custom-callbacks Custom Callbacks : train/user_guide.html#train-custom-callbacks - train-dataset-pipeline Pipelined Execution : train/user_guide.html#train-dataset-pipeline - train-datasets Distributed Data Ingest (Ray Datasets) : train/user_guide.html#train-datasets - train-docs Ray Train: Distributed Deep Learning : train/train.html#train-docs - train-fault-tolerance Fault Tolerance & Elastic Training : train/user_guide.html#train-fault-tolerance - train-log-dir Log Directory Structure : train/user_guide.html#train-log-dir - train-monitoring Logging, Monitoring, and Callbacks : train/user_guide.html#train-monitoring - train-porting-code Porting code to Ray Train : train/user_guide.html#train-porting-code - train-profiling Profiling : train/user_guide.html#train-profiling - train-reproducibility Reproducibility : train/user_guide.html#train-reproducibility - train-tune Hyperparameter tuning (Ray Tune) : train/user_guide.html#train-tune - train-user-guide Ray Train User Guide : train/user_guide.html#train-user-guide - trainable-docs tune/api_docs/trainable.html#trainable-docs - trainable-execution The execution of a trainable : tune/tutorials/tune-lifecycle.html#trainable-execution - trainable-logging How to Configure Trainable Logging? : tune/tutorials/tune-output.html#trainable-logging - trainer-reference-docs Trainer API : rllib/package_ref/trainer.html#trainer-reference-docs - transforming_datasets Transforming Datasets : data/transforming-datasets.html#transforming-datasets - trial-docstring Trial : tune/api_docs/internals.html#trial-docstring - trial-lifecycle Lifecycle of a Trial : tune/tutorials/tune-lifecycle.html#trial-lifecycle - trial-runner-flow tune/tutorials/tune-lifecycle.html#trial-runner-flow - trialexecutor-docstring TrialExecutor : tune/api_docs/internals.html#trialexecutor-docstring - trialrunner-docstring TrialRunner : tune/api_docs/internals.html#trialrunner-docstring - tune-60-seconds Key Concepts : tune/key-concepts.html#tune-60-seconds - tune-advanced-tutorial-pbt-replay Replaying a PBT run : tune/tutorials/tune-advanced-tutorial.html#tune-advanced-tutorial-pbt-replay - tune-analysis-docs Analysis (tune.analysis) : tune/api_docs/analysis.html#tune-analysis-docs - tune-api-ref Ray Tune API : tune/api_docs/overview.html#tune-api-ref - tune-autofilled-metrics How to use log metrics in Tune? : tune/tutorials/tune-metrics.html#tune-autofilled-metrics - tune-ax Ax (tune.suggest.ax.AxSearch) : tune/api_docs/suggestion.html#tune-ax - tune-basicvariant Random search and grid search (tune.suggest.basic_variant.BasicVariantGenerator): tune/api_docs/suggestion.html#tune-basicvariant - tune-bottlenecks How can I avoid bottlenecks? : tune/faq.html#tune-bottlenecks - tune-callbacks How to work with Callbacks? : tune/tutorials/tune-metrics.html#tune-callbacks - tune-callbacks-docs Callbacks : tune/api_docs/internals.html#tune-callbacks-docs - tune-checkpoint-syncing Checkpointing and synchronization : tune/tutorials/tune-checkpoints.html#tune-checkpoint-syncing - tune-class-api Trainable Class API : tune/api_docs/trainable.html#tune-class-api - tune-cloud-checkpointing Using cloud storage : tune/tutorials/tune-checkpoints.html#tune-cloud-checkpointing - tune-comet-ref Using Comet with Tune : tune/examples/tune-comet.html#tune-comet-ref - tune-concepts-analysis Analyses : tune/key-concepts.html#tune-concepts-analysis - tune-console-output How to control console output? : tune/tutorials/tune-output.html#tune-console-output - tune-ddp-doc Distributed Torch : tune/api_docs/trainable.html#tune-ddp-doc - tune-debugging How can I debug Tune experiments locally?: tune/faq.html#tune-debugging - tune-default-search-space How do I configure search spaces? : tune/faq.html#tune-default-search-space - tune-default.yaml tune/tutorials/tune-distributed.html#tune-default-yaml - tune-dist-tf-doc Distributed TensorFlow : tune/api_docs/trainable.html#tune-dist-tf-doc - tune-dist-training How to run distributed training with Tune?: tune/tutorials/tune-resources.html#tune-dist-training - tune-distributed-checkpointing Distributed Checkpointing : tune/tutorials/tune-checkpoints.html#tune-distributed-checkpointing - tune-distributed-common Common Commands : tune/tutorials/tune-distributed.html#tune-distributed-common - tune-distributed-local Local Cluster Setup : tune/tutorials/tune-distributed.html#tune-distributed-local - tune-distributed-ref Tune Distributed Experiments : tune/tutorials/tune-distributed.html#tune-distributed-ref - tune-distributed-spot Pre-emptible Instances (Cloud) : tune/tutorials/tune-distributed.html#tune-distributed-spot - tune-docker How can I use Tune with Docker? : tune/faq.html#tune-docker - tune-env-vars Environment variables : tune/api_docs/env.html#tune-env-vars - tune-examples-ref Examples : tune/examples/index.html#tune-examples-ref - tune-exercises Exercises : tune/examples/index.html#tune-exercises - tune-faq Ray Tune FAQ : tune/faq.html#tune-faq - tune-fault-tol Fault Tolerance : tune/tutorials/tune-distributed.html#tune-fault-tol - tune-feature-guides Tune Feature Guides : tune/tutorials/overview.html#tune-feature-guides - tune-function-api Function API : tune/api_docs/trainable.html#tune-function-api - tune-function-checkpointing Function API Checkpointing : tune/api_docs/trainable.html#tune-function-checkpointing - tune-function-docstring tune.report / tune.checkpoint (Function API): tune/api_docs/trainable.html#tune-function-docstring - tune-general-examples Other Examples : tune/examples/index.html#tune-general-examples - tune-guides User Guides : tune/tutorials/overview.html#tune-guides - tune-hebo HEBO (tune.suggest.hebo.HEBOSearch) : tune/api_docs/suggestion.html#tune-hebo - tune-horovod-example Using Horovod with Tune : tune/examples/horovod_simple.html#tune-horovod-example - tune-huggingface-example Using |:hugging_face:| Huggingface Transformers with Tune: tune/examples/pbt_transformers.html#tune-huggingface-example - tune-hyperopt HyperOpt (tune.suggest.hyperopt.HyperOptSearch): tune/api_docs/suggestion.html#tune-hyperopt - tune-integration External library integrations (tune.integration): tune/api_docs/integration.html#tune-integration - tune-integration-docker Docker (tune.integration.docker) : tune/api_docs/integration.html#tune-integration-docker - tune-integration-horovod Horovod (tune.integration.horovod) : tune/api_docs/integration.html#tune-integration-horovod - tune-integration-keras Keras (tune.integration.keras) : tune/api_docs/integration.html#tune-integration-keras - tune-integration-kubernetes Kubernetes (tune.integration.kubernetes): tune/api_docs/integration.html#tune-integration-kubernetes - tune-integration-lightgbm LightGBM (tune.integration.lightgbm) : tune/api_docs/integration.html#tune-integration-lightgbm - tune-integration-mlflow MLflow (tune.integration.mlflow) : tune/api_docs/integration.html#tune-integration-mlflow - tune-integration-mxnet MXNet (tune.integration.mxnet) : tune/api_docs/integration.html#tune-integration-mxnet - tune-integration-pytorch-lightning PyTorch Lightning (tune.integration.pytorch_lightning): tune/api_docs/integration.html#tune-integration-pytorch-lightning - tune-integration-torch Torch (tune.integration.torch) : tune/api_docs/integration.html#tune-integration-torch - tune-integration-wandb Weights and Biases (tune.integration.wandb): tune/api_docs/integration.html#tune-integration-wandb - tune-integration-xgboost XGBoost (tune.integration.xgboost) : tune/api_docs/integration.html#tune-integration-xgboost - tune-kubernetes How can I use Tune with Kubernetes? : tune/faq.html#tune-kubernetes - tune-lightgbm-example Using LightGBM with Tune : tune/examples/lightgbm_example.html#tune-lightgbm-example - tune-log_to_file How to redirect stdout and stderr to files?: tune/tutorials/tune-output.html#tune-log-to-file - tune-logging How to configure logging in Tune? : tune/tutorials/tune-output.html#tune-logging - tune-main Tune: Scalable Hyperparameter Tuning : tune/index.html#tune-main - tune-mlflow-logger tune/examples/tune-mlflow.html#tune-mlflow-logger - tune-mlflow-mixin tune/examples/tune-mlflow.html#tune-mlflow-mixin - tune-mlflow-ref tune/examples/tune-mlflow.html#tune-mlflow-ref - tune-mnist-keras Using Keras & TensorFlow with Tune : tune/examples/tune_mnist_keras.html#tune-mnist-keras - tune-mxnet-example Using MXNet with Tune : tune/examples/mxnet_example.html#tune-mxnet-example - tune-optuna Optuna (tune.suggest.optuna.OptunaSearch): tune/api_docs/suggestion.html#tune-optuna - tune-original-hyperband HyperBand (tune.schedulers.HyperBandScheduler): tune/api_docs/schedulers.html#tune-original-hyperband - tune-parallelism A Guide To Parallelism and Resources : tune/tutorials/tune-resources.html#tune-parallelism - tune-pytorch-cifar-ref tune/examples/tune-pytorch-cifar.html#tune-pytorch-cifar-ref - tune-pytorch-lightning-ref tune/examples/tune-pytorch-lightning.html#tune-pytorch-lightning-ref - tune-recipes Practical How-To Guides : tune/examples/index.html#tune-recipes - tune-reporter-doc Console Output (Reporters) : tune/api_docs/reporters.html#tune-reporter-doc - tune-reproducible How can I make my Tune experiments reproducible?: tune/faq.html#tune-reproducible - tune-resource-changing-scheduler ResourceChangingScheduler : tune/api_docs/schedulers.html#tune-resource-changing-scheduler - tune-rllib-example Using RLlib with Tune : tune/examples/pbt_ppo_example.html#tune-rllib-example - tune-run-ref tune.run : tune/api_docs/execution.html#tune-run-ref - tune-sample-docs Random Distributions API : tune/api_docs/search_space.html#tune-sample-docs - tune-scheduler-bohb BOHB (tune.schedulers.HyperBandForBOHB) : tune/api_docs/schedulers.html#tune-scheduler-bohb - tune-scheduler-hyperband ASHA (tune.schedulers.ASHAScheduler) : tune/api_docs/schedulers.html#tune-scheduler-hyperband - tune-scheduler-msr Median Stopping Rule (tune.schedulers.MedianStoppingRule): tune/api_docs/schedulers.html#tune-scheduler-msr - tune-scheduler-pb2 Population Based Bandits (PB2) (tune.schedulers.pb2.PB2): tune/api_docs/schedulers.html#tune-scheduler-pb2 - tune-scheduler-pbt Population Based Training (tune.schedulers.PopulationBasedTraining): tune/api_docs/schedulers.html#tune-scheduler-pbt - tune-scheduler-pbt-replay Population Based Training Replay (tune.schedulers.PopulationBasedTrainingReplay): tune/api_docs/schedulers.html#tune-scheduler-pbt-replay - tune-schedulers Trial Schedulers (tune.schedulers) : tune/api_docs/schedulers.html#tune-schedulers - tune-search-alg Search Algorithms (tune.suggest) : tune/api_docs/suggestion.html#tune-search-alg - tune-search-space Search Space API : tune/api_docs/search_space.html#tune-search-space - tune-search-space-tutorial Working with Tune Search Spaces : tune/tutorials/tune-search-spaces.html#tune-search-space-tutorial - tune-sklearn-docs Scikit-Learn API (tune.sklearn) : tune/api_docs/sklearn.html#tune-sklearn-docs - tune-stop-ref Stopper (tune.Stopper) : tune/api_docs/stoppers.html#tune-stop-ref - tune-stoppers Stopping mechanisms (tune.stopper) : tune/api_docs/stoppers.html#tune-stoppers - tune-stopping-ref How to stop Tune runs programmatically? : tune/tutorials/tune-stopping.html#tune-stopping-ref - tune-sync-config tune.SyncConfig : tune/api_docs/execution.html#tune-sync-config - tune-torch-ddp Advanced: Distributed training with DistributedDataParallel: tune/examples/includes/mnist_pytorch.html#tune-torch-ddp - tune-trainable-save-restore Class API Checkpointing : tune/api_docs/trainable.html#tune-trainable-save-restore - tune-tutorial tune/getting-started.html#tune-tutorial - tune-util-ref Utilities : tune/api_docs/trainable.html#tune-util-ref - tune-wandb-logger tune/examples/tune-wandb.html#tune-wandb-logger - tune-wandb-mixin tune/examples/tune-wandb.html#tune-wandb-mixin - tune-wandb-ref tune/examples/tune-wandb.html#tune-wandb-ref - tune-with-parameters tune.with_parameters : tune/api_docs/trainable.html#tune-with-parameters - tune-xgboost-ref tune/examples/tune-xgboost.html#tune-xgboost-ref - tune_custom-search How to use Custom and Conditional Search Spaces?: tune/tutorials/tune-search-spaces.html#tune-custom-search - tunegridsearchcv-docs TuneGridSearchCV : tune/api_docs/sklearn.html#tunegridsearchcv-docs - tunesearchcv-docs TuneSearchCV : tune/api_docs/sklearn.html#tunesearchcv-docs - tutorial-tune-setup Setting up Tune : tune/getting-started.html#tutorial-tune-setup - using-ray-on-a-cluster Running a Ray program on the Ray cluster: cluster/cloud.html#using-ray-on-a-cluster - utils-reference-docs RLlib Utilities : rllib/package_ref/utils.html#utils-reference-docs - vector-env-reference-docs VectorEnv API : rllib/package_ref/env/vector_env.html#vector-env-reference-docs - whitepaper Architecture Whitepaper : ray-contribute/whitepaper.html#whitepaper - windows-support Windows Support : ray-overview/installation.html#windows-support - workerset-reference-docs WorkerSet : rllib/package_ref/evaluation/worker_set.html#workerset-reference-docs - workflow-local-files Using Local Files : ray-core/handling-dependencies.html#workflow-local-files - workflows Workflows: Fast, Durable Application Flows: workflows/concepts.html#workflows - xgboost-ray Distributed XGBoost on Ray : ray-more-libs/xgboost-ray.html#xgboost-ray - xgboost-ray-tuning Hyperparameter Tuning : ray-more-libs/xgboost-ray.html#xgboost-ray-tuning - zoopt ZOOpt (tune.suggest.zoopt.ZOOptSearch) : tune/api_docs/suggestion.html#zoopt diff --git a/doc/_intersphinx/sklearn.inv b/doc/_intersphinx/sklearn.inv index c23cd5d0822812091983440bb5f49caab3d2e0a8..623b2b74feccc3253bec77d59792c7463a66446e 100644 GIT binary patch delta 71273 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

I6m&js{Tu@D5w<$T}5xI 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

    n|ERCb{<7mi$Maf>+iz#u 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 I1KkFP1Ec2`>Hq)$ delta 70105 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 z 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 diff --git a/doc/_intersphinx/sklearn.txt b/doc/_intersphinx/sklearn.txt index 9cf6574..437c670 100644 --- a/doc/_intersphinx/sklearn.txt +++ b/doc/_intersphinx/sklearn.txt @@ -17,6 +17,7 @@ py:class sklearn.cluster.AffinityPropagation modules/generated/sklearn.cluster.AffinityPropagation.html#sklearn.cluster.AffinityPropagation sklearn.cluster.AgglomerativeClustering modules/generated/sklearn.cluster.AgglomerativeClustering.html#sklearn.cluster.AgglomerativeClustering sklearn.cluster.Birch modules/generated/sklearn.cluster.Birch.html#sklearn.cluster.Birch + sklearn.cluster.BisectingKMeans modules/generated/sklearn.cluster.BisectingKMeans.html#sklearn.cluster.BisectingKMeans sklearn.cluster.DBSCAN modules/generated/sklearn.cluster.DBSCAN.html#sklearn.cluster.DBSCAN sklearn.cluster.FeatureAgglomeration modules/generated/sklearn.cluster.FeatureAgglomeration.html#sklearn.cluster.FeatureAgglomeration sklearn.cluster.KMeans modules/generated/sklearn.cluster.KMeans.html#sklearn.cluster.KMeans @@ -32,6 +33,7 @@ py:class sklearn.cluster._bicluster.SpectralBiclustering modules/generated/sklearn.cluster.SpectralBiclustering.html#sklearn.cluster.SpectralBiclustering sklearn.cluster._bicluster.SpectralCoclustering modules/generated/sklearn.cluster.SpectralCoclustering.html#sklearn.cluster.SpectralCoclustering sklearn.cluster._birch.Birch modules/generated/sklearn.cluster.Birch.html#sklearn.cluster.Birch + sklearn.cluster._bisect_k_means.BisectingKMeans modules/generated/sklearn.cluster.BisectingKMeans.html#sklearn.cluster.BisectingKMeans sklearn.cluster._dbscan.DBSCAN modules/generated/sklearn.cluster.DBSCAN.html#sklearn.cluster.DBSCAN sklearn.cluster._kmeans.KMeans modules/generated/sklearn.cluster.KMeans.html#sklearn.cluster.KMeans sklearn.cluster._kmeans.MiniBatchKMeans modules/generated/sklearn.cluster.MiniBatchKMeans.html#sklearn.cluster.MiniBatchKMeans @@ -73,6 +75,7 @@ py:class sklearn.decomposition.KernelPCA modules/generated/sklearn.decomposition.KernelPCA.html#sklearn.decomposition.KernelPCA sklearn.decomposition.LatentDirichletAllocation modules/generated/sklearn.decomposition.LatentDirichletAllocation.html#sklearn.decomposition.LatentDirichletAllocation sklearn.decomposition.MiniBatchDictionaryLearning modules/generated/sklearn.decomposition.MiniBatchDictionaryLearning.html#sklearn.decomposition.MiniBatchDictionaryLearning + sklearn.decomposition.MiniBatchNMF modules/generated/sklearn.decomposition.MiniBatchNMF.html#sklearn.decomposition.MiniBatchNMF sklearn.decomposition.MiniBatchSparsePCA modules/generated/sklearn.decomposition.MiniBatchSparsePCA.html#sklearn.decomposition.MiniBatchSparsePCA sklearn.decomposition.NMF modules/generated/sklearn.decomposition.NMF.html#sklearn.decomposition.NMF sklearn.decomposition.PCA modules/generated/sklearn.decomposition.PCA.html#sklearn.decomposition.PCA @@ -87,6 +90,7 @@ py:class sklearn.decomposition._incremental_pca.IncrementalPCA modules/generated/sklearn.decomposition.IncrementalPCA.html#sklearn.decomposition.IncrementalPCA sklearn.decomposition._kernel_pca.KernelPCA modules/generated/sklearn.decomposition.KernelPCA.html#sklearn.decomposition.KernelPCA sklearn.decomposition._lda.LatentDirichletAllocation modules/generated/sklearn.decomposition.LatentDirichletAllocation.html#sklearn.decomposition.LatentDirichletAllocation + sklearn.decomposition._nmf.MiniBatchNMF modules/generated/sklearn.decomposition.MiniBatchNMF.html#sklearn.decomposition.MiniBatchNMF sklearn.decomposition._nmf.NMF modules/generated/sklearn.decomposition.NMF.html#sklearn.decomposition.NMF sklearn.decomposition._pca.PCA modules/generated/sklearn.decomposition.PCA.html#sklearn.decomposition.PCA sklearn.decomposition._sparse_pca.MiniBatchSparsePCA modules/generated/sklearn.decomposition.MiniBatchSparsePCA.html#sklearn.decomposition.MiniBatchSparsePCA @@ -198,7 +202,9 @@ py:class sklearn.impute._base.SimpleImputer modules/generated/sklearn.impute.SimpleImputer.html#sklearn.impute.SimpleImputer sklearn.impute._iterative.IterativeImputer modules/generated/sklearn.impute.IterativeImputer.html#sklearn.impute.IterativeImputer sklearn.impute._knn.KNNImputer modules/generated/sklearn.impute.KNNImputer.html#sklearn.impute.KNNImputer + sklearn.inspection.DecisionBoundaryDisplay modules/generated/sklearn.inspection.DecisionBoundaryDisplay.html#sklearn.inspection.DecisionBoundaryDisplay sklearn.inspection.PartialDependenceDisplay modules/generated/sklearn.inspection.PartialDependenceDisplay.html#sklearn.inspection.PartialDependenceDisplay + sklearn.inspection._plot.decision_boundary.DecisionBoundaryDisplay modules/generated/sklearn.inspection.DecisionBoundaryDisplay.html#sklearn.inspection.DecisionBoundaryDisplay sklearn.inspection._plot.partial_dependence.PartialDependenceDisplay modules/generated/sklearn.inspection.PartialDependenceDisplay.html#sklearn.inspection.PartialDependenceDisplay sklearn.isotonic.IsotonicRegression modules/generated/sklearn.isotonic.IsotonicRegression.html#sklearn.isotonic.IsotonicRegression sklearn.kernel_approximation.AdditiveChi2Sampler modules/generated/sklearn.kernel_approximation.AdditiveChi2Sampler.html#sklearn.kernel_approximation.AdditiveChi2Sampler @@ -457,6 +463,8 @@ py:class sklearn.tree._classes.DecisionTreeRegressor modules/generated/sklearn.tree.DecisionTreeRegressor.html#sklearn.tree.DecisionTreeRegressor sklearn.tree._classes.ExtraTreeClassifier modules/generated/sklearn.tree.ExtraTreeClassifier.html#sklearn.tree.ExtraTreeClassifier sklearn.tree._classes.ExtraTreeRegressor modules/generated/sklearn.tree.ExtraTreeRegressor.html#sklearn.tree.ExtraTreeRegressor + sklearn.utils.Bunch modules/generated/sklearn.utils.Bunch.html#sklearn.utils.Bunch + sklearn.utils._bunch.Bunch modules/generated/sklearn.utils.Bunch.html#sklearn.utils.Bunch py:function sklearn.base.clone modules/generated/sklearn.base.clone.html#sklearn.base.clone sklearn.base.is_classifier modules/generated/sklearn.base.is_classifier.html#sklearn.base.is_classifier @@ -577,6 +585,8 @@ py:function sklearn.metrics.confusion_matrix modules/generated/sklearn.metrics.confusion_matrix.html#sklearn.metrics.confusion_matrix sklearn.metrics.consensus_score modules/generated/sklearn.metrics.consensus_score.html#sklearn.metrics.consensus_score sklearn.metrics.coverage_error modules/generated/sklearn.metrics.coverage_error.html#sklearn.metrics.coverage_error + sklearn.metrics.d2_absolute_error_score modules/generated/sklearn.metrics.d2_absolute_error_score.html#sklearn.metrics.d2_absolute_error_score + sklearn.metrics.d2_pinball_score modules/generated/sklearn.metrics.d2_pinball_score.html#sklearn.metrics.d2_pinball_score sklearn.metrics.d2_tweedie_score modules/generated/sklearn.metrics.d2_tweedie_score.html#sklearn.metrics.d2_tweedie_score sklearn.metrics.davies_bouldin_score modules/generated/sklearn.metrics.davies_bouldin_score.html#sklearn.metrics.davies_bouldin_score sklearn.metrics.dcg_score modules/generated/sklearn.metrics.dcg_score.html#sklearn.metrics.dcg_score @@ -586,6 +596,7 @@ py:function sklearn.metrics.fbeta_score modules/generated/sklearn.metrics.fbeta_score.html#sklearn.metrics.fbeta_score sklearn.metrics.fowlkes_mallows_score modules/generated/sklearn.metrics.fowlkes_mallows_score.html#sklearn.metrics.fowlkes_mallows_score sklearn.metrics.get_scorer modules/generated/sklearn.metrics.get_scorer.html#sklearn.metrics.get_scorer + sklearn.metrics.get_scorer_names modules/generated/sklearn.metrics.get_scorer_names.html#sklearn.metrics.get_scorer_names sklearn.metrics.hamming_loss modules/generated/sklearn.metrics.hamming_loss.html#sklearn.metrics.hamming_loss sklearn.metrics.hinge_loss modules/generated/sklearn.metrics.hinge_loss.html#sklearn.metrics.hinge_loss sklearn.metrics.homogeneity_completeness_v_measure modules/generated/sklearn.metrics.homogeneity_completeness_v_measure.html#sklearn.metrics.homogeneity_completeness_v_measure @@ -680,7 +691,6 @@ py:function sklearn.tree.export_graphviz modules/generated/sklearn.tree.export_graphviz.html#sklearn.tree.export_graphviz sklearn.tree.export_text modules/generated/sklearn.tree.export_text.html#sklearn.tree.export_text sklearn.tree.plot_tree modules/generated/sklearn.tree.plot_tree.html#sklearn.tree.plot_tree - sklearn.utils.Bunch modules/generated/sklearn.utils.Bunch.html#sklearn.utils.Bunch sklearn.utils._safe_indexing modules/generated/sklearn.utils._safe_indexing.html#sklearn.utils._safe_indexing sklearn.utils.all_estimators modules/generated/sklearn.utils.all_estimators.html#sklearn.utils.all_estimators sklearn.utils.arrayfuncs.min_pos modules/generated/sklearn.utils.arrayfuncs.min_pos.html#sklearn.utils.arrayfuncs.min_pos @@ -766,17 +776,28 @@ py:method sklearn.cluster.Birch.fit modules/generated/sklearn.cluster.Birch.html#sklearn.cluster.Birch.fit sklearn.cluster.Birch.fit_predict modules/generated/sklearn.cluster.Birch.html#sklearn.cluster.Birch.fit_predict sklearn.cluster.Birch.fit_transform modules/generated/sklearn.cluster.Birch.html#sklearn.cluster.Birch.fit_transform + sklearn.cluster.Birch.get_feature_names_out modules/generated/sklearn.cluster.Birch.html#sklearn.cluster.Birch.get_feature_names_out sklearn.cluster.Birch.get_params modules/generated/sklearn.cluster.Birch.html#sklearn.cluster.Birch.get_params sklearn.cluster.Birch.partial_fit modules/generated/sklearn.cluster.Birch.html#sklearn.cluster.Birch.partial_fit sklearn.cluster.Birch.predict modules/generated/sklearn.cluster.Birch.html#sklearn.cluster.Birch.predict sklearn.cluster.Birch.set_params modules/generated/sklearn.cluster.Birch.html#sklearn.cluster.Birch.set_params sklearn.cluster.Birch.transform modules/generated/sklearn.cluster.Birch.html#sklearn.cluster.Birch.transform + sklearn.cluster.BisectingKMeans.fit modules/generated/sklearn.cluster.BisectingKMeans.html#sklearn.cluster.BisectingKMeans.fit + sklearn.cluster.BisectingKMeans.fit_predict modules/generated/sklearn.cluster.BisectingKMeans.html#sklearn.cluster.BisectingKMeans.fit_predict + sklearn.cluster.BisectingKMeans.fit_transform modules/generated/sklearn.cluster.BisectingKMeans.html#sklearn.cluster.BisectingKMeans.fit_transform + sklearn.cluster.BisectingKMeans.get_feature_names_out modules/generated/sklearn.cluster.BisectingKMeans.html#sklearn.cluster.BisectingKMeans.get_feature_names_out + sklearn.cluster.BisectingKMeans.get_params modules/generated/sklearn.cluster.BisectingKMeans.html#sklearn.cluster.BisectingKMeans.get_params + sklearn.cluster.BisectingKMeans.predict modules/generated/sklearn.cluster.BisectingKMeans.html#sklearn.cluster.BisectingKMeans.predict + sklearn.cluster.BisectingKMeans.score modules/generated/sklearn.cluster.BisectingKMeans.html#sklearn.cluster.BisectingKMeans.score + sklearn.cluster.BisectingKMeans.set_params modules/generated/sklearn.cluster.BisectingKMeans.html#sklearn.cluster.BisectingKMeans.set_params + sklearn.cluster.BisectingKMeans.transform modules/generated/sklearn.cluster.BisectingKMeans.html#sklearn.cluster.BisectingKMeans.transform sklearn.cluster.DBSCAN.fit modules/generated/sklearn.cluster.DBSCAN.html#sklearn.cluster.DBSCAN.fit sklearn.cluster.DBSCAN.fit_predict modules/generated/sklearn.cluster.DBSCAN.html#sklearn.cluster.DBSCAN.fit_predict sklearn.cluster.DBSCAN.get_params modules/generated/sklearn.cluster.DBSCAN.html#sklearn.cluster.DBSCAN.get_params sklearn.cluster.DBSCAN.set_params modules/generated/sklearn.cluster.DBSCAN.html#sklearn.cluster.DBSCAN.set_params sklearn.cluster.FeatureAgglomeration.fit modules/generated/sklearn.cluster.FeatureAgglomeration.html#sklearn.cluster.FeatureAgglomeration.fit sklearn.cluster.FeatureAgglomeration.fit_transform modules/generated/sklearn.cluster.FeatureAgglomeration.html#sklearn.cluster.FeatureAgglomeration.fit_transform + sklearn.cluster.FeatureAgglomeration.get_feature_names_out modules/generated/sklearn.cluster.FeatureAgglomeration.html#sklearn.cluster.FeatureAgglomeration.get_feature_names_out sklearn.cluster.FeatureAgglomeration.get_params modules/generated/sklearn.cluster.FeatureAgglomeration.html#sklearn.cluster.FeatureAgglomeration.get_params sklearn.cluster.FeatureAgglomeration.inverse_transform modules/generated/sklearn.cluster.FeatureAgglomeration.html#sklearn.cluster.FeatureAgglomeration.inverse_transform sklearn.cluster.FeatureAgglomeration.set_params modules/generated/sklearn.cluster.FeatureAgglomeration.html#sklearn.cluster.FeatureAgglomeration.set_params @@ -784,6 +805,7 @@ py:method sklearn.cluster.KMeans.fit modules/generated/sklearn.cluster.KMeans.html#sklearn.cluster.KMeans.fit sklearn.cluster.KMeans.fit_predict modules/generated/sklearn.cluster.KMeans.html#sklearn.cluster.KMeans.fit_predict sklearn.cluster.KMeans.fit_transform modules/generated/sklearn.cluster.KMeans.html#sklearn.cluster.KMeans.fit_transform + sklearn.cluster.KMeans.get_feature_names_out modules/generated/sklearn.cluster.KMeans.html#sklearn.cluster.KMeans.get_feature_names_out sklearn.cluster.KMeans.get_params modules/generated/sklearn.cluster.KMeans.html#sklearn.cluster.KMeans.get_params sklearn.cluster.KMeans.predict modules/generated/sklearn.cluster.KMeans.html#sklearn.cluster.KMeans.predict sklearn.cluster.KMeans.score modules/generated/sklearn.cluster.KMeans.html#sklearn.cluster.KMeans.score @@ -797,6 +819,7 @@ py:method sklearn.cluster.MiniBatchKMeans.fit modules/generated/sklearn.cluster.MiniBatchKMeans.html#sklearn.cluster.MiniBatchKMeans.fit sklearn.cluster.MiniBatchKMeans.fit_predict modules/generated/sklearn.cluster.MiniBatchKMeans.html#sklearn.cluster.MiniBatchKMeans.fit_predict sklearn.cluster.MiniBatchKMeans.fit_transform modules/generated/sklearn.cluster.MiniBatchKMeans.html#sklearn.cluster.MiniBatchKMeans.fit_transform + sklearn.cluster.MiniBatchKMeans.get_feature_names_out modules/generated/sklearn.cluster.MiniBatchKMeans.html#sklearn.cluster.MiniBatchKMeans.get_feature_names_out sklearn.cluster.MiniBatchKMeans.get_params modules/generated/sklearn.cluster.MiniBatchKMeans.html#sklearn.cluster.MiniBatchKMeans.get_params sklearn.cluster.MiniBatchKMeans.partial_fit modules/generated/sklearn.cluster.MiniBatchKMeans.html#sklearn.cluster.MiniBatchKMeans.partial_fit sklearn.cluster.MiniBatchKMeans.predict modules/generated/sklearn.cluster.MiniBatchKMeans.html#sklearn.cluster.MiniBatchKMeans.predict @@ -901,6 +924,7 @@ py:method sklearn.covariance.ShrunkCovariance.set_params modules/generated/sklearn.covariance.ShrunkCovariance.html#sklearn.covariance.ShrunkCovariance.set_params sklearn.cross_decomposition.CCA.fit modules/generated/sklearn.cross_decomposition.CCA.html#sklearn.cross_decomposition.CCA.fit sklearn.cross_decomposition.CCA.fit_transform modules/generated/sklearn.cross_decomposition.CCA.html#sklearn.cross_decomposition.CCA.fit_transform + sklearn.cross_decomposition.CCA.get_feature_names_out modules/generated/sklearn.cross_decomposition.CCA.html#sklearn.cross_decomposition.CCA.get_feature_names_out sklearn.cross_decomposition.CCA.get_params modules/generated/sklearn.cross_decomposition.CCA.html#sklearn.cross_decomposition.CCA.get_params sklearn.cross_decomposition.CCA.inverse_transform modules/generated/sklearn.cross_decomposition.CCA.html#sklearn.cross_decomposition.CCA.inverse_transform sklearn.cross_decomposition.CCA.predict modules/generated/sklearn.cross_decomposition.CCA.html#sklearn.cross_decomposition.CCA.predict @@ -909,6 +933,7 @@ py:method sklearn.cross_decomposition.CCA.transform modules/generated/sklearn.cross_decomposition.CCA.html#sklearn.cross_decomposition.CCA.transform sklearn.cross_decomposition.PLSCanonical.fit modules/generated/sklearn.cross_decomposition.PLSCanonical.html#sklearn.cross_decomposition.PLSCanonical.fit sklearn.cross_decomposition.PLSCanonical.fit_transform modules/generated/sklearn.cross_decomposition.PLSCanonical.html#sklearn.cross_decomposition.PLSCanonical.fit_transform + sklearn.cross_decomposition.PLSCanonical.get_feature_names_out modules/generated/sklearn.cross_decomposition.PLSCanonical.html#sklearn.cross_decomposition.PLSCanonical.get_feature_names_out sklearn.cross_decomposition.PLSCanonical.get_params modules/generated/sklearn.cross_decomposition.PLSCanonical.html#sklearn.cross_decomposition.PLSCanonical.get_params sklearn.cross_decomposition.PLSCanonical.inverse_transform modules/generated/sklearn.cross_decomposition.PLSCanonical.html#sklearn.cross_decomposition.PLSCanonical.inverse_transform sklearn.cross_decomposition.PLSCanonical.predict modules/generated/sklearn.cross_decomposition.PLSCanonical.html#sklearn.cross_decomposition.PLSCanonical.predict @@ -917,6 +942,7 @@ py:method sklearn.cross_decomposition.PLSCanonical.transform modules/generated/sklearn.cross_decomposition.PLSCanonical.html#sklearn.cross_decomposition.PLSCanonical.transform sklearn.cross_decomposition.PLSRegression.fit modules/generated/sklearn.cross_decomposition.PLSRegression.html#sklearn.cross_decomposition.PLSRegression.fit sklearn.cross_decomposition.PLSRegression.fit_transform modules/generated/sklearn.cross_decomposition.PLSRegression.html#sklearn.cross_decomposition.PLSRegression.fit_transform + sklearn.cross_decomposition.PLSRegression.get_feature_names_out modules/generated/sklearn.cross_decomposition.PLSRegression.html#sklearn.cross_decomposition.PLSRegression.get_feature_names_out sklearn.cross_decomposition.PLSRegression.get_params modules/generated/sklearn.cross_decomposition.PLSRegression.html#sklearn.cross_decomposition.PLSRegression.get_params sklearn.cross_decomposition.PLSRegression.inverse_transform modules/generated/sklearn.cross_decomposition.PLSRegression.html#sklearn.cross_decomposition.PLSRegression.inverse_transform sklearn.cross_decomposition.PLSRegression.predict modules/generated/sklearn.cross_decomposition.PLSRegression.html#sklearn.cross_decomposition.PLSRegression.predict @@ -925,17 +951,20 @@ py:method sklearn.cross_decomposition.PLSRegression.transform modules/generated/sklearn.cross_decomposition.PLSRegression.html#sklearn.cross_decomposition.PLSRegression.transform sklearn.cross_decomposition.PLSSVD.fit modules/generated/sklearn.cross_decomposition.PLSSVD.html#sklearn.cross_decomposition.PLSSVD.fit sklearn.cross_decomposition.PLSSVD.fit_transform modules/generated/sklearn.cross_decomposition.PLSSVD.html#sklearn.cross_decomposition.PLSSVD.fit_transform + sklearn.cross_decomposition.PLSSVD.get_feature_names_out modules/generated/sklearn.cross_decomposition.PLSSVD.html#sklearn.cross_decomposition.PLSSVD.get_feature_names_out sklearn.cross_decomposition.PLSSVD.get_params modules/generated/sklearn.cross_decomposition.PLSSVD.html#sklearn.cross_decomposition.PLSSVD.get_params sklearn.cross_decomposition.PLSSVD.set_params modules/generated/sklearn.cross_decomposition.PLSSVD.html#sklearn.cross_decomposition.PLSSVD.set_params sklearn.cross_decomposition.PLSSVD.transform modules/generated/sklearn.cross_decomposition.PLSSVD.html#sklearn.cross_decomposition.PLSSVD.transform sklearn.decomposition.DictionaryLearning.fit modules/generated/sklearn.decomposition.DictionaryLearning.html#sklearn.decomposition.DictionaryLearning.fit sklearn.decomposition.DictionaryLearning.fit_transform modules/generated/sklearn.decomposition.DictionaryLearning.html#sklearn.decomposition.DictionaryLearning.fit_transform + sklearn.decomposition.DictionaryLearning.get_feature_names_out modules/generated/sklearn.decomposition.DictionaryLearning.html#sklearn.decomposition.DictionaryLearning.get_feature_names_out sklearn.decomposition.DictionaryLearning.get_params modules/generated/sklearn.decomposition.DictionaryLearning.html#sklearn.decomposition.DictionaryLearning.get_params sklearn.decomposition.DictionaryLearning.set_params modules/generated/sklearn.decomposition.DictionaryLearning.html#sklearn.decomposition.DictionaryLearning.set_params sklearn.decomposition.DictionaryLearning.transform modules/generated/sklearn.decomposition.DictionaryLearning.html#sklearn.decomposition.DictionaryLearning.transform sklearn.decomposition.FactorAnalysis.fit modules/generated/sklearn.decomposition.FactorAnalysis.html#sklearn.decomposition.FactorAnalysis.fit sklearn.decomposition.FactorAnalysis.fit_transform modules/generated/sklearn.decomposition.FactorAnalysis.html#sklearn.decomposition.FactorAnalysis.fit_transform sklearn.decomposition.FactorAnalysis.get_covariance modules/generated/sklearn.decomposition.FactorAnalysis.html#sklearn.decomposition.FactorAnalysis.get_covariance + sklearn.decomposition.FactorAnalysis.get_feature_names_out modules/generated/sklearn.decomposition.FactorAnalysis.html#sklearn.decomposition.FactorAnalysis.get_feature_names_out sklearn.decomposition.FactorAnalysis.get_params modules/generated/sklearn.decomposition.FactorAnalysis.html#sklearn.decomposition.FactorAnalysis.get_params sklearn.decomposition.FactorAnalysis.get_precision modules/generated/sklearn.decomposition.FactorAnalysis.html#sklearn.decomposition.FactorAnalysis.get_precision sklearn.decomposition.FactorAnalysis.score modules/generated/sklearn.decomposition.FactorAnalysis.html#sklearn.decomposition.FactorAnalysis.score @@ -944,6 +973,7 @@ py:method sklearn.decomposition.FactorAnalysis.transform modules/generated/sklearn.decomposition.FactorAnalysis.html#sklearn.decomposition.FactorAnalysis.transform sklearn.decomposition.FastICA.fit modules/generated/sklearn.decomposition.FastICA.html#sklearn.decomposition.FastICA.fit sklearn.decomposition.FastICA.fit_transform modules/generated/sklearn.decomposition.FastICA.html#sklearn.decomposition.FastICA.fit_transform + sklearn.decomposition.FastICA.get_feature_names_out modules/generated/sklearn.decomposition.FastICA.html#sklearn.decomposition.FastICA.get_feature_names_out sklearn.decomposition.FastICA.get_params modules/generated/sklearn.decomposition.FastICA.html#sklearn.decomposition.FastICA.get_params sklearn.decomposition.FastICA.inverse_transform modules/generated/sklearn.decomposition.FastICA.html#sklearn.decomposition.FastICA.inverse_transform sklearn.decomposition.FastICA.set_params modules/generated/sklearn.decomposition.FastICA.html#sklearn.decomposition.FastICA.set_params @@ -951,6 +981,7 @@ py:method sklearn.decomposition.IncrementalPCA.fit modules/generated/sklearn.decomposition.IncrementalPCA.html#sklearn.decomposition.IncrementalPCA.fit sklearn.decomposition.IncrementalPCA.fit_transform modules/generated/sklearn.decomposition.IncrementalPCA.html#sklearn.decomposition.IncrementalPCA.fit_transform sklearn.decomposition.IncrementalPCA.get_covariance modules/generated/sklearn.decomposition.IncrementalPCA.html#sklearn.decomposition.IncrementalPCA.get_covariance + sklearn.decomposition.IncrementalPCA.get_feature_names_out modules/generated/sklearn.decomposition.IncrementalPCA.html#sklearn.decomposition.IncrementalPCA.get_feature_names_out sklearn.decomposition.IncrementalPCA.get_params modules/generated/sklearn.decomposition.IncrementalPCA.html#sklearn.decomposition.IncrementalPCA.get_params sklearn.decomposition.IncrementalPCA.get_precision modules/generated/sklearn.decomposition.IncrementalPCA.html#sklearn.decomposition.IncrementalPCA.get_precision sklearn.decomposition.IncrementalPCA.inverse_transform modules/generated/sklearn.decomposition.IncrementalPCA.html#sklearn.decomposition.IncrementalPCA.inverse_transform @@ -959,12 +990,14 @@ py:method sklearn.decomposition.IncrementalPCA.transform modules/generated/sklearn.decomposition.IncrementalPCA.html#sklearn.decomposition.IncrementalPCA.transform sklearn.decomposition.KernelPCA.fit modules/generated/sklearn.decomposition.KernelPCA.html#sklearn.decomposition.KernelPCA.fit sklearn.decomposition.KernelPCA.fit_transform modules/generated/sklearn.decomposition.KernelPCA.html#sklearn.decomposition.KernelPCA.fit_transform + sklearn.decomposition.KernelPCA.get_feature_names_out modules/generated/sklearn.decomposition.KernelPCA.html#sklearn.decomposition.KernelPCA.get_feature_names_out sklearn.decomposition.KernelPCA.get_params modules/generated/sklearn.decomposition.KernelPCA.html#sklearn.decomposition.KernelPCA.get_params sklearn.decomposition.KernelPCA.inverse_transform modules/generated/sklearn.decomposition.KernelPCA.html#sklearn.decomposition.KernelPCA.inverse_transform sklearn.decomposition.KernelPCA.set_params modules/generated/sklearn.decomposition.KernelPCA.html#sklearn.decomposition.KernelPCA.set_params sklearn.decomposition.KernelPCA.transform modules/generated/sklearn.decomposition.KernelPCA.html#sklearn.decomposition.KernelPCA.transform sklearn.decomposition.LatentDirichletAllocation.fit modules/generated/sklearn.decomposition.LatentDirichletAllocation.html#sklearn.decomposition.LatentDirichletAllocation.fit sklearn.decomposition.LatentDirichletAllocation.fit_transform modules/generated/sklearn.decomposition.LatentDirichletAllocation.html#sklearn.decomposition.LatentDirichletAllocation.fit_transform + sklearn.decomposition.LatentDirichletAllocation.get_feature_names_out modules/generated/sklearn.decomposition.LatentDirichletAllocation.html#sklearn.decomposition.LatentDirichletAllocation.get_feature_names_out sklearn.decomposition.LatentDirichletAllocation.get_params modules/generated/sklearn.decomposition.LatentDirichletAllocation.html#sklearn.decomposition.LatentDirichletAllocation.get_params sklearn.decomposition.LatentDirichletAllocation.partial_fit modules/generated/sklearn.decomposition.LatentDirichletAllocation.html#sklearn.decomposition.LatentDirichletAllocation.partial_fit sklearn.decomposition.LatentDirichletAllocation.perplexity modules/generated/sklearn.decomposition.LatentDirichletAllocation.html#sklearn.decomposition.LatentDirichletAllocation.perplexity @@ -973,17 +1006,28 @@ py:method sklearn.decomposition.LatentDirichletAllocation.transform modules/generated/sklearn.decomposition.LatentDirichletAllocation.html#sklearn.decomposition.LatentDirichletAllocation.transform sklearn.decomposition.MiniBatchDictionaryLearning.fit modules/generated/sklearn.decomposition.MiniBatchDictionaryLearning.html#sklearn.decomposition.MiniBatchDictionaryLearning.fit sklearn.decomposition.MiniBatchDictionaryLearning.fit_transform modules/generated/sklearn.decomposition.MiniBatchDictionaryLearning.html#sklearn.decomposition.MiniBatchDictionaryLearning.fit_transform + sklearn.decomposition.MiniBatchDictionaryLearning.get_feature_names_out modules/generated/sklearn.decomposition.MiniBatchDictionaryLearning.html#sklearn.decomposition.MiniBatchDictionaryLearning.get_feature_names_out sklearn.decomposition.MiniBatchDictionaryLearning.get_params modules/generated/sklearn.decomposition.MiniBatchDictionaryLearning.html#sklearn.decomposition.MiniBatchDictionaryLearning.get_params sklearn.decomposition.MiniBatchDictionaryLearning.partial_fit modules/generated/sklearn.decomposition.MiniBatchDictionaryLearning.html#sklearn.decomposition.MiniBatchDictionaryLearning.partial_fit sklearn.decomposition.MiniBatchDictionaryLearning.set_params modules/generated/sklearn.decomposition.MiniBatchDictionaryLearning.html#sklearn.decomposition.MiniBatchDictionaryLearning.set_params sklearn.decomposition.MiniBatchDictionaryLearning.transform modules/generated/sklearn.decomposition.MiniBatchDictionaryLearning.html#sklearn.decomposition.MiniBatchDictionaryLearning.transform + sklearn.decomposition.MiniBatchNMF.fit modules/generated/sklearn.decomposition.MiniBatchNMF.html#sklearn.decomposition.MiniBatchNMF.fit + sklearn.decomposition.MiniBatchNMF.fit_transform modules/generated/sklearn.decomposition.MiniBatchNMF.html#sklearn.decomposition.MiniBatchNMF.fit_transform + sklearn.decomposition.MiniBatchNMF.get_feature_names_out modules/generated/sklearn.decomposition.MiniBatchNMF.html#sklearn.decomposition.MiniBatchNMF.get_feature_names_out + sklearn.decomposition.MiniBatchNMF.get_params modules/generated/sklearn.decomposition.MiniBatchNMF.html#sklearn.decomposition.MiniBatchNMF.get_params + sklearn.decomposition.MiniBatchNMF.inverse_transform modules/generated/sklearn.decomposition.MiniBatchNMF.html#sklearn.decomposition.MiniBatchNMF.inverse_transform + sklearn.decomposition.MiniBatchNMF.partial_fit modules/generated/sklearn.decomposition.MiniBatchNMF.html#sklearn.decomposition.MiniBatchNMF.partial_fit + sklearn.decomposition.MiniBatchNMF.set_params modules/generated/sklearn.decomposition.MiniBatchNMF.html#sklearn.decomposition.MiniBatchNMF.set_params + sklearn.decomposition.MiniBatchNMF.transform modules/generated/sklearn.decomposition.MiniBatchNMF.html#sklearn.decomposition.MiniBatchNMF.transform sklearn.decomposition.MiniBatchSparsePCA.fit modules/generated/sklearn.decomposition.MiniBatchSparsePCA.html#sklearn.decomposition.MiniBatchSparsePCA.fit sklearn.decomposition.MiniBatchSparsePCA.fit_transform modules/generated/sklearn.decomposition.MiniBatchSparsePCA.html#sklearn.decomposition.MiniBatchSparsePCA.fit_transform + sklearn.decomposition.MiniBatchSparsePCA.get_feature_names_out modules/generated/sklearn.decomposition.MiniBatchSparsePCA.html#sklearn.decomposition.MiniBatchSparsePCA.get_feature_names_out sklearn.decomposition.MiniBatchSparsePCA.get_params modules/generated/sklearn.decomposition.MiniBatchSparsePCA.html#sklearn.decomposition.MiniBatchSparsePCA.get_params sklearn.decomposition.MiniBatchSparsePCA.set_params modules/generated/sklearn.decomposition.MiniBatchSparsePCA.html#sklearn.decomposition.MiniBatchSparsePCA.set_params sklearn.decomposition.MiniBatchSparsePCA.transform modules/generated/sklearn.decomposition.MiniBatchSparsePCA.html#sklearn.decomposition.MiniBatchSparsePCA.transform sklearn.decomposition.NMF.fit modules/generated/sklearn.decomposition.NMF.html#sklearn.decomposition.NMF.fit sklearn.decomposition.NMF.fit_transform modules/generated/sklearn.decomposition.NMF.html#sklearn.decomposition.NMF.fit_transform + sklearn.decomposition.NMF.get_feature_names_out modules/generated/sklearn.decomposition.NMF.html#sklearn.decomposition.NMF.get_feature_names_out sklearn.decomposition.NMF.get_params modules/generated/sklearn.decomposition.NMF.html#sklearn.decomposition.NMF.get_params sklearn.decomposition.NMF.inverse_transform modules/generated/sklearn.decomposition.NMF.html#sklearn.decomposition.NMF.inverse_transform sklearn.decomposition.NMF.set_params modules/generated/sklearn.decomposition.NMF.html#sklearn.decomposition.NMF.set_params @@ -991,6 +1035,7 @@ py:method sklearn.decomposition.PCA.fit modules/generated/sklearn.decomposition.PCA.html#sklearn.decomposition.PCA.fit sklearn.decomposition.PCA.fit_transform modules/generated/sklearn.decomposition.PCA.html#sklearn.decomposition.PCA.fit_transform sklearn.decomposition.PCA.get_covariance modules/generated/sklearn.decomposition.PCA.html#sklearn.decomposition.PCA.get_covariance + sklearn.decomposition.PCA.get_feature_names_out modules/generated/sklearn.decomposition.PCA.html#sklearn.decomposition.PCA.get_feature_names_out sklearn.decomposition.PCA.get_params modules/generated/sklearn.decomposition.PCA.html#sklearn.decomposition.PCA.get_params sklearn.decomposition.PCA.get_precision modules/generated/sklearn.decomposition.PCA.html#sklearn.decomposition.PCA.get_precision sklearn.decomposition.PCA.inverse_transform modules/generated/sklearn.decomposition.PCA.html#sklearn.decomposition.PCA.inverse_transform @@ -1000,16 +1045,19 @@ py:method sklearn.decomposition.PCA.transform modules/generated/sklearn.decomposition.PCA.html#sklearn.decomposition.PCA.transform sklearn.decomposition.SparseCoder.fit modules/generated/sklearn.decomposition.SparseCoder.html#sklearn.decomposition.SparseCoder.fit sklearn.decomposition.SparseCoder.fit_transform modules/generated/sklearn.decomposition.SparseCoder.html#sklearn.decomposition.SparseCoder.fit_transform + sklearn.decomposition.SparseCoder.get_feature_names_out modules/generated/sklearn.decomposition.SparseCoder.html#sklearn.decomposition.SparseCoder.get_feature_names_out sklearn.decomposition.SparseCoder.get_params modules/generated/sklearn.decomposition.SparseCoder.html#sklearn.decomposition.SparseCoder.get_params sklearn.decomposition.SparseCoder.set_params modules/generated/sklearn.decomposition.SparseCoder.html#sklearn.decomposition.SparseCoder.set_params sklearn.decomposition.SparseCoder.transform modules/generated/sklearn.decomposition.SparseCoder.html#sklearn.decomposition.SparseCoder.transform sklearn.decomposition.SparsePCA.fit modules/generated/sklearn.decomposition.SparsePCA.html#sklearn.decomposition.SparsePCA.fit sklearn.decomposition.SparsePCA.fit_transform modules/generated/sklearn.decomposition.SparsePCA.html#sklearn.decomposition.SparsePCA.fit_transform + sklearn.decomposition.SparsePCA.get_feature_names_out modules/generated/sklearn.decomposition.SparsePCA.html#sklearn.decomposition.SparsePCA.get_feature_names_out sklearn.decomposition.SparsePCA.get_params modules/generated/sklearn.decomposition.SparsePCA.html#sklearn.decomposition.SparsePCA.get_params sklearn.decomposition.SparsePCA.set_params modules/generated/sklearn.decomposition.SparsePCA.html#sklearn.decomposition.SparsePCA.set_params sklearn.decomposition.SparsePCA.transform modules/generated/sklearn.decomposition.SparsePCA.html#sklearn.decomposition.SparsePCA.transform sklearn.decomposition.TruncatedSVD.fit modules/generated/sklearn.decomposition.TruncatedSVD.html#sklearn.decomposition.TruncatedSVD.fit sklearn.decomposition.TruncatedSVD.fit_transform modules/generated/sklearn.decomposition.TruncatedSVD.html#sklearn.decomposition.TruncatedSVD.fit_transform + sklearn.decomposition.TruncatedSVD.get_feature_names_out modules/generated/sklearn.decomposition.TruncatedSVD.html#sklearn.decomposition.TruncatedSVD.get_feature_names_out sklearn.decomposition.TruncatedSVD.get_params modules/generated/sklearn.decomposition.TruncatedSVD.html#sklearn.decomposition.TruncatedSVD.get_params sklearn.decomposition.TruncatedSVD.inverse_transform modules/generated/sklearn.decomposition.TruncatedSVD.html#sklearn.decomposition.TruncatedSVD.inverse_transform sklearn.decomposition.TruncatedSVD.set_params modules/generated/sklearn.decomposition.TruncatedSVD.html#sklearn.decomposition.TruncatedSVD.set_params @@ -1017,6 +1065,7 @@ py:method sklearn.discriminant_analysis.LinearDiscriminantAnalysis.decision_function modules/generated/sklearn.discriminant_analysis.LinearDiscriminantAnalysis.html#sklearn.discriminant_analysis.LinearDiscriminantAnalysis.decision_function sklearn.discriminant_analysis.LinearDiscriminantAnalysis.fit modules/generated/sklearn.discriminant_analysis.LinearDiscriminantAnalysis.html#sklearn.discriminant_analysis.LinearDiscriminantAnalysis.fit sklearn.discriminant_analysis.LinearDiscriminantAnalysis.fit_transform modules/generated/sklearn.discriminant_analysis.LinearDiscriminantAnalysis.html#sklearn.discriminant_analysis.LinearDiscriminantAnalysis.fit_transform + sklearn.discriminant_analysis.LinearDiscriminantAnalysis.get_feature_names_out modules/generated/sklearn.discriminant_analysis.LinearDiscriminantAnalysis.html#sklearn.discriminant_analysis.LinearDiscriminantAnalysis.get_feature_names_out sklearn.discriminant_analysis.LinearDiscriminantAnalysis.get_params modules/generated/sklearn.discriminant_analysis.LinearDiscriminantAnalysis.html#sklearn.discriminant_analysis.LinearDiscriminantAnalysis.get_params sklearn.discriminant_analysis.LinearDiscriminantAnalysis.predict modules/generated/sklearn.discriminant_analysis.LinearDiscriminantAnalysis.html#sklearn.discriminant_analysis.LinearDiscriminantAnalysis.predict sklearn.discriminant_analysis.LinearDiscriminantAnalysis.predict_log_proba modules/generated/sklearn.discriminant_analysis.LinearDiscriminantAnalysis.html#sklearn.discriminant_analysis.LinearDiscriminantAnalysis.predict_log_proba @@ -1154,12 +1203,14 @@ py:method sklearn.ensemble.RandomTreesEmbedding.decision_path modules/generated/sklearn.ensemble.RandomTreesEmbedding.html#sklearn.ensemble.RandomTreesEmbedding.decision_path sklearn.ensemble.RandomTreesEmbedding.fit modules/generated/sklearn.ensemble.RandomTreesEmbedding.html#sklearn.ensemble.RandomTreesEmbedding.fit sklearn.ensemble.RandomTreesEmbedding.fit_transform modules/generated/sklearn.ensemble.RandomTreesEmbedding.html#sklearn.ensemble.RandomTreesEmbedding.fit_transform + sklearn.ensemble.RandomTreesEmbedding.get_feature_names_out modules/generated/sklearn.ensemble.RandomTreesEmbedding.html#sklearn.ensemble.RandomTreesEmbedding.get_feature_names_out sklearn.ensemble.RandomTreesEmbedding.get_params modules/generated/sklearn.ensemble.RandomTreesEmbedding.html#sklearn.ensemble.RandomTreesEmbedding.get_params sklearn.ensemble.RandomTreesEmbedding.set_params modules/generated/sklearn.ensemble.RandomTreesEmbedding.html#sklearn.ensemble.RandomTreesEmbedding.set_params sklearn.ensemble.RandomTreesEmbedding.transform modules/generated/sklearn.ensemble.RandomTreesEmbedding.html#sklearn.ensemble.RandomTreesEmbedding.transform sklearn.ensemble.StackingClassifier.decision_function modules/generated/sklearn.ensemble.StackingClassifier.html#sklearn.ensemble.StackingClassifier.decision_function sklearn.ensemble.StackingClassifier.fit modules/generated/sklearn.ensemble.StackingClassifier.html#sklearn.ensemble.StackingClassifier.fit sklearn.ensemble.StackingClassifier.fit_transform modules/generated/sklearn.ensemble.StackingClassifier.html#sklearn.ensemble.StackingClassifier.fit_transform + sklearn.ensemble.StackingClassifier.get_feature_names_out modules/generated/sklearn.ensemble.StackingClassifier.html#sklearn.ensemble.StackingClassifier.get_feature_names_out sklearn.ensemble.StackingClassifier.get_params modules/generated/sklearn.ensemble.StackingClassifier.html#sklearn.ensemble.StackingClassifier.get_params sklearn.ensemble.StackingClassifier.predict modules/generated/sklearn.ensemble.StackingClassifier.html#sklearn.ensemble.StackingClassifier.predict sklearn.ensemble.StackingClassifier.predict_proba modules/generated/sklearn.ensemble.StackingClassifier.html#sklearn.ensemble.StackingClassifier.predict_proba @@ -1168,6 +1219,7 @@ py:method sklearn.ensemble.StackingClassifier.transform modules/generated/sklearn.ensemble.StackingClassifier.html#sklearn.ensemble.StackingClassifier.transform sklearn.ensemble.StackingRegressor.fit modules/generated/sklearn.ensemble.StackingRegressor.html#sklearn.ensemble.StackingRegressor.fit sklearn.ensemble.StackingRegressor.fit_transform modules/generated/sklearn.ensemble.StackingRegressor.html#sklearn.ensemble.StackingRegressor.fit_transform + sklearn.ensemble.StackingRegressor.get_feature_names_out modules/generated/sklearn.ensemble.StackingRegressor.html#sklearn.ensemble.StackingRegressor.get_feature_names_out sklearn.ensemble.StackingRegressor.get_params modules/generated/sklearn.ensemble.StackingRegressor.html#sklearn.ensemble.StackingRegressor.get_params sklearn.ensemble.StackingRegressor.predict modules/generated/sklearn.ensemble.StackingRegressor.html#sklearn.ensemble.StackingRegressor.predict sklearn.ensemble.StackingRegressor.score modules/generated/sklearn.ensemble.StackingRegressor.html#sklearn.ensemble.StackingRegressor.score @@ -1175,6 +1227,7 @@ py:method sklearn.ensemble.StackingRegressor.transform modules/generated/sklearn.ensemble.StackingRegressor.html#sklearn.ensemble.StackingRegressor.transform sklearn.ensemble.VotingClassifier.fit modules/generated/sklearn.ensemble.VotingClassifier.html#sklearn.ensemble.VotingClassifier.fit sklearn.ensemble.VotingClassifier.fit_transform modules/generated/sklearn.ensemble.VotingClassifier.html#sklearn.ensemble.VotingClassifier.fit_transform + sklearn.ensemble.VotingClassifier.get_feature_names_out modules/generated/sklearn.ensemble.VotingClassifier.html#sklearn.ensemble.VotingClassifier.get_feature_names_out sklearn.ensemble.VotingClassifier.get_params modules/generated/sklearn.ensemble.VotingClassifier.html#sklearn.ensemble.VotingClassifier.get_params sklearn.ensemble.VotingClassifier.predict modules/generated/sklearn.ensemble.VotingClassifier.html#sklearn.ensemble.VotingClassifier.predict sklearn.ensemble.VotingClassifier.predict_proba modules/generated/sklearn.ensemble.VotingClassifier.html#sklearn.ensemble.VotingClassifier.predict_proba @@ -1183,6 +1236,7 @@ py:method sklearn.ensemble.VotingClassifier.transform modules/generated/sklearn.ensemble.VotingClassifier.html#sklearn.ensemble.VotingClassifier.transform sklearn.ensemble.VotingRegressor.fit modules/generated/sklearn.ensemble.VotingRegressor.html#sklearn.ensemble.VotingRegressor.fit sklearn.ensemble.VotingRegressor.fit_transform modules/generated/sklearn.ensemble.VotingRegressor.html#sklearn.ensemble.VotingRegressor.fit_transform + sklearn.ensemble.VotingRegressor.get_feature_names_out modules/generated/sklearn.ensemble.VotingRegressor.html#sklearn.ensemble.VotingRegressor.get_feature_names_out sklearn.ensemble.VotingRegressor.get_params modules/generated/sklearn.ensemble.VotingRegressor.html#sklearn.ensemble.VotingRegressor.get_params sklearn.ensemble.VotingRegressor.predict modules/generated/sklearn.ensemble.VotingRegressor.html#sklearn.ensemble.VotingRegressor.predict sklearn.ensemble.VotingRegressor.score modules/generated/sklearn.ensemble.VotingRegressor.html#sklearn.ensemble.VotingRegressor.score @@ -1457,29 +1511,36 @@ py:method sklearn.gaussian_process.kernels.WhiteKernel.set_params modules/generated/sklearn.gaussian_process.kernels.WhiteKernel.html#sklearn.gaussian_process.kernels.WhiteKernel.set_params sklearn.impute.IterativeImputer.fit modules/generated/sklearn.impute.IterativeImputer.html#sklearn.impute.IterativeImputer.fit sklearn.impute.IterativeImputer.fit_transform modules/generated/sklearn.impute.IterativeImputer.html#sklearn.impute.IterativeImputer.fit_transform + sklearn.impute.IterativeImputer.get_feature_names_out modules/generated/sklearn.impute.IterativeImputer.html#sklearn.impute.IterativeImputer.get_feature_names_out sklearn.impute.IterativeImputer.get_params modules/generated/sklearn.impute.IterativeImputer.html#sklearn.impute.IterativeImputer.get_params sklearn.impute.IterativeImputer.set_params modules/generated/sklearn.impute.IterativeImputer.html#sklearn.impute.IterativeImputer.set_params sklearn.impute.IterativeImputer.transform modules/generated/sklearn.impute.IterativeImputer.html#sklearn.impute.IterativeImputer.transform sklearn.impute.KNNImputer.fit modules/generated/sklearn.impute.KNNImputer.html#sklearn.impute.KNNImputer.fit sklearn.impute.KNNImputer.fit_transform modules/generated/sklearn.impute.KNNImputer.html#sklearn.impute.KNNImputer.fit_transform + sklearn.impute.KNNImputer.get_feature_names_out modules/generated/sklearn.impute.KNNImputer.html#sklearn.impute.KNNImputer.get_feature_names_out sklearn.impute.KNNImputer.get_params modules/generated/sklearn.impute.KNNImputer.html#sklearn.impute.KNNImputer.get_params sklearn.impute.KNNImputer.set_params modules/generated/sklearn.impute.KNNImputer.html#sklearn.impute.KNNImputer.set_params sklearn.impute.KNNImputer.transform modules/generated/sklearn.impute.KNNImputer.html#sklearn.impute.KNNImputer.transform sklearn.impute.MissingIndicator.fit modules/generated/sklearn.impute.MissingIndicator.html#sklearn.impute.MissingIndicator.fit sklearn.impute.MissingIndicator.fit_transform modules/generated/sklearn.impute.MissingIndicator.html#sklearn.impute.MissingIndicator.fit_transform + sklearn.impute.MissingIndicator.get_feature_names_out modules/generated/sklearn.impute.MissingIndicator.html#sklearn.impute.MissingIndicator.get_feature_names_out sklearn.impute.MissingIndicator.get_params modules/generated/sklearn.impute.MissingIndicator.html#sklearn.impute.MissingIndicator.get_params sklearn.impute.MissingIndicator.set_params modules/generated/sklearn.impute.MissingIndicator.html#sklearn.impute.MissingIndicator.set_params sklearn.impute.MissingIndicator.transform modules/generated/sklearn.impute.MissingIndicator.html#sklearn.impute.MissingIndicator.transform sklearn.impute.SimpleImputer.fit modules/generated/sklearn.impute.SimpleImputer.html#sklearn.impute.SimpleImputer.fit sklearn.impute.SimpleImputer.fit_transform modules/generated/sklearn.impute.SimpleImputer.html#sklearn.impute.SimpleImputer.fit_transform + sklearn.impute.SimpleImputer.get_feature_names_out modules/generated/sklearn.impute.SimpleImputer.html#sklearn.impute.SimpleImputer.get_feature_names_out sklearn.impute.SimpleImputer.get_params modules/generated/sklearn.impute.SimpleImputer.html#sklearn.impute.SimpleImputer.get_params sklearn.impute.SimpleImputer.inverse_transform modules/generated/sklearn.impute.SimpleImputer.html#sklearn.impute.SimpleImputer.inverse_transform sklearn.impute.SimpleImputer.set_params modules/generated/sklearn.impute.SimpleImputer.html#sklearn.impute.SimpleImputer.set_params sklearn.impute.SimpleImputer.transform modules/generated/sklearn.impute.SimpleImputer.html#sklearn.impute.SimpleImputer.transform + sklearn.inspection.DecisionBoundaryDisplay.from_estimator modules/generated/sklearn.inspection.DecisionBoundaryDisplay.html#sklearn.inspection.DecisionBoundaryDisplay.from_estimator + sklearn.inspection.DecisionBoundaryDisplay.plot modules/generated/sklearn.inspection.DecisionBoundaryDisplay.html#sklearn.inspection.DecisionBoundaryDisplay.plot sklearn.inspection.PartialDependenceDisplay.from_estimator modules/generated/sklearn.inspection.PartialDependenceDisplay.html#sklearn.inspection.PartialDependenceDisplay.from_estimator sklearn.inspection.PartialDependenceDisplay.plot modules/generated/sklearn.inspection.PartialDependenceDisplay.html#sklearn.inspection.PartialDependenceDisplay.plot sklearn.isotonic.IsotonicRegression.fit modules/generated/sklearn.isotonic.IsotonicRegression.html#sklearn.isotonic.IsotonicRegression.fit sklearn.isotonic.IsotonicRegression.fit_transform modules/generated/sklearn.isotonic.IsotonicRegression.html#sklearn.isotonic.IsotonicRegression.fit_transform + sklearn.isotonic.IsotonicRegression.get_feature_names_out modules/generated/sklearn.isotonic.IsotonicRegression.html#sklearn.isotonic.IsotonicRegression.get_feature_names_out sklearn.isotonic.IsotonicRegression.get_params modules/generated/sklearn.isotonic.IsotonicRegression.html#sklearn.isotonic.IsotonicRegression.get_params sklearn.isotonic.IsotonicRegression.predict modules/generated/sklearn.isotonic.IsotonicRegression.html#sklearn.isotonic.IsotonicRegression.predict sklearn.isotonic.IsotonicRegression.score modules/generated/sklearn.isotonic.IsotonicRegression.html#sklearn.isotonic.IsotonicRegression.score @@ -1487,26 +1548,31 @@ py:method sklearn.isotonic.IsotonicRegression.transform modules/generated/sklearn.isotonic.IsotonicRegression.html#sklearn.isotonic.IsotonicRegression.transform sklearn.kernel_approximation.AdditiveChi2Sampler.fit modules/generated/sklearn.kernel_approximation.AdditiveChi2Sampler.html#sklearn.kernel_approximation.AdditiveChi2Sampler.fit sklearn.kernel_approximation.AdditiveChi2Sampler.fit_transform modules/generated/sklearn.kernel_approximation.AdditiveChi2Sampler.html#sklearn.kernel_approximation.AdditiveChi2Sampler.fit_transform + sklearn.kernel_approximation.AdditiveChi2Sampler.get_feature_names_out modules/generated/sklearn.kernel_approximation.AdditiveChi2Sampler.html#sklearn.kernel_approximation.AdditiveChi2Sampler.get_feature_names_out sklearn.kernel_approximation.AdditiveChi2Sampler.get_params modules/generated/sklearn.kernel_approximation.AdditiveChi2Sampler.html#sklearn.kernel_approximation.AdditiveChi2Sampler.get_params sklearn.kernel_approximation.AdditiveChi2Sampler.set_params modules/generated/sklearn.kernel_approximation.AdditiveChi2Sampler.html#sklearn.kernel_approximation.AdditiveChi2Sampler.set_params sklearn.kernel_approximation.AdditiveChi2Sampler.transform modules/generated/sklearn.kernel_approximation.AdditiveChi2Sampler.html#sklearn.kernel_approximation.AdditiveChi2Sampler.transform sklearn.kernel_approximation.Nystroem.fit modules/generated/sklearn.kernel_approximation.Nystroem.html#sklearn.kernel_approximation.Nystroem.fit sklearn.kernel_approximation.Nystroem.fit_transform modules/generated/sklearn.kernel_approximation.Nystroem.html#sklearn.kernel_approximation.Nystroem.fit_transform + sklearn.kernel_approximation.Nystroem.get_feature_names_out modules/generated/sklearn.kernel_approximation.Nystroem.html#sklearn.kernel_approximation.Nystroem.get_feature_names_out sklearn.kernel_approximation.Nystroem.get_params modules/generated/sklearn.kernel_approximation.Nystroem.html#sklearn.kernel_approximation.Nystroem.get_params sklearn.kernel_approximation.Nystroem.set_params modules/generated/sklearn.kernel_approximation.Nystroem.html#sklearn.kernel_approximation.Nystroem.set_params sklearn.kernel_approximation.Nystroem.transform modules/generated/sklearn.kernel_approximation.Nystroem.html#sklearn.kernel_approximation.Nystroem.transform sklearn.kernel_approximation.PolynomialCountSketch.fit modules/generated/sklearn.kernel_approximation.PolynomialCountSketch.html#sklearn.kernel_approximation.PolynomialCountSketch.fit sklearn.kernel_approximation.PolynomialCountSketch.fit_transform modules/generated/sklearn.kernel_approximation.PolynomialCountSketch.html#sklearn.kernel_approximation.PolynomialCountSketch.fit_transform + sklearn.kernel_approximation.PolynomialCountSketch.get_feature_names_out modules/generated/sklearn.kernel_approximation.PolynomialCountSketch.html#sklearn.kernel_approximation.PolynomialCountSketch.get_feature_names_out sklearn.kernel_approximation.PolynomialCountSketch.get_params modules/generated/sklearn.kernel_approximation.PolynomialCountSketch.html#sklearn.kernel_approximation.PolynomialCountSketch.get_params sklearn.kernel_approximation.PolynomialCountSketch.set_params modules/generated/sklearn.kernel_approximation.PolynomialCountSketch.html#sklearn.kernel_approximation.PolynomialCountSketch.set_params sklearn.kernel_approximation.PolynomialCountSketch.transform modules/generated/sklearn.kernel_approximation.PolynomialCountSketch.html#sklearn.kernel_approximation.PolynomialCountSketch.transform sklearn.kernel_approximation.RBFSampler.fit modules/generated/sklearn.kernel_approximation.RBFSampler.html#sklearn.kernel_approximation.RBFSampler.fit sklearn.kernel_approximation.RBFSampler.fit_transform modules/generated/sklearn.kernel_approximation.RBFSampler.html#sklearn.kernel_approximation.RBFSampler.fit_transform + sklearn.kernel_approximation.RBFSampler.get_feature_names_out modules/generated/sklearn.kernel_approximation.RBFSampler.html#sklearn.kernel_approximation.RBFSampler.get_feature_names_out sklearn.kernel_approximation.RBFSampler.get_params modules/generated/sklearn.kernel_approximation.RBFSampler.html#sklearn.kernel_approximation.RBFSampler.get_params sklearn.kernel_approximation.RBFSampler.set_params modules/generated/sklearn.kernel_approximation.RBFSampler.html#sklearn.kernel_approximation.RBFSampler.set_params sklearn.kernel_approximation.RBFSampler.transform modules/generated/sklearn.kernel_approximation.RBFSampler.html#sklearn.kernel_approximation.RBFSampler.transform sklearn.kernel_approximation.SkewedChi2Sampler.fit modules/generated/sklearn.kernel_approximation.SkewedChi2Sampler.html#sklearn.kernel_approximation.SkewedChi2Sampler.fit sklearn.kernel_approximation.SkewedChi2Sampler.fit_transform modules/generated/sklearn.kernel_approximation.SkewedChi2Sampler.html#sklearn.kernel_approximation.SkewedChi2Sampler.fit_transform + sklearn.kernel_approximation.SkewedChi2Sampler.get_feature_names_out modules/generated/sklearn.kernel_approximation.SkewedChi2Sampler.html#sklearn.kernel_approximation.SkewedChi2Sampler.get_feature_names_out sklearn.kernel_approximation.SkewedChi2Sampler.get_params modules/generated/sklearn.kernel_approximation.SkewedChi2Sampler.html#sklearn.kernel_approximation.SkewedChi2Sampler.get_params sklearn.kernel_approximation.SkewedChi2Sampler.set_params modules/generated/sklearn.kernel_approximation.SkewedChi2Sampler.html#sklearn.kernel_approximation.SkewedChi2Sampler.set_params sklearn.kernel_approximation.SkewedChi2Sampler.transform modules/generated/sklearn.kernel_approximation.SkewedChi2Sampler.html#sklearn.kernel_approximation.SkewedChi2Sampler.transform @@ -1739,12 +1805,14 @@ py:method sklearn.linear_model.TweedieRegressor.set_params modules/generated/sklearn.linear_model.TweedieRegressor.html#sklearn.linear_model.TweedieRegressor.set_params sklearn.manifold.Isomap.fit modules/generated/sklearn.manifold.Isomap.html#sklearn.manifold.Isomap.fit sklearn.manifold.Isomap.fit_transform modules/generated/sklearn.manifold.Isomap.html#sklearn.manifold.Isomap.fit_transform + sklearn.manifold.Isomap.get_feature_names_out modules/generated/sklearn.manifold.Isomap.html#sklearn.manifold.Isomap.get_feature_names_out sklearn.manifold.Isomap.get_params modules/generated/sklearn.manifold.Isomap.html#sklearn.manifold.Isomap.get_params sklearn.manifold.Isomap.reconstruction_error modules/generated/sklearn.manifold.Isomap.html#sklearn.manifold.Isomap.reconstruction_error sklearn.manifold.Isomap.set_params modules/generated/sklearn.manifold.Isomap.html#sklearn.manifold.Isomap.set_params sklearn.manifold.Isomap.transform modules/generated/sklearn.manifold.Isomap.html#sklearn.manifold.Isomap.transform sklearn.manifold.LocallyLinearEmbedding.fit modules/generated/sklearn.manifold.LocallyLinearEmbedding.html#sklearn.manifold.LocallyLinearEmbedding.fit sklearn.manifold.LocallyLinearEmbedding.fit_transform modules/generated/sklearn.manifold.LocallyLinearEmbedding.html#sklearn.manifold.LocallyLinearEmbedding.fit_transform + sklearn.manifold.LocallyLinearEmbedding.get_feature_names_out modules/generated/sklearn.manifold.LocallyLinearEmbedding.html#sklearn.manifold.LocallyLinearEmbedding.get_feature_names_out sklearn.manifold.LocallyLinearEmbedding.get_params modules/generated/sklearn.manifold.LocallyLinearEmbedding.html#sklearn.manifold.LocallyLinearEmbedding.get_params sklearn.manifold.LocallyLinearEmbedding.set_params modules/generated/sklearn.manifold.LocallyLinearEmbedding.html#sklearn.manifold.LocallyLinearEmbedding.set_params sklearn.manifold.LocallyLinearEmbedding.transform modules/generated/sklearn.manifold.LocallyLinearEmbedding.html#sklearn.manifold.LocallyLinearEmbedding.transform @@ -1988,6 +2056,7 @@ py:method sklearn.neighbors.KNeighborsRegressor.set_params modules/generated/sklearn.neighbors.KNeighborsRegressor.html#sklearn.neighbors.KNeighborsRegressor.set_params sklearn.neighbors.KNeighborsTransformer.fit modules/generated/sklearn.neighbors.KNeighborsTransformer.html#sklearn.neighbors.KNeighborsTransformer.fit sklearn.neighbors.KNeighborsTransformer.fit_transform modules/generated/sklearn.neighbors.KNeighborsTransformer.html#sklearn.neighbors.KNeighborsTransformer.fit_transform + sklearn.neighbors.KNeighborsTransformer.get_feature_names_out modules/generated/sklearn.neighbors.KNeighborsTransformer.html#sklearn.neighbors.KNeighborsTransformer.get_feature_names_out sklearn.neighbors.KNeighborsTransformer.get_params modules/generated/sklearn.neighbors.KNeighborsTransformer.html#sklearn.neighbors.KNeighborsTransformer.get_params sklearn.neighbors.KNeighborsTransformer.kneighbors modules/generated/sklearn.neighbors.KNeighborsTransformer.html#sklearn.neighbors.KNeighborsTransformer.kneighbors sklearn.neighbors.KNeighborsTransformer.kneighbors_graph modules/generated/sklearn.neighbors.KNeighborsTransformer.html#sklearn.neighbors.KNeighborsTransformer.kneighbors_graph @@ -2022,6 +2091,7 @@ py:method sklearn.neighbors.NearestNeighbors.set_params modules/generated/sklearn.neighbors.NearestNeighbors.html#sklearn.neighbors.NearestNeighbors.set_params sklearn.neighbors.NeighborhoodComponentsAnalysis.fit modules/generated/sklearn.neighbors.NeighborhoodComponentsAnalysis.html#sklearn.neighbors.NeighborhoodComponentsAnalysis.fit sklearn.neighbors.NeighborhoodComponentsAnalysis.fit_transform modules/generated/sklearn.neighbors.NeighborhoodComponentsAnalysis.html#sklearn.neighbors.NeighborhoodComponentsAnalysis.fit_transform + sklearn.neighbors.NeighborhoodComponentsAnalysis.get_feature_names_out modules/generated/sklearn.neighbors.NeighborhoodComponentsAnalysis.html#sklearn.neighbors.NeighborhoodComponentsAnalysis.get_feature_names_out sklearn.neighbors.NeighborhoodComponentsAnalysis.get_params modules/generated/sklearn.neighbors.NeighborhoodComponentsAnalysis.html#sklearn.neighbors.NeighborhoodComponentsAnalysis.get_params sklearn.neighbors.NeighborhoodComponentsAnalysis.set_params modules/generated/sklearn.neighbors.NeighborhoodComponentsAnalysis.html#sklearn.neighbors.NeighborhoodComponentsAnalysis.set_params sklearn.neighbors.NeighborhoodComponentsAnalysis.transform modules/generated/sklearn.neighbors.NeighborhoodComponentsAnalysis.html#sklearn.neighbors.NeighborhoodComponentsAnalysis.transform @@ -2042,6 +2112,7 @@ py:method sklearn.neighbors.RadiusNeighborsRegressor.set_params modules/generated/sklearn.neighbors.RadiusNeighborsRegressor.html#sklearn.neighbors.RadiusNeighborsRegressor.set_params sklearn.neighbors.RadiusNeighborsTransformer.fit modules/generated/sklearn.neighbors.RadiusNeighborsTransformer.html#sklearn.neighbors.RadiusNeighborsTransformer.fit sklearn.neighbors.RadiusNeighborsTransformer.fit_transform modules/generated/sklearn.neighbors.RadiusNeighborsTransformer.html#sklearn.neighbors.RadiusNeighborsTransformer.fit_transform + sklearn.neighbors.RadiusNeighborsTransformer.get_feature_names_out modules/generated/sklearn.neighbors.RadiusNeighborsTransformer.html#sklearn.neighbors.RadiusNeighborsTransformer.get_feature_names_out sklearn.neighbors.RadiusNeighborsTransformer.get_params modules/generated/sklearn.neighbors.RadiusNeighborsTransformer.html#sklearn.neighbors.RadiusNeighborsTransformer.get_params sklearn.neighbors.RadiusNeighborsTransformer.radius_neighbors modules/generated/sklearn.neighbors.RadiusNeighborsTransformer.html#sklearn.neighbors.RadiusNeighborsTransformer.radius_neighbors sklearn.neighbors.RadiusNeighborsTransformer.radius_neighbors_graph modules/generated/sklearn.neighbors.RadiusNeighborsTransformer.html#sklearn.neighbors.RadiusNeighborsTransformer.radius_neighbors_graph @@ -2049,6 +2120,7 @@ py:method sklearn.neighbors.RadiusNeighborsTransformer.transform modules/generated/sklearn.neighbors.RadiusNeighborsTransformer.html#sklearn.neighbors.RadiusNeighborsTransformer.transform sklearn.neural_network.BernoulliRBM.fit modules/generated/sklearn.neural_network.BernoulliRBM.html#sklearn.neural_network.BernoulliRBM.fit sklearn.neural_network.BernoulliRBM.fit_transform modules/generated/sklearn.neural_network.BernoulliRBM.html#sklearn.neural_network.BernoulliRBM.fit_transform + sklearn.neural_network.BernoulliRBM.get_feature_names_out modules/generated/sklearn.neural_network.BernoulliRBM.html#sklearn.neural_network.BernoulliRBM.get_feature_names_out sklearn.neural_network.BernoulliRBM.get_params modules/generated/sklearn.neural_network.BernoulliRBM.html#sklearn.neural_network.BernoulliRBM.get_params sklearn.neural_network.BernoulliRBM.gibbs modules/generated/sklearn.neural_network.BernoulliRBM.html#sklearn.neural_network.BernoulliRBM.gibbs sklearn.neural_network.BernoulliRBM.partial_fit modules/generated/sklearn.neural_network.BernoulliRBM.html#sklearn.neural_network.BernoulliRBM.partial_fit @@ -2092,11 +2164,13 @@ py:method sklearn.pipeline.Pipeline.transform modules/generated/sklearn.pipeline.Pipeline.html#sklearn.pipeline.Pipeline.transform sklearn.preprocessing.Binarizer.fit modules/generated/sklearn.preprocessing.Binarizer.html#sklearn.preprocessing.Binarizer.fit sklearn.preprocessing.Binarizer.fit_transform modules/generated/sklearn.preprocessing.Binarizer.html#sklearn.preprocessing.Binarizer.fit_transform + sklearn.preprocessing.Binarizer.get_feature_names_out modules/generated/sklearn.preprocessing.Binarizer.html#sklearn.preprocessing.Binarizer.get_feature_names_out sklearn.preprocessing.Binarizer.get_params modules/generated/sklearn.preprocessing.Binarizer.html#sklearn.preprocessing.Binarizer.get_params sklearn.preprocessing.Binarizer.set_params modules/generated/sklearn.preprocessing.Binarizer.html#sklearn.preprocessing.Binarizer.set_params sklearn.preprocessing.Binarizer.transform modules/generated/sklearn.preprocessing.Binarizer.html#sklearn.preprocessing.Binarizer.transform sklearn.preprocessing.FunctionTransformer.fit modules/generated/sklearn.preprocessing.FunctionTransformer.html#sklearn.preprocessing.FunctionTransformer.fit sklearn.preprocessing.FunctionTransformer.fit_transform modules/generated/sklearn.preprocessing.FunctionTransformer.html#sklearn.preprocessing.FunctionTransformer.fit_transform + sklearn.preprocessing.FunctionTransformer.get_feature_names_out modules/generated/sklearn.preprocessing.FunctionTransformer.html#sklearn.preprocessing.FunctionTransformer.get_feature_names_out sklearn.preprocessing.FunctionTransformer.get_params modules/generated/sklearn.preprocessing.FunctionTransformer.html#sklearn.preprocessing.FunctionTransformer.get_params sklearn.preprocessing.FunctionTransformer.inverse_transform modules/generated/sklearn.preprocessing.FunctionTransformer.html#sklearn.preprocessing.FunctionTransformer.inverse_transform sklearn.preprocessing.FunctionTransformer.set_params modules/generated/sklearn.preprocessing.FunctionTransformer.html#sklearn.preprocessing.FunctionTransformer.set_params @@ -2110,6 +2184,7 @@ py:method sklearn.preprocessing.KBinsDiscretizer.transform modules/generated/sklearn.preprocessing.KBinsDiscretizer.html#sklearn.preprocessing.KBinsDiscretizer.transform sklearn.preprocessing.KernelCenterer.fit modules/generated/sklearn.preprocessing.KernelCenterer.html#sklearn.preprocessing.KernelCenterer.fit sklearn.preprocessing.KernelCenterer.fit_transform modules/generated/sklearn.preprocessing.KernelCenterer.html#sklearn.preprocessing.KernelCenterer.fit_transform + sklearn.preprocessing.KernelCenterer.get_feature_names_out modules/generated/sklearn.preprocessing.KernelCenterer.html#sklearn.preprocessing.KernelCenterer.get_feature_names_out sklearn.preprocessing.KernelCenterer.get_params modules/generated/sklearn.preprocessing.KernelCenterer.html#sklearn.preprocessing.KernelCenterer.get_params sklearn.preprocessing.KernelCenterer.set_params modules/generated/sklearn.preprocessing.KernelCenterer.html#sklearn.preprocessing.KernelCenterer.set_params sklearn.preprocessing.KernelCenterer.transform modules/generated/sklearn.preprocessing.KernelCenterer.html#sklearn.preprocessing.KernelCenterer.transform @@ -2149,6 +2224,7 @@ py:method sklearn.preprocessing.MultiLabelBinarizer.transform modules/generated/sklearn.preprocessing.MultiLabelBinarizer.html#sklearn.preprocessing.MultiLabelBinarizer.transform sklearn.preprocessing.Normalizer.fit modules/generated/sklearn.preprocessing.Normalizer.html#sklearn.preprocessing.Normalizer.fit sklearn.preprocessing.Normalizer.fit_transform modules/generated/sklearn.preprocessing.Normalizer.html#sklearn.preprocessing.Normalizer.fit_transform + sklearn.preprocessing.Normalizer.get_feature_names_out modules/generated/sklearn.preprocessing.Normalizer.html#sklearn.preprocessing.Normalizer.get_feature_names_out sklearn.preprocessing.Normalizer.get_params modules/generated/sklearn.preprocessing.Normalizer.html#sklearn.preprocessing.Normalizer.get_params sklearn.preprocessing.Normalizer.set_params modules/generated/sklearn.preprocessing.Normalizer.html#sklearn.preprocessing.Normalizer.set_params sklearn.preprocessing.Normalizer.transform modules/generated/sklearn.preprocessing.Normalizer.html#sklearn.preprocessing.Normalizer.transform @@ -2162,6 +2238,7 @@ py:method sklearn.preprocessing.OneHotEncoder.transform modules/generated/sklearn.preprocessing.OneHotEncoder.html#sklearn.preprocessing.OneHotEncoder.transform sklearn.preprocessing.OrdinalEncoder.fit modules/generated/sklearn.preprocessing.OrdinalEncoder.html#sklearn.preprocessing.OrdinalEncoder.fit sklearn.preprocessing.OrdinalEncoder.fit_transform modules/generated/sklearn.preprocessing.OrdinalEncoder.html#sklearn.preprocessing.OrdinalEncoder.fit_transform + sklearn.preprocessing.OrdinalEncoder.get_feature_names_out modules/generated/sklearn.preprocessing.OrdinalEncoder.html#sklearn.preprocessing.OrdinalEncoder.get_feature_names_out sklearn.preprocessing.OrdinalEncoder.get_params modules/generated/sklearn.preprocessing.OrdinalEncoder.html#sklearn.preprocessing.OrdinalEncoder.get_params sklearn.preprocessing.OrdinalEncoder.inverse_transform modules/generated/sklearn.preprocessing.OrdinalEncoder.html#sklearn.preprocessing.OrdinalEncoder.inverse_transform sklearn.preprocessing.OrdinalEncoder.set_params modules/generated/sklearn.preprocessing.OrdinalEncoder.html#sklearn.preprocessing.OrdinalEncoder.set_params @@ -2211,12 +2288,16 @@ py:method sklearn.preprocessing.StandardScaler.transform modules/generated/sklearn.preprocessing.StandardScaler.html#sklearn.preprocessing.StandardScaler.transform sklearn.random_projection.GaussianRandomProjection.fit modules/generated/sklearn.random_projection.GaussianRandomProjection.html#sklearn.random_projection.GaussianRandomProjection.fit sklearn.random_projection.GaussianRandomProjection.fit_transform modules/generated/sklearn.random_projection.GaussianRandomProjection.html#sklearn.random_projection.GaussianRandomProjection.fit_transform + sklearn.random_projection.GaussianRandomProjection.get_feature_names_out modules/generated/sklearn.random_projection.GaussianRandomProjection.html#sklearn.random_projection.GaussianRandomProjection.get_feature_names_out sklearn.random_projection.GaussianRandomProjection.get_params modules/generated/sklearn.random_projection.GaussianRandomProjection.html#sklearn.random_projection.GaussianRandomProjection.get_params + sklearn.random_projection.GaussianRandomProjection.inverse_transform modules/generated/sklearn.random_projection.GaussianRandomProjection.html#sklearn.random_projection.GaussianRandomProjection.inverse_transform sklearn.random_projection.GaussianRandomProjection.set_params modules/generated/sklearn.random_projection.GaussianRandomProjection.html#sklearn.random_projection.GaussianRandomProjection.set_params sklearn.random_projection.GaussianRandomProjection.transform modules/generated/sklearn.random_projection.GaussianRandomProjection.html#sklearn.random_projection.GaussianRandomProjection.transform sklearn.random_projection.SparseRandomProjection.fit modules/generated/sklearn.random_projection.SparseRandomProjection.html#sklearn.random_projection.SparseRandomProjection.fit sklearn.random_projection.SparseRandomProjection.fit_transform modules/generated/sklearn.random_projection.SparseRandomProjection.html#sklearn.random_projection.SparseRandomProjection.fit_transform + sklearn.random_projection.SparseRandomProjection.get_feature_names_out modules/generated/sklearn.random_projection.SparseRandomProjection.html#sklearn.random_projection.SparseRandomProjection.get_feature_names_out sklearn.random_projection.SparseRandomProjection.get_params modules/generated/sklearn.random_projection.SparseRandomProjection.html#sklearn.random_projection.SparseRandomProjection.get_params + sklearn.random_projection.SparseRandomProjection.inverse_transform modules/generated/sklearn.random_projection.SparseRandomProjection.html#sklearn.random_projection.SparseRandomProjection.inverse_transform sklearn.random_projection.SparseRandomProjection.set_params modules/generated/sklearn.random_projection.SparseRandomProjection.html#sklearn.random_projection.SparseRandomProjection.set_params sklearn.random_projection.SparseRandomProjection.transform modules/generated/sklearn.random_projection.SparseRandomProjection.html#sklearn.random_projection.SparseRandomProjection.transform sklearn.semi_supervised.LabelPropagation.fit modules/generated/sklearn.semi_supervised.LabelPropagation.html#sklearn.semi_supervised.LabelPropagation.fit @@ -2329,6 +2410,17 @@ py:method sklearn.tree.ExtraTreeRegressor.predict modules/generated/sklearn.tree.ExtraTreeRegressor.html#sklearn.tree.ExtraTreeRegressor.predict sklearn.tree.ExtraTreeRegressor.score modules/generated/sklearn.tree.ExtraTreeRegressor.html#sklearn.tree.ExtraTreeRegressor.score sklearn.tree.ExtraTreeRegressor.set_params modules/generated/sklearn.tree.ExtraTreeRegressor.html#sklearn.tree.ExtraTreeRegressor.set_params + sklearn.utils.Bunch.clear modules/generated/sklearn.utils.Bunch.html#sklearn.utils.Bunch.clear + sklearn.utils.Bunch.copy modules/generated/sklearn.utils.Bunch.html#sklearn.utils.Bunch.copy + sklearn.utils.Bunch.fromkeys modules/generated/sklearn.utils.Bunch.html#sklearn.utils.Bunch.fromkeys + sklearn.utils.Bunch.get modules/generated/sklearn.utils.Bunch.html#sklearn.utils.Bunch.get + sklearn.utils.Bunch.items modules/generated/sklearn.utils.Bunch.html#sklearn.utils.Bunch.items + sklearn.utils.Bunch.keys modules/generated/sklearn.utils.Bunch.html#sklearn.utils.Bunch.keys + sklearn.utils.Bunch.pop modules/generated/sklearn.utils.Bunch.html#sklearn.utils.Bunch.pop + sklearn.utils.Bunch.popitem modules/generated/sklearn.utils.Bunch.html#sklearn.utils.Bunch.popitem + sklearn.utils.Bunch.setdefault modules/generated/sklearn.utils.Bunch.html#sklearn.utils.Bunch.setdefault + sklearn.utils.Bunch.update modules/generated/sklearn.utils.Bunch.html#sklearn.utils.Bunch.update + sklearn.utils.Bunch.values modules/generated/sklearn.utils.Bunch.html#sklearn.utils.Bunch.values py:module sklearn.base modules/classes.html#module-sklearn.base sklearn.calibration modules/classes.html#module-sklearn.calibration @@ -2380,45 +2472,18 @@ py:property sklearn.cluster.Birch.fit_ modules/generated/sklearn.cluster.Birch.html#sklearn.cluster.Birch.fit_ sklearn.cluster.Birch.partial_fit_ modules/generated/sklearn.cluster.Birch.html#sklearn.cluster.Birch.partial_fit_ sklearn.cluster.FeatureAgglomeration.fit_predict modules/generated/sklearn.cluster.FeatureAgglomeration.html#sklearn.cluster.FeatureAgglomeration.fit_predict - sklearn.cluster.MiniBatchKMeans.counts_ modules/generated/sklearn.cluster.MiniBatchKMeans.html#sklearn.cluster.MiniBatchKMeans.counts_ - sklearn.cluster.MiniBatchKMeans.init_size_ modules/generated/sklearn.cluster.MiniBatchKMeans.html#sklearn.cluster.MiniBatchKMeans.init_size_ - sklearn.cluster.MiniBatchKMeans.random_state_ modules/generated/sklearn.cluster.MiniBatchKMeans.html#sklearn.cluster.MiniBatchKMeans.random_state_ sklearn.cluster.SpectralBiclustering.biclusters_ modules/generated/sklearn.cluster.SpectralBiclustering.html#sklearn.cluster.SpectralBiclustering.biclusters_ sklearn.cluster.SpectralCoclustering.biclusters_ modules/generated/sklearn.cluster.SpectralCoclustering.html#sklearn.cluster.SpectralCoclustering.biclusters_ sklearn.compose.ColumnTransformer.named_transformers_ modules/generated/sklearn.compose.ColumnTransformer.html#sklearn.compose.ColumnTransformer.named_transformers_ sklearn.compose.TransformedTargetRegressor.n_features_in_ modules/generated/sklearn.compose.TransformedTargetRegressor.html#sklearn.compose.TransformedTargetRegressor.n_features_in_ - sklearn.covariance.GraphicalLassoCV.cv_alphas_ modules/generated/sklearn.covariance.GraphicalLassoCV.html#sklearn.covariance.GraphicalLassoCV.cv_alphas_ - sklearn.covariance.GraphicalLassoCV.grid_scores_ modules/generated/sklearn.covariance.GraphicalLassoCV.html#sklearn.covariance.GraphicalLassoCV.grid_scores_ - sklearn.cross_decomposition.CCA.norm_y_weights modules/generated/sklearn.cross_decomposition.CCA.html#sklearn.cross_decomposition.CCA.norm_y_weights - sklearn.cross_decomposition.CCA.x_mean_ modules/generated/sklearn.cross_decomposition.CCA.html#sklearn.cross_decomposition.CCA.x_mean_ - sklearn.cross_decomposition.CCA.x_scores_ modules/generated/sklearn.cross_decomposition.CCA.html#sklearn.cross_decomposition.CCA.x_scores_ - sklearn.cross_decomposition.CCA.x_std_ modules/generated/sklearn.cross_decomposition.CCA.html#sklearn.cross_decomposition.CCA.x_std_ - sklearn.cross_decomposition.CCA.y_mean_ modules/generated/sklearn.cross_decomposition.CCA.html#sklearn.cross_decomposition.CCA.y_mean_ - sklearn.cross_decomposition.CCA.y_scores_ modules/generated/sklearn.cross_decomposition.CCA.html#sklearn.cross_decomposition.CCA.y_scores_ - sklearn.cross_decomposition.CCA.y_std_ modules/generated/sklearn.cross_decomposition.CCA.html#sklearn.cross_decomposition.CCA.y_std_ - sklearn.cross_decomposition.PLSCanonical.norm_y_weights modules/generated/sklearn.cross_decomposition.PLSCanonical.html#sklearn.cross_decomposition.PLSCanonical.norm_y_weights - sklearn.cross_decomposition.PLSCanonical.x_mean_ modules/generated/sklearn.cross_decomposition.PLSCanonical.html#sklearn.cross_decomposition.PLSCanonical.x_mean_ - sklearn.cross_decomposition.PLSCanonical.x_scores_ modules/generated/sklearn.cross_decomposition.PLSCanonical.html#sklearn.cross_decomposition.PLSCanonical.x_scores_ - sklearn.cross_decomposition.PLSCanonical.x_std_ modules/generated/sklearn.cross_decomposition.PLSCanonical.html#sklearn.cross_decomposition.PLSCanonical.x_std_ - sklearn.cross_decomposition.PLSCanonical.y_mean_ modules/generated/sklearn.cross_decomposition.PLSCanonical.html#sklearn.cross_decomposition.PLSCanonical.y_mean_ - sklearn.cross_decomposition.PLSCanonical.y_scores_ modules/generated/sklearn.cross_decomposition.PLSCanonical.html#sklearn.cross_decomposition.PLSCanonical.y_scores_ - sklearn.cross_decomposition.PLSCanonical.y_std_ modules/generated/sklearn.cross_decomposition.PLSCanonical.html#sklearn.cross_decomposition.PLSCanonical.y_std_ - sklearn.cross_decomposition.PLSRegression.norm_y_weights modules/generated/sklearn.cross_decomposition.PLSRegression.html#sklearn.cross_decomposition.PLSRegression.norm_y_weights - sklearn.cross_decomposition.PLSRegression.x_mean_ modules/generated/sklearn.cross_decomposition.PLSRegression.html#sklearn.cross_decomposition.PLSRegression.x_mean_ - sklearn.cross_decomposition.PLSRegression.x_scores_ modules/generated/sklearn.cross_decomposition.PLSRegression.html#sklearn.cross_decomposition.PLSRegression.x_scores_ - sklearn.cross_decomposition.PLSRegression.x_std_ modules/generated/sklearn.cross_decomposition.PLSRegression.html#sklearn.cross_decomposition.PLSRegression.x_std_ - sklearn.cross_decomposition.PLSRegression.y_mean_ modules/generated/sklearn.cross_decomposition.PLSRegression.html#sklearn.cross_decomposition.PLSRegression.y_mean_ - sklearn.cross_decomposition.PLSRegression.y_scores_ modules/generated/sklearn.cross_decomposition.PLSRegression.html#sklearn.cross_decomposition.PLSRegression.y_scores_ - sklearn.cross_decomposition.PLSRegression.y_std_ modules/generated/sklearn.cross_decomposition.PLSRegression.html#sklearn.cross_decomposition.PLSRegression.y_std_ - sklearn.cross_decomposition.PLSSVD.x_mean_ modules/generated/sklearn.cross_decomposition.PLSSVD.html#sklearn.cross_decomposition.PLSSVD.x_mean_ - sklearn.cross_decomposition.PLSSVD.x_scores_ modules/generated/sklearn.cross_decomposition.PLSSVD.html#sklearn.cross_decomposition.PLSSVD.x_scores_ - sklearn.cross_decomposition.PLSSVD.x_std_ modules/generated/sklearn.cross_decomposition.PLSSVD.html#sklearn.cross_decomposition.PLSSVD.x_std_ - sklearn.cross_decomposition.PLSSVD.y_mean_ modules/generated/sklearn.cross_decomposition.PLSSVD.html#sklearn.cross_decomposition.PLSSVD.y_mean_ - sklearn.cross_decomposition.PLSSVD.y_scores_ modules/generated/sklearn.cross_decomposition.PLSSVD.html#sklearn.cross_decomposition.PLSSVD.y_scores_ - sklearn.cross_decomposition.PLSSVD.y_std_ modules/generated/sklearn.cross_decomposition.PLSSVD.html#sklearn.cross_decomposition.PLSSVD.y_std_ + sklearn.cross_decomposition.CCA.coef_ modules/generated/sklearn.cross_decomposition.CCA.html#sklearn.cross_decomposition.CCA.coef_ + sklearn.cross_decomposition.PLSCanonical.coef_ modules/generated/sklearn.cross_decomposition.PLSCanonical.html#sklearn.cross_decomposition.PLSCanonical.coef_ + sklearn.cross_decomposition.PLSRegression.coef_ modules/generated/sklearn.cross_decomposition.PLSRegression.html#sklearn.cross_decomposition.PLSRegression.coef_ sklearn.decomposition.KernelPCA.alphas_ modules/generated/sklearn.decomposition.KernelPCA.html#sklearn.decomposition.KernelPCA.alphas_ sklearn.decomposition.KernelPCA.lambdas_ modules/generated/sklearn.decomposition.KernelPCA.html#sklearn.decomposition.KernelPCA.lambdas_ - sklearn.decomposition.SparseCoder.components_ modules/generated/sklearn.decomposition.SparseCoder.html#sklearn.decomposition.SparseCoder.components_ + sklearn.decomposition.MiniBatchDictionaryLearning.inner_stats_ modules/generated/sklearn.decomposition.MiniBatchDictionaryLearning.html#sklearn.decomposition.MiniBatchDictionaryLearning.inner_stats_ + sklearn.decomposition.MiniBatchDictionaryLearning.iter_offset_ modules/generated/sklearn.decomposition.MiniBatchDictionaryLearning.html#sklearn.decomposition.MiniBatchDictionaryLearning.iter_offset_ + sklearn.decomposition.MiniBatchDictionaryLearning.random_state_ modules/generated/sklearn.decomposition.MiniBatchDictionaryLearning.html#sklearn.decomposition.MiniBatchDictionaryLearning.random_state_ sklearn.decomposition.SparseCoder.n_components_ modules/generated/sklearn.decomposition.SparseCoder.html#sklearn.decomposition.SparseCoder.n_components_ sklearn.decomposition.SparseCoder.n_features_in_ modules/generated/sklearn.decomposition.SparseCoder.html#sklearn.decomposition.SparseCoder.n_features_in_ sklearn.dummy.DummyClassifier.n_features_in_ modules/generated/sklearn.dummy.DummyClassifier.html#sklearn.dummy.DummyClassifier.n_features_in_ @@ -2434,9 +2499,10 @@ py:property sklearn.ensemble.ExtraTreesRegressor.feature_importances_ modules/generated/sklearn.ensemble.ExtraTreesRegressor.html#sklearn.ensemble.ExtraTreesRegressor.feature_importances_ sklearn.ensemble.ExtraTreesRegressor.n_features_ modules/generated/sklearn.ensemble.ExtraTreesRegressor.html#sklearn.ensemble.ExtraTreesRegressor.n_features_ sklearn.ensemble.GradientBoostingClassifier.feature_importances_ modules/generated/sklearn.ensemble.GradientBoostingClassifier.html#sklearn.ensemble.GradientBoostingClassifier.feature_importances_ + sklearn.ensemble.GradientBoostingClassifier.loss_ modules/generated/sklearn.ensemble.GradientBoostingClassifier.html#sklearn.ensemble.GradientBoostingClassifier.loss_ sklearn.ensemble.GradientBoostingClassifier.n_features_ modules/generated/sklearn.ensemble.GradientBoostingClassifier.html#sklearn.ensemble.GradientBoostingClassifier.n_features_ sklearn.ensemble.GradientBoostingRegressor.feature_importances_ modules/generated/sklearn.ensemble.GradientBoostingRegressor.html#sklearn.ensemble.GradientBoostingRegressor.feature_importances_ - sklearn.ensemble.GradientBoostingRegressor.n_classes_ modules/generated/sklearn.ensemble.GradientBoostingRegressor.html#sklearn.ensemble.GradientBoostingRegressor.n_classes_ + sklearn.ensemble.GradientBoostingRegressor.loss_ modules/generated/sklearn.ensemble.GradientBoostingRegressor.html#sklearn.ensemble.GradientBoostingRegressor.loss_ sklearn.ensemble.GradientBoostingRegressor.n_features_ modules/generated/sklearn.ensemble.GradientBoostingRegressor.html#sklearn.ensemble.GradientBoostingRegressor.n_features_ sklearn.ensemble.HistGradientBoostingClassifier.n_iter_ modules/generated/sklearn.ensemble.HistGradientBoostingClassifier.html#sklearn.ensemble.HistGradientBoostingClassifier.n_iter_ sklearn.ensemble.HistGradientBoostingRegressor.n_iter_ modules/generated/sklearn.ensemble.HistGradientBoostingRegressor.html#sklearn.ensemble.HistGradientBoostingRegressor.n_iter_ @@ -2458,10 +2524,6 @@ py:property sklearn.ensemble.VotingRegressor.named_estimators modules/generated/sklearn.ensemble.VotingRegressor.html#sklearn.ensemble.VotingRegressor.named_estimators sklearn.feature_extraction.text.TfidfTransformer.idf_ modules/generated/sklearn.feature_extraction.text.TfidfTransformer.html#sklearn.feature_extraction.text.TfidfTransformer.idf_ sklearn.feature_extraction.text.TfidfVectorizer.idf_ modules/generated/sklearn.feature_extraction.text.TfidfVectorizer.html#sklearn.feature_extraction.text.TfidfVectorizer.idf_ - sklearn.feature_extraction.text.TfidfVectorizer.norm modules/generated/sklearn.feature_extraction.text.TfidfVectorizer.html#sklearn.feature_extraction.text.TfidfVectorizer.norm - sklearn.feature_extraction.text.TfidfVectorizer.smooth_idf modules/generated/sklearn.feature_extraction.text.TfidfVectorizer.html#sklearn.feature_extraction.text.TfidfVectorizer.smooth_idf - sklearn.feature_extraction.text.TfidfVectorizer.sublinear_tf modules/generated/sklearn.feature_extraction.text.TfidfVectorizer.html#sklearn.feature_extraction.text.TfidfVectorizer.sublinear_tf - sklearn.feature_extraction.text.TfidfVectorizer.use_idf modules/generated/sklearn.feature_extraction.text.TfidfVectorizer.html#sklearn.feature_extraction.text.TfidfVectorizer.use_idf sklearn.feature_selection.RFE.classes_ modules/generated/sklearn.feature_selection.RFE.html#sklearn.feature_selection.RFE.classes_ sklearn.feature_selection.RFECV.classes_ modules/generated/sklearn.feature_selection.RFECV.html#sklearn.feature_selection.RFECV.classes_ sklearn.feature_selection.RFECV.grid_scores_ modules/generated/sklearn.feature_selection.RFECV.html#sklearn.feature_selection.RFECV.grid_scores_ @@ -2552,28 +2614,19 @@ py:property sklearn.model_selection.RandomizedSearchCV.classes_ modules/generated/sklearn.model_selection.RandomizedSearchCV.html#sklearn.model_selection.RandomizedSearchCV.classes_ sklearn.model_selection.RandomizedSearchCV.n_features_in_ modules/generated/sklearn.model_selection.RandomizedSearchCV.html#sklearn.model_selection.RandomizedSearchCV.n_features_in_ sklearn.multiclass.OneVsOneClassifier.n_classes_ modules/generated/sklearn.multiclass.OneVsOneClassifier.html#sklearn.multiclass.OneVsOneClassifier.n_classes_ - sklearn.multiclass.OneVsRestClassifier.coef_ modules/generated/sklearn.multiclass.OneVsRestClassifier.html#sklearn.multiclass.OneVsRestClassifier.coef_ - sklearn.multiclass.OneVsRestClassifier.intercept_ modules/generated/sklearn.multiclass.OneVsRestClassifier.html#sklearn.multiclass.OneVsRestClassifier.intercept_ sklearn.multiclass.OneVsRestClassifier.multilabel_ modules/generated/sklearn.multiclass.OneVsRestClassifier.html#sklearn.multiclass.OneVsRestClassifier.multilabel_ sklearn.multiclass.OneVsRestClassifier.n_classes_ modules/generated/sklearn.multiclass.OneVsRestClassifier.html#sklearn.multiclass.OneVsRestClassifier.n_classes_ - sklearn.naive_bayes.BernoulliNB.coef_ modules/generated/sklearn.naive_bayes.BernoulliNB.html#sklearn.naive_bayes.BernoulliNB.coef_ - sklearn.naive_bayes.BernoulliNB.intercept_ modules/generated/sklearn.naive_bayes.BernoulliNB.html#sklearn.naive_bayes.BernoulliNB.intercept_ sklearn.naive_bayes.BernoulliNB.n_features_ modules/generated/sklearn.naive_bayes.BernoulliNB.html#sklearn.naive_bayes.BernoulliNB.n_features_ - sklearn.naive_bayes.CategoricalNB.coef_ modules/generated/sklearn.naive_bayes.CategoricalNB.html#sklearn.naive_bayes.CategoricalNB.coef_ - sklearn.naive_bayes.CategoricalNB.intercept_ modules/generated/sklearn.naive_bayes.CategoricalNB.html#sklearn.naive_bayes.CategoricalNB.intercept_ sklearn.naive_bayes.CategoricalNB.n_features_ modules/generated/sklearn.naive_bayes.CategoricalNB.html#sklearn.naive_bayes.CategoricalNB.n_features_ - sklearn.naive_bayes.ComplementNB.coef_ modules/generated/sklearn.naive_bayes.ComplementNB.html#sklearn.naive_bayes.ComplementNB.coef_ - sklearn.naive_bayes.ComplementNB.intercept_ modules/generated/sklearn.naive_bayes.ComplementNB.html#sklearn.naive_bayes.ComplementNB.intercept_ sklearn.naive_bayes.ComplementNB.n_features_ modules/generated/sklearn.naive_bayes.ComplementNB.html#sklearn.naive_bayes.ComplementNB.n_features_ sklearn.naive_bayes.GaussianNB.sigma_ modules/generated/sklearn.naive_bayes.GaussianNB.html#sklearn.naive_bayes.GaussianNB.sigma_ - sklearn.naive_bayes.MultinomialNB.coef_ modules/generated/sklearn.naive_bayes.MultinomialNB.html#sklearn.naive_bayes.MultinomialNB.coef_ - sklearn.naive_bayes.MultinomialNB.intercept_ modules/generated/sklearn.naive_bayes.MultinomialNB.html#sklearn.naive_bayes.MultinomialNB.intercept_ sklearn.naive_bayes.MultinomialNB.n_features_ modules/generated/sklearn.naive_bayes.MultinomialNB.html#sklearn.naive_bayes.MultinomialNB.n_features_ sklearn.pipeline.FeatureUnion.n_features_in_ modules/generated/sklearn.pipeline.FeatureUnion.html#sklearn.pipeline.FeatureUnion.n_features_in_ sklearn.pipeline.Pipeline.classes_ modules/generated/sklearn.pipeline.Pipeline.html#sklearn.pipeline.Pipeline.classes_ sklearn.pipeline.Pipeline.feature_names_in_ modules/generated/sklearn.pipeline.Pipeline.html#sklearn.pipeline.Pipeline.feature_names_in_ sklearn.pipeline.Pipeline.n_features_in_ modules/generated/sklearn.pipeline.Pipeline.html#sklearn.pipeline.Pipeline.n_features_in_ sklearn.pipeline.Pipeline.named_steps modules/generated/sklearn.pipeline.Pipeline.html#sklearn.pipeline.Pipeline.named_steps + sklearn.preprocessing.OneHotEncoder.infrequent_categories_ modules/generated/sklearn.preprocessing.OneHotEncoder.html#sklearn.preprocessing.OneHotEncoder.infrequent_categories_ sklearn.preprocessing.PolynomialFeatures.n_input_features_ modules/generated/sklearn.preprocessing.PolynomialFeatures.html#sklearn.preprocessing.PolynomialFeatures.n_input_features_ sklearn.preprocessing.PolynomialFeatures.powers_ modules/generated/sklearn.preprocessing.PolynomialFeatures.html#sklearn.preprocessing.PolynomialFeatures.powers_ sklearn.svm.NuSVC.coef_ modules/generated/sklearn.svm.NuSVC.html#sklearn.svm.NuSVC.coef_ @@ -2637,6 +2690,7 @@ std:doc auto_examples/cluster/plot_agglomerative_clustering_metrics Agglomerative clustering with different metrics: auto_examples/cluster/plot_agglomerative_clustering_metrics.html auto_examples/cluster/plot_agglomerative_dendrogram Plot Hierarchical Clustering Dendrogram : auto_examples/cluster/plot_agglomerative_dendrogram.html auto_examples/cluster/plot_birch_vs_minibatchkmeans Compare BIRCH and MiniBatchKMeans : auto_examples/cluster/plot_birch_vs_minibatchkmeans.html + auto_examples/cluster/plot_bisect_kmeans Bisecting K-Means and Regular K-Means Performance Comparison: auto_examples/cluster/plot_bisect_kmeans.html auto_examples/cluster/plot_cluster_comparison Comparing different clustering algorithms on toy datasets: auto_examples/cluster/plot_cluster_comparison.html auto_examples/cluster/plot_cluster_iris K-means Clustering : auto_examples/cluster/plot_cluster_iris.html auto_examples/cluster/plot_coin_segmentation Segmenting the picture of greek coins in regions: auto_examples/cluster/plot_coin_segmentation.html @@ -2755,8 +2809,7 @@ std:doc auto_examples/inspection/sg_execution_times Computation times : auto_examples/inspection/sg_execution_times.html auto_examples/kernel_approximation/plot_scalable_poly_kernels Scalable learning with polynomial kernel approximation: auto_examples/kernel_approximation/plot_scalable_poly_kernels.html auto_examples/kernel_approximation/sg_execution_times Computation times : auto_examples/kernel_approximation/sg_execution_times.html - auto_examples/linear_model/plot_ard Automatic Relevance Determination Regression (ARD): auto_examples/linear_model/plot_ard.html - auto_examples/linear_model/plot_bayesian_ridge Bayesian Ridge Regression : auto_examples/linear_model/plot_bayesian_ridge.html + auto_examples/linear_model/plot_ard Comparing Linear Bayesian Regressors : auto_examples/linear_model/plot_ard.html auto_examples/linear_model/plot_bayesian_ridge_curvefit Curve Fitting with Bayesian Ridge Regression: auto_examples/linear_model/plot_bayesian_ridge_curvefit.html auto_examples/linear_model/plot_elastic_net_precomputed_gram_matrix_with_weighted_samples Fitting an Elastic Net with a precomputed Gram Matrix and Weighted Samples: auto_examples/linear_model/plot_elastic_net_precomputed_gram_matrix_with_weighted_samples.html auto_examples/linear_model/plot_huber_vs_ridge HuberRegressor vs Ridge on dataset with strong outliers: auto_examples/linear_model/plot_huber_vs_ridge.html @@ -2801,7 +2854,7 @@ std:doc auto_examples/manifold/plot_lle_digits Manifold learning on handwritten digits: Locally Linear Embedding, Isomap…: auto_examples/manifold/plot_lle_digits.html auto_examples/manifold/plot_manifold_sphere Manifold Learning methods on a severed sphere: auto_examples/manifold/plot_manifold_sphere.html auto_examples/manifold/plot_mds Multi-dimensional scaling : auto_examples/manifold/plot_mds.html - auto_examples/manifold/plot_swissroll Swiss Roll reduction with LLE : auto_examples/manifold/plot_swissroll.html + auto_examples/manifold/plot_swissroll Swiss Roll And Swiss-Hole Reduction : auto_examples/manifold/plot_swissroll.html auto_examples/manifold/plot_t_sne_perplexity t-SNE: The effect of various perplexity values on the shape: auto_examples/manifold/plot_t_sne_perplexity.html auto_examples/manifold/sg_execution_times Computation times : auto_examples/manifold/sg_execution_times.html auto_examples/miscellaneous/plot_anomaly_comparison Comparing anomaly detection algorithms for outlier detection on toy datasets: auto_examples/miscellaneous/plot_anomaly_comparison.html @@ -2813,6 +2866,7 @@ std:doc auto_examples/miscellaneous/plot_kernel_ridge_regression Comparison of kernel ridge regression and SVR: auto_examples/miscellaneous/plot_kernel_ridge_regression.html auto_examples/miscellaneous/plot_multilabel Multilabel classification : auto_examples/miscellaneous/plot_multilabel.html auto_examples/miscellaneous/plot_multioutput_face_completion Face completion with a multi-output estimators: auto_examples/miscellaneous/plot_multioutput_face_completion.html + auto_examples/miscellaneous/plot_outlier_detection_bench Evaluation of outlier detection estimators: auto_examples/miscellaneous/plot_outlier_detection_bench.html auto_examples/miscellaneous/plot_partial_dependence_visualization_api Advanced Plotting With Partial Dependence: auto_examples/miscellaneous/plot_partial_dependence_visualization_api.html auto_examples/miscellaneous/plot_pipeline_display Displaying Pipelines : auto_examples/miscellaneous/plot_pipeline_display.html auto_examples/miscellaneous/plot_roc_curve_visualization_api ROC Curve with Visualization API : auto_examples/miscellaneous/plot_roc_curve_visualization_api.html @@ -2820,6 +2874,7 @@ std:doc auto_examples/mixture/plot_concentration_prior Concentration Prior Type Analysis of Variation Bayesian Gaussian Mixture: auto_examples/mixture/plot_concentration_prior.html auto_examples/mixture/plot_gmm Gaussian Mixture Model Ellipsoids : auto_examples/mixture/plot_gmm.html auto_examples/mixture/plot_gmm_covariances GMM covariances : auto_examples/mixture/plot_gmm_covariances.html + auto_examples/mixture/plot_gmm_init GMM Initialization Methods : auto_examples/mixture/plot_gmm_init.html auto_examples/mixture/plot_gmm_pdf Density Estimation for a Gaussian mixture: auto_examples/mixture/plot_gmm_pdf.html auto_examples/mixture/plot_gmm_selection Gaussian Mixture Model Selection : auto_examples/mixture/plot_gmm_selection.html auto_examples/mixture/plot_gmm_sin Gaussian Mixture Model Sine Curve : auto_examples/mixture/plot_gmm_sin.html @@ -2878,6 +2933,7 @@ std:doc auto_examples/release_highlights/plot_release_highlights_0_23_0 Release Highlights for scikit-learn 0.23: auto_examples/release_highlights/plot_release_highlights_0_23_0.html auto_examples/release_highlights/plot_release_highlights_0_24_0 Release Highlights for scikit-learn 0.24: auto_examples/release_highlights/plot_release_highlights_0_24_0.html auto_examples/release_highlights/plot_release_highlights_1_0_0 Release Highlights for scikit-learn 1.0 : auto_examples/release_highlights/plot_release_highlights_1_0_0.html + auto_examples/release_highlights/plot_release_highlights_1_1_0 Release Highlights for scikit-learn 1.1 : auto_examples/release_highlights/plot_release_highlights_1_1_0.html auto_examples/release_highlights/sg_execution_times Computation times : auto_examples/release_highlights/sg_execution_times.html auto_examples/semi_supervised/plot_label_propagation_digits Label Propagation digits: Demonstrating performance: auto_examples/semi_supervised/plot_label_propagation_digits.html auto_examples/semi_supervised/plot_label_propagation_digits_active_learning Label Propagation digits active learning: auto_examples/semi_supervised/plot_label_propagation_digits_active_learning.html @@ -2914,11 +2970,13 @@ std:doc auto_examples/tree/sg_execution_times Computation times : auto_examples/tree/sg_execution_times.html common_pitfalls Common pitfalls and recommended practices: common_pitfalls.html communication_team : communication_team.html + communication_team_emeritus : communication_team_emeritus.html computing Computing with scikit-learn : computing.html computing/computational_performance Computational Performance : computing/computational_performance.html computing/parallelism Parallelism, resource management, and configuration: computing/parallelism.html computing/scaling_strategies Strategies to scale computationally: bigger data: computing/scaling_strategies.html contents Table Of Contents : contents.html + contributor_experience_team : contributor_experience_team.html data_transforms Dataset transformations : data_transforms.html datasets Dataset loading utilities : datasets.html datasets/loading_other_datasets Loading other datasets : datasets/loading_other_datasets.html @@ -2931,6 +2989,7 @@ std:doc developers/develop Developing scikit-learn estimators : developers/develop.html developers/index Developer’s Guide : developers/index.html developers/maintainer Maintainer / core-developer information : developers/maintainer.html + developers/minimal_reproducer Crafting a minimal reproducer for scikit-learn: developers/minimal_reproducer.html developers/performance How to optimize for speed : developers/performance.html developers/plotting Developing with the Plotting API : developers/plotting.html developers/tips Developers’ Tips and Tricks : developers/tips.html @@ -2943,6 +3002,7 @@ std:doc install Installing scikit-learn : install.html min_dependency_substitutions : min_dependency_substitutions.html min_dependency_table : min_dependency_table.html + model_persistence Model persistence : model_persistence.html model_selection Model selection and evaluation : model_selection.html modules/biclustering Biclustering : modules/biclustering.html modules/calibration Probability calibration : modules/calibration.html @@ -2977,6 +3037,7 @@ std:doc modules/generated/sklearn.cluster.AffinityPropagation sklearn.cluster.AffinityPropagation : modules/generated/sklearn.cluster.AffinityPropagation.html modules/generated/sklearn.cluster.AgglomerativeClustering sklearn.cluster.AgglomerativeClustering : modules/generated/sklearn.cluster.AgglomerativeClustering.html modules/generated/sklearn.cluster.Birch sklearn.cluster.Birch : modules/generated/sklearn.cluster.Birch.html + modules/generated/sklearn.cluster.BisectingKMeans sklearn.cluster.BisectingKMeans : modules/generated/sklearn.cluster.BisectingKMeans.html modules/generated/sklearn.cluster.DBSCAN sklearn.cluster.DBSCAN : modules/generated/sklearn.cluster.DBSCAN.html modules/generated/sklearn.cluster.FeatureAgglomeration sklearn.cluster.FeatureAgglomeration : modules/generated/sklearn.cluster.FeatureAgglomeration.html modules/generated/sklearn.cluster.KMeans sklearn.cluster.KMeans : modules/generated/sklearn.cluster.KMeans.html @@ -3070,6 +3131,7 @@ std:doc modules/generated/sklearn.decomposition.KernelPCA sklearn.decomposition.KernelPCA : modules/generated/sklearn.decomposition.KernelPCA.html modules/generated/sklearn.decomposition.LatentDirichletAllocation sklearn.decomposition.LatentDirichletAllocation: modules/generated/sklearn.decomposition.LatentDirichletAllocation.html modules/generated/sklearn.decomposition.MiniBatchDictionaryLearning sklearn.decomposition.MiniBatchDictionaryLearning: modules/generated/sklearn.decomposition.MiniBatchDictionaryLearning.html + modules/generated/sklearn.decomposition.MiniBatchNMF sklearn.decomposition.MiniBatchNMF : modules/generated/sklearn.decomposition.MiniBatchNMF.html modules/generated/sklearn.decomposition.MiniBatchSparsePCA sklearn.decomposition.MiniBatchSparsePCA: modules/generated/sklearn.decomposition.MiniBatchSparsePCA.html modules/generated/sklearn.decomposition.NMF sklearn.decomposition.NMF : modules/generated/sklearn.decomposition.NMF.html modules/generated/sklearn.decomposition.PCA sklearn.decomposition.PCA : modules/generated/sklearn.decomposition.PCA.html @@ -3162,6 +3224,7 @@ std:doc modules/generated/sklearn.impute.KNNImputer sklearn.impute.KNNImputer : modules/generated/sklearn.impute.KNNImputer.html modules/generated/sklearn.impute.MissingIndicator sklearn.impute.MissingIndicator : modules/generated/sklearn.impute.MissingIndicator.html modules/generated/sklearn.impute.SimpleImputer sklearn.impute.SimpleImputer : modules/generated/sklearn.impute.SimpleImputer.html + modules/generated/sklearn.inspection.DecisionBoundaryDisplay sklearn.inspection.DecisionBoundaryDisplay: modules/generated/sklearn.inspection.DecisionBoundaryDisplay.html modules/generated/sklearn.inspection.PartialDependenceDisplay sklearn.inspection.PartialDependenceDisplay: modules/generated/sklearn.inspection.PartialDependenceDisplay.html modules/generated/sklearn.inspection.partial_dependence sklearn.inspection.partial_dependence : modules/generated/sklearn.inspection.partial_dependence.html modules/generated/sklearn.inspection.permutation_importance sklearn.inspection.permutation_importance: modules/generated/sklearn.inspection.permutation_importance.html @@ -3250,6 +3313,8 @@ std:doc modules/generated/sklearn.metrics.confusion_matrix sklearn.metrics.confusion_matrix : modules/generated/sklearn.metrics.confusion_matrix.html modules/generated/sklearn.metrics.consensus_score sklearn.metrics.consensus_score : modules/generated/sklearn.metrics.consensus_score.html modules/generated/sklearn.metrics.coverage_error sklearn.metrics.coverage_error : modules/generated/sklearn.metrics.coverage_error.html + modules/generated/sklearn.metrics.d2_absolute_error_score sklearn.metrics.d2_absolute_error_score : modules/generated/sklearn.metrics.d2_absolute_error_score.html + modules/generated/sklearn.metrics.d2_pinball_score sklearn.metrics.d2_pinball_score : modules/generated/sklearn.metrics.d2_pinball_score.html modules/generated/sklearn.metrics.d2_tweedie_score sklearn.metrics.d2_tweedie_score : modules/generated/sklearn.metrics.d2_tweedie_score.html modules/generated/sklearn.metrics.davies_bouldin_score sklearn.metrics.davies_bouldin_score : modules/generated/sklearn.metrics.davies_bouldin_score.html modules/generated/sklearn.metrics.dcg_score sklearn.metrics.dcg_score : modules/generated/sklearn.metrics.dcg_score.html @@ -3259,6 +3324,7 @@ std:doc modules/generated/sklearn.metrics.fbeta_score sklearn.metrics.fbeta_score : modules/generated/sklearn.metrics.fbeta_score.html modules/generated/sklearn.metrics.fowlkes_mallows_score sklearn.metrics.fowlkes_mallows_score : modules/generated/sklearn.metrics.fowlkes_mallows_score.html modules/generated/sklearn.metrics.get_scorer sklearn.metrics.get_scorer : modules/generated/sklearn.metrics.get_scorer.html + modules/generated/sklearn.metrics.get_scorer_names sklearn.metrics.get_scorer_names : modules/generated/sklearn.metrics.get_scorer_names.html modules/generated/sklearn.metrics.hamming_loss sklearn.metrics.hamming_loss : modules/generated/sklearn.metrics.hamming_loss.html modules/generated/sklearn.metrics.hinge_loss sklearn.metrics.hinge_loss : modules/generated/sklearn.metrics.hinge_loss.html modules/generated/sklearn.metrics.homogeneity_completeness_v_measure sklearn.metrics.homogeneity_completeness_v_measure: modules/generated/sklearn.metrics.homogeneity_completeness_v_measure.html @@ -3506,7 +3572,6 @@ std:doc modules/metrics Pairwise metrics, Affinities and Kernels: modules/metrics.html modules/mixture Gaussian mixture models : modules/mixture.html modules/model_evaluation Metrics and scoring: quantifying the quality of predictions: modules/model_evaluation.html - modules/model_persistence Model persistence : modules/model_persistence.html modules/multiclass Multiclass and multioutput algorithms : modules/multiclass.html modules/naive_bayes Naive Bayes : modules/naive_bayes.html modules/neighbors Nearest Neighbors : modules/neighbors.html @@ -3531,7 +3596,6 @@ std:doc supervised_learning Supervised learning : supervised_learning.html support Support : support.html testimonials/testimonials Who is using scikit-learn? : testimonials/testimonials.html - triage_team : triage_team.html tune_toc : tune_toc.html tutorial/basic/tutorial An introduction to machine learning with scikit-learn: tutorial/basic/tutorial.html tutorial/index scikit-learn Tutorials : tutorial/index.html @@ -3562,6 +3626,7 @@ std:doc whats_new/v0.23 Version 0.23.2 : whats_new/v0.23.html whats_new/v0.24 Version 0.24.2 : whats_new/v0.24.html whats_new/v1.0 Version 1.0.2 : whats_new/v1.0.html + whats_new/v1.1 Version 1.1.1 : whats_new/v1.1.html std:label 20newsgroups_dataset The 20 newsgroups text dataset : datasets/real_world.html#newsgroups-dataset about About us : about.html#about @@ -3579,6 +3644,7 @@ std:label api_overview APIs of scikit-learn objects : developers/develop.html#api-overview api_ref API Reference : modules/classes.html#api-ref arm64_dev_env Building and testing for the ARM64 platform on a x86_64 machine: developers/tips.html#arm64-dev-env + automatic_relevance_determination Automatic Relevance Determination - ARD : modules/linear_model.html#automatic-relevance-determination average From binary to multiclass and multilabel: modules/model_evaluation.html#average b1996 modules/ensemble.html#b1996 b1998 modules/ensemble.html#b1998 @@ -3599,6 +3665,7 @@ std:label biclustering Biclustering : modules/biclustering.html#biclustering biclustering_evaluation Biclustering evaluation : modules/biclustering.html#biclustering-evaluation birch BIRCH : modules/clustering.html#birch + bisect_k_means modules/clustering.html#bisect-k-means boston_dataset Boston house prices dataset : datasets/toy_dataset.html#boston-dataset bre modules/tree.html#bre breast_cancer_dataset Breast cancer wisconsin (diagnostic) dataset: datasets/toy_dataset.html#breast-cancer-dataset @@ -3660,6 +3727,8 @@ std:label changes_1_0 Version 1.0.0 : whats_new/v1.0.html#changes-1-0 changes_1_0_1 Version 1.0.1 : whats_new/v1.0.html#changes-1-0-1 changes_1_0_2 Version 1.0.2 : whats_new/v1.0.html#changes-1-0-2 + changes_1_1 Version 1.1.0 : whats_new/v1.1.html#changes-1-1 + changes_1_1_1 Version 1.1.1 : whats_new/v1.1.html#changes-1-1-1 chi2_kernel Chi-squared kernel : modules/metrics.html#chi2-kernel citing-scikit-learn Citing scikit-learn : about.html#citing-scikit-learn classification Nearest Neighbors Classification : modules/neighbors.html#classification @@ -3712,7 +3781,7 @@ std:label cv_estimators_tut Cross-validated estimators : tutorial/statistical_inference/model_selection.html#cv-estimators-tut cv_generators_tut Cross-validation generators : tutorial/statistical_inference/model_selection.html#cv-generators-tut d1997 modules/ensemble.html#d1997 - d2_tweedie_score D² score, the coefficient of determination: modules/model_evaluation.html#d2-tweedie-score + d2_score D² score : modules/model_evaluation.html#d2-score data-transforms Dataset transformations : data_transforms.html#data-transforms data_leakage Data leakage : common_pitfalls.html#data-leakage data_reduction Unsupervised dimensionality reduction : modules/unsupervised_reduction.html#data-reduction @@ -3755,7 +3824,6 @@ std:label expectation_maximization Estimation algorithm Expectation-maximization: modules/mixture.html#expectation-maximization explained_variance_score Explained variance score : modules/model_evaluation.html#explained-variance-score external_datasets Loading from external datasets : datasets/loading_other_datasets.html#external-datasets - f1999 modules/ensemble.html#f1999 f2001 modules/model_evaluation.html#f2001 f2006 modules/model_evaluation.html#f2006 fa Factor Analysis : modules/decomposition.html#fa @@ -3776,8 +3844,11 @@ std:label flach2015 modules/model_evaluation.html#flach2015 forest Forests of randomized trees : modules/ensemble.html#forest fowlkes_mallows_scores Fowlkes-Mallows scores : modules/clustering.html#fowlkes-mallows-scores + friedman2001 modules/ensemble.html#friedman2001 + friedman2002 modules/ensemble.html#friedman2002 fs1995 modules/ensemble.html#fs1995 function_transformer Custom transformers : modules/preprocessing.html#function-transformer + g2015 modules/partial_dependence.html#g2015 gaussian_naive_bayes Gaussian Naive Bayes : modules/naive_bayes.html#gaussian-naive-bayes gaussian_process Gaussian Processes : modules/gaussian_process.html#gaussian-process gaussian_process_examples Gaussian Process for Machine Learning : auto_examples/index.html#gaussian-process-examples @@ -3789,7 +3860,7 @@ std:label generating_polynomial_features Generating polynomial features : modules/preprocessing.html#generating-polynomial-features genindex Index : genindex.html git_repo developers/advanced_installation.html#git-repo - gitter support.html#gitter + gitter Gitter : support.html#gitter glossary Glossary of Common Terms and API Elements: glossary.html#glossary glossary_attributes Attributes : glossary.html#glossary-attributes glossary_estimator_types Class APIs and Estimator Types : glossary.html#glossary-estimator-types @@ -3798,6 +3869,7 @@ std:label glossary_sample_props Data and sample properties : glossary.html#glossary-sample-props glossary_target_types Target Types : glossary.html#glossary-target-types gmm Gaussian mixture models : modules/mixture.html#gmm + good_practices Good practices : developers/minimal_reproducer.html#good-practices governance Scikit-learn governance and decision-making: governance.html#governance gp_kernels Kernels for Gaussian Processes : modules/gaussian_process.html#gp-kernels gpc Gaussian Process Classification (GPC) : modules/gaussian_process.html#gpc @@ -3815,6 +3887,7 @@ std:label group_shuffle_split Group Shuffle Split : modules/cross_validation.html#group-shuffle-split guyon2015 modules/model_evaluation.html#guyon2015 h1998 modules/ensemble.html#h1998 + h2009 modules/partial_dependence.html#h2009 hamming_loss Hamming loss : modules/model_evaluation.html#hamming-loss hashing_vectorizer Vectorizing a large text corpus with the hashing trick: modules/feature_extraction.html#hashing-vectorizer hierarchical_clustering Hierarchical clustering : modules/clustering.html#hierarchical-clustering @@ -3902,12 +3975,14 @@ std:label linnerrud_dataset Linnerrud dataset : datasets/toy_dataset.html#linnerrud-dataset loading_example_dataset Loading an example dataset : tutorial/basic/tutorial.html#loading-example-dataset loading_other_datasets Loading other datasets : datasets/loading_other_datasets.html#loading-other-datasets + local_outlier_factor Local Outlier Factor : modules/outlier_detection.html#local-outlier-factor locally_linear_embedding Locally Linear Embedding : modules/manifold.html#locally-linear-embedding log_loss Log loss : modules/model_evaluation.html#log-loss logistic_regression Logistic regression : modules/linear_model.html#logistic-regression ls2010 modules/kernel_approximation.html#ls2010 lsa Truncated singular value decomposition and latent semantic analysis: modules/decomposition.html#lsa m2012 modules/kernel_ridge.html#m2012 + m2019 modules/partial_dependence.html#m2019 mailing_lists Mailing List : support.html#mailing-lists make_column_transformer modules/compose.html#make-column-transformer making_a_release Making a release : developers/maintainer.html#making-a-release @@ -3930,7 +4005,9 @@ std:label metrics_ref sklearn.metrics: Metrics : modules/classes.html#metrics-ref mini_batch_kmeans Mini Batch K-Means : modules/clustering.html#mini-batch-kmeans minibatchdictionarylearning Mini-batch dictionary learning : modules/decomposition.html#minibatchdictionarylearning + minibatchnmf Mini-batch Non Negative Matrix Factorization: modules/decomposition.html#minibatchnmf minimal_cost_complexity_pruning Minimal Cost-Complexity Pruning : modules/tree.html#minimal-cost-complexity-pruning + minimal_reproducer Crafting a minimal reproducer for scikit-learn: developers/minimal_reproducer.html#minimal-reproducer miscellaneous_examples Miscellaneous : auto_examples/index.html#miscellaneous-examples missing_indicator Marking imputed values : modules/impute.html#missing-indicator mixture Gaussian mixture models : modules/mixture.html#mixture @@ -3939,7 +4016,7 @@ std:label ml_map tutorial/machine_learning_map/index.html#ml-map mlp_tips Tips on Practical Use : modules/neural_networks_supervised.html#mlp-tips model_evaluation Metrics and scoring: quantifying the quality of predictions: modules/model_evaluation.html#model-evaluation - model_persistence Model persistence : modules/model_persistence.html#model-persistence + model_persistence Model persistence : model_persistence.html#model-persistence model_selection Model selection and evaluation : model_selection.html#model-selection model_selection_changes Model Selection Enhancements and API Changes: whats_new/v0.18.html#model-selection-changes model_selection_examples Model Selection : auto_examples/index.html#model-selection-examples @@ -3998,6 +4075,7 @@ std:label ol2001 modules/impute.html#ol2001 olivetti_faces_dataset The Olivetti faces dataset : datasets/real_world.html#olivetti-faces-dataset omp Orthogonal Matching Pursuit (OMP) : modules/linear_model.html#omp + one_hot_encoder_infrequent_categories Infrequent categories : modules/preprocessing.html#one-hot-encoder-infrequent-categories openml Downloading datasets from the openml.org repository: datasets/loading_other_datasets.html#openml openml_versions Dataset Versions : datasets/loading_other_datasets.html#openml-versions optics OPTICS : modules/clustering.html#optics @@ -4018,7 +4096,7 @@ std:label performance-howto How to optimize for speed : developers/performance.html#performance-howto permutation_importance Permutation feature importance : modules/permutation_importance.html#permutation-importance permutation_test_score Permutation test score : modules/cross_validation.html#permutation-test-score - persistence_limitations Security & maintainability limitations : modules/model_persistence.html#persistence-limitations + persistence_limitations Security & maintainability limitations : model_persistence.html#persistence-limitations pinball_loss Pinball loss : modules/model_evaluation.html#pinball-loss pipeline Pipeline: chaining estimators : modules/compose.html#pipeline pipeline_cache Caching transformers: avoid repeated computation: modules/compose.html#pipeline-cache @@ -4102,6 +4180,8 @@ std:label r3af56aed800a-1 modules/generated/sklearn.metrics.hamming_loss.html#r3af56aed800a-1 r3af56aed800a-2 modules/generated/sklearn.metrics.hamming_loss.html#r3af56aed800a-2 r3d389b87f49a-1 modules/generated/sklearn.metrics.completeness_score.html#r3d389b87f49a-1 + r409e25584b3c-1 modules/generated/sklearn.decomposition.non_negative_factorization.html#r409e25584b3c-1 + r409e25584b3c-2 modules/generated/sklearn.decomposition.non_negative_factorization.html#r409e25584b3c-2 r412b256ad77e-1 modules/generated/sklearn.metrics.homogeneity_score.html#r412b256ad77e-1 r44c805292efc-1 modules/generated/sklearn.decomposition.FastICA.html#r44c805292efc-1 r45f14345c000-1 modules/generated/sklearn.ensemble.RandomForestClassifier.html#r45f14345c000-1 @@ -4111,6 +4191,7 @@ std:label r495acb08bb55-2 modules/generated/sklearn.svm.NuSVR.html#r495acb08bb55-2 r4ae6a8049c28-1 modules/generated/sklearn.svm.SVR.html#r4ae6a8049c28-1 r4ae6a8049c28-2 modules/generated/sklearn.svm.SVR.html#r4ae6a8049c28-2 + r4b970a69bdc7-1 modules/generated/sklearn.metrics.d2_absolute_error_score.html#r4b970a69bdc7-1 r4bb7c4558997-1 modules/generated/sklearn.metrics.roc_auc_score.html#r4bb7c4558997-1 r4bb7c4558997-2 modules/generated/sklearn.metrics.roc_auc_score.html#r4bb7c4558997-2 r4bb7c4558997-3 modules/generated/sklearn.metrics.roc_auc_score.html#r4bb7c4558997-3 @@ -4135,10 +4216,13 @@ std:label r57cf438d7060-4 modules/generated/sklearn.calibration.CalibratedClassifierCV.html#r57cf438d7060-4 r57df20f82832-1 modules/generated/sklearn.metrics.fowlkes_mallows_score.html#r57df20f82832-1 r57df20f82832-2 modules/generated/sklearn.metrics.fowlkes_mallows_score.html#r57df20f82832-2 + r5831441d8a57-1 modules/generated/sklearn.manifold.trustworthiness.html#r5831441d8a57-1 + r5831441d8a57-2 modules/generated/sklearn.manifold.trustworthiness.html#r5831441d8a57-2 r5f6cbeb1558e-1 modules/generated/sklearn.cluster.SpectralClustering.html#r5f6cbeb1558e-1 r5f6cbeb1558e-2 modules/generated/sklearn.cluster.SpectralClustering.html#r5f6cbeb1558e-2 r5f6cbeb1558e-3 modules/generated/sklearn.cluster.SpectralClustering.html#r5f6cbeb1558e-3 r5f6cbeb1558e-4 modules/generated/sklearn.cluster.SpectralClustering.html#r5f6cbeb1558e-4 + r5f6cbeb1558e-5 modules/generated/sklearn.cluster.SpectralClustering.html#r5f6cbeb1558e-5 r606df7ffad02-1 modules/generated/sklearn.ensemble.StackingRegressor.html#r606df7ffad02-1 r61802d06a170-1 modules/generated/sklearn.cluster.compute_optics_graph.html#r61802d06a170-1 r623484488881-1 modules/generated/sklearn.metrics.precision_recall_fscore_support.html#r623484488881-1 @@ -4149,12 +4233,17 @@ std:label r62e36dd1b056-2 modules/generated/sklearn.manifold.LocallyLinearEmbedding.html#r62e36dd1b056-2 r62e36dd1b056-3 modules/generated/sklearn.manifold.LocallyLinearEmbedding.html#r62e36dd1b056-3 r62e36dd1b056-4 modules/generated/sklearn.manifold.LocallyLinearEmbedding.html#r62e36dd1b056-4 + r67b3ab572c7d-1 modules/generated/sklearn.decomposition.NMF.html#r67b3ab572c7d-1 + r67b3ab572c7d-2 modules/generated/sklearn.decomposition.NMF.html#r67b3ab572c7d-2 r68ae096da0e4-1 modules/generated/sklearn.covariance.EllipticEnvelope.html#r68ae096da0e4-1 r6e47e53bacbd-1 modules/generated/sklearn.ensemble.RandomTreesEmbedding.html#r6e47e53bacbd-1 r6e47e53bacbd-2 modules/generated/sklearn.ensemble.RandomTreesEmbedding.html#r6e47e53bacbd-2 r6e5c12522f2c-1 modules/generated/sklearn.metrics.f1_score.html#r6e5c12522f2c-1 r6f4d61ceb411-1 modules/generated/sklearn.feature_selection.RFECV.html#r6f4d61ceb411-1 r71e05e3f0cb4-1 modules/generated/sklearn.datasets.make_gaussian_quantiles.html#r71e05e3f0cb4-1 + r71fa4a5f61b6-1 modules/generated/sklearn.decomposition.MiniBatchNMF.html#r71fa4a5f61b6-1 + r71fa4a5f61b6-2 modules/generated/sklearn.decomposition.MiniBatchNMF.html#r71fa4a5f61b6-2 + r71fa4a5f61b6-3 modules/generated/sklearn.decomposition.MiniBatchNMF.html#r71fa4a5f61b6-3 r7380c1e4fbce-1 modules/generated/sklearn.metrics.fbeta_score.html#r7380c1e4fbce-1 r7380c1e4fbce-2 modules/generated/sklearn.metrics.fbeta_score.html#r7380c1e4fbce-2 r7405e2fbae10-1 modules/generated/sklearn.metrics.silhouette_score.html#r7405e2fbae10-1 @@ -4172,10 +4261,15 @@ std:label r89dec4780971-2 modules/generated/sklearn.cluster.spectral_clustering.html#r89dec4780971-2 r89dec4780971-3 modules/generated/sklearn.cluster.spectral_clustering.html#r89dec4780971-3 r89dec4780971-4 modules/generated/sklearn.cluster.spectral_clustering.html#r89dec4780971-4 + r89dec4780971-5 modules/generated/sklearn.cluster.spectral_clustering.html#r89dec4780971-5 + r89dec4780971-6 modules/generated/sklearn.cluster.spectral_clustering.html#r89dec4780971-6 + r89dec4780971-7 modules/generated/sklearn.cluster.spectral_clustering.html#r89dec4780971-7 r9465bad4668c-rvdriessen modules/generated/sklearn.covariance.MinCovDet.html#r9465bad4668c-rvdriessen r95f74c4622c1-1 modules/generated/sklearn.gaussian_process.kernels.DotProduct.html#r95f74c4622c1-1 r9709ce4a60d3-1 modules/generated/sklearn.svm.NuSVC.html#r9709ce4a60d3-1 r9709ce4a60d3-2 modules/generated/sklearn.svm.NuSVC.html#r9709ce4a60d3-2 + r9e856ff29ebd-1 modules/generated/sklearn.metrics.d2_pinball_score.html#r9e856ff29ebd-1 + r9e856ff29ebd-2 modules/generated/sklearn.metrics.d2_pinball_score.html#r9e856ff29ebd-2 r9f63e655f7bd-butlerdavies modules/generated/sklearn.covariance.MinCovDet.html#r9f63e655f7bd-butlerdavies r9f63e655f7bd-rouseeuw1984 modules/generated/sklearn.covariance.MinCovDet.html#r9f63e655f7bd-rouseeuw1984 r9f63e655f7bd-rousseeuw modules/generated/sklearn.covariance.MinCovDet.html#r9f63e655f7bd-rousseeuw @@ -4194,6 +4288,7 @@ std:label random_forest_feature_importance Feature importance evaluation : modules/ensemble.html#random-forest-feature-importance random_forest_parameters Parameters : modules/ensemble.html#random-forest-parameters random_projection Random Projection : modules/random_projection.html#random-projection + random_projection_inverse_transform Inverse Transform : modules/random_projection.html#random-projection-inverse-transform random_projection_ref sklearn.random_projection: Random projection: modules/classes.html#random-projection-ref random_trees_embedding Totally Random Trees Embedding : modules/ensemble.html#random-trees-embedding randomized_parameter_search Randomized Parameter Optimization : modules/grid_search.html#randomized-parameter-search @@ -4331,6 +4426,7 @@ std:label sparsity Sparsity : tutorial/statistical_inference/supervised_learning.html#sparsity spectral_biclustering Spectral Biclustering : modules/biclustering.html#spectral-biclustering spectral_clustering Spectral clustering : modules/clustering.html#spectral-clustering + spectral_clustering_graph Spectral Clustering Graphs : modules/clustering.html#spectral-clustering-graph spectral_coclustering Spectral Co-Clustering : modules/biclustering.html#spectral-coclustering spectral_embedding Spectral Embedding : modules/manifold.html#spectral-embedding sphx_glr_auto_examples Examples : auto_examples/index.html#sphx-glr-auto-examples @@ -4374,6 +4470,7 @@ std:label sphx_glr_auto_examples_cluster_plot_agglomerative_clustering_metrics.py Agglomerative clustering with different metrics: auto_examples/cluster/plot_agglomerative_clustering_metrics.html#sphx-glr-auto-examples-cluster-plot-agglomerative-clustering-metrics-py sphx_glr_auto_examples_cluster_plot_agglomerative_dendrogram.py Plot Hierarchical Clustering Dendrogram : auto_examples/cluster/plot_agglomerative_dendrogram.html#sphx-glr-auto-examples-cluster-plot-agglomerative-dendrogram-py sphx_glr_auto_examples_cluster_plot_birch_vs_minibatchkmeans.py Compare BIRCH and MiniBatchKMeans : auto_examples/cluster/plot_birch_vs_minibatchkmeans.html#sphx-glr-auto-examples-cluster-plot-birch-vs-minibatchkmeans-py + sphx_glr_auto_examples_cluster_plot_bisect_kmeans.py Bisecting K-Means and Regular K-Means Performance Comparison: auto_examples/cluster/plot_bisect_kmeans.html#sphx-glr-auto-examples-cluster-plot-bisect-kmeans-py sphx_glr_auto_examples_cluster_plot_cluster_comparison.py Comparing different clustering algorithms on toy datasets: auto_examples/cluster/plot_cluster_comparison.html#sphx-glr-auto-examples-cluster-plot-cluster-comparison-py sphx_glr_auto_examples_cluster_plot_cluster_iris.py K-means Clustering : auto_examples/cluster/plot_cluster_iris.html#sphx-glr-auto-examples-cluster-plot-cluster-iris-py sphx_glr_auto_examples_cluster_plot_coin_segmentation.py Segmenting the picture of greek coins in regions: auto_examples/cluster/plot_coin_segmentation.html#sphx-glr-auto-examples-cluster-plot-coin-segmentation-py @@ -4504,8 +4601,7 @@ std:label sphx_glr_auto_examples_kernel_approximation_plot_scalable_poly_kernels.py Scalable learning with polynomial kernel approximation: auto_examples/kernel_approximation/plot_scalable_poly_kernels.html#sphx-glr-auto-examples-kernel-approximation-plot-scalable-poly-kernels-py sphx_glr_auto_examples_kernel_approximation_sg_execution_times Computation times : auto_examples/kernel_approximation/sg_execution_times.html#sphx-glr-auto-examples-kernel-approximation-sg-execution-times sphx_glr_auto_examples_linear_model Generalized Linear Models : auto_examples/index.html#sphx-glr-auto-examples-linear-model - sphx_glr_auto_examples_linear_model_plot_ard.py Automatic Relevance Determination Regression (ARD): auto_examples/linear_model/plot_ard.html#sphx-glr-auto-examples-linear-model-plot-ard-py - sphx_glr_auto_examples_linear_model_plot_bayesian_ridge.py Bayesian Ridge Regression : auto_examples/linear_model/plot_bayesian_ridge.html#sphx-glr-auto-examples-linear-model-plot-bayesian-ridge-py + sphx_glr_auto_examples_linear_model_plot_ard.py Comparing Linear Bayesian Regressors : auto_examples/linear_model/plot_ard.html#sphx-glr-auto-examples-linear-model-plot-ard-py sphx_glr_auto_examples_linear_model_plot_bayesian_ridge_curvefit.py Curve Fitting with Bayesian Ridge Regression: auto_examples/linear_model/plot_bayesian_ridge_curvefit.html#sphx-glr-auto-examples-linear-model-plot-bayesian-ridge-curvefit-py sphx_glr_auto_examples_linear_model_plot_elastic_net_precomputed_gram_matrix_with_weighted_samples.py Fitting an Elastic Net with a precomputed Gram Matrix and Weighted Samples: auto_examples/linear_model/plot_elastic_net_precomputed_gram_matrix_with_weighted_samples.html#sphx-glr-auto-examples-linear-model-plot-elastic-net-precomputed-gram-matrix-with-weighted-samples-py sphx_glr_auto_examples_linear_model_plot_huber_vs_ridge.py HuberRegressor vs Ridge on dataset with strong outliers: auto_examples/linear_model/plot_huber_vs_ridge.html#sphx-glr-auto-examples-linear-model-plot-huber-vs-ridge-py @@ -4551,7 +4647,7 @@ std:label sphx_glr_auto_examples_manifold_plot_lle_digits.py Manifold learning on handwritten digits: Locally Linear Embedding, Isomap…: auto_examples/manifold/plot_lle_digits.html#sphx-glr-auto-examples-manifold-plot-lle-digits-py sphx_glr_auto_examples_manifold_plot_manifold_sphere.py Manifold Learning methods on a severed sphere: auto_examples/manifold/plot_manifold_sphere.html#sphx-glr-auto-examples-manifold-plot-manifold-sphere-py sphx_glr_auto_examples_manifold_plot_mds.py Multi-dimensional scaling : auto_examples/manifold/plot_mds.html#sphx-glr-auto-examples-manifold-plot-mds-py - sphx_glr_auto_examples_manifold_plot_swissroll.py Swiss Roll reduction with LLE : auto_examples/manifold/plot_swissroll.html#sphx-glr-auto-examples-manifold-plot-swissroll-py + sphx_glr_auto_examples_manifold_plot_swissroll.py Swiss Roll And Swiss-Hole Reduction : auto_examples/manifold/plot_swissroll.html#sphx-glr-auto-examples-manifold-plot-swissroll-py sphx_glr_auto_examples_manifold_plot_t_sne_perplexity.py t-SNE: The effect of various perplexity values on the shape: auto_examples/manifold/plot_t_sne_perplexity.html#sphx-glr-auto-examples-manifold-plot-t-sne-perplexity-py sphx_glr_auto_examples_manifold_sg_execution_times Computation times : auto_examples/manifold/sg_execution_times.html#sphx-glr-auto-examples-manifold-sg-execution-times sphx_glr_auto_examples_miscellaneous Miscellaneous : auto_examples/index.html#sphx-glr-auto-examples-miscellaneous @@ -4564,6 +4660,7 @@ std:label sphx_glr_auto_examples_miscellaneous_plot_kernel_ridge_regression.py Comparison of kernel ridge regression and SVR: auto_examples/miscellaneous/plot_kernel_ridge_regression.html#sphx-glr-auto-examples-miscellaneous-plot-kernel-ridge-regression-py sphx_glr_auto_examples_miscellaneous_plot_multilabel.py Multilabel classification : auto_examples/miscellaneous/plot_multilabel.html#sphx-glr-auto-examples-miscellaneous-plot-multilabel-py sphx_glr_auto_examples_miscellaneous_plot_multioutput_face_completion.py Face completion with a multi-output estimators: auto_examples/miscellaneous/plot_multioutput_face_completion.html#sphx-glr-auto-examples-miscellaneous-plot-multioutput-face-completion-py + sphx_glr_auto_examples_miscellaneous_plot_outlier_detection_bench.py Evaluation of outlier detection estimators: auto_examples/miscellaneous/plot_outlier_detection_bench.html#sphx-glr-auto-examples-miscellaneous-plot-outlier-detection-bench-py sphx_glr_auto_examples_miscellaneous_plot_partial_dependence_visualization_api.py Advanced Plotting With Partial Dependence: auto_examples/miscellaneous/plot_partial_dependence_visualization_api.html#sphx-glr-auto-examples-miscellaneous-plot-partial-dependence-visualization-api-py sphx_glr_auto_examples_miscellaneous_plot_pipeline_display.py Displaying Pipelines : auto_examples/miscellaneous/plot_pipeline_display.html#sphx-glr-auto-examples-miscellaneous-plot-pipeline-display-py sphx_glr_auto_examples_miscellaneous_plot_roc_curve_visualization_api.py ROC Curve with Visualization API : auto_examples/miscellaneous/plot_roc_curve_visualization_api.html#sphx-glr-auto-examples-miscellaneous-plot-roc-curve-visualization-api-py @@ -4572,6 +4669,7 @@ std:label sphx_glr_auto_examples_mixture_plot_concentration_prior.py Concentration Prior Type Analysis of Variation Bayesian Gaussian Mixture: auto_examples/mixture/plot_concentration_prior.html#sphx-glr-auto-examples-mixture-plot-concentration-prior-py sphx_glr_auto_examples_mixture_plot_gmm.py Gaussian Mixture Model Ellipsoids : auto_examples/mixture/plot_gmm.html#sphx-glr-auto-examples-mixture-plot-gmm-py sphx_glr_auto_examples_mixture_plot_gmm_covariances.py GMM covariances : auto_examples/mixture/plot_gmm_covariances.html#sphx-glr-auto-examples-mixture-plot-gmm-covariances-py + sphx_glr_auto_examples_mixture_plot_gmm_init.py GMM Initialization Methods : auto_examples/mixture/plot_gmm_init.html#sphx-glr-auto-examples-mixture-plot-gmm-init-py sphx_glr_auto_examples_mixture_plot_gmm_pdf.py Density Estimation for a Gaussian mixture: auto_examples/mixture/plot_gmm_pdf.html#sphx-glr-auto-examples-mixture-plot-gmm-pdf-py sphx_glr_auto_examples_mixture_plot_gmm_selection.py Gaussian Mixture Model Selection : auto_examples/mixture/plot_gmm_selection.html#sphx-glr-auto-examples-mixture-plot-gmm-selection-py sphx_glr_auto_examples_mixture_plot_gmm_sin.py Gaussian Mixture Model Sine Curve : auto_examples/mixture/plot_gmm_sin.html#sphx-glr-auto-examples-mixture-plot-gmm-sin-py @@ -4636,6 +4734,7 @@ std:label sphx_glr_auto_examples_release_highlights_plot_release_highlights_0_23_0.py Release Highlights for scikit-learn 0.23: auto_examples/release_highlights/plot_release_highlights_0_23_0.html#sphx-glr-auto-examples-release-highlights-plot-release-highlights-0-23-0-py sphx_glr_auto_examples_release_highlights_plot_release_highlights_0_24_0.py Release Highlights for scikit-learn 0.24: auto_examples/release_highlights/plot_release_highlights_0_24_0.html#sphx-glr-auto-examples-release-highlights-plot-release-highlights-0-24-0-py sphx_glr_auto_examples_release_highlights_plot_release_highlights_1_0_0.py Release Highlights for scikit-learn 1.0 : auto_examples/release_highlights/plot_release_highlights_1_0_0.html#sphx-glr-auto-examples-release-highlights-plot-release-highlights-1-0-0-py + sphx_glr_auto_examples_release_highlights_plot_release_highlights_1_1_0.py Release Highlights for scikit-learn 1.1 : auto_examples/release_highlights/plot_release_highlights_1_1_0.html#sphx-glr-auto-examples-release-highlights-plot-release-highlights-1-1-0-py sphx_glr_auto_examples_release_highlights_sg_execution_times Computation times : auto_examples/release_highlights/sg_execution_times.html#sphx-glr-auto-examples-release-highlights-sg-execution-times sphx_glr_auto_examples_semi_supervised Semi Supervised Classification : auto_examples/index.html#sphx-glr-auto-examples-semi-supervised sphx_glr_auto_examples_semi_supervised_plot_label_propagation_digits.py Label Propagation digits: Demonstrating performance: auto_examples/semi_supervised/plot_label_propagation_digits.html#sphx-glr-auto-examples-semi-supervised-plot-label-propagation-digits-py @@ -4705,6 +4804,7 @@ std:label sphx_glr_download_auto_examples_cluster_plot_agglomerative_clustering_metrics.py auto_examples/cluster/plot_agglomerative_clustering_metrics.html#sphx-glr-download-auto-examples-cluster-plot-agglomerative-clustering-metrics-py sphx_glr_download_auto_examples_cluster_plot_agglomerative_dendrogram.py auto_examples/cluster/plot_agglomerative_dendrogram.html#sphx-glr-download-auto-examples-cluster-plot-agglomerative-dendrogram-py sphx_glr_download_auto_examples_cluster_plot_birch_vs_minibatchkmeans.py auto_examples/cluster/plot_birch_vs_minibatchkmeans.html#sphx-glr-download-auto-examples-cluster-plot-birch-vs-minibatchkmeans-py + sphx_glr_download_auto_examples_cluster_plot_bisect_kmeans.py auto_examples/cluster/plot_bisect_kmeans.html#sphx-glr-download-auto-examples-cluster-plot-bisect-kmeans-py sphx_glr_download_auto_examples_cluster_plot_cluster_comparison.py auto_examples/cluster/plot_cluster_comparison.html#sphx-glr-download-auto-examples-cluster-plot-cluster-comparison-py sphx_glr_download_auto_examples_cluster_plot_cluster_iris.py auto_examples/cluster/plot_cluster_iris.html#sphx-glr-download-auto-examples-cluster-plot-cluster-iris-py sphx_glr_download_auto_examples_cluster_plot_coin_segmentation.py auto_examples/cluster/plot_coin_segmentation.html#sphx-glr-download-auto-examples-cluster-plot-coin-segmentation-py @@ -4810,7 +4910,6 @@ std:label sphx_glr_download_auto_examples_inspection_plot_permutation_importance_multicollinear.py auto_examples/inspection/plot_permutation_importance_multicollinear.html#sphx-glr-download-auto-examples-inspection-plot-permutation-importance-multicollinear-py sphx_glr_download_auto_examples_kernel_approximation_plot_scalable_poly_kernels.py auto_examples/kernel_approximation/plot_scalable_poly_kernels.html#sphx-glr-download-auto-examples-kernel-approximation-plot-scalable-poly-kernels-py sphx_glr_download_auto_examples_linear_model_plot_ard.py auto_examples/linear_model/plot_ard.html#sphx-glr-download-auto-examples-linear-model-plot-ard-py - sphx_glr_download_auto_examples_linear_model_plot_bayesian_ridge.py auto_examples/linear_model/plot_bayesian_ridge.html#sphx-glr-download-auto-examples-linear-model-plot-bayesian-ridge-py sphx_glr_download_auto_examples_linear_model_plot_bayesian_ridge_curvefit.py auto_examples/linear_model/plot_bayesian_ridge_curvefit.html#sphx-glr-download-auto-examples-linear-model-plot-bayesian-ridge-curvefit-py sphx_glr_download_auto_examples_linear_model_plot_elastic_net_precomputed_gram_matrix_with_weighted_samples.py auto_examples/linear_model/plot_elastic_net_precomputed_gram_matrix_with_weighted_samples.html#sphx-glr-download-auto-examples-linear-model-plot-elastic-net-precomputed-gram-matrix-with-weighted-samples-py sphx_glr_download_auto_examples_linear_model_plot_huber_vs_ridge.py auto_examples/linear_model/plot_huber_vs_ridge.html#sphx-glr-download-auto-examples-linear-model-plot-huber-vs-ridge-py @@ -4865,12 +4964,14 @@ std:label sphx_glr_download_auto_examples_miscellaneous_plot_kernel_ridge_regression.py auto_examples/miscellaneous/plot_kernel_ridge_regression.html#sphx-glr-download-auto-examples-miscellaneous-plot-kernel-ridge-regression-py sphx_glr_download_auto_examples_miscellaneous_plot_multilabel.py auto_examples/miscellaneous/plot_multilabel.html#sphx-glr-download-auto-examples-miscellaneous-plot-multilabel-py sphx_glr_download_auto_examples_miscellaneous_plot_multioutput_face_completion.py auto_examples/miscellaneous/plot_multioutput_face_completion.html#sphx-glr-download-auto-examples-miscellaneous-plot-multioutput-face-completion-py + sphx_glr_download_auto_examples_miscellaneous_plot_outlier_detection_bench.py auto_examples/miscellaneous/plot_outlier_detection_bench.html#sphx-glr-download-auto-examples-miscellaneous-plot-outlier-detection-bench-py sphx_glr_download_auto_examples_miscellaneous_plot_partial_dependence_visualization_api.py auto_examples/miscellaneous/plot_partial_dependence_visualization_api.html#sphx-glr-download-auto-examples-miscellaneous-plot-partial-dependence-visualization-api-py sphx_glr_download_auto_examples_miscellaneous_plot_pipeline_display.py auto_examples/miscellaneous/plot_pipeline_display.html#sphx-glr-download-auto-examples-miscellaneous-plot-pipeline-display-py sphx_glr_download_auto_examples_miscellaneous_plot_roc_curve_visualization_api.py auto_examples/miscellaneous/plot_roc_curve_visualization_api.html#sphx-glr-download-auto-examples-miscellaneous-plot-roc-curve-visualization-api-py sphx_glr_download_auto_examples_mixture_plot_concentration_prior.py auto_examples/mixture/plot_concentration_prior.html#sphx-glr-download-auto-examples-mixture-plot-concentration-prior-py sphx_glr_download_auto_examples_mixture_plot_gmm.py auto_examples/mixture/plot_gmm.html#sphx-glr-download-auto-examples-mixture-plot-gmm-py sphx_glr_download_auto_examples_mixture_plot_gmm_covariances.py auto_examples/mixture/plot_gmm_covariances.html#sphx-glr-download-auto-examples-mixture-plot-gmm-covariances-py + sphx_glr_download_auto_examples_mixture_plot_gmm_init.py auto_examples/mixture/plot_gmm_init.html#sphx-glr-download-auto-examples-mixture-plot-gmm-init-py sphx_glr_download_auto_examples_mixture_plot_gmm_pdf.py auto_examples/mixture/plot_gmm_pdf.html#sphx-glr-download-auto-examples-mixture-plot-gmm-pdf-py sphx_glr_download_auto_examples_mixture_plot_gmm_selection.py auto_examples/mixture/plot_gmm_selection.html#sphx-glr-download-auto-examples-mixture-plot-gmm-selection-py sphx_glr_download_auto_examples_mixture_plot_gmm_sin.py auto_examples/mixture/plot_gmm_sin.html#sphx-glr-download-auto-examples-mixture-plot-gmm-sin-py @@ -4923,6 +5024,7 @@ std:label sphx_glr_download_auto_examples_release_highlights_plot_release_highlights_0_23_0.py auto_examples/release_highlights/plot_release_highlights_0_23_0.html#sphx-glr-download-auto-examples-release-highlights-plot-release-highlights-0-23-0-py sphx_glr_download_auto_examples_release_highlights_plot_release_highlights_0_24_0.py auto_examples/release_highlights/plot_release_highlights_0_24_0.html#sphx-glr-download-auto-examples-release-highlights-plot-release-highlights-0-24-0-py sphx_glr_download_auto_examples_release_highlights_plot_release_highlights_1_0_0.py auto_examples/release_highlights/plot_release_highlights_1_0_0.html#sphx-glr-download-auto-examples-release-highlights-plot-release-highlights-1-0-0-py + sphx_glr_download_auto_examples_release_highlights_plot_release_highlights_1_1_0.py auto_examples/release_highlights/plot_release_highlights_1_1_0.html#sphx-glr-download-auto-examples-release-highlights-plot-release-highlights-1-1-0-py sphx_glr_download_auto_examples_semi_supervised_plot_label_propagation_digits.py auto_examples/semi_supervised/plot_label_propagation_digits.html#sphx-glr-download-auto-examples-semi-supervised-plot-label-propagation-digits-py sphx_glr_download_auto_examples_semi_supervised_plot_label_propagation_digits_active_learning.py auto_examples/semi_supervised/plot_label_propagation_digits_active_learning.html#sphx-glr-download-auto-examples-semi-supervised-plot-label-propagation-digits-active-learning-py sphx_glr_download_auto_examples_semi_supervised_plot_label_propagation_structure.py auto_examples/semi_supervised/plot_label_propagation_structure.html#sphx-glr-download-auto-examples-semi-supervised-plot-label-propagation-structure-py @@ -4962,7 +5064,7 @@ std:label stratified_group_k_fold StratifiedGroupKFold : modules/cross_validation.html#stratified-group-k-fold stratified_k_fold Stratified k-fold : modules/cross_validation.html#stratified-k-fold stratified_shuffle_split Stratified Shuffle Split : modules/cross_validation.html#stratified-shuffle-split - successive_halving_cv_results Analysing results with the cv_results_ attribute: modules/grid_search.html#successive-halving-cv-results + successive_halving_cv_results Analyzing results with the cv_results_ attribute: modules/grid_search.html#successive-halving-cv-results successive_halving_user_guide Searching for optimal parameters with successive halving: modules/grid_search.html#successive-halving-user-guide supervised-learning Supervised learning : supervised_learning.html#supervised-learning supervised_learning_tut Supervised learning: predicting an output variable from high-dimensional observations: tutorial/statistical_inference/supervised_learning.html#supervised-learning-tut @@ -4977,6 +5079,7 @@ std:label svm_ref sklearn.svm: Support Vector Machines : modules/classes.html#svm-ref svm_regression Regression : modules/svm.html#svm-regression sw_hgbdt Sample weight support : modules/ensemble.html#sw-hgbdt + synth_data Synthetic dataset : developers/minimal_reproducer.html#synth-data t_sne t-distributed Stochastic Neighbor Embedding (t-SNE): modules/manifold.html#t-sne tensor_sketch_kernel_approx Mathematical Details : modules/kernel_approximation.html#tensor-sketch-kernel-approx testimonials Who is using scikit-learn? : testimonials/testimonials.html#testimonials @@ -5049,7 +5152,6 @@ std:term Xt glossary.html#term-Xt Y glossary.html#term-Y _estimator_type glossary.html#term-_estimator_type - _pairwise glossary.html#term-_pairwise array-like glossary.html#term-array-like attribute glossary.html#term-attribute attributes glossary.html#term-attributes diff --git a/doc/_notebooks/atari/apex_dqn.ipynb b/doc/_notebooks/atari/apex_dqn.ipynb index 701eeeb..b414be7 100644 --- a/doc/_notebooks/atari/apex_dqn.ipynb +++ b/doc/_notebooks/atari/apex_dqn.ipynb @@ -6,7 +6,7 @@ "metadata": {}, "outputs": [], "source": [ - "%pip install git+https://github.com/coax-dev/coax.git@main" + "%pip install git+https://github.com/coax-dev/coax.git@main --quiet" ] }, { diff --git a/doc/_notebooks/atari/ddpg.ipynb b/doc/_notebooks/atari/ddpg.ipynb index 3f2570c..be7effe 100644 --- a/doc/_notebooks/atari/ddpg.ipynb +++ b/doc/_notebooks/atari/ddpg.ipynb @@ -6,7 +6,7 @@ "metadata": {}, "outputs": [], "source": [ - "%pip install git+https://github.com/coax-dev/coax.git@main" + "%pip install git+https://github.com/coax-dev/coax.git@main --quiet" ] }, { diff --git a/doc/_notebooks/atari/dqn.ipynb b/doc/_notebooks/atari/dqn.ipynb index 76aa3dd..e88d4ba 100644 --- a/doc/_notebooks/atari/dqn.ipynb +++ b/doc/_notebooks/atari/dqn.ipynb @@ -6,7 +6,7 @@ "metadata": {}, "outputs": [], "source": [ - "%pip install git+https://github.com/coax-dev/coax.git@main" + "%pip install git+https://github.com/coax-dev/coax.git@main --quiet" ] }, { diff --git a/doc/_notebooks/atari/dqn_boltzmann.ipynb b/doc/_notebooks/atari/dqn_boltzmann.ipynb index 36af13d..6b3c3e7 100644 --- a/doc/_notebooks/atari/dqn_boltzmann.ipynb +++ b/doc/_notebooks/atari/dqn_boltzmann.ipynb @@ -6,7 +6,7 @@ "metadata": {}, "outputs": [], "source": [ - "%pip install git+https://github.com/coax-dev/coax.git@main" + "%pip install git+https://github.com/coax-dev/coax.git@main --quiet" ] }, { diff --git a/doc/_notebooks/atari/dqn_per.ipynb b/doc/_notebooks/atari/dqn_per.ipynb index c52eb98..2b5182b 100644 --- a/doc/_notebooks/atari/dqn_per.ipynb +++ b/doc/_notebooks/atari/dqn_per.ipynb @@ -6,7 +6,7 @@ "metadata": {}, "outputs": [], "source": [ - "%pip install git+https://github.com/coax-dev/coax.git@main" + "%pip install git+https://github.com/coax-dev/coax.git@main --quiet" ] }, { diff --git a/doc/_notebooks/atari/dqn_soft.ipynb b/doc/_notebooks/atari/dqn_soft.ipynb index 403e8b5..ffebf0e 100644 --- a/doc/_notebooks/atari/dqn_soft.ipynb +++ b/doc/_notebooks/atari/dqn_soft.ipynb @@ -6,7 +6,7 @@ "metadata": {}, "outputs": [], "source": [ - "%pip install git+https://github.com/coax-dev/coax.git@main" + "%pip install git+https://github.com/coax-dev/coax.git@main --quiet" ] }, { diff --git a/doc/_notebooks/atari/dqn_type1.ipynb b/doc/_notebooks/atari/dqn_type1.ipynb index b16bbcc..1377946 100644 --- a/doc/_notebooks/atari/dqn_type1.ipynb +++ b/doc/_notebooks/atari/dqn_type1.ipynb @@ -6,7 +6,7 @@ "metadata": {}, "outputs": [], "source": [ - "%pip install git+https://github.com/coax-dev/coax.git@main" + "%pip install git+https://github.com/coax-dev/coax.git@main --quiet" ] }, { diff --git a/doc/_notebooks/atari/ppo.ipynb b/doc/_notebooks/atari/ppo.ipynb index a25df36..3f1974b 100644 --- a/doc/_notebooks/atari/ppo.ipynb +++ b/doc/_notebooks/atari/ppo.ipynb @@ -6,7 +6,7 @@ "metadata": {}, "outputs": [], "source": [ - "%pip install git+https://github.com/coax-dev/coax.git@main" + "%pip install git+https://github.com/coax-dev/coax.git@main --quiet" ] }, { diff --git a/doc/_notebooks/cartpole/a2c.ipynb b/doc/_notebooks/cartpole/a2c.ipynb index c9f7f3a..5349afa 100644 --- a/doc/_notebooks/cartpole/a2c.ipynb +++ b/doc/_notebooks/cartpole/a2c.ipynb @@ -6,7 +6,7 @@ "metadata": {}, "outputs": [], "source": [ - "%pip install git+https://github.com/coax-dev/coax.git@main" + "%pip install git+https://github.com/coax-dev/coax.git@main --quiet" ] }, { diff --git a/doc/_notebooks/cartpole/dqn.ipynb b/doc/_notebooks/cartpole/dqn.ipynb index aef21a0..70f2f49 100644 --- a/doc/_notebooks/cartpole/dqn.ipynb +++ b/doc/_notebooks/cartpole/dqn.ipynb @@ -6,7 +6,7 @@ "metadata": {}, "outputs": [], "source": [ - "%pip install git+https://github.com/coax-dev/coax.git@main" + "%pip install git+https://github.com/coax-dev/coax.git@main --quiet" ] }, { diff --git a/doc/_notebooks/cartpole/iqn.ipynb b/doc/_notebooks/cartpole/iqn.ipynb index 4292f95..184e073 100644 --- a/doc/_notebooks/cartpole/iqn.ipynb +++ b/doc/_notebooks/cartpole/iqn.ipynb @@ -6,7 +6,7 @@ "metadata": {}, "outputs": [], "source": [ - "%pip install git+https://github.com/coax-dev/coax.git@main" + "%pip install git+https://github.com/coax-dev/coax.git@main --quiet" ] }, { diff --git a/doc/_notebooks/cartpole/model_based.ipynb b/doc/_notebooks/cartpole/model_based.ipynb index 059b5fd..c4c50cc 100644 --- a/doc/_notebooks/cartpole/model_based.ipynb +++ b/doc/_notebooks/cartpole/model_based.ipynb @@ -6,7 +6,7 @@ "metadata": {}, "outputs": [], "source": [ - "%pip install git+https://github.com/coax-dev/coax.git@main" + "%pip install git+https://github.com/coax-dev/coax.git@main --quiet" ] }, { diff --git a/doc/_notebooks/frozen_lake/a2c.ipynb b/doc/_notebooks/frozen_lake/a2c.ipynb index 1dbcbd6..6ab207d 100644 --- a/doc/_notebooks/frozen_lake/a2c.ipynb +++ b/doc/_notebooks/frozen_lake/a2c.ipynb @@ -6,7 +6,7 @@ "metadata": {}, "outputs": [], "source": [ - "%pip install git+https://github.com/coax-dev/coax.git@main" + "%pip install git+https://github.com/coax-dev/coax.git@main --quiet" ] }, { diff --git a/doc/_notebooks/frozen_lake/ddpg.ipynb b/doc/_notebooks/frozen_lake/ddpg.ipynb index 30b210b..e01a0b8 100644 --- a/doc/_notebooks/frozen_lake/ddpg.ipynb +++ b/doc/_notebooks/frozen_lake/ddpg.ipynb @@ -6,7 +6,7 @@ "metadata": {}, "outputs": [], "source": [ - "%pip install git+https://github.com/coax-dev/coax.git@main" + "%pip install git+https://github.com/coax-dev/coax.git@main --quiet" ] }, { diff --git a/doc/_notebooks/frozen_lake/double_qlearning.ipynb b/doc/_notebooks/frozen_lake/double_qlearning.ipynb index 9109685..d622cf2 100644 --- a/doc/_notebooks/frozen_lake/double_qlearning.ipynb +++ b/doc/_notebooks/frozen_lake/double_qlearning.ipynb @@ -6,7 +6,7 @@ "metadata": {}, "outputs": [], "source": [ - "%pip install git+https://github.com/coax-dev/coax.git@main" + "%pip install git+https://github.com/coax-dev/coax.git@main --quiet" ] }, { diff --git a/doc/_notebooks/frozen_lake/expected_sarsa.ipynb b/doc/_notebooks/frozen_lake/expected_sarsa.ipynb index e85c69d..a77c3ed 100644 --- a/doc/_notebooks/frozen_lake/expected_sarsa.ipynb +++ b/doc/_notebooks/frozen_lake/expected_sarsa.ipynb @@ -6,7 +6,7 @@ "metadata": {}, "outputs": [], "source": [ - "%pip install git+https://github.com/coax-dev/coax.git@main" + "%pip install git+https://github.com/coax-dev/coax.git@main --quiet" ] }, { diff --git a/doc/_notebooks/frozen_lake/ppo.ipynb b/doc/_notebooks/frozen_lake/ppo.ipynb index 8963c64..647a27e 100644 --- a/doc/_notebooks/frozen_lake/ppo.ipynb +++ b/doc/_notebooks/frozen_lake/ppo.ipynb @@ -6,7 +6,7 @@ "metadata": {}, "outputs": [], "source": [ - "%pip install git+https://github.com/coax-dev/coax.git@main" + "%pip install git+https://github.com/coax-dev/coax.git@main --quiet" ] }, { diff --git a/doc/_notebooks/frozen_lake/qlearning.ipynb b/doc/_notebooks/frozen_lake/qlearning.ipynb index 7ecaa98..ef887ee 100644 --- a/doc/_notebooks/frozen_lake/qlearning.ipynb +++ b/doc/_notebooks/frozen_lake/qlearning.ipynb @@ -6,7 +6,7 @@ "metadata": {}, "outputs": [], "source": [ - "%pip install git+https://github.com/coax-dev/coax.git@main" + "%pip install git+https://github.com/coax-dev/coax.git@main --quiet" ] }, { diff --git a/doc/_notebooks/frozen_lake/reinforce.ipynb b/doc/_notebooks/frozen_lake/reinforce.ipynb index fa96abc..639efdd 100644 --- a/doc/_notebooks/frozen_lake/reinforce.ipynb +++ b/doc/_notebooks/frozen_lake/reinforce.ipynb @@ -6,7 +6,7 @@ "metadata": {}, "outputs": [], "source": [ - "%pip install git+https://github.com/coax-dev/coax.git@main" + "%pip install git+https://github.com/coax-dev/coax.git@main --quiet" ] }, { diff --git a/doc/_notebooks/frozen_lake/sarsa.ipynb b/doc/_notebooks/frozen_lake/sarsa.ipynb index 8e00497..1282bc8 100644 --- a/doc/_notebooks/frozen_lake/sarsa.ipynb +++ b/doc/_notebooks/frozen_lake/sarsa.ipynb @@ -6,7 +6,7 @@ "metadata": {}, "outputs": [], "source": [ - "%pip install git+https://github.com/coax-dev/coax.git@main" + "%pip install git+https://github.com/coax-dev/coax.git@main --quiet" ] }, { diff --git a/doc/_notebooks/frozen_lake/stochastic_double_qlearning.ipynb b/doc/_notebooks/frozen_lake/stochastic_double_qlearning.ipynb index 414e414..13845a7 100644 --- a/doc/_notebooks/frozen_lake/stochastic_double_qlearning.ipynb +++ b/doc/_notebooks/frozen_lake/stochastic_double_qlearning.ipynb @@ -6,7 +6,7 @@ "metadata": {}, "outputs": [], "source": [ - "%pip install git+https://github.com/coax-dev/coax.git@main" + "%pip install git+https://github.com/coax-dev/coax.git@main --quiet" ] }, { diff --git a/doc/_notebooks/frozen_lake/stochastic_expected_sarsa.ipynb b/doc/_notebooks/frozen_lake/stochastic_expected_sarsa.ipynb index 2e0c909..698fa24 100644 --- a/doc/_notebooks/frozen_lake/stochastic_expected_sarsa.ipynb +++ b/doc/_notebooks/frozen_lake/stochastic_expected_sarsa.ipynb @@ -6,7 +6,7 @@ "metadata": {}, "outputs": [], "source": [ - "%pip install git+https://github.com/coax-dev/coax.git@main" + "%pip install git+https://github.com/coax-dev/coax.git@main --quiet" ] }, { diff --git a/doc/_notebooks/frozen_lake/stochastic_qlearning.ipynb b/doc/_notebooks/frozen_lake/stochastic_qlearning.ipynb index 01ed8c9..c17df03 100644 --- a/doc/_notebooks/frozen_lake/stochastic_qlearning.ipynb +++ b/doc/_notebooks/frozen_lake/stochastic_qlearning.ipynb @@ -6,7 +6,7 @@ "metadata": {}, "outputs": [], "source": [ - "%pip install git+https://github.com/coax-dev/coax.git@main" + "%pip install git+https://github.com/coax-dev/coax.git@main --quiet" ] }, { diff --git a/doc/_notebooks/frozen_lake/stochastic_sarsa.ipynb b/doc/_notebooks/frozen_lake/stochastic_sarsa.ipynb index 91f0ff2..e65e0a2 100644 --- a/doc/_notebooks/frozen_lake/stochastic_sarsa.ipynb +++ b/doc/_notebooks/frozen_lake/stochastic_sarsa.ipynb @@ -6,7 +6,7 @@ "metadata": {}, "outputs": [], "source": [ - "%pip install git+https://github.com/coax-dev/coax.git@main" + "%pip install git+https://github.com/coax-dev/coax.git@main --quiet" ] }, { diff --git a/doc/_notebooks/frozen_lake/td3.ipynb b/doc/_notebooks/frozen_lake/td3.ipynb index 1f81c2f..7f3d5f8 100644 --- a/doc/_notebooks/frozen_lake/td3.ipynb +++ b/doc/_notebooks/frozen_lake/td3.ipynb @@ -6,7 +6,7 @@ "metadata": {}, "outputs": [], "source": [ - "%pip install git+https://github.com/coax-dev/coax.git@main" + "%pip install git+https://github.com/coax-dev/coax.git@main --quiet" ] }, { diff --git a/doc/_notebooks/linear_regression/haiku.ipynb b/doc/_notebooks/linear_regression/haiku.ipynb index 224e475..536c8e3 100644 --- a/doc/_notebooks/linear_regression/haiku.ipynb +++ b/doc/_notebooks/linear_regression/haiku.ipynb @@ -6,7 +6,7 @@ "metadata": {}, "outputs": [], "source": [ - "%pip install git+https://github.com/coax-dev/coax.git@main" + "%pip install git+https://github.com/coax-dev/coax.git@main --quiet" ] }, { @@ -53,7 +53,7 @@ "\n", "\n", "def update(params, grads):\n", - " return jax.tree_multimap(lambda p, g: p - 0.05 * g, params, grads)\n", + " return jax.tree_map(lambda p, g: p - 0.05 * g, params, grads)\n", "\n", "\n", "# the main training loop\n", diff --git a/doc/_notebooks/linear_regression/jax.ipynb b/doc/_notebooks/linear_regression/jax.ipynb index a91c203..f560e58 100644 --- a/doc/_notebooks/linear_regression/jax.ipynb +++ b/doc/_notebooks/linear_regression/jax.ipynb @@ -6,7 +6,7 @@ "metadata": {}, "outputs": [], "source": [ - "%pip install git+https://github.com/coax-dev/coax.git@main" + "%pip install git+https://github.com/coax-dev/coax.git@main --quiet" ] }, { @@ -46,7 +46,7 @@ "\n", "\n", "def update(params, grads):\n", - " return jax.tree_multimap(lambda p, g: p - 0.05 * g, params, grads)\n", + " return jax.tree_map(lambda p, g: p - 0.05 * g, params, grads)\n", "\n", "\n", "# the main training loop\n", diff --git a/doc/_notebooks/pendulum/ddpg.ipynb b/doc/_notebooks/pendulum/ddpg.ipynb index 40777b3..9a1df83 100644 --- a/doc/_notebooks/pendulum/ddpg.ipynb +++ b/doc/_notebooks/pendulum/ddpg.ipynb @@ -6,7 +6,7 @@ "metadata": {}, "outputs": [], "source": [ - "%pip install git+https://github.com/coax-dev/coax.git@main" + "%pip install git+https://github.com/coax-dev/coax.git@main --quiet" ] }, { diff --git a/doc/_notebooks/pendulum/dsac.ipynb b/doc/_notebooks/pendulum/dsac.ipynb index a71d272..ed3ced4 100644 --- a/doc/_notebooks/pendulum/dsac.ipynb +++ b/doc/_notebooks/pendulum/dsac.ipynb @@ -6,7 +6,7 @@ "metadata": {}, "outputs": [], "source": [ - "%pip install git+https://github.com/coax-dev/coax.git@main" + "%pip install git+https://github.com/coax-dev/coax.git@main --quiet" ] }, { diff --git a/doc/_notebooks/pendulum/ppo.ipynb b/doc/_notebooks/pendulum/ppo.ipynb index e7ff713..b2d4a4c 100644 --- a/doc/_notebooks/pendulum/ppo.ipynb +++ b/doc/_notebooks/pendulum/ppo.ipynb @@ -6,7 +6,7 @@ "metadata": {}, "outputs": [], "source": [ - "%pip install git+https://github.com/coax-dev/coax.git@main" + "%pip install git+https://github.com/coax-dev/coax.git@main --quiet" ] }, { diff --git a/doc/_notebooks/pendulum/sac.ipynb b/doc/_notebooks/pendulum/sac.ipynb index 83a1800..1592e26 100644 --- a/doc/_notebooks/pendulum/sac.ipynb +++ b/doc/_notebooks/pendulum/sac.ipynb @@ -6,7 +6,7 @@ "metadata": {}, "outputs": [], "source": [ - "%pip install git+https://github.com/coax-dev/coax.git@main" + "%pip install git+https://github.com/coax-dev/coax.git@main --quiet" ] }, { diff --git a/doc/_notebooks/pendulum/td3.ipynb b/doc/_notebooks/pendulum/td3.ipynb index d6f5ff5..81b38cb 100644 --- a/doc/_notebooks/pendulum/td3.ipynb +++ b/doc/_notebooks/pendulum/td3.ipynb @@ -6,7 +6,7 @@ "metadata": {}, "outputs": [], "source": [ - "%pip install git+https://github.com/coax-dev/coax.git@main" + "%pip install git+https://github.com/coax-dev/coax.git@main --quiet" ] }, { diff --git a/doc/_notebooks/pendulum/td4.ipynb b/doc/_notebooks/pendulum/td4.ipynb index b1331c9..c489ed0 100644 --- a/doc/_notebooks/pendulum/td4.ipynb +++ b/doc/_notebooks/pendulum/td4.ipynb @@ -6,7 +6,7 @@ "metadata": {}, "outputs": [], "source": [ - "%pip install git+https://github.com/coax-dev/coax.git@main" + "%pip install git+https://github.com/coax-dev/coax.git@main --quiet" ] }, { diff --git a/doc/_notebooks/prerequisites/haiku.ipynb b/doc/_notebooks/prerequisites/haiku.ipynb index 9888053..0ac094f 100644 --- a/doc/_notebooks/prerequisites/haiku.ipynb +++ b/doc/_notebooks/prerequisites/haiku.ipynb @@ -53,7 +53,7 @@ "\n", "\n", "def update(params, grads):\n", - " return jax.tree_multimap(lambda p, g: p - 0.05 * g, params, grads)\n", + " return jax.tree_map(lambda p, g: p - 0.05 * g, params, grads)\n", "\n", "\n", "# the main training loop\n", diff --git a/doc/_notebooks/prerequisites/jax.ipynb b/doc/_notebooks/prerequisites/jax.ipynb index abcdf4e..0243cd2 100644 --- a/doc/_notebooks/prerequisites/jax.ipynb +++ b/doc/_notebooks/prerequisites/jax.ipynb @@ -46,7 +46,7 @@ "\n", "\n", "def update(params, grads):\n", - " return jax.tree_multimap(lambda p, g: p - 0.05 * g, params, grads)\n", + " return jax.tree_map(lambda p, g: p - 0.05 * g, params, grads)\n", "\n", "\n", "# the main training loop\n", diff --git a/doc/_notebooks/stubs/a2c.ipynb b/doc/_notebooks/stubs/a2c.ipynb index 994d84c..78e3484 100644 --- a/doc/_notebooks/stubs/a2c.ipynb +++ b/doc/_notebooks/stubs/a2c.ipynb @@ -6,7 +6,7 @@ "metadata": {}, "outputs": [], "source": [ - "%pip install git+https://github.com/coax-dev/coax.git@main" + "%pip install git+https://github.com/coax-dev/coax.git@main --quiet" ] }, { diff --git a/doc/_notebooks/stubs/ddpg.ipynb b/doc/_notebooks/stubs/ddpg.ipynb index 8450a66..d282f28 100644 --- a/doc/_notebooks/stubs/ddpg.ipynb +++ b/doc/_notebooks/stubs/ddpg.ipynb @@ -6,7 +6,7 @@ "metadata": {}, "outputs": [], "source": [ - "%pip install git+https://github.com/coax-dev/coax.git@main" + "%pip install git+https://github.com/coax-dev/coax.git@main --quiet" ] }, { diff --git a/doc/_notebooks/stubs/dqn.ipynb b/doc/_notebooks/stubs/dqn.ipynb index 7c71f49..7f16ae9 100644 --- a/doc/_notebooks/stubs/dqn.ipynb +++ b/doc/_notebooks/stubs/dqn.ipynb @@ -6,7 +6,7 @@ "metadata": {}, "outputs": [], "source": [ - "%pip install git+https://github.com/coax-dev/coax.git@main" + "%pip install git+https://github.com/coax-dev/coax.git@main --quiet" ] }, { diff --git a/doc/_notebooks/stubs/dqn_per.ipynb b/doc/_notebooks/stubs/dqn_per.ipynb index 0d987fb..113eaef 100644 --- a/doc/_notebooks/stubs/dqn_per.ipynb +++ b/doc/_notebooks/stubs/dqn_per.ipynb @@ -6,7 +6,7 @@ "metadata": {}, "outputs": [], "source": [ - "%pip install git+https://github.com/coax-dev/coax.git@main" + "%pip install git+https://github.com/coax-dev/coax.git@main --quiet" ] }, { diff --git a/doc/_notebooks/stubs/iqn.ipynb b/doc/_notebooks/stubs/iqn.ipynb index 8949dc0..6e867ac 100644 --- a/doc/_notebooks/stubs/iqn.ipynb +++ b/doc/_notebooks/stubs/iqn.ipynb @@ -6,7 +6,7 @@ "metadata": {}, "outputs": [], "source": [ - "%pip install git+https://github.com/coax-dev/coax.git@main" + "%pip install git+https://github.com/coax-dev/coax.git@main --quiet" ] }, { diff --git a/doc/_notebooks/stubs/ppo.ipynb b/doc/_notebooks/stubs/ppo.ipynb index 3268757..054a485 100644 --- a/doc/_notebooks/stubs/ppo.ipynb +++ b/doc/_notebooks/stubs/ppo.ipynb @@ -6,7 +6,7 @@ "metadata": {}, "outputs": [], "source": [ - "%pip install git+https://github.com/coax-dev/coax.git@main" + "%pip install git+https://github.com/coax-dev/coax.git@main --quiet" ] }, { diff --git a/doc/_notebooks/stubs/qlearning.ipynb b/doc/_notebooks/stubs/qlearning.ipynb index 6ef582f..386f6e2 100644 --- a/doc/_notebooks/stubs/qlearning.ipynb +++ b/doc/_notebooks/stubs/qlearning.ipynb @@ -6,7 +6,7 @@ "metadata": {}, "outputs": [], "source": [ - "%pip install git+https://github.com/coax-dev/coax.git@main" + "%pip install git+https://github.com/coax-dev/coax.git@main --quiet" ] }, { diff --git a/doc/_notebooks/stubs/reinforce.ipynb b/doc/_notebooks/stubs/reinforce.ipynb index 47bad9e..63c4fd1 100644 --- a/doc/_notebooks/stubs/reinforce.ipynb +++ b/doc/_notebooks/stubs/reinforce.ipynb @@ -6,7 +6,7 @@ "metadata": {}, "outputs": [], "source": [ - "%pip install git+https://github.com/coax-dev/coax.git@main" + "%pip install git+https://github.com/coax-dev/coax.git@main --quiet" ] }, { diff --git a/doc/_notebooks/stubs/sarsa.ipynb b/doc/_notebooks/stubs/sarsa.ipynb index 12997bc..1cef36d 100644 --- a/doc/_notebooks/stubs/sarsa.ipynb +++ b/doc/_notebooks/stubs/sarsa.ipynb @@ -6,7 +6,7 @@ "metadata": {}, "outputs": [], "source": [ - "%pip install git+https://github.com/coax-dev/coax.git@main" + "%pip install git+https://github.com/coax-dev/coax.git@main --quiet" ] }, { diff --git a/doc/_notebooks/stubs/soft_qlearning.ipynb b/doc/_notebooks/stubs/soft_qlearning.ipynb index e37e403..a6dd5d6 100644 --- a/doc/_notebooks/stubs/soft_qlearning.ipynb +++ b/doc/_notebooks/stubs/soft_qlearning.ipynb @@ -6,7 +6,7 @@ "metadata": {}, "outputs": [], "source": [ - "%pip install git+https://github.com/coax-dev/coax.git@main" + "%pip install git+https://github.com/coax-dev/coax.git@main --quiet" ] }, { diff --git a/doc/_notebooks/stubs/td3.ipynb b/doc/_notebooks/stubs/td3.ipynb index 2a99941..e8ef568 100644 --- a/doc/_notebooks/stubs/td3.ipynb +++ b/doc/_notebooks/stubs/td3.ipynb @@ -6,7 +6,7 @@ "metadata": {}, "outputs": [], "source": [ - "%pip install git+https://github.com/coax-dev/coax.git@main" + "%pip install git+https://github.com/coax-dev/coax.git@main --quiet" ] }, { diff --git a/doc/conf.py b/doc/conf.py index f108326..7477305 100644 --- a/doc/conf.py +++ b/doc/conf.py @@ -265,7 +265,6 @@ def get_release(): 'sklearn': ('https://scikit-learn.org/stable/', ('_intersphinx/sklearn.inv',)), 'jax': ('https://jax.readthedocs.io/en/latest/', ('_intersphinx/jax.inv',)), 'haiku': ('https://dm-haiku.readthedocs.io/en/latest/', ('_intersphinx/haiku.inv',)), - 'rllib': ('https://rllib.readthedocs.io/en/latest/', ('_intersphinx/rllib.inv',)), 'spinup': ('https://spinningup.openai.com/en/latest/', ('_intersphinx/spinup.inv',)), } diff --git a/doc/create_notebooks.py b/doc/create_notebooks.py index f3b5681..b6180ce 100755 --- a/doc/create_notebooks.py +++ b/doc/create_notebooks.py @@ -17,7 +17,7 @@ "metadata": {}, "outputs": [], "source": [ - "%pip install git+https://github.com/coax-dev/coax.git@main", + "%pip install git+https://github.com/coax-dev/coax.git@main --quiet", ] }, { diff --git a/doc/examples/linear_regression/haiku.py b/doc/examples/linear_regression/haiku.py index dcc131c..7380e00 100644 --- a/doc/examples/linear_regression/haiku.py +++ b/doc/examples/linear_regression/haiku.py @@ -36,7 +36,7 @@ def loss_fn(params, X, y): def update(params, grads): - return jax.tree_multimap(lambda p, g: p - 0.05 * g, params, grads) + return jax.tree_map(lambda p, g: p - 0.05 * g, params, grads) # the main training loop diff --git a/doc/examples/linear_regression/jax.py b/doc/examples/linear_regression/jax.py index 0f9cafa..cf0c009 100644 --- a/doc/examples/linear_regression/jax.py +++ b/doc/examples/linear_regression/jax.py @@ -29,7 +29,7 @@ def loss_fn(params, X, y): def update(params, grads): - return jax.tree_multimap(lambda p, g: p - 0.05 * g, params, grads) + return jax.tree_map(lambda p, g: p - 0.05 * g, params, grads) # the main training loop diff --git a/doc/examples/pendulum/experiments/ddpg_standalone.py b/doc/examples/pendulum/experiments/ddpg_standalone.py index 2d7d90a..c37b54a 100644 --- a/doc/examples/pendulum/experiments/ddpg_standalone.py +++ b/doc/examples/pendulum/experiments/ddpg_standalone.py @@ -156,7 +156,7 @@ def q(S, A, is_training): @jax.jit def soft_update(target_params, primary_params, tau=1.0): - return jax.tree_multimap(lambda a, b: a + tau * (b - a), target_params, primary_params) + return jax.tree_map(lambda a, b: a + tau * (b - a), target_params, primary_params) #################################################################################################### diff --git a/doc/release_notes.rst b/doc/release_notes.rst index 0350a30..2f30b08 100644 --- a/doc/release_notes.rst +++ b/doc/release_notes.rst @@ -2,6 +2,27 @@ Release Notes ============= +If you need any of the features from the pre-release version listed under "Upcoming" you can just install coax from the **main** branch: + +.. code:: + + $ pip install git+https://github.com/coax-dev/coax.git@main + + +Upcoming +-------- + +(nothing yet) + + +v0.1.11 +------- + +- Bug fix: `#21 `_ +- Fix deprecation warnings from using ``jax.tree_multimap`` and ``gym.envs.registry.env_specs``. +- Upgrade dependencies. + + v0.1.10 ------- diff --git a/doc/versions.html b/doc/versions.html index e1b5111..f5f35a3 100644 --- a/doc/versions.html +++ b/doc/versions.html @@ -109,7 +109,7 @@ function updateCommand() { var codecellName = 'codecell0'; - var jaxlibVersion = '0.3.7'; // this is automatically updated from conf.py + var jaxlibVersion = '0.3.14'; // this is automatically updated from conf.py // get the selected os version var osVersion = null; diff --git a/requirements.dev.txt b/requirements.dev.txt index 12a41dd..c2285e6 100644 --- a/requirements.dev.txt +++ b/requirements.dev.txt @@ -1,5 +1,5 @@ -jax>=0.3.4 -jaxlib>=0.3.2 +jax>=0.3.14 +jaxlib>=0.3.14 flake8>=3.8.4 pylint>=2.6.0 pur>=5.3.0 diff --git a/requirements.doc.txt b/requirements.doc.txt index 3d89ad0..0c71a9d 100644 --- a/requirements.doc.txt +++ b/requirements.doc.txt @@ -1,5 +1,5 @@ -jax>=0.3.4 -jaxlib>=0.3.2 +jax>=0.3.14 +jaxlib>=0.3.14 Sphinx>=3.3.1 sphinx-rtd-theme>=0.5.0 nbsphinx>=0.8.0 diff --git a/requirements.txt b/requirements.txt index 49386f4..6154c44 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,12 +1,12 @@ Pillow>=7.1.2 gym[atari,accept-rom-license,box2d]>=0.23.1 numpy>=1.21.6 -scipy>=1.4.1 +scipy>=1.7.3 pandas>=1.3.5 -dm-haiku>=0.0.6 +dm-haiku>=0.0.7 chex>=0.1.3 -optax>=0.1.2 +optax>=0.1.3 tensorboard>=2.8.0 -tensorboardX>=2.5 -lz4>=4.0.0 +tensorboardX>=2.5.1 +lz4>=4.0.1 cloudpickle>=1.3.0 diff --git a/upgrade_requirements.py b/upgrade_requirements.py index 3d77dad..0576d31 100644 --- a/upgrade_requirements.py +++ b/upgrade_requirements.py @@ -6,14 +6,15 @@ After that, just run this script from the project root (where this script is located). """ +import re from sys import stderr -from packaging.version import parse +from packaging.version import parse as _parse import pandas as pd kwargs = { - 'sep': r'(?:==|>=)', + 'sep': r'(?:==|>=|\s@\s)', 'names': ['name', 'version'], 'index_col': 'name', 'comment': '#', @@ -21,11 +22,19 @@ } +def parse(row): + version_str = '' if row.version is None else str(row.version) + if version_str.startswith('http'): + m = re.search(row.name + r'\-([\d\.]+)\+', row.version) + version_str = '' if m is None else m.group(1) + return _parse(version_str) + + def upgrade_requirements(filename): reqs_colab = pd.read_csv('requirements.colab.txt', **kwargs) - reqs_colab['version'] = reqs_colab['version'].fillna('').map(parse) + reqs_colab['version'] = reqs_colab.apply(parse, axis=1) reqs = pd.read_csv(filename, **kwargs) - reqs['version'] = reqs['version'].fillna('').map(parse) + reqs['version'] = reqs.apply(parse, axis=1) overlap = pd.merge(reqs, reqs_colab, left_index=True, right_index=True, suffixes=('', '_colab')) need_updating = overlap[overlap['version'] < overlap['version_colab']]

J?-Co?K>Ha-R`%4(22a0=8wgCZda zkyTATAT$jBDF=vH40l6Rx7ibowGpDvz|NU&Su)sI3$&8n8nDqhIY1Ok&}>7$nsFP1 zn0GF~h1hy?+#JsaP`~Z43ecSfz%7^Ki zIYtglN&cJ)jh=Ac7#mndEl6$B?wos2~qXj&+CF~T}Z{1cs}P{ z3}^Q*3HlgqDVm~6s*O5p4J3bEfVO` z;ki!VCvl6cETln8ZkNo070-OhwRG03Rh(wSN@%AoR&pQQ-*5tj7?&wyK#+8gF zlrvV$Vu_6jTZW0^BFjtTZkR@^yLse~a>?zRyDD1U!Ya#BPj%HTHN}&+rnu6oIRwN@ z)i4np>BY55auyE?>@)R=jIQar4Fz2|q4lvhw?Fpr3VnrYC`T z&?&|;bnOfi*EGLNoT(EKj{u)S_B;_pWhKn3BN)T?6$kp zz^=8?tya;i1aSrq7DLnqZIf0>sGOnvrt#-Gkp{|BPZ8*|Y~7TF*mZKqw(*52h*~5Y z^1LJcMmzHzoHM}}O7TRen=uu$`P_3Jf5nz`_g;%DWmdY}S{=z?ZvdDAZh@AGNAT0-+f7H6M&A@xoTTtroI4UJY0jj22ZNu(8r2d+} zGL5RHh&Wg})b|Q?E!sA2P(`%9AD}ho0;WLH)RDoUN5zBZ(zvFYl~^JQX^6g@WqEA1 zbh|)qkb+kjE!CWSELA{&#PsZvFcn!r1z6V!(o)>f5kh`=3R#~YT+1Vmoc0fkUQ*=E zQWZq1rGOfEXxzlI6P)g^7OCWQf3Q{UU_@cc8*~CG`=5CPQ4$@evB_o^Ft30&f|`<; zGaTkc@>*uBaTQzSHRhp~N#roW7pu2G(4v4hHTi4lMf~qCw`Be#1tyciqGIXCL>1K! zSe)zI_+0}dZaoWCcqD5KQWgYYocWQnIZdeF&ae4Q@PF+vsi6hO&sE+G%G+ zGEYL&EYO;)cIw7t?z-pL)|D01vh-{_h&l7EIL4xITf;26dMj94o4=zj-UCFgAZEQo|75-0I@#PwRoL%Tx5@AxshJaI)6 zt;i8=QAiAE)a_b-UIHSTLWo`BQz4R4H|4IWtCW~C1!K&WBudU! z5m!H9nb1GtHT+Xx!NO}Apj>F*sHyHpPn>>}+%U=G&upx0nxdUkNw%(i(-nw>9jPrF zQ%N+|1A_im0%%BLOPSG8b+Tr2HZp>(0aY!Pi7-?5BWB7C$p? zPqN0wej}u0%6m^9u+pS1dYM&A-{sD(lT@A>?h?kLFTL}u)KaYQd!muxr+}`lKd~ZC zVUl~P@9aI}wz|@vt}&(XlGSQs2_S+DGaFLUZ^osh*NDHYJr3T@nMk$KFX`Jynjb7Cq_=R1D@5gSx5Y=Kc~{cNyX=n%B^y6>q}bV&*9O|A^(0KrTl(hq56J9{y6qn zuaY&n`*+4`HrLkssD#a0)@4*!r7fwhQNsFI?Iih}5)HECbrMJf1L`5^kPDmrxsk0o ztuY0aJ;Uvdk{L!xN~$-7T^o(6WXkf zhA+Q}$`?$?MIDe5!M$MV2znFqZmhAJjWukGv4-nmcc2Fb!qfn8WrFpCCu*;@NKu4} zf?(X)DW8qg{n^NfCzBdtlPSkMO+g}Cmt|_J1FezpUm{2bG zJ1W;V=+CWn>J<=&pQHmj!jg#LLa*@D)ySUz%!;h8M1i2uaI0pl1Ovd&*4T3N3<*9* zGXnrbn*m+<49(*-jn;9tDcjv?pE%7^qTL}ne`IYk151?T^66D*P{B0Io~%UTk*goS z@nZpnIelmMiJ5Auo%{7Zu~c%rPh=TsjYQdon!32V&3)-~TcAj-K+sKUZ*AJ8+QZ>7 z577#~NbX@Dv_Q#65=^!f21afb&y%WQ#jZUNHf+&~VoE-oi=l0slAHTO=kD;cobokd zIpMpe`_F22)=1Ud^qQGJn-i>tV@@yk*)57_S7ZQ21g;5ctS9lqV31wVZHeEVbY zm{8eJ`dsYnwW$_waRT>dN*De7cKb1W%OOcvKsTuzb@0?fHGAa`lg%cX_gpEVMKhcF zBZhZNbxb)dZw{y35w2sUfa)lS37@Hm@9Wg8bCtV)pwrj%iQSUK$an*r(Ie?!Fu9nu zAQ=2^+N=JqTf<2#gZJw#(#x zX?soitp2KS?fwM`E-4-4WweFO4K0d8$_Al9Q3?K!!mMv>a=jmoNkWq(R6wwkEafKa z0V11+6LDUJt{ReR0*Z4@d2_W(N4B9b>Zh*)Zdt0?CI zCuLY9nB+r2@}GW)I0s~((BHL&(`}J#LY+QFNlNdc726VulRVD-fJh}pY=7FW6idLYe^TlIaS+H58TgtFsh!O&=4^(mbFke(|Y@opH z4DKJhXFdOo5zKt&Ptju>_Gj(KW*X%&p4M{q69|=#9Ed_R8YYe&3hhkcz~DyBLq^he z^RLs^T{T5ryBQ& z$?NUIBXWcK>(BoxY2_qqDNX>vL{h{4wS@(gIj|32y^${`8fr?oWP<#eCwV`uYHCt% zRz8HAm8P*=VHHvB7HfZT1E|cfe9hb>NG4C-`-1u^3}x@HXOH-?r-?N=u+(a@lb^YG2VQ9tF?`BeZ7Pqf4O zS&F4r8c=WcJ)z$0p9DA2LM}cy%+Pesd7he>hrXDHCyj(raQK{w#Uz}mPE%B*Qv`a0 zi|-)3fkA-j3J1{{Rfn5%?w1cShYaC;?G&ziU*Ik+LmTgK_pEb!+y8-?+uI-vPUoCQ z3zN*N$N|o^A;+xwI){6nuXDHu-&AOzP>IdnW2mB{d;uiTig?5(ivwR42PYW0o+h)T z3f^Z~1){L9@B%Gm@K0?y zmuVrI%zfYX7?$#NOzB)X6qYkhqg762EjYjUa(mrm@XnXPyA#Z6g}y;IRhD1KvaEqh zRFhEs*g&VxX|Q_x#*-B^47Dd|3&wXy-X7vYRo{SCsE}V_F%{W!vck~QSVWsP*&O+@ zfwl8FdWcP3+GPY>(Z4MM37V?FS#FK37xUfX-oAzHAx&h69qkGK{7PlfTA03{_bq&0 zj#1B-Q5myLN%wZ4kEDE?t`q0oz9$=K7{a}$$S{9^EcrnK7%dAJE-Z1wDLpj{p`-}k zcpTWt?7=)d$~dJJR`!#srUo@kmNZ6>uy(G99?_&MQ+8jz>ySYY8=lMWFTQFaT_K^G zr);N~u)c$8YtZX*(Y^i9Z8d$Bmf_xBxVJy({Z&%!ex|BvgL)OA?9tEFXsi+bNOD-^ z{mi-D#JF_4HZ`s0?>Yp-diQv3g6ug!_Ig0}OptvC$bJvVz6o;R06FLZIWR%qI6&U? zfV?q54jmweJs^iB$dLo&s0ZZ81UYtq9QS}6PmC#KpC<>_d2*pZ4$OIS;Fu=|)_G!r z?A1VAUD@mF%U-QB`wp1>9+Z6(;O6L0jbTmw+@iEJs@vQkarG{cRe8QGzeb|((K*}rJf3Np8RuCS7=yi4TD^d zqGSKq;a6bu0X!2eP3oNR4)*$~QHA`G3T=`IsrCXbpd9SIcGf^{FUDE{`=}SxhN!vSN^u?BIy=htH}`jnk2e!-2U= zEfdrSt8~XE9(HGgDsh71d!)^tZ>J=x>itf*a~-5zLxe zAqs*IW~jiiyusUJSO8j`1OCj9Ih(CN6#Eo{ObM|L5&5U%z}ly}bN-RPjmraYD=G#}yS*kw&KU@(haKR{@b&f~{UOV)A2q38p8d1N_# zBy=kZehB{&0LYIfC{3=n9+)(_V5MBf_t9({obic**<0dbRy#)o=sRD~cVrSV+*`Tw zdRVJs--Lhj+7tfGYdWT8@V(f>>KeV(S0edy6ZOy+74|qe%(dzbFdx@t(*hyT5BELM z5BE>V&Jf;3CG`7MzMYAD{!PRKUqsmWReUiOhoa0hKeXn;;c-7Ax+aN4Kuz)^-_LUN z8cXRE$_~#eXE4eZAQMsd<4UMm6a8i z*_{XH`e;RdwxdemzwyO?!)t})IOTc+CkhB5U!rwZV(N@J1qP&>%Cahtd?)x3Oz@j! z_N4A-048riFomYmRg|o!(-ywR^bt1|^boI;`|OB#HCwgJmIuevJ{N~$!+oN*6B36mXUq*Ug%?k^Wuo1E zH051fJ;gC5YI=xi(rm+7v<_h}#B_Nf{1eLp-jg_kUN!K8j+(FYT|~eC47WRItodvM zK>O>@|EhwE0Prw6L*wCMfgd#9--v%1rwbqC73^BUUw{55wg(pQD#(K3EXg9CZjk{8 zs0X@!9Gi{F>QxL(@|Q>k4A{=}Hr2Um=kOif;&dqjabV`ODI zE~Ht)4xBHg%AvBbe6t~dZk`br`Qr$8MB^G(obpp_#F5(eo>AYrtL84>h=a z7S7TH54BE@U2gh{n>PG*$q9}gh$x_Eof2orl*8`oQ0f7c+aylst_5F`hPJ)jC6Qc! z^fw;C1Cr$YlQ4`2lRx4jTm9}6rrHW0y4l>(g$XAhl@yT?)L{?>{{gt4e^q%M{t&*l z0|trh_Jgv(FiB4i7=hazHC#th(ZYh3l}zqvnmV;OJ20$9&~p;RtqkRBrUUK4yHV7w z0!E@?sLFsklLnZOI%R+yb2a<`wT#nzH<+afgSEzXgCR--2`_28A+1apBX8_rpjv-; zHtYtJ8$h#{f2`%pKh)~wLz}&PQ1cfJCk3mBjiVj&Z6IO8{_TR`IuEc0)PE#-t@@?J zP`BhT)d`Wk5Or1rgHqz+dMC&0u0hjiwNc}tV(QQUgc}Q9Ms`J%NERX>N99Zgg*Qc_4OWa&u{KZXhxWBOp+6Z)#;@bUGkVd30!R zZVDqHR%LQ?X>V>iATus8FbX3eRA^-&a%F8{X>Md?av*PJAarPHb0B7EY-J#6b0A}H zZE$jBb8}^6Aa!$TZf78RY-wUH3V7PIyWmoukP0bTu2p&~MYpX1SV- z=ksX1`ttHLU2N9T^6_y!-Q4NKB+Kq_{hZO)>FRY#hao&w^O$4|68 zFdgGn-B5q9?VoO7M2-)F%ueCi*3vzk3jAE4nuDbk4lLw{e*HsjB}&%jvb9!R$GTTA#y z&W>}I?>!M6?K5YwUk}y_Kicl1JuOYbeS3s!oYRaFK@k$sW13|XmY30^toqr1n(O zG3VrDx3;$OYofk(P|4V*k)QfbQef>DgV}e6f*`9M6hnpOe zc9*IvD3veMjqKI`Jw?GQDzNdQ6TDGX@_Gu`!3cL%7M9TcRoG7TRNYRfr}V6BXLWZI zoz>iqbyn{VL_XC6%|KvJU)PU)19RQY&xs*Q+q<<|>AqHKg}|{mn$}I&$zvmU)2Kwr ztGKMV6ZoE%ht>qq4>mI&@8CpQ6uk=!q-5N|E$BOfvgDkbAlr<((|5PhBAG%|dJ2D) z1+n?q8n&moccKr}WG>^N7^PjMEDkd#hQ%n+t4P80f*dJ^>o5d6(b=(J9R8d$p;tS= zoTE;5GHZNstb>YUjVz8eqBv-l*~j;o-ZdimNk^lzhyS8iLcK%N5)j%|sP@onP)gRI zlvp}1OGuVbM_%8pz^bs(I7#@Yd79g6f}L@fk3GC<`qlA~Q%EGPjCY2f9*gn>L)1w3 z%)~O!)FP(T6Vz2_Qq7?ndmyU(B5MRt&G{7r11*RG0 zj~UtDS@PBwve(Ec-bFh~l>HvnFA47#AANP|Gh1mQk#~vIQSC zzeJOa5^D?fR+!0vGr=-a(&U_&FuCWGoFV4}h^d}3NI=@1(%g9q)zGUEg9*78Yamj? zsC-WoYLw=(v&X0rlPx#BT_3e2f=2X1ju-`}yYwSKp(=@Kpcnyk?D}m5O(IbyDMRpj zee0d@+!P`Zk5ykB9i*up6{lE4M`O)GRrC)v=Ed0ONa!0f@}xQzk<5JoM}z83NR`=< zDk~2pPcqxf$zEET3F0J8s$)bi#&v*5V_E?vbhQzbCJ2-r5!sgN)v2gVQE)B_V;jLi zIseHbk?wPnMRlC2&w$dL}+)fd_hRhcI{TtuP$s8UQd z+8j2b3bjwrr&wZ0Z9(>z9*v>&LL>sMkoD?j?SVLRWe;e{a&T}?$j^|!qR_7|z zEU=4nK1dJzFy2h{wxqAimsJR_k6W#$lcnD29w4)L*-S$e!qc$%_iXXF#3)SXo3WO7 z82_;j5@=;-m=In=zd?|HjPqoZ+IND$6y%RbmL*6b^^2U39}5Iu7YUMlS}rzUk?bGS zF{W8YsnJoJKF3$xV0cCNbSHx+^}n6amL_(gt?el)dPanaJQ! zbb`NgQWU^w)3~&oO^N*GKI}7RA19X?WJfwGT1R+y9dkggSGun7(vT!+En*!_F$V?#OMi_leb-3@M{vvZ#}V?SNL+)T9r#AFiuzU$7OTTRcPB;Dyu6!> znV{dsUZG_Rh(43^S$A7%=toS=>XsFqskwMgGIg8)itAo-t>4lKFzf0pyP#?F-4iL} z0|iI=NF@e_oCk^esc%qB_HObaT_;&P$@Gopp&6w1C^uh+u&Q@{&}->12_~%;vwRKY zWM*fwYd|M{8OLftD}i#)vi~Yk(DVa}t*Cj=^8LK|1d2=Bi$bxru90e(`fgrm%MXXp zP*vpd^1f_PJ@;X}a8-em#WZP2s?^9|^B^`btF1cdEbdSfNV%YjIcTjk$GMz#sXx80 zwy~N!VpP^)Y8L!3-4FG$Na>c-*6_0RSGe zp^7Yx(=vp`rx|BS>BAE*IVY(gjt$*T{EcMMIQ~(koXRYJb#0S%Q=0?t*vf3-)ISr) z5heRcf-B5ktUcf(cl1_195_a4qJFN@taPkgaJtK={>aWc6Wa?)K&>-j*#$D*FB#i9 zCOCblYUT)1ZN)bgPXKD3UQW0@PXj5~+P4g_q0|((q15Imm|K%K1Vq)cq1v7WgEnek z5CEx5O%-6OCnUa!Y&tM~_?=V&*3Dhf?z7rnynf^@vDblqg>_K+*MaF@Bh#-;KI8tw zT41W;SOC?+9mkR#gtB%Dnya4vD`T$!Qjdb}p|^{2n@JWbW5lrnaf=6QCNo-^E#xM*FlA4>+Gz=mq|2XS>_mv_pzu7wUToOJ-DZ^ZfKgrnVB$D z0>NhUb=kS?&VMzj71DA3^z(?U^4hqtHsT}XE(xI;TTcq`&) zpsuie&C<$QDzqhBXGi$sl4*IJ129Rq?>aavt4u{&F4hTuS&87veOS5t3d#j z>}%M*XyT2d9{pNE`voH9K`m4Zuu_T6L}O`~G>BVAb#ClSv$}0JySm9IvQJ~T&E^4b z$R0sr>dBc?n*@NY+ZkLh)Gn4_0aW!gKLS#KY*}r1ULP$D;)9=l!9HiMH8i(^9LpGi zcBy&N{m*TcX6lz)Sd=7>so5atj`*m*?_^u9KQXx4 zjr;hrm~71bC>ROH0PI0phE+Qyd%J>D`EO&~-1&;>Cc3@E^so=oIP$fq?qJ8^D?ifN z^?A{=2PFH|drkNbeIoXC5f9Ym=GBM%z-E&%nE?+ByeX%4VCzVqJ^0$(CgKrXd91OU z;+g#BK5T9E*~DFdaNbqpAe@=g72av_J0R6-%{J2~AmZ}Z>_XhTG2O&EOJhiW$u5y{ z$g?}zi6iuiDsOI(1g+tDy9Q^}8lF+E9jmV343w*up~w=F<$FhaW4A-R3fs9h??hZT zm2?8*JXy+;-ev3^%%UO;iBuJ3RKgGeXI^sU`GzLo=WBz(@DmZQXaO+%jit$R$pMVJ z!|n+0?y&7p_iLaI2$=m1g22F)QbPhoIp1t`K({_YVJxa8+@c5^ULS2e@m;4=A@aa=*=OH{X<7X zbjZk#AV^?D49}bA7(xM>5A--z4x-dmED!8xRt&EC z@1s7v(npP+|9F}{MGwoT@oW)2=^4xQK`)HX^7H==qO%%*2kYoHTc4bWCXI_N%d(rD za9sW53huhW!4+QZN@yMf!aac>#JSvP556Mr@XV4BGy^2^go#J_*oIOV#C0v4i&!HI zRB~1Epu9Y)jd=oqO4A4M_S68X-YxAr2YbLZ29(MEmeTjG1$!0dO@?u@s@MPA-0q1L za3AmU6mU-?JOtEQ+UN0l8iKz(K2BFy0kgZ+eU+wLL)qP+S_XeXgM2X)@It1AuBY=y zAO?7UQxj{N?SP2qtDgFm?|lK8H*Jo_43t0(zNy(3 zgj73%nodW+o=>5(Ty?7I{cMSXpR}n9COZZq4{k+waMa9K@DFQv|K0S># z-q}xKV{~p>?Z8}iODBO!pxW2T;*MnwH)^wcETPS&JjinP6*0=U5!nisRVDRYN51Ei z1dZlsbjw(VWs~&n$j~wC<2L~?<0=7Zg3j<%Z92ol`f|CDQaelJ!4kt{htbN!A>Eas zDn}w)>qm5~vNA2QQ?T4XI*f-Z6zrV_i*TwIERz9*1}Q92ZPmpA!8&phPY0@nA0Z_b z@E~uLqv^1gGf;~O<#W0x_KSx6czn4POr#+(2er)L7Rjlg{Eec!^01a1+JXmYxzH9H zjV}h1*N*Q7OA;uNgNd&FP8}R*2YbytG*%P@daR8nAj9}WQ^pW-mOrab8J_bEm?Od9 zB+r{xgxMe(Fj0+eBZ%NoDglap;Mzdj`9p{a^AZ!x@ zw5{bj8t+QV9~rkhr#J~WAjjX-ekn#b_Doz?0NJ?DbjLV_B+&R5E*&mHY{cVQor(1g zJ6nlQ=3_B%Et$STHJ&Kr`4}SR0 zDq2**=^Kn7w|p5c8m}j_nJw3uNsN^dlLO)I4JQ&c zS9v>V^)BJzeB*?l^Q$wg+BrUIy~z-Z>x<@rdFArm9?Q?2K-WGGFHn9o=5{B8oxJ;Y z5f5y^0^$ry@iM292E)h{yI=TpW4J{6@5*Z+H8i{Hct-`-WJm*Z>-H~;`u-aBUat87LLz=qvk3(fCP$KA`Bj?w}J?Yb!v=eQ>Q8`s%psr2~Az zSXYi=t|$N9gIpiTpikwz_NIdY9{)H~1+;yy()ghKpc78<&ziAKRe3RJ0eH*V(!`3(X592X(@_oTvwvGo1nM6NxI$`-vF9zN@ zpo(Jsm4g_ye%B+zOt6f|A?z$@bv^_XeLl&D$%7B44L!Y6CCV3kNOTHi=HK+hXz~F%e^; z#6+fi@vW#ZxATYN)Pa@kB>&>)?l`~;W zj`v=)$}v%Pym#m)o!$+5&_^OlB-ZH_)0cO-$n@b=+-n5fv8>upVlx_*3ssb$wups*vahT%#+)8ebV)D=|Ho(>Jb*b9n2$yI4qFK;+o%Yz^yw zmlEO@C5^cJXWK(}cGec)Ar&#<{?FUpQ&|At`=3T!Tk+!R%8OC+I3jS9n{VyTZQY z1@V7;?LWNp@)p}cUxPiSIf`4+BYUH8vJ&1)mL~Y9`6Y7R!R@cmRMtS1vJG2>d%VKJ{GQq0JTc>oSpD2^?aTe@tIm zR<}1%KfLf}R#YgHt;uhHP`~WfFJ(NgA87%O`<+|}FbmW@-@XSxRQURSWKd}~jBjCX z{;lrzb=#1Nq-h zbOY)ugi)mLl}5MN<=P)O?|m=PHS~eV8`ZSMDUYRXhJfEm0ik4f?(O)tJ$Y^LB`?8fG#St5x34(wYk&y~3q1XOGJUT7?D`R_>E>nS8yqS>pDm`I zL6^^y<%4fv-$bh!i+z3CGMUk#-BrGua8`IH2Aon~AlE9f8v;!T&y4fUgA?+fEt~Mq z1en!pOrEU~kMCLpcLJ70SzA~c%26NXAFi;YvN#XGKCiTINI7~d3k(Zyn`0#?y1qsQ zi|5VF&M3NhXNBVJ?zcTbfhE(}?yuT|j!AsLl39iW?aszM$b{l+bV4&ECt_Y(d{|mw z=`_ZJtg-(PI5LlS^+`?~T<=IjkXDcK9-u5$Vh%{4S%!tNWpgkG#^7LTj&C7AIpM+8 z2eqRM-7}>nvJY1vz+1*OYzTp59d{J?u*jNZzuv$H)Mgi)Y7JW*FCYM2m=QzSGMw#$cr+T*Uom z9Ht|irm%09fa%B%k%uN{Jw)ED2YRM8{+V=D39Wu@k+AA_r<8Zp9_X0@s-J!JxiVi`i47;YP-nga>+FpVy0YEtpzGVc6uNlsrLZM*qqH6=n=Uay^K(+B`7dbv>GNcbhF9dh>DWa~3W^qbnXLbT#3rmb zVbIOvFaN}+ck}r7Pa*WLNK7q>INs`d(D)R)w<-IP0qGv3f_+aDs#Y7`v-7q{Qtwjg--2W(XVj7<$wV zVZ-D9p8zyG_Fn_g(Ab0Ok1=wQ7_RFxEVk>bY5D&%*<%xq?>P;R?DA?D*X0=))m<4h zxUVrXxW4AhBKnCl`#*T}S1cNoV~^{JzTL%fjHZV*?HfU+S%!e@%Rs#l%6K>D65$wU z$9h`sUX|-r2#DOE-%#vtGP9(u@<2+0;sc%-Ib*n>SQ|?zV5g{xMb8e^PIfgHaBgSs zrRUSdm(5ocii?w$ZkI!SB&u-qA-_DJei(t;K@*%7vxMfQdZ7<5-~VN44u1P}|4t_xINJ5bxs#Nm4el`|2zp3qlo^Ymc6I3I zC+iv;-F^^_i-P6}$hlIVb0V|B>D$=lz&#p&Uf(tO zG%q>34VNU(GM8ogT&?~7oNF{LT~562T#iJar(b4^Xgr@Uzek&|%EGWE>@JGW^X23> z5KyIA^3COKfbjiocy+tw6R}&3c30MhQ7&p~H`u)=g0(UAG+zJaRTh)^)NXpIYgN_T z4;k$(B2Aza?m+yS1A8vN#)DvY*XE!frjyn55td62)92N6GTuxdyvpH$ZY$67?R#l) z-yR-VUYcuJWo6Q9k6sZ?7Z318G|jTK5UJ>Q-`KkpdH*2OJOO)!k&q0#qH)DV`bJ${ zj%!y>{BoL&trvWdD{?0idsCv-X7=#xiHa9{saYGLFrn)}rw zX^2c0-@KZ^`OHL0oM#yh5)>VrW2dwoQ(n2^E>~XG5z^d6C_8`UrOGqMBvSW696}T) zE<2>sADMp8_*wQ#>4!h#@*3s{EhkuNmIol9>EUe8$?>tuGGNjSxbSvWr6GL*(^m#z zzL|qvo`AXpaYgck9n-(`MRa}*XSRTkJF|7P`QzE{W7#qNie~$qaXP(R6y%va`B4h# zWiEhsKXXCU8X@A6EMq;o&(2?$tDi)N63Fqce7e6vj~SPqTGb(>@dVs6Uv z%c}Y8X(r8~X#700tPGItttXLaPRSd^58QKo71wuj6W8OqIYHo=*fzW_la%>!PvhUc z2D+!|)92}`S*7;~KU?^PgUv4F6c27txu@#xZfU{R(*E?z!v%YhQ)U(ZA?13p=HvtA zx1)Y8Ke`Kba}#YlyzP?2NO=Z5s_w@t>2jd!?-lL+)D@~aJ86}OKnXp0gzNmPN~vdu zDaWVDVgu?m>a*~V-YqWk@t(ITL8_$>dZC)+N1>jipf0whx z1zrQ`%@W-RB#LVUn04CMjsYnK-oUSywsEplsK53xe%n}X=3w> z)d^KwYMxzx3-~$aV!* zEBvVTUw;JMp```rhxSq98J!9}QvX1s60(KEazi=QrnR%4o?9xkU-iXw`mna|t8oxz zpK|nk(kle&9u&uV#a4ZP!%Uj}Hubfq9{Y-JDRqwUH+p(!{Qg#Br-HtLVk#?XYrjw5 z^R-sD&KFB)38nRDa=&-ZWz$*Xbm~1)j;$5iVXS^Z;KaV!H-9-vwPSn`?hIL_{lS{-W{~3B_z0j1lKi-agV^t)2^p(?H?Bw zn)wGegR`ttp5c{OSWk83V%IaMsvVwbNb?_6s@L7GLRxM4#)YkCDx}%x88WBuo+0I* z@;^Ca@O(TI-ZL<#86|>(%1}9;^-Q~V6?-f^LkpTG-a#RiTEHr`Py>q0a7b`a5$Sn| zcem5HinWPbD{Tc3zxaZ+0k?aF-%??3X4Z6!xip22vc<<{OHgt8zvq_#lFZUAmkGUl zF`!YQc9zP|;G`_*bX(Qljv%CRf_k}x6bp`sdM71m(j){#zsoE$_VZRivv*cOUWhw+X z(h19Rs*RiRR@Qo&1SkZcD`^CXpvd(#kzoEoc1G0LyNH~hE+4@$p7&l#CQ(N`FTtg$ zE=qFV0jERPZ=EoSyKEJLClb?pm|ZhokM)>lva3i%39qmUU9j?zRXM!6JZ4Ot$lpJ+ z6p<^Bm74J)ibC&vByxDt`&0oSq8FU$X#^5OJliZ+hcgMP{VVnZLCHRyR|TfCnu+mw zzX}-sjiQ(>BRn}L8UoK5d#ws^oKMru*Jv^yuh*^CXkWLv1Yb^npRG6kz~gwm(Radm z6N{xj$>kk>=^u2x8Eg|hEy4rk@GY?rZja2D4`#KNqo zXUdPM5SRg^wtA8Mq}p}!{5T(fSx2A8>#5$dbK4_a%``2Lx{ESezkIfLx1IDKo9P;d zK1?6SFY^tInN2px*wn5XwV`3Qkp1jpGaKuxHz5*V$KR&W<7_dWtIcF!^2-Fye49=- z%awJ6>SU+mXK+QBJw3hXZ82bSF2`J4smzy)FF5jP{QNvye1S1?)LcHuinpGuX3sKX zLA3EY0Vbe{Tu=Y?GF?nyC9rvUo=ym&`9|Yff*^c3iSn2NCk|k z)8@m{AC~q~-OLAOF;(m&N_s?;wZ?!`{|hzJUaPFB=+=c77&?TL?YiD`4k-K^fdtK((-&x*n_C{RxX?E{!0GEd zA`m%`=oi#UCRI*Fp&Qsj+6a=qoD39ZmX zd0H@JcgNBMRFK~4<{4WZR%3cq*MRkgvi~|qclp|ICcxj!0~$d?wzh~gZ1Yi_)N^Qs zW{f11`=<6BTA@dh=FZfbFD+?RgS&5Zby$TJBz`4(Z}Jk{z~#Z8)L|8-jsp8)by$g& z2emEKo-O9P`&_9%m!r$8c1Unv-LBBv;1`9>>}k4u+31s{ej;t+qEqj_qLF%)>8MsV zwQKI8N4r|BO~?Q(f!b>EOotABq4%_mQuTTOAaP-?b#kH(e9NzZS{Lr3mo|&>y1f7d zZ@`P9%J&h8)qWgmeb;SMyMk`C)IVlv)nBS+Zj|bsF)*nHx@gH>H-0tF=KS-k1zjo0 zelVx+tv2hgca8q-|B!8LZS?Z%zM-`kEl$R$cC)7*A7#62$z}hf~O0^rq z7psayb%xi^Dg0>RH=66fdz#BKCu(2aO<`X~EBaAzs#mvfNfKx5rd@hrqPFT`lx#5U z9fYMjN6V65+&3-t;rSnX6+Ux!zzzi5=UX2k>yg^B+pKUvxw1A6Aly!EI_K&f1rR(E z{)%DL-8n!kj}IizX$A-N(}A&qNDNE~axC7{q&$E?H9R0v$?1EVCm=*1D~Z5X5`m~B z0$bVwSK0zq+KOUe1Xn>ynq?qBZ6c(ItY~qZy!)bZkadoCH=%2r!E?|uPwg2vuh&+6 zgP#C_`CitLx+A|EW9l#O$C>7faojA`-@~#qmD+$%-|8a1(yTC7HPm^C(0W#X zg~20|BoV1UvR4q4RJ7-;Dh3cdR%InC&MA`f$gEPHo(7Ya7PJ1&HF|lA#pVVT_3-+2 ziZmIcW(#wG?0E_uqEXMH10>8j;piYM>@Z4|P}d@bNh$L@sV_(hQ_>#}QCvny&(n|T z2Tg|4e9hT=KD6Ax3FT66h&p0~hNvRqQboW|r?&bw>vDj;RZXVf2v=lC|E_l6i9+2$ z0pnKW{h{{0EeEKO6iB6w9Dh*~oSYm3tNg|?s;W=V)O`eJ=qB`t7-#JEl66w%n3k;l zI|fG8DT#MdKsoK=0Sd|7M?Bq*v!hNX22^h*FkGfw>?63^aS0Sn)z)n|q}}X8sm5`I z<85FES}<@u;q=JfD4fzK+n`v z-KZb^u0s^%eRn878=KAWcU@rSI`%fd5c>04D~&?WZ``MYP4d}b{3O)974)hpzrUWMror~>#_ zgy!Bezp!Q>g>T?8%_~3U2b%eYqn@?!A&pD#fGQU}1HXBNoBr?%reCptC3%uj?nxAW z0UtBQxNmZO`F9QiRjk`=IcYc^Anzv<2E6FL2EPH zE1-9GHD|t&uvEPcay8Y=1}u3tU$Y!lDEE%VvzKMnw{54G|iJ60qWeobUW%ZmFI&YG6K;k?I~ zwYmY$FQn|9I88jmGS6Aby4w1NGb`*~p*Q^G7f!iZ^a}anyUOw6`$R9w)s^Qw^ZOz7 zOsDs%fC`ASwEs{`UtV$OklwZ?(bvm)h2(qRaJWZoUZ?vdN9_gT^gwfwdJgw7D^5}4 zcGI=z;}%LP)24mG?$VD)AF(9WPw`lvtK2U&OL8v7>7BIz4#3Bo#5?N&S=}KxwCrb4Gg8LrzN9 z&KfT%)yE7XR8-;+h)3Gpq4Gyu#WW->0{u`abGN6I*_)I6d|Ypm*Iop_tDeU-*V5tt zRxoKJp6=qd>gWw#rcXXx)s)jdI#q#GR(t3?>j*=t(2bNi1)?AL{Zc=}AGoEipD(;F-Ab#2NY9zvl7db)Onbpvl!24=hYmfE7J92PO6m_n8`Pb!J|{7hYT#&fCo>{j#>=4+HBu*VOYCS>pFJADUe*%u zPD5jI45tKBFAXin#CrQ73J+nCjZ)oc6*|W?4#2xe<1NNT>iMu*+KJSC6wZ4QJjG%? z0);DNJozocB&udNk^(^57tY)6F6$>vJJzl{9g`Uc%`Xgsc1B!erk_mL~dgyx?b_ zr#tqqidLQV;)e=gV~=U6yiW5fA0Qz&Vrpiurp-Y`Ft0r@!N%5kpC2F(9Bqcr``rC> z<7&fCsw|SwVe&amc1f@ZPZ>|k6Sj&;!;~oR_Mz*WVfOcx-5qKj4>=*mW~=5#RJpt8 zjJXrvRXvltPI}*CJodp+&U$UgPK`fVn&ass`RF{&=A)r5utg_8!ogYaqj>}zUJ~&d z^%{;{64Ryzc8wZc0*`eaMDS`%4xFK0NvPSBa#w?2VZ4?ztI$I#*2~agl54V~p`*f@ zW^{;NJz(kdj0TMJ7Y+1af04kC_-l1frMXXQ{6^A@Y_o8?a83DJcj0!Hi-J8~F!XD9 zO$qyD^hyVR>#O$tLP~|I#X$Pjv*_%hrD{zndhOeOA?;9cm~7BAoZQ6Wk`7$UQO=x zi%uF?Y>ixRAL1pGaMEM#dC34?bb9G|zLfORD%-Y9SAXKA=GzVUiK!n0$qZAiw3KRl z0;g4N3v+2z*u?T)XH=wmZ}SlQBwXr4%wlcY=I==P$r?a6&^EUS1?_mS>FG@hX)?H? zETgN|JfJw&M^oIMKv2T3X_gHrr(VoO%3T2&QnlHSiGA>mob7g1MKv3?Q@|HS9YP+< z@4a;2x_gH}?_9rw^?L)-A)xmUGR{JHx9ea(UVB2v3K(~6K@#AXTb)|HZ<0D_5s;hO z={pTxTlTr^$Y-jnba>Fqv6jL}ZT!bhoC1fu`i7XhHFNylgj(@#y(U0W8D62!d8HAw zE96GXfAZojsk#j#S#PV$)Qc|hlf-)$biJj;&rEm!ga9TrTyc3$4BUFMSB_M_=RSwl z)i)9mHSdfQq=5M;&KA({~-8APC*hlbrc6C2$sG9lNx$uBeRA)G~W5hn2 z4=LYk^&)la8Aaz59;bY5{Qraqd@XmZe3?+re^%PdB+Y-GHmk~?B}!N zot9L$s}3L|7|VxIsV{>QWJkjUL*6(sBD@w+=3mD-jGlBw6T2QUC?r2%b# zT5$j~K;~5Fj-j(on(J9hRkCm`y<_CO-V`J!>OE+IB17~Ct-ET5$tp2;2P1~;V8o#+ z6Mdc_=NY+MWv6smI80Ax`7BVN}!=P%KG)80bi?NM(lEVIB0 zRpNJV8iD%-n<2E$Yc*)GGCiU*_}-}uZY@AvFnMD%cC9@*_A_Y}i~Wg^k^>8BF+mMT z=VghTxgc0f4783U23kiF1Fj>9L*uIxo-G-r1&%!LFz(GuSH&ejceokhI@>M_*Opdg7Zd$|`EG^ig?IT-c;#=mEi3_x$FOz8;SmugxK0RBM*St&6bq8=-(LPUqiONqei|1r%mQB@ff;j#xaBOZvl+#(CY zj^K7yvLkc*)^}5?&!%9m0(OgABIrN=VeReBS9hI#{W1CVzmxN&vzD0J^fg9vIJW)e zpP1MrhKlX)pHQ*={Sz{_1N}foC`nYD|NI9k!hik)6&tRuY;ko36P01kH$?k`m;@RI z5t+J1G|`s>;EJ!!V-jBROs)1|qi^A`*pscjgG#pdy_5Xxb7H*+=p4KiZnRYw$wnkU zy~`T~z8Kr6zj%X6wdc$I?!!)m$$$`4TZ<`yJBK)?%7zrJbRR_#ya^rM6kKdKZ+ zK-;I#HG~#0Lfz;9e0aA95Ia(`0yxa*M4cDH{JBb~YrR1AQX`1oS97qQS0lhu{a0OW zY%3i1;Z^lN?}6+$9?ro>+rsqKp6P0X`nWNeOZ0v2PZSQO!nrux#nId!iw`t@RaRYd z^4MnK-9mJ?qvz{;e1NOg*9$o3!_7zHDlidon%Ygy`pbK}v-zU)r1Ld?#a;Z+B4F}q z8(n7dw(RI;613LIBeaBlmFpmRsDsNB)u4WeF2AkXxi6Bnz5lK{NR5y`IWjja=rU)j14^>JSZazfQh-7nrVqIqY0 z|1|0=%hTwOFQ7G+3wp;y8QtMPp6(AoGR;Npp8(1rl39bGWHP(=D%<#VWyg4qc~zQ8 zLtfYmxc>6Kh)<=Q(Q;z-F(JxC-2mKjw%kRUvn~avyYvGIi)x31iwslSII36TxUPbuY7Gx44^d=@CeLv-4i}lG+@5ke zQMDBqH;y5n@SPN~%e!_Li0jgH^UYiyIl4$(SNPY?<%-5m34g0f;4CTux26Qxk`iz$ zN?KKg(MKxkw92R0$~*igheC}){uZ&LIP|B zi4i=*z}AmISv~?~^$4uRBe2$vKv+5gY~={Jg(JY$jlfwp0&dj^xJ4sI@JLXWjKEnj zVuW}ixb-4N@U91AwTKbCy8>A&e|@qq9R2m_e$7aJ_W9qRChRDiwGhm@*ZvGz3FR_S z|7w39)y?j*N*uhw2O5JD+Ge!v15E4{U%Sk-Ii%}lb4n8trFr3YYS*h#<&~g`b`t~9 zcuehXdR<{h1*NZkIn>Ti+rsH>`0EnzA=EirpRn;WXXoSFw{^cT-`&;!m}KhsIJZL0 zmriOlY2mk-dre!hk#du9WO;c|x5nG+Bv9rwkjkfFWd1&k%s+x;-eqkL%9%?MUDcNW zDVf2;Nd+sN#xIoMv_~UpG&4WRq^AqgV)yM!JYxJvB}( zI@Cui2a(KKV%`@GqIRlxR1PLK=)+PmoKjTxDT5@?Y*#wh6-X_&=$t6Lu{dN3vZqj~ zIa9v|v?L?2p&unu;Ay!4xBT^Z^Rj|dFYuT)Utd;hIQ23`K=?dtqapRvqJycQS26_; zPfEct$@o5fSRl%wJ%m}T*bY+lFl4*su=o_!?Dq4gb}1KS-L1h>nu?4%Ps(<1ifU{# z7;_hJ$CT=I}K@Gm~2LI*1AV8fQpFEX8 zz4N~~5LoUPskb!C+><67z}=@Ctl@!O0kkI&KR75kz>WjjZkhQY} zWfQM5V8&KCvSwCtj?T$@=Pre7u-Qv`*Imdj?)wY%;Y@9ECHi>rMB0nYzBl2*cYvyX z>yPaD?p(y!M{^W6 zt8Zhn^;2C;E1lL+sSl@l5T52Sr$=dok<2874()`Kn>bp5ocnjT}a+ z43b&t`>WE>sx!zVg+9wV{fj0+3g1Xp(Xi@UZ^cQlW=o4#J9ASZWUX^-j|GXUPsgd_RL%t95uPOG^}NE##_nv=%gRG7l~K0>qvE79{%wcMDLRnhTcv`0a(BfY4M zA|jfu6rP$}t(`h$7S$ageksK&JDi;Ij5f^kc6lLli7_rt&eb>lrEP{+e~}5baKQIl zcj>nzu37PhW+kLp89kmAZ)o4_Pb7ByKAF&^ctOn0YfxY|0)-$<4wYh~&V*?m597E>Xf8OsLjNjC?z zmtttq^hjA%4*B#%MCUV1&Vd@FSeX2*2hdjT4wT|j=WH#1$>xF7)w=*(KJ3!Hc09pd zM#wpU&HT80`I(3`HfI1>M%;_|w|aL%6aB~YIZc5QqtDCbd^%o4>&R;S6tqG*g74MUVG{pEVg%U+5_vTYoRE~hmzZ6j0~2xG#^IlAUh{k3|5p% zZpf;k-jWYfFU&&@srAwLhY8l}*c1#GiaJ(?5Nc;1yo0ET^V{1&^mfHSQhImCfbF1G z9I`2h_8zcsv0(pZ|BOP%q3CYQI|+T>KIUNEm;BhX|BJL5{@L8j&q znz}2+LB*cT+qq#1^-6iI&yR*mK8=5mW{b^q^}L*qH?!p;dYC?MzFN=O^^2K@t*hKu zy|+6wfeSWF-YwWbEkQMQ`H-P9EAl>oy?moGgf)6A3GN-u79QnvN^REm_Sz&t`ccXN zuIWtuwQVxfd^O$*y-`!|)tZ>kpGZ#j&J4a1b*P04wUVRGv2|>r>DQTlq~*G-m-vDN zMx?{(8%Rjs?G+LAVN{12Kvj7!XheIKHF2u+BSocifT9d3#mlpVWJ^m0TMKS0KtR#A z%7+yZ$+AEZx8sXW1>GW?d$_t$Ri)~`kC(2(zOK_H)Jg&Z9v}gEm1V7>gbQ$LoSMoR zjYP-ZB`Z@s041vXppmVJMAmmkjT{VLa#m2qWycZJmO>jX()hJwe~XPu z_lMFx7gzp#%c~NpPd!-7xo%IpXHeX374_uG18465kW*69NE{e1 zDpmWEMR|oLsd+czkt6(MoYCEvvHIq|g!QLS)6LiAL-cvR{QfvwTNgqu^c^-?{qej3 zGEWcx4J6iI$DjWDpK$2EfBEDKoioo?Rc(MNd-oPcEAuKy<{OLIeRp4$;_bd9jxX}X$Ce3*5fHXa~*bF~huU!Ov9wBdyM>4(Vw zjRz7rPs^o|<2pp+=8{V{<5eLqq}~#)3~GUZRl|?!JJ@|u<1_`6;`de^za8oUobUrx zgUGyUiVhi-Wa|~$Z0%PUPei(#ca1x@oSZmCtxWSl)ZH`X_)(P6 zd|w`%cVTqH>JKRTIo(flnf3Wv&pTZEhVAg=!HgNc!5?21lg%H`Q&*|kv4#>PcR7Lgr6c!CiGGQKaB@Vz zX&xo67m^O}QC6tu64KK*$cXU$*&2crRKruw^=(^NUKX+X1d2bi)ag8|8^KvcXIigM z=kSWXPSq&{aC2^9qwdvvyFlHD*bdh3kSyKj%F=~l+Y_h2nBr(#pKkEX5(%723Idun zClC-7AjB-mfspg2bZ?^Gc@7D0ZUBG~#wkC9_~$>M#IGPAV~#BnT>zp$6b6nw}vd!)z4iwX#;cO3XL#lm9i1x$-+1z!HSv4t>8&*6UV)5?CaTw8Fla$iXfoxGsKW}gQwiNg1!w!{*l`ty8x;qdWhgcy z(v+*pqJk!vT|B+}Q#3v>Adx5U?pvZA3@75eX$XRKy`i-;yEH2)FrJ;d^9PE^IbfOt z+nb)Yh*%dgoGi(<%V2kc>KzcA5~mL^1FjeclI;+=anK%NvX0wL+#Ib>6&ry_4HJx) zaGf+pFd3YArNGQld*v|Qx#r;AtHMMKg+!$GAVy{inm}PpA0+d!c?S!C(kz4bTWUQC z9#_A~c1Ng&trrX4NQOX2mt* zD=^4&$i6VaKZ&WI(Ye{VTWXhzx~VKsLS|;Dgqa%|6@ikGQ!-e0h3bjH{jfe3iJhq$ z7&}+hba?_p`YkBsM+^w(1bKs}QlKYl0y|L?h$)w3ssfQECE=(kf{IG*TM=*!ZV#&y zq_qJEe7{kXqmBHzWmZq!-ElVLC}HipCS9FqpNcww7{c#Kd7wN*LA_ck^opu`&r`RO za;re{eFiPWR6A}Ydj!_|Cd5jK5?ZMX0&PI*MI1R$=;0J<=4|{@1X2*R}{TzEmk-TKm_Q#@>Wf)Zcb;{$aK(NwG zL$yiCNrN)WQ7Eq$nt-5M1!`6lp=jRWb*qnLN!QuyZd$#)LB!e`xZvcL?oS^`6xWrU z2TV9uuhGN7Bl*BSrLVdU?hnKah%Y$XvwPhKogvR{0+~`{-7WjP!8H}6jcZNmSA1j8+s%=zTvo> zotIU>WN9uJL9tcI>5fx@X>u}iIWEnL>~Qkk$re?K%VJIwPTn&-ij5YVzn87ZKv2Y- zWf>YoH8r(T7xTs$7?3SVp3pqOqPWU0sx7WRk|3@sC|llrms&51D;Mni0pF|WAp&XN zXcm{dRUQDpfz!)L|5nN~q*hb(YO7;wdh7eU_1pG$kLu{TZRz$-;Ev?%FPhJ^bGNwr z8m?Zg-@Zr7#rzM;GEpzu^7sfvFSpZLGTejix+=F9KmU#u*fk}GhS5<=!!0=Z>Z06m zmDUSw08Uj`UUp$R}|6@8{+3Q=2y@qBBIMi%2wY1DGWE4d^?RdrEGOHh# z(*YzKpEDLpCd7HEeIKek2&96=B$Fe)W68%;!(<#Ay$BJC9U<1g1Oygm{!J8shu9$Qhb#z7=} z3MlqbB1&}BJ7(-NY}^BkYi%8T-+opJXuM~QpfS#T#j22|JQ^ZT!}Bw2ywtzo$4rB# zF=v9tEKkB@@<6A)tQ=FU1gZq7f*91cKqPUM0vR zx+wgG$5}{U5M)^yg}>5#$3p5*`B$_35S4(cjE5N@q)hNJYY={mTp2K?ffL=YU zCsqF>G_(7E^x*>Pc+I10so{ewjFBl>NwUb)9f8TkX5J6XM1^7dRn4mYQ5HX%$JaWI z*HI(#y}^+c_uSMV8LlBzb{i6#*@i}DwSmDowLRKjyljv6?_A_(Np;+U0sW8q!@ZO9 zj9WSNjvIh=deE>Vte~y~)OP?(exFyM43pvEF^u-W>^(EPlnduhPB*6RfPqt-GQKCd zYtxGx^sfL4ffQyAZ2>vF3TUL|TkrOrqcwaEEKwaE^5l@P?}s!#BwMfGG)|Aieqz1; z?ml1Z&p#89#vM1ZUh!>klF11wO<)Wrp8BHFX_@AZ%HNMV4oUZtWGj$hlHkBt-KLPn zu2qa)T%E><)Hyg2B2aQtU=~{!B7Muk*@-$_E=k{9?kham#vwb3mt8lGr60(?Z+9d( zFcnc?FD4as%H0!1g!FU+|ffcA1s8Aq&P(G$P8VriHLXPIgDl5|>Ls}C0 z=FouHHD6>wc*))gN7i)Hp*W|ny|{M&6`gn3!WHn(UNpXy;pmTw65vQn>JY1#;-pdL#BPZ&AR-%MjOlMk{XO|V8lQLy!m5vwX zeKgY6KI54A`VEYluit7Q=Id4o_#l0e$^We2bKVP%nY3Tgm?`&_0DQ{b;NW>;1A^y? zXAn6fZ+QGXv!#HUCbn?gJhLSLo^Q2T#AK_5{|Jd2GtX?}L2={enJoqQJhOo_WU>+S z%oe&ulel^2tpH}8d8+}PCf@QNSOM@nvjyS@6YxB<1>$4HPWP^O_>|`g$4vLm0=Vhk z8Ang|8U@_UtDzAyuQM7jbvkPxrcMoupE{it5L2f!3!gfj(I42JDPZ!`l4vGB!2+1s zlTGG)^DkItdVaMIn@VYyikO$X59wQ~yd!=-{ktBKz0qlXy#^-QM`d&_3##XAu!sFR z{x*#!%f)8;`{tYdJaZ?y`MR2pAJ!0VmY*wzcQR+WtOaR;d&Z~n@6lBL14*P}o>$We zh?y;9JhKIu*~}JyK%k|xUUsz`eeYaYEngN7(SQB-%QGY@Lrtc$xx*zxH~6spzJODY z^W|~{$G(o|kH{D`I{h}qqL@qtGOSYF1E|Q??TLjq^`b^?aP?AN054saZHteK%+%pM zBr6cH>KU#KHHsp&P0}1uu-g?R(?w+%%ph?6Eb@#al7u4y}H?hm{=XC(VK~nakO5@kAcQ3v|Lr73L`5G)i z`oa|YR8ATp4WygguWcD0#QX%4`Ebu3=Bf)OOAwh z)rw_S7<;-mB-49_cg)!{+yHf}@C>S)0v@++_l*`Lh9srj`UY0^Pe!)x3)Ad`x&=n( zy)UJPhV)W$-rRwRmQ~(YY&vu}6-VIfWR2( zaggR|GFX4n)*P@$KfV^EJPaen-so@*#ysP>9*RLk3pL4RF%`qeS%$(P>$tv(_*^r^ zV45v!XgE=m2Pqv|@icTY&lb^eqLz9vka)Yj58Ee;g1iq?P1Rfdfo+d>!b8%wr@1PN zx-AOCgy>r9(rpYRS+;Jyz07pbf;oL3MyQ_Bo4-&Gc}&pLzhg3*TyES3P5UmWGT-!e z)pkk2s!>Z!Z)McCnOrL># z0ew-qT17^y=zF(AWU_!ppE2~1b`)>HW9nsP4+Eb>m|1=n7)^hlPSgps$65Q_noj{- zGy?Is5+ysT<(q)zv5TDE$*O;i4p*zOLnyuxKA@Bc)>2zabb}h~L5q{@EpzqyVJNA3 zMue6U7pe2o2vAIKs6M~-LNu7Oz-S|Xd#sfpBkR3_#b-8BsBw@Tsv}LoEK1Ec-q(CP`6j@qEKPuLB)}T+Ltt1p4JM4NqB zE;iA4GMPSaqR;d3;x}~w4lA%(y-cIWvcMP3iN{2 zhacXQKwv6Hdo$34NHnb;rE&Jm3a!M3)SC_M2ad?bd|V zDbx>?0IuV@km?RTCT)e?rD7w~&?xCMFhl56@!eK6oKlt3kAlho>TPSwqYzrQ3c^Ko zJQD8o>D42G8gHia`RsW;0}aj7OCRN3wQ5H8Z*g=K@DZxvRripWXdF2}GB6LEUI#%rai!J?24=>PE3CWYggAgMnNBdrkv(6u#v8&&&$>)&S2knk_(F8sfZj0d;aZjE?)Vbdb=NC8tP^JIryn7gDTaxd5c7COmhlVTsgls?Dg| zu4O@*X6xBt`FJH4-7mfeiw;#hX?~N9Ln+GVjt9}ZFX_P~gVU(a_mV6nu1?=ur1f+` zGR+f#MUfV^ew~YshSCIaG?DYy^$_ttjQ_e# zyE}kuNw?OP2>Q=|3?h{?RtzHaqhbY5aZ>kt0&hSaz?ISF%g@T0u0*C?mvG<9-RXSQ zW3XO?4V8MLLdeQBkjyYi(l_-Hu3VwlZxPXw^)^M;HJY5mI12Cby>dw=zO*InW5|tS zzm(egk#|{qaK)YS_)GIaHT4F)FvSP$(=8b$69-lqq7()$fC2K}80=kBXC1&%`Rgyg zo<;20+}3cw{gYomk)D~apGe=d*GGjE1$Dd#^cU%!>vf7Gx-~_YB6f~zoif@HRiKDj zR^zAMiq-_|tZ?T*<0Rqr>$I+#cP-kd=3N1RveGi=ktq7+b13a36-7o)QP(zr5P7EV z&G`w!m7x6Rq}i`e!f5J(lz+MRngqw7j~xvu|5@7GgXYLZP`RmUTyG4X+R=_>$xsck zC97^7i>19?{+v_~T&3%&@q=vSOz4{)1}#gMd^5w0lFK*4Kh=hlTHw$==Xd#GFW zQC$9nlG&UJ`ZJ2;qI)h2b$`Ooe1MVa>3@18>O$pV<9HzDutjhY9H|>HlsBLOll!GP zSUNyTwbsy9ixK@9L!D9nNfwJKu~p0593X?QMP*LM>cIVAS$!wJm$j{=$DbC%Q5`O1 z=dNUk7@lTN({E-uX3$o6rz;cxr~9lozb6R!dsM^-fh72zto=3D^8QJs|HYNR{T)i!hn$JQNRX3EV`=-^ZZlLPXtTcDzSslWWW6ify_1Duy%wB?5THPYD zSJyYKboS{mJ!KI}TWv_mgl4@14@}W#D1#|xG#^k+44%F|D-5D$Uf!2#jijvI(+{Ou zmLxtLyWcQEMO%x>!w7P9Ga*feQWTflj)sxzxYZc0=e{Npspatw8KUX6&I1$7B5gqo zlt5af8QWKMxD@W`P?@Lp9yBh^hEY=k@t|_%?el<=^+p~sq~xGAx~1r`O%JPlvwAkL zdV9HMVCmK(&A`e7%Ql{O2bQ%uXAYB8egV{$?tvszG5kO-HIL06i=iZ)m*=9icLhkSsFUMm4$(f+wRLb7-M4%XC$$$)}hlWw?Z z|HK=r={Na?s&-Gn5o$e?aEzkIz>ksjI5&n@6+_E<&!R)r{btf3F?h_TL*)Bs)FJ9W zLE6(^#7KM0t}(Jh_iJZOF}Ua{V%L>OK2} z3X7jJ5Q(2M5Q(4HvxuM21&E*0T9xWgc=(^t0rXCvp@KbAXiqug8)KX1?OR=)TLuc_ zl&n*#nP7y743Ut_v;?YBZ&GyaeUM+fHa@7YNKs^IOth~SwNNp>{N1r$aTdK*tCEx% z9rYVRL7fuS0%~hDf=`dllFRJay^+JE&|bFb-wxtbX@*au(;iHLN;%7~#TG0N(Nq48 zwa%u#Yrvl`&h82wwXI!6@9JCqr9MLVNNM7Be%Mvt?J5>m*#TlZ+PRwDuhlw_8}xuf zDReky#0d2*%XF#*7ySU4I{+M(rELw_^}}VD?4`So)|mjVmT115)PrtEKD1Pvc;A5? zf024*57w$(((Gs%AEMrJf=C)4RRe35j1MJwBx=j6F)6yIF`at)?Z@-Ejv*>XOJQ_b zX*oO02v1i~t-I9;taxp?rtXng7VBxCXC1CWTU4(O#to!7L_4v`hBuYADyO>eyZxL3 zHLG&>Yk<_(&F0zZQKpj&YOYO7?eTZurJ*j1>pke@qZHD@hilwT4b;w+BJ*-4RBN#2 zJa9`Mz7Y@JerrMPyp9&(m2999^Q`t^PD*4n-GMb`XvFeXO%4=n z+^2>$jr9|@<5T3z=J8h?9k+~NI9)Gk;$XGr6GK^jT}p@HZ!TN0+x^Xru~|k6Sqbq?dmOpEF9{H-6NFW%oq7eTsH=WR8MO}p<7L!wvoHmf4y?kS zmRF~FF&Y_*Nfwe3X3wG6rwLl&RmC5be_;jmfD=*_S|Fq(&I0NXZfMnNiJ`MZ-z0^F zs~nEk&KSffO>$!GzqFfBOV@Qpjy7z(p3G*BxZ4_5_$5yp|4MLNy}K?rEx`0~8w=bs z%jrb)Yb0)N^6bS$C6k#J_Hm;5*3FH!jFobDB2G7p*BaMw>!`CYS{)rpt&Wyd$`7YC zayQpG6X&3hwL^E0ptHOL2+Pm_ZBmuYGia5kKinhoU3h)(vi}`vlyh^b$bELJZ|?J3 ze>(m2dG^I-t6Z2?V0Dw(+CTKe!)ms8Sx-U4V!0WAvtRS!g1-5OeOxTpFVE^$2!H0w zc((8lJzvQb{ox({^Y~#33H%5O`~V64wEhAKz5)gQ*8~!LJ@+r4&yULmAoR=Hzi=jB zXY&U@=+(kM2Pey?CqUrEV*FXw+UWy`Sxp~h`-3v;segVx$l5;t4HkSkfdK1`>K0bh zfB7@ZCqUSZ{Ler5zg_^Lr@znE{-GboFMw+Q2wOc$yaY?_OSBL z_t|_6DAC#CdA0l^Yvvk&Y*v84-^TtU&TQ!)bgh~cAo#-!km~hf?4RTFPhSDm>;Lig zrd^KW*xL3#@;Q~=9q&0G9X1i+lb+hxIrJA62HB|t%C0H8i~3CgqOYP?(ltRHtzF2H=^&H&ca@pcR`cYXk@9YB{)SVQXfay19^PlPq3 zo-9`jX92MW^vRd2C8RK}*54u8q5&55Zw(2+T|-jc-9U`DAnV_dV!nNxLo##=YT<=F zq=^^i&SJg&4FMpX0%7j1K*fCvi_C60Gw$Vb+KkNo@NY5UtI4`3$gj7L%7}h`Fc%KyyGL+Q{K0AbB<`K#S?V z>|i|#SrxbNJaa+C$lU7?Cc?u^Y#!)`g=0UueBgK|HJu14$ zszaFiz>F{qn$Zl*Fp|(Wc*^k4MA)+^@GMGJmk2hiiWE~wV1ebCc-Y-|mXGdR&g$o< zYH!?Ki`jy%tw;V|Ib2pl>O)j?5KU9nzCRuI9zqe}XGso@pBQCAkt509Ni4=d;J{*f zj8Z6+yn>S=i8+`_V-C)xG_NmH4H9s889ayoDk5+cnfgdcEtNCPzVIHh+T#ihbJ=($$9Mc+>5DDke9KR--3C^XIKSO+IymBRPOI09|6g3hrC))ye37F z@&wRN6q%Fi%Zm{x$Lo|THiw^|-ghz1Pqbg6uK5lylqn=qH~&OQB<20IuLMQMtnkpW zuP5{^(2>uM>X~d40r`uSfJnG^%0jDH)YVrtQK+IB35x)g^1QsDRUYxJn<+C_K)ygu zb3gV(>JiNuoLYry6yUuxKg;wpvnmCNa&zz)bk_1?a96#>PgCb{_v}qp^SLwGjvqT0 zUNz(uGIz$`O>N!r4` z+=qmapBUk%`hco_B;wvdbaP{QnYJ+@S3|v;+v^uB-I#M&c60bE7pZx%CTTS}JMujF zIqYUu{W9N5KFY6>*VD8Y`hNbx7?mR}94V58zJt+7IH}0z;)P}3!BZYRbw7!8gHskA zqtrqmYc6^R#zIt?j0AEeggj)eyh<-WL6%<0(`oV?@EubCH0%EUUp=~S{HmXy%Re01 zrB?N(+X5|;Aec)uyNbPnNed6kWj^Ps#E{RrQltD`B*$9(`O{}<-QQ8X-9@F1w}S4D zs1hr2NIf#$Scqeb;r|EN_YE)xym33JBrc+wU!WlE5#LD<|^?p z?}MyEcREAK3{(C`w8*nUe{YMq*g$cTeMXyj?V~jGay8%(lTvVWR z*h&i!m!iQ8OJYGWG6|s!GN_g>fM78;8)9@m#8?g+AezHwJC?&&ru^a_jM12Oe=wI1 z?mK|;N5TU?Qw}@N*x9}b!pu4XnfoyZjBl8qom2}1nuquA+&q|k1~JhOa;`M4;4RIl z{CF*fg)U`z_vIK6Ub&tLBoeC5BL}HeQ$l|DX)hIVPp%Vt8z5HlBuSqQAS9=*qM(|< zHdf0Nr7Y_xV3|xoA)h!ue=82Qln?G>FMoXW!)Nj5Q@zZ( zvu^wy-Gnh}BX?CnZ9Ynx!(F?kQgmQOh+^z;4>c?FRVj8)$U~N)49!StWPS2EY%)gx zCz!R$GuF@Ua=!W9kB^i^`6&@q_sx&uW?ueg`us{p!5<4>G+}vtJ(Q`yKK5V9H&vt2 zhm98FU*2@~?6_M`adMK8#CPX6nqNB`ceO<0?s$%kJIAFOw@)>0nQGiF)i^HIM|1$7uOT{K!@9`8S8StP9{`FoK#N}O_%bxEYr%b45fAQ*iv00qF`nEw!p^#W z7PuzWeoz7E%DxssMX#r_DJZSeQ!qMrcaM~}sW9SQBG*-J?m4Kv#-Uyti@$Ui9P!}3 z;K(0Inn!s=xEgCL^!!N9S7vhS$G0ZkZ(Fx}v3r&BFP|YfaIAv-*T1l^jQY3pn?O}` zGclJOINNLPmu)@oPWI+<(CuQbzTNXqMU87VLqJrNSII&|>h&os&;6sPoS6qIW|UjY z)R&^k>3v2HgUQh(A!$C8Tv=d;(jq}Tlom0qQB(OkL#dv3 z2Ub6O^usF1d3_K=*M!@h*saRMPg9z^qTp0FJ`W(YA%7KhKLe#C6LV7ScT;R)2TD{u zRBaCsD5z_;fJ&N;eNZit_SF@Td=NR&e2I#ii7~=3ubLJ4>0HK!P-B;ZW-T|Q*4;8k zyio5JGmKG20Xj9Vr#On*h(^P+q}q0Pc>~$?#P>R9shq=-2MuiMvW%2@^W!MoZRThR z*?HblI;ZM2+PxY}n%4_y#n#)!Eit%$@ogPqbb+V)R-qM&}5zN2KW~b6EAF^fe-X`b;wtY)lk` z!Smxu`8Ty^xzzYF7so^LibzsbK4nq5;IJHLp<`m4}UnG#^yA+`4m!$Uw0r zA6di*A4W{hcBa)y>Y+$auUS{3=m?m~o_zilvht+x^6kR`#Izr1KuXPKtO1njgM@}r z8oK1k%ijO^@BbY}jFX@~(RT=~FDb>MS5XWUL!*wPq1gZV%-X#RjdB-F^}E+Qqy)&S z&&k6{dA!=yS;v(RBTYW!j^BJ((Zqix!zyypL~&?6FFJVibvV_G#!>KTueUzySQYR} zrfGtioKQ#ydEZ+26opMze;cG$*Saam&z~rU(vgntOHf46R;wUp+ZC8OFz)36*<_$)QWgzl28&NQ<04mf z)gKrJk*hAp!OB%qre#s3vY?DtYY7mUU%{hQnaZ+vnjW!lQ%jY%1$n0PTfJi0r)7L1 zz9F2jHxhm)wp!Npqt>a9N3~0vL1Lm_H3?7%t5)7pNVh}5Sj4v6x#j0bls_#CndUQF z^}O4e*UzMXsTKv4OT}I;_sw?3qpfHrHChnP{Ue#g^~qn#WI|~BVJLScd%VYuAf&5L zn_eBl&=D_JcX`3p+KEB+X_EM9IJ9heR;}El{uL=s($MQ&!G+N+55yK}oy!cBrx6aF zEL8|eRnWc5-B?40afl0k`jYgi7RG;pr2M=oinsU2fB*MasMC~qy(?TX@&?Q75VA2n zdS6<9WB}(=CkIunOZMQpUy*yga}^lPdUcOy^5GMqU#G(t%Qtsh4lCVSAvCCPbFt-+ zqH+!U7gP~`X}N~i?cc3nt9-uBcR=~3Upj2=$){gcN%$xKD(PDGD}4UDRW+GB&j#xI zcPfp7Vhp>^eopMpNlE@eXBv+K#8XklW+L!AYV`?`r?eI z1FMn`(Yr2>EB6vVL+7+of1t|0Jyjb7j)?qMo=Mhm>_j9IL3Qd>{p@a7-uymWjMx9{ ziq#c(M~v2+)pj*m&AlJa#+|K}szmCMIp6=+H96SFW|?Z6SRX0((WQA5s3v53_~1ko zrziJ;%3Y6rplYJ9j}s*j_m1aV7ZACsxdG9L^cCBad*I7mCSX!GN8QJMWJP*J1$!XP zUEe@Z-bsKsB><`_PXIF3_ZcWDB80rL|t3IByupam|{ zyx3#7=E5FWxp~llYlg)b zwi!7ge3a-Ft4=EEC6(8f_L7>hWDm=U&v2fRlUQ{aKre~wOmMU>=C;0=TlivrD)NxN ztTurho$&hBUqbvE%L+v zc&!`35S`5rKc@*IY|nM)@PUt0_Fn8Q^*t}QTeE2AX@&Mi{W?I&d)a0GJik$xiU_-M5c&O))AR( zH1QsHv-x(m?2JuzB`l1cUt4F{jDY*h<>e!@BvYPTuLa5rFueLby36|wz5f2}O=lZt zvR!R{o5XMZ+ncNw>)G6y8k#?CR{wF9hQ{t{x0yI5#(wZu5i#P)rMk*|zG2Fnb-e?l ziN|Td0%8i@q^k)cH-9GnF$y36FAj(3gK!8_A0B36E?1-hU!y#C^hA_*CEfukc?Sl; zMAPDPSWXJ2UR`HmU1fHa@w(fUZ$VM1)U#&w(=HEDKk>Zk@6~mL-Ql%Gu4#WCphFhy z$oU{aAp?}lJ(bQx8~&|Eby;d_-ENnI(JRUYu@(`!;MF~^zOriz6B_EJZmXD;mTq-4 zL`U}x+CV48XO=`w8YR8XER}n$bBkhgr7$9*R1X)S`hMbYFs)0|WUCf&FY|*}|2T-6 zbJV=+cvA zY7n)kI_XFjhq9BvajH_$NptpTk#08{)r-bdxugRpXpUf;bfUHI1U zPRb_Xuf%LS5?5l@4cwJldH%xrqOu{xK#W_tiY@cy>XPPrHMo?vcrg&oSwX_+ zts041MMjo|Fk*w~G^@odg>u3MiP4`lO7VWBt%M&+wpBErJpn56Q-Qbt%&~3gotE<6 z28dMS*EzUw-}Hr`(<=3pOy3lhMxd)}0u@OF8Ks1MqNjMy3Zuv0TW7MGI-a|GdYb)m zT+~>y>b4rIGT>_)O`Mcl}O);Hxl_rAAqF zj0Q|YdC8voAY`~6FZT7sXSG7?obB8)jMaKOTg?9BOb74JSj@3@iP+8UsTFNq?65Pf z7u{;fz)+b{jo=6A2;NE!)PJ~>wVF@S=nmjG?lcEz1UogclQtSz{PfMOXiPXCutZ(U z4bn$f3fp(2JEe!L2{+P%)`lDH!D_^f?f|vor|_)woo~o7;`nb*7d=0Y4OSy*lt}KM zYma(Fi?Q;QOjT{p`Ys?M1``+S^+`La_prIXK3cny&)Ra~U^zM2lP)B`7VS|8hI zxOu%=HrDNns%Q6}sQ&$t7HK$U$0BJOy*oG5R#2mIFM0gw)d&44MjED4?5LiNFxR-e zla0{p`w-FL(J}RN&7Ct!p~=b{yT6wc@7Y;8oAGwF>FObA=*eoc+HGe`2gqT=n{5U5 zICsziFCBN=y?a6n{hY5RbMo#marhqk%Jh+>g!wsT=#)MyU{g9ug+Q4CnBWtV>KDWHf+@mtN|<3XS(IgqG}2GG z^n%DjUBU8X7jT>-?(cbdn<9ebpJ{L;DV{u2aD{h2%9~CJ4Bc1j58+_Yoaqk4>W^no zs&=auC_Z`RAgSrKQwHZzy&Zv}BYgIa7N||=d3j3%KEW#IYNt^4ijkaE$SC(7adZKf z{)+5<^>%(0dNqv%0&_%YWi+8sk-oF)L{UR3_tQXb!6>~`wE?4RT*LEF-UVuTtQGMj{j0KqUAp-c1v_ao-DGZ_A z6UFp?j+l-f<(U&vdYrAacMvsjLluVuVI-Wbjo6w33!6uV5cAoJgq!(u(C zJT9si`vb{|tfLkvCfIitsm>Jb<~Bdqe#8J7xREmq2?S7Y^wa^PjF4B*n>5=aVfoy` zKnea+rZnWWDxkVG1Rf9|XQii@txRH8S<3GDz6=Z?FQM~2OQwu@BDVnJsxWn)#=H5} zd)z%eIUCQN{ik!%{~D4@kc<+mGL&C=iJ=3k3GJNlHDT;c>)P&lA&FHR8aoNi*~)7B z5ET9DR!a&9#JEb-_F`z2=br#T79;iSuo6+9L#jnMfZ>Ktu4N8%aPT9MaY?P1pG@9Xz>Eu1Z9kIl?^T5gn$e8}6AmRkM8|@`<6FI^m!B9d zjwi$5cPTHja?@G3$_P7u?=u*CHGAT_2H*FVo^EdM+FUM^^xE~M56N10G2Rb1o2U1q z&hwLT_2&=iarDE_Yq4vU+4}9D<4a8L%8nrbia>S0E4owF_efQb%2X$yNhbfI={T86 zk&i5vcj;OSMcg~abYFd@w^b4q?zLP!H;fvkSu;~+tCbY7ys?DmLx^Q8deiMg1W2*^ z`r#q8igJc6Iz$7=CH{waO>&4nVv<^`$-Ahw)T>jT@qDN! zO2OXcOpl_>J_@3Dk-t;+I)Ku9RPLYVdE)cI^hETAl(R3J%S(EJv#w^(ml}(fDK1po z%uL1hjQXK;QGGWV8!O88#%IK=fz$m zm`4wG5vpXkt%w-RrK)RRpeokyWZUy;bcX3FT&WFJSBB{(JXnk$9|jsfJ`6X0d>Cr{ zcovGXw|~leM6)5ZY{#MxgN{WX1{{k%3^^8k7;Y^3FyL6Ut;OZc*I=nXK+FCx=*aeA zn33(nz$4qU9uH_nyvROcJo?D#ffn{r%H=m}YAs{gay?j$*&l`&vp)FR! znEhesG5dqXnEheMG5f>dWA=wZ$LtTojoBZD8nZtPHD-UXAG1FUI%a~fMfQy)&Tv4VP^my2Au(T7-$CIVc;2nhe2lm9tN2Kco=L3;9-~-vbUQz>svj6O){$z|Q% zEBVBzL|NN+An2&wfkyDHJ};E!MUwa|`um)a9`n;9Dk5+HlrJK0*t(41z#0!|4c=^i z037wgg&WdsVn;QKl$L!@s&UR zpSxOC%bc|xl8b`;)&Ox?|II7B=;MpNa@Yyf z&s2ZdX-6Q<6Y>AxRd@R3jmQlh%Uc|J98#H1_}g z1c%EzH*DVz3Z$hd6U=nObvbva$b$0Gefn2FkLO!&I(wdNyH3_?qb+9gGTwNL@hnvB!uQi~+Z^qNvFIg4M zk?qTB=Q?Wu04rOixi?;{7v{`w;TS;g?dR2`Z?*7}^)33F06A1>)%qoVKX7c8H3bOx*6<(UjGej3Kz!{#$yncN537SJ4~0Mj8!l;dUco>%Ec>bX&U zuy<(b>c9auRLi|0!mMfM+^e&aahub!@Df|qh3iTMlai-kOR6nb#~8d9Zk4^?4@!D58cmY~>|v*z?c{F2G1kd~7x|lF&C| zQ^rIydgYu@3Ul&CVi-NA$BpRJR1;{%b^1)nuGE5XuDS(Ir*H&1k_y3A<_q0&VqiRA zkzDE)qu`M2izA98@N(UdxYnko5BP+ZHycg-7@N?dTun|<9AaVTa3G@J^+s@Y;)rxd zXO!2ajHCFb+Ybl1lgiKh;S;jFh<~EE#D66hM*_w(Ml=7YS@+o|fcL;x0ye$@?SLix z?z6NR69Cz9=w~^~m)4|A{h&Do#W?U~5yw^|k(PjQKgmeUVmQ*4F{%GbAvYIqlvt(D zm4wYpT?-j>?hKVgfv7tEWNc-5-upZXCgmYYP&5$L zs9@x0RfjnkKL@Iu4ya6&vjX+wFbZ;`H)zXs=*R;QhtQGV$Vh6Z!E>6;OC8-bUyoF) z*9OU$bB7HC$>aWGaPd2L@jy_!cLxEFbz6n0D3WdZ|4)}YJ>e2Z!qDJEv%pkIpW1yg z<;>facj>5XX9Iae+@`#{Cp}tudYxi<{HldZ)M_)DtB%SXLRn->c~NC^g6x+BLI+8l z=J36N^6^H_ru9~f+O*_qReqvH96k-9J@s?{$Sk`-Dz!n<^j1?2V_eY-C4(z-l7_aL zFWc>Un6zvu4U&#+y~NM1W|eGo7h+V#K8JbdD=n*U9}3Aq>f^Pf=wfeucC;^!H?qUk z@#WTeBdKhahsmWoym=gy|K>i;fC zL53+6ZK*+W?piSYOa60E&5RMbKYkF+YWy=yA~srLa5LOXpGE7G^h9e{UU)dHy48$~ zLh~!~soWBh4=qVETg9gTY`us;r#K4fhQ_hnV*Lg29i;NRi=p~aEv2DjCS9>x?EfTz zy=vK`9q5hQTEn!>H+{*%!(eKRaW}fQZ{f2oa&DA$Yc0fI+VRR7J8EM8u z+$#%^cfRz;oYh?Sb8VgYQM{)gofW!%c2}pH-yi+`XWW&}SKu8{9#+)c2!EH{25ju_ zNz5^HtXk~S!xbr#Y^~FTB~lH_)fLtI;sdu!v$n`v#G^eb-x`%_#h3LP@gd%b5AsGu zCY&0<32A+sn)(p^o79hGC*g#XsJclwcJTr#&5M`n#?dGziDDyyj+N#AK;uv`6w#sT z5vYy|BOdsQk7znh-NDdNI9J$!xO9;ymlM%xKscC|>x=4;5ir<`3MlgtP~~Wl7&c|O zRmx%-nZ*mHg*j7Y^=e{_4B4(c-82lgak0sP#q*kqQ|LJ)FO>;j=Ik+7@D_|S)vw+Az zI|0q4lEDz!J_a!Q2i&aBUJy1=?&F?sutdufZqNy2mAdNj_~9y zI?-&(GZMHQ2Lb10$>eC1S>mtc(}FH94@dI&kP*#j{b#0F7GMI(gvPwYVskc(7`TlSjGdE~0w^b4gScTs%}XbrVo{WnmnhOtOBC-f&$LBySqwuP1yqHQ zq|G3)mcZ7>l10`>!J@_hS15KEa4jNp-}WWY!-;zp<B6&GBc@f2ZN!=ni)$JEVVa$sgwC2Y=5Y)^fdChW z9YX-?$SfimeFum#hy!AN82Kr{gNp9FFZ#ETL;-bJVEq+XWdn6?V4aoRFU;~XXF|_h zw}?$^%?DsCQ0~`$i^#j#brcu-k>`=WjPJHHT2){A3~iwrv#dX4|d> z6y&Hm?w@=0#7b968)_X3c`>UW$DZgzkd!xf4&F~ZLG;dA_ENd(fCobrnZvfc_bxgT z^j+SieiQ{wah?T0@Q~Rk@ZxZYJ_gAA^4~-1cu{pP1XxQ>AvZbQ)rHWp0ZkH`dgpq1 z+qKcLcU1`jtLhH)1v=^sP6C^Pa$Jh#sy#4}WP45Ndn&(-fOD&?i}IhB%!Wq!y6!*% zzp5-IAmHk|BvH-aCtcI`^2fz^`okOVwk!Advg^913we!9RvQOkK3z?Bi!}&%T5Z0A zfaMk(#&U}YW$8Fm0P?hP9H6>rA!)Vl!S&R|^Q>ELJ}tZ|yq&-Z{(d4D{yi>S^n( zo}T8jB_yof5|jHsXY)CvnytO@(!5Ak*1s34ookLvo#pSJo7vVeN1R{IWVeO9`r2Es z);q;bf+}J&`vC&nm+{6lX`2@1Zivxss#~$9BSK|wPeI8~&Y)m4>){kc;)ib$@MYBN zI2C|;SfK&R#n51?x%d?TH8U&b2smH3YIn90fW|2&aSQ_9Sp-bpk}%GdvIllJ&ne$` z)>;PlowoMFaTu=s;MG5pb^X!4s~>wOcc-%`|M7H=(p_zbNsOu|%Gn#J93z?PYGANb zk$OB}QHGY=kSz8CQl~pC&3PmYy7Rnzbf4SR&yP{+SF;6oIn&}=z-0UgvmW_braE;> zL&-6-;&dAoMbn(o7!tdRkW<@Xq`Z8m2PX1lP7EljZl>J2p+L(s*R*HNC`ftC@!scT zG*LIBeIz(X&gio|B2V}#_Bl(dd3<1EpOsdkEd8jzwiv^aUw@A^EEg3p+DCaa>IH>V zo#E1)kO4$5g&0Vx8(}S$iO!2~qB$@>Dp-EzOe!^3yP9K+oR3H{&dHjomVhc3 zyY|t?nC@|8y=F7}3~+pTM5!lFf}ttU(L7CNmBWC!iYI{-i~v%(Cdzf8)uqj#c*;86 zRB%{SH?sUamZkT(DTRh{zD3o$cockfuiixNvz*pP6am?1dE^|4!wD^533lOUX-3Pf83?UYm>lQMH)vc9uwC-#XyKjA*(Rz1D9*J^H&JHOWUE zqo(rb`FC%=nsmc1sW;_pnfYxE%1_nd>T4y^TYIz=L^5g!2v# z=tTTX{RvG0z3xxy51HMF+%cs-YEuEpv;43bl@;KO5(qfaMQ2e|EMVM<6j6*y2oS#_ z&ZGLO&8Dky=N_(Y?)}8g^D$$->S)(atxl05Kgs(Vg0hv@?-VrEeDoQM6jO7?8lvM9 zlF$`SJv&jw$iY~wyyt35se7tt=B(at(w^EuN6KmDc+d*}N2Bt>-+woEc?_d8`jbYA zfjdqw_xY}#^nlMblTJ!BVYJ~ zSE5|E3D(nmVS`GAK1r%NH%QFLN0bM3V=;(eBv(a6Zv(xpeI;y^UL(~PC8$z!m*XJG zl||uTTC5l-t=e}N4H7f;Z9rhD=91)L3fM4By?xVDH4%X?#$vH23%!@0)SsDws`k#O z5+d>#g&~9vg>7A|bd-mafn~guzWdQ2Y6It9eboB^G6TNjU+NF~ra~L*j?8Abp3G*r zuFNofbvH_~A-c3Jogw@{TW$bv(3Z2V%WX01N+U0`p+!DS^YB9+yJp+H^#%DxyxdmCgU3^TT50ZKu^MS~X%Abs z&$99^Ew4%s5)K)0KjrU)2^a6j!gn0WfId{76#e!^+D)g@N-itBp!v#cB~&ev@UqKn zkd0heB+2I>E#!d_@;7O253-Gy9J0vGXVn^(s(kYyMCB@}`V*h6R9s%3HiT09Ep7Eg zth}5G$&fJX$R&R2ADc5zZA(ZaHhL6;kVW+mD?i>PIGDrj6tBI4ozLx5uCBFUs!K5K z#H+2nUn1SU25@L;`$@Gc-8G{hpTiZnQf}mVjAY6y0<462{w2DB@T(VBGpx2K#c$1E zZ~*0{pAeq;0U0LO+>_5pxG2v^0QetXVqSH&0xp>9H~Fn>u3V$_RiW0ueNCXBX)vfK zZwX$$d=F5P+PbX|*F!6Je9j&?h>3o~ft9wS-j86VJ6E3EYbAT-9R}7u&rA-iyZNHD z_{t*pV?dAI)(xZJD@t2z>S2|#nLp$ZE2A_Xr2j01Mq@5sbwjv#X612j#q8&&?-b=1 zqR)Xfc@fBGhaw(W*#65=DY>SKZDe2-x%n;r94JbanCHtE9!he6*{6$Gq}(or)AEXx zGBE-s;ZUmfD>W`!1HP<$*Fm#Yj=BbnUoAIm90yt>Q3`I$FWJ`hR&HP-<(340A6w5p z@_{FXuKM*xjZw!)K+`l`Ti*?K1{z^$LKy|>Ei}Uiraw^f3j&mTwm<$~y&XR#U;k>Y zQR&x}jyjOhzBv3pdm})*Xdf12sh)jkx-(6O53NY!D19A1Ap^}Jm%tu*TX2|#`d5k@ z|NTou2U)LiB|5yKyc=Rr!P|$eX{*7)kbRsJqp7GT;3hjIISV>VW%=Z;ELOiR<$u>c z<3ziZrzLS=&mrDAV70Y=x?98fmklUXafP0SK2fedc2~nCe!!?XsQfJ0ajIb&b-NJp z`+Zi4-vVDHekK}IqRq)$>+*6ta_~jD@e)!eNy%@KHYsg=Kv;wX;@ zQsJG%0ZlOPu0H5P&z)3@jQg+{6Iyig-!N|%t4_u5!6F<+j}fK>rR2TL299IJ|8V37 z<|XAnymG;7BASi!p+B8&ykDqw(HLBTs=mqVv5cZ}_pc(tVC5a0WM3R(@JlCCrdKDp&8wNeu_9({(_i&NyRSTu+XZQV{`u7Qyj;`|>)+@Aw zkt>q^ERM<^Ngp01)rFv)g{u!{#E-#ndHfIaW6;|!%RfQLrff8T;WUsa11T-1n5#ku zdc(7b_<=B-1Tl;_-TzsyN4quc7_(HyVhrc+`OOfHkpp4!q?G@Xr+LWJ72+-~3~`)r zLWCjFk0{5H5jxBi`I@q`gCphVM-;iIG{%ADmI4eZ7m(pV5+OlZw&mh7d9xBup>kPB zR`ful6qi`yS1czz29_l`!J_Cimg_kx(Cl`k7KnV$=uJFAp?HUMck`MdhIM0ynEGgv zGCV0#7YCOg$57~zATexkIl7M3Y+1^&0_d71STP*;*^w(|VzVfCjftMT^M)p{9J3KH zhs&Om&rc{Y!uC@lY|9^6)tD&er|5u7B+-G-lOjg4Nbeb;LzLgKktEW8mLM^$va_-pM_J2aaj40 z$h$O4^}&$FFxIOiQTZ(u$0A)IHm)f_Vn-y0^9RT(l2MN2aM5JgmY!i-dS)@`U?eO8 zaPO(6;N7*3FZHJJlpjn8@+GahLd?QzF$)*M(0Pgu5n08U++&0z(Y4H?b6|xc`xVTl zd%&>W1CAVpN=~lh!@}qxEVmeea^z5u$278sgRDBMg$Lb>bq z8A>-(bZ{=mzv>a0I}y4tMd;EL*%YV9E_1FXlE84g`viw6Hofp+UM7>^=o=b5&*^~K z#=C>TbH@!#GMfT%Zal%{Rr3j^Kd=cEBb}2?wTY3OO>IM0Hgt$7!E#3=NRjD^Ej#C_ z3pj|ZoHlin+cc->dTmv$k+oWMBoR;;A|TP^BPcQa5}lh|xl~NUR$T=YSN1wFWRd2p z101Zos&J6}1!tOG5S&yV{HJAd+^ZcCSr?&-rtFR)C~WzP@EK5dK@nipAYwp@NgG^P z%|2WNhN*R;yNQAb!{h)(xG>o_MNkY|O1OuDM0Wzi6?+6FdNv5)5-hK%y@Wr$l!T4rP>MAcPCTdLWMNEufqU z+8+ooKfy7W7s)fZ^H?!QTs`cVBd#B;%3U0z@nkz&EnU^J(QBPff%(tzZ`a%YUOQ9I zTFu?AHjcf_K(UcBmbf>0aVFoL4PM0$bldOxdFe^_es%1fokF>`WB{4hcT1rYjRImL zKvSOM@p`|vjet$?&GuRxEt*&V&1ZOl)GqVnDs(ihyeqz!EDvd57HD}(Gga>&HOEg$Er&imv$ ztX*d@UcZQrx`FvGZ!%tPCmUzHHM3qVpJvZSrql6u>})nhwzHL~<#P41a<_)2v*mhc zYP)te3q#ZG(`vVz8XE6h$L!5k-_6Wi)1+FtPqVpMAy{u#+tp+>H!^ltPurhk!{W7d z7VD?+%uIQ=9RCou<4412@7(dTf#s8DR(YO`^599llSv5_cBaAZ%nYA5ONcKh%{Sxa zbY)Pm7s7Fj=kwK1;XcOm+49*8F?M6p_+|I(Z0C>W#@-(f&oJ`^$Q&jP(*E`@SX{n= z;_?lo{STP=zyA349cT~IfA}Xz{(nH?i?RD1VD7%mo($^p%9GtK6Q3_E-QUZJiQ(gH zIo|v>u{5q_!qluOUwPBn#+d*tS7uS2n!dgBW4l_;jWnHKlew9lnPXgePo}Y4PM!JK zD3Z(7cspA-W~P(v)=>0mC7m+F)*CMkwP(v0XEWQH8Jo5`D{npCzL?mVHci5EYFbn_ z)1Mn7JJSN-I{)4|Vk|i}DuM2cX(G9zgTD3VvmcI;Q*nPUM5An`Z1`rfXSUiHdZ4ZI z%cz`eMQ_ij(Ce^Pro{#_Y+thS5F_vAfL~q2| zI>zSn)p%-bY|zQr{CqO*2uoYT&Y(1XnTa}SW@=h}q^)5Dj0XPhE?oD-EzAbPmH2rc^8 z1v4-&@02smo`TgyL?7{x9Gb7JeTHw5JmVz|Xc(nOvsefyE#lZfy;|~Opjc$z%q&Uz z7O`q!hCb}taBpC#JK_7*R^C*6FwCvm*kko&66VA^i*m!_Chz`>0j3by3}Ooqegl|7 zWHX4Zv9Ou*J^;M;0pO7j0GE7_QEcwJG%?ql&2ei>*{iu_mK!#WrJIso+0dLo{V__7tux5GW=EEp8$*Oa#w?6FW`@N&1`P#cK+huv^gQAyB}Uz(W`(JVB+rd| zRMHrb&9ZSb>~h4M5Yrf&_X-mKPs&V9Ux^rT0gNMNSQ-+Nh`~l6#wVt|2+?{P$NSYd z_mbB`bfBiTsc8Xj7ANaVWGV*0W_sqmWoc>L2hM!6L4DJ=>RPKWpLH$RFMs#;>8@k0cE zL)j@satV^t_pZA!xjBr(A+3*5LCx+67^QEzR8*p$3hc)Iq`H1;HxuKEvhe3g;B$iE zFm+ts-G<{(7#BVPliiY&UL4Eny8;SM43=v6=M1H#;e2)`yP}4sfT&U)eRu~ye2YxK zyEI5FB4pehtRT_5cu&EA;cz)KpFJ;44LizNVLqXf0jA?CTSH;F z24S9`d**Yz)h1bpt@)s&vIh+2SWhqY-qtuKS?rq*4p?G5+~I-f0s@UMpHTaj;PK!@ z!t!deW;V!6{14N>?pf0rvoq@-4ssgh6Nrgnke>jV@-Ib97=$|q)UyP#W!?O}HN9rA zd$ocX^Q!r3QOn-^7!p&COH7VPOpZ*<&xpi^K1_@zLw$GZ+S;HA=io0D+~TtX$9#6+ zkZFDnnT_Xw*?10{Tj!A3Zw{IL=FmxME~k+pae>THbJ!epX%4aG09%MIpmi+!S~0|y zK#VhxF+}vGGKr7#y-3;0leWm8GR8OLUx@G;kMd@ptb$yJXU|b)a6# zar8c7`3WERK7MT`oG`FxJ&^G(C(hNEtoOk97Y?jayZ)8{2g`+UXABwo`CAnN<=PXp zwCs_jNU-wCa4n9BXaySqXsW;JI4>^DX1#+NqOy8Rm zkW7NPoRwsdXvS;0_$N1?7_E&>=S79N=J?oa+dKd*X~_f77~pOdR!=|W%6=5kxJZmW z)iql#Q!phXcw_jP}K$ac&*+wNSO-@waH}N7zX4~#K!QSS;FRNoy(}O4W#w0WLgDW#*Ut!p z&Msa3?5;c4{JySNXx$FzuDDy^vOoF$I&VGqj-f8gk>GZk;;uJ(*msts@PRs5En>FYdGDb!=QFgL=Q7%%NU|G#k-#xJK zD!3GmvDF-3j$`Gq;d<`8bpgmVV^Apeo}zq;?7LPIu~@iS{)u3b<>#_k3k;qYV}VId z<2MwE^xEgOU_h?DSQ(1qN_y=GaMdfPMQ}oJm)S=kSoX-#CBC8&MP9C1h4*XjcT!;- zsAj8F0I3%wn*nl)B4^4@*e#N&z5?D`(sJDkQ-7bnL+Ye4G;I>b(445(Y2TS&B}y+4 z1+Q`Uy`|No`yx~QJawMNyZKgkn@n4vMZV0QUmO=huFF3jMa}KLKF|OgG5@{0u$ZtU zCca|IRLg5WBx*_cdzRN4X0p-t&WpmkKI!y{6iEhuQ8qgG>iaZ%Ph!9Mn&lnlU2Jk183Hm86AXw_bLhy-wQ9#oWYT;1V@S>6Ras*UEWDe za2V3O5{!TalGA1;yW4w~&lN7TdL}BXHpG^~EqWv=&Cs;GPcl(&i&yX&QN6Bs(($75 z*DXo1xL%BOUpvm+JuvdKjHIe^sRM(UrUb*$>=S{7WM3Q+oO*gri)D-;(?$J7_?CM; z7I_qR=XLe$KDX=NXGtdhCp%Bw4zZ2jaC1=ufz+amz$~q%%8fDdA^cvbJ04DnmJT~U z#}tCf4~S)72f;n$^*G6;vKV3;bl`#*rmYwk16UW>Xh7o!fUnEKE_fuH$cC?u*+s~Sl3 z=iW&iC|AU2(B|k{5R_6xa%3X8JuvlG5y9ifNY3C8CXbnN@T7s{bZj|3jL92`;kfcM zx)xHbuhT&}B1MWQgujw{!I}=r5B~#&JlCBADu21_&=cLg>Kk6?eAXS=eAm8rOX5j~ zSCYS~Hz~HL%KTm7BAcJuL-veC_0p}o$dr%nV^jUS7BwjUT(j~(n9lTS;VMp^vY)7m zstF%)xrnEkvBqlzh3LV&S%_q|Z_>&LL;m{RyIMpw*Lq)bu=S1rD1+KJ>0r)q|3DbY zm?@PH*xU`Ew}#-8-$3cuW^5X#d?RaK)G79BgA zz)6Y^yUZb*z?Gkz4M6qhXA?O8fU%k{z#60u#*oSgtIjF9ErVU9{gUd&g}p>ZZUgq0 z^cEm*BQs2~HU%!7ZCFljmjCwJbsMHp6;WAM2;p`-!}Hh_U__4DiAPze>Q-raP8mLM zp0g8@`SJamTpq1IC)MBdpL%b!?nHuF`sT+`SWY7@ z>Pg%?2Lo0aOGIArScirN}?aO0D~pgb8vePWRot^5$ju~iCTP~8SQaNv*fWpF+cPVdS2x>iF+8exoM}`ppJ_x!pIKC1%hBN_%AK{ohx5pXF&ff9 z;VZoRGeL!lVWXc*PrXFcMjv^m}eLN=E~K$xt^5ePDZe<_bZ(LlM+U%gPZo~RRa z%WtNzg3)52#iNaaGW-Svr)rxAW#kQL6)+%EqplqmffzLBewy>PCC%zBNB2%mKI-sl z<xq0LCz;M|o!t>g^=x z$0$_xz;aw}l&RBf_Jm>Td1?)$Jho25=q`p=VBAmCOJY<^ecBF$z!VaGDh>x|toweC+I4@H~{qx$+y+>UeL}m_rR!7aqVE z3Sqj(4eWlSkJug=qXEJu3ep`bO z=c~zhZXmTVFxkzwv-xakq9*qgjXZgGNF*1gbuaJegj9>wRmK@rPTq7Q+L8uS0 zQJaTRkOL8JZZ9fwevXy#drK-x!)k1AOhHqZ5s*0-d13zIXV+wE-gI0I;8;?a|N#kuI@e&-EeOor6HUzkAJhPQ>BEwoDj{+qZ4BP6NAb-LM;nHeWIMDid=B+ z7dgc{7jEYu_#h5~Upt68XS}l2BiuVt`ic{^t!BKuj8xv%D8F3b<57-$iVUexogIg) zFUs|`9jgeXwQBE8{j8&%t$yFsA>Ga6x4BzDbZkC+#{5rp@2!Up$zKJ*)Ac|f1s@pw zo22zV5tPDtn+T4MxJA%ZH?;17X?{|#MCqk%Qmk)Ipa(zi2Zhs3P3jmS_F;d(IKQb% zcVj~ZaNZc;X{x)1hA^BKEKqgDtA`yfqJFTM&la<-H|`!qx9Kiyvf4N}aJ@ru)A4qU z0-xO3e{fO#{_mZ$b8zXia2E5`7e*YdxG;>5rf*g=c}KMfQc$$Lok zvcf(vRecIG0sTG4u;+!vor?+dtZLKXEk*)H6kFu#XZIOc|K7J&?TT-M+C^t-O4K2r z5ig8{C(NOAxp0ZZ%I)NOP`w^Z$>sEwq@HfAR1bPmE?DmY3l_^w#O82Jf?QDo=xXadhpg3C;T&q{*K$eLp`IfQTyp8W)s`2?Ny#3ti)-B|_mDmrUv4l6AcGir{F z1mt>69<&Qnde|t=)zf-CEI!yM)NGQ{qXj0R&V3C)wp6SS3=4;G>1r6K31wW{j|!nFIrv4Kqf5%P>OBp`_q!;Cj$;)IXOK92 zFP$Yi64y977HgY?s6b1cvhU>6hBfHz7>JY|0&XpH2<;_AR?_{SAf4Q7hlenflIC-1 z{6w0|2k)Ad^3i>pQvLkM!|C1?e?N4_ti`sV>Aoz+enOxm%3jx2=`iJu-wLWZxxcF= zzawJup-67=q$9QEugzZS&H&EX#s05?D)$d{0_SMmC$Gv{PC_N+l%Bd$sp0b_2|$j} z1BNOObBu|vIu%LBp4S6I11-U@%nM8s$?i=#iv^8wlEi0YSpYru?V zUTet!;59Q@wu|ySo$^{{Od4keKcRycC@O!@C8D|%7Zc>=6@fukV6!R>6686az!2Z% z-3dJNQPI7?-g!MbRD!Y)QJgfZ-|qnBWh&L9jz*yTS$pDE8*MSJXltMPPU}*z!HK@B zo1Jc?zA^_!e1jvJHI6-0-SdKhiTY>-4b>di45Ne#28Iv!rGD&bKFMqFB9*tZ;DV3jkpaZ3_X7dp#D68t+XG1oC7J>GO==@Wu96I> zk-$q=#fntm&V8(%ltxl*Ody1!b9kBxiuCQVty(IyRT7< zB*i}ypTELj=0}{MA}sfCy^9`Yk$Hy@jAHUq{88R8!HO&glkoS8j&h%~`kXj5C*Lh> zPV@tjXeg>L00n?K!z4?2q;p+hxG|b5Cfvn?j;^5i(OHfk=Z?2?MW4x?ZMz$koLq-7 zT5p`E*)PX6vo6ISyH6!jnVZMO4@3E97^zG79aDO%ob=q@*$v8Th4#M2YpEbyh>5SB zpue_`>*byXS2mQkBYA2>aB~#_Bl2RDG$8*aQ(jI^w98kLXNpD0^2vP(D}SBJ33=gB zjxJ$uilxXG{K75#C{Fxz&FIIcF|;liff4RvyPllCAfuoP+^aZTxXtaiULyWe&oIWMPeRh-ie4mql1^q3#KvQpM36- zk37Yo1Qqp|9wSU}%DW@=SUFzlE8KcqdTbQhdog5>fIL7#bG%tACIRhB_MHFm&*h`wbMV3(}y2f~w4GE$wlFOSm#bn^U5Yc#o3>44ApA?HY#s z-yi?`kN<@soAFQYY3e;~#tX-VqyM*>Exo7NeCuo=^um4i=GAWduKKK@Tv1pZ822)n zl?RS^(;1+^N~(G>7$ZN>dFLz7%(&TVvYmTB7M?7?&ervwoo!Xdyvb~8uCoUEqcyzl zuYvX0ovpm@jj=g#(<oXHr?De_%q z-LOLC7!!ud*`BcQV=fnZc~SQE0OuRZ%=4Tub>)=PGzP{@ARLB72d_M1Uy$HDkW+4D znF*oAv?gX)!JBsofmAt%h@h+-H^=(3 z%N)bqJc$k%`GKsU-E)RousIJJh-r3m={emby$M-2EkHOF4Y=a|iXKpL6^))c_(>Ei zkI3y|H5*H{pj^EjrNU=NxxbGIPGKL5zt$h*;I#a@*_3%WE&pamQ&bfYaI2C7;fMx# zjNs&1z^Z*iT2QW&Z+2S%(XzvXE0xmsB0?-(c9iB6$u{5Gk*H13^(`nk5*silC~qt= z)g4OxB(gM>U)NBHRFj^6@MA2GOkP_T$*o)@w{cV4#!a2a%3!X@!+P5p5N&P^0Xv(_ zkAUOWR=SvvR4&sSiqAQff#Rc1{ZO9tv5_a*^Zdn6L)D>?cX|dw@`9p>>pCq^!BhF? zfP$h(YWqjMdYbh!5P{Kkye8T;H6UR*hay+lnDpq3HRG7RdyEwFN|s807~$Toqq&eQ zc_NBsstzD1`=-OGRpr<_&rS>@H+cN|y|t-ev(9U{DAr0|d8o~KtEhbuEPs(Z_{bX> zB5$f+JYO^fZ+=b&R2;J6)tWtHX`ou)5E~*F1*A;FdY;WzvAVmnz|HRZL;ZfYmvmdB+Gk~X$) zv@N$iS*Gq;WU$!Srm!`iMjuTXwic?g8!p3g$cg+sdsl4V5D)H02l7Wb9hIpsBE5ju zMCvDI#9wiglYewas(N-Gulo1N)i>e06l>Gn*l6zuuc}_Z0j_D*OlX=Us-?sxc=cu5 zKOPx5D*F@WLII6qze!9Rp>v+2bqdB+yV*VCFLaLHjyD8Bq%IWx8@T+ z{j}BK0gEzxfr(NtXMW24bMAEZ1dNngn?rGN;j}7jp7t6#BPkJ=ut@N=c%Xv9ME#Ne z#6sX*jLn1QDot#9)Yo#JC=(+gd@ZVOpQOif%HVYAf1t%g*%LkYz_&~#d1>qr$&}OF zkLBTR=~1)uODS}AQRdA~iHyn{C$)pr9sx|FQ&G~O^?2ht-efgjsusTM$*D7$ zZ-1|WsBCh4(J@YsxL9whyN8V3valb$l22fn{OPl_{%!_}ou5VL4v%S)G`E^n`+5`2 zy&h_X^GX#6R(GVECcA3E_s!945T(o)dCK$8m_T0qawc2oXX+cm`+4#HV%UsOsQ&ci z#dmd+XBziw(rXrVn&Q<-GxC0^>LN8$4iQsu6uIKOIo@&DocL`#cQ#w$4BW|Pw%*QG zOYdd8oVqXL?~eC0p3Qfi7wewY)H1W>*4Zq_bI;jqRvRM?(TB~a*L|2fM{x^HWVp-K z(kPat@v4kp_wJ`oVB`FIH`_Q;wOu+tM9d~Hj@*v2S}a77kS&!lZXPRl zIWsnO=WpL2#{V!i-p<{(KS0JF(EJ}BPfTVP{ z-CY1R^UfmGK&A)s>euTBS8Hb}iiszRx+|QDNs`|n^19#^hFk6ykIu%7^b|YDIxHu% z^@}{;$=UoU4+M3doQ<=bIEHwAUe#hYoz9)d)h}7~*W;}rJ$qiRHjcMjI=|M=Wa~^l zr~5$C4tBXJ!`e8mc}_@3yq)vB+RnyX5N7O2F6RF*H{Z@w`_>fprrxJz?ty`CP{8z! zUC~sEQZs##2c5wf*(4cL+4;M4udi#GQrWCFO{{6Ny56j|D={)NFC^E*Kfnl#*v?(3 zy*HW96ekL6vC5A?F|)FKO?Vi_EOQE$QBFox5_sd?_635~uGAFUi0-#sGh$lUN_*`M zyPZVFNfA;6D2KU)F(L}5?AZWUK&Zd|kV_Jbj*BrBXjVA{_4)ip9g04&)&W4qdNh@D z-bOyNe3(w^t_A)`aS$Cr?a3W&N-`@HIjB&YAF7Qjo1`oc3qwG}Q0R&>3NPFcw za8G_|6(d~id%Tj*m>#|6ekqJZ`HiW}lHla4j-Be`>s?&P1g#`aUNskk!|PHU)2e90 zRTBRrN{XaCqXJFJBuZ^1Qi11Dxu61r(@QH4MTNi4%dcttRNfI$9}fqXk-J|48e>>a zfykaTWLM29Jz79Zz!5%?2?%<^xUC_ zz1T<$XU=UmG}N*`TOX7w7uPFy-DxG{uHYinr=R8op`5(gQhU5hU&Teey?vG1S_PXVZ`DiizHCyZ!p1WJG zSDS71b<(I5wnb)3dy(_}BNRMO^r1k{0{w#fI|?M$Bb2#jY5yW7od0uFM! z*}3u)(bH_>n!%+5d}_uYy|t~fU)1A`Ui0c}f$R(BRE+#YKPEJuCau@zpQn&6eIOH> z$QhI1vVefYKo%PVN6qluly5d2UgB#?Cw?BByuRa(ZmFB`TQ5>y-Fm-*Mm)G*LL+~C zn#~<=ycMPRakmwJ+e}_&KRUlioh4Lk^9i$iwMj2Nb$-kyxR9r_jWgMF9eWD>}4#FNeL zu{`J(rLcN>n$MQF%oiy)T`lLok#M!5biGpCso1OFRs!-@9RFLi1h}jhoap+Dk;Ptf zjp;or5A&^)YCC@R#_P2_qgQpD~S{$7}e?LL+9T~5u-D=%mc%odB? zR<0f~CYB-vK(F8~$7}axWtd*>R^;?-;TT&_K-R)n8{0n5rpC6j<;vK0v6`AkcmaAn zNX~3MclIB1>78+Eh<52|VVd3EOm${&8>Z)fB zG}X_X*g;q<JfA0*VBUdyvU%QRUZxqz?>gFeoNQw)PE2liF z$DI=&^`j+ai62iR-u-RyMnegYf>5#Q-dLeLiIw|uLms!3iqbdFK0*oc)!&x@Dq%E; zj&A9Mu?l@7ELMGfGFHi~)Ap~zPxHt=r-vyoJP*m6ed50POk{O1KsNo&1FAZRRWIV6 z|Em9(rB@N5GjchyM&ZD;0`0_r^M|JL!OIRy#I}Ghf+H89;215QGsV=+j zMm{n>4Re3b0nkBtE@`*9Y_4)J;3dlLM;COyLdVpe`*B(%Kq5Q&FoFkB1R_EbM51+v zG0`!~K|~bFo1G64r~pS?xL6<|l9-4l7Q|#MN;L=SD=41%0gT9_92iECWuW)}ldATa zbehM1795g~(CmoCe~4sGbbZ}RSEvQq#+pzfrsSh4cd z&`t*Gfc`#2F`zAJmM7m&5y?j#(?jLYPi1?ZEA|Vt&@QIl<5;9}k*(*mqpB$M$yDbH zd7@2IcH?>^v>g>A)+ThhYRVFS^W%cxaN$ol5`BZG+m<9*Q}PW9OoNQ%flMAR_Okg_ z9%9(1VTb3f=y%WGbn<0q(2I#oHQqTptixnm-*_YlSh@@tD27n)l&Kdsc2i|96!2ar z@&QF?kVBEH&ZHqCU%5C>YMDXrrzj`qKBy5R`a7A%-O9%bms>uPX9<^w!})(`GwPzF z64=`c1b+;mApZZ&TE$x7+aLA{;{W#XuvYkot-wER1^#6#@L((O|Je%skFCJ}S_*`= z{;TAeK)bvZ@(vwH?R`V?pG4rulJ6pgutl_#Hz&TFPTPFqV` zV45o-wXF8oYb}X>%L??=mv45{fgcA=Y`cq27xn+s_IAsS<4U^deLaOw#JQM>S@Pg zA3*#h5{X2j{f_Zw%vmFL&&&)_HeGj^N#V|_y$i6|$g9DcM_>8+as*bdhIjLC%Guss zEGKjBw?CQ=SB;0F&N$D=?i@H*)f3rh=?vG7d&mCwb@)8|;odLjkM4iZ?~JMBIVutT zRO@HkiE8FN!x4kkd}_zBSk6bzYUO@e&Yu?MOmp{nG8@mI4H&#ABEdrZYTsMN65aX- z{W)ATnTTZGA793ghPH;PLUY1CTbA|8mzaOE41%pF8)sS^#jP^<^iUjWNjhzY%gF{w zYTv5ojCO6>z-Hc}V`n`aJvd_}HSnW-?0lO&HOC!o2R=-`JXlNg$$08mlk_yZEG7#B z$-PKY5*rL8j)h!6FXW2$&1#;+y$M6fz>CZiB0a-!&}h672+-pcd=(t z7AwI}QiQQBgSk8r6ik~wgt1kZdh>MqNbP8*y-eW%ll5p`t%u9?J;a<{Jtg3za~s93P8Ov@MKG0) z&z6jDt9|nJ9L9n0RWo86&!5&NooFnVDWV^mF-&HQr?nLWE4&rOGaL^v0hWK-tVz}) zAeZx=hMDkpv?j4w)SMAnEojcTtmdLiuB5MWU5kj;PUg2`jBk37!t0#*;Y@DFDGK=KMC6;dn86bie%Tb7QRV zimW5c=U!NTX%3Tb!1E6)p6T$}{ZAVPHv4FfT6JZ(pU#`_is(uJ0WgM3_ve51K=S$5 z9!P%q+yjYKt2{oLHtgf@%Vg9Y=R!Ebw)-#JU`z%<%t#g2#|R8gOGe;r#%zJ zvZ`r7D9dA`Hg}djZFcT#(&LVY%6I=lm6IBpW`r1L%o%o3vhgB24!9MmAXP6VUF9BrF>co3I3n=|kc zVGg(LR6rqzr8z@6B+V%@vLzXbebcI3tC;~kv^i1+a1Wy(Be6vZI8PYZGpIv!)Rqd) zz{H6yi@E5lI4J*Z{Xu#~wHpWA_RvR5!^j~tx9YG!0{0Ca!oTczq9l1KQY=GVqiWLC z8ju?Qtz(1Z7JKHp8@8l*Ns};UrAl60x5*xGJW=uh6@)a6ydwr8lv4~Mgj3cY`{-AK zfeHIHB6S!e5+_C8HFXhZUPz&V5XJW+2nhjW$n`ycuW$MbV3B1I_`h5PP&Bk!xpaaB zWK--8Uc@G+@-C`QKykBuM0TEkeB(P}bW8b}cX=yQIO9a&Mv0e~wbCthM$(K; z2*+;42F1vu$JpPI*oDgMEG@a>n`CU>VTz)gumRF%!x5e0Ge*q=E$h&U?zTz~}uuFPqc03LzJ z;7UlC2_mLv<|yE{j4aa;0;ejHEe7xw=Kh|mVy_;i)uD@GYC$RjwMnrHkS!MWod@oo zyd&n^5ZrB956HF0K`#(-cOk-SwDV_z9VLt*v=O2+vW0feB?VCzOI|CKK*;r5r^MyC z^J}RO-n%-{(;+E1rgogq*m}z2my~o$%r%Nma{@?Ox2xXOHGfD~iT_Tir3EXimIGH| zk(a~4wytT}%OLEeGj*TTQ~GnaWS=`FJMxc5C>7LrzNP)mx726`qv$z=n$98ARK8QB ze6M`Ut~Q)+G(xjC-FAi=?qiiZIgLQzH#}k5;s7@h6H7jpw&!KCp={mx-|Uh?oTe1w;+1; zGJ6K&uThtEiAphLfnZ-y9oBWC=0Q_zHI7Xg%)zx;(+GdoL5+EiY_T1?SM}g_7EuQC z>V!=rQ4lc31SS+bu24DLPz+I`l@{z(lc<2l+`&ddo3kpxH5AOxXb_wK*#8b5eL>>N zZ|i``y-n=J@v*Tg)XR&?C|}Ir-8O(ZkRaWVXEkmJ?6fVIdK)0@468FuYu#=!fqc`y7L2DTa+ z_Yk`P%RY|=>pd5*LW$^rR$x!#i`Nxz{^8)nOAZ^2-$ZvfHO9wUU&1bE_DJdeczhI6 z!*+}1-L`n7a!kY{Q}5l~bJ3$cl5C1Cy3i%KJ{zG4cKQ?4*Re{` zH$sPW6TO%fI%LXeW(t+T=Z&DDajx6YU=)>D)7A}X6dTuZMs}u9dOVmxqcDE4>Q!ww z*jxw02|;7DRk?eRKCR)ou7dN#SO_V5zfr!0g#apys{9EKRU2rDY(-lWwT-I_4YI{s z{t`o?n1DsSd3B-QUal|7H*5Y^<6Lx#Zi2O`Y8}wzJtaD2tpl8|{}N+3w_B9=xEoO@ zmoa041KpWpbJse5y#mw$% zq^x`~V>3?xLA?_I+_y{$CsZdKt29ZX29`^)t)(cj<1k}_H_48s1ZJNAOGNg!RE$lr z8)I;_pKAd($o}vWz~3f7Y6>*N)tcvA(P;o>hcKafg4($XLuk4>EgbqCQxLaG}p8M%^Rv8u9hrPaPcrh-43VE!yhZx`K_^! z(EPM$CG5_lp}%HNmPH&lAMxytR?$HkB)690Vff8)$Mex@y`0RxtZ=2D%+}6w=B!>wcKYF>p zM|Tg2x;?=ETka<5N})4>>ftlzo3lg@ip7^X5-?dn9F6bpYVx~-gDwe8ip(ct5{LSD zQY{3lhxyWQ0IVK|(veV9KwrqK0z;XW;=2GG^hVgc=o&zSwV_n2Z}(x>2NP(Mt)oVZ)YQDl0h zQqPg?C=Wd@R>Q3IzRj@IKH zZD8r_r5tx~X!hB}&s{jvcnB%i*bGQy599uf;uKtF&a(6ISh(r4ZGS+I-1)AbM3JpfBSLk4cZt~i$MrbpkJP8_!3N7~~e?Te0*+@7q6qr?jgSRgzP zKM0A_${FqtE@IKJOs*5Wrlu$d7TjFn>_%+Ou7>+uA z^Rh36mjy^+*~$eQMp&i2ov?_lDDPM9Y(5*VMw1DyL)Ivmq%@dRDuUJUn=>9gk4*~z zHiG+^9oo7UB+b)o?2P8)VRLX`920kP?uBVGYQB@J6N~S~5Dp3anJh*or+IJPJ?KKh zlwl^g{kOo1B_m+fArMH^HPdn{vTfkD9X#*GL0vYx!R^Gbm?JR_A<&NvBUfKGY_8i{ z)l_z9+YjwTkjt2NrVR8YOxdbCf)f!vbi+EGb$5h)N88TGIV@|La}+H{a5}NDS~05J z)NGNB3J3>LCJ6=Ob|q_sZPeg=}B}pY~Fs71@;S875TzYBhAR4MVJw4 zj&vuE#bP8)lbo2FvwoQomg3;2DY3u_1g8zv%7SQvl-!Y3vTC1UZwAhQ}E=QMJEyLxP~y?w#`M*@MP_|qQP_`*v(r9IHm z++%7)e|*&g7Of9`CdS+Em4ftS%k{(6e?2hpF{4MiR zO#_OT4UH&Ytl1yW?2lB}R&@d$QbclQOEWf@-dMZqkGW##m~y&5rh6Ij#ey!#lGJ_M zvw5n#Yr}$#yr&+U{&R0*Tdr-WJ&o59&x8%r8sOp$(BM^pKfF zFeAbR7Pf^-Bi3sBB$D#Pf+-`MtG~`biw$K9W1+hBP-W1o+D>|RV<|5-v*A!O1<^SJ z60}(bv^X^oaHy)naX7k%kf|{qsH&tJN~sskf?2)2l+5LuJ1@&ZjaWW~H{x!+jXF1U z(S%*#VjZjPMO`Rj7jzU^2gWQZQ%1uUA<~6|=?}!BF5oi^&`H6%Xs{v&FJ*m>;9HV6 zfhbnK(Ht@(HF`Jkr!;a)L-IZ`% z@L{W_+l7FR%a1TC0cEp*^awH{0Q;LUxHU9UCp>sFxh>I=I*@2jRd>KLactQD)Upe4 z6Qcn-JQ!%i90mS%J~7Z7uHH`9iWXPYwR^<1;nnqP?Y81J1`-$54c}<+wF{nF(dBKJ zrr?v2VnEP-SHd-P+bssI*z!hJR5v|%SN81O3vzgI5zyArvK7&hS!xKeT1j)NRt zkm-{+$&)zr4IronNlCU9s)_zMZ958=or>d+s*O4dmz}(%hxH6UEqLG1D-xG*8WEBr zlIPhL_hAf?q7j9km-Tm{U0fn$72vX|flw8W%*BMhyVTDAQp>b1X{p}l<|28RYZaF; zZ&Y2_WBtmd20KrG>lJyD!3m${WlI}WoF-uUJ06;mlz2HFSF45wE3JBs@o<3622Xcal6ckfeHH$8T+*C>UY+F%9Clsb8k+#243wR_{cX5*$SAV4gt3nwPwGT4=jhJ|@+NmNVI_hT-H#ErAjhVW! zP*12G4JV0K^2b_I>juRob0^B%ZPw-@Wl8?J@iI$ph-qqJeyHOO>|+h^+f5Q2QHpIN zNs;GCtVE{~6C0!3DA5|$yK=zOoz|q^m8A;mjUdUx_L+md*ETG?yMx1b8fW=)iVG}n zfIHCuX!Hn94^HLHx_ESQ*d)eTv$>d!7$fXB%!~`ouq(dyHZ6EbpdW@^IMy;K8yf4p z!y47@8-T%K^?x)*Tjrl+2P5Eval23Aw8-Z&pg0;m^)@6juQ3k4S5p)o&OUmU3Tu13G;)OYA?q|5?(b+bSC2FiEGAzu54#}QMPpKBSp3K#TFjC zT|ZwcujcHl8TheE!AT7W^Otr-Eq~D~YU~|Xcs5tYwBpc#m4khI@vpL6t1Z$$`t2&4`{60aCAuhUhxDp-*0!+=;)@be4WgR9+X;()wcb5N4m zRtYU9QVWvY+t@QuGm1r)?BLQjX$3%c`5M0M7!r<#q)` zdsZ7gG>_o1ZX7|wPeI7AJ9bP3HT)`AE4+r}&1e8A@a;xtH0(~{CsA>TElGr%r!`6L z`Fl$e@*c`Sq!uLG#4l_)_`#N1P<0EceJv!7Ig6b}bV1|x(s4>QDK-0|%gFB9-W-Na z;{=PKGS?$(9OimtMIys~T2LI4SKFZ;tGzLEiqy;O`%9XUS4#?**?N#$ln`r%HfJ~k z9@ltr*}#>N9=c6MXRNh0aOKHv7ugrhzCgWA7`eCO(T;ndvDDH}xb~jyr24K@CJThf;K!d19~VyJRp%AvEV1+3Q?v6` zBVzSqHtL*s-906)6wkv+XYSEtIeL1$pE}?12vn&?^J()jHf>@g{o~^hlh~PcuA{Lt z#-yGjl0Mx{oz-->dN6>X>PO<%!zCVp%E*~cCyUi&)j2&}#y6RL>7IW4I9z`1K8&5; zaOFoOUM}a$_57>Txo3Y_I&3&Ek;zeon#?fWb+U3q)Q=_)%VxlAK4WEioXkX-x&uv6 z)4Szx9J(-R>_nY;Ph2tVMLynnzna!7-v-x({y?P)ms(RSJt}a|j zLwXr$t$7K>UN*0y;KdsLXb&ZQ!f^r)NY0Pq#(omCT$iCI*pZk=B6Rr^iYG`?ec*OI zs$OR}WD(=BDvI7^>%g1Krr}RV$t$aw9a$1uM0w-6%NksZyDic{yBzO=f6GGFJXuwW zZZvE4(VYs-Q{S3pqK|vp3i0!I0~9oPXV}K`U-az`Z=2hmzv14ftKx9*G(N4T9H-zF z#9!3E6bS*yRC`i)(vTDhdSbzR>pC=nrG8_%BL z36mHOsPst*Hwl45N&nnzvT*ZbO8VlfAMNdh&#>2Nsj3U#+(de++cQJ2KDkKFni8(q z5$E&zsKo=_^+lCzw{kP14>lfTwl6Yuqz=u+?@)00@iwjc(uS7;)-Aurlpx=jpsS8; zhi<Wfc)tM`d{ivYwCIurpi?5PpU_WXS z)uIr#H6vM+V&bNZg=E%zebsT7nZA`pd*ZDVvYWzooyPJjR z^F*(Mbs`FiLuyGOLz3}#)RHSoyugwIHuTw~s*Re`nWz+~Zh0%aRg2$NHDt!4KFqA^ zDD-W4mxo;`Zd-49>`rrHe6Zshhuf`P|3(k4tEu4 zJAn!ks~Q#*J=KI_FsqH4o^K`zE0#RTy~vH*!=hZH6Kl^(2_r-pRYTS_-)A+Qcl*g*Kv)3pOAG^;u+U+YlPkF;3PH0=H3f&X-(Ve zOp+g)S4;Wva+SoMu^RIEmEXEd6s`uyythuNi?sP@8O;N*Wzu@mERQrBH~iIQ*~R0f z_qJ#bvsuTT0@h__9Wg6EBdAPN#H5iIzj_n{+?Su?6ln(7g6UKSuxWEaM6+qKzkxHQpQ+%&jdYfO3_DAnI!qk&*+ z?}%(5Kg|3Hi&59+A|bTwqgY_>9a2*q#RBDpDhLR^D{u&toXDI4vSU?9v7pF9cJF|x z;1H4!i9*+0pr1!|fH!0ZB5`0K7XXEq3gkV^lh}_!tkByc#T|T*L9YW?i|VEUB^h2G zgVu?!KOXEICK)5BUry{OSc(-%3}Yh600!TNFJYyKAz(?K;1IQ=un15X5R>BVlLHok zloTPw%ZiY`hBVw@KPDnuWZ__s4%>esWFBC*h>`?3Z{p{qxHyCmyAFpk5|c?BWZn*o zc_Bvw2=^H=z|}60!5|G`LJ%2MW$O)N&7c%H3!p`73Z9hcX^o-qW1WH8?&sBl3gm!F z6N(0eZQIxyRDnyMF=6k;$fCi~e+oM@1}i~s_c4H&OtlQinien0GIhBs0)k90J_q0P zSWWEl2$LxtZq3H_S%ER=wme)+#MT8$4aIn77;Mz1huhpY~F!T8P<1g zj?%<%$z5&loKe%;Aw9~g(>nQM@*GmYuca{0GBdH>iE;e4p1{POA1yi1XI58G4>9j&%bk6?xbsa zWD|iCMPW)qipi8aub}`2eZ;6wa!}|GqfoQa*9^*6Bsc3HQ}3_|JPhK|OH(GD7FqIs zMD?t5V9Tvyo#5Iir=8Fc^Nd>HU&zr0{^~^q!4QzchGb@KY$HGLB2FNlGxo&Qeb#KC_-gjUOkOd0b4Ae*pp?zb;O~qEW`riu zD{(g-CEbB4$Y_I7#$GjPW$<{oq5N>uN)sBb2Ck#xIDr^sL36D)LyoA#t2{%b2jy}k zPG3HHvA5Hlj%Y!bY5*2E$r)}F5hENjzc(+;k$K&PF?&0iV<5+ztjcS^I)X-C6se+h zYqZhcW2(7`P~9~XNcPP`^o$XBWck|j$U0E$v)&!cMQ_)f;+%aDs^=MZ*->4Jb;cBN zj>=_Bwq6nC zfzckE(N|6AH4RL6C$v5}YF000Y{%l@}TUTBJ zM^*O)RUEkZUu*fWV!ZCD0wW9eSi-?-5esigQVp)HybTcyc&hk*aCnnG}> zBnx+8jK_hY#odQ-j?5Fzu|d1F?G830<3wcY!`0LlP&XicQfk@VNgzC(I@8`Al@;9I zPh{=2c(^vhYsGGhPICq>;?Pe5!h3a-?W^|w!T?r(w+RC_JpD@PYsmY8>zo8k20Q)9 z$LsjyunA+mH`P@F*52X4y!_Bz4p*G4u9L7)mYaeJ6CtigLoaUK$-m0O#$F6(h$E## znUGYsubH3^Aq4z1&s_!mFv6;DHzp_!$}C|5FZ{s$#r^F5)G*^*2gf1&-{m@ayfad7@ zSukOcAMbU6RXcG}xV~%{9TJ*zLQ5uYi|&I6)Z#vP`rx?tBF&AG-8sJS%QmxqSo-*= zNo-3%tqCS^by(DjXeQ5(T9V{_aP&}?sXRbrNzq3)0aJS~Jju@XlOBsG52s;F`Y6vV z>7hidwfhsDjI1Xb>!A%CeGN{=wIn;uJ)7NWmR?8+?S-V5;`G3wOwE0?I#c)hpjl^y zZF_T*WFKXD_Oh7v!C}`{JZPHwWnP|uY>J%)ns3;{Z*jYTIa5+sW2qI7CB@bYBP(!` zk&~$OO@`AhTw!2bj3|kBk8G;-cEqLx2k(8{68o+TMN;JQNRTN*24=;8T2U0{Qx7#+ zv7Vww$|KK=VxMHC7q>2=d?%vXGS!Tr*jV9n!=?HKfpLXSxihc9Vp{+qjEoQVYV*8r z2^i{3d$Z)&ky7-}R8VEZ;(+BHe$x9aIS8NOzSw5crq~x(Z=YE=x)}0NHYVYx@M@<| zRNB$a+msezPRfpL&Xbp=T4ZD!zT2}w-Am61)3R0C0dm|4AlR158?CS{R-<@NiJz0; zUQE(vYWtf zDobL{Qk;th+ur-;QOUF|j23IFLLS3L&PN<~>$>2&E8Jp?a^{;QhTY_ZfSNPdTMz_~ zu?a!Ijn-!GxrJ8ouEa!auoS3+Z{36ULQE|mCrk#lz ze}o`ift2<`2XeKaX32BU-}lk=pg8uT`IO3DC|7*;;<)7MV4S$llf>I_$5hll>Rv#r z4rW(0_{(K$0UqPSwq(H7Q@Q$>1SJt1rgV8^9Q$I?Fd#13Zi#Q#y=FUn=1wH3Iu&h2aNBY~ z2f=axr?WI7_DtfcFnb;_TUz!UN<2$^3^6Jq1C>_=g074?IFmp|4#_JqwnGTGY35Y! zBH>Y!tr_kqj`YFg8?af#UN)Od_^V4>iFi!PO+O8eCul{BpeJ#@PLdUPQk46Mjh^}! ztQT|->-C~Hj$2=b^lqGoFhmd;o3w0qVYry!r7f;Y*QuVCQ`;(16gGuPy^NB!-oq2< zdXIQHCfm&0wOE=jm|7{c2j4sJEZ|?OlGGS%3bIP0Ft;j5jlrfM{9pG^tsv^o5Sdf_ zStQ!fq+Q|eHcJlf=BSUt-kB+l3JZ=Rw)`AP&`&YkJh82mB7V!f)B>MH0Uy6s6mSbj zK&&YKNc3A3od_C7AGngScgdXhvp*QnPj zJmQ^4Lw{K0`BK8HY zvA_*WrOAg;m>(*#g`ClWQ!u{2ab*YxL3(waVJE{%l<) zFZPdYK?6K?E1kos(Es9xO|HoDQ4l>Qd|1 zpMJJ2?I=lJLbAvb@J~x@3wy?P>+|1#c$uXr1a28{l`pjWsoFm0{zkr@+lqgBUrlvN zCQ6zSnkKQ`q^;qmy^;6RRwpgg$FN_3OiQxhac5h!8k5w@#P1$U2;s$onk?>@{W;9{ zaa-hfSV^uPw5kNuTRFuD3W z)v$aC&3kIps>*sG6TyCA=5>24qHqf7u{kJ-%4xHQ@_~O}3i7UxvZ)I}dni{CzmhE6 zhAJws1!W&byUJc?JAI!rxzd2$4`W8)V&7NN4_hsos!i>S544|7Pl$kdOi~{; zCPX#!o$1E0pa9J*jJJtwEA%+IVCmwShM{9UoOR8-Fw_GY361r!OSW$Aa~MYWe_y4m zYObfkSt!TJCds)QM5|wBEt$6K){-pYZ`e9ol+3y=d`{er@z(cZcT1!Px3*18$usXQ zasv{1$B&?Ab;s11D~3N)Zn#C^BZw>K%btld;sqbW%X_?=$!i$<<_C58n#3}tW-BcB z;H4B#UNn#5;&Rj$x9vW?MV*!3?x6R0J5Af}9e0ve#zed8zaPH)rhLKdqmZ4ifY@87=3l`TZJ+n~geF z-12_p{`&Lh&)rh5ye)Zp5;c4w?DffSDf>e^d9~nb%OyM%nJMDCcm}1DD}rBu+z4B) zTQ-$M0XnxmdB;M+7Jn@rgt`V*eJgKU#6VuXEcEaNytcBvgfT@mZWC`80Ql!;T=HLV z$$!Nq|3|0ftU`6GSM{iNgZL|nUmHa^ytokM{Gk)S-oc8ySwF0B4FGwVuyK0q0(8{@ zU{4!?wVj5<6iyEZawjL$1YBw-QLB3q3f6=nO_+ki6cNoeAMId{bJHUO#l~>+vKQ$t zV~aGVX0w%hz;p&gC05Pf&^u4lzj+y4ibWecr+RtOLCY6D9ENo3BMtC9N{)KxC2#O zVtSz{bw=O5kRyAc=>=^xkEI&`DtFD@>a7@l%dy25pW$zLKpgy6^IMSRWu2Y#S0ISU z1}hNPEYDl^@2hrk-vOSJ_b@ld2L$408J0aI1!a^Y_jA{w}n)_ZV-^=t9G6GjN%N-R`Yq5L{Xbh29Cmw$y-k} zZtiVNsCGo(!&-rDQ`&W;`f_u$`d~bRirRxghcQDn_dEXTvd@XfBhV+=tfR}T2CkzL zrpx(oFB>aph6Qu01wKy&bKY^lF^PylekIH-zi%qA8v+-1U5s6#W(PegGYl7ln z1Ty$s=RNh}z=>bOEQt>!&R0yxwwP#|S?;5P?$Jel`0D&{N7LbI<*eN0eBQKq)CzrC zE}hxh9nEL=lP`wgrqbTvk{*) zeB`P-1|Y-f)E$mS&I*YeEuG=oai^2nS0mu+>CR<8aad>e^yn;WaAcvK@6PCH?chMO z`Fe7XEa-1f&hm%*Z8&{GX2vRKj6i+T>-39{q&tLJtC*Y)-c4r1C8BQwX8b%~jtw9zvoB1ljVHsI33@tNucwX?f%APaoQ>Vp z?>N}~6PquV&T9U&gel5djh2(edcMT5;ARa#JU&g=6Le{3bIc43h~MxH`I~K1l+`(% ztk#CmrSsd8^ysXnI~ z_yqNM=T4YzI$W)tLccvge4%d_U%n1L$2D1^6X(}tDT<6#i6?X}nRq-P7 zjw{u$IOvK=x#4s&T;Yn#VXGgr5gv9wnL6N_heuB5^93ID=seDK6IL5;HrL+}auvE- zn-q06e;!T@@>@JDzjUlmx(l^?CgR=Y_*c)x;T~!Q<^jS+UnVU_j!vkw9DNbox?5Pb zH>-R&BEH|%0}-47_IIJH{Jkvc#Ifs55*)SmV*|b`=Q&I$tDDSw`Qr979XLif15Eur zIrP!KoGfRxm-R;$#yxQHQ~Fo@FL8`fvU98L1N#!nbHJ2juln0-k(89J7`frEA3ohh zgE$sS;sBz%^+E-e<8C{lRo@)&s#qB!lV z$8cJ4KZFPu);DdwS4VJqVr6}@ykp9Y(ss(8OjfoOEAGH(MFG`X@3c+2vX-Qp@bKD? zz}`Mo9Ni0lioF(Zq%#jp9J)Kvv?Ribv?hPiRdK>_`@H%xkx>Oq8ul6)|41Vt)rr|; z62D3;I;$<|s%#;P$`mA`r=)2=MdGLQEZG8bNE8QV2%oaR)xx!&j3FxWFf!`>0OS!| zpQ{O}a|3ZOgGCUfj+N9cve2aDw>#F~Xic9*6NJ>=C#kzR!vBmI)LBr|PZ0VCT!ItE zI~56=no;e;ZSF$&1Xmp?$8fxQQ5Yy^RBV4xVD(4RxhuX0neN6P@#-Q^`FNDXQpIm| z@Trs3&?cA#Q|p?$dMkj-olUXbYG%52a0k0Hj@SC1Za71PJovQ=L}oxk3h?Y3j+KwyP&|2wQ~xroH)nZe+1?m z4$aCUdww}dvu8na(57eabeP*ATiM@6iSI=-c`U7It$)ID0gsK5DN|3vcQb73)w5dY zC^>+yUTa`WEqFYCbn1r5Mt!CQJb|SIWY1M`dH!{r_{BkY8;vpBT6ax7g zER!sQEYh&7;$B!pzz|~|*#WFL98pVsa9DngynBF2l}XH`OX2HhypD`(@}AFRWCR0} zK>ksyBHR#DL`-{-9Q5wE_I5MfsaZ2B(|U(-bqhh?^H3ifq#H{JK4-BPt%{A*bIiGn zMDQs?B1XOCN2N?%3H?c6$3l-ZCkG>zgP3Gj;a|kbGPIO-9vAB$ZW#usVS`)`6@3i4 zo1w^SV!(FPMh^6N*0ETW#&R^bF`1T%O>mYiRcA0Qg@`C@S&%c5p2}k0aj5kmpgjx% z+RGrIJq?1q>h~z2_7D=5z~3LG)!#&}P2zyOn+nBAT+pghm@#l;<rE%{h{QW_xF6M{fP=Cnsag3GxF2vB zMadfp%n0gDU_}%V*xVp7>lk4aAS;riRkh*u9**}RU--)uA0@GYXyVvyn9;oaaD3kN z$%`7~&+wy@&qw0Jn362NBikf1`TUTsVD2}oyU4SuI&+H&hsSFCJuN4O3~ZUU3Yo4g z>`4X$Fp-&m0Q+a%ayh_t^fx2(jf7{1GFk$%-Nl8qvz9R0SMX*QD}{XxlY&~co6yiq z#a%|yh;=(d_%wuQ_V^h~K}~0?B)b50K)lAQMjIKgQ{56C$>6FYg{1{c&FeKYIhM3#Pq-`Ng8hG- z*wx@_`2900nH7h0K!PoHDwP?HWV%Y#rN4J0>D1q~R4Vj~mDnV#rHL|{tl8h%;UiKK zk&^%2G>9(vZbv`=I(r5|lda3yx2YL5{4K=Q=91=X(Ui4~lwOLcj8S6QtQ|?_yj-Jb z(=Cjt;gX@O{}MBO=tF8^8-5h4&IQ|=m`%NT|I9n`0i?os@BzHqYY}Z}vyWl@m~IBl zAJZFN$ngW}7aX(6m2G)raCtIc@U4Ay$8u zB>lG?|NBG6bIJS>Q%6buAp(Q{z5B=-{}9<+GJjlq>M!%Mrq&-zH=^b@VwJ}LdKr)v zW$UGgw%m0u;{E_(K%T$&bzWP2EgF7Pmi=C;dR1&{tB}6R2>-O)9AnGb5^CO_`ic*s z6}d9aegJdg=WTAGR^+`dq0Wfin0^d*8h#8f&AlxDKPyIcB`^vRwl{dX+I*>|_Pcshyw zs0c{8$r2?h`o)K58H)d#=OwNKrhH#6Z`}MykNjQZcE<@?oV{+{)H&hOkifsKr?^oh ztqV3BQxwJ|PWs_Ww%e9-7#+C8d^Bpi)vyCgsY7V4@9986ESrkssb$X-B;5PLSuW>G zcX&5nuAQ;PC!MfCBuUqqttaareNnF0%gNo-+HsxlYiBtdP9?v)bnbh~<8C;1M-Rhg zpOieha{omg4dI4>hvDpt$zjNQr1UG&C%)dboL{O_mPS9f^Nx`aEPGpRJ?VWWE@f1Ioq z)8UA9V0gBe^h7(Guie#}b=%>zIi|NU>CMFJ|+-{kNpc^ zM!TLc5d-r@UzAUGOxRBPY8o~^pV(aR&FTN+`|d@OuRj6B^pExMdrxHR;TIU^kHhuo zp)X1{Me(_>C%&iI-TVnEkhSsTdvBzp>3qdR+X(LFaaT;1wOh{*beBy3qk zBFohidmFs-GGF(otqiCUZ=)%+7>n;Mo zQ8jrg_4d81zB&yfVjt}tsxhOBvxlPvUyBc!g*fv^%tM^G@0o~`e#~41Arjdi!3WGq zPizn*83}i>G@RPeeLqCK7EeT0b=A=?>v==+wRuyU@D-EK|XT&uzJ)$n_#V2~w;4$Kcqw%&KsnMU3ShbCdO*^>ClE@quEu==W# z^Y%7G!UxxwVP6}j+LkS^FlugL^`5IDaoc4Rjf~f+Zhf^5r|nIKq$PZf(;ijSkoQ{X zOFP<@$XbTP3m&iI(MwZpZf40Tef0~oSsSFyeziv+f(umPQ889;3?JB zGa)9N5Z4a&#rh`It%po0xdiIJq(aQwmeq?QcPqk}Q%#JG&OB^RPD!RhKbtbi(zrxg zc7EbZggWRVzpy%vzYs9kx1rQ=tvrR9kijVpEI;_sTHy&iNm{7oa2{Rg*#(bm-_ zPoZ6FDhk*OzYinUo0Vl$H$m0-bVOfBOfsd{oAMCqd+D{>yhg$V2t;0F<1{UDmnKE# z+fx2nBsl>qk0nnL+k7GWe^ymf-~()NIPU0IpbUX?=IrY1`w=s@5wP=zz>r+~m)x;K3UxfA zKb$=^OO3IoCSgkXvQ!t%8>OTX&2qjy)kgt&^y3pta9^yKhSuJg&#a?;@m{+H&wz3v z7s>ud zj71h%v8_nPCKtx}ZZ3~%9P*;eTR7nJ$j1ydA3hDdg6M%n=?BoR!d=`tfnDc@Xh>9V zc)d;lVO`7!DF3Xsxk;qZ%}w&{=*tAA%f(3E&DXxOd`{b$Pi~XAnRwb(<7WJ2D50_< zKQ4BeJr5OJ!)J1nJ=}r=RY1*iQh*uZ7hkWewUwHSCTJH|{M1*NACdD;mICb)c-FtnjX>u>AR*7yKTk>O5ML7yk*vC3I^7 zox;sNrui;BvF(074qE}YG-F$$SxY(hl~Q-uaGV}@j!bIJzATap